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

续接上(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 Loopback0ip address 172.22.0.1 255.255.255.0
!
interface Loopback1ip address 172.22.1.1 255.255.255.0
!
interface Ethernet0/0ip address 10.0.12.1 255.255.255.0no sh
!
interface Ethernet0/1ip address 10.1.13.1 255.255.255.0no 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 10match ip address prefix-list IFN3ADV
!
route-map IFN3 permit 10match ip address prefix-list IFN3
!
router bgp 111bgp router-id 1.1.1.1bgp aggregate-timer 0network 172.22.0.0 mask 255.255.255.0network 172.22.1.0 mask 255.255.255.0aggregate-address 172.22.0.0 255.255.252.0 summary-onlyneighbor 10.0.12.2 remote-as 222neighbor 10.1.13.3 remote-as 345neighbor 10.1.13.3 advertise-map IFN3ADV exist-map IFN3
!
end

R2的基本配置如下:

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

R3的基本配置如下:

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

R4的基本配置如下:

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

R5的基本配置如下:

hostname R5
!
interface Loopback3ip address 172.23.3.5 255.255.255.0
!
interface Loopback5ip address 192.168.5.5 255.255.255.255
!
interface Ethernet0/0ip address 10.3.35.5 255.255.255.0no sh
!
interface Ethernet0/1ip address 10.3.45.5 255.255.255.0no sh
!
router eigrp 5network 0.0.0.0passive-interface defaultno passive-interface Ethernet0/0no passive-interface Ethernet0/1
!
route-map REDCONN permit 10match interface Loopback3
!
router bgp 345bgp router-id 5.5.5.5bgp listen range 192.168.0.0/21 peer-group IBGPredistribute connected route-map REDCONNneighbor IBGP peer-groupneighbor IBGP remote-as 345neighbor 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 10set ip address prefix-list LONGset community no-export
!
route-map SHORT permit 10match ip address prefix-list SHORTmatch ip route-source prefix-list LS
!
router bgp 345bgp inject-map LONG exist-map SHORT copy-attributesneighbor 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 10set ip address prefix-list LONGset community no-export
!
route-map SHORT permit 10match ip address prefix-list SHORTmatch ip route-source prefix-list RS
!
router bgp 345bgp inject-map LONG exist-map SHORT copy-attributesneighbor IBGP send-community
!
end

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

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

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

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

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

相关文章

INCOSE需求编写指南-第1部分:介绍

第1部分:介绍Section 1: Introduction 1.1 目的和范围 Purpose and Scope 本指南专门介绍如何在系统工程背景下以文本形式表达需求和要求陈述。其目的是将现有标准(如 ISO/IEC/IEEE 29148)中的建议以及作者、主要贡献者和审稿员的最佳实践结…

基于神经网络的视频编码NNVC(1):帧内预测

在H.266/VVC发布后,基于传统编码框架提升压缩率越来越难,随着深度学习的发展,研究人员开始尝试将神经网络引入编码器。为此,JVET工作组在2020年成立AHG11小组来专门进行基于神经网络的视频编码的研究。 为了方便研究,工…

深入探究分布式日志系统 Graylog:架构、部署与优化

文章目录 一、Graylog简介二、Graylog原理架构三、日志系统对比四、Graylog部署传统部署MongoDB部署OS或者ES部署Garylog部署容器化部署 五、配置详情六、优化网络和 REST APIMongoDB 七、升级八、监控九、常见问题及处理 一、Graylog简介 Graylog是一个简单易用、功能较全面的…

寒假1.23

题解 web:[极客大挑战 2019]Secret File(文件包含漏洞) 打开链接是一个普通的文字界面 查看一下源代码 发现一个链接,点进去看看 再点一次看看,没什么用 仔细看,有一个问题,当点击./action.ph…

ORB-SLAM2源码学习:Initializer.cc⑧: Initializer::CheckRT检验三角化结果

前言 ORB-SLAM2源码学习:Initializer.cc⑦: Initializer::Triangulate特征点对的三角化_cv::svd::compute-CSDN博客 经过上面的三角化我们成功得到了三维点,但是经过三角化成功的三维点并不一定是有效的,需要筛选才能作为初始化地图点。 …

微信小程序1.1 微信小程序介绍

1.1 微信小程序介绍 内容提要 1.1 什么是微信小程序 1.2 微信小程序的功能 1.3 微信小程序使用场景 1.4 微信小程序能取代App吗 1.5 微信小程序的发展历程 1.6微信小程序带来的机会

STM32 GPIO配置 点亮LED灯

本次是基于STM32F407ZET6做一个GPIO配置,实现点灯实验。 新建文件 LED.c、LED.h文件,将其封装到Driver文件中。 双击Driver文件将LED.c添加进来 编写头文件,这里注意需要将Driver头文件声明一下。 在LED.c、main.c里面引入头文件LED.h LED初…

vulnhub靶场【kioptrix-3】靶机

前言 靶机:kioptrix-3,IP地址为192.168.1.74 攻击:kali,IP地址为192.168.1.16 都采用虚拟机,网卡为桥接模式 文章中涉及的靶机,来源于vulnhub官网,想要下载,可自行访问官网下载&a…

Cloudflare通过代理服务器绕过 CORS 限制:原理、实现场景解析

第一部分:问题背景 1.1 错误现象复现 // 浏览器控制台报错示例 Access to fetch at https://chat.qwenlm.ai/api/v1/files/ from origin https://ocr.doublefenzhuan.me has been blocked by CORS policy: Response to preflight request doesnt pass access con…

VMware虚拟机安装Linux系统(openKylin)

首先打开VMware Workstation,点击创建新的虚拟机。 进入虚拟机引导界面后,选择“典型”选项,点击下一步; 选择“稍后安装操作系统”,点击下一步; 客户机操作系统选择“Linux”,版本选择Ubuntu 6…

RabbitMQ 多种安装模式

文章目录 前言一、Windows 安装 RabbitMq1、版本关系2、Erlang2.1、下载安装 Erlang 23.12.2、配置 Erlang 环境变量 3、RabbitMQ3.1、下载安装 RabbitMQ 3.8.93.2、环境变量3.3、启动RabbitMQ 管理插件3.3、RabbitMQ3.4、注意事项 二、安装docker1、更新系统包:2、…

【Java-数据结构】Java 链表面试题上 “最后一公里”:解决复杂链表问题的致胜法宝

我的个人主页 我的专栏:Java-数据结构,希望能帮助到大家!!!点赞❤ 收藏❤ 引言: Java链表,看似简单的链式结构,却蕴含着诸多有趣的特性与奥秘,等待我们去挖掘。它就像一…

【0x03】HCI_Connection_Complete事件详解

目录 一、事件概述 二、事件格式及参数详解 2.1. HCI_Connection_Complete事件格式 2.2. 事件参数 2.2.1. Status 2.2.2. Connection_Handle 2.2.3. BD_ADDR 2.2.4. Link_Type 2.2.5. Encryption_Enabled 三、事件处理流程 3.1. 事件触发 3.2. 事件接收与解析 3.…

激活版,快速安装

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

二叉树(了解)c++

二叉树是一种特殊的树型结构,它的特点是: 每个结点至多只有2棵子树(即二叉树中不存在度大于2的结点) 并且二叉树的子树有左右之分,其次序不能任意颠倒,因此是一颗有序树 以A结点为例,左边的B是它的左孩子,右边的C是…

C#标准Mes接口框架(持续更新)

前言 由于近期我做了好几个客户的接入工厂Mes系统的需求。但是每个客户的Mes都有不同程度的定制需求,原有的代码复用难度其实很大。所以打算将整个接入Mes系统的框架单独拿出来作为一个项目使用,同时因为不同的设备接入同一个Mes系统,所以代…

【Nacos】负载均衡

目录 前言 一、服务下线二、权重配置三、同一个集群优先访问四、环境隔离 前言 我们的生产环境相对是比较恶劣的,我们需要对服务的流量进行更加精细的控制.Nacos支持多种负载均衡策略,包括配置权重,同机房,同地域,同环…

嵌入式MCU面试笔记2

目录 串口通信 概论 原理 配置 HAL库代码 1. 初始化函数 2. 数据发送和接收函数 3. 中断和DMA函数 4. 中断服务函数 串口通信 概论 我们知道,通信桥接了两个设备之间的交流。一个经典的例子就是使用串口通信交换上位机和单片机之间的数据。 比较常见的串…

DDD该怎么去落地实现(1)关键是“关系”

DDD落地的关键是“关系” 这些年,我认为DDD走到了一个死胡同里了,因为落地实现过于困难。很多团队在经过一段时间的学习,清楚理解了DDD那些晦涩的概念,根据业务绘制出领域模型,这都不困难。但绘制领域模型不是我们最终…

RabbitMQ---面试题

常见面试题 1.MQ的作用及应用场景 类似问题:项目什么情况下用到了MQ,为什么要用MQ MQ的主要应用场景,消息队列的应用场景,为什么说消息队列可以削峰 首先MQ是一种用来接收和转发消息的队列,常见的应用常见如下&…