哪个bgp的属性在bgp路由反射器选择算法中被首先检查

bgp选路属性med与local-preference测试
bgp选路属性med与local-preference测试
今天我们来测试下bgp的两个比较容易搞混的属性,med与local-preference,网络实验拓如下,
1、配置各台的IP地址,并且使用Ping命令确认各路由器的直连口的互通。
2、配置各台路由器的BGP协议。 & &
R1的bgp配置部分如下,
同理R2,R3,R4做类似的配置,接下来我们看R3到达R1的1.1.1.1/32往哪里走,
看以看到它优先选择了R2,而没有走R4,这对于R1与R4的百兆链路来说他选择了次优的路径,我们来看下bgp的选路原则来说明它为啥选择了次优的路径,
原因就在于第7条EBGP优于IBGP,为此我们可以改变med值让他从R4走,
接下来我们再来看看R3到达R1的1.1.1.1/32如何走, & &
可以看到他选择了R4,说明我们做的med策略生效了,接下来我们来测试local-preference,假如我们再让R3到达R1的1.1.1.1/32从R2走,我们就可以调整local-preference属性值,
接下来我们来看看R3的选路情况,
可以看到他又从R2这边走了,说明我们做的local-preference生效了。
MED属性配置,影响其它自治数据流流入本地自治系统。
local-preference & 本地优先级会影响数据流如何流出本地自治系统。
作者 hellojackyleon
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467142',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'您的位置: &
一种互联网的稳定路由选择策略
优质期刊推荐查看:7850|回复:4
中级工程师
十二、BGP路径属性及选路原则
(60.72 KB)
1. Weight(权重)属性
思科私有,该属性不传递给任何BGP邻居(包括iBGP和eBGP邻居),仅对本路由器有效。其他厂商也有类似的路径属性。在BGP选路时,优选Weight值大的路径。默认本地注入的为32768,外部学习而来的为0。
①配置方式1:
router(config-router)#neighbor A.B.C.D weight 100& &&&#表示本BGP路由器从邻居A.B.C.D学习的BGP路由均设置weight为100
②配置方式2:
router(config)#access-list 1 permit 10.1.1.0& &&&#定义一个access-list来匹配一组路由
router(config)#route-map WEIGHT permit 10
router(config- route-map)#match ip address 1
router(config- route-map)#set weight 100
router(config- route-map)#route-map WEIGHT permit 20
router(config- route-map)#router bgp 200
router(config- router)#neighbor 12.1.1.1 route-map WEIGHT in& &&&#表示本BGP路由器从邻居12.1.1.1学习的BGP路由,如果该路由的网络号为10.1.1.0,则设置weight为100;如果是其他路由,则允许接收,但不设置weight(默认为0)
③正则表达式:
(44.83 KB)
示例:AS_PATH
匹配位于AS 100中的路由:_100$
匹配本AS的路由:^$
匹配从AS 400传递过来的路由:^400_
匹配经过AS 500的路由:_500_
2.Local Preference(本地优先级)
Local Preference是公认(指所有遵照RFC标准实现的BGP都能够识别该路径属性)自由选择(指在BGP路由通告中可以包含/也可以不包含该路径属性)属性。
Local Preference只能在iBGP邻居间传递,不会传递给eBGP邻居。
在BGP选路时,优选Local Preference值大的路径。默认为100。
Local Preference通常用于AS的入口策略,也就是控制本AS的出流量。
示例:要求AS 200访问AS 100的10.1.1.0/24时,从R2出去;而访问11.1.1.0/24时,从R3出去。
router(config)#access-list 10 permit 10.1.1.0
router(config)#access-list 11 permit 11.1.1.0& &&&#定义access-list来匹配路由
router(config)#route-map LP permit 10
router(config- route-map)#match ip address 10
router(config- route-map)#set local-preference 150
router(config)#route-map LP permit 20
router(config- route-map)#match ip address 11
router(config- route-map)#set local-preference 50
router(config)#route-map LP permit 30& &&&#定义route-map来控制路由参数
router(config)#router bgp 200
router(config- router)#neighbor 12.1.1.1 route-map LP in& &&&#将route-map应用于路由器上。表示从12.1.1.1邻居学习的10.1.1.0/24路由设置LocalPref为150;而11.1.1.0/24路由设置LocalPref为50;其他路由允许接收,没有更改LocalPref值。
3.BGP的NEXT-HOP属性
①当BGP路由器将BGP路由通告给eBGP邻居时,NEXT-HOP属性会发生变化,设置为本路由器与该BGP邻居建立邻居时neighbor命令所指定的IP地址;
②当BGP路由器将BGP路由通告给iBGP邻居时,NEXT-HOP属性保持不变。这里存在路由可达性问题,因此我们常使用命令router(config-router)# neighbor A.B.C.D next-hop-self,将发送给邻居A.B.C.D的路由的下一跳地址设置为本路由器与A.B.C.D建立邻居时所使用的IP地址(即发送BGP更新报文的源IP地址)。
①常规AS_PATH操作
AS_PATH由一系列AS路径组成,也是公认强制属性。当BGP发言者发布路由给IBGP邻居时,BGP不修改路由的AS_PATH属性。当BGP发言者发布路由给EBGP邻居时,本地系统将把自己的AS号作为序列的最后一个元素加在后面(放在最左面)。由于BGP发言者发布路由给IBGP邻居时,并不将AS号加入AS_PATH,如果邻居将路由继续转发,最终发言者自己再次收到路由时,将无法判断是否环路路由。因此,BGP要求IBGP对收到的路由不再转发。有鉴于此,AS内部BGP发言者对路由要同步,IBGP邻居必须逻辑上全连接建立邻居。
AS_PATH选路控制示例:
router(config)#access-list 11 permit 10.1.1.0
router(config)#route-map AS_PATH permit 10
router(config-route-map)#match ip address 1
router(config-route-map)#set as-path prepend 100 200 300
router(config)#route-map AS_PATH permit 20
router(config)#router bgp 200
router(config-router)#neighbor 12.1.1.1 route-map AS_PATH out& &&&#表示通告给邻居12.1.1.1的BGP路由10.1.1.0,在AS_PATH前多添加 200 200 200三个AS号,人为增长AS_PATH长度,影响选路。
②allow as in
router(config-router)#neighbor 12.1.1.1 allowas-in 1& &&&#允许BGP路由器在接收到一条包含有自己AS号(1次)的路由时也能够接收。其中数字“1”表示在接收到的路由AS_PATH属性中可以出现1次自己的AS号,取值范围是1~10。根据AS_PATH的防环路原则,一台BGP路由器在接收到一条包含有自己AS号的路由时将会丢弃这条路由。这个功能将可以打破这种规则。
ORIGIN标示路径信息的来源,是公认强制属性。ORIGIN可以是以下三种值:
IGP:网络层可达信息来源于AS内部
EGP:网络层可达信息通过AS外部学习
INCOMPLETE:网络层可达信息通过别的方式学习
在BGP选路时,ORIGIN值IGP优于EGP,EGP优于INCOMPLETE。
6.MED(多出口标识符):在思科的BGP表显示为metric。
MED是可选(指并非所有的BGP实现者都能够识别该路径属性,但是目前几个主流的厂商都实现该路径属性)非传递(指如果某个BGP设备不认识该路径属性,则将直接删除此属性)属性。
MED可以在iBGP间传递,可以传递给eBGP;但是最多只能传递到相邻的AS中。
在BGP选路时,优选MED值小的路径。
MED通常用于AS的出口策略,也就是控制进入本AS的入流量。它跟Local Preference属性基本上是相反的,配置上则很相似。
7.BGP路径属性特性:
①公认强制(Well-known mandatory)
&&公认自由选择(Well-known discretionary)
公认属性是所有的BGP都必须识别支持的属性。其中,公认强制属性是BGP UPDATE消息中必须包含的必要部分。公认自由选择则是自由选择的部分。
②可选传递(Optional transitive)
可选非传递(Optional non-transitive)
可选属性并不要求所有的BGP都识别。如果属性是可选转发的,那么,即使BGP不能识别该属性,也要接受该属性并将其发布给它的对端,同时标识为partial。而如果属性是可选非转发的,BGP可以忽略包含该属性的消息并且不向它的对端发布。
教会别人是学习最好的方法!
初级工程师
学习了,学BGP有一段时间了,慢慢忘记正好温习
中级工程师
引用:原帖由 上海亚威 于
10:52 发表
记得总共有13条把? 还有优选先建立的邻居
这只是列举出一小部分
教会别人是学习最好的方法!
中级工程师
引用:原帖由 CCNA2212 于
11:19 发表
学习了,学BGP有一段时间了,慢慢忘记正好温习 谢谢支持,常来逛逛
教会别人是学习最好的方法!
Copyright&
本论坛言论纯属发布者个人意见,不代表51CTO网站立场!如有疑义,请与管理员联系:}

我要回帖

更多关于 bgp路由算法 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信