目录
[1. 为什么是 4 层?(模型架构)](#1. 为什么是 4 层?(模型架构))
[2. 逐层拆解:数据的一生](#2. 逐层拆解:数据的一生)
[第一层:应用层 (Application Layer) ------ "我要发什么"](#第一层:应用层 (Application Layer) —— "我要发什么")
[第二层:传输层 (Transport Layer) ------ "怎么发过去"](#第二层:传输层 (Transport Layer) —— "怎么发过去")
[第三层:网络层 (Internet Layer) ------ "往哪里走"](#第三层:网络层 (Internet Layer) —— "往哪里走")
[第四层:网络接口层 (Network Interface Layer) ------ "物理传输"](#第四层:网络接口层 (Network Interface Layer) —— "物理传输")
[3. 核心机制深度剖析](#3. 核心机制深度剖析)
[A. 数据的"俄罗斯套娃":封装与解封装](#A. 数据的“俄罗斯套娃”:封装与解封装)
[B. TCP 的三次握手 (Three-Way Handshake)](#B. TCP 的三次握手 (Three-Way Handshake))
[C. TCP 的四次挥手 (Four-Way Wave)](#C. TCP 的四次挥手 (Four-Way Wave))
[4. 总结](#4. 总结)
如果把互联网比作一个巨大的物流网络,那么 TCP/IP 协议栈 就是这套网络中至高无上的"物流管理法则"。它规定了数据如何打包、如何寻找路径、如何确认签收以及丢失了该怎么办。
虽然我们常说 "TCP/IP",但它不仅仅指 TCP 和 IP 这两个协议,而是一个由不同层次、多个协议组合而成的协议族 (Protocol Suite)。
1. 为什么是 4 层?(模型架构)
在计算机网络教材中,我们常看到 OSI 七层模型 (理论标准),但在实际工业界和互联网中,运行的是 TCP/IP 四层模型(事实标准)。

理解这两者的对应关系是深入学习的第一步:
| TCP/IP 四层模型 | 对应 OSI 七层模型 | 核心功能 | 常见协议 | 数据单位 |
|---|---|---|---|---|
| 应用层 (Application) | 应用层、表示层、会话层 | 处理用户数据、编码与会话 | HTTP, DNS, FTP, SSH | 消息 (Message) |
| 传输层 (Transport) | 传输层 | 端到端的通信、可靠性/速率控制 | TCP, UDP | 段 (Segment) / 数据报 |
| 网络层 (Internet) | 网络层 | 寻址 (IP地址) 与路由选择 | IP, ICMP, ARP | 包 (Packet) |
| 网络接口层 (Link) | 数据链路层、物理层 | 物理介质传输、MAC寻址 | Ethernet, Wi-Fi | 帧 (Frame) |
2. 逐层拆解:数据的一生
让我们模拟一个场景:你在浏览器输入 www.google.com 并回车。数据是如何在协议栈中流转的?
第一层:应用层 (Application Layer) ------ "我要发什么"
这是离用户最近的一层。你的浏览器(客户端)生成了一个 HTTP 请求报文。
-
核心职责:规定应用程序之间如何沟通(格式、字符集等)。
-
关键协议:
-
HTTP/HTTPS:网页浏览。
-
DNS:将域名解析为 IP 地址(像电话本一样)。
-
SMTP/POP3:邮件传输。
-
第二层:传输层 (Transport Layer) ------ "怎么发过去"
应用层把数据交给传输层。这里面临一个选择:是追求可靠 (TCP),还是追求速度(UDP)?
-
TCP (传输控制协议):
-
特点:面向连接、可靠、有顺序。
-
机制:通过"三次握手"建立连接,通过"确认应答(ACK)"和"重传机制"保证数据不丢。
-
场景:网页、文件传输、邮件。
-
-
UDP (用户数据报协议):
-
特点:无连接、不可靠、速度快。
-
场景:视频直播、DNS 查询、实时游戏。
-
在此层,数据被加上了 TCP/UDP 头部 (包含源端口和目的端口),变成了 "数据段 (Segment)"。
第三层:网络层 (Internet Layer) ------ "往哪里走"
传输层只管两端(你和服务器),而网络层负责在复杂的网络迷宫中找到路径。 在此层,数据段被加上了 IP 头部 (包含源 IP 和目的 IP),变成了 "数据包 (Packet)"。
-
IP 协议:负责逻辑寻址和路由。
-
ICMP :用于报错和诊断(比如
ping命令就是用的 ICMP)。 -
ARP:虽然常被归为 2.5 层,但它负责将 IP 地址解析为物理 MAC 地址,是连接虚拟与现实的桥梁。
第四层:网络接口层 (Network Interface Layer) ------ "物理传输"
这是数据离开电脑前的最后一站。数据包被封装上 MAC 头部 和 帧尾 ,变成了 "数据帧 (Frame)"。 网卡将这些二进制数字转换为电信号、光信号或无线电波,发送到网线或空气中。
3. 核心机制深度剖析
A. 数据的"俄罗斯套娃":封装与解封装
数据在发送端从上往下走,每经过一层就"穿一件衣服"(添加 Header);在接收端从下往上走,每经过一层就"脱一件衣服"。这个过程称为封装 (Encapsulation) 和 解封装 (Decapsulation)。
B. TCP 的三次握手 (Three-Way Handshake)
这是面试中的必考题,也是 TCP 可靠性的基石。为什么建立连接需要三次?
-
SYN:客户端发送"我想连接"。
-
SYN + ACK:服务端回复"好的,我收到了你的请求,我也想连接你"。
-
ACK:客户端回复"好的,我知道你想连接我了,那我们开始吧"。
核心目的 :不仅仅是建立连接,更重要的是同步双方的初始序列号 (ISN),防止历史脏数据干扰连接。
C. TCP 的四次挥手 (Four-Way Wave)
断开连接比建立连接更麻烦,需要四步。为什么? 因为 TCP 是全双工 (Full Duplex) 的。
-
Client -> FIN:我发完数据了,我要关闭发送通道。
-
Server -> ACK :知道了。(此时 Client -> Server 断开,但 Server -> Client 还能发数据,处于
CLOSE_WAIT状态)。 -
Server -> FIN:我也发完了,我也要关闭。
-
Client -> ACK:知道了,再见。(连接彻底断开)。
4. 总结
TCP/IP 协议栈之所以能统治互联网,在于其分层解耦的设计思想:
-
应用层只关心业务逻辑;
-
传输层只关心端到端的连接;
-
网络层只关心路径的选择;
-
接口层只关心物理的传输。
这种设计使得互联网极具弹性,无论上层应用如何创新(从文字到 VR),底层物理介质如何升级(从铜线到光纤),中间的核心架构依然稳如泰山。