

1》源端与目的端的端口号用于需找发送端和收端应用程序。这两个值加上IP首部中的源端IP地址和目的端IP地址唯一确定一个TCP连接(一个IP地址和一个端口号也称为一个插口即socket)。 2》序号用来标识从TCP发端向TCP收端发送的数据字节流,它表示在这个报文段中的第一个数据字节即初始序号ISN(Initial Sequence Number),SYN标志为1。该主机发送数据的第一个字节序号为这个ISN加1,因为SYN标志消耗了一个序号。 3》确认号包含发送确认的的一端所期望收到的下一个序号。因此,确认号应当是上次已成功收到数据字节序号加1,只有ACK标志位1时,序列号字段才有效。 4》首部长度是32bit字的数目,因此TCP最多有60字节的首部,没有任选字段,正常的长度是20字节。 5》TCP首部中6个标志比特,它们中的多个可以同时被设置为1。 URC ——紧急指针(urgent pointer)有效。 ACK——确认序号有效。 PSH——接收方应该尽快将这个报文段交给应用层。 RST——重新连接。 SYN——同步序列号用来发起一个连接。 FIN——发端完成发送任务。 6》16位窗口大小:TCP的流量控制由连接的每一端通过声明的窗口大小来提供。窗口大小为字节数,起始于确认序号字段指明的值,这个值是接收端正期望接收的字节。 7》检验和覆盖了整个TCP报文段:TCP首部和TCP数据。这是个强制性的字段,一定是由发端计算和存储,并由收端进行验证。 8》只有当URG标志设置为1时紧急指针才有效。紧急指针是一个正的偏移量,和序列号字段中的值相加表示紧急数据最后一个字节的序号。 9》最常见的可选字段是最长报文大小,又称为MSS(Maximun Segment Size)。 8,许多流行的应用程序如Telnet,Rlogin,FTP和SMTP都使用TCP。