【计算机网络】TCP报文段的首部格式

【计算机网络】TCP报文段的首部格式_第1张图片

TCP报文最小长度是20字节

源端口,目的端口:针对应用进程通信,进程对应一个端口号。端口号占16位(2个字节)

把TCP端口号放入前4个字节的原因:

ICMP差错报文中要包含IP首部后面的8个字节的内容,而这里有TCP首部中的源端口和目的端口。

TCP收到差错报告报文时,需要用这两个端口确定哪两条连接出了差错。

序号(32位):TCP面向字节流,因为TCP一次发送一个窗口的内容,为了保证字节传送正确,TCP为每一个字节都按顺序编号,序号填入的是本报文段所发送的数据的第一个字节的序号

【计算机网络】TCP报文段的首部格式_第2张图片

 确认号期望收到对方的下一个报文段的数据的第一个字节的序号。

确认号可以用在确认报文中,用于通知对方下一个期望的序号。因为TCP是全双工通信,所以接收方和发送方都会有确认报文。

如果确认号是N,表示序号N-1为止的所有数据都正确收到。

Go-Back-N:如果之前有分组丢失,就只能从丢失分组开始重传分组

数据偏移:TCP报文段的首部长度

占4位,首部最大是60字节,所以TCP报文首部是以4个字节为单位

保留字段:还未使用

URG:为1表示紧急指针字段有效,有紧急数据,尽快传送。

ACK:为1表示数据是确认数据,确认号字段才有效。

PSH:一般情况下,缓存快满的时候,累计确认才发送。但是如果接受方TCP收到PSH=1的数据报,就尽快交付应用进程,不再等到整个缓存都填满了再向上交付。

RST:为1表示TCP连接出现严重差错,必须重建连接

SYN:SYN=1而ACK=0,表示是一个连接请求报文段。SYN

FIN:为1,要求释放运输连接。

窗口:告诉对方,从报文段首部中的确认号算起,接受方目前允许对方发送的数据量。

窗口字段指出了现在允许对方发送的数据量。第一次发送时,窗口值根据自己的情况发送,之后,窗口值根据对方的情况决定。

检验和:检验首部和数据,在计算检验和时要在TCP报文段的前面加上12字节的伪首部。

【计算机网络】TCP报文段的首部格式_第3张图片(了解)

紧急指针:URG=1时有效,指出紧急数据的末尾在报文段的位置

选项:

最大报文段长度MSS每一个TCP报文段中的数据字段的最大长度

【计算机网络】TCP报文段的首部格式_第4张图片

【计算机网络】TCP报文段的首部格式_第5张图片

【计算机网络】TCP报文段的首部格式_第6张图片

确认号:

【计算机网络】TCP报文段的首部格式_第7张图片

 

你可能感兴趣的:(计算机网络,tcp/ip,网络)