FRRouting配置与OSPF介绍,配置,命令,bfd算法:

文章目录

      • 1、frrouting的配置:
      • 2、ospf
          • 2.1、检测和维护邻居关系
          • 2.2、ospfDR和BDR
          • 2.3、odpf邻居表
          • 2.4、ospf常用命令
          • 2.5、bfd配置

1、frrouting的配置:

sudo service zebra start  
sudo service ospfd start
telnet localhost 2604
en
configure terminal
router ospf
ospf router-id 192.168.30.2
network 192.168.142.0/24 area 0
network 192.168.30.0/24 area 0
quit
quit
write
quit

service zebra start:启动Zebra守护进程。Zebra是FRR的核心守护进程,负责管理路由表,并与操作系统的内核进行交互。

service ospfd start:启动OSPF守护进程。OSPF(Open Shortest Path First)守护进程负责处理OSPF路由协议相关的操作,如建立邻居关系、交换路由信息等。

通过Telnet连接到OSPF守护进程
● telnet:使用Telnet协议连接到指定的主机和端口。
● localhost:连接到本地主机。
● 2604:OSPF守护进程的默认端口。
router ospf:进入OSPF路由协议的配置模式。在这个模式下,你可以配置OSPF的具体设置。
ospf router-id 192.168.30.2:设置OSPF的Router ID。Router ID是一个唯一的标识符,用于标识OSPF路由器。通常设置为路由器的某个接口IP地址,但也可以是任何唯一的32位值。

network 192.168.142.0/24 area 0
network是一个关键字,用于指定OSPF路由器在其配置中宣布的网络。这个命令告诉OSPF进程某个特定的IP网络需要参与OSPF路由计算,并通告给其他OSPF路由器。

area
分隔网络 ,
● 同一个区域内的 OSPF 路由器,会自动寻找并建立邻居关系。成功建立邻居关系的路由器会交换链路状态数据库(LSDB),确保区域内的所有路由器在链路状态和路由信息上保持一致。
● 当同一区域内的某个路由器检测到拓扑变化(如接口状态变化),会生成新的 LSA 并进行泛洪(flooding),使该区域内的所有路由器更新其 LSDB。
● 同一个区域内的网络才会进行计算路由
● DR 和 BDR 是在 每个广播网络段 上进行选举的,而不是在整个区域范围内选举。
● 本项目域内网段全是aera0 域间连接的网段全是aera1

2、ospf

2.1、检测和维护邻居关系

OSPF(开放最短路径优先)协议通过以下几个步骤来检测和维护邻居关系:

  1. 发送Hello包
    OSPF通过在每个启用了OSPF的接口上定期发送Hello包来检测邻居。Hello包是OSPF的特殊报文,用于邻居发现和保持邻居关系。
  2. 接收Hello包
    当一个OSPF路由器接收到来自其他路由器的Hello包时,它会检查包中的信息,以确定是否要建立或维护与发送者的邻居关系。
  3. 交换Hello包
    如果两个路由器的Hello包中包含匹配的信息(如区域ID、子网掩码、Hello间隔和死间隔等),它们将成为邻居,并开始交换更多详细的OSPF信息。
  4. 建立邻居关系
    建立邻居关系的步骤如下:
    发送和接收Hello包:两个路由器交换Hello包并验证它们的兼容性。
    双向通信状态:如果Hello包中包含对方的Router ID,表明对方已经收到并认可它的Hello包,邻居状态将变为双向。
    交换数据库描述(DBD)包:邻居关系进入Exchange状态,路由器开始交换DBD包,其中包含链路状态数据库的摘要信息。
    发送链路状态请求(LSR):路由器请求尚未拥有的链路状态信息。
    发送链路状态更新(LSU):路由器响应LSR请求,发送LSU包,提供详细的链路状态信息。
    数据库同步完成:一旦链路状态数据库完全同步,邻居状态进入Full状态,表示邻居关系完全建立。

OSPF 邻居关系的状态转换通常经历以下几个阶段:

  1. Down:初始状态,没有任何 OSPF 邻居。
  2. Init:邻居发现,但未完全建立。
  3. 2-Way:双方确认彼此的存在。
  4. Exstart:准备交换 LSA。
  5. Exchange:交换 LSA。
  6. Loading:加载缺失的 LSA。
  7. Full:完全建立邻接关系。 . 完成邻接建立 LSA 交换 SPF 计算 :路由器可以使用收到的 LSA 来执行最短路径优先(SPF)算法,计算到网络中其他路由器的最佳路径。 “Full” 状态的邻居会参与 OSPF 的路由选择过程,从而在 OSPF 路由表中添加有效的路由
  8. 定期发送Hello包
    邻居关系建立后,OSPF路由器会定期发送Hello包来维持邻居关系。如果在规定的时间间隔内(通常是死间隔的四倍)没有收到邻居的Hello包,OSPF将认为该邻居不可达,并删除其邻居条目。

示例说明
假设有两个OSPF路由器A和B,它们连接在同一以太网交换机上,并配置在同一网段 192.168.1.0/24:
路由器A的接口配置:

interface GigabitEthernet0/1
ip address 192.168.1.1 255.255.255.0
ip ospf 1 area 0

路由器B的接口配置:

interface GigabitEthernet0/1
ip address 192.168.1.2 255.255.255.0
ip ospf 1 area 0

在这种配置下:
路由器A和B在同一网段 192.168.1.0/24 内。
它们使用组播地址 224.0.0.5 发送Hello包。
它们的Hello包中包含相同的区域ID、Hello间隔、死间隔和子网掩码。
因此,路由器A和B会相互发现并建立邻居关系。

在大多数情况下,OSPF邻居关系是在同一网段内建立的。这意味着OSPF邻居之间的接口IP地址和子网掩码必须匹配,确保它们在同一网络范围内。这种机制确保了OSPF路由器能够正确地发现和维护邻居关系,从而保证路由信息的准确性和一致性。

2.2、ospfDR和BDR

在OSPF(Open Shortest Path First)协议中,DR(Designated Router,指定路由器)和BDR(Backup Designated Router,备份指定路由器)是两个重要的角色,它们在多接入网络(如以太网)中扮演着关键的作用,用以优化网络中的OSPF流量和减少网络带宽的消耗。
Designated Router (DR)
DR是OSPF网络中每个多接入网络(如以太网)中被选举出来的一个路由器。它的主要作用是代表该网络中的其他路由器进行OSPF通信。当一个网络中存在多个路由器时,如果这些路由器都相互发送OSPF链路状态通告(LSA),那么网络中的OSPF流量将会非常庞大,从而可能导致网络拥塞。通过选举一个DR,网络中的其他路由器只需与DR交换LSA,而DR则负责将这些LSA转发给网络中的其他路由器以及自治系统内的其他路由器。这样,就大大减少了网络中的OSPF流量。
BDR
是DR的备份,它的作用是在DR失效时能够迅速接管DR的职责,从而保证网络的稳定性和连续性。与DR类似,BDR也会监听网络中的LSA,但通常不会转发给网络内的其他路由器,除非DR失效。BDR的选举过程与DR相同,但优先级稍低,确保在DR正常工作时,BDR处于待命状态。
选举过程
DR和BDR的选举过程基于以下几个因素:

  1. 路由器优先级:每个路由器都可以配置一个OSPF优先级(默认为1),优先级最高的路由器将被选为DR,次高的则被选为BDR。如果优先级相同,则根据路由器的Router ID(通常基于IP地址)来选择。
  2. 全连接性:为了被选为DR或BDR,路由器必须能够与网络中的其他所有OSPF路由器形成邻接关系。
2.3、odpf邻居表

在这里插入图片描述
● FULL:表示已经建立了完全的邻居关系,并同步了 LSDB。
● Init:表示接口已经接收到 Hello 报文,但还没有完成整个邻居关系建立过程。
● DR/BDR:表示该邻居是 Designated Route(DR(指定路由器)r 或 Backup Designated Router(备份指定路由器)。
● 在OSPF协议中,每个路由器都必须有一个唯一的Route ID
● DR负责在该网络内广播路由信息,而BDR则作为DR的备份。其他路由器则被称为DROther,它们只与DR和BDR交换路由信息,而不直接与其他DROther路由器交换信息。
在这里插入图片描述
在这里插入图片描述

2.4、ospf常用命令

vtysh 是一个集成的命令行接口,用于访问所有FRR守护进程(例如,zebra、ospfd等)

show ip ospf 查看ospf的全局状态

show ip ospf interface 查看OSPF接口信息

show ip ospf neighbor # 查看 OSPF 邻居状态

show ip ospf neighbor # 查看指定接口的 OSPF 邻居

show ip ospf neighbor detail # 查看 OSPF 邻居的详细信息

show ip ospf database # 查看 OSPF 数据库(LSDB)中所有 LSA

show ip ospf database router # 查看 Router LSA(类型 1 LSA)

show ip ospf database network # 查看 Network LSA(类型 2 LSA)

show ip ospf database summary # 查看 Summary LSA(类型 3 LSA)

show ip route ospf # 查看 OSPF 路由

show running-config 显示设备的完整运行配置,包括所有接口的 IP 地址、路由协议配置(如 OSPF、BGP 等)、访问控制列表(ACL)、静态路由、NAT 配置等。

show ip route 此命令用于查看路由器的完整路由表,包括所有路由来源 , 包括直连路由、静态路由、OSPF 路由、RIP 路由、BGP 路由等。每种路由类型会以不同的标识符表示,例如 O 表示 OSPF 路由,C 表示直连路由

show ip route ospf 此命令专门用于查看 OSPF 协议学习到的路由信息。 ,包括来自其他 OSPF 路由器的路由、直连路由和默认路由。

/usr/lib/frr/frrinit.sh restart 重启frr 通常只需要将 frr.conf 文件放置在 /etc/frr/ 目录下,FRR 就会在启动时自动加载该配置文件

show ip ospf database
在这里插入图片描述
顶部信息
● OSPF Router with ID (0.0.0.61):当前 OSPF 路由器的 Router ID,
Router Link States(路由器链路状态)(LSA) 类型 1
● Link ID:链路的标识符(Router ID),表示一个 OSPF 路由器或某个链路的标识。
● ADV Router:Advertising Router,发布该链路状态的路由器 ID。
● Age:LSA(链路状态广告)老化计时器,值为秒数,越大表明此 LSA 更旧(默认 3600 秒自动刷新)。
● Seq#:序列号,OSPF 用于版本控制。值越大代表 LSA 较新。
● CkSum:LSA 校验和,用于检查链路状态的完整性。
● Link Count:该路由器的链路数,表示此路由器直接连接的链路数量。
Net Link States(网络链路状态)类型 2:
● Link ID:网络链路标识符,通常是 DR(指定路由器)的 IP 地址,代表此网络的 IP。
● ADV Router:发布此网络状态的路由器的 Router ID,通常是网络的 DR。
● Age:同样为 LSA 老化时间,单位为秒。
● Seq#:序列号,用于标识 LSA 的版本。
● CkSum:LSA 校验和。
Summary Link States(汇总链路状态)
● Link ID:目的网络的标识符(如 17.2.5.20/30),表示网络前缀。 Summary LSA 和 AS External LSA 的作用是描述如何到达特定网络前缀,而不仅仅是描述链路之间的连接状态。因此,Link ID 表示目标网络,以便接收 LSA 的路由器可以根据此信息更新路由表,了解该目标网络的路径。
● ADV Router:发布此汇总状态的路由器的 Router ID,通常为 ABR。 ABR 负责连接 OSPF 的骨干区域(Area 0)与其他非骨干区域(如 Area 1、Area 2)。当非骨干区域的路由信息需要传播到骨干区域或其他区域时,ABR 会将这些信息汇总并生成 Summary LSA,即汇总链路状态通告,将汇总的路由信息从一个区域传递到另一个区域。 存储的网段全是跨越网段. 当前区域(域)内的连接信息,OSPF 使用的是 Link State Advertisement (LSA) 类型 1 和类型 2:
● Age:该 LSA 的老化时间。
● Seq#:序列号。
● CkSum:LSA 校验和。
● Route:路由前缀或子网,表示 LSA 描述的网络范围。

2.5、bfd配置

BFD(Bidirectional Forwarding Detection)**是一种网络协议,用于快速检测两台路由设备之间的连接状态,以便在发生连接故障时迅速做出响应。BFD 提供了超低延迟的故障检测机制,可以支持 OSPF、BGP、IS-IS 等多种路由协议,加速网络收敛,提高整体网络可靠性
OSPF 中,BFD 与 OSPF 邻居关系协同工作,用于检测 OSPF 路由器之间的链路是否出现故障。BFD 提供的快速故障检测机制能够让 OSPF 在链路中断时更快速地收敛,从而减少网络中断的持续时间。

● OSPF 默认链路故障检测时间:OSPF 默认使用 Hello 协议检测邻居链路的状态。链路故障检测的时间可能会长达 40 秒或更多,具体取决于 OSPF 的 Hello 和 Dead 间隔时间。
● BFD 故障检测时间:通过 BFD,链路故障的检测时间通常可以减少到 300 毫秒以内,远远小于 OSPF 的默认故障检测时间。

经过实测,分布式网络108节点ospf收敛时间:10s->1s内

bfd配置:
在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2-安装YIUI

YIUI框架:GitHub - LiShengYang-yiyi/YIUI: Unity3D UGUI Framework, 基于UI数据事件绑定为核心 数据驱动的UGUI框架, ETUI框架, ET框架官方推荐UI框架 ET框架:egametang/ET: Unity3D Client And C# Server Framework (github.com) 1 - 安装YIUI框架&a…

001-监控你的文件-FSWatch-C++开源库108杰

fswatch 原理与应用简介fswatch 安装fswatch 实践应用具体应用场景与细节补充 1. 简介 有些知识,你知道了不算厉害,但你要是不知道,就容易出乱。 很多时候,程序需要及时获取磁盘上某个文件对象(文件夹、文件&#xff0…

机器学习--逻辑回归

机器学习–逻辑回归 一、认知革命:从线性回归到逻辑回归 1.1 本质差异对比 维度线性回归逻辑回归输出类型连续值概率值 (0-1)目标函数最小二乘法极大似然估计数学表达式 y w T x b yw^Txb ywTxb p 1 1 e − ( w T x b ) p\frac{1}{1e^{-(w^Txb)}} p1e−(wTxb…

s1K 数据集:是一个用于提升语言模型推理能力的高质量数据集。包含 1,000 个问题,每个问题都配有详细的 推理路径 和 答案。

2025-02-07, 由斯坦福大学、华盛顿大学等研究机构创建了 s1K 数据集,该数据集包含 1,000 个精心挑选的问题,并配以推理轨迹和答案,为语言模型推理能力的提升提供了重要的数据基础。 一、研究背景 1. 研究背景 近年来,…

DockerDesktop更改默认的磁盘镜像地存储位置

DockerDesktop更改默认的磁盘镜像地存储位置 文章目录 DockerDesktop更改默认的磁盘镜像地存储位置1. 默认存储位置2. 新建一个目录3. 将磁盘镜像存储位置改为新建的目录下 1. 默认存储位置 2. 新建一个目录 如:D:\DiskImagelocationData 3. 将磁盘镜像存储位置改为…

ASP.NET Core SixLabors.ImageSharp 位图图像创建和下载

从 MVC 控制器内部创建位图图像并将其发送到浏览器;用 C# 编写并与 Linux 和 Windows 服务器兼容。 使用从 ASP.NET MVC 中的控制器下载任何文件类型File。 此示例创建一个位图 (jpeg) 并将其发送到浏览器。它需要 NuGet 包SixLabors.ImageSharp v1.0.4。 另请参…

容联云联络中心AICC:深度整合DeepSeek,业务验证结果公开

容联云重磅推出AICC3.2版本,实现了智能化的升级与外呼效率的突破——深度整合DeepSeek-R1大模型、预测式外呼在数据分析侧的增强、全渠道路由能力、一键多呼效率的强化。 同时,全面接入DeepSeek-R1的容联云 AICC3.2 ,目前已与某知名汽车金融企…

链表和list

链表和list ‍ ​ ​ ​ ​ ​ ​ ​ ​ ​ 算法题中的经典操作:用空间代替时间​ ​ ​ ​ 双链表头插顺序: 1.先修改新结点的左右指针 2.然后修改结点y的左指针 3.最后修改哨兵位的右指针 双链表在任意位置(p)之后插入…

Junit——白盒测试

Java单元测试框架,主要用于测试Java程序中的各个单元。 1.验证代码功能是否符合预期 2.及时 发现修复 代码中的缺陷,提高代码质量 入门 最早学习java,代码对不对,通过main 方法运行,观看结果是否符合预期。 packa…

1.MySQL概述

1.1 数据模型 介绍完了Mysql数据库的安装配置之后,接下来我们再来聊一聊Mysql当中的数据模型。学完了这一小节之后,我们就能够知道在Mysql数据库当中到底是如何来存储和管理数据的。 在介绍 Mysql的数据模型之前,需要先了解一个概念&#x…

Deep seek学习日记1

Deepseek最强大的就是它的深度思考,并且展现了它的思考过程。 五种可使用Deep seek的方式(应该不限于这五种,后续嵌入deepseek的应该更多,多了解一点因为官网容易崩~~): 1.deep seek官网 2.硅基流动silicon…

JAVA中的异常

一、简介 1.1 什么是异常 异常,是对程序在运行过程中遇到的种种不正常的情况的描述。异常在java中用Exception类来描述。如果程序遇到了未经处理的异常,将会导致程序无法编译或者无法继续运行。 1.2 异常的继承体系 在java中使用类Throwable来描述所有…

数字水印嵌入及提取系统——基于小波变换GUI

数字水印嵌入及提取系统——基于小波变换GUI 基于小波变换的数字水印系统(Matlab代码GUI操作) 【有简洁程序报告】【可作開题完整文档达辩PPT】 本系统主要的内容包括: (1)使用小波变换技术实现二值水印图像的加密、…

Linux_帮助指令

man 获得帮助信息 基本语法: man [命令或配置文件] 在linux下,隐藏文件是以 .开头, 选项可以组合使用, 比如 ls -al, 不如 ls -al /root help 指令 基本语法: help 命令 (功能描述: 获取shell内置命名的帮助信息) 英语不好建议百度

Day4 25/2/17 MON

【一周刷爆LeetCode,算法大神左神(左程云)耗时100天打造算法与数据结构基础到高级全家桶教程,直击BTAJ等一线大厂必问算法面试题真题详解(马士兵)】https://www.bilibili.com/video/BV13g41157hK?p4&v…

redis集群模式

1.集群模式 作用:解决单点故障问题 集群的模式:1.主从模式,2、哨兵模式,3、集群化模式 1.1主从模式 特点:1个主节点多个从节点,主节点负责读写操作,而从节点只能负责读操作,当主…

力扣 乘积最大子数组

动态规划,注意负负得正,dp交换。 题目 注意这里的dp的乘积要求最大,而两个很大的负数相乘也是大的,因此在每遍历到一个数时要存一个最大值的dp与一个最小值的dp,然后遍历完后再去存ans的dp。由于存在负数,…

【Postgresql】Windows 部署 Postgresql 数据库 (图文教程)

文章目录 准备工作Postgresql 下载Postgresql 安装初始化数据库数据库链接设置允许远程连接测试链接 更多相关内容可查看 准备工作 操作系统:Windows 7 或更高版本(推荐 Windows 10 或 Windows Server 2016)。 硬件要求: 至少 …

【ENSP】链路聚合的两种模式

【ENSP】链路聚合的两种模式 1、背景介绍2、链路聚合的使用场景3、配置过程1、手工模式Eth-Trunk配置2、静态LACP模式Eth-Trunk 4、总结 1、背景介绍 随着网络规模的不断扩大,人们对骨干链路的带宽吞吐量和可靠性提出了越来越高的要求。在传统方案中,为…

《深度学习》——调整学习率和保存使用最优模型

调整学习率 在使用 PyTorch 进行深度学习训练时,调整学习率是一个重要的技巧,合适的学习率调整策略可以帮助模型更好地收敛。 PyTorch 提供了多种调整学习率的方法,下面将详细介绍几种常见的学习率调整策略及实例代码: torch.opt…