1. TCP/IP 模型概述
TCP/IP 模型是 Internet 实际使用的体系结构,由 ARPANET 的实践发展而来,分为 4 层(有些教材分为 5 层作为教学参考)。
2. 四层模型总览
| 层次 | 名称 | 对应 OSI 层 | 主要协议 |
| 4 | 应用层 | 应用层+表示层+会话层 | HTTP, FTP, SMTP, DNS, DHCP, Telnet, SNMP |
| 3 | 传输层 | 传输层 | TCP, UDP |
| 2 | 网际层(互联网层) | 网络层 | IP, ICMP, ARP, RARP, IGMP |
| 1 | 网络接口层 | 数据链路层+物理层 | 以太网、PPP、令牌环 |
3. 各层详细功能
网络接口层
- 对应 OSI 的物理层 + 数据链路层
- TCP/IP 模型没有严格定义这一层的具体协议
- 只要求能向上层传递 IP 数据报
- 可以使用各种底层网络技术
网际层(核心层)
- 核心协议:IP(Internet Protocol)
- 功能:
- 路由选择:为数据报选择路径
- IP 寻址:使用 IP 地址标识主机
- 分组转发:将数据报从源转发到目的
- 分片和重组:处理不同网络的 MTU 差异
- 特点:提供无连接、不可靠的数据报服务
- 辅助协议:ICMP(差错报告)、ARP(地址解析)、IGMP(组管理)
传输层
- TCP(Transmission Control Protocol):
- 面向连接
- 可靠传输(确认重传、流量控制、拥塞控制)
- 全双工
- 面向字节流
- 三次握手建立连接
- UDP(User Datagram Protocol):
- 无连接
- 不可靠传输
- 面向报文
- 无流量控制和拥塞控制
- 支持一对多、多对多
| 对比项 | TCP | UDP |
| 连接 | 面向连接(三次握手) | 无连接 |
| 可靠性 | 可靠 | 不可靠 |
| 流量控制 | 有(滑动窗口) | 无 |
| 拥塞控制 | 有 | 无 |
| 传输方式 | 面向字节流 | 面向报文 |
| 首部开销 | 20 字节(最小) | 8 字节 |
| 通信方式 | 一对一 | 支持一对多、多对多 |
| 应用场景 | 文件传输、网页浏览 | DNS、视频流、游戏 |
应用层
- 合并了 OSI 的应用层、表示层、会话层的功能
- 直接为用户应用提供服务
- 重要协议:
| 协议 | 功能 | 端口 |
| HTTP | 万维网 | 80 |
| HTTPS | 安全万维网 | 443 |
| FTP | 文件传输 | 20/21 |
| SMTP | 发送邮件 | 25 |
| POP3 | 接收邮件 | 110 |
| DNS | 域名解析 | 53 |
| DHCP | 动态主机配置 | 67/68 |
| Telnet | 远程登录 | 23 |
| SSH | 安全远程登录 | 22 |
4. OSI 与 TCP/IP 模型的对比
| 对比项 | OSI 模型 | TCP/IP 模型 |
| 层数 | 7 层 | 4 层 |
| 出发点 | 先有模型后有协议 | 先有协议后有模型 |
| 网络层服务 | 支持面向连接和无连接 | 仅支持无连接 |
| 传输层服务 | 面向连接 | 支持面向连接和无连接 |
| 通用性 | 理论完善,通用 | 针对 Internet |
| 实际应用 | 未被广泛采用 | Internet 的实际标准 |
5. 五层参考模型(教学模型)
| 层次 | 名称 | 说明 |
| 5 | 应用层 | OSI 应用层+表示层+会话层 |
| 4 | 传输层 | TCP/UDP |
| 3 | 网络层 | IP、路由 |
| 2 | 数据链路层 | 帧、差错控制 |
| 1 | 物理层 | 比特传输 |
6. 数据传输过程
发送主机:
应用层数据 → TCP段(添加TCP首部)→ IP数据报(添加IP首部)→ 帧(添加帧头帧尾)→ 比特流
路由器:
收到帧 → 取出IP数据报 → 路由选择 → 重新封装成帧 → 转发
接收主机:
比特流 → 帧 → IP数据报 → TCP段 → 应用层数据(逐层去掉首部)
要点路由器只处理到网际层(第 3 层)——它会拆开帧、看 IP 首部选路,再重新封装成帧;不会拆开 TCP 首部。