计算机网络基础面试线路
[ 2025.4.17更新 ]
计算机网络基础面试学习线路(七大阶段)
目标:系统掌握网络通信基本原理、协议机制与实际应用,提升网络底层理解与面试答题表达能力。
第一阶段:计算机网络整体架构认知
目标:建立对计算机网络分层与通信机制的整体认识
1. 网络的作用
- 实现计算机之间的数据传输
- 通过协议规范通信流程
2. OSI 七层模型 vs TCP/IP 四层模型
- OSI 七层:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层
- TCP/IP 四层:网络接口层、网际层、传输层、应用层
3. 各层常见协议
- 应用层:HTTP、FTP、DNS
- 传输层:TCP、UDP
- 网络层:IP、ICMP、ARP
- 数据链路层:MAC、以太网协议
第二阶段:IP 协议与数据包传输
目标:理解 IP 寻址、数据转发与网络层功能
1. IP 地址基础
- IPv4 / IPv6 区别
- 子网掩码、CIDR 表示法
- 私有 IP 与公网 IP
2. 路由与转发
- 静态路由与动态路由
- TTL、MTU、分片机制
3. ARP 与 ICMP 协议
- ARP:通过 IP 找到 MAC 地址
- ICMP:ping 命令的核心(不可达报文、超时报文)
4. 面试题
- ARP 的作用?
- IP 包为何要分片?如何重组?
第三阶段:TCP 与 UDP 协议
目标:掌握传输层两种主要协议的机制与区别
1. TCP 特点(重点)
- 面向连接、可靠传输、字节流传输
- 三次握手建立连接、四次挥手断开连接
- 滑动窗口、拥塞控制、流量控制
2. UDP 特点
- 无连接、数据报传输、适合低延迟场景
- 不保证可靠、不保证顺序、不重传
3. TCP 常见机制
- 拥塞控制:慢开始、拥塞避免、快重传、快恢复
- 超时重传、ACK、窗口大小变化
4. 面试高频题
- 为什么 TCP 需要三次握手?
- 四次挥手过程中 TIME_WAIT 有什么作用?
- TCP 如何保证可靠性?
- UDP 为什么比 TCP 快?
第四阶段:HTTP 协议与 Web 基础
目标:掌握 HTTP 协议结构、版本演进与请求过程
1. HTTP 协议基础
- 无状态、基于请求响应模型
- 请求方法:GET、POST、PUT、DELETE、OPTIONS
- 状态码:2xx、3xx、4xx、5xx 分类及常见示例
2. HTTP 头部字段
- Host、Content-Type、User-Agent、Cookie、Connection
- 缓存相关:Cache-Control、ETag、Last-Modified
3. HTTP 版本演进
- HTTP/1.0 vs 1.1 vs 2 vs 3(基于 QUIC)
- HTTP2 多路复用、头部压缩、服务端推送
4. 面试高频题
- GET 和 POST 的区别?
- HTTP 与 HTTPS 的区别?
- HTTP1.1 为什么支持长连接?
第五阶段:HTTPS、TLS/SSL 与加密机制
目标:理解加密通信原理与 HTTPS 建立连接过程
1. 加密基础
- 对称加密、非对称加密、哈希算法
- 数字证书(CA)、公钥私钥机制
2. HTTPS 握手过程
- TLS 四次握手与对称密钥协商
- 中间人攻击防御机制
3. 面试题
- HTTPS 为什么更安全?
- 如何证明客户端拿到的是服务端真实公钥?
- TLS 和 SSL 有何区别?
第六阶段:DNS、CDN 与实际网络优化
目标:掌握域名解析过程与常见 Web 性能优化机制
1. DNS 查询过程
- 递归解析与迭代解析
- 本地缓存、hosts、权威 DNS、根服务器
2. CDN 内容分发网络
- 减少延迟、降低服务器压力
- 静态内容加速机制
3. 常见优化手段
- 浏览器缓存策略
- TCP Keep-Alive、连接池
- 域名预解析、DNS TTL 缩短
第七阶段:面试高频问题汇总
目标:强化表达能力与系统思维,直击面试考点
高频面试题(含答题方向提示):
- TCP 为什么三次握手?不能两次吗?
- TCP 为什么四次挥手?为什么 TIME_WAIT?
- GET 和 POST 区别?是否能缓存?是否幂等?
- TCP 和 UDP 有哪些区别?用在什么场景?
- HTTP 无状态是指什么?如何保持会话?
- HTTP1.1 和 HTTP2 的区别?如何实现多路复用?
- HTTPS 如何建立安全连接?
- DNS 查询的过程是怎样的?为什么有缓存?
- Socket 编程中如何建立连接?底层做了哪些事?
- 浏览器输入网址后发生了什么?(从 DNS 到页面渲染)
附录:推荐资料与学习建议
学习资料推荐
- 《图解 HTTP》
- 《计算机网络(第7版)谢希仁》
- 《趣谈网络协议》
- MIT 网络公开课、CS144 Stanford
- http3-explained.haxx.se(HTTP/3 深入介绍)
实践建议
- 用
ping
、traceroute
、telnet
、curl
、wireshark
等工具做抓包实验 - 配合 Chrome DevTools 查看 HTTP 报文结构、缓存命中
- 学习用 tcpdump 抓 TCP 三次握手 / HTTPS 握手包