TCP

送分小仙女□ 提交于 2019-11-28 05:38:37

面向连接的可靠数据传输协议

首部20字节,主要包括序号(32bit),确认号,源端口,目的端口号(16bit)

序号+累积确认+重传

流量控制:发送方维护接受窗口(接收方缓存空间大小)

 

四次挥手:全双工,一方请求断开连接,不代表另一方发送数据完毕。fin_wait1---(接收ack)--->fin_wait2---(接收fin,发送ack)--->timewait---()--->closed,time_wait为了给对方重发fin包的时间,且确保该次连接产生的报文段全部消失。

 

拥塞控制:

1. 慢启动:cwnd初始值为1,每rtt时间翻倍,直到>=ssthresh,进入拥塞避免。或发生一个由超时指示的丢包事件时,ssthresh被置为cwnm/2,cwnd被置为1,并重新开始慢启动。

2. 拥塞避免:每rtt时间cwnd增加1。

3. 快速重传+快速恢复:收到3个冗余的ack将重发未确认的报文段,然后进入快速恢复阶段。

快速恢复:

step1:
            if(dupacks>=3){
                    ssthresh=max(2,cwnd/2);
                    cwnd=ssthresh+3;    
    }                
step2:
            重新发送丢失的分组
step3:
            此后每收到一次重复的ack,cwnd++。
step4:
            收到非重复ack,置cwnd为ssthresh,进入拥塞避免阶段。

  

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!