- BGP路径属性
- 路径属性分类
- Preferred-Value
BGP路径属性
当一条BGP路由被路由器更新给对等体时,这条BGP路由会携带多个路径属性值一并传递给对等体。BGP的这些路径属性,将影响BGP的路由选择。它们的存在使得BGP的路由策略能力异常强大
路径属性分类
-公认属性Well-Known
——公认必遵属性Well-known mandatory
——公认自由决定属性Well-known discretionary
-可选属性Optional
——可选传递的Optional non-transitive
可选非传递的 Optional non-transitive
公认属性
公认必遵 | 多有的BGP实现都必须都能识别,且再Update报文中必须携带 | Origin/AS_Path/Nexthop |
公认自决 | 所有的BGP实现都必须都能识别,但不要求必须包含在Update报文中 | Local-Preference/ATOMIC_Aggregate |
可选属性
可选传递 | 设备可以不支持该属性,但即使不支持,也应当接收包含该属性的路由并传递给其他对等体 | Community/Aggregator |
可选非传递 | 设备可以不支持该属性,不识别的BGP进程忽略包含这个属性的路由更新,并且不传递给其他BGP对等体 | MED/Originator_ID/Cluster_list/*pre_value |
Preferred-Value
华为私有的路径属性,相当于路由的权重值,取值范围:0~65535;该值越大,则路由越优先。
Preferred-Value只能再路由器本地配置,而且只影响本设备的路由优选。该属性不会传播给任何BGP对等体。
路由器本地始发的BGP路由默认的Preferred-Value为0,从其他BGP对等体学习到的路由默认Preferred-Value也为0.
- Local_Preference
也即本地优先级属性,是公认自决属性,用于告诉AS中的路由器,哪条路径是离开AS的首选路径。
Local_Preference属性值越大则BGP路由越优。缺省的Local_Preference值为100。
该属性之恶能被传递给IBGP对等体,而不能传递给EBGP对等体。 - Local_Preference注意事项
Local_Preference属性只能在IBGP对等体间传递(除非做了策略否则Local_Preference值在IGP对等体间传递过程中不会丢失),而不能在EBGP对等体间传递,如果在EBGP对等体间收到的路由的路径属性中携带了Local_Preference,则会出发Notifacation报文,造成会话中断
但是可以在AS边界路由器使用Import方向的策略来修改Local_Preference属性值,也就是收到路由之后,在本地为路由赋予Local_Preference。
使用bgp default local-perference命令修改缺省Local_Preference值,该值缺省为100.
路由器在其EBGP对等体发送路由更新时,不能携带Local_Preference属性,但是对方接收路由之后,会在本地为这条路由赋一个缺省Local_Preference值(100),然后再将路由传递给自己的IBGP对等体。
本地使用network命令引入及重发布引入的路由,Local_Preference为缺省值100,并能在AS内向其他IBGP对等体传递,传递过程中除非受路由策略影响,否则Local_Preference不变。 - AS_path
该属性为公认必遵属性,是前往目标网络的路由经过的AS号列表
作用:确保路由在EBGP对等体之间传递无环,另外也作为路由优选的衡量标准之一
路由在被通告EBGP对等体时,路由器会在该路由的AS_path中追加上本地的AS号,路由被通告给IBGP对等体时,AS-path不会发生改变 - Origin
该属性为公认必遵属性,它标识了BGP路由的起源,根据路由被引入BGP的方式不同,存在三种类型的Origin。
当去往同一个目的地存在多条不同Origin属性的路由时,在其他条件都相同的情况下,BGP将按如Origin的下顺序优选路由:IGP>EGP>lncomplete。
名称 | 标记 | 描述 |
igp | i | 通过BGP network的路由,也就是起源于IGP的路由,Origin为igp。因为BGP network必须保证该网络在路由表中 |
egp | E | 如果BGP路由是由EGP这种早期的协议重发布而来,那么其Origin为egp |
lncomplete | ? | 通过lmport命令,从其他协议引入到BGP的路由,其Origin为Incompplete(确认该路由来源的信息不完全) |
- MED
MED是可选非传递属性,是一种度量值,用于向外部对等体指出进入本AS的首选路径,即进入本AS的入口有多个时,AS可以使用MED动态地影响其他AS选择进入的路径
MED属性值越小则BGP路由越优
MED主要用于在AS之间影响BGP的选路。MED被传递给EBGP对等体后,对等体在其AS内传递路由时,携带该EMD值,但将路由传递给其EBGP对等体时,缺省不会携带MED属性。
MED的默认操作
如果路由器通过BGP学习到其他对等体传递过来的一条路由,那么路由更新给自己的EBGP对等体时,默认是不携带MED的,这就是所谓的“MED不会跨AS传递”。 - BGP路由优选规则
1.优选具有最大Preferred-Value的路由 | 7.优选EBGP对等体所通告的路由 |
2. 优选具有最大Local_Preference的路由 | 8.优选到Next_Hop的IGP度量值最小的路由 |
3. 优选起源于本地的路由 | 9.BGP路由负载分担 |
4.优选AS_Path最短的路由 | 10.优选Cluster_List最短的路由 |
5. Origin(IGP>EGP>Incomplete) | 11.优选Router-ID最小的BGP对等体发来的路由 |
6.优选EMD最小的路由 | 12. 优选Peer-IP地址堆笑的对等体发来的路由 |