CCIE学习(37)―― OSPF数据库交换(二)

LAN 中的指定路由器
OSPF 通过指定路由器( designated router, DR )来优化 LSA 的洪泛过程。如果不使用 DR ,共享一条数据链路的每对路由器都会建立完全的邻接关系。例如,如果 LAN 中有六个路由器,在没有 DR 的情况下,存在 15 个路由器对,这意味着要建立 15 次完全邻接关系,显然这样的效率是无法让人满意的。而 DR (或后备 DR ,即 BDR )的使用,可以有效地减少冗余 LSA 的不必要交换。
(注意: DR 还有另一个主要功能,它可以用来创建表示子网的 LSA 类型 2 。)
步骤如下:
1 R1 发送 DD 到所有 DR 多点传送地址( 224.0.0.6 );
2 DR 用同样的 DD 包应答;
3 DR 将同样的 DD 包再多点传送给所有 SPF 路由器( 224.0.0.5 )。
使用 show ip ospf neighbor 命令可以查看 R1 的邻接路由器状态,如下:
DR BDR 与所有邻接路由器建立完全邻接关系,而两个非 DR BDR )路由器不能建立这种关系,它们仅停留在 2-way 状态,这表示它们通过了 Hello 消息的参数匹配检查,但是不再进行后续 DD 包的交换。
这里再明确一下两个概念之间的差别:
1 )邻接路由器( neighbors ):两个路由器互相连通,它们交换 Hello 消息,且参数匹配。
2 )邻接关系( adjacent ):两个邻接路由器直接进行完全的 DD LSU 包交换。
 
DR 的选举
DR 的选举在路由器成为 neighbors 之后( 2-way 状态)开始,在发送 DD 包并进入 ExStart 状态之前完成。当在 2-way 状态时,如果接收到的 Hello 消息声明 DR 0.0.0.0 ,这意味着现在还没有选举出 DR ,需要展开选举进程(一般这种情况发生在 LAN 中断恢复后),为了让所有路由器都参与选举, OSPF 会设置一个等待时间,其值与 Dead 定时器一样。如果接收到 Hello 消息已经列出 DR RID ,那么路由器不用选举,而是保留 Hello 中所声明的当前 DR (一般这种情况发生在单个路由器失去 LAN 连接后又恢复时)。
DR/BDR 的选举规则:
1 )所有 OSPF 优先权在 1-255 之间的路由器在发送的 Hello 中将 DR 字段置为自身 RID 来参与选举;
2 )路由器检查接收的 Hello ,查看其它路由器的优先权设置、 RID 以及是否参选;
3 )如果在接收到的 Hello 中发现更有竞争力的 DR 参选者,路由器就不再参选,而是认为该
参选者应予当选;
4 )认为参选者更有竞争力的首要条件是其有更高的优先权;
5 )认为参选者更有竞争力的其次条件是其有更高的 RID
6 )路由器并未参选 DR ,但拥有更高的优先权(或在优先权一样时,拥有更高的 RID ),则成为 BDR
7 )如果在选举完后又来了新的路由器参选,或者原路由器提升了其优先权,它不能剥夺已有 DR BDR )并接替其位置。
8 DR 选定后如果失效,则 BDR 接替其位置成为 DR ,同时选举新的 BDR
 
WAN 中的 DR OSPF 网络类型
DR LAN 中的使用可以提升 LSA 洪泛的效率(多路由器时)。同样,在非广播式多接入网络( NBMA )中,也可以选择使用 DR 来提升效率。
对每个接口, Cisco 基于 OSPF 网络类型来配置其是否使用 DR 以及其他一些关键属性,这主要包括:
1 )是否在该接口选举 DR
2 )是静态配置邻接路由器(使用 neighbor 命令),还是通过多点传送 Hello 包来动态发现邻接路由器;
3 )是否允许在同一子网内有两个以上的邻接路由器。
默认情况下, LAN 接口使用的 OSPF 网络类型是 broadcast ,此时选举 DR ,动态发现邻接路由器,并允许同一子网有两个以上路由器。对于 HDLC PPP 连接, OSPF 默认使用 point-to-point 的网络类型,此时不选举 DR (因为没必要),动态发现邻接路由器,同一子网只有两个 IP 地址。
OSPF 网络类型可以通过 ip ospf network type 接口子命令来设置。 OSPF 网络类型如下表所示:
接口类型
是否使用 DR/BDR
默认 Hello 间隔
是否需要 neighbor 命令?
同一子网是否允许两台以上的主机
broadcast
10
point-to-point
10
nonbroadcast NBMA
30
point-to-multipoint
30
point-to-multipoint nonbroadcast
30
loopback
 
 
 
●在 NBMA 网络上的 OSPF 网络类型
对于帧中继上的 OSPF ,网络类型可能用起来有点麻烦,主要有如下一些需要注意的地方:
1 )确保默认的 Hello/Dead 定时器不会导致 Hello 参数匹配性检查失败。
2 )一台路由器希望参选 DR ,而另一台路由器不参选,此时邻接关系可以建立并交换完全的 LSA 。但是, show 命令的输出却可能有问题,下一跳路由器可能不可达。所以,确保在同一 NBMA 子网中的所有路由器使用的 OSPF 网络类型要不都使用 DR ,要不都不使用 DR
3 )如果使用 DR DR BDR 到子网中的其他所有路由器必须都有一条 PVC 连接,否则,它们之间无法学习路由。
4 )如果一台路由器使用静态 neighbor 命令配置了,那么 PVC 另一端的路由器就不需要再使用 neighbor 命令,但是为了清晰起见,还是两端同时配置为好。
帧中继上的 OSPF 有两个非常简单的网络类型选项: point-to-point (默认)和 point-to-multipoint ,它们都不需要 DR 和使用 neighbor 命令。
 
OSPF 网络类型( NBMA )配置实例
配置说明:
1 R1 R3 R5 的配置是正确的,使用的是 OSPF 网络类型 nonbroadcast
2 R6 配置有问题(遗漏了 ip ospf priority 命令),导致其错误地选为 DR
3 R4 仍然用的是默认网络类型 point-to-point ,用 show 命令可以看出问题。
配置:
1 R1 的配置:
router ospf 1
 log-adjacency-changes detail
 network 0.0.0.0 255.255.255.255 area 0
 neighbor 10.1.111.3
 neighbor 10.1.111.4
 neighbor 10.1.111.5
 neighbor 10.1.111.6
2 R3 的配置:
interface Serial0/0.1 multipoint
 ip address 10.1.111.3 255.255.255.0
 ip ospf priority 0
 frame-relay interface-dlci 100
!
router ospf 1
 network 0.0.0.0 255.255.255.255 area 0
3 R4 的配置:
router ospf 1
 network 0.0.0.0 255.255.255.255 area 0
4 R5 的配置:
interface Serial0.1 multipoint
 ip address 10.1.111.5 255.255.255.0
 ip ospf priority 0
 frame-relay interface-dlci 100
!
router ospf 1
 network 0.0.0.0 255.255.255.255 area 0
5 R6 的配置:
router ospf 1
 network 0.0.0.0 255.255.255.255 area 0
注意事项:
1 OSPF neighbor 命令定义的邻接路由器优先权(默认 0 )被接收到的 Hello 消息中邻接路由器所声明的优先权所覆盖,这就是上面配置中 R6 会选举为 DR 的原因。
2 neighbor 命令只需要在一个路由器上配置即可。
3 R4 因为配置为 point-to-point 网络类型,所以它会跟 R1 建立完全邻接关系,即使如此,它却不能通过帧中继网络路由包到 R3 R5 R6 ,这可能导致问题出现。
 
SPF (最短路径优先)计算
SPF 算法用于检查 LSDB 中的 LSA 来得出路由权值的数据模型。该数据模型包括:
1 )路由器
2 )链路
3 )链路开销
4 )链路当前状态
SPF 会发现到每个子网的所有可能路由,并对路由器每个外发接口计算路由开销( cost ),然后选择开销最小的路径, OSPF 再将这些最小开销路由载入路由表。如上图, S2 计算两条到子网 10.5.1.0/24 的可能路径,发现最短的是通过 S2 VLAN 1 接口( R2 为下一跳路由器)。
 
●稳定状态下的操作
网络稳定下来之后, OSPF 会继续保持的操作:
1 )每台路由器基于接口 hello 间隔,发送 Hello
2 )每台路由器期待在 dead 间隔之内接收到邻接路由器的 Hello 消息,如果没接收到,则认为该邻接路由器失效。
3 )每台路由器基于每条 LSA 的链路状态刷新( LSRefresh )间隔(默认 30 分钟)重新广播 LSA
4 )每台路由器希望在每条 LSA Maxage 定时器(默认 60 分钟)时限内刷新 LSA

你可能感兴趣的:(学习,Cisco,休闲,ospf,CCIE)