首页 理论教育 端到端传输层的流控制和拥塞控制挑战

端到端传输层的流控制和拥塞控制挑战

时间:2023-06-22 理论教育 版权反馈
【摘要】:流控制这两种情况都不会发生。拥塞控制方案旨在预防这种情况。传输层负责处理端到端的拥塞控制和流控制相关的挑战。例如,因特网TCP负责拥塞控制。接收者窗口通过接收者通知流控制,并指示接收者能接收的最大的千字节单位的容量。图6-2 TCP中的拥塞控制和流控制TCP拥塞和流控制机制有以下作用,使它们与无线自组织网络不相容:1)TCP假设通信链路是十分可靠的,因此一个分段由于拥塞丢失的概率是很高的。

端到端传输层的流控制和拥塞控制挑战

根据接收方能处理的速度,流控制调整源节点数据包生成的速度。若进入数据的速率高于接收方能处理的速率,接收方开始丢包。这是一种资源浪费。另一方面,尽管有数据待传送以及网络可以更高的速率传送数据,若源节点发送数据包的速率低于接收方能接收的速率,这也是一种资源浪费。流控制这两种情况都不会发生。

若来自多源的数据聚集在一个链路中,聚合通信量高于链路的容量,则发生拥塞。换言之,在一定时间周期内,当流生成速率高于网络所能传输的速率,拥塞产生。拥塞控制方案旨在预防这种情况。传输层负责处理端到端的拥塞控制和流控制相关的挑战。例如,因特网TCP负责拥塞控制。

为控制拥塞和流,TCP运行一个称为slow start(慢开始)的算法,算法基于三个参数:接收者窗口、拥塞窗口和避免拥塞的门限。接收者窗口通过接收者通知流控制,并指示接收者能接收的最大的千字节单位的容量。拥塞窗口是用来避免拥塞,且是由源节点决定的。这两个窗口的最小值是源节点某时发送,然后等待应答的最大值。

当一个TCP连接建立时,拥塞窗口等于一个分段,这意味着源节点发送了一个分段。分段的大小(千字节)等于连接允许的最大分段大小。如果这个分段在超时期满之前得到应答,那么拥塞窗口变成两个,且源节点发送两个分段。拥塞窗口的大小在每次传输时与上次成功传输相比翻一倍,直到达到接收者窗口大小或者门限。如果门限在接收者窗口之前达到,拥塞窗口增加的大小变成线性的,即在每次成功传输后递增一个分段。门限在开始时是64kbit。

如果超时发生,即传输分段在期望的超时内没有得到应答,TCP假定这是由于拥塞造成的,并且减半门限,重新开始慢开始程序,如图6-2的例子中所示。在这个例子中,最大分段尺寸为1kbit。源节点在第一次传输时发送一个段。当它收到应答时,它就发送两段。这种分段数量上的指数增长一直持续,直到到达接收者窗口大小为止(我们的例子中是56kbit)。当源节点发送56个分段(等于接收者窗口大小)时,由于拥塞,超时发生。源节点将当前窗口大小减半来确定新的门限,即把它设置成28kbit,并且通过设置拥塞窗口为1kbit来重新开始慢开始。这次在接收者窗口大小之前达到门限值。在门限以后,拥塞窗口在每次传输成功后逐分段递增。在到达接收者窗口大小之前,当前窗口大小为34kbit时,另一个超时发生。源节点将门限设置成17kbit,然后再运行慢开始程序。

978-7-111-34574-9-Part01-59.jpg

图6-2 TCP中的拥塞控制和流控制

TCP拥塞和流控制机制有以下作用,使它们与无线自组织网络不相容:

1)TCP假设通信链路是十分可靠的,因此一个分段由于拥塞丢失的概率是很高的。这种假设对于无线自组织网络是不现实的,在自组织网络中,由于节点移动和节点/连接故障,拓扑改变和分段丢失是很频繁的。(www.xing528.com)

2)TCP假设连接的平均端到端延迟是合理的,因此由于慢开始没被利用的带宽是可忽略的。这也可能与一些无线自组织网络的特性产生冲突。例如,一个在无线传感器网络的连接可能经过很多次无线跳转,使得端到端延迟对TCP来说太长。同样,声信号以声速传播,这可能对时延(Latency)产生影响,使TCP对于水下声纳自组织网络来说不切实际。

3)在慢开始时未充分利用的连接成本可能对于受限网络(Tethered Network)来说是正当的。但是,无线连接的成本比受限连接要高许多,因此它们需要被更加仔细地利用。

由于这些原因,TCP的替代版本如TCP-Reno、TCP-Peach和I-TCP已经被开发出来,它们更适合无线网络。这些TCP的最新版本总体上基于以下技术:

1)负应答:在TCP中,接收者通过发送一个对最后接收分段的正应答来确认多个分段。没有改变这个基础方案,对一个没接收到的分段的负应答仍然可以通过多次确认丢失分段来实现。当源节点接收到对于同一个分段的多个应答,即三个应答时,这表明接收者没有接收到特定的段,然后源节点立即重新发送这个段。

2)快开始:在TCP连接建立之后,源节点发送一个数据段和哑分段(DummySegments)来填充接收窗口。当接收者确认最后一个接收段时,源节点知道了第一轮的网络容量,并相应地调节它的速度。这急剧提高了高时延的通信连接的利用率。

3)分裂:一个连接被分裂成多段,这些段使用不同的传输层协议。例如,一个连接可能包括光纤和无线连接。当TCP运行在连接的光纤部分时,在无线部分可能使用另一个传输层协议。这解决了很多问题,但是需要去复用(Demultiplex-ing)和在一个中间节点的向上到传输层的分段封装。尽管负应答、快开始和分裂技术也许可以满足许多无线网络的需求,但它们不能完全解决无线自组织网络的一些限制,例如功耗和可扩展性。这对于无线传感器网络来说,尤其是这样,其数据生成率在时间上和空间上都是相关的,这增加了拥塞的可能性。

与拥塞控制有关的两个挑战是值得注意的,且需要对无线传感器网络进一步关注:拥塞检测和解决拥塞(Karl and Willig,2005)。缓冲区或通道统计可用来拥塞检测。如果一个中间节点的缓冲区的占用水平超过一定程度,缓冲区充满水平就会趋于增加,这可以是拥塞的好指标。另外,连接可以在一定时期多次采样。如果链路繁忙的次数和采样总数的比值超过门限值,也可能表示拥塞。

为了解决拥塞,要么减少流量生成率,要么丢掉较不重要的包。在速率控制选项中,检测拥塞的节点可以通知之前的节点减少它们发送的包的数量。如果这导致了在之前节点的拥塞,它们也通知它们的梯度(Gradients)。这可能持续到源节点。在丢包选项中,源节点根据包的重要性给它们贴标签,且检测拥塞的节点丢掉较不重要的包直到拥塞消失。这两种技术都能激发进一步的拒绝服务攻击。例如,一个恶意节点可能发送错误的拥塞报告给它的邻居。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈