华为配置篇-BGP实验
BGP
- 一、简述
- 二、常用命令总结
- 三、实验
一、简述
IBGP 水平分割:从一个 IBGP 对等体学到的路由,不会再通告给其他的 IBGP 对等体。在一个 AS 内部,路由器之间通过 IBGP 交换路由信息。如果没有水平分割机制,当多个路由器之间形成全连接的 IBGP 对等关系时,就可能会出现路由在 AS 内不断循环的情况。EBGP 水平分割:从一个 EBGP 对等体学到的路由,不会再通告给这个 EBGP 对等体的同一 AS 内的其他 EBGP 对等体。当一个 AS 与另一个 AS 之间通过 EBGP 连接时,为了防止 AS 间的路由环路,采用了这样的规则。
二、常用命令总结
display bgp peer #查看 BGP 对等体
display bgp routing-table #查看 BGP 路由表#在R1上通过 network 命令发布路由
[R1]bgp 64513
[R1-bgp] network 10.1.1.1 24#在R2上将路由的下一跳地址修改为自身
[R2]bgp 64512
[R2-bgp] peer 10.0.3.3 next-hop-local #向对等体10.0.3.3宣告自己知道的路由时,告诉它将路由的下一跳都改为我R2。
[R2-bgp] peer 10.0.4.4 next-hop-local
三、实验
背景
你是公司的网络管理员。公司的网络采用了 BGP 协议作为路由协议。公司的网络由多个自治系统组成,不同的分支机构使用了不同的 AS 号,现在你需要完成公司网络的搭建工作。在公司总部使用了 OSPF 作为 IGP,公司内部不同分支机构使用的是私有的 BGP AS 号。在完成网络搭建以后,你还需要观察 BGP 路由信息的传递。
拓扑

配置
R1
[V200R003C00]
#sysname R1
#
interface GigabitEthernet0/0/0ip address 10.0.1.1 255.255.255.0
#
interface LoopBack0ip address 1.1.0.1 255.255.255.255
#
interface LoopBack1ip address 1.1.1.1 255.255.255.0
#
bgp 64513 #创建区域64513router-id 1.1.0.1 #和ospf类似,设置router-idpeer 2.2.0.2 as-number 64512 #有个EBGP对等体,在区域64512peer 2.2.0.2 ebgp-max-hop 2 #与这个对等体最大跳数设为2peer 2.2.0.2 connect-interface LoopBack0 #与这个对等体连接用LoopBack0接口#ipv4-family unicast #默认的undo synchronization #默认的network 1.1.1.0 255.255.255.0 peer 2.2.0.2 enable #默认的
#
ip route-static 2.2.0.2 255.255.255.255 10.0.1.2
#
return
R2
[V200R003C00]
#sysname R2
#
interface GigabitEthernet0/0/0ip address 10.0.1.2 255.255.255.0
#
interface GigabitEthernet0/0/1ip address 10.0.2.2 255.255.255.0
#
interface LoopBack0ip address 2.2.0.2 255.255.255.255
#
bgp 64512router-id 2.2.0.2peer 1.1.0.1 as-number 64513 peer 1.1.0.1 ebgp-max-hop 2 peer 1.1.0.1 connect-interface LoopBack0peer 3.3.0.3 as-number 64512 peer 3.3.0.3 connect-interface LoopBack0peer 4.4.0.4 as-number 64512 peer 4.4.0.4 connect-interface LoopBack0#ipv4-family unicastundo synchronizationpeer 1.1.0.1 enablepeer 3.3.0.3 enablepeer 3.3.0.3 next-hop-local peer 4.4.0.4 enablepeer 4.4.0.4 next-hop-local
#
ospf 1 router-id 2.2.0.2 area 0.0.0.0 network 2.2.0.2 0.0.0.0 network 10.0.2.2 0.0.0.0
#
ip route-static 1.1.0.1 255.255.255.255 10.0.1.1
#
return
R3
[V200R003C00]
#sysname R3
#
interface GigabitEthernet0/0/1ip address 10.0.2.3 255.255.255.0
#
interface GigabitEthernet0/0/2ip address 10.0.3.3 255.255.255.0
#
interface LoopBack0ip address 3.3.0.3 255.255.255.255
#
bgp 64512router-id 3.3.0.3peer 2.2.0.2 as-number 64512 peer 2.2.0.2 connect-interface LoopBack0peer 4.4.0.4 as-number 64512 peer 4.4.0.4 connect-interface LoopBack0#ipv4-family unicastundo synchronizationpeer 2.2.0.2 enablepeer 4.4.0.4 enable
#
ospf 1 router-id 3.3.0.3 area 0.0.0.0 network 3.3.0.3 0.0.0.0 network 10.0.2.3 0.0.0.0 network 10.0.3.3 0.0.0.0
#
return
R4
[V200R003C00]
#sysname R4
#
interface GigabitEthernet0/0/0ip address 10.0.4.4 255.255.255.0
#
interface GigabitEthernet0/0/2ip address 10.0.3.4 255.255.255.0
#
interface LoopBack0ip address 4.4.0.4 255.255.255.255
#
bgp 64512router-id 4.4.0.4peer 2.2.0.2 as-number 64512 peer 2.2.0.2 connect-interface LoopBack0peer 3.3.0.3 as-number 64512 peer 3.3.0.3 connect-interface LoopBack0peer 5.5.0.5 as-number 64514 peer 5.5.0.5 ebgp-max-hop 2 peer 5.5.0.5 connect-interface LoopBack0#ipv4-family unicastundo synchronizationpeer 2.2.0.2 enablepeer 2.2.0.2 next-hop-local peer 3.3.0.3 enablepeer 3.3.0.3 next-hop-local peer 5.5.0.5 enable
#
ospf 1 router-id 4.4.0.4 area 0.0.0.0 network 4.4.0.4 0.0.0.0 network 10.0.3.4 0.0.0.0
#
ip route-static 5.5.0.5 255.255.255.255 10.0.4.5
#
return
R5
[V200R003C00]
#sysname R5
#
interface GigabitEthernet0/0/0ip address 10.0.4.5 255.255.255.0
#
interface LoopBack0ip address 5.5.0.5 255.255.255.255
#
interface LoopBack1ip address 5.5.1.5 255.255.255.0
#
bgp 64514router-id 5.5.0.5peer 4.4.0.4 as-number 64512 peer 4.4.0.4 ebgp-max-hop 2 peer 4.4.0.4 connect-interface LoopBack0#ipv4-family unicastundo synchronizationnetwork 5.5.1.0 255.255.255.0 peer 4.4.0.4 enable
#
ip route-static 4.4.0.4 255.255.255.255 10.0.4.4
#
return
总结
- R2、 R3、 R4 之间基于 Loopback0 接口建立全互联的 IBGP 对等体关系:R2与R3、R2与R4;R3与R2、R3与R4;R4与R2、R4与R3。
- 默认情况下, EBGP 连接允许的最大跳数为 1,这导致 EBGP 对等体之间只能使用直连链路建立 EBGP 对等体关系, 为使用环回口作为更新源需要手动修改 EBGP 连接允许的最大跳数(直连1个、环回口1个,共2个EBGP对等体连接)。
- R3 上已经学习到 R1、 R5 上发布的 BGP 路由, 但是都是非有效路由, 这是因为它们的下一跳在 R3 上都不可达, 为此可以在 R2、 R4 上通过
next-hop-local 命令修改下一跳地址为 R2、 R4 的更新源地址。(R2告诉R3,将自己发给它的BGP路由的下一跳都改为R2自己,R4同理) - 通过本次实验,有了更多理解,EBGP和IBGP之间通过对等体有一个大框架的路由,可以使用
network或import-route将本AS内路由导入bgp路由,进而在某一路由器下,ip路由表获得了bgp提供的一些路由。
例如,本实验,在R1上通过bgp路由表导入ip路由的只有R5的loopback1,只有这两个的loopback1之间能ping通,而R1的ip路由表中没有到R3、R4的路由,所以无法ping通。
相关文章:
华为配置篇-BGP实验
BGP 一、简述二、常用命令总结三、实验 一、简述 IBGP 水平分割:从一个 IBGP 对等体学到的路由,不会再通告给其他的 IBGP 对等体。在一个 AS 内部,路由器之间通过 IBGP 交换路由信息。如果没有水平分割机制,当多个路由器之间形成…...
一个服务器算分布式吗,分布式需要几个服务器
一个服务器不构成分布式系统。分布式系统的核心在于多台独立的计算机(服务器)协同工作,通过通信网络共享资源、共同完成任务。以下是对问题的详细分析: 1. 单台服务器 ≠ 分布式 单台服务器的架构是集中式的,所有功能…...
vue element-ui 工程创建
vue element-ui 工程创建 按照步骤 : https://blog.csdn.net/wowocpp/article/details/146590400 创建工程 vue create demo3 cd demo3 npm run serve 在demo3 目录里面 执行如下命令 npm install element-ui -S 然后查看 package.json main.js 添加代码&…...
unity点击button后不松开通过拖拽显示模型松开后模型实例化
using System.Collections; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI;[RequireComponent(typeof(Button))] // 确保脚本挂在Button上 public class DragButtonSpawner : MonoBehaviour, IPointerDownHandler, IDragHandler, IPointerUpHandle…...
arco design框架中的树形表格使用中的缓存问题
目录 1.问题 2.解决方案 1.问题 arco design框架中的树形表格使用中的缓存问题,使用了树形表格的load-more懒加载 点击展开按钮后,点击关闭,再次点击展开按钮时,没有调用查询接口,而是使用了缓存的数据。 2.解决方…...
《AI大模型应知应会100篇》第2篇:大模型核心术语解析:参数、Token、推理与训练
第2篇:大模型核心术语解析:参数、Token、推理与训练 摘要 本文将用通俗易懂的语言拆解大模型领域的四大核心概念:参数、Token、训练与推理。通过案例对比、代码实战和成本计算,帮助读者快速掌握这些术语的底层逻辑与实际应用价值…...
【28BYJ-48】STM32同时驱动4个步进电机,支持调速与正反转
资料下载:待更新。。。。 先驱动起来再说,干中学!!! 1、实现功能 STM32同时驱动4个步进电机,支持单独调速与正反转控制 需要资源:16个任意IO口1ms定时器中断 目录 资料下载:待更…...
手动实现一个迷你Llama:使用SentencePiece实现自己的tokenizer
自己训练一个tokenizertokenizer需要的模块SentencePiece 库tokenizer类中的初始化函数tokenizer类中的encode函数tokenizer类中的decode函数完整代码训练函数数据分片临时文件SentencePiece 训练参数 自己训练一个tokenizer tokenizer需要的模块 encode: 将句子转换为tokend…...
【超详细】讲解Ubuntu上如何配置分区方案
Ubuntu 的分区方案 一、通用分区方案(200G为例) EFI系统分区(仅UEFI启动模式需要,) 大小:512MB–1GB类型:主分区(FAT32格式)挂载点:/boot/efi说明࿱…...
Gradle-基础
一.安装 1. 2.配置环境变量 GRADLE_HOME D:\gradle\gradle-5.6.4 GRADLE_USER_HOME D:\gradle\localRepository 3.下载源配置 安装目录下的init.d文件夹里创建一个init.gradle文件,下载顺序从上到下,内容࿱…...
Anolis系统下安装Jenkins
1.安装java、maven yum install -y java-17-openjdk-devel maven git wget 2.配置环境变量 1.查看java和maven所在目录 [rootlocalhost ~]# which java /usr/bin/java [rootlocalhost bin]# ll /usr/bin/java lrwxrwxrwx 1 root root 22 4月 1 17:20 /usr/bin/java ->…...
Python网络爬虫:从入门到实践
目录 什么是网络爬虫? 网络爬虫的工作原理 常用Python爬虫库 编写爬虫的步骤 实战示例 注意事项与道德规范 未来趋势 1. 什么是网络爬虫? 网络爬虫(Web Crawler)是一种自动化程序,通过模拟人类浏览行为&#x…...
LabVIEW 调用 Python 函数
此程序是 LabVIEW 调用 Python 函数实现双精度数相加的典型示例。通过 LabVIEW 搭建交互框架,借助 “Open Python Session” 创建 Python 代码运行环境,定位 Python 模块路径后调用 “Add” 函数,最终实现数据处理并关闭会话。整个流程展现了…...
视频分析设备平台EasyCVR视频结构化AI智能分析:筑牢校园阳光考场远程监控网
一、背景分析 近年来,学校考试的舞弊现象屡禁不止,严重破坏考试的公平性,不仅损害广大考生的切身利益,也在社会上造成恶劣的影响。为有效制止舞弊行为,收集确凿的舞弊证据,在考场部署一套可靠的视频监控…...
AWS用Glue读取S3文件上传数据到Redshift,再导出到Quicksight完整版,含VPC配置
1. 项目背景 AWS的官方文档,关于Glue和Vpc配置部分已经比较旧了,按照官方文档配置的流程始终跑不通,花了一番时间和波折后,才终于完整的跑通了。 在数据分析和商业智能(BI)领域,我们常需要将存…...
Qt WebSockets使用
Qt WebSockets 是 Qt 官方提供的 WebSocket 协议 实现库,支持全双工通信(客户端/服务端),适用于实时交互应用(如聊天、游戏、实时数据监控)。 1. 核心功能 完整的 WebSocket 协议支持 符合 RFC 6455 标准,支持 ws:// 和 wss://(加密)。 自动处理握手、帧拆分、Ping/…...
Docker学习--容器生命周期管理相关命令--start/stop/restart命令
docker start 命令作用: 启动一个或多个已经创建的容器。 语法: docker start [参数] CONTAINER [CONTAINER…](要操作的容器的名称,可以同时操作多个) 参数解释: -a:附加到容器的标准输入输出…...
dom操作笔记、xml和document等
文章目录 mybatis dom部分 dom(Document Object Model文档对象模型)。 xml和html都属于dom,每天都会用到,一直以为很简单,直到有一天,操作mybatis的xml时候惨不忍睹,被上了一课,做个笔记整理下吧。 xml和ht…...
Python爬虫第3节-会话、Cookies及代理的基本原理
目录 一、会话和Cookies 1.1 静态网页和动态网页 1.2 无状态HTTP 1.3 常见误区 二、代理的基本原理 2.1 基本原理 2.2 代理的作用 2.3 爬虫代理 2.4 代理分类 2.5 常见代理设置 一、会话和Cookies 大家在浏览网站过程中,肯定经常遇到需要登录的场景。有些…...
OkHttpHttpClient
学习链接 okhttp github okhttp官方使用文档 SpringBoot 整合okHttp okhttp3用法 Java中常用的HTTP客户端库:OkHttp和HttpClient(包含请求示例代码) 深入浅出 OkHttp 源码解析及应用实践 httpcomponents-client github apache httpclie…...
android设备出厂前 按键测试 快速实现-屏蔽Home,Power等键
android整机测试,需要测试按键。 一般的键好按,好测试。如:音量加 ,音量- 。 但是,有些按键就不好测了。譬如:电源键(Power),Home键,Menu键,Bac…...
Spring Boot3使用Spring AI通过Ollama集成deepseek
文章目录 项目地址版本信息集成步骤 项目地址 DeepSeekSpringAI实战AI家庭医生应用 版本信息 版本Spring Boot3.4.4JDK21spring-ai1.0.0-M6ollama0.6.3LLMdeepseek:14b 集成步骤 引入依赖 <dependency><groupId>org.springframework.ai</groupId><a…...
c++柔性数组、友元、类模版
目录 1、柔性数组: 2、友元函数: 3、静态成员 注意事项 面试题:c/c static的作用? C语言: C: 为什么可以创建出 objx 4、对象与对象之间的关系 5、类模版 1、柔性数组: #define _CRT_SECURE_NO_WARNINGS #…...
win10 快速搭建 lnmp+swoole 环境 ,部署laravel6 与 swoole框架laravel-s项目1
参考文献 1.dnmp环境 https://github.com/yeszao/dnmp 2.laravel6.0文档 https://learnku.com/docs/laravel/6.x 3.laravels 文档 https://github.com/hhxsv5/laravel-s/blob/master/README-CN.md 安装前准备 1.确认已经安装且配置好docker,能在cmd 中运行 docker …...
【Kafka基础】基础概念解析与消息队列对比
1 Kafka 是什么? Kafka是一个 分布式流处理平台,主要用于 高吞吐量、低延迟的实时数据流处理,最初由LinkedIn开发。 核心特点: 高吞吐量:支持每秒百万级消息处理持久化存储:消息可持久化到磁盘,…...
vue将组件中template转为js
在 Vue 中,组件的 template 需要被转换为 JavaScript 渲染函数(Render Function)才能在浏览器中运行。Vue 2 和 Vue 3 的转换机制有所不同,主要体现在编译时机、编译工具和输出结果上。 1. Vue 2 的 Template 转换 转换方式 Vue…...
Centos 8 安装教程(新手版)
1.需要在阿里开源镜像站下载对应的镜像,如下:https://mirrors.aliyun.com/centos/8.5.2111/isos/x86_64/ 2.打开VM虚拟机,创建新的虚拟机,选择自定义 如图所示点击进行: 选择下载好的镜像 选择“Linux”,版…...
Vue2函数式组件实战:手写可调用的动态组件,适用于toast轻提示、tip提示、dialog弹窗等
Vue2函数式组件实战:手写可调用的动态组件 一、需求场景分析 在开发中常遇到需要动态调用的组件场景: 全局弹窗提示即时消息通知动态表单验证需要脱离当前DOM树的悬浮组件 传统组件调用方式的痛点:必须预先写入模板,可能还要用…...
ESLint语法报错
ESLint语法报错 运行报错 You may use special comments to disable some warnings. Use // eslint-disable-next-line to ignore the next line. Use /* eslint-disable */ to ignore all warnings in a file.解决方案 关闭eslint的语法检测,在eslintrc.js文件中…...
大象如何学会太空漫步?美的:科技领先、To B和全球化
中国企业正处在转型的十字路口。一边是全新的技术、全新的市场机遇;一边是转型要面临的沉重负累和巨大投入,无数中国制造、中国品牌仍在寻路,而有的人已经走至半途。 近日,美的集团交出了一份十分亮眼的2024年财报。数据显示&…...
