BGP分解实验·11——路由聚合与条件性通告(3)

news2025/1/31 2:47:42

续接上(2)的实验。其拓扑如下:

路由聚合的负向也就是拆分,在有双出口的情况下,在多出口做流量分担是优选方法之一。

BGP可以根据指定来源而聚合路由,在产生该聚合路由的范围内的条目注入到本地BGP表后再向外分发出去。

实施BGP路由拆分实验,需要注意的是其本质上仍然属于条件性通告,这是Cisco IOS对条件性通告做了大量支持。之所以这种方式被称为路由拆分,是因为其特性上仅仅是对条件性通告的一个非常形象的称呼而已。

实现拆分路由的配置清单如下:

  • 首先在iBGP与eBGP的边界上,配置前缀列表,定义需要拆分出来的明细条目;
  • 再配置可以匹配汇总的路由前缀;
  • 定义前缀列表边界路由器的邻居来源;
  • 对准备要拆分出来的条目设置周知团体属性no-export以用于防环(防止传递出本AS);
  • 定义聚合前缀及来源;
  • 在边界路由器的进程下对其配置iBGP邻居可传递的BGP团体属性;
  • 最后设置注入列表的条进行通告及复制属性。(copy-attributes——将从聚合路由中复制路径属性到注入的路由条目中)

PS://这里先把上个实验(2)的完整配置附上,如做完上个实验保存了配置可忽略以下R1~R5这个为添加拆分实验的配置。添加完成R1~R5的基本配后对上述清单做添加配置附在其后。

R1的基本配置如下:

hostname R1
!
interface Loopback0
 ip address 172.22.0.1 255.255.255.0
!
interface Loopback1
 ip address 172.22.1.1 255.255.255.0
!
interface Ethernet0/0
 ip address 10.0.12.1 255.255.255.0
 no sh
!
interface Ethernet0/1
 ip address 10.1.13.1 255.255.255.0
 no sh
!
ip prefix-list IFN3 seq 5 permit 172.22.3.0/24
!
ip prefix-list IFN3ADV seq 5 permit 172.22.0.0/22
ipv6 ioam timestamp
!
route-map IFN3ADV permit 10
 match ip address prefix-list IFN3ADV
!
route-map IFN3 permit 10
 match ip address prefix-list IFN3
!
router bgp 111
 bgp router-id 1.1.1.1
 bgp aggregate-timer 0
 network 172.22.0.0 mask 255.255.255.0
 network 172.22.1.0 mask 255.255.255.0
 aggregate-address 172.22.0.0 255.255.252.0 summary-only
 neighbor 10.0.12.2 remote-as 222
 neighbor 10.1.13.3 remote-as 345
 neighbor 10.1.13.3 advertise-map IFN3ADV exist-map IFN3
!
end

R2的基本配置如下:

hostname R2
!
interface Loopback0
 ip address 172.22.2.2 255.255.255.0
!
interface Loopback1
 ip address 172.22.3.2 255.255.255.0
!
interface Ethernet0/0
 ip address 10.0.12.2 255.255.255.0
 no sh
!
interface Ethernet0/1
 ip address 10.2.24.2 255.255.255.0
 no sh
!
ip prefix-list IFN3E seq 5 permit 172.22.3.0/24
!
route-map LEAK3 permit 10
 match ip address prefix-list IFN3E
!
router bgp 222
 bgp router-id 2.2.2.2
 bgp aggregate-timer 0
 network 172.22.2.0 mask 255.255.255.0
 network 172.22.3.0 mask 255.255.255.0
 aggregate-address 172.22.0.0 255.255.252.0 summary-only
 neighbor 10.0.12.1 remote-as 111
 neighbor 10.0.12.1 unsuppress-map LEAK3
 neighbor 10.2.24.4 remote-as 345
!
end

R3的基本配置如下:

hostname R3
!
interface Loopback3
 ip address 192.168.3.3 255.255.255.255
!
interface Ethernet0/0
 ip address 10.1.13.3 255.255.255.0
 no sh
!
interface Ethernet0/1
 ip address 10.3.35.3 255.255.255.0
 no sh
!
router eigrp 5
 network 0.0.0.0
 passive-interface Ethernet0/0
!
router bgp 345
 bgp router-id 3.3.3.3
 neighbor IBGP peer-group
 neighbor IBGP remote-as 345
 neighbor IBGP update-source Loopback3
 neighbor IBGP next-hop-self
 neighbor 10.1.13.1 remote-as 111
 neighbor 192.168.4.4 peer-group IBGP
 neighbor 192.168.5.5 peer-group IBGP
!
end

R4的基本配置如下:

hostname R4
!
interface Loopback4
 ip address 192.168.4.4 255.255.255.255
!
interface Ethernet0/0
 ip address 10.2.24.4 255.255.255.0
 no sh
!
interface Ethernet0/1
 ip address 10.3.45.4 255.255.255.0
 no sh
!
router eigrp 5
 network 0.0.0.0
 passive-interface Ethernet0/0
!
router bgp 345
 bgp router-id 4.4.4.4
 neighbor IBGP peer-group
 neighbor IBGP remote-as 345
 neighbor IBGP update-source Loopback4
 neighbor IBGP next-hop-self
 neighbor 10.2.24.2 remote-as 222
 neighbor 192.168.3.3 peer-group IBGP
 neighbor 192.168.5.5 peer-group IBGP
!
end

R5的基本配置如下:

hostname R5
!
interface Loopback3
 ip address 172.23.3.5 255.255.255.0
!
interface Loopback5
 ip address 192.168.5.5 255.255.255.255
!
interface Ethernet0/0
 ip address 10.3.35.5 255.255.255.0
 no sh
!
interface Ethernet0/1
 ip address 10.3.45.5 255.255.255.0
 no sh
!
router eigrp 5
 network 0.0.0.0
 passive-interface default
 no passive-interface Ethernet0/0
 no passive-interface Ethernet0/1
!
route-map REDCONN permit 10
 match interface Loopback3
!
router bgp 345
 bgp router-id 5.5.5.5
 bgp listen range 192.168.0.0/21 peer-group IBGP
 redistribute connected route-map REDCONN
 neighbor IBGP peer-group
 neighbor IBGP remote-as 345
 neighbor IBGP update-source Loopback5
!
end

以上添加完成R1~R5的基本配后对上述清单做添加配置如下:

注释:定义前缀列表的名称——LONG是相对掩码较长的定义;SHORT是聚合后变短的定义;LS是Left Source,即此拓扑图左侧邻居的路由来源;RS则是Right Source,右侧邻居的来源。

R3添加的配置如下:

ip prefix-list LONG seq 5 permit 172.22.1.0/24
!
ip prefix-list SHORT seq 5 permit 172.22.0.0/22
!
ip prefix-list LS seq 5 permit 10.1.13.1/32
!
route-map LONG permit 10
 set ip address prefix-list LONG
 set community no-export
!
route-map SHORT permit 10
 match ip address prefix-list SHORT
 match ip route-source prefix-list LS
!
router bgp 345
 bgp inject-map LONG exist-map SHORT copy-attributes
 neighbor IBGP send-community
!
end

R4添加的配置如下:

ip prefix-list LONG seq 5 permit 172.22.3.0/24
!
ip prefix-list SHORT seq 5 permit 172.22.0.0/22
!
ip prefix-list RS seq 5 permit 10.2.24.2/32
!
route-map LONG permit 10
 set ip address prefix-list LONG
 set community no-export
!
route-map SHORT permit 10
 match ip address prefix-list SHORT
 match ip route-source prefix-list RS
!
router bgp 345
 bgp inject-map LONG exist-map SHORT copy-attributes
 neighbor IBGP send-community
!
end

添加完成以上配置查看注入的BGP表和邻居来源的表项如下:

应用路由拆分部署后在对等AS可操控的情况下,在本地注入确定的明细路由条目可实现最长匹配原则的选路控制。

PS://在通常情况下,eBGP的防环规则就是不允许as-path属性中有包含本地ASN的路由进入本AS内。

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

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

相关文章

MOS的体二极管能通多大电流

第一个问题:MOS导通之后电流方向可以使任意的,既可以从D到S,也可以从S到D。 第二个问题:MOS里面的体二极管电流可以达到几百安培,这也就解释了MOS选型的时候很少考虑体二极管的最大电流,而是考虑DS之间电流…

C语言【基础篇】之流程控制——掌握三大结构的奥秘

流程控制 🚀前言🦜顺序结构💯 定义💯执行规则 🌟选择结构💯if语句💯switch语句💯case穿透规则 🤔循环结构💯for循环💯while循环💯do -…

Node.js下载安装及环境配置教程 (详细版)

Node.js:是一个基于 Chrome V8 引擎的 JavaScript 运行时,用于构建可扩展的网络应用程序。Node.js 使用事件驱动、非阻塞 I/O 模型,使其非常适合构建实时应用程序。 Node.js 提供了一种轻量、高效、可扩展的方式来构建网络应用程序&#xff0…

新型人工智能“黑帽”工具:GhostGPT带来的威胁与挑战

生成式人工智能的发展既带来了有益的生产力转型机会,也提供了被恶意利用的机会。 最近,Abnormal Security的研究人员发现了一个专门为网络犯罪创建的无审查AI聊天机器人——GhostGPT,是人工智能用于非法活动的新前沿,可以被用于网…

【文星索引】搜索引擎项目测试报告

目录 一、项目背景二、 项目功能2.1 数据收集与索引2.2 API搜索功能2.3 用户体验与界面设计2.4 性能优化与维护 三、测试报告3.1 功能测试3.2 界面测试3.3 性能测试3.4 兼容性测试3.5 自动化测试 四、测试总结4.1 功能测试方面4.2 性能测试方面4.3 用户界面测试方面 一、项目背…

【PostgreSQL内核学习 —— (WindowAgg(一))】

WindowAgg 窗口函数介绍WindowAgg理论层面源码层面WindowObjectData 结构体WindowStatePerFuncData 结构体WindowStatePerAggData 结构体eval_windowaggregates 函数update_frameheadpos 函数 声明:本文的部分内容参考了他人的文章。在编写过程中,我们尊…

【观察】甲骨文:以AI为中心,开启企业级平台架构“新革命”

知名科技杂志《连线》创始主编凯文凯利曾预测:“在未来的 100 年里,人工智能将超越任何一种人工力量,将人类引领到一个前所未有的时代。” 可以看到,随着近两年AIGC与大模型的快速爆发,AI在千万行业中的重要性愈发突出…

react native在windows环境搭建并使用脚手架新建工程

截止到2024-1-11,使用的主要软件的版本如下: 软件实体版本react-native0.77.0react18.3.1react-native-community/cli15.0.1Android Studio2022.3.1 Patch3Android SDKAndroid SDK Platform 34 35Android SDKAndroid SDK Tools 34 35Android SDKIntel x…

C语言从入门到进阶

视频:https://www.bilibili.com/video/BV1Vm4y1r7jY?spm_id_from333.788.player.switch&vd_sourcec988f28ad9af37435316731758625407&p23 //枚举常量 enum Sex{MALE,FEMALE,SECRET };printf("%d\n", MALE);//0 printf("%d\n", FEMALE…

Python案例--养兔子

兔子繁殖问题是一个经典的数学问题,最早由意大利数学家斐波那契在13世纪提出。这个问题不仅在数学领域具有重要意义,还广泛应用于计算机科学、生物学和经济学等领域。本文将通过一个具体的Python程序,深入探讨兔子繁殖问题的建模和实现&#…

若依基本使用及改造记录

若依框架想必大家都了解得不少,不可否认这是一款及其简便易用的框架。 在某种情况下(比如私活)使用起来可谓是快得一匹。 在这里小兵结合自身实际使用情况,记录一下我对若依框架的使用和改造情况。 一、源码下载 前往码云进行…

Java基础教程(007):方法的重载与方法的练习

文章目录 6.5 方法的重载6.6 方法练习数组遍历数组最大值 6.5 方法的重载 在 Java 中,方法的重载是指在同一个类中定义多个方法,这些方法具有相同的名称,但参数列表不同。方法的重载是一种实现多态的方式,允许一个方法名以不同的…

Day27-【13003】短文,线性表两种基本实现方式空间效率、时间效率比较?兼顾优点的静态链表是什么?如何融入空闲单元链表来解决问题?

文章目录 本次内容总览第四节,两种基本实现方式概览两种基本实现方式的比较元素个数n大于多少时,使用顺序表存储的空间效率才会更高?时间效率比较?*、访问操作,也就是读运算,读操作1、插入,2、删…

Linux 小火车

1.添加epel软件源 2.安装sl 3. 安装完成后输入: sl

论文笔记(六十三)Understanding Diffusion Models: A Unified Perspective(四)

Understanding Diffusion Models: A Unified Perspective(四) 文章概括学习扩散噪声参数(Learning Diffusion Noise Parameters)三种等效的解释(Three Equivalent Interpretations) 文章概括 引用&#xf…

docker配置mysql并使用mysql connector cpp编程

mysql 配置mysql使用docker 这里使用docker安装了,比较简洁,不想使用了直接就可以把容器删掉,首先获取下镜像,如下命令 docker pull container-registry.oracle.com/mysql/community-server这里直接默认使用最新版本的mysql了 …

go理论知识——Go Channel 笔记 [特殊字符]

go理论知识——Go Channel 笔记 📝 1. 基本概念 🧠 1.1 Channel 是什么? Channel 是 Go 语言中用于在不同 Goroutine 之间进行通信的机制。Channel 是类型安全的,意味着你只能发送和接收特定类型的数据。 1.2 Channel 的创建 …

论文阅读笔记:MambaOut: Do We Really Need Mamba for Vision?

论文阅读笔记:MambaOut: Do We Really Need Mamba for Vision? 1 背景2 创新点3 方法4 模块4.1 Mamba适合什么任务4.2 视觉识别任务是否有很长的序列4.3 视觉任务是否需要因果token混合模式4.4 关于Mamba对于视觉的必要性假设 5 效果 论文:https://arxi…

games101-(3/4)变换

缩放: 对称 切变 旋转 考虑(1.0)这个点 同理考虑(0,1)点即可 齐次方程 考虑在二维的坐标点后面增加一个维度 所有的仿射变换都可以写成齐次坐标的形式 a b c d 是线性变换 tx ty 是平移; …

【Linux】磁盘

没有被打开的文件 文件在磁盘中的存储 认识磁盘 磁盘的存储构成 磁盘的效率 与磁头运动频率有关。 磁盘的逻辑结构 把一面展开成线性。 通过扇区的下标编号可以推算出在磁盘的位置。 磁盘的寄存器 控制寄存器:负责告诉磁盘是读还是写。 数据寄存器:给…