BGP选路原则之首选值(华为特性)

今天翻起了BGP学习笔记,于是动手瞧瞧实验,再次与大家分享BGP选路原则第一条:首选值。我本人比较喜欢技术,偶尔会瞧瞧实验,做做笔记、写写心得,然后分享出来,与大家一起成长。如您有兴趣,可以一起交流、讨论。

(选路选路,所谓选路原则,就是去往同一个目的地,有多条路、多个方案可以到达目的地,根据事先制定的规则,一个个去pk,选出最优的路由,引导数据包去往目的地。就好比你去北京,你有N种方法可以到达,这时你就会根据预算,来算计一条最便宜的方案去往北京。)



1

拓扑图



BGP选路原则之首选值(华为特性)



2

配置思路


1、根据上述拓扑图,准备好环境。

2、规划好IP地址,标注在拓扑上,IP地址规划规则,如图。R1与R2互联之间网段就用12.1.1.0/24,R1接口就用12.1.1.1/24, R2 接口就用12.1.1.2/24 。

3、配置router id。

4、配置IGP路由(先把全网打通了,再去配BGP,因为我们都知道BGP是基于TCP的,全网都不通,TCP怎么能建立连接 是吧?),这里我全网就配OSPF路由协议,都在区域0.

5、配置BGP。



3

关键配置


惯例,router id 、接口ip配置方法这里不再示例。


1、配置IGP路由协议:

     R1#  (其他路由器参考如下配置。)

BGP选路原则之首选值(华为特性)


2、配置BGP路由协议:


R1#

#

bgp 100

 peer 12.1.1.2 as-number 200 

 peer 13.1.1.3 as-number 200 

 #



R2#

#

bgp 200

 peer 4.4.4.4 as-number 200 

 peer 4.4.4.4 connect-interface LoopBack0

 peer 12.1.1.1 as-number 100 

 #



R3#

#

bgp 200

 peer 4.4.4.4 as-number 200 

 peer 4.4.4.4 connect-interface LoopBack0

 peer 13.1.1.1 as-number 100 

 #



R4#

#

bgp 200

 peer 2.2.2.2 as-number 200 

 peer 2.2.2.2 connect-interface LoopBack0

 peer 3.3.3.3 as-number 200 

 peer 3.3.3.3 connect-interface LoopBack0

 #




4

测试


接下来,我打算在R1发布2条BGP路由,然后在R4查看。

这两条路由分别为:10.10.10.10/32和20.20.20.20/32


BGP选路原则之首选值(华为特性)


1、先在R1创建两个loopback口,然后分别配置上述那两个IP地址。


BGP选路原则之首选值(华为特性)


2、宣告到BGP进程中

BGP选路原则之首选值(华为特性)



3、在R4查看BGP路由,可以看到学到2条Ebgp路由:

BGP选路原则之首选值(华为特性)

BGP选路原则之首选值(华为特性)


从图,可知,R4如果要去往这2个目的地(10.10.10.10或20.20.20.20),都是走R2。


有网友可能会说,规则那么多,我没记住,上图为啥走R2,有没有命令可以查一下???

这条命令它来了:

BGP选路原则之首选值(华为特性)


已经告诉我们了,原来是R2和R3 PK,R3没有更优的Router id,  router id 越小的获胜。


如果你希望去往10.10.10.10和20.20.20.20 都走R3,这时候你可以使用“首选值”来实现。


在R4进行如下配置:


bgp 200

  peer 2.2.2.2 preferred-value 50 

  peer 3.3.3.3 preferred-value 100 

#


解释:

 peer 2.2.2.2 preferred-value 50 

但凡2.2.2.2 这台邻居路由器发过来的bgp路由,R4都将它们的首选值设置为50.




配置首选值之前,我们可以看到华为默认首选值是0:

BGP选路原则之首选值(华为特性)


现在我们再来看看R4的bgp路由:


BGP选路原则之首选值(华为特性)


可知,现在R4去往10.10.10.10和20.20.20.20 已经走R3了,因为从R3学习到的BGP路由,它们的首选值是100, 大于从R2学过来的BGP路由首选值是50。


可以用命令查看确认R2 落选的原因:


BGP选路原则之首选值(华为特性)


R2没有更优的首选值。


业务数据走向:

BGP选路原则之首选值(华为特性)

BGP选路原则之首选值(华为特性)



哎,人的欲望就是无止境的,客户的需求总是不断产生。可能你的客户突然要求,能不能有一些流量走R2,有些流量走R3?


作为网络工程师的你,当然要回答:能!包在我身上!


下面我们就举例,让R4去往10.10.10.10 走R3;去往20.20.20.20 走R2,

增加了30.30.30.30,不针对30.30.30.30修改首选值。

BGP选路原则之首选值(华为特性)

关键配置:

1、分别抓取路由:

R4#

#

acl number 2000  

 rule 5 permit source 10.10.10.10 0 



2、使用route-policy进行设置。


#

route-policy pre-along permit node 10 

 if-match acl 2000 

 apply preferred-value 100

#



3、在BGP进程调用



bgp 200

peer 3.3.3.3 route-policy pre-along import




R4上查看路由表,只有去往10.10.10.10是走R3,其他都是走R2。走R3的原因是首选值最高,100>0。

BGP选路原则之首选值(华为特性)



BGP选路原则之首选值(华为特性)


怎么样,已经可以实现分流了吧?虽然很简单的特性,但是通过实验,是不是更加深刻的理解首选值了!




BGP选路原则之首选值(华为特性)



接下来我在R4的g0/0/1口处抓包,我再R1先删除10.10.10.10bgp路由,然后再添加,看看R4收到的报文是否有首选值字段,如果没有,那么首选值字段就是本地意义,R4路由器自己标记的。


BGP选路原则之首选值(华为特性)


说明首选值这个属性,仅本地有意义。就是仅在各自路由器上生效,离开了本身的路由器,报文没有携带这个字段啦!


上一篇:MPLS VPN & LSP备份 详尽基础知识


下一篇:BGP选路原则之本地优先级(Local_Pref)