TCP
头部信息
首部20B
TCP拥塞控制
TCP拥塞控制定义了两个指标:
- 接收窗口:反应接收方的接收能力
- 拥塞窗口:反应全局的拥塞程度而设置的窗口值
慢开始
初始接收窗口为1,之后每接收到一个新的报文段都让接收窗口+1,那么在此阶段,每经过一个传输时延(RTT)就是指数级的增长,1,2,4,8…
拥塞避免
慢开始不会是无止境的指数增长,它也有上限ssthesh,如果慢开始到达该阈值,就会按线性缓慢增长,这时候叫拥塞避免,如果出现网络拥塞现象,就会让ssthesh慢开始阈值为当前接收窗口的一半。
快重传
快恢复
TCP建立连接—三次握手
- 第一次:客户端向服务端发送报文,SYN=1,seq随机为x,不携带数据
- 第二次: 服务端响应客户端报文,SYN=1,ACK=1,seq随机产生为y,并且产生ack=x+1,表示响应
- 第三次:客户端表示收到服务端响应,ACK=1,seq = x+1,表示对自己上一次发起请求的递增,ack=y+1,表示对服务端响应的回应
TCP释放连接—四次挥手
四次挥手分为两部分,前两次是一部分,后两次是一部分
- 第一次:客户端向服务端发送报文,FIN=1,seq为u(是上次传输序号+1),表示要申请释放连接
- 第二次: 服务端响应客户端报文,ACK=1,seq随机产生为v,并且产生ack=u+1,表示响应
此时,客户端到服务端的单项连接就关闭了,但服务端若仍有数据要发送,客户端仍要接收。
- 第三次:服务端通知客户端没有数据需要发送了,FIN=1,ACK=1,seq=w,ack=u+1
- 第四次:客户端表示收到服务端释放连接请求,ACK=1,seq = u+1,表示对自己上一次发起请求的递增,ack=w+1,表示对服务端w序号请求的回应。
UDP
相当于直接面向IP数据报,因为它是直接在IP报文上加了两个最基本的服务,复用分用和差别检测。
头部信息
首部8B
|