概况
1. 网络接口层(链路层)
负责在本地网络中传输数据帧(如以太网、Wi-Fi)。
| 协议/技术 | 作用 |
| Ethernet | 有线局域网标准 |
| Wi-Fi (IEEE 802.11) | 无线局域网 |
| ARP(地址解析协议) | IP地址 → MAC地址 |
| PPP(点对点协议) | 拨号上网、VPN |
| MAC | 媒体访问控制地址(硬件地址) |
2. 网络层(互联网层)
负责跨网络寻址和路由,核心是让数据从A主机到B主机。
| 协议 | 作用 |
| IP(IPv4 / IPv6) | 核心协议:寻址、路由、分包 |
| ICMP | 错误报告与诊断(如 ping) |
| IGMP | 多播组管理(如视频会议) |
| IPsec | 加密和认证(VPN常用) |
3. 传输层
负责端到端的通信(进程到进程),提供可靠性或实时性。
| 协议 | 作用 |
| TCP | 可靠、面向连接(网页、邮件) |
| UDP | 无连接、快速(视频、DNS) |
| SCTP | 多流、多路径传输(电信级) |
| DCCP | 不可靠但可拥塞控制(实验性) |
4. 应用层
用户直接使用的协议,基于传输层实现具体功能。
| 协议 | 作用 | 默认端口 |
| HTTP / HTTPS | 网页浏览 | 80 / 443 |
| FTP / SFTP | 文件传输 | 21 / 22 |
| SMTP / POP3 / IMAP | 邮件发送/接收 | 25 / 110 / 143 |
| DNS | 域名解析 | 53 |
| DHCP | 自动分配IP地址 | 67/68 |
| SNMP | 网络设备管理 | 161 |
| Telnet / SSH | 远程登录 | 23 / 22 |
| NTP | 时间同步 | 123 |
| MQTT | 物联网轻量消息 | 1883 |
| WebSocket | 全双工网页通信 | 80/443 |
通俗解释
这四层不是各自独立的“孤岛”,而是一条自上而下的“流水线”—— 每一层都为上一层“包上一层信封”,再把数据交给下一层;接收端则一层层“拆信封”,最终把原始信息交给目标程序。
请求DNS
- 应用层
浏览器调用操作系统解析器,生成 DNS 查询报文(UDP 版 A 记录请求:
zhihu.com → ?)。 - 传输层
解析器把它交给 UDP,写上源端口 53xxx、目的端口 53,形成一个 UDP 数据报。 - 网络层
操作系统把 UDP 数据报包进 IP 数据报,目的 IP 填本地配置的 DNS 服务器(例如 223.5.5.5)。 - 链路层
再包一层以太网帧,MAC 目的地址填网关路由器的 MAC(通过 ARP 事先拿到)。
帧变成比特流发出去。 - 回包
路由器转发→DNS 服务器收到→查库→同样四层封装回送:
zhihu.com → 103.41.167.234。
浏览器拿到 IP 后,才进入前面例子里的“TCP 三次握手”阶段。
2.1 应用层:把“人话”变成报文
- 浏览器是“HTTP 客户端”,它先把你的 URL 封装成一条 HTTP 请求报文。
- 如果地址栏是
https,这一报文会被 TLS(属于应用层安全协议) 加密,变成密文。 - 加密后的字节流往下交,说:“传输层兄弟,请帮我送到知乎服务器的 443 端口。”
2.2 传输层:给字节流“编号、贴标签”
- 操作系统看到“443 端口”就知道要用 TCP。
- TCP 把 HTTP 字节流切成一个个 Segment(段),给每段写上序号、端口号、校验和。
- 这些段再被包成一份份 TCP 报文,然后调用网络层:“请把这份报文送到 103.41.167.234(知乎的 IP)。”
2.3 网络层:给报文“贴邮票、写邮编”
- 网络层收到 TCP 报文后,再包上一层 IP 头,形成 IP 数据报。
-
- 源 IP:你家里的 192.168.1.100
- 目的 IP:103.41.167.234
- 协议字段:6,表示“里面装的是 TCP”
- 如果数据报太大,还会分片;如果跨网段,就根据路由表决定下一跳网关。
- 之后把数据报交给链路层:“请帮我把这个包发到网关 192.168.1.1。”
2.4 链路层:把比特流“真正发出去”
- 链路层收到 IP 数据报后,再包上一层 以太网帧头/帧尾(写上进、出网卡的 MAC 地址)。
- 网卡把帧变成 0/1 电信号(或 Wi-Fi 无线电波),真正冲到网线上。
- 下一跳路由器收到后,拆链路层头,看到里面是 IP 数据报,继续转发……
- 经过 N 跳,终于到达知乎服务器。
回包怎么走?
服务器按完全相反的方向一层层封装:
HTTP 响应 → TCP 段 → IP 数据报 → 以太网帧 → 逆向流动回到你的浏览器。
每层只处理自己那一层“信封”里的字段,上层和下层的细节对它完全透明。
总结
“上层调用下层,下层为上层服务;发送端加头,接收端去头;每层只认识自己的信封,却能把整个世界连起来。”
TCP/IP协议工作原理详解
931

被折叠的 条评论
为什么被折叠?



