0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

11种协议报文格式介绍

马哥Linux运维 来源:博客园 2024-01-17 10:19 次阅读

01、TCP

afc86c72-b44f-11ee-8b88-92fbcf53809c.jpg

1、源端口号和目的端口号:

用16bit表示所以端口号范围为0~65535,用来标识源主机和目的主机上的进程,用于运输层的多路复用和多路分解。

2、序号:

用于TCP重发时区分是第一次发送还是重发的TCP段,还可以在一次连接的范围防止重放攻击,不重数可以在很久时间防止重放攻击。

3、重放攻击:

攻击者拿到加密片段重新发给服务器,比如我们加密了密码,但攻击者仍然可以在不破解我们密码情况下,可以拿我们加密的密码直接去登录我们账号,所以可以在加密的时候把我们的密码和一个不重数拼在一起再加密,所以我们的密码加密版本,每次都会不同。

4、确认号:

和序号对应,指示发送确认号的一方下一次想接收的数据的序号,即接收方发送的确认号,表示接收方希望发送方下次发送数据的序号为确认号。

5、首部长度:

4比特,最多可以表示16个单位,每个单位是32比特即4个字节,所以最多可以表示64字节,所以TCP首部最长为64字节,一般如果没有选项字段只有20字节。

6、标志字段:

每个占1bit,SYN用于建立TCP连接,FIN用于终止连接,ACK用于确认收到,RST用于重置连接(相当于异常终止连接),PSH用于指示接收方尽快把数据交给上层,URG用于表示TCP报文段中有紧急数据,CWR和ECE用于明确拥塞通告。

7、明确拥塞通告:

当路由器发现网络拥塞后设置IP数据报的ECN比特,接收方收到这个ECN比特的信息后,将TCP报文段上面的ECE比特置为1,然后发回给发送方,发送方收到ECE信息后,以减半拥塞窗口作为回应,并在下一次发送TCP报文段时把报文段上的CWR比特置为1,以告诉接收方拥塞窗口已减半。

8、接收窗口:

用于流量控制,是表示接收方接收缓冲还能容纳多少数据,发送方发送时会以接收窗口和拥塞窗口之中最小的为滑动窗口来流水线式发送数据。

9、因特网校验和:

16位,即两个字节,用于检测TCP头和数据有无错误,将报文段以16比特为一个单位,全部相加,溢出的会在结果后面加一,最后得到一个16比特的数,此时因特网校验和加上这一个16比特的数后使得16比特全变为1,如果不是1那么就传输出错。

10、紧急数据指针:

紧急数据的最后一个字节由16比特的紧急数据指针字段指出。

02、UDP

afdb2006-b44f-11ee-8b88-92fbcf53809c.jpg

1、源端口号和目的端口号:

用16bit表示所以端口号范围为0~65535,用来标识源主机和目的主机上的进程,用于运输层的多路复用和多路分解。

2、长度:

UDP是一次性发送上层的数据,不会像TCP一样将上层的报文进行分段处理,16bit最多可以表示65535个字节,是首部加数据的长度,首部长度固定8字节。

3、因特网校验和:

16位,即两个字节,用于检测UDP头和数据有无错误,将报文段以16比特为一个单位,全部相加,溢出的会在结果后面加一,最后得到一个16比特的数,此时因特网校验和加上这一个16比特的数后使得16比特全变为1,如果不是1那么就传输出错。

03、IP

afebd270-b44f-11ee-8b88-92fbcf53809c.jpg

1、版本:

4比特,最多表示16,用来标识是IPv4,还是IPv6。

2、首部长度:

4比特,最多可以表示16个单位,每个单位是32比特即4个字节,所以最多可以表示64字节,所以IP首部最长为64字节,一般如果没有选项字段只有20字节。

3、服务类型:

用于区分不同类型的数据报,如实时数据报(IP电话)和非实时流量(HTTP),IP电话要求低时延、高吞吐量、可靠性可以差点,但HTTP可以有时延,但是可靠性要求很好。

4、数据报(包)长度:

16bit,理论上最多65535字节,但实际上很少超过1500字节,因为链路层的帧的负载一般最多1500字节(加上帧头最多1518字节,就是下面的以太网帧),IP数据包太长得分片。

5、标识、标志、片偏移:

用于分片,标识号相当于TCP的序号,把包分片后给每个分片加一个标识,相邻的分片标识数差1,标志是为了指示接收方接收完成了,通常最后一个分片的标志比特设为0,其他的为1,片偏移相当于偏移量,用于指示该分片是在整个数据报的哪个位置,便于目的主机接收后重新组装。

6、寿命:

8bit,最多255,IP数据报每经过一个路由器该字段减一,如果减为0,该数据报被丢弃。

7、协议:

用于表示IP数据报要交给哪个上层运输层协议,值为6是TCP,值为17是UDP。

8、首部检验和:

计算方式和上面一样,但是运输层首部检验和检验头和数据,IP只检验IP头,这样是为了提高转发效率。

9、源和目的IP地址:

用于标识源主机和目的主机,而运输层的端口用于标识主机上面的进程。

04、IPV6

b004780c-b44f-11ee-8b88-92fbcf53809c.jpg

1、版本:

4比特,最多表示16,用来标识是IPv4,还是IPv6

2、流量类型:

用于区分不同类型的数据报,如实时数据报(IP电话)和非实时流量(HTTP),IP电话要求低时延、高吞吐量、可靠性可以差点,但HTTP可以有时延,但是可靠性要求很好。

3、流标签:

用于区分不同的流,和流量类型作用类似。

4、有效载荷长度:

16bit,最大65535字节,IPv6不会分片,表示是数据长度不包括IPv6头部,因为IPv6头部固定是40字节。

5、下一个首部:

相当于IPv4的选项字段,把选项放在下一个首部里面,而且可以表示上层协议的首部在什么位置,相当于指示了上层协议,可以理解为把选项和IPv4的协议字段融合起来。

6、跳限制:和寿命一样,8bit,最多255跳。

7、源和目的IP地址:IPv6地址为128位。

05、IPSec

b013afa2-b44f-11ee-8b88-92fbcf53809c.jpg

ESP(Encapsulation Security Payload): 封装安全性载荷
SPI(Security Parameter Index): 安全参数索引

IPsec是为了加密IP数据报,加密步骤如下:

1、在初始IPv4数据报(包括首部和数据)后面附加一个ESP尾部;

2、使用算法和SA(Security Association) 安全关联规定的密钥加密第一步结果;

3、在加密后的数据附加ESP首部;

4、使用算法和SA规定的密钥为上述所有生成一个MAC(Message Authentication Code)报文鉴别码即ESP MAC;

5、将该MAC放在尾部;

6、重新生成一个IPv4首部,这个新IP首部的地址是安全通道两端的地址,先经过安全通道传输,后面解密后再把里面初始IP数据报拿出来传输。

06、以太网帧结构

b01f57a8-b44f-11ee-8b88-92fbcf53809c.jpg

1、前同步码:

前7个字节的值都是10101010,最后一个字节的值是10101011,前7个字节用于唤醒接收适配器,将接收方时钟和发送方时钟同步,为什么会不同步呢,因为适配器会以10Mbps、100Mbps、10Gbps传输速率,所以时钟不同,第8个字节最后两个11告诉适配器重要的内容要来了。

2、目的地址和源地址:

即MAC(Media Access Control)地址,占6个字节,如AA-AA-AA-AA-AA

3、类型:

相当于IP数据报头里面的协议,指示上层协议(网络层),网络层不只有IP协议。

4、CRC :

循环冗余检验,比检验和更加强的检测,即数据比特一直和一个特定二进制序列异或,最后剩下的二进制串就是CRC,虽然可以检测错误,并把错误帧丢弃,但是没有重发机制,无法提供可靠性服务。

07、802.1Q以太网帧结构

b034a37e-b44f-11ee-8b88-92fbcf53809c.jpg

大部分和上面一样,802.1Q是一种扩展以太网格式,用于跨越VLAN干线的帧,新加入了一个VLAN标签,VLAN标签由2字节的标签协议标识符,一个2字节的标签控制信息字段和一个3比特优先权字段。

08、802.11无线链路帧

b046533a-b44f-11ee-8b88-92fbcf53809c.jpg

1、帧控制:

类型和子类型用于区分关联、RTS、CTS、ACK和数据帧,从(form)和到(to)AP字段用于定义不同地址字段的含义(这些含义随着自组织模式或者基础设施模式而改变,而且在使用基础设施模式时,也随着是无线站点还是AP在发送帧而变化),WEP字段指示了是否使用加密。

2、持续期:

802.11无线网络中可以预约信道,用于表示预约时长,在数据帧和RTS即CTS帧都存储,RTS(Request to Send)请求发送帧,CTS(Clear to Send)允许发送帧。

3、RTS和CTS处理隐藏终端:

当站点监听到信道空闲,等待DIFS(Distributed Inter-Frame Space)分布式帧间间隔后发送RTS,在发送RTS后接收方等待SIFS(Short Inter-Frame Spacing)短帧间间隔后发送CTS,然后发送方收到该CTS,等待SIFS后发送数据,最后接收完数据后接收方等待SIFS后发送ACK。

4、地址字段:

每个地址都是一个MAC地址,地址2是传输该帧站点的MAC地址,地址1是要接收该帧的无线站点的MAC地址,地址3是路由器接口MAC地址,地址4是AP(Access Point)接入点自组织模式中互相转发时使用的地址。

5、有效载荷:包含有效数据,最大为2312字节,通常小于1500字节

6、CRC:循环冗余校验

09、SSL记录

b0500b00-b44f-11ee-8b88-92fbcf53809c.jpg

前三个字段不加密。

1、类型:指出该字段是握手报文还是包含应用数据的报文,也可以用于关闭SSL连接。

2、版本:版本字段是自解释的。

3、长度:长度字段用来从到达的TCP自己流提取SSL记录,SSL记录是在TCP的上层的。

10、RTP实时传输协议

b05bee0c-b44f-11ee-8b88-92fbcf53809c.jpg

1、有效载荷类型:

7比特,对于音频流有效载荷类型字段用于指示音频编码类型如(PCM、适应性增量调制、线性预测编码),通过改变类型可以提高语音质量和减少RTP流比特率(相当于降低质量)。

2、序号:16比特,用于检测丢包和恢复分组序列,每发送一个RTP分组则该序号加1。

3、时间戳:反映RTP数据分组中的第一个字节采样时刻。

4、同步源标识符:表示RTP流的源,表示发送方的IP地址,而是新的流开始时源随机分片的一个数。

11、OpenFlow流表

b06d9418-b44f-11ee-8b88-92fbcf53809c.jpg

计算机网络各层协议和操作抽象成匹配加动作转发表,即匹配某些字段,进行某些操作,如网络层路由器路由表,匹配IP转发数据报,都可以抽象为流表。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 计算机
    +关注

    关注

    19

    文章

    6651

    浏览量

    84545
  • TCP
    TCP
    +关注

    关注

    8

    文章

    1272

    浏览量

    78299
  • UDP
    UDP
    +关注

    关注

    0

    文章

    311

    浏览量

    33621
  • 报文
    +关注

    关注

    0

    文章

    31

    浏览量

    3968

原文标题:网工们,这11种协议报文格式一定要烂熟于心!

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    倍加福Lin接口传感器 急求~~

    我有个倍加福的传感器(附件1)是LIN接口。买了个魔帆电子的232-LIN转换器(附件2),想通过串口对传感器调试。转换器的手册里写到根据串口转LIN通信协议报文格式如下。我从电脑串口发送握手
    发表于 12-25 10:47

    怎么实现基于CAN总线智能建筑监控系统的通信协议设计?

    通过研究CAN2.0B协议规范,对报文格式的分析和标识符的分配,设计出了基于CAN总线的智能建筑监控系统的通信协议
    发表于 06-02 06:48

    tcp报文格式详解

    TCP(Transmission ControProtocol)传输控制协议是一种面向连接的、可靠的、基于字节流的传输层协议。TCP报文是TCP层传输的数据单元,也称为报文段。
    发表于 12-08 11:11 3.2w次阅读
    tcp<b class='flag-5'>报文格式</b>详解

    路由协议及其工作原理的详细PPT教程课件免费下载

      本章将介绍目前常见的几种动态路由协议(包括RIP、OSPF、IS-IS和BGP)的一些基础知识,所采用的路由算法工作原理,主要路由消息及报文格式。其中最重要的是使用这些路由协议的基
    发表于 05-27 08:00 15次下载
    路由<b class='flag-5'>协议</b>及其工作原理的详细PPT教程课件免费下载

    一种基于粗糙集聚类的报文格式推断方法

    报文聚类是报文格式推断的基础,现有的报文聚类方法大多以报文的全局相似性为聚类的标准,这类聚类方法的准确率往往不高,进而影响后续报文格式提取的
    发表于 04-25 11:45 3次下载
    一种基于粗糙集聚类的<b class='flag-5'>报文格式</b>推断方法

    网络协议栈:MQTT的报文格式解析

    在上一篇文章,直接在本地搭建了服务器和客户端,简单的实践了MQTT的用法。而这一篇来解析MQTT的报文格式。MQTT的报文字段很精简。但是解析起来还是有些复杂的。 解析报文最好的工具是采用
    的头像 发表于 05-13 14:06 4349次阅读
    网络<b class='flag-5'>协议</b>栈:MQTT的<b class='flag-5'>报文格式</b>解析

    TCP协议网络安全攻击

    本篇主要介绍TCP协议的概念、主要功能、主要特点、报文格式以及相应的工作方式
    的头像 发表于 04-07 11:40 556次阅读
    TCP<b class='flag-5'>协议</b>网络安全攻击

    UDP协议报文格式

    UDP用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用UDP协议
    发表于 05-06 15:26 2698次阅读
    UDP<b class='flag-5'>协议</b>的<b class='flag-5'>报文格式</b>

    HTTP协议报文格式

    请求行以方法字段开始,后面分别是URL字段和HTTP协议版本字段,并以CRLF结尾。SP是分隔符。除了在最后的CRLF序列中CF和LF是必需的之外,其他都可以不要。有关通用信息头,请求头和实体头方面的具体内容可以参照相关文件。
    发表于 05-06 15:56 3000次阅读

    虹科干货 | 读不懂CANopen报文?看完这篇文章你就知道了!

    //CANopen是位于CAN总线之上的应用层协议。CAN报文由7个不同的位域组成,CANopen主要是规定了其中的仲裁域和数据域的使用情况。01CANopen报文格式CANopen的报文格式
    的头像 发表于 08-10 09:21 1573次阅读
    虹科干货 | 读不懂CANopen<b class='flag-5'>报文</b>?看完这篇文章你就知道了!

    Path延时测量相关报文格式介绍

    Pdelay_Req报文格式定义 如下图15所示为IEEE802.1AS定义的报文格式定义: 图15 Pdelay_Req报文格式定义 上图中header与SYNCMessage头信息定义
    的头像 发表于 07-24 10:45 688次阅读
    Path延时测量相关<b class='flag-5'>报文格式</b><b class='flag-5'>介绍</b>

    IPv4报文格式各字段的含义

    Version版本 4Bit :ip报文中,用来表示该协议采用的是那一个版本的ip,相同版本的ip才能进行通信。一般此处的值为4,表示ipv4。
    的头像 发表于 12-13 09:43 814次阅读
    IPv4<b class='flag-5'>报文格式</b>各字段的含义

    modbus报文解析,modbus报文格式详解

    支持点对点和多点通信,可以实现控制器之间的通信。 Modbus报文是Modbus协议中的基本通信单位。Modbus报文包含一个头部和数据部分。头部包含了从站地址、功能码和数据长度等信息,数据部分包含了请求或响应数据。   1.
    的头像 发表于 01-09 16:45 3143次阅读

    CAN的报文格式和发送总流程

    在标准格式中,报文的起始位称为帧起始(SOF),然后是由11位标识符和远程发送请求位(RTR)组成的仲裁场。RTR位标明是数据帧还是请求帧,在请求帧中没有数据字节。
    发表于 04-11 10:07 340次阅读
    CAN的<b class='flag-5'>报文格式</b>和发送总流程

    modbus报文解析,modbus报文格式详解

    支持点对点和多点通信,可以实现控制器之间的通信。 Modbus报文是Modbus协议中的基本通信单位。Modbus报文包含一个头部和数据部分。头部包含了从站地址、功能码和数据长度等信息,数据部分包含了请求或响应数据。 1. 地址
    的头像 发表于 04-16 15:16 141次阅读