當前位置:網站首頁>【無標題】

【無標題】

2022-01-27 02:43:42 李凱 北信

在多點的重發布中,由於重發布技術的種子度量值問題,將必然導致
選路不佳;只能依賴路由策略來人為幹涉選路。
控制層流量 -- 路由協議發送路由信息是產生的流量。
數據層流量 -- 設備訪問目標地址時產生的流量。
路由策略:在控制層流量轉發的過程中,截取流量,之後,修改流量
中的參數或直接不轉發,最終影響路由器路由錶的生成,以達到幹涉
選路的目的。
1,抓取流量(控制層流量)
1,通過ACL列錶進行抓取 --- 本身用於限制數據層流量的進
出,也可以用於抓取控制層流量,但由於通配符的設計,導致其
無法精確匹配控制層流量。
2,通過前綴列錶進行抓取 --- IP-Prefix
[r1]ip ip-prefix aa permit 192.168.1.0 24 --- 網段信
息,包含網絡號和掩碼信息
前綴列錶的名稱
[r1]display ip ip-prefix aa --- 查看前綴列錶的規則
前綴列錶的規則默認是以10為步調自動添加。便於插入和删除規
前綴列錶的匹配規則:自上而下,逐一匹配,一旦匹配上將按照
該規則執行,而不再向下匹配。末尾隱含拒絕所有。
[r1]ip ip-prefix aa index 15 permit 192.168.3.0 24 ---
通過序號插入規則
[r1]undo ip ip-prefix aa index 15 --- 通過序號删除規則
前綴列錶還可以進行範圍匹配
[r1]ip ip-prefix aa permit 192.168.3.0 24 less-equal
28 ---- 匹配路由的掩碼範圍在24 - 28之間
[r1]ip ip-prefix aa permit 192.168.4.0 24 greater-equal
28 --- 前後如果矛盾,則見按照後面的為准,前面的數字含有
將不再代錶掩碼長度,而代錶前24為固定。
[r1]ip ip-prefix aa permit 192.168.5.0 24 greater-equal
28 less-equal 30 --- 匹配前24比特固定,掩碼長度在28到30之
間的路由信息。
[r1]ip ip-prefix aa permit 192.168.6.0 24 greater-equal
28 less-equal 28 --- 匹配前24比特固定,掩碼長度必須為28比特
的路由網段。
匹配所有的主機路由
[r1]ip ip-prefix aa permit 0.0.0.0 0 greater-equal 32
匹配所有
[r1]ip ip-prefix aa permit 0.0.0.0 0 less-equal 32
匹配缺省路由
[r1]ip ip-prefix aa permit 0.0.0.0 0
2,路由策略
1,RIP的merticin和merticout --- 偏移列錶 --- 只能應用在
距離矢量型協議上,鏈路狀態型協議是無法使用的。
[r1]ip ip-prefix aa permit 23.0.0.0 24 --- 通過前綴列錶
抓取目標網段的流量
[r1-GigabitEthernet0/0/1]rip metricin ip-prefix aa
10 --- 在路由器接口上做入方向的偏移列錶
2,filter-policy --- 過濾列錶/過濾策略
[r1]ip ip-prefix bb deny 34.0.0.0 24 ---- 因為過濾列錶
本身並不具備過濾功能,所以,在進行流量抓取時,需要使用抓
取流量列錶的過濾功能。
[r1]ip ip-prefix bb permit 0.0.0.0 0 less-equal 32
[r1-rip-1]filter-policy ip-prefix bb import
GigabitEthernet 0/0/0 ---- 在進程中調用過濾列錶,注意,
按需求確認是否需要選擇作用的接口
過濾列錶 --- 可以在距離矢量型協議上使用,也可以在鏈路狀
態型協議中使用。但是注意,在鏈路狀態型協議中使用時,在一
個區域內,因為他沒有辦法過濾拓撲信息,所以,只能在入方向
進行調用,用來影響自身,並且只是在路由加錶時不向路由錶中
加錶,並不是將拓撲信息過濾掉。
當然,如果想在出方向進行調用,可以在ABR或者ASBR上針
對三類,五類,七類LSA進行過濾。
3,Route-policy 路由策略
1,先抓取流量
Basic ACL 2000, 1 rule
Acl's step is 5
rule 5 permit source 1.1.1.0 0
Basic ACL 2001, 1 rule
Acl's step is 5
rule 5 permit source 2.2.2.0 0
ip ip-prefix aa index 10 permit 3.3.3.0 24
ip ip-prefix bb index 10 permit 4.4.4.0 24
2,路由策略
[r2]route-policy aa deny node 10 --- 加了一個列錶的
條目序號,我們一般也是以10為步調手工添加
路由策略的名稱
[r2]route-policy aa deny node 10
[r2-route-policy]if-match acl 2000 ---- 如果匹配到
ACL2000抓取到的流量
[r2]route-policy aa permit node 20
Info: New Sequence of this List.
[r2-route-policy]if-match acl 2001
[r2-route-policy]apply cost-type type-1
[r2]route-policy aa permit node 30
[r2-route-policy]if-match ip-prefix aa
[r2-route-policy]apply cost 10
[r2]route-policy aa permit node 40
Info: New Sequence of this List.
[r2-route-policy]if-match ip-prefix bb
[r2-route-policy]apply cost-type type-1 ---- 單條
規則中如果存在多個小動作或者匹配規則,則他們之間將按
照“與”關系來執行。而規則之間則按照匹配原則,滿足
“或”關系即可。
[r2-route-policy]apply tag 6666
[r2]route-policy aa permit node 50 --- 放通所有流量
路由策略的匹配規則 ---- 自上而下,逐一匹配,一旦匹配
上將按照該規則執行,而不再向下匹配。末尾隱含拒絕所
有。
3,在重發布中進行調用
[r2-ospf-1]import-route rip 1 route-policy aa
ROUTE-POLICY的配置指南
1,即便要拒絕一個流量,在抓取時也使用允許,之後在路由策
略中進行拒絕。
2,在一條規則中,若沒有進行流量匹配的動作,則代錶匹配所
有流量;如果沒有相應的應用(小動作),則僅對匹配的流量執
行大動作即可;因此,大動作為允許的空錶,代錶允許所有。
BGP --- 邊界網關協議
IGP --- 內部網關協議 --- RIP OSPF
EGP --- 外部網關協議 --- BGP
AS --- 自治系統 --- 由單一的機構或組織所管理的一些列IP網絡及
設備所構成集合。
劃分AS的原因:
1,網絡範圍太大,協議跑不過來;
2,自治管理
為了方便對自治系統進行管理,我們給每一個自治系統設計了一個
號 --- AS號 ---- 16比特二進制構成 ---- 取值範圍:0 - 65535,其中0
和65535為保留;AS號的可用值範圍為1 - 65534 ---- 其中 64512 -
65534被設定為私有AS號,剩下的為公有AS號。
因為傳統的AS號存在不够用的情况,所以,目前大部分設備均支持
拓展的AS號 --- 32比特二進制構成。
BGP協議 --- 目前在IPV4環境下 --- BGPV4 --- 目前市場上也存
在BGPV4+
--- 在BGPV4的基礎上,可以支持多種地址族
AS之間相互獲取路由信息可以使用重發布,但是以重發布作為解决方案存
在問題:
1,選路不佳 --- 重發布在導入路由時會洗掉開銷值。
2,ASBR的歸屬問題
BGP協議 --- 無類別的路徑矢量協議
無類別 --- 傳遞路由信息時攜帶子網掩碼
路徑矢量 --- 1,距離矢量中的距離指的是協議將一個路由器作
為一跳來計算開銷。而路徑矢量是以一個AS作為一個單比特來傳遞
信息的。
2,距離矢量型協議的分發是根據算法來分的,但
是BGP協議不存在算法的概念,因為BGP協議不需要去計算路由,
只需要將現有的傳遞到自己的鄰居處即可。
IGP --- 選路佳,收斂快,占用資源少
EGP --- 1,可控性 --- AS之間需要傳遞大量的路由信息,所謂可
控,就是可以更方便的幹涉選路,更容易做策略。 --- 彌補重發布
的不足
為了保證路由傳遞的可控性,更方便幹涉選路,BGP協議舍
弃了開銷值,取而代之的是他為路由信息設計了很多路徑屬
性。可以通過屬性進行選路,是的選路過程更加靈活,可控
性更高。
2,可靠性 --- BGP協議為了保證傳輸的可靠性,直接選擇
TCP協議作為傳輸層的協議來完成數據收發 ---- 使用的是TCP 179號
端口
--- 使用TCP協議通訊造成的問題是,傳輸效率
降低,只能實現單播通訊(TCP需要去建立會話),占用資源會加
大 ---- 使用TCP之後,便不能通過廣播或者組播去自動發現鄰居進
行通信了。
--- BGP協議可以實現非直連建鄰,非直連建鄰
的前提條件是鄰居雙方網絡可達 ---- BGP的非直連建鄰是建立在IGP
的基礎上
我們可以根據鄰居關系的建立情况,將BGP的鄰居關系分為兩種
AS之間:EBGP對等體 --- 如果建立對等體的兩臺路由器比特於不
同的AS中,則他們的關系被稱為EBGP對等體關系。
AS內部:IBGP對等體 --- 如果建立對等體的兩臺路由器比特於同
一個AS中,則他們的關系被稱為IBGP對等體關系。
因為EBGP對等體之間一般采用直連建鄰的方法,所以,我們將EBGP
對等體之間的數據包中的TTL值設置為1;而IBGP對等體之間往往需要非直
連建鄰,所以,IBGP對等體之間的數據報中的TTL值我們設置為255;當
然,如果EBGP對等體之間需要非直連建鄰,則需要手工修改TTL值。
3,AS-BY-AS:BGP將一個AS作為一個單比特來看待。
---- BGP的一個特性:BGP是不支持負載均衡。
1,BGP的數據包
ospf的hello包 --- 周期發現,建立和保活鄰居關系。
發現鄰居的任務 --- 在BGP中由手工指定鄰居關系來替代
建立鄰居的任務 --- 在BGP中由OPEN報文來承擔
保活鄰居的任務 --- 在BGP中由Keeplive報文來承擔
Open包 ---- 建立鄰居關系
AS號:在手工建立鄰居關系時聲明的鄰居的AS號。對端收到後會
檢查其是否和本地的AS號一致,一致則正常建立鄰居關系。
認證:BGP也可以在建鄰時做認證,需要比對雙方認證口令,不
一致則無法建立鄰居關系。
Router-ID:主要區分和標定路由器。OPEN報文中攜帶RID的目的
是為了確保雙方的RID不一致。確保其唯一性,如果相同,則無
法正常建立鄰居關系。
----- RID 也是由32比特二進制構成,並且遵循IP地址的格
式。
---- 也可以通過兩種方法獲取,一種是手工配置;另一
種是自動獲取。(先在自己路由器的環回接口中選擇最
大的IP地址作為RID,如果沒有環回接口,則在自己物理
接口中選擇IP地址最大的作為RID)
注意:在接受鄰居數據包時,其中的源IP地址必須和手工指定的
鄰居的IP地址一致才可以正常建立鄰居關系。(這個地址將作為
之後的更新源地址)
OPEN報文在建立鄰居關系的時候也會攜帶保活時間(hold
time)這個參數 --- 這個參數默認值為 180S --- 即180S內若
收不到對方發送的keeplive或者UPdate包則將判定BGP鏈接中
斷。--- 雙方建鄰時攜帶這個值,但是並不要求必須相同。但
是,執行時必須相同,所以,將會選擇二者中較小的作為執行時
間。
OPEN報文中也會將自身是否支持路由刷新功能的相關參數進行攜
帶,雙方進行協商,如果都支持,則可以開啟路由刷新功能。
keeplive包 ---- 僅完成周期保活即可(保活TCP會話),不需要攜
帶太多的參數,也不具備太多的功能。
--- Keeplive報文的發送周期 --- 保活時間(hold time)的
1/3,保活時間默認為180S,則周期發送時間默認為60S。
KeepLive包還有一個作用 ---- 在收到對方發送的OPEN報文後,
臨時充當確認包的作用。 --- TCP本身具有確認機制,可以確保
傳輸的可靠性,這裏的確認主要是確認OPEN報文中攜帶的參數,
如果認同對方的參數,則將回複Keeplive包進行確認。
Update包 --- 更新包 --- 攜帶路由信息的數據包 ---- 包括目標網
段,子網掩碼信息以及BGP的各種屬性
在UPdate包中存在撤銷路由字段,我們可以直接將不可達的路由
信息放在該字段下進行通告,以達到傳遞失效信息的目的。而不
需要像RIP那樣采用帶毒傳輸的方式。
Notification包 --- BGP設計的一個告警機制 --- 當BGP檢測到一個
錯誤的時候,他將會用這個包進行告警,告知對端錯誤點在哪
Route-refresh包 --- 用 於改變路由策略後請求對等體重新發送路由
信息。(前提是對等體雙方均支持路由刷新)
2,BGP的狀態機
BGP的狀態機僅描述BGP對等體建立過程中的狀態變化。
因為BGP可以做到建立鄰居關系和發布路由分開完成。
IDLE狀態 --- 空閑狀態 --- 一開始,啟動BGP之後,先處於IDLE狀
態,之後手工指定鄰居關系。
當手工指定好鄰居之後,BG P將開啟檢查步驟。 他需要確認指定
的IP地址在本地路由錶中是否路由可達,如果可達,則開始嘗試
建立TCP會話,進入下一個狀態。如果不可達,則將停留在IDLE
狀態。
connect狀態 --- 進行TCP會話連接的狀態。如果TCP會話連接建立成
功,則進入OPENsent狀態;如果TCP會話建立失敗,則進入Active狀
態,反複嘗試重新建立會話連接。
注意:在建立TCP會話連接時,雙方都會嘗試建立連接,一方建
立成功,則將創建一個雙向的TCP會話通道;雙方都建立成功,
則將會出現兩個雙向通道。則需要關閉一個TCP通道。後面開始
發送OPEN報文,其中會攜帶RID,雙方將比較RID,僅保留RID大
的一端發起的TCP連接,RID小的一端發起的TCP連接通道將被斷
開。
OPENsent --- 開始發送OPEN報文,報文中攜帶建立鄰居關系所需的
參數。當收到對端發送的OPEN報文後,將檢查裏面的參數。如果參數
沒有問題,則將回複一個keeplive作為確認,則進入下一個狀態;
OPENConfirm --- OPEN確認狀態 --- 對端收到本段的OPEN報文後,
確認參數無誤,則將發送keeplive包進行確認。此時,則代錶雙方的
OPEN包中的參數都確認無誤則進入下一個狀態;
Established --- 建立完成狀態 --- 標志著對等體關系的建立。
從流程圖中可以看出,TCP連接失敗,則進入ACTIVE狀態,嘗試重
,如果重連超時,則放弃重連,判斷鄰居關系建立失效,回到idle
狀態。整個環節中,任意環節出現問題,都將發送Notification包進
行報錯,之後將狀態退回到IDLE狀態。
3,BGP的工作過程
1,基於IGP(靜態,直連)實現IP可達;
2,指定鄰居關系,鄰居間需要建立TCP會話通道。BGP之後發送的所
有數據包都是通過TCP會話通道發送,來保證其傳輸的可靠性的。
3,使用OPEN報文和keeplive報文進行鄰居關系的建立;生成鄰居
錶;
4,使用Update報文共享路由信息,信息中攜帶目標網絡號,掩碼信
息及各種屬性;將收集和發送的所有路由信息記錄在一張錶中 ---
BGP錶。
5,之後,將BGP錶中的最優路徑加載到路由錶中。(到達同一個目標
網段可能收到多條路由信息,BGP僅加載一條(不存在負載均衡)最
優路徑,最優路徑是通過屬性來選擇的)
6,收斂完成後,將使用keeplive包進行周期保活,默認保活時間為
180S,周期發送時間為60S。
7,若出現錯誤信息,將使用notification報文進行告警;(這個錯
誤信息可能出現在對等體建立的時候,也可能出現在之後。)
8,若發生結構突變,則將直接發送UPdate報文進行觸發更新。

 

 

版權聲明
本文為[李凱 北信]所創,轉載請帶上原文鏈接,感謝
https://cht.chowdera.com/2022/01/202201270243419103.html

隨機推薦