BGP 路由優選屬性(7)【MED】官方考試綜合實驗題【bgp】【acl】【ip-prefix】【route-policy】【icmp 環路】精講

目錄

一、MED 屬性介紹

二、實驗

2.1 實驗目的

2.2 拓撲圖

2.2 實驗說明

2.3 配置腳本

2.4 驗證配置

2.5 問題分析

2.7 題目需求解析

2.8 場景 1:只允許在 AS12 上操作

2.9 場景 2:只允許在 AS34 上操作


正文

一、MED 屬性介紹

  • MED 全稱 multi-exit-discriminator,多出口鑒別符。
    • discriminator【英/d??skr?m?ne?t?(r)/】n.[電子] 鑒別器;辨別者
  • 屬性類型:可選非過度。
  • 特性
    • 具有類似于 cost 值的特性,其來源也是 cost 值。使用 bgp 引入路由條目時,使用 cost 的值來填寫 MED 值。
    • 取值范圍 ?4 bytes(0~4,294,967,296),越小越優。
    • 邊界路由器在宣告 IGP 路由時,MED 值會繼承 IGP 的 cost 值,IGP 的度量值(metric)會變成 BGP 的 MED 值。
  • MED 值的傳遞特性
    • 通常情況下,MED 值在 bgp 網絡中只能傳遞 1 跳。
    • 唯一例外:在 ASBR(AS 邊界路由器)從 EBGP 鄰居(始發)接收到路由條目時,需要傳遞給 IBGP 鄰居進行路由優選,此時傳播距離為 2 跳。
    • 通過 route-policy 修改 EBGP 鄰居路由條目攜帶的 Cost 值,在 MED 的視角上,可以視作 EBGP 鄰居為這條被修改路由條目的始發地址。
  • 應用場景
    • 兩個 AS 之間存在多條直連鏈路時,可以通過修改 MED 來區分主備鏈路。
    • 在邊界路由器將路由條目通告給 EBGP 時對 MED 值進行修改。
    • 參考實驗拓撲圖。
  • 特殊命令:default med
    • 功能:用來配置 BGP 路由的缺省 MED 值。
      • 在默認情況當 MED 為 null 時,視作 MED=0。
      • 當使用 default med 命令修改 med 以后,原 MED=null? 的條目的 MED 值將被修改成 default MED 設置的值。
    • 在配置了該命令后,對于本地始發起源為 ?(import-route 引入)的路由,在傳遞給 IBGP 鄰居時 MED 值不變;傳遞給 EBGP 鄰居是 MED 值修改為 default med。
    • 對于起源為 i(network 宣告)的條目無效。
    • !!! 通常不推薦使用這個方法來修改 MED 值,如果在實際應用場景中遇到,一定要謹慎分析

二、實驗

2.1 實驗目的
  • 通過修改 MED 屬性,影響 AS 之間的選路行為。
2.2 拓撲圖

2.2 實驗說明
  • 本實驗為【BGP 的選路原則 基礎篇 精講】的擴展實驗,實驗基礎配置與基礎實驗相同。建議先完成基礎實驗的學習,再來進行本實驗。
  • 本實驗拓撲參考官方考試題
  • 其他關聯內容學習傳送門
    • ospf 基礎
    • bgp 基礎:【BGP 基礎實驗 精講】
    • 路由策略:
      • acl 通配符掩碼:【網絡中的通配符掩碼】
      • route-policy:【路由策略【ospf】【route-policy】【filter-policy】【ip-prefix】綜合實驗 精講】
      • BGP import-route
      • 配置腳本中路由策略綜合配置(藍字)的解釋請參考下列章節內容

【BGP 路由優選屬性(4)【手動聚合>自動聚合>network>import>從對等體學到的】綜合實驗【bgp】【acl】【route-policy】精講】<3.2 配置思路及步驟>小節

2.3 配置腳本
  • 腳本已驗證,可以放心使用
  • R1

system-view

sysname R1

undo info-center enable

interface GigabitEthernet 0/0/0

ip address 12.1.1.1 24

interface GigabitEthernet 0/0/1

ip address 13.1.1.1 24

interface Ethernet 0/0/0

ip address 172.16.1.254 24

interface LoopBack 0

ip address 1.1.1.1 32

ospf 1 router-id 1.1.1.1

area 0

network 12.1.1.1 0.0.0.0

network 1.1.1.1 0.0.0.0

acl number 2000

rule 5 permit source 172.16.0.0 0.0.255.0

?

route-policy BGP-IMPORT-DIRECT permit node 10

if-match acl 2000

bgp 12

router-id 1.1.1.1

peer 13.1.1.3 as-number 34

peer 2.2.2.2 as-number 12

peer 2.2.2.2 connect-interface LoopBack 0

peer 2.2.2.2 next-hop-local

import-route direct route-policy BGP-IMPORT-DIRECT

  • R2

system-view

sysname R2

undo info-center enable

interface GigabitEthernet 0/0/0

ip address 12.1.1.2 24

interface GigabitEthernet 0/0/1

ip address 24.1.1.2 24

interface Ethernet 0/0/0

ip address 172.16.2.254 24

interface LoopBack 0

ip address 2.2.2.2 32

ospf 1 router-id 2.2.2.2

area 0

network 12.1.1.2 0.0.0.0

network 2.2.2.2 0.0.0.0

acl number 2000

rule 5 permit source 172.16.0.0 0.0.255.0

?

route-policy BGP-IMPORT-DIRECT permit node 10

if-match acl 2000

bgp 12

router-id 2.2.2.2

peer 24.1.1.4 as-number 34

peer 1.1.1.1 as-number 12

peer 1.1.1.1 connect-interface LoopBack 0

peer 1.1.1.1 next-hop-local

import-route direct route-policy BGP-IMPORT-DIRECT

  • R3

system-view

sysname R3

undo info-center enable

interface GigabitEthernet 0/0/0

ip address 34.1.1.3 24

interface GigabitEthernet 0/0/1

ip address 13.1.1.3 24

interface Ethernet 0/0/0

ip address 172.16.3.254 24

interface LoopBack 0

ip address 3.3.3.3 32

ospf 1 router-id 3.3.3.3

area 0

network 34.1.1.3 0.0.0.0

network 3.3.3.3 0.0.0.0

acl number 2000

rule 5 permit source 172.16.0.0 0.0.255.0

?

route-policy BGP-IMPORT-DIRECT permit node 10

if-match acl 2000

bgp 34

router-id 3.3.3.3

peer 13.1.1.1 as-number 12

peer 4.4.4.4 as-number 34

peer 4.4.4.4 connect-interface LoopBack 0

peer 4.4.4.4 next-hop-local

import-route direct route-policy BGP-IMPORT-DIRECT

  • R4

system-view

sysname R4

undo info-center enable

interface GigabitEthernet 0/0/0

ip address 34.1.1.4 24

interface GigabitEthernet 0/0/1

ip address 24.1.1.4 24

interface Ethernet 0/0/0

ip address 172.16.4.254 24

interface LoopBack 0

ip address 4.4.4.4 32

ospf 1 router-id 4.4.4.4

area 0

network 34.1.1.4 0.0.0.0

network 4.4.4.4 0.0.0.0

acl number 2000

rule 5 permit source 172.16.0.0 0.0.255.0

?

route-policy BGP-IMPORT-DIRECT permit node 10

if-match acl 2000

bgp 34

router-id 4.4.4.4

peer 24.1.1.2 as-number 12

peer 3.3.3.3 as-number 34

peer 3.3.3.3 connect-interface LoopBack 0

peer 3.3.3.3 next-hop-local

import-route direct route-policy BGP-IMPORT-DIRECT

2.4 驗證配置
  • 根據路由之間的連線,確認 bgp 鄰居建立情況

# 此處僅以 R1 為視角進行操作,剩下的路由器請自行驗證。
<R1> display bgp peer

# 確認和鄰居到達 Established 狀態,則鄰居建立成功。

  • 確認 bgp 路由表是否學習完所有條目。

# 此處僅以 R1 為視角進行操作,剩下的路由器請自行驗證。
<R1> display bgp routing-table

# 確認所有路由器都學習到了 4 臺 PC 所在網段的子網地址。

2.5 問題分析
  • 這個場景存在什么問題?

# 問題分析

?????? 根據 BGP 的路由優選原則【8)優選從 EBGP 學來的路由(EBGP>IBGP)】,我們可以判斷當前路由的走向如下圖所示。

# 問題描述

?????? 【PC1 --> PC4】(發包) 和 【PC4 --> PC1】(回復) 走了兩條不同的路徑,這將導致 ICMP 環路。

?????? ICMP 環路屬于 最高級別 的網絡故障,它將導致網絡中出現大量的故障,包括路徑不對稱、狀態丟失、TCP 連接建立失敗、HTTPS/SSL 握手中斷、HTTP 請求隨機失敗等,且對于網絡安全有重大影響。

?????? 在實際應用場景中體現為網頁時好時壞、大量丟包、網絡經常中斷等并發現象。

  • 驗證 ICMP 環路

# 在 R1 和 R2 的出口節點抓包,然后用 PC1 ping PC4

# 此時 cimp 數據是通的。

# 從 R2 發出的請求,從 R4 回復,明顯發生了 ICMP 環路。

2.7 題目需求解析
  • 題目需求

需求概括:

??? 讓 PC4 所有通往 PC1 的路徑從 R3 經過。

??? 場景 1:

??????? 假設網絡工程師為 AS 12 的管理員,只擁有 AS 12 的配置權限。

??? 場景 2:

??????? 假設網絡工程師為 AS 34 的管理員,只擁有 AS 34 的配置權限。

  • 根據需求,我們需要實現的路徑為下圖所示。

2.8 場景 1:只允許在 AS12 上操作
  • 解題思路:假設我們是 AS 12 的管理員,只有 AS12 的權限,無法查看 AS34 的配置。已知 AS12 和 AS 34 是對稱拓撲,那么我們就觀察 AS12 當前 bgp 的路由條目,來分析情況。

<R1> display bgp routing-table

# 情況分析
?????? 從 R1 --> R4 的優選路由下一跳走 13.1.1.3(R4,EBGP),MED 屬性值為 null

?????? 由此我們可推測從 R4 --> R1 的優選路由走 R2(EBGP),且 MED 屬性值為 null

  • 解題思路:在 R2 上進行配置,修改 med 屬性值

# 配置方法:在 R2 將路由條目 172.16.1.0/24 通告給 R4 時, 修改 Cost 值


# 1、創建 ip-prefix 前綴列表,命名為 172.16.1.0,抓取 172.16.1.0/24 的路由條目。

[R2] ip ip-prefix 172.16.1.0 index 10 permit 172.16.1.0 24

?

# 2、創建 route-policy 路由策略,命名 COST-1000

[R2] route-policy COST-1000 permit node 10

?

# 3、在 route-policy COST-1000 中匹配 ip-prefix 172.16.1.0

[R2-route-policy] if-match ip-prefix 172.16.1.0

?

# 4、修改 Cost=1000

[R2-route-policy] apply cost 1000

?

# 5、配置兜底策略,放行所有路由條條目

[R2] route-policy COST-1000 permit node 20

?

# 6、進入 bgp,在 R2 將路由條目通告給 R4(peer 24.1.1.4)時,掛載 route-policy COST-1000 路由策略

[R2] bgp 12

[R2-bgp] peer 24.1.1.4 route-policy COST-1000 export

# 注意:本設備路由條目發布給其他設備時 route-policy 的方向是 export

  • 驗證

# 注意:bgp 收斂較慢,配置完需要等待一段時間(32 秒),才能觀察到現象。

# 在 R4 查看 med 值,并觀察優選路由。

<R4> display bgp routing-table

# 通往 24.1.1.2 的路由條目 MED 值修改成功。

# 通往 172.16.1.0/24 的優選路由條目下一跳是 3.3.3.3(R3)。

# ping 測試:pc1 ping pc4,并且在 R1 和 R2 的出口抓包觀察。

# 結果:ping 的發包路徑和回包路徑統一了,解決了 ICMP 環路問題。

2.9 場景 2:只允許在 AS34 上操作
  • 解題思路:在 R4 接收從 R2 通告的路由條目時,修改 cost 值。
  • 在 R4 上進行配置

# 1、創建 ip-prefix 前綴列表,命名為 172.16.1.0,抓取 172.16.1.0/24 的路由條目。

[R4] ip ip-prefix 172.16.1.0 index 10 permit 172.16.1.0 24

?

# 2、創建 route-policy 路由策略,命名 COST-4000

[R4] route-policy COST-4000 permit node 10

?

# 3、在 route-policy COST-4000 中匹配 ip-prefix 172.16.1.0

[R4-route-policy] if-match ip-prefix 172.16.1.0

?

# 4、修改 Cost=4000

[R4-route-policy] apply cost 4000

?

# 5、配置兜底策略,放行所有路由條條目

[R4] route-policy COST-4000 permit node 20

?

# 6、進入 bgp,在 R4 接收從 R2(peer 24.1.1.2) 通告的路由條目時,掛載 route-policy COST-4000 路由策略。

[R4] bgp 34

[R4-bgp] peer 24.1.1.2 route-policy COST-4000 import

# 注意:本設備從外部路引入路由條目時,策略路由需要使用 import 方向。

  • 驗證

<R4> display bgp routing-table

# ping 測試和抓包測試請自行進行測試。
# 測試方法參考場景 1。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/90952.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/90952.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/90952.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

html-初級標簽

一.瀏覽器能識別的標簽 1.1 head標簽里的編碼和title <head><meta charset"UTF-8"><title>Title</title> </head>1.2 標題 <body><h1>Welcome to my website</h1><h2>Welcome to my website</h2><…

【八股消消樂】Kafka集群 full GC 解決方案

&#x1f60a;你好&#xff0c;我是小航&#xff0c;一個正在變禿、變強的文藝傾年。 &#x1f514;本專欄《八股消消樂》旨在記錄個人所背的八股文&#xff0c;包括Java/Go開發、Vue開發、系統架構、大模型開發、具身智能、機器學習、深度學習、力扣算法等相關知識點&#xff…

《Java Web程序設計》實驗報告二 學習使用HTML標簽、表格、表單

目 錄 一、實驗目的 二、實驗環境 三、實驗步驟和內容 1、小組成員分工&#xff08;共計4人&#xff09; 2、實驗方案 3、實驗結果與分析 4、項目任務評價 四、遇到的問題和解決方法 五、實驗總結 一、實驗目的 1、HTML基礎知識、基本概念 2、使用HTML標簽、表格進行…

jenkins使用Jenkinsfile部署springboot+docker項目

文章目錄前言一、前期準備二、編輯構建文件二、Jenkins構建總結前言 前面使用Jenkinsfile部署了前端vue項目&#xff0c;接著學習Jenkinsfile部署springboot項目。 一、前期準備 已經安裝好centos,并且安裝了jenkins和docker。本地新建springboot并上傳到gitee上。 二、編輯…

使用ESM3蛋白質語言模型進行快速大規模結構預測

文章目錄ESM3介紹ESM3在線使用本地使用api批量預測ESM相較于AlphaFold的優勢ESM3介紹 ESM3是由EvolutionaryScale&#xff08;前Meta團隊&#xff09;開發的一款蛋白質大語言模型&#xff0c;于2025年以《用語言模型模擬 5 億年的進化》為題正式發表在Science上 文章鏈接: htt…

PostgreSQL 時間/日期管理詳解

PostgreSQL 時間/日期管理詳解 引言 PostgreSQL是一款功能強大的開源關系型數據庫管理系統&#xff0c;在時間/日期管理方面具有獨特的優勢。本文將詳細介紹PostgreSQL中時間/日期數據類型及其相關功能&#xff0c;幫助讀者更好地理解和應用時間/日期管理。 時間/日期數據類型 …

Agent篇

Agent包含哪些模塊&#xff0c;實現了什么功能Agent 就像一個多功能的接口&#xff0c;它能夠接觸并使用一套工具。根據用戶的輸入&#xff0c;Agent會規劃出一條解決用戶問題的路線&#xff0c;決定其中需要調用哪些工具&#xff0c;并調用這些工具。Agent 大語言模型規劃記憶…

利用 MySQL 進行數據清洗

利用 MySQL 進行數據清洗是數據預處理的重要環節&#xff0c;以下是常見的數據清洗操作及對應 SQL 示例&#xff1a;1. 去除重復數據使用 ROW_NUMBER() 或 GROUP BY 識別并刪除重復記錄。-- 查找重復記錄&#xff08;以 user_id 和 email 為例&#xff09; WITH Duplicates AS …

【MySQL筆記】事務的ACID特性與隔離級別

目錄1. 什么是事務&#xff1f;2. 事務的ACID特性&#xff08;重要&#xff09;3. 事務控制語法4. 隔離級別與并發問題1. 什么是事務&#xff1f; 事務&#xff08;Transaction&#xff09;是由一組SQL語句組成的邏輯單元&#xff0c;這些操作要么全部成功&#xff0c;要么全部…

Mock 數據的生成與使用全景詳解

Mock 數據的生成與使用全景詳解 在后端開發過程中,真實數據往往受限于業務進度、隱私保護或接口未完成等因素,無法及時獲取。這時,Mock數據(模擬數據)就成為開發、測試、聯調不可或缺的利器。本文將從Mock數據的意義、常用場景、主流工具、實戰案例到最佳實踐,帶你全面掌…

HTML 標題標簽

需求&#xff1a;在網頁顯示六級標題標簽。代碼&#xff1a;//需求&#xff1a;在網頁顯示六級標題標簽。 <!DOCTYPE html> <html><head><meta charset"utf-8" /><title></title></head><body><h1>一級標題&l…

(限免!!!)全國青少年信息素養大賽-算法創意實踐挑戰賽小學組復賽(代碼版)

選擇題部分在 C 中&#xff0c;以下代表布爾類型的是&#xff08;  &#xff09;選項&#xff1a;A. double B. bool C. int D. char答案&#xff1a;B解析&#xff1a;C 中布爾類型的關鍵字為bool&#xff0c;用于存儲邏輯值true或false。執行以下程序&#xff0c;輸出的…

編譯器優化——LLVM IR,零基礎入門

編譯器優化——LLVM IR&#xff0c;零基礎入門 對于大多數C開發者而言&#xff0c;我們的代碼從人類可讀的文本到機器可執行的二進制文件&#xff0c;中間經歷的過程如同一個黑箱。我們依賴編譯器&#xff08;如GCC, Clang, MSVC&#xff09;來完成這項復雜的轉換。然而&#x…

react中為啥使用剪頭函數

在 React 中使用箭頭函數&#xff08;>&#xff09;主要有以下幾個原因&#xff1a;1. 自動綁定 this傳統函數的問題&#xff1a;在類組件中&#xff0c;普通函數的this指向會根據調用方式變化&#xff0c;導致在事件處理函數中無法正確訪問組件實例&#xff08;this為undef…

JavaSE-多態

多態的概念在完成某個行為時&#xff0c;不同的對象在完成時會呈現出不同的狀態。比如&#xff1a;動物都會吃飯&#xff0c;而貓和狗都是動物&#xff0c;貓在完成吃飯行為時吃貓糧&#xff0c;狗在完成吃飯行為時吃狗糧&#xff0c;貓和狗都會叫&#xff0c;狗在完成這個行為…

TDengine 使用最佳實踐(2)

TDengine 使用最佳實踐&#xff08;1&#xff09; 安裝部署 目錄規劃 軟件安裝 參數配置 時鐘同步 驗證環境 集群部署 寫入查詢 連接方式 數據寫入 數據查詢 運維巡檢 運維規范 數據庫啟停 狀態檢查 運維技巧 日常巡檢 數據庫升級 故障排查 故障定位 日志調試 故障反饋 關于 T…

如何通過公網IP訪問部署在kubernetes中的服務?

背景說明我們有些私有化部署的項目&#xff0c;使用k8s來承載服務&#xff0c;通過ingress-nginx轉發外部的請求到集群。有時候業主的域名沒有申請下來&#xff0c;我們會配置臨時的域名&#xff0c;測試同事配置主機hosts來完成功能驗證&#xff0c;等功能驗證完畢后&#xff…

Datawhale AI 夏令營2025科大訊飛AI大賽<夏令營:用AI做帶貨視頻評論分析>

賽題題目 任務一&#xff1a;商品識別 基于視頻內容識別對應的商品 【情感分析】對評論文本進行多維度情感分析&#xff0c;涵蓋維度見數據說明&#xff1b; 任務二&#xff08;文本分類&#xff09;&#xff1a;從非結構化評論中提取情感傾向 評論聚類】按商品對歸屬指定維度的…

AI 時代的分布式多模態數據處理實踐:我的 ODPS 實踐之旅、思考與展望

AI 時代的分布式多模態數據處理實踐&#xff1a;我的 ODPS 實踐之旅、思考與展望 &#x1f31f;嗨&#xff0c;我是LucianaiB&#xff01; &#x1f30d; 總有人間一兩風&#xff0c;填我十萬八千夢。 &#x1f680; 路漫漫其修遠兮&#xff0c;吾將上下而求索。 目錄 1. 什…

硬件工程師筆試面試高頻考點匯總——(2025版)

目錄 1 電子器件部分 1.1 電阻 1.1.1 電阻選型時一般從哪幾個方面進行考慮? 1.1.2 上拉下拉電阻的作用 1.1.3 PTC熱敏電阻作為電源電路保險絲的工作原理 1.1.4 如果阻抗不匹配&#xff0c;有哪些后果 1.1.5 電阻、電容和電感0402、0603和0805封裝的含義 1.1.6 電阻、電…