深入解析BGP路由反射器与联邦:突破IBGP全连接限制的两种方案
一、引言:大型BGP网络的挑战
在大型BGP网络架构中,传统的IBGP全连接架构会带来严重的扩展性问题。当网络中存在N台路由器时,需要维护N*(N-1)/2个IBGP连接,这对设备资源和运维管理都是巨大挑战。本文将深入解析两种主流解决方案:路由反射器和联邦体系。
二、路由反射器(Route Reflector)技术解析
场景
问题:
当R2学到他的EBGP对等体R1来的路由后会发送给R3,但是由于IBGP水平分割的限制,R3是无法把路由发送给他的IBGP对等体R4和R5的。
2.1 核心架构原理
路由反射器(RR)通过建立层次化结构打破IBGP水平分割规则:
当我们将一台设备制定成为路由反射器后,同时需要制定他的一个或多个的IBGP对等体作为他的客户。(client)剩余没有被指定为客户的IBGP对等体称为非客户。
- 反射簇:由RR及其客户端组成,簇ID默认采用RR的Router ID
- 角色定义:
- RR(路由反射器):负责路由转发的中枢
- Client(客户端):仅需与RR建立连接
- Non-Client(非客户端):需要与RR保持全连接
2.2 路由反射规则详解
路由来源 | 反射方向 | 典型场景 |
---|---|---|
客户端 | 反射给所有客户端和非客户端 | 分支机构路由传播 |
非客户端 | 仅反射给所有客户端 | 数据中心间路由同步 |
EBGP对等体 | 正常转发给所有IBGP节点 | 互联网路由注入 |
总结为“非非不传”
2.3 防环机制深度剖析
路由反射器实际上通过打破 IBGP 水平分割来实现更灵活的路由传播,所以会有环路出现,这时利用属性来防止路由环路,确保网络的稳定性和可靠性。
路由反射器通过两个关键属性防止环路:
1. Originator_ID
- 记录路由始发者的Router ID
- 当路由器收到携带自身ID的路由时自动丢弃
2. Cluster_List
- 记录路由经过的反射簇ID序列
- 检测到重复簇ID立即终止传播
2.4 配置
#只需在RR上指定client即可
[r3-bgp]peer 2.2.2.2 reflect-client
查看BGP路由详细信息
注意:因为以上两个防环属性是IBGP对等体内部进行防环使用,所以,在发送给自己EBGP对等体时,将不携带。
三、联邦(Confederation)体系架构
3.1 联邦核心设计理念
通过AS嵌套机制实现逻辑分割:
- 成员AS:内部使用私有AS号(64512-65535)
- 联邦AS:对外显示统一公有AS号
- 路由传播:
- 联邦内使用EBGP协议交互
- 对外路由隐藏内部AS细节
3.2 典型配置示例
1)拓补:
2)基础配置准备:
1. 划分IP地址:
路由器 | 环回地址 | 物理接口地址示例 |
---|---|---|
AR1 | 1.1.1.1/24 | GE0/0/0: 12.0.0.1/24 |
AR2 | 2.2.2.2/24 | GE0/0/0: 12.0.0.2/24 GE0/0/1: 23.0.0.1/24 |
AR3 | 3.3.3.3/24 | GE0/0/0: 23.0.0.2/24 GE0/0/1: 34.0.0.1/24 |
AR4 | 4.4.4.4/24 | GE0/0/0: 34.0.0.2/24 GE0/0/1: 45.0.0.1/24 |
AR5 | 5.5.5.5/24 | GE0/0/0: 45.0.0.2/24 GE0/0/1: 56.0.0.1/24 |
AR6 | 6.6.6.6/24 | GE0/0/0: 56.0.0.2/24 |
2. AS2内部配置OSPF实现互通
3)联邦核心配置
R1:
[r1-bgp]dis this
[V200R003C00]
#
bgp 1router-id 1.1.1.1peer 12.0.0.2 as-number 2 (AS之间还是以大AS建邻)#ipv4-family unicastundo synchronizationnetwork 1.1.1.0 255.255.255.0 peer 12.0.0.2 enable
#
return
R2:
[r2-bgp]dis this
[V200R003C00] # 设备系统版本V200R003C00
#
bgp 64512 # 启动BGP进程,使用私有AS号64512(成员AS号)router-id 2.2.2.2 # 设置BGP路由器ID(需与环回地址一致)confederation id 2 # 声明联邦公有AS号# IBGP对等体配置(连接同成员AS的AR3)peer 3.3.3.3 as-number 64512 # 指定邻居AS号peer 3.3.3.3 connect-interface LoopBack0 # 使用环回口建立邻居# EBGP对等体配置(连接外部AS1的AR1)peer 12.0.0.1 as-number 1 # 指定邻居AS号(物理接口直连)#ipv4-family unicast # 进入IPv4单播地址族视图undo synchronization # 关闭BGP与IGP同步(华为默认关闭)# 在IPv4地址族下激活邻居peer 3.3.3.3 enable # 使能IBGP邻居的IPv4路由交换peer 3.3.3.3 next-hop-local # 修改下一跳为自身(华为设备必须显式配置)peer 12.0.0.1 enable # 使能EBGP邻居的IPv4路由交换
#
return
R3:
[r3-bgp]dis this
[V200R003C00]
#
bgp 64512router-id 3.3.3.3confederation id 2confederation peer-as 64513 # 声明联邦邻居ASpeer 2.2.2.2 as-number 64512 peer 2.2.2.2 connect-interface LoopBack0peer 4.4.4.4 as-number 64513 peer 4.4.4.4 ebgp-max-hop 255 peer 4.4.4.4 connect-interface LoopBack0#ipv4-family unicastundo synchronizationpeer 2.2.2.2 enablepeer 4.4.4.4 enable
#
return
R4:
[r4-bgp]dis this
[V200R003C00]
#
bgp 64513router-id 4.4.4.4confederation id 2confederation peer-as 64512 # 声明联邦邻居ASpeer 3.3.3.3 as-number 64512 peer 3.3.3.3 ebgp-max-hop 255 peer 3.3.3.3 connect-interface LoopBack0peer 5.5.5.5 as-number 64513 peer 5.5.5.5 connect-interface LoopBack0#ipv4-family unicastundo synchronizationpeer 3.3.3.3 enablepeer 5.5.5.5 enable
#
return
R5:
[r5-bgp]dis this
[V200R003C00]
#
bgp 64513router-id 5.5.5.5confederation id 2peer 4.4.4.4 as-number 64513 peer 4.4.4.4 connect-interface LoopBack0peer 56.0.0.2 as-number 3 #ipv4-family unicastundo synchronizationpeer 4.4.4.4 enablepeer 56.0.0.2 enable
#
return
R6:
[r6-bgp]dis this
[V200R003C00]
#
bgp 3router-id 6.6.6.6peer 56.0.0.1 as-number 2 #ipv4-family unicastundo synchronizationpeer 56.0.0.1 enable
#
return
联邦也打破了IBGP水平分割,所以,也有可能出环,因为已经成为EBGP对等体关系,则可以直接使用EBGP对等体的水平分割---即通过AS_PATH属性来进行防环。
注意,联邦的AS号使用小括号括起来,在防环时,需要防止回传,但是,在选路时,直接不考虑。因为联邦的AS号是IBGP对等体内部进行防环使用,所以,在发送给自己EBGP对等体时,将不携带。
相关文章:

深入解析BGP路由反射器与联邦:突破IBGP全连接限制的两种方案
一、引言:大型BGP网络的挑战 在大型BGP网络架构中,传统的IBGP全连接架构会带来严重的扩展性问题。当网络中存在N台路由器时,需要维护N*(N-1)/2个IBGP连接,这对设备资源和运维管理都是巨大挑战。本文将深入解析两种主流解决方案&a…...

QT设置MySQL驱动
QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7 第一步:下载MySQL https://dev.mysql.com/downloads/mysql/ 解压缩下载的安装包,其目录结构如下所示: 第二…...

String的一些固定程序函数
append reverse length toString...

3.2/Q2,Charls最新文章解读
文章题目:Transition of nighttime sleep duration and sleep quality with incident cardiovascular disease among middle-aged and older adults: results from a national cohort study DOI:10.1186/s13690-025-01577-5 中文标题:中老年人…...

大麦(Hordeum vulgare)中 BAHD 超家族酰基转移酶-文献精读129
Systematic identification and expression profiles of the BAHD superfamily acyltransferases in barley (Hordeum vulgare) 系统鉴定与大麦(Hordeum vulgare)中 BAHD 超家族酰基转移酶的表达谱分析 摘要 BAHD 超家族酰基转移酶在植物中催化和调控次…...

docker迅雷自定义端口号、登录用户名密码
在NAS上部署迅雷,确实会带来很大的方便。但是目前很多教程都是讲怎么部署docker迅雷,鲜有将自定义配置的方法。这里讲一下怎么部署,并重点讲一下支持的自定义参数。 一、部署docker 在其他教程中,都是介绍的如下命令,…...

中国30米年度土地覆盖数据集及其动态变化(1985-2022年)
中文名称 中国30米年度土地覆盖数据集及其动态变化(1985-2022年) 英文名称:The 30 m annual land cover datasets and its dynamics in China from 1985 to 2022 CSTR:11738.11.NCDC.ZENODO.DB3943.2023 DOI 10.5281/zenodo.8176941 数据共享方式:…...

3D个人简历网站 5.天空、鸟、飞机
1.显示天空 models下新建文件Sky.jsx Sky.jsx // 从 React 库中导入 useRef 钩子,用于创建可变的 ref 对象 import { useRef } from "react"; // 从 react-three/drei 库中导入 useGLTF 钩子,用于加载 GLTF 格式的 3D 模型 import { useGLT…...

STM32IIC实战-OLED模板
STM32IIC实战-OLED模板 一,SSD1306 控制芯片1, 主要特性2,I2C 通信协议3, 显示原理4, 控制流程5, 开发思路 二,HAL I2C API 解析I2C 相关 API1,2,3,4…...
Sparse4D运行笔记
Sparse4D有三个版本,其中V1和V2版本的官方文档中环境依赖写得比较模糊且依赖库有版本冲突。 1. Sparse4D V1 创建环境 conda create sparse4dv1 python3.8 激活环境 conda activate sparse4dv1 安装torch, torchvision, torchaudio pip install torch1.13.0c…...
Redis设计与实现——分布式Redis
Redis Sentinel(哨兵) Sentinel 的工作机制 故障检测(Failure Detection) 主观下线(Subjective Down):单个 Sentinel 实例检测到主节点在30 秒内无响应,标记其为 SDOWN。 客观下线…...
多指标组合策略
该策略(MultiConditionStrategy)是一种基于多种技术指标和市场条件的交易策略。它通过综合考虑多个条件来生成交易信号,从而决定买入或卖出的时机。 以下是对该策略的详细分析: 交易逻辑思路 1. 条件1:星期几和价格变化判断 - 该条件根据当前日期是星期几以及价格的变化…...

c#车检车构客户管理系统软件车辆年审短信提醒软件
# CMS_VehicleInspection 车检车构客户管理系统软件车辆年审短信提醒软件 # 开发背景 软件是给泸州某公司开发的车检车构客户管理系统软件。用于在车检年审到期前一个月给客户发送车检短信提醒 # 功能描述 主要功能:车辆年审前一个月给客户发年审短信提醒…...
Java爬虫能处理京东商品数据吗?
Java爬虫完全可以处理京东商品数据。通过Java爬虫技术,可以高效地获取京东商品的详细信息,包括商品名称、价格、图片、描述等。这些信息对于市场分析、选品上架、库存管理和价格策略制定等方面具有重要价值。以下是一个完整的Java爬虫示例,展…...

通俗版解释CPU、核心、进程、线程、协程的定义及关系
通俗版解释(比喻法) 1. CPU 和核心 CPU 一个工厂(负责干活的总部)。核心 工厂里的车间(比如工厂有4个车间,就能同时处理4个任务)。 2. 进程 进程 一家独立运营的公司(比如一家…...

大语言模型 11 - 从0开始训练GPT 0.25B参数量 MiniMind2 准备数据与训练模型 DPO直接偏好优化
写在前面 GPT(Generative Pre-trained Transformer)是目前最广泛应用的大语言模型架构之一,其强大的自然语言理解与生成能力背后,是一个庞大而精细的训练流程。本文将从宏观到微观,系统讲解GPT的训练过程,…...

USRP 射频信号 采集 回放 系统
USRP 射频信号采集回放系统 也可以叫做: 利用宽带RF录制和回放系统实现6G技术研究超宽带射频信号采集回放系统使用NI USRP平台实现射频信号录制和回放操作演示USRP也能实现多通道宽带信号流盘回放了! 对于最简单的实现方法就是使用LabVIEW进行实现 采…...

【skywalking】index“:“skywalking_metrics-all“},“status“:404}
skywalking 启动报错 java.lang.RuntimeException: {"error":{"root_cause":[{"type":"index_not_found_exception","reason":"no such index [skywalking_metrics-all]","resource.t ype":"inde…...
handsome主题美化及优化:10.1.0最新版 - 1
文章目录 前言右侧导航栏主题标题居中页面两侧框架留白间距handsome 原生入站提示评论一键赞、踩、打卡时光机头像圆形logo 扫光赞赏按钮跳动鼠标点击特效复制版权提示彩色标签云及右栏数字自定义右键响应时间和访客总数全站字数统计版权提示时间流逝添加心知天气总结 前言 ha…...
(9)python开发经验
文章目录 1 os.path.join()拼接路径2 条件变量3 添加临时环境变量 更多精彩内容👉内容导航 👈👉Qt开发 👈👉python开发 👈 1 os.path.join()拼接路径 os.path.join() 是 Python 中处理文件路径拼接的核心函…...

【C++详解】string各种接口如何使用保姆级攻略
文章目录 一、string介绍二、string使用构造函数析构函数赋值运算符重载string的遍历修改方法1、下标[]2、迭代器3、范围for 迭代器使用详解const迭代器反向迭代器(reverse) Capacity(容量相关)size/lengthmax_sizecapacityclear/emptyshrink_to_fit(缩容)reserve(扩…...

2025深圳杯D题法医物证多人身份鉴定问题四万字思路
Word版论文思路和千行Python代码下载:https://www.jdmm.cc/file/2712074/ 引言 法医遗传学中的混合生物样本分析,特别是短串联重复序列(Short Tandem Repeat, STR)分型结果的解读,是现代刑事侦查和身份鉴定领域的核心…...

【时时三省】(C语言基础)字符数组应用举例2
山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省 例题: 有3个字符串,要求找出其中“最大”者。 解题思路: 可以设一个二维的字符数组str,大小为320,即有3行20列(每一…...

Mysql触发器(附案例)
文章目录 触发器简介1、insert类型2、update类型3、delete类型总结 触发器简介 触发器是与表有关的数据库对象,指定在 insert/update/delete 之前或之后,触发并执行触发器中定义的SQL语句集合。触发器的这种特性可以协助应用在数据库端确保数据的完整性…...

使用DDR4控制器实现多通道数据读写(十二)
一、章节概括 这一节使用interconnect RTL ip核将DDR4与四个读写通道级联,在测试工程中,将四个通道同时写入/读出地址与数据,并使用modelsim仿真器仿真,四个通道同时发送写请求或读请求后,经过interconnect后ÿ…...

Kafka 生产者工作流程详解
以下是 Kafka 生产者工作流程的清晰分步解释,结合关键机制与用户数据: 1. 生产者初始化与数据发送 主线程创建生产者对象,调用 send(ProducerRecord) 发送消息。 拦截器(可选):可添加自定义逻辑(…...

完整卸载 Fabric Manager 的方法
目录 ✅ 完整卸载 Fabric Manager 的方法 1️⃣ 停止并禁用服务 2️⃣ 卸载 Fabric Manager 软件包 3️⃣ 自动清理无用依赖(可选) 4️⃣ 检查是否卸载成功 ✅ 补充(仅清除服务,不删包) ✅ 完整卸载 Fabric Mana…...

地下停车场调频广播无线覆盖系统:融合精准选频光纤传输均匀覆盖于一体的创新型地下车库广播无线覆盖平台
地下停车场调频广播无线覆盖系统:融合精准选频光纤传输均匀覆盖于一体的创新型地下车库广播无线覆盖平台 北京海特伟业科技有限公司任洪卓发布于2025年5月16日 在现代城市建设中,地下停车场已成为商业综合体、写字楼、住宅区及交通枢纽的标配设施。然而…...

【Linux】进程间通信(一):认识管道
📝前言: 这篇文章我们来讲讲进程间通信——认识管道 🎬个人简介:努力学习ing 📋个人专栏:Linux 🎀CSDN主页 愚润求学 🌄其他专栏:C学习笔记,C语言入门基础&a…...

中大型水闸安全监测系统解决方案
一、方案概述 中大型水闸作为水利工程的重要组成部分,承担着调节水位、控制水流、防洪排涝等多重功能,在防洪减灾、水资源配置、生态环境改善等方面发挥着巨大作用。然而,由于历史原因,许多水闸存在建设标准偏低、质量较差、配套设…...