拥塞控制原理( 五 )


6.1避免拥塞崩溃的端到端的拥塞控制
非传递数据包的拥塞崩溃的避免需要流避免在链路的下端设定高的发送率 , 多拥塞链路和持续的高包丢弃率 。因为引起拥塞崩溃的由浪费带宽的数据包组成的非传递数据包只在链路下端被丢弃 , 所以这种拥塞崩溃不可能在每个流只在一个拥塞连接上通过或者只有一小部分数据包在第一个拥塞链路的下端被丢弃的环境下出现 。因此 , 任何形式的拥塞控制成功地在现存的对于避免非传递数据包的拥塞崩溃应该有足够的包丢弃率的情况下避免高的发送速率 。
我们将注重到附加的对IP体系结构的明确拥塞通告不会去除尽最大可能的通信的拥塞崩溃危险 。明确拥塞通告答应路由器在包的头部设置一位作为终节点的拥塞的标记 , 不强制性的依靠于以包的丢弃来标记拥塞 。然而 , 通过明确拥塞通告 , 包的标记将在适中的拥塞中取代包的丢弃 。非凡情况下 , 当拥塞非常严重 , 并且路由器的缓存溢出时路由器只有丢弃达到的包 。
6.2为了TCP公平性的端到端的拥塞控制
在[RFC2357]中 , TCP的公平性对可行的在尽可能传送的通信中的端到端的拥塞控制机制的范围有重要但不削弱的局限 。在所有拥塞链路上的单流调度环境将使流彼此孤立 , 并且消除拥塞控制机制成为TCP兼容的需要 。在区别性的服务的环境下 , 流标记为某一特定服务类别 , 答应在拥塞控制不需要成为TCP兼容的通信中一个完整的服务类别的出现 。
类似的 , 一个有价格限制的环境 , 或者一个有价格范例的不同的服务类别能够替代对TCP的公平性的关注 。然而 , 对于当前的网络环境 , 其它的尽最大努力传输的通信能够在先进先出的队列中与TCP通信相竞争 , TCP由于没有公平性会导致在高拥塞的情况下一个流会‘饿死’另外一个流 , 这个问题已经在表1中阐述了 。
然而TCP兼容拥塞控制过程的列表不局限于使用与TCP相同的增加/减少参数的“加法式增加/乘法式减少“算法 。其它的TCP兼容拥塞控制过程包括基于速率的“加法式增加/乘法式减少“变量;有不同但却保证同样稳定状态的增加/减少参数的“加法式增加/乘法式减少“算法;基于平衡的拥塞控制 , 发送方通过调整发送速率来响应长期的包丢失的信息;接收方从分层多路技术组提交和不提交的分层多路技术;还有可能我们没有考虑的其它形式 。
7.致谢
本文档的许多资料直接取自RFC关于端到端拥塞控制 。这里试图对这些年来许多人讨论出来的思想作个总结 。尤其感谢“终端到终端研究"工作组 , “可靠多路研究“工作组和传输领域指导委员会的成员 。本文档也受益于传输领域工作组的讨论和反馈 。非凡感谢MarkAllman对本文档的早期版本的意见 。
8.参考资料
[BS00]BalakrishnanH.andS.Seshan,"拥塞治理",
WorkinProgress.
[DMKM00]Dawkins,S.,Montenegro,G.,Kojo,M.andV.Magret,
"慢速链路的端到端的性能关联",
WorkinProgress.
[FF99]Floyd,S.andK.Fall,"在网络中促进使用端到端的拥塞控制",IEEE/ACM
ransactionsonNetworking,August1999.URL
http://www.aciri.org/floyd/end2end-paper.Html
[HPF00]Handley,M.,Padhye,J.andS.Floyd,"TCP拥塞的窗口有效性",RFC2861,June2000.
[Jacobson88]V.Jacobson,拥塞的避免和控制,ACMSIGCOMM"88,August1988.
[RFC793]Postel,J.,"传输控制协议",STD7,RFC793,September1981.
[RFC896]Nagle,J.,"在IP/TCP中的拥塞控制",RFC896,January1984.
[RFC1122]Braden,R.,Ed.,"网络主机的需求-通信层",STD3,RFC1122,October1989.
[RFC1323]Jacobson,V.,Braden,R.andD.Borman,"TCP高性能的扩展",RFC1323,May1992.
[RFC2119]Bradner,S.,"在RFCs中标志需求层次的要害字",BCP14,RFC2119,March1997.

推荐阅读