当前位置: 首页 > backend >正文

BGP路由反射器

文章目录

    • BGP路由反射器

https://i-blog.csdnimg.cn/blog_migrate/58966ddd9b29aabe8841f5ec34f0d31c.gif

🏡作者主页:点击!

🤖Datacom专栏:点击!

⏰️创作时间:2025年05月07日12点07分

在这里插入图片描述

BGP路由反射器

路由反射器用于优化 IBGP 全互联架构

不能解决路由黑洞问题,只能优化IBGP邻居全互联,相当于是间接解决路由黑洞

反射器在反射路由的时候,也只会反射有效路由中的最优路由

路由反射器RR,用来解决IBGP水平分割,IBGP邻居只传递一跳的问题

很大程度上减少大型AS中IBGP对等关系的数量并简化相应的配置和维护工作

分为客户端和非客户端,一个反射器和它的客户端一起被称为 Cluster

  • 从一个非客户端收到的路由,反射器会将它传给所有的客户端
  • 从一个客户端收到的路由,反射器会将它传递给所有其他的客户端以及非客户端
  • 从EBGP对等体那里收到的路由,反射器会将它传递给所有的客户端和非客户端,此时这里是没有反射的概念(正常的路由传递)

总结就是:从非客户机收到的BGP路由不会反射给非客户机,其他都是可用反射的----HCIE

RR本质上就是用于路由的反射,反射的时候本身不会对路由的属性做出任何修改----HCIE

RR的场景下,IBGP邻居关系的建立:----HCIE

  • 客户端与反射器之间建立IBGP对等体关系
  • 客户端之间无需建立IBGP对等体关系
  • 非客户端和反射器建立的是IBGP对等体关系
  • 如果存在多个反射器,反射器之间也要建立IBGP邻居关系

next-hop-local //将EBGP路由传递给IBGP邻居的时候,才会生效

RR路由反射器路由下一跳的特点:

  1. 当RR收到客户机路由时,反射给其他客户机以及非客户机的时候,下一跳不变
  2. 当RR收到客户机路由时,传递给EBGP邻居的时候,下一跳改变为本地
  3. 当RR收到EBGP邻居路由,传递给客户机和非客户机的时候,下一跳不变,通过 next-hop-local 修改
  4. 当RR收到非客户机路由,会反射给客户机的时候,下一跳属性不变

路由反射器的防环机制:----HCIE(两个属性都是为了防止环路的产生)

Origintor_id:看反射器是起源于谁的

  • 该属性为可选非过渡
  • 用于集群内的防环
  • 由RR产生,携带了本地AS内该路由发送者的Router ID(哪台设备发给RR的路由就是谁的Router ID)
  • 当RR把路由反射给IBGP设备的时候,会为这条路由器添加上一个起源ID(取值为始发路由器的Router ID)
  • 当一台BGP路由器从IBGP邻居收到一条路由中的起源ID和自己的Router ID一致则不接收该路由
  • 接受的时候不叫反射,所以在RR本地是看不到的,只有通过RR发出去的路由才叫做反射,这时候在能看见该属性
  • RR收到了某条BGP路由,这条BGP路由携带 Originator ID,反射出去的时候不会进行修改,也不会再添加
  • 当路由器将BGP路由传递给EBGP邻居的时候,将会把 Originator ID 属性剔除掉发送
  • RR场景中,RR的作用是实现路由传递,在传递过程中,本身不会修改路由的下一跳为自身,RR不一定会参与路由的转发
  • 当一台IBGP的设备将发布在底层IGP的Loopback接口重新在BGP里进行network,此时出现超网单播路由,在华为里默认是不会被优选的,思科可以通过命令实现
  • bgp xxxx
    ipv4-family unicast //进入IPv4协议簇
    supernet unicast advertise enable //此命令用来配置BPG向对等体发送BGP超网单播路由
    缺省情况下,BGP超网单播会被认为是无效路由,不会发布给其他对等体,不会下发到 IP 路由表

cluster-list:路由器放到一个簇里面

  • 该属性为可选非过渡

  • 用于集群间的防环,防止多个集群引起的环路(此场景存在多个RR反射器)

  • 由每个路由反射器产生,记录反射路由经过的集群

  • 每个RR设备都有一个簇ID,具有相同簇ID的RR设备,与它们客户端的集合叫做一个簇

  • RR在反射路由的时候也会在路由的 Cluster List 中添加自己的 Cluster ID,这个簇ID默认取值是RR的Router-ID,当RR设备收到一条路由的时候,将会检查路由的Cluster List,如果该路由的 Cluster List 中包含自己的 Cluster ID 那么将忽略这条路由

  • 集群内两个RR反射器的Cluster ID一样,互为备份

  • 根本就是同一个区域,多个RR,用来防止路由回馈

    # 簇列表	起源ID	router-id	簇ID# 如果RR接收到一条BGP路由,簇列表中包含自身的簇ID,则不接受这条路由(Cluster-list防环)(只有RR才有簇ID)
    # 如果RR接收到一条BGP路由,簇列表中包含自身的Router-ID,RR正常接收,非RR设备不接受
    # 如果RR接收到一条BGP路由,起源ID等于自身的Router-ID,那么就不接受(Originator 防环)
    # 如果RR接收到一条BGP路由,起源ID等于自身的簇ID,依然会正常接受路由(只有RR才有簇ID)
    # 如果客户机和非客户机,收到一条BGP路由,簇列表中包含自己的 Router-id,是会接受的(不精确)# 如果客户机和非客户机收到一条BGP路由,簇列表中包含自己的Router-id,则不接受这条路由(实验场景较为复杂)
    
http://www.xdnf.cn/news/4501.html

相关文章:

  • Linux 内核对 ARM 大小核架构的支持
  • B树如何用于磁盘 ,B+树为如何用于数据库
  • 源雀SCRM开源·AI企微客服|RAG知识中枢+自训练闭环
  • 汽车生产DV与PV验证
  • MongoDB培训文档大纲(超详细)
  • 基于大模型的子宫平滑肌瘤全周期预测与诊疗方案研究
  • 第4章 递推法
  • 动态规划之完全背包
  • C++ -- 哈希扩展
  • 探索智能仓颉:Cangjie Magic开发体验
  • 电子电器架构 --- 网关释放buffer的必要性
  • 紫光展锐全新奇迹手游引擎,开启游戏“芯”时代
  • 安卓工程build.gradle中的Groovy的常见知识点
  • linux_进程地址空间(虚拟地址空间)
  • 【背包dp----01背包】例题三------(标准的01背包+变种01背包1【恰好装满背包体积 产生的 最大价值】)
  • MySQL基础关键_010_数据库设计三范式
  • OC语言学习——面向对象(下)
  • 在 R 语言中,data$Age 是一种常见的语法结构
  • taro的学习记录
  • Leetcode 刷题记录 09 —— 链表第三弹
  • 通义读光系列文字检测+识别模型端到端OCR应用
  • 无网络环境下配置并运行 word2vec复现.py
  • tmpfs和普通文件系统相比有哪些优缺点
  • CentOS 安装 Zellij 终端复用器教程
  • Android 移动应用开发:点击按钮打开电话拨号界面
  • Object.defineProperty()
  • LC滤波电路使用TSMI一体成型贴片电感的好处
  • Python初学者笔记第十一期 -- (字符串编程练习题)
  • k8s高可用集群,自动化更新证书脚本
  • 2025-05-07 Unity 网络基础8——UDP同步异步通信