目录
十一、BGP的属性
1、权重属性
2、本地优先级
3、as-path
4、起源属性
5、MED --多出口的鉴别属性
十二、BGP选路规则
十三、BGP的社团属性
十四、BGP的在MA网络中的下一跳问题
五、BGP的认证
十一、BGP的属性
BGP协议在选路时,先对比属性;若所有属性相同,将基于其他的条件进行选路判断,默认BGP不支持负载均衡,仅基于唯一路径传输;
华为的BGP协议中,存在1种私有属性,5种公共属性,而属性的修改是在控制层面流量的进或出接口上,抓取路由信息再修改参数,修改的公共属性在IBGP协议关系间不变,在EBGP协议关系间自动会修改。
1、权重属性
传播范围 | 默认值 | 数值大、小优 |
不传播 | 0,0-65535 | 越大越优 |
权重为私有属性;修改后仅本地有效
[r3]bgp 2
[r3-bgp]peer 4.4.4.4 preferred-value 1
本地通过邻居4.4.4.4学习到的所有路由,权重属性修改为1,默认权重属性为0;
负载分担:访问不同的目标基于不同的路径,如下图所示:
R1和R5属于两个不同的自治系统,并且中间还有很多自治系统,这里只模拟中间有一个,从图中可以看出R1去R5的两个网段有两条路线,所以我们决定让R1去访问3.3.3.3网段的时候走上边的路线(R1-R2-R4),R1访问4.4.4.4网段的时候走下边的路线(R1-R3-R4),称这样的数据通信方式为负载分担
[r3]ip ip-prefix w permit 1.1.2.0 24 抓需要修改属性的路由
[r3]route-policy w permit node 10 创建策略
[r3-route-policy]if-match ip-prefix w 匹配路由
[r3-route-policy]apply preferred-value 1 修改权重值
[r3-route-policy]q
[r3]route-policy w permit node 20 记住,一定需要关注是否允许所有
[r3-route-policy]q
[r3]bgp 2
[r3-bgp]peer 4.4.4.4 route-policy w import 在控制层面针对邻居调用;
我们在调用时需要注意方向,权重属性只能入方向调用,因为该属性不能传播;
2、本地优先级
传播范围 | 默认值 | 数值大、小优 |
AS内(IBGP邻居间) | 100(0-255) | 越大越优 |
本地优先级是公有属性,最常用于干涉IBGP关系下的选路;
[r4]bgp 2
[r4-bgp]default local-preference 101
# 全局命令,本地所有发送给IBGP邻居的路由,其本地优先级属性修改为101;
负载分担:
[r4]ip ip-prefix p permit 1.1.2.0 24 抓路由
[r4]route-policy p permit node 10
[r4-route-policy]if-match ip-prefix p 匹配路由
[r4-route-policy]apply local-preference 101 修改权重
[r4-route-policy]q
[r4]route-policy p permit node 20 空表,允许其他所有路由
[r4-route-policy]q
[r4]bgp 2
[r4-bgp]peer 3.3.3.3 route-policy p export
针对邻居控制层面调用;出、入方向均可;但必须为IBGP邻居关系;
3、as-path
记录该条目所有经过的AS编号;该属性在本地传递给本地的EBGP邻居时,才添加本地AS号到path属性中; 优选经过AS数量最少路径;
人为的在as-path属性中增添AS编号,可以干涉选路,但是只能增添不能减少;因为该属性同时用于EBGP水平分割(路由器接收到路由条目后,如果出现本地的AS号,将拒绝接收这条路由)
使用AS=path属性干涉选路时,由于该属性只能增加,不能减少;故干涉时,需要在A路径策略,最终让设备优选B路径;但只能在EBGP关系间进行策略配置;既可以干涉EBGP关系下的选路,也可以干涉IBGP关系下的选路;
[r2]ip ip-prefix as permit 1.1.2.0 24
[r2]route-policy as permit node 10
[r2-route-policy]if-match ip-prefix as
[r2-route-policy]apply as-path 3 4 5 additive
[r2-route-policy]q
[r2]route-policy as permit node 20
[r2-route-policy]q
[r2]bgp 2
[r2-bgp]peer 12.1.1.1 route-policy as import
调用时注意控制层面方向,但两个相邻的路由器之间必须为EBGP邻居关系;
在入口调用以上策略最终显示的AS号为3 4 5 X;X代表真实经过的AS编号;
若在出口调用以上策略显示的AS为:X 3 4 5 ;X代表真实经过的AS编号;
结论:最左边的编号为最新的AS编号;
由于AS-PATH属性,同时用于实现EBGP水平分割;故人为增添的AS编号,若在后方真实存在,这些路由将无法进入这些AS;解决方法:我们可以反复增加已经实际经过的AS编号,用以干涉选路
[r2-route-policy]apply as-path 1 1 1 additive
4、起源属性
这条属性是该条路由进入BGP协议的来源,也是公有属性;该属性下的表示方式及解释:
Network 命令宣告 i
从IGP重发布到BGP ?
从EGP重发布BGP e
路由条目优先顺序i类型优于e类型优于?类型
[r2]ip ip-prefix o permit 1.1.2.0 24
[r2]route-policy o permit node 10
[r2-route-policy]if-match ip-prefix o
[r2-route-policy]apply origin egp 2 对端设备所在AS编号
[r2-route-policy]q
[r2]route-policy o permit node 20
[r2-route-policy]q
[r2]bgp 2
[r2-bgp]peer 3.3.3.3 route-policy o export
5、MED --多出口的鉴别属性
BGP协议本身不存在度量值;只有两种情况出现度量值:
(1)在宣告本地路由表中路由时,将携带本地路由表到达目标的cost值
(2)人为修改MED值,即管理员利用路由器基于cost值选路的特征,人为在路由条目中定义一个cost值来干涉选路;
MED属性可干涉IBGP/EBGP关系选路,但最常用于干涉EBGP关系下选路;
常常用于AS1干涉AS2对AS1的选路,即修改AS2到AS1的路线;
判断数据包来回的节点
<r1>ping -r -a 1.1.2.1 3.3.3.3
干涉选路:
[r1]ip ip-prefix l permit 1.1.2.0 24
[r1]route-policy l permit node 10
[r1-route-policy]if-match ip-prefix l
[r1-route-policy]apply cost 2
[r1-route-policy]q
[r1]route-policy l permit node 20
[r1-route-policy]q
[r1]bgp 1
[r1-bgp]peer 12.1.1.2 route-policy l export
十二、BGP选路规则
比较前提,多条BGP路由目标相同,并且均可优(下一跳可达、同步关闭),具有相同的优先级(管理距离)
1、优选Preference_Value值最高的路由(私有属性,仅本地有效)。
不传递,权限最高属性,但可以干涉EBGP/IBGP选路
2、优选本地优先级(Local_Preference)最高的路由。
只能在IBGP邻居关系间传递,最常干涉IBGP关系的选路
- 优选手动聚合>自动聚合>network>import>从对等体学到的。
- 优选AS_Path短的路由。
EBGP/IBGP关系均可被干涉,但只能在EBGP邻居间修改;
3、起源类型IGP>EGP>Incomplete。
起源属性i类型优于e类型优于?类型; 可在控制层面任意接口修改;
4、对于来自同一AS的路由,优选MED值小的。
默认为0,宣告或重发布(关闭自动汇总)路由时携带本地到达目标的cost
最常用于干涉EBGP选路的属性
- 优选从EBGP学来的路由(EBGP>IBGP)。
- 优选AS内部IGP的Metric最小的路由。
- 优选Cluster_List最短的路由。
- 优选Orginator_ID最小的路由。
- 优选Router_ID最小的路由器发布的路由。
- 优选具有较小IP地址的邻居学来的路由。
十三、BGP的社团属性
BGP的基本属性之外,还存在大量的扩展属性;这些扩展属性被称为社团属性;社团属性目前并没有完全定义,用于BGP协议未来升级,以及和其他协议兼容;社团属性在大部分厂商均默认不携带;故,决定使用社团属性时,必须考虑携带性(传递性)
[r1]route-policy qq permit node 10
[r1-route-policy]apply community ?
INTEGER<0-4294967295> Specify community number
STRING<3-11> Specify aa<0-65535>:nn<0-65535>
internet Internet(well-known community attributes)
no-advertise Do not advertise to any peer (well-known community
attributes)
no-export Do not export to external peers(well-known community
attributes)
no-export-subconfed Do not send outside a sub-confederation(well-known
community attributes)
none No community attribute
[r1-route-policy]apply community no-advertise
[r1-route-policy]q
[r1]bgp 1
[r1-bgp]peer 12.1.1.2 route-policy qq export
以上配置,就是在本地传递给邻居12.1.1.2的所有BGP路由条目中,加入某种社团属性
注:由于大部分厂家不携带社团属性,故一旦使用社团属性,必须考虑传递性功能是否开启;
[r1]bgp 1
[r1-bgp]peer 12.1.1.2 advertise-community
本地将携带社团属性发送路由到该邻居处;开启传递性的行为是逐跳的,也就是说R1开启后将携带社团到R2,但R2上若没有开启到R3的,那么R3收到的路由依然没有社团属性;
以下几种社团属性为控制路由条目传递范围的社团属性
no-advertise 若收到的路由条目中,存在该属性,将不再传递该条路由
No-export 若收到的路由条目中,存在该数据,将不能传递到下一个AS
no-export-subconfed 若收到的路由条目中,存在该数据,将不能传递到下一个小AS
若所在AS没有联邦(没有小AS)那么No-export 和 no-export-subconfed 作用一致
十四、BGP的在MA网络中的下一跳问题
在一个MA网段中运行BGP协议;若该网段存在EBGP邻居关系;那么只要使用该网段内的物理接口ip地址,作为邻居建立地址,ICMP重定向将为我们定义最佳下一跳地址,作为BGP路由中的下一跳地址;
[r1]display bgp routing-table peer 123.1.1.2 advertised-routes 查看本地向该邻居发送的BGP路由
[r1]display bgp routing-table peer 123.1.1.2 received-routes 查看本地从该邻居处学习到的路由
五、BGP的认证
[r3-bgp]peer 34.1.1.2 password cipher 123456
相邻的两台设备都需要配置,并且双方密码需要一致,密码默认基于MD5计算后转发