传统的拥塞控制只使用丢包作为唯一的信号:路由器丢弃一个数据包,发送方就认为网络拥塞,并将发送窗口减半。这种做法有效,但会浪费已经支付费用的数据,并迫使数据重传。

ECN在IP头部增加了两个位,使得路由器可以通过简单地标记数据包来传达“拥塞正在形成”的信息。接收方将标记复制到确认包中,发送方根据ECN标志而不是丢包来做出反应。

关键在于这种通知几乎是免费的:传输中的一个标志位能传达与重传相同的信息,因此网络在无需冗余传输的情况下实现拥塞控制。

用一个位,而不是一个被丢弃的数据包,来传达“减速”的信号

标记避免了丢包触发的重传。

拥塞信号沿着相同的路径传送给相同的发送方。

标记在队列真正溢出之前就传达了信息。

当传递信号的唯一方式需要破坏信号本身时,不如发明一条廉价的旁路通道;标记可以节省发送方本可能重复进行的工作。

作为标准协议,ECN在TCP/IP协议栈和数据中心传输协议中得到广泛支持,其“带内标记而非丢包”的理念为后来数据中心网络中的拥塞信令奠定了基础。

从这里,追溯依据

参考来源

  1. RFC 3168: The Addition of Explicit Congestion Notification (ECN) to IP IETF · rfc-editor.org
  2. RFC 2884: Performance Evaluation of Explicit Congestion Notification (ECN) in IP Networks IETF · rfc-editor.org