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爲預留值

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章