传输层协议详解:TCP、UDP与服务质量保障
1. 传输层概述
传输层是TCP/IP协议栈中的端到端层,其目标是以最低成本尽可能为应用层提供所需的服务质量(QoS)。为实现这一功能,传输层需在应用层请求的QoS参数和网络层可用的QoS之间进行权衡,其中网络层的QoS是瞬时流量的函数。
传输层处理和协商的QoS参数包括:
- 每个方向的请求比特率
- 误比特率
- 最大端到端延迟
- 最大端到端抖动
- 优先级规则
- 连接建立失败的概率
- 建立传输连接的最大时间
- 终止传输连接的最大时间
- 成本
- 安全保护机制
根据服务和应用层协议,四个最重要的基本服务要求如下:
- 比特率要求
- 对数据丢失的敏感性
- 延迟敏感性
- 可变或恒定比特率服务
例如,IP电话(VoIP)服务对比特率要求较低,对数据丢失的敏感性也较低(通常语音服务接受误比特率[BER]优于10⁻³)。然而,IP电话的QoS要求低延迟,同时对延迟变化(抖动)高度敏感。IP电话的数据交换通过用户数据报协议(UDP)进行,而RTP(上层协议)确保交换段的正确顺序。另一个例子是使用FTP的下载服务,它需要大约较高的比特率,并且对数据丢失非常敏感。另一方面,该服务对延迟和抖动的敏感性较低。
为确保向应用层提供所需的比特率,传输层可以将多个网络层连接组合成一个应用层连接。例如,当网络层已建立一个512 kbps的连接,而应用层请求一个1024 kbps的连接时,传输层可以建立第二个512 kbps的网络连接,并以透明方式向应用层提供一个10