這個漂亮老男人你記住了嗎?——BGP學習


複習

IGP協議(內部網關協議)

  • RIP(已淘汰)
  • OSPF
  • IS-IS

EGP協議(外部網關協議)

  • BGP
  • IGP用來計算和發現路由,BGP路由控制和路由優選(13條選路原則)
  • IGP是在自治系統(AS)內部使用,EGP是在自治系統間使用

BGP基本概述

  • BGP可以跨越多跳路由建立鄰居關係
  • 通過單播發送報文
  • 基於TCP,端口號179,爲應用層協議

BGP鄰居關係建立與配置

  • BGP基於TCP,所以建立鄰居前會先建立三次握手
  • 先啓動BGP的一端先發起TCP連接

BGP鄰居類型

EBGP

  • 外部邊界網關協議
  • 運行在不同的AS之間的BGP路由器建立的鄰居關係叫EBGP(External BGP)鄰居關係

IBGP

  • 內部邊界網關協議
  • 運行在相同AS內部的BGP路由器建立的鄰居關係爲IBGP(Internal BGP)鄰居關係
  • 在AS內部,不使單獨用BGP協議,通常是IGP+BGP

BGP配置

  • router-id 1.1.1.1指定router-id
  • bgp 300進入到自身的AS區域
  • peer 10.1.1.3 as-number 100對方的IP和AS區域
  • peer 2.2.2.2 connect-interface loopback 0指定更新源,更穩定
  • BGP是在多個站點之間傳遞路由,並不是爲了在AS內部打通路由
  • EBGP之間建鄰居一般使用直連接口
  • IBGP之間建鄰居一般使用環回口

【BGP練習實驗】

BGP鄰居關係建立

  • BGP報文格式
    • BGP報文頭部
    • OPEN報文,建立連接
    • UPDATE報文,更新路由
    • NOTIFICATION報文,通知錯誤
    • KEEPALIVE報文,維護TCP的連接
    • REFRESH報文,請求得到路由

BGP鄰居建立

  • 先建立TCP連接
  • TCP連接建立後,發送Open報文,另一端接收到報文後,會進行檢驗
  • 檢驗符合,回覆Keepalive,鄰居建立成功
  • Keepalive60s發送一次,180s收不到就認爲對端down了
  • Update路由發生變化時,會發送Update報文

BGP狀態機

BGP狀態機

  • IDLE等待觸發鄰居建立的事件
  • Connect配置好BGP後,開始建立TCP連接
    • TCP連接建立成功,進入Open-sent狀態
    • TCP連接建立失敗,進入Active狀態,重新建立TCP連接
  • open-sent向外發送OPEN報文,收到正確的報文,進入Open-confirm狀態
  • 接收到Keepalive報文,進入Established狀態,鄰居建立成功

BGP路由生成方式

  • Network,只能宣告路由表中有的路由,且與路由表中的路由完全相同
  • import,根據運行的路由協議,將路由引入到BGP路由表中,還可以引入直連和靜態路由

BGP通告原則和路由處理

  • BGP通過Network和import兩種方式生成路由,BGP鄰居關係建立後,開始將路由封裝在Update報文中通告給鄰居
  • Update報文主要用來通告可用路由和撤銷路由,Update包含:
    • 網絡層可達信息(NLRI):公佈IP前綴和前綴長度,發佈路由
    • 路徑屬性:爲BGP提供環路檢測,控制路由優先
    • 撤銷路由:描述無法到達且從業務中撤銷的路由前綴和前綴長度

BGP通告原則

  • 僅將自己最優的路由發佈給鄰居
  • 通過EBGP獲得的最優路由發佈給所有的BGP鄰居
  • 通過IBGP獲得的最優路由不會發布給其他的IBGP鄰居(水平分割,防環)
  • BGP與IGP同步(默認關閉)

BGP路由信息處理

BGP路由信息處理

  • 從BGP鄰居收到更新信息後,進行路徑選擇
  • 將路由信息,寫入本地的路由表
  • 將BGP路由表中最優的路由下發到全局路由表,爲後面的數據轉發做準備
  • 把本地的最優路由發佈給其它鄰居

在發佈最優路由之前,如果接口有策略,需要先過策略,再轉發給BGP鄰居

BGP常用屬性介紹

BGP屬性

  • 公認必遵:公共認可,並且三個屬性必須存放在Update報文中

    • Origin(起源,初始):定義路徑信息的來源。i是network引入的,?是import引入的,e是EGP引入的
    • AS_Path(AS路徑):標識AS區域號,每經過一個AS區域,AS號會附加。防止環路
    • Next_hop(下一跳):路由傳給IBGP鄰居時下一跳不變,路由傳給EBGP鄰居時,下一跳爲和對方建鄰居的地址
  • 公認任意:公共認可,可有可無的屬性

    • Local_Prefference:本地優先級。在AS內,IBGP之間傳遞路由,默認本地優先級爲100,越大越優,影響本AS出去的流量
    • MED:在兩個AS間,EBGP之間傳遞路由,默認值爲0,越小越優,影響本AS進來的流量,且只能傳遞一個AS,用於判斷流量進入AS時的最佳路由
  • 可選過渡:無論是否可以識別報文信息,都必須轉發

    • Community:團體屬性。表示路由,限定路由的傳播範圍,打標記,便於對符合相同條件的路由進行統一處理
  • 公認團體屬性:
    • Internet:缺省屬性,此路由可以通告給左右的BGP鄰居
    • No_Export:不將此路由發佈到其他AS
    • No_Advertise:不將此路由通告給其他的BGP鄰居
    • No_Export_Subconfed:聯盟中使用
  • 拓展的團體屬性:
  • 可選非過渡:不管是否可以識別報文信息,可以轉發也可以不轉發
  • BGP防環:
    • AS內防環:通過IBGP獲得的最優路由不會發布給其他的IBGP鄰居(水平分割)
    • AS間防環:AS_Path增加AS區域號

BGP選路原則

  • BGP路由器將路由通告給鄰居後,每個BGP鄰居都會進行路由優選,路由選擇有三種情況:
    • 該路由是到達目的地的唯一路由,直接優選
    • 對到達同意目的地的多條路由,優選優先級最高的
    • 對到達同同一目的地且具有相同優先級的多條路由,必須用更新的原則去選擇一條最優的

BGP13條選路原則

  • BGP計算路由優先級的13條規則:
    1. 丟棄下一跳不可達的路由
    2. 優選Preference_Value值最高的路由(私有屬性,僅本地有效)---------P
    3. 優選本地優先級(Local_Preference)最高的路由--------------------L
    4. 優選手動聚合->自動聚合->network->import->從對等體學到的---------L
    5. 優選AS_Path短的路由-------------------------------------------A
    6. 起源類型IGP->EGP->Incomplete----------------------------------O
    7. 對於來自同一AS的路由,優選MED值小的-----------------------------M
    8. 優選從EBGP學來的路由(EBGP>IBGP)------------------------------E
    9. 優選AS內部下一跳的IGP的Metric最小的路由-------------------------N
    10. 優選Cluster_List最短的路由
    11. 優選OrGinator_ID最小的路由
    12. 優選Router_ID最小的路由器發佈的路由
    13. 優選具有較小IP地址的鄰居學來的路由
  • PLLAOMEN漂亮老男人
  • PPreference_Value
  • LLocal_Preference,本地優先級
  • L手動聚合->自動聚合->network->import,爲本地始發
  • AAS_Path
  • OOrigin,起源
  • MMED
  • EEBGP優於IBGP
  • NNext-Hop,下一跳

前8條選路原則完全相同,最大負載條目大於等於2,就不會再向後比,直接負載

各種屬性對選路的影響

Preference_Value

  • Preference_Value是BGP的私有屬性,Preference_Value相當於BGP選路規則中Weight值,僅在本地路由器生效,Preference_Value值越大,越優先

聚合

  • 聚合路由優先級:手動聚合>自動聚合

EBGP鄰居的路由優於IBGP鄰居的路由

  • AS內的路由器收到IBGP和EBGP的路由,會優先選擇EBGP學習到的路由

AS內部IGP的Metric

  • 調整IGP的Cost,提升帶寬

路由策略詳細介紹

BGP路由聚合

  • BGP在AS之間傳遞路由信息,AS的數量增多,單個AS規模擴大,BGP路由表變大,帶來的問題:
    • 存儲路由表佔用大量內存資源,傳輸和處理路由信息消耗大量貸款
    • 傳輸的路由條目出現頻繁的更新和撤銷,對網絡的穩定性造成影響

BGP路由聚合的必要性

  • 將以下路由聚合
    • 10.1.8.0/24
    • 10.1.9.0/24
    • 10.1.10.0/24
    • 10.1.11.0/24

靜態

  • 靜態一般用的較少
ip route-static 10.1.8.0 22 null 0
network 10.1.8.0 22

自動聚合

summary automatic  //自動聚合,按主類聚合,掩碼爲8

手動聚合

【聚合實驗及詳細說明】

以上內容均屬原創,如有不詳或錯誤,敬請指出。
本文作者: 壞壞
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章