有關於BGP的小知識!

2021-10-04 02:25:46 字數 2587 閱讀 2405

背景資訊

bgp協議本身不發現路由,因此需要將其他路由(如igp路由等)引入到bgp路由表中,從而將這些路由在as之內和as之間傳播。

1、配置bgp引入路由
bgp協議支援通過以下兩種方式引入路由:

import方式:按協議型別,將rip路由、ospf路由、isis路由等協議的路由引入到bgp路由表中。為了保證引入的igp路由的有效性,import方式還可以引入靜態路由和直連路由。

network方式:逐條將ip路由表中已經存在的路由引入到bgp路由表中,比import方式更精確。

2、配置md5認證
bgp使用tcp作為傳輸協議,只要tcp資料報的源位址、目的位址、源埠、目的埠和tcp序號是正確的,bgp就會認為這個資料報有效,但資料報的大部分引數對於攻擊者來說是不難獲得的。為了保證bgp協議免受攻擊,可以在bgp鄰居之間使用md5認證或者keychain認證來降低被攻擊的可能性。其中md5演算法配置簡單,配置後生成單一密碼,需要人為干預才可以更換密碼。

執行命令peer password ,配置md5認證密碼。

3、配置bgp gtsm功能
為防止攻擊者模擬真實的bgp協議報文對裝置進行攻擊,可以配置gtsm功能檢測ip報文頭中的ttl值。根據實際組網的需要,對於不符合ttl值範圍的報文,gtsm可以設定為通過或丟棄。當配置gtsm預設動作為丟棄時,可以根據網路拓撲選擇合適的ttl有效範圍,不符合ttl值範圍的報文會被介面板直接丟棄,這樣就避免了網路攻擊者模擬的「合法」bgp報文攻擊裝置。

4、配置bgp路由反射器
在as內部,為保證ibgp對等體之間的連通性,需要在ibgp對等體之間建立全連線關係。當ibgp對等體數目很多時,建立全連線網路的開銷很大。使用路由反射器rr(route reflector)可以解決這個問題。

集群id用於防止集群內多個路由反射器和集群間的路由環路。當乙個集群裡有多個路由反射器時,必須為同乙個集群內的所有路由反射器配置相同的集群id。

如果路由反射器的客戶機之間重新建立了ibgp全連線關係,那麼客戶機之間的路由反射就是沒有必要的,而且還占用頻寬資源。此時可以配置禁止客戶機之間的路由反射,減輕網路負擔。

在乙個as內,rr主要有路由傳遞和流量**兩個作用。當rr連線了很多客戶機和非客戶機時,同時進行路由傳遞和流量**會使cpu資源消耗很大,影響路由傳遞的效率。如果需要保證路由傳遞的效率,可以在該rr上禁止bgp將優選的路由下發到ip路由表,使rr主要用來傳遞路由。

*屬性*

origin屬性

origin屬性用來定義路徑資訊的**,標記一條路由是怎麼成為bgp路由的。它有以下3種型別:

igp:具有最高的優先順序。通過network命令注入到bgp路由表的路由,其origin屬性為igp。

egp:優先順序次之。通過egp得到的路由資訊,其origin屬性為egp。

incomplete:優先順序最低。通過其他方式學習到的路由資訊。比如bgp通過import-route命令引入的路由,其origin屬性為incomplete。

as_path屬性

as_path屬性按向量順序記錄了某條路由從本地到目的位址所要經過的所有as編號。在接收路由時,裝置如果發現as_path列表中有本as號,則不接收該路由,從而避免了as間的路由環路。

當bgp speaker傳播自身引入的路由時:

當bgp speaker將這條路由通告到ebgp對等體時,便會在update報文中建立乙個攜帶本地as號的as_path列表。

當bgp speaker將這條路由通告給ibgp對等體時,便會在update報文中建立乙個空的as_path列表。

當bgp speaker傳播從其他bgp speaker的update報文中學習到的路由時:

當bgp speaker將這條路由通告給ebgp對等體時,便會把本地as編號新增在as_path列表的最前面(最左面)。收到此路由的bgp裝置根據as_path屬性就可以知道去目的位址所要經過的as。離本地as最近的相鄰as號排在前面,其他as號按順序依次排列。

當bgp speaker將這條路由通告給ibgp對等體時,不會改變這條路由相關的as_path屬性。

next_hop屬性

next_hop屬性記錄了路由的下一跳資訊。bgp的下一跳屬性和igp的有所不同,不一定就是鄰居裝置的ip位址。通常情況下,next_hop屬性遵循下面的規則:

bgp speaker在向ebgp對等體發布某條路由時,會把該路由資訊的下一跳屬性設定為本地與對端建立bgp鄰居關係的介面位址。

bgp speaker將本地始發路由發布給ibgp對等體時,會把該路由資訊的下一跳屬性設定為本地與對端建立bgp鄰居關係的介面位址。

bgp speaker在向ibgp對等體發布從ebgp對等體學來的路由時,並不改變該路由資訊的下一跳屬性。

配置調整bgp網路的收斂速度

通過配置bgp定時器、去使能ebgp連線快速復位和路由振盪抑制可以提高bgp網路的收斂速度,提高bgp的穩定性。

有關棧的小知識

include int main 引用於 c專家程式設計 在我的ubuntu14.04 64位作業系統中輸出 the stack top is near 0x7ffc5643981c 符合64位虛擬記憶體管理 2.linux棧的大小 首先用ulimit s可以檢視棧大小 輸出 8192。單位是k。也...

有關於死鎖的知識

1 打個比方,假設有 p1 和 p2 兩個程序,都需要 a 和 b 兩個資源,現在 p1 持有 a 等 待 b 資源,而 p2 持有 b 等待 a 資源,兩個都等待另乙個資源而不肯釋放資源,就 這樣無限等待中,這就形成死鎖,這也是死鎖的一種情況。給死鎖下個定義,如 果一組程序中每乙個程序都在等待僅由...

有關scanf函式小知識

1.scanf 函式是有返回值的,它的返回值可以分成三種情況 1 正整數,表示正確輸入引數的個數。例如執行 scanf d d a,b 如果使用者輸入 3 4 可以正確輸入,返回2 正確輸入了兩個變數 如果使用者輸入 3,4 可以正確輸入a,無法輸入b,返回1 正確輸入了乙個變數 2 0,表示使用者...