Transport Service Guarantees(传输层服务承诺与局限)

Problem(解决什么问题)

应用层在发起网络通信时,需要确定下层网络协议栈能够为其提供哪些服务保障(可靠性、吞吐量、定时/时延、安全性),以便选择合适的传输层协议(TCP 或 UDP)。


Basic Idea(核心思想)

传输层协议本身的服务能力是有限的:TCP 能通过端系统机制提供可靠数据传输(确认、重传),UDP 不提供可靠性;安全性通常由运行在传输层之上的 TLS / DTLS 等机制提供,而不是 TCP/UDP 原生提供。无论 TCP 还是 UDP,都无法提供“吞吐量”与“定时(时延)”的硬性承诺


Trade-off(物理局限与设计权衡)

为什么定时(时延)与吞吐量无法由传输层保障?

  1. 底层 IP 的尽力而为(Best-Effort)本质:网络层 IP 协议采用分组交换与统计复用,中间路由器没有预留固定带宽。
  2. 排队延时与拥塞的动态性:报文在经过中间路由器时,排队延时和丢包具有随机性。端系统协议(TCP/UDP)无法控制中间自治系统路由器的繁忙程度。

服务保障对比

服务维度TCP 协议UDP 协议无法保障的根源
可靠性保障(确认、重传、校验)不保障-
安全性TCP 之上可使用 TLSUDP 之上可使用 DTLS安全性由上层安全协议提供,不是 TCP/UDP 原生能力
吞吐量无法保障无法保障底层 IP 统计复用,无带宽预留
定时 (时延)无法保障无法保障分组交换路由器排队延时不可控