目录

一、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 电阻、电…