4.2.1 路由 OSPF(OSPF常见4种网络类型、OSPF报头信息)
目录
- OSPF常见的4种网络类型
- 广播类型(Broadcast 或 MA)
- P2P
- NBMA
- P2MP
- OSPF报文发送形式
- 对于不同OSPF网络类型的组网
- OSPF报头信息
- 实际抓包分析
OSPF常见的4种网络类型
OSPF应用于不同网络类型下时的报文交互、工作机制都会有所不同。
以下四种网络类型中,我们常见且常用的网络类型就是广播类型。
广播类型(Broadcast 或 MA)
广播类型网络(Broadcast/MA)
-
默认链路协议为Ethernet、FDDI,该链路的OSPF网络类型为广播类型。
-
Hello、LSU、LSACK通过组播发送,DD与LSR通过单播发送。
-
默认Hello10秒,Dead40秒。
P2P
点对点网络(Point-to-Point)
-
默认链路为串口类型PPP、HDLC时,该链路的OSPF网络类型为P2P类型。
-
所有发送的OSPF报文(Hello,DD,LSR,LSU,LSACK)都通过组播
-
默认Hello10秒,Dead40秒。
NBMA
非广播-多路访问网络(Non-Broadcast Multiple Access,NBMA)
- 当OSPF链路工作于帧中继ATM、FR时,其OSPF链路的网络类型为NBMA。
- 所有OSPF报文通过单播发送
- 默认Hello30秒,Dead120秒
P2MP
点对多点网络(P2MP——point 2 multiple point)
- 点到多点,没有任何链路层协议被认为是P2MP的,管理员手动配置。
- Hello报文通过组播发送,其它通过单播。
- 默认Hello30秒,Dead120秒。
OSPF报文发送形式
@点到点P2P类型:当链路层协议是PPP、HDLC时,缺省情况下,OSPF认为网络类型是P2P。
在该类型的网络中,以组播形式(224.0.0.5)发送协议报文(Hello报文、DD报文、LSR报文、LSU报文、LSAck报文)。
@点到多点P2MP类型: 没有一种链路层协议会被缺省的认为是Point-to-Multipoint类型。点到多点必须是由其他的网络类型强制更改的。
常用做法是将非全连通的NBMA改为点到多点的网络。在该类型的网络中以组播形式(224.0.0.5)发送Hello报文,以单播形式发送其他协议报文(DD报文、LSR报文、LSU报文、LSAck报文)。
@NBMA类型:当链路层协议是ATM,FR,X.25时,缺省情况下,OSPF认为网络类型是NBMA。
在该类型的网络中,以单播形式发送协议报文(Hello报文、DD报文、LSR报文、LSU报文、LSAck报文),单播需要明确目的IP,故需要手动配置邻居。
@广播类型:当链路层协议是Ethernet、FDDI时,缺省情况下,OSPF认为网络类型是Broadcast。
在该类型的网络中,通常以组播形式发送Hello报文、LSU报文和LSAck报文。其中,224.0.0.5的组播地址为OSPF路由器的预留IP组播地址; 224.0.0.6的组播地址为OSPF DR的预留IP组播地址。以单播形式发送DD报文和LSR报文。
对于不同OSPF网络类型的组网
OSPF报头信息
OSPF用IP报文直接封装协议报文,协议号为89
。
OSPF分为5种报文:Hello报文
、DD报文
、LSR报文
、LSU报文
和LSAck报文
。
OSPF这五种报文具有相同的报文头格式,OSPF报头长度为24字节。
字段 | 长度 | 含义 |
---|---|---|
Version | 1字节 | 版本,OSPF的版本号。对于OSPFv2来说,其值为2。 |
Type | 1字节 | 类型,OSPF报文的类型,有下面几种类型: 1:Hello报文; 2:DD报文; 3:LSR报文; 4:LSU报文; 5:LSAck报文。 |
Packet length | 2字节 | OSPF报文的总长度,包括报文头在内,单位为字节。 |
Router ID | 4字节 | 发送该报文的路由器标识。 |
Area ID | 4字节 | 发送该报文的所属区域。 |
Checksum | 2字节 | 校验和,包含除了认证字段的整个报文的校验和。 |
AuType | 2字节 | 验证类型,值有如下几种表示, 0:不验证; 1:简单认证; 2:MD5认证。 |
Authentication | 8字节 | 鉴定字段,其数值根据验证类型而定。 当验证类型为0时未作定义; 类型为1时此字段为密码信息; 类型为2时此字段包括Key ID、MD5验证数据长度和序列号的信息。 MD5验证数据添加在OSPF报文后面,不包含在Authenticaiton字段中。 |