BGP屬性----nexthop+origin 詳解


BGP屬性的作用:

BGP路由表中,到達同一目的地可能存在多條路由。此時BGP會選擇其中一條路由作為最佳路由,並只把此路由發送給其對等體。BGP為了選出最佳路由,會根據BGP的路由優選規則依次比較這些路由的BGP屬性。

BGP屬性分類:

路由屬性是對路由的特定描述,所有的BGP路由屬性都可以分為以下4類,常見BGP屬性類型如表1所示:

  • 公認必須遵循(Well-known mandatory):所有BGP設備都可以識別此類屬性,且必須存在於Update報文中。如果缺少這類屬性,路由信息就會出錯。

  • 公認任意(Well-known discretionary):所有BGP設備都可以識別此類屬性,但不要求必須存在於Update報文中,即就算缺少這類屬性,路由信息也不會出錯。

  • 可選過渡(Optional transitive):BGP設備可以不識別此類屬性,如果BGP設備不識別此類屬性,但它仍然會接收這類屬性,並通告給其他對等體。

  • 可選非過渡(Optional non-transitive):BGP設備可以不識別此類屬性,如果BGP設備不識別此類屬性,則會被忽略該屬性,且不會通告給其他對等體

Next_Hop屬性

Next_Hop屬性記錄了路由的下一跳信息。BGP的下一跳屬性和IGP的有所不同,不一定就是鄰居設備的IP地址。通常情況下,Next_Hop屬性遵循下面的規則:

  • BGP Speaker在向EBGP對等體發布某條路由時,會把該路由信息的下一跳屬性設置為本地與對端建立BGP鄰居關系的接口地址。

  • BGP Speaker將本地始發路由發布給IBGP對等體時,會把該路由信息的下一跳屬性設置為本地與對端建立BGP鄰居關系的接口地址。

  • BGP Speaker在向IBGP對等體發布從EBGP對等體學來的路由時,並不改變該路由信息的下一跳屬性。

 

Next-hop屬性:
特點:1、公認必遵屬性。

@BGP本身不計算路由,只是路由的搬運工,所以BGP在傳遞路由的時候,需要攜帶下一跳屬性。
@從EBGP鄰居收到的路由傳遞給IBGP鄰居的時候下一跳不變。
@從EBGP鄰居收到的路由傳遞給EBGP鄰居的時候下自動改變。
@從IBGP鄰居收到的路由傳遞給EBGP鄰居的時候下自動改變。
@自身始發的路由,傳遞所有BGP鄰居下一跳自動改變。

下一跳取值:為本設備與鄰居建立BGP鄰居關系的接口的地址。

 

 

Origin屬性

 

Origin屬性用來定義路徑信息的來源,標記一條路由是怎么成為BGP路由的。它有以下3種類型:

 

  • IGP:具有最高的優先級。通過network命令注入到BGP路由表的路由,其Origin屬性為IGP。

  • EGP:優先級次之。通過EGP得到的路由信息,其Origin屬性為EGP。

  • Incomplete:優先級最低。通過其他方式學習到的路由信息。比如BGP通過import-route命令引入的路由,其Origin屬性為Incomplete。

Origin屬性:
                   特點:

                          1、公認必遵屬性
                          2、描述當前這條路由是如何形成BGP路由。
                          3、用於BGP路由的路徑選擇。(i>e>?)
                                   i:標識通告network生成的BGP路由
                                   ?:標識通過import-route命令,引入到BGP中的IGP路由。
                                   e:從EGP協議中引入到BGP的路由。


route-policy修改的屬性與Origin默認產生的屬性沖突的時候,策略修改的優選。

 

 

 

BGP路由的選路原則:

1,如果此路由的下一跳不可達,忽略此路由
2,優選協議首選值(PrefVal)最高的路由
3,優選本地優先級(Local_Pref)最高的路由
4,優選本地生成的路由
5,優選AS路徑(AS_Path)最短的路由
6,比較Origin屬性,依次優選Origin類型為IGP、EGP、Incomplete的路由
7,優選MED值最低的路由
8,優選從EBGP鄰居學來的路由(EBGP路由優先級高於IBGP路由)
9,優選到BGP下一跳IGP Metric較小的路由
10,優選Cluster_List最短的路由
11,優選Router ID最小的路由器發布的路由
12,比較對等體的IP Address,優選從具有較小IP Address的對等體學來的路由

 

 

 

Origin屬性小應用舉例:

解決思路:  因為 i > ?   所以我們在AR1這里宣告192.168.1.0  引入192.168.2.0 。而在AR5那邊宣告192.168.2.0,引入192.168.1.0  

 配置:AR1  -----    bgp 1

                                         network 192.168.1.0 24

                                         import-route static route-policy ogi  //, 使用route-policy 過濾  只引入192.168.2.0

                               route-plicy ogi permit node 10  //配置route-policy

                                        if- nutch ip ip-prefix 1    //調用前綴列表

                               ip ip-prefix 1 permit 192.168.2.0 24   // 前綴列表抓取192.168.2.0  

結果如下圖:

 

AR5 配置----

  

                                         network 192.168.2.0 24

 

                                         import-route static route-policy ogi  //, 使用route-policy 過濾  只引入192.168.1.0

 

                               route-plicy ogi permit node 10  //配置route-policy

 

                                        if- nutch ip ip-prefix 1    //調用前綴列表

 

                               ip ip-prefix 1 permit 192.168.1.0 24   // 前綴列表抓取192.168.1.0  

 

AR2與AR4上面的BGP路由表分別為:

====================================================================================================================================

BGP修改路由屬性的方法:
1、在network這條路由的時候關聯route-policy修改
2、在import這條路由的時候關聯route-policy修改
3、針對發送/接受鄰居路由的時候關聯route-policy修改。
4、某些路由的屬性支持修改默認取值。

route-policy修改的屬性與Origin默認產生的屬性沖突的時候,策略修改的優選。

簡單舉例說明:

 

1. 在AS1的AR1里面的靜態路由192.168.1.0 24 Null0  ,network進了bgp協議,我們在ae2上查看bgp路由表

我們在AR1上在network的時候關聯route-policy修改它的屬性

  bgp 1

           network 192.168.1.0 route-policy ogi

 route-policy ogi permit node 10

apply origin igp 

<>refresh bgp all export

在查看ar2上的結果:

 

2,import  在引入的時候關聯route-policy修改origin的屬性:

   2.1  我們在AR1上引入靜態路由到bgp   ----import- route static 

  2.2  關聯route-policy 修改origin的屬性

           import-route static route-policy ogi

 route-policy ogi permit node 10

apply origin igp

<>refresh bgp all export 

 

3, 在發送或者接收給鄰居的時候關聯route-policy修改屬性

     route-policy ogi permit node 10  

     apply origin incomlete   //  修改origin屬性為引入

bgp 1  

         peer 10.0.12.2 route-policy ogi export  //在發送給鄰居的時候調用route-policy 修改origin屬性為 incomlete

         network 192.168.1.0 24  // network靜態路由到bgp協議

 

查看AR2的BGP路由表

接下來,我們在AR2上在接收的方向在修改過來為igp

route-policy ogi permit node 10  

     apply origin igp   //  修改origin屬性為network

bgp 2

         peer 10.0.12.1 route-policy ogi import  // 在接收鄰居的時候調用route-policy 修改origin屬性為 igp

 

origin屬性知識點完   2022-04-22 下午16:45分

 


免責聲明!

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



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