03-BGP属性详解--Local_Pref

简介:
Technorati 标签:  , , , ,

在IGP时代我们都知道,比如说ospf,链路状态协议,在进行路由选择的时候,比的是链路的耗费,哪条链路耗费小则会更优先,如果两个链路耗费是一样的,那么就做负载均衡。

实际上就2个原则成就了ospf---最短路径优先的工作原理。

那如果在BGP中,有多条路由可以到达目的的时候,应当如何进行选择呢?哪一条路径是比较优先的呢?

来看看这11个属性的优先级,加深记忆,最好能熟练的背下来:

1 HIGHEST WEIGHT--cisco私有属性

2 HIGHEST LOCAL PRERENCE -----公认必尊well-known mandatory

3 ROUTE ORIGINATED BY THE ROUTER NEXT HOP=0.0.0.0 * -----公认必尊well-known mandatory

4 SHORTEST AS PATH * -----公认必尊well-known mandatory

5 LOWEST ORIGINATED IGP>EGP>INCOMPLETE * -----公认必尊well-known mandatory

6 LOWEST MED

7 EBGP PATH OVER IBGP PATH

8 PREFER THE PATH THROGH THE CLOSEST IGP NEIGHBOR

9 RREFER OLDEST ROUTER FOR EBGP PATH

10 PREFER THE PATH WITH THE LOWEST NEIGHBOR BGP ROUTER ID

11 BGP LOWEST ROUTER ID

12 MINIMUM CLASTER LIST LENGTH

在bgp中,除了有一大堆原理需要深刻理解以外,选路原则是重中之重。一定需要掌握(要想对bgp有所认识和故障排查,这里一定是要掌握而不是了解)选路原则。

该文档会逐一对每个属性进行验证.力求能达到让我自己在心里有数对这些概念。

Local_Pref属性详解:

Local_pref用来通告路由的优先程度,仅仅在IBGP对等体之间交换不通告给其他的AS.也就是说只在本AS内生效.BGP的路由器通过不同的IBGP对等体得到目的的地址相同但下一跳不同的多条路由的时候(也就是说不同的IBGP邻居通告过来相同的目的路由存在多跳的情况下),cisco中除了weight属性之后就是Local_Pref属性最优先了。Local_Pref属性值和weight一样,越高越优先。

clip_image002

从应用场合上线来看看weightLocal_Pref的区别

Local_Prefweight也有所不同weight使用的情况是一个ASBR分别连接两个不同ASASBR.本地路由器作为本AS的唯一出口当存在多条路径的时候在本地设置优先级weight权重权重大得优先。weight只是在本地路由器上有效。

Local_pref只是当一个IBGP路由器从另外两个IBGP邻居那里获得了有相同目的网段的路由以后,如果没有设置weight的话(默认在初始路由器的weight32768,而在其他任何路由器的weight都为0),那么这个时候就看这两条路由送过来时带的Local_Pref的属性值,哪个大,那么哪个路由优先,从而写到路由表中作为最优路由,还有一个次优路由在数据库中,等主用出现问题的时候,次优路由生效。

Local_Pref总结

只用于IBGP邻居之间只是AS内部。

默认100.可选范围是0-4294967295.

show ip bgp. 可以看得到LocPrf.

只在IBGP peer间进行通告.告知如何离开本地的AS.是走A离开好呢,还是走B离开好呢?

这个值越大越高.越高越优先.BGP不是根据带宽来的,而是根据策略来的。

这是一个出站策略。

还有一点需要提出,标准访问列表,既可以对路由层面的前缀进行匹配,也可以匹配数据转发层面的.

而扩展访问列表只能匹配上数据转发层面的数据包,要想对路由层面的路由前缀进行匹配需要用标准访问控制列表。

还有在博客http://361531.blog.51cto.com/351531/701272曾经提到weight是一个入站策略所以在配置的时候如是是用route-map的话应该用入方向

neigbor x.x.x.x route-map xxx in

这里用route-map的话一定是对IBGPout方向应用才会生效。因为Local_pref就是一个出站策略。

下面用实验来验证一下LP的原理,上图:

clip_image004

R2在AS 65520中,R1/R3/R4在AS 65500中,R3会通过R1还有R4这两个ASBR同时学到双份的50.50.50.50/100.100.100.100/150.150.150.150/200.200.200.200,最后要达到的效果就是,在R3上面,从R1学到的50.50.50.50和100.100.100.100的Local_pref=300.而在R3上面从R4学到的150.150.150.150和200.200.200.200的LP=300.那么最后达到的效果就是,50和100走的路径是R2-R1-R3, 150和200走的路径是R2-R4-R3.

R1的配置:

clip_image006

R4上的配置为:

clip_image008

最后在R3上面我们可以验证一下是否四条路由走两条路径,并且需要核查Local_pref.

clip_image010

这里我们已经可以看到通过R1和R4通告过来的路由都分别打上了不同的Local_pref值,越大越优先。

所以路由两条的下一跳是R1,还有两条的下一跳是R4.

最后我们在R3上面进行一下traceroute,最后验证一下路由的走向:

clip_image012


本文转自 hny2000 51CTO博客,原文链接:http://blog.51cto.com/361531/701803


相关文章
|
存储 缓存 文件存储
如何保证分布式文件系统的数据一致性
分布式文件系统需要向上层应用提供透明的客户端缓存,从而缓解网络延时现象,更好地支持客户端性能水平扩展,同时也降低对文件服务器的访问压力。当考虑客户端缓存的时候,由于在客户端上引入了多个本地数据副本(Replica),就相应地需要提供客户端对数据访问的全局数据一致性。
32697 79
如何保证分布式文件系统的数据一致性
|
前端开发 容器
HTML5+CSS3前端入门教程---从0开始通过一个商城实例手把手教你学习PC端和移动端页面开发第8章FlexBox布局(上)
HTML5+CSS3前端入门教程---从0开始通过一个商城实例手把手教你学习PC端和移动端页面开发第8章FlexBox布局
17749 20
|
设计模式 存储 监控
设计模式(C++版)
看懂UML类图和时序图30分钟学会UML类图设计原则单一职责原则定义:单一职责原则,所谓职责是指类变化的原因。如果一个类有多于一个的动机被改变,那么这个类就具有多于一个的职责。而单一职责原则就是指一个类或者模块应该有且只有一个改变的原因。bad case:IPhone类承担了协议管理(Dial、HangUp)、数据传送(Chat)。good case:里式替换原则定义:里氏代换原则(Liskov 
36680 19
设计模式(C++版)
|
存储 编译器 C语言
抽丝剥茧C语言(初阶 下)(下)
抽丝剥茧C语言(初阶 下)
|
机器学习/深度学习 人工智能 自然语言处理
带你简单了解Chatgpt背后的秘密:大语言模型所需要条件(数据算法算力)以及其当前阶段的缺点局限性
带你简单了解Chatgpt背后的秘密:大语言模型所需要条件(数据算法算力)以及其当前阶段的缺点局限性
24757 14
|
机器学习/深度学习 弹性计算 监控
重生之---我测阿里云U1实例(通用算力型)
阿里云产品全线降价的一力作,2023年4月阿里云推出新款通用算力型ECS云服务器Universal实例,该款服务器的真实表现如何?让我先测为敬!
36660 15
重生之---我测阿里云U1实例(通用算力型)
|
SQL 存储 弹性计算
Redis性能高30%,阿里云倚天ECS性能摸底和迁移实践
Redis在倚天ECS环境下与同规格的基于 x86 的 ECS 实例相比,Redis 部署在基于 Yitian 710 的 ECS 上可获得高达 30% 的吞吐量优势。成本方面基于倚天710的G8y实例售价比G7实例低23%,总性价比提高50%;按照相同算法,相对G8a,性价比为1.4倍左右。
|
存储 算法 Java
【分布式技术专题】「分布式技术架构」手把手教你如何开发一个属于自己的限流器RateLimiter功能服务
随着互联网的快速发展,越来越多的应用程序需要处理大量的请求。如果没有限制,这些请求可能会导致应用程序崩溃或变得不可用。因此,限流器是一种非常重要的技术,可以帮助应用程序控制请求的数量和速率,以保持稳定和可靠的运行。
29838 52

热门文章

最新文章

下一篇
开通oss服务