OSPF的接口网络类型详解
OSPF的接口网络类型详解
OSPF的接口网络类型
OSPF协议中,不同类型的网络接口具有不同的工作方式。以下是各种网络类型及其对应的OSPF接口工作方式:
BMA(Broadcast Multi-Access):
工作方式:广播
邻居关系:可以建立多个邻居关系
DR选举:需要进行DR选举
Hello时间:10秒
Dead时间:40秒
P2P(Point-to-Point):
工作方式:点对点
邻居关系:只能建立一个邻居关系
DR选举:不需要进行DR选举
Hello时间:10秒
Dead时间:40秒
环回接口(虚拟接口):
工作方式:华为设备定义为P2P类型,思科定义为loopback类型
邻居关系:默认学习32位主机路由
Hello时间:10秒
Dead时间:40秒
P2MP(Point-to-Multipoint):
工作方式:点对多点
邻居关系:可以建立多个邻居关系
DR选举:不需要进行DR选举
Hello时间:30秒
Dead时间:120秒
NBMA(Non-Broadcast Multi-Access):
工作方式:非广播多访问
邻居关系:可以建立多个邻居关系
DR选举:需要进行DR选举
Hello时间:30秒
Dead时间:120秒
特殊说明:无法自动建立邻居关系
Vlink(虚拟链路):
工作方式:虚拟链路
Hello时间:10秒
Dead时间:40秒
DR选举:不需要进行DR选举
报文发送:以单播形式发送Hello报文
NBMA网络中的轮询和重传机制
在NBMA网络上,当邻居失效后,路由器将按照设定好的轮询时间间隔定期发送Hello报文以检测邻居是否上线。轮询时间间隔在修改时最少为Hello时间的四倍。
此外,还存在以下参数:
- Retransmit:邻居路由器重传LSA的间隔时间
- Transmit Delay:LSA延迟时间
- 该字段是针对LSA设置的,因为OSPF网络需要保证全网的LSDB数据库相同,而LSDB数据库中的每一个LSA是具备一个老化时间参数的,该参数也需要统一。
- 而LSA在链路中传递时,老化时间不会改变,导致最终数据不统一。
报文发送方式
- BMA类型:Hello、LSU、LSAck三种报文以组播形式通告,其他报文以单播形式通告
- P2P类型:所有报文使用组播形式发送
环回接口的特殊性
所有通过OSPF学习到的环回接口的路由,掩码信息均为32位主机路由。这是因为环回接口是一个模拟的接口,实际上并没有连接用户,所以没有其余的IP地址存在于环回接口之下,只有一个可用IP地址,故而使用32位掩码来直接标识。这可以避免环路或者路由黑洞的产生。
在OSPF中,环回接口的开销值恒定为0。
DR选举的等待计时器
在条件匹配中,会存在一个waiting计时器,该计时器等于该接口的死亡时间,当该时间超时,则代表DR选举失败,此时接口认为自己为DR设备,并且进入exstart状态。
OSPF接口网络类型的配置示例
[r3-LoopBack0]ospf network-type broadcast ----修改OSPF接口的网络类型参数为BMA
Tunnel接口的配置示例
interface Tunnel0/0/0
ip address 192.168.4.7 255.255.255.255
tunnel-protocol gre p2mp
source 107.0.0.7
interface Tunnel0/0/0
ip address 192.168.4.8 255.255.255.255
tunnel-protocol gre p2mp
source GigabitEthernet0/0/0
nhrp entry 192.168.4.7 107.0.0.7 register
[r7-Tunnel0/0/0]nhrp entry multicast dynamic
Tunnel接口的特殊处理
华为将tunnel接口的传输速率定义为64Kbps。这是因为华为想人为的将tunnel接口的开销值改大,从而让OSPF的选路尽量避开tunnel接口,而走其他接口。因为隧道接口会进行封装和解封装操作,导致资源消耗增加,数据转发效率降低。
在Hub-Spoke架构中,hub节点无法和spoke节点建立邻居关系,因为hub节点无法发送OSPF报文,原因在于在MGRE环境下,不允许组播行为出现,且hub节点发送的是单播报文,而hub节点的nhrp映射表中存在多个映射关系,无法选择,故数据报文无法发送。此时需要在hub节点开启伪广播功能,用单播实现组播行为。
hub节点的tunnel接口此时在OSPF的工作模式为P2P,故只能存在一个邻居,而导致其他spoke节点无法与hub节点建立邻居关系。此时需要将hub节点的接口网络类型进行修改。
DR选举失败指的是Waiting计时器超时。而条件匹配失败,指的是建立邻居的双方没有任何一方是DR或BDR的身份。
hub节点此时只能与一个spoke节点建立邻接关系,其他节点处于邻居关系,原因在于此时的所有spoke节点都不需要进行DR选举,而hub节点需要进行选举,最终导致选举失败。此时需要所有节点的接口网络类型均进行修改。
在Hub-Spoke架构中,只有中心节点可以连接每一个分支,而如果DR角色选举在spoke节点,就会导致LSA信息学习和分发不完整,导致全网路由学习缺失。此时需要干涉DR选举,将DR的位置固定在hub节点,让spoke节点放弃选举。
P2MP环境下的特殊行为
P2MP环境下,OSPF会主动学习邻居设备接口的IP地址,且自动生成该IP地址所对应的主机路由信息。
OSPF接口的网络类型修改,是全局操作,所有设备均需要修改为相同类型。
在P2MP环境中,Hello报文组播发送,其他报文单播发送。
在NBMA环境中,所有的OSPF数据报文均以单播形式发送。该环境中不允许组播或广播行为,故需要给每一台运行OSPF协议的设备手工指定其邻居IP地址,在OSPF进程中通过Peer IP命令,双方均需要配置。