tcp数据包格式中没有包括的是
发布网友
发布时间:2022-05-23 17:58
我来回答
共1个回答
热心网友
时间:2023-11-03 10:23
这也没有选项哇,不包括的东西有很多。TCP报文由首部和数据两部分组成。首部一般由20-60字节(Byte)构成,长度可变。其中前20B格式固定,后40B为可选。
因为,TCP报文还得传给下层网络层,封装成IP包,而一个IP包最大长度为65535,同时IP包首部也包含最少20B,所以一个IP包或TCP包可以包含的数据部分最大长度为65535-20-20=65495B。
TCP报文中数据部分是可选的,即TCP报文可以不包含数据(同理IP包也可以不包含数据)。不含数据的TCP报文通常是一些确认和控制信息类的报文,如TCP建立连接时的三次握手和TCP终止时的四次挥手等。
1、源端口号(SourcePort)
长度为16位,指明发送数据的进程。
2、目的端口号(DestinationPort)
长度为16位,指明目的主机接收数据的进程。
3、序号(SequenceNumber)记录发送次数
也称为序列号,长度为32位,序号用来标识从TCP发送端向接入端发送的数据字节流进行编号,可以理解成对字节流的计数。
4、确认号(AcknowledgementNumber)
长度为32位,确认号包含发送确认的一端所期望收到的下一个序号。确认号只有在ACK标志为1时才有效。
5、首*度(数据偏移)
长度为4位,用于表示TCP报文首部的长度。用4位(bit)表示,十进制值就是[0,15],一个TCP报文前20个字节是必有的,后40个字节根据情况可能有可能没有。如果TCP报文首部是20个字节,则该位应是20/4=5。
6、保留位(Reserved)
长度为6位,必须是0,它是为将来定义新用途保留的。给QOS预留用的
7、标志(CodeBits)
长度为6位,在TCP报文中不管是握手还是挥手还是传数据等,这6位标志都很重要。