久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

BGP 協議原理總結

時間:2019-05-12 14:25:28下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關的《BGP 協議原理總結》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《BGP 協議原理總結》。

第一篇:BGP 協議原理總結

BGP協議原理總結

BGP協議3:

邊界網關路由協議(版本3)

RFC1267

王尚

201192339

名詞解釋:

1 AS(自治系統):在單一技術管理下的一系列路由器,他們使用一個內部網關,在AS內部路由數據包的共同標準,使用同一個外部網關協議來想其他AS傳輸數據包。因為這個經典的解釋已經被擴展,所以對于一個單一的AS來說在內部使用多個內部網關協議和有時多個系列的標準已經很普遍了。(在這里使用的AS強調了這樣的事實,即便多個內部網關協議和度量標準被使用,一個AS面向其他的AS的管理擁有一個單一的連貫一致的內部路由方案,并且展示一個始終如一的圖片,什么的網絡通過它可以到達。從外部的路由的觀點來看一個AS可以被看做一個單片集成電路:)

圖1 AS系統

IGP(內部的邊界網關協議)專門用于自治系統中的網關間交換數據流轉通道信息的協議

EGP(外部的邊界網關協議)在自治系統間的相鄰的網關主機間交換路由信息的協議。常用于在INTERNET主機間交換路由表信息。一個輪詢協議,利用HELLO和I-HEARD-YOU消息的轉換,能讓每個網關控制盒接受網絡可達性信息的速率,容許每個系統控制自己的開銷,同時發出命令請求更新響應。路由表包括一組一知路由器及這些路由器的可到達地址及路徑開銷,從而選擇最佳路由。每個路由器沒個120或者480秒訪問鄰居一次,鄰居發揮完整的路由表來響應。

IBGP(內部邊界網關協議)EBGP(外部邊界網關協議)EBGP對等體

BGP和IGP同步:一個BGP路由器不將從內部Peer得知的目的地通告給外部Peer,除非該目的地也能通過IGP得知。若一個路由器通過IGP得知該目的地,則可以認為路由能在AS中傳播,內部通達已經可以得到保證。2 3

4 5 6 7

BGP協議概述

1 BGP協議是外部路由協議,用來在AS之間傳遞路由信息。2 是一種增強的距離矢量路由協議。具有以下特點:

① 可靠的路由更新機制 3 4 5 6 7 8 9 ②

豐富的Metric度量方法 ③

從設計上避免了環路的發生 可以為路由附帶屬性信息

支持CIDR(無類別域間路由)豐富的路由過濾和路由策略

使用的傳輸層協議是TCP協議,使用的端口號是179 無需周期性的更新

周期性的發送KEEPALIVE報文驗證TCP連接的連通性 在進行路由更新時只發送路由增量

BGP路由通告原則

1 當存在多條路徑時,BGPSpeaker只選擇最優的給自己使用 2 BGPSpeaker只把自己只用的路由通告給鄰居

3 BGPSpeaker從EBPG獲得的路由會向他的所有BGP鄰居通告(包括EBGP和IBGP)

4 BGPSpeaker從IBGP獲得的路由不向它的IBGP鄰居發送

5 BGP Speaker從IBGP獲得的路由是否會通告給他的EBGP對等體要依從于IGP和BGP同步的情況來決定

6 連接一但建立,BGP Speaker將把自己所有BGP路由通告給新的鄰居

IBGP全連接

① IBGP對等體物理意義上的全連接 ② IBGP對等體邏輯意義上的全連接

BGP報文種類

1 Open:在TCP會話建立之后,兩個鄰居都將發送Open消息,每個鄰居都

利用該消息標識自己并指定BGP操作參數

2 KeepAlive:當路由器接受了由鄰居發送來的Open消息中的指定參數。

它將響應一條KeepAlive消息,此后路由器每60秒發送一條KeepAlive消息,或是以協商的保持時間的1/3為周期發送KeepAlive消息。由于KEEPALIVE純粹是一個通信知會,不需要攜帶什么信息,因此KEEPALIVE報文實際上是不帶數據的BGP報文頭。

3 Update:被用來宣告可行路由、撤銷的路由 4 Notification:只要路由器檢測到差錯就會發送Notificat

ion消息并關閉BGP進程,隨后我們將看到BGP鄰居斷開,然后試圖重新建立BGP鄰居。BGP報文頭

BGP報文的格式都是一樣的:BGP報文頭+BGP報文體

其中BGP報文頭格式如下:

圖 2 BGP報文頭 ⑴ Maker(16byte):全為1,否則標記值要使用認證機制來計算(認證機制是通過認證信息的一部分來指定的)。標記可以用來探測BGP對端的同步丟失,認證進入的BGP消息。⑵ Length(2byte)BGP報文的全長,長度值必須最少19個字節,最大4096個字節。可能更多,根據報文類型決定 ⑶ Type(1byte)1-Open

2-UPDATE

3—Notification

4KeepAlive

Open報文:

⑷ ⑸ ⑹ ⑺

圖3 Open報文頭

Version(1字節)當前BGP版本號為3 My Autonomus System(2字節):發射者自導系統號 HoldTIME(2字節):BGP的Hold time為180秒 BGPIDE NTIFIER(4字節):發送者的BGP route ID

⑻ AUTH.CODE

⑼ AUTHE NTICATIO NDATA

Update

圖 4 Update報文頭

⑽ TOTALPath AttributeSLE NGTH(2字節):總的路徑屬性長度 0代表在UPDATE消息中沒有網絡層可達信息域 ⑾ Path Attribute:路徑屬性,在一個UPDATE中可能存在多個路徑屬性對。每個路徑屬性對包括Attribute Flags,Attribute type code,Attribute Date Length 三個字段。Attribute Flags,Attribute type code 各占一個字節。

⒈ Attribute Flags的8位分別表示:

⒉ Attribute type code指明是什么屬性。

圖 5 Attribute type code屬性

⑿ Network(4字節): INTER NET NETWOR K編碼表明這個AS的路由由這個路徑屬性表明

③ KeepAlive報文

④ Notification報文

圖6 Notification報文頭 ⑴ ERRORCODE:(1字節)

⑵ Error Subcode(1字節)

⑶ Date用來診斷Notification的原因。依賴于錯誤碼和錯誤子碼。Message Length=21+data length

BGP協議中消息的使用

1 通過TCP建立BGP連接時,發送Open報文

2 連接建立后,如果路由需要發送或者路由改變時,發送Update報文告知對端路由信息

3穩定后此時要定時發送KeepAlive報文以保持BGP連接的有效性

4檔本地BGP在運行中發生錯誤時,發送Notification報文告知BGP對端 BGP有限狀態機

BGP會話共有6種狀態,分別是: 1CONNECT 3OpenSENT

5ESTABLISHED

BGP會話共有13種事件,影響BGP的會話,分別是: 1BGPStop

3BGPTransport ConnectionCLOSED

5BGPTRANSPORTFATALERROR 7HoldTimerExPIRED

9ReceiveOPENMESSAGE

11ReceiveUpdateMESSAGES

13-ReceiveNOTIFICATIONMESSAGE 1 空閑狀態 BGP通常以空閑狀態開始。在該狀態下,它拒絕接收所有入連接。當一個開始事件出現的時候,BGP初始化所有BGP資源,打開重試連接計時器(ConnectRetrytimer)、初始化到鄰居的TCP連接、接聽來自鄰居的TCP初始化消息,并將它的狀態轉到連接狀態。開始事件是由一個操作者配置一個BGP過程,或重置一個已經存在的過程,或者由路由器軟件重置BGP過程引起的。一個差錯的出現會將BGP過程的狀態轉為空閑狀態。路由器可能會試圖發起另外一個是事件。但是對于路由器如何完成這個過程應當加以限制——在具有持續差錯的條件下,堅持不懈的試圖重新開始會導致擺動。因此,在第一次轉向空閑狀態以后,路由器會啟動重試連接計時器,當計時器終止后,路由器就會放棄重新開始BGP。下一次ConnectRetry時間是前一次的兩倍,以此類推。2 連接狀態

在這種狀態下,BGP過程會等到TCP連接完成以后再決定后續動作。如果TCP連接成功,BGP連接將ConnectRetry清零,完成初始化過程,給鄰居發送一個Open消息并轉移到發送Open消息狀態。如果TCP連接建立失敗。BGP過程會繼續監聽由鄰居發起的連接、重置ConnectRetry計時器并轉移到激活狀態。

如果再連接狀態下,ConnectRetry計時器超時了,計時器將重新開始計時,并再一次試圖與鄰居建立一個TCP連接,BGP狀態繼續保持在連接狀態。任何一個其他輸入事件的出現都會導致BGP狀態轉向空閑。3 激活狀態

在這個狀態下,BGP過程試圖與鄰居建立一個TCP連接。如果TCP連接建立成功,BGP過程將ConnectRetry清零,完成初始化工作,給鄰居發送一個Open消息并轉移到發送Open消息狀態。

如果BGP在激活狀態時,ConnectRetry計時器超時,該過程回到連接狀態并且重置ConnectRetry計時器。它同樣也發起一個到對等的TCP連接并且繼續監聽來自對等得連接。如果鄰居試圖與一個未知的IP 地址建立TCP會話,那么ConnectRetry計時器會被重置,連接被拒絕并且本地過程保持在激活狀態。任何一個輸入事件(除了開始事件,在激活狀態下該事件會被忽略)都會導致狀態轉移為空閑。

4 發送Open消息狀態

在這種狀態下,已經發送了Open消息,BGP正在等待從鄰居發來的Open消息。當收到一個Open消息后,檢查該消息的所有字段。如果發現了差錯,會給它的鄰居發送一個Notification消息并且將狀態轉移到空閑。

如果再接收到的Open消息種沒有發現差錯。BGP給鄰居發送一個KeepAlive消息,并且將KeepAlive計時器置位。鄰居之間協商一個Hold時間,他們會選用較小的值。如果協商的Hold時間是0,則沒有啟動Hold和KeepAlive計時器。根據對等的AS號,決定該連接是內部的還是外部的,并且將狀態轉移到Open消息確認。

如果收到了一個TCP斷開消息,本地過程斷開BGP連接,重置ConnectRetry計時器,開始監聽將要由鄰居發起的新的連接并將狀態轉移到激活。任何一個輸入事件(除了開始事件,在激活狀態下該事件會被忽略)都會導致狀態轉移為空閑。5 Open消息確認狀態

在這種狀態下,BGP過程會等待一個KeepAlive或者Notification消息。如果收到KeepAlive消息,轉移到已建立狀態。如果收到Notification消息或者TCP斷開消息,狀態轉移到空閑。

如果Hold計時器超時,檢測到一個差錯或出現一個stop事件,BGP過程會給鄰居發送一個Notification消息并且斷開BGP連接,將狀態轉向空閑。6 已建立狀態

在這種狀態下,BGP對等之間的連接完全建立起來了,對等之間可以交換Update、KeepAlive、Notification消息。如果收到Update或者KeepAlive消息,重新啟動Hold計時器(如果協商的Hold時間是非零)。如果收到Notification消息,狀態會轉移到空閑。任何其他的事件都會導致Notification消息的發送并將狀態轉移到空閑。

BGP建立鄰居后,會通過相互發送類似hello包的數據來維持鄰居關系,這個數據包稱為KeepAlive,默認60秒發送一次,holdtimer為180秒,即到達180秒沒有收到鄰居的KeepAlive,便認為鄰居丟失,則斷開與鄰居的連接。KeepAlive發送時間間隔的推薦值為Hold計時器值餓1/3,最小為3秒。

BGP Update 消息處理

Update消息僅僅在建立狀態被接收。當一個UPDATE消息被接收,每一個域要有效性檢查。

如果可選的非轉發的屬性不認識,默認丟棄。如果可選轉發屬性不認識,屬性標志字節 設置部分位(第三個高位順序位),保留屬性公告到別的BGP Speaker。如果可選的屬性被認識,而且值有效,要根據可選參數的類型在本地處理,保留,如果必要的話,更新廣播到別的BGP發言者。

如果UPDATE消息包括非空的WITHDRAWNROUTES域,先前廣播的路由如果目的地包括在這里面需要從Adj-RIB_IN中移出來。BGPSpeaker應該運行決策過程,原因是先前的公告路由不再可用。

如果UPDATE消息包括了一個可用的路由,應該放在相應的Adj-RIB_IN內部,同時做下面的步驟:

① 如果網絡層可達信息(NLRI)和Adj-RIB_IN的路由一樣,新路由應該替換老路由,這樣明確撤銷了老路由的服務。BGP發言者運行決策過程,原因是老路由不再存在。

②如果新的路由重疊包含在Adj-RIB-IN老路由內部,BGPSpeaker應該運行決策過程,因為更特殊路由使得原來的更不特殊路由的一部分不可用了。

③如果新路由有和Adj_RIB_IN內包含的路由同樣的路徑屬性,并且更特殊。不需要做任何事情。

④如果新路由的NLRI不同于Adj-RIB-IN存儲的任何路由,新路由應該放入。BGP發言者應該運行決策進程。如果新路由是更不特別的重疊路由,BGP發言者應該運行對更不特殊的路由運行決策進程。

Ⅰ 決策過程

決策過程選擇路由用于下一步的通告,方法是應用本地策略信息庫(PIB)的策略處理Adj-RIB-IN中的路由。決策過程的輸出是廣播到對端的路由集合;被選的路由存儲在Adj-RIB-Out中。選擇過程可以定義為一個函數,給定路由的屬性作為參數,返回非負的整數指示路由的優 先級別。計算路由優先級別的函數不能把以下的情況作為輸入:別的路由的存在,別的路由的不存在,或者別的路由的路徑屬性。路由選擇對每一個可用路由運用優先程度算法,選擇最高優先程度的路由。

決策過程操作Adj-RIB-IN包括的路由中,同時負責:-選擇路由通告到本地的AS中別的BGP發言者-選擇路由通告到鄰居AS中的BGP發言者-路由聚合和路由信息簡化

決策過程分三期,通過不同的事件觸發。

⑴一期負責計算來自鄰居AS的BGP發言者的每條路有的優先級,通告到在本地AS的 別的BGP發言者到每個確定的目的地的具有最高優先級的路由。⑵二期在一期完成的時候激活。負責從到達目的地的所有路由中選擇最好的路由,同時安裝每個選擇的路由到相應的LOC-RIB。⑶在LOC-RIB修改后激活三期。負責發布LOC_RIB中的路由到鄰居AS的每個對端。路由聚合和信息簡約在這期可選的執行。PHASE1: 優先級的計算

無論何時本地的BGP發言者接受到鄰居AS的對端的通告新的路由,替代路由,測銷路由的UPDATE消息,都要激活一期決策過程,一期決策過程是獨立的過程,當沒有別的工作要做的時候就停止。一期決策功能在操作任何包含路由之前鎖定Adj-RIB-IN,在操作完成所有新的或者不可用的路由之后,解開Adj-RIB-IN。每一個新收到或者替代的可用路由,本的BGP發言者應該確定一個優先級。如果路由是通過本地AS的BGP發言者學習到的,或者LOCAL-PREF值被當作優先級,或者本地系統應該根據預先配置的策略信息計算路由優先級。如果路由通過鄰居AS中的BGP發言者學習,優先級的計算是根據預先配置的策略。策略信息的確切特性和相關計算是本地的問題。本的發言者應該云內部更新過程選擇并且通告最佳路由。PHASE2: 路由選擇

第二期決策函數在第一期完成后激活。第二期函數是獨立的過程當沒有更進一步的工作要做的時候就停止。第二期進程要考慮ADj_RIB_IN中的所有路由,包括從自己的AS中和鄰居的AS中的BGP發言者接收的路由。當運行第三期決策函數,第二期決策函數可以阻塞。第二期距測函數應該在開始函數前鎖定所有的Adj-RIB-IN,在完成后解開所有。

如果BGP路由的NEXT-HOP屬性描述了一個地址,在本地LOC-RIB中BGP發言者沒有路由,BGP發言者應該排除在第二期決策函數外面。

為了ADj_RIB_IN中的路由的每一個目的地集合,本地BGP發言者以確定路由: A)對同一個目的地集和,最高優先級的路由,或者 B)是唯一的到目的的地路由,或者 ⑶是第二期解扣規則的選擇結果。

本地發言者應該安裝路由到LOC-RIB中,替代LOC-RIB中保存的任何道相同目的地的路由。本地發言者必須根據選擇路由的NEXT-HOP屬性確定立即下一跳,通過查找IGP懸著IGP中的可能的路徑。當安裝選擇路由在LOC_RIB中,立即下一跳必須被使用。如果NEXT-HOP屬性描述的地址改變,路由選擇應該按照上面的說明重新計算。不可用的路由應該從LOC-RIB中拿出,相應的不可用路由應該從Adj-RIBs-IN拿出。解扣

在Adj-RIBs-IN中一個BGP發言者可以有多個有相同的優先級的路由到同一個目的地。本的發言者可以選擇包含在相應LOC-RIB中的一條路由。本地發言者認為所有的路由,不論是鄰居AS的BGP發言者的路由,還是本地AS的BGP發言者的路由是一樣的。

下面的解扣過程假設一個自治系統的所有AS的每一個候選路由能夠確定到NEXT-HOP屬性描述的地址的路徑代價(內部距離)。根據下面的算法解扣。A)如果本地系統配置考慮MULTI_EXIT_DISC,候選路由的MULTI_EXIT_DISC屬性不同,選擇MULTI_EXIT_DISC屬性值最小的。

B)否則,選擇到路與歐的NEXT-HOP屬性描述的入口的代價(內部距離)最小的。如果有幾個路由有相同的代價,按照下面的過程解扣

-如果最少有一個路由是通過鄰居AS的BGP發言者通告的,選擇鄰居AS的BGP發言者通告的鱸魚哦,如果BGP的標示符的值是所有鄰居AS的BGP發言者中最小的。-否則,選者BGP標示符最小的BGP發言者通告的路由。PHASE3: 路由分發

第三期路由決策過程可以被第二期的完成激活,或者下面的事件發生: A)LOC-RIB中的到本地目的地的路由改變。

B)當本地產生的通過BGP以外的方式學習的路由改變。C)當新的BGP發言者-BGP發言者連接建立。

第三期函數是獨立的過程當沒有進一步的工作去做的時候停止。第三期路由決策過程應該被阻塞,如果第二期決策過程在運行。

所有的LOC-RIB中的路由應該被處理到相應的到Adj-RIBs-Out的入口。路由聚合和信息簡約技術可選執行。為了更好支持未來的AS間多播能力,參加AS間多播路由的BGP發言者應該通告他從外部對端收到的路由同時如果安裝在Loc-RIB內,因該通告到接收路由的對端。對沒有參加AS間多播路由的BGP發言者這個通告是可選的。如果做這樣一個通告,NEXT-HOP屬性應該被設置為對端地址。應用可以優化這個通告,組合AS-PATH屬性的信息不但包括自己的AS號碼而且通告路由的對端的AS號碼(這個組合要求ORIGIN屬性被設置為INCOMPLETE)。另外,應用不需要傳遞可選的或者自決的路徑屬性在這種通告中。

當Adj-RIBs-Out更新而且轉發信息庫(FIB)完成,本地BGP發言者應該運行外部更新進程 路由覆蓋

BGP發言者可以傳送具有重疊的網絡層可達信息(NLRI)的路由到別的BGP發言者。NLRI重疊產生于一些列目的地對非匹配的多個路由是唯一的。由于BGP使用IP前綴對NLRI編碼,重疊一般要展示子網關系。路由描述了更小范圍的目的地(更長的前綴)稱為更特別路由,路由描述了更大范圍的目的地(更短的前綴)成為更一般路由。反之同樣。這種優先關系有效分解了更一般路由為兩部分: -一系列目的地,僅僅使用更一般路由描述。

-一系列路由,使用更一般和更特殊路由的重疊描述。當重疊路由發生在同樣的Adj-RIB-IN,更特殊的路由應該有優先權,順序是更特殊到更一般。重疊描述的目的地的集合表明一部分更一般路由是可用的,但是當前不可用。如果一個更特殊的路由后來撤銷了,重疊描述的目的地的集合將可以使用更一般的路由到達。

如果BGP發言者接收了重疊路由,決策過程應該考慮重疊路由的語義。特別是,如果BGP發言者接收了同一個對端的更一般的路由同時拒絕了更特殊的路由,那末重疊表示的目的地可能不轉發到路由的AS-PATH屬性列出的AS那里。因此,BGP發言者可以由下面選擇:

a)同時安裝更一般和更特殊的路由 b)只安裝更特殊的路由

c)只安裝更一般路由的非重疊部分(這意味著解聚和)d)聚合著兩條路由同時安裝聚合路由 e)安裝更一般的路由 f)都不安裝

如果一個BGP發言者選擇e),應該加入ATOMIC-AGGREGATE屬性到路由中。承載ATOMIC-AGGREGATE屬性的路由不能被解聚和。也就是說,路由的NLRI不能被是更特殊。向這個路由轉發不保證IP 包實際沿著路由的AS-PATH屬性列出的AS中轉。如果BGP發言者選擇A),必須不在通告更特殊的路由的時候通告更一般的路由。

ⅡUpdate發送過程

Update-SEND進程負責通告UPDATE消息到所有的對端。例如,他發布決策進程選擇的路由到位于同樣的自治系統或者鄰居自治系統的BGP發言者。不同自治系統的BGP發言者之間信息交換的法則.相同自治系統的BGP發言者之間信息交換的法則. 在BGP發言者集合之間的路由信息的發布,所有BGP發言者如果在同一個自治系統,稱為內部發布。內部更新

內部更新進程是發布路由信息到本地自治系統的BGP發言者。

當BGP發言者從在本地自治系統的別的BGP收到了UPDATE消息,接收BGP發言者不應該再分配UPDATE消息中的路由信息道別的本地自治系統的BGP發言者。當BGP發言者接收了鄰居自治系統的BGP發言者的一條新的路由,如果下面的情況之一發生,應該使用UPDATE消息通告路由到本的自治系統的所有的BGP發言者:

1本地BGP發言者安排給新接收的路由的優先程度高于本地發言者已經安排的接受自鄰居自治系統的別的路由的優先級

2沒有接收到別的鄰居自治系統的BGP發言者發送的路由 3新接收路由是幾個最高優先級,同樣目的的的路由解扣的結果,當BGP發言者受到了UPDATE消息,有非空的WITHDRAWNRJOUTES域,應該從Adj-RIB-IN里去掉所有的在這個域中(IP前綴表示)的目的地。發言者應該做下面的附加步驟:

1如果相應的可用路由先前沒有被通告,不需要做更多的行動。2如果相應的可用路由先前被通告,那末:

I 如果被選擇通告的新的路由和不可用路由有相同的網絡層可達信息,本的系統因該通告替代路由。

II 如果替代路由不能用于通告,BGP發言者應該包括不可用路由的目的的(IP 前綴形式)在UPDATE消息的WITHDRAWNROUTES域,因該發送這個消息到先前通告了相應的可用路由的對端。所有的通告過的可用路由因該放入相應的Adj-RIBs-Out,所有不可用的但是通告過的路由應該被從Adj-RIBs-Out清除。解扣(內部更新)

如果一個本地的BGP發言者連接到鄰居AS的幾個BGP發言者,有多個Adj-RIBs-IN和這些對段相關聯。這些Adj-RIB-IN可以包括到同一個目的的的多個等價優先級的路由,所有的路由要通告到鄰居自治系統。本的BGP發言者應該根據下面法則選擇其中一條路由:

A)如果候選路由的NEXT-HOP和MULTI-EXIT-DISC屬性不同,本地系統配置中考慮了MULTI-EXIT-DISC屬性,選擇有最低的MULTI-EXIT-DISC屬性的路由。

B)如果本的系統能夠確定候選路由中T-HOP屬性描述的實體的路徑的成本,選擇成本較低的路由。

C)在所有別的情況中,選擇通告路由的BGP發言者具有較低的BGP標示符的路由。外部更新

外部更新過程和鄰居AS的BGP發言者路由信息的發布有關。作為階段3選擇過程的一部分,BGP發言者更新他的Adj-RIBs-Out和轉發表.所有新的安裝的路由和所有新的沒有替代路由的不可用的路由要通過UPDATE消息通告到鄰居AS內部的BGP發言者。

任何位于LOC-RIB的路由,如果是不可用的應該被撤銷。在自己的AS內部如果可達地址改變應該發送UPDATE消息。控制路由流量開銷

BGP協議限制路由流量(也就是UPDATE消息),目的是減少通告UPDATE消息的帶寬和消化UPDATE消息信息的決策過程的處理能力。⑴ 路由通告的頻率

參數MinRouteAdvertisementInterval確定了BGP發言者到特定目的地的兩個路由通告之間的最小時間。這個速率限制過程是基于單個目的地的,但是這個MinRouteAdvertisementInterval值是對每一個對端設置的。

從單個BGP發言者通告可用路由到目的地集合的來自BGP發言者的兩個UPDATE消息必須至少分離MinRouteAdvertisementInterval.無疑, 只有精確保持目的地集合的計時器才能做到這一點。這是不現實的開銷。任何保證BGP發言者接受自鄰居AS通告的兩個UPDATE消息之間時間間隔的技術通告可用路由到目的的地最小間隔是MinRouteAdvertisementInterval,也要保證大于間隔的一個常量是可以接受的。

由于需要在AS內部快速收斂,本過程不能用于從本AS中別的BGP發言者發來的路由。為了避免永久黑洞,本過程不能用于明確的撤銷或者不可用路由(也就是,目的地(通過IP 前綴表示)在UPDATE消息中WITHDRAWNROUTEST域的路由)。這個過程不限制路由選擇的速率,但是僅僅限制路由通告的速率。當等待MinRouteAdvertisementInterval溢出時,如果新的路由被選擇多次, 在MinRouteAdvertisementInterval的最后最后選擇的路由被通告.⑵ 路由產生的速率

參數MINASORIGINATIONINTERVAL確定了在BGP發言者本身的AS,中報告變化的UPDATE消息的連續通告的最小間隔 JITTER

為了減少給定的BGP發言者的BGP消息產生尖峰,jITTER應該被使用于MINASORIGINATIONINTERVAL, KeepAlive,MinRouteAdvertisementInterval計時器.給定的BGP發言者應該應用同樣的jITTER數量,無論UPDATE被送到那個目的地;也就是說,jITTER不能被基于“每個對端” 使用。

引入的JITTER的數量使用相應的計數器的基本值乘以一個范圍是0。75到1的隨機因子。

路由信息的有效組織

選擇將要廣播的路由信息,一個BGP發言者可以采用幾個方法,組織信息為一個有效形式。①信息簡約

信息簡約可以在策略控制的程度上使用簡約-在信息崩潰之后,相同的策略在等價類上使用在所有的目的地和路徑。

決策進程使用下面方法可選的減少放在ADj-RIB_Out中的信息數量: A)網絡層可達信息(NLRI)

目的IP 地址可以被看作IP 地址前綴。若地址結構和在AS管理者控制下的系統能夠達成一致,有可能減少UPDATE消息中NLRI的尺寸。B)AS_PATHS(AS路徑): AS路徑信息可以表達為順序AS-SEQUENCE和無序AS-SET。S-SET可以用在路由聚合算法,描述在9。2。4。2中。他們減少了AS-PATH的尺寸,通過只列出每個AS號碼一次,無論在聚合的AS-PATH上出現了幾次。

一個AS-SET意味著NLRI列出的目的地能夠通過由AS-SET中的部分AS組成的路徑到達。AS-SET提供有效的信息來避免回環;然而使用他們可能會剪除一些潛在的有用路徑,原因是一些路徑不再被單獨通過AS-SEQUENCE的方式列出。實際使用中這不是個問題,應為一旦IP 報到達AS組的邊界,這個點上的BGP發言者更可能有更多的詳細路徑信息并能夠區分到目的地的路徑。②聚合路由信息

聚合是一個過程用來組合幾個不同的路由來廣播一個單獨的路由。聚合作為決策的一個部分發生,這樣可以減少放在AjD_RIBS_Out中路由信息的數量 聚合減少了BGP發言者存儲并且和別的BGP發言者交換的路由。路由聚合使用下面的獨立于期望類型的路徑屬性和網絡層可達信息的過程。

有下面屬性的路由不能被聚合。除非相應的屬性是唯一的MULTI_EXIT_DISC, NEXT_HOP.具有不同類型碼的路徑屬性不能被聚合在一起.一些類型碼的路徑能夠被聚合,使用下面的規則: ORIGIN屬性:如果最少一個被聚合路由它的ORIGIN指示INCOMPLETE,聚合路由ORIGIN的屬性值是IMCOMPLETE.否則,如果最少一個路由的屬性是EGP,聚合路由的屬性是EGP.在所有別的情況下ORIGIN屬性是INTERNAL.AS-PATH屬性:如果路由聚合有單一的AS-PATH屬性,聚合的路由有同樣的AS-PATH屬性.為了聚合路由屬性,我們建模AS-PATH屬性作為二元組<類型,值>,”類型”定義了路徑段的屬性(比如AS-SEQUENCE,AS_SET),”值”定義了AS號碼.如果路由被聚合有不同的AS-PATH屬性,聚合的AS-PATH屬性應該滿足:-所有在聚合AS-PATH的AS-SEQUENCE二元組應該在最早的路由集的AS-PATH中都出現.-在聚合的AS-PATH中AS-SET類型的所有的二元組應該出現在最少一個AS-PATH類型中(可以出現為AS-SET或者AS-SEQUENCE)。

-在聚合AS-PATH中任何類型AS-SEQUENCE的二元組X領先于Y,在初始的AS-PATH中,X在每一個AS-PATH中領先于Y,不論Y的類型。

-在AS-PATH中不能由同一個二元組具有相同值卻出現了兩次,不論二元組的類型。應用可以選擇任何算法只要符合這些規則。最少的一個構造應用應該能夠執行下埋嗯的算法來滿足所有的條件。

-確定最長的對所有的聚合AS-PATH屬性來說的二元組序列(如上定義)。把這個序列作為聚合后的派頭AS-PATH屬性序列。

-設置剩下的AS-PATH屬性二元組為AS-SET,把他們加入到AS-PATH后面。-如果聚合AS-PATH屬性有多個相同的二元組(不論二元組的類型),清除所有的,只留下一個通過去掉AS-PATH屬性中的AS-SET類型。

ATOMIC_AGGREGATE: 如果最少一個路由有這個路徑屬性,那末聚合后的路由應該有這個屬性。

AGGREGATOR: 聚合者屬性應該被忽略。路由選擇標準 總的來說,在幾個可替代路由中比較路由的額外法則是在本文討論問題之外的。有兩個例外。-如果新路由中AS路徑出現了本地AS,新路由不能被看作比別的路由更好的路由。如果使用這樣的一個路由,路由環路會發生。

-為了成功實現發布操作,只有具有穩定可能性的路由被選擇。這樣,一個AS必須避免使用不穩定的路由,必須不使路由自發選擇快速改變。前面句子中“不穩定”和“快速”的名詞量化需要經驗,但是原理是清楚的。產生BGP路由

一個BGP發言者可以通過某些方式(比如通過IGP)獲得的注入BGP的路由信息產生BGP路由。BGP發言者產生BGP路由應該通過決策進程來安排路由的優先級別。這些路由可以被發布到別的在本地AS的BGP發言者作為內部更新進程的一部分。在一個AS內部決定是否發送非BGP獲得的路由,取決于AS內部的環境(也就是IGP類型)而且可以通過配置來控制。

BGP路徑屬性

每個路徑屬性由1字節的屬性標志位,1字節的屬性類型,1或2字節路由屬性長度和路徑屬性數據組成。

屬性標志位:

位0:0表示此屬性必選,1表示此屬性可選。

位1:0表示此屬性為非過渡屬性,1表示此屬性為過渡屬性。

位2:0表示所有屬性均為路由起始處生成,1表示中間AS加入了新屬性。

位3:0表示路由屬性長度由1字節指示,1表示由2字節指示。

位4至位7:未用置0

位0和位1標識了BGP的4類路由屬性:

-(01)公認必選:BGP的UPDATE報文中必須存在的屬性。它必須能被所有的BGP工具識別。公認必選屬性的丟失意味著UPDATE報文的差錯。這是為了保證所有的BGP工具統一于一套標準屬性。

-(01)公認自決:能被所有BGP識別的屬性,但在UPDATE報文中可發可不發。

-(11)可選過渡:如果BGP工具不能識別可選屬性,它就去找過渡屬性位。如果此屬性是過渡的,BGP工具就接受此屬性,并把它向前傳遞給其它BGP路由器。

-(10)可選非過渡:當可選屬性未被識別,且過渡屬性也未被置位時,此屬性被忽略,不傳遞給其它BGP路由器。

路由屬性類型:

⑴ORIGIN(TYPECODE = 1,公認必選屬性)

指示此路由起始類型:

⑵AS_PATH(TYPECODE = 2,公認必選屬性)

AS路徑屬性由一系列AS路徑段(SEGMENT)組成。每個AS路徑段為一三元組<路徑段類型,路徑段長度,路徑值>。

路徑類型有:

路徑段長度用1字節表示AS號的數量,即最長為255個AS號。

路徑值為若干AS號,每個AS號為2字節。

⑶NEXT_HOP(TYPECODE = 3,公認必選屬性)

此屬性為UPDATE消息中的信宿地址所使用的下一跳。

⑷MULTI_EXIT_DISC(TYPECODE = 4,公認自決屬性)

簡稱MED屬性。為一4字節無符合整數。它在AS區域間傳播,用來幫助一個其它AS區域的BGP伙伴選擇進入本AS區域的人口。

⑸LOCAL_PREF(TYPECODE = 5,公認自決屬性)

本地優先級屬性。為一4字節無符合整數。它在AS區域內傳播,用來幫助一個本AS區域內BGP伙伴選擇進入其它AS區域的出口。

⑹ATOMIC_AGGREGATE(TYPECODE = 6,公認自決屬性)

元聚合屬性。長度為零。它表示本地BGP在若干路由中選擇了一個較抽象的(LESSSPECIFIC)路由,而沒有選擇較具體(SPECIFIC)的路由。

⑺AGGREGATOR(TYPECODE = 7,可選過渡屬性)

聚合者屬性。長度為6字節,分別為最后進行路由聚合的路由器的AS號(2字節)和IP 地址(4字節)。

第二篇:bgp綜合實驗總結

——————————————

BGP綜合實驗1

拓撲圖

袁 月

拓撲說明:

如圖,有R1-R5五臺路由器

R1,R3,R4的S0/0、S0/

1、S0/2口通過FR連接,R1為hub,幀中繼鏈路ip為10.10.134.0/24 R1,R2的F1/0口通過以太網連接,鏈路ip為10.10.12.0/24 R4,R5的s0/1口直連,網段10.10.45.0/24 每臺路由器的環回0口ip為x.x.x.x/32 R1上有lo1-lo5,ip地址為192.168.1.1/24---192.168.5.1/24 R5上有lo1-lo5,ip地址為172.16.1.1/24---172.16.5.1/24 實驗要求: 1.配置底層:

配置每臺設備的接口ip,配置完成后確保直連可達 每個路由器的環回口是X.X.X.X/32 2.配置IGP 全網運行OSPF area0,僅宣告lo0口和鏈路ip進入ospf,NBMA區域任意處理

3.建立BGP鄰居

BGP AS區域劃分如圖,按照如下規則建立對等關系.使用回環口建立鄰居.R1 peer R2 R2 peer R1,R3 R3 peer R2,R4

R4 peer R5 R5 peer R4 4.BGP 路由宣告

鄰居建立完成后,將R1和R5的lo0口宣告進入BGP,使用network命令

要求R1,R5使用適當的方式宣告各自的lo1-lo5 宣告完成后要求每臺設備的bgp轉發表可見這些路由 5.BGP路由控制

要求做出適當控制,達成下列條件,具體方法不限

1、使下列條目出現在R1的bgp表中

*> 172.16.1.0/24

2.2.2.2

0 255 2 3 i *> 172.16.2.0/24

2.2.2.2

255 10 20 2 3 ? *> 172.16.3.0/24

2.2.2.2

0

i *> 172.16.4.0/24

2.2.2.2

255 2 3 i *> 172.16.5.0/24

2.2.2.2

0 255 2 3 i

2、使下列條目出現在R5的bgp表中

*> 192.168.0.0/21

0.0.0.0

32768 2 1 i *> 192.168.1.0

4.4.4.4

0 2 1 i *> 192.168.2.0

4.4.4.4

0 2 1 i s> 192.168.3.0

4.4.4.4

0 2 1 i s> 192.168.4.0

4.4.4.4

0 2 1 i *> 192.168.5.0

4.4.4.4

0 2 1 i

3、完成后,R1,R5互相可PING通對方宣告的這些bgp路由

實驗效果: R1上查看BGP表

R5上查看BGP表

BGP綜合實驗2

拓撲圖

實驗要求如下: R1與R2為EBGP

R2與R3、R4為EBGP

R3與R4為IBGP

R3與R4、R5為EBGP 每臺路由器都有X.X.X.XX/32作為router-id

全網底層跑EIGRP 100 2 3

實驗效果:

R3和R4上查看BGP表 R3、R4學到R1上的bgp路由下一跳必須為AS100的,R5上學到的R1和R3的路由,優走R3 在R1和R5上的回環口分別是20.20.20.0/24和30.30.30.0/24,都重分布到BGP中,使其相互學到并互相連通!

R5上查看路由表

R1和R5上的lo0互相ping通

BGP綜合實驗3

拓撲圖

實驗要求如下: 1 2 3 4 5 R4上有192.168.1.0/

24、192.168.2.0/

24、192.168.3.0/

24、192.168.4.0/24和100.100.100.0/24網段,R5上有172.16.1.0/

24、172.16.2.0/

24、172.16.3.0/

24、172.16.4.0/24和50.50.50.1/32網段 R1為DR,R2和R3不參與DR選舉

每臺路由器都有x.x.x.x/24做為router-id Ospf學到的是192.168匯總和172.16的匯總以及100.100的明細路由 EIGRP不能學到192.168的路由,能學到100.100的路由 R4為AS100 R2為AS200 R5為AS300 R4只與R2建立EBGP,R5只與R2建立EBGP,R4能學到50.50.50.1/32的路由,且可達!

第三篇:BGP學習心得

首先,照我的理解,在我司路由器當中有關BGP的路由表一共有三個,可以通過以下命令分別獲取:

1: show ip bgp route;

2: show ip protocol routing;

3: show ip route(bgp);

這三條命令所看到的BGP路由表之間是怎樣的關系呢?

首先,通過show ip bgp route所看到的路由就是實實在在通過BGP鄰居學到的路由,包涵了該路由具有的所有屬性:

ZXR10#sho ip bgp route

Status codes: *valid, >best, i-internal

Origin codes: i-IGP, e-EGP, ?-incomplete

Dest Next Hop Metric LocPrf RtPrf Path

*> 3.0.0.0/8 202.138.191.29 20 9497 10026 703 80 i

* 3.0.0.0/8 210.14.0.248 100 20 9299 2914 703 80 i

*> 4.0.0.0/8 202.138.191.29 20 9497 3356 i

* 4.0.0.0/8 210.14.0.248 20 20 9299 2914 3356 i

(注:210.14.0.248是通過multi hop建立的鄰居關系,注意和下面的比較)

可以看到本路由器從兩個鄰居學到了相同的路由,其中可達,即有效的路由被標識為“ *”,而最優的路由被標識為“ >”,有關有效及最優,這牽扯到BGP路由的最優路由算法,這個將在后文中有詳細介紹。

再看看通過show ip protocol routing我們看到了什么:

ZXR10#sho ip pro routing

Protocol routes:

status codes: *valid, >best,i-internal

Dest Next Hop RoutePrf RouteMetric Protocol

*> 3.0.0.0/8 202.138.191.29 20 0 bgp-ext

* 3.0.0.0/8 210.1.66.169 20 100 bgp-ext

*> 4.0.0.0/8 202.138.191.29 20 0 bgp-ext

* 4.0.0.0/8 210.1.66.169 20 20 bgp-ext

首先注意到的是所有BGP路由的屬性都不見了,只是能通過protocl一項看到他們是通過EBGP學習到的。但實際上這個表和上面那個表還有一個最大的不同:NEXT HOP!請注意上面兩個表中用紅線表示的部分:由于210.14.0.248(AS9299)這個鄰居是multi hop的,因此第一個表看到的實際是路由的NEXT HOP屬性,而第二張表看到的才是真正的路由轉發的下一跳。我個人理解,第二張表是BGP路由和IGP整合的結果,也就是說路由器在自己的IGP路由表中查找到的第一張表中BGP路由下一跳之后形成了第二張表中BGP路由的轉發的下一跳。

接下來我們看看最后一張表,也就是全局路由表:

ZXR10#sho ip rout

IPv4 Routing Table:

Dest Mask Gw Interface Owner pri metric

3.0.0.0 255.0.0.0 202.138.191.29 fei_4/15 bgp 20 0

4.0.0.0 255.0.0.0 202.138.191.29 fei_4/15 bgp 20 0

這張表就是路由器進行轉發的全局路由表了,和上面兩張表最大的不同是到同一目的地址的路由只有一條了,也就是最優的那條了,這是因為路由器總會把最優的那條路由寫進自己的路由轉發表的。

需要注意的東東:

1:在我們自研的路由器上,雖然show ip protocol routing能看到所有的BGP路由(最優和非最優的),但是show ip protocl routing summary只能看到最優的路由條目數量,也就是實際寫近路由轉發表的路由總數。

2:show ip bgp route 命令還能看到本路由器上產生的路由,但下一跳屬性是0.0.0.0,管理距離就是這些路由響應的IGP路由的管理距離,若本路由器上采用了路由聚合,那么會看到多出來一條路由,下一跳屬性也是0.0.0.0,但這條通過聚合產生出來的路由,其管理距離為254,即無效路由。例如:

*> 203.92.8.0/21 0.0.0.0 1 i

*> 203.92.8.0/21 0.0.0.0 1 i

* 203.92.8.0/21 0.0.0.0 254 i

3:BGP中network命令的使用和OSPF大不相同,可以這么認為:BGP中network命令只是規定了一個可以通告出去的路由范圍,在這個范圍之內,如果本路由器上有相應的IGP路由,那么路由器就會生成相應的BGP路由并通告出去的。

下面我們看看BGP是如何抉擇一條最優的路由的:

BGP選路的策略:

1)如果下一跳不可達,不考慮下一跳。

就是指兩個BGP鄰居之間交換路由信息的地址必須首先IGP可達,如果不可達就壓根不會被BGP選路策略考慮!

2)優先選取有最大權重的路徑。

這是思科的私有屬性,我們不考慮!

3)如果多條路由有同樣的權重,優先選取具有最高本地優先級的路由。

根據LOCAL PREFERENCE 決定,越大越優!

4)如果多條路由有相同本地優先級,優先選取源自于本路由器上B G P的路由。

是指這樣一種情況,同一個AS內有兩個運行BGP的路由器,他們同時通告本AS的路由給其他AS,且他們之間運行了IBGP,那么在其中任意一臺路由器上關于本AS的路由就會有兩條,一條是自己產生的,一條是通過IBGP學到的,這時候路由器會優先選擇本路由器上產生的本AS路由。(其實這條規則對于路由器上全局路由表的產生和路由抉擇沒有任何意義,因為可被通告的BGP路由必是已經存在于IGP路由當中的,由于IGP的管理距離比IBGP要小,所以路由器肯定是先選擇IGP的!但是僅僅對于BGP路由的抉擇來說,這點還是有必要的,我們就接受它吧)

5)如果沒有路由是源,優先選取具有最短A S路徑的路由。

這條也好理解,由于AS-PATH屬性是必遵屬性,每條BGP路由都會攜帶這樣一個屬性,當收到的屬性以上四點都相同時,就會比較那條路由經過的AS數量,越少當然就越好!在我們的路由器當中,這點也可以用來影響外部AS對于本AS的路由選擇,例如:

如果我們的路由器連接了兩個AS:AS9299和AS9479,那么在其中一個EBGP鄰居(9479)上應用如下命令:

route-map todigital permit 10

match as-path 10

set as-path prepend 18009

ip as-path access-list 10 permit ^$ neighbor 202.138.191.29 remote-as 9497 neighbor 202.138.191.29 route-map todigitel out 這些命令的意思是在通告本AS路由給202.138.191.29(AS9479)這個鄰居的時候,在AS PATH屬性當中預先填好一個值18009,那么這時外部INTERNET上其他AS通過AS9299學到的我們AS的路由所包含的AS PATH 屬性當中就會出現兩個18009,而通過AS9299學到的我們AS的路由所包含的AS PATH屬性當中則只有一個18009。(個人認為這種應用方法比MED屬性對于外部AS的路由選擇的影響更大,因為MED只能影響鄰近AS對本AS的路由選擇,而利用PREPEND這個命令可以影響更多的AS對于本AS的路由選擇)。下面是互聯網上的一個例子:

*> 8.6.240.0/24 202.138.191.29 20 9497 701 7911 31846 31846 31846 31846 31846 i * 8.6.240.0/24 210.14.0.248 20 20 9299 2914 7911 31846 31846 31846 31846 31846 i 6)如果所有路徑具有同樣的A S長度,優先選取有最低源編碼,(I G P < E G P < I N C O M P L E T E)的路由。

這條就是比較路由是通過什么樣的方式學習到的,通過IGP學習到的被認為是更加可靠的,其次是EGP,再其次是INCOMPLETE.其中,通過IGP學到是指:通過NETWORK命令宣告的路由(記住,通過NETWORK學習到的路由必須首先存在于本路由器的IGP路由表中,不管是通過OSPF等動態路由協議學到還是通過靜態路由協議學到的);EGP現在基本用不到了,在BGP路由表中也很難看到起源是EGP的路由了,故此條可以忽略,呵呵;而INCOMPLETE則表示該路由是通過REDISTRIBUTE純動態注入到BGP路由表中的)

7)如果源編碼相同,優先選取具有最低多出口區分(M E D)的路徑。

這個屬性可以用來影響鄰接AS對于本AS的路由選擇(例如本AS和鄰近AS中的兩個路由器建立了EBGP關系,那么一旦我通告給其中一個路由器上的MED值比另外一個要小,那么很有可能將會引導那個AS出來的流量全部從MED值低的那個路由器上出來,之所以說很有可能是因為首先要比較以上的六個屬性先),但要注意的是本AS通過兩個不同的AS學到的相同路由是不會比較MED屬性的,在我們的路由器上,可以通過在BGP配置模式下用bgp always-compare-med命令強制比較來自不同AS的相同路由的MED屬性。

8)如果M E D都相同,外部路徑比內部路徑優先選取。

這條是指若從IBGP鄰居和EBGP鄰居學到了相同路由,且以上六個屬性又相同,那么就會優先選取從EBGP鄰居學到的路由。

9)如果M E D都相同,優先選取通過最近I G P鄰居的路徑。

這條是指若從兩個BGP鄰居學到的路由上面八個屬性都相同,那么就看到那個BGP鄰居所走的IGP路由最短。例如,若從兩個EBGP鄰居學到相同路由,且以上八個屬性相同,但是其中一個EBGP鄰居是多跳MULTI HOP的,而另外一個是直連的,那么本路由器肯定會先選擇直連的那個鄰居通告的路由; 10)如果M E D仍都相同,優先選取具有最低B G P路由器I D的路徑。

如果以上九條都相同了,那么路由器就會比較兩個鄰居的路由器ID了,呵呵,再比較不出來就見鬼了。

要注意的東東:

1:目前我司自研的路由器GAR,GER和T64E,T128由于平臺的原因會把第8條放到第3條首先進行比較,也就是說EBGP學到的路由比IBGP學到的路由牛!據朱磊磊說以后的版本會調整成和以上所說的選路策略一樣的。

2:另外一點需要注意的是:以上只是BGP算法所要求的,即必須在所有學到的到同一目的網段的BGP路由當中選出一條最優的路由!不論他是否真的有實際的意義(如第四條就沒有什么意義),是否會安裝到全局路由表中。

3:以上所說的BGP最優路由抉擇并不是最全的,思科上面講的條件更多,但其實對于平時應用來說上面的十條已經足夠了。

下面再說說我自己對于BGP同步的理解:

同步這個東東關注的是當一臺路由器收到IBGP鄰居所通告的路由時候會怎么處理:

1:默認情況下,我司的路由器同步是打開的,在這種情況下,路由器會檢查本路由器中通過IGP學到的路由有沒有和通過IBGP鄰居學到的同樣的路由條目:若有,則路由器會把這些IBGP路由放入自己的路由表中,并通告給存在的EBGP鄰居(IBGP鄰居之間不轉發IBGP路由);若沒有,則對這些路由不做任何處理,這時候在路由器上關于這些IBGP路由的信息只能在sho ip bgp route看到,而另外兩張表中是沒有的。

2:當通過no synchronization命令關閉同步的時候,不論路由器有沒有通過IGP學到相應的路由,都會把這些路由添加近自己的路由表中(IBGP鄰居最好配置next-hop self),并通告給自己存在的EBGP鄰居。

下面是我在網上搜到的一個實例,覺的比較透徹:

實驗理解BGP同步

BGP基本理倫:

1、由eBGP鄰居學來的信息肯定會傳給另外的eBGP鄰居。

2、由eBGP鄰居學來的信息肯定會傳給iBGP鄰居。

3、由iBGP鄰居學來的信息不會再傳給另外的iBGP鄰居。

4、由iBGP鄰居學來的信息:

1)如果同步關了,會傳給eBGP鄰居

2)如果同步開了,先查找自己的IGP。如果IGP里面有這個網絡,就把這個網絡傳給eBGP;如果IGP里面沒有這個網絡,就不會傳給eBGP鄰居。

由實驗來幫助大家理解:

初始狀態:R1、R2、R3、R4 同步都是關閉的。在所有路由器上,BGP表、路由表都有所有網絡。在R1啟動同步后

#R3、R2 BGP表、路由表沒有變。#R3、R2 BGP表、路由表沒有變。

#R1 BGP表沒有變,但路由表少了3.3.3.0/24及192.168.0.0/24。原因:R1收到R2(iBPG)的BGP信息,因而在R1BGP表沒有少以上網絡。由show run看得出,在整個AS 200內是走RIP V2(IGP),而且沒有宣告192.168.0.0/24,而網絡3.3.3.0/24與R1不是同一個AS,因而R1的路由沒有以上網絡。#R4 BGP表和路由表都沒有192.168.0.0/24及3.3.3.0/24網絡。說明R1沒有把BGP信息宣告給R4。因為沒有了BGP信息,因而R4的路由表肯定不會有以上網絡。

再說說BGP的負載均衡

其配置命令是和OSPF一樣的。但個人最初不理解的是既然BGP最優路由抉擇是一定要選出一條最優的路由,那么怎么實現負載均衡呢。實際上判斷能否進行負載均衡的策略是和選最優路由不同的。

我們自研的設備進行負載均衡的策略如下:

首先都是EBGP路由 路由學到的鄰居AS相同 路由的origin相同

路由的本地優先屬性相同

路由的as-path長度相同,其中每一個AS都對應相同

這和思科是不同的,大家如果有興趣可以看看思科的相關文檔。

第四篇:bgP后期教案

r2(config)#access-list 1 per 192.168.1.0 0.0.0.255

r2(config)#route-map aaa per 10 r2(config-route-map)#match ip add 1

r2(config)#router bgp 100 r2(config-router)#nei 1.1.1.1 route-map aaa in 只從1.1.1.1接受192.168.1.0的路由

access-list 1 deny

192.168.1.0 0.0.0.255 access-list 1 permit any

route-map aaa permit 10 match ip address 1

router bgp 200 aggregate-address 192.168.0.0 255.255.248.0 suppress-map aaa summary-only as-set

聚合過程中過濾,ACL的permit做聚合,deny不做聚合放行明細,即使加上summary-only也會放行192.168.1.0

access-list 1 permit 192.168.1.0 0.0.0.255

route-map aaa permit 10 match ip address 1

router bgp 200 aggregate-address 192.168.0.0 255.255.248.0 summary-only neighbor 4.4.4.4 unsuppress-map aaa 把我本地抑制的路由傳給4.4.4.4鄰居,且是active

!route-map aaa permit 10 set local-preference 120

router bgp 200 aggregate-address 192.168.0.0 255.255.248.0 summary-only attribute-map aaa 聚合中修改匯總路由屬性,注意盡量不和ACL連用 注意:聚合時候route-map 和att…map是同一個意思

access-list 1 deny

192.168.1.0 0.0.0.255 access-list 1 permit any!route-map aaa permit 10 match ip address 1 set metric 66

router bgp 200 neighbor 4.4.4.4 route-map aaa out 不向4.4.4.4通告192.168.1.0,但通告其他的且同時修改metric為66

access-list 1 permit 192.168.1.0 0.0.0.255 router bgp 200 distribute-list 1 in 只允許192.168.1.0的路由進來

access-list 1 permit 192.168.1.0 0.0.0.255

router bgp 200 nei 4.4.4.4 distribute-list 1 in 只允許從4.4.4.4收滿足ACL的permit流量路由

?????????????????????????????????? Access-list 1 per 172.168.1.0 0.0.0.255 Acess-list 1 per 172.168.2.0 0.0.0.255 Route-map aaa per 10 Match add 1 Aggregate-add 172.168.1.0 255.255.255.0 as-set advertise-map aaa 只通告ACL匹配的路由,且保留AS號碼

?????????????????????????????????

Prefix-list過濾:

Ip prefix-list aaa se 5 per 192.168.1.0/24 ge小于等于 le大于等于 Router bgp 100

Nei 1.1.1.1 prefix-list aaa in/out

過濾優先級

出方向:route-map過濾-----filter-list----------prefix-list 進方向:prefix-list-------filte-list-------route-map

BGP過濾表達式

1、字和元字符特殊字符

一個典型的AS_PATH過濾器如下所示:

ip as-path access-list 83 permit ^1_701_(_5646_|_1240).*

在關鍵字permit后面的字符串是一個正則表達式。

2、表1 關于AS_PATH訪問列表的正則表達式元字符特殊字符

元字符特殊字符

匹配內容

.任何單一字符,包括空格

[ ]

在方括弧中羅列的任何字符

[^]

除了在方括弧中羅列的字符外任何字符(^必須放置在字符列表之前)

internal,r RIB-failure, S Stale Origin codes: iEGP, ?-incomplete

Network

Next Hop

Metric LocPrf Weight Path *> 192.168.1.0

13.1.1.1

0

7777 100 i *> 192.168.2.0

13.1.1.1

0

8888 100 i r3(config)#

*正常route-map 下面可以同時match很多個條件在執行一個set語句

R1: Ip as-path access-list 1 per _200$ 路由源自于200 Ip prefix-list aaa per 0.0.0.0/0

我只收默認路由

Route-map aaa per 10 Match as-path 1 Match ip add prefix-list aaa Set weight 200

Route-map aaa per 20 Match ip add prefix-list aaa Set weight 100

Router bgp 213

Nei r2 route-map aaa in

Nei r3 route-map aaa in

溫和刷新

R1:

Router bgp 1` Nei 1.1.1.1 soft-reconfig inbound-------從1.1.1.1學到的路由放進自己內存,確保內存夠大,只針對EBGP鄰居生效

Clear ip bgp nei 1.1.1.1------這時不去1.1.1.1要路由了,從自己內存拿出來即可

Show ip bgp nei 1.1.1.1發現有type=2(soft)type=128(老的硬清)

Nsf技術

控制層重啟,數據轉發層繼續轉發數據,我要重啟前告訴對方這段時間我不給你發keeplive報文了,你把你我之間的TCP保持住

Router bgp 100 Bgp graceful-restart restart-time--------你等我多長時間,我在這個時間重啟完成

NSR技術-----我制造假象讓對方認為我控制層沒有問題

SSO GRES

實現兩塊引擎熱備

BGP優化

1,bgp的keeplive調整

router bgp 100 time bgp 10 30

2,如何確定收斂已完成

r3#show ip bgp nei 13.1.1.1 BGP neighbor is 13.1.1.1, remote AS 100, external link

BGP version 4, remote router ID 1.1.1.1

BGP state = Established, up for 00:01:19

Last read 00:00:19, last write 00:00:19, hold time is 180, keepalive interval is 60 seconds

Neighbor capabilities:

Route refresh: advertised and received(old & new)

Address family IPv4 Unicast: advertised and received

Message statistics:

InQ depth is 0

OutQ depth is 0

Sent

Rcvd

Opens:

Notifications:

0

0

Updates:

0

Keepalives:

Route Refresh:

0

0

Total:

Default minimum time between advertisement runs is 30 seconds

For address family: IPv4 Unicast

BGP table version 2, neighbor version 2/0-------如果相同則說明收斂完成

Output queue size: 0

Index 1, Offset 0, Mask 0x2 update-group member

Sent

Rcvd

Prefix activity:

----

----

Prefixes Current:

0

1(Consumes 52 bytes)

Prefixes Total:

0

Implicit Withdraw:

0

0

Explicit Withdraw:

0

0

Used as bestpath:

n/a

Used as multipath:

n/a

0

Outbound

Inbound

Local Policy Denied Prefixes:

--------

-------

Bestpath from this peer:

n/a

Total:

0

Number of NLRIs in the update sent: max 0, min 0

Connections established 1;dropped 0

Last reset never Connection state is ESTAB, I/O status: 1, unread input bytes: 0 Connection is ECN Disabled, Mininum incoming TTL 0, Outgoing TTL 1 Local host: 13.1.1.3, Local port: 59918 Foreign host: 13.1.1.1, Foreign port: 179 Connection tableid(VRF): 0

Enqueued packets for retransmit: 0, input: 0 mis-ordered: 0(0 bytes)

Event Timers(current time is 0x31D68): Timer

Starts

Wakeups

Next Retrans

0x0 TimeWait

0

0

0x0 AckHold

0x0 SendWnd

0

0

0x0 KeepAlive

0

0

0x0 GiveUp

0

0

0x0 PmtuAger

0

0

0x0 DeadWait

0

0

0x0 Linger

0

0

0x0 ProcessQ

0

0

0x0

iss: 368904907 snduna: 368905010 sndnxt: 368905010

sndwnd: irs: 257648202 rcvnxt: 257648357 rcvwnd:

16230 delrcvwnd:

154 16282

SRTT: 125 ms, RTTO: 1409 ms, RTV: 1284 ms, KRTT: 0 ms minRTT: 128 ms, maxRTT: 308 ms, ACK hold: 200 ms Status Flags: active open Option Flags: nagle IP Precedence value : 6

Datagrams(max data segment is 1460 bytes): Rcvd: 7(out of order: 0), with data: 4, total data bytes: 154 Sent: 7(retransmit: 1, fastretransmit: 0, partialack: 0, Second Congestion: 0), with data: 4, total d ata bytes: 102 Packets received in fast path: 0, fast processed: 0, slow path: 0 fast lock acquisition failures: 0, slow path: 0

r3#show int f0/0 FastEthernet0/0 is up, line protocol is up

Hardware is DEC21140, address is ca00.0c1c.0000(bia ca00.0c1c.0000)

Internet address is 13.1.1.3/24

MTU 1500 bytes, BW 100000 Kbit, DLY 100 usec,reliability 255/255, txload 1/255, rxload 1/255

Encapsulation ARPA, loopback not set

Keepalive set(10 sec)

Half-duplex, 100Mb/s, 100BaseTX/FX

ARP type: ARPA, ARP Timeout 04:00:00

Last input 00:00:54, output 00:00:05, output hang never

Last clearing of “show interface” counters never

Input queue: 0/75/0/0(size/max/drops/flushes);Total output drops: 0

Queueing strategy: fifo

Output queue: 0/40(size/max)-----如果都是0說明沒有更新流量,收斂完成 5 minute input rate 0 bits/sec, 0 packets/sec minute output rate 0 bits/sec, 0 packets/sec

packets input, 3764 bytes

Received 7 broadcasts, 0 runts, 0 giants, 0 throttles

0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored

0 watchdog

0 input packets with dribble condition detected

packets output, 7439 bytes, 0 underruns

0 output errors, 0 collisions, 1 interface resets

0 babbles, 0 late collision, 0 deferred

0 lost carrier, 0 no carrier

0 output buffer failures, 0 output buffers swapped out

3修改MSS為1460,雙方都要配置

Ip tcp path-mtu-discovery age-timer 30------得到的數值可以保留多久,沒有這個參數默認10分鐘

5,接口隊列長度,防止ACK回來時候優于接口隊列太小引起丟棄,接口丟棄5%的包,TCP性能下降50%,建議設置1000 Int f0/0 Hold-queue 1000 in Hold-queue 1000 out

6,bgp scanner掃描時間,每60秒檢查下一條可達性,檢查條件通告路由是不是滿足條件,執行BGP懲罰機制,不建議修改

Rouer bgp 100

Bgp scan-time 50 r3(config)#do show ip bgp sum BGP router identifier 3.3.3.3, local AS number 200 BGP table version is 3, main routing table version 3 2 network entries using 240 bytes of memory path entries using 104 bytes of memory 3/2 BGP path/bestpath attribute entries using 372 bytes of memory 1 BGP AS-PATH entries using 24 bytes of memory 0 BGP route-map cache entries using 0 bytes of memory 0 BGP filter-list cache entries using 0 bytes of memory Bitfield cache entries: current 1(at peak 1)using 32 bytes of memory BGP using 772 total bytes of memory BGP activity 2/0 prefixes, 2/0 paths, scan interval 60 secs Neighbor

V

AS MsgRcvd MsgSent

TblVer InQ OutQ Up/Down State/PfxRcd 13.1.1.1

0

0 00:30:14

7,EBGP通告時間,如果bgp路由表很大盡量不要修改,雖然可以增加收斂,但是CPU很快耗盡;ibgp默認0秒,EBGP默認30秒

r3(config)#router bgp 200 r3(config-router)#nei 13.1.1.1 advertisement-interval 30

r3#show ip bgp nei 13.1.1.1 BGP neighbor is 13.1.1.1, remote AS 100, external link

BGP version 4, remote router ID 1.1.1.1

BGP state = Established, up for 00:02:31

Last read 00:00:31, last write 00:00:31, hold time is 180, keepalive inter

Neighbor capabilities:

Route refresh: advertised and received(old & new)

Address family IPv4 Unicast: advertised and received

Message statistics:

InQ depth is 0

OutQ depth is 0

Sent

Rcvd

Opens:

Notifications:

0

0

Updates:

Keepalives:

Route Refresh:

0

0

Total:

Default minimum time between advertisement runs is 30 seconds

For address family: IPv4 Unicast

BGP table version 3, neighbor version 3/0

Output queue size: 0

Index 1, Offset 0, Mask 0x2 update-group member

Sent

Rcvd

Prefix activity:

----

----

Prefixes Current:

1(Consumes 52 bytes)

Prefixes Total:

Implicit Withdraw:

0

0

Explicit Withdraw:

0

0

Used as bestpath:

n/a

Used as multipath:

n/a

0

Outbound

Inbound

Local Policy Denied Prefixes:

--------

-------

Bestpath from this peer:

n/a

Total:

0

Number of NLRIs in the update sent: max 1, min 1

Minimum time between advertisement runs is 600 seconds

Connections established 2;dropped 1

Last reset 00:02:33, due to User reset Connection state is ESTAB, I/O status: 1, unread input bytes: 0 Connection is ECN Disabled, Mininum incoming TTL 0, Outgoing TTL 1 Local host: 13.1.1.3, Local port: 45132

Foreign host: 13.1.1.1, Foreign port: 179 Connection tableid(VRF): 0

Enqueued packets for retransmit: 0, input: 0 mis-ordered: 0(0 bytes)

Event Timers(current time is 0x2A3D30): Timer

Starts

Wakeups

Next Retrans

0

0x0 TimeWait

0

0

0x0 AckHold

0

0x0 SendWnd

0

0

0x0 KeepAlive

0

0

0x0 GiveUp

0

0

0x0 PmtuAger

0

0

0x0 DeadWait

0

0

0x0 Linger

0

0

0x0 ProcessQ

0

0

0x0

iss: 665239953 snduna: 665240146 sndnxt: 665240146

sndwnd: 16192 irs: 3831860571 rcvnxt: 3831860764 rcvwnd:

16192 delrcvwnd:

192

SRTT: 182 ms, RTTO: 1073 ms, RTV: 891 ms, KRTT: 0 ms minRTT: 48 ms, maxRTT: 300 ms, ACK hold: 200 ms Status Flags: active open Option Flags: nagle IP Precedence value : 6

Datagrams(max data segment is 1460 bytes): Rcvd: 10(out of order: 0), with data: 5, total data bytes: 192 Sent: 8(retransmit: 0, fastretransmit: 0, partialack: 0, Second Congestion: ata bytes: 192

Packets received in fast path: 0, fast processed: 0, slow path: 0 fast lock acquisition failures: 0, slow path: 0 r3#

限制從鄰居收到的路與條目:

r1(config-router)#nei 1.1.1.1 maximum-prefix 10000 warning-only

超過10000條告警一次

r1(config-router)#nei 1.1.1.1 maximum-prefix 10000 restart 5

超過10000條,斷開鄰居5分鐘

r1(config-router)#nei 1.1.1.1 maximum-prefix 10000 70

默認收到75%告警一次

Peer group 加快收斂 簡化配置

一個的邊界連接多個鄰居,使用統一的策略,如不用這個特性,IOS為每一個鄰居做單個的update更新,建立一個group將多個鄰居放進一個group,一個update可為peer group所有鄰居生效

限制:出去的update是一致的

IBGP和EBGP不能合起來用

創建一份:屬性值通告,update-source的IP地址,EBGP多跳,MED5認證,鄰居的權重值,filter-list和前綴列表過濾,route-map策略集合,通告給鄰居

R7:

Router bgp 100 Nei ebgp

peer-group Nei ibgp

peer-group

Nei 17.1.1.1 peer-group ebgp

Nei 27.1.1.2 peer-group ebgp

Nei ebgp remote 200

Nei ebgp route-map aaa out/in

Nei ibgp remote-as 100 Nei ibgp up lo 1 Nei ibgp next-hop-seif Nei 88.1.1.1 peer-group ibgp

第五篇:BGP協議實現的單IP雙線路

用BGP協議實現的單IP雙線路

BGP(邊界網關協議)協議主要用于互聯網AS(自治系統)之間的互聯,BGP的最主要功能在于控制路由的傳播和選擇最好的路由。中國網通與中國電信都具有AS號(自治系統號),全國各大網絡運營商多數都是通過BGP協議與自身的AS號來互聯的。使用此方案來實現雙線路需要在CNNIC(中國互聯網信息中心)申請IDC自己的IP地址段和AS號,然后通過BGP協議將此段IP地址廣播到網通、電信等其它的網絡運營商,使用BGP協議互聯后網通與電信的所有骨干路由設備將會判斷到IDC機房IP段的最佳路由,以保*網通、電信用戶的高速訪問。

使用此方案具體以下優點:

1. 服務器只需要設置一個IP地址,最佳訪問路由是由網絡上的骨干路由器根據路由跳數與其它技術指標來確定的,不會對占用服務器的任何系統資源。服務器的上行路由與下行路由都能選擇最優的路徑,所以能真正實現高速的單IP雙線訪問。

2. 由于BGP協議本身具有冗余備份、消除環路的特點,所以當IDC服務商有多條BGP互聯線路時可以實現路由的相互備份,在一條線路出現故障時路由會自動切換到其它線路。

3. 使用BGP協議還可以使網絡具有很強的擴展性可以將IDC網絡與其他運營商互聯,輕松實現單IP多線路,做到所有互聯運營商的用戶訪問都很快。這個是雙IP雙線無法比擬的。雖然BGP方案是最好的解決方案但由于此方案需要IDC提供商的設備投入與帶寬投入方面較大并且技術上較為復雜,所以目前國內采用此方案僅限于實力較強的專業IDC服務商。綜上所述,以上各種雙線實現的方式各有優缺點,雙IP雙線成本較低,但網絡不夠穩定并且占用大量的服務器資源,普通單IP雙線路只是實現了部分雙線路的效果所以訪問速度不佳,CDN方式對靜態網頁效果很好但對交互性很強的網頁效果不太理想,BGP單IP雙線路解決了以上所有的問題是最好的實現方式但國內采用此種方案的IDC服務商較少,如果能將BGP單IP雙線與CDN加速結合起來將會是最優的解決方案。目前全國已有不少合用BGP技術方案的數據中心,但大多為特殊客戶提供服務,很少有針對普通用戶和IDC商的機房。鄭州市景安互聯網數據中心,經過長達兩年的技術積累和準備工作,在取得多方面支持下,申請成功了自己的IP段,和自制域,并與電信、網通達成BGP互聯協議,在今年五月份正式向全國普通用戶和IDC供應商推出了BGP服務器的機房,使國內最尖端的互聯解決方案走向每個使用互聯網的人。并在7月初實現了長寬的BGP,達到三線互通。在8月中旬與鐵通的互通。景安單IP四網互通,您投資互聯網的最佳方案。

下載BGP 協議原理總結word格式文檔
下載BGP 協議原理總結.doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,未作人工編輯處理,也不承擔相關法律責任。如果您發現有涉嫌版權的內容,歡迎發送郵件至:645879355@qq.com 進行舉報,并提供相關證據,工作人員會在5個工作日內聯系你,一經查實,本站將立刻刪除涉嫌侵權內容。

相關范文推薦

    個人吐血BGP經驗總結(上)

    BGP 簡介 BGP 屬于路徑矢量協議 他和距離矢量路由協議的區別是: 距離矢量強調的是一個距離,即下一跳路由器,因為一臺路由器下一跳地址總是他的鄰居路由器 路徑矢量強調的是一個......

    計算機網絡原理一位滑動窗口協議

    計算機網絡原理一位滑動窗口協議 一位滑動窗口協議是指發送窗口和接收窗口尺寸都是1。也就是說發送端在未接收到確認前只能發1數據幀;接收方也只能接收落在當前窗口內的1數據......

    關于金字塔原理一些總結

    關于金字塔原理一些總結 《金字塔原理》告訴我們,在寫作時,要先有結論,然后再把結論的理由一層一層的展開,人們要想知道結論的理由就要往下看。其實,我們在平時的寫作中也或多或......

    化工原理總結

    化工原理總結 張曉陽 2013-2015年度 第一章 流體流動 1.牛頓黏性定律 2.流體靜力學的方程運用: (1)測壓力:U管壓差計,雙液U管微壓差計 (2)液位測量。 (3)液封高度的測量。 3.湍流和層......

    遙感原理總結(定稿)

    名詞解釋 1.遙感:遙感即遙遠感知,是在不直接接觸的情況下,對目標或自然現象遠距離探測和感知的一種技術.一般指的是電磁波遙感.p1 2.電磁波:根據麥克斯韋電磁場理論,變化的電場......

    金融學原理總結

    金融學原理1-1 金融供求及其交易源于社會各部門的經濟活動"2-1 貨幣與商品伴生,使商品交換發展的必然產物." 2-2 交換媒介是貨幣最基本的職能"3-1 一國國際收支逆差時,該國......

    數據庫原理總結

    1關系的范式及規范化 范式是衡量關系模式優劣的標準。范式級別越高,其數據冗余和操作異常現象就越少。第一范式:如果一個關系模式R的所有屬性都是不可分的基本數據項,則這個關......

    德育原理總結

    第一章德育的意義與任務 一、德育的意義 1. 加強德育使青少年健康成長的迫切需要。2. 加強德育是實現教育目標的需要(教育目標是培養德智體美勞全面發展的人,教育培養出來的......

主站蜘蛛池模板: 国产三级无码内射在线看| 欧美中日韩免费观看网站| 狠狠亚洲婷婷综合色香五月排名| 亚洲无码视频在线观看| 欧美老肥熟妇多毛xxxxx| 久久精品成人免费观看| 久久精品无码精品免费专区| 国产黑色丝袜在线播放| 欧美成人aaa片一区国产精品| 欧美乱妇日本无乱码特黄大片| 东北少妇不戴套对白第一次| 性一交一乱一伦一色一情| 国产绳艺sm调教室论坛| 99久久人妻无码精品系列蜜桃| 久热这里只有精品99在线观看| 亚洲国产精品无码中文字app| a片在线免费观看| 手机成亚洲人成电影网站| 久久er99国产精品免费| 国产一区二区三区不卡av| 亚洲理论在线a中文字幕| 国产精品亚洲а∨天堂2021| 亚洲国产日韩欧美综合另类bd| 午夜成人福利| 亚洲av电影天堂男人的天堂| 三级无码在钱av无码在钱| 亚洲成av人片在线观看天堂无码| а√天堂资源8在线官网在线| 亚洲不卡av一区二区无码不卡| 精品无码日韩一区二区三区不卡| 亚洲麻豆av成本人无码网站| 国产精欧美一区二区三区| 久久精品国产字幕高潮| 久久久喷潮一区二区三区| 一道久在线无码加勒比| 天堂在/线中文在线资源 官网| 欧美色综合天天久久综合精品| 永久免费的av在线网无码| 亚洲色成人网站www永久| 亚洲国产综合精品中文第一| 成人亚洲欧美成αⅴ人在线观看|