抓包如下:
1、OSPF首部分析
- OSPF Header
- 表明这是一个 OSPF 报文的头部。
- Version: 2
- OSPF 协议版本为 2,这是目前广泛使用的版本。
- Message Type: LS Update (4)
- 报文类型为链路状态更新(Link State Update,简称 LSU),类型值为 4。LSU 报文用于向邻居发送所请求的 LSA 或者主动更新自己的链路状态信息。
- Packet Length: 64
- 整个 OSPF 报文的长度为 64 字节。
- Source OSPF Router: 12.1.1.2
- 发送此 OSPF 报文的源路由器的 IP 地址为 12.1.1.2。
- Area ID: 0.0.0.0 (Backbone)
- 该报文所属的区域 ID 为 0.0.0.0,这是骨干区域(Backbone)的标识。在 OSPF 网络中,骨干区域负责连接各个非骨干区域。
- Checksum: 0x9512 [correct]
- 报文的校验和为 0x9512,并且校验结果是正确的。校验和用于检测报文在传输过程中是否出现错误。
- Auth Type: Null (0)
- 认证类型为无认证(Null),类型值为 0。这意味着该报文没有采用任何认证机制来确保其安全性。
- Auth Data (none): 00000000000000000000000000000000
- 由于认证类型为无认证,认证数据字段为空。
2、OSPF报文种类及分析
(1)Hello 报文:类型值为 1,用于发现和维护邻居关系,周期性地在启用了 OSPF 的接口上发送。通过该报文,路由器可以告知其他路由器自己的存在,确定邻居是否可达,还能选举 DR 和 BDR,并协商和确认 OSPF 协议的参数,如区域 ID、Hello 间隔、失效间隔等。
- OSPF Hello Packet:表明这是一个 OSPF 的 Hello 报文。
- Network Mask: 255.255.255.0:发送该 Hello 报文的路由器接口 IP 地址的子网掩码。
- Hello Interval [sec]: 10:该路由器发送 Hello 报文的时间间隔为 10 秒。
- Options: 0x02, (E) External Routing
- 0x02是选项字段的值。
- (E) External Routing: Capable表示该路由器支持外部路由。
- DN: Not set、O: Not set、(DC) Demand circuits: Not supported等:这些都是对 Options 字段各个比特位所代表功能的具体描述。
- (L) LLS Data block: Not Present表示没有链路层数据块。
- (N) NSSA: Not supported表示不支持非纯末梢区域。
- (MC) Multicast: Not capable表示不支持组播。
- (MT) Multi - Topology Routing: No表示不支持多拓扑路由。
- Router Priority: 1:该路由器的优先级为 1,用于选举 DR(指定路由器)和 BDR(备份指定路由器)。
- Router Dead Interval [sec]: 40:如果在 40 秒内没有收到邻居路由器的 Hello 报文,则认为邻居路由器失效。
- Designated Router: 12.1.1.1:指定路由器的 IP 地址为 12.1.1.1。
- Backup Designated Router: 0.0.0.0:备份指定路由器的 IP 地址为 0.0.0.0,表示当前没有选举出备份指定路由器。
- Active Neighbor: 12.1.1.2:活跃的邻居路由器 IP 地址为 12.1.1.2。
(2)DD 报文:类型值为 2,用于描述本地链路状态数据库的摘要信息。在邻居路由器之间进行数据库同步的初始阶段,帮助双方了解彼此数据库的大致内容,以便后续更高效地进行链路状态信息的同步。
- OSPF DB Description:表明这是一个 OSPF 的数据库描述报文。
- Interface MTU: 0:接口的最大传输单元(MTU)设置为 0,通常在实际网络中会有具体数值,这里可能是未配置或者有特殊情况。
- Options: 0x02, (E) External Routing
- 0x02是选项字段的值。
- (E) External Routing: Capable表示该路由器支持外部路由。其他未设置的比特位对应功能未启用(如前面 Hello 报文中提到的 DN、DC 等)。
- DB Description: 0x07, (I) Init, (M) More, (MS) Master
- 0x07是数据库描述字段的值。
- (I) Init: Set表示初始化位被设置,表明这是数据库同步过程的开始。
- (M) More: Set表示还有更多的数据库描述报文后续会发送。
- (MS) Master: Yes表示该路由器在数据库同步过程中作为主设备。
- DD Sequence: 126:数据库描述报文的序列号为 126,用于在数据库同步过程中对报文进行排序和确认。
(3)LSR 报文:类型值为 3,当路由器接收到 DD 报文后,发现自己缺少某些 LSA 时,就会发送 LSR 报文向邻居请求特定的 LSA。
- Link State Request:表明这是一个链路状态请求报文。
- LS Type: Router - LSA (1)
- LS Type表示链路状态类型。这里是 Router - LSA,类型值为 1。Router - LSA 包含了路由器自身的链路状态信息,如直连链路、接口 IP 地址等。
- Link state ID: 192.168.10.254
- Link state ID是链路状态标识。对于 Router - LSA,通常是生成该 LSA 的路由器的 Router ID。这里是 192.168.10.254。
- Advertising Router: 192.168.10.254
- Advertising Router是通告路由器,即产生该 LSA 的路由器。这里也是 192.168.10.254,说明此 LSA 是由 IP 地址为 192.168.10.254 的路由器产生的。
(4)LSU 报文:类型值为 4,用于向邻居发送所请求的 LSA 或者主动更新自己的链路状态信息。它是对 LSR 报文的响应,携带各种完整的 LSA 内容,以便邻居路由器更新其链路状态数据库。
- LS Update Packet
- 表明这是一个链路状态更新报文。
- Number of LSAs: 2:此报文中包含 2 个 LSA。
- LSA - type 1 (Router - LSA), len 48
- 这是类型 1 的 LSA,即 Router - LSA,长度为 48 字节。
- LS Age (seconds): 1:LSA 的年龄为 1 秒。
- Do Not Age Flag: 0:没有设置 “不老化” 标志。
- Options: 0x02, (E) External Routing
- 选项字段值为 0x02,表示支持外部路由。
- LS Type: Router - LSA (1)
- 再次确认这是 Router - LSA。
- Link State ID: 192.168.10.254:链路状态标识。
- Advertising Router: 192.168.10.254:通告路由器。
- Sequence Number: 0x80000006:LSA 的序列号。
- Checksum: 0x4c7a:校验和。
- Length: 48:LSA 长度。
- Flags: 0x00:标志位。
- Number of Links: 2:此 Router - LSA 包含 2 条链路信息。
- Type: Stub, ID: 192.168.10.0, Data: 255.255.255.0, Metric: 1:第一条链路是 Stub(末节)链路,链路 ID 为 192.168.10.0,链路数据是子网掩码 255.255.255.0,度量值为 1。
- Type: Transit, ID: 12.1.1.1, Data: 12.1.1.1, Metric: 1:第二条链路是 Transit(中转)链路,链路 ID 为 12.1.1.1,链路数据也是 12.1.1.1,度量值为 1。
- LSA - type 2 (Network - LSA), len 32
- 这是类型 2 的 LSA,即 Network - LSA,长度为 32 字节。
- LS Age (seconds): 1:LSA 的年龄为 1 秒。
- Do Not Age Flag: 0:没有设置 “不老化” 标志。
- Options: 0x02, (E) External Routing
- 选项字段值为 0x02,表示支持外部路由。
- LS Type: Network - LSA (2)
- 确认这是 Network - LSA。
- Link State ID: 12.1.1.1:链路状态标识。
- Advertising Router: 192.168.10.254:通告路由器。
- Sequence Number: 0x80000001:LSA 的序列号。
- Checksum: 0x0c4a:校验和。
- Length: 32:LSA 长度。
- Netmask: 255.255.255.0:网络掩码。
- Attached Router: 192.168.10.254和Attached Router: 12.1.1.2:连接到该网络的路由器。
(5)LSACK 报文:类型值为 5,用于对收到的 LSU 报文进行确认,确保链路状态信息的可靠传输。当发送方收到 LSACK 报文后,就知道对方已经成功接收了自己发送的 LSA。
- LSA - type 1 (Router - LSA), len 48
- 这是一个 Router - LSA(类型 1 链路状态通告),长度为 48 字节。
- LS Age (seconds): 1:LSA 的年龄是 1 秒。
- Do Not Age Flag: 0:未设置 “不老化” 标志。
- Options: 0x02, (E) External Routing
- 选项字段值为 0x02,表示支持外部路由。
- 同时显示了该路由器不支持 DN(Down)、DC(Demand Circuits)、L(LLS Data block)、N(NSSA)、MC(Multicast)和 MT(Multi - Topology Routing),但支持外部路由(E)。
- LS Type: Router - LSA (1)
- 再次确认这是 Router - LSA 类型。
- Link State ID: 12.1.1.2:链路状态 ID 为 12.1.1.2。
- Advertising Router: 12.1.1.2:通告路由器为 12.1.1.2。
- Sequence Number: 0x80000008:LSA 的序列号。
- Checksum: 0x9036:校验和。
- Length: 48:长度为 48 字节。
- LSA - type 2 (Network - LSA), len 32
- 这是一个 Network - LSA(类型 2 链路状态通告),长度为 32 字节。
- LS Age (seconds): 1:LSA 的年龄是 1 秒。
- Do Not Age Flag: 0:未设置 “不老化” 标志。
- Options: 0x02, (E) External Routing
- 选项字段值为 0x02,表示支持外部路由。其他不支持的选项与第一张图片相同。
- LS Type: Network - LSA (2)
- 确认这是 Network - LSA 类型。
- Link State ID: 23.1.1.2:链路状态 ID 为 23.1.1.2。
- Advertising Router: 12.1.1.2:通告路由器为 12.1.1.2。
- Sequence Number: 0x80000002:LSA 的序列号。
- Checksum: 0x5ba6:校验和。
- Length: 32:长度为 32 字节。