【HCIP学习】BGP对等体组、聚合、路由反射器、联盟、团体属性

news2024/11/27 6:26:23

一、大规模BGP网络所遇到的问题

BGP对等体众多,配置繁琐,维护管理难度大

BGP路由表庞大,对设备性能提出挑战

IBGP全连接,应用和管理BGP难度增加,邻居数量过多

路由变化频繁,导致路由更新频繁

二、解决大规模BGP网络所遇到的问题

1、BGP对等体众多

对等体组(Peer Group)

BGP团体(Community )

2、BGP路由表庞大

BGP路由聚合

3、IBGP全连接(邻居数量太多)

BGP路由反射(Route Reflection)

BGP联盟(Confederation)

4、路由变化频繁(了解)

BGP路由衰减(Route Dampening)

三、对等体组

定义:BGP 对等体组(Peer Group)是一些具有某些相同属性的对等体的集合。通过对等体组可以简化配置

特点:根据对等体所在的AS,对等体组可分为IBGP对等体组和EBGP对等体组。

建邻要求:

EBGP:R1-R2

IBGP:R2分别于R3/R4/R5

注意:配置EBGP对等体组--------一般不常用,因为只有同一个AS中的EBGP邻居才能加入一个对等体组,如果EBGP邻居分布在多个AS,则需要给每个AS的EBGP邻居,配置一个对等体组。比较麻烦

配置IBGP对等体组

[R2-bgp]group in internal

[R2-bgp]peer 3.3.3.3 group in

[R2-bgp]peer 4.4.4.4 group in

[R2-bgp]peer 5.5.5.5 group in

[R2-bgp]peer in connect-interface l0

[R2-bgp]peer in next-hop-local

[R3-bgp]peer 2.2.2.2 as 200

[R3-bgp]peer 2.2.2.2 connect-interface l0

R4和R5上做和R3相同的配置

配置EBGP对等体组

四、BGP路由聚合

作用:减小路由表规模

1、自动聚合:

只能对引入的IGP的路由进行聚合;

只能将明细路由汇总到主类,这会造成路由黑洞;

华为设备默认关闭自动聚合功能;

只能在始发路由器上进行配置;

[r1-bgp]summary automatic 开启自动聚合

自动聚合后,会出现状态码S(suppressed),代表被抑制的路由信息不会再加表和传递了

实验演示1:只针对重发布的路由条目生效,不对自身宣告的路由生效

在R3上加几个环回口172.16.0.1 24和172.16.1.1 24,并做BGP宣告

[R3-bgp]summary automatic  开启自动聚合

实验演示2:引入直连

[R3-bgp]import-route direct

[R3-bgp]summary automatic

2、手工聚合:

可实现精确汇总:[R1-bgp]aggregate 172.16.0.0 16

可以在任何路由器上对BGP路由进行聚合;

出现问题:明细路由依然被通告,有形成环路的隐患

解决方法:[R1-bgp]aggregate 172.16.0.0 16 detail-suppressed  //抑制明细路由

此命令不通过明细路由;

实验演示1:

[R3-bgp]network 172.16.1.1 24

[R3-bgp]network 172.16.0.1 24

[R3-bgp]aggregate 172.16.0.0 23

测试:查看路由表,聚合成功,但明细路由也存在,并没有达到缩小路由表规模的情况

抑制明细路由。达到了缩小路由表的规模

常见汇总命令:

[R1-bgp]aggregate 172.16.0.0 16 detail-suppressed as-set  汇总的路由可继承明细路由的路径属性,其中AS_PATH属性最关键。

[R1-bgp]aggregate 172.16.0.0 16 suppress-policy ‘路由策略名字’通告汇总路由,并有选择性的抑制明细路由

五、路由反射器

1、定义:

BGP反射器能把从IBGP邻居学习的路由反射给其他IBGP邻居(打破IBGP水平分割的限制)

2、作用:

用于替代IBGP全连接,减少IBGP邻居数量;解决BGP路由黑洞问题;

3、角色:

RR(router  reflect):路由反射器

反射器角色:

        client:RR客户机

        非客户机

注:将一台BGP路由器指定为RR的同时,还需要指定其Client。至于Client本身,无需做任何配置,它并不知晓网络中存在RR

思考:为啥不把一个AS内的所有路由器都变成客户机?还有非客户机的存在?(RTE\RTF)

答案:因为一个AS就是一个城域网。一个城市的城域网中有好多路由器,一个城域网怎么可能只有一个反射器。比如:高新区选一个反射器,不可能让他给雁塔区啊、长安区啊提供反射服务。一个反射器给他特定的客户机提供反射服务。我们可以在 这些区各选一个反射器,让他们给本区的路由器提供反射服务。也就是说可以在一个AS内建立多个路由器反射群。两个反射群之间需要建立邻居关系。它们之间需要传递路由。

4、反射规则

从非反射客户端接受的路由,仅反射给客户端;

从客户端接受到的路由,反射给所有客户端和非客户端,路由始发者除外;

从EBGP接收的路由,反射给所有的客户端和非客户端;

注:一个反射群里的所有反射客户端只需与反射器建立IBGP邻居关系

5、反射集群:

由反射器和客户端组成的网络范围;

如果存在多个反射器,配置相同的cluster_id

思考:当RR故障后,会发生啥?怎么解决?

思考:RR之间需要建立邻居关系?------当然需要

但是这样的组网容易形成环路。(一条路由从客户机1传到RR,RR传到备用RR,备用RR再反射给客户机1)

6、路由反射存在问题:使得IBGP水平分割原则失效,会导致环路的产生

7、解决方法:

通过两个路径属性来避免环路

(1)cluster_list(集群列表):

类似AS_PATH,每个RR都有一个Cluster id,默认为路由器的router id,可手工修改;

同一个AS内的Cluster id必须相同,才能有防环作用。

路由传递过程中,把经过的反射器的Cluster_id一次记录在Cluster_list中;

Cluster_list用于反射器防环,当反射器收到BGP路由时,如果本机的Cluster_id出现在Cluster_list中,则丢弃该路由;

(例如:一条路由从客户机1传到RR,RR会将Cluster id为1.1.1.1这个属性写给这个路由,RR再传到备用RR,会检查自身的Cluster id,发现学到的路由Cluster id与自己一样,就直接丢弃

Cluster-list用于路由优选,短的优先

特殊情况:不受Cluster-list防环机制的约束,依然形成环路

思考:一条路由从客户机3传到备用RR,再传到rr,rr会不会传给客户机3?

答案:会,解决方法用originator_ID

(2)originator_ID:起源ID

由路由器反射器反射一条路由时产生,会在反射出去的路由中增加originator_ID,它就是本地AS路由器的BGP路由器的router-id;

即使这条反射路由经过多个RR,当BGP路由器收到一条携带Originator_ID属性的IBGP路由,并且Originator_ID属性值与自身的Router ID相同,则它会忽略关于该条路由的更新。

originator_ID用于路由优选,短的优先

8、总结BGP的防环机制

(1)AS_PATH:解决AS之间的环路问题

(2)IBGP的水平分割:解决一个AS内部IBGP邻居之间环路问题

(3)当一个反射群中存在多个反射器时,通过Cluster-list防环,(BGP反射器)

(4)originator_ID:在多个反射群之间,通过originator_ID防环,(BGP反射器)

9、注意事项

反射路由无法使用策略去更改路由属性

10、实验配置

[R2-bgp]peer 3.3.3.3 reflect-client      //在反射器上配置其反射客户机

[R2-bgp]reflector cluster-id 2.2.2.2    //配置反射器的集群id

11、实验作业 ----- BGP路由反射器实验

六、BGP联盟

1、定义:

处理AS内部的IBGP网络连接激增的另一种方法,间接避免了IBGP环路问题

2、原理:

联盟将一个自治系统划分为若干个子自治系统,每个子自治系统内部的IBGP对等体建立全连接关系,子自治系统之间建立联盟内部EBGP连接关系。

3、注意点:

子AS使用私有AS编号;

其他真实AS的路由器仍然和联盟AS建立EBGP邻居;

跨越子AS的EBGP邻居仍然需要更改下一跳为本机;

每个联盟里有一台路由器和其他联盟中一个路由器建立邻居关系就行;

实际场景中一般不用联盟,因为他会改变邻居关系

4、配置命令:

[R2]bgp 65001        //进入子AS编号

[R2-bgp]confederation id 200    //申明自己的大号

[R2-bgp]confederation peer-as 65002  //申明自己的联盟同伴

[R2-bgp]peer 100.1.1.1 as-number  100       指定EBGP邻居

[R2-bgp]peer 3.3.3.3 as-number 65001

[R2-bgp]peer 100.2.2.5 as-number 65002

[R2-bgp]peer 3.3.3.3 connect-interface LoopBack 0

[R2-bgp]peer 3.3.3.3 next-hop-local

[R2-bgp]peer 100.2.2.5 next-hop-local   //跨越子AS的EBGP邻居仍然需要更改下一跳为本机;不然从R1传过去的网段,R5收不到

子AS之间的EBGP环回口建邻

七、BGP团体属性(community)

(1)定义:

相当于路由的标记,一组具有相同特征的目的地的集合,可针对特定的路由设置特定的community属性值

问题:网段不连续,ACL写起来比较麻烦。

解决方法:在每个分部的市场部路由的出口设备上,打上100:1的团体属性。

(2)社团属性表达方法:

本质由32位二进制构成,拥有多种表达格式,

比如:可使用10进制;

或者16位二进制,前16位一般是本地AS的AS号,后16位是自定值;

(3)公认的社团属性:

Internet:抓取的BGP流量,默认情况下都属于Internet,可以被通告给所有的BGP对等体;

no-advertise:路由信息无法发送给自己的IBGP对等体或EBGP对等体;

no-export:路由信息可以发给自己的BGP对等体,但对等体不能离开这个AS,无法发给自己的EBGP;但可以发给自己的联邦EBGP对等体;

no-export-subconfed:路由信息可以发给自己的BGP对等体,但对等体不能离开这个AS,无法发给自己的EBGP;也不可以发给自己的联邦EBGP对等体;

注:目前大部分厂商默认在传递BGP路由信息时是不传递社团属性的,如果需要传递社团属性,则需要通过命令开启

(4)配置演示

配置步骤:

抓取流量

[R1]acl 2000

[R1-acl-basic-2000]rule permit source 192.168.1.0 0.0.0.255

配置路由策略,打上团体属性

[R1]route-policy com permit node 10

[R1-route-policy]if-match acl 2000

[R1-route-policy]apply community no-export

[R1]route-policy com permit node 20

调用路由策略

[R1]bgp 100

[R1-bgp]peer 100.1.1.2 route-policy com export

[R1-bgp]peer 100.1.1.2 advertise-community      //通告团体属性,使其他邻居学到

[R2]dis bgp routing-table 192.168.1.0 24   //查看一条路由的详细信息

八、联盟和团体属性实验

九、BGP综合实验

实验报告册见下一篇文章哦~ 

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

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

相关文章

【python量化交易】qteasy使用教程07——创建更加复杂的自定义交易策略

创建更加复杂的自定义交易策略 使用交易策略类,创建更复杂的自定义策略开始前的准备工作本节的目标继承Strategy类,创建一个复杂的多因子选股策略策略和回测参数配置,并开始回测 本节回顾 使用交易策略类,创建更复杂的自定义策略 …

mapreduce | 自定义Partition分区(案例2)

1.需求 统计每个手机号消费总金额,按照消费金额降序排序,最终联通、电信、移动分别写入不同的文件。 130、131、132(联通) 133(电信) 135、136、137、138、139 (移动) 手机号,消费记…

MFC编程之设计美丽的对话框

目录 写在前面: Part 1:美美的设计一下计算器的布局 1.描述文字: ​编辑 2.ID: Part 2:美美熟悉一下计算器的工作流程 Part 3:美美设计一下控件功能 1.edit control: 2.相关变量初始化&…

2.分布式-算法

目录 一、限流算法有哪些? 1.计数器算法(Counter-Based Algorithm) 2.固定窗口算法(Fixed Window) 3.滑动窗口算法(Sliding Window) 4.令牌桶算法(Token Bucket) 5.…

PyQt5中的QtDesigner窗口

文章目录 1. 简介2. QtDesigner的MainWindow2.1 创建MainWindow2.2 添加组件2.3 预览2.4 查看对应的Python代码2.5 保存窗口并命名为login.ui,如下所示2.6对ui文件进行转换得到.py原件 3. 窗口常用属性及说明3.1 设置对象名称3.2 改变标题名字3.3 修改窗口大小 4. 更…

pdf 版面分析与优化策略

1. 简介 版面分析作为RAG的第一步工作,其效果对于下游工作至关重要。 前常见的 PDF 解析方法包括三种 基于规则:根据 PDF 的组织特征确定每个部分的规则(风格和内容)缺点:不通用(PDF格式不固定&#xf…

DSA理解理解蓝桥杯例题signature

一、历史 1991年8月,NIST(Nation Institute of Standards and Technology,美国国家标准技术研究所)提出了数字签名算法(DSA)用于他们的数字签名标准(DSS)中。 DSA是算法&#xff0c…

C++的数据结构(四):队列

在数据结构中,队列(Queue)是一种特殊的线性表,只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。队列中没有元素时,称为空队列。队列的…

python数据分析——matplotlib可视化基础

参考资料:活用pandas库 # 导入库 import pandas as pd import matplotlib.pyplot as plt # 导入数据 anscombepd.read_csv(r"...\seaborn常用数据案例\anscombe.csv") anscombe.head() 大多数基本图表的名字以plt.plot开头。 # 创建数据子集 # 只包含数…

消息中间件Kafka(PHP版本)

小编最近需要用到消息中间件,有需要要复习一下以前的东西,有需要的自取,强调一点,如果真的想了解透彻,一定要动手,脑袋会了不代表就会写了 Kafka是由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅…

py黑帽子学习笔记_环境准备

1 下载os装os 下载一个kali虚机镜像然后用虚机管理软件创虚机,装完如下图,我用的版本是2024.1的版本kali-linux-2024.1-installer-amd64,可以从镜像站下载,官网下的慢还断网Index of /kali-images/kali-2024.1/ | 清华大学开源软…

AI 问答 API 对接说明

我们知道,市面上一些问答 API 的对接还是相对没那么容易的,比如说 OpenAI 的 Chat Completions API,它有一个 messages 字段,如果要完成连续对话,需要我们把所有的上下文历史全部传递,同时还需要处理 Token…

47岁古天乐唯一承认女友约「御用阿妈」过母亲节

日前关宝慧在IG晒出一张聚会照,并写道:「预祝各位#母亲节快乐🌹#dinner #happy #friends #好味」相中所见,前TVB金牌监制潘嘉德、卢宛茵、黄𨥈莹、黎萨达姆都有出席饭局。 当中黄𨥈莹身穿卡其色西装褛&…

【35分钟掌握金融风控策略24】定额策略实战

目录 基于客户风险评级的定额策略 确定托底额度和盖帽额度 确定基础额度 基于客户风险评级确定风险系数 计算最终授信额度 确定授信有效期 基于客户风险评级的定额策略 在开发定额策略时,精准确定客户的基础额度是一个关键步骤,通常会基于客户的收…

整体安全设计

人员和资产的安全是当今许多组织的最高优先事项之一。随着暴力事件在美国各地盛行——枪击事件、袭击、内乱等——建筑物业主必须为其建筑物及其居住者的安全做好计划。 为了创造一个安全的环境,新设施或园区的安全设计必须超越基本的摄像头和访问控制设备&#xf…

纯血鸿蒙APP实战开发——首页下拉进入二楼效果案例

介绍 本示例主要介绍了利用position和onTouch来实现首页下拉进入二楼、二楼上划进入首页的效果场景,利用translate和opacity实现动效的移动和缩放,并将界面沉浸式(全屏)显示。 效果图预览 使用说明 向下滑动首页页面超过触发距…

【Linux】centos7安装软件(rpm、yum、编译安装),补充:查找命令的相关文件路径,yum安装mysql

【Linux】技术上,Linux是内核。而术语上,我们通常说的Linux是完整的操作系统,其实称为"Linux发行版",是将Linux内核和应用系统打包,由不同的发行家族发行了不同版本。Linux发行版众多,主要有RedH…

HCIP-Datacom-ARST自选题库_07_割接【35道题】

一、单选题 1.在割接的测试阶段,符合以下哪一种情况的可以判断为割接成功? 网络承载的上层应用业务测试正常 网络设备的配置查看结果正常 网络流量路径正常 路由协议运行正常 2.在割接的测试阶段中,表明已经完成测试的标准是: IP设备的配置查看结…

org.postgresql.util.PSQLException: 错误: 关系 “dual“ 不存在

springboot 项目连接 postgreps,启动时报错 org.postgresql.util.PSQLException: 错误: 关系 "dual" 不存在。 查阅资料后发现这是由配置文件中的配置 datasource-dynamic-druid-validationQuery 导致的 spring:datasource:druid:stat-view-servlet:ena…

二叉树介绍

引入 定义 区别 定义不同 形态不同 基本形态