ipv4静态路由与静态BFD联动示例

news2024/9/27 7:26:09
静态路由简介

定义

静态路由是一种需要管理员手工配置的特殊路由

目的

静态路由在不同网络环境中有不同的目的:

  • 当网络结构比较简单时,只需配置静态路由就可以使网络正常工作。

  • 在复杂网络环境中,配置静态路由可以改进网络的性能,并可为重要的应用保证带宽。

  • 静态路由可在VPN实例中使用,主要用于VPN路由的管理。

BFD简介 

双向转发检测BFD(Bidirectional Forwarding Detection)是一种全网统一的检测机制,用于快速检测、监控网络中链路或者IP路由的转发连通状况。 

目的

为了减小设备故障对业务的影响,提高网络的可靠性,网络设备需要能够尽快检测到与相邻设备间的通信故障,以便及时采取措施,保证业务继续进行。在现有网络中,有些链路通常通过硬件检测信号,如SDH告警,检测链路故障,但并不是所有的介质都能够提供硬件检测。此时,应用就要依靠上层协议自身的Hello报文机制来进行故障检测。上层协议的检测时间都在1秒以上,这样的故障检测时间对某些应用来说是不能容忍的。在三层网络中,Hello报文检测机制无法针对所有路由来检测故障,如:静态路由。这对系统间互联互通定位故障造成困难

BFD协议就是在这种背景下产生的,BFD提供了一个通用的标准化的介质无关和协议无关的快速故障检测机制。具有以下优点:

  • 对相邻转发引擎之间的通道提供轻负荷、快速故障检测。这些故障包括接口、数据链路,甚至有可能是转发引擎本身。

  • 用单一的机制对任何介质、任何协议层进行实时检测

组网需求 

如图1所示,SwitchA通过SwitchB和NMS跨网段相连。在SwitchA上通过静态路由与NMS进行正常通信。在SwitchA和SwitchB之间实现毫秒级故障感知,提高收敛速度。

配置思路 
采用如下思路配置IPv4静态路由与静态BFD联动:

在SwitchA和SwitchB上配置BFD Session,在SwitchA和SwitchB之间实现毫秒级故障感知,提高收敛速度。

配置SwitchA到NMS的静态路由并绑定BFD Session,实现毫秒级故障感知,提高收敛速度。

操作步骤 

  • 配置各接口所属的VLAN

# 配置SwitchA。SwitchB的配置与SwitchA类似

[SwitchA]interface GigabitEthernet 0/0/1
[SwitchA-GigabitEthernet0/0/1]port link-type trunk	
[SwitchA-GigabitEthernet0/0/1]port trunk allow-pass vlan 10
[SwitchA-GigabitEthernet0/0/1]q
  • 配置各VLANIF接口的IP地址

# 配置SwitchA。SwitchB的配置与SwitchA类似。

[SwitchA]interface Vlanif 10
[SwitchA-Vlanif10]ip add	
[SwitchA-Vlanif10]ip address 10.1.1.1 24
[SwitchA-Vlanif10
  • 配置SwitchA和SwitchB间的BFD会话

# 在SwitchA配置与SwitchB间的BFD Session。

[SwitchA-Vlanif10]bfd
[SwitchA-bfd]quit	
[SwitchA]bfd aa bind peer-ip 10.1.1.2
[SwitchA-bfd-session-aa]discriminator local 10
[SwitchA-bfd-session-aa]discriminator remote 20
[SwitchA-bfd-session-aa]commit 
[SwitchA-bfd-session-aa]q
[SwitchA]

# 在SwitchB配置与SwitchA之间的BFD Session

[SwitchB-Vlanif10]bfd
[SwitchB-bfd]quit
[SwitchB]bfd bb bind peer-ip 10.1.1.1
[SwitchB-bfd-session-bb]discriminator local 20
[SwitchB-bfd-session-bb]discriminator remote 10
[SwitchB-bfd-session-bb]commit
[SwitchB-bfd-session-bb]q
[SwitchB]
  • 配置静态路由并绑定BFD会话

# 在SwitchA配置到外部网络的静态路由,并绑定BFD会话aa。

[SwitchA]ip route-static 10.2.2.0 24 10.1.1.2 track bfd-session aa
  • 验证配置结果

# 配置完成后,在SwitchA和SwitchB上执行display bfd session all命令,可以看到BFD会话已经建立,且状态为Up。SwitchA上的显示为例

[SwitchA]display bfd session all
--------------------------------------------------------------------------------
Local Remote     PeerIpAddr      State     Type        InterfaceName            
--------------------------------------------------------------------------------

10    20         10.1.1.2        Up        S_IP_PEER         -                  
--------------------------------------------------------------------------------
     Total UP/DOWN Session Number : 1/0

# 在SwitchA查看IP路由表,静态路由存在于路由表中。

[SwitchA]display ip routing-table 
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
         Destinations : 5        Routes : 5        

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

       10.1.1.0/24  Direct  0    0           D   10.1.1.1        Vlanif10
       10.1.1.1/32  Direct  0    0           D   127.0.0.1       Vlanif10
       10.2.2.0/24  Static  60   0          RD   10.1.1.2        Vlanif10
      127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0
      127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0

[SwitchA]

# 对SwitchB接口GigabitEthernet0/0/1执行shutdown命令模拟链路故障

[SwitchB]interface GigabitEthernet 0/0/1
[SwitchB-GigabitEthernet0/0/1]shutdown

# 查看SwitchA的路由表,发现静态路由10.2.2.0/24也不存在了。因为静态路由绑定了BFD会话,当BFD检测到故障后,就会迅速通知所绑定的静态路由不可用。

[SwitchA]display ip routing-table 
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
         Destinations : 2        Routes : 2        

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

      127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0
      127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0

[SwitchA]

 对SwitchB接口GigabitEthernet0/0/1执行undo shutdown命令模拟链路恢复正常。

SwitchB-GigabitEthernet0/0/1]undo shutdown 

查看SwitchA的路由表,发现静态路由10.2.2.0/24重新出现在路由表中。因为当BFD检测到链路恢复正常后,就会迅速通知所绑定的静态路由重新生效。

[SwitchA]display ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
         Destinations : 5        Routes : 5        

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

       10.1.1.0/24  Direct  0    0           D   10.1.1.1        Vlanif10
       10.1.1.1/32  Direct  0    0           D   127.0.0.1       Vlanif10
       10.2.2.0/24  Static  60   0          RD   10.1.1.2        Vlanif10
      127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0
      127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0

[SwitchA]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1334424.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

充电桩如何选型MOS

• 充电桩是大功率 AC-DC 转换电源,用于给新能源电动汽车快速充电。 • 目前非 800V系统充电桩采用三相维也纳整流 LLC 电路,其中 PFC 整流可以采用二 极管,PFC 升压可以采用650V IGBT 或者 SJ MOSFET, LLC 采用 650V SJ MOSFET。…

设计模式(4)--对象行为(4)--迭代器

1. 意图 提供一种方法顺序访问一个聚合对象中的各个元素,而又不需暴露该对象的内部表示。 2. 四种角色 抽象集合(Aggregate)、具体集合(Concrete Aggregate)、抽象迭代器(Iterator)、具体迭代器(Concrete Iterator) 3. 优点 3.1 支持以不同的方式遍历一个聚合 3.2…

从PDF中提取图片

由于工作需要,要从pdf文件中提取出图片保存到本地,项目中就引用到了Apache PDFBox库。 1 什么是Apache PDFBox? Apache PDFBox库,一个用于处理PDF文档的开源Java工具。它允许用户创建全新的PDF文件,操作现有的PDF文档&#xff0…

Python 简易图形界面库easygui 对话框大全

easygui 安装 C:\> pip install easygui Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple Collecting easygui Using cached https://pypi.tuna.tsinghua.edu.cn/packages/8e/a7/b276ff776533b423710a285c8168b52551cb2ab0855443131fdc7fd8c16f/easygui-…

如何为你的网站启用HTTPS

步骤一:获取SSL/TLS证书 选择SSL证书提供商: 选择一家可信赖的SSL证书提供商。对于小型网站,JoySSL提供的免费证书是一个不错的选择。购买或申请证书: 根据你的网站需求,购买相应类型的SSL证书。证书的类型包括单域、…

电子电器架构刷写方案——General Flash Bootloader

电子电器架构刷写方案——General Flash Bootloader 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 注:文章1万字左右,深度思考者入!!! 老规矩,分享一段喜欢的文字,避免…

git命令和docker命令

1、git git是分布式的版本控制工具 git可以通过本地仓库管理文件的历史版本记录 # 本地仓库操作的命令 # 初始化本地库 git init # 添加文件到暂存区 git add . git checkout 暂存区要撤销的文件名称 # 提交暂存区文件 git commit -m 注释# 版本穿梭 # 查看提交记录 git log…

Web 开发技术

Web 开发技术 | MDN (mozilla.org)https://developer.mozilla.org/zh-CN/docs/Web 开放的 Web 为开发者提供了巨大的机遇,为了充分利用这些技术,你需要知道如何使用它们。在下方你可以找到相关 Web 技术的文档链接。 面向 Web 开发者的文档 Web 开…

.halo勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复

尊敬的读者: 网络安全是当今数字时代的一大挑战,各种勒索病毒如.halo病毒层出不穷,对用户和企业的数据安全构成了严重威胁。本文将介绍.halo勒索病毒,以及如何恢复被其加密的数据文件,同时提供预防措施。在面对被勒索…

【MySQL基础】:超详细MySQL完整安装和配置教程

🎥 屿小夏 : 个人主页 🔥个人专栏 : MySQL从入门到进阶 🌄 莫道桑榆晚,为霞尚满天! 文章目录 📑前言一. MySQL数据库1.1 版本1.2 下载1.3 安装1.4 客户端连接 🌤️全篇总…

IDEA基本设置

本博客适用于纯新手小白,或者刚下载IDEA想要优化开发添加配置的读者。 基础设置 不区分大小写代码补全 打开 IntelliJ IDEA。转到 “File”(文件) > “Settings”(设置)(Windows/Linux)或 “…

众和策略证券开户首选:注册制是什么意思?

注册制是什么意思? 注册制是指证券监管安排对在二级商场上市发行的包括股票在内的各型有价证券实施事前审理和注册的准则。 具体流程为,当企业或其它金融安排计划通过证券商场向大众发行股票、债券等证券时,需求先向监管安排提交恳求&#…

【Linux】僵尸与孤儿 进程等待

目录 一,僵尸进程 1,僵尸进程 2,僵尸进程的危害 二,孤儿进程 1,孤儿进程 三,进程等待 1,进程等待的必要性 2,wait 方法 3,waitpid 方法 4,回收小结…

基于ssm个人日常事务管理系统论文

摘 要 进入21世纪网络和计算机得到了飞速发展,并和生活进行了紧密的结合。目前,网络的运行速度以达到了千兆,覆盖范围更是深入到生活中的角角落落。这就促使 管理系统的发展。管理系统可以实现远程处理事务,远程工作信息和随时追…

基于 Python 和Surprise库,新手轻松搭建推荐系统

解密基于用户的推荐系统。 1、简介 在数据时代,推荐系统是提升用户体验的重要工具。今天介绍如何使用亚马逊的电影评分数据集创建电影推荐系统。 2、数据加载与探索 首先,通过加载和探索数据集开启数据分析过程。首先导入Pandas和Numpy,这…

部署Zabbix监控

一、准备环境。(Rocky Linux release 8.9) 1、下载rocky-linux镜像,部署新的虚拟机 2、查看环境是否准备成功。 [rootlocalhost ~]# cat /etc/os-release NAME"Rocky Linux" VERSION"8.9 (Green Obsidian)"二、正式安…

听GPT 讲Rust源代码--src/tools(25)

File: rust/src/tools/clippy/clippy_lints/src/methods/suspicious_command_arg_space.rs 在Rust源代码中,suspicious_command_arg_space.rs文件位于clippy_lints工具包的methods目录下,用于实现Clippy lint SUSPICIOUS_COMMAND_ARG_SPACE。 Clippy是Ru…

Linux——计算机网络基础概论

一、网络基本概念 1、定义 网络是由若干结点和连接这些结点的链路组成,网络中的结点可以是计算机,交换机、 路由器等设备。 网络设备有:交换机、路由器、集线器传输介质有:双绞线、同轴电缆、光纤连接网络的目的:资源…

Java多线程技术五——单例模式与多线程-备份

1 概述 本章的知识点非常重要。在单例模式与多线程技术相结合的过程中,我们能发现很多以前从未考虑过的问题。这些不良的程序设计如果应用在商业项目中将会带来非常大的麻烦。本章的案例也充分说明,线程与某些技术相结合中,我们要考虑的事情会…

QT 构建项目报错Could not initialize class org.codehaus.groovy.vmplugin.v7.Java7

问题 Getting NoClassDefFoundError: Could not initialize class org.codehaus.groovy.vmplugin.v7.Java7获取 NoClassDefFoundError:无法初始化类 org.codehaus.groovy.vmplugin.v7.Java7 解决方法一 java版本 过高 将java版本降低,例如从java17降…