主题
计算机网络技术栈总览
一句话定位:计算机网络 = 分层模型(OSI 七层 / TCP-IP 四层)+ 传输层 TCP/UDP 的可靠传输机制 + 应用层 HTTP/HTTPS 的报文与安全。面试核心就三条主线:TCP 怎么可靠传输(握手/挥手/滑动窗口/拥塞控制)、HTTP 怎么组织报文与状态(结构/字段/状态码/缓存/版本演进)、HTTPS 怎么在明文 HTTP 上加安全(加密/签名/证书/TLS 握手)。
分层模型
| 层 | OSI 七层 | TCP/IP 四层 | 关键协议/设备 | 数据单元 |
|---|---|---|---|---|
| 高层 | 应用层 / 表示层 / 会话层 | 应用层 | HTTP、DNS、FTP、SMTP | 报文 |
| 传输 | 传输层 | 传输层 | TCP、UDP | 报文段 / 用户数据报 |
| 网络 | 网络层 | 网际层(IP 层) | IP、ARP、ICMP、OSPF | IP 数据报(分组) |
| 链路 | 数据链路层 | 网络接口层 | 以太网、MAC | 帧 |
| 物理 | 物理层 | 网络接口层 | 比特流 | 比特 |
- 应用层:定义应用进程间通信规则(DNS、HTTP…)。
- 传输层:负责进程到进程的通用数据传输,TCP(面向连接、可靠)/ UDP(无连接、尽力而为)。
- 网络层:路由选择与分组转发,IP 数据报。
- 数据链路层:相邻节点间组装成帧传输,含差错控制。
- 物理层:透明传送比特流,屏蔽传输介质差异。
注意别混淆:「运输层的 UDP 用户数据报」和「网络层的 IP 数据报」是两回事。
三大主线
1. TCP 可靠传输
见 概念卡片:TCP三次握手与四次挥手 与 概念卡片:TCP可靠传输与拥塞控制。核心机制:三次握手建连接、四次挥手释放、序列号+确认+重传、滑动窗口流量控制、慢开始/拥塞避免/快重传/快恢复拥塞控制。
2. HTTP 报文与状态
见 概念卡片:HTTP协议与报文 与 概念卡片:HTTP缓存与版本演进。核心:报文结构(起始行+头部+空行+实体)、无状态靠 Cookie/Session 补、状态码五类、GET/POST 语义、强/协商缓存、HTTP/1.0→3 演进。
3. HTTPS 安全
见 概念卡片:HTTPS与加密机制。核心:混合加密(对称加密传数据 + 非对称加密交换密钥)+ 摘要算法保完整性 + 数字证书验身份 + TLS 四次握手。
不变量(必须成立的约束)
- TCP 面向连接、可靠、字节流、一对一;UDP 无连接、不可靠、报文、可一对多。二者不能互相替代,只能按场景选。
- HTTP 本身无状态、明文,安全(机密/完整/身份)全靠 HTTPS 的 SSL/TLS 层补。
- 三次握手确认的是「双方收发都正常」;四次挥手是因为连接是「半关闭」,FIN 与 ACK 分开发。
- HTTP 长连接/短连接的实质是 TCP 连接的长/短。
常见误解
- 以为「HTTP 是面向连接」→ HTTP 本身无连接概念,连接是下层 TCP 的事。
- 以为「GET 请求数据量上限 1024 字节是协议规定」→ 协议没限制,是浏览器/服务器对 URL 长度的实现限制。
- 以为「POST 一定比 GET 安全」→ 只是 body 数据不显示在地址栏,抓包都能看到明文,真正的安全靠 HTTPS。
关联
- TCP:概念卡片:TCP三次握手与四次挥手 / 概念卡片:TCP可靠传输与拥塞控制
- HTTP:概念卡片:HTTP协议与报文 / 概念卡片:HTTP缓存与版本演进
- HTTPS:概念卡片:HTTPS与加密机制
- 面试:面试题蒸馏卡:计算机网络