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

描述

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

一、实验拓扑图

OSPF协议

实验拓扑图

二、配置流程

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,再两条路抓包,已经看到走上面那条路而不走下面那条路了,我们可以从下面这个图看出来,左边是下面那条路,右边是上面那条路,当然这里只是形象的表达, 方便刚入门的新手能看得懂。

OSPF协议

更改优先级需要重启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

 

至此,本次实验结束。






审核编辑:刘清

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分