AS的概念:
● 自治系統AS,指的是在同一個組織管理下,使用相同策略的設備的集合。
● 不用AS通過AS號區分,AS號取值範圍1-65535,其中64512-65535是私有AS號。
BGP概述
● 邊界網關協議BGP是一種實現自治系統AS之間的路由可達,並選擇最佳路由的矢量性協議。
● BGP的特點:
(1)BGP能夠承載大批量的路由信息,能夠支撐大規模網絡;
(2)BGP提供了豐富的路由策略,能夠靈活的進行路由選路,並能指導鄰居按策略發佈路由;
(3)BGP能夠支撐MPLS/VPN的應用,傳遞客戶VPN路由;
(4)BGP提供了路由聚合和路由衰減功能用於防止路由振盪,有效提高了網絡的穩定性;
(5)BGP使用TCP作爲其傳輸層協議(端口號爲179)
BGP的路徑矢量特徵
● BGP通常被稱爲路徑矢量路由協議
● 每條BGP路由都攜帶着多種路徑屬性,在各種路徑屬性中,AS_Path屬性是非常關鍵的一個。AS_Path屬性記錄了BGP路由傳遞過程中所經過的AS號,實際上它是一個AS號的列表。
● BGP路由器不接受AS_Path中包含自身AS號的路由更新。AS_Path屬性值的長短(AS號的個數)會作爲一個比較的依據,影響BGP路由選擇的決策。
BGP協議特徵
● BGP使用TCP爲傳輸層協議,TCP端口號爲179,路由器之間的BGP會話基於TCP連接而建立,使用單播更新來發送所有信息;
● 兩個建立BGP會話的路由器互爲對等體Peer,BGP對等體之間交換BGP路由表;
● BGP路由器只發送增量的BGP路由更新,或進行觸發更新,不會週期性更新;
● BGP具有豐富的路徑屬性和強大的路由策略工具。
BGP的報文類型
BGP的狀態機
BGP的工作過程
● 條件:IP可達,IGP工作完成,路由可達之後BGP才能工作
啓動配置完成後,peer間進行TCP會話的建立,3次握手完成鄰居會話建立後;BGP使用open報文建立鄰居關係,生成鄰居表;正常open報文收發一次即可;之後BGP使用update報文來進行BGP路由的共享;所有的信息可靠性由TCP保障;接收到update報文後,BGP將路由條目存儲於BGP表中;默認將最優路徑加載於路由表中;路由共享結束後,BGP正常僅keepalive報文週期保活,若路由條目發生變化進行觸發更新。
BGP Peer
● 運行BGP的路由器被稱爲BGP發言者,或者BGP路由器
● BGP對等體也叫BGP鄰居,與OSPF、RIP等協議不同,BGP的會話是基於TCP建立的。建立BGP對等體關係的兩臺路由器並不要求必須直連。
● BGP存在兩種對等體類型:EBGP及IBGP。針對這兩種對等體類型,BGP處理路由的操作存在較大差異
BGP的防環機制
● EBGP防環——依賴BGP的AS-Path屬性,當路由器收到BGP路由後,發現該路由攜帶的AS-Path屬性中含有自身的AS號,則路由器忽略該條路由;
● IBGP防環——依賴IBGP水平分割規則,路由在一個AS內部傳遞過程中,屬性默認不發生變化;爲了避免環路,存在IBGP水平分割:路由器不能將自己從IBGP對等體學習到的路由再傳遞給其他IBGP對等體。 這就導致一個AS內部所有運行BGP協議的設備均爲IBGP鄰居關係,形成對等體關係的全互聯,因爲只有這樣,才能夠確保每一個路由器都能學習到路由。而全互聯的IBGP對等體關係是需要耗費大量資源的,網絡的可擴展性、可維護性也非常差,解決方案:
1、路由反射器
2、聯邦
BGP路由通告規則
● 當存在多條路徑時,路由器只選取最優(Best)的BGP路由來使用(沒有激活負載均衡的情況下)
● BGP只把自己使用的路由,也就是自己認爲最優的路由傳遞給對等體
● 路由器從EBGP對等體學到的路由會傳遞給它所有的BGP對等體(包括EBGP和IBGP對等體)
● 路由器從IBGP對等體學到的路由不會傳遞給它的IBGP對等體(存在反射器RR的情況除外)