标签:
TCP报文段首部的前20个字节是固定的,因此TCP首部的最小长度是20字节。
各占2个字节,分别写入源端口号和目的端口号。
占4个字节,表示本报文段所发送数据的第一个字节的编号。在TCP连接中所传送的字节流的每一个字节都会按顺序编号。由于序列号由32位表示,所以每2^32个字节,就会出现序列号回绕,再次从 0 开始。
占4个字节,是期望收到对方写一个报文段的第一个数据字节的序号。若确认号=N,则表明:到序号N-1为止的所有数据都已正确收到。
占4位,它指出TCP报文段的数据起始处距离TCP报文段的起始处有多远。这个字段实际上是指出TCP报文段的首部长度,由于4位二进制数能够表示的最大十进制数字是15,因此数据偏移的最大值是60字节,这也是TCP首部的最大长度。
当URG=1时,表明紧急指针字段有效。它告诉系统此报文中有紧急数据,应尽快传送,而不要按原来的排队顺序来传送。当URG置1时,发送方TCP就把紧急数据插入到本报文段数据的最前面,而在紧急数据后面的数据仍是普通数据。这时要与首部中的紧急指针字段配合使用。
仅当ACK=1时,确认号字段才有效,TCP规定,在连接建立后的所有传送的报文段都必须要ACK置1。
发送方TCP把PSH置1,并立即创建一个报文段发送出去。接收方TCP收到PSH=1的报文段,就尽快地交付接收应用进程,而不再等到整个缓存都填满了后再向上交付。
当RST=1时,表明TCP连接中出现了严重差错,必须释放连接,然后再重新建立运输连接。
在连接建立时用来同步序号,当SYN=1而ACK=0时,表明这是一个连接请求报文段。对方若同意建立连接,则应在响应的报文段中使SYN=1和ACK=1。因此,SYN置为1就表示这是一个连接请求或连接接受请求。
用来释放一个连接。当FIN=1时,表明此段报文段的发送发的数据已经发送完毕,并要求释放运输连接。
占2个字节。窗口指的是发送本报文段的接受窗口。窗口值告诉对方:从本报文段首部中的确认好算起,接收方目前允许对方发送的数据量。窗口值作为接收方法让发送方设置其发送窗口的依据。窗口字段明确指出了现在允许对方发送的数据量。窗口值是经常动态变化的。
占2个字节。指出本报文段中紧急数据的字节数。
长度可变,最长可达40字节。当没有使用“选项”时,TCP的首部长度是20字节。
标签:
原文地址:http://www.cnblogs.com/a294098789/p/5656120.html