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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/68152.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

YOLOv10-1.1部分代码阅读笔记-train.py

train.py ultralytics\models\yolov10\train.py 目录 train.py 1.所需的库和模块 2.class YOLOv10DetectionTrainer(DetectionTrainer): 1.所需的库和模块 from ultralytics.models.yolo.detect import DetectionTrainer from .val import YOLOv10DetectionValidator fr…

戴尔电脑用u盘重装系统_戴尔电脑用u盘重装win10系统教程

戴尔电脑用u盘重装系统&#xff1f;戴尔电脑这几年默认预装win10家庭版和win11家庭版。有的用户用上了预装win11家庭版的戴尔电脑&#xff0c;使用一段时间依然不习惯&#xff0c;于是想退回win10。但不知道怎么重装win10&#xff0c;这几年的戴尔电脑建议采用U盘方式安装系统比…

求奇数分之一序列前N项和

求奇数分之一序列前N项和 分数 15 全屏浏览 切换布局 作者 C课程组 单位 浙江大学 本题要求编写程序&#xff0c;计算序列 1 1/3 1/5 ... 的前N项之和。 输入格式: 输入在一行中给出一个正整数N。 输出格式: 在一行中按照“sum S”的格式输出部分和的值S&#xff0c;精…

QT TLS initialization failed

qt使用QNetworkAccessManager下载文件&#xff08;给出的链接可以在浏览器里面下载文件&#xff09;&#xff0c;下载失败&#xff0c; 提示“TLS initialization failed”通常是由于Qt在使用HTTPS进行文件下载时&#xff0c;未能正确初始化TLS&#xff08;安全传输层协议&…

【图文详解】lnmp架构搭建Discuz论坛

安装部署LNMP 系统及软件版本信息 软件名称版本nginx1.24.0mysql5.7.41php5.6.27安装nginx 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客: 关闭防火墙 systemctl stop firewalld &&a…

06、Redis相关概念:缓存击穿、雪崩、穿透、预热、降级、一致性等

Redis相关概念&#xff1a;缓存击穿、雪崩、穿透、预热、降级、一致性等 Redis缓存雪崩、缓存击穿、缓存预热热点key、缓存降级、短链接、分布式锁秒杀、预减库存、 堆外缓存Redis架构设计、Redis动态刷新、Redis和DB双写一致性、过期删除策略、集群数据倾斜等一、缓存雪崩 缓…

2024年CSDN年度回顾:个人成长、创作历程与生活的融合与平衡

2024年CSDN年度回顾&#xff1a;个人成长、创作历程与生活的融合与平衡 时光荏苒&#xff0c;转眼间2024年已悄然落幕。这一年&#xff0c;我在CSDN平台上度过了169天&#xff0c;创作了264篇原创文章&#xff0c;收获了9976位粉丝的喜爱与支持。回顾这一年&#xff0c;不仅是…

【记录自开发的SQL工具】工具字符拼接、Excel转sql、生成编码、生成测试数据

记录自己开发的一个SQL聚合工具 功能介绍&#xff1a; 文本加引号 给多行文本前后添加引号&#xff0c;并用逗号连接&#xff0c;直接复制到 sql 中的 in 条件中 Excel转SQL 适用于将Excel表格的数据&#xff0c;批量导入到数据库的场景 此工具能快速将excel表格转换为i…

Vue3笔记——(二)

015 生命周期 组件的生命周期&#xff1a; 【时刻】 【调用特定的函数】 vue2生命周期 创建 beforeCreate、 created 挂载 beforeMounte、mounted 更新 beforeUpdate、updated 销毁 beforeDestroy、destroyed 生命周期、生命周期函数、生命周期钩子 vue3生命周期 创建 setup 挂…

2024年工作总结

一、2024年个人成长、工作总结 1.博客文章 在这一年的创作中&#xff0c;共发布95篇文章&#xff0c;其中&#xff1a; Scrum敏捷项目管理&#xff1a; Scrum敏捷项目管理 前端技术vue jquery&#xff1a; jQuery&#xff08;一&#xff09;jQuery基本语法 分布式事务&…

Blazor-Blazor呈现概念

静态和交互式呈现概念 在Blazor开发中&#xff0c;Razor 组件具备两种重要的呈现方式&#xff0c;分别是静态呈现和交互式呈现。 静态呈现 也被称为静态渲染&#xff0c;是一种典型的服务器端方案。在这种模式下&#xff0c;组件呈现时&#xff0c;用户与.NET/C# 代码之间缺…

使用 Intersection Observer 实现高效懒加载和滚动监听

在前端开发中&#xff0c;性能优化是提升用户体验的核心之一。随着网页内容的日益增多&#xff0c;如何高效地加载图片、视频等资源&#xff0c;以及如何监听用户的滚动行为&#xff0c;成为了前端开发者需要解决的难题。传统的滚动事件监听往往会带来性能瓶颈&#xff0c;尤其…

【技术洞察】2024科技绘卷:浪潮、突破、未来

涌动与突破 2024年&#xff0c;科技的浪潮汹涌澎湃&#xff0c;人工智能、量子计算、脑机接口等前沿技术如同璀璨星辰&#xff0c;方便了大家的日常生活&#xff0c;也照亮了人类未来的道路。这一年&#xff0c;科技的突破与创新不断刷新着人们对未来的想象。那么回顾2024年的科…

无线通信与人工智能技术与发展年度总结

2024年&#xff0c;无线通信与人工智能技术取得了显著的进步和突破&#xff0c;这些技术的革新不仅推动了行业的数字化转型&#xff0c;还为全球经济的持续发展注入了新的活力。以下是对无线通信与人工智能技术在这一年发展的详细总结。 #### 无线通信技术的飞速演进 无线通信…

Python 之 Excel 表格常用操作

示例文件 test.xlsx 将各个表单拆分成单独的 Excel 文件 import os.pathimport openpyxl import pandasdef handle_excel(file_path):dirname os.path.dirname(file_path)basename os.path.basename(file_path).split(".")[0]wb openpyxl.load_workbook(file_pat…

激活版,快速安装

每天开机都要等待很长时间&#xff0c;玩游戏或看视频时频繁卡顿&#xff0c;甚至偶尔还会莫名其妙地崩溃。这种情况几乎每个人都遇到过&#xff0c;真是让人头疼不已。 别担心&#xff0c;其实有一种方法可以让你的电脑恢复如新&#xff0c;让我们一起看看如何解决这些烦恼吧…

Kimi 1.5解读:国产AI大模型的创新突破与多模态推理能力(内含论文地址)

文章目录 一、Kimi 1.5的核心技术创新&#xff08;一&#xff09;长上下文扩展&#xff08;Long Context Scaling&#xff09;&#xff08;二&#xff09;改进的策略优化&#xff08;Improved Policy Optimization&#xff09;&#xff08;三&#xff09;简化框架&#xff08;S…

[央企大赛 2025] pwn

拿到堆附件&#xff0c;不清楚哪个是密码哪个是pwn&#xff0c;找到两个pwn&#xff0c;一个RSA密码相对简单&#xff08;已知e,d,N,直接用N解出k((ed-1)//phi_N(ed-1)//N^2),然后求pq&#xff0c;而phi_N正好是pq的2次方程&#xff09;。就只复现了两个pwn&#xff0c;感觉还有…

.NET 9.0 的 Blazor Web App 项目、Bootstrap Blazor 组件库、自定义日志 TLog 使用备忘

一、设计目标&#xff1a;通用、容易修改、使用简单&#xff0c;所有代码保存在一个文件中&#xff0c;方便移植到其他项目使用。 注&#xff1a;示例使用 Bootstrap Blazor 组件库和 EF Core 、Sqlite&#xff0c;需要先使用 Nuget包管理器 添加对应的包。 namespace Blazor…

单片机基础模块学习——数码管(二)

一、数码管模块代码 这部分包括将数码管想要显示的字符转换成对应段码的函数&#xff0c;另外还包括数码管显示函数 值得注意的是对于小数点和不显示部分的处理方式 由于小数点没有单独占一位&#xff0c;所以这里用到了两个变量i,j用于跳过小数点导致的占据其他字符显示在数…