BGP有条件打破IBGP水平分割2

2024-06-09 05:12

本文主要是介绍BGP有条件打破IBGP水平分割2,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

4)前缀列表——BGP协议中可以直接将前缀列表作为分发列表调用

[r5]ip ip prefix d deny 100.100.1.0 24

[r5]ip ip prefix d permit 0.0.0.0 0 le 32

[r5]bgp 3

[r5-bgp]peer 4.4.4.4 ip-prefix d export

五、有条件的打破 IBGP 水平分割

    在一个 AS 中一台设备运行了 BGP 协议,那么正常应该都连接了其他的 AS,存在 EBGP 邻居关系;又由于IBGP 的水平分割规则,导致从外部学习到的路由传递给本地 AS时,需要和本 AS 中所有运行 BGP 协议的设备逐一建立 IBGP 邻居关系;----两两间均为 IBGP 邻居关系,建立数量成指数上升;
所谓有条件的打破,是指在保障无环的前提下消除IBGP 水平分割机制;--AS-BY-AY

【1】路由反射器     角色:  RR反射器   客户端   非客户端   

无论客户端还是非客户端都必须是RR的IBGP 邻居; 由RR 作为中心点与多个客户端、非客户端构成一个簇(组);在一个簇内存在一台 RR 和至少一台客户端;也可以一台 RR 和多个客户端、多个非客户端;或者一个R与多个客户端,没有非客户端;

反射规则: 不优路由不能被传递,自然也不能被反射;

1、RR 从一个 EBGP 邻居处学习到的路由,可以传输给客户端、非客户端,已经本地的其他EBGP 邻居;
2、RR 从一个客户端学习到的路由,可以传递给本地其他的客户端、非客户端、其他的 EBGP邻居;
3、RR 从一个非客户端学习到的路由,可以传递给本地的其他客户端、EBGP 邻居;不能传

[r3-bgp]peer 2.2.2.2 reflect-client      邻居 2.2.2.2成为本地的客户端,同时本地成为 RR

【2】联邦——将一个 AS,逻辑的分为多个小 AS;对外依然遵循大 AS 号传递规则;

         但小 AS 间为联邦内的 EBGP 邻居关系,可以像 EBGP 关系一样传递路由,但默认不对属性进行修改;


1)所有操作基于小 AS 号进行
2) AS 内所有设备需要定义自己所在的大 AS号

3)小 AS 间的 BGP 设备需要告知对端的小 AS 号

 [r3]bgp 64512
[r3-bgp]router-id 3.3.3.3
[r3-bgp]confederation id 2      申明本地的大 AS 号

[r3-bgp]confederation peer-as 64513        告知本地直连的其他小 AS号,若没有直连到其他小AS                                                                     不用配置
[r3-bgp]peer2.2.2.2 as-number 64512
[r3-bgplpeer2.2.2.2 connect-interface LoopBack 0
[r3-bgplpeer4.4.4.4 as-number 64513
[r3-bgplpeer4.4.4.4 connect-interface LoopBack 0
[r3-bgp]peer 4.4.4.4 ebgp-max-hop

注:在实际工程中,反射器与联邦技术协同工作在一个网络拓扑中

这篇关于BGP有条件打破IBGP水平分割2的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1044298

相关文章

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

SAM2POINT:以zero-shot且快速的方式将任何 3D 视频分割为视频

摘要 我们介绍 SAM2POINT,这是一种采用 Segment Anything Model 2 (SAM 2) 进行零样本和快速 3D 分割的初步探索。 SAM2POINT 将任何 3D 数据解释为一系列多向视频,并利用 SAM 2 进行 3D 空间分割,无需进一步训练或 2D-3D 投影。 我们的框架支持各种提示类型,包括 3D 点、框和掩模,并且可以泛化到不同的场景,例如 3D 对象、室

封装MySQL操作时Where条件语句的组织

在对数据库进行封装的过程中,条件语句应该是相对难以处理的,毕竟条件语句太过于多样性。 条件语句大致分为以下几种: 1、单一条件,比如:where id = 1; 2、多个条件,相互间关系统一。比如:where id > 10 and age > 20 and score < 60; 3、多个条件,相互间关系不统一。比如:where (id > 10 OR age > 20) AND sco

使用条件变量实现线程同步:C++实战指南

使用条件变量实现线程同步:C++实战指南 在多线程编程中,线程同步是确保程序正确性和稳定性的关键。条件变量(condition variable)是一种强大的同步原语,用于在线程之间进行协调,避免数据竞争和死锁。本文将详细介绍如何在C++中使用条件变量实现线程同步,并提供完整的代码示例和详细的解释。 什么是条件变量? 条件变量是一种同步机制,允许线程在某个条件满足之前进入等待状态,并在条件满

一些数学经验总结——关于将原一元二次函数增加一些限制条件后最优结果的对比(主要针对公平关切相关的建模)

1.没有分段的情况 原函数为一元二次凹函数(开口向下),如下: 因为要使得其存在正解,必须满足,那么。 上述函数的最优结果为:,。 对应的mathematica代码如下: Clear["Global`*"]f0[x_, a_, b_, c_, d_] := (a*x - b)*(d - c*x);(*(b c+a d)/(2 a c)*)Maximize[{f0[x, a, b,

notepad++ 正则表达式多条件查找替换

基础语法参考: https://www.cnblogs.com/winstonet/p/10635043.html https://www.linuxidc.com/Linux/2019-05/158701.htm   通常情况下我们查找的内容和要被替换掉的内容是一样的,我们只需要使用正则表达式精确框定查找内容,替换直接输入要替换的内容即可。 但有时会比较复杂,查找的内容,只需要替换其中

FPGA开发:条件语句 × 循环语句

条件语句 if_else语句 if_else语句,用来判断是否满足所给定的条件,根据判断的结果(真或假)决定执行给出的两种操作之一。 if(表达式)语句; 例如: if(a>b) out1=int1; if(表达式)         语句1; else         语句2; 例如: if(a>b)out1=int1;elseout1=int2; if(表达式1) 语句1; els

Kernel 中MakeFile 使用if条件编译

有时需要通过if  else来选择编译哪个驱动,单纯的obj-$(CONFIG_)就不是很方便,下面提供两种参考案例: 案例一: 来源:drivers/char/tpm/Makefileifdef CONFIG_ACPItpm-y += tpm_eventlog.o tpm_acpi.oelseifdef CONFIG_TCG_IBMVTPMtpm-y += tpm_eventlog.o

基于YOLO8的图片实例分割系统

文章目录 在线体验快速开始一、项目介绍篇1.1 YOLO81.2 ultralytics1.3 模块介绍1.3.1 scan_task1.3.2 scan_taskflow.py1.3.3 segment_app.py 二、核心代码介绍篇2.1 segment_app.py2.2 scan_taskflow.py 三、结语 代码资源:计算机视觉领域YOLO8技术的图片实例分割实

shell循环sleep while例子 条件判断

i=1# 小于5等于时候才执行while [ ${i} -le 5 ]doecho ${i}i=`expr ${i} + 1`# 休眠3秒sleep 3doneecho done 参考 http://c.biancheng.net/cpp/view/2736.html