BGP路由优选(超详细的实验操作过程)

BGP路由优选(超详细的实验操作过程)_第1张图片Ip地址规划,例如:R1连R2,则R1路由器IP为12.1.1.1/24,R2路由器IP为12.1.1.2/24,其他路由器同上。

  1. 基础命令:
    R1:
    bgp 100
     peer 12.1.1.2 as-number 200   #与AS区域号为200内的12.1.1.2路由器建立对等体
    ipv4-family unicast
      undo synchronization
      network 15.1.1.0 255.255.255.0 #将15.1.1.0网段宣告出去,注:宣告的网段一定要在自己的路由表里
      peer 12.1.1.2 enable
    
    R1:
    bgp 200
     peer 3.3.3.3 as-number 200 
     peer 3.3.3.3 connect-interface LoopBack0	#与3.3.3.3建立对等体的时候使用LooBack0接口建立
     peer 12.1.1.1 as-number 100 
     #
     ipv4-family unicast
      undo synchronization
      peer 3.3.3.3 enable
      peer 3.3.3.3 next-hop-local 	#将下一跳属性设为自身与对等体相连的接口地址
      peer 12.1.1.1 enable
    

BGP路由优选属性(顺序比较)

0.路由下一跳必须可达,在R2上输入peer 3.3.3.3 next-hop-local,R4同理

1.首选值越大越优,默认值为0。

2.本地优先级越大越有,默认值为100。

3.本地始发。

4.AS-Path越短越优。

5.起源属性

6.MED值越小越优。

7.EBGP>IBGP。

8.去往下一跳的IGP Cost值越小越优。

9.Cluster-List越短越优。

10.发送者Router-ID越小越优,如果属性中携带Originator-ID,则直接比较Originator-ID,均为越小越优。

11.Peer邻居的IP地址越小越优。


0.路由下一跳必须可达,在R2上输入peer 3.3.3.3 next-hop-local,R4同理

BGP路由优选(超详细的实验操作过程)_第2张图片

 当路由器将本地路由表中的IGP协议路由通过Network或者import-route两种发布到BGP时, 在BGP路由表中,Next_Hop属性为0.0.0.0。

我在R3上创建了条静态路由,指向Null0,并且把他Network

 

然后查看本地路由表会发现,下一跳地址是0.0.0.0的

BGP路由优选(超详细的实验操作过程)_第3张图片

如果下一跳是EBGP,下一跳接口就会改变

BGP路由优选(超详细的实验操作过程)_第4张图片

如果下一跳是IBGP,下一跳接口就会是本地出接口地址

BGP路由优选(超详细的实验操作过程)_第5张图片

R2当配置了上图的命令时,在R3上看到bgp路由表,就会看到下一跳改变了,变成了R2的更新源地址,因为是从EBGP发过来IBGP内,E->I不变,I->E变。如下图

BGP路由优选(超详细的实验操作过程)_第6张图片

为了证明E->I不变,I->E变,我们把命令undo掉,查看bgp路由表

BGP路由优选(超详细的实验操作过程)_第7张图片

在R4上看也并没有改变。

BGP路由优选(超详细的实验操作过程)_第8张图片

所以我们得出结论:

1、描述到达目的网段的下一跳地址,不一定时直连下一跳,因为有可能是非直连邻居。

2、当路由器将本地路由表中的IGP协议路由通过Network或者import-route两种发布到BGP时, BGP路由表中,Next_Hop属性为0.0.0.0 

3、当路由器将本地始发的BGP路由通告给IBGP邻居时,Next_Hop为这台路由器的更新源,一般 就是Loopback接口地址。

4、当路由器将路由通告给EBGP邻居时,不管是不是始发路由。Next_Hop为这台路由器的更新 源,一般就是建立邻居的直连接口地址。

5、即当路由传递给EBGP邻居时,Next_Hop会改变;当传递给IBGP邻居时,不会改变。

1.首选值越大越优,默认值为0。

该值不是属性,无法随路由传递。在R3的入方向修改。举例:peer 4.4.4.4 preferred-value 1

注意:这个值只是在本地,不会随着路由传递

首先我们在R3上看到15.1.1.0/24网段的路由只有从2.2.2.2方向来的

BGP路由优选(超详细的实验操作过程)_第9张图片

 为了体现BGP路由优选,我们在R5上将15.1.1.0/24位的网段引入

 之后在R3上就可以看到去往15.1.1.0/24

BGP路由优选(超详细的实验操作过程)_第10张图片

 现在是2.2.2.2最优,因为输在了RID上,RID是越小越优,所以R3去往15.1.1.0/24网段会选择2.2.2.2去

BGP路由优选(超详细的实验操作过程)_第11张图片

 我们可以选择4.4.4.4为下一跳,首先将首选值更改为1

BGP路由优选(超详细的实验操作过程)_第12张图片

配置完之后,再来查看bgp路由表里面的15.1.1.0,我们就看到了2.2.2.2输在了PreVal属性

BGP路由优选(超详细的实验操作过程)_第13张图片

 注意:路由优选是按顺序来执行的,如果我们这个首选值已经选了最优的了,那么就不会再有后面的选择,所以我们在进行下一项本地优先级之前,就需要删除首选值的命令

2.本地优先级越大越有,默认值为100。

只传递给IBGP邻居,可随路由传递出去。在R3的入方向调用路由策略进行修改。

  (1)配置命令

  ip ip-prefix 15 index 10 permit 15.1.1.0 24 如果匹配15.1.1.0 24网段就允许过

  route-policy LP permit node 10

   if-match ip-prefix 15

   apply local-preference 101

  bgp 200

   peer 4.4.4.4 route-policy LP import

我们要想修改本地优先级,那么首先就得需要抓取路由

BGP路由优选(超详细的实验操作过程)_第14张图片

 BGP路由优选(超详细的实验操作过程)_第15张图片

 修改完之后,就可以看到本地优先级已经被改为101了

BGP路由优选(超详细的实验操作过程)_第16张图片

BGP路由优选(超详细的实验操作过程)_第17张图片

3.本地始发。

手动汇总>自动汇总>Network>Import。在R1上观察现象,操作步骤如下:

  (1)在R1上创建一条静态路由10.0.0.0/8,然后在BGP中进行network 10.0.0.0 24和import-route static。观察network和import两类路由。

首先先创建一个静态路由

然后就将他们引入直连还有network宣告

就可以看到bgp路由表有两个10.0.0.0/8网段的路由了

BGP路由优选(超详细的实验操作过程)_第18张图片

后面的“i”表示是network宣告进来的,“?”则表示import进来的

BGP路由优选(超详细的实验操作过程)_第19张图片

我们从上图可以看到,import比不过network的原因是路由类型,由这样可以得知,network进来的路由优先级是比import路由进来的优先级大的

  (2)在R1上创建一个loopback1:10.1.1.0/24,然后在BGP中引入直连接口,随后输入summary automatic自动汇总命令。注意:自动聚合只对引入的路由进行聚合

在loopback1上创建一个10.1.1.0/24

然后在bgp上引入直连,并且再自动汇总

BGP路由优选(超详细的实验操作过程)_第20张图片

就可以看到多了一条路由进了BGP路由表

BGP路由优选(超详细的实验操作过程)_第21张图片

我们查看路由是怎么选取的

BGP路由优选(超详细的实验操作过程)_第22张图片

最优的路由是选取的自动聚合的路由,所以我们可以知道,Summary>Network>Import

  (3)在R1上输入aggregate 10.0.0.0 255.0.0.0,生成一条手动汇总路由。

这时,我们再看BGP路由表,发现又多了一跳路由

BGP路由优选(超详细的实验操作过程)_第23张图片

我们依旧查看路由是怎么选的

BGP路由优选(超详细的实验操作过程)_第24张图片

由此又可以得出,手动聚合>自动聚合>Network>import

4.AS-Path越短越优。

在R3的入方向调用路由策略修改。

  (1)配置命令

  ip ip-prefix 15 index 10 permit 15.1.1.0 24

  route-policy AS-Path permit node 10

   if-match ip-prefix 15

   apply as-path 101 102 103 additive

  bgp 200

   peer 2.2.2.2 route-policy AS-Path import

我们在R3上配置好命令,并且将AS_path改为101,102,103

BGP路由优选(超详细的实验操作过程)_第25张图片

BGP路由优选(超详细的实验操作过程)_第26张图片

此时我们查看路由表

BGP路由优选(超详细的实验操作过程)_第27张图片

BGP路由优选(超详细的实验操作过程)_第28张图片

我们可以看到,导致2.2.2.2选不上的原因是因为AS_path太长了

5.起源属性

IGP>EGP>Incomplete。

优于目前EGP协议已经淘汰,看不到起源属性为EGP的路由,所以只需要比较IGP(Network)>Incomplete(Import)即可。

Network(i)>EGP(E)>Import(?)

一开始,我是在R1和R5上使用Network将路由引入,所以他会提示是i

BGP路由优选(超详细的实验操作过程)_第29张图片

之后,我在R1上将Network改成Import,就会变成下图

BGP路由优选(超详细的实验操作过程)_第30张图片

BGP路由优选(超详细的实验操作过程)_第31张图片

这里我们可以看到,IGP的优先级是要比Import的优先级高的

6.MED值越小越优。

在R3的入方向调用路由策略修改。

  (1)配置命令

  ip ip-prefix 15 index 10 permit 15.1.1.0 24

  route-policy MED permit node 10

   if-match ip-prefix 15

   apply cost 1

  bgp 200

   compare-different-as-med---------使能比较不同区域路由的MED值,默认只比较相同区域的MED值

   peer 2.2.2.2 route-policy MED import

按照上述配置之后,结果如下图

BGP路由优选(超详细的实验操作过程)_第32张图片

BGP路由优选(超详细的实验操作过程)_第33张图片

7.EBGP>IBGP。

此时需要在R4上观察情况,让R3向R4发送一条路由:15.1.1.0/24,此时在R4上观察R3和R5各自发来的两条15.1.1.0/24的优选结果。

  (1)首先在R3上创建一条静态路由:ip route-static 15.1.1.0 255.255.255.0 NULL0 description EBGP>IBGP。

  (2)在R3的bgp视图下宣告15.1.1.0路由,让R3将该路由发送给R4。但是此时R3发送给R4的路由的AS-Path属性为空,在比较EBGP>IBGP之前会优先比较AS-Path。

这时候是因为AS_Path短,所以被优选

BGP路由优选(超详细的实验操作过程)_第34张图片

  (3)此时需要将R3发送路由的AS-Path属性修改一下,长度修改为和R5发送的相同即可,R5发送的AS-Path属性中为一跳。 

 route-policy E>I permit node 10

   if-match ip-prefix 15

   apply as-path 111 additive

  bgp 200

   peer 4.4.4.4 route-policy E>I export

  (4)此时在R4上观察路由优选结果

BGP路由优选(超详细的实验操作过程)_第35张图片

8.去往下一跳的IGP Cost值越小越优。

在R3的出接口修改OSPF的Cost值即可,将R3的G0/0/0接口Cost值改大,下一跳即会优选R4。

BGP路由优选(超详细的实验操作过程)_第36张图片

原本是2.2.2.2为最优选路,现在会变成4.4.4.4为最优选路

BGP路由优选(超详细的实验操作过程)_第37张图片

IGP的Cost值越小越优,所以4.4.4.4毫无疑问的当选为最优路径啦

BGP路由优选(超详细的实验操作过程)_第38张图片

若以上8条选路规则完全相同,则可以通过命令让路由负载。但是只在IP公共路由表进行负载,但是BGP还是会根据后面的规则继续优选,直到选出一条最优路由发出去。

(1)配置命令

  bgp 200

   maximum load-balancing ibgp 2-----------使能IBGP路由负载,如果最优路由为EBGP,则最后的参数修改为ebgp。即IBGP和EBGP不同同时进行负载。

我们先来看看ip路由表,只有一条路由,那我们接下来要进行负载

BGP路由优选(超详细的实验操作过程)_第39张图片

我们配置完后,发现是可以选取8条路由来进行负载,因为我们现在只有两台,那我们写个2

这时,我们再查看ip路由表,发现依旧还是只有一条路由。

BGP路由优选(超详细的实验操作过程)_第40张图片

为什么配置了负载命令之后还是不行呢?我们来看看形成BGP路由等价负载分担的条件是什么。

BGP路由优选(超详细的实验操作过程)_第41张图片

这时我们发现,原来,不仅要前8条相同,AS_Path的属性也要完全相同,所以我们当然进行不了负载啦。我们现在来修改一下AS_Path看看。

BGP路由优选(超详细的实验操作过程)_第42张图片

我们将从4.4.4.4来的AS_Path改成100,然后再查看ip路由表

BGP路由优选(超详细的实验操作过程)_第43张图片

这时候,我们可以看到负载成功了,但是这样会形成环路,因为AS_Path一样了,所以,不介意采用这种方式,我们可以采取忽略这个规则

   load-balancing as-path-ignore-----------BGP路由负载时,AS-Path属性必须完全相同,不光是长度相同。所以这里需要忽略AS-Path的比较规则。

我们将之前的配置Undo之后,就回到原来的状态,并且配置好忽略命令后是一样可以负载的

BGP路由优选(超详细的实验操作过程)_第44张图片

9.Cluster-List越短越优。

该属性为路由反射器相关属性。

  (1)此次在R2上观察现象,首先在R2和R4之间建立IBGP邻居关系。

BGP路由优选(超详细的实验操作过程)_第45张图片BGP路由优选(超详细的实验操作过程)_第46张图片

  (2)在R3宣告一条路由,让R4直接发送给R2.

BGP路由优选(超详细的实验操作过程)_第47张图片

  (3)将R3配置成路由反射器,将R4配置为反射客户端。此时R4宣告的路由经过R3反射,会将同样的路由也反射给R2一份。反射过程中所有属性均不改变。

这时,在R2上会看到有两条44.44.44.44的路由

BGP路由优选(超详细的实验操作过程)_第48张图片

  (4)在R2上观察两条路由的优选结果。直接发送给R2的路由没有经过反射,所有没有Cluster-List,长度为0;经过反射的路由会携带Cluster-List。

BGP路由优选(超详细的实验操作过程)_第49张图片

10.发送者Router-ID越小越优,如果属性中携带Originator-ID,则直接比较Originator-ID,均为越小越优。

11.Peer邻居的IP地址越小越优。

你可能感兴趣的:(BGP路由优选,网络协议)