菜鸟学习笔记----BGP基本原理
一、BPG的定義
不同區域(路由域)需求EGP,但是EGP設計太簡單最終被EGP取代;
邊界網關協議(Border Gateway Protocol,用于自治系統之間傳遞路由
BGP的特性
BGP是自治系統外部路由協議,用來AS之間傳遞信息
路徑矢量協議,從設計上避免了環路的發生
由TCP承載,端口號是179
支持CIDR和路由聚合
路由附帶豐富的屬性
只發送增量路由更新
路由過濾和路由策略
自治系統
**定義**:一組被統一管理,運行同一IGP協議的路由器組成的網絡范圍 自治系統編號自治系統編號:公有AS 1-64511私有AS 65512-65525互聯網不認,已被擴展轉發原理
BGP只負責把路由從一個AS傳遞到另一個AS;從其他AS傳遞過來的路由在本AS 內部的擴散依靠IGP BGP是路徑矢量協議,一跳是一個自治系統;當一條路由傳入某個AS,該路由的下一跳會變為上個AS的出接口地址; 當一條路由在某個AS內部路由器之間傳遞時,下一跳地址不變防環機制–水平分割
當一條路由每從一個AS傳出,會把該AS的編號按照從右往左的順序依次記錄在AS_PATH中;一個路由器從其 他AS收到一條路由通告,會檢查本路由器的AS編號是否出現在該路由器條目的AS_PATH屬性中,如果出現了則學 習該路由BGP基于TCP的179號端口
BGP協議基于TCP協議傳輸,必須手動配置鄰接關系;目的端口179
BGP一次發送完整路由表,后續發送增量更新
BGP有多種屬性可以控制路由選擇
路由過濾和路由策略
BGP術語
發送BGP的路由器成為BGP的發言者BGP Speaker
相互交換消息的BGP發言者之間稱為BGP的對等體(BGP Peer)
EBGP對等體
處于不同AS之間的BGP對等體,EBGP對等體是物理連接的,
BGP發言者從EBGP對等體獲得的路由會向它所有的BGP對等體通告(包括EBGP和IBGP)
IBGP對等體
處于同一個AS的BGP對端體是IBGP對等體
從IBGP獲得的路由不向它的IBGP對等體發布
從IBGP獲得的路由是否發布給它的EBGP對等體與BGP是否同步有關
IBGP鄰接條件
1.TCP可達,也就是能ping通,環回口鄰接
2.指定的鄰居的地址必須和該鄰居發給本路由器的報文的源地址一致,peer 1.1.1.1 connect-interface loopback0
EBGP鄰居條件
1.TCP可達,要求直連,特殊可以修改為非直連
2.建議使用直連接口的IP來建立EBGP鄰居
3.指定的鄰居的地址必須和該鄰居發給本路由器的報文的源地址一致
EBG一般使用直連接口建立鄰居,默認TTL值是1,如果要指定R-id來建立鄰居,則
bgp 100
peer 1.1.1.1 connect-interface loopback0 指定rid來建立鄰居關系
peer 1.1.1.1 ebgp-max-hop 5 指定ebgp的TTL值為5
BGP路由黑洞
由于一個AS內部邊界路由器中間的路由器沒有運行BGP而造成的數據丟失,
解決辦法
1、把BGP引入IGP
2、建立IBGP全連接(IBGP防環機制:從一個IBGP學到的路由不會傳遞給其它IBGP路由
3、路由反射器:選舉一臺路由成為反射器,只有反射器才能把IBGP學習到的路由發送給其它IBGP鄰居
4、BGP聯盟:在一個自然AS內部建立多個子AS,把部分IBGP鄰居轉換成偽EBGP鄰居
5、BGP MPLS VPN
BGP同步
實驗心得:
1.as劃分不清楚,在設置路由器as時需要嚴格按照as編號來搞,區域內的as編號一致,區域外的as不一樣
2.鄰居關系建立,as邊界路由建立兩個鄰居,一個ibgp一個ebgp,ibgp用環回口建立,ebgp用出接口建立,邊界bgp路由器建立ebgp鄰居下一跳指向對端地址(即100.1.1.1),建立ibgp鄰居下一跳指向同as區域內的Rid(即4.4.4.4),以R2喂參考
3.進入ipv4屬性設置屬性address-family ipv4
4.對每一個IBGP鄰居都要peer 鄰居 next-hop-local來指定下一跳為自己
常用命令
bgp 100 peer rid/鄰居ip as 100編號 peer 鄰居ip as 200編號 address-family ipv4peer rid鄰居 enablepeer rid next-hop-local(因為BGP的一跳是一個AS,所以需要ibgp鄰居指定的下一跳為自己,讓ibgp對等體能進行正常路由尋址)總結
以上是生活随笔為你收集整理的菜鸟学习笔记----BGP基本原理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 夺命雷公狗ThinkPHP项目之----
- 下一篇: 一些优秀的学习网站(Android)