動態路由協議之BGP(Ⅰ)

AS:Autonomous System 自治系統,它的意義在於限制了路由更新的傳播範圍,使域內的BGP設備更快的達到收斂狀態;


因爲在互聯網中存在着數以萬臺的BGP設備,如果沒有AS的概念,那麼任何一臺設備的路由變化都有可能影響到網絡的穩定性。這是AS存在的根本意義。


現行的BGP協議爲版本4.0,支持無類路由,較之前的版本只支持有類路由,V4.0有了較大的發展。


BGPv4.0支持4字節長度的AS號,範圍是1至4294967295,當前常用的AS範圍是1至65535,其中公有AS號爲1-64511,私有AS號爲64512-65535。


BGP協議使用TCP 179(此爲目標端口號)建立會話,因此BGP協議不屬於網絡層,而是應用層。


建立BGP主要涉及到3個進程:BGP router、BGP I/O、BGP Scanner,其中BGP router爲主進程,BGP Scanner每60s掃描一次BGP表和RIB表,以確認下一跳是否可達。查看命令:show processes memory | include BGP;


正因爲BGP使用的是TCP這種面向連接的協議,因此它的可靠性很高。


BGP Speaker:配置了BGP進程的路由器等設備;


BGP Peer:設備之間形成了BGP的鄰居關係;


BGP在建立的過程當中,涉及到6種狀態和4種報文:


①6種狀態:Idle→Connect→Active→Opensend→Openreceive→Established;


②4種報文:Hello、Keepalive、Update、Notification;

wKiom1MIWLTyB2R4AAPTqgcYjKM588.jpg

成功建立起BGP鄰居最爲關鍵的因素之一,是要保證底層互通,即neighbour後面的那個IP地址,另外還有一個需要注意的地方就是:會話的發起方不能是通過默認路由達到對方的neighbour地址,但應答方可以。這裏就有一個問題:如何控制路由器成爲應答方或發起方?在BGP的進程模式下,執行neighbour ×.×.×.× transport connection-mode active/passive ,參數active即爲發起方,passive即爲應答方;


IGP是爲BGP服務的,IGP保證底層路由互通,這時BGP才能成功建立;


BGP同步規則,準確的說應該是IBGP與IGP的同步規則,即:當自己從IBGP鄰居收到路由信息後,然後再傳遞給其他的鄰居前,必須保證這些路由在IGP路由表中也存在;


BGP的屬性分類:公認強制(Origin+As-path+Next-hop)、公認自選、可選可傳遞、可選不可傳遞;


BGP的13種屬性:


wKioL1MIWTagJ3ddAAPpHgYiSio564.jpg


①權重:思科私有,隻影響本地路由器,默認值爲32768,取值範圍0至65535;


②本地優先級:隻影響本自治域的BGP設備,默認值爲100,取值範圍0至4294967295,更改默認值:(config-router)#bgp default local-preference 數值


③本地始發的路由:由自身宣告出去的路由信息;


④最短As-path:越短越優先,使用命令(config-router)#bgp maxas-limit 數值,可以控制所收路由的as-path長度;


⑤起源:IGP(origin=0)>EGP(origin=1)>Incomplete(origin=3);


⑥MED:Multi_Exit_Disc,影響於多出口或多入口的情況下,類似於METRIC概念;


⑦EBGP優於IBGP:相同的路由條目,從EBGP鄰居收到的更優先,原因是:EBGP的ad=20,IBGP的ad=200;


⑧IGP metric更小的下一跳優先:如果路由條目相同,上述7條仍無法比較出最佳路由,那麼就比較它們的下一跳誰更優先,如:下一跳地址一個是從rip學到的,另一個是從ospf學到的,毫無疑問優選通過ospf學到下一跳的那個BGP路由更新條目;


⑨負載均衡:上述8條如還未產生最佳路由,那麼在此就要執行負載均衡了,但前提是此功能你要打開,因爲默認BGP的負載均衡是關閉的,命令如下:maximum-paths [1-16]和maximum-paths ibgp[1-16] 前者爲EBGP負載均衡,後者爲IBGP負載均衡;


補充知識:


as-path長度最長爲255,as-path欺騙時最多10;


公、私有AS號相互交替出現時,通過命令remove-private-as不能達到移除私有as號的目的,且IBGP鄰居之間,此命令無效;


在進行AS欺騙時,ibgp鄰居不能通過as-prepend形成新的ibgp鄰居關係或ebgp鄰居關係;


在操作BGP時難免會出現誤操作,爲了在一定程度上防止所帶來的穩定性問題,BGP有如下措施:


①advertisement-interval:ibgp默認爲5s,ebgp默認爲30s,也就是說,路由條目在被宣告時,並不是立即就生效的,而是有一個“等待時間”;


②BGP dampening:懲罰值1000,抑制值2000,半衰期15min,釋放值750,最大抑制值12000,最大抑制時間60min(以上值都是默認值,可以更改),只在ebgp鄰居之間生效,不能單獨針對某個ebgp鄰居使用;


BGP的對等體組,可以簡化配置,並且能減少對cpu、內存的消耗;


BGP的能力capabilities:


①route refresh:相比soft-reconfiguration inbound ,能減少對CPU、內存的消耗;


②orf:nei ×.×.×.× capability orf prefix-list send/receive/both


③nsf:graceful-restart;


瞬時黑洞避免機制:防止IGP與BGP在啓動時由於時間差的存在(建立鄰居關係快慢不一樣),而導致的諸多問題,ospf和is-is就提供了一個這樣的避免機制,相關命令:max-metric router-lsa on-startup wait-for-bgp;


BGP的策略問題:


①出站策略優先順序:prefix-list/distribute-list>filter-list>route-map;


②入站策略優先順序:route-map>filter-list>prefix-list/distribute-list;


③應用於network後面的策略優先於應用於neighbour後面的策略;


EBGP鄰居的建立:


①neighbour ×.×.×.× ebgp-multihop [1-255]


②neighbour ×.×.×.× ttl-security hops [1-255];


BGP的backdoor路由:隻影響本地路由器,不涉及到鄰居,從而優選IGP路由條目;


BGP rib-failure原因:


①內存出錯;


②在IGP中存在更優的路由條目;


(待續。。。)




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