跳转到内容
新建笔记

OSI 七层与 TCP/IP:分层、封装和一次网络请求

分层把通信任务分成可组合的职责:应用决定交换什么内容,传输机制处理端到端通信,网络层处理跨网络传递,链路与物理层处理当前一跳。OSI 是七层参考模型;实际互联网通常用 TCP/IP 的应用、传输、互联网与链路层描述。二者不能按每个协议严格一一对号。RFC 1122

OSI 层核心职责理解时的例子
7 应用层为应用提供通信语义HTTP、DNS 等协议的消息与操作
6 表示层数据表示、编码与转换字符编码、序列化等功能
5 会话层对话与会话管理建立和管理交互上下文
4 传输层进程间传输TCP 字节流、UDP 数据报
3 网络层跨网络寻址与转发IPv4/IPv6、路由
2 数据链路层相邻节点间帧传输以太网帧与链路地址
1 物理层信号与比特传送电、光或无线信号

表示、会话的功能在现实软件中常由应用或库实现。TLS 跨越安全与传输之间的功能,不宜用一张图断言它在所有体系中只属于某一层。

以使用 HTTPS over TCP 的网页访问为例,省略缓存与代理差异:

  1. 应用取得目标主机地址,准备 HTTP 请求。
  2. TCP 建立连接并提供有序字节流,TLS 建立安全会话并保护应用数据。
  3. TCP 将字节组织成段,IP 负责把数据报送往目标网络。
  4. 当前链路用帧承载 IP 数据报,再转换为物理信号。
  5. 路由器逐跳处理链路封装并进行网络转发;目的端按相反方向解封装。

这是特定协议组合的例子。HTTP/3 使用 QUIC/UDP,不能套用成“所有网页都先建 TCP”。

标识回答的问题范围
端口交给哪个传输端点/服务与传输协议、地址等共同使用
IP 地址网络层目标和源是什么支持跨网络路由
MAC 等链路地址当前链路帧交给谁当前二层链路

在典型以太网 IPv4 场景中,ARP 解析当前链路下一跳的 IP 到 MAC;跨网通信时,主机通常解析网关的 MAC,不是远端服务器的 MAC。路由逐跳变化时,二层头通常变化;经过 NAT 等设备,IP/端口也可能变化。

TCP 提供可靠、有序的字节流,包含重传、流量控制等机制,但不保留应用消息边界。UDP 保留数据报边界,协议本身不保证送达或顺序,应用可在其上建立额外机制。TCP 建立连接需要同步双方序列状态,常见为三次握手;关闭是双向独立过程,报文数可能因合并确认等因素变化,不应机械记成永远固定四包。TCP 规范 RFC 9293

排障时按“物理/链路 → 地址和路由 → 端口与连接 → 应用响应”逐层缩小范围,比根据一张旧协议图猜测问题更可靠。