一、BGP选路原则概述
BGP(Border Gateway Protocol)是一种自治系统间的路由协议,主要应用于互联网核心路由器之间的路由交换。BGP路由协议的主要作用在于为互联网核心路由器提供较好的路由选择机制,保证信息能够尽快地到达目的地。BGP选路原则是决定路由器在选择传递路由流量时所考虑的因素及其权重大小的一系列规则。
二、BGP选路原则分类
BGP选路原则主要分为以下几类:
1、自治系统路径长度
对于同一个目的端口的多个路由,BGP优先选择自治系统路径长度最短的路由,因为自治系统路径更短,代表着流量从源节点到目的节点的中间节点数量更少,路由传输效率更高。
2、下一跳选择
当自治系统路径长度相同时,BGP会优选下一跳较优的路由,下一跳的选择是通过通告者列表(Originator ID,Cluster List,AS Path)和路由器ID来进行判断决策的。
#示例代码 router bgp 1 neighbor 10.0.0.1 remote-as 2 neighbor 10.0.0.1 next-hop-self
3、自治系统内部选择
当自治系统路径长度相同、下一跳相同时,BGP通过成本最小的自治系统路径和IGP协议的成本值来进行选择。
4、BGP属性值
如果以上三个规则均相同,则通过操作BGP的属性值来进行选择,如MED(Multiple Exit Discriminator)、Local Preference、Origin、Weight等,这些属性值可以手动指定。
#示例代码 route-map ISP1-out permit 10 match ip address prefix-list prefix_ISP1_out set local-preference 200 route-map ISP2-out permit 10 match ip address prefix-list prefix_ISP2_out set local-preference 100
三、BGP选路策略
BGP选路策略是指在BGP选路原则基础上,根据网络需求,制定的可操作的路由选择策略。在实际操作中,BGP选路策略是一个复杂的过程,根据实际需求进行调整。
1、单一入口策略
单一入口策略是指在多个路径到达本站点的情况下,选择一个作为流量在网络中的唯一切入点进行入口。
#示例代码 router bgp 1 neighbor 10.0.1.1 remote-as 2 neighbor 10.0.1.1 route-map ISP1-Default-In in route-map ISP1-Default-In permit 10 match ip address prefix-list prefix_ISP1_in set local-preference 150 route-map ISP2-Default-In deny 10
2、多路进出策略
多路进出策略是指对于不同的流量流向,选择一个或多个最优路径进行进出。
#示例代码 route-map OUT permit 10 match ip address prefix-list prefix_ISP1_OUT set next-hop 10.0.1.1 route-map OUT permit 20 match ip address prefix-list prefix_ISP2_OUT set next-hop 10.0.2.1 route-map IN permit 10 match ip address prefix-list prefix_ISP1_IN set local-preference 200 route-map IN permit 20 match ip address prefix-list prefix_ISP2_IN set local-preference 150
3、本地出口限制策略
本地出口限制策略是指在一个自治系统中的边界路由上,限制系统中其他自治系统可以使用此路由中的网络外部路径,从而控制流量。
#示例代码 router bgp 1 network 172.16.0.0 mask 255.255.0.0 neighbor 10.0.1.1 remote-as 2 neighbor 10.0.2.1 remote-as 3 neighbor 10.0.1.1 route-map ISP1-Advertising-Route out neighbor 10.0.2.1 route-map ISP2-Advertising-Route out route-map ISP1-Advertising-Route permit 10 match ip address prefix-list prefix_ISP1_out set community no-advertise route-map ISP2-Advertising-Route permit 10 match ip address prefix-list prefix_ISP2_out set community no-advertise
4、本地入口限制策略
本地入口限制策略是指通过使用一个自治系统边界路由预先限制其他自治系统的流量从这条出口进入本自治系统。
#示例代码 ip as-path access-list 20 permit ^$ route-map ISP1-Allow-In permit 10 match ip address prefix-list BLOCKED_IPS set community 10:1 route-map ISP1-Allow-In permit 20 match as-path 20 set community 10:1
四、总结
以上就是BGP选路原则的详细阐述及BGP选路策略的实现方法。BGP选路原则虽然是一套基础的路由选择规则,但实际网络中由于路由器配置复杂、网络拓扑复杂等原因,会出现路由乱序、路由错乱等问题,建议网友以实际网络环境为参考,结合以上方法进行网络优化和维护。