學習網路BGP必備基礎知識

夢共裡醉發表於2019-09-04
外部閘道器協議,使用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必備基礎知識學習網路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擴充套件特性

學習網路BGP必備基礎知識學習網路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:通過配置路由策略來限制迭代到的路由,如果路由不能通過路由策略則該路由迭代失敗	

學習網路BGP必備基礎知識學習網路BGP必備基礎知識

Internet設計原理

學習網路BGP必備基礎知識學習網路BGP必備基礎知識


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559985/viewspace-2653589/,如需轉載,請註明出處,否則將追究法律責任。

相關文章