问题:
详述TCP拥塞控制方法的原理。
答案:
1)慢速启动算法:在TCP TAHOE模型中拥塞控制主要是通过调整发送端的发送速率来实现的而这又主要是通过三个变量实现的:拥塞窗口(Slow Start ThreshcldSSTHRESH)接收端窗口和慢速启动阈值。发送端一旦监测到数据包丢失(其原因可能是重传计时器超时亦可能是收到重复的ACK信令)它就会开始调整发送速率。这包括慢速启动阈值即ssthresh调整为当前拥塞窗口的一半同时拥塞窗口将降低到1个报文段。然后随着通信过程的恢复拥塞窗口持续增长。在拥塞窗口大小未达到ssthresh之前它以指数速度增长;到达之后则开始线性增长。2)快速重传算法:当发送端连续收到3个对应于同一个序列号的ACK信令时就触发了其快速重传算法即发送端不等重传计时器超时立即向接收端发送指定的报文段。3)丢包检测机制有如下两种:(1)重复ACK信令重复ACK有两个作用其一发送端可以确信该ACK序列号之前的TCP报文段都已经被接收端成功接收;其二发送端可以据此判断出接收端接收到的TCP报文段发生了乱序的情况和接收端当前期待的TCP报文段序列号从而触发其拥塞控制策略。(2)超时重传发送端发出报文段后在规定的时间内没有能够收到接收端返回的ACK信令从而使得发送端认为该报文段丢失触发其拥塞控制策略。在这里面主要涉及到重传计时器它是TCP协议中最重要的计时器。当报文段发出后重传计时器立即启动如果发送端在计时器超时之前得到ACK则计时器停止;如果计时器超时后仍然没有收到ACK那么报文段就重传并且计时器重新启动。 1)慢速启动算法:在TCPTAHOE模型中,拥塞控制主要是通过调整发送端的发送速率来实现的,而这又主要是通过三个变量实现的:拥塞窗口(SlowStartThreshcld,SSTHRESH),接收端窗口和慢速启动阈值。发送端一旦监测到数据包丢失(其原因可能是重传计时器超时,亦可能是收到重复的ACK信令),它就会开始调整发送速率。这包括,慢速启动阈值,即ssthresh调整为当前拥塞窗口的一半,同时拥塞窗口将降低到1个报文段。然后,随着通信过程的恢复,拥塞窗口持续增长。在拥塞窗口大小未达到ssthresh之前,它以指数速度增长;到达之后则开始线性增长。2)快速重传算法:当发送端连续收到3个对应于同一个序列号的ACK信令时,就触发了其快速重传算法,即发送端不等重传计时器超时,立即向接收端发送指定的报文段。3)丢包检测机制有如下两种:(1)重复ACK信令重复ACK有两个作用,其一,发送端可以确信该ACK序列号之前的TCP报文段都已经被接收端成功接收;其二,发送端可以据此判断出接收端接收到的TCP报文段发生了乱序的情况和接收端当前期待的TCP报文段序列号,从而触发其拥塞控制策略。(2)超时重传发送端发出报文段后,在规定的时间内没有能够收到接收端返回的ACK信令,从而使得发送端认为该报文段丢失,触发其拥塞控制策略。在这里面主要涉及到重传计时器,它是TCP协议中最重要的计时器。当报文段发出后,重传计时器立即启动,如果发送端在计时器超时之前得到ACK,则计时器停止;如果计时器超时后仍然没有收到ACK,那么报文段就重传,并且计时器重新启动。