🎯 课程摘要:TCP/IP 体系结构网际层的 IP 协议只提供无连接、不可靠的数据报传输服务。为满足不同应用的需求,运输层提供了两个重要协议:TCP(传输控制协议,面向连接、可靠)和 UDP(用户数据报协议,无连接、不可靠),二者均在网际层使用 IP 协议。
- 网络接口层:并没有规定什么具体内容,以便可以使用各种不同的网络接口。
- 网际层:网际协议 IP 是核心协议,可以互联不同的网络接口(即互联各种异构网络),并为其上层提供无连接、不可靠的数据包传输服务。
- 应用层:包含大量应用层协议:
- 需要使用可靠传输服务的:浏览网页、文件传输、电子邮件、电子银行等(传输错误可能造成灾难性后果)。
- 使用不可靠传输服务的:音频、视频等多媒体应用(实时性是首要需求,少量传输错误对播放质量影响较小)。
- 主要任务:使用端口号为运行在不同主机上的应用进程提供逻辑通信服务。
- 可靠性问题:由于网际层 IP 协议向其上层提供的是无连接、不可靠的数据报传输服务,因此运输层需要:
- 使用 TCP 协议为应用层中那些需要可靠传输服务的协议提供可靠传输服务。
- 使用 UDP 协议为应用层中那些使用不可靠传输服务的协议提供服务。
- 共同点:不管在运输层使用的是 TCP 还是 UDP,在网际层都需要使用 IP 协议提供服务。
- 全称:TCP 是传输控制协议的英文缩写词。
- 服务特性:为其上层提供面向连接的、可靠的数据传输服务。
- 连接管理:使用 TCP 通信的双方在传送数据之前必须首先建立 TCP 连接(这是逻辑连接而非物理连接),数据传输结束后必须释放 TCP 连接。
- 可靠传输措施:为实现可靠传输,TCP 必须使用很多措施:
- 代价:TCP 的实现复杂,TCP 报文段的首部比较大,占用处理器资源比较多。
- 全称:UDP 是用户数据报协议的英文缩写词。
- 服务特性:为其上层提供无连接的、不可靠的数据传输服务。
- 连接管理:使用 UDP 通信的双方在传送数据之前不需要建立连接。
- 特点:UDP 不需要实现可靠传输,也就不需要使用实现可靠传输的各种机制。
- 代价:UDP 的实现简单,UDP 用户数据报的首部比较小。
| 对比项 | TCP(传输控制协议) | UDP(用户数据报协议) |
|---|
| 连接性 | 面向连接(通信前建立连接,通信后释放连接) | 无连接 |
| 可靠性 | 可靠传输 | 不可靠传输 |
| 可靠传输机制 | 连接管理、确认、超时重传、流量控制、拥塞控制 | 无 |
| 实现复杂度 | 复杂 | 简单 |
| 首部开销 | 较大 | 较小 |
| 处理器资源 | 占用较多 | 占用较少 |
| 网际层依赖 | IP 协议 | IP 协议 |
| 适用场景 | 网页、文件传输、电子邮件、电子银行等需可靠传输 | 音频、视频等多媒体等实时性优先的应用 |
| 应用 | 应用层协议 | 运输层协议 |
|---|
| 浏览网页 | HTTP | TCP |
| 文件传输 | FTP | TCP |
| 电子邮件 | SMTP | TCP |
| 电子银行 | 相关应用协议 | TCP |
| 音频/视频多媒体 | 相关多媒体协议 | UDP |
- ⚠️ 重点/考点:
- TCP 提供可靠传输,UDP 提供不可靠传输,二者底层都用 IP。
- TCP 连接是逻辑连接而非物理连接。
- 需可靠传输的应用用 TCP,重实时性的多媒体应用用 UDP。
- IP 协议只提供无连接、不可靠服务,可靠性由运输层 TCP 弥补。
- TCP:面向连接、可靠,靠连接管理/确认/超时重传/流量控制/拥塞控制实现,首部大、实现复杂。
- UDP:无连接、不可靠,无可靠传输机制,首部小、实现简单。
- 选择依据:需可靠传输用 TCP,重实时性可容忍少量错误用 UDP。
- 为什么 TCP/IP 体系结构的运输层需要同时提供 TCP 和 UDP 两个协议?
- TCP 为实现可靠传输采取了哪些措施?
- TCP 的连接是物理连接还是逻辑连接?数据传输前后分别要做什么?
- 对比 TCP 和 UDP 在连接性、可靠性、首部开销和适用场景上的区别。
- 若某应用对实时性要求高、可容忍少量传输错误,应选择 TCP 还是 UDP?为什么?