路由反射器、联邦

news2024/11/15 13:32:31

路由反射器

RFC4456
IBGP水平分割:路由器无法将从IBGP对等体学习到的路由信息传递给其他IBGP对等体。


IBGP水平分割解决了AS内部环路的问题,但是产生了新的问题----BGP路由在AS内部只能传递一跳,会造成lBGP路由无法被正常传递,造成通讯障碍。

 

路由反射器角色
 

  • RR---Route Reflector
    • RR类似于一面镜子,可以把自己接收到的路由信息反射给其他人
  • Client----RR客户端-----客户端可以存在多个或一个
  • RR非客户端
     

路由反射器的配置是在充当反射器的BGP路由器上完成的。而路由反射器的客户设备并不需要做任何额外的配置,它甚至不知道自己成为了某个路由反射器的客户。


路由反射器与所有的客户或非客户建立IBGP对等体关系,而客户之间则无需建立IBGP对等体关系。这样就优化了网络中的IBGP对等体关系数量。
 

路由反射规则


1.如果路由反射器从自己的非客户对等体学习到一条IBGP路由,则可以将这条路由传递给自己的客户

⒉.如果路由反射器从自己的客户对等体学习到一条IBGP路由,则可以将这条路由传递给自己的客户和非客户

3.如果路由器学习到EBGP对等体发送的路由信息,则可以发送给所有的IBGP对等体

4.当路由反射器执行路由反射时,它将只能使用自己最优的BGP路由进行反射。

 [r3-bgp]peer 2.2.2.2 reflect-client..---1、指定2.2.2.2为自己的客户;2、并说明自己是RR

路由反射器角色可能会根据处于不同的反射簇时充当不同的角色。一般会设置传递路由信息的一方为RR的客户端。

origin-ID-----起源ID


当一条BGP路由被路由反射器反射给其他路由器时,如果该条路由已经携带了起源ID属性,则保留该属性,否则路由反射器为这条路由添加起源ID属性,并将该属性值设置为该路由在本地AS内的始发路由器的RID值。

当路由器从BGP对等体收到一条IBGP路由,并且该路由所携带的起源ID属性与自己的BGPRID相同时,它将意识到该路由是从自己这里发送到本AS内部的,且又被发送回来了,此时本地将忽略这条路由的更新。如此消除环路隐患。


cluster-List-----簇列表

当一条BGP路由被路由反射器执行反射时,如果该条路由已经存在Cluster-List属性,那么路由反射器将本地的cluster-ID附加到路由的Cluster-List属性中,而如果该路由没有Cluster-List属性,那么路由反射器为其创建,并将cluster-ID加入到Cluster-List中。


当一台路由反射器收到一条BGP路由后,若发现该路由携带Cluster-List属性,并且Cluster-List属性中包含着自己的Cluster-ID时,会忽略关于这条路由的更新。-----类似于AS-Path属性的防环原理。

属性作用
Origin-ID

用于繁殖集群内产生路由环路

Cluster-List

用于防止集群间产生路由环路

注意:

  • 当路由反射器将一条从自己的EBGP对等体学习到的BGP路由通告给自己的客户时,他是不会创建起源ID和簇列表,因为这本质上是正常的通告行为

  • 起源ID和簇列表的传播范围是AS内部
     
  • 路由反射器在反射路由时,不会修改除了起源ID和簇列表以外的路径属性,原因是因为AS-BY-AS原则

反射器的组网方式

备份RR组网

 由于RR打破了IBGP对等体收到的路由不能传递给其他IBGP对等体的限制,所以同一集群内的RR之间可能存在环路。这就需要将同集群内的所有RR的Cluster-ID设置为相同值,用以避免RR之间的路由环路。

[r3-bgp]reflector cluster-id 10.10.10.10---设置集群的簇ID,只能在反射器上进行配置,该命令为覆盖式命令,配置后,会覆盖掉之前路由器选择出来的Cluster-ID。
 

多集群路由反射组网

分级路由反射器

同级路由反射器

 注意:在同级路由反射器中,RR之间属于Non-Client的IBFP Full Mesh结构。

单集群问题

 

多集群设计不仅提供了针对物理链路失效带来的物理冗余,同时提供针对客户端和RR之间的IBGP会话失效的逻辑冗余。

联邦----联盟

联邦的思想:在一个大的AS内创建若干个小的AS,使得AS内部出现一种特殊的EBGP对等体关系,从而解决IBGP路由在AS内部传递的问题。

若使用联邦将AS 3456划分为多个,则AS 3456被称为联邦AS,而划分的小的AS,称为成员AS

 由于成员AS号是由联邦AS号的管理者进行分配的,所以不能使用公有AS号,而是使用私有AS号(65512-65534)

成员AS之间建立的EBGP对等体关系是一种特殊的EBGP对等体关系,他们之间仅遵循EBGP对等体的路由传递原则,但是不能像正常的EBG对等体一样修改路由的路径属性;而从传递的内容角度来看,依然需要遵循AS-BY-AS原则,因为在宏观上,他们依然处于同一个AS当中。----联邦AS内部的成员AS对于联邦外部并不可见。

联邦配置:

[r1]bgp 100
[r1-bgp]router-id 1.1.1.1
[r1-bgp]peer 10.1.13.3 as-number 3456---使用联邦AS号建立BGP对等体,原因:对于R1而言,并不需要知晓对端AS中的成员AS内容。

[r3]bgp 64512---联邦成员设备启动BGP进行需要使用成员AS号启动

[r3-bgp]router-id 3.3.3.3
[r3-bgp]confederation id 3456--定义联邦AS号

[r3-bgp]peer 10.1.13.1 as-number 100

[r3-bgp]peer 4.4.4.4 as-number 64512
[r3-bgp]peer 4.4.4.4 connect-interface LoopBack 0

[r3-bgp]peer 4.4.4.4 next-hop-local


[r4]bgp 64512
[r4-bgp]router-id 4.4.4.4[r4-bgp]confederation id 3456
[r4-bgp]peer 3.3.3.3 as-number 64512
[r4-bgp]peer 3.3.3.3 connect-interface LoopBack 0
[r4-bgp]confederation peer-as 64513----在需要建立联邦的EBGP对等体关系的设备上指定与自己建邻的成员AS号,若有多个可以一次指定
[r4-bgp]peer 5.5.5.5 as-number 64513
[r4-bgp]peer 5.5.5.5 connect-interface LoopBack 0

[r4-bgp]peer 5.5.5.5 ebgp-max-hop---修改TTL值(建议最大值)
 

[r5]bgp 64513
[r5-bgp]router-id 5.5.5.5
[r5-bgp]confederation id 3456
[r5-bgp]confederation peer-as 64512

[r5-bgp]peer 4.4.4.4 as-number 64512

[r5-bgp]peer 4.4.4.4 con l 0
[r5-bgp]peer 4.4.4.4 ebgp-max-hop

[r5-bgp]peer 6.6.6.6 as-number 64513

[r5-bgp]peer 6.6.6.6 con l 0
[r5-bgp]peer 10.1.25.2 as-number 200

[r5-bgp]peer 6.6.6.6 next-hop-local
[r5-bgp]peer 4.4.4.4 next-hop-local ---联邦内部传递不修改属性,故需要手工修改下一跳为本地
 

[r6]bgp 64513
[r6-bgp]router-id 6.6.6.6
[r6-bgp]confederation id 3456
[r6-bgp]peer 5.5.5.5 as-number 64513
[r6-bgp]peer 5.5.5.5 connect-interface LoopBack 0
[r2]bgp 200
[r2-bgp]router-id 2.2.2.2
[r2-bgp]peer 10.1.25.5 as-number 3456
 

联邦防环

使用EBGP水平分割原则。当BGP路由在联邦内传递时,联邦成员AS号才会出现在AS_Path属性中,当路由传出联邦AS时,成员AS号才被移除。联邦的成员AS 号会用()括起来。

路由反射器联邦
不需要修改现有的网络拓扑需要改变逻辑拓扑
配置简单,只需要对反射器设备进行操作,且客户端不知道自己是客户端所有设备均需要进行配置,并且要求路由器具备联邦的功能。
集群和集群之间仍然需要全连接联邦的子AS之间是特殊的EBGP连接,不需要全连接
适用于中大型网络仅适用大型网络

一般在大型BGP网络中,路由反射器和联邦是可以同时使用的。原因:联邦中的成员AS若为单线连接,只能存在两台设备,若单线存在多台设备,又会发生联邦AS内部的IBGP水平分割现象,故需要使用路由反射器弥补缺陷。


场景:(两个环路)          

 

实验作业:

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

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

相关文章

使用计算机视觉实战项目精通 OpenCV:6~8

原文:Mastering OpenCV with Practical Computer Vision Projects 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自【ApacheCN 计算机视觉 译文集】,采用译后编辑(MTPE)流程来尽可能提升效率。 当别人说你没有底线…

Vue3PDF预览(vue3-pdf-app)

vue3-pdf-app 插件 可自定义设置以下属性: pdf地址(src),类型:string,必传,默认 预览容器宽度(width),类型:number | string,默认 …

数字化转型框架如何搭建?

根据GetSmarter对来自128个国家/地区的5808名专业人士进行关于数字化转型的调查,揭示了几个重要的发现。 首先是所有行业和工作角色对数字化转型的看法不同。它不仅仅专注于集成和利用新技术,例如机器学习(ML)、人工智能(AI)、大数据和自动化。它是关于…

云原生之在kubernetes集群下部署Mysql应用

云原生之在kubernetes集群下部署mysql应用 一、Mysql介绍二、kubernetes集群介绍1.k8s简介2.k8s架构图 三、本次实践介绍1.本次实践简介2.本次环境规划 三、检查本地k8s集群环境1.检查k8s各节点状态2.检查k8s版本3.检查k8s系统pod状态 四、编辑mysql.yaml文件五、创建mysql应用…

STM32G070 onchip移植FlashDB

一、Onchip Flash 特性 在STM32G070 的片内 Flash写入数据之前必须先对目标地址进行擦除后才能写入数据数据写入:G070 Flash 写入数据必须保证8字节对齐,一次写入双字数据64bit 8Byte数据读取:使用地址直接读取 二、移植FAL 1. 添加以下文…

全面详解Java多线程基础-2:线程的状态

相关阅读: 全面详解Java多线程基础-1:Thread类及其基本用法 操作系统里的进程,自身是有一个状态的。而Java的Thread类是对系统线程的封装,它把这里的“状态”又进一步精细化了。 理解线程状态,意义是能够让我们更好地…

当ChatGPT遇上StableDiffusion ChatGPT指导StableDiffusion绘画

ChatGPT指导StableDiffusion 前言开始使用场景1:繁华的街道场景2:桥上的女生 项目及教程地址,附GPT访问地址安装教程及安装包地址:点我下载开源项目:点我下载GPT访问地址,点我访问 前言 Stable Diffusion …

java下

双列集合的特点 双列集合一次需要存一对数据,分别为键和值键不能重复,值可以重复键和值是一一对应的,每一个键只能找到自己对应的值键+值这个整体我们称之为“键值对”或者“键值对对象”,在Java中叫做“Entry对象” …

git及vs2019代码量统计的方法

git 在工程下打开git bash //替换username,查看个人代码量 git log --author"username" --prettytformat: --numstat | awk { add $1; subs $2; loc $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", ad…

基于matlab之NR SSB 光束扫描仿真

一、前言 此示例说明如何在 5G NR 系统的发射器 (gNB) 和接收器 (UE) 端使用波束扫描。本示例使用同步信号块 (SSB) 说明了初始访问期间使用的一些波束管理程序。为了完成声束扫描,该示例使用了…

人工智能全球发展趋势、经济影响和未来挑战

人工智能(AI)作为一种新兴技术,正在引领世界经济和社会的变革。在过去几年中,全球范围内对人工智能的投资和研究持续增长,这使得人工智能成为了各行各业的关注焦点。本文将介绍人工智能的基础知识和应用场景&#xff0…

3个问题!验明GPT-4真身;基于GPT科研加速技巧汇总;Midjourney神仙教程;印象笔记有AI功能啦 | ShowMeAI日报

👀日报&周刊合集 | 🎡生产力工具与行业应用大全 | 🧡 点赞关注评论拜托啦! 🤖 『GPT-4 验明真身的三个经典问题』快速区分 GPT-3.5 与 GPT-4,快来对答案 这里收集了几个免费使用 GPT-4 的工具&#xff…

LVDS为汽车应用提供可靠的视频接口

摘要:汽车视频应用中,降低视频干扰的途径是用数字信号替代模拟信号。最有效的视频传输方案是采用低电压差分信号(LVDS)接口,因为它具有较低的信号幅度(0.35V)和差分架构,可大大降低电磁辐射。 新型汽车电子信号格式变化最快的是视…

如何在 iPhone 上恢复永久删除的照片?

iPhone永久删除的照片是否永远消失了? 你想知道永久删除的照片在 iPhone 上放在哪里吗?通常情况,操作系统会将已删除照片的存储空间进行标记为准备好覆盖(还未实际删除)。iPhone 也是如此。 如果互联网连接良好&a…

从功能到外企测开,工作1年半拿下年薪30万的测开 offer,未来可期

说一下我的大致情况,女,2018年毕业于末流211计算机本科。后来待业两年,完全没有从事互联网方面的工作。去年来到北京,在小公司做了一年多功能测试。今年11月底跳槽到外企,开始了我钱多事少离家近,每周965的…

如何用ChatGPT做品牌项目的二手信息搜集?

该场景对应的关键词库(25个): 品牌案例、竞品、信息来源、项目分析、官方渠道、品类、品牌、节日节庆、明星、国家、奖项、代理商、项目名称、项目描述、品牌介绍、竞争情况、运营数据、财务信息、交易信息、法律问题、网络平台、行业人士、品…

线程池?我不懂?

为什么要使用线程池? 降低资源消耗。通过重复利用已创建的线程,降低线程创建和销毁造成的消耗提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行增加线程的可管理型。线程是稀缺资源,使用线程池可以进行统一分…

c++学习之c++对c的扩展1

目录 1.面向过程与面向对象的编程 2.面向对象编程的三大特点 3.c对c的扩展: 1.作用域运算符:: 2.命名空间 1.c命名空间(namespace) 2.命名空间的使用 1.在不同命名空间内可以创建相同的名称 2.命名空间只能在全…

Java基础——异常+IO流资源释放

异常 (1)什么是异常: 程序在编译/执行的过程中可能出现的问题注意:语法错误不属于异常 (2)为什么要学习异常: 异常一旦出现了,如果没有提前处理,程序就会退出JVM虚拟…

java的泛型

1. 泛型是什么 ​ Java泛型是J2 SE1.5中引入的一个新特性,其本质是参数化类型,也就是说所操作的数据类型被指定为一个参数(type parameter), 这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、…