BGP邊界網關協議 之二

BGP邊界網關協議 之二

1

BGP的狀態

Idle:BGP連接的第一個狀態。在空閒狀態,BGP在等待一個啟動事件。啟動事件出現以後,BGP初始化資源,復位連接重試計時器(Connect-Retry),發起一條TCP連接,同時轉入Connect(連接)狀態。注:Start事件是一個操作者配置一個BGP的過程,或者重置一個已經存在的過程或者路由器軟件重置BGP過程引起的。

Connect:在此狀態,BGP發起第一個TCP連接,如果連接重試計時器(32秒)超時,就重新發起TCP連接,並繼續保持在Connect狀態,如果TCP連接成功,那麼向對等體發送open報文,並轉入OpenSent狀態,如果TCP連接失敗,就轉入Active狀態。

Active:在此狀態,BGP總是在試圖建立TCP連接,如果連接重試計時器(Connect-Retry)超時,就退回到Connect狀態,如果TCP連接成功,就轉入OpenSent狀態,如果TCP連接失敗,就繼續保持在Active狀態,並繼續發起TCP連接。

OpenSent:在此狀態,TCP連接已經建立,BGP也已經發送了第一個Open報文,剩下的工作,BGP就在等待其對等體發送Open報文。並對收到的Open報文進行正確性檢查,(檢查和協商參數:AS,RID,Hold Time以及Capability)如果有錯誤,系統就會發送一條出錯通知消息notification並退回到Idle狀態,如果沒有錯誤,BGP就開始發送Keepalive報文,並復位Keepalive計時器,開始計時。同時轉入OpenConfirm狀態。

OpenConfirm:在OpenConfirm狀態,BGP等待一個Keepalive報文,同時復位保持計時器,如果收到了一個Keepalive報文,就轉入Established階段,BGP鄰居關係就建立起來了。

Established:在Established狀態,BGP鄰居關係已經建立,這時,BGP將和它的鄰居們交換Update報文,同時復位保持計時器。

另外,在除Idle狀態以外的其它五個狀態出現任何Error的時候,BGP狀態機就會退回到Idle狀態。在BGP對等體建立的過程中,通常可見的三個狀態是:Idle、Active、Established。

Idle狀態下,BGP拒絕任何進入的連接請求,是BGP初始狀態。Active狀態下,BGP將嘗試進行TCP連接的建立,是BGP的中間狀態。Established狀態下,BGP對等體間可以交換Update報文、Route-refresh報文、Keepalive報文和Notification報文。

BGP對等體雙方的狀態必須都為Established,BGP鄰居關係才能成立,雙方通過Update報文交換路由信息。

2

EBGP多跳和指定更新源

IBGP對等體之間不一定是物理上直連的,只要TCP連接能夠建立即可。為了IBGP對等體路由通告的可靠性,我們一般採用Loopback接口建立IBGP鄰居關係,在這種情況下,必須指定用於建立TCP連接的接口(也是路由更新報文的源接口),也稱“源檢測”。

IBGP

直連:

peer 1.1.1.1as-number 400

非直連:

peer 1.1.1.1as-number 400

peer 1.1.1.1 connect-interface Loopback

路由器一般默認要求EBGP對等體之間是有物理上的直連鏈路,同時一般也提供改變這個缺省設置的配置命令。允許同非直連相連網絡上的鄰居建立EBGP連接,這時需要修改EBGP報文的最大跳數:

peer 1.1.1.1ebgp-max-hop [ ttl ]

EBGP:

直連:

peer 1.1.1.1as-number 400

非直連:

peer 1.1.1.1as-number 400

peer 1.1.1.1 connect-interface Loopback

peer 1.1.1.1ebgp-max-hop 255 默認為255

3

BGP路由提高

BGP的天職就是在AS之間傳遞路由信息,而不是去發現和計算路由信息。所以,路由信息需要通過配置命令的方式注入到BGP中。

成為BGP路由有兩種配置方法:通過network命令以及通過import-route命令。

一.network 命令

路由器將通過network命令將IP路由表裡的路由信息注入到BGP的路由表中,並通過BGP傳遞給其它對等體。通過network命令注入到BGP路由表裡的路由信息必須存在於IP路由表中,而且注入的路由需要嚴格匹配IP路由表中的掩碼長度。

相關命令:

network ipv4-address [ mask | mask-length ][ route-policy route-policy-name ]

缺省情況下,BGP不發佈任何本地的網絡路由。

二.import 命令

通過Import命令把其它協議的路由信息注入到BGP路由表中,通過import注入的路由信息可以結合策略共同使用。

import-route protocol [ process-id ] [ medmed | route-policy route-policy-name ]

protocol:指定可引入的外部路由協議,包括isis、ospf、static 、direct和rip。

process-id:當引入路由協議為isis、ospf或rip時,必須指定進程號。

med:引入路由的MED度量值,範圍0~65535。

route-policy-name:從其他路由協議引入路由時,可以使用該參數指定的路由策略過濾路由。

summaryautomatic自動彙總


分享到:


相關文章: