5.1配置IBGP和EBGP
5.2.1实验1:配置IBGP和EBGP
- 实验目的
- 熟悉IBGP和EBGP的应用场景
- 掌握IBGP和EBGP的配置方法
- 实验拓扑
实验拓扑如图5-1所示:

图5-1:配置IBGP和EBGP
- 实验步骤
- IP地址的配置
R1的配置
<Huawei>system-view
Enter system view, return user view with Ctrl+Z.
[Huawei]undo info-center enable
[Huawei]sysname R1
[R1]interface g0/0/0
[R1-GigabitEthernet0/0/0]ip address 12.1.1.1 24
[R1-GigabitEthernet0/0/0]quit
[R1]interface LoopBack 0
[R1-LoopBack0]ip address 1.1.1.1 32
[R1-LoopBack0]quit
R2的配置
<Huawei>system-view
Enter system view, return user view with Ctrl+Z.
[Huawei]undo info-center enable
[Huawei]sysname R2
[R2]interface g0/0/1
[R2-GigabitEthernet0/0/1]ip address 12.1.1.2 24
[R2-GigabitEthernet0/0/1]quit
[R2]interface g0/0/0
[R2-GigabitEthernet0/0/0]ip address 23.1.1.2 24
[R2-GigabitEthernet0/0/0]quit
[R2]interface LoopBack 0
[R2-LoopBack0]ip address 2.2.2.2 32
[R2-LoopBack0]quit
R3的配置
<Huawei>system-view
Enter system view, return user view with Ctrl+Z.
[Huawei]undo info-center enable
[Huawei]sysname R3
[R3]interface g0/0/1
[R3-GigabitEthernet0/0/1]ip address 23.1.1.3 24
[R3-GigabitEthernet0/0/1]quit
[R3]interface LoopBack0
[R3-LoopBack0]ip address 3.3.3.3 32
[R3-LoopBack0]quit
- 配置IGP:R1与R2运行OSPF协议
R1的配置
[R1]ospf router-id 1.1.1.1
[R1-ospf-1]area 0
[R1-ospf-1-area-0.0.0.0]network 12.1.1.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0
[R1-ospf-1-area-0.0.0.0]quit
[R1-ospf-1]quit
R2的配置
[R2]ospf router-id 2.2.2.2
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 12.1.1.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]network 2.2.2.2 0.0.0.0
[R2-ospf-1-area-0.0.0.0]quit
- 配置IBGP
R1的配置
[R1]bgp 100 //启动BGP进程,进程号为100
[R1-bgp]undo synchronization //关闭同步,默认配置
[R1-bgp]undo summary automatic //关闭自动汇总,默认配置
[R1-bgp]router-id 1.1.1.1 //设置BGP的router-id
[R1-bgp]peer 2.2.2.2 as-number 100 //指定邻居和邻居的AS号
[R1-bgp]peer 2.2.2.2 connect-interface LoopBack 0 //用环回口建邻居
[R1-bgp]quit
R2的配置
[R2]bgp 100
[R2-bgp]undo synchronization
[R2-bgp]undo summary automatic
[R2-bgp]bgp
[R2-bgp]router-id 2.2.2.2
[R2-bgp]peer 1.1.1.1 as-number 100
[R2-bgp]peer 1.1.1.1 connect-interface LoopBack 0
[R2-bgp]quit
- 配置EBGP
R2的配置
[R2]bgp 100
[R2-bgp]peer 23.1.1.3 as-number 200 //EBGP用直连接口建邻居
R3的配置
[R3]bgp 200
[R3-bgp]undo synchronization
[R3-bgp]undo summary automatic
[R3-bgp]peer 23.1.1.2 as-number 100
[R3-bgp]quit
【技术要点】配置BGP对等体关系的建议
- IBGP用环回口建邻居
- EBGP用直连建邻居
- 如果EBGP用环回口建邻居必须配置peer ebgp-max-hop命令
- 实验调试
- 查看TCP连接
<R1>display tcp status
TCPCB Tid/Soid Local Add:port Foreign Add:port VPNID State
1d322414 59 /1 0.0.0.0:23 0.0.0.0:0 -1 Listening
172ede3c 107/2 0.0.0.0:179 2.2.2.2:0 0 Listening
172ed4fc 107/36 1.1.1.1:179 2.2.2.2:65309 0 Established
通过以上可以看到,TCP连接是成功的
- 查看对等体的状态
<R1>display bgp peer
BGP local router ID : 1.1.1.1 // BGP本地Router ID
Local AS number : 100 //本地AS编号
Total number of peers : 1 Peers in established state : 1
//对等体总个数 //处于建立状态的对等体个数
Peer V AS MsgRcvd MsgSent OutQ Up/Down State PrefRcv
2.2.2.2 4 100 146 147 0 02:24:44 Established 0
以上输出邻居表的各个字段的含义如下:
- Peer:对等体的IP地址
- V :对等体使用的BGP版本
- AS:自治系统号
- MsgRcvd:接收的信息统计数
- MsgSent:发送的信息统计数
- OutQ:等待发往指定对等体的消息
- Up/Down:邻居关系建立的时间
- State:邻居的状态
- PrefRcv:本端从对等体上收到路由前缀的数目
(3)在R3上用network宣告的方式产生一条BGP路由、在R1上引入的方式产生一条BGP路由
R3 的配置
[R3]bgp 200
[R3-bgp]network 3.3.3.3 32
[R3-bgp]quit
R1的配置
[R1]bgp 100
[R1-bgp]import-route ospf 1
【技术要点】
BGP路由生成有三种方式:
- Network
- Import-route
- 与IGP协议相同,BGP支持根据已有的路由条目进行聚合,生成聚合路由。
(4)在R1上查看路由表
[R1]display bgp routing-table
BGP Local router ID is 1.1.1.1
Status codes: * - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
Total Number of Routes: 4
Network NextHop MED LocPrf PrefVal Path/Ogn
*> 1.1.1.1/32 0.0.0.0 0 0 ?
*> 2.2.2.2/32 0.0.0.0 1 0 ?
i 3.3.3.3/32 23.1.1.3 0 100 0 200i
*> 12.1.1.0/24 0.0.0.0 0 0 ?
以上输出中,路由条目表项的状态码解析如下:
- *代表路由条目有效
- >代表路由条目最优,可以被传递,只有下一跳可达路由才会最优
- i代表路由是从IBGP学到的
- Networkw:显示BGP路由表中的网络地址
- NextHop:报文发送的下一跳地址
- MED :路由度量值
- LocPrf :本地优先级
- PrefVal : 协议首选值
- Path/Ogn:显示AS路径号及Origin属性
以上输出我们可以发现3.3.3.3不是最优的,如果不优就不会在加载进全局路由表,也不会传给其它路由器,本例不优的原因为下一跳不可达,解决办法如下:
R2的配置
[R2]bgp 100
[R2-bgp]peer 1.1.1.1 next-hop-local //配置下一跳本地
[R2-bgp]quit
(5)再查看R1的路由表
[R1]display bgp routing-table
BGP Local router ID is 1.1.1.1
Status codes: * - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
Total Number of Routes: 4
Network NextHop MED LocPrf PrefVal Path/Ogn
*> 1.1.1.1/32 0.0.0.0 0 0 ?
*> 2.2.2.2/32 0.0.0.0 1 0 ?
*>i 3.3.3.3/32 2.2.2.2 0 100 0 200i
*> 12.1.1.0/24 0.0.0.0 0 0 ?
【技术要点】
什么情况下配置下一跳本地:
对从EBGP邻居收到的路由,在传给IBGP邻居时,修改下一跳地址为本地的connet interface。
(6)查看R2的BGP路由表
<R2>display bgp routing-table
BGP Local router ID is 2.2.2.2
Status codes: * - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
Total Number of Routes: 4
Network NextHop MED LocPrf PrefVal Path/Ogn
i 1.1.1.1/32 1.1.1.1 0 100 0 ?
*>i 2.2.2.2/32 1.1.1.1 1 100 0 ?
*> 3.3.3.3/32 23.1.1.3 0 0 200i
*>i 12.1.1.0/24 1.1.1.1 0 100 0 ?
通过以上输出,我们可以发现1.1.1.1这条路由虽然下一跳可达,但是不是有效和最优的,其原因为:如果IGP表里面宣告了这条路由,然后再在IBGP里面,路由只能本地有效。
相关文章:
5.1配置IBGP和EBGP
5.2.1实验1:配置IBGP和EBGP 实验目的 熟悉IBGP和EBGP的应用场景掌握IBGP和EBGP的配置方法 实验拓扑 实验拓扑如图5-1所示: 图5-1:配置IBGP和EBGP 实验步骤 IP地址的配置 R1的配置 <Huawei>system-view Enter system view, return …...
c++中超级详细的一些知识,新手快来
目录 2.文章内容简介 3.理解虚函数表 3.1.多态与虚表 3.2.使用指针访问虚表 4.对象模型概述 4.1.简单对象模型 4.2.表格驱动模型 4.3.非继承下的C对象模型 5.继承下的C对象模型 5.1.单继承 5.2.多继承 5.2.1一般的多重继承(非菱形继承) 5.2…...
[答疑]经营困难时期谈建模和伪创新-长点心和长点良心
leonll 2022-11-26 9:53 我们今年真是太难了……(此处删除若干字)……去年底就想着邀请您来给我们讲课,现在也没有实行。我想再和我们老大提,您觉得怎么说个关键理由,这样的形势合适引进UML开发流程? UML…...
计算机基础知识
计算机网络的拓扑结构 一、OSI 7层网络模型是指什么? 7层分别是什么?每层的作用是什么? OSI7层模型是 国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系。 每层功能:(自底向上) 物理层:建立、…...
Java爬虫—WebMagic
一,WebMagic介绍WebMagic企业开发,比HttpClient和JSoup更方便一),WebMagic架构介绍WebMagic有DownLoad,PageProcessor,Schedule,Pipeline四大组件,并有Spider将他们组织起来…...
[软件工程导论(第六版)]第2章 可行性研究(复习笔记)
文章目录2.1 可行性研究的任务2.2 可行性研究过程2.3 系统流程图2.4 数据流图概念2.5 数据字典2.6 成本/效益分析2.1 可行性研究的任务 可行性研究的目的 用最小的代价在尽可能短的时间内确定问题是否能够解决。 可行性研究的3个方面 (1)技术可行性&…...
Mac下安装Tomcat以及IDEA中的配置
安装brew 打开终端输入以下命令: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 搜索tomcat版本,输入以下命令: brew search tomcat 安装自己想要的版本,例…...
【Linux详解】——文件基础(I/O、文件描述符、重定向、缓冲区)
📖 前言:本期介绍文件基础I/O。 目录🕒 1. 文件回顾🕘 1.1 基本概念🕘 1.2 C语言文件操作🕤 1.2.1 概述🕤 1.2.2 实操🕤 1.2.3 OS接口open的使用(比特位标记)…...
HomMat2d
1.affine_trans_region(区域的任意变换) 2.hom_mat2d_identity(创建二位变换矩阵) 3.hom_mat2d_translate(平移) 4.hom_mat2d_scale(缩放) 5.hom_mat2d_rotate(旋转 &…...
Python3 JSON 数据解析
Python3 JSON 数据解析 JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式。 Python3 中可以使用 json 模块来对 JSON 数据进行编解码,它包含了两个函数: json.dumps(): 对数据进行编码。json.loads(): 对数据进行解码。 在 json 的编解码…...
Homebrew 安装遇到的问题
Homebrew 安装遇到的问题 例如:第一章 Python 机器学习入门之pandas的使用 文章目录Homebrew 安装遇到的问题前言一、安装二、遇到的问题1.提示 zsh: command not found: brew三、解决问题前言 使用 Homebrew 能够 安装 Apple(或您的 Linux 系统&#…...
Metasploit框架基础(二)
文章目录前言一、Meatsplooit的架构二、目录结构datadocumentationlibmodulesplugins三、Measploit模块四、Metasploit的使用前言 Metasploit是用ruby语言开发的,所以你打开软件目录,会发现很多.rb结尾的文件。ruby是一门OOP的语言。 一、Meatsplooit的…...
c++容器
1、vector容器 1.1性质 a)该容器的数据结构和数组相似,被称为单端数组。 b)在存储数据时不是在原有空间上往后拓展,而是找到一个新的空间,将原数据深拷贝到新空间,释放原空间。该过程被称为动态拓展。 vec…...
Vue.js如何实现对一千张图片进行分页加载?
目录 vue处理一千张图片进行分页加载 分页加载、懒加载---概念介绍: 思路: 开发过程中,如果后端一次性返回你1000多条图片或数据,那我们前端应该怎么用什么思路去更好的渲染呢? 第一种:我们可以使用分页…...
计算机网络复习(六)
考点:MIME及其编码(base64,quoted-printable)网络协议http是基于什么协议,应用层到网络层基于什么协议6-27.试将数据 11001100 10000001 00111000 进行 base64 编码,并得到最后传输的 ASCII 数据。答:先将 24 比特的二…...
Redis进阶:布隆过滤器(Bloom Filter)及误判率数学推导
1 缘起 有一次偶然间听到有同事在说某个项目中使用了布隆过滤器, 哎呦,我去,我竟然不知道啥是布隆过滤器, 这我哪能忍?其实,也可以忍,但是,可能有的面试官不能忍!&#…...
Java创建对象的方式
Java创建对象的五种方式: (1)使用new关键字 (2)使用Object类的clone方法 (3)使用Class类的newInstance方法 (4)使用Constructor类中的newInstance方法 (5&am…...
dom基本操作
1、style修改样式 基本语法: 元素.style.样式’值‘ 注意: 1.修改样式通过style属性引出 2.如果属性有-连接符,需要转换为小驼峰命名法 3.赋值的时候,需要的时候不要忘记加css单位 4.后面的值必须是字符串 <div></div> // 1、…...
如何将python训练的XGBoost模型部署在C++环境推理
当前环境:Ubuntu,xgboost1.7.4过程介绍:首先用python训练XGBoost模型,在训练完成后注意使用xgb_model.save_model(checkpoint.model)进行模型的保存。找到xgboost的动态链接库和头文件动态链接库:如果你在conda环境下面…...
About Oracle Database Performance Method
bottleneck(瓶颈): a point where resource contention is highest throughput(吞吐量): the amount of work that can be completed in a specified time. response time (响应时间): the time to complete a spec…...
微信支付回调通知收不到的5个隐藏坑(附.NET Core实战解决方案)
微信支付回调通知失效的深度排查与.NET Core实战指南 当支付流程顺利完成但回调通知却神秘消失时,这种"薛定谔式的支付成功"往往让开发者陷入调试泥潭。本文将揭示五个容易被忽视的技术暗礁,并提供可直接集成到生产环境的.NET Core解决方案。 …...
给渗透新手的保姆级指南:用Kali和MSF搞定VulnHub经典靶机DC-1
Kali Linux渗透测试实战:从零攻破VulnHub DC-1靶机 环境准备与靶机配置 在开始渗透测试之前,确保你已经准备好以下工具和环境。Kali Linux作为渗透测试的标准发行版,集成了我们所需的所有工具。DC-1是Vulnhub上一个专为渗透测试练习设计的靶机…...
告别手动修改!用Env文件管理器一键配置Allegro SKILL加载路径(支持16.6/17.4)
告别手动修改!用Env文件管理器一键配置Allegro SKILL加载路径(支持16.6/17.4) 在PCB设计领域,Allegro作为行业标杆工具,其强大的可扩展性离不开SKILL脚本的支持。然而,随着项目复杂度提升,SKILL…...
Anaconda+AKShare保姆级教程:5分钟搞定Python量化环境(附常见报错解决方案)
AnacondaAKShare极速配置指南:零基础搭建Python量化环境全攻略 刚接触量化投资的新手们,往往在第一步——环境搭建上就卡壳了。明明跟着教程一步步操作,却总是遇到各种报错提示,让人望而生畏。本文将手把手带你用Anaconda和AKSha…...
汽车电子工程师必看:如何用MPC5643L实现ASIL-D级别的功能安全设计(附完整代码示例)
汽车电子工程师必看:如何用MPC5643L实现ASIL-D级别的功能安全设计(附完整代码示例) 在智能驾驶技术快速发展的今天,功能安全已成为汽车电子系统设计的核心考量。作为汽车电子工程师,我们面临的挑战不仅在于实现复杂功…...
麦橘超然Flux效果展示:多风格AI绘画作品集锦
麦橘超然Flux效果展示:多风格AI绘画作品集锦 1. 惊艳开篇:当AI画笔遇见专业级表现 在数字艺术创作领域,我们常常面临一个两难选择:要么使用云端AI服务但受限于网络和隐私,要么部署本地工具却要忍受复杂的配置和显存焦…...
OpenClaw+ollama-QwQ-32B实战:自动化处理100份简历筛选
OpenClawollama-QwQ-32B实战:自动化处理100份简历筛选 1. 为什么选择自动化简历筛选 去年团队扩张时,我作为技术负责人参与了简历初筛工作。面对雪片般飞来的PDF简历,连续三天熬夜到凌晨两点手动整理关键信息后,我意识到必须寻找…...
腾讯混元翻译模型实战:跨境电商多语言商品描述生成案例
腾讯混元翻译模型实战:跨境电商多语言商品描述生成案例 1. 项目背景与价值 跨境电商企业面临一个共同挑战:如何高效地将商品信息翻译成多种语言。传统人工翻译成本高、周期长,而通用翻译工具又难以满足电商场景的专业需求。 腾讯混元翻译模…...
FreeRTOS在STM32F407上的内存与栈空间优化全攻略:从CubeMX配置到避免堆栈溢出
FreeRTOS在STM32F407上的内存与栈空间优化全攻略:从CubeMX配置到避免堆栈溢出 在嵌入式开发中,资源管理往往是决定项目成败的关键因素。对于使用STM32F407这类资源受限的MCU进行多任务开发的工程师来说,如何合理规划和管理有限的RAM资源&…...
最完整的大模型算法工程师技术栈图谱(2026版)
目录 一、基础能力(所有AI工程师的底座) 1 编程语言 2 数据结构与算法 3 数学基础 二、深度学习基础 深度学习模型基础 三、大模型核心技术 1 Transformer架构 2 预训练 3 Tokenizer 四、大模型训练体系 1 分布式训练 2 训练优化技术 3 微…...
