BGP路径控制

Version 1.0

AA震震小样儿~

2021-05-20

通过修改Weight值属性来影响路由决策

知识回顾

  1. Weight属性是Cisco私有属性。
  2. 作用范围是本路由器(不传递),该值既不会被包含在Update消息中,也不会传递给任何BGP邻居
  3. 取值范围:0-65535
  4. 默认值:
    1. 如果路由时从其他邻居学过来的,则默认值(在本地路由器)是0
    2. 本地network、重发布、汇总 产生的路由weight值是32768
  5. 值越大越优先

需求

在R4路由器上配置

  • 让R4去往100.0.1.0走R3
  • 让R4去往100.0.2.0走R5

配置步骤

R4配置:

R4(config)#ip prefix-list 1 permit 100.0.1.0/24

R4(config)#ip prefix-list 2 permit 100.0.2.0/24

R4(config)#route-map WT1 permit 10

R4(config-route-map)#match ip address prefix-list 1

R4(config-route-map)#set weight 200

R4(config-route-map)#route-map WT1 permit 20

R4(config-route-map)#match ip add prefix-list 2

R4(config-route-map)#set weight 100

R4(config-route-map)#route-map WT1 permit 30

R4(config-route-map)#route-map WT2 permit 10

R4(config-route-map)#match ip add prefix-list 2

R4(config-route-map)#set weight 200

R4(config-route-map)#route-map WT2 permit 20

R4(config-route-map)#match ip add prefix-list 1

R4(config-route-map)#set weight 100

R4(config-route-map)#route-map WT2 permit 30

R4(config)#router bgp 345

R4(config-router)#neighbor 3.3.3.3 route-map WT1 in

R4(config-router)#neighbor 5.5.5.5 route-map WT2 in

R4(config-router)#end

R4#clear ip bgp * soft in

R4#show ip bgp

注:200.1.1.0路由是R1路由器宣告的,通过EBGP传递给R3,再由R3传递给其IBGP邻居R4。如果在R4上没有配置route-map WT2 permit 30,那么该路由R4是无法接收,因为route-map默认最后一条策略为拒绝所有。

R4#show route-map

R4#show ip prefix-list

通过修改Local prefence属性来影响路由决策

知识回顾

  1. 公认自决属性
  2. LP就是本地优先级,用于在内部对等体之间(IBGP)的Update消息,而不会传递给其他EBGP邻居
  3. 本地network或重发布进入bgp的路由,LP值默认100
  4. LP值越大越优先
  5. 只能在IBGP Peer之间传递(除非做了策略,否则LP值属性在AS内的IBGP邻居之间传递不会丢失),不能再EBGP Peer之间传递,如果再EBGP Peer之间收到的路由的路径属性中携带了Local Perference,则会触发Notification报文,造成会话中断,但是可以在AS边界路由器上使用IN方向的策略。
  6. bgp default local-preference 500            //修改始发于本地的路由的默认LP值为500
  7. BGP 路由器在向其EBGP邻居发送路由更新时,不能携带LP属性,对方收到该EBGP路由的LP值为空,但是它会在本地为这条路由赋一个默认值100,然后再传递给自己的IBGP Peer
  8. 本地network或重发布的路由,LP值默认100,并能向自己所在AS内的其他IBGP邻居传递,传递过程中LP值不变,除非部署策略修改了LP值

需求

  • 通过修改LP属性值来影响选路,实现让R4访问100.0.1.0走R3,访问100.0.2.0走R5。因LP值在AS内部具有传递性,分别在R3和R5上对R4使用out方向的route-map来控制LP值,影响R4选路

配置步骤

R3配置:

R3(config)#ip prefix-list 1 permit 100.0.1.0/24

R3(config)#ip prefix-list 2 permit 100.0.2.0/24

R3(config)#route-map LP permit 10

R3(config-route-map)#match ip add prefix-list 1

R3(config-route-map)#set local-preference 500

R3(config-route-map)#route-map LP permit 20

R3(config-route-map)#match ip add prefix-list 2

R3(config-route-map)#set local-preference 200

R3(config-route-map)#route-map LP permit 30

R3(config-route-map)#exit

R3(config)#router bgp 345

R3(config-router)#neighbor 4.4.4.4 route-map LP out

R3(config-router)#end

R3#clear ip bgp 4.4.4.4 soft out

R5配置:

R5(config)#ip prefix-list 1 permit 100.0.1.0/24

R5(config)#ip prefix-list 2 permit 100.0.2.0/24

R5(config)#route-map LP permit 10

R5(config-route-map)#match ip add prefix-list 1

R5(config-route-map)#set local-preference 200

R5(config-route-map)#route-map LP permit 20

R5(config-route-map)#match ip add prefix-list 2

R5(config-route-map)#set local-preference 500

R5(config-route-map)#route-map LP permit 30

R5(config-route-map)#end

R5(config)#router bgp 345

R5(config-router)#neighbor 4.4.4.4 route-map LP out

R5(config-router)#end

R5#clear ip bgp 4.4.4.4 soft out

R4验证结果:

通过修改AS_PATH属性影响路由决策

知识回顾

  1. AS_PATH是公认必遵属性
  2. 描述到达目标网络所要经过的AS号的序列。作用是防环,如果BGP speaker发现接收自外部peer(EBGP)的路由包含自己的AS号,则忽略该路由
  3. 仅当Update消息被发送给其他AS时,BGP路由器才会将其AS号追加在AS_PATH中。那就是如果要修改AS_PATH属性,则必须在AS边界路由器上执行策略。

需求

  • 通过修改R1的AS_PATH属性来控制R4去往100.0.1.0通过R5-R2走
  • 通过修改R5的AS_PATH属性来控制R4去往100.0.2.0通过R3-R1走

配置步骤

R1配置:

(R1操控AS-PATH属性,添加到达100.0.1.0的AS-PATH路径数量再传递给R3,这样R4去往100.0.1.0路径会选择通过R5-R2(AS-PATH路径更短)走)

R1(config)#ip prefix-list 1 permit 100.0.1.0/24

R1(config)#route-map AS1 permit 10

R1(config-route-map)#match ip address prefix-list 1

R1(config-route-map)#set as-path prepend 101

R1(config-route-map)#route-map AS1 permit 20

R1(config-route-map)#exit

R1(config)#router bgp 100

R1(config-router)#neighbor 10.1.13.3 route-map AS1 out

R1(config-router)#end

R5配置:

R5(config)#ip prefix-list 1 permit 100.0.2.0/24

R5(config)#route-map AS permit 10

R5(config-route-map)#match ip add prefix-list 1

R5(config-route-map)#set as-path prepend 202

R5(config-route-map)#route-map AS permit 20

R5(config-route-map)#exit

R5(config)#router bgp 345

R5(config-router)#neighbor 10.1.25.2 route-map AS in

R5(config-router)#end

R4验证:

R4#clear ip bgp * soft in

R4#show ip bgp

通过修改Origin属性影响路由决策

知识回顾

对于Origin属性,它明确了路由更新的来源

标记

缩写

描述

IGP

i

通过network手工进入BGP

EGP

e

通过早期的EGP协议学习来的

Incomplete

?

重发布IGP或静态、直连进入BGP的

优选顺序:i > e > ?

需求

  • R1上使用network方式引入100.0.1.0和100.0.2.0两条路由
  • R2上使用重发布直连方式引入100.0.1.0和100.0.2.0两条路由
  • 查看R4对于两条路由的路径选择

配置步骤

R1配置:

R1(config)#router bgp 100

R1(config-router)#network 100.0.1.0 mask 255.255.255.0

R1(config-router)#network 100.0.2.0 mask 255.255.255.0

R1(config-router)#end

R2配置:

R2(config)#ip prefix-list 1 permit 100.0.1.0/24   

R2(config)#ip prefix-list 2 permit 100.0.2.0/24

R2(config)#route-map CON permit 10

R2(config-route-map)#match ip address prefix-list 1 2

R2(config-route-map)#exit

R2(config)#router bgp 200

R2(config-router)#network 200.2.2.0 mask 255.255.255.0

R2(config-router)#redistribute connected route-map CON

R2(config-router)#end

R4验证:

R4#show ip bgp

R1另一种配置方式:

R1配置route-map修改100.0.1.0/24路由的Origin属性为Incomplete,来影响R4选择100.0.1.0的路由优选R5-R2

R1(config)#ip prefix-list 1 permit 100.0.1.0/24

R1(config)#route-map ORI permit 10

R1(config-route-map)#match ip add prefix-list 1

R1(config-route-map)#set origin incomplete

R1(config-route-map)#route-map ORI permit 20

R1(config-route-map)#exit

R1(config)#router bgp 100

R1(config-router)#neighbor 10.1.13.3 route-map ORI out

R1(config-router)#end

R1#clear ip bgp * soft out

R4验证:

R4#show ip bgp

通过修改MED属性影响路由决策

知识回顾

  1. 可选非传递
  2. Cisco默认MED为0
  3. 默认情况下,只比较来自同一邻居AS的BGP路由的MED值,就是说如果同一个目的地的两条路由来自不同的AS,则不进行MED值的比较
  4. BGP进程下输入:bgp always-compare-med 可以比较来自不同AS的同一目的地路由MED值
  5. MED只是在直接相连的AS间影响业务量,从一个AS学习到的MED值不会再传递给另一个AS
  6. MED值越小越优先

注:

  1. Network从IGP路由协议学习到的路由进入BGP,MED值继承IGP协议中的metric
  2. Redistribute从IGP路由协议学习到的路由进入BGP,MED值继承IGP协议中的metric
  3. Network直连/静态进入BGP,MED值为0
  4. Redistribute直连/静态进入BGP,MED值为0

需求

  • 在R1、R2上修改MED值,影响R4去往100.0.1.0走R3-R1,去往100.0.2.0走R5-R2

配置步骤

R1配置:

R1(config)#ip prefix-list 1 permit 100.0.1.0/24

R1(config)#ip prefix-list 2 permit 100.0.2.0/24

R1(config)#route-map MED permit 10

R1(config-route-map)#match ip add prefix-list 1

R1(config-route-map)#set metric 100

R1(config-route-map)#route-map MED permit 20

R1(config-route-map)#match ip add prefix-list 2

R1(config-route-map)#set metric 200

R1(config-route-map)#route-map MED permit 30

R1(config-route-map)#end

R1(config)#router bgp 100

R1(config-router)#neighbor 10.1.13.3 route-map MED out

R1(config-router)#end

R2配置:

R2(config)#ip prefix-list 1 permit 100.0.1.0/24

R2(config)#ip prefix-list 2 permit 100.0.2.0/24

R2(config)#route-map MED permit 10

R2(config-route-map)#match ip add prefix-list 1

R2(config-route-map)#set metric 200

R2(config-route-map)#route-map MED permit 20

R2(config-route-map)#match ip add prefix-list 2

R2(config-route-map)#set metric 100

R2(config-route-map)#route-map MED permit 30

R2(config-route-map)#exit

R2(config)#router bgp 200

R2(config-router)#neighbor 10.1.25.5 route-map MED out

R2(config-router)#end

R4查看:

注:

从R4上可以查看到虽然从R5(next-hop 5.5.5.5)学到的到达100.0.2.0的路由所携带MED值为100,小于从R3(netx-hop 3.3.3.3)传递过来的MED值200,但是R4还是选择通过R3作为下一跳路径,而影响该选路规则的是“BGP邻居的RID(越小越优)”,并没有比较MED值。是因为BGP路由器默认只比较来自同一AS的路由的MED值,而该目的地的路由是来自不同AS,所以不进行MED值比较。

通过在BGP进程下输入bgp always-compare-med来强制BGP路由器可以比较来自不同AS的同一目的地路由的MED属性值。

R4(config-router)#bgp always-compare-med

R4(config-router)#end

R4#clear ip bgp * soft

R4#show ip bgp

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值