计算机网络基础:从 TCP 连接到一次 HTTP 请求
背网络层次不难,难的是把它们串成一次真实请求:浏览器如何找到服务器,数据怎样逐层封装,TCP 为什么要握手,页面打不开时又该从哪里查起。本文沿着一次 HTTPS 请求,把这些问题连成一条线。
1. 先把分层模型放回实际网络OSI 七层模型适合解释职责,日常排障更常按 TCP/IP 四层模型思考。两者不是两套互相竞争的协议,而是观察同一通信过程的不同粒度。
TCP/IP 层次
大致对应的 OSI 层
典型协议或对象
主要问题
应用层
应用、表示、会话层
HTTP、TLS、DNS
传什么、怎样解释
传输层
传输层
TCP、UDP
哪个进程、是否可靠
网际层
网络层
IPv4、IPv6、ICMP
发往哪台主机、怎样路由
网络接口层
数据链路、物理层
Ethernet、Wi-Fi、ARP
下一跳是谁、怎样在链路上传输
发送时,应用数据会依次包进传输层报文段、IP 数据包和链路层帧;接收方再反向拆开。每一层只处理自己的地址与控制信息:端口定位进程,IP 地址定位主机,MAC 地址负责当前链路上的交付。
一个容易混淆的点是:交换机主要依据 MAC ...