路径属性
l每条BGP路由都拥有多个的路径属性,有些是必须携带的,有些是可选添加的
lBGP的路径属性将影响最优路由的选择
lBGP路径属性是描述路由的一组参数,BGP根据路由的属性选择最佳路由,可以人为置值,以便执行路由策略
Origin属性
lOrigin属性为公认必遵属性。用于标识路由的来源,该属性在路由产生时会自动设置
l如果去往同一个网络存在多条不同Origin属性的BGP路由时,在其他条件相同的条件下,路由的优选原则是IGP > EGP > Incomplete,IGP最优先进入路由表
l在BGP路由表中,Path列中,最后一个字符就是Origin Codes
AS_Path属性
lAS_Path属性为公认必遵属性。该属性描述到达目标网络所要经过的AS号序列,作用是为了避免AS之间产生路由环路
l如果去往同一个网络存在多条不同AS_Path属性的BGP路由时,在其他条件相同的条件下,路由的优选原则是AS_Path长度最短的路由最优先进入路由表
AS_Path可以避免AS之间的环路
lBGP路由器在向EBGP peer传递路由时,会在AS_Path属性的最左边添加自己的AS号
lBGP路由器在向IBGP peer传递路由时,AS_Path属性不会改变
lBGP路由器收到EBGP peer传来的路由时会检查AS_Path,如果发现自己的AS号则丢弃该路由
l在BGP路由表中,Path列就可以查看到AS_Path属性,最左边的是刚经过的AS,最右边的是起源AS
AS_Path属性的类型
lAS_Path属性有4种类型
Ø AS_SET在比较AS_Path长度时以整体来计算,例如AS_Path=100,200与AS_Path={100,200},300是一样长的
lAS_Path默认的类型是AS_SEQ,进行BGP路由汇总后会丢失部分AS_Path属性
l在BGP路由汇总时,可以加上“as-set”参数,使得丢失的AS_Path属性以AS_SET的形式添加到PATH中
Next hop属性
lNext hop属性是公认必遵属性,用于指定到达目标网络的下一跳地址
l路由的优选原则是优先选择下一跳IGP度量值较小的路由
l当BGP路由器收到peer传来的路由后,将检查Next hop属性,如果该属性值(IP地址)不可达,则显示此路由不可用(不会出现 * )
l不可达问题一般通过配置“next_hop_self”(修改下一跳为本路由)来解决
Next hop属性规则
lBGP路由器向EBGP peer传递路由时,会将该路由的Next hop设置为自己的更新源IP地址
lBGP路由器收到EBGP peer传来的路由后,在传递给自己的IBGP peer时,会保持原来的Next hop属性值
l如果路由器收到的某条BGP路由,此路由的Next hop与将要发送去的EBGP peer同属一个网段,那么此路由的Next hop将保持不变
Local preference属性
lLocal preference属性(本地优先级)是公认自决属性。用于告知AS内部的BGP路由器,哪条路径是离开本AS的最佳路径
l一般只在AS内部IBGP peer之间交换传递,不会传递给EBGP peer
l如果去往同一个网络存在多条不同AS_Path属性的BGP路由时,在其他条件相同的条件下,
路由的优选原则是Local preference较高值的路由
lBGP路由器向EBGP peer传递路由时,路由不会携带Local preference属性,但是对端在收到后,会在本地为路由加上Local preference,默认值为100
l如果是本BGP路由器引入的BGP路由,默认值也是100,但不会在BGP路由表中显示
MED属性
lMED属性(Multi-Exit Discriminator)是可选不可传递属性。是一种度量值,用于向外部对等体指出进入AS的首选路径,即当入口有多个时,自治系统可以使用MED动态的影响其他AS如何选择进入路径
l MED在AS之间交换,发送给EBGP peer后,仅在EBGP peer所属的AS内传播MED,不传递再给下一个AS
l MED属性值越小则BGP路由越优
l默认情况下,BGP路由器仅比较来自同一相邻AS的BGP路由的MED值,如果去往同一个目的地的两条路由来自不同的AS,则不进行MED值的比较,除非配置了“bgp always-compare-med”
l一台BGP路由器在向EBGP peer传递路由时,是否携带MED属性,需根据以下条件判断:
Ø 如果BGP路由是本地引入的(通过network/redistribute),则会携带默认MED值发送给EBGP peer。从IGP路由引入的,MED继承IGP协议中的metric,从直连路由/静态路由引入的,MED=0 ;
Ø 如果BGP路由是从BGP peer学习到的,那么传递给EBGP peer时就默认不会携带MED属性(体现MED不可传递性,无法跨AS传递,锐捷会将空白的MED填充为0),除非使用路由策略;
Ø 在IBGP对等体之间传递路由时,MED值会被保留且传递,除非部署了策略,否则MED值不会变;
l在BGP路由表中,Metric就是MED属性
Community团体属性
lCommunity属性(团体属性)是可选可传递属性。用于标识一些有相同性质的路由前缀,相当于给路由打标记,以便简化路由策略的执行
lCommunity不限于一个网络或一个自治系统,没有物理边界,一个路由可以有多个团体属性
l默认在peer之间不传递Community属性,必须针对特定peer使用“neighbor X.X.X.X sendCommunity” 命令才能将Community属性发送出去
l可以将某些路由分配一个特定的Community属性,之后就可以基于Community值而不是每条路由去配置路由策略了
Community属性格式
lCommunity属性值长度为32bit(4Byte),有两种形式呈现:
Ø 十进制整数格式
Ø AA:NN格式,其中AA表示AS号,NN是自定义的编号,这种形式更易于记忆(默认此种形式)
Atomic_Aggregate及Aggregator属性
lAtomic_Aggregate属于公认可选属性,相当于一种预警标记,不承载任何信息。当BGP路由收到此属性时,就知道这条路由可能出现了路径属性的丢失,他会把这个预警信息一直传递下去
lAggregator属于可选不可传递属性,当路由被汇总时,执行汇总的路由器会为汇总路由添加此属性,记录了本地AS号以及本地的Router-id
Weight属性
lWeight属性是可选非传递属性。在路由器本地配置,只提供本地路由策略,不会传播给任何BGP邻居,用于本地路由器选择最优路径时使用
lWeight属性的取值0~65535,越大越优先
l路由器本地始发的路径默认权重为32768,从其他BGP邻居学习到的为0
总结
lBGP路径属性是描述路由的一组参数,BGP根据路由的属性选择最佳路由
lOrigin属性为公认必遵属性,用于标识路由的来源
lAS_Path属性为公认必遵属性,描述到达目标网络所要经过的AS号序列,避免路由环路
lNext hop属性是公认必遵属性,用于指定到达目标网络的下一跳地址
lLocal preference属性是公认自决属性,用于告知AS内部的路由器,哪条路径是离开本AS的最佳路径
lMED属性是可选不可传递属性,用于向外部对等体指出进入AS的首选路径
lCommunity属性是可选可传递属性,用于标识一些有相同性质的路由前缀
lAtomic_Aggregate属于公认可选属性,相当于一种预警标记,不承载任何信息
lAggregator属于可选不可传递属性,当路由被汇总时,执行汇总的路由器会为汇总路由添加此属性
lWeight属性是可选非传递属性,用于本地路由器选择最优路径时使用