BGP路徑選擇-AS_Path(學習筆記+實驗驗證)
標簽: HCNP
BGP路徑選擇-AS_Path
一,原理概述
- 當一臺BGP路由器存在多條去往同一目標網絡的BGP路由時,BGP協議會比較這些BGP路由的屬性,來確定去往目標網絡的最優BGP路由。先比較Preferred Value(路由信息首選值),然后Local Preference(本地優先級),再是路由生成方式,若比較這幾個還是無法確定最有路由,則使用AS_Path屬性比較。
- AS_Path屬性順序的記錄了某條BGP路由所經過的AS信息。
- BGP路由器在向EBGP對等體通告路由時,會在該路由的AS_Path屬性的最左端添加本地自制系統的AS編號。BGP在比較了AS_Path屬性后,會優選AS_Path長度最短的那條路由。如果AS_Path的長度相等,則BGP會對下一屬性Origin進行比較。
- AS_Path還可以用來防止AS之間的路由環路。當路由器從EBGP鄰居收到BGP路由時,如果該路由的AS_Path中包含了自己的AS編號,則該路由將會被直接丟棄。
- 類似于其他BGP路由屬性,AS_Path屬性也是可以被手動修改的。
實驗注意事項:
- BGP鄰居關系狀態為Established表示已建立
- AS_PATH是指BGP路由在傳輸的路徑中所經歷的AS的列表,是BGP中一個非常重要的公認必遵屬性
- BGP不會接受AS_PATH屬性中包含本AS Number的路由,從而避免了產生環路
- AS_PATH越短的路徑越優先
二,實驗練習(對著書做的)
(一)實驗目的
- 理解AS_Path 的概念
- 通過AS_Path的選路機制
- 修改AS_Path屬性的方法
(二)實驗內容
(三)實驗拓撲
步驟
1,基本配置
2,配置BGP路由信息
[R1]bgp 100
[R1-bgp]peer 10.0.13.3 as-number 300
[R1-bgp]peer 10.0.15.5 as-number 500
[R1-bgp]network 10.0.1.1 32
[r2]bgp 200
[r2-bgp]peer 10.0.26.6 as-number 500
[r2-bgp]peer 10.0.24.4 as-number 400
[r2-bgp]network 10.0.2.2 32
[R3]bgp 300
[R3-bgp]peer 10.0.34.4 as-number 400
[R3-bgp]peer 10.0.13.1 as-number 100
[R4]bgp 400
[R4-bgp]peer 10.0.34.3 as-number 300
[R4-bgp]peer 10.0.24.2 as-number 200
[R5]bgp 500
[R5-bgp]peer 10.0.15.1 as-number 100
[R5-bgp]peer 10.0.56.6 as-number 500
[R5-bgp]peer 10.0.56.6 next-hop-local
[R6]bgp 500
[R6-bgp]peer 10.0.26.2 as-number 200
[R6-bgp]peer 10.0.56.5 as-number 500
[R6-bgp]peer 10.0.56.5 next-hop-local
配置后,查看R1,R2,R3,R4,R5,R6的BGP鄰居關系
可以看到:
- R1與R3和R5建立了EBGP(不同AS間鄰居為EBGP)鄰居關系。
3,觀察AS_Path屬性對BGP選路的影響
在R1上 查看BGP路由表,觀察10.0.1.1/32訪問10.0.2.2/32的選路情況。
可以看到:
- R1去往R2的路徑(10.0.15.5和10.0.13.3)優選下一跳為10.0.15.5(R5)的路由。
- 兩條路由的PrefVal為0,LocPrf為空,均不是本地生成的路由,但他們的AS_Path屬性不同。
- 下一跳為R5的AS_Path屬性為500 200,所以長度為2;下一跳為R3的AS_Path屬性為300 400 200,所以長度為3;于是選擇了AS_Path長度小的(下一跳為R5的路由)。
在R1上使用Tracert命令驗證10.0.1.1/32到10.0.2.2/32的路徑
可以看到:
- 10.0.1.1/32到10.0.2.2/32的路徑確實是通過R5和R6的。
在R2上查看BGP路由表
與來時一樣,優選路徑(10.0.26.6和10.0.24.4)AS_Path小的R6的路徑
使用tracert命令驗證10.0.2.2/32到10.0.1.1/32的路徑
與來時一樣反著經過R6和R5
4,修改AS_Path屬性控制BGP選路
現在假定R5和R6負載太重,希望用戶網絡10.0.1.1/32到10.0.2.2/32之間優先使用經過R3和R4的路徑。
為了實現需求,直接的做法是在R1上拒絕接收來自 AS500 的關于10.0.2.2/32的路由信息,以及在R2上拒收來自 AS500 的關于10.0.1.1/32的路由信息。
但是這樣R1和R2的BGP路由表中將不再有經由 AS500 去往對方的路由信息,當R3和R4的鏈路發生故障時,兩個用戶網絡的通信就會中斷。
- 為此,可以采用修改AS_Path的方法來更好的實現需求。
使用Route-Policy對R1接收的來自 AS500 的關于10.0.2.2/32的路由信息中的AS_Path屬性進行修改。
[R1]ip ip-prefix as_path permit 10.0.2.2 32
[R1]route-policy as_path permit node 10
[R1-route-policy]if-match ip-prefix as_path
[R1-route-policy]apply as-path 500 500 additive
[R1-route-policy]route-policy as_path permit node 20
[R1-route-policy]bgp 100
[R1-bgp]peer 10.0.15.5 route-policy as_path import
配置完成后,在R1上查看BGP路由表
可以看到:
-現在R1優選了下一跳為10.0.13.3,即通過R3的路徑,原因是現在經由R5的 路由的AS_Path屬性變為500 500 500 200,長度為4。
在R1 上使用tracert命令驗證從10.0.1.1/32到10.0.2.2/32的路徑
可以看到:
- 從10.0.1.1/32去往10.0.2.2/32的報文選用了經由R3,R4的路徑。
在R2上使用tracert命令驗證從10.0.1.1/32去往10.0.2.2/32的報文所經過的路徑。
可以看到:
- 10.0.2.2/32到10.0.1.1/32的路徑依舊使經由AS500 的路徑。
在R2上修改 AS500 的關于10.0.1.1/32的路由信息的AS_path屬性。
[r2]ip ip-prefix as_path permit 10.0.1.1 32
[r2]route-policy as_path permit node 10
[r2-route-policy]if-match ip-prefix as_path
[r2-route-policy]apply as-path 300 500 500 100 overwrite
Warning: The AS-Path lists of routes to which this route-policy is applied will
be overwritten. Continue? [Y/N]y
創建路由策略的后續索引節點允許未被匹配的路由能夠正常被接收。
[r2]route-policy as_path permit node 20
在R2的BGP視圖下調用路由策略
[r2-bgp]peer 10.0.26.6 route-policy as_path import
配置后,在R2上觀察BGP路由表
可以看到:
- 在R2去往10.0.1.1/32網絡時,選用的是下一跳為10.0.4.4,經由R3,R4。經由R6的路由的AS_path屬性已被修改為300 500 500 100,長度為4.
注意:選用 overwrite 關鍵字,路由策略會使用配置的AS編號序列替換原有的AS_path屬性。
在R1上使用 Tracert 命令驗證從10.0.1.1/32去往 10.0.2.2/32的報文所經過的路徑。
可以看到:
- 從10.0.1.1到10.0.2.2的路徑為R3和R4的路徑。
在R2上使用tracert命令驗證從10.0.2.2/32到10.0.1.1/32的路徑
可以看到:
- 從R2到R1的路徑經由了R4和R3。
至此,在10.0.1.1/32到10.0.2.2/32之間進行通信時,往返路徑均經過了R3和R4,實現了所需的路徑控制,同時也實現了路徑的冗余備份。
智能推薦
BGP學習筆記 一
BGP(Border Gateway Protocol)(邊界網關協議) BGP的優點特征:BGP是外部路由協議,用來在AS之間傳遞路由信息 1、是一種增強的距離路由矢量協議(AS_PATH)是直接傳遞路由信息。 (而鏈路狀態路由協議,是傳遞鏈路狀態的,SPF算法計算出路由信息) *可靠的路由更新機制(TCP,端口號179) *豐富的Metric度量方法 *從設計上避免了路由環路(華為12種路由選...
OSPF NSSA區域(學習筆記+實驗驗證)
NSSA 一,原理概述 二,實驗 1,實驗目的 2,實驗內容 3,實驗拓撲 4,實驗步驟 1)基本配置 2)配置OSPF及路由引入 a)在R1,R4上面查看LSDB b)查看R1,R4的路由表 3)配置NSSA和Totally NSSA 區域 a)將區域1配置為NSSA區域 b)阻止Type-3LSA泛洪到NSSA區域1,使成為一個TotallyNSSA區域 4)修改NSSA區域缺省路由開銷值 一...
OSPF路由聚合(學習筆記+實驗驗證)
路由聚合 原理概述 注: 路由聚合算法 實驗目的 實驗內容 實驗拓撲 編址表 實驗步驟 1,基本配置 1)各個接口IP配置 2)S1的vlan和IP的配置 3)配置access接口 4)開啟OSPF 5)配置area2為NSSA區域 2,路由引入 1)在R4上配置去往外部網絡的靜態路由,并進行引入。 3,配置區域間路由聚合 1)在R2上查看LSDB 2)查看R2的路由表 3)在S1上使用abr-s...
OSPF Stub 區域(學習筆記+實驗驗證)
OSPF Stub 末梢區域 一,概念 二,Stub 區域和 Totally Stub區域的區別 三,Stub 區域和 Totally Stub區域的作用: 四,注意: 五,實驗 《1》實驗目的 《2》實驗內容 1.配置IP 2.開啟ospf,宣告區域 3.在R3上引入loopback1 4.配置R4, R5為Stub區域 1)配置stub 2)通過調整ABR路由器所通告的缺省路由的開銷值來實現主...
猜你喜歡
OSPF缺省路由(學習筆記+實驗驗證)
OSPF缺省路由 OSPF缺省路由 實驗目的 實驗內容 實驗拓撲 實驗步驟 1,基本配置 2,配置OSPF 3,向普通區域注入缺省路由 4,向stub區域或Totally-Stub區域注入缺省路由 5,向NSSA區域或Totally-NSSA區域注入缺省路由 OSPF缺省路由 1,OSPF是企業網中應用最廣泛的一種IGP路由協議。通常企業網與ISP(互聯網服務提供商)相連訪問外部網絡。通常情況下企...
freemarker + ItextRender 根據模板生成PDF文件
1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...
電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!
Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...
requests實現全自動PPT模板
http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...