zoukankan      html  css  js  c++  java
  • BGP常用属性介绍

    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常用属性介绍
     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常用属性介绍
     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常用属性介绍
     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常用属性介绍
     解决办法:
    ① 在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常用属性介绍
    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常用属性介绍
     解决方法
    ① 在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为预留值

  • 相关阅读:
    [jenkins] 启动错误 Failed to start LSB: Jenkins Automation Server.
    SpringBoot AOP注解式拦截与方法规则拦截
    JS !function 稀奇古怪的写法
    业务场景后端优化
    对称加密和非对称加密
    第三篇 -- 余生,我累了,也懂了
    第二篇 -- 关东野客书籍
    第十一篇 -- 关于防火墙的一些问题
    第三十一篇 -- 学习第六十八天打卡20190911
    第二十九篇 -- UDP和TCP
  • 原文地址:https://www.cnblogs.com/liujunjun/p/13513605.html
Copyright © 2011-2022 走看看