当前位置: 首页 > news >正文

BGP之选路MED

原理概述
当一台BGP路由器中存在多条去往同一目标网络的BGP路由时,BGP协议会对这些BGP路由的属性进行比较,以确定去往该目标网络的最优BGP路由。BGP路由属性的比较顺序为Preferred Value属性、Local Preference属性、路由生成方式、AS_Path属性、Origin属性、MED属性、BGP对等体类型等。
MED (MULTI_EXIT_DISC)也称为多出口鉴别器,它是一个4字节的整数,取值范围为0~4294967295。缺省情况下,MED 的值为0,但通过命令default med value可对其进行修改。MED的数值越小,表明相应的路由优先级越高,因此MED也常被称为Cost。MED属性的主要作用是用来控制来自邻居AS的流量从哪个入口进入到本AS中。
缺省情况下,只有去往同一目标网络的多条路由均来自同一个邻居AS时,BGP才会比较这些路由的MED值,但是,配置命令compare-different-as-med后,则会比较来自不同邻居AS的目标网络相同的BGP路由的MED值。注意,MED属性只会影响相邻两个AS,收到MED属性的AS不会把此属性再继续传递给别的AS。


实验目的
理解MED属性对BGP路径选择的影响掌握修改MED属性的方法
掌握通过修改MED值实现流量分担的方法实验内容


本实验包含了4个AS,所有的路由器都运行BGP,所有的BGP邻居关系都使用直连物理接口来建立。R1上的Loopback 1、Loopback 2、Loopback 3接口用来分别模拟3个网络172.16.1.0/24、172.16.2.0/24、192.168.1.0/24,这3个网络都被通告进BGP进程。对于通信的需求是:从AS 200去往172.16.1.0/24 的数据流量需经由R1的GE 0/0/2接口进入 AS 100,从 AS 200去往172.16.2.0/24 的数据流量需经由R1的GE 0/0/0接口进入 AS 100,从 AS 400 去往192.168.1.0/24的数据流量需先通过R4,然后经由Rl的GE 0/0/1接口进入AS 100,所有需求都应通过修改MED属性值来实现。

1、基础配置
R1:
sys
sysname R1
int loop 0
ip add 10.0.1.1 32
int loop 1
ip add 172.16.1.1 24
int loop 2
ip add 172.16.2.1 24
int loop 3
ip add 192.168.1.1 24
int g0/0/2
ip add 10.0.12.1 24
int g0/0/0
ip add 10.0.13.1 24
int g0/0/1
ip add 10.0.14.1 24
q
bgp 100router-id 10.0.1.1peer 10.0.12.2 as-number 200peer 10.0.13.3 as-number 200peer 10.0.14.4 as-number 300#ipv4-family unicastundo synchronizationnetwork 10.0.1.1 255.255.255.255network 172.16.1.0 255.255.255.0network 172.16.2.0 255.255.255.0network 192.168.1.0peer 10.0.12.2 enablepeer 10.0.13.3 enablepeer 10.0.14.4 enableR2:
sys
sysname R2
int loop 0
ip add 10.0.2.2 32
int g0/0/2
ip add 10.0.12.2 24
int g0/0/0
ip add 10.0.23.2 24
int g0/0/1
ip add 10.0.25.2 24
q
bgp 200router-id 10.0.2.2peer 10.0.12.1 as-number 100peer 10.0.23.3 as-number 200peer 10.0.25.5 as-number 400#ipv4-family unicastundo synchronizationnetwork 10.0.2.2 255.255.255.255peer 10.0.12.1 enablepeer 10.0.23.3 enablepeer 10.0.23.3 next-hop-localpeer 10.0.25.5 enableR3:
sys
sysname R3
int loop 0
ip add 10.0.3.3 32
int g0/0/1
ip add 10.0.13.3 24
int g0/0/0
ip add 10.0.23.3 24
int g0/0/2
ip add 10.0.35.3 24
q
bgp 200router-id 10.0.3.3peer 10.0.13.1 as-number 100peer 10.0.23.2 as-number 200peer 10.0.35.5 as-number 400#ipv4-family unicastundo synchronizationnetwork 10.0.3.3 255.255.255.255peer 10.0.13.1 enablepeer 10.0.23.2 enablepeer 10.0.23.2 next-hop-localpeer 10.0.35.5 enableR4:
sys
sysname R4
int loop 0
ip add 10.0.4.4 32
int g0/0/0
ip add 10.0.14.4 24
int g0/0/1
ip add 10.0.45.4 24
q
bgp 300peer 10.0.14.1 as-number 100peer 10.0.45.5 as-number 400#ipv4-family unicastundo synchronizationnetwork 10.0.4.4 255.255.255.255peer 10.0.14.1 enablepeer 10.0.45.5 enableR5:
sys
sysname R5
int loop 0
ip add 10.0.5.5 32
int g0/0/2
ip add 10.0.25.5 24
int g0/0/1
ip add 10.0.35.5 24
int g0/0/0
ip add 10.0.45.5 24
q
bgp 400router-id 10.0.5.5peer 10.0.25.2 as-number 200peer 10.0.35.3 as-number 200peer 10.0.45.4 as-number 300#ipv4-family unicastundo synchronizationnetwork 10.0.5.5 255.255.255.255peer 10.0.25.2 enablepeer 10.0.35.3 enablepeer 10.0.45.4 enable

 

可以看到,R2、R3、R4、R5上都接收到了R1的4个网段的路由信息。仔细观察发现,无论是通过EBGP邻居还是IBGP邻居接收到的路由条目,以及路由器自身产生的BGP路由条目,其MED字段的值均为0。如果接收到的路由条目经过了一个AS进行中转,那么 MED值将会丢失,设置为空。在BGP选择最住路径时,MED值为空实际上等同于值为0。

 在,AS 100的管理员要求AS 200访问172.16.1.0/24网络的流量从R1的GE 0/0/2接口进入AS 100,访问172.16.2.0/24网络的流量从R1的GE O/0/0接口进入AS 100。

ip ip-prefix 1 permit 172.16.1.0 24
ip ip-prefix 2 permit 172.16.2.0 24
route-policy 1 permit node 10
if-match ip-prefix 1
apply cost 100
route-policy 1 permit node 20
if-match ip-prefix 2
apply cost 200
route-policy 1 permit node 30route-policy 2 permit node 10
if-match ip-prefix 2
apply cost 100
route-policy 2 permit node 20
if-match ip-prefix 1
apply cost 200
route-policy 2 permit node 30
bgp 100
peer 10.0.12.2 route-policy 1 export
peer 10.0.13.3 route-policy 2 export

 在PrefVal属性、LocPrf属性、路由生成方式、AS_Path属性、Origin属性都相同的情况下,BGP会选择最小MED值的路由作为最优路由。可以看到,在R2的BGP路由表中,去往172.16.1.0/24的下一跳为10.0.12.1,MED值为100,也就是选择了R1的GE0/0/2接口作为进入AS 100的入口;去往172.16.2.0/24的下一跳为10.0.23.3,MED值为100,也就是选择了R1的GE O/0/0接口作为进入AS 100的入口。
根据相同的原理,R3选择了去往目标网络172.16.1.0/24的下一跳为10.0.23.2,也就是选择了R1的GE 0/0/2接口作为进入AS 100的入口;去往目标网络172.16.2.0/24的下一跳为10.0.13.1,也就是选择了R1的GE 0/0/0接口作为进入AS 100的入口。

可以观察到,R2和 R3去往172.16.1.0/24 网络的路由都携带了MED属性,而R5去往172.16.1.0/24网络的路由,没有MED值,这说明BGP路由的MED属性只传递给邻居AS,邻居AS不会将收到的MED属性再传递给其他AS。

 可以看到,在R5的 BGP路由表中有多条去往192.168.1.0/24网络的路由。我们知道,通过PrefVal属性、LocPrf属性、路由生成方式、AS_Path属性、Origin属性的比较都无法选出最优路由时,BGP将会比较MED属性。但是,在默认情况下,BGP不会比较来自不同 AS 的路由的MED属性,所以R5无法通过比较MED属性选择出去往192.168.1.0/24 网络的最优路由。为此,BGP会继续依次比较邻居类型、到达下一跳的IGP开销值等,最后的结果是,R5选择了Router-ID最小的路由器R2发布的路由作为最优路由。
现在,网络管理员希望AS 400去往192.168.1.0/24网络的流量经由R4,然后通过R1的GE 0/0/1接口进入 AS 100,采用的方法是修改R2、R3和R4 在传递关于192.168.1.0/24的路由信息给R5时的MED属性值。

 

R2:
ip ip-prefix 1 permit 192.168.1.0 24
route-policy 1 permit node 10
if-match ip-prefix 1
apply cost 200
route-policy 1 permit node 20
bgp 200
peer 10.0.25.5 route-policy 1 export
R3:
ip ip-prefix 1 permit 192.168.1.0 24
route-policy 1 permit node 10
if-match ip-prefix 1
apply cost 200
route-policy 1 permit node 20
bgp 200
peer 10.0.35.5 route-policy 1 export
R4
ip ip-prefix 1 permit 192.168.1.0 24
route-policy 1 permit node 10
if-match ip-prefix 1
apply cost 100
route-policy 1 permit node 20
bgp 300
peer 10.0.45.5 route-policy 1 export

在R5上,配置compare-different-as-med命令,让R5强制比较来自不同AS 且去往同一目标网络的路由的MED属性值。

相关文章:

BGP之选路MED

原理概述 当一台BGP路由器中存在多条去往同一目标网络的BGP路由时,BGP协议会对这些BGP路由的属性进行比较,以确定去往该目标网络的最优BGP路由。BGP路由属性的比较顺序为Preferred Value属性、Local Preference属性、路由生成方式、AS_Path属性、Origin属…...

KunDB4.0:安全能力与Oracle兼容性提升,支持跨系统多租户部署

KunDB是星环科技自主研发的分布式交易型数据库,高度兼容Oracle和MySQL,提供数据强一致、高可用、高性能、高扩展、应用透明等能力,可在云上和物理机上容器化部署运行,一站式解决企业数据存储、管理、计算与安全性问题。 过去半年…...

JVM的 6 种垃圾回收算法

JVM的垃圾回收(Garbage Collection, GC)算法,在面试八股文时偶尔会被问到,了解一些常见的垃圾回收算法有利于面试时吊打面试官。 以下是JVM常见的几种垃圾回收算法的介绍: 1. 标记-清除算法(Mark-Sweep&a…...

【SOC 芯片设计 DFT 学习专栏 -- DFT OCC 与 ATPG的介绍】

请阅读【嵌入式及芯片开发学必备专栏】 请阅读【芯片设计 DFT 学习系列 】 如有侵权,请联系删除 转自: 简矽芯学堂 简矽芯学堂 2024年01月18日 09:00 陕西 文章目录 OCC 介绍Fast ScanFull chip ATPGPartition ATPGHierarchical ATPG OCC 介绍 OCC&am…...

自动驾驶-机器人-slam-定位面经和面试知识系列03之C++STL面试题(01)

这两天有点忙耽搁了,抱歉!!! 这个博客系列会分为C STL-面经、常考公式推导和SLAM面经面试题等三个系列进行更新,基本涵盖了自己秋招历程被问过的面试内容(除了实习和学校项目相关的具体细节)。…...

红狮金业解读:分析高价位黄金的后续投资吸引力

在全球经济格局不断变化的背景下,黄金作为传统的避险资产一直备受投资者关注。近期,金价持续走高,引发了市场对黄金是否仍然是优质资产配置的讨论。本文红狮启富将从长期需求、价格驱动因素的变化以及汇率影响三个角度,深入分析黄…...

LDR6020双盲插便携显示器应用

随着USB Type-C接口的普及,越来越多的手机和笔记本电脑都支持通过C接口输出视频。这个小巧而精密的接口,大有把传统的HDMI和DisplayPort接口取而代之的架势。特别是usb4的推出,更是为USB TYPE-C接口一统有线接口形态奠定了基础。 单USB-C接口…...

【HashMap源码学习】

HashMap的底层结构 HashMap是基于分离链表法解决散列冲突的动态散列表。 1、在jdk7中,使用的是“数组 链表”,发生散列冲突的时候键值对会用头插法添加到单链表中; 2、在jdk8中,使用的是“数组 链表 红黑树”,发…...

Git关联本地仓库和远程仓库

Step 1 添加远程仓库: git remote add <远程仓库别名><远程仓库地址> Step 2 git push -u <远程仓库名><分支名> 查看远程仓库: git remote -v 拉取远程仓库内容: 拉取服务器仓库过程中&#xff0c;如果本地和服务器有文件冲突&#xff0c;则会拉取失…...

【Django】在vscode中新建Django应用并新增路由

文章目录 打开一个终端输入新建app命令在app下的views.py内写一个视图app路由引入该视图项目路由引入app路由项目(settings.py)引入app&#xff08;AntappConfig配置类&#xff09;运行项目 打开一个终端 输入新建app命令 python manage.py startapp antapp在app下的views.py内…...

DT浏览器首页征集收录海内外网址

DT浏览器首页征集收录海内外网址&#xff0c;要求页面整洁&#xff0c;内容丰富&#xff0c;知识性和可读性强&#xff0c;符合大众价值观&#xff0c;不含恶意代码...

便携解码耳放

想象一下&#xff0c;你正在拥挤的地铁上&#xff0c;耳机里传来的音乐却仿佛带你置身于音乐厅&#xff0c;每一个音符都清晰、动人。这不是科幻小说&#xff0c;而是便携解码耳放&#xff08;DAC/AMP&#xff09;带给你的真实体验。无论你是在旅行、通勤还是在咖啡馆里工作&am…...

响应式编程框架Reactor之 Flux 和 Mono 的介绍和区别

Flux和Mono在Reactor框架中都是响应式编程模型的重要概念,它们在处理异步数据流时发挥着重要作用,两者之间也存在一些差异。 Mono的介绍 基本概念: Mono是Reactor中的一个类,它表示一个异步的单个值或零个值的结果。Mono可以看作是一个特殊的Publisher,用于产生数据流,…...

2.3 openCv 对矩阵执行掩码操作

在矩阵上进行掩模操作相当简单。其基本思想是根据一个掩模矩阵(也称为核)来重新计算图像中每个像素的值。这个掩模矩阵包含的值决定了邻近像素(以及当前像素本身)对新的像素值产生多少影响。从数学角度来看,我们使用指定的值来做一个加权平均。 具体而言,掩模操作通常涉…...

贪心算法(三) ---cmp_to_key, 力扣452,力扣179

目录 cmp_to_key 比较函数 键函数 cmp_to_key 的作用 使用 cmp_to_key 代码解释 力扣452 ---射气球 题目 分析 代码 力扣179 ---最大数 题目 分析 代码 cmp_to_key 在Python中&#xff0c;cmp_to_key 是一个函数&#xff0c;它将一个比较函数转换成一个键函数…...

学生信息管理系统详细设计文档

一、设计概述 学生信息管理系统是一个用于管理学生信息的软件系统&#xff0c;旨在提高学校对学生信息的管理效率。本系统主要包括学生信息管理、课程信息管理、成绩信息管理、班级信息管理等功能模块。详细设计阶段的目标是确定各个模块的实现算法&#xff0c;并精确地表达这…...

leetcode10 -- 正则表达式匹配

题目描述&#xff1a; 给你一个字符串 s 和一个字符规律 p&#xff0c;请你来实现一个支持 . 和 * 的正则表达式匹配。 . 匹配任意单个字符* 匹配零个或多个前面的那一个元素 所谓匹配&#xff0c;是要涵盖 整个 字符串 s的&#xff0c;而不是部分字符串。 示例 1&#xff1…...

Binius-based zkVM:为Polygon AggLayer开发、FPGA加速的zkVM

1. 引言 近日&#xff0c;ZK硬件加速巨头Irreducible和Polygon团队宣布联合开发生产级的Binius-based zkVM&#xff0c;用于助力Polygon AggLayer&#xff0c;实现具有低开销、硬件加速的binary proofs。 Irreducible&#xff08;曾用名为Ulvetanna&#xff09;团队 Benjamin …...

基于 HTML+ECharts 实现的大数据可视化平台模板(含源码)

构建大数据可视化平台模板&#xff1a;基于 HTML 和 ECharts 的实现 大数据的可视化对于企业决策、市场分析和业务洞察至关重要。通过直观的数据展示&#xff0c;团队可以快速理解复杂的数据模式&#xff0c;发现潜在的业务机会。本文将详细介绍如何利用 HTML 和 ECharts 实现一…...

特征工程在机器学习中的重要性

特征工程在机器学习中的重要性 特征工程在机器学习中占据着至关重要的地位&#xff0c;它是连接原始数据与机器学习模型之间的桥梁。通过特征工程&#xff0c;我们可以将原始数据转换为机器学习算法能够有效利用的形式&#xff0c;从而提高模型的性能和准确性。以下是特征工程…...

XCTF-web-easyupload

试了试php&#xff0c;php7&#xff0c;pht&#xff0c;phtml等&#xff0c;都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接&#xff0c;得到flag...

【WiFi帧结构】

文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成&#xff1a;MAC头部frame bodyFCS&#xff0c;其中MAC是固定格式的&#xff0c;frame body是可变长度。 MAC头部有frame control&#xff0c;duration&#xff0c;address1&#xff0c;address2&#xff0c;addre…...

Debian系统简介

目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版&#xff…...

QMC5883L的驱动

简介 本篇文章的代码已经上传到了github上面&#xff0c;开源代码 作为一个电子罗盘模块&#xff0c;我们可以通过I2C从中获取偏航角yaw&#xff0c;相对于六轴陀螺仪的yaw&#xff0c;qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容

基于 ​UniApp + WebSocket​实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配​微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

SCAU期末笔记 - 数据分析与数据挖掘题库解析

这门怎么题库答案不全啊日 来简单学一下子来 一、选择题&#xff08;可多选&#xff09; 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘&#xff1a;专注于发现数据中…...

连锁超市冷库节能解决方案:如何实现超市降本增效

在连锁超市冷库运营中&#xff0c;高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术&#xff0c;实现年省电费15%-60%&#xff0c;且不改动原有装备、安装快捷、…...

Nuxt.js 中的路由配置详解

Nuxt.js 通过其内置的路由系统简化了应用的路由配置&#xff0c;使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...