BGP选路、团体属性、聚合

63 篇文章 2 订阅
9 篇文章 0 订阅

BGP的丰富属性——4个分类:

1、公认必遵(Origin、As-path、Next-hop):所有BGP路由器都可以识别这类属性,且必须要在update报文中传递,如果缺少了这类属性,路由信息就会出错。

2、公认任意(Local pref、Atomic_aggregate):所有BGP路由器都可以识别这类属性,但不要求必须在update报文中传递,即使缺少了这类属性,路由信息也不会出错。

3、可选过渡(Aggregator、Community):BGP设备可以不识别这类属性,但是路由器仍然可以接收这类属性,并且通告给其他AS邻居。

4、可选非过渡(MED、....):BGP设备可以不识别这类属性,路由器会忽略这类属性,并且不会将这类属性传递给其他AS邻居。

BGP选路原则:

        1、丢弃下一跳不可达的路由;

        2、优选Preference_Value值最高的路由(私有属性,仅本地有效);

        3、优选本地优先级(Local_Preference)最高的路由;

        4、优选手动聚合 > 自动聚合 > network > import (前面四个都是表示本地始发的路由) > 从对等体学到的(表示从邻居学到的路由);

        5、优选AS_path短的路由;

        6、起源类型IGP(代表network进来的)——i代表 > EGP() > Incomplete(代表import-route进来的)——?号代表;

        7、对于来自同一AS的路由,优选MED值最小的;

        8、优选从EBGP学来的路由(EBGP > IBGP);

        9、优选AS内部的IGP的Metric最小的路由;(下一跳IGP cost低的:去往BGP路由的下一跳地址,这个下一跳在IGP中的Cost)

-----------------------分隔符---------------------

        当前面9条都选不出来时,那么可以手动进行BGP路由负载分担。BGP负载分担的前提是,前9条属性完全一致,连as-path都要一样。

命令:maximum load-balancing 2 //BGP视图下,设置两条最有路径,进行负载。

        10、优选Cluster_List最短的路由;

        11、优选Orginator_ID最小的路由;

        12、优选Router-ID最小的路由器发布的路由;

        13、优选具有较小IP地址的邻居学来的路由。

        注释:自上而下序号从小到大依次匹配,且唯一匹配。

1、Next-hop属性:

        1.1 公认必遵属性

        1.2 BGP本身是不计算路由的,只是路由的搬运工,所以BGP在传递路由时,需要携带下一跳属性,同时根据情况修改下一跳。

        1.3 从EBGP邻居收到的路由条目传递给IBGP邻居时下一跳不自动改变,需要手动peer x.x.x.x next-hop-local来手动修改下一跳。

从EBGP邻居收到的路由条目传递给EBGP邻居时下一跳自动修改;

从IBGP邻居收到的路由条目传递给EBGP邻居时下一跳自动修改;

从自身始发的路由条目传递给所有BGP邻居时都会自动修改下一跳。

下一跳的取值:为本设备与邻居建立BGP邻居的peer ip地址。

2、Pref-Val:协议首选值

        2.1 华为私有的属性

        2.2 只具有本地意义(这个本地是指本台路由器)

        2.3 缺省情况下等于0,数值是越大越优,取值范围0~65535。

@@针对发送给BGP邻居的路由,无法修改该属性,因为只有本地有效,该属性不会在update报文中传递。

@@针对接收的BGP路由可以修改该属性。

3、Local-Preference本地优先级(这个本地是指本AS)

        3.1 公认任意属性

        3.2 该属性只能在一个AS内部进行传递,跨越AS无效。

        3.3 缺省情况下值为100,数值越大越优,取值范围0~42.96亿。

        3.4 从EBGP邻居收到的路由,该属性默认为空,默认为100.

一般会使用该属性调整整个AS的选路问题:

注意:当路由器从EBGP邻居收到一条路由时,由于跨越AS不会传递本地优先级属性,因此本地优先级为空(当本地优先级为空时,默认数值为100)

总结:在IBGP邻居传递update报文时,是可以携带本地优先级属性的。

display bgp routing-table peer x.x.x.x advertised-routes //查看我给邻居或邻居给我发送了哪些路由.

4、本地始发路由优于邻居传来的邻居

        4.1 本地始发的路由,要优于邻居传来的路由。

自动聚合:只能自动聚合import-route进来的路由,且这个明细路由必须时best路由。

        4.2 如果多条BGP路由均为本地始发,那么遵循手动聚合 > 自动聚合 > network > import 。

5、AS_path属性:可以更改该属性,影响路由选路

        5.1 公认必遵属性

        5.2 第一个作用,用来记录每条BGP路由经过的AS,在选路时,会优选AS个数少的。

        第二个作用,用于EBGP路由防环:当路由器接收BGP路由时,会检查as_path属性中是否携带本AS,如果携带则认为环路,拒绝接收。

        5.3 针对IBGP邻居发来的路由进行修改,可以生效;

        针对IBGP邻居发出的路由进行修改,可以生效;

        针对EBGP邻居发来的路由进行修改,可以生效;

        针对EBGP邻居发出的路由进行修改,可以生效。

        所以,一般在使用as_path属性影响路由选路时,会在EBGP邻居接收或者发送时进行修改,并且修改时增加的as号要使用本as号,不能使用其他as号。

命令: apply as_path none overwrite //代表将这条路由的as_path属性清空。

apply as_path x x x x additive //代表在原有as_path属性的基础上,在左侧新增as号。

apply as_path x x x x overwrite //代表使用新增加的as号,覆盖原有的as号。

peer 45.1.1.5 allow-local 1 //从该peer收到的路由条目中,as-path属性可以允许存在一个本地as。

bestroute as-path ignore //忽略as-path优选条件,继续向下进行比较。

--------------------------------------------

6、Origin起源属性

        6.1 公认必遵属性

        6.2 用来描述BGP路由是如何进入BGP的

network import-route 手动聚合 自动聚合,i:entwork;?:import-route 聚合:e:从EGP引入的(自然情况下见不到);规则:i优于e优于?

由于起源属性也是公认必遵属性,所以针对IBGP和EBGP接收和发送两个方向修改该属性均有效。

--------------------------------------

7、MED属性-多出口鉴别符,类比开销值:multi-exit-discriminator

        7.1 可以理解为BGP的cost值,或者叫做BGP的度量值。

        7.2 用于影响邻居到本AS的选路策略,取值范围0~42.96亿,越小越优。

        7.3 在宣告IGP路由时,MED值会继承IGP的cost值,IGP的度量值会变成BGP的MED值。

        7.4 MED值是如何在邻居之间进行传递的:

                1)对于本地始发的路由,在传递给IBGP和EBGP邻居时会携带MED属性。

                2)对于从IBGP邻居接收的路由,传递给EBGP邻居时不会携带MED属性。

                3)对于从EBGP邻居接收的路由,传递给IBGP邻居时会携带MED属性。

                4)对于从EBGP邻居接收的路由,传递给EBGP邻居时不会携带MED属性。

                5)default med,官方文档:default med命令用来配置BGP路由的缺省MED值,当MED为空时,使用缺省MED值,默认为0。

实际现象:当配置了该命令后,对于本地始发的起源为?的路由(起源为i的无效),在传递给IBGP邻居时MED值不变,传递给EBGP邻居时MED值修改为default med。

特别注意:MED属性只能影响下一跳邻居的选路!!!一般在使用MED属性控制邻居AS选路时,都会在边界路由器通过route-policy进行MED修改。

总结:修改BGP路由属性的方式和方法:

        1、peer x.x.x.x route-policy XXX import //对从这个邻居接收的路由使用route-policy进行过滤和修改属性。

        2、peer x.x.x.x route-policy XXX export //对于发给这个邻居的路由使用route-policy进行过滤和修改属性。

        以上两条策略,均为邻居之间接收和发送时对某些指定的路由条目进行修改,要注意要写兜底。

        3、network 100.1.1.1 route-policy XXX //在宣告本地路由时直接修改该路由的属性:该route-policy不需要写if-match和兜底。

--------------------------------

团体属性:

1、属于可选过渡属性

2、用于对路由进行标记,类似于IGP的tag值(IGP的tag值非常单一,BGP的团体属性非常丰富,可以在一条路由上标记多个团体)

使用团体来对BGP路由进行控制,主要控制传播范围,以及属性修改。

一、分类

1、公认团体属性:

        Internet:设备在收到具有此属性的路由后,可以向任何BGP对等体发送该路由。(所有BGP路由都具有该属性,发送时要遵循路由选路原则)

No_Advertise:设备收到具有此属性的路由后,将不向任何BGP对等体发送该路由。

No_Export:设备收到具有此属性的路由后,将不向AS外发送该路由。

No_Export_Subconfed:设备收到具有此属性的路由后,将不向AS外发送该路由,也不向AS内的其他子AS发送该路由。(联盟场景)

注意:团体属性默认情况下不会被携带传递,必须通过手动开启团体属性传递。开启命令:BGP试图下,peer x.x.x.x advertise-community;

多个公认团体属性可以同时配置给同一条路由,这个时候,或选择传播范围小的生效。

2、自定义团体属性:

        2.1 使用aa:nn方式:aa和nn的取值范围都是0~65535,两个数值的意义都是由管理员定义的。一般情况下,aa会使用AS好表达,nn由管理员自定义。

ip community-filter 1permit 234:1 //团体列表,可以抓取团体属性。

        2.2 使用团体号:取值范围0~42.94亿,其中一些是保留号码,一般不适用此方法。

=======================

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飞翔的瓜牛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值