學習網路BGP必備基礎知識
外部閘道器協議,使用TCP作為傳輸層協議,支援CIDR,增量更新,距離向量路由協議,無環路,路由策略豐富,可防止路由震盪,易於擴充套件。 |
BGP概述
#BGP工作原理 之 報文型別 TCP三次握手 open報文(型別為"1" ,協商BGP引數,包括版本,AS號,hold time等,然後建立鄰居) update報文(型別為"2",交換路由資訊)包含NLRI網路層可達資訊 keepalive報文(型別為"4",保持鄰居關係) Notification報文(型別為"3",差錯通知) Route-Refresh報文(路由重新整理報文:用於在改變路由策略後請求peer重新傳送路由資訊)(命令:refresh bgp all import) #BGP工作原理 之 資料庫 IP路由表 BGP路由表 鄰居表(對等體列表) Adj-RIB-In(對等體宣告給本AS的未經過處理的路由資訊庫) Adj-RIB-Out(本地speaker 宣告給指定對等體的路由資訊庫)
BGP工作原理-BGP路由資訊處理
BGP需要注意的事項
1:由於BGP的水平分割,會導致BGP出現路由黑洞,解決辦法有三個(IBGP全互聯,RR,聯盟) 2:EBGP鄰居,預設其TTL為1 3:在IBGP路由加入路由表併發布給EBGP對等體之前,會先檢查IGP路由表,只有在IGP也知道這個IBGP路由時,它才會被加入到路由表,併發布給EBGP對等體 同步:指IGP表和BGP表同步,才會發給EBGP對等體 4:私有AS號(64512-65535) 5:使用import-route static命令引入靜態路由時,只能引入活躍路由。
BGP的屬性分類 及列舉講解
#第一:公認必遵(as-path,next_hop,origin) #第二:公認任意(Local_Pref本地優先影響出戰流量,原子聚合) #第三:可選傳遞(聚合者,community團體屬性類似於tag) #第四:可選非傳遞(MED多出口鑑別器影響本地AS的入站流量,Cluster List叢集列表,起始者ID)
#A:origin 起源屬性(用來定義路徑資訊的來源) IGP(i):通過network引入的路由,會在bgp routing-table中顯示為i EGP(e):通過EGP得到的路由,會顯示為e(已不常見) Incomplete(?):通過其他方式學習到的路由資訊,表示為? 選路原則:i>e>? #三種加入BGP的方式 import 以及 路由聚合 network:直連的路由可以用這樣的方式加入(即當我們需要加入BGP的路由存在於IGP路由表中可以使用這個方式,直連) #B:as-path 路徑屬性(用於選路,用來定義經過了哪些路徑,可用於ebgp防環) #aspath抓包顯示的as記錄型別有4種, as-seq 以序列的方式進行記錄as號(普通的) as-set 用於BGP聚合時防止環路 另外兩種是用於聯盟 #C:next_hop 下一跳屬性:(有圖) 1:從IBGP學到的路由資訊,預設不會傳遞給其他IBGP對等體(正常,可以建立全互聯模型) 2:從IBGP對等體學到的路由,在傳遞給EBGP對等體時,下一跳不改變(正常) 3:從EBGP學到的路由,在傳遞給IBGP對等體時,預設下一跳不改變(不正常,會導致IBGP對等體的路由下一跳不可達),解決辦法是 #D:Local_Pref 屬性表明BGP路由資訊的優先順序,用於判斷流量離開AS時的最佳路由(華為裝置上該值越大越優先,預設是100) 1:只能在IBGP之間傳遞,影響本AS的出戰流量 #E:community 團體屬性(寫法 100:1)(用於標識具有相同特徵的BGP路由) 1:自定義團體(一般在內部傳遞) 2:公共團體屬性 Internet 網際網路屬性,只要是公共路由都帶有 No Advertise 不通告路由(若是收到帶有該值的路由資訊,不會將該路由傳遞給其他任何BGP鄰居) No Export 不外發(若是收到帶有該值的路由資訊,不會傳遞給任何EBGP鄰居) No Export Subconfed 用於聯盟,不會將該路由傳遞給聯盟EBGP(即不傳遞給普通EBGP鄰居) #F:MED多出口鑑別器,相當於鏈路cost 1:(華為預設是0)影響入站流量(注意我說的是流量不是路由),用於EBGP鄰居(華為裝置該值越小越優先),能在對端的AS內部傳遞,對端AS不能傳遞給其他AS 2:(提醒:影響入流量就是影響對方,也就是說對方AS內可以進行比較) #注意影響選路的有起源屬性,AS path ,local_pref,MED這些.其他的如commity只是控制不直接影響選路
BGP擴充套件特性
BGP十三條選路原則
#當到達同一目的地存在多條路由時,BGP依照如下策略順序進行選路 1:若此路由的下一跳不可達,則忽略該路由 2:優選協議首選值(PrefVal)最高的路由(華為私有特性) 3:優選本地優先順序(Local_Pref)最高的路由 4:優選本地生成的路由(即本地始發,本地聚合) 5:優選AS 最短的路由 6:比較起源屬性(Origin),其中 i>e>? (即network>ebgp>import) 7:優選MED值最低的路由 8:優選從EBGP鄰居學到的路由,(EBGP路由優先高於IBGP路由) 9:優選到下一跳IGP Metric較小的路由 10:優選Cluster List最短的路由(前面9條全部一樣,才可能負載均衡) 11:優選Router ID最小的路由器釋出的路由 12:比較對等體的IP address ,優選從具有較小IP address 對等體學來的路由 BGP如何實現負載均衡,前8條都沒有比較出優先還是不優先的 MED的比較只能發生在同一AS內部
BGP高階特性描述
#路由反射器(指在IBGP內,實現簡單,不改變現網拓撲) 1:根本原因:水平分割原則,中轉AS,路由黑洞 2:角色型別: RR路由反射器,client客戶機,Non-client非客戶機 3:反射規則 只要是RR上有的路由,它都能將其傳遞給所有的client 4:路由反射器-防環機制(cluster list) A:Originator ID屬性(可選非傳遞),用於叢集內的防環,由路由反射器RR產生,攜帶本地AS內該路由傳送者的Router ID. B:Cluster List屬性(可選非傳遞),用於叢集間的防環,有每個路由反射器RR產生,記錄反射路由經過的叢集. 5:路由反射器-備份RR 相同叢集中的路由反射器共享相同的Cluster ID Cluster List 的應用保證了同一AS內的不同RR之間不出現路由環路 6:路由反射器-同級RR 一個AS中可能存在多個叢集,各個RR之間是IBGP對等體關係 7:路由反射器-分級RR 將較低網路層次的RR配置成更高網路層次中RR的client #BGP聯盟(使用較少) 1:將一個AS劃分若干個子AS,每個子AS內部建立全互聯BGP鄰居關係,子AS之間建立EBG連線關係 2:聯盟-防環機制(AS_Path的記錄型別) AS_CONFED_SEQUENCE AS_CONFED_SET #路由聚合(自動聚合:只能聚合import的路由不能是network引入的) 只向對等體傳送聚合後的路由,從而縮小路由表規模 明細路由如果發生震盪,不會對網路造成影響 路由聚合分為自動聚合和手動聚合 #BGP增強特性 1:BGP ORF(Outbound Route Filtering):出向路由過濾(有圖) BGP基於字首的ORF,基於本地的入口策略構建對端的出口策略,實現BGP按需釋出路由 包括基於字首的ORF和VPN ORF 2:Active-Route-Advertise 只有當BGP路由被成功的安裝進IP路由表,該路由才能被髮送給鄰居 3:BGP按組打包 按組打包技術將所有擁有共同出口策略的BGP鄰居當作是一個打包組 每條待傳送的路由只被打包一次然後發給組內的所有鄰居 4:4位元組AS號 5:按策略進行下一跳迭代 1:通過配置路由策略來限制迭代到的路由,如果路由不能通過路由策略則該路由迭代失敗
Internet設計原理
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559985/viewspace-2653589/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 學習網路安全,這些必備基礎知識不能少!
- BGP基礎知識
- OpenStack必備基礎知識
- 網路基礎必備知識
- 零基礎如何學好大資料?必備需要學習知識大資料
- 機器學習基礎知識梳理,新手必備!(附連結)機器學習
- day04 必備基礎知識
- 網路安全基礎知識入門!網路安全學習教程
- 學習爬蟲必須學的基礎知識爬蟲
- Java初學者必備4大核心基礎知識Java
- 程式猿必備的Linux基礎知識Linux
- 效能測試必備基礎知識(二)
- Python 基礎(一):入門必備知識Python
- Python 必備面試基礎知識-3Python面試
- Python 面試必備基礎知識-1Python面試
- 程式必備區塊鏈基礎知識區塊鏈
- 零基礎入門學習Python爬蟲必備的知識點!Python爬蟲
- 雲原生學習築基 ~ 組網必備知識點 ~ DNS服務DNS
- 音視訊學習(一)-- 基礎知識準備
- 網路安全基礎知識
- 機器學習之必備知識篇機器學習
- Android基礎知識學習Android
- 前後端必備Linux基礎知識大科普後端Linux
- Docker網路配置基礎知識Docker
- python基礎必學的語法知識Python
- 學 Java 網路爬蟲,需要哪些基礎知識?Java爬蟲
- 基礎知識學習筆記筆記
- 面試中必備的網路相關知識面試
- JVM必備基礎知識(三)-- GC垃圾回收機制JVMGC
- SSH Config教程之基礎知識介紹-必備技巧
- Java入門基礎學習,成為一個Java程式設計師的必備知識Java程式設計師
- 小豬的Python學習之旅 —— 1.基礎知識儲備Python
- 多執行緒面試必備基礎知識彙總執行緒面試
- JVM必備基礎知識(一) -- 類的載入機制JVM
- JavaSE基礎知識學習—–多型Java多型
- JavaSE基礎學習知識整理大全Java
- RxJava 學習筆記 -- 基礎知識RxJava筆記
- 怎麼學習基礎知識啊?