|
①允许目的节点将不完整的报文递交给目的端系统;
②一个不能完整重装的报文能被检测出来,并要求发送该报文的源端系统重新传送;
③为每个节点配备一个后备缓冲空间,用以暂存不完整的报文。
①、②两种方法不能很满意地解决重装死锁,因为它们使端系统中的协议复杂化了。一般的设计中,网络层应该对端系统透明,也即端系统不该考虑诸如报文拆、装之类的事。③方法虽然不涉及端系统,但使每个节点增加了开销。
拥塞控制的当前标准
端到端拥塞控制的IETF标准关注的方面包括集中在特定的协议(例如TCP协议[RFC2581],可靠的多点传送协议[RFC2357]);终端节点和路由器之间的拥塞信息(例如明确的拥塞通告[RFC2481])交换的句法和语义;不同服务的服务质量的期望值。端到端的拥塞控制的作用也在一个关于“Internet中的队列管理和避免拥塞的建议”[参见RFC2309]的RFC报告中进行了讨论。RFC2309提出了在路由器中活跃的队列管理机制的配置和对路由器机制设计的延续来处理对拥塞通告无回应的流。我们能够轻松地从RFC2309中借用一些端到端的拥塞控制的概括性的讨论。
与上面提到的RFCs资料相比,本文档对拥塞控制的原理进行更一般性的讨论。Internet成功的一个关键因素就是TCP协议的避免拥塞机制。当前TCP协议在Internet中仍然是占主导地位的传输协议,但它不是适用于任何地方,有越来越多的应用由于某种原因没有选择使用TCP协议。通信不仅包括多点传送通信,而且包括单点传送通信,诸如不需要可靠性的流化的多媒体,以及包括象DNS(DomainNameServer域名服务器)或路由信息的通信,它们带有被认为对网络运行至关重要的短信息。许多通信并不使用任何形式的预留带宽或端到端拥塞控制。为了保持最优传输量,端到端的拥塞控制的继续使用对保持Internet的稳定至关重要。
完成拥塞控制时,确定拥塞窗口大小的过程
确定拥塞窗口的大小的过程:在刚建立连接时,将拥塞窗口的大小初始化为该连接所需的最大连接数据段的长度值,并发送一个最大长度的数据段(当然必须是接收窗口允许的)。如果在定时器超时前得到确认,将拥塞窗口的大小增加一个数据段的字节数,并发送两个数据段,如果每个数据段在定时器超时前都得到确认,就再在原基础上增加一倍,即为4个数据段的大小,如此反复,每次都在前一次的基础上加倍。当定时器超时或达到发送窗口设定值,停止拥塞窗口尺寸的增加。这种反复称为慢速启动,所有的TCP协议都支持这种方法。
目前拥塞控制的研究热点:
拥塞控制不仅是网络稳定、高效运行的关键,同时又是实现各种服务质量的基础和前提。实际的网络是一个不断发展的系统,网络拥塞控制研究也是一个非常困难、有挑战性的研究领域。对网络拥塞控制的研究仍有许多工作要做,进一步的工作包括:
(1) 拥塞控制基于端主机的控制策略和路由器的队列管理策略存在相互影响、相互作用的关系,如何在网络模型描述的基础上,从控制系统的角度将两者结合起来,设计出最优的拥塞控制策略,是网络拥塞控制研究的一个方向。
(2) 主动队列管理技术通过丢包积极响应拥塞,来达到拥塞避免和缓解的目的,是网络拥塞控制最重要的手段。如何实现AQM高级策略,引入新的人工智能算法和遗传算法与模糊逻辑的综合应用是目前研究的一个热点问题。
(3) 以往的工作主要采用局部线性化方法,缺乏对系统全局动力学的理论分析。此外,在多种源端拥塞控制策略和路由器避免策略并存时,如何分析整个网络的稳定性,如何分析各种不确定因素对稳定性的影响等,也是需要认真考虑的问题。
(4) TCP/IP 拥塞控制的设计和实现面临着众多的折中,不可能有一种设计和实现在所有环境中都是“最好的”。现有的拥塞控制思路、方法和技术在多目标的不同环境中面临着挑战,它们还有许多要改进的地方。 |
【收藏】【打印】【进入论坛】 |
|
|
|
|
|
|
|