TCP报文结构

TCP报文结构

TCP报文结构

端口号

TCP的端口号加上IP确定一个应用进程。

  1. 源端口号:通过IP和源端口号来标识报文的返回地址。
  2. 目的端口号:接收方计算机上的应用程序接口。
序号和确认号
  1. 序号标识本报文段发送的数据组的第一个字节的序号,在TCP中每个字节一个序号。
  2. 确认号表示该确认号之前的额数据正确无误的收到,确认号只有当ACK标识为1时有效。
数据偏移

由于TCP头部包含可选项,所以头部长度不确定,数据偏移用来标识头部的长度,最大为60字节。

控制位
  1. URG:紧急指针标识。
  2. ACK:确认需要标识,为1时标识确认好有效,否则忽略确认号。
  3. PSH:为1时表示尽快将该报文交给应用程序,而不是在缓冲区排队。
  4. RST:重置链接,用于重置由于主机崩溃或其他原因而出现错误的链接,或者用于拒绝非法报文段和链接请求。
  5. SYN:同步标志用于建立链接过程,在链接请求时使用。
  6. FIN:结束标志,用于释放链接。
窗口

滑动窗口大小,用来告知发送端,接收端目前的缓存大小,以此控制发送端的发送速率,从而达到流量控制,窗口最大为2^16。

校验和

发送端以16位字使用奇偶校验对整个TCP报文进行计算并存储,由接收端进行校验。

紧急指针

当URG标志为1时有效,通过与序号字段相加得到紧急报文的最后一个序号。