BGP路径选择-MED(学习笔记+实验验证)

本文深入解析BGP中的MED属性,阐述其在多出口鉴别中的作用,以及如何通过修改MED值控制流量路径。实验部分展示了如何配置路由策略以实现特定的流量导向。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一,原理概述

  1. 当一台BGP路由器中存在许多条去往同一目标网络的BGP路由时,BGP协议会对这些BGP路由的属性进行比较,以确定去往该目标网络的最优BGP路由。
  2. BGP路由属性的比较顺序为Preferred Value属性,Local Preference属性,路由生成方式,AS_Path属性,Origin属性,MED属性,BGP对等体类型等。
  3. MED也称为多出口鉴别器,它是一个4字节的整数,取值范围为0~4294967295.缺省情况下,MED的值为0,但通过命令 default med value 可对其进行修改。
  4. MED值小越优先,常被称为Cost。MED的作用是控制邻居AS的流量从哪个入口进入到AS中 。
  5. 缺省情况下,去往同一目标网络的多条路由来自同一个邻居AS时,BGP才会比较这些MED值,但是,配置命令 compare-different-as-med后,则会比较来自不同邻居AS的目标网络相同的BGP路由的MED值。
  6. 注意,MED只会影响相邻两个AS,收到MED属性的AS不会把此属性再继续传递给别的AS。

实验注意事项:

  • BGP邻居关系状态为Established表示已建立
  • MED属性:类似cost,当某个AS有多个入口时,可以用MED属性来帮助其外部的AS选择一个较好的入口路径。一条路由的MED值越小,其优先级越高,默认值0。

二,实验(对着书来的)

(一)实验目的

  • MED属性对BGP路径选择的影响
  • 修改MED的方法
  • 通过修改MED值实现流量分担的方法

(二)实验内容

在这里插入图片描述

(三)实验拓扑

在这里插入图片描述

(四)实验步骤

1,基本配置

2,配置BGP路由协议

[R1]bgp 100
[R1-bgp]router-id 10.0.1.1
[R1-bgp]peer 10.0.12.2 as-number 200
[R1-bgp]peer 10.0.13.3 as-number 200
[R1-bgp]peer 10.0.14.4 as-number 300
[R1-bgp]network 172.16.1.0 255.255.255.0
[R1-bgp]network 172.16.2.0 24
[R1-bgp]network 192.168.1.0 24
[R1-bgp]network 10.0.1.1 32
[R2]bgp 200
[R2-bgp]router-id 10.0.2.2
[R2-bgp]peer 10.0.12.1 as-number 100
[R2-bgp]peer 10.0.23.3 as-number 200
[R2-bgp]peer 10.0.23.3 next-hop-local
[R2-bgp]peer 10.0.25.5 as-number 400
[R2-bgp]network 10.0.2.2 32
[R3]bgp 200
[R3-bgp]router-id 10.0.3.3
[R3-bgp]peer 10.0.13.1 as-number 100
[R3-bgp]peer 10.0.23.2 as-number 200
[R3-bgp]peer 10.0.23.2 next-hop-local
[R3-bgp]peer 10.0.35.5 as-number 400
[R3-bgp]network 10.0.3.3 32
[R4]bgp 300
[R4-bgp]router-id 10.0.4.4
[R4-bgp]peer 10.0.14.1 as-number 100
[R4-bgp]peer 10.0.45.5 as-number 400
[R4-bgp]network 10.0.4.4 32
[R5]bgp 400
[R5-bgp]router-id 10.0.5.5
[R5-bgp]peer 10.0.25.2 as-number 200
[R5-bgp]peer 10.0.35.3 as-number 200
[R5-bgp]peer 10.0.45.4 as-number 300
[R5-bgp]network 10.0.5.5 32

查看BGP邻居,若R1,R2,R3,R4,R5 上面的数量都是3个,都为Established状态,就表示BGP邻居建立成功。
在这里插入图片描述
再查看BGP路由表,哄框内为去往连接的三个网络的路径条目

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可以看到:

  • R2,R3,R4,R5上都接收到了R1的四个网段的路由信息。
  • 通过IBGP和EBGP邻居接收到的路由条目以及路由器自身的BGP路由条目,他们的MED都为0.
  • 若接收到的路由条目经过了一个AS进行中转,MED会丢失,变为空。(概念:MED只会影响相邻两个AS,收到MED属性的AS不会把此属性再继续传递给别的AS。)
  • 在BGP选择最佳路径时,MED值为空就表示值为0.

3,控制来自同一AS的数据流量的最佳路径选择

根据BGP选路机制中EBGP优于IBGP路由的原则,则R2去往R1的loopback通过R1的G0/0/2口作为进入AS100的入口;R3去往R1的loopback通过R1的G0/0/0口作为进入AS100的入口;使用tracert命令进行验证
在这里插入图片描述
可以看到,R2去往172.16.1.1和172.16.2.1的下一跳为10.0.12.1(R1的G0/0/2口),R3去往172.16.1.1和172.16.2.1的下一跳为10.0.13.1(R1的G0/0/0口)

现在AS100的管理员要求AS200访问172.16.1.0 24网络的流量从R1的G0/0/2口进入AS100,访问172.16.2.0 24网络流量从R1的G0/0/0接口进入AS100

在R1上使用前缀列表匹配要修改MED值的路由。

[R1]ip ip-prefix 1 permit 172.16.1.0 24
[R1]ip ip-prefix 2 permit 172.16.2.0 24

在R1上创建Route-Policy 1,将172.16.1.0 24的MED配置为100,将172.16.2.0 24的MED配置为200.

[R1]route-policy 1 permit node 10
[R1-route-policy]if-match ip-prefix 1
[R1-route-policy]apply cost 100
[R1-route-policy]route-policy 1 permit node 20
[R1-route-policy]if-match ip-prefix 2
[R1-route-policy]apply cost 200
[R1-route-policy]route-policy 1 permit node 30

然后在R1上创建Route-Policy 2,将172.16.2.0 24的MED配置为100,将172.16.1.0 24的MED配置为200

[R1]route-policy 2 permit node 10
[R1-route-policy]if-match ip-prefix 2
[R1-route-policy]apply cost 100
[R1-route-policy]route-policy 2 permit node 20
[R1-route-policy]if-match ip-prefix 1
[R1-route-policy]apply cost 200
[R1-route-policy]route-policy 2 permit node 30

在R1上配置peer 10.0.12.2 route-policy 1 export命令,使得R1在传递路由给R2时调用Route-Policy 1,再配置peer 10.0.13.3 route-policy 2 export命令,使得R1在传递路由给R3时调用Route-Policy 2.

[R1-bgp]peer 10.0.12.2 route-policy 1 export 
[R1-bgp]peer 10.0.13.3 route-policy 2 export

配置完成后,在R2和R3上查看BGP路由表
在这里插入图片描述
在这里插入图片描述
在PrefVal属性,LocPrf属性,路由生成方式,AS_path属性,Origin属性都相同的情况下,BGP会选择最小的MED值的路由作为最优路由。
可以看到,在R2的BGP路由表中,去往172.16.1.0/24的下一跳为10.0.12.1,MED值为100(G0/0/2)进入AS100;去往172.16.2.0/24的下一跳为10.0.13.1,选择了R1的G0/0/0口作为进入AS100的入口。

在R2和R3上,使用Tracert命令验证数据经过路径。
在这里插入图片描述
在这里插入图片描述
可以看到,AS200访问172.16.1.0/24从G0/0/2口进入,172.16.2.0/24从G0/0/0口进入AS100的。满足需求

查看R2,R3,R5上关于172.16.1.0的BGP路有详细信息

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可以看到,R2,R3去往172.16.1.0/24的路由携带了MED属性,R5去往172.16.1.0/24的路由没有MED值

  • 说明MED属性只传递给邻居AS,邻居AS不会将收到的MED属性再传递给其他AS。

4,控制来自不同AS且去往同一目标网络的数据流量的最佳路径选择

查看R5的BGP路由表
在这里插入图片描述
R5上面有多条去往192.168.1.0的路由。在Preferred Value属性,Local Preference属性,路由生成方式,AS_Path属性,Origin属性的比较无法选出最有路由时,BGP将比较MED属性。但是在默认情况下,BGP不会比较来自不同AS路由的MED属性,所以R5无法通过比较MED属性选择去往192.168.1.0/24的最优路由。为此,BGP会继续比较邻居类型,下一跳的 IGP(内部网关协议)开销值等,最后结果是R5选择了Router-ID最小的路由器R2发布的路由作为最优路由。

现在,需求是AS400去往192.168.1.0/24的网络流量流经R4,然后从R1的G0/0/1口进入AS100,采用的方法是修改R2,R3,R4在传递关于192.168.1.0/24的路由信息给R5时的MED属性值。

在R2上使用前缀列表匹配路由192.168.1.0/24

[R2]ip ip-prefix 1 permit 192.168.1.0 24

在R2上使用Route-Polity将192.168.1.0/24的MED值配置为200

[R2]route-policy 1 permit node 10
[R2-route-policy]if-match ip-prefix 1
[R2-route-policy]apply cost 200
[R2-route-policy]route-policy 1 permit node 20

在R2上配置**peer 10.0.25.5 route-policy 1 export **命令,在传递路由时给R5时调用Route-Policy

[R2]bgp 200
[R2-bgp]peer 10.0.25.5 route-policy 1 export 

在R3上也配置

[R3]ip ip-prefix 1 permit 192.168.1.0 24
[R3]route-policy 1 permit node 10
[R3-route-policy]if-match ip-prefix 1
[R3-route-policy]apply cost 200
[R3-route-policy]route-policy 1 permit node 20

在R3上配置**peer 10.0.35.5 route-policy 1 export **命令,在传递路由时给R5时调用Route-Policy

[R3]bgp 200
[R3-bgp]peer 10.0.35.5 route-policy 1 export 

在R4上完成类似的配置

[R4]ip ip-prefix 1 permit 192.168.1.0 24
[R4]route-policy 1 permit node 10
[R4-route-policy]if-match ip-prefix 1 
[R4-route-policy]apply cost 100
[R4-route-policy]route-policy 1 permit node 20

在R4上配置peer 10.0.45.5 route-policy 1 export命令,在传递路由给R5时调用Route-Policy。

[R4]bgp 300
[R4-bgp]peer 10.0.45.5 route-policy 1 export 

在R5上配置compare-different-as-med命令,让R5强制比较来自不同AS且去往同一目标网络的路由的MED属性值。

[R5]bgp 400
[R5-bgp]compare-different-as-med 

配置后,再查看R5的BGP路由表
在这里插入图片描述

可以看到,R5去往192.168.1.0/24网络的路由的MED值都被修改了,并且选择了MED值最小的路由座位了最优路由。使用tracert命令验证路径。
在这里插入图片描述
可以看到,从AS400 到192.168.1.0/24的流量现在经过了R4,并且经由R1的G0/0/1接口进入AS100。

实验表明,BGP路由中的MED属性可以用来控制流量经过哪个入口一个AS,并且MED只传递给邻居AS,邻居AS不会再将接收到的MED传递给其他AS。缺省情况下,对于来自不同AS的前缀相同的路由,BGP不会比较他们的MED属性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值