Network OSPF DR与BDR

DR,BDR的选举是为了避免在广播多路访问网络上产生过多的邻接关系。

DR 在网络中的 LSDB 同步方面有着关键性的作用,它负责侦听网络中的拓扑变更信息并将变更信息通知给其他路由器。它为网络生成 Type-2 LSA(一种 LSA 类型),在该 LSA 中显示出了连接在这MA 网络的所有 OSPF 路由器的 Router-ID ,其中也包括 DR 自己。 BDR 会监控 DR 的状态,并在当DR发生故障时接替它的工作。

华为数通产品的接口 DR 优先级缺省为1,这个值可以通过 ospf dr-priority 命令修改(该命令需在接口视图下执行),取值范围是 0~255 。DR 优先级为0 的接口不具备 DR BDR
举资格。当接口激活 OSPF 后,它首先会检查网络上是否已经存在 DR,如果是则接受
已经存在的 DR( 因此 DR 的角色不具备可抢占性),否则拥有最高 DR 优先级的路由器
将成为 DR,当 DR 优先级相等时,拥有最大 Router-ID 的路由器将成为 DR。除了 DR
的选举, OSPF 还会进行 BDR 的选举, BDR 的选举过程与 DR 类似,此处不再赘述。

DR、BDR 的选举是在OSPF接口,同一网段中进行,如果有多个接口,多个网段会选举出多个DR、BDR.

在路由器上,使用 display ospf interface 命令可以查看某个特定接口的 OSPF 信息.

DR BDR 是一个接口级别的概念,所以”某台路由器是 DR”说法其实是不够严谨的,严格地说应该是: “某台路由器的某个接口在这个 MA 网络中DR”。在一个 MA 网络中, DR 负责确保接入该网络中的所有 OSPF 路由器拥有相同,的LSDB ,也就是确保这些 LSDB 的同步。 DR 使用组播目的 IP 地址 224.0.0.5 向该网络中发送 LSU 报文,所有的 OSPF 路由器都会侦昕这个目的 IP 地址,并与 DR 步自己LSDB 。而 DROther 感知到拓扑变化时,向 224.0.0.6 发送 LSU 报文以便通告这个变化, DR BDR 会侦昕这个组播地址。

NetWork OSPF网络链路类型

OSPF 的网络类型是协议根据接口的数据链路层封装自动设置的。

p2p 链路: 点到点链路不进行DR和BDR的选举,

P2MP链路: P2MP 网络中无需选举 DR BDR, OSPF P2MP 类型的
接口上通常以组播的方式发送 Hello 报文,以单播的方式发送其他报文

BMA链路:进行DR,BDR的选举

NBMA链路:会进行DR,BDR的选举

值得注意的是,两个路由器的直连接口即使网络类型不匹配,也能够建立起 OSPF
邻接关系,但是 OSPF 路由的计算却是极有可能出现问题的,这是因为接口的网络类型
会影响到路由器产生的 LSA 中对该接口的描述,而这将关系到路由器对网络拓扑的理解
以及路由的计算。因此, OSPF 邻居的互联接口网络类型必须一致。

缺省情况下,接口的网络类型根据物理接口选择:

  • 以太网接口的网络类型为广播(Broadcast)。
  • 串口(封装PPP协议或HDLC协议时)的网络类型为P2P。
  • ATM和Frame-relay接口的网络类型为NBMA。

一般情况下,链路两端的OSPF接口的网络类型必须一致,否则双方不可以建立起邻居关系。

操作步骤

  1. 执行命令system-view,进入系统视图。
  2. 执行命令interface interface-type interface-number,进入运行OSPF的接口视图。
  3. 执行命令ospf network-type { broadcast | nbma | p2mp | p2p [ peer-ip-ignore ] },配置OSPF接口的网络类型。缺省情况下,接口的网络类型根据物理接口而定。以太网接口的网络类型为广播,串口和POS口(封装PPP协议或HDLC协议时)网络类型为P2P,ATM和Frame-relay接口的网络类型为NBMA。当用户为接口配置了新的网络类型后,原接口的网络类型将被替换。根据实际情况配置接口的网络类型,例如:
    • 如果接口的网络类型是广播,但在广播网络上有不支持组播地址的路由器,可以将接口的网络类型改为NBMA网络。
    • 如果接口的网络类型是NBMA,且网络是全连通的,即任意两台路由器都直接可达。此时,可以将接口类型改为广播网络,并且不必再配置邻居路由器。
    • 如果接口的网络类型是NBMA,但网络不是全连通的,必须将接口的网络类型改为P2MP。这样,两台不能直接可达的路由器就可以通过一台与两者都直接可达的路由器来交换路由信息。接口的网络类型改为P2MP网络后,不必再配置邻居路由器。
    • 如果同一网段内只有两台路由器运行OSPF协议,建议将接口的网络类型改为P2P网络

OSPF 三张表

OSPF 使用三张表格以确保其正常运行。

1.邻居表( PeerTable 或Neighbor Table)

在建立邻接关系之前要协商成为邻居,当一个接口激活 OSPF 后,该接口将周期性地发送OSPF Hello 报文,同时也开始侦昕 Hello文从而发现直连链路上邻居。

当 OSPF 在接口发现邻居后,邻居信息就会被写入路由器的 OSPF领 居表,随即邻接关系 建立过程也就开始了

使用 display ospf peer 命令可查看设备 OSPF 邻居表。

通过查看邻居表,获悉直连邻居的接口IP ,查看和邻居的状态关系来确定是否建立了邻接关系。

Neighbors

Area 0.0.0.0 interface 10.1.34.1(GigabitEthernet0/0/2)’s neighbors
Router ID: 4.4.4.4 Address: 10.1.34.2
State: Full Mode:Nbr is Master Priority: 1
DR: 10.1.34.2 BDR: 10.1.34.1 MTU: 0
Dead timer due in 33 sec
Retrans timer interval: 5
Neighbor is up for 00:15:49
Authentication Sequence: [ 0 ]

2、链路状态数据库LSDB

LSDB 是LSA 信息的汇总。

OSPF 根据 LSDB 中的数据,运行 SPF 算法并且得到一棵以自己为根的、无环的最
短路径树
,基于这棵树, OSPF 能够发现到达网络中各个网段的最佳路径,从而得到路
由信息并将其加载到 OSPF 路由表中。

3、OSPF 路由表

Network 路由策略工具IP前缀列表

为什么ACL不能匹配指定的路由条目

它所匹配的对象是 IP 地址前缀,也就是路由条目。一个路由条目由目的网络地址〈也被称为 IP 前缀〉及掩码长度(也被称为前缀长度〉共同标识。使用 ACL 从一批路由中筛选出感兴趣的路由时,是无法指定被匹配对象的目的网络掩码长度的,但是 IP 前缀列表却可以做到,它除了能够指定被匹配对象的目的网络地址,还能指定目的网络掩码长度,从而实现对路由的精确匹配。

例如 :过滤掉 172.16.0.0/16 这条路由,您可能己经想到,使用 Route-Policy 可以解决这个问题。

acl 2000

rule deny source 172.16.0.0 0.0.0.0

rule permit

quit

route-policy hcnp permit node 10

if-match acl 2000

quit

ospf 1

import-route isis route-policy hcnp

ACL 只能用于匹配路由的目的网络地址,而对于目的网络掩码的匹配是无能为力的,因此目的网络地址为 172.16.0.0 的路由,无论目的网络掩码如何,都会被 ACL 规则 rule deny source 172.16.0.0 0.0 0.0 所匹配(例:172.16.1.0/24)

IP前缀列表

ip ip-prefix abcd index 10 permit 172.16.0.0 16

这条 IP 前缀列表的语句中指定了 IP 地址(1 72.1 6.0.0 )以及掩码长度(16)如此一来,该语句就精确地匹配了路由 172 .16.0.0/16 . IP 前缀列表除了能够精确匹配一条路由,还能够匹配 一组有规律的路由。

ip ip-prefix abcd index 10 greate-equal 24 less-equal 32

IP前缀列表匹配顺序

当一个 IP 前缀列表开始进行路由匹配时,将从序号最小的语句开始依序匹配,如果

路由不满足该语句中的条件,则继续匹配下一个语句。只要满足当前语旬,便不再继续
匹配后续的语句,被当前语句匹配住的路由,将根据该语句所定义的匹配模式 (Permit或
Deny) 判断是否被允许通过, Permit 为允许, Deny 为拒绝。另外,在 IP 前缀列表的
末尾隐含着一条拒绝所有的语句,因此一个对象若不满足任何一个语旬,则该对象被视
不被该前缀列表允许通过。

举例

(1) ip ip-prefix aa index 10 permit 172.16.0.0 24

(2) ip ip-prefix bb index 10 permit 172.16.0.0 16 less-equal 24

(3) ip ip-prefix cc index 10 permit 172.16.0.0 16 greater-equal 24

(4) ip ip-prefix dd index 10 permit 172.16.0.0 16 greater-equal 24 less-equal 30

(5) ip ip-prefix ee index 10 deny 172.16.0.0 30

ip ip-prefix ee index 20 permit 172.16.0.0 24

(6)ip ip-prefix ff index 10 permit 0.0.0.0 0 less-equal 32

(7) ip ip-prefix gg index 10 deny 172.16.0.0 30

应用场合

1、在路由策略中的应用

route-policy hcnp permit node 10

if-match ip-prefix abcd

2、在过滤策略中的应用

ospf 1

import-route rip

filter-policy ip-prefix abcd export rip