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…...

IDEA运行Tomcat出现乱码问题解决汇总
最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)
题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...

深入剖析AI大模型:大模型时代的 Prompt 工程全解析
今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…...
MySQL中【正则表达式】用法
MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现(两者等价),用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例: 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...

多种风格导航菜单 HTML 实现(附源码)
下面我将为您展示 6 种不同风格的导航菜单实现,每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...

分布式增量爬虫实现方案
之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面,避免重复抓取,以节省资源和时间。 在分布式环境下,增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路:将增量判…...

Mac下Android Studio扫描根目录卡死问题记录
环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中,提示一个依赖外部头文件的cpp源文件需要同步,点…...
Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?
Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...

深度学习水论文:mamba+图像增强
🧀当前视觉领域对高效长序列建模需求激增,对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模,以及动态计算优势,在图像质量提升和细节恢复方面有难以替代的作用。 🧀因此短时间内,就有不…...