首页 > 其他分享 >TCP报文

TCP报文

时间:2023-08-25 23:22:36浏览次数:31  
标签:标志 20 字节 报文 TCP 长度

TCP报文

 

TCP报文由首部和数据两部分组成。首部一般由20-60字节(Byte)构成,长度可变。其中前20B格式固定,后40B为可选。

因为,TCP报文还得传给下层网络层,封装成IP包,而一个IP包最大长度为65535,同时IP包首部也包含最少20B,所以一个IP包或TCP包可以包含的数据部分最大长度为65535-20-20=65495B。

TCP报文中数据部分是可选的,即TCP报文可以不包含数据(同理IP包也可以不包含数据)。不含数据的TCP报文通常是一些确认和控制信息类的报文,如TCP建立连接时的三次握手和TCP终止时的四次挥手等。

1、源端口号(Source Port)

长度为16位,指明发送数据的进程。

2、目的端口号(Destination Port)

长度为16位,指明目的主机接收数据的进程。

3、序号(Sequence Number)

也称为序列号,长度为32位,序号用来标识从TCP发送端向接入端发送的数据字节流进行编号,可以理解成对字节流的计数。

4、确认号(Acknowledgement Number)

长度为32位,确认号包含发送确认的一端所期望收到的下一个序号。确认号只有在ACK标志为1时才有效。

5、首部长度

长度为4位,用于表示TCP报文首部的长度。用4位(bit)表示,十进制值就是[0,15],一个TCP报文前20个字节是必有的,后40个字节根据情况可能有可能没有。如果TCP报文首部是20个字节,则该位应是20/4=5。

6、保留位(Reserved)

长度为6位,必须是0,它是为将来定义新用途保留的。

7、标志(Code Bits)

长度为6位,在TCP报文中不管是握手还是挥手还是传数据等,这6位标志都很重要。6位从左到右依次为:

URG:紧急标志位,说明紧急指针有效;

ACK:确认标志位,多数情况下空,说明确认序号有效;

PSH:推标志位,置位时表示接收方应立即请求将报文交给应用层;

RST:复位标志,用于重建一个已经混乱的连接;

SYN:同步标志,该标志仅在三次握手建立TCP连接时有效

FIN:结束标志,带该标志位的数据包用于结束一个TCP会话。

8、窗口大小(Window Size)

长度为16位,TCP流量控制由连接的每一端通过声明的窗口大小来提供。

9、检验和(Checksum)

长度为16位,该字段覆盖整个TCP报文端,是个强制性的字段,是由发送端计算和存储,到接收端后,由接收端进行验证。

10、紧急指针(Urgent Pointer)

长度为16位,指向数据中优先部分的最后一个字节,通知接收方紧急数据的长度,该字段在URG标志置位时有效。

11、选项(Options)

长度为0-40B(字节),必须以4B为单位变化,必要时可以填充0。通常包含:最长报文大小(MaximumSegment Size,MSS)、窗口扩大选项、时间戳选项、选择性确认(Selective ACKnowlegement,SACK)等。

12、数据

标签:标志,20,字节,报文,TCP,长度
From: https://www.cnblogs.com/sawyerhan/p/17658164.html

相关文章

  • tcp三次握手和四次挥手
    三次握手所谓三次握手(Three-wayHandshake),是指建立一个TCP连接时,需要客户端和服务器总共发送3个报文。三次握手的目的是连接服务器指定端口,建立TCP连接,并同步连接双方的序列号和确认号,交换TCP窗口大小信息。在socket编程中,客户端执行connect()时。将触发三次握手。......
  • OSI七层模型和TCP/IP五层模型
    OSI七层模型“OSI模型,即开放式通信系统互联参考模型(OpenSystemInterconnectionReferenceModel),是国际标准化组织(ISO)提出的一个试图使各种计算机在世界范围内互连为网络的标准框架,简称OSI。”OSI定义了网络互连的七层模型(物理层、数据链路层、网络层、传输层、会话层、表示层......
  • 帧、报文和数据包的区别
    概念帧帧(frame):数据链路层的协议数据单元,其中,帧头和帧尾包含一些必要的控制信息,比如同步信息、地址信息、差错控制信息等。在以太网链路上的数据包称作以太帧。以太帧起始部分由前导码和帧开始符组成。后面紧跟着一个以太网报头,以MAC地址说明目的地址和源地址。以太帧的中部是该......
  • 视频集中存储/云存储平台EasyCVR国标GB28181协议接入的报文交互数据包分析
    安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。视频汇聚融合管理平台EasyCVR既具备传统安防视频监控的能力,......
  • Cognex InSight 实现ModBusTCP通讯详解
    1.实验准备:1.智能相机:本次实验使用的相机型号为:IS8200M,支持目前最新的InSight6.13版本固件,所以相机的固件也升级到了最新的6.01.03,这里建议固件版本最好使用最新的。注意,5.3以下的版本不支持ModbusTCP通讯,所以如果最高支持不到5.3的相机,请选择其他通讯方式。2.软件(InSight)版......
  • osi七层模型和tcp/ip四层模型每层作用和协议
    osi七层模型:网络由下到上物理层(第1层)根据端口和MAC地址,做分组(VLAN)隔离、访问控制数据链路层将数据最终编码为用0、1的比特流,然后传输,协议有atm、802网络层主要解决如何包装数据有ip、icmp传输层主要解决数据在网络中如何传输有tcp、udp会话层定义了如何开始、控制和结束一个......
  • 窗口到底有多滑动?揭秘TCP/IP滑动窗口的工作原理
    本文分享自华为云社区《窗口到底有多滑动?揭秘TCP/IP滑动窗口的工作原理》,作者:LionLong。当涉及网络性能优化和数据传输可靠性时,TCP/IP滑动窗口是一个关键的技术。本文将深入揭示TCP/IP滑动窗口的工作原理,探讨其在确保数据准确性和实现高效通信方面的重要性。通过对滑动窗口大小、......
  • 窗口到底有多滑动?揭秘TCP/IP滑动窗口的工作原理
    本文分享自华为云社区《窗口到底有多滑动?揭秘TCP/IP滑动窗口的工作原理》,作者:LionLong。当涉及网络性能优化和数据传输可靠性时,TCP/IP滑动窗口是一个关键的技术。本文将深入揭示TCP/IP滑动窗口的工作原理,探讨其在确保数据准确性和实现高效通信方面的重要性。通过对滑动窗口大小、......
  • 窗口到底有多滑动?揭秘TCP/IP滑动窗口的工作原理
    本文分享自华为云社区《窗口到底有多滑动?揭秘TCP/IP滑动窗口的工作原理》,作者:LionLong。当涉及网络性能优化和数据传输可靠性时,TCP/IP滑动窗口是一个关键的技术。本文的摘要将深入揭示TCP/IP滑动窗口的工作原理,探讨其在确保数据准确性和实现高效通信方面的重要性。通过对滑动窗......
  • TCP/IP网络模型
    为什么要有TCP/IP网络模型?为了兼容多种多样的设备,需要协商出通用的网络协议。一、应用层专注于为用户提供应用功能,比如HTTP、FTP、Telnet、DNS、SMTP等。应用层工作在操作系统的用户态,传输层及以下则工作在内核态。二、传输层应用层的数据包会传给传输层,传输层为应用层提供......