美文网首页
TCP报文结构

TCP报文结构

作者: kinglong1984 | 来源:发表于2018-07-26 22:22 被阅读19次

    TCP首部

    1. 端口:源端口号(16bit)目的端口(16bit) ,端口传输层与应用层的服务接口。

    2.序号: SEQ序号(32bit),TCP连接中传送的数据流的每一个字节都编上一个序号。序号字段的值是本报文段所发送的数据的第一个字节的序号。

    3.确认号: ACK序号(32bit),期望收到对方的下一个报文段的数据的第一个字节的序号。只有ACK标志位为1时,确认序号字段才有效,ACK = SEQ+1。

    4.数据偏移:占4bit,指出TCP报文段的数据起始处距TCP报文段的起始处有多远。

    5.标志位:URG/ACK/PSH/RST/SYN/FIN

    URG: 紧急比特 URG=1时,表明紧急指针字段有效。

    ACK标志位:确认比特 ACK=1时,确认号字段才有效。

    PSH:推送比特,收到比特值为1的报文段,就尽快交付给接收应用程序,不再等待缓存填满再向上交付。

    RST:复位比特,RST-1时,表明TCP连接出现严重差错,需释放连接并重新建立连接。

    SYN标志位:同步比特,SYN=1时,这是一个连接请求或接受报文。

    FIN标志位:终止比特(FINal),释放一个连接。FIN=1时,表明此报文段的发送端的数据已发送完毕,并要求释放连接。

    6.窗口:占16bit。用来控制对方发送的数据量,单位字节。TCP连接一端根据设置的缓存空间大小确定自己的接收窗口大小,通知对方以确定对方发送窗口的上限。

    7.校验和:占16bit。检验范围包括首部和数据两部分。--

    8.紧急指针:占16bit。紧急指针指出在本报文段中紧急数据的最后一个字节的序号。

    9.选项字段:长度可变。

    10.保留字段:占6bit。预留今后使用,目前置0 。

    TCP数据

    封装应用层数据。比如HTTP报文的首部和实体主体等数据。

    TCP首部和TCP数据部分都会被封装到IP数据包的数据部分里。

    参考文献:

    王元杰,杨波,周亚宁,陈志刚. 一本书读懂TCP/IP[M]. 北京:人民邮电出版社,2016.

    相关文章

      网友评论

          本文标题:TCP报文结构

          本文链接:https://www.haomeiwen.com/subject/kzuimftx.html