TCP协议如何实现可靠传输

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34602647/article/details/81533363

流量控制和拥塞控制区别:

流量控制是某个TCP接收方针对其TCP发送方所采取的措施,而拥塞控制TCP发送方针对网络拥塞情况所采取的措施。

流量控制:用于防止发送方发送过快而使接受方无法接受拥塞控制用于抑制发送方的发送速率以防止其占用过多的网络资源

TCP为提供可靠数据传输而使用的方法涉及序号确认超时重传滑动窗口等可靠数据传输机制。

几种拥塞控制方法:

慢启动、拥塞避免(加性增、乘性减)、快恢复、快重传。

快恢复:一旦收到3个冗余的ACK,就取消慢启动并转入拥塞避免阶段。(原来是无论发生哪种丢包事件都立即将拥塞窗口减速至1个MSS,然后转入慢启动阶段)

快速重传:一旦收到某报文段的3个冗余的ACK,就可以在该报文段定时器过期之前重传丢失的报文段。

发送窗口的最大值<<min{CWin,RWin}

mtu是网络传输最大报文包。mss是网络传输数据最大值。mss加包头数据就等于mtu。

1、mss加包头数据就等于mtu. 简单说拿TCP包做例子。 报文传输1400字节的数据的话,那么mss就是1400,再加上20字节IP包头,20字节tcp包头,那么mtu就是1400+20+20. 当然传输的时候其他的协议还要加些包头在前面,总之mtu就是总的最后发出去的报文大小。mss就是你需要发出去的数据大小。

2、MSS: Maxitum Segment Size 最大分段大小 2.MSS最大传输大小的缩写,是TCP协议里面的一个概念。 3.MSS就是TCP数据包每次能够传输的最大数据分段。

3、为了达到最佳的传输效能TCP协议在建立连接的时候通常要协商双方的MSS值,这个值TCP协议在实现的时候往往用MTU值代替(需要减去IP数据包包头的大小20Bytes和TCP数据段的包头20Bytes)所以往往MSS为1460。通讯双方会根据双方提供的MSS值得最小值确定为这次连接的最大MSS值。

这里写图片描述

猜你喜欢

转载自blog.csdn.net/qq_34602647/article/details/81533363