常见网络协议报文格式汇总
- 格式:docx
- 大小:37.18 KB
- 文档页数:5
报文格式大全
报文格式是计算机网络系统中传输数据的格式。
它定义了数据编码、传输方式以及报文管理协议,有助于数据在网络上可靠传输。
目前,有不少常见的报文格式,如HTTP、FTP、SIP、SMTP、POP3等等,每种报文格式都有其自己的特点,适应不同的网络传输需求。
1、HTTP(超文本传输协议):是一种以文本形式传输数据的协议,它用于Web浏览器和服务器之间传输数据,是当今最流行的报文格式之一。
2、FTP(文件传输协议):是一种基于TCP的协议,用于在互联网上传输文件。
它可以将文件从一个计算机传输到另一台计算机,也可以用于文件管理。
3、SIP(会话初始协议):是一种用于创建、维护和终止多媒体会话的协议,它可以用于多种多媒体实时通信,如语音、视频和游戏等。
4、SMTP(简单邮件传输协议):是为传输电子邮件设计的一种协议,它用于在不同的计算机之间传输电子邮件,可以确保邮件能够快速和安全地传输。
5、POP3(邮局协议):是一种协议,它用于检索在服务器上的电子邮件,可以实现对邮件的管理和控制。
6、ARP(地址解析协议):是网络通信中经常使用的协议,它可以把IP地址转换为MAC地址,以此实现网络数据包的传输。
附件:报文格式1.1Ethernet数据包格式(RFC894)1、DstMac的最高字节的最低BIT位如果为1,表明此包是以太网组播/广播包,送给CPU处理。
2、将DstMac和本端口的MAC进行比较,如果不一致就丢弃。
3、获取以太网类型字段Type/Length。
0x0800→IP 继续进行3层的IP包处理。
0x0806→ARP 送给CPU处理。
0x8035→RARP 送给CPU处理。
0x8863→PPPoE discovery stage 送给CPU处理。
0x8864→PPPoE session stage 继续进行PPP的2层包处理。
0x8100→VLAN其它值当作未识别包类型而丢弃。
1.2PPP数据包格式1、获取PPP包类型字段。
0x0021→IP 继续进行3层的IP包处理。
0x8021→IPCP 送给CPU处理。
0xC021→LCP 送给CPU处理。
0xc023→PAP 送给CPU处理。
0xc025→LQR 送给CPU处理。
0xc223→CHAP 送给CPU处理。
0x8023→OSICP 送给CPU处理。
0x0023→OSI 送给CPU处理。
其它值当作未识别包类型而丢弃。
1.3 ARP 报文格式(RFC826)|←----以太网首部---->|←---------28字节ARP 请求/应答------1.4 IP 报文格式(RFC791)(20bytes)TOS1.5 PING 报文格式(需IP 封装)(8bytes)1.6 TCP 报文格式(需IP 封装)(20bytes)紧急指针有效ACK 确认序号有效PSH 接收方应该尽快将这个报文交给应用层RST 重建连接SYN 同步序号用来发起一个连接FIN 发端完成发送认务1.7UDP报文格式(需IP封装)(8bytes)1.8MPLS报文格式MPLS报文类型:以太网中0x8847(单播) 0x8848(组播) PPP类型上0x8281(MPLSCP)1.9MTU1.10TCP与UDP应用2以太网帧,TCP/IP数据报文详解其实也不是很详细,详细起来要很厚一本书,但是都是针对主要的写的以太网2的帧格式前导码:8个字节,这个主要是给信号同步的,给信号的开始传输的第一个bit定位的目的地址:6个字节,目的的MAC地址源地址:6个字节,是自己的MAC地址类型长度:2字节,辨别上层协议的数据:46-1500字节,就是上层的所有数据帧校验FCS:4字节,数据发过去的时候,会随机给个值,对端需要验证这个值,如果值不对,就说明这段数据干扰,或某种原因被修改。
以太⽹帧格式、IP报⽂格式、TCPUDP报⽂格式1、ISO开放系统有以下⼏层:7应⽤层6表⽰层5会话层4传输层3⽹络层2数据链路层1物理层2、TCP/IP ⽹络协议栈分为应⽤层(Application)、传输层(Transport)、⽹络层(Network)和链路层(Link)四层。
通信过程中,每层协议都要加上⼀个数据⾸部(header),称为封装(Encapsulation),如下图所⽰不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在⽹络层叫做数据报(datagram),在链路层叫做帧(frame)。
数据封装成帧后发到传输介质上,到达⽬的主机后每层协议再剥掉相应的⾸部,最后将应⽤层数据交给应⽤程序处理。
其实在链路层之下还有物理层,指的是电信号的传递⽅式,⽐如现在以太⽹通⽤的⽹线(双绞线)、早期以太⽹采⽤的的同轴电缆(现在主要⽤于有线电视)、光纤等都属于物理层的概念。
3、集线器(Hub)是⼯作在物理层的⽹络设备,⽤于双绞线的连接和信号中继(将已衰减的信号再次放⼤使之传得更远)。
交换机是⼯作在链路层的⽹络设备,可以在不同的链路层⽹络之间转发数据帧(⽐如⼗兆以太⽹和百兆以太⽹之间、以太⽹和令牌环⽹之间),由于不同链路层的帧格式不同,交换机要将进来的数据包拆掉链路层⾸部重新封装之后再转发。
路由器是⼯作在第三层的⽹络设备,同时兼有交换机的功能,可以在不同的链路层接⼝之间转发数据包,因此路由器需要将进来的数据包拆掉⽹络层和链路层两层⾸部并重新封装。
4、⽹络层的IP 协议是构成Internet 的基础。
IP 协议不保证传输的可靠性,数据包在传输过程中可能丢失,可靠性可以在上层协议或应⽤程序中提供⽀持。
传输层可选择TCP 或UDP 协议。
TCP 是⼀种⾯向连接的、可靠的协议,有点像打电话,双⽅拿起电话互通⾝份之后就建⽴了连接,然后说话就⾏了,这边说的话那边保证听得到,并且是按说话的顺序听到的,说完话挂机断开连接。
ICMP协议报文格式1. ICMP报文格式概述ICMP(Internet Control Message Protocol)协议是一种用于在网络中发送控制消息的协议。
它允许主机和路由器之间传递错误报告和查询消息。
ICMP报文格式通常嵌入在IP数据报中,报文格式相对简单,主要包含类型、代码和校验和等字段。
2. ICMP差错报告报文ICMP差错报告报文用于报告在网络传输过程中出现的错误情况。
以下是常见的ICMP差错报告报文类型:2.1. 目的地址不可达报文当路由器或主机无法到达目的IP地址时,会发送目的地址不可达报文。
该报文通常用于通知发送方,数据包无法送达目的地。
2.2. 源地址不可达报文当路由器或主机无法到达源IP地址时,会发送源地址不可达报文。
该报文用于通知接收方,数据包的源地址不可达。
2.3. 端口不可达报文当路由器或主机无法到达指定的端口时,会发送端口不可达报文。
该报文用于通知接收方,数据包的目的端口无法达到。
2.4. 超时报文当路由器或主机在传输数据包时超过预设的时限时,会发送超时报文。
该报文用于通知发送方,数据包在传输过程中超过了预设的时限。
2.5. 参数问题报文当路由器或主机检测到IP数据报中的参数错误时,会发送参数问题报文。
该报文用于通知发送方,数据包中的参数存在问题。
3. ICMP查询报文ICMP查询报文用于查询网络中的主机或路由器的状态信息。
以下是常见的ICMP查询报文类型:3.1. 回送请求报文回送请求报文用于请求主机或路由器返回一个回送响应,以确认目的地址可达性。
3.2. 回送回答报文回送回答报文用于响应回送请求报文,确认目的地址可达性。
3.3. 时间戳请求报文时间戳请求报文用于请求主机或路由器返回当前时间戳,以便计算网络延迟和时间同步。
3.4. 时间戳回答报文时间戳回答报文用于响应时间戳请求报文,返回当前时间戳。
3.5. 地址掩码请求报文地址掩码请求报文用于请求主机或路由器返回网络掩码信息,以便进行路由分析和过滤。
HTTP协议报文格式HTTP(Hypertext Transfer Protocol)是一种用于传输超文本的协议,它定义了客户端和服务器之间进行通信的规则。
在HTTP通信中,客户端发送请求报文给服务器,服务器接收请求并发送响应报文给客户端。
1.请求报文格式:-起始行:包含请求方法、请求URL和HTTP版本。
-首部字段:描述请求的附加信息,以键值对的形式出现。
-空行:用于分隔首部字段和实体主体。
-实体主体:请求的数据,可以为空。
示例:```GET /index.html HTTP/1.1Accept: text/html```2.响应报文格式:-起始行:包含HTTP版本、状态码和状态消息。
-首部字段:描述响应的附加信息,以键值对的形式出现。
-空行:用于分隔首部字段和实体主体。
-实体主体:响应的数据,可以为空。
示例:```HTTP/1.1200OKContent-Type: text/htmlContent-Length: 1234<html><body>...</body></html>```3.请求方法:-GET:获取资源。
-POST:提交数据。
-PUT:创建或更新资源。
-DELETE:删除资源。
-HEAD:获取请求资源的元数据。
-OPTIONS:获取服务器支持的HTTP方法。
4.状态码:- 1xx:信息性状态码,表示请求已被接受并且服务器正在处理。
- 2xx:成功状态码,表示请求已成功处理。
- 3xx:重定向状态码,表示需要进一步操作才能完成请求。
- 4xx:客户端错误状态码,表示请求包含语法错误或无法完成请求。
- 5xx:服务器错误状态码,表示服务器在处理请求时发生内部错误。
5.首部字段:。
各协议报文格式介绍
一、HTTP协议
HTTP协议是Hypertext Transfer Protocol(超文本传输协议)的缩写,它是一个互联网协议,是客户端(如浏览器)和服务器之间数据通讯
的基础。
HTTP协议是一种基于请求/响应模式的、无状态的应用层协议,
当用户在浏览器上输入URL地址,从服务器上获取文件或服务数据时,均
使用HTTP建立连接进行数据通讯。
1、HTTP报文结构
HTTP报文由报文首部和报文实体组成,其中报文首部分为请求首部
和响应首部,请求首部由请求方向、请求地址、协议版本、请求首部字段
等构成,响应首部由协议版本、状态代码、状态短语、响应首部字段等构成;报文实体由实体首部和实体内容组成,实体首部包含了实体类型、编码、长度及其他内容;实体内容就是实际要传输的数据。
2、HTTP请求报文
一个HTTP请求报文由请求行、请求首部字段和请求实体组成,其中:(1)请求行:由方法、Uniform Resource Identifiers(统一资源
标识符)和协议/版本信息构成,如GET /index.html HTTP/1.1(2)请求首部字段:用来描述请求的内容,包括Accept-
Language/Accept-
Encoding/Authorization/Connection/Cookie/Host/User-Agent等;
(3)请求实体:提供请求的实体,如各类表单、文件等;
例如:
GET /index.html HTTP/1.1 Content-Type: text/html。
数据包的格式以太网帧结构|前序|目的地址|源地址|类型|数据| FCS || 8 byte | 6 byte | 6 byte | 2 byte | 467500 byte | 4 byte| VLAN的帧格式帯有IE E E 802.1Q标记的以太冋祯CFI (1位)VLAN ID (12 位)TPID 的值是固定的,为8100H,指明了该帧带有 802.1Q/802.1P 标记 信息。
Priority 标明了这个帧的优先级,此优先级用于质量服务(QoS )。
CFI 为0代表规范格 式,为1代表非规范格式。
配置BPDU (Configuration BPDU)的封装与内容用于计算生成树的各种信息和参数被圭寸装在配置 BPDU ( Configuration Bridge Protocol DataUn it )中在交换机之间发送。
配置BPDU 使用标准LLC 格式封装在以太网数据帧中。
当配置BPDU 只用于计算生成树,不用于传递拓扑改变信息(第四章中详细描述)的时候:Protocol Identifier (协议标识),Protocol Version Identifier (协议版本标识)和 BPDU Type (BPDU 类型)Flags (标志)四部分设置为全0。
Root Identifier , Root Path Cost, Bridge Identifier 和 Port Identifier 四部分用于检测最优的配置 BPDU ,进行生成树计算。
Message Age 随时间增长而变大;Max Age 默认为20秒,如果Message Age 达到Max Age ,则此配置BPDU 被认为已经过期。
Hello Time 默认为2秒,也即在指定端口上,配置 BPDU 每隔两秒发送一次。
Forward Delay 默认为 15 秒。
Root IdentifierRoot Path C ast Bridge IdentifierPort IdentifierMessage Age Max AgeHelioTimeForward Delay四部分 设置为 全001-30-C2-00-00-00/■ I 贏u JMessage Age^时间増 长而变大Max age^认20秒 Hello Time 默认2秒 Forward Delay 默认 15秒ARP :报文格式(以太网)r*讪冋:卽和;'5—2» f "ARP-./IJ K- '前两个字段是以太网的源地址和目的地址帧类型:两个字节长的以太网帧类型表示后面数据的类型。
cfm 协议报文格式在网络通信中,CFM(Connectivity Fault Management)协议是一种用于网络故障管理和检测的通信协议。
该协议定义了一系列报文格式,用于在网络中传输故障管理信息和示警信息。
本文将详细介绍CFM协议报文格式的相关内容。
1. CCM(Continuity Check Message)报文格式CCM报文是CFM协议中最基本的报文类型,用于验证网络连接的连通性。
CCM报文的格式如下:字段1:标志位,用于指示报文类型和附加信息。
字段2:源MAC地址,表示报文的发送方。
字段3:目的MAC地址,表示报文的接收方。
字段4:协议标识,用于标识CFM协议。
字段5:MD Level,表示被检测的网络与CFM实体的位置关系。
字段6:COS(Class of Service)位,表示报文的优先级。
字段7:时间戳,记录报文发送的时间。
2. LBR(Loopback Reply)报文格式LBR报文用于回显测试,验证网络中的回路连接是否正常。
LBR报文的格式如下:字段1:标志位,用于指示报文类型和附加信息。
字段2:源MAC地址,表示报文的发送方。
字段3:目的MAC地址,表示报文的接收方。
字段4:协议标识,用于标识CFM协议。
字段5:回环ID,用于标识回路测试的唯一标识符。
字段6:时间戳,记录报文发送的时间。
3. DMM(Delay Measurement Message)报文格式DMM报文用于测量报文在网络中的传输时延。
DMM报文的格式如下:字段1:标志位,用于指示报文类型和附加信息。
字段2:源MAC地址,表示报文的发送方。
字段3:目的MAC地址,表示报文的接收方。
字段4:协议标识,用于标识CFM协议。
字段5:MD Level,表示被测量的网络与CFM实体的位置关系。
字段6:序列号,用于标识报文的顺序。
字段7:时间戳,记录报文发送的时间。
4. LTM(Link Trace Message)报文格式LTM报文用于跟踪网络中的链路路径,以便检测链路故障。
网络协议报文格式大集合1.HTTP报文格式:HTTP(超文本传输协议)是用于在Web上传输HTML、图片等资源的协议。
HTTP报文分为请求报文和响应报文。
请求报文包括请求行(方法、URI、协议版本)、请求头部(各种参数信息)、请求体(实体内容)。
响应报文包括状态行(协议版本、状态码、状态描述)、响应头部(各种参数信息)、响应体(实体内容)。
2.SMTP报文格式:SMTP(简单邮件传输协议)是用于在网络中传输电子邮件的协议。
SMTP报文分为命令报文和回应报文。
命令报文包括命令行(命令和参数)和命令数据。
回应报文包括状态码和状态描述。
3.FTP报文格式:FTP(文件传输协议)是用于在网络中传输文件的协议。
FTP报文分为命令报文和数据报文。
命令报文包括命令(用户认证、文件操作等)和参数。
数据报文用于传输文件内容。
4.DNS报文格式:DNS(域名系统)是用于将域名转换成IP地址的协议。
DNS报文分为查询报文和响应报文。
查询报文包括标识、查询类型、查询类等字段。
响应报文包括标识、响应类型、响应类等字段。
5.TCP报文格式:TCP(传输控制协议)是用于可靠传输数据的协议。
TCP报文分为报文头和数据部分。
报文头包括源端口号、目的端口号、序号、确认号等字段。
6.UDP报文格式:UDP(用户数据报协议)是用于不可靠传输数据的协议。
UDP报文分为报文头和数据部分。
报文头包括源端口号、目的端口号、长度、校验和等字段。
7.IP报文格式:IP(网际协议)是用于将数据在网络中传输的协议。
IP报文分为报文头和数据部分。
报文头包括版本号、TTL(生存时间)、源IP地址、目的IP地址等字段。
8.ICMP报文格式:ICMP(互联网控制消息协议)是用于在IP网络中传输控制消息的协议。
ICMP报文分为报文头和数据部分。
报文头包括类型、代码、校验和等字段,数据部分根据不同类型的消息而不同。
9.ARP报文格式:ARP(地址解析协议)是用于将IP地址转换成MAC地址的协议。
UDP的报文格式
1.UDP协议
UDP是网络通信协议中的一种,大数据短距离的局域网通信,数据格式如下:
UDP伪首部
32位源IP地址
32位目的IP地址
08位协议(17)16位UDP长度
UDP首部
16位源端口16位目的端口
UDP长度校验和报文数据报文
2.UDP数据包的解析
说明:
一、首部校验和(Header Checksum)
1.首先将HeaderChecksum清零
2.然后将IPv4首部的20Bytes,以16bits(2Bytes)为一组
3.把2中划分好的数值逐个相加,如果遇到进位,将进位值加到值的最低位上。
举例:(用16进制表示)0xBB5E+0xFCED=0x1B84B,可以看出在这个例子中结果有进位,所以将进位值1加到值的最低位上,得到结果是0xB84C。
4.把所有的组相加到一起后,得到的结果是一个16位的数,将这个结果取反后则得到此首部校验和。
二、校验和(Checksum)
1.首先将Checksum清零
2.然后将右图中的内容,以16bits(2Bytes)为一组
3.把2中划分好的数值逐个相加,如果遇到进位,将进位值加到值的最低位上。
举例:(用16进制表示)0xBB5E+0xFCED=0x1B84B,可以看出在这个例子中结果有进位,所以将进位值1加到值的最低位上,得到结果是0xB84C。
4.把所有的组相加到一起后,得到的结果是一个16位的数,将这个结果取反后则得到此校验和。
∙以太帧格式∙VLAN帧格式∙QinQ帧格式∙PPP帧格式∙PPPoE报文格式∙HDLC帧格式∙ATM信元格式∙STP/RSTP/MSTP帧格式∙RPR帧格式∙RRPP帧封装格式∙LACP报文格式∙以太OAM报文格式∙ERPS帧格式∙LLDP报文格式∙IS-IS报文格式以太帧格式∙Ethernet Ⅱ以太帧∙Netware以太帧格式∙802.3 SAP以太帧∙802.3 LLC SNAP以太帧格式∙ARP/RARP报文格式∙GRE报文格式∙ICMP报文格式∙ICMPv6报文格式∙IGMP报文格式∙IP in IP报文格式∙IP报文格式∙IPv6报文格式∙IPv6 in IP (6to4)报文格式∙MLD报文格式∙OSPF报文格式∙OSPFv3报文格式∙PIM报文格式∙RSVP报文格式∙VRRP报文格式Ethernet Ⅱ以太帧帧格式图1 Ethernet Ⅱ帧格式帧示例QinQ帧格式QinQ报文有固定的格式,就是在802.1Q的标签之上再打一层802.1Q标签,QinQ报文比802.1Q报文多四个字节。
VLAN帧最小帧长为68字节。
帧格式图1 QinQ帧格式帧示例图2 QinQ帧VLAN帧格式帧格式IEEE 802.1Q标准对Ethernet帧格式进行了修改,在源MAC地址字段和协议类型字段之间加入4字节的802.1Q Tag。
VLAN帧最小帧长为64字节。
图1 VLAN帧格式帧示例图2 VLAN帧STP/RSTP/MSTP帧格式STP帧格式图1 STP帧格式RSTP帧格式在BPDU的格式上,除了保证和STP格式基本一致之外,RSTP作了一些小的变化。
一个是在Type字段,配置BPDU类型不再是0而是2,版本号也变成了2。
所以运行STP的交换机收到该类BPDU时会丢弃。
另一个变化是在Flag字段,把原来保留的中间6位使用起来。
这样改变了的配置BPDU叫做RST BPDU。
RSTP Flag字段格式:∙Bit7:TCA∙Bit6:Agreement∙Bit5:Forwarding∙Bit4:Learning∙Bit3和Bit2:端口角色▪00:未知▪01:根端口▪10:Alternate / Backup▪11:指定端口∙Bit1:Proposal∙Bit0:TCMSTP帧格式多生成树协议MSTP是生成树协议的一种,用于消除网络环路,它兼容生成树协议STP和快速生成树RSTP协议,并且弥补了两者的缺陷。
协议数据报文格式1、TCP/IP协议层次TCP/IP协议分为四层结构,每一层完成特定的功能,包括多个协议。
本课程实验中相关协议的层次分布如附图3-1所示。
附图3-1 TCP/IP协议层次这些协议之间的PDU封装并不是严格按照低层PDU封装高层PDU的方式进行的,附图3-2显示了Ethernet帧、ARP分组、IP分组、ICMP报文、TCP报文段、UDP数据报、RIP报文、OSPF报文和FTP报文之间的封装关系。
附图3-2 各协议PDU间的封装关系2、Ethernet帧格式最新的IEEE 802.3标准(2002年)中定义Ethernet帧格式如下:其中,类型/长度值小于1536(0x0600)时表示数据字段的长度,大于等于1536(0x0600)时表示数据字段的协议类型。
类型/长度值0x0800表示帧中封装的数据为IP分组,类型值0x0806表示帧中封装的数据为ARP分组。
3、IP分组格式(RFC 791)4、ARP分组格式(RFC 826)操作代码值1表示ARP请求分组,操作代码值2表示ARP响应分组。
5、ICMP报文格式(RFC 792)ICMP回送请求和回送应答报文:ICMP目的不可达报文:ICMP超时报文:6、TCP报文段格式(RFC 793)7、RIP报文格式(版本1-RFC 1058,版本2-RFC2453)RIP请求报文在某些RIP路由表项超时或路由器刚接入互联网时发送,请求报文可以询问特定路由或所有路由。
路由器在回应请求报文时发送携带被询问路由信息的RIP响应报文,也可以定期(30秒)发送携带整个路由表信息的RIP响应报文。
8、OSPF报文格式(RFC 2328)链路状态更新(LSU)报文:链路状态确认(LSAck)报文:链路状态通告(LSA)首部:。
以太网协议详情报文格式1.以太网帧首部(Ethernet Header):- 目的MAC地址(Destination MAC Address):6个字节,表示接收方的物理地址。
- 源MAC地址(Source MAC Address):6个字节,表示发送方的物理地址。
- 类型或长度(Type or Length):2个字节,表示数据的类型或长度。
2.有效载荷数据(Payload Data):- 数据(Data):46-1500个字节,表示待传输的数据。
3.填充(Padding):- 填充(Padding):0-46个字节,用于填充以太网帧的长度。
4.帧校验序列(Frame Check Sequence):-帧校验序列(FCS):4个字节,用于校验以太网帧的完整性。
在以太网协议中,各个字段的含义如下:1.目的MAC地址:表示帧的接收方的物理地址。
每个网络接口都有一个唯一的MAC地址。
2.源MAC地址:表示帧的发送方的物理地址。
同样,每个网络接口都有一个唯一的MAC地址。
3.类型或长度:标识有效载荷数据的类型或长度。
当该字段的值小于等于1500时,表示长度;当值大于1500时,表示数据的类型。
4.数据:是待传输的数据,可以是其他高层协议的报文,如IP数据报等。
5.填充:为了使帧达到最小长度而填充的虚拟数据。
以太网帧要求长度至少为64个字节,如果数据字段长度不足,则需要填充。
6.帧校验序列:用于检测帧中是否发生错误。
发送方在发送帧时,通过计算帧中除了FCS字段之外所有字段的CRC校验值,并将该值存储在FCS字段中。
接收方在接收到帧时,同样通过计算帧中的CRC校验值,并与FCS字段中的值进行比较,以确定帧是否被损坏。
以太网协议使用的是分组式交换技术,即将数据拆分为一系列的帧进行传输。
每个帧都独立传输且具有不同的目的MAC地址,在传输过程中可以经过多个设备,如交换机、路由器等。
每个设备根据帧中的目的MAC地址进行决策,以将帧转发到正确的接口。
1、IP报文格式IP协议是TCP/IP协议族中最为核心的协议。
它提供不可靠、无连接的服务,也即依赖其他层的协议进行差错控制。
在局域网环境,IP协议往往被封装在以太网帧(见本章1.3节)中传送。
而所有的TCP、UDP、ICMP、IGMP数据都被封装在IP数据报中传送。
如图2-3所示:图2-3TCP/IP报文封装图2-4是IP头部(报头)格式:(RFC 791)。
图2-4IP头部格式其中:●版本(Version)字段:占4比特。
用来表明IP协议实现的版本号,当前一般为IPv4,即0100。
●报头长度(Internet Header Length,IHL)字段:占4比特。
是头部占32比特的数字,包括可选项。
普通IP数据报(没有任何选项),该字段的值是5,即160比特=20字节。
此字段最大值为60字节。
●服务类型(Type of Service ,TOS)字段:占8比特。
其中前3比特为优先权子字段(Precedence,现已被忽略)。
第8比特保留未用。
第4至第7比特分别代表延迟、吞吐量、可靠性和花费。
当它们取值为1时分别代表要求最小时延、最大吞吐量、最高可靠性和最小费用。
这4比特的服务类型中只能置其中1比特为1。
可以全为0,若全为0则表示一般服务。
服务类型字段声明了数据报被网络系统传输时可以被怎样处理。
例如:TELNET 协议可能要求有最小的延迟,FTP协议(数据)可能要求有最大吞吐量,SNMP协议可能要求有最高可靠性,NNTP(Network News Transfer Protocol,网络新闻传输协议)可能要求最小费用,而ICMP协议可能无特殊要求(4比特全为0)。
实际上,大部分主机会忽略这个字段,但一些动态路由协议如OSPF(Open Shortest Path First Protocol)、IS-IS (Intermediate System to Intermediate System Protocol)可以根据这些字段的值进行路由决策。
报文格式大全(编写:洪先进)Ethernet 数据包格式(RFC894)Ethernet Ⅱ帧格式:目的 MAC 地点源 MAC 地点Type/Length Payload FCS(CRC) 6 bytes 6 bytes 2 bytes 46-1500 bytes 4 bytes VLAN 帧格式:目的 MAC 地点源 MAC 地点Type/Length Payload FCS6 bytes 6 bytes 2 bytes 4 bytes0x81002 bytes 3bits:UserPriority TCI 2bytes1bit:CFI 12bits:VID1、DstMac 的最高字节的最低BIT 位假如为 1,表示此包是以太网组播/广播包,送给 CPU 办理。
2、将 DstMac 和本端口的 MAC 进行比较,假如不一致就抛弃。
3、获得以太网种类字段Type/Length。
0x0800→IP0x0806→ARP 0x8035→RARP 持续进行 3 层的送给 CPU办理。
送给 CPU办理。
IP 包办理。
0x8863→PPPoE discovery stage 0x8864→PPPoE session stage 送给 CPU办理。
持续进行 PPP的2 层包办理。
0x8100→VLAN其余值看作未辨别包种类而抛弃。
PPP 数据包格式标记 7E 地点 FF 控制 03 协议Payload CRC 标记 7E 1byte 1byte 1byte 2bytes 最多 1500bytes 2bytes 1byte1、获得 PPP 包种类字段。
0x0021→IP 持续进行 3 层的 IP 包办理。
0x8021→IPCP 送给 CPU办理。
0xC021→LCP 送给 CPU办理。
0xc023→PAP 送给 CPU办理。
0xc025→LQR 送给 CPU办理。
0xc223→CHAP 送给 CPU办理。
0x8023→OSICP 送给 CPU办理。
常见网络协议报文格式汇总
网络协议是计算机网络通信中,用于规定通信双方传输数据的格式和规则的标准化。
协议中的报文是通信双方之间进行数据交换的载体。
下面我将简单介绍一些常见的网络协议报文格式。
1. HTTP(Hypertext Transfer Protocol)报文格式:
-请求报文格式:
```
<Method> <Request-URI> <HTTP-Version>
<Headers>
<Entity-Body>
```
-响应报文格式:
```
<HTTP-Version> <Status-Code> <Reason-Phrase>
<Headers>
<Entity-Body>
```
2. TCP(Transmission Control Protocol)报文格式:
-TCP报文格式如下:
```
Source Port Destination Port
Sequence Number Acknowledgment Number
Data Offset Reserved Control Bits
Window Checksum Urgent Pointer
Options (if any)
Data
```
3. UDP(User Datagram Protocol)报文格式:-UDP报文格式如下:
```
Source Port Destination Port
Length Checksum
Data
```
4. IP(Internet Protocol)报文格式:
-IPv4报文格式如下:
```
Version IHL Type of Service Total Length
Identification Flags Fragment Offset Time to Live Protocol Header Checksum Source IP Address
Destination IP Address
Options (if any)
Padding (if necessary)
Data
```
-IPv6报文格式如下:
```
Version Traffic Class Flow Label Payload Length Next Header
Hop Limit
Source IPv6 Address
Destination IPv6 Address
Options (if any)
Padding (if necessary)
Data
```
5. ICMP(Internet Control Message Protocol)报文格式:
-ICMP报文格式如下:
```
Type Code Checksum
Identifier Sequence Number
Data (Optional)
```
6. Ethernet报文格式:
- Ethernet报文格式如下:
```
Destination MAC Address
Source MAC Address
Ethernet Type
Payload
```
7. DNS(Domain Name System)报文格式:
-DNS报文格式如下:
```
DNS Message Header
DNS Message Question Section
DNS Message Answer Section
DNS Message Authority Section
DNS Message Additional Section
```
8. FTP(File Transfer Protocol)报文格式:
-FTP报文格式如下:
```
Arguments
```
9. SMTP(Simple Mail Transfer Protocol)报文格式:
-SMTP报文格式如下:
```
Arguments
```
这些是常见的网络协议的报文格式,它们用于在计算机网络中进行数据传输和通信。
不同的协议有不同的报文格式,这些格式规定了报文中的字段类型、顺序和长度等信息,以确保通信双方可以正确地交换信息。