Origin属性

 Origin属性定义路径信息的来源,标记一条路由是怎么成为BGP路由的
① AS 200内运行OSPF协议,200.0.0.0/24网段宣告到OSPF中。RTB通过network方式将200.0.0.0/24的路由变为BGP路由通告给RTA,RTC通过import方式将200.0.0.0/24的路由变为BGP路由通告给RTA
② BGP在AS之间传递信息,承载大量的路由。如果到达同一目的IP有多条路径,且BGP学到这些路由通过不同的方式,则Origin属性是决定最优路径的一个因素,用于标明路由的起源
BGP常用属性介绍_第1张图片
 Origin的3种属性:
① i表明BGP路由通过network命令注入
② e表明BGP路由是从EGP学来的,EGP协议在现网中很难见到,但可以通过路由策略将路由的Origin属性修改为e(了解即可)
③ ?即Incomplete(未知)表明BGP路由通过其它方式学到路由信息,如使用import命令引入的路由。
④ 3种Origin属性的优先级为:i>e>Incomplete(?)

AS_Path属性

 AS 1内的RTA能够从RTB与RTC收到100.0.0.0/24的路由,RTA如何进行自动优选?
 RTA->RTB->RTC之间在拓扑上存在环路,RTB->RTC->RTD->RTE之间在拓扑上也存在环路,因此BGP在路由传递的过程中也可能存在路由环路,BGP如何防止环路呢?
BGP常用属性介绍_第2张图片
 BGP针对以上2个问题,设计了AS_Path属性,该属性记录了路由经过的所有AS的编号
① RTA从RTB收到100.0.0.0/24的路由时,AS_Path为(2,4),RTA从RTC收到100.0.0.0/24的路由时,AS_Path为(3,5,4)。规定AS_Path越短(记录的AS编号越少),路径越优,因此RTA会优选从RTB收到的100.0.0.0/24的路由
② 以RTE为例,通过BGP发布100.0.0.0/24的路由,路由可能通过RTE->RTB->RTC->RTD->RTE形成环路。为了防止环路的产生,RTE在收到RTD发来的路由时会检查AS_Path(该路由携带的)属性,如果发现该路由的AS_Path中包含自己的AS号,则丢弃该路由
 当前,AS_PATH属性被定义为公认必遵属性,该属性由AS号所组成。AS_PATH属性字段由三元组所组成
Path Segment Type, Path Segment Length, Path Segment Value
 在BGPv4里,path segment type字段是由1字节长的数值所组成,主要是标识AS_PATH的不同类型

   Value     Segment Type
      1       AS_SET: 由一系列AS号无序地组成,包含在UPDATE消息里
      2       AS_SEQUENCE: 由一系列AS号顺序地组成,包含在UPDATE消息里
      3       AS_CONFED_SEQUENCE: 在本地联盟内由一系列成员AS号按顺序地组成,包含在UPDATE消息中,只能在本地联盟内传递
      4       AS_CONFED_SET: 在本地联盟内由一系列成员AS无序地组成,包含在UPDATE消息中,同样只能在本地联盟内传递

Next_hop属性

① RTA将100.0.0.0/24的网段发布给RTB时,Next_hop的IP地址是多少?
② RTB将100.0.0.0/24的网段发布给RTC时,Next_hop的IP地址是多少?
③ RTA从RTB学到RTC发布的200.0.0.0/24的网段时,Next_hop的IP地址是多少?
BGP常用属性介绍_第3张图片
 BGP路由器将本端始发路由发布给IBGP邻居时,会把该路由信息的Next_hop设为本端建立邻居关系所使用的接口IP
① RTA将100.0.0.0/24的网段发布给RTB时,如果RTA与RTB使用直连接口建立IBGP邻居,则Next_hop为RTA上与RTB直连的接口IP;如果RTA与RTB使用Loopback接口建立IBGP邻居,则Next_hop为RTA的Loopback接口IP
 BGP路由器在向EBGP邻居发布路由时,会把路由信息的Next_hop设置为本端与对端建立BGP邻居关系的接口IP
② RTB将100.0.0.0/24的网段发布给RTC时,Next_hop为RTB上与RTC直连的接口IP
 BGP路由器在向IBGP邻居通告从EBGP学来的路由时,不改变该路由下一跳属性
③ RTC从RTB学到RTA发布的100.0.0.0/24的网段时,Next_hop为RTB的接口IP,因为RTB与RTD在同一网段,RTC通告给RTD的Next_hop为RTB的接口IP
 对于上述三种情况的解释
① EBGP邻居之间一般采用直连接口建立邻居关系,EBGP邻居在相互通告路由时会修改Next_hop为自己的出接口IP
② IBGP邻居通常采用Loopback接口建立邻居,当路由是本路由器起源的,在发送给邻居之后Next_hop改为自己的更新源地址,这样即使网络中出现链路故障,只要Next_hop可达,同样可以访问目的网段,提高网络稳定性
③ 相对于IGP,如RIP在发布路由时,每经过一个路由器都会修改下一跳,发布路由的路由器都宣称自己能够到达目标地址,并采用逐跳传递的方式将数据包发送给目标网络,但网络中的路由器并不知道谁是真正的始发路由器,因此会造成环路。BGP在EBGP之间传递时才修改Next_hop,IBGP发送从EBGP学来的路由给IBGP邻居时并不修改下一跳,在一定程度上起到了防环作用

Local_Preference属性

Local_Pref属性仅在IBGP邻居之间有效,不通告给其他AS。它表明路由器的BGP优先级,用于判断流量离开AS时的最佳路由 值越大越优 其默认值为100
AS 200内有一个200.0.0.0/24的用户网段,通过BGP发布给AS 100。AS 100内的管理员如何设置才可以实现通过高带宽链路访问200.0.0.0/24的网络?
BGP常用属性介绍_第4张图片
 解决办法:
① 在RTC上设置ip-prefix匹配200.0.0.0/24的路由,使用route-policy调用该ip-prefix,并设置Local_Preference为200,将策略应用在对RTA发布路由的export方向
② Local_Pref属性用于判断流量离开AS时的最佳路由。当BGP路由器通过不同的IBGP邻居获得目的地址相同但下一跳不同的多条路由时,将优先选择Local_Pref属性值较高的路由

MED属性

MED(Multi-Exit-Discriminator)属性仅在相邻两个AS之间传递,收到此属性的AS不会再将其通告给任何其他第三方AS,用于判断流量进入AS时的最佳路由
AS 300内的管理员希望在AS 300内操作影响AS 200通过高带宽链路访问100.0.0.0/24,如何实现?
解决方法:在RTE上设置ip-prefix匹配100.0.0.0/24的路由,再设置route-policy调用该ip-prefix,并设置MED为100,将策略应用在对RTE发布路由的export方向
BGP常用属性介绍_第5张图片
MED(Multi-Exit-Discriminator 多出口标识)属性仅在相邻两个AS之间传递,收到此属性的AS不会再将其通告给任何其他第三方AS。如图所示,AS100内并不会收到AS 300内设置的MED值,但是AS 200内会收到AS 300内设置的MED值,因此AS 200内可以选择高带宽的路由
MED属性相当于IGP使用的度量值(Metric),它用于判断流量进入AS时的最佳路由 当一个运行BGP的路由器通过不同的EBGP邻居获得目的地址相同但下一跳不同的多条路由时,在其它条件相同的情况下,将优先选择MED值较小者作为最佳路由,其默认值为0

Community属性

BGP的Community属性的两个作用:
① 限定路由的传播范围
② 打标记,便于对符合相同条件的路由进行统一处理
AS 10内有10.1.10.0/24的用户网段,AS 11内有10.1.11.0/24的用户网段。为了区分用户网段,AS 10内的10.1.10.0/24设置了10:12的Community,AS 11的10.1.11.0/24设置了11:12的Community,通过BGP发送给AS 12后,AS 12希望汇总后屏蔽掉明细路由再发送给AS 13,并且希望AS 13收到路由后不再传递给其他AS,如何实现
BGP常用属性介绍_第6张图片
 解决方法
① 在RTC上设置Community-filter,匹配Community为10:12和10:13的路由,再设置route-policy匹配Community-filter,将两条路由聚合成10.1.10.0/23的路由并调用route-policy
② 在RTC上设置route-policy,设置团体属性为no-export,在RTC通告给RTD的export方向调用该route-policy
 Community属性分为两类:一类是公认团体属性,另一类是扩展的团体属性
 公认团体属性分为4类
① Internet:缺省属性,所有路由都属于Internet,此属性的路由可以通告给所有BGP邻居
② No_Export:收到此属性的路由后,不将该路由发布到其他AS。RTB上希望10.1.11.0/24的路由发布给AS 12之后,不再发布给其他AS,则可将10.1.11.0/24的Community属性设置为No_Export
③ No_Advertise:收到此属性的路由后,不将该路由通告给任何其他的BGP邻居。RTB上希望只将10.1.11.0/24的路由发布给RTC,并且不再通告给任何其他的BGP邻居,则可将10.1.11.0/24的Community属性设置为No_Advertise
④ No_Export_Subconfed:在联盟中使用
 扩展的团体属性用一组4字节为单位的列表来表示,路由器中扩展的团体属性格式为aa:nn或团体号
① aa:nn中,aa通常为AS编号,nn是管理员定义的团体属性标识
② 团体号范围为0-4294967295,在RFC1997中,0-65535与4294901760-4294967295为预留值