tcp 报文详细说明

image.png

  1. 第一行
    1. 源端口(source port ),16位
    2. 目的端口(destination port),16位
  2. 第二行
    1. seq number,32 位;报文段第一个字节编号,TCP 报文中每个字节流 被编号。
    2. 数据段在网络中传输时,顺序可能会错位;接收端依据序列号,可正确重组数据,保证数据的有序性
  3. 第三行
    1. ack number, 32 位;对收到的数据进行确认。
    2. 确认序列号= 收到的数据序列号+1
  4. 第四行
    1. 数据偏移量,又叫首部长度,4位;以4 byte 字节为单位,tcp报文头部,固定长度20字节 + 可选项 = (15 *4)60字节
    2. 保留位,4位
    3. CWR: 用于IP头部的ECN 字段,
    4. ECE =1 时,通知对方,从对方到这边的网络有阻塞。
    5. URG:紧急标志 1 位,urg =1 表示紧急指针字段有效,并且告诉系统尽快发送本报文。
    6. ACK: 确认标志位 1位,ack = 1,ack num有效, 表示收到对端数据。
    7. PSH:表示接收方收到报文psh=1时,尽快将缓存数据交付给 应用进程,而别等整个缓存满了再交付。
    8. RST: 复位标志 1位,rst =1 表示拒绝报文;
    9. SYN:同步序号标志 1 位 ,syn =1 表示本报文 时建立连接请求
    10. FIN:结束标志 1位,fin =1 表示拆除连接请求
    11. window:窗口 16位,用来控制对方发送的数据量,单位字节。tcp根据自己缓存空间大小确定自己的接收窗口大小,然后通知对方以确定 对方的发送窗口的上限。最大 65535
  5. 第五行
    1. 校验和 16 位 :校验 tcp 报文段,包括tcp头部和数据部分,由发送端计算,发送。由接收端进行校验
    2. 紧急指针 16位:URG=1 ,紧急指针有效;
  6. 第六行
    1. 可选项: 最长报文的大小MSS .第一次握手时,说明 最大报文大小
    2. 第一个字段,选项类型kind,
    3. 第二个字段length,指定该选项的总长度,
    4. 第三个字段info,选项的具体信息,
      1. kind =0,选项表结束
      2. kind =1,空操作nop
      3. kind=2,最大报文段长度,用来协商报文最大长度(max segment size,mss)
      4. TCP统册将mss = mtu - 40
  7. 数据部分
    1.
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Modbus TCP是一种基于TCP/IP协议的通信协议,用于实现工业自动化系统中设备间的数据通信。它定义了一套简单且有效的报文格式。Modbus TCP报文格式按照功能类型分为读操作和写操作两种。下面我将对其进行详细说明。 1. 读操作报文格式: - 事务标识符(Transaction Identifier):用于标识请求和响应之间的关联。 - 协议标识符(Protocol Identifier):用于表示Modbus TCP协议标识。 - 长度字段(Length):表示Modbus TCP帧中数据的字节数。 - 单元标识符(Unit Identifier):用于在一个Modbus TCP网络中区分不同的设备。 - 功能码(Function Code):标识请求的功能类型,如读取离散输入、读取保持寄存器等。 - 数据区(Data):包含读取或写入的数据。 2. 写操作报文格式: - 事务标识符(Transaction Identifier)、协议标识符(Protocol Identifier)、长度字段(Length)、单元标识符(Unit Identifier)的含义与读操作相同。 - 功能码(Function Code):与读操作不同的是,写操作的功能码另外还包含地址字段(Address)和数据字段(Data)。 - 地址字段(Address):表示要写入的寄存器或数据的地址。 - 数据字段(Data):表示要写入寄存器或数据的值。 Modbus TCP报文格式简洁而灵活,方便设备之间进行数据交互。它支持读写不同类型的数据,如离散输入、线圈状态、输入寄存器、保持寄存器等。通过Modbus TCP报文,设备可以实现对其他设备的监测、控制和数据采集等操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小哥(xpc)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值