AS:Autonomous System 自治系統,它的意義在於限制了路由更新的傳播範圍,使域內的BGP設備更快的達到收斂狀態;網絡
由於在互聯網中存在着數以萬臺的BGP設備,若是沒有AS的概念,那麼任何一臺設備的路由變化都有可能影響到網絡的穩定性。這是AS存在的根本意義。負載均衡
現行的BGP協議爲版本4.0,支持無類路由,較以前的版本只支持有類路由,V4.0有了較大的發展。ide
BGPv4.0支持4字節長度的AS號,範圍是1至4294967295,當前經常使用的AS範圍是1至65535,其中公有AS號爲1-64511,私有AS號爲64512-65535。spa
BGP協議使用TCP 179(此爲目標端口號)創建會話,所以BGP協議不屬於網絡層,而是應用層。3d
創建BGP主要涉及到3個進程:BGP router、BGP I/O、BGP Scanner,其中BGP router爲主進程,BGP Scanner每60s掃描一次BGP表和RIB表,以確認下一跳是否可達。查看命令:show processes memory | include BGP;rest
正由於BGP使用的是TCP這種面向鏈接的協議,所以它的可靠性很高。router
BGP Speaker:配置了BGP進程的路由器等設備;blog
BGP Peer:設備之間造成了BGP的鄰居關係;進程
BGP在創建的過程中,涉及到6種狀態和4種報文:ip
①6種狀態:Idle→Connect→Active→Opensend→Openreceive→Established;
②4種報文:Hello、Keepalive、Update、Notification;
成功創建起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種屬性:
①權重:思科私有,隻影響本地路由器,默認值爲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中存在更優的路由條目;
(待續。。。)