學習網絡BGP必備基礎知識

原文鏈接:https://www.linuxprobe.com/huawei-bgp.html
導讀 外部網關協議,使用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必備基礎知識

原文來自:https://www.linuxprobe.com/huawei-bgp.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章