Internet路由器主动式队列管理机制综述
http://tech.ddvip.com 2007年09月15日 社区交流 收藏本文
内容摘要:由于Internet采用的是统计复用(statistical multiplexing)技术,因此必须提供拥塞控制机制。TCP端到端的拥塞控制机制是确保Internet鲁棒性(robustness)的重要因素。在发生拥塞时,TCP源端会降低发送数据的速度,从而使得大量的TCP连接能够共享一条拥塞的链路。TCP拥塞控制机制已被证明在防止拥塞崩溃(congestion collapse)方面取得了巨大的成功。
3.3 显式拥塞指示(Explicit Cogestion Notifica- tion ECN )
在RED机制中,当平均队长超过一定的阈值时便开始丢包了,也就是说RED是在队列未满的情况下丢包的,并不是由于队列溢出而被迫丢包的。在这种情况下丢包,虽然使得RED有效地管理了平均队长,但也浪费了网络资源,并且对时延有一定要求地多媒体应用不是很理想。因此除了使用丢包作为拥塞通知方式外,AQM还可以采用其它方法,ECN便是IETF建议使用地一种拥塞通知方式。
ECN需要在IP包头设置一个两位(bit)的ECN域(如图2所示),一个是ECT(ECN-Capable Transport)位,由源端设置以显示源端节点的传输协议是支持ECN的;另一个是CE( Congestion Experienced )位,由路由器设置,以显示是否发生了拥塞。IPv4中TOS字节的第6位被设置为ECT位,第7位被设置为CE位。IPv4中TOS字节和IPv6中的流类型字节(traffic class octet)是相对应的,它们的前六位被设置为区分服务中的(Different- iated Services)中的区分服务标记域(DS field)。后两位保留未用,因此可用来作为ECN域。
除了在IP头中设置ECN域外,ECN还需要传输协议的支持。在TCP头中需要设置两个标志位:ECN-Echo和CWR(Congestion Window Red- uced)。ECN-Echo是接受端用来通知源端收到一个CE包;CWR是源端用来通知接受端拥塞窗口已减小。
在TCP连接建立阶段,源端和目的端TCP交换有关它们是否愿意以及是否支持ECN的信息。然后源端设置IP头中的ECT位以向网络显示其支持ECN,因而,如果路由器需要的话,可以标记IP头中的CE位作为拥塞通知的方式。下面具体阐述ECN的工作方式。
在TCP连接建立阶段,若源端支持并愿使用ECN,则其可在SYN包的TCP头中设置ECN-Echo和CWR标志位。如果源端支持并愿使用ECN,则其可在SYN-ACK包中设置ECN-Echo标志,但不设置CWR标志。这样当前的TCP便是支持使用ECN的。
责编:豆豆技术应用