BGP边界网关协议(Border Gateway Protocol)路由聚合详解
一、路由聚合
1、意义
在大规模的网络中,BGP路由表十分庞大,给设备造成了很大的负担,同时使发生路由振荡的几率也大大增加,影响网络的稳定性。
路由聚合是将多条路由合并的机制,它通过只向对等体发送聚合后的路由而不发送所有的具体路由的方法,减小路由表的规模。并且被聚合的路由如果发生路由振荡,也不再对网络造成影响,从而提高了网络的稳定性。
BGP在IPv4网络中支持自动聚合和手动聚合两种方式,而IPv6网络中仅支持手动聚合方式
二、路由聚合的方式
1、Network
改变引入路由条目的掩码,通过手动配置静态Null0路由来达到防环的目的
1)基础接口配置
#
interface LoopBack12ip address 1.1.12.1 255.255.255.0
#
interface LoopBack13ip address 1.1.13.1 255.255.255.0
#
interface LoopBack14ip address 1.1.14.1 255.255.255.0
#
interface LoopBack15ip address 1.1.15.1 255.255.255.0
#
ip route-static 1.1.12.0 22 NULL 0
#
bgp 1#ipv4-family unicastnetwork 1.1.12.0 255.255.252.0
#
2)优点
该方式相对稳定,即使明细路由丢失,也不会引起路由收敛震荡,导致的拓扑变更。
一般建议配置在始发的AS路由器上。
3)路由表项
<AR2>dis bgp routing-tableBGP Local router ID is 2.2.2.2Status codes: * - valid, > - best, d - damped,h - history, i - internal, s - suppressed, S - StaleOrigin : i - IGP, e - EGP, ? - incompleteTotal Number of Routes: 3Network NextHop MED LocPrf PrefVal Path/Ogn*> 1.1.12.0/22 10.1.123.1 0 0 1i* i 10.1.1.1 0 100 0 1i
<AR2>ping 1.1.12.1PING 1.1.12.1: 56 data bytes, press CTRL_C to breakReply from 1.1.12.1: bytes=56 Sequence=1 ttl=255 time=50 msReply from 1.1.12.1: bytes=56 Sequence=2 ttl=255 time=60 msReply from 1.1.12.1: bytes=56 Sequence=3 ttl=255 time=40 ms--- 1.1.12.1 ping statistics ---3 packet(s) transmitted3 packet(s) received0.00% packet lossround-trip min/avg/max = 40/50/60 ms<AR2>dis bgp routing-table 1.1.12.0BGP local router ID : 2.2.2.2Local AS number : 235Paths: 2 available, 1 best, 1 selectBGP routing table entry information of 1.1.12.0/22:From: 10.1.123.1 (1.1.1.1)Route Duration: 00h02m22sDirect Out-interface: GigabitEthernet0/0/0Original nexthop: 10.1.123.1Qos information : 0x0AS-path 1, origin igp, MED 0, pref-val 0, valid, external, best, select, active, pre 255Advertised to such 2 peers:10.1.5.510.1.3.3BGP routing table entry information of 1.1.12.0/22:From: 10.1.3.3 (3.3.3.3)Route Duration: 00h02m21sRelay IP Nexthop: 10.1.123.1Relay IP Out-Interface: GigabitEthernet0/0/0Original nexthop: 10.1.1.1Qos information : 0x0AS-path 1, origin igp, MED 0, localpref 100, pref-val 0, valid, internal, pre 255, IGP cost 1, not preferred for peer typeNot advertised to any peer yet<AR2>
2、自动聚合
1)基本配置
接口ip地址复用
#
bgp 1#ipv4-family unicastsummary automaticimport-route direct route-policy sum
#
route-policy sum permit node 10if-match interface LoopBack12if-match interface LoopBack13if-match interface LoopBack14if-match interface LoopBack15
#
route-policy sum deny node 20
#
2)路由表项
下图可知,当配置自动聚合后会所有聚合路由所覆盖的明细路由均被抑制(s),且自动聚合掩码较大(当前路由表为8位),不够精确,且产生的为主类路由
[AR1]dis bgp routing-tableBGP Local router ID is 1.1.1.1Status codes: * - valid, > - best, d - damped,h - history, i - internal, s - suppressed, S - StaleOrigin : i - IGP, e - EGP, ? - incompleteTotal Number of Routes: 7Network NextHop MED LocPrf PrefVal Path/Ogn*> 1.0.0.0 127.0.0.1 0 ?s> 1.1.12.0/24 0.0.0.0 0 0 ?s> 1.1.13.0/24 0.0.0.0 0 0 ?s> 1.1.14.0/24 0.0.0.0 0 0 ?s> 1.1.15.0/24 0.0.0.0 0 0 ?*> 55.5.5.0/24 10.1.123.2 0 235?* 10.1.3.3 0 235?
[AR1]
自动路由聚合会默认生成一条Null0路由,无需手动配置
[AR1]dis ip routing-table 1.0.0.0
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Table : Public
Summary Count : 1
Destination/Mask Proto Pre Cost Flags NextHop Interface1.0.0.0/8 IBGP 255 0 D 127.0.0.1 NULL0[AR1]
自动聚合路由为本地始发路由,会携带local属性,
携带local属性的路由有
(1)network引入的路由
(2)import-route引入的路由
(3)自动聚合产生的主类路由

3、手动聚合
1)基本配置
在自动聚合的基础上只使用路由策略引入相关路由信息,不配置自动聚合命令
#
bgp 1router-id 1.1.1.1
#ipv4-family unicastimport-route direct route-policy ar1-ar2-expeer 10.1.123.2 route-policy ar1-ar2-ex export
#
Basic ACL 2012, 1 rule
Acl's step is 5rule 5 permit source 1.1.12.0 0Basic ACL 2013, 1 rule
Acl's step is 5rule 5 permit source 1.1.13.0 0Basic ACL 2014, 1 rule
Acl's step is 5rule 5 permit source 1.1.14.0 0Basic ACL 2015, 1 rule
Acl's step is 5rule 5 permit source 1.1.15.0 0
#
route-policy ar1-ar2-ex permit node 10if-match acl 2012apply as-path 12 additive
#
route-policy ar1-ar2-ex permit node 20if-match acl 2013apply as-path 13 additive
#
route-policy ar1-ar2-ex permit node 30if-match acl 2014apply as-path 14 additive
#
route-policy ar1-ar2-ex permit node 40if-match acl 2015apply as-path 15 additive
#
route-policy ar1-ar2-ex deny node 50
#
2)配置手动聚合
在路由方向的入向设备侧配置该命令
#
bgp 235router-id 2.2.2.2#ipv4-family unicastaggregate 1.1.12.0 255.255.252.0
#

聚合路由为本地始发路由信息,携带local属性,并标注为聚合路由进行发送

手动配置聚合路由默认生成NULL0防环路由信息

3)特点
手动聚合路由相比于自动聚合,更加精确
会自动产生一条指向null0的防环路由信息
手动聚合产生的路由信息会携带aggregator(聚合者)信息,并标识路由聚合者所在的AS号及路由器的Route-id
携带local属性的路由有
(1)network引入的路由
(2)import-route引入的路由
(3)自动聚合产生的主类路由
(4)手动聚合产生的聚合路由
4、路由集合等级
手动聚合>自动聚合>network>import
三、手动聚合缺陷及解决措施
为了避免路由聚合可能引起的路由环路,BGP设计了AS_Set属性。AS_Set属性是一种无序的AS_Path属性,标明聚合路由所经过的AS号。当聚合路由重新进入AS_Set属性中列出的任何一个AS时,BGP将会检测到自己的AS号在聚合路由的AS_Set属性中,于是会丢弃该聚合路由,从而避免了路由环路的形成。
1、手动聚合缺陷
手动聚合默认不抑制明细路由,因为集合可能产生次优路径,明细路由确保走最优路径,此时聚合路由只做冗余备份使用

因为聚合路由为始发路由,不在携带明细的as-path号,所以可能产生路由回灌问题

2、抑制明细发汇总
可以通过做聚合路由的始发路由器上配置detail-suppressed(指定仅通告聚合路由)来实现抑制明细路由的发送,走汇总路由
#
bgp 235router-id 2.2.2.2#ipv4-family unicastaggregate 1.1.12.0 255.255.252.0 detail-suppressed
#

3、聚合路由继承明细as-path(AS-SET)
通过在聚合路由器上配置detail-suppressed AS-SET 来使得聚合路由继承明细的as-path号,防止路由回灌
#
bgp 235router-id 2.2.2.2#ipv4-family unicastaggregate 1.1.12.0 255.255.252.0 as-set detail-suppressed
#

4、AS-path的表现形式
(1)AS_SEQ(as的序列号)

(2)AS_SET(手工聚合路由通过{}括号将明细的as号进行汇总携带到汇总中)

(3)AS_confed_SEQ(as-path联邦的序列号,通过()括号进行汇总)
联邦AS本区域的AS内生效,对外仍未一个AS号

(4)AS_confed_SET(单独的联邦AS号)

5、有选择的泄露明细路由(suppress-policy)

相关文章:
BGP边界网关协议(Border Gateway Protocol)路由聚合详解
一、路由聚合 1、意义 在大规模的网络中,BGP路由表十分庞大,给设备造成了很大的负担,同时使发生路由振荡的几率也大大增加,影响网络的稳定性。 路由聚合是将多条路由合并的机制,它通过只向对等体发送聚合后的路由而…...
ASP.NET Core WebAPI的异步及返回值
目录 Action方法的异步 Action方法参数 捕捉URL占位符 捕捉QueryString的值 JSON报文体 其他方式 Action方法的异步 Action方法既可以同步也可以异步。异步Action方法的名字一般不需要以Async结尾。Web API中Action方法的返回值如果是普通数据类型,那么返回值…...
「 机器人 」仿生扑翼飞行器中的“被动旋转机制”概述
前言 在仿生扑翼飞行器的机翼设计中,模仿昆虫翼的被动旋转机制是一项关键技术。其核心思想在于:机翼旋转角度(攻角)并非完全通过主动伺服来控制,而是利用空气动力和惯性力的作用,自然地实现被动调节。以下对这种设计的背景、原理与优势进行详细说明。 1. 背景:昆虫的被动…...
「 机器人 」扑翼飞行器的数据驱动建模核心方法
前言 数据驱动建模可充分利用扑翼飞行器的已有运行数据,改进动力学模型与控制策略,并对未建模动态做出更精确的预测。在复杂的非线性飞行环境中,该方法能有效弥补传统解析建模的不足,具有较高的研究与应用价值。以下针对主要研究方向和实现步骤进行整理与阐述。 1. 数据驱动…...
个人网站搭建
搭建 LNMP环境搭建: LNMP环境指:Linux Nginx MySQL/MariaDB PHP,在debian上安装整体需要300MB的磁盘空间。MariaDB 是 MySQL 的一个分支,由 MySQL 的原开发者维护,通常在性能和优化上有所改进。由于其轻量化和与M…...
飞书项目流程入门指导手册
飞书项目流程入门指导手册 参考资料准备工作新建空间国际化配置新建工作项字段管理新建字段对接标识授权角色 流程管理基础说明流程节点配置流程节点的布局配置页面上布局按钮布局配置 流程节点驳回流程图展示自动化字段修改 局限性 参考资料 飞书官方参考文档:飞书…...
xss靶场
xss-labs下载地址:GitHub - do0dl3/xss-labs: xss 跨站漏洞平台 xss常见触发标签:XSS跨站脚本攻击实例与防御策略-CSDN博客 level-1 首先查看网页的源代码发现get传参的name的值test插入了html里头,还回显了payload的长度。 <!DOCTYPE …...
XML实体注入漏洞攻与防
JAVA中的XXE攻防 回显型 无回显型 cve-2014-3574...
switch组件的功能与用法
文章目录 1 概念介绍2 使用方法3 示例代码 我们在上一章回中介绍了PageView这个Widget,本章回中将介绍Switch Widget.闲话休提,让我们一起Talk Flutter吧。 1 概念介绍 我们在这里介绍的Switch是指左右滑动的开关,常用来表示某项设置是打开还是关闭。Fl…...
cursor重构谷粒商城05——docker容器化技术快速入门【番外篇】
前言:这个系列将使用最前沿的cursor作为辅助编程工具,来快速开发一些基础的编程项目。目的是为了在真实项目中,帮助初级程序员快速进阶,以最快的速度,效率,快速进阶到中高阶程序员。 本项目将基于谷粒商城…...
高等数学学习笔记 ☞ 微分方程
1. 微分方程的基本概念 1. 微分方程的基本概念: (1)微分方程:含有未知函数及其导数或微分的方程。 举例说明微分方程:;。 (2)微分方程的阶:指微分方程中未知函数的导数…...
【探索 Kali Linux】渗透测试与网络安全的终极操作系统
探索 Kali Linux:渗透测试与网络安全的终极操作系统 在网络安全领域,Kali Linux 无疑是最受欢迎的操作系统之一。无论是专业的渗透测试人员、安全研究人员,还是对网络安全感兴趣的初学者,Kali Linux 都提供了强大的工具和灵活的环…...
四方连续贴图是什么意思
上下左右四个方向都是连续的图案,是由一个纹样或几个纹样组成一个单位,向四周重复地连续和延伸扩展而成的图案形式...
RKNN_C++版本-YOLOV5
1.背景 为了实现低延时,所以开始看看C版本的rknn的使用,确实有不足的地方,请指正(代码借鉴了rk官方的仓库文件)。 2.基本的操作流程 1.读取模型初始化 // 设置基本信息 // 在postprocess.h文件中定义,详见…...
k8s优雅重启
理论上处于terminating状态的pod,k8s 就会把它从service中移除了,只用配置一个优雅停机时长就行了。kubectl get endpoints 验证 因此,优雅重新的核心问题,是怎么让空闲长连接关闭,再等待处理中的请求执行完。 一些底…...
三高“高性能、高并发、高可靠”系统架构设计系列文章
目录 高并发系统的艺术:如何在流量洪峰中游刃有余 《数据密集型应用系统设计》读后感与高并发高性能实践案例 系统稳定性与高可用保障的几种思路 软件系统限流的底层原理解析 技术解决方案调研 延迟队列调研 重试调研 异步回调调研 分库分表调研 分布式事…...
opengrok_使用技巧
Searchhttps://xrefandroid.com/android-15.0.0_r1/https://xrefandroid.com/android-15.0.0_r1/ 选择搜索的目录(工程) 手动在下拉框中选择,或者 使用下面三个快捷按钮进行选择或者取消选择。 输入搜索的条件 搜索域说明 域 fullSearc…...
C++资料
InterviewGuide 首页 - 八股精 Releases halfrost/LeetCode-Go GitHub GitHub - GrindGold/CppGuide: 「C/C学习面试指南」一份涵盖大部分 C 程序员所需要掌握的知识。入门、进阶、深入、校招、社招,准备 C 学习& 面试,首选 CppGuide࿰…...
基于模糊PID的孵化箱温度控制系统(论文+源码)
1系统方案设计 本课题为基于模糊PID的孵化箱温度控制系统,其以STM32最小系统与模糊PID控制器为控制核心。系统主要包括数据采集模块、处理器模块、电机控制模块。 数据采集模块由温度传感器构成,通过温度传感器感应温度变化,获得待处理的数据…...
景联文科技加入AIIA联盟数据标注分委会
2025年1月16日,中国人工智能产业发展联盟(简称AIIA)数据委员会数据标注分委会(以下简称“分委会”)正式成立。景联文科技成为第一批AIIA联盟数据标注分委会委员单位。 数据标注分委会的成立旨在搭建数据标注领域产学研…...
接口测试中缓存处理策略
在接口测试中,缓存处理策略是一个关键环节,直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性,避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明: 一、缓存处理的核…...
2024年赣州旅游投资集团社会招聘笔试真
2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...
涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...
【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)
骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术,它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton):由层级结构的骨头组成,类似于人体骨骼蒙皮 (Mesh Skinning):将模型网格顶点绑定到骨骼上,使骨骼移动…...
DingDing机器人群消息推送
文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人,点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置,详见说明文档 成功后,记录Webhook 2 API文档说明 点击设置说明 查看自…...
【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制
使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下,限制某个 IP 的访问频率是非常重要的,可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案,使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...
STM32---外部32.768K晶振(LSE)无法起振问题
晶振是否起振主要就检查两个1、晶振与MCU是否兼容;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容(CL)与匹配电容(CL1、CL2)的关系 2. 如何选择 CL1 和 CL…...
MySQL 索引底层结构揭秘:B-Tree 与 B+Tree 的区别与应用
文章目录 一、背景知识:什么是 B-Tree 和 BTree? B-Tree(平衡多路查找树) BTree(B-Tree 的变种) 二、结构对比:一张图看懂 三、为什么 MySQL InnoDB 选择 BTree? 1. 范围查询更快 2…...
WebRTC从入门到实践 - 零基础教程
WebRTC从入门到实践 - 零基础教程 目录 WebRTC简介 基础概念 工作原理 开发环境搭建 基础实践 三个实战案例 常见问题解答 1. WebRTC简介 1.1 什么是WebRTC? WebRTC(Web Real-Time Communication)是一个支持网页浏览器进行实时语音…...
给网站添加live2d看板娘
给网站添加live2d看板娘 参考文献: stevenjoezhang/live2d-widget: 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | Live2D widget for web platformEikanya/Live2d-model: Live2d model collectionzenghongtu/live2d-model-assets 前言 网站环境如下,文章也主…...
