路由基础——静态路由与BFD联动

时间:2024-05-21 13:28:23

目录

案例1:静态路由与BFD联动

实验1

主机的配置

R1的配置

R2的配置

R3的配置

验证(主机pingR3,R3ping主机)

BFD-R1的配置

BFD-R2的配置

实验2

主机PC1的配置

主机PC2的配置

BFD-R1的配置

R2的配置

BFD-R3的配置


本篇就是介绍静态的配置

案例1:静态路由与BFD联动

实验1

在 实验1 中,我会将静态路由与BFD联动的东西讲解清楚。

静态路由配置起来非常方便、简单,然而其短板也是非常明显的——它无法根据拓 扑的变化作出动态响应。在图1-12中,R2通过以太网链路分别连接到出口路由器R1 R3R1R2之间隔着一台以太网交换机,这台以太网交换机不做任何配置,在 该网络中仅发挥数据帧透传的作用。

现在,网络的需求是R2能够访问10.9.9.0/24,而且在网络正常时,R2将到达 10.9.9.0/24的数据包转发给R1,而且当R1发生故障时,或者R1与R2之间的某段链路 发生故障时,R2自动将数据包的转发路径进行切换,将到达该网段的数据包转发给R3。 配置很简単:

路由基础——静态路由与BFD联动

[R2]ip route-static 10.9.9.0 24 10.1.12.1

[R2]ip route-static 10.9.9.0 24 10.1.23.3 preference 80

我模仿这个网络结构,制作了一个拓扑图,首先在使用BFD之前就要确保能够互通,(注意:我的拓扑图中R3的配置是上图的R2),相关的配置如下:

路由基础——静态路由与BFD联动

主机的配置

路由基础——静态路由与BFD联动

R1的配置

#
sysname R1

#
interface Ethernet0/0/0
 ip address 10.1.12.1 255.255.255.0
#
interface Ethernet0/0/1
 ip address 10.9.9.1 255.255.255.0

#
ip route-static 10.1.23.0 255.255.255.0 10.1.12.2

R2的配置

#
sysname R2

#
interface Ethernet0/0/1
 ip address 10.9.9.2 255.255.255.0

#
interface GigabitEthernet0/0/1
 ip address 10.1.23.3 255.255.255.0

#
ip route-static 10.1.12.0 255.255.255.0 10.1.23.2

R3的配置

#
sysname R3

#
interface GigabitEthernet0/0/0
 ip address 10.1.12.2 255.255.255.0
#
interface GigabitEthernet0/0/1
 ip address 10.1.23.2 255.255.255.0

#
ip route-static 10.9.9.0 255.255.255.0 10.1.12.1
ip route-static 10.9.9.0 255.255.255.0 10.1.23.3 preference 80

验证(主机pingR3,R3ping主机)

路由基础——静态路由与BFD联动

路由基础——静态路由与BFD联动

路由基础——静态路由与BFD联动

主机PC1 能够ping 通R3,而R3 也可以ping 通主机PC1,这样整个网络就打通了。

然而仅仅依靠上述配置是不够的,经过测试您会发现,当R3的GE0/0/0接口发生(进入到GE0/0/0,shutdown就可以了) 故障或者SW与R3互联的链路发生故障时,R3都能够感知到,此时GE0/0/0接口的物 理状态会切换为Down,使用该接口作为出接口的静态路由ip route-static 10.9.9.0 24 10.1.12.1也就失效了,R3会将其从路由表中删除,随后备份路由ip route-static 10.9.9.0 24 10.1.23.3 preference 80将会浮现出来。在这个过程中,从R3发往10.9.9.0/24的数据 流量可以实现平滑切换。但是如果R1发生故障或者R1与SW互联的链路发生故障时, R3是无法感知的。在这种情况F, R3的路由表中10.9.9.0/24路由的下一跳依然是 10 .1 12.1 ,而其实10.1.12.1已经不可达。这么一来,备份路由ip route-static 10.9.9 0 24 10.12.3.3也就无法浮现,从R3到达10.9.9.0/24的数据流量当然就会中断。

造成上述问题的根本原因是,静态一路由无法感知到网络拓扑的变化并作出动态响 应。有些技术或机制可以改良静态路由以便解决上述问题,BFD (Bidirectional Forwarding Detection,双向转发检测)就是这类技术之一。实际上,BFD是一种实现网 络可靠性的机制,它可被用于快速检测网络中的链路状况、IP可达性等。BFD可以与多 种协议或机制进行联动,以确保它们更加可靠地工作,例如静态路由、OSPF、IS.IS、 BGP、VRRP、PIM 及 MPLS LSP 等。

可以在R1及R3上部署BFD来检测双方直连接口的IP连通性。BFD 在R1及R3之间开始工作后,两者便会周期性地交互BFD报文,当R1及R3之间的连 通性产生问题时,双方的BFD报文交互也将发生问题,此时R1及R3都能通过BFD感 知到网络的变化。而当我们在R2上配置静态路由时,可将下一跳为R1的静态路由与 BFD进行联动,当BFD的检测状态为Up时,这条静态路由能够正常工作.而当BFD 检测状态为Down时,与之关联的静态路由会立即失效,从而使得备份路由能够浮现。

BFD-R1的配置

#**BFD功能:

[Rl]bfd

[Rl-bfd]quit

#创建一个BFD会话,会话名称为ab (该名称可自定义),对端IP地址为10.1.12.2:

[Rl]bfd ab bind peer-ip 10.1.12.2

[R1 -bfd-session-ab]^scriminator local 10   #该 BFD 会话的本地标识符

[R1 -bfd-session-ab]discriminator remote 20 #该 BFD 会话的远端标识符

[R1 -bfd-session-ab]commit                  #提交配置

需注意的是,在 R1 的 BFD 会话中,discriminator local 需与 R2 的 discriminator remote 相同,而它的 discriminator remote 需与 R2 的 discriminator local 相同。另外, BFD会话的名称只具有本地意义,双方无需相同。

BFD-R2的配置

[R2]bfd

[R2-bfd]quit

[R3-bfd] ba bind peer-ip 10.1.12.1

[R3-bfd-session bajdiscrimmator local 20

[R3-bfd-session-ba]discriminator remote 10

[R3-bfd-session-ba]commit

[R3-bfd-session-ba]quit

#其将下一跳为R1的静态路由与BFD会话ba进行联动:

[R3] ip route-static 10.9.9.0 255.255.255.0 10.1.12.1 track bfd-session ba

#配置浮动静态路由,下一跳为R3:

[R3] ip route-static 10.9.9.0 255.255.255.0 10.1.23.3 preference 80

 完成上述配置后,R1 及 R2便会进行BFD报文的交互。首先看一下R3的BFD的状态:

路由基础——静态路由与BFD联动

BFD的状态是Up的,因此与该BFD联动的静态路由此时将出现在路由表中。R3的路由表如下:

路由基础——静态路由与BFD联动

现在将R1连接SW的接口关闭,以便模拟R1发生故障的情况,R3将会弹出如下日志:

路由基础——静态路由与BFD联动

由于R1 与 R3之间的连通性已经出现了问题,BFD很快便能感知到,从上述日志的输出可以看出,BFD的状态已经切换到Down,查看一下会话状态:

路由基础——静态路由与BFD联动

由于静态路由 ip route-static 10.9.9.0 24 10.1.12.1 track bfd-session ba 与该 BFD 会话 进行了联动,因此一旦会话状态为Down,该条静态路由立即失效,如此一来,浮动路由便会出现在路由表中:

路由基础——静态路由与BFD联动

此时,从R3发往10.9.9.0/24的数据被转发给了 R2,流量实现了平滑切换。

当R1连接SW的接口从故障中恢复后,R1与R3之间的BFD继续工作,并且状态 切换为Up,此时下一跳为R1的静态路由将重新出现在路由表中,从R2发往10.9.9.0/24的数据流量会切换回R1。

实验2

BFD是一种双向转发检测机制,可以提供毫秒级的检测,可以实现链路的快速检测,BFD通过与上层路由协议联动,可以实现路由的快速收敛,确保业务的永续性。

BFD Echo报文采用UDP封装,目的端口号为3784,源端口号在49152到65535的范围内。目的IP地址为发送接口的地址,源IP地址由配置产生(配置的源IP地址要避免产生ICMP重定向)。

静态路由与BFD联动可为静态路由绑定BFD会话,利用BFD会话来检测静态路由所在链路的状态,具体过程如下:

当某条静态路由上的BFD会话检测到链路故障时,BFD会将故障上报系统,促使该路由失效,使该路由在IP路由表中不可见。当某条静态路由上的BFD会话检测到故障的链路重新建立成功时,BFD会上报系统,**该路由,使该路由重新出现在IP路由表中。

由于静态路由感知网络拓扑变化(只能知道直连网络的状况)并作出动态响应,而BFD(双向转发检测),能够快速检测网络中的链路状况。

路由基础——静态路由与BFD联动

主机PC1的配置

路由基础——静态路由与BFD联动

主机PC2的配置

路由基础——静态路由与BFD联动

BFD-R1的配置

#
sysname R1
#
bfd
#
interface Ethernet0/0/0
 ip address 192.168.0.1 255.255.255.0
#
interface GigabitEthernet0/0/0
 ip address 172.16.0.1 255.255.255.0
#
interface GigabitEthernet0/0/1
 ip address 172.16.2.1 255.255.255.0
#
bfd tobeijing bind peer-ip 172.16.2.2
 discriminator local 10
 discriminator remote 20
 commit
#
ip route-static 192.168.1.0 255.255.255.0 172.16.2.2 track bfd-session tobeijing

R2的配置

#
sysname R2
#
interface GigabitEthernet0/0/0
 ip address 172.16.0.2 255.255.255.0
#
interface GigabitEthernet0/0/1
 ip address 172.16.1.1 255.255.255.0
#
ip route-static 192.168.0.0 255.255.255.0 172.16.0.1
ip route-static 192.168.1.0 255.255.255.0 172.16.1.2

BFD-R3的配置

#
sysname R3
#
bfd
#
interface Ethernet0/0/0
 ip address 192.168.1.1 255.255.255.0
#
interface GigabitEthernet0/0/0
 ip address 172.16.1.2 255.255.255.0
#
interface GigabitEthernet0/0/1
 ip address 172.16.2.2 255.255.255.0
#
bfd toshanghai bind peer-ip 172.16.2.1
 discriminator local 20
 discriminator remote 10
 commit
#
ip route-static 192.168.0.0 255.255.255.0 172.16.2.1 track bfd-session toshanghai

(部分转载于https://www.cnblogs.com/lc24/p/11879045.html 和 https://www.cnblogs.com/Junewu/p/11823339.html