HCIP数通-路由 03-OSPF邻居建立
OSPF有四种常见的网络类型:广播(Broadcast/MA)、点对点(P2P)、非广播多路访问(NBMA)和点对多点(P2MP)。在不同网络类型中,OSPF报文如Hello、DD、LSR、LSU和LSAck的发送形式各异,例如Hello报文在P2P和P2MP网络中通过组播发送,而在NBMA网络中则使用单播。OSPF报头包含版本、类型、长度、路由器ID、区域ID、校验和等信息,用于不同网络环境下的通信和数据交换。
广播类型网络(Broadcast/MA)
默认链路协议为Ethernet、FDDI,该链路的OSPF网络类型为广播类型。
Hello、LSU、LSACK通过组播发送,DD与LSR通过单播发送。
默认Hello10秒,Dead40秒。
(图片在CSDN借的,非原创)
(MA网络建立过程的数据包)Hello包发送的目标地址为224.0.0.5
邻居的RouterID列表,在这里看到自己的RouterID就进入toway状态
如果不是DR Other和BDR Other 就会进入临接过程,发送DD报文,进入EXStart状态
第一种DD报文(空DD报文):选主从 ->为了使用主sequence number来保证可靠性
主 发送数据,每一次sequence number +1
从 使用受到的主的sequence number 确认数据
以上确认方式为:隐式确认
主从选举过程(RouterID大的成为主 小的为从)
I位:初始化报文 (什么摘要都不带,只是选主从的作用)
M位:还有更多的信息,标识未传完(DD摘要没同步完)
MS位 主 1代表主设备
如果后续发送的DD报文带摘要 开始进入EXchange状态 随后I位置0
上图所示:
LS type类型
LS ID
Adv Router 同奥路由器的Router ID
Sequence number 从0x800000001开始每次更新会+1
LSR的三元组 (能唯一确认的一条LSA):
LS type类型
LS ID
Adv Router 同奥路由器的Router ID
LSU:回复的是多个LSA的详细信息集合
LSACK 显式确认 (LSU发的LSA必须都确认,如果没有确认就重传) 地址是224.0.0.5 确认的是LSA的完整信息
P2P 点对点网络(Point-to-Point)
- 默认链路为串口类型PPP、HDLC时,该链路的OSPF网络类型为P2P类型。
- 所有发送的OSPF报文(Hello,DD,LSR,LSU,LSACK)都通过组播
- 默认Hello10秒,Dead40秒。
P2P模式不检查接口 掩码
hello时间 10 dead时间 40
P2MP
点对多点网络(P2MP——point 2 multiple point)
- 点到多点,没有任何链路层协议被认为是P2MP的,管理员手动配置。
- Hello报文通过组播发送,其它通过单播。
- 默认Hello30秒,Dead120秒。 没有DR和BDR 检查接口 掩码 Hello用224.0.0.5 其他都是单播
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报文。
