BGP協議(一)

  1. BGP協議概述
    BGP協議是用於自治系統AS之間的動態路由協議。
    BGP特性:
    是一種外部網關協議,與OSPF、RIP等內部網關協議不一樣,其着眼點不在於發現和計算路由,而是着眼於在AS之間控制路由的轉播和選擇最佳路由。
    BGP使用TCP做爲傳輸層協議(端口號179),提升了協議的可靠性。
    BGP 進行域間路由選擇,所以對協議的穩定性要求很高,故可用TCP協議的高可靠性來保證協議的穩定性。
    在BGP的對等體之間必須邏輯上連通,而且進行TCP鏈接;目的端口號爲179,本地端口號任意。
    BGP支持無類別域間路由CIDR。 BGP路由更新時,只發送更新路由,大減小了BGP的傳播路由所佔用的帶寬;
  2. BGP是一種距離矢量路由協議,從設計上避免了環路
    AS之間:BGP經過攜帶AS路徑信息來標記途徑的AS,帶有本地AS號的路由將被丟棄,從而避免了域間產生環路。
    AS內部:BGP在AS內學到的路由不會在AS中轉發,避免了在AS內產生環路。 即爲防止環路,BGP協議規定,路由器從IBGP學習到的路由不向它的IBGP對等體發佈。另外爲了 防止產生路由黑洞,協議還規定BGP發言者從IBGP得到的路由是否發佈給它的EBGP對等體與是否同步相關。
  3. BGP消息BGP的運行是經過消息驅動的,共有5種消息類型(Open、Update、Notification、Keeplive和Route-refresh).Open消息:是TCP創建鏈接後發送的第一個消息,用於創建BGP對等體之間的鏈接關係並進行參數協商,內容包括BGP版本、AS號、路由ID、HOLD TIME值、認證信息等。Update消息:用於在對等體之間交換路由信息。能夠發佈多條屬性相同的可達路由信息,也能夠多條不可達的路由信息。Notification消息:當BGP檢測到錯誤狀態時,就向對等體發出Notification消息,以後BGP鏈接就會中斷。Keeplive 消息:BGP會週期性地向對等體發出Keeplive消息,用來保持鏈接的有效性。Route-refresh消息:用來通知對等體本身支持路由刷新能力。4.BGP的狀態機BGP共有6種狀態機:Idle、Connect、Active、OpenSent、Openconfirm、Established.首先是Idle狀態,BGP協議一旦start,狀態機就進入Connect狀態,在Connect狀態,若Connect-Rtry定時器超時,則BGP狀態機會停留在Connect狀態。同時,BGP試圖建產TCP鏈接,若是TCP鏈接創建失敗,在BGP狀態機進入ACTIVE狀態。若TCP鏈接創建成功,則BGP狀態機直接進入Opensent狀態。在ACTIVE狀態,若TCP鏈接依然不能創建起來,那麼BGP狀態機就會一直停留在active狀態,直到TCP鏈接成功,纔會進入opensent狀態。在opensent狀態,BGP一旦收一個正確的open報文,就會進入openconfirm狀態。在openconfirm狀態,當keeplive定時器超時,BGP狀態機就會停留在openconfirm狀態。直到BGP收到keeplive報文,BGP狀態機纔會進入established,這時BGP鏈接纔算創建起來。在BGP對等體創建的過程當中,一般可見的3個狀態是:Idle、Active、Established。當BGP狀態是active時,BGP鄰居之間是沒法通告路由的,主要是由於TCP鏈接尚未創建起來,創建鄰居關係的地址之間,IGP路由不通。Established狀態,說明BGP對等體之間能夠通告路由了。
相關文章
相關標籤/搜索