BGP的属性介绍
Origin :起源属性
属性种类:公认必遵,指出了该路由条目的来源是什么
有如下几种来源:
1)Code= i:是在IGP的RIB中存在,并通过network命令宣告进BGP进程中的;
2)Code= e:从EGP协议中获悉的,EGP现在很少用可以不考虑
3)Code=?:Incomplete ,import到BGP某个地址族的
AS_Path:AS路径
属性种类:公认,默认包含了一个有序的AS号列表(从右到左表示依次经过的AS),描述了到达该网络所经过的所有AS有哪些。。。
请注意,只有将网络条目通告给EBGP邻居时,才将本地AS号加入到这个AS_Path在本AS内传播不会增加本AS号。
这个AS_Path有如下两个作用:
1)让BGP进程决策最优路径,AS_Path最短最优选;
2)防止环路,当某BGP Router从其EBGP邻居那里接收到一个网络的更新,并发现这个网络更新的AS_Path中有自己本地的AS号时,就证明有环路产生!!!
Next_Hop:下一跳
属性种类:公认必遵,存放到达该目的网络的下一跳的IP地址是什么。
有如下3种情况:
(1)BGP发言者把自己产生的路由发布给所有邻居时,将把改路由信息的下一跳属性设置为自己与对端连接的接口地址.
(2)BGP Speaker 把接受到的路由发送给EBGP对等体后, 将改路由信息的下一跳属性设置为本地与对端连接的接口.
(3)BGPspeaker 把从EBGP邻居学习到的路由发给IBGP邻居的时候,并不改变下一跳属性,需要配置peer x.x.x.x next-hop local改变下一跳属性。
Local_Pref属性:本地优先级
属性种类:公认自决,只用在 和IBGP邻居间 的Update分组更新中,这个属性字段不会传递给EBGP邻居,是用来选最优出AS路径的。
告诉本AS中的BGP Router,从哪个出口出去才是最优的。
Local_Pref默认值为100、,越大越优选
MED属性:开销
属性种类:可选非传递,进入一个AS的开销,用来进入AS选路的。
告诉另外一个邻居AS中的BGP Router,从哪个入口进来我本地AS的才是最优的;越小越优选。
当邻居AS中的BGP Router将那些网络条目通告给它另外的EBGP邻居时,会将这个MED值删掉。
Local_Pre是出AS的。
而MED是入AS的。
ATOMIC_AGGREGATE:
属性种类:公认自决,当某一台BGP Router做BGP路由汇总时,会丢失掉那些细路由的所有AS_Path详细信息,而只将做了汇总的那台BGP Router所在的AS号填入AS_Path的AS_SEQUENCE中, 只要有做BGP汇总都会产生这个警告属性~
这个属性其实只是用来做警告的作用,用来警告下游BGP邻居,收到的是一条汇总路由就是了;
AGGREGATOR属性:
属性种类:可选传递,在做BGP汇总的那台Router上,可以指定这个属性,用来指示在哪里做了汇总;
通常这个属性的值由做BGP汇总的那台Router的RID和所在的AS号来标识,可以用来做聚合路由的防环。
所以说,ATOMIC_AGGREGATE属性是用来警告说这条路由是BGP汇总路由;而AGGREGATOR属性是用来指示在哪个地方、哪个点上做了BGP汇总。
Community:团体属性
属性种类:可选传递
主要用来做策略的:将某一些路由条目设置一个相同的标记——Community值,别的BGP Router就可以根据这些路由条目 身上的Community值标记来做相应的策略就是了,而不用针对每条路由。
Community属性 存放Community值,
Community属性值有4个字节,AA:NN一般AA为自己的AS号。
常见的团体属性有:
1)NO_EXPORT(4294967041或0xFFFFFF01):收到了某个路由条目的更新的Community属性值要是为NO_EXPORT,就不会将这个更新传递给其EBGP邻居哦!
2)NO_ADVERTISE(4294967042或0xFFFFFF02):收到了某个路由条目的更新的Community属性值要是为NO_ADVERTISE,就不会将这个更新传递给其任何BGP邻居哦!
3)LOCAL_AS(4294967043或0xFFFFFF03):和NO_EXPORT类似,只是这个Community值是用在BGP联盟环境中,不通告给联盟EBGP邻居;
ORIGINATOR_ID属性 和 CLUSTER_LIST属性:
这两个属性的属性种类都是可选非传递的,并且都是供路由反射器RR(Route Reflector)环境中使用的用来防环的。
其中ORIGINATOR_ID属性的值是该AS中始发该路由条目的路由器的RID! 如果某台BGP Router收到一条路由条目更新,且这个更新中的ORIGINATOR_ID是它自己的RID,那么它就知道发生了路由环路,并忽略这个更新的内容!;
CLUSTER_LIST 属性的值是该路由条目所经过的一系列RR簇ID的序号!如果某台RR收到了一条路由条目更新,并且更新中的CLUSTER_ID中发现了自己的RR簇ID,就证明有环路产生,并忽略这个更新的内容!
防环的属性有AS-PATH(AS间)、Next-hop、水平分割(AS内)、ORIGINATOR_ID、CLUSTER_LIST(RR场景)、 AGGREGATOR(聚合路由)
选路
LAO MEN
local_pre(最大的优选) > AS Path(最短的优选) > Orign (手动聚合>自动聚合>i>e>?) > MED(小的优选) > EBGP(EBGP>IBGP) > Next_hop(IGP开销最小的优选)