0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

配置OSPF并修改优先级和cost进行引流的简单实验

网络技术干货圈 来源:网络技术干货圈 2023-05-05 17:36 次阅读

在OSPF协议中的路由计算环节,LSDB中得到的是带权有向图,每台路由器分别以自己为根节点计算最小生成树,基于该生成树会将路由添加到路由表,当然也会关注到优先级的问题,优先级高的还是会优先走。

一、实验拓扑图

340ec038-eb26-11ed-90ce-dac502259ad0.png

实验拓扑图

二、配置流程

1. 配置IP

连线完毕后启动设备,使用HCL模拟器是需要点击启动设备按钮来启动的!等待设备启动完毕之双击路由器即可进入命令行终端(或者鼠标右键选择).

我们先明确一下我们要配置的IP,首先我们需要配置路由器的接口的IP,根据拓扑图我们可以知道要配置什么IP和掩码,同时我们还需要配置一个loopback接口的IP,配置loopback接口有两个作用,首先是在OSPF协议中作为路由器的唯一标识(Router ID),因为loopback是常驻up的,避免了各种原因down掉接口失去路由效用,或者更换拓扑时又要重新配置等,并且配置32位掩码可以唯一标识,同时loopback接口可以帮助我们排错。

配置举例:

MSR36-20_2

[R1]int gi 0/0      //进入接口,配置接口的IP
[R1-GigabitEthernet0/0]ip add 10.0.0.1 8
[R1-GigabitEthernet0/0]qu
[R1]int gi 0/1
[R1-GigabitEthernet0/1]ip add 20.0.0.1 8
[R1]interface LoopBack 0//开启loopback接口,并配置IP
[R1-LoopBack0]ip add 1.1.1.1 32
[R1-LoopBack0]qu
[R1]router id 1.1.1.1//使用loopback的IP作为RID

其他两个路由器配置也是如此,这里不再赘述,全部配置成功后路由器在同网段之间的接口可以相互ping通。

2. 配置OSPF

配置OSPF的可以简单概括为启动OSPF进程(ospf _[process-id]_)、配置OSPF区域(_area [area-id]_) 简单介绍一下OSPF协议的工作流程, 当启动OSPF进程的时候路由器就会定时的发送Hello包寻找邻居,此时自己和邻居都处于“init”状态,通过Hello包携带参数来和邻居进行协商,协商完成后进入”2-WAY‘状态,

都确认通信完毕了就开始选大哥和大哥替补,也就是DR(指定路由器)和BDR(备用指定路由器),DR负责更新其他所有OSPF路由器,BDR监控DR,在DR发生故障时接替DR,根据优先级和Route ID来先选举出BDR,再选举出DR,如果有路由器宣告自己是DR或者是BDR,只在有宣告的路由器当中进行选举,只有优先级为0的路由器没有选举资格(根据实际需求,有时候我们可能会对某个特殊路由器排除在选举之外,进行特殊配置)。

这里只是大致介绍一下,有兴趣的读者可以查阅资料更深入了解。 选举完成后路由器会发送自己的LSA(链路状态表)概要给邻居告诉邻居设备链路状态和开销等,邻居比对自己的LSA,向路由器发出自己相对缺少的LSA内容,然后原路由器会把邻居缺少内容的详细数据发给邻居,这一流程完成后路由器进入“full”状态。

“full”状态之后就开始计算路由了,这里就是本次实验的重头戏。

    在OSPF协议中的路由计算环节,LSDB中得到的是带权有向图,每台路由器分别以自己为根节点计算最小生成树,基于该生成树会将路由添加到路由表,当然也会关注到优先级的问题,优先级高的还是会优先走。

    这时候就要参考priority和cost值了,根据cost值会决定最小生成树的形状。

开始配置

举例:

MSR36-20_2

[R1]ospf 1//进程号,可以多进程
[R1-ospf-1]area 0//area 0是骨干区域,所有分支都要连接骨干,一般先配骨干再展开
[R1-ospf-1-area-0.0.0.0]network 10.0.0.0 0.255.255.255//相邻网络网络号+掩码反码
[R1-ospf-1-area-0.0.0.0]network 20.0.0.0 0.255.255.255
[R1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0

[R1-ospf-1-area-0.0.0.0]dis th//检查配置情况
#
 area 0.0.0.0
  network 1.1.1.1 0.0.0.0
  network 10.0.0.0 0.255.255.255
  network 20.0.0.0 0.255.255.255
#
return

其他两个路由器也如此配置,配置完毕后就会自动的进行OSPF协议的工作流程了,等待一会后就可以相互ping通,并且可以查看相关ospf邻居了。

从MSR36-20_2(最左边那个)ping到MSR36-20_3(最右边那个),通过对MSR36-20_2的GE_0/1接口以及GE_0/0进行抓包发现ICMP包是走的下面20.0.0.0/8网段的那条路,而不是走上面过20.0.0.0/8 + 30.0.0.0/8 这两个网段的路,此时我们可以通过修改出口的cost值来改变最小生成树的形状,举例如下

这里是举例修改下面那条出口的cost为100,上面那两条都改为10

MSR36-20_2

[R1]int gi 0/0
[R1-GigabitEthernet0/0]ospf cost 10
[R1-GigabitEthernet0/0]qu
[R1]int gi 0/1
[R1-GigabitEthernet0/1]ospf cost 100

MSR36-20_1

[R2]int gi 0/0
[R2-GigabitEthernet0/0]ospf cost 10

此时再从1.1.1.1ping3.3.3.3,再两条路抓包,已经看到走上面那条路而不走下面那条路了,我们可以从下面这个图看出来,左边是下面那条路,右边是上面那条路,当然这里只是形象的表达, 方便刚入门的新手能看得懂。

3417d97a-eb26-11ed-90ce-dac502259ad0.png

更改优先级需要重启OSPF进程重新进行工作,重启需要在用户视图(系统视图在退出一级)上使用

reset ospf [process-id] process

重启OSPF进程后即可正确根据dr优先级进行处理

如果只更改cost是不用重启也生效的

priority是优先度大于cost的,先看priority再看cost

[R1]int gi 0/1
[R1-GigabitEthernet0/1]ospf cost 10
[R1-GigabitEthernet0/1]ospf dr-priority 20

[R1]int gi 0/0
[R1-GigabitEthernet0/0]ospf dr-priority 10

dis ospf routing

         OSPF Process 1 with Router ID 1.1.1.1
                  Routing Table

                Topology base (MTID 0)

 Routing for network
 Destination        Cost     Type    NextHop         AdvRouter       Area
 20.0.0.0/8         10       Transit 0.0.0.0         3.3.3.3         0.0.0.0
 10.0.0.0/8         1        Transit 0.0.0.0         2.2.2.2         0.0.0.0
 3.3.3.3/32         6        Stub    10.0.0.2        3.3.3.3         0.0.0.0
 2.2.2.2/32         1        Stub    10.0.0.2        2.2.2.2         0.0.0.0
 30.0.0.0/8         6        Transit 10.0.0.2        3.3.3.3         0.0.0.0
 1.1.1.1/32         0        Stub    0.0.0.0         1.1.1.1         0.0.0.0

 Total nets: 6
 Intra area: 6  Inter area: 0  ASE: 0  NSSA: 0

至此,本次实验结束。






审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 路由器
    +关注

    关注

    22

    文章

    3732

    浏览量

    113774
  • OSPF协议
    +关注

    关注

    0

    文章

    17

    浏览量

    9385

原文标题:HCL实验:配置OSPF并修改优先级和cost进行引流的简单实验

文章出处:【微信号:网络技术干货圈,微信公众号:网络技术干货圈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何理解STM32(Cortex-M3)中的抢占优先级与响应优先级

    很多人在配置STM32中断时对固件库中的这个函数NVIC_PriorityGroupConfig()——配置优先级分组方式,会很不理解,尤其是看中文翻译版的,因为中文翻译版里把这里翻译成“先占
    的头像 发表于 12-22 06:25 1w次阅读

    嵌入式技术中如何定义进程优先级

    静态优先级是所有相关优先级的计算的起点,要么继承自父进程,要么用户空间自行设定。一旦修改了静态优先级,那么normal priority和动态优先级
    发表于 09-18 16:08 1559次阅读
    嵌入式技术中如何定义进程<b class='flag-5'>优先级</b>

    STM32 MCU通过STM32CubeMx配置NVIC怎么没有中断子优先级选项

    时,不难发现一个问题,那就是怎么没有中断子优先级【或称响应优先级、副优先级等】的配置?!【当然,很多时候我们或许没有关注子优先级】如下图所示
    发表于 09-09 09:25 1970次阅读
    STM32 MCU通过STM32CubeMx<b class='flag-5'>配置</b>NVIC怎么没有中断子<b class='flag-5'>优先级</b>选项

    转:第13章 FreeRTOS任务优先级修改及其分配方案

    优先级修改13.5 任务优先级获取13.6 实验例程说明13.7总结13.1任务优先级说明 下面对FreeRTOS
    发表于 08-29 11:07

    第8章 任务优先级修改

    转rtx操作系统 本章节主要为大家讲解RTX任务优先级设置的注意事项,任务优先级的分配方案及其相关的一个例子,内容相对比较简单。 本章教程配套的例子含Cortex-M3内核的STM32F103
    发表于 10-03 00:15

    中断优先级配置的函数

    一、中断优先级配置的函数:1.NVIC_IRQChannelPreemptionPriority配置抢占优先级2.NVIC_IRQChannelSubPriority
    发表于 08-04 08:24

    stm32配置中断的优先级问题

    在stm32开发中,我们可能需要多个串口同时收发,这时需要配置下中断的优先级问题。中断优先级中抢占优先级与响应优先级位数可自行分配。初始化时
    发表于 08-13 06:24

    STM32中断及FreeRTOS中断优先级配置

    STM32中断,及FreeRTOS中断优先级配置
    的头像 发表于 03-04 11:45 8916次阅读
    STM32中断及FreeRTOS中断<b class='flag-5'>优先级</b><b class='flag-5'>配置</b>

    Cortex-M中断及FreeRTOS中断优先级配置原理

    下面就来说说关于Cortex-M的中断,及FreeRTOS中断优先级配置原理。
    发表于 02-08 15:30 3次下载
    Cortex-M中断及FreeRTOS中断<b class='flag-5'>优先级</b><b class='flag-5'>配置</b>原理

    中断优先级处理的原则及配置 抢占优先级和响应优先级的区别

    首先我们需要知道什么是中断优先级:中断优先级是CPU响应中断的先后顺序
    的头像 发表于 05-18 15:10 2.7w次阅读
    中断<b class='flag-5'>优先级</b>处理的原则及<b class='flag-5'>配置</b> 抢占<b class='flag-5'>优先级</b>和响应<b class='flag-5'>优先级</b>的区别

    Free RTOS的优先级翻转

    优先级翻转简介:就是高优先级的任务运行起来的效果好像成了低优先级,而低优先级比高优先级先运行;
    的头像 发表于 02-10 15:31 1324次阅读
    Free RTOS的<b class='flag-5'>优先级</b>翻转

    SysTick的优先级配置方法

    SysTick的优先级配置,常见的有两种说法,这两种说法完全相反,依次说一下各自特点。
    的头像 发表于 03-01 10:49 4884次阅读
    SysTick的<b class='flag-5'>优先级</b><b class='flag-5'>配置</b>方法

    什么是优先级反转

    假设现在有三个任务TaskA(优先级高)、TaskB(优先级中)、TaskC(优先级低),一个信号量(Semaphore),此信号量用于任务之间争夺某个资源。在某一时刻,高优先级的Ta
    的头像 发表于 04-24 13:01 2281次阅读
    什么是<b class='flag-5'>优先级</b>反转

    为什么使用CubeMx配置NVIC时不见子优先级选项

    时,不难发现一个问题,那就是怎么没有中断子优先级【或称响应优先级、副优先级等】的配置?!【当然,很多时候我们或许没有关注子优先级】如下图所示
    的头像 发表于 09-09 15:32 1309次阅读
    为什么使用CubeMx<b class='flag-5'>配置</b>NVIC时不见子<b class='flag-5'>优先级</b>选项

    GD32如何配置中断优先级分组以及中断优先级

    使用GD32 MCU的过程中,大家可能会有以下疑问:中断优先级如何配置和使用?
    的头像 发表于 01-10 10:30 3092次阅读
    GD32如何<b class='flag-5'>配置</b>中断<b class='flag-5'>优先级</b>分组以及中断<b class='flag-5'>优先级</b>