BGP med默认值_BGP路由优选原则之MED值

  网

  工

  圈

网络工程师阿龙 圈内最早的公益公众号,本号已认证!学网络关注我一个就够了(关注近5w+)关注 0853f9abe16a243980a41df9081ff879.gif听说 99%网工都来这里充电吖

老规矩,先做个小回顾,汇总一下,目前龙哥都与大家分享了哪些BGP选路原则:

1、首选值(华为特性)。默认为0,值越高越优选。 2、Local-preference。默认为100,值越高越优选。 3、优选本地生成路由(0.0.0.0)。手工聚合>自动聚合>network>import 4、优选最短的AS路径(AS_Path)。

5、优选Origin类型(i>e>?)

本期与大家分享的是第6条BGP路由优选原则:MED值

阅读完本篇,您将收益如下 1、MED默认值为0; 2、本地产生的MED,仅在本AS内传递; 3、针对不同相邻的AS设置的MED,仅在两个相邻的AS之间传递MED,收到MED的AS一方,不会再传给任何其他的AS。 4、掌握compare-different-as-med命令的含义、场景。 思路 1、搭好拓扑图,连接好线; 2、标注IP信息、router id; 3、启动设备,配置好设备名、router-id,每个设备直连IP信息。 4、配置IGP路由,这里我配OSPF,AS之间理论上使用静态路由也可以,这里我统一都跑OSPF,都在area 0,不影响本次实验。 5、配置BGP,使得:
  1. R1、R2分别于R3形成ebgp邻居关系;
  2. R3与R4形成ibgp邻居关系;
  3. R4分别与R5、R6形成ebgp邻居关系;
  4. R7分别与R5、R6、R8形成ibgp邻居关系。
6、验证 7、得出结论。 拓扑图

1ad60ad80a26a7b2505390ebbdcb8e15.png

基础配置 基础配置主要是: 配置完后,建议检查路由协议的邻居关系是否ok?关键配置 1 MED的默认值

这里,我以R7路由器为例,我们先看看R7的bgp路由信息:

3ea7d5198e046982729b2f11be16fbc6.png

为空,正常,因为我们还没宣告任何bgp路由。

然后我在R7创建loopback 70,ip地址为70.70.70.70/24 ,然后network到bgp中,再来查看一下R7的bgp路由信息:

ab176d55738446c6adaed413a25e4971.png

我们可以看到bgp路由信息了,同时也看到了MED=0;

由此,我们明白了:

MED默认值为0

2 本地生成的MED

8cbbcdeba2622b850351695df4381664.png

我们分别先看一下R4、R5的bgp路由信息:(目的是与待会进行对比)

3d76d63ce3d3cbb54216da3059d1c418.png

4dca2d5faa73c98428d47f5c5a28a849.png

均没有bgp路由,毕竟我们都没有宣告任何路由信息,当然肯定没有了,是吧! 现在,我打算在R7引入OSPF路由:

7d2e7d3b5fed7974c7c3cbfd7ca82bb2.png

1e2759e54221a89107ca7fda1bf02dde.png

我们在R7查看bgp路由,会有一列MED的信息,这些数值是怎么来的? 这些就是OSPF路由协议的cost值,不信?我们可以看看OSPF的路由信息, 以3.3.3.3为例,看看OSPF的cost是否为3?

0d4a205c78b1522acd56816ec04702bf.png

现在,我们在R4、R5看看bgp路由信息,看看是否有携带MED?

e8b91cc633faa70059b9d3c77515e709.png

1685980c5dc5d8d9cb9bb5483f7e2b44.png

由图可知,R4收到R5、R6发过来的BGP路由是没有携带MED值的,为空。 R5上查看,收到本AS内R7过来的bgp路由是有携带MED值的。 我们可以顺便在查看一下R6、R8的bgp路由信息:

7981958d53f8880d39a41cefd2cd0e81.png

c2ec471912a866f6510b03eb68b45ba6.png

同样,R6、R8收到本AS内R7发过来的bgp路由,也是有携带MED值的。 由此,我们明白了:

本地生成的MED,仅在本AS内传播。

3 相邻AS之间的MED

在AS 200内的R4查看 AS300发过来的BGP路由信息:

abe6d03d66aa7539037e6fe0489bb64a.png

由此可知,R4收到两条bgp路由,分别是R5、R6发送过来的,优选R5。因为是R5的router id比R6小。 现在我们可以通过MED值来改变R4优选R6了。 要让R4使用MED值来选路,前提是前面5条都无法pk出来,才可以,是吧! 关于MED值,其实我个人理解,就是Cost值的意思,换了个名字而已。 你可以理解:你在深圳,去往北京,可通过先去上海再转机到北京,费用2500元;也可以先去武汉再转机到北京,费用1500元。这是你当然会选择费用1500元的这个方案了是吧!所以,MED值越小越优选。 现在我们把R5的MED值改大,改为100,R6的MED值设置50,这样就可以优选R6了。

50a9448c81b89b870c82d8d38790252b.png

b8ad98c508937f583532fad583a07cff.png

现在,我们在R4可以看到优选R6了:

f74458bbfd2f9de3520b34254eb4990f.png

R4没有选R5发过来的bgp路由原因是:没有更优的MED值。

b09be66dc8bb8186a594c98111b7f9f5.png

我们在R4的G0/0/1抓包一下:

f55b50b1ab7f3b1562c7f7bd28fa31b5.png

开启抓包后,可以在R4刷新一下BGP路由信息,这样R5就会立即发送一份bgp路由信息,这样我们才可以抓到相关信息:

32c700e0781792d767d54e947b660c4a.png

66fda57c9e1d36d63845d91fefa59281.png

现在,我们在R3、R1上看看关于70.70.70.0/24的bgp路由信息:

030c51e14479fa119caf05158e478b6a.png

97421eab2687e74ea5f834dc454362b8.png

e58df554f6bba9461852c7ee179042ea.png

43a236346efd522092af3e9cc9b7c299.png

从上图可知,AS 200内的R3收到R4的bgp路由携带了MED值,而AS 100的R1、R2没有携带MED值了。

由此,我们明白了:

针对不同相邻的AS设置的MED,仅在两个相邻的AS之间传递MED,收到MED的AS一方,不会再传给任何其他的AS。

4 来自不同AS间的MED值

现在,我们来把拓扑图变形一下,把R2归属到AS 400中

04a8b0fcb98ebb299117d0766f588bd8.png

4163b2271f3ad4107852a44322103f87.png

5d8916af6ecf6ed10ead4145241cb725.png

然后我们分部在R1、R2创建相同的20.20.20.20/24的loopback接口,然后也宣告到bgp中。 e7ced7b19602559c598c52d0c79fc7ea.png 8eeb4d46e84ba107ab5087b4b4fae54f.png 在R1传给R3 BGP路由 设置MED 值100,R2传给R3 BGP路由  设置MED值 50。 现在,我们来R3查看一下关于20.20.20.0的bgp路由: 3690da962393ba75124d876f7304aa93.png 我们会很奇怪发现,R3居然优选MED值大的。我们来看看优选原因: 747ef4cf8d9cb826090e68301fea1881.png 原因竟然是没有更优的Router id!!!!! 这说明跳过了MED值的比较了。 那么有没有办法呢? 肯定有的! 在R3执行如下命令: b62951871bc2d7f2723cf5ec0897098c.png 8757df1a4291285a7141e3bcf6544634.png 44623105b956f8e6e9d292f5a0f09047.png 现在就优选med值较小的了。 说明: 缺省情况下,不允许比较来自不同AS邻居 相同路由信息的MED值。 但可以使用命令:compare-different-as-med 来允许比较来自不同的AS邻居路由的MED值。 但注意了,除非能够确认不同AS采用了同样的IGP和路由选择方式,否则不要使用此命令。右下角求好看,喵~ cad259292a37b6f60f19b76c95811763.gif点击
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值