目录
在出现拥塞时,cwnd值不是从1开始,而是从ssthresh的一半开始
TCP协议概述
5.3.1 TCP协议的特点
5.3.2 TCP报文段格式
数据偏移:
不是ip分片的数据偏移(片偏移占13位,较长分组分片后,某片所占的位置)
tcp数据偏移占4位,表示首部长度,它指出TCP报文段的数据起始处距离TCP报文段起始处有多远.
确认位:
ACK和ack(确认号)必须一起使用,
确认号是对方发过来的序列号+有效载荷+1
即:是期望收到对方的下一个报文字段的数据第一个字节的序号
若确认号为N,则表明序号N-1为止的所有数据都已正确接收
5.3.3TCP连接管理
三次握手
四次挥手
5.3.4TCP可靠传输
序号
确认序号
见: 报文格式
重传
5.3.5 TCP流量控制
在通信过程中,接收方根据自己接收缓存的大小,动态的调整发送方的发送窗口大小,这称为接收窗口(rwnd)
确认报文段中有一个窗口字段,来控制发送方的发送速度
5.3.6 TCP拥塞控制
拥塞控制的四种算法
慢开始和拥塞避免
算法详解:
(1)初始时,cwnd为1,慢开始门限值为16,即ssthresh = 16.
慢开始阶段,cwnd的初值为1,以后发送方每收到一个确认ACK,cwnd值加1,也经过每个传输轮次(RTT),
cwnd呈指数规律增长
(2)拥塞窗口cwnd增长到慢开始门限值ssthresh,(当cwnd = 16时),就改用拥塞避免算法,cwnd按线性规律加性增长.
(3)假定cwnd = 24时,更新ssthresh的值为12,(一半),cwnd重置为1,并执行慢开始算法,cwnd = 12时,改为拥塞避免算法
快重传和快恢复
在出现拥塞时,cwnd值不是从1开始,而是从ssthresh的一半开始
脑图时刻
练习题