华为交换机,配置OSPF与BFD联动示例

2023-12-18 13:27:37

OSPF简介

定义

开放式最短路径优先OSPF(Open Shortest Path First)是IETF组织开发的一个基于链路状态的内部网关协议(Interior Gateway Protocol)。

  • OSPF把自治系统AS(Autonomous System)划分成逻辑意义上的一个或多个区域;

  • OSPF通过链路状态通告LSA(Link State Advertisement)的形式发布路由;

  • OSPF依靠在OSPF区域内各设备间交互OSPF报文来达到路由信息的统一;

  • OSPF报文封装在IP报文内,可以采用单播或组播的形式发送。

目前针对IPv4协议使用的是OSPF Version 2(RFC2328);针对IPv6协议使用OSPF Version 3(RFC2740)。如无特殊说明,本文中所指的OSPF均为OSPF Version 2。

优点

在OSPF出现前,RIP是网络上使用最广泛的IGP协议。但随着网络的快速成长和扩展,RIP的某些限制可能会导致其在大型网络中不再适用,OSPF则能够解决RIP所面临的诸多问题。如表1所示。

此外,OSPF还有以下优点:

  • OSPF可以采用组播形式收发报文,这样可以减少对未运行OSPF的路由器的影响。

  • OSPF支持无类型域间选路(CIDR)。

  • OSPF支持对等价路由进行负载分担。

  • OSPF支持报文验证

OSPF与其它协议联动

OSPF与BFD联动

双向转发检测BFD(Bidirectional Forwarding Detection)是一种用于检测转发引擎之间通信故障的检测机制。

BFD对两个系统间的、同一路径上的同一种数据协议的连通性进行检测,这条路径可以是物理链路或逻辑链路,包括隧道。

OSPF与BFD联动就是将BFD和OSPF协议关联起来,将BFD对链路故障的快速感应通知OSPF协议,从而加快OSPF协议对于网络拓扑变化的响应。

网络上的链路故障或拓扑变化都会导致设备重新进行路由计算,所以缩短路由协议的收敛时间对于提高网络的性能是非常重要的。

由于链路故障是无法完全避免的,因此,加快故障感知速度并将故障快速通告给路由协议是一种可行的方案。BFD和OSPF相关联,一旦与邻居之间的链路出现故障,BFD的快速性能够加快OSPF的收敛速度。

OSPF与BFD联动的原理如图1所示。

  1. SwitchA、SwitchB、SwitchC之间建立OSPF邻居关系。

  2. 邻居状态到达Full状态时通知BFD建立BFD会话。

  3. SwitchA到SwitchB的路由出接口为GE0/0/2,当这两台设备间的链路出现故障后,BFD首先感知到并通知SwitchA。

  4. SwitchA处理邻居Down事件,重新进行路由计算,新的路由出接口为GE0/0/1,经过SwitchC到达SwitchB。

OSPF与BGP联动

当有新的设备加入到网络中,或者设备重启时,可能会出现在BGP收敛期间内网络流量丢失的现象。这是由于IGP收敛速度比BGP快而造成的。

通过使能OSPF与BGP联动特性可以解决这个问题。

在存在备份链路的情况下,BGP在链路回切时,由于路由收敛速度滞后于OSPF路由收敛速度,从而造成流量丢失。

如图2所示,四台设备SwitchA、SwitchB、SwitchC、SwitchD之间运行OSPF协议,并建立IBGP连接。SwitchC为SwitchB的备份设备。当网络环境稳定时,BGP与OSPF在设备上是完全收敛的。

正常情况下,从SwitchA到10.3.1.0/30的流量会途经SwitchB。当SwitchB发生故障后,流量切换到SwitchC。SwitchB故障恢复以后,流量回切到SwitchB,此时会有流量丢失。

这是因为,在流量回切到SwitchB的过程中,IGP收敛速度比BGP快,因此OSPF先收敛,BGP还没有完成收敛,导致SwitchB不知如何到达10.3.1.0/30。

这样,当从SwitchA去往10.3.1.0/30的流量被发送给SwitchB时,由于没有必要的路由选择信息,这些流量就会被丢弃。

使能了OSPF与BGP联动特性的设备会在设定的联动时间内保持为Stub路由器,也就是说,该设备发布的LSA中的链路度量值为最大值(65535),从而告知其它OSPF设备不要使用这个路由器来转发数据。

图2中,在RoutetB上使能BGP联动,这样,在BGP收敛完成前,SwitchA不把流量转发到SwitchB上,而是继续使用备份设备SwitchC转发流量,直到SwitchB上的BGP路由完成收敛。

OSPF-LDP联动

在存在主备链路的网络中,当主链路故障恢复后,流量会从备份链路切换到主链路。

由于IGP的收敛在LDP会话建立之前完成,导致旧的LSP已经删除,新的LSP还没有建立,因此LSP流量中断。

如图3所示,PE1-P1-P2-P3-PE2为主链路,PE1-P1-P4-P3-PE2为备份链路。

主链路发生故障,流量从主链路切换到备份链路。主链路故障恢复,流量从备份链路回切到主链路,此时流量会有较长时间的中断。

通过在P1和P2上配置标签分发协议LDP(Label Distribution Protocol)和IGP同步功能,能够缩短流量从备份链路切换到主链路时的中断时间。

LDP和IGP同步的基本原理是:通过抑制IGP建立邻居关系来推迟路由的回切,直至LDP完成收敛。也就是在主链路的LSP建立之前,先保留备份链路,让流量继续从备份链路转发,直至主链路的LSP建立成功,再删除备份链路。

LDP和IGP同步包括三个定时器:

  • Hold-down

  • Hold-max-cost

  • Delay

当主链路故障恢复后,路由器进行以下操作:

  1. 启动Hold-down定时器,IGP接口先不建立IGP邻居,等待LDP会话的建立。

  2. Hold-down定时器超时后,启动Hold-max-cost定时器。IGP在本地路由器的链路状态通告中,向主链路通告接口链路的最大metric值。

  3. 故障链路的LDP会话重新建立以后,启动Delay定时器等待LSP的建立。

  4. Delay定时器超时以后,无论IGP的状态如何,LDP都通知IGP同步流程结束。

实验需求

如中所示,S1、S2和S3之间运行OSPF,S1和S2之间的交换机仅作透传功能(这里移除了该交换机,如要添加则需要关闭STP功能)。现在需要S和S2能快速感应它们之间的链路状态,当链路S1-S2发生故障时,业务能快速切换到备份链路S1-S3-S2上。

?

注:请确保该场景下互联接口的STP处于未使能状态。因为在使能STP的环形网络中,如果用交换机的VLANIF接口构建三层网络,会导致某个端口被阻塞,从而导致三层业务不能正常运行。?

实验思路

采用如下思路配置OSPF与BFD联动:

  1. 在各交换机上配置OSPF基本功能,实现整个OSPF网络的互通。

  2. 在各交换机上配置OSPF与BFD联动功能,实现当SwitchA和SwitchB之间的链路出现故障时快速的切换到备份链路。

实验步骤
  1. 配置各接口所属的VLAN

    # 配置S1。S2和S3的配置与S1类似。

<Huawei>system-view 
Enter system view, return user view with Ctrl+Z.	
[Huawei]sysname S1
	
[S1]undo info-center enable 
Info: Information center is disabled.
	
[S1]vlan batch 10 30
Info: This operation may take a few seconds. Please wait for a moment...done.
	
[S1]interface GigabitEthernet 0/0/1	
[S1-GigabitEthernet0/0/1]port link-type trunk 	
[S1-GigabitEthernet0/0/1]port trunk allow-pass vlan 10

[S1-GigabitEthernet0/0/1]interface GigabitEthernet 0/0/2	
[S1-GigabitEthernet0/0/2]port link-type trunk 	
[S1-GigabitEthernet0/0/2]port trunk allow-pass vlan 30	
[S1-GigabitEthernet0/0/2]quit 

? ? 2. 配置各VLANIF接口的IP地址

? ? ? ? # 配置S1。S2和S3的配置与S1类似。

[S1]interface Vlanif 10	
[S1-Vlanif10]ip address 10.1.1.1 24

[S1-Vlanif10]interface Vlanif 30	
[S1-Vlanif30]ip address 10.3.3.1 24	
[S1-Vlanif30]quit 

? ? 3. 配置OSPF基本功能

? ? ? ? ?# 配置S1。

[S1]ospf 1 router-id 10.10.10.1	
[S1-ospf-1]area 0
[S1-ospf-1-area-0.0.0.0]network 10.1.1.0 0.0.0.255	
[S1-ospf-1-area-0.0.0.0]network 10.3.3.0 0.0.0.255	
[S1-ospf-1-area-0.0.0.0]quit 	
[S1-ospf-1]quit 

? ? ? ? # 配置S2。

[S2]ospf 1 router-id 10.10.10.2	
[S2-ospf-1]area 0	
[S2-ospf-1-area-0.0.0.0]network 10.2.2.0 0.0.0.255	
[S2-ospf-1-area-0.0.0.0]network 10.3.3.0 0.0.0.255	
[S2-ospf-1-area-0.0.0.0]network 172.16.1.0 0.0.0.255	
[S2-ospf-1-area-0.0.0.0]quit 	
[S2-ospf-1]quit 

? ? ? ?# 配置S3。

[S3]ospf 1 router-id 10.10.10.3	
[S3-ospf-1]area 0	 	
[S3-ospf-1-area-0.0.0.0]network 10.1.1.0 0.0.0.255	
[S3-ospf-1-area-0.0.0.0]network 10.2.2.0 0.0.0.255	
[S3-ospf-1-area-0.0.0.0]quit	
[S3-ospf-1]quit 

? ? ???# 配置完成后,执行命令display ospf peer,可以看到S1,S2和S3之间互相建立了邻接关系。以S1的显示结果为例。

? ? ? # 查看S1的OSPF路由表的信息,可以看到去往S2和S3的路由表项。而去往目的网段172.16.1.0/24的路由下一跳地址为10.3.3.2,说明流量在链路S1→S2上传输。

? 4. 配置OSPF与BFD联动

? ? ?# 在S1上配置OSPF与BFD联动功能。

[S1]bfd 	
[S1-bfd]quit 	
[S1]ospf 1	
[S1-ospf-1]bfd all-interfaces enable 	
[S1-ospf-1]quit 

? ? #在S2上配置OSPF与BFD联动功能。

[S2]bfd 	
[S2-bfd]quit 
	
[S2]ospf 1
[S2-ospf-1]bfd all-interfaces enable 	
[S2-ospf-1]quit 

? ? # 在S3上配置OSPF与BFD联动功能。

[S3]bfd 	
[S3-bfd]quit 
	
[S3]ospf 1	
[S3-ospf-1]bfd all-interfaces enable 	
[S3-ospf-1]quit 

? ? # 配置完成后,在S1或S2、S3上执行display ospf bfd session all命令,可以看到BFD会话的状态为Up。以S1的显示为例。

5. 检查配置结果

? ? # 对S2的GE0/0/1接口执行shutdown命令,模拟链路故障。

[S2]interface GigabitEthernet 0/0/1	
[S2-GigabitEthernet0/0/1]shutdown 	
[S2-GigabitEthernet0/0/1]quit

? ?# 在S1上查看OSPF路由表。

? ? 可以看出在链路S1-S2出现故障后,备份链路S1-S3-S2开始生效,即去往目的网段172.16.1.0/24的路由下一跳地址变成了10.1.1.2。

S2 配置

<Huawei>system-view 
Enter system view, return user view with Ctrl+Z.	
[Huawei]sysname S2
	
[S2]undo info-center enable 
Info: Information center is disabled.	
	
[S2]vlan batch 20 30 40
Info: This operation may take a few seconds. Please wait for a moment...done.
	
[S2]interface GigabitEthernet 0/0/1	
[S2-GigabitEthernet0/0/1]port link-type trunk 	
[S2-GigabitEthernet0/0/1]port trunk allow-pass vlan 30

[S2-GigabitEthernet0/0/1]interface GigabitEthernet 0/0/2r	
[S2-GigabitEthernet0/0/2]port link-type trunk 	
[S2-GigabitEthernet0/0/2]port trunk allow-pass vlan 20

[S2-GigabitEthernet0/0/2]interface GigabitEthernet 0/0/3	
[S2-GigabitEthernet0/0/3]port link-type trunk 	
[S2-GigabitEthernet0/0/3]port trunk allow-pass vlan 40	
[S2-GigabitEthernet0/0/3]quit 
	
[S2]interface Vlanif 20	
[S2-Vlanif20]ip address 10.2.2.2 24

[S2-Vlanif20]interface Vlanif 30	
[S2-Vlanif30]ip address 10.3.3.2 24

[S2-Vlanif30]interface Vlanif 40	
[S2-Vlanif40]ip address 172.16.1.1 24	
[S2-Vlanif40]quit 
	
[S2]ospf 1 router-id 10.10.10.2	
[S2-ospf-1]area 0	
[S2-ospf-1-area-0.0.0.0]network 10.2.2.0 0.0.0.255	
[S2-ospf-1-area-0.0.0.0]network 10.3.3.0 0.0.0.255	
[S2-ospf-1-area-0.0.0.0]network 172.16.1.0 0.0.0.255	
[S2-ospf-1-area-0.0.0.0]quit 	
[S2-ospf-1]quit 

S3 配置

<Huawei>system-view 
Enter system view, return user view with Ctrl+Z.	
[Huawei]sysname S3
	
[S3]undo info-center enable 
Info: Information center is disabled.
	
[S3]interface GigabitEthernet 0/0/1	
[S3-GigabitEthernet0/0/1]port link-type trunk 	
[S3-GigabitEthernet0/0/1]port trunk allow-pass vlan 10

[S3-GigabitEthernet0/0/1]interface GigabitEthernet 0/0/2	
[S3-GigabitEthernet0/0/2]port link-type trunk 	
[S3-GigabitEthernet0/0/2]port trunk allow-pass vlan 20
[S3-GigabitEthernet0/0/2]quit
		
[S3]vlan batch 10 20
Info: This operation may take a few seconds. Please wait for a moment...done.

[S3]interface Vlanif 10	
[S3-Vlanif10]ip address 10.1.1.2 24

[S3-Vlanif10]interface Vlanif 20	
[S3-Vlanif20]ip address 10.2.2.1 24	
[S3-Vlanif20]quit 
	
[S3]ospf 1 router-id 10.10.10.3	
[S3-ospf-1]area 0 	
[S3-ospf-1-area-0.0.0.0]network 10.1.1.0 0.0.0.255	
[S3-ospf-1-area-0.0.0.0]network 10.2.2.0 0.0.0.255	
[S3-ospf-1-area-0.0.0.0]quit	
[S3-ospf-1]quit 

文章来源:https://blog.csdn.net/2301_77023501/article/details/135056048
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。