好学校平台网站模板,湖北省级建设主管部门网站,天津业之峰装修公司地址,中国十大企业管理培训机构TCP协议可靠传输 1.序列号确认应答机制2.超时重传3.最长消息长度4.滑动窗口控制5.拥塞控制 1.序列号确认应答机制
这个机制类似于问答的形式。比如在课堂上老师会问你“明白了吗#xff1f;”#xff0c;假如你没有隔一段时间没有回应或者你说不明白#xff0c;那么老师就会… TCP协议可靠传输 1.序列号确认应答机制2.超时重传3.最长消息长度4.滑动窗口控制5.拥塞控制 1.序列号确认应答机制
这个机制类似于问答的形式。比如在课堂上老师会问你“明白了吗”假如你没有隔一段时间没有回应或者你说不明白那么老师就会重新讲一遍。其实计算机的确认应答机制也是一样的发送端发送信息给接收端接收端会回应一个包这个包就是应答包 上述过程中只要发送端有一个包传输接收端没有回应确认包ACK包都会重发。或者接收端的应答包发送端没有收到也会重发数据。这就可以保证数据的完整性。
2.超时重传
超时重传是指发送出去的数据包到接收到确认包之间的时间如果超过了这个时间会被认为是丢包了需要重传。那么我们该如何确认这个时间值呢 我们知道一来一回的时间总是差不多的都会有一个类似于平均值的概念。比如发送一个包到接收端收到这个包一共是0.5s然后接收端回发一个确认包给发送端也要0.5s这样的两个时间就是RTT往返时间。然后可能由于网络原因的问题时间会有偏差称为抖动方差。 从上面的介绍来看超时重传的时间大概是比往返时间抖动值还要稍大的时间。 但是在重发的过程中假如一个包经过多次的重发也没有收到对端的确认包那么就会认为接收端异常强制关闭连接。并且通知应用通信异常强行终止
3.最长消息长度
在建立TCP连接的时候双方约定一个最大的长度MSS作为发送的单位重传的时候也是以这个单位来进行重传。理想的情况下是该长度的数据刚好不被网络层分块。
4.滑动窗口控制
我们上面提到的超时重传的机制存在效率低下的问题发送一个包到发送下一个包要经过一段时间才可以。所以我们就想着能不能不用等待确认包就发送下一个数据包呢这就提出了一个滑动窗口的概念 窗口的大小就是在无需等待确认包的情况下发送端还能发送的最大数据量。这个机制的实现就是使用了大量的缓冲区通过对多个段进行确认应答的功能。通过下一次的确认包可以判断接收端是否已经接收到了数据如果已经接收了就从缓冲区里面删除数据。 在窗口之外的数据就是还未发送的和对端已经收到的数据。那么发送端是怎么样判断接收端有没有接收到数据呢或者怎么知道需要重发的数据有哪些呢通过下面这个图就知道了。 如上图接收端在没有收到自己所期望的序列号数据之前会对之前的数据进行重复确认。发送端在收到某个应答包之后又连续3次收到同样的应答包则数据已经丢失了需要重发。
5.拥塞控制
窗口控制解决了 两台主机之间因传送速率而可能引起的丢包问题在一方面保证了TCP数据传送的可靠性。然而如果网络非常拥堵此时再发送数据就会加重网络负担那么发送的数据段很可能超过了最大生存时间也没有到达接收方就会产生丢包问题。为此TCP引入慢启动机制先发出少量数据就像探路一样先摸清当前的网络拥堵状态后再决定按照多大的速度传送数据。 发送开始时定义拥塞窗口大小为1每次收到一个ACK应答拥塞窗口加1而在每次发送数据时发送窗口取拥塞窗口与接送段接收窗口最小者。 慢启动在启动初期以指数增长方式增长设置一个慢启动的阈值当以指数增长达到阈值时就停止指数增长按照线性增长方式增加至拥塞窗口线性增长达到网络拥塞时立即把拥塞窗口置回1进行新一轮的“慢启动”同时新一轮的阈值变为原来的一半。