BGP路径选择-local preference(学习笔记+配置命令)

一,原理概述

1,当一台BGP路由中存在多条去往同一目标网络的BGP路由时,BGP协议会对这些BGP路由的属性进行比较,以确定去往该目标网络的最优BGP路由。BGP首先比较路由信息首选值(prefval),若prefVal相同,就会比较本地优先级(local preference)属性。
2,local preference选择流量离开AS(自治系统)时的最佳路由。当BGP通过不同的IBGP(运行在同一AS的边界网关协议)对等体接收到目标网络相同但下一跳不同的多条路由时,将优先选择local preference 值较高的路由。
3,EBGP对等体之间传递BGP路由时不携带local preference 属性。只在IBGP对等体之间进行通告。默认情况下,本地使用network命令通告或import命令引入到BGP中的路由的local preference 值为空。当从IBGP对等体接收到的路由的local preference值为空时,接收路由器会使用100作为这条路有的local preference 默认值,当从IBGP 对等体接收到的路由的local preference 值不为空时,接收路由器默认不做修改。
4,local preference 值为32比特的整数,范围为0~4294967295.

二,实验

(一)主要目的

1,理解local preference 属性的概念与作用
2,掌握修改local preference 属性的方法

(二)实验注意事项

1.BGP邻居关系状态为Established表示已建立
2.Local Preference为公认任意属性,所有BGP路由器都可以识别,但不要求必须存在于Update消息中,可以根据具体情况来决定是否添加到Update消息中
3.Local Preference值数值高的优先,默认值100
4.Local Preference值只通告IBGP邻居,不通告EBGP邻居

(三)实验内容

1.BGP路由配置
2.BGP路径选择
3.Local Preference控制BGP路选
在这里插入图片描述

(四)实验拓扑

在这里插入图片描述

(五)配置

1,基本配置

2,完成OSPF和BGP协议的基本配置

1)设置AS200的路由配置OSPF协议,所有路由器都属于区域0,并使用loopback 接口为Router-id
[R2]ospf 1 router-id 10.0.2.2
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 10.0.24.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]network 10.0.2.2 0.0.0.0
[R3]ospf 1 router-id 10.0.3.3 
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]network 10.0.34.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]network 10.0.3.3 0.0.0.0
[R4]ospf 1 router-id 10.0.4.4
[R4-ospf-1]area 0
[R4-ospf-1-area-0.0.0.0]network 10.0.4.4 0.0.0.0
[R4-ospf-1-area-0.0.0.0]network 10.0.24.0 0.0.0.255
[R4-ospf-1-area-0.0.0.0]network 10.0.34.0 0.0.0.255

在R4上查看OSPF邻居关系
在这里插入图片描述
看到都为FULL,表示邻接关系建立好了

2)在R1,R2,R3,R4上配置BGP
[R1]bgp 100
[R1-bgp]router-id 10.0.1.1
[R1-bgp]peer 10.0.12.2 as-number 200
[R1-bgp]peer 10.0.13.3 as-number 200
[R1-bgp]network 10.0.1.1 32
[R1-bgp]network 10.0.100.2 32
[R2]bgp 200
[R2-bgp]router-id 10.0.2.2
[R2-bgp]peer 10.0.12.1 as-number 100
[R2-bgp]peer 10.0.3.3 as-number 200
[R2-bgp]peer 10.0.3.3 connect-interface LoopBack 0
[R2-bgp]peer 10.0.3.3 next-hop-local
[R2-bgp]peer 10.0.4.4 as-number 200
[R2-bgp]peer 10.0.4.4 connect-interface LoopBack 0
[R2-bgp]peer 10.0.4.4 next-hop-local
[R3]bgp 200
[R3-bgp]router-id 10.0.3.3
[R3-bgp]peer 10.0.13.1 as-number 100
[R3-bgp]peer 10.0.2.2 as-number 200
[R3-bgp]peer 10.0.2.2 connect-interface LoopBack 0
[R3-bgp]peer 10.0.2.2 next-hop-local
[R3-bgp]peer 10.0.4.4 as-number 200
[R3-bgp]peer 10.0.4.4 connect-interface LoopBack 0
[R3-bgp]peer 10.0.4.4 next-hop-local
[R4]bgp 200
[R4-bgp]router-id 10.0.4.4
[R4-bgp]peer 10.0.2.2 as-number 200
[R4-bgp]peer 10.0.2.2 connect-interface LoopBack 0
[R4-bgp]peer 10.0.3.3 as-number 200
[R4-bgp]peer 10.0.3.3 connect-interface LoopBack 0
[R4-bgp]network 10.0.100.4 32

使用display bgp peer命令在R1上查看BGP邻居关系
在这里插入图片描述
邻居状态为Established,说明R1与R2,R3建立了EBGP邻居关系。
在这里插入图片描述
说明R2,R3,R4的IBGP邻居关系建立

3)观察BGP路由信息的Local Preference属性

在R4上观察BGP路由表
在这里插入图片描述
可以看到,R4BGP路由表有两条去往10.0.1.1/32和10.0.100.2/32路由,下一跳都为R2和R3,这些路由信息的local preference 值均为默认100,R4通告的10.0.100.4/32的LocPrf值为空。
在R2上查看BGP路由表
在这里插入图片描述
可以看到,R2从EBGP对等体R1接收到的10.0.1.1/32的路由信息的LocPrf值为空,而从IBGP对等体R3接收到的10.0.1.1/32路由信息的LocPrf值为100.
说明load preference 属性不会通告给EBGP对等体,仅在AS内传递时会通告,当IBGP对等体接收到的路由local preference 值为空时,接受路由器会使用100作为这条路由的local preference默认值。

4,修改local preference值

可以知道,在IBGP对等体中接收到的路由的LocPrf值为空时,取默认值100。现在修改local preference 值,使得公司内部网络发送数据到服务器B时以R3为出口。
在R3上使用display default-parameter bgp命令查看BGP协议的默认参数。
在这里插入图片描述
可以看到,R3的local preference值为100
在R4上查看BGP路由表
在这里插入图片描述
对于目的网络10.0.100.2/32 ,R4选择了下一跳为10.0.2.2与10.0.3.3的路由信息进行比较,他们的Preferred value属性,local preference属性,路由生成方式,AS_path属性,Origin属性,MED属性,BGP对等体类型等都是相同的,于是R4选择了Router-ID小的路由器R2发布的路由为最佳路由。
为了使去往10.0.100.2/32的下一条为R3,在R3的BGP下使用default local-preference命令将R3的BGP默认值local preference值修改为200

[R3]bgp 200
[R3-bgp]default local-preference 200

在R4上查看BGP路由表
在这里插入图片描述
去往10.0.100.2/32的下一跳变为了R3
在这里插入图片描述
在R2上查看去往10.0.100.2/32的下一跳也是R3,并切local preference值为200
在R3上修改了local preference值后,R1把关于10.0.1.1/32与10.0.100.2/32的路由传递给EBGP对等体R2时,local preference值为空,R3把关于10.0.1.1/32与10.0.100.2/32的路由传递给IBGP对等体R2时,local preference 值为200,于是选择下一跳为R3的路由作为自己去往10.0.1.1和10.0.100.2的最佳路由。
BGP协议在向BGP对等体传递路由时只传递最佳路由,由于IBGP的防环机制,BGP路由器不会将从IBGP对等体那里学到的路由再传递给别的IBGP对等体,因此,R2就不会再向R4传递关于10.0.1.1/32和10.0.100.2/32的路由了
最后,R4的BGP路由表中最终只存在去往10.0.1.1/32与10.0.100.2/32的下一跳为R3的路由。
使用tracert验证10.0.100.4到10.0.100.2的路径
在这里插入图片描述

5,使用Route-Policy修改local preference值

tracert查看R4去往10.0.1.1的路径
在这里插入图片描述
现在知道R4发送数据到服务器A也是以R3为出口,为了实现流量分担,使用router-policy对特定路由的local preference值进行修改,时公司内部网络去往服务器A的报文选择R2为出口。

[R2]ip ip-prefix 1 permit 10.0.1.1 32
[R2]route-policy 1 permit  node 10
[R2-route-policy]if-match ip-prefix 1
[R2-route-policy]apply local-preference 500

使用命令Route-policy 1 permit node 20 允许其他路由器不做修改直接被接收

[R2]route-policy 1 permit node 20

在BGP视图下,使用peer 10.0.12.1 route-policy 1 import 命令在R2接收到R1所传递的路由信息的import方向上调用路由策略

[R2]bgp 200
[R2-bgp]peer 10.0.12.1 route-policy 1 import 

查看R2的BGP路由表
在这里插入图片描述
可以看到,在R2上去往10.0.1.1只有一条EBGP对等体R1发送的,local preference值为500的路由。
在R4上查看BGP路由表
在这里插入图片描述
可以看到,R4去往10.0.1.1/32和10.0.100.2/32都只有一条下一跳,分别为10.0.2.2和10.0.3.3.R4在接收的对等体R2发来的关于10.0.1.1/23这条路由时,其local preference值未做修改,保持为500
在R4使用tracert命令验证从10.0.100.4/32到10.0.1.1/32的路径。
在这里插入图片描述
可以看到,现在公司内部去往服务器A的报文以R2为出口,实现了网络的流量分担需求。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值