超级详细的协议报文字段分析(全)

特别说明一下1字节等于8比特,用十进制表示最大为255

1个字母=1个字节=8bit(8位)

1个数字=1个字节=8bit(8位)

1个汉字=2个字节=16bit(16位)

1 Byte = 8 Bits

1 KB = 1024 Bytes

1 MB = 1024 KB

1 GB = 1024 MB

PV4 报文最小 20 字节~最大 60 字节

Version:版本-----------------------------4比特

IHL:首部长度----------------------------4比特

Type of Service:服务类型------------8比特

Total Length:总长度-------------------16比特

Identification:标识---------------------16比特

Flags:标志位----------------------------3比特

Fragment Offset:片偏移--------------12比特

Time to Live:生存时间-----------------8比特

Protocol:协议----------------------------8比特

Header Checksum:首部检验和-----16比特

Source Address:源IP地址------------32比特

Destination Address:目的IP地址----32比特

Options:选项字段-----------------------可变

Padding:填充字段----------------------可变

IPV6报文

40字节基本头部:

Version:版本-----------------------------4比特

Traffic class:流量类别-----------------8比特

Flow Label:流标签----------------------20比特

Payload length:有效载荷的长度----16比特

Next header:下一报头-----------------8比特

Hop limit:跳数限制----------------------8比特

Source Address:源地址---------------128比特

Destination Address:目的地址------128比特

可变长度扩展头部:

Extension Headers:扩展报头--------可变

ARP报文

Hardware Type:硬件类型---------------16比特

Protocol Type:协议类型-----------------16比特

Hardware Length:硬件地址长度----------8比特

Protocol Length:协议地址长度-----------8比特

Opcode:操作类型----------------------8比特

1 ARP请求

2 ARP应答

3 RARP请求

4 RARP应答

Sender Mac address :发送方物理地址------48比特

Sender IP address:发送方IP地址-----------32比特

Target Mac address:接收方物理地址--------48比特

Target IP address :接收方IP地址------------32比特

免费ARP报文

ARP请求报文

ARP应答报文

ICMP Echo Request/Reply消息格式

Type:消息类型----------------- 1字节

0:回显应答报文

8:请求回显报文

Code:消息代码,此处值为0-------------------1字节

Checksum:检验和-------------------------- 2字节

Identifier:标识符 发送端标示------------------2字节

Sequence Number:序列号------------------- 2字节

发送端发送的报文的顺序号。每发送一次顺序号就加1。

Data 可变 选项数据

是一个可变长的字段,其中包含要返回给发送者的数据。

回显应答通常返回与所收到的数据完全相同的数据。

ICMP目的不可达消息格式

Type:消息类型,此处值为3--------------------- 1字节

Code:消息代码 ------------------------------- 1字节

Checksum:检验和----------------------------- 2字节

unused:未使用,必须填0------------------------4字节

ICMP重定向消息格式

Type:消息类型,此处值为5------------------------------1字节

Code:消息代码 ----------------------------------------1字节

Checksum:检验和--------------------------------------2字节

Gateway Internet Address:原始数据包里的IP目的地址域 ----4字节

ICMP超时消息格式

Type:消息类型,此处值为3 ------------------------------1字节

Code:消息代码 ----------------------------------------1字节

Checksum:检验和 -------------------------------------2字节

OSPF报文头部

Version:版本----------------------------------1字节

Type:类型-------------------------------------1字节

Packet length:OSPF报文的总长度----------------2字节

Router ID:发送该报文的路由器标识---------------4字节

Area ID:发送该报文的所属区域-------------------4字节

Checksum:校验和------------------------------2字节

AuType:验证类型-------------------------------2字节

Authentication:鉴定字段-------------------------8字节

OSPF Hello报文格式

Network Mask:接口所在网络的掩码 ---------------32比特

HelloInterval:发送Hello报文的时间间隔 ------------16比特

Options:可选项 ---------------------------------8比特

E:允许Flood AS-External-LSAs

MC:转发IP组播报文

N/P:处理Type-7 LSAs

DC:处理按需链路

Router Pri:DR优先级 默认为1----------------------8比特

如果设置为0,则路由器不能参与DR或BDR的选举

Router DeadInterval:失效时间---------------------32比特

如果在此时间内未收到邻居发来的Hello报文,则认为邻居失效。

Designated Router:DR的接口地址------------------32比特

Backup Designated Router:BDR的接口地址---------32比特

Neighbor:邻居,以Router ID标识-------------------32比特

OSPF DD报文格式

Interface MTU:接口MTU---------------16比特  

Options:可选项------------------------8比特

E:允许Flood AS-External-LSAs;

MC:转发IP组播报文;

N/P:处理Type-7 LSAs;

DC:处理按需链路。

I:表示是否为第一个报文------------------------1比特

当发送连续多个DD报文时,如果这是第一个DD报文,则置为1,否则置为0

M (More) :是否还有报文------------------------1比特

当发送连续多个DD报文时,如果这是最后一个DD报文,则置为0。否则置为1,表示后面还有其他的DD报文

M/S (Master/Slave):主从关系--------------------1比特

当两台OSPF路由器交换DD报文时,首先需要确定双方的主从关系,Router ID大的一方会成为Master。当值为1时表示发送方为Master。

DD sequence number:DD报文序列号------------- 32比特

主从双方利用序列号来保证DD报文传输的可靠性和完整性。

LSA Headers 可变 该DD报文中所包含的LSA的头部信息。

OSPF LSR报文格式

LS type:LSA的类型号----------------------------- 32比特

Link State ID:根据LSA中的LS Type和LSA description在路由域中描述一个LSA-- 32比特

Advertising Router:产生此LSA的路由器的Router ID----- 32比特

OSPF LSU报文格式

Number of LSAs:LSA的数量----------------------------- 32比特

OSPF LSAck报文格式

LSAs Headers:通过LSA的头部信息确认收到该LSA------- 可变

BGP报文头部

Marker:检查BGP对等体的同步信息是否完整----------------16字节

Length:报文总长度---------------------------------------2个字节

Type:BGP消息的类型------------------------------------1个字节

1 OPEN

2 UPDATE

3 NOTIFICATION

4 KEEPALIVE

5 REFRESH(RFC2918)

BGP OPEN报文格式

Version:版本号,现在BGP的版本号为4-----------------------1个字节

My AS:发送者自己的AS域号---------------------------------2个字节

Hold Time:发送者自己设定的hold time值,默认为180-----------2个字节

BGP Identifier:发送者的router id-----------------------------4个字节

Optional Parameters Length: 可选参数的长度------------------1个字节

Optional Parameters:

Parameter Type: 可选参数类型

Parameter Length: 可选参数长度

BGP UPDATE报文格式

Withdrawn Routes Length:其值为零时,表示没有撤销的路由---------2个字节

Withdrawn Routes:包含要撤销的路由列表--------------------------变长

Total Path Attribute Length:总共路由属性长度---------------------2个字节

Path Attributes:包含要更新的路由属性列表------------------------变长

Network Layer Reachability Information(NLRI):要更新的地址前缀列表----变长

属性类型

属性值

1:Origin

IGP

EGP

Incomplete

2:As_Path

AS_SET

AS_SEQUENCE

AS_CONFED_SET

AS_CONFED_SEQUENCE

3:Next_Hop

下一跳的IP地址

4:Multi_Exit_Disc

MED用于判断流量进入AS时的最佳路由

5:Local_Pref

Local_Pref用于判断流量离开AS时的最佳路由

6:Atomic_Aggregate

BGP Speaker选择聚合后的路由,而非具体的路由

7:Aggregator

发起聚合的路由器ID和AS号

8:Community

团体属性

9:Originator_ID

反射路由发起者的Router ID

10:Cluster_List

反射路由经过的反射器列表

14:MP_REACH_NLRI

多协议可达NLRI

15:MP_UNREACH_NLRI

多协议不可达NLRI

16:Extended Communtities

扩展团体属性

BGP的NOTIFICATION报文格式

Major error Code:定义错误的类型,非特定的错误类型用零表示--------1个字节

Minor error Code:指定错误细节编号,非特定的错误细节编号用零表示--1个字节

Data:指定错误数据内容------------------------------------------可变

BGP KEEPALIVE报文格式

KEEPALIVE报文只有BGP报文头,没有具体内容,故其报文长度应固定为19个字节。

BGP的REFRESH报文格式

Address Family Identifier:表示地址族id,与UPDATE报文中的定义相同-------2字节

Reserved:所有为应全为零,在接收报文时,此位被忽略 ---------------------1字节

Subsequent Address Family Identifier :与UPDATE报文中的定义相同 --------1字节

RIP报文格式

Command:标识报文的类型---------------------------------- 8比特

1:Request报文,向邻居请求全部或部分路由信息;

2:Reponse报文,发送自己全部或部分路由信息,一个Response报文中最多包含25个路由表项。

Version:RIP的版本号---------------------------------------- 8比特

1:RIP-1

2:RIP-2

Must be zero:必须为零字段----------------------------------- 16比特

Address Family Identifier1:地址族标识--------------------------6比特

其值为2时表示IP协议。对于Request报文,此字段值为0。

Route Tag:外部路由标记-------------------------------------- 16比特  

IP Address:该路由的目的IP地址-------------------------------- 32比特

Subnet Mask:目的地址的掩码----------------------------------32比特

Next Hop:下一跳地址----------------------------------------- 32比特

如果为0.0.0.0,则表示发布此路由的路由器地址就是最优下一跳地址。

Metric:路由的开销值。对于Request报文,此字段为16---------------32比特

IS-IS报文通用格式

Intradomain Routing Protocol Discriminator:域内路由选择协议鉴别符,设置为0x83

Length Indicator:PDU头部的长度(包括通用头部和专用头部)------------------

Version/Protocol ID Extension:版本/协议标识扩展,设置为1(0x01--------------

ID Length:NSAP地址或NET中System ID区域的长度--------------------------

值为0时,表示System ID区域的长度为6字节。值为255时,表示System ID区域为空(即长度为0)

Reserved:保留,设置为0---------------------------------------------------

PDU Type:PDU的类型。IS-IS PDU共有9种类型,详细信息请参考下表-----------

Version:设置为1----------------------------------------------------------

Maximum Area Address:支持的最大区域个数--------------------------------

设置为1~254的整数,表示该IS-IS进程实际所允许的最大区域地址数;设置为0,表示该IS-IS进程最大只支持3个区域地址数。

PDU类型对应关系表

类型值

PDU类型

简称

15

Level-1 LAN IS-IS Hello PDU

L1 LAN IIH

16

Level-2 LAN IS-IS Hello PDU

L2 LAN IIH

17

Point-to-Point IS-IS Hello PDU

P2P IIH

18

Level-1 Link State PDU

L1 LSP

20

Level-2 Link State PDU

L2 LSP

24

Level-1 Complete Sequence Numbers PDU

L1 CSNP

25

Level-2 Complete Sequence Numbers PDU

L2 CSNP

26

Level-1 Partial Sequence Numbers PDU

L1 PSNP

27

Level-2 Partial Sequence Numbers PDU

L2 PSNP

IS-IS Hello消息格式

Reserved/Circuit Type:高位的6比特保留,值为0。低位的2比特表示路由器的类型(01表示L1,10表示L2,11表示L1/L2)

Source ID:发出Hello报文的路由器的System ID-------------------------------

Holding Time:保持时间----------------------------------------------------

在此时间内如果没有收到邻居发来的Hello报文,则中止已建立的邻居关系

PDU Length:PDU的总长度------------------------------------------------

Priority:选举DIS的优先级,取值范围为0~127。数值越大,优先级越高------------

LAN ID:包括DIS的System ID和一字节的伪节点ID-----------------------------

P2P IIH中的多数字段与LAN IIH相同。不同的是没有Priority和LAN ID字段,而多了一个Local Circuit ID字段,表示本地链路ID。

IS-IS LSP消息格式

PDU Length:PDU的总长度------------------------------------------------

Remaining Lifetime:LSP的生存时间,以秒为单位-----------------------------

LSP ID:由三部分组成,System ID、伪节点ID(一字节)和LSP分片后的编号(一字节)

Sequency Number:LSP的序列号。------------------------------------------

Checksum:LSP的校验和---------------------------------------------------

Partition Repair:仅与L2 LSP有关,表示路由器是否支持自动修复区域分割---------

ATT(Attachment):由Level-1-2路由器产生,用来指明始发路由器是否与其它区域相连。虽然此标志位也存在于Level-1和Level-2的LSP中,但实际上此字段只和Level-1-2路由器始发的L1 LSP有关------------------------------------------------4比特

第4位:差错度量;

第5位:代价度量;

第6位:时延度量;

第7位:缺省度量。

LSDB Overload:过载标志位------------------------------------------------

设置了过载标志位的LSP虽然还会在网络中扩散,但是在计算通过超载路由器的路由时不会被采用。即,对路由器设置过载位后,其它路由器在进行SPF计算时不会考虑这台路由器。当路由器内存不足时,系统自动在发送的LSP报文中设置过载标志位

IS Type:生成LSP的路由器的类型--------------------------------------------

用来指明是Level-1还是Level-2路由器(01表示Level-1,11表示Level-2)

IS-IS SNP消息格式

CSNP消息格式

Source ID:发出SNP报文的路由器的System ID--------------------------------

Start LSP ID:CSNP报文中第一个LSP的ID值----------------------------------

End LSP ID:CSNP报文中最后一个LSP的ID值---------------------------------

PSNP格式

PSNP只列举最近收到的一个或多个LSP的序号,它能够一次对多个LSP进行确认,当发现LSDB不同步时,也用PSNP来请求邻居发送新的LSP。

DHCP报文格式

    Message type: Boot Request (1)    #报文的操作类型, 这是一个请求包, 所以该选项的值为1

    Hardware type: Ethernet (0x01)    #硬件类型为Ethernet

    Hardware address length: 6    #硬件地址长度为6

    Hops: 0    #经过DHCP中继数为0

    Transaction ID: 0x597c6b82    #事务ID

    Seconds elapsed: 0    #客户端启动时间

    Bootp flags: 0x0000 (Unicast)    #BOOTP标识字段

    Client IP address: 0.0.0.0    #客户端IP地址

    Your (client) IP address: 0.0.0.0    #服务器分配给自己的IP地址

    Next server IP address: 0.0.0.0    #下一个服务器的IP地址

    Relay agent IP address: 0.0.0.0    #DHCP中继器的IP地址

    Client MAC address: Vmware_db:3f:0a (00:0c:29:db:3f:0a)    #客户端的MAC地址

    Client hardware address padding: 00000000000000000000    #客户端硬件地址填充

    Server host name not given    #服务器主机名

    Boot file name not given    #启动文件名

    Magic cookie: DHCP    #与BOOTP兼容

Option id

长度(字节)

描述

1

4

Subnet Mask

3

n*4

Router(网关)

6

n*4

DNS Server

7

n*4

Log Server

26

2

Interface MTU

33

n*8

Static route

35

4

ARP cache timeout

42

n*4

NTP servers

51

4

IP address lease time

53

1

Message type:

1-DHCPDISCOVER

2-DHCPOFFER

3-DHCPREQUEST

4-DHCPDECLINE

5-DHCPACK

6-DHCPNAK

7-DHCPRELEASE

8-DHCPINFORM

54

4

DHCP Server Identifier

60

n

华为自定义:可配置该终端设备在发起DHCP请求时,通过Option 60携带域信息。收到DHCP报文时,可根据Option 60中携带的域信息来分配IP地址。

82

n

华为自定义:作为DHCP Relay,在中继用户DHCP报文时,可在Option 82中填写用户的物理位置信息,通知DHCP服务器按物理位置信息对为用户分配IP地址。

PPP帧格式

Flag:Flag域标识了一个物理帧的起始和结束,该字节为0x7E----------------1字节

Address:数据链路层地址----------------------------------------------1字节

PPP协议室被运用在点对点的链路上,它可唯一标识对方,因此无须知道对方数据链路层地址。所以该字节无任何意义,按协议规定填充为全1广播地址

Control:没实际意义,规定值为0x03-------------------------------------1字节

同Address域一样,PPP数据帧的Control域也没实际意义,规定值为0x03,该域与Address域一起标识了PPP报文,即PPP报文头为FF03。

Protocol:表示承载的协议----------------------------------------1字节或2字节

Information:信息域最大长度是1500字节-----------------------------0-1500字节

Code:报文类型-------------------------------------------------------1字节

Identifier:标识域的值表示进行协商报文的匹配关系-------------------------1字节

Length:此协商报文长度------------------------------------------------2字节

Data :协商报文的内容--------------------------------------------------变长

  • Type为协商选项类型。 常见Type中的协商类型值:
    0x01: Maximum-Receive-Unit
    0x02: Async-Control-Character-Map
    0x03: Authentication-Protocol
    0x04: Quality-Protocol
    0x05: Magic-Number
    0x06: RESERVED
    0x07: Protocol-Field-Compression
    0x08: Address-and-Control-Field-Compression
  • Length为协商选项长度,它是指Data域的总长度,也就是包含Type、Length和Data。
  • Data为协商的选项具体内容。

常见Code值如下:

0x01: Configure-Request

0x02: Configure-Ack

0x03: Configure-Nak

0x04: Configure-Reject

0x05: Terminate-Request

0x06: Terminate-Ack

0x07: Code-Reject

0x08: Protocol-Reject

0x09: Echo-Request

0x0a: Echo-Replyt

0x0b: Discard-Request

0x0c: Reserved

PPPoE报文格式

Version:PPPoE版本,必须设置为0x01--------------------------------- 4字节

Type:PPPoE类型,必须设置为0x01------------------------------------4字节

Code:其定义在后面的Discovery和PPPoE会话中分别指定-----------------1字节

Session ID:是一个网络字节序的无符号值-------------------------------- 2字节

其值在后面Discovery数据包中定义。对一个给定的PPPoE会话来说该值是一个固定值,并且与以太网Source_address和Destination_address一起实际地定义了一个PPPoE会话。值0xFFFF为将来的使用保留,不允许使用。

Length:该值是PPPoE的Payload长度----------------------------------- 2字节

它不包括以太网头部和PPPoE头部的长度。

Payload Data:PPPoE的Payload,包含0个或多个Tag----------------------可变

一个Tag是一个TLV(Type-Length-Value)结构。

Tag_type:网络字节序------------------------------------------------- 2字节

下表列出了各种Tag_Type和Tag_Value的对应关系和含义。

Tag_Length:是一个网络字节序的无符号值,表明Tag_Value的字节数-------- 2字节  

如果收到的Discovery数据包中包含未知的Tag_Type,则必须忽略掉该Tag。

Tag_value:Tag的数据字段---------------------------------------------- 可变

Tag_Value

Tag_Type

含义

0x0000

End-Of-List

该Tag值表明是最后一个Tag。该Tag的Tag_Length必须总是0。 不要求使用该标签,它是为了向后兼容。

0x0101

Service-Name

该Tag表明后面紧跟的是服务的名称。

Tag_Value是不以NULL结束的字符串。

当Tag_Length为0时,该TAG用于表明接受任何服务。

使用Service-Name标签的例子是表明Internet服务提供商ISP或者一类服务或者服务的质量。

0x0102

AC-Name

该Tag表明后面紧跟的字符串唯一地表示了某个特定的接入服务器。

它可以是商标、型号以及序列号等信息的集合,或者该接入服务器MAC地址的一个简单表示。它不以NULL来结束。

0x0103

Host-Uniq

该Tag由主机用于把接入服务器的响应报文(PADO或者PADS)与主机的某个唯一特定的请求联系起来。Tag_Value是主机选择的长度和值,可以是任意的二进制数据。它不能由接入服务器解释。

主机可以在PADI或者PADR中包含一个Host-Uniq标签。如果接入服务器收到了该标签,它必须在对应的PADO或者PADS中不加改变的包含该标签。

0x0104

AC-Cookie

该Tag由接入服务器用于防止服务攻击。接入服务器可以在PADO数据包中包含该Tag。如果主机收到了该标签,它必须在接下来的PADR中不加改变的包含该标签。

Tag_Value的长度和值都是任意的二进制数据。

0x0105

Vendor-Specific

该Tag用来传送厂商自定义的信息。Tag_Value的前4个字节包含了厂商的识别码,其余字节尚未定义。

厂商识别码的高字节为0,低3个字节为网络字节序的厂商的SMI网络管理专用企业码。

不推荐使用该Tag。为了确保互操作性,在实现过程中,可以忽略Vendor-Specific Tag。

0x0110

Relay-Session-Id

该Tag可由中继流量的中间代理加入到Discovery数据包中。

Tag_Value对主机和接入服务器都是不透明。如果主机或接入服务器收到该Tag,则它们必须在所有的Discovery数据包中包含该Tag以作为响应。

所有的PADI数据包必须保证足够空间来加入Tag_Value长度为12字节的Relay-Session-Id标签。

如果Discovery数据包中已经包含一个Relay-Session-Id标签,则不允许再加入该标签。这种情况下,中间代理应该使用该Relay-Session-Id标签。

如果它不能使用现有的标签,或者没有足够空间来增加一个Relay-Session-Id标签,那么它应该向发送者返回一个Generic-Error标签。

0x0201

Service-Name-Error

该Tag典型的有一个长度为零的数据部分。

它表明了由于某种原因,没有理睬所请求的Service-Name。如果有数据部分,并且数据部分的头一个字节非0,那么它必须是一个可打印字符串,解释请求被拒绝的原因。

该字符串可以不以NULL结束。

0x0202

AC-System-Error

该Tag表明了接入服务器在处理主机请求时出现了某个错误。例如没有足够资源来创建一个虚拟电路。PADS数据包中可以包含该标签。

如果有数据,并且数据的第一个字节不为0,那么数据必须是一个可打印字符串,该字符串解释了错误的性质。

该字符串可以不以NULL结束。

0x0203

Generic-Error

该Tag表明发生了一个错误。

当发生一个不可恢复的错误并且没有其它合适的Tag时,它可被加到PADO、PADR或PADS数据包中。

如果出现数据部分,那么数据必须是一个解释错误性质的字符串。

该字符串不允许以NULL结束。

STP帧格式

Protocol Identifier:协议ID=“0”-------------------------------------

Protocol Version Identifier:协议版本标识符,STP为0,RSTP为2,MSTP为3

BPDU Type :BPDU类型,MSTP为0x02------------------------------

0x00:STP的Configuration BPDU

0x80:STP的TCN BPDU(Topology Change Notification BPDU)

0x02:RST BPDU(Rapid Spanning-Tree BPDU)或者MST BPDU(Multiple Spanning-Tree BPDU)

Flags :标记域------------------------------------------------------

第一个bit(左边、高位bit)表示“TCA(拓扑改变响应)”

最后一个bit(右边、低位bit)表示“TC(拓扑改变)”。

Root Identifier:网桥ID--------------------------------------------8字节

前两个字节是网桥优先级,后6个字节是网桥MAC地址。

Root Path Cost :根路径开销,本端口累计到根桥的开销--------------------

Bridge Identifier:发送者BID,本交换机的BID-----------------------------

Port Identifier :发送端口PID,发送该BPDU的端口ID----------------------Message Age:该BPDU的消息年龄-------------------------------------

Max Age:消息老化年龄------------------------------------------------

Hello Time :发送两个相邻BPDU间的时间间隔----------------------------

Forward Delay:控制Listening和Learning状态的持续时间------------------

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:TC

MSTP帧格式

字段

说明

Protocol Identifier

协议标识符。

Protocol Version Identifier

协议版本标识符,STP为0,RSTP为2,MSTP为3。

BPDU Type

BPDU类型,MSTP为0x02。

  • 0x00:STP的Configuration BPDU
  • 0x80:STP的TCN BPDU(Topology Change Notification BPDU)
  • 0x02:RST BPDU(Rapid Spanning-Tree BPDU)或者MST BPDU(Multiple Spanning-Tree BPDU)

CIST Flags

CIST标志字段。

CIST Root Identifier

CIST的总根交换机ID。

CIST External Path Cost

CIST外部路径开销指从本交换机所属的MST域到CIST根交换机的累计路径开销。CIST外部路径开销根据链路带宽计算。

CIST Regional Root Identifier

CIST的域根交换机ID,即IST Master的ID。 如果总根在这个域内,那么域根交换机ID就是总根交换机ID。

CIST Port Identifier

本端口在IST中的指定端口ID。

Message Age

BPDU报文的生存期。

Max Age

BPDU报文的最大生存期,超时则认为到根交换机的链路故障。

Hello Time

Hello定时器,缺省为2秒。

Forward Delay

Forward Delay定时器,缺省为15秒。

Version 1 Length

Version1 BPDU的长度,值固定为0。

Version 3 Length

Version3 BPDU的长度。

MST Configuration Identifier

MST配置标识,表示MST域的标签信息,包含4个字段:

  • Configuration Identifier Format Selector:固定为0。
  • Configuration Name:“域名”,32字节长字符串。
  • Revision Level:2字节非负整数。
  • Configuration Digest:利用HMAC-MD5算法将域中VLAN和实例的映射关系加密成16字节的摘要。

只有MST Configuration Identifier中的四个字段完全相同的,并且互联的交换机,才属于同一个域。

CIST Internal Root Path Cost

CIST内部路径开销指从本端口到IST Master交换机的累计路径开销。CIST内部路径开销根据链路带宽计算。

CIST Bridge Identifier

CIST的指定交换机ID。

CIST Remaining Hops

BPDU报文在CIST中的剩余跳数。

MSTI Configuration Messages (may be absent)

MSTI配置信息。每个MSTI的配置信息占16 bytes,如果有n个MSTI就占用n×16bytes。单个MSTI Configuration Messages的字段说明如下:

  • MSTI Flags:MSTI标志。
  • MSTI Regional Root Identifier:MSTI域根交换机ID。
  • MSTI Internal Root Path Cost:MSTI内部路径开销指从本端口到MSTI域根交换机的累计路径开销。MSTI内部路径开销根据链路带宽计算。
  • MSTI Bridge Priority:本交换机在MSTI中的指定交换机的优先级。
  • MSTI Port Priority:本交换机在MSTI中的指定端口的优先级。
  • MSTI Remaining Hops:BPDU报文在MSTI中的剩余跳数。

IPSec报文格式

AH封装及头部格式

Next Header:表示认证头部之后的下一个负载-----------------------------8比特

Payload Len:AH的长度减2,4字节为计数单位-----------------------------8比特

例如,有个96比特的认证值,长度将是"4"(即头部固定的3个4字节 + ICV的3个4字节 - 2)。对于IPv6,头部总长度必须为8字节的倍数。

Reserved:预留将来使用。必须置0,接收时忽略----------------------------16比特  

Security Parameters Index:用于给报文接收端识别SA ---------------------32比特

Sequence Number Field:序列号,每发送一个报文,计数加1----------------32比特

例如每发一个SA报文序列号增加1。

Integrity Check Value-ICV:报文的ICV字段-------------------------------变长

可变长度,长度必须为32比特的整数倍。

ESP封装及头部格式

Security Parameters Index:安全参数索引--------------------------------32比特

Sequence Number:序列号 --------------------------------------------32比特

Payload Data:有效载荷数据(可变)-------------------------------------变长

Padding:填充字段------------------------------------------------0–255字节

Pad Length:填充字段长度----------------------------------------------8比特

Next Header:下一个头-------------------------------------------------8比特  

Integrity Check Value-ICV:验证数据-------------------------------------变长

IKE Header Format

Initiator's SPI 8 bytes 发送者用来唯一标识一个IKE安全联盟,该值不能设置为0。

Responder's SPI 8 bytes 应答者用来唯一标识一个IKE安全联盟,对于IKE初始交互的消息该值必须为0,其他消息不能为0。

Next Payload 1 byte 仅随头部之后的负载的类型。

MjVer 4 bits 标识所使用的IKE协议的最大版本。

MnVer 4 bits 标识所使用的IKE协议的最小版本。

Exchange Type 1 byte 0-33: RESERVED

34: IKE_SA_INIT

35: IKE_AUTH

36: CREATE_CHILD_SA

37: INFORMATIONAL

38-239: RESERVED TO IANA

240-255: Reserved for private use.

Flags 1 byte 消息中设置的特定选项。如果Flag域置位表示带有选项。

Message ID 4 bytes 消息标识符,用来对请求消息和呼应消息的匹配,以便控制丢弃消息的重复发送。这在抑制重放攻击时对保障协议的安全性很关键。

Length 4 bytes 整个消息的长度(报文头+负荷),以字节为单位。

Next Payload 1 byte 标识消息中的下一个负载的类型。如果当前的负载是消息的最后一个,则此字段置0。

C (Critical) 1 bit 如果发送者想让接收者在无法识别当前一个负载的Next Payload域是能够跳过此域,可将此位置0。

如果接收者能够识别负载的类型代码,则忽略此位。

RESERVED 7 bits 发送时必须置0,接收时忽略。

Payload Length  2 bytes 当前负载的长度,包括通用负载的头部,以字节为单位。

MPLS报文格式

Label:标签值字段,用来标识一个FEC----------------------------------20比特

EXP:用于扩展-------------------------------------------------------3比特

现在通常用做CoS(Class of Service),其作用与Ethernet802.1p的作用类似。

S:MPLS支持多重标签。值为1时表示为最底层标签------------------------1比特

TTL:和IP分组中的TTL意义相同,可以用来防止环路-----------------------8比特

LDP消息头部格式

Version:表示版本号。目前LDP的版本号始终为1--------------------------2字节  

PDU Length:表示PDU的总长度----------------------------------------2字节

包括LDP ID和整组LDP消息,不包括Version和PDU Length字段。

例如某个LDP报文中包含3个Hello消息,则该报文的PDU length = 3 * Message length。

LSR-ID:LDR-ID标识一台LSR,必须全局唯一-----------------------------4字节

LaberSpace ID:标识了LSR内的标签空间---------------------------------2字节

对于平台范围标签空间,这些数值都应当为0。

Bunch of messages:是一组LDP消息的集合,可以是一个或者多个LDP消息----变长

当LDP报文以UDP方式传输时,“Bunch of messages”只能是Hello消息的集合。

当LDP报文以TCP方式传输时,“Bunch of messages”可以是除Hello消息外任意类型的LDP消息的集合。

Hello消息

Message Length:LDP消息的长度---------------------------------------16比特

是Message ID、强制参数和可选参数的长度的总和。 

Message ID:LDP消息的编号,用于唯一地标识一个LDP消息----------------32比特

Length:LDP消息是以LDP PDU中的TLV形式定义的-----------------------16比特

每个LDP TLV有一个2字节的Type域,2字节的Length域和变长的Value域。这里的Length就表示TLV的Value域的字节数。

Hold Time:保持时间,以秒为单位的Hello保持时间-------------------------16比特

LSR维护来自潜在同伴的Hello的记录。为0的数值意味着使用缺省值。0xffff的数值意味着无穷大。 

Targeted Hello:值为1表示为远端Hello消息,值为0表示本地Hello消息---------1比特

Request Send Targeted Hellos:值为1表示请求接收者周期性发送远端Hello消息给该Hello的发送源端,值为0表示没有此需求------------------------------------1比特

Reserved:保留字段,必须置0,接收端忽略此字----------------------------14比特

Optional Parameters:可选参数,包含0~n个TLV----------------------------变长  

Initialization消息

Message Length:LDP消息的长度---------------------------------------16比特

是Message ID、强制参数和可选参数的长度的总和。 

Message ID:LDP消息的编号,用于唯一地标识一个LDP消息----------------32比特

Length:LDP消息是以LDP PDU中的TLV形式定义的-----------------------16比特

每个LDP TLV有一个2字节的Type域,2字节的Length域和变长的Value域。这里的Length就表示TLV的Value域的字节数。

Protocol Version:表示协议版本号 = 1------------------------------------16比特  

KeepAlive Time:TCP连接的保持时间 -----------------------------------16比特

这个定时器的刷新并不是收到KeepAlive消息才会刷新,而是通过TCP连接收到的LDP PDU时都会刷新

A:表明标签分配方式 ( 0 = DU ;1 = DoD) ---------------------------------1比特

D:表明是否使能了环路检测功能(0 = Disable ; 1 = Enable)-------------------1比特

Reserved:保留字段,必须置0,接收端忽略此字段--------------------------6比特

Path Vector Limit:LSP支持的最大跳数-----------------------------------8比特

只有在使能了Loop detection功能时有效,默认值为32

Max PDU Length:LDP PDU的最大长度,默认值为4096字节----------------16比特

Receiver LDP Identifier:Initialization消息的接收者的LDP标识符(LDP ID)-----6字节

Optional Parameters:可选参数,包含0~n个TLV----------------------------变长  

KeepAlive消息

Label Mapping消息

Message Length:LDP消息的长度---------------------------------------16比特

是Message ID、强制参数和可选参数的长度的总和。 

Message ID:LDP消息的编号,用于唯一地标识一个LDP消息----------------32比特

Length:LDP消息是以LDP PDU中的TLV形式定义的-----------------------16比特

FEC Element 1 to FEC Element n 每个Element 1字节 表明该标签是为哪个FEC而分配的。

FEC Element的格式定义:

Type = 0x01: 反掩码。只在Label Withdraw和Label Release消息中使用

Type = 0x02: 前缀

Label TLV 52比特 表明下游为该FEC分配了什么标签

Label字段是个20比特的标签值

Optional Parameters 变长 可选参数,包含0~n个TLV

VRRP报文格式

Version:版本---------------------------------------------4比特

Virtual Rtr ID:虚拟路由器标识-------------------------------8比特

Priority:VRRP路由器的优先级-------------------------------8比特

Count IP Addrs:通告中包含的IP地址的数量-------------------8比特

Auth Type:认证类型----------------------------------------8比特

Adver Int:VRRP通告间隔时间-------------------------------8比特

Checksum:校验和-----------------------------------------16比特

IP Address:虚拟路由器的一个或者多个IP地址-----------------32比特

  • 11
    点赞
  • 80
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值