4、RST(Reset Flag)
该位为1时,这个标志表示连接复位请求。用来复位那些产生错误的连接,也被用来拒绝错误和非法的数据包。
5、SYN(Synchronize Flag)
表示同步序号,用来建立连接。SYN标志位和ACK标志位搭配使用,当连接请求的时候,SYN=1,ACK=0;连接被相应的时候,SYN=1,ACK=1;这个标志的数据包经常被用来进行端口扫描。扫描者发送一个只有SYN的数据包,如果对方主机响应了一个数据包回来,就表明这台主机存在这个端口;由于这种扫描方式只是进行TCP三次握手的第一次握手,这种扫描的成功表示被扫描的机器不很安全,一台安全的主机将会强制要求一个连接严格的进行TCP的三次握手。
6、FIN(FIN Flag)
该位为1时,表示今后不会再有数据发送,希望断开连接(单项传输断开)。当通信结束希望断开连接时,通信双方的主机之间就可以相互交换FIN位置1的TCP段。每个主机又对对方的FIN包进行确认应答以后就可以断开连接。主机收到FIN设置为1的TCP段以后,不需要马上回复一个FIN置位的段给对方,而是可以等缓冲区中的所有数据都已经成功发送而被自动删除之后再发(半闭连接)。
7、ECE (ECN-Echo)
8、CER (Congestion Window Reduced)
TCP支持使用TCP头中的两个标记(Flag)来支持ECN。分别用于回传拥塞指示(即指示发送者应减少信息发送量)和确认接收到了拥塞指示回应。这两个标记位就是ECE和CWR位。
在TCP连接上使用ECE是可选的。当ECE被使用时,必须在连接创建时通过SYN和SYN-ACK段中包含适当选项来协商。
当在一个TCP连接上协商ECE后,发送方指示连接上的TCP段携带IP分组传输liuliang,将支持ECE的传输用ECT码点标记。这是支持ECE的中间路由器可以标记具有ECE码点的IP分组而不是丢弃它们,以指示即将发生的阻塞。
当接收到具有遇到阻塞码点时,TCP接收者使用TCP头中的ECE标记回传这个阻塞指示。当一个端点收到TCP带有ECE位的段时,它减少其拥塞窗口来代替丢包。它设置段的CWR位来确认阻塞指示。
节点保持传输设置有ECE位的TCP段,直到它接收到设置有CWR的段。
窗口大小(WindowsSize)该字段长为16位。接收端用于通知发送端,从此TCP段首部的确认应答号所指位置开始能够接收数据大小(8位字节)。TCP不允许发送超过此处所示大小的数据。如果窗口为0,则表示可以发送窗口探测,以了解Zui新的窗口大小。但这个数据必须是1个字节。
校验和(Checksum)TCP校验和覆盖TCP首部和TCP数据,而IP首部中的校验和只覆盖IP的首部,不覆盖IP数据报中的任何数据。
TCP的校验和是必需的,而UDP的校验和是可选的。
TCP和UDP一样在计算校验和的时候使用TCP伪首部,如上图。为了让其全长为16位的整数倍,需要在数据部分的Zui后填充0。将TCP校验和字段设置为0。以16位为单位进行1的补码和计算,再将它们总和的1的补码和放入校验和字段。
接收端在收到TCP数据段以后,从IP首部获取IP地址信息构造TCP伪首部,再进行校验和计算。
紧急指针(UrgentPointer)该字段长为16位。只有在URG控制位为1时有效。该字段的数值表示本报文段中紧急数据的指针。正确来讲,从数据部分的首位到紧急指针所指示的位置为止为紧急数据。也可以说紧急指针指出了紧急数据的末尾在报文段中的位置。
选项(Options)选项字段用于tigaoTCP的传输性能。选项是根据数据偏移(首部长度)进行控制。其长度Zui大为40字节。选项字段尽量调整其为32位的整数倍。具有代表性的选项如下表。