日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

BGP路由属性和选路

發布時間:2024/1/8 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 BGP路由属性和选路 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

一.BGP原理

1.1BGP報文類型

1.2BGP狀態機

1.3路由通告原則

1.3.1BGP路由的產生方式:

1.3.2BGP路由通告原則

1.3.3BGP的防環原則

1.3.4BGP路由黑洞:

二.BGP屬性

三.選路原則

3.1、如果此路由下一跳不可達,忽略此路由?

3.2、preferred-value

3.3、local-pref

3.4、優選本地生成的路由

3.5、AS路徑最短

3.6、Origin起源屬性

3.7、MED

3.8、EBDP學的路由優于IBGP

3.9、優選到BGP下一跳IGP Metric較小的路由

3.10、優選Cluster_ List最短的路由

3.11、優選Rouetr ID最小的路由器發布的路由

四.BGP團體屬性

? ? 4.1、公共團體屬性

? ? ?4.2、自定義團體屬性

? ? ?4.3、團體列表

五.BGP聚合

? ? ? ? 5.1、自動聚合

? ? ? ? 5.2、手動聚合


目錄

一.BGP原理

1.1BGP報文類型

1.2BGP狀態機

1.3路由通告原則

1.3.1BGP路由的產生方式:

1.3.2BGP路由通告原則

1.3.3BGP的防環原則

1.3.4BGP路由黑洞:

二.BGP屬性

三.選路原則

3.1、如果此路由下一跳不可達,忽略此路由?

3.2、preferred-value

3.3、local-pref

3.4、優選本地生成的路由

3.5、AS路徑最短

3.6、Origin起源屬性

3.7、MED

3.8、EBDP學的路由優于IBGP

3.9、優選到BGP下一跳IGP Metric較小的路由

3.10、優選Cluster_ List最短的路由

3.11、優選Rouetr ID最小的路由器發布的路由

四.BGP團體屬性

? ? ? ? ? ? ? ? ??4.1、公共團體屬性

? ? ? ? ? ? ? ? ??4.2、自定義團體屬性

4.3、團體列表


一.BGP原理

1.1BGP報文類型

Open報文:協商BGP參數

Updata報文:交換路由信息

Keepalive報文:保持鄰居關系

Notification報文:差錯通知

Route-Refresh報文:用于在改變路由策略后請求對等體重新發送路由信息

1.2BGP狀態機

1.Idle狀是BGP初始狀態。在Idle狀態下,BGP拒絕鄰居發送的連接請求。也不會像鄰居發送TCP syn,只有32S之后才會向鄰居發送Tcp syn并且將鄰居轉為conrtect狀態。

2.Connect狀態下,BGP啟動連接重傳定時器(Connect Retry),等待TCP完成連接。
? ? ?如果TCP連接成功,那么BGP向對等體發送open報文,并轉至opensent狀態。
? ? ?如果TCP連接失敗,那么BGP轉至Active狀態。
? ? ?如果TCP syn沒有收到鄰居的響應,將會卡在connect狀態,總是嘗試與BGP鄰居建立TCP連接。

常見卡在connect狀態的原因:

1、鄰居沒有啟用BGP協議

2、沿途路徑存在流量過濾將TCP?SYN拒絕了。

3、EBGP鄰居建立沒有配置多跳。
?

3.在Active狀態下,BGP總是在試圖建立TCP連接。
如果TCP連接成功,那么BGP向對等體發送open報文,關閉連接重傳定時器,并轉至openSent狀態。

如果TCP連接失敗,那么BGP停留在Active狀態。
如果連接重傳定時器超時,BGP仍沒有收到BGP對等體的響應,那么BGP轉至Connect狀態

4.在OpenSent狀態下,BGP等待對等體的Open報文,并對收到的Open報文中的AS號、版本號、認證碼等進行檢查。

? ? 如果收到的Open報文正確,那么BGP發送Keepalive報文,并轉OpenConfirm狀態。
? ? 如果發現收到的Open報文有錯誤,那么BGP發送Notification報文給對等體,并轉至ldle狀態。

5.在OpenConfirm狀態下,BGP等待Keepalive或Notification報文。如果收到Keepalive報文,則轉至Established狀態,如果收到Notification報文,則轉至ldle狀態。

6.在Established狀態下,BGP可以和對等體交換Update、Keepalive、Route-refresh報文和Notification報文.

? ?如果收到正確的Update或Keepallie報文,那么BGP就認為對端處于正常運行狀態,將保持BGP連接。

如果收到錯誤的Update或Keepalive報文,那么BGP發送Notification報文通知對端,并轉至ldle狀態。

? ?Route-refresh報文不會改變BGP狀態。
? ?如果收到Notification報文,那么BGP轉至ldle狀態。
? ?如果收到TCP拆鏈通知,那么BGP斷開連接,轉至ldle狀態。

1.3路由通告原則

建立IBGP鄰居關系建議使用壞回口,目的是更加穩定。

默認建立EBGP鄰居關系的時候,發送報文的TTL=1.默認建立IBGP鄰居關系的時候,發送報文的TTL=255。

1.3.1BGP路由的產生方式:


1、通過network的方式,將本地路由中的路由發布出去。
2、通過import-route的方式,將其他協議的路由引入到BGP協議中。

3、通過手動聚合的方式,產生一條聚合路由(匯總)

如何得到BGP路由呢?
@IBGP鄰居給我傳遞

@EBGP鄰居給我傳遞

@自身產生BGP路由


1.3.2BGP路由通告原則

BGP只會將有效路由中的最優的BGP路由通告給鄰居。

@自身產生的BGP路由通告給所有的BGP鄰居。

@從IBGP鄰居收到的路由,只會傳遞給EBGP鄰居
@從EBGP鄰居收到的路由,會傳遞給所有鄰居


1.3.3BGP的防環原則


AS內的防環使用IEGP水平分割機制(只傳一跳),即從IBGP鄰居收到的路由不會傳遞給另一個IBGP鄰居。

AS之問的防環原則:利用了BGP的路由屬性,即BGP將路由發送給EBGP鄰居的時候會將自身的AS號添加到as-path列表中;并且規定,從EBGP鄰居收到的路由如果攜帶自身AS號則不接受該路由。
?

1.3.4BGP路由黑洞:


BGP同步:用于防止BGP路由黑洞問題。
BGP同步機制:即從IBGP鄰居接收的路由,需要在IGP表中存在,才能夠參加最優BGP路由的選舉,如果IGP表中不存在,則不會發送給EBGP鄰居。
為什么不使用BGP同步解決路由黑洞問題呢?

2、出現了更好的解決方案:
@AS內部采用全互聯的IBGP鄰居架構,讓所有路由器都運行BGP協議,從而使每臺路由器都能夠學到BGP路由,防止黑洞產生。
@在ASBR上將BGP路由引入到IGP協議中。(該方法已被淘汰)

@在ASBR之間建立GRE隧道,解決路由黑洞問題。(節約成本)

@通過LSP隧道解決路由黑洞問題。
?

二.BGP屬性

路徑屬性分類

Next_hop

EBGP鄰居更新路由時,該屬性值是兩端建立BGP鄰居時所用的地址,用的是本端地址,用于根據此屬性來尋找該條路由的目的網段,

從EBGP學到的發給IBGP鄰居,下一跳屬性不變,但是這樣不可達??梢栽谥付ㄠ従拥臅r候將下一跳屬性改為建立鄰居時的本端地址(peer x.x.x.x next-hop-local)

特點:
1、自身產生的路由發送給所有BGP鄰居的時候,下一跳自動修改。
2、從EBGP鄰居接受的路由發送給IBGP鄰居的時候,下一跳不會自動修改。

3、從EBGP鄰居接受的路由發送給EBGP鄰居的時候,下一跳自動修改。

4、從IBGP鄰居接受的路由發送給EBGP鄰居的時候,下一跳自動修改。

5、從IBGP鄰居接受的路由不存在發送給IBGP鄰居的情況(防環)
?

Aggregator:可選過渡屬性

? ? ? ? ?默認聚合路由之后,聚合路由會添加一個可選過渡屬性:
? ? ? ? ?用于對匯總路由的一種標記,標識路由產生的AS,以及產聚合路由設備的router-id,表明發? ? ? ? ? ? ? ? ? ?生聚合的位置
Aggregator: AS // 聚合路由產生的AS
Aggregator ID: x.x.x.x? //產生聚合路由設備的router-id。

Atomic-Aggregate:公認任意屬性

? ? ? ? ? ?如果添加detail-suppressed,將會再次產生一個新的公認任意屬性,就是本屬性

? ? ? ? ? ?作用:用于警告聚合路由出現了屬性丟失(帶了這條屬性就表明這條聚合路由抑制了明細路由)

Originator ID:可選非過渡屬性

? ? ?用于集群內的防環
? ? ?由路由反射器(RR)產生,攜帶了本地AS內該路由發送者的RouteID

Cluster_List:可選非過渡屬性
? ? ? 用于集群間的防環
? ? ? 由每個路由反射器(RR)產生,記錄反射路由經過的集群。

三.選路原則

3.1、如果此路由下一跳不可達,忽略此路由?

3.2、preferred-value

? ? ①華為BGP私有屬性。

? ? ②只在本地有效,不會傳遞給任何的BGP鄰居

? ? ③默認等于0

? ? ④BGP的選路屬性,越大越優

? ? ⑤針對發送給鄰居的BGP路由,無法修改協議協議首選值,因為報文中并不攜帶。

? ? ⑥針對接收BGP鄰居的路由,才可修改協議首選值。


應用場景:當不想影響其他設備的選路,只針對單臺設備的選路進行控制的時候,建議使用協議首選值。

3.3、local-pref

? ?①公認任意屬性

? ?②只在一個AS內部傳遞不會傳遞給EBGP鄰居

? ?③用于BGP路由的路徑選擇(默認100,越大越優)? ?

? ?④?應用在AS內,存在多個出口的時候選擇一個出口訪問外部網絡。

EBGP路由不攜帶本地優先級屬性,對于不攜帶本地優先級屬性的BGP路由,設備將會認為這個BGP路由的本地優先級為默認本地優先級(默認的本地優先級為100)


修改方式:
? ①?針對接收或者發送給BGP鄰居的路由進行修改(route-policy)
? ? ? ?EBGP鄰居之間out方向不可修改
? ? ? ?EBGP鄰居之間in方向可以修改
? ? ? ?IBGP鄰居之間可以在in/out方向進行修改。

? ②修改默認的本地優先級。
? ? ? ?[AR2-bgp]default local-preferenceI/修改默認的本地優先級。

關鍵點:在只會對沒有本地優先級屬性的路由生效。

哪些BGP路由沒有本地優先級呢?
? ? ①?自身產生的: network和import-route指令變成的BGP路由沒有本地優先級。

? ? ②鄰居傳遞的:EBGP鄰居傳遞的路由默認沒有本地優先級

3.4、優選本地生成的路由

? ? ? 手動聚合>自動聚合>network>import>從其他對等體學習到的

? ? ? 如何判斷路由是否是自己產生的?

? ? ?① ?路由下一跳地址為127.0.0.1即為聚合產生的

? ? ?②下一跳地址為0.0.0.0即為netwoke和import產生的

3.5、AS路徑最短

? ? ?①公認必遵屬性
? ? ?②用于AS之間的防環屬性

? ? ?③用于BGP路由的路徑選擇。
? ? AS之間防環:

? ? ? ?1、BGP設備將路由發送給EBGP鄰居的時候,將會在路由的AS-PATH屬性中添加自身的AS號。
? ? ? ?2、BGP設備從EBGP鄰居接受路由的時候,將會檢查路由的AS-PATH屬性列表,如果存在自身的AS號,那么將忽略這條BGP路由。
? ? ? 3、IBGP鄰居之間不會做AS-PATH的防環檢測。

修改方式:AS-PATH在任何BGP鄰居之間的in/out方向都可以進行修改。
? ? ?apply as-path 100 additive? ? ? ?//在原有的AS-PATH列表中添加新的AS號。

? ? ?apply as-path 100? overwrite? ? /使用指定的AS-PATH覆蓋原有的AS-PATH
?

3.6、Origin起源屬性

? ? ? ?選路規則:I>E>?(network>e>import)

? ? ? ?①公認必遵屬性? ?

? ? ? ?②描述了這條路由怎么成為BGP路由的
? ? ? ?③ I表面該路由是netwoke進來的? ?

? ? ? ?④ ?表示該路由是import進來的
? ? ? ?⑤e表示是從EBGP鄰居學來的? ??

3.7、MED

? ? ?也叫作BGP的COST值,或者說叫做BGP的度量值,主用影響鄰居AS的選路。
? ? ①可選非過渡屬性
? ? ②用于BGP路由的路徑選擇(越小越優)
? ? ③如果報文中不攜帶MED值,默認認為MED為0。


如何產生MED呢:

? ? ? 當一條路由變為BGP路由的時候,這個路由在IP路由表中的Cost為多少,那么變為BGP路由? ? ? ? ? ? ? ? ? 之后MED為多少。


華為MED通告原則:
? ? ?1、自身始發的路由,MED會通告為IBGP和EBGP鄰居。
? ? ?2、從IBGP鄰居接受的路由,傳遞給EBGP鄰居的時候,不攜帶MED。

? ? ?3、從EBGP鄰居接受的路由,傳遞給IBGP鄰居的時候,攜帶MED值。

? ? ?4、從EBGP鄰居接受的路由,傳遞給EBGP鄰居的時候,不攜帶MED。

MED的修改方式:
? ? ?在所有BGP鄰居之間in/out方向均可修改。(routing-policy)


什么時候才會比較MED值?
? ? ?①默認情況下,只有當兩條BGP路由as-path列表中,最左邊的AS號相同的時候,才會進行? ? ? ? ? ? ? ? ? ? MED的比較

? ? ?②compare-different-as-med? ? //命令用來配置允許比較來自不同自治系統中的鄰居的路由的? ? ? ? ? ? ? ? ? MED值。
?

3.8、EBDP學的路由優于IBGP

3.9、優選到BGP下一跳IGP Metric較小的路由

P? L? L? ?A? ?O? M? E? N(漂亮老男人)

當這些都滿足了,就可以做負載了(經過的AS-PATH必須數量順序完全一致才可以做負載)

BGP負載

?maximum load-balancing ?
? ?INTEGER<1-8>? ?//針對IBGP和EBGP路由都開啟負載

? ?ebgp? ? ? ? ? ? ? ? ? ? //針對EBGP路由開啟負載
? ?ibgp? ? ? ? ? ? ? ? ? ? ?//針對IBGP路由開啟負載

load-balancing as-path-ignore //配置了這條命令就不會比較AS-PATH屬性了,只要上面幾條選路? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 原則都滿足了就可以直接負載
負載是在IP路由表中負載,BGP路由表不會負載


無論BGP設備是否開啟負載功能,都會選取出一條最優的BGP路由傳遞給鄰居。
?

3.10、優選Cluster_ List最短的路由

? ? ? ?用于路由反射器的防環機制

? ? ? ?該屬性為可選非過渡

? ? ? ?用于集群間的防環
? ? ? ?由每個路由反射器(RR)產生,記錄反射路由經過的集群。
?

3.11、優選Rouetr ID最小的路由器發布的路由

.

四.BGP團體屬性

??作用:
? ? ? ? ?1、用于限制BGP路由的傳遞范圍。
? ? ? ? ?2、類似于IGP協議中的tag值,用于對BGP路由實現標記。

分類:


? ? 4.1、公共團體屬性


? ? ? ? ? ? ? ? ? Internet:默認所有路由都有該屬性,具有該屬性BGP路由發送給所有的BG鄰居,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 但是依然要滿足BGP路由的通告原則。
? ? ? ? ? ? ? ? ? No_Advertise:收到有這個屬性的路由,自身不會發送給任何BGP鄰居。

? ? ? ? ? ? ? ? ? No_Export:收到了有這個屬性的路由,會發給IBGP鄰居但是不會發送給EBGP鄰居。


@團體屬性,不會自動傳遞給BGP鄰居,需要在鄰居之間配置開啟團體屬性的傳遞功能。

peer x.x.x.x advertise-community? //開啟傳遞團體屬性的功能

必須逐跳開啟,比如1傳給2,需要在1上開啟,2傳給3需要在2上開啟,否則傳遞的不會攜帶團體屬性

@團體屬性可以攜帶多個,當存在沖突的時候,傳遞范圍小的生效

? ? ?4.2、自定義團體屬性

? ? ? ? ? ? ? ? ? ? ? ? ?一共四個字節,用于對BGP路由實現標記。
? ? ? ? ? ? aa:nn : aa占用2個字節,nn占用兩個字節,取值都是0~65535。一般使用路由器所在的AS? ? ? ? ? ? ? ? ? ? ? ? ? 號表示。

? ? ? ? ? ?團體號:4個字節全部使用十進制數進行表示,其中存在一些私有的范圍,具體查看華為說? ? ? ? ? ? ? ? ? ? ? ? ? ? 明。


? ? ?4.3、團體列表

? ? ? ? ? ? ? ? ?ip community-fiter本質作用就是為了對BGP路由的團體屬性進行匹配。
? ? ? ?類型:1、基本:編號范圍1-99,直接配置團體屬性,匹配BGP路由。
? ? ? ? ? ? ? ?2、高級:編號100-199,通過正則表達式匹配BGP路由。
? ? ? ? ? ? ? ?3、默認拒絕所有。
?

五.BGP聚合

? ? ?聚合優勢:
? ? ? ? ? ? 1、優化BGP設備的路由表和BGP表。
? ? ? ? ? ? 2、當明細路由出現震蕩之后,聚合路由不會產生影響,網絡更加穩定。

? ? ? ? ? ? 3、維護較少的BGP路由,節省設備系統資源。
? ? ? ? ? ? 4、當所有明細路由失效時候,聚合路由才會失效。


? ? ? ? 5.1、自動聚合

? ? ? ? ? ? ?IPV4支持
? ? ? ? ? ? @默認關閉狀態。
? ? ? ? ? ? @自動聚合只能聚合成為有類網絡,聚合的精確度非常差。

? ? ? ? ? ? @只能針對本設備import-route的路由生效,靈活性較差。
? ? ? ? ? ? @執行自動聚合時,不能添加route-policy,修改路由的部分屬性。

? ? ? ? ? ? [AR1-bgp]summary automatic? ?//開啟自動聚合功能。

? ? ? ? 5.2、手動聚合

? ? ? ? ? ? ? IPV4和 IPV6同時支持。
? ? ? ? ? ? ?@只要是在本地BGP表中存在的有效路由,就可以執行聚合,靈活度較強。

? ? ? ? ? ? ?@聚合路由屬于本地始發的路由,會通告給所有的BGP鄰居。
? ? ? ? ? ? ?@產生聚合路由的時候,本地IP路由表中將會自動產生一條指向Nullo的聚合路由,用于? ? ? ? ? ? ? ? ? ? ?防止環路產生。

聚合路由屬性生成如下:
? ? ? ? ? 1、協議首選值:默認為0。

? ? ? ? ? 2、本地優先級:默認為空。

? ? ? ? ? 3、as-path:默認為空。(聚合路由的as-path不會繼承明細路由的as-path,使用AS_SET可以繼承明顯路由的as-path)
? ? ? ? ? 4、orgin屬性 ﹔如果明細路由的origin屬性相同,則聚合路由取值與明細相同。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?如果明細路由的origin屬性不同,則聚合路由按照?>e>i進行選擇。
? ? ? ? ? 5、MED屬性:默認為空。


默認聚合之后,聚合路由會添加一個可選過渡屬性:Aggregator
? ? ? ? ?用于對匯總路由的一種標記,標識路由產生的AS,以及產聚合路由設備的router-id,方便找? ? ? ? ? ?到產生此聚合路由的位置。


? ? ? ? ? ?Aggregator: AS? ? ?//聚合路由產生的AS
? ? ? ? ? ?Aggregator ID: 10.0.12.1? ? //產生聚合路由設備的router-id。

如添加detail-suppressed,將會再次 產生一個新的公認任意屬性

? ? ? ? ? ? ? Atomic-aggregate :用于提示管理員,聚合路由出現了路徑的丟失|
?

AS_SET:由一系列AS號無序地組成,包含在UPDATE消息里。
? ? ? ? ? ? ?當網絡發生聚合時,可通過適當策略使AS_PATH使用類型AS_SET來避免路徑信息丟失。


AS_SEQUENCE:由一系列AS號順序地組成,包含在UPDATE消息里。

? ? ? ? ? ? ? ? ? ? ? ? ? ? 一般情況下,AS_PATH類型為AS_SEQUENCE。(用z中括號包含)
? ? ? ? ? ? ? ? aggregate 192.168.0.0 22 detail-suppressed? //執行路由聚合的時候抑制明細路由。
? ? ? ? ? ? ? ? aggregate 192.168.8.0 22 as-set? ? ? ? ? ? ? ? ? ? //使聚合路由,包含明細路由的as號。
?

總結

以上是生活随笔為你收集整理的BGP路由属性和选路的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。