BGP概述及基础配置
BGP概述及基礎配置
- 一、BPG基本概述
- 1.1、BGP路由協議的特點
- 1.2、BGP分類:
- 1.3、BGP的路由器號(Router-ID):
- 二、BGP的基本參數內容
- 2.1、BGP的五種報文
- 2.2、BGP的六種狀態機
- 2.3、BGP對等體之間的交互原則
- 三、BGP的參數配置
一、BPG基本概述
IGP與BGP的工作場景
IGP:內部網關路由協議,運行在AS內部路由協議,主要解決AS內部的選路問題,發現、計算邊路 BGP:外部網關路由協議,運行在AS與AS之間的路由協議,它解決AS之間的選路問題AS的概念
- 自治系統(Autonomous System,AS),指的是在同一組織管理下、使用相同策略的設備的集合。 - 不同AS通過AS號區分,AS號取值范圍1-65535,其中64512-65535是私有AS號。IANA負責AS號的分發。1.1、BGP路由協議的特點
- BGP能夠承載大批量的路由信息,能夠支撐大規模網絡。
- BGP使用TCP作為其傳輸層協議(監聽端口號為179),提高了協議的可靠性
- BGP是外部路由協議,用來在AS之間傳遞數據,對穩定性要求非常高。因此用TCP協議的高可靠性來保證BGP協議的穩定性。
- BGP對等體之間必須邏輯上連通,并進行TCP連接。目的端口號為179,本地端口號任意。
- BGP對等體和IGP對等體不同,BGP對等體(peer)是指使用TCP簡歷里連接的兩端,而非與IGP同概念的直連鄰居,只要TCP能夠建立連接不需要直連。
- BGP本身只負責控制路由,數據轉發依然靠靜態或IGP路由。
- BGP支持無類別域間路由CIDR。
- 路由更新時,BGP只發送更新的路由,大大減少了BGP傳播路由所占用的寬帶,適用于在Internet上傳播大量的路由信息。
- BGP是一種增強的距離矢量路由協議,從設計上避免了環路的發生。
- AS之間:BGP通過攜帶AS_Path信息標記途徑的AS,帶有本地的AS號的路由將被丟棄,從而避免了域間產生環路。
- AS內部:BGP在AS內學到的路由不會再通告給AS內的BGP鄰居,避免AS內產生環路。
- BGP提供了豐富的路由策略,能夠對路由實現領過的過濾和選擇。
- GBP提供了防止路由振蕩的機制(路由衰減),有效提高了Internet網絡的穩定性。
- BGP易于擴展,能夠適應網絡新的法陣(ipv4單/組播、vpv4單/組播)。主要是通過TLV進行擴展。
1.2、BGP分類:
BGP按照運行方式分為EBGP(External/Exterior BGP)和IBGP(Internal/Ir terior BGP)
- EBGP:運行于不同As之間的BGP稱為EBGP。為了防止AS間產生環路,當BGP設備接收EBGP對等體發送的路由時,會將帶有本地AS號的路由丟棄。
- IBGP:運行于同一AS內部的BGP稱為IBGP。為了防止AS內產生環路,BGP設備不將從IBGP對等體學到的路由通告給其他IBGP對等體,并與所有IBGP對等體建立全連接。為了解決IBGP對等體的連接數量太多的問題,BGP設計了路由反射器和BGP聯盟。
1.3、BGP的路由器號(Router-ID):
BGP的Router-ID是一個用于標識BGP設備的32位值,通常是IPv4地址的形式, 在BGP會話建立時發送的Open報文中攜帶。對等體之間建立BGP會話時, 每個BGP設備都必須有唯一的Router ID,否則對等體之間不能建立BGP連接。 BGP的router-ID在BGP網絡中必須是唯一的,可手動配置,也可以讓設備自動選擇。缺省情況下,BGP選擇設備上的lookback接口的IPv4地址作為BGP的router-ID。 一旦選出Router-ID,除非發生接口地址刪除等事件,否則即使配置了更大的地址,也保持原來的Router-ID。二、BGP的基本參數內容
2.1、BGP的五種報文
**BGP對等體之間通過以下5種報文進行交互,其中Keepalive報文為周期性發送,其余報文為觸發式發送 **
| Open報文 | 協商BGP對等體的各項參數,建立BGP對等鏈接 | Open是TCP連接建立后發送的第一個報文 |
| Update報文 | 用于在對等體之間交換路由信息 | 建立連接后,有路由需要發送或路由變化時,發送Update通告對端可達或者撤銷路由信息及路徑屬性 |
| Notification報文 | 用于中斷BGP連接 | 當BGP在運行中發現錯誤時,發送Notification報文通告BGP對端,隨后與之相關的鄰居關系將被關閉 |
| Keepalive報文 | 用于保持BGP | 定時發送Keepalive報文以保持BGP對等體關系的有效性。 相應收到的正確Open報文 |
| Router-refresh報文 | 用于在改變路由策略后請求對等體重新發送路由信息,只有支持路由刷新能力的BGP設備會發送和相應此報文 | 當路由策略發生變化時,觸發請求對等體重新通告路由 |
2.2、BGP的六種狀態機
BGP對等體的交互過程中存在6種狀態機:空閑(Idle)、鏈接(Connect)、活躍(Active)、Open報文已發送(OpenSent)、Open報文已確認(OpenConfirm)和鏈接已建立(Established)。在BGP對等體建立的過程中,通常可見三個狀態是:Idle、Active和Established。
Idle狀態是BGP初始狀態。在Idle狀態下,BGP拒絕鄰居發送的連接請求。 只有在收到本設備的start事件后,BGP才開始嘗試和其它BGP對等體進行
TCP連接,并轉至Connect狀態。
在Connect狀態下,BGP啟動連接重傳定時器(Connect Retry),等待TCP完成連接。·
·如果TCP連接成功,那么BGP向對等體發送Open報文,并轉至Opensent狀態。 ·如果TCP連接失敗,那么BGP轉至Active狀態,反復嘗試連接。 ·如果連接重傳定時器超時,BGP仍沒有收到BGP對等體的響應,那么BGP繼續嘗試和其它BGP對等體進行TCP連接,停留在Connect狀態。在Active狀態下,BGP總是在試圖建立TCP連接。
·如果TCP連接成功,那么BGP向對等體發送Open報文,關閉連接重傳定時器, 并轉至OpenSent狀態。 ·如果TCP連接失敗,那么BGP停留在Active狀態。 ·如果連接重傳定時器超時,BGP仍沒有收到BGP對等體的響應,那么BGP轉至C onnect狀態。在OpenSent狀態下,BGP等待對等體的Open報文,并對收到的Open報文中的的AS號、版本號、認證碼等進行檢查。
·如果收到的Open報文正確,那么BGP發送Keepalive報文,并轉至OpenConfirr m狀態。 ·如果發現收到的Open報文有錯誤,那么BGP發送Notification報文給對等體, 并轉至Idle狀態。在OpenConfirm狀態下,BGP等待Keepalive或Notification報文。如果收到 Keepalive報文,則轉至Established狀態,如果收到Notification報文
則轉至Idle狀態。
在Established狀態下,BGP可以和對等體交換Update、 Keepalive、 Route-refresh報文和Notification報文。
·如果收到正確的Update或Keepalive報文,那么BGP就認為對端處于正常運行狀態,將保持BGP連接。 ·如果收到錯誤的Update或Keepalive報文,那么BGP發送Notification報文通知對端,并轉至Idle狀態。 ·如果收到Notification報文,那么BGP轉至Idle狀態。 ·如果收到TcP拆鏈通知,那么BGP斷開連接,轉至Idle狀態。.Route-refresh報文不會改變BGP狀態。2.3、BGP對等體之間的交互原則
BGP設備將最優路徑加入BGP路由表,形成BGP路由。BGP設備與對等體建立鄰居關系后,采取以下交互原則
- 從IBGP對等體獲得的BGP路由,BGP設備只發布給它的·EBGP對等體- 從EBGP對等體獲得的BGP路由,BGP設備發布給它所有的EBGP和IBGP對等體- 當存在多條到達同意目的地址的有效路由時,BGP設備只講最優路由發布給對等體- 路由更新時,BGP設備只發送更新的BGP路由- 所有對等體發送的路由,BGP設備都會接收- 所有EBGP對等體在傳遞過程中嚇一跳改變- 所有IBGP對等體在傳遞過程中嚇一跳不變- 默認EBGP傳遞時TTL值為1- 默認IBGP傳遞時TTL值為255三、BGP的參數配置
七個路由器配置動態路由
配置bgp
R1
R2
R3
BGP
IBGP
R4
R5
R6
R7
總結
以上是生活随笔為你收集整理的BGP概述及基础配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 夺命雷公狗—玩转SEO---54---网
- 下一篇: 三子棋之VS人工智能/人工智障,你能赢吗