Linux 2.2及以上版本内核中的连网协议栈都包括对虚拟网络接口、选择性确认(或者按它们的叫法SACK)以及一种IP新特性—ECN(Explicit Congestion Notification,显式拥塞通知)的支持。ECN通过标记 TCP 分组来通知发送方发生了拥塞,而不是丢弃分组作为问题的惟一指示。ECN 最初是在RFC2481(1999年1月)里规定的,现在则是RFC3168提出的建议性标准。RFC2884(2000年7月)包含了ECN的性能数据和评测。人们发现ECN对于各种网络交易数据有好处。
Linux总是吸收新特性的第一个网络协议栈之一。有时,Linux用户使用新特性的速度快到让其他连网设施都不能与之互操作的程度。例如,Linux的ECN特性(默认是启用的)会同Cisco防火墙产品上不正确的默认配置发生冲突,造成带有ECN位的全部分组都被丢弃。唉。
Linux 的开发人员热衷于修修补补,他们经常会实现尚未被接受成为标准的功能和算法。Linux 2.6.13加上了可插拔的拥塞控制算法就是这样的一个例子。拥塞算法还有几种变化,用于有损的网络、有大量丢包的高速 WAN、卫星链路等。虽然默认仍然采用标准的 TCP “reno”机制(慢启动、避免拥塞、快速重传和快速恢复),但是某个算法变种或许更适合于您的网络环境。