第3章传输层
第3章传输层
3.1 概述和传输层服务


3.1.1传输层的定位与核心目标
-
层间位置
属于 TCP/IP 协议栈的 “边缘” 层,位于应用层之下、网络层之上,是衔接应用进程与网络核心(路由器等)的关键层,在 “Top-Down” 分析框架中,是越过应用层后向下深入的第一层。
-
核心目标为不同主机上的应用进程提供逻辑通信服务 —— 让远端应用进程通过 Socket 接口,仿佛直接进行数据交互(无需感知底层网络的物理传输细节),而底层实际依赖传输层与网络层的协作完成数据传递。
3.1.2传输层的核心服务:进程间逻辑通信

(1)逻辑通信的定义
- 应用进程视角:通过 Socket API(如发送
send、接收read),可将应用层报文(Message)“直接” 发给对等应用进程,无需关注数据如何经过主机内协议栈、路由器等物理设备。 - 实际实现逻辑:依赖传输层实体(TCP/UDP)与网络层的协作,将 “逻辑通信” 转化为物理上的分组传输,具体过程如下:
- 发送方操作:接收应用层报文→将报文拆分为若干传输层报文段(TCP 段 / UDP 数据报,即传输层 PDU)→为报文段添加头部(含端口号等解复用信息)→将报文段交给网络层(封装为 IP 数据报)。
- 接收方操作:从网络层接收 IP 数据报→提取传输层报文段→去除头部→重组报文段的数据部分(TCP 需按序重组为字节流,UDP 按数据报重组)→将重组后的应用层报文交给对等应用进程。
(2)关键特性:多路复用与解复用的基础
传输层需同时支撑同一主机上的多个应用进程(如浏览器、QQ、播放器)与远端进程通信,因此 “逻辑通信” 的前提是:
- 发送端需将多个应用进程的报文 “聚合”(复用)后通过网络层传输;
- 接收端需将收到的报文段 “拆分”(解复用),精准交付给对应应用进程 —— 这一功能依赖后续 3.2 节的 “端口号” 机制,但 3.1 节明确其为传输层服务的核心基础之一。
3.1.3传输层与网络层的对比:服务依赖与增强
(1)核心服务差异

| 对比维度 | 网络层服务 | 传输层服务 |
|---|---|---|
| 服务对象 | 主机(主机到主机的逻辑通信) | 应用进程(进程到进程的逻辑通信) |
| 数据单位 | IP 数据报 | TCP 段 / UDP 数据报 |
| 核心功能 | 跨越网络的分组转发(尽力而为) | 进程间数据交付 + 服务品质增强 |
(2)传输层对网络层的 “依赖” 与 “增强”
- 依赖关系:传输层的报文段需封装在 IP 数据报中传输,因此网络层的性能(如延迟、带宽、丢包率)直接影响传输层服务质量(例:网络层延迟高,传输层通信延迟也会随之升高)。
- 增强关系:网络层仅提供 “尽力而为” 的不可靠服务(IP 数据报可能丢失、乱序、延迟抖动),传输层通过自身机制弥补这些不足,向上层提供更优服务,例如:
- 可靠性增强:TCP 通过 “可靠数据传输(RDT)” 机制,确保应用层报文不丢失、不重复、按序交付(RDT 是网络核心 Top3 问题,所有计网教材均重点讲解);
- 服务细分:将网络层 “主机到主机” 的服务,细分为 “进程到进程” 的服务(通过端口号实现);
- 安全增强:可基于 TCP/UDP 扩展安全功能(如 TCP 之上的 SSL/TLS),实现数据加密、身份认证(网络层 IP 不提供安全服务)。
3.1.4类比理解:传输层与网络层的协作
用 “东海岸 Ann 家与西海岸 Bill 家 12 个小孩通信” 类比,直观理解两层服务的差异:
| 类比对象 | 对应网络实体 | 核心作用 |
|---|---|---|
| 家庭(Ann 家 / Bill 家) | 主机 | 网络层服务的 “端点”(主机到主机) |
| 家庭中的小孩 | 应用进程 | 传输层服务的 “端点”(进程到进程) |
| 小孩写的信件 | 应用层报文(Message) | 应用进程间交互的数据单元 |
| Ann/Bill 家的家长 | 传输层协议(TCP/UDP) | 复用(家长收集所有小孩信件打包)、解复用(家长拆包分发信件给对应小孩) |
| 邮政公司 | 网络层协议(IP) | 负责 “家庭到家庭” 的邮包传输(对应 IP 数据报的主机到主机转发) |
- 关键逻辑:邮政公司(网络层)只负责将邮包从 Ann 家(源主机)送到 Bill 家(目标主机),不关心邮包里具体是哪个小孩的信;而 Ann/Bill 家的家长(传输层)需完成 “聚合信件(复用)” 和 “拆分信件(解复用)”,确保每个小孩(应用进程)的信能精准交付。
3.1.5Internet 的传输层协议:TCP 与 UDP 的服务特性

Internet 的传输层提供两种可选协议,二者均基于 IP 的 “尽力而为” 服务,但提供的服务品质差异显著,核心特性如下表:
| 协议 | 核心服务特性 | 关键机制 / 特点 |
|---|---|---|
| TCP | 1. 可靠的、按序的字节流传输 2. 多路复用 / 解复用 3. 流量控制(避免接收方溢出) 4. 拥塞控制(避免网络拥堵) 5. 面向连接(需先建立连接) |
- 数据无报文边界(以字节流交付) - 通信前需 “三次握手” 建立连接,结束需 “四次挥手” 释放连接 - 基于序列号、确认号、超时重传实现可靠性 |
| UDP | 1. 不可靠的、无顺序的数据报传输 2. 多路复用 / 解复用 3. 无额外服务(不增强 IP 服务) |
- 数据有报文边界(以 UDP 数据报为单位交付) - 无连接(无需握手,直接发送) - 头部开销小(仅 8 字节,远小于 TCP 的 20 字节最小头部) |
补充说明(重点)
- TCP 的 “字节流”:不保证应用层报文的边界,需应用层自行定义报文分隔符(如 HTTP 的
\r\n); - UDP 的 “数据报”:严格按应用层发送的报文大小交付,适合对延迟敏感、可容忍少量丢包的场景(如流媒体、DNS 查询);
- 共性:二者均不提供延迟保证和带宽保证—— 因延迟、带宽由网络层的链路性能(如瓶颈链路带宽、路由延迟)决定,传输层无法改变。
3.1.6传输层服务的 “可加强” 与 “不可加强” 类型
基于网络层的 “尽力而为” 服务,传输层可通过自身机制增强部分服务品质,但部分服务品质受限于底层网络,无法增强:
| 服务品质类型 | 是否可加强 | 举例与说明 |
|---|---|---|
| 可加强的服务 | 是 | 1. 可靠性:IP 数据报可能丢失 / 乱序,TCP 通过 RDT 机制(序列号、确认、重传)实现可靠传输;2. 安全性:TCP/UDP 本身不加密,可通过 SSL/TLS(如 HTTPS)增强数据加密、身份认证;3. 服务细分:IP 是主机到主机,传输层通过端口号实现进程到进程的细分 |
| 不可加强的服务 | 否 | 1. 延迟:传输层无法降低数据在网络中的传输延迟(延迟由链路传播时延、路由器排队时延等决定);2. 带宽:传输层无法突破网络瓶颈链路的带宽限制(如 100Mbps 链路,传输层无法让吞吐量超过 100Mbps) |

浙公网安备 33010602011771号