01
解法
传统的拥塞控制只使用丢包作为唯一的信号:路由器丢弃一个数据包,发送方就认为网络拥塞,并将发送窗口减半。这种做法有效,但会浪费已经支付费用的数据,并迫使数据重传。
ECN在IP头部增加了两个位,使得路由器可以通过简单地标记数据包来传达“拥塞正在形成”的信息。接收方将标记复制到确认包中,发送方根据ECN标志而不是丢包来做出反应。
关键在于这种通知几乎是免费的:传输中的一个标志位能传达与重传相同的信息,因此网络在无需冗余传输的情况下实现拥塞控制。
02
取得了什么结果
用一个位,而不是一个被丢弃的数据包,来传达“减速”的信号
03
为什么有效
标记避免了丢包触发的重传。
拥塞信号沿着相同的路径传送给相同的发送方。
标记在队列真正溢出之前就传达了信息。
04
可以借鉴什么
当传递信号的唯一方式需要破坏信号本身时,不如发明一条廉价的旁路通道;标记可以节省发送方本可能重复进行的工作。
05
后续
作为标准协议,ECN在TCP/IP协议栈和数据中心传输协议中得到广泛支持,其“带内标记而非丢包”的理念为后来数据中心网络中的拥塞信令奠定了基础。
从这里,追溯依据
参考来源
- RFC 3168: The Addition of Explicit Congestion Notification (ECN) to IP IETF · rfc-editor.org
- RFC 2884: Performance Evaluation of Explicit Congestion Notification (ECN) in IP Networks IETF · rfc-editor.org