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

BGP路由反射器(RR)实验详解,结尾有详细脚本

目录

  1. 路由反射器基础概念

  2. 实验拓扑与设计

  3. 实验配置步骤

  4. 配置验证与排错

  5. 实验总结

  6. 完整配置命令集

路由反射器基础概念

在传统的IBGP网络中,为了防止路由环路,BGP规定通过IBGP学到的路由不能再传递给其他IBGP对等体,这导致所有IBGP路由器必须建立全互联(full-mesh)关系。当网络规模扩大时,这种全互联方式会消耗大量资源。

路由反射器(Route Reflector, RR)解决了这个问题,它允许将路由反射给特定客户端,打破了IBGP的全互联限制。一个路由反射器网络包含三种角色:

  1. 路由反射器(RR):可以反射路由的BGP路由器

  2. 客户端(Client):与RR形成特殊关系的IBGP对等体

  3. 非客户端(Non-Client):普通的IBGP对等体

RR会将从客户端学到的路由反射给其他客户端和非客户端,将从非客户端学到的路由只反射给客户端。

路由反射器关键属性

路由反射器使用两个特殊属性来防止环路并跟踪路由来源:

  1. Originator_ID

    • 类型码为9的可选非过渡属性

    • 由第一个反射路由的RR创建,记录原始路由通告者的Router ID

    • 如果路由器发现收到的路由Originator_ID与自己的Router ID相同,则丢弃该路由

  2. Cluster_List

    • 类型码为10的可选非过渡属性

    • 记录路由经过的反射器集群路径(每个集群用Cluster ID标识)

    • 每个RR反射路由时会追加自己的Cluster ID

    • 如果RR发现收到的路由Cluster_List中包含自己的Cluster ID,则丢弃该路由

实验拓扑与设计

  • R1:AS 100中的普通IBGP路由器

  • R2:作为路由反射器,负责反射路由

  • R3:R2的客户端,同时与AS 200的R4建立EBGP连接

  • R4:AS 200中的路由器,通告网络10.4.4.0/24

实验配置步骤

1. 基础网络配置

首先确保所有接口和OSPF(用于IBGP环回口可达性)配置正确:

# 在R1、R2、R3上配置OSPF
[R1] ospf 1
[R1-ospf-1] area 0
[R1-ospf-1-area-0.0.0.0] network 10.0.1.1 0.0.0.0
[R1-ospf-1-area-0.0.0.0] network 10.0.12.0 0.0.0.255
# 类似配置R2、R3# 在R3和R4之间配置直连接口
[R3] interface GigabitEthernet0/0/1
[R3-GigabitEthernet0/0/1] ip address 10.0.34.3 24
[R4] interface GigabitEthernet0/0/1
[R4-GigabitEthernet0/0/1] ip address 10.0.34.4 24

2. BGP基础配置

BGP配置如下:

# R1配置
[R1] bgp 100
[R1-bgp] router-id 10.0.1.1
[R1-bgp] peer 10.0.2.2 as-number 100
[R1-bgp] peer 10.0.2.2 connect-interface LoopBack0# R2作为RR配置
[R2] bgp 100
[R2-bgp] router-id 10.0.2.2
[R2-bgp] peer 10.0.1.1 as-number 100
[R2-bgp] peer 10.0.1.1 connect-interface LoopBack0
[R2-bgp] peer 10.0.3.3 as-number 100
[R2-bgp] peer 10.0.3.3 connect-interface LoopBack0
[R2-bgp] peer 10.0.3.3 reflect-client  # 将R3配置为客户端# R3配置
[R3] bgp 100
[R3-bgp] router-id 10.0.3.3
[R3-bgp] peer 10.0.2.2 as-number 100
[R3-bgp] peer 10.0.2.2 connect-interface LoopBack0
[R3-bgp] peer 10.0.34.4 as-number 200# R4配置
[R4] bgp 200
[R4-bgp] router-id 10.0.4.4
[R4-bgp] peer 10.0.34.3 as-number 100
[R4-bgp] network 10.4.4.0 255.255.255.0

3. 路由反射验证

在R2上查看BGP对等体关系:

<R2> display bgp peer

可以看到R1为普通IBGP对等体,R3标记为路由反射客户端。

配置验证与排错

1. 验证路由传播

在R1上检查是否学到了AS 200的路由:

<R1> display bgp routing-table

看到10.4.4.0/24的路由,下一跳为R3(10.0.3.3)。(RR会将从客户端学到的路由反射给其他客户端和非客户端)

2. 验证路由反射器属性

检查路由的反射器属性:

# 查看路由详细信息(在R1上执行)
<R1> display bgp routing-table 10.4.4.0# 输出示例:
BGP local router ID : 10.0.1.1
Local AS number : 100
Paths:    1 available
From : 10.0.2.2 (10.0.2.2)
Route Duration : 0d00h01m23s  
Relay IP Nexthop : 10.0.2.2
Original nexthop: 10.0.3.3
Origin : igp
AS-path : 200
Originator: 10.0.3.3        # Originator_ID属性
Cluster list: 10.0.2.2      # Cluster_List属性

3. 验证反射器状态

在RR(R2)上查看反射状态:

<R2> display bgp peer 10.0.3.3 verbose
# 在输出中查找:
Route reflector client: Yes  # 确认客户端状态

4. 常见问题排查

  1. 路由未反射

    • 确认RR配置了reflect-client

    • 检查OSPF是否使环回口可达

    • 使用display bgp peer确认对等体状态为Established

  2. 路由属性问题

    • 检查路由的ORIGIN、AS_PATH等属性是否正确

    • 使用display bgp routing-table 10.4.4.0查看详细路由信息

  3. EBGP连接问题

    • 确认R3和R4的直连物理接口状态为UP

    • 检查EBGP对等体AS号配置是否正确

实验总结

通过本实验,我们成功构建了一个包含路由反射器的IBGP网络,实现了:

  1. 在AS 100内使用路由反射器减少IBGP全互联需求

  2. 通过R3与AS 200建立EBGP连接并引入外部路由

  3. 验证路由反射器能够正确反射路由给客户端和非客户端

路由反射器的使用大大简化了大规模IBGP网络的配置和维护工作,是实际网络部署中常用的解决方案。

完整配置命令集

R1配置

system-view
sysname R1
interface LoopBack0ip address 10.0.1.1 255.255.255.255
interface GigabitEthernet0/0/0ip address 10.0.12.1 255.255.255.0
ospf 1area 0.0.0.0network 10.0.1.1 0.0.0.0network 10.0.12.0 0.0.0.255
bgp 100router-id 10.0.1.1peer 10.0.2.2 as-number 100peer 10.0.2.2 connect-interface LoopBack0

R2配置

system-view
sysname R2
interface LoopBack0ip address 10.0.2.2 255.255.255.255
interface GigabitEthernet0/0/0ip address 10.0.12.2 255.255.255.0
interface GigabitEthernet0/0/1ip address 10.0.23.2 255.255.255.0
ospf 1area 0.0.0.0network 10.0.2.2 0.0.0.0network 10.0.12.0 0.0.0.255network 10.0.23.0 0.0.0.255
bgp 100router-id 10.0.2.2peer 10.0.1.1 as-number 100peer 10.0.1.1 connect-interface LoopBack0peer 10.0.3.3 as-number 100peer 10.0.3.3 connect-interface LoopBack0peer 10.0.3.3 reflect-client

R3配置

system-view
sysname R3
interface LoopBack0ip address 10.0.3.3 255.255.255.255
interface GigabitEthernet0/0/0ip address 10.0.23.3 255.255.255.0
interface GigabitEthernet0/0/1ip address 10.0.34.3 255.255.255.0
ospf 1area 0.0.0.0network 10.0.3.3 0.0.0.0network 10.0.23.0 0.0.0.255
bgp 100router-id 10.0.3.3peer 10.0.2.2 as-number 100peer 10.0.2.2 connect-interface LoopBack0peer 10.0.34.4 as-number 200

R4配置

system-view
sysname R4
interface GigabitEthernet0/0/1ip address 10.0.34.4 255.255.255.0
bgp 200router-id 10.0.4.4peer 10.0.34.3 as-number 100network 10.4.4.0 255.255.255.0
http://www.lqws.cn/news/467911.html

相关文章:

  • 在 `setup` 函数中使用 Vuex
  • 自定义 Spring starter 的原理详解
  • 港科ISM选课攻略整理
  • CVE-2024-6387漏洞、CVE-2025-26465漏洞、CVE-2025-26466漏洞 一口气全解决
  • 【nature review】原子尺度上光与物质的相互作用
  • Rabbitmq的五种消息类型介绍,以及集成springboot的使用
  • 小程序右上角○关闭事件
  • c++中 Lambda表达式
  • Ubuntu崩溃修复大赛的技术文章大纲
  • ssssssssss
  • Solidity内部合约创建全解析:解锁Web3开发新姿势
  • 5.3 VSCode使用FFmpeg库
  • CSS 制作学成在线网页
  • clickhouse-server连不上clickhouse-keeper的问题记录
  • 【appium】3.查看本地已安装的appium版本
  • WINUI/WPF——Button不同状态下图标切换
  • 对接支付宝,阿里云沙箱服务
  • 在Linux中如何编写*.service文件?
  • 【单调栈】-----【Largest Rectangle in a Histogram】
  • emscripten 编译 wasm 版本的 openssl
  • 蚂蚁百宝箱快速创建智能体AI小程序
  • 项目中后端如何处理异常?
  • 智慧水利数字孪生解决方案:百川孪生智领千行,100+标杆案例赋能智慧水利全域升级
  • 【LeetCode#第198题】打家劫舍(一维dp)
  • Compose笔记(二十七)--网格布局
  • SwinTransformer 改进:小波+注意力模块(Wavelet-Guided Attention)
  • 【LeetCode 热题 100】15. 三数之和——排序 + 双指针解法
  • WebeServer实现:学到了哪些东西
  • 缓存与加速技术实践-Kafka消息队列
  • Axios 在 Vue3 项目中的使用:从安装到组件中的使用