首页 > 其他分享 >路由反射器

路由反射器

时间:2023-08-25 23:46:01浏览次数:90  
标签:反射器 RR 客户机 Cluster ID 路由

在使用BGP路由协议的网络中,为保证IBGP对等体之间的连通性,需要在IBGP对等体之间建立全连接关系。假设在一个AS内部有n台路由器,那么应该建立的IBGP连接数就为n(n-1)/2.当IBGP对等体数目很多时,对网络资源和CPU资源的消耗都很大。

路由反射器的定义

利用路由反射可以解决这一问题。在一个AS内,其中一台路由器作为路由反射器RR(Route Reflector),其它路由器做为客户机(Client)。客户机与路由反射器之间建立IBGP连接。路由反射器和它的客户机组成一个集群(Cluster)。路由反射器在客户机之间传递(反射)路由信息,而客户机之间不需要建立BGP连接。

既不是反射器也不是客户机的BGP路由器被称为非客户机(Non-Client)。非客户机与路由反射器之间,以及所有的非客户机之间仍然必须建立全连接关系。

路由反射器的工作步骤

当RR收到IBGP发来的路由,首先使用BGP选择路由的策略选择最佳路由。在公布学习到的路由信息时,RR按照RFC2796中的规则发布路由:

  1)从非客户机IBGP对等体学到的路由,发布给此RR的所有客户机。

  2)从客户机学到的路由,发布给此RR的所有非客户机和客户机(发起此路由的客户机除外)。

  3)从EBGP对等体学到的路由,发布给所有的非客户机和客户机。

RR的一个好处就是配置方便,因为只需要在反射器上配置,客户机不需要知道自己是客户机。

Originator_ID

RFC2796定义了Originator_ID属性和Cluster_List属性,用于检测和防止路由环路。

Originator_ID属性长4字节,是由路由反射器(RR)产生的,携带了本地AS内部路由发起者的Router ID.

  • 当一条路由第一次被RR反射的时候,RR将Originator_ID属性加入这条路由,标识这条路由的发起路由器。如果一条路由中已经存在了Originator_ID属性,则RR将不会创建新的Originator_ID.
  • 当其它BGP Speaker接收到这条路由的时候,将比较收到的Originator_ID和本地的Router ID,如果两个ID相同,BGP Speaker会忽略掉这条路由,不做处理。

  Originator_ID属性保证路由在反射器和客户机/非客户机之间的不出现循环。

Cluster_List

对于AS之间,BGP用于防止环路的主要措施是通过AS_Path属性记录途经的AS路径,带有本地AS号的路由将被路由器丢弃;对于AS之内,BGP防止路由环路的方法是禁止IBGP对等体发布从AS内部学来的路由。

路由反射器的实现是基于放宽对"BGP在AS内学到的路由不会在AS中转发"的要求,即允许IBGP对等体之间发布从AS内部学来的路由。在这种情况下,Cluster_List属性被引入,用于防止AS内部的环路。

Cluster_List由一系列的Cluster_ID组成,描述了一条路由所经过的反射器路径,这和描述路由经过的As路径的AS_Path属性有相似之处。Cluster_List由路由反射器产生。

  • 当RR在它的客户机之间或客户机与非客户机之间反射路由时,RR会把本地Cluster_ID添加到Cluster_List的前面。如果Cluster_List为空,RR就创建一个。
  • 当RR接收到一条更新路由时,RR会检查Cluster_List.如果Cluster_List中已经有本地Cluster_ID,丢弃该路由;如果没有本地Cluster_ID,将其加入Cluster_List,然后反射该更新路由。

为了保证客户机可以学习到反射器发来的路由,Cluster_ID不能和客户机的Router ID相同。如果相同,客户机会将收到的路由丢弃。Cluster_List只在AS内部传播,从EBGP对等体收到的含有Cluster_List的路由将被丢弃。

标签:反射器,RR,客户机,Cluster,ID,路由
From: https://www.cnblogs.com/sawyerhan/p/17658203.html

相关文章

  • BGP联盟和路由反射器
    在谈BGP联盟和BGP反射器这两个技术前,我们先来了解一下BGP中存在的路由黑洞问题。什么是路由黑洞呢?我们以下面这个拓扑来详细的介绍一下:这是一个典型的BGP应用组网。图中,有3个AS,AS之间运行BGP协议。AS65008域内运行OSPF协议。R1和R5上只运行BGP协议,R2和R4上运行OSPF和BGP协议,R3......
  • wpf路由事件简述
    比如在一个窗体中放一个容器,容器中再放一个按钮,添加按钮的鼠标点击事件,再添加容器的鼠标点击事件,然后添加窗体的鼠标点击事件,那么当我们触发按钮的鼠标点击事件后如果不设置e.handle=true就会继续执行容器的鼠标点击事件然后再执行窗体的鼠标点击事件,这就是路由事件的概念。......
  • 路由的过滤器设置
             ......
  • 路由断言工厂
            ......
  • 单播-动态路由的分类
    根据作用范围根据作用的范围,路由协议可分为:内部网关协议(InteriorGatewayProtocol,简称IGP):在一个自治系统内部运行,常见的IGP协议包括RIP、OSPF和IS-IS。外部网关协议(ExteriorGatewayProtocol,简称EGP):运行于不同自治系统之间,BGP是目前最常用的EGP协议。根据使用的算法......
  • uniapp路由跳转后通过uni.$emit和uni.$on页面通讯后,接收到数据但是却赋值不了
    原因:跳转到未渲染过的页面时,页面还没渲染就进行赋值操作,所以赋值不上去。      如果往后跳转,可以使用uni.$emit和uni.$on页面传值。即uni.navigateBack({delta:1}),尽量不要使用uni.navigateTo(会造成页面重叠)。能够接收到数据并赋值。解决办法:使用EventChannel代码......
  • 【路由器】小米 WR30U 解锁并刷机
    本文主要记录个人对小米WR30U路由器的解锁和刷机过程,整体步骤与一般安装流程类似,但是由于WR30U的解锁ssh和刷机的过程中有一些细节需要注意,因此记录一下解锁ssh环境准备需要一台同时具有WiFi和有线网络的电脑,以及一根网线然后需要配置python环境,并且安装pycrypt......
  • cisco 路由器设备忘记密码
    1、Cisco路由在使用CRT软件进行配置的时候,忘记或丢失enable密码的情况时,在目前情况无法远程重启,需要断电重启;2、在重新插入电源启动的过程中按下Ctrl+Break,有些笔记本电脑是没有break键的,如果不知道在哪里,就找个108键的键盘;以下为正式操作DBS旧设备配置清除1.流程以及命令#......
  • 如何进入路由进行端口映射?
    端口映射一般在路由器中进行设置,在做端口映射之前您先需要知道您的应用程序需要对外开放哪些端口?另外您服务器的内网IP地址要知道,这个服务器的内网IP最好设置成固定的,不要随机获取,另外映射的端口是采用什么协议的,是TCP、UDP还是什么协议,掌握了以上信息后就可以通过路由器的网关地址......
  • 与gpt关于路由问答
    问:if(store.getters.roles.length===0){//判断当前用户是否已拉取完user_info信息store.dispatch("GetInfo").then(()=>{store.dispatch("GenerateRoutes").then((accessRoutes)=>{......