点击上方蓝字关注我吧!
BPG属性
路由属性是对路由的特定描述,所有的BGP路由属性都可以分为以下4类,常见BGP属性类型所示:公认必须遵循(Well-known mandatory):
所有BGP设备都可以识别此类属性,且必须存在于Update报文中。
如果缺少这类属性,路由信息就会出错。
公认任意(Well-known discretionary):
所有BGP设备都可以识别此类属性,但不要求必须存在于Update报文中,即就算缺少这类属性,路由信息也不会出错。
可选过渡(Optional transitive):
BGP设备可以不识别此类属性,如果BGP设备不识别此类属性,但它仍然会接收这类属性,并通告给其他对等体。
可选非过渡(Optional non-transitive):BGP设备可以不识别此类属性,如果BGP设备不识别此类属性,则会被忽略该属性,且不会通告给其他对等体。
属性名 | 类型 |
Origin属性 | 公认必须遵循 |
AS_Path属性 | 公认必须遵循 |
Next_Hop属性 | 公认必须遵循 |
Local_Pref属性 | 公认任意 |
MED属性 | 可选非过渡 |
团体属性 | 可选过渡 |
Originator_ID属性 | 可选非过渡 |
Cluster_List属性 | 可选非过渡 |
IGP:
具有最高的优先级。
通过network命令注入到BGP路由表的路由,其Origin属性为IGP。
EGP:
优先级次之。
通过EGP得到的路由信息,其Origin属性为EGP。
Incomplete:
优先级最低。
通过其他方式学习到的路由信息。
比如BGP通过import-route命令引入的路由,其Origin属性为Incomplete。
当BGP Speaker将这条路由通告到EBGP对等体时,便会在Update报文中创建一个携带本地AS号的AS_Path列表。
当BGP Speaker将这条路由通告给IBGP对等体时,便会在Update报文中创建一个空的AS_Path列表。
当BGP Speaker将这条路由通告给EBGP对等体时,便会把本地AS编号添加在AS_Path列表的最前面(最左面)。收到此路由的BGP设备根据AS_Path属性就可以知道去目的地址所要经过的AS。离本地AS最近的相邻AS号排在前面,其他AS号按顺序依次排列。
当BGP Speaker将这条路由通告给IBGP对等体时,不会改变这条路由相关的AS_Path属性。
BGP Speaker在向EBGP对等体发布某条路由时,会把该路由信息的下一跳属性设置为本地与对端建立BGP邻居关系的接口地址。
BGP Speaker将本地始发路由发布给IBGP对等体时,会把该路由信息的下一跳属性设置为本地与对端建立BGP邻居关系的接口地址。
BGP Speaker在向IBGP对等体发布从EBGP对等体学来的路由时,并不改变该路由信息的下一跳属性。
BGP选择路由的策略:
当到达同一目的地存在多条路由时,BGP依次对比下列属性来选择路由:优选协议首选值(PrefVal)最高的路由。
协议首选值(PrefVal)是华为设备的特有属性,该属性仅在本地有效。
优选本地优先级(Local_Pref)最高的路由。
如果路由没有本地优先级,BGP选路时将该路由按缺省的本地优先级100来处理。
依次优选手动聚合路由、自动聚合路由、network命令引入的路由、import-route命令引入的路由、从对等体学习的路由。
优选AS路径(AS_Path)最短的路由。
依次优选Origin类型为IGP、EGP、Incomplete的路由。
对于来自同一AS的路由,优选MED值最低的路由。
依次优选EBGP路由、IBGP路由、LocalCross路由、RemoteCross路由。
PE上某个VPN实例的VPNv4路由的ERT匹配其他VPN实例的IRT后复制到该VPN实例,称为LocalCross;
从远端PE学习到的VPNv4路由的ERT匹配某个VPN实例的IRT后复制到该VPN实例,称为RemoteCross。
优选到BGP下一跳IGP度量值(metric)最小的路由。
优选Cluster_List最短的路由。
优选Router ID最小的设备发布的路由。
优选从具有最小IP Address的对等体学来的路由。
END