您好,登錄后才能下訂單哦!
外部網關協議,使用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引入的) 只向對等體發送聚合后的路由,從而縮小路由表規模 明細路由如果發生震蕩,不會對網絡造成影響 路由聚合分為自動聚合和手動聚合 https://article.pchome.net/content-2099609.html https://www.csdn.net/article/a/2019-09-02/15980449 #BGP增強特性 1:BGP?ORF(Outbound?Route?Filtering):出向路由過濾(有圖) BGP基于前綴的ORF,基于本地的入口策略構建對端的出口策略,實現BGP按需發布路由 包括基于前綴的ORF和ORF 2:Active-Route-Advertise 只有當BGP路由被成功的安裝進IP路由表,該路由才能被發送給鄰居 3:BGP按組打包 按組打包技術將所有擁有共同出口策略的BGP鄰居當作是一個打包組 每條待發送的路由只被打包一次然后發給組內的所有鄰居 4:4字節AS號 5:按策略進行下一跳迭代 1:通過配置路由策略來限制迭代到的路由,如果路由不能通過路由策略則該路由迭代失敗
Internet設計原理
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。