目录
一、 20字节的固定长度
16位源端口和16位目的端口号,32位序号,32位确认属序号,4位首部长度(需要乘4)
保留(6位)
16位窗口大小
16位的校验和16位的紧急指针
二、40字节可选数据
1.2.1、MSS:最大报文长度,决定TCP连接双方每次发送数据的最大值 !!!
1.2.2、为啥要协商最大保温端=段长度呢?
一、 20字节的固定长度
16位源端口和16位目的端口号,32位序号,32位确认属序号,4位首部长度(需要乘4)
保留(6位)
16位窗口大小
描述的是接收缓冲区的大小
为什么在发送数据的时候,还要告诉对方自己接收缓冲区的大小呢?
是为了控制消息接收方给自己发送消息的速率。假如给对方发送说自己的接收缓冲区为0,那对方就不能给自己再发了,因为发了也是收不了的,为保证可靠还要重传,与其重传还不如就不发v
16位的校验和16位的紧急指针
16位校验和:校验数据在发送过程中是否失真
16位紧急指针:配合URG标志位,发送带外数据
二、40字节可选数据
1.2.1、MSS:最大报文长度,决定TCP连接双方每次发送数据的最大值 !!!
MSS在双方三次握手的时候就协商好了
1.2.2、为啥要协商最大保温端=段长度呢?
本质原因:防止报文过大,在网络当中数据丢失,引发后续的超时重传机制
eg:
如果说一次产生的tcp数据有5w字节,直接往网络当中丢,如果说这条数据丢了,那就需要重传这条数据,那对于网络和tcp而言都是一个双重压力