HCIP --- BGP 综合实验
目录
实验拓扑图:
实验要求:
实验步骤:
1.划分IP地址
R1的配置
R2的配置
R3的配置
R4的配置
R5的配置
R6的配置
R7的配置
R8的配置
2.检测查询IP地址
3.OSPF 建邻
4.查询OSPF 建邻是否成功
5.AS 2 内部BGP 建邻
a. AS 2 内部 IBGP 建邻
b.AS 2 内部 EBGP 建邻
6. R1 和 R 8 与 AS 之间的BGP 建邻
7.查询BGP建立情况
8.检测 R1 和 R8 是否学习到 BGP 传输的网段情况
9.R3 和 R6 设置为路由反射器
10. 再次检查 R1 和 R8上是否学习到对应的网段
11.优化明细
12.配置 R1 和 R8 环回地址
13.R1和R8建立隧道
首先创建隧道接口: interface tunnel0/0/0
设置隧道IP地址
选择隧道类型 :tunnel - protocol gre
设置源IP :source + ip地址
设置目标IP :destination + ip地址
编辑编辑
14.测试 R1 与 R8 之间隧道是否建立成功
15.配置静态路由
16.测试全网的连通性
编辑
注意事项:
实验拓扑图:

实验要求:
1.AS1存在两个环回,一个地址为192.168.1.0/24该地址不能 在任何协议中宣告
AS3中存在两个环回,一个地址为192.168.2.0/24该地址不能在任何协议中宣告,最终要求这两个环回可以互相通讯.
2.整个AS2的IP地址为172.16.0.0/16,请合理划分
3.AS间的骨干链路IP地址随意定制
4.使用BGP协议让整个网络所有设备的环回可以互相访问5.减少路由条目数量,避免环路出现
实验步骤:
1.划分IP地址
根据实验要求可知,172.16.0.0/16 需要从 大网段 划分到 小网段 ,虽然没有说每台路由器后面都需要 网段 , 但因为 根据实际情况 无论大到学校 商城 ,还是小到 公司 家庭 都是有用户在使用该路由器纷发来的网段 。所以我们应该把172.16.0.0/16的网段 化成 一组是专门给用户使用的 ,另外一组用于 BGP的 环回建邻!
172.16.0.0/16
172.16.0.1/32 172.16.0.2/32 172.16.0.3/32 172.16.0.4/32 172.16.0.5/32 172.16.0.6/32 --- 用于环回建邻
172.16.1.0/30 172.16.1.4/30 172.16.1.8/30 172.16.1.12/30 172.16.1.16/30 172.16.20/30 ---用于AS2内部的路由器的网段
R1的配置
因为AS间的骨干链路IP地址随意定制 ,所以根据个人习惯书写 。

R2的配置

R3的配置

R4的配置

R5的配置

R6的配置

R7的配置

R8的配置
因为AS间的骨干链路IP地址随意定制 ,所以根据个人习惯书写 。

2.检测查询IP地址
因为 路由器较多,配置的IP地址 较多,所以需要 检测是否 配置 正确 没有配混乱!
通过 display ip interface brief

3.OSPF 建邻
因为 AS 2 内部 有较多的路由器 ,需要 通过OSPF 来实习 区域内部的网络互通,便于下步使用BGP协议 划分区域 及IBGP、EBGP 建邻。
通过进入 到 OSPF 1 中,在区域0进行宣告 网段 ,因为该大区域 AS2 内部 都是属于172.16.0.0/16划分出来的 所以 都可以进行大网段宣告——network 172.16.0.0 0.0.255.255
下面以 r 7 为示例:

4.查询OSPF 建邻是否成功
通过display ospf peer brief 查询 当每台路由器内部的State 达到 Full状态时 ,即为 成功 ,否则 建邻尚未成功 或 失败 。
下面 以 r 2 为 示例:
5.AS 2 内部BGP 建邻
a. AS 2 内部 IBGP 建邻
因为 AS 2 内部 有一个大区域 包含 两个 小区域 ,所在的区域的路由器 的bgp 先属于小区域 然后 宣告在大区域中 。
先优先完成 小区域内部的IBGP 建邻 完成后 再进行 大区域内部之间的EBGP 建邻 。
R2 R3 R4 属于 64512 区域,R5 R6 R7 属于 64513 区域
如 r 2 属于 小区域 64512 ,大区域 2 ,
则 命令如下:
bgp 64512
confederation id 2
peer 12.0.0.1 as - number 1 --- 相邻 AS 1 的 EBGP 建邻
peer 172.16.0.2 as - number 64512 ---- AS 64512 内部的 IBGP 环回建邻





b.AS 2 内部 EBGP 建邻
大区域内部的小区域 EBGP 建邻 ,首先要 声明 跟哪个小区域建邻,然后再进行建邻 。
注意 :r2 和 r4 要建邻的区域是 64513;而 r5 和 r7 是要建邻的区域是 64512。
r2 命令如下:
要建邻的 区域 confederation peer - as 64513
修改更新源 peer 172.16 .0.6 connect - interface 10
修改 跳数 peer 172.16.0.6 ebgp-max-hop

r4 命令如下:

r5 命令如下:

r7 命令如下 :

6. R1 和 R 8 与 AS 之间的BGP 建邻
r1 和 r8 与 AS 2 之间建邻的BGP 是属于 EBGP 直连建邻,不需要采用环回建邻!!!
命令如下:
启动 BGP : bgp 1 / 3
直连建邻 : peer 12.0.0.2 as - number 2 / peer 78.0.0.1 as - number 2


7.查询BGP建立情况
通过 display bgp peer 查询 发现 已经建立了对应的 IBGP 和 EBGP 关系,说明前期的配置没有问题 。

注意: r7这里 还有个 AS号为 3 的78.0.0.2 的EBGP 邻居 未截图到!!!大家 已经要与AS3中的r8直连建立EBGP关系,否则导致后期全网不可达!!!
8.检测 R1 和 R8 是否学习到 BGP 传输的网段情况
通过 命令 display ip routing-table protocol bgp 查询 学习到的EBGP情况 ,
发现 r1 上 少了 172.16.4.0/24 网段 ,r8 上 少了 172.16.2.0/24 网段 ,侧面反映了 应该在AS 内部的IBGP 传输问题会被水平分割 ,从而无法学习到4.0和2.0网段。


解决方法 : 1. 可以 另外建立多个IBGP 关系 ,但会使路由器承载数据更加庞大,更加复杂。
2.在其中设置路由反射器 ,建立 客户 与 非客户的关系 ,把从客户学到的路由条目传给非客户的路由器,从而使其学习到欠缺网段。
9.R3 和 R6 设置为路由反射器
根据操作简单化 容易实现性来说,采用设置部分路由反射器,来建立客户与非客户的关系,以便学习到欠缺的网段。
在 r3 上设置 r4 为客户,把r4欠缺的网段传输出去
命令如下:
启动BGP :bgp 64512
设置客户:peer 172.16.0.3 reflect-client --- 此时在区域64512中 ,r4 为 客户 ,r2为非客户。

在 r6 上设置 r5 为客户,把r5欠缺的网段传输出去
命令如下:
启动BGP :bgp 64513
设置客户:peer 172.16.0.6 reflect-client --- 此时在区域64513中 ,r5为 客户 ,r7为非客户。

r2和r7还需将相邻的下一跳 修改为自身


10. 再次检查 R1 和 R8上是否学习到对应的网段
通过 命令 display ip routing-table protocol bgp 查询。
此时,r1 和 r8 的路由器上通过 EBGP,已经学习到从172.16.2.0/24 - 172.16.7.0/24 的网段,把之前欠缺的网段 补全齐了。


11.优化明细
在R1 和 R 8 通过查询发现BGP的网段 172.16.2.0/24-172.16.7.0/24 这个范围的网段 都是属于172.16.0.0/21 的大网段内,可以进行合并优化 ,减少路由条目 。
通过命令 aggregate 172.16.0.0 21 detail - suppressed 来经行 优化 路由条目。


此时,通过display ip routing-table protocol bgp 发现 从EBGP 学习到的路由条目为172.16.0.0/21的网段,路由条目已经发生优化 减少路由器占据负担和提高用户的阅读性。


12.配置 R1 和 R8 环回地址


测试 是否互通

13.R1和R8建立隧道
首先创建隧道接口: interface tunnel0/0/0
设置隧道IP地址
选择隧道类型 :tunnel - protocol gre
设置源IP :source + ip地址
设置目标IP :destination + ip地址
注意: 源IP 与 目标IP 在 R1 和 R8是相反的!!!
14.测试 R1 与 R8 之间隧道是否建立成功
通过 ping -a 源IP地址 目标IP地址 来进行测试 ,若回收到数据 即为 成功 建立

15.配置静态路由
此时 192.168.1.0 和 192.168.2.0 还不能互通 ,因为两个网段没有被公开!!!题目也不允许被公开 ,所以只能采用配置 静态路由 和 隧道 来共同完成互通性。


16.测试全网的连通性
此时,通过命令 ping -a 源IP地址 目标IP地址 来进行测试 ,若回收到数据 即为 全网互通,实验完成!!!!!!!!
注意事项:
1.配置BGP时 区域不要打错了,如我当时因为打多了一个数字导致 BGP 之间不能互通。

可以通过 undo 掉 该路由器上的 bgp 区域号。 直接 undo bgp 即 可生效 ,再次创建 新的 bgp + 区域号。
2.该实验的难度 属于中等难度 ,其实验的复杂程度 不亚于之前所过的实验,实验步骤繁琐,务必 重复做此实验,把前面的基础 捡起来,巩固。
相关文章:
HCIP --- BGP 综合实验
目录 实验拓扑图: 实验要求: 实验步骤: 1.划分IP地址 R1的配置 R2的配置 R3的配置 R4的配置 R5的配置 R6的配置 R7的配置 R8的配置 2.检测查询IP地址 3.OSPF 建邻 4.查询OSPF 建邻是否成功 5.AS 2 内部BGP 建邻 a. AS 2 内部 IBG…...
【优选算法】专题1 -- 双指针 -- 移动零
前言: 📚为了提高算法思维,我会时常更新这个优选算法的系列,这个专题是关于双指针的练习 🎯个人主页:Dream_Chaser~-CSDN博客 一.移动零(easy) 描述: 「数组分两块」是⾮…...
【计算机视觉】二、图像形成:2、几何基元和几何变换:2D变换
文章目录 一、向量和矩阵的基本运算二、几何基元和变换1、几何基元(Geometric Primitives)2、几何变换(Geometric Transformations)1. 各种变换的关系2. 变换公式3. 2D变换的层次4. python实现 一、向量和矩阵的基本运算 【计算机视觉】二、图像形成:1、向量和矩阵…...
蓝桥杯---棋盘(典型的二维差分问题)
题目链接:棋盘 这道题真的是非常典型的二维差分问题了(在我个人看来),题目中的0和1,我们直接让差分数组,偶数就是0,奇数就是1.初始化是0,是白子(偶数)&#x…...
OpenHarmony教程指南—ArkTS时钟
简单时钟 介绍 本示例通过使用ohos.display 接口以及Canvas组件来实现一个简单的时钟应用。 效果预览 使用说明 1.界面通过setInterval实现周期性实时刷新时间,使用Canvas绘制时钟,指针旋转角度通过计算得出。 例如:"2 * Math.PI /…...
uniapp遇到的问题
【uniapp】小程序中input输入框的placeholder-class不生效解决办法 解决:写在scope外面 uniapp设置底部导航 引用:https://www.jianshu.com/p/738dd51a0162 【微信小程序】moveable-view / moveable-area的使用 https://blog.csdn.net/qq_36901092/…...
oppo前端开发一面
提问: 1. 谈谈你怎么实现响应式布局 2. 谈谈你对weback的了解,vite和webpack的区别,webpack loader 3. 你项目怎么用CI/CD(不懂,只知道自动化部署了😭) 4. ts中type和interface区别 5. axi…...
案例分析篇09:Web架构设计相关20个考点(7~11)(2024年软考高级系统架构设计师冲刺知识点总结)
专栏系列文章推荐: 2024高级系统架构设计师备考资料(高频考点&真题&经验)https://blog.csdn.net/seeker1994/category_12593400.html 【历年案例分析真题考点汇总】与【专栏文章案例分析高频考点目录】(2024年软考高级系统架构设计师冲刺知识点总结-案例分析篇-…...
为什么“玄学”与营销联系?媒介盒子分析
在去年有年轻人在上班与上进之中,选择上香,而今年有咖啡品牌买咖啡送木鱼,还有香飘飘在普陀山吸好运,望山楂直接覆盖香火最旺的寺庙,玄学营销的势头甚至盖过了联名营销,呈现节点化的趋势。为什么会这样&…...
C++常用容器总结
容器分为三类,顺序容器,关联容器和适配器。顺序容器又分为连续的容器(vector,array),顺序容器中的离散容器(list,slist,forward_list),离连形的de…...
C# Onnx C2PNet 图像去雾 室外场景
目录 介绍 效果 模型信息 项目 代码 下载 C# Onnx C2PNet 图像去雾 室外场景 介绍 github地址:https://github.com/YuZheng9/C2PNet [CVPR 2023] Curricular Contrastive Regularization for Physics-aware Single Image Dehazing 效果 模型信息 Model P…...
【English Learning】Day13
2024/03/14 和小录打卡的第13天 目录 Words & phrases Words & phrases incrredibly incredibly busy 超级忙merely not merely 不仅仅tragedy a terible tregedy 可怕的悲剧a personal tragedy 个人遭遇strive strive to be best 努力做最好的strive for peace 为和平…...
智障版本GPT3实现
背景,实现GPT3,采用python代码。调库hf及tf2.0+基础。 由于完全实现GPT模型及其预训练过程涉及大量的代码和计算资源,以下是一个基于TensorFlow 2.x的简化版GPT模型构建和调用的示例。请注意,这仅展示了模型的基本结构,实际运行需替换为真实数据集和预处理步骤,且无法直…...
【ubuntu】安装 Anaconda3
目录 一、Anaconda 说明 二、操作记录 2.1 下载安装包 2.1.1 官网下载 2.1.2 镜像下载 2.2 安装 2.2.1 安装必要的依赖包 2.2.2 正式安装 shell 和 base 的切换 2.2.3 检测是否安装成功 方法一 方法二 方法三 2.3 其他 三、参考资料 3.1 安装资料 3.2 验证是否…...
代码随想录|Day20|二叉树09|669. 修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树
669. 修剪二叉搜索树 思路:利用二叉搜索树的性质,对于每个节点,判断其是否在区间内: 如果节点值 < low,则此节点和其左子树都不在范围内如果节点值 > high,则此节点和其右子树都不在范围内如果 low &…...
开源的java 代码分析库介绍
本文将为您详细讲解开源的 Java 代码分析库,以及如何安装这些库、它们的特性、区别和应用场景。Java 社区提供了多种代码分析工具,这些工具可以帮助您在 Java 应用程序中进行代码质量评估、性能分析、安全检查等功能。 1. CheckStyle 安装 - 通过…...
基于udp协议的网络通信(windows客户端版+简易聊天室版),重定向到终端
目录 和windows通信 引入 思路 WSADATA 代码 运行情况 简单的聊天室 思路 重定向 代码 terminal.hpp -- 重定向函数 服务端 客户端 运行情况 和windows通信 引入 linux和windows都需要联网,虽然他们系统设计不同,但网络部分一定是相同的,所以套接字也是一样的 这…...
Qt+FFmpeg+opengl从零制作视频播放器-7.OpenGL播放视频
在上一节Qt+FFmpeg+opengl从零制作视频播放器-6.视频解码中,我们学到了如何将视频数据解码成YUV原始数据,并且保存到本地,最后使用工具来播放YUV文件。 本节使用QOpenGLWidget来渲染解码后的YUV视频数据。 首先简单介绍QOpenGLWidget的使用。 QOpenGLWidget类是用于渲染O…...
用两个栈实现简单的四则运算
题目要求:给定一个字符串如“12*3”,没有括号,要求利用栈的知识来处理结果算出答案 我的思路:建立两个栈,一个存放数据,一个存放符号,再定义一个结构体做为操作的主体,然后制作几个函数&#x…...
<个人笔记>数论
1.快速幂 (1)求解问题: 给定 n组 ai,bi,pi求 aibi mod pi 的值。 (2)主要思想:任何一个数(b),可以被 n 个 2k 相加获得。 即 b 2k1 2k2 2k3 … 2logb。 快速幂模板: typedef long long LL;LL qmi(int a,int b,int p){LL re…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...
测试markdown--肇兴
day1: 1、去程:7:04 --11:32高铁 高铁右转上售票大厅2楼,穿过候车厅下一楼,上大巴车 ¥10/人 **2、到达:**12点多到达寨子,买门票,美团/抖音:¥78人 3、中饭&a…...
Mac软件卸载指南,简单易懂!
刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"࿰…...
QT: `long long` 类型转换为 `QString` 2025.6.5
在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...
用机器学习破解新能源领域的“弃风”难题
音乐发烧友深有体会,玩音乐的本质就是玩电网。火电声音偏暖,水电偏冷,风电偏空旷。至于太阳能发的电,则略显朦胧和单薄。 不知你是否有感觉,近两年家里的音响声音越来越冷,听起来越来越单薄? —…...
Yolov8 目标检测蒸馏学习记录
yolov8系列模型蒸馏基本流程,代码下载:这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中,**知识蒸馏(Knowledge Distillation)**被广泛应用,作为提升模型…...
解读《网络安全法》最新修订,把握网络安全新趋势
《网络安全法》自2017年施行以来,在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂,网络攻击、数据泄露等事件频发,现行法律已难以完全适应新的风险挑战。 2025年3月28日,国家网信办会同相关部门起草了《网络安全…...
实战设计模式之模板方法模式
概述 模板方法模式定义了一个操作中的算法骨架,并将某些步骤延迟到子类中实现。模板方法使得子类可以在不改变算法结构的前提下,重新定义算法中的某些步骤。简单来说,就是在一个方法中定义了要执行的步骤顺序或算法框架,但允许子类…...
绕过 Xcode?使用 Appuploader和主流工具实现 iOS 上架自动化
iOS 应用的发布流程一直是开发链路中最“苹果味”的环节:强依赖 Xcode、必须使用 macOS、各种证书和描述文件配置……对很多跨平台开发者来说,这一套流程并不友好。 特别是当你的项目主要在 Windows 或 Linux 下开发(例如 Flutter、React Na…...
java高级——高阶函数、如何定义一个函数式接口类似stream流的filter
java高级——高阶函数、stream流 前情提要文章介绍一、函数伊始1.1 合格的函数1.2 有形的函数2. 函数对象2.1 函数对象——行为参数化2.2 函数对象——延迟执行 二、 函数编程语法1. 函数对象表现形式1.1 Lambda表达式1.2 方法引用(Math::max) 2 函数接口…...



