您的位置:首页 > 理论基础 > 计算机网络

TCP可靠传输、流量控制、拥塞控制小结

2016-08-04 21:41 676 查看

一、TCP可靠传输

我们都知道TCP可靠传输以保证数据包不会丢失、失序、重复,主要用到以下三点技术:

1、滑动窗口,以字节为单位。正面以A、B通信为例讲解:

        发送窗口:表示在没有收到B确认的情况下,A可以连续发送的字节数。凡是已发送但没有收到确认的必须保留在窗口内,以便超时重传使用。

        发送窗口的大小由窗口前沿和后沿共同确定,其变化可能有两种情况:(1)不动【没有收到新的确认】;(2)前移【收到了新的确认】。这里注意一点,没有收到新的确认滑动窗口大小不变,也有可能有收到对方确认但对方通知的接收窗口缩小了也会使得发送窗口前沿正好不动。

       接收窗口:表示B一次能处理的字节数。发送窗口就是根据接收窗口设定的。

2、超时重传

        就是发送方每发送出一个数据包就为该数据包启动一个计数器,如果超过了该时间设置还没有返回确认就重新发送该数据包。

3、选择确认

     


        以上图为例,接收方收到了1-1000、1501-3000、3501-4500的数据,但中间1001-1500、3001-3500的数据没有收到,然后接收方先存下这些数据,并把这些信息告诉发送方使其不重复发送这些已收到的数据。

二、TCP流量控制

        点对点的控制,让发送方数据不要发送太快以便让接收方来得及接收这些数据。接收方在确认报文的同时告知发送方自己的的窗口数量,发送方取min{拥塞窗口,接收方窗口},发送下一波的数据。

三、TCP拥塞控制

全局调控,防止数据过多的注入到网络中,造成成网络中路由器或链路过载。

        1、慢启动:当发送窗口小于门限值时,发送窗口指数增长;

        2、拥塞控制:当发送窗口大于门限值时,每次+1增长;

当发生拥寒时,门限值为当前拥塞窗口的一半,然后执行慢启动算法。

        3、快重传:当连续收到对一个包的三个重复确认就立刻重新发送该包,而不必等到超时;

        4、快恢复:收到三个重复三确认时将门限值设置为当前窗口一半,同时启动拥塞避免算法而不是慢启动算法





四、参考文献

1、《计算机网络》 谢希仁 第五版
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: