BGP的四類屬性詳解


一、公認必遵(Well-known mandatory)

  • 要求所有運行BGP協議的設備都必須能識別,且在更新消息中必須包含。
  1. Origin(起源) 屬性

    • 用來標識路由信息的來源。
    • 如果路由是從IGP學習到的,則Origin屬性為IGP(i),使用display bgp routing-table命令查看BGP路由時,IGP簡寫為i。
    • 如果路由是從EGP學習到的,則Origin屬性為EGP(e)。
    • 如果路由的來源無法確定,則Origin屬性為incomplete(?)。
    • 路由優先級:IGP > EGP > incomplete
  2. AS_PATH(AS路徑) 屬性

    • 用來記錄某條路由從本地到目的地址所要經過的所有AS編號。
    • AS_PATH可以作為一種度量值,經過更少AS的路由更優先。
    • AS_PATH被用來避免AS之間的環路。如果BGP Speaker從EBGP對等體收到一條路由,它的AS_PATH包含BGP Speaker自己的AS號,就說明這條路由曾經被BGP Speaker發送過,所以會被直接丟棄。
  3. NEXT_HOP(下一跳) 屬性

    • 定義到達目的地下一跳的設備的IP地址。

二、公認任意(Well-known discretionary)

  • 要求所有運行BGP協議的設備必須能識別,但是在更新消息內可以自由選擇是否攜帶此類屬性的報文。
  1. LOCAL-PREF(本地優先級) 屬性

    • LOCAL-PREF屬性用來通告路由的優先程度。
    • LOCAL-PREF屬性僅在IBGP對等體之間交換,不通告給其他AS。
  2. ATOMIC_AGGREGATE(原子聚合) 屬性

    • 用來通告路由接受者該路由是經過聚合的。

三、可選過渡(Optional transtive)

  1. AGGREGATOR(聚合) 屬性

    • 是ATOMIC_AGGREGATE屬性的補充,包含了發起路由聚合的AS號碼和形成聚合路由的BGP發布者的IP地址。
  2. COMMUNITY(團體) 屬性

    • 是共享相同屬性的目的地集合,目的就是將路由信息編組,通過組的標識決定路由策略的傳遞。
    • 公認的團體屬性有:
      1.INTERNET:缺省情況下,所有的路由都屬於INTERNET團體。具有此屬性的路由可以被通告給所有的BGP對等體。
      2.NO_EXPORT:不能被發布到本地AS之外。如果使用了聯盟,則不能被發布到聯盟之外,但可以發布給聯盟中的其他子AS。
      3.NO_ADVERTISE:不能被通告給其他的BGP對等體,即不通告該路由。
      4.NO_EXPORT_SUBCONFED:不傳遞給下一個小AS,若網絡中沒有小AS,僅存在大AS時作用與NO_EXPORT一致。

四、可選非過渡(Optional non-transtive)

  1. MED(多出口鑒別器) 屬性

    • 用來區分同一個鄰接AS的多個接口。
    • MED只在EBGP發布的路由中產生,接收者可以向它的IBGP鄰居轉發,但不允許向它的EBGP對等體轉發。假設一個AS和鄰接AS有多個接口相連,通過發布不同的MED給對端,就可以控制進入網絡的流量從MED值最小的那個接口進來。通常情況下,BGP 只比較來自同一個AS的路由的MED屬性值。
    • BGP協議默認不存在cost;MED就是人為的利用路由器優選路徑的規則—先比較管理距離(華為為優先級),若一直再比較度量值(華為為cost)
      BGP協議在特定條件下攜帶本地到達目標的cost值;本地宣告(重發布)自己路由表中的路由后,將其傳遞給本地的ebgp鄰居,將攜帶cost值;對於其他AS的設備學習到從同一個as傳遞過來的路由,優選MED最小的路徑;管理員可以在控制層面傳遞路由的過程中,手工修改MDE;最常用於干涉ebgp選路;常常用於AS1干涉AS2對AS1的選路;
  2. ORIGINATOR_ ID(發起人ID) 屬性

    • ORIGINATOR_ ID用於標識路由反射器,是可選非過渡屬性。
    • 為了防止引入路由反射器之后出現環路,增加ORIGINATOR_ ID這個屬性來標識,反射器在發布路由時加入ORIGINATOR_ID,當反射器收到的路由信息中的ORIGINATOR_ ID就是自己的ROUTER_ ID時,就可以發現路由環路的出現,將該路由丟棄,不再轉發。
  3. CLUSTER_ ID(組ID) 屬性

    • CLUSTER_ ID用於標識路由反射器組,是可選非過渡屬性。
    • CLUSTER_ ID屬性也是用來防止環路,在路由經過路由反射器時路由反射器會將自己的CLUSTER_ID添加到路由攜帶的CLUSTER_LIST中,當路由反射器發現接收的路由的CLUSTER_ LIST中包含有自己的CLUSTER_ ID,則將該路由丟棄,不再轉發。
  4. WEIGHT(權重值) 屬性

    • Weight屬性是Cisco私有屬性,只有Cisco的路由器才能識別weight。
    • 路由的weight屬性只在本地路由器起作用,BGP將路由傳遞給鄰居時,並不保留weight。Weight值的范圍0~65535,默認為0,如果是BGP本地發起路由,weight值32768。
    • 當到達同一目的地存在多條路徑時,優選weight值大的。在Cisco路由器中,比較最優路徑的第一條規則就是比較weight值,所以只要改動weight值,就能控制Cisco路由器的BGP選路。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM