HCIP—BGP路由聚合

        在大型网络中,路由条目通常多达成千上万条,甚至几十万条,这给路由设备带来的挑战是:如何存储并有效管理如此众多的路由信息?
        BGP是一种无类路由协议,支持CIDR、VLSM和路由聚合。路由聚合技术的使用,可以在一定程度上缩减路由条目的数量,同时还可以减轻路由震荡导致的网络不稳定的问题。BGP的路由聚合有两种方式,一种是自动路由聚合,一种是手动路由聚合。
        自动路由聚合是在自然网络边界路由器上自动执行的。在默认情况下,BGP的自动路由聚合功能是关闭的,并且BGP不会自动聚合BGP邻居发送的路由以及使用network命令通告的路由。使用BGP自动路由聚合时,需要进行严谨的IP地址规划。在一个地址规划杂乱无序的网络中,自动路由聚合可能会产生许多意想不到的问题。例如,在采用不连续子网规划的网络中,自动路由聚合可能会导致报文转发出现选路问题,或者是产生路由环路

        BGP手动路由聚合时,可以手动控制聚合路由的掩码长度,修改聚合路由属性等。手动路由聚合又有两种方法,一种是配置一条静态路由,然后用network命令进行通告;另一种是使用aggregate命令进行聚合。

        BGP手动路由聚合时采用第一种方法时,无法对通告的静态路由加以控制,并且明细路由仍然会被通告出去。如要抑制明确路由,则需使用Route-Policy来对明细路由进行过滤,实现起来配置命令较多,同时还会丢失明细路由的某些BGP属性。

        则采用第二种方法时,缺省情况下明细路由和聚合路由也都会被发送出去,但是可以置命令较多,可以的通过关键字对全部或部分明细路由进行抑制,另外还可以对聚合路由的属性进行修改。和第一种方法相比,第二种方法对路由聚合的控制以及对路径选择的控制会更加灵活。

一:BGP自动路由聚会合

        实验拓扑所示,本实验模拟了3个运营商网络,R1属于ISP-A,R2属于ISP-B,R3属于ISP-C。三台路由器都使用直连的物理接口IP地址来建立EBGP邻居关系,R2和R3的Loopback1接口用来模拟各自ISP中的一个网段。R1、R2、R3上将开启自动路由聚合功能,R3的Loopback1接口所在网段将使用network命令通告给BGP进程,R2的Loopback1接口所在网段将被引入到BGP进程中,最终实现R2的Loopback1与R3的Loopback1之间可以互相通信。

1:对接口进行基础的IP地址配置,保证直连网段的PING通

2:配置BGP路由协议

配置BGP邻居关系,每台路由器均使用Lookback 0接口的IP地址作为自己的Router-ID。

[R1]bgp 100
[R1-bgp]router-id 10.0.1.1 
[R1-bgp]peer 10.0.12.2 as-number 200
[R1-bgp]peer 10.0.13.3 as-number 300

 

[R2]bgp 200
[R2-bgp]router-id 10.0.2.2 
[R2-bgp]peer 10.0.12.1 as-number 100

[R3]bgp 300
[R3-bgp]router-id 10.0.3.3 
[R3-bgp]peer 10.0.13.1 as-number 100

R1查看BGP邻居关系

邻居状态都为Established,表示邻居关系建立成功

3:开启BGP自动路由聚会功能

缺省情况下,华为的BGP自动路由聚合功能是关闭的,开启BGP自动路由聚合功能。

[R1]bgp 100
[R1-bgp]ipv4-family unicast   
[R1-bgp-af-ipv4]summary automatic 

[R2]bgp 200
[R2-bgp]ipv4-family unicast 
[R2-bgp-af-ipv4]summary automatic 

[R3]bgp 300 
[R3-bgp]ipv4-family unicast 
[R3-bgp-af-ipv4]summary automatic 

当路由器的BGP路由聚合功能打开时,系统会出现如下提醒

表述:BGP自动路由聚合只适用于通过路由引入方式引入的路由。

4:通告路由进入BGP中

使用ntework命令,将R3的Loopback 1接口所在网段通告进入BGP进程

[R3]bgp 300
[R3-bgp]ipv4-family unicast 
[R3-bgp-af-ipv4]network 33.33.33.0 24

在R1,R2,R3上使用dis bgp routing-table 命令,查看进入BGP进程。

R1,R2,R3的路由表中,33.33.33.0/24路由没有被聚合。使用Network命令宣告时R3 33.33.33.0/24通告给R1,R1再宣告给R2,整个过程中没有路由被聚合。说明自然网络边界处,BGP不会自动聚合。

5:引入外部路由到BGP的路由表中

R2使用命令import-route引入直连路由中

[R2]bgp 200  
[R2-bgp]ipv4-family unicast 
[R2-bgp-af-ipv4]import-route direct 

配置完成后,再次查R1,R2,R3的BGP路由表信息

可以看出,在R1和R3的BGP路由表中,都出现22.0.0.0,且没有显示掩码信息,这正是一个聚合成功后的一个A类自然网段。 

        由于BGP路由自动聚合对IP地地址规划的要求比较苛刻,在BGP网络中,IP地址的规划难以做的整齐有序,在实际项目中很少使用BGP指自动聚合功能。只需了解BGP自动聚合,重点掌握BGP手动聚合。

二:BGP手工路由聚合

        BGP的路由聚合有两种方式:一种是自动路由聚合,一种是手动路由聚合。相对于自动路由聚合来讲,手动路由聚合具有更高的灵活性和可控性。BGP手动路由聚合时,可以手动控制聚合路由的掩码长度,修改聚合路由属性等。
        手动路由聚合又有两种方法,一种是配置一条静态路由,然后用network命令进行通告,另一种是使用aggregate命令进行聚合。

       实验拓扑如图所示: R1属于AS100,R2属于AS200,R3和R4属于AS300,R5和R6属于AS400,每台路由器都使用自己的Loopbsack0接口IP地址作为Router-ID,并且都使用直连物理接口建立邻居关系,整网运行BGP协议。在5和R6上使用network命令通告Loopback1至Loopback7接口所在网络到BGP进程中,在R5上用aggregate命令聚合这些Loopback接口所在网络的路由,在R6上配置一条静态路由,并且使用network命令通告这条静态路由来实现路由聚合。实验过程中,在R5上还存在一些具体的路由控制需求,这些需求将采用aggregate命令结合一些关键字来实现。

1:进行基础的IP地址配置,保证直连网段的PING通

2:配置BGP路由协议

        每台路由器都使用自己的Loopback 0接口IP地址作为Router-ID,并且都使用直连物理接口进建立BGP邻居关系。

[R1]bgp 100
[R1-bgp]router-id 10.0.1.1  
[R1-bgp]peer 10.0.12.2 as-number 200
[R1-bgp]peer 10.0.13.3 as-number 300

[R2]bgp 200
[R2-bgp]router-id 10.0.2.2
[R2-bgp]peer 10.0.12.1 as-number 100
[R2-bgp]peer 10.0.24.4 as-number 300

[R3]bgp 300
[R3-bgp]router-id 10.0.3.3
[R3-bgp]peer 10.0.13.1 as-number 100
[R3-bgp]peer 10.0.34.4 as-number 300
[R3-bgp]peer 10.0.35.5 as-number 400

[R4]bgp 300
[R4-bgp]router-id 10.0.4.4
[R4-bgp]peer 10.0.24.2 as-number 200
[R4-bgp]peer 10.0.34.3 as-number 300
[R4-bgp]peer 10.0.46.6 as-number 400

[R5]bgp 400
[R5-bgp]router-id 10.0.5.5   
[R5-bgp]peer 10.0.35.3 as-number
[R5-bgp]peer 10.0.35.3 as-number 300
[R5-bgp]peer 10.0.56.6 as-number 400

将R5的Loopback 0至Loopback 7接口所在的网络使用network命令进行宣告。

[R5-bgp]network 172.16.1.0 255.255.255.0
[R5-bgp]network 172.16.2.0 255.255.255.0
[R5-bgp]network 172.16.3.0 255.255.255.0
[R5-bgp]network 172.16.4.0 255.255.255.0
[R5-bgp]network 172.16.5.0 255.255.255.0
[R5-bgp]network 172.16.6.0 255.255.255.0
[R5-bgp]network 172.16.7.0 255.255.255.0

[R6]bgp 400
[R6-bgp]router-id 10.0.6.6
[R6-bgp]peer 10.0.56.5 as-number 400
[R6-bgp]peer 10.0.46.4 as-number 300

将R6的Loopback 0至Loopback 7接口所在的网络使用network命令进行宣告。

[R6-bgp]network 192.168.1.0 255.255.255.0
[R6-bgp]network 192.168.2.0 255.255.255.0
[R6-bgp]network 192.168.3.0 255.255.255.0
[R6-bgp]network 192.168.4.0 255.255.255.0
[R6-bgp]network 192.168.5.0 255.255.255.0
[R6-bgp]network 192.168.6.0 255.255.255.0
[R6-bgp]network 192.168.7.0 255.255.255.0

配置完成后在R1查看BGP路由表

R1已经收到了BGP路由协议的明确路由。R6使用PING命令测试Loopback 1和R5的Loopback 1之间的连通性

3:配置BGP路由聚合

R5和R6的loopback 1至loopback 7接口所在的网络已经被宣告到BGP进程中,且每台路由器都可以查看到R5和R6的loopback 1至loopback 7接口所在的网络的路由,现在在R5和R6的路由上配置路由聚合,将明确路由情况隐藏到AS号内部。

R6上配置静态路由,然后使用network命令通告出去。

[R6]ip route-static 192.168.0.0 21 null 0
[R6]bgp 400
[R6-bgp]network 192.168.0.0 21

静态路由将指向null 0的目的防止网络中产生环路

R5使用aggregate命令进行宣告

[R5]bgp 400
[R5-bgp]aggregate 172.16.0.0 21

R5使用aggregate命令进行聚合,要求BGP路由表中信息至少存在一条属于聚合后的路由子网路由。否则无法聚合。

R1使用命令查看BGP路由信息

可以看出R1的BGP路由表中已经包含了聚合后的路由。

4:使用No-advertise关键字控制路由聚合

在R5和R6上使用前缀列表和Router-Policy给这些路由添加No-Advertise团体属性,并通告R3,R4

[R5]ip ip-prefix no-adver permit 172.16.1.0 24
[R5]ip ip-prefix no-adver permit 172.16.2.0 24
[R5]ip ip-prefix no-adver permit 172.16.3.0 24
[R5]ip ip-prefix no-adver permit 172.16.4.0 24
[R5]ip ip-prefix no-adver permit 172.16.5.0 24
[R5]ip ip-prefix no-adver permit 172.16.6.0 24
[R5]ip ip-prefix no-adver permit 172.16.7.0 24
[R5]ip ip-prefix no-adver permit 192.168.1.0 24
[R5]ip ip-prefix no-adver permit 192.168.2.0 24
[R5]ip ip-prefix no-adver permit 192.168.3.0 24
[R5]ip ip-prefix no-adver permit 192.168.4.0 24
[R5]ip ip-prefix no-adver permit 192.168.5.0 24
[R5]ip ip-prefix no-adver permit 192.168.6.0 24
[R5]ip ip-prefix no-adver permit 192.168.7.0 24

[R5]route-policy no-adver permit node 10
[R5-route-policy]if-match ip-prefix no-adver  
[R5-route-policy]apply community no-advertise
[R5-route-policy]route-policy no-adver permit node 20

[R5]bgp 400
[R5-bgp]peer 10.0.35.3 route-policy no-adver export 
[R5-bgp]peer 10.0.35.3 advertise-community
 

[R6]ip ip-prefix no-adver permit 192.168.1.0 24
[R6]ip ip-prefix no-adver permit 192.168.2.0 24
[R6]ip ip-prefix no-adver permit 192.168.3.0 24
[R6]ip ip-prefix no-adver permit 192.168.4.0 24
[R6]ip ip-prefix no-adver permit 192.168.5.0 24
[R6]ip ip-prefix no-adver permit 192.168.6.0 24
[R6]ip ip-prefix no-adver permit 192.168.7.0 24
[R6]ip ip-prefix no-adver permit 172.16.1.0 24
[R6]ip ip-prefix no-adver permit 172.16.2.0 24
[R6]ip ip-prefix no-adver permit 172.16.3.0 24
[R6]ip ip-prefix no-adver permit 172.16.4.0 24
[R6]ip ip-prefix no-adver permit 172.16.5.0 24
[R6]ip ip-prefix no-adver permit 172.16.6.0 24
[R6]ip ip-prefix no-adver permit 172.16.7.0 24

[R6]route-policy no-adver permit node 10
[R6-route-policy]if-match ip-prefix no-adver
[R6-route-policy]apply community no-advertise
[R6-route-policy]route-policy no-adver permit node 20

[R6]bgp 400       
[R6-bgp]peer 10.0.46.4 route-policy no-adver export     
[R6-bgp]peer 10.0.46.4 advertise-community
 

配置完成后在R1和R3查看BGP路由表

5:使用Detail-Suppressed关键字控制路由聚合

通过aggregate命令结合Detail-Suppressed实现路由抑制,只将聚合后的路由发送出去

[R5]bgp 400
[R5-bgp]aggregate 172.16.0.0 255.255.248.0 detail-suppressed

R1和R2查看BGP路由表

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【微服务】Nacos配置管理

📝个人主页:五敷有你 🔥系列专栏:微服务 ⛺️稳中求进,晒太阳 Nacos除了可以做注册中心,同样可以做配置管理来使用。 1.统一配置管理 当微服务部署的实例越来越多,达到数十、数百时&am…

JVM垃圾回收之内存分配,死亡对象判断方法

Java 堆是垃圾收集器管理的主要区域,因此也被称作 GC 堆。 堆划分为新生代 老生代 永久代。 下图所示的 Eden 区、两个 Survivor 区 S0 和 S1 都属于新生代,中间一层属于老年代,最下面一层属于永久代。 内存分配原则 对象优先在Eden区域分…

jupyter notebook设置代码提示方法

在命令行运行以下代码: pip install jupyter_contrib_nbextensionsjupyter contrib nbextension install --userpip install jupyter_nbextensions_configuratorjupyter nbextensions_configurator enable --user (有时安装第一行后会自动执行第二行&a…

Redis监控工具

Redis 是一种 NoSQL 数据库系统,以其速度、性能和灵活的数据结构而闻名。Redis 在许多领域都表现出色,包括缓存、会话管理、游戏、排行榜、实时分析、地理空间、叫车、聊天/消息、媒体流和发布/订阅应用程序。Redis 数据集完全存储在内存中,这…

八部门联合打击涉税违法犯罪活动,企业合规经营刻不容缓

近期,国家税务总局、公安部、最高人民法院、最高人民检察院、中国人民银行、海关总署、市场监管总局、国家外汇管理局在北京召开全国八部门联合打击涉税违法犯罪工作推进会议。 会议强调八部门将持续深化完善联合打击工作机制,依法严厉打击涉税违法犯罪行…

借教室与差分

原题 题目描述 在大学期间,经常需要租借教室。 大到院系举办活动,小到学习小组自习讨论,都需要向学校申请借教室。 教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样。  面对海量租借教室的信息&…

9.测试教程-性能测试概述

文章目录 1.常见的性能问题2.为什么要进行性能测试3.性能测试实施的流程4.概念和术语介绍5.性能测试模型6.性能测试方法介绍7.性能测试实施与管理8.性能测试前期准备9.测试工具引入10.性能测试方案11.性能测试设计与开发12.性能测试设计与管理13.性能测试设计与调优14.性能测试…

Python+Appium实现自动化测试的使用步骤

一、环境准备 1.脚本语言:Python3.x IDE:安装Pycharm 2.安装Java JDK 、Android SDK 3.adb环境,path添加E:\Software\Android_SDK\platform-tools 4.安装Appium for windows,官网地址Redirecting 点击下载按钮会到GitHub的下载…

广西开放大学电大搜题微信公众号,助你快速解题,轻松学习!

近年来,广西开放大学电大搜题微信公众号备受关注。作为一名电大学者,我有幸亲身体验了该公众号的功能,并深感其对广大学生学习的帮助之大。 广西开放大学作为一所具有百年历史的学府,一直致力于为学生提供优质的教育资源。而电大…

Uibot6.0 (RPA财务机器人师资培训第2天 )采购付款——网银付款机器人案例实战

训练网站:泓江科技 (lessonplan.cn)https://laiye.lessonplan.cn/list/ec0f5080-e1de-11ee-a1d8-3f479df4d981https://laiye.lessonplan.cn/list/ec0f5080-e1de-11ee-a1d8-3f479df4d981(本博客中会有部分课程ppt截屏,如有侵权请及请及时与小北我取得联系~&#xff0…

【Python + Django】启动简单的文本页面

前言: 为了应付(bushi)毕业论文,总要自己亲手搞一个像模像样的项目出来吧 ~ ~ 希望自己能在新的连载中学到项目搭建的知识,这也算是为自己的测试经历增添光彩吧!!! 希望、希望大家…

09 事务和连接池

文章目录 properties文件连接池service层实现类dao层实现类dao层实现类 连接池类: 创建线程池静态常量,用于放连接。 创建Properties静态常量,用于解析properties文件 静态代码块中,解析properties文件,将解析结果用于创建连接池 …

Linux快速入门,上手开发 02.VMware的安装部署

倘若穷途末路,那便势如破竹 —— 24.3.21 一、VMware的作用 在Windows或IOS系统下,给本地电脑安装VMware虚拟机,用来在虚拟机上安装Linux系统,避免重复资源的浪费,可以在虚拟机上搭建Linux系统进行学习 二、VMware的安…

PCL点云处理之中值计算(二百三十三)

PCL点云处理之中值计算(二百三十三) 一、算法介绍二、算法实现1.代码2.结果一、算法介绍 读取的点云是无序散乱的,点云坐标包括xyz三个维度,以常用的z高程维度为例,计算其高程中值,获取对应的点。 主要涉及到根据高程对点云进行排序的操作,下面是具体的代码和结果。 …

视频号下载助手失效了?如何解决下载视频问题!

在刷短视频的时候难免会遇到部分的视频号视频下载不下来,那我们该如何解决视频号下载问题呢? 视频号下载助手解决方案 视频号下载助手失效分为两种情况! 1、可以解析,但不能下载 根据使用视频号下载助手常见的问题,我们发现会有…

C++进阶--哈希

哈希概念 哈希(Hash)是一种常见的密码学技术和数据结构,它将任意长度的输入通过散列算法转换成固定长度的输出,这个输出被称为散列值或哈希值。哈希函数是一种单向函数,即从哈希值无法反推出原始输入值。 哈希函数具有…

AJAX 前端开发利器:实现网页动态更新的核心技术

AJAX AJAX是开发者的梦想&#xff0c;因为你可以&#xff1a; 在不重新加载页面的情况下更新网页在页面加载后请求来自服务器的数据在页面加载后接收来自服务器的数据在后台向服务器发送数据 HTML页面 <!DOCTYPE html> <html> <body><div id"dem…

你要的个性化生信分析服务今天正式开启啦!定制你的专属解决方案!全程1v1答疑!

之前在 干货满满 | 给生信小白的入门小建议 | 掏心掏肺版 中有提到&#xff0c;如果小伙伴们真的想学好生信&#xff0c;那编程能力是必须要有的&#xff01;但是可能有些小伙伴们并没有那么多的时间从头开始学习编程&#xff0c;又或是希望有人指导或者协助完成生信分析工作&a…

Qt学习--界面知识点大杂烩

在开发过程中&#xff0c;通常需要打开或者保存上位机数据到本地&#xff0c;这时候就需要用到

数据结构面试常见问题之Insert or Merge

&#x1f600;前言 本文将讨论如何区分插入排序和归并排序两种排序算法。我们将通过判断序列的有序性来确定使用哪种算法进行排序。具体而言&#xff0c;我们将介绍判断插入排序和归并排序的方法&#xff0c;并讨论最小和最大的能区分两种算法的序列长度。 &#x1f3e0;个人主…