BGP的local_preference本地优先级属性

一、BGP的local preference属性简介

1、local preference公认任意属性

当一条BGP路由器中存在多条去往同一目标网络的BGP路由时,BGP协议会对这些BGP路由属性进行比较,从而筛选出最佳到达目标网络的通达路径。本地优先属性,只在IBGP对等体之间进行交换,即:同一AS内进行,不会通告给AS域外。

Local Preference属性可以用于选择流量离开AS时的最佳路由,也就是控制流量从哪个出口离开AS。当BGP路由器通过不同的IBGP对等体接收到目标网络相同但下一跳不同的多条路由时,将优先选择Local Preference值较高的路由。

2、BGP使用local preference属性的规则:

(1)在BGP优选路由的时候,在preference value 相同的情况,进而判断local_prefrence值越大越优先。Local_prefrence值是一个32比特的整数,取值范围为0~4294967295。默认情况BGP 路由的local preference value 为100。

(2)local_prefrence 只在IBGP对等体进行传播。当路由器从IBGP对等体接收路由的local_prefrence 值为空时,那么会将此路由的local_prefrence 设置为100,即:在IBGP对等体传递路由,默认值为100。

(3)当路由器从IBGP对等体接收路由的local_prefrence值不为空时,那么将此路由的local_prefrence 进行保留,不做修改。

(4)使用network通告或的import-route 引入的路由,local_prefrence 值为空。

(5)路由器在向其EBGP对等体发送路由更新时,不能携带Local Preference属性,但是对方接收路由之后,会在本地为这条路由赋一个缺省Local Preference值( 100),然后再将路由传递给自己的IBGP对等体。本地使用network命令引入及重发布引入的路由,Local Preference为缺省值100,并能在AS内向其他IBGP对等体传递,传递过程中除非受路由策略影响,否则Local Preference不变。

(6)可以在AS边界路由器上使用import方向的策略来修改Local Preference属性值。也就是在收到路由之后,在本地为路由赋予Local Preference。

二、拓扑图

说明:

1、为展示Local_prefrence本地优先级属性,AR2与AR3通过loopback0建立BGP邻居关系,AR1与AR2之间采用物理链路的接口ip地址建立邻居关系。

2、AR1的loopback1地址模拟运营商网络的服务器,AR4的loopback1地址模拟公司内网的服务器。

3、采用路由策略route-policy抓取模拟服务器的路由,在AR2的G0/0/0接口修改local prefrence属性值,再观察BGP路由的变化。

三、配置过程

1、配置AR1

System-view

sysname AR1

interface GigabitEthernet0/0/0

ip address 10.1.12.1 255.255.255.0

interface GigabitEthernet0/0/1

ip address 10.1.13.1 255.255.255.0

interface LoopBack0

ip address 1.1.1.1 255.255.255.255

interface LoopBack1

ip address 10.1.100.2 255.255.255.255

bgp 100

peer 3.3.3.3 as-number 200

peer 3.3.3.3 ebgp-max-hop 255

peer 3.3.3.3 connect-interface LoopBack0

peer 10.1.12.2 as-number 200

peer 10.1.12.2 ebgp-max-hop 255

ipv4-family unicast

undo synchronization

network 10.1.100.2 255.255.255.255

peer 3.3.3.3 enable

peer 10.1.12.2 enable

ospf 1

area 0.0.0.0

network 1.1.1.1 0.0.0.0

network 10.1.12.0 0.0.0.255

network 10.1.13.0 0.0.0.255

network 10.1.100.2 0.0.0.0

2、配置AR2

System-view

sysname AR2

interface GigabitEthernet0/0/0

ip address 10.1.12.2 255.255.255.0

interface GigabitEthernet0/0/1

ip address 10.1.24.2 255.255.255.0

interface LoopBack0

ip address 2.2.2.2 255.255.255.255

bgp 200

peer 3.3.3.3 as-number 200

peer 3.3.3.3 connect-interface LoopBack0

peer 4.4.4.4 as-number 200

peer 4.4.4.4 connect-interface LoopBack0

peer 10.1.12.1 as-number 100

peer 10.1.12.1 ebgp-max-hop 255

ipv4-family unicast

undo synchronization

peer 3.3.3.3 enable

peer 3.3.3.3 next-hop-local

peer 4.4.4.4 enable

peer 4.4.4.4 next-hop-local

peer 10.1.12.1 enable

peer 10.1.12.1 route-policy 1 import

peer 10.1.12.1 route-policy 1 export

ospf 1

area 0.0.0.0

network 2.2.2.2 0.0.0.0

network 10.1.12.0 0.0.0.255

network 10.1.24.0 0.0.0.255

route-policy 1 permit node 10

if-match ip-prefix 1

apply local-preference 2

route-policy 1 permit node 20

ip ip-prefix 1 index 10 permit 10.1.100.2 32

3、配置AR3

System-view

sysname AR3

interface GigabitEthernet0/0/0

ip address 10.1.34.3 255.255.255.0

interface GigabitEthernet0/0/1

ip address 10.1.13.3 255.255.255.0

interface LoopBack0

ip address 3.3.3.3 255.255.255.255

bgp 200

peer 1.1.1.1 as-number 100

peer 1.1.1.1 ebgp-max-hop 255

peer 1.1.1.1 connect-interface LoopBack0

peer 2.2.2.2 as-number 200

peer 2.2.2.2 connect-interface LoopBack0

peer 4.4.4.4 as-number 200

peer 4.4.4.4 connect-interface LoopBack0

ipv4-family unicast

undo synchronization

peer 1.1.1.1 enable

peer 2.2.2.2 enable

peer 2.2.2.2 next-hop-local

peer 4.4.4.4 enable

peer 4.4.4.4 next-hop-local

ospf 1

area 0.0.0.0

network 3.3.3.3 0.0.0.0

network 10.1.13.0 0.0.0.255

network 10.1.34.0 0.0.0.255

4、配置AR4

System-view

sysname AR4

interface GigabitEthernet0/0/0

ip address 10.1.24.4 255.255.255.0

interface GigabitEthernet0/0/1

ip address 10.1.34.4 255.255.255.0

interface LoopBack0

ip address 4.4.4.4 255.255.255.255

interface LoopBack1

ip address 10.1.100.4 255.255.255.255

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

ipv4-family unicast

undo synchronization

network 10.1.100.4 255.255.255.255

peer 2.2.2.2 enable

peer 2.2.2.2 next-hop-local

peer 3.3.3.3 enable

peer 3.3.3.3 next-hop-local

ospf 1

area 0.0.0.0

network 4.4.4.4 0.0.0.0

network 10.1.24.0 0.0.0.255

network 10.1.34.0 0.0.0.255

四、验证结果

(一)观察完成以上配置后的结果:

1、从AR2上查看BGP邻居关系及BGP路由表,如下图:

从上图看出,到达目标AR1的10.1.100.2有2条路由,下一跳是3.3.3.3为最优路由,local prefrence的值为100;下一跳是10.1.12.1为次优路由,local prefrence的值为2(是我们通过路由策略route-policy修改AR2与AR1邻居关系中的出入流量的local prefrence值为2后,降低了优先级)

2、跟踪从AR2到AR3的路由,是途经的AR4到达的3.3.3.3,而不是走的AR1的10.1.12.1这条,从BGP的优先级看,10.1.12.1是次优路由,如下图:

3、跟踪从AR1运营商服务器10.1.100.2到AR4公司内网服务器10.1.100.4的网络流量路径,是途经AR2的10.1.12.2为主路由,下一跳3.3.3.3是次优路由,如下图:

(二)通过路由策略route-policy修改AR2与AR1邻居关系中的出入流量的local prefrence值为120后,提高优先级,大于100

,修改过程如下图:

使用路由策略route-policy抓取10.1.100.2/32的这条路由,修改local prefrence的值从2改为120,提升BGP路由的优先级。

(三)再对比修改local prefrence值前后的BGP路由表变化

1、当AR2上到达10.1.100.2/32的BGP local prefrence值为2时的路由表,如下图:

2 、当AR2上到达10.1.100.2/32的BGP local prefrence值为120时的路由表,此时再观察AR2上的BGP,就只剩下10.1.12.1,local prefrence为120值的这条路由了,如下图:

(四)查看AR1上BGP路由表,当AR2的local_prefrence值修改为2时,与修改为120时,均无变化,如下图:

复制代码
通过实验验证,修改BGP的local_prefrence值,可以达到修改BGP路由优先级的目的。local_prefrence 只在IBGP对等体进行传播,不会将值传递到AS系统之外。
相关推荐
非典型代码9 分钟前
Jenkins发不出邮件
运维·servlet·jenkins
b***251113 分钟前
储能电池组的生产流程|深圳比斯特自动化
运维·自动化
实心儿儿18 分钟前
Linux系统 —— 基础命令1
linux·运维·服务器
FreeBuf_1 小时前
SesameOp 恶意软件滥用 OpenAI Assistants API 实现与 C2 服务器的隐蔽通信
运维·服务器·网络
噜啦噜啦嘞好1 小时前
Linux进程信号
linux·运维·服务器
tt5555555555552 小时前
Transformer原理与过程详解
网络·深度学习·transformer
REDcker2 小时前
Linux 进程资源占用分析指南
linux·运维·chrome
samroom2 小时前
Linux系统管理与常用命令详解
linux·运维·服务器
PKNLP2 小时前
07.docker介绍与常用命令
运维·docker·容器
Mxsoft6193 小时前
电力系统AR远程运维与数字孪生交互技术
运维·ar