BGP → 邊界的網關協定 (Border Gateway Protocol)
自治系統(AS)
一. AS 由一個組織結構管理的網路集合
1. 16比特(2009年1月開始使用32比特的AS號)
2. 範圍從1到65535
3. 私有AS:64512〜65535
二. IANA(互聯網編號分配機構)負責分配AS號
三. IGP工作在AS內部
四. BGP用於自治系統之間
自治系統間的BGP路由
一. BGP用來提供域間的路由
二. BGP能夠確保交換無環路的路由訊息
三. BGP與IGP的工作方式不同:
1. BGP是基於策略的路由協定
2. 通過不同的BGP路徑屬性(Path Attribute)能夠控制流量
路徑向量(Path-Vector)的特點
一. BGP通告
1. 路徑
2. 網路
二. 路徑由各種屬性進行描述
三. 路徑向量算法結合了距離向量特性與AS-path防環特性
什麼時候使用BGP? 23:00
一. 當滿足以下某種場景時,應該使用BGP:
1. 該AS是一個中轉AS(Transit AS)
2. 該AS是多宿主的3. 希望控制AS間的路由策略
路由條目很多
(telnet:route-server.ip.att.net)
二. 在以下場景中,不應該使用BGP:
1. 單宿主的AS
2. 設備沒有足夠的內存和CPU資源處理BGP路由3. 對路由過濾以及BGP選路原則不熟悉
4. 鏈路頻寬不足
BGP特性 26:20
一. BGP是一種路徑向量路由協定,具有以下特性:
1. 可靠更新:BGP運行在TCP 179端口之上。
2. 增量、觸發更新。
BGP和EIGRP只有觸發更新,其他的路由協定有觸發更新和泛洪。
只要有路由變動他會更新,只更新變動的路由其他路由不變。
3. 周期性發送Keepalive消息檢測TCP連通性。
Open報文是用來建鄰居,Keepalive報文是用來維持鄰居關係。他沒有Hello包
4. 豐富的metrics (稱為路徑向量或路徑屬性)。
BGP可以通過13種方法來影響你的路徑,還有各種屬性,不同的屬性代表不同的意思,貼標籤的意思
5. 能夠適應巨型互聯網路 (例如internet)。
二. 與傳統距離向量協定對比,具有增強的特性。
BGP術語 43:40
一. AS(自治系統):由一個組織結構管轄的網路集合
二. 內部路由:在AS內使用IGP(RIP、OSPF、EIGRP等)交換路由
三. AS-AS之間路由:在AS間使用EGP交換路由
四. BGP的2種實施:
1. 內部BGP(iBGP):BGP在一個AS中使用
2. 外部BGP(eBGP):BGP在AS間使用
BGP數據庫 47:30
一. BGP鄰居表 show ip bgp summary
1. 存放BGP鄰居訊息 (BGP的鄰居可以直接相連,也可以凌空建立)
二. BGP表 show ip bgp
轉發表就像EIGRP的拓樸表,BGP叫轉發表
1. 存放從每個BGP鄰居學習的所有BGP路由訊息
2. 去往同一個目的網路可脦存在多條路徑3. 每個路徑都有相關的BGP路徑屬性
4. BGP根據這些路徑屬性選擇最好的一條 (BGP默認不進行負載均衡,通過maxi-path 2 可打開)
三. IP路由表(轉發數據庫) show ip route
1. 存放去往目的網路的最優路徑,用於報文轉發 (BGP提交的最優路由和其他路由協定的路由PK獲勝的才會放進路由表)
BGP消息類型 48:20
BGP定義以下幾種消息類型:
一. Open:其中包含Hold時間和BGP Router ID (你好,交個朋友吧)
二. Keepalive (我還活著,別不理我呀)
三. Update (有花邊新聞)
四. Notification (我不跟你玩了)
1. 檢測到錯誤時發送
2. 發送Notification消息後BGP連接關閉
BGP鄰居 51:50
一. BGP鄰居亦稱為BGP對等體 (peer)
二. 基於TCP連接
運行BGP的路由器都叫peer
上圖為二個AS五台路由器,R3和R4之間跑BGP這就叫eBGP。
R4和R5在同一個AS,他們之間要跑BGP的話就叫iBGP。
eBGP鄰居的要求
1.
不同的AS號
2. 指定鄰居
3. 網路層可達性
4. 默認情況要直連
2. 指定鄰居
3. 網路層可達性
4. 默認情況要直連
內部BGP鄰居 (iBGP)
一. 位於同一個AS的BGP鄰居
二. 要求
1. 相同的AS
2. 指定鄰居1. 相同的AS
3. 網路層可達性 (可以直連也可以是非直連)
iBGP防環機制:
一台BGP 路由器從eBGP鄰居收到路由,發給iBGP鄰居之後,iBGP鄰居收到後就不能再傳給其它任何iBGP鄰居,只能傳遞給eBGP鄰居。