与之前博文中Distribute-list中所讲的有所不同,如果偏移列表不能用于链路状态路由协议,因此OSPF,IS-IS等并不适合与offset-list。

想要了解分发列表(Distribute-List)请移步上篇文档《路由策略专题(二)之分发列表(Distribute-List)



Offset-List不能够用来减少Metric值,只能用于增加Metric值。换句话说,offset-list只能适用于RIP和EIGRP之类的距离矢量路由协议中,针对某个特定的路由条目来增加一定的度量值。


技术点概述:

  • 只支持ACL不支持Prefix-List

  • 只可以增大Metric值不可以缩小Metric值(EIGRP为Metric,RIP中为Hop-Count)

  • 在调用方向上:可以在in/out方向上调用,影响有所不同。如果是在in方向上调用,会影响本路由器和下游路由器相关的metric值。如果在out方向上调用,不会对本路由器度量值造成影响会影响到下游的所有路由器。





配置命令:

需要在路由协议进程下配置

router(config-router)#offset-list {access–list-number | name} {in|out} offset [interface-type interface-number]


我们结合两个实验来分别看一下具体使用:

实验拓扑图如下,4台路由器均运行ospf。R1和R4的loopback0接口分别模拟直接网段。其中所有配置均为默认配置没有手动修改任何接口配置。

为了节约篇幅,这里不列出初始化配置。

spacer.gif路由策略专题(三)之偏移列表(Offset List)_第1张图片


实验1:

我们想使R1->R2->R4这条路径作为1.1.1.0/24网段到4.4.4.0/24网段访问的主路径。在所有配置均为默认的情况下,R1上关于4.4.4.0/24,和R4上关于1.1.1.0/24的路由应为负载均衡我们先查看一下路由表进行验证。

spacer.gif路由策略专题(三)之偏移列表(Offset List)_第2张图片


我们要使用Offset-List进行修改的话,只能够增加通过R3这条路的Metric值

为了影响R1上关于4.4.4.0/24这条路由,我们可以在以下EIGRP中使用offset-list在以下几个位置调用:

R1的 in 方向调用E0/1接口

R3的 in  方向调用E0/1接口或者 R3 的out方向调用 E0/0接口

R4的 out 方向调用E0/1接口


本实验中选择在R1的in接口做调用,为了最小限度的影响网络。

R1(config)#access-list 1 permit 4.4.4.0 0.0.0.0

R1(config)#router eigrp 1

R1(config-router)#offset-list 1 in 64800 Ethernet0/1


先来查看路由表,发现原来去往4.4.4.0/24这条被等价负载均衡的路由不再存在而是变成了从R2走的路径

spacer.gif路由策略专题(三)之偏移列表(Offset List)_第3张图片

为了更进一步查看一下效果,我们可以查看一下R1上的拓扑表。发现走R3的路由的Metric值被修改为了50000。我们通过拓扑表中查看可以知道,真实影响的参数是Delay,这是因为delay是递增的关系,因此可以方便的计算出来Metric值。

spacer.gif路由策略专题(三)之偏移列表(Offset List)_第4张图片



细心的读者可能发现,这里面存在一个问题,在R1的路由表上,走R3的这个路由的AD好像大于了FD,按理说不应该加入拓扑表的。否则就违背了FC条件。但是事实是这样的吗?

我们结合我们的命令发现,我们作用在R1上而R3的AD值其实并没有真正的改变,而是我们在R3传递给R1的AD值上通过offset-list(偏移列表)增加了64800的度量值,因此R3本身的度量值依然小于R1上的FD的度量值(435200),所以R1这里的拓扑表中的AD值并不是真实的AD值。

如果我们这里在针对4.4.4.0/24这条路由再R3的in方向调用接口E0/1,那么R1的拓扑表中将不存在这个从R3走的条目了,有兴趣的小伙伴可以自己验证一下。这里我就不再赘述了。


rip中也与EIGRP类似但是增加的是跳数。


本篇文档就介绍到这里,希望能帮助到你。本博客内所有内容均为博主一个字一个字码上去的,并且专门设计了专门的实验拓扑。

需要实验拓扑的小伙伴可以关注一下我,给我私信或者加我的QQ,我可以将我的实验拓扑分享给你。谢谢