从分层模型理解网络

分层的价值在于分工:上层使用下层提供的能力,不必在每一个应用中重新实现全部通信细节。

四层视角

层次主要职责常见例子
应用层约定消息的格式和含义HTTP、DNS
传输层端到端的数据传输TCP、UDP
网络层逻辑寻址与跨网络转发IP
链路层相邻节点间的数据传递以太网、Wi-Fi

OSI 七层模型进一步细分了会话、表示和物理等职责。模型帮助理解,不意味着实际软件总是严格一层对应一个模块。

数据如何封装

以一个使用 TCP 的应用为例:

应用消息
  └─ TCP 首部 + 应用数据
       └─ IP 首部 + TCP 段
            └─ 链路层首部 + IP 数据包 + 链路层尾部

接收端逐层解析封装,最终把数据交给对应应用。

地址和端口

  • MAC 地址用于链路层通信,不承担整个互联网范围的路由。
  • IP 地址用于网络层寻址和路由。
  • 端口号帮助传输层将数据交给相应的端点。

同一个 IP 地址可以承载多个服务,它们通过端口等信息区分。

用分层缩小问题范围

“网络不通”过于笼统。链路断开、路由错误、端口未监听和应用拒绝请求,是不同层次的问题。记录具体失败点,能避免重复修改无关配置。