HuaWei ❀ BGP协议路由属性

BGP协议路由属性

(1)Origin
Origin属性用来定义路径信息的来源,标记一条路由是怎么成为BGP路由的,有三种类型:
IGP:最高优先级,经过Network命令注入到BGP路由表的路由,其Origin属性为IGP;
EGP:次高优先级,经过EGP获得的路由信息,其Origin属性为EGP;
Incomplete:最低优先级,经过其余方式学习到的路由信息,好比BGP经过import-route命令引入的路由,其Origin属性为Incomplete;web

(2)AS_Path
AS_Path属性按矢量顺序记录了某条路由从本地到目的地址所要通过全部的AS编号,在接收路由时,设备若是发现AS_Path列表中有本AS号,则不接收该路由,从而避免了AS间的路由环路;svg

当BGP Speaker传播自身引入的路由时:
当BGP Speaker将这条路由通告到EBGP对等体时,便会在Update报文中建立一个携带本地AS号的AS_Path列表;
当BGP Speaker将这条路由通告给IBGP对等体时,便会在Update报文中建立一个空的AS_Path列表;学习

当BGP Speaker传播从其余BGP Speaker的Update报文中学习到的路由时:
当BGP Speaker将这条路由通告给EBGP对等体时,便会把本地AS编号添加在AS_Path列表的最前面,收到此路由的BGP设备根据AS_Path属性就能够知道去目的地址所要通过的AS号,离本地AS最近的相邻AS号排在最前面,其余AS号按顺序依次排列;
当BGP Speaker将这条路由通告给IBGP对等体时,不会改变这条路由相关的AS_Path属性;xml

(3)Next_Hop
Nex_Hop属性记录了路由的下一跳信息,BGP的下一跳属性和IGP的有所不一样,不必定就是邻居设备的IP地址,一般状况下,Nex_Hop属性遵循下面的规则:
BGP Speaker在向EBGP对等体发布某条路由时,会把该路由信息的下一跳属性设置为本地与对端创建BGP邻居关系的接口地址;
BGP Speaker将本地始发路由发布给IBGP对等体时,会把该路由信息的下一跳属性设置为本地与对端创建BGP邻居关系的接口地址;
BGP Speaker在向IBGP对等体发布从EBGP对等体学来的路由时,并不改变路由信息的下一跳属性;接口

(4)Local_Pref
Local_Pref属性代表路由器的优先级,用于判断流量离开AS时的最佳路由,当BGP的设备经过不一样的IBGP对等体获得目的地址相同可是下一跳不一样的多条路由时,将优先级选择Local_Pref属性较高的路由,Local_Pref属性仅在IBGP对等体之间有效,不通告给其余AS,Local_Pref属性能够手动设置,若是路由没有配置Local_Pref属性,BGP选路时将该路由的Local_Pref值按默认值100处理;路由

(5)MED
MED(Mult-Exit-Discriminator)属性用来判断流量进入AS时的最佳路由,当一个运行BGP的设备经过不一样的EBGP对等体获得目的地址相同可是下一跳不一样的多条路由时,在其余条件相同的状况下,将优先选择MED值较小的路由做为最佳路由;it

(6)团体属性
团体属性(Community)用于标识具备相同特征的BGP路由,使路由策略的应用更加灵活,同时下降了维护管理的难度;
团体属性分为自定义团体属性和公认团体属性,下面为公认团体属性:
Internet,团体属性号为:0x0000 0000,设备在收到具备此属性的路由后,能够向任何BGP对等体发送该路由;
No_Advertise,团体属性号为:0xFFFF FF02,设备收到具备此属性的路由后,将不向任何BGP对等体发送该路由;
No_Export,团体属性号为0xFFFF FF01,设备收到具备此属性的路由后,将不向AS外发送该路由;
No_Export_Subconfed,团体属性号为0xFFFF FF03,设备收到具备此属性的路由后,将不向AS外发送该路由,也不向AS内其余子AS发布此路由;import

Originator_ID与Cluster_List属性用于解决路由反射器场景中的环路问题;
(7)Cluster_List
路由反射器和它的客户机组成一个集群Cluster,使用AS内惟一的Cluster ID做为标识,为了防止集群间产生路由环路,路由反射器使用Cluster_List属性,记录路由通过的全部集群的Cluster ID;
(1)当一条路由第一次被RR反射的时候,RR会把本地Cluster ID添加到Cluster_List的前面,若是没有Cluster_List属性,RR就会建立一个;
(2)当RR接收到一条更新路由时,RR会检查Cluster_List,若是Cluster_List中已经有本地Cluster ID,丢弃该路由;若是没有本地Cluster ID,将其加入Cluster_List,而后反射该更新路由;集群

(8)Originator_ID
Originator_ID由RR产生,使用的Router ID的值标识路由的始发者,用于防止集群内产生路由环路;
(1)当一条路由第一次被RR反射的时候,RR将Originator_ID属性加入到该路由,标识这条路由的发起设备,若是一条路由中已经存在了Originator_ID属性,则RR不会建立新的Originator_ID属性;
(2)当设备接收到这条路由的时候,将比较收到的Originator_ID和本地的Router ID,若是两个ID值相同,则不接收此路由;配置