BGP边界网关协议(Border Gateway Protocol)路由引入、路由反射器

news2025/1/21 2:46:11

一、路由引入背景

        BGP协议本身不发现路由,因此需要将其他协议路由(如IGP路由等)引入到BGP路由表中,从而将这些路由在AS之内和AS之间传播。

BGP协议支持通过以下两种方式引入路由:

  • Import方式:按协议类型将RIP、OSPF、IS-IS、静态路由和直连路由等协议的路由引入到BGP路由表中。

  • Network方式:将指定前缀和掩码的一条路由引入到BGP路由表中,该方式比Import更精确。

1、network引入

        1)主类引入(A\B\C段)该方式为聚合路由,为防止环路,需增加一条黑洞路由防环

AR1
    BGP as-number
    network ipv4-address [ mask | mask-length ] [ route-policy route-policy-name ]

ip route-static 10.0.0.0 255.0.0.0 NULL 0

        2)无类引入(指定掩码),默认产生黑洞路由

AR1
    BGP as-number
    network ipv4-address [ mask | mask-length ] [ route-policy route-policy-name ]

2、import-route引入

        1)无类引入

AR1
    BGP as-number
    import-route { direct | isis process-id | ospf process-id | rip process-id | static } [ med med | route-policy route-policy-name ] *


当引入RIP、OSPF、IS-IS等动态路由协议发现的路由时,需要指定协议进程号。

        2)主类引入

AR1
    BGP as-number
    import-route { direct | isis process-id | ospf process-id | rip process-id | static } [ med med | route-policy route-policy-name ] *
    summary automatic    自动聚合


当引入RIP、OSPF、IS-IS等动态路由协议发现的路由时,需要指定协议进程号。

二、路由表项参数

[AR5]dis bgp routing-table

 BGP Local router ID is 5.5.5.5
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 7
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>i  10.1.1.0/24        10.1.123.1      0          100        0      1?
 * i                     10.1.1.1        0          100        0      1?
 *>i  10.1.111.0/24      10.1.123.1      0          100        0      1?
 * i                     10.1.1.1        0          100        0      1?
 *>i  10.1.123.0/24      10.1.1.1        0          100        0      1?
 *>   55.5.5.0/24        0.0.0.0         8                     0      ?
 *>   55.5.5.5/32        0.0.0.0         8                     0      ?

1、Status codes

        状态代码(标识BGP路由的状态)

        1)*(valid):下一跳可达,如不可达则没有*

        2)>(best):最优路径,下一跳可达的前提下,通过十二条选路原则比较产生,最优的放入路由表

        3)d(damped):路由衰减,路由惩罚,路由发生抖动会标识为d,多次抖动不会放入路由表,主要针对EBGP

        4)h(history):抖动记录,抖动一次就会被标记为h

        5)i(internal):IBGP的路由标识,从IBGP邻居来的路由标记为i

        6)s(suppressed):抑制,当产生聚合路由,明细被抑制时,产生该标识

        7)S(stale):陈旧,老化路由标识

2、Origin

        路由的起源代码

        1)i:network的方式引入进来的

        2)e:import-route egp

        3)?:incomplete, import-route 其他路由协议

        注:上图的55.5.5.0 的网段是通过import-route direct引入的

三、BGP  组网方式

1、全互联场景

        1)全互联场景下IBGP路由信息默认不改变下一跳

              去往AR1的路由信息通过IBGP的邻居关系学习到,此时下一跳不改变

              可以同通过配置使得学习到的路由修改下一跳

<AR5>dis bgp routing-table | inc 10.1.1.0

 BGP Local router ID is 5.5.5.5
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 7
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>i  10.1.1.0/24        10.1.123.1      0          100        0      1?
<AR5>

        2)EBGP路由默认修改下一跳

              表项可知AR4与AR5之间建立EBGP的邻居关系,学习到的EBGP路由下一跳改变

<AR4>dis bgp routing-table | inc 10.1.1.0

 BGP Local router ID is 4.4.4.4
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 4
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>   10.1.1.0/24        10.1.5.5                              0      235 1?
<AR4>

        3)优缺点

              优点:路由传递正常,转控平面正常

              缺点:资源消耗大,成本较高

2、部分互联场景(联盟)

注:图片为产品文档当参考图片,仅供联盟拓扑理解使用

        1)部分互联场景下,在AS内部的IBGP邻居关系会产生水平分割的现象,导致路由传递失败,业务中断,可使用联盟(Confederation),与路由反射器相比,BGP联盟更便于实现IGP扩展。

        2)配置

system-view

    bgp as-number

    confederation id as-number

    confederation peer-as as-number &<1-32>

    peer xx.xx.xx.xx as-number xxxx

配置属于联盟的子自治系统时使用的as-number在联盟内部有效。

为了提升安全性,推荐部署BGP安全性措施(参见“配置BGP认证”)。其中,以配置Keychain认证方式为例,详细配置方法请参见“举例:配置BGP使用Keychain认证”

3、部分互联场景(路由反射器)

        1)配置路由反射器时,必须具备反射器和客户端之间的IBGP邻居关系,该方式主要为打破IBGP之间的水平分割问题

        2)角色

                RR:route-reflector 路由反射器(服务器端)

                RR-C:client 路由反射器的客户端

                cluster:路由反射簇(列表)

                Non-Client:不是反射器也不是客户机的BGP设备被称为非客户机

        3)配置

bgp 235
 router-id 5.5.5.5
 peer 10.1.2.2 as-number 235
 peer 10.1.2.2 connect-interface LoopBack1
#
 ipv4-family unicast
  undo synchronization
  import-route direct route-policy loop55
  peer 10.1.2.2 enable
  peer 10.1.2.2 reflect-client
  peer 10.1.4.4 enable
  peer 10.1.234.3 enable
#
return

        4)表项

        根据表项可知,从2.2.2.2 来的路由通过RR(5.5.5.5)反射过来使得3.3.3.3学习到了,虽然此路由没有被优选

<AR3>dis bgp routing-table 10.1.1.1

 BGP routing table entry information of 10.1.1.0/24:
 From: 10.1.45.5 (5.5.5.5)
 Route Duration: 00h02m30s
 Relay IP Nexthop: 0.0.0.0
 Relay IP Out-Interface: GigabitEthernet0/0/0
 Original nexthop: 10.1.123.1
 Qos information : 0x0
 AS-path 1, origin incomplete, MED 0, localpref 100, pref-val 0, valid, internal, pre 255, not preferred for Cluster List
 Originator:  2.2.2.2
 Cluster list: 5.5.5.5
 Not advertised to any peer yet

        5)路由反射器的规则

                来自client的路由可以向客户端、EBGP邻居、非客户端进行传递

                来自EBGP邻居的路由信息可以向客户端、EBGP邻居、非客户端进行传递

                来自非客户端的的路由信息可以向客户端、EBGP邻居进行传递,但是不可以向非客户端传递路由

                配置RR指定客户端后,客户端的路由器设备并不清楚自己为客户端,只有RR设备知道

4、路由反射器防环

        因为路由反射器打破了IBGP之间的水平分割规则,可能产生环路。

        1)Originator_ID属性

                由路由的始发路由器产生,携带了本地AS内部路由发起者的Router ID

#
bgp 1
 router-id 1.1.1.1
 peer 10.1.3.3 as-number 235
 peer 10.1.3.3 ebgp-max-hop 255
 peer 10.1.3.3 connect-interface LoopBack1
 peer 10.1.123.2 as-number 235
 #
 ipv4-family unicast
  undo synchronization
  import-route direct route-policy loop111
  peer 10.1.3.3 enable
  peer 10.1.123.2 enable
#


<AR3>dis bgp routing-table 10.1.111.0

 BGP routing table entry information of 10.1.111.0/24:
 From: 10.1.45.5 (5.5.5.5)
 Route Duration: 00h19m14s
 Relay IP Nexthop: 0.0.0.0
 Relay IP Out-Interface: GigabitEthernet0/0/0
 Original nexthop: 10.1.123.1
 Qos information : 0x0
 AS-path 1, origin incomplete, MED 0, localpref 100, pref-val 0, valid, internal, pre 255, not preferred for Cluster List
 Originator:  2.2.2.2
 Cluster list: 5.5.5.5
 Not advertised to any peer yet

<AR3>

        从路由表中可以看到,AR3从AR5那里学到了AR1通告的路由,而且还可以看到该路由的Originator和Cluster_ID属性。因为AR2和AR1之间为EBGP邻居关系,所以在AS235内默认2.2.2.2为路由始发路由器。

        当一条路由第一次被RR反射的时候,RR将Originator_ID属性加入这条路由,标识这条路由的发起设备。如果一条路由中已经存在了Originator_ID属性,则RR将不会创建新的Originator_ID。

        当其他BGP Speaker接收到这条路由的时候,将比较收到的Originator_ID和本地的Router ID,如果两个ID相同,BGP Speaker会忽略掉这条路由,不做处理。

        2)Cluster_List属性

        经过一个路由反射器反射的路由,会把路由反射器cluster-id记录下俩,形成cluster-list

        默认cluster-id= router-id

        但是可以修改成不是router-id

#
bgp 235
 ipv4-family unicast
  reflector cluster-id 55.5.5.5
#
<AR3>dis bgp routing-table 10.1.111.0

 BGP routing table entry information of 10.1.111.0/24:
 From: 10.1.45.5 (5.5.5.5)
 Route Duration: 00h00m47s
 Relay IP Nexthop: 0.0.0.0
 Relay IP Out-Interface: GigabitEthernet0/0/0
 Original nexthop: 10.1.123.1
 Qos information : 0x0
 AS-path 1, origin incomplete, MED 0, localpref 100, pref-val 0, valid, internal, pre 255, not preferred for Cluster List
 Originator:  2.2.2.2
 Cluster list: 55.5.5.5
 Not advertised to any peer yet

<AR3>

        关于RR还有其他类似备份RR等等其他应用,路由引入也可以修改许多的属性,本文仅作基本的使用了解,后续文章会慢慢深入了解。

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

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

相关文章

【Vim Masterclass 笔记21】S09L39:Vim 设置与 vimrc 文件的用法示例(二)

文章目录 S09L39 Vim Settings and the Vimrc File - Part 21 Vim 的配色方案与 color 命令2 map 命令3 示例&#xff1a;用 map 命令快速生成 HTML 代码片段4 Vim 中的 Leader 键5 用 mkvimrc 命令自动生成配置文件 写在前面 本篇为 Vim 自定义配置的第二部分。当中的每个知识…

owasp SQL 注入-03 (原理)

1: 先看一下注入界面: 点submit 后&#xff0c;可以看到有语法报错&#xff0c;说明已经起作用了: 报如下的错误: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near at line 1 2:…

SpringMVC (1)

目录 1. 什么是Spring Web MVC 1.1 MVC的定义 1.2 什么是Spring MVC 1.3 Spring Boot 1.3.1 创建一个Spring Boot项目 1.3.2 Spring Boot和Spring MVC之间的关系 2. 学习Spring MVC 2.1 SpringBoot 启动类 2.2 建立连接 1. 什么是Spring Web MVC 1.1 MVC的定义 MVC 是…

LabVIEW 实现线路板 PCB 可靠性测试

在电子设备制造领域&#xff0c;线路板 PCB&#xff08;Printed Circuit Board&#xff09;的可靠性直接影响产品的整体性能和使用寿命。企业在生产新型智能手机主板时&#xff0c;需要对 PCB 进行严格的可靠性测试&#xff0c;以确保产品在复杂环境下能稳定运行。传统的测试方…

【大数据2025】Hadoop 万字讲解

文章目录 一、大数据通识大数据诞生背景与基本概念大数据技术定义与特征大数据生态架构概述数据存储数据计算与易用性框架分布式协调服务和任务调度组件数仓架构流处理架构 二、HDFSHDFS 原理总结一、系统架构二、存储机制三、数据写入流程四、心跳机制与集群管理 安全模式&…

【蓝桥杯】43687.赢球票

题目描述 某机构举办球票大奖赛。获奖选手有机会赢得若干张球票。 主持人拿出 N 张卡片&#xff08;上面写着 1⋯N 的数字&#xff09;&#xff0c;打乱顺序&#xff0c;排成一个圆圈。 你可以从任意一张卡片开始顺时针数数: 1,2,3 ⋯ ⋯ 如果数到的数字刚好和卡片上的数字…

Amazon MSK 开启 Public 访问 SASL 配置的方法

1. 开启 MSK Public 1.1 配置 MSK 参数 进入 MSK 控制台页面&#xff0c;点击左侧菜单 Cluster configuration。选择已有配置&#xff0c;或者创建新配置。在配置中添加参数 allow.everyone.if.no.acl.foundfalse修改集群配置&#xff0c;选择到新添加的配置。 1.2 开启 Pu…

学习Hibernate的调优方案

Hibernate是一个非常流行的Java ORM&#xff08;对象关系映射&#xff09;框架&#xff0c;它可以帮助开发者更轻松地处理数据库操作。然而&#xff0c;如果不进行适当的性能调优&#xff0c;Hibernate可能会导致应用程序运行缓慢。本文将详细探讨Hibernate的调优方案&#xff…

基于.Net Core+Vue的文件加密系统

1系统架构图 2 用例图 管理员角色的用例&#xff1a; 文件分享大厅&#xff1a;管理员可以访问文件分享大厅&#xff0c;下载文件。个人信息管理&#xff1a;管理员可以更新自己的个人信息&#xff0c;修改密码。用户管理&#xff1a;管理员负责创建、更新或删除用户账户&…

【React】静态组件动态组件

目录 静态组件动态组件创建一个构造函数(类)使用 class 实现组件**使用 function 实现类组件** 静态组件 函数组件是静态组件&#xff1a; 组件第一次渲染完毕后&#xff0c;无法基于内部的某些操作让组件更新「无法实现自更新」&#xff1b;但是&#xff0c;如果调用它的父组…

Linux UDP 编程详解

一、引言 在网络编程领域&#xff0c;UDP&#xff08;User Datagram Protocol&#xff0c;用户数据报协议&#xff09;作为一种轻量级的传输层协议&#xff0c;具有独特的优势和适用场景。与 TCP&#xff08;Transmission Control Protocol&#xff0c;传输控制协议&#xff0…

AI开发,如何管理我们的提示词

如何系统地管理提示词&#xff1f;推荐一个超好用的工具——Prompt Minder&#xff0c;简直是管理AI提示词的神器&#xff01;如果你经常被一堆乱七八糟的提示词搞得晕头转向&#xff0c;还苦于传统软件没有版本管理&#xff0c;那这个工具绝对能救你于水火之中。 官网&#x…

python编程-OpenCV(图像读写-图像处理-图像滤波-角点检测-边缘检测)边缘检测

OpenCV中边缘检测四种常用算子&#xff1a; &#xff08;1&#xff09;Sobel算子 Sobel算子是一种基于梯度的边缘检测算法。它通过对图像进行卷积操作来计算图像的梯度&#xff0c;并将梯度的大小作为边缘的强度。它使用两个3x3的卷积核&#xff0c;分别用于计…

Ubuntu 24.04 LTS 通过 docker desktop 安装 seafile 搭建个人网盘

准备 Ubuntu 24.04 LTSUbuntu 空闲硬盘挂载Ubuntu 安装 Docker Desktop [我的Ubuntu服务器折腾集](https://blog.csdn.net/jh1513/article/details/145222679。 安装 seafile 参考资料 Docker安装 Seafile OnlyOffice 并配置OnlyOffice到Seafile&#xff0c;实现在线编辑…

用户中心项目教程(二)---umi3的使用出现的错误

目录 1.情况的说明 2.遇到的问题 1&#xff09;第一个问题-关于npx的使用 2&#xff09;第二个问题--unsupport问题 3&#xff09;第三个收获--nodejs安装问题 4&#xff09;第四个收获---nvm下载问题 5&#xff09;第五个问题--尚未解决的问题 3.个人总结 1.情况的说明…

python爬虫报错日记

python爬虫报错日记 类未定义 原因&#xff1a;代码检查没有问题**&#xff0c;位置错了**&#xff0c;测试代码包含在类里…… UnicodedecodeError错误 原因&#xff1a;字符没有自动转换成utf-8格式 KeyError&#xff1a;“href” 原因&#xff1a;前面运行正常&#x…

Debian 上安装PHP

1、安装软件源拓展工具 apt -y install software-properties-common apt-transport-https lsb-release ca-certificates 2、添加 Ondřej Sur 的 PHP PPA 源&#xff0c;需要按一次回车&#xff1a; add-apt-repository ppa:ondrej/php 3、更新软件源缓存&#xff1a; apt-g…

Vue2+OpenLayers实现车辆开始、暂停、重置行驶轨迹动画(提供Gitee源码)

前言&#xff1a;根据经纬度信息绘制一个完整的行驶路线&#xff0c;车辆根据绘制好的路线从开始点位行驶到结束点位&#xff0c;可以通过开始、暂停、重置按钮控制车辆状态。 目录 一、案例截图 二、安装OpenLayers库 三、​安装Element-UI ​ 四、代码实现 4.1、初始化…

使用傅里叶变换进行图像边缘检测

使用傅里叶变换进行图像边缘检测 今天我们介绍通过傅里叶变换求得图像的边缘 什么是傅立叶变换&#xff1f; 简单来说&#xff0c;傅里叶变换是将输入的信号分解成指定样式的构造块。例如&#xff0c;首先通过叠加具有不同频率的两个或更多个正弦函数而生成信号f&#xff08;x…

基础vue3前端登陆注册界面以及主页面设计

1.下载依赖 "element-plus/icons": "^0.0.11", "element-plus/icons-vue": "^2.3.1", "fortawesome/fontawesome-svg-core": "^6.7.2", "fortawesome/free-solid-svg-icons": "^6.7.2", &quo…