BGP高级特性

BGP路由反射器

l 路由反射器的两种角色

      RR(router reflector):路由反射器

      client:RR客户端

l RR会将学习到的路由反射出去,从而使得IBGP路由在AS内传播时无需建立IBGP的全互联结构

l 将一台BGP路由器指定为RR的同时,还需要指定其client,client无需任何配置,它对网络中是否存在RR并不知情

l RR的路由反射规则如下:

       从client收到的路由更新,反射到non-client和client,同时发送给EBGP邻居

       从non-client收到的路由更新,只反射到client,同时发送给EBGP邻居

       从EBGP邻居收到的路由更新,发送到所有的non-client和client

l 路由反射的过程中,BGP的路径属性没有任何修改

 

RR 场景下的路由防环

l 路由反射的规则打破了“AS内部IBGP邻居水平分割原则”,因此在有RR场景下可能会产生路由环路

l 为防止RR产生的路由环路,BGP引入了两个可选非传递的路径属性

      Originator_ID

      Cluster_List

 

Originator_ID

l 对BGP路由反射时,RR会在反射出去的路由中增加Originator_ID,其值为本地AS中通告该路由的路由器的BGP Router ID;

l 若AS内存在多个RR,则Originator_ID属性由第一个RR创建,且不被后续的RR更改;

l 当BGP路由器收到一条携带Originator_ID属性的IBGP路由,并且Originator_ID属性值与自身的Router ID相同,则它会忽略关于该路由的更新

 

Cluster_ID

l 路由器发送给RR的路由,经过RR反射给其他路由器时除了添加Originator_ID之外,还会添加自身Cluster_list:1.1.1.1。

l 当其他路由器将路由反射给RR时,RR发现Cluster_list包含了自身Cluster_ID,判断存在环路,从而忽略路由更新

 

BGP路由反射簇Cluster

l 路由反射簇包括反射器RR及其Client,一个AS内允许存在多个路由反射簇

l 每一个反射簇都有唯一的簇ID(Cluster_ID,缺省为RR的BGP Router ID)

l 当一条路由被RR反射后,该反射簇内RR的Cluster_ID就会被添加至路由的Cluster_ID属性中

l 当RR收到一条携带Cluster_ID属性的BGP路由,且该属性值中包含该RR所在簇的Cluster_ID时,RR认为该条路由存在环路,因此将忽略关于该条路由的更新

 

查看上面两个属性的命令:show bgp ipv4 unicast 路由IP/掩码

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

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

相关文章

【仿真建模-anylogic】动态生成ConveyorCustomStation

Author:赵志乾 Date:2024-06-18 Declaration:All Right Reserved!!! 0. 背景 直接使用Anylogic组件开发的模型无法动态改变运输网布局;目前需求是要将运输网布局配置化;运输网配置化…

安卓逆向案例——X酷APP逆向分析

X酷APP逆向分析 这里介绍一下两种不同的挂载证书的方法。 chls.pro/ssl无法在浏览器中下载证书是什么原因解决方法: 法一 1. 挂载系统分区为读写 使用正确的挂载点来挂载系统分区为读写: su mount -o remount,rw /dev/uijISjR/.magisk/block/syste…

前端 CSS 经典:旋转边框效果

效果&#xff1a; 思路&#xff1a;使用伪元素&#xff0c;给伪元素设置背景色&#xff0c;然后定位&#xff0c;遮盖&#xff0c;旋转。就可以实现旋转边框效果。 实现代码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta chars…

docker in docker 在CI中应用解析

docker in docker 简介 docker里嵌套运行docker&#xff0c;本文讲解其在jenkins和gitlab-runner 种的调用流程 一、用于jenkins 容器化部署jenkins时调用docker命令集成CI功能 [rootops-demo~]# docker inspect jenkins --format"{{json .Mounts}}" [{"T…

电子竞赛1——基于DDS的AM信号发生器

课题要求 产生AM调幅波&#xff1b; 要求&#xff1a;载波10K&#xff0c;被调制波1K&#xff1b; 短按键1&#xff08;pin_143&#xff09;改变该调幅波的调制度&#xff1a;25%、50%、75%&#xff1b; 长按按键1&#xff08;pin_143&#xff09;改变被调制信号频率&#…

STM32通过SPI软件读写W25Q64

文章目录 1. W25Q64 2. 硬件电路 3. W25Q64框架图 4. 软件/硬件波形对比 5. 代码实现 5.1 MyI2C.c 5.2 MyI2C.h 5.3 W25Q64.c 5.4 W25Q64.h 5.5 W25Q64_Ins.h 5.6 main.c 1. W25Q64 对于SPI通信和W25Q64的详细解析可以看下面这篇文章 STM32单片机SPI通信详解-CSDN博…

工作实践:11种API性能优化方法

一、索引优化 接口性能优化时&#xff0c;大家第一个想到的通常是&#xff1a;优化索引。 确实&#xff0c;优化索引的成本是最小的。 你可以通过查看线上日志或监控报告&#xff0c;发现某个接口使用的某条SQL语句耗时较长。 此时&#xff0c;你可能会有以下疑问&#xff…

Web渗透:XSS-DOM-based XSS

DOM-based XSS&#xff08;基于DOM的跨站脚本攻击&#xff09;是一种XSS攻击类型&#xff0c;其特点是恶意脚本通过操作文档对象模型&#xff08;DOM&#xff09;直接在客户端执行&#xff0c;而无需经过服务器的处理。这种攻击主要利用客户端JavaScript代码中的漏洞&#xff0…

BP神经网络-入门到理解-长文讲述

本文来自&#xff1a;老饼讲解-BP神经网络 https://www.bbbdata.com 目录 一、BP神经网络的仿生意义 二、BP神经网络的结构 三、BP神经网络的前馈与后馈 3.1 BP神经网络的前馈 3.2 什么是BP神经网络的后馈 四、BP神经网络的训练 4.1 BP神经网络归一化 4.2 梯度下降算法…

完胜PSP的神器

小鸡模拟器&#xff0c;顾名思义&#xff0c;它是一个能够模拟多种经典游戏平台的软件&#xff0c;从家用游戏机到掌上游戏机&#xff0c;几乎覆盖了所有知名的老式游戏设备。这意味着&#xff0c;通过小鸡模拟器&#xff0c;我们可以在手机上重温那些陪伴我们度过童年时光的经…

springboot学习-图灵课堂-最详细学习

springboot-repeat springBoot学习代码说明为什么java -jar springJar包后项目就可以启动 配置文件介绍 springBoot学习 依赖引入 <properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.target>8</mav…

【教程】PVE下uhd630核显直通HDMI输出 以NUC9为例村雨Murasame

大家好&#xff0c;村雨本雨又来发教程了 最近在搞小主机&#xff0c;之前hp400g3仅仅200多元成功核显直通HDMI&#xff0c;作为简单NAS、解码机、伺服机、中控都非常棒&#xff0c;待机仅9w 村雨Murasame&#xff1a;【教程】7代核显直通HDMI成功输出画面 PVE下7代intel核显…

对象引用和对象赋值的区别

这两段代码的输出不同是因为对象引用和对象赋值的区别。 第一段代码&#xff1a; var controlPoints [{ x: 100, y: 200 }]; let obj null;controlPoints.forEach(item > {obj item; });obj.x 300; obj.y 500;controlPoints[0];第二段代码&#xff1a; var controlP…

数仓中数据分层的标准流向解读

在大数据开发中&#xff0c;数据分层是一个至关重要的概念。合理的数据分层可以有效地提升数据处理的效率和质量。本文将详细介绍数据分层的标准流向和相关注意事项&#xff0c;并结合实际应用进行说明。 数据分层的标准流向 根据行业标准&#xff0c;数据分层的标准流向如下…

IOS开发学习日记(十五)

目录 App启动过程及生命周期 App的启动 UIApplication UIApplicationDelegate 通过App生命周期回调实现启动页 闪屏的实现 简单实现闪屏功能 App启动过程及生命周期 App的启动 main函数前 动态链接 / 二进制文件加载 / runtime / 类的加载 ...... main函数 int main(int…

数据结构-线性表的顺序表示

目录 前言一、线性表1.1 线性表的概念1.2 线性表的逻辑特征 二、线性表的抽象数据类型三、线性表的顺序表示和实现3.1 线性表的顺序表示3.2 基本操作的实现 总结 前言 本篇文章介绍线性表的基本概念&#xff0c;并使用顺序存储结构实现线性表。 本篇文章使用的程序设计语言为C…

使用ANSI转义序列设置终端文本颜色

在使用ANSI转义序列设置终端文本颜色时&#xff0c;背景颜色和文本&#xff08;前景&#xff09;颜色的区分主要通过不同的ANSI代码来实现。ANSI转义序列使用格式为\033[代码m的结构&#xff0c;其中\033是转义字符&#xff08;等同于\e&#xff09;&#xff0c;m指示颜色设置的…

Python with MATLAB

Python with MATLAB 原文&#xff1a;Python with MATLAB - 知乎 (zhihu.com) 我问来自俄罗斯的实习生&#xff0c;你对网上争辩MATLAB和Python谁好谁坏有什么看法。实习生表示他不会Python&#xff0c;但是只要能完成老板布置的工作&#xff0c;哪个语言都无所谓。再说了&am…

c#调用c++生成的dll,c++端使用opencv, c#端使用OpenCvSharp, 返回一张图像

c代码&#xff1a; // OpenCVImageLibrary.cpp #include <opencv2/opencv.hpp> #include <vector> extern "C" { __declspec(dllexport) unsigned char* ReadImageToBGR(const char* filePath, int* width, int* height, int* step) { cv::Mat i…

事件驱动架构详解:触发与响应构建高效系统

目录 前言1. 事件驱动架构概述1.1 什么是事件1.2 事件驱动架构的核心概念 2. 事件驱动架构的实现2.1 基于消息队列的实现2.2 基于发布-订阅模式的实现2.3 基于流处理的实现 3. 事件驱动架构的优势3.1 松耦合性3.2 可扩展性3.3 异步处理3.4 灵活性 4. 事件驱动架构的应用场景4.1…