配置BGP的基本示例
目录
BGP简介
BGP定义
配置BGP目的
受益
实验
实验拓扑
编辑 组网需求
配置思路
配置步骤
配置各接口所属的VLAN
配置各Vlanif的ip地址
配置IBGP连接
配置EBGP
查看BGP对等体的连接状态
配置SwitchA发布路由10.1.0.0/16
配置BGP引入直连路由
BGP简介
BGP定义
边界网关协议BGP(Border Gateway Protocol)是一种实现自治系统AS(Autonomous System)之间的路由可达,并选择最佳路由的距离矢量路由协议。早期发布的三个版本分别是BGP-1(RFC1105)、BGP-2(RFC1163)和BGP-3(RFC1267),1994年开始使用BGP-4(RFC1771),2006年之后单播IPv4网络使用的版本是BGP-4(RFC4271),其他网络(如IPv6等)使用的版本是MP-BGP(RFC4760)。
MP-BGP是对BGP-4进行了扩展,来达到在不同网络中应用的目的,BGP-4原有的消息机制和路由机制并没有改变。MP-BGP在IPv6单播网络上的应用称为BGP4+,在IPv4组播网络上的应用称为MBGP(Multicast BGP)。
配置BGP目的
为方便管理规模不断扩大的网络,网络被分成了不同的自治系统。1982年,外部网关协议EGP(Exterior Gateway Protocol)被用于实现在AS之间动态交换路由信息。但是EGP设计得比较简单,只发布网络可达的路由信息,而不对路由信息进行优选,同时也没有考虑环路避免等问题,很快就无法满足网络管理的要求。
BGP是为取代最初的EGP而设计的另一种外部网关协议。不同于最初的EGP,BGP能够进行路由优选、避免路由环路、更高效率的传递路由和维护大量的路由信息。
虽然BGP用于在AS之间传递路由信息,但并不是所有AS之间传递路由信息都需要运行BGP。比如在数据中心上行的连入Internet的出口上,为了避免Internet海量路由对数据中心内部网络的影响,设备采用静态路由代替BGP与外部网络通信。
受益
BGP从多方面保证了网络的安全性、灵活性、稳定性、可靠性和高效性:
-
BGP采用认证和GTSM的方式,保证了网络的安全性。
-
BGP提供了丰富的路由策略,能够灵活的进行路由选路。
-
BGP提供了路由聚合和路由衰减功能用于防止路由振荡,有效提高了网络的稳定性。
-
BGP使用TCP作为其传输层协议(端口号为179),并支持BGP与BFD联动、BGP Tracking和BGP GR,提高了网络的可靠性。
实验
实验拓扑
组网需求
如实验拓扑所示,需要在所有Switch上运行BGP协议,SwitchA、SwitchB之间建立连接,SwitchB、SwithC和SwitchD之间建立IBGP全连接
配置思路
采用如下的思路配置BGP的基本功能:
- 在SwitchB、SwitchC和SwitchD间配置IBGP连接。
- 在SwitchA和SwitchB之间配置EBGP连接。
配置步骤
配置各接口所属的VLAN
###配置SwitcA。SwitchB、C和D的配置与SwitchA相似
<Huawei>system-view
[Huawei]sysname SwitchA
[SwitchA]undo info-center enable
[SwitchA]vlan batch 10 50
[SwitchA]interface GigabitEthernet 0/0/1
[SwitchA-GigabitEthernet0/0/1]port link-type trunk
[SwitchA-GigabitEthernet0/0/1]port trunk allow-pass vlan 10
[SwitchA-GigabitEthernet0/0/1]quit
[SwitchA]interface GigabitEthernet 0/0/2
[SwitchA-GigabitEthernet0/0/2]port link-type trunk
[SwitchA-GigabitEthernet0/0/2]port trunk allow-pass vlan 50
[SwitchA-GigabitEthernet0/0/2]quit
[SwitchA]
配置各Vlanif的ip地址
##配置SwitchA。SwitchB、SwitchC和SwitchD的配置与SwitchA类似。
[SwitchA]interface Vlanif 10
[SwitchA-Vlanif10]ip address 192.168.1.2 24
[SwitchA-Vlanif10]quit
[SwitchA]interface Vlanif 50
[SwitchA-Vlanif50]ip address 10.1.1.1 16
[SwitchA-Vlanif50]quit
[SwitchA]
配置IBGP连接
##SwitchB的配置
[SwitchB]bgp 65009
[SwitchB-bgp]router-id 172.17.2.2
[SwitchB-bgp]peer 172.16.1.2 as-number 65009
[SwitchB-bgp]peer 172.16.3.2 as-number 65009
[SwitchB-bgp]quit
[SwitchB]
##SwitchC的配置
[SwitchC]bgp 65009
[SwitchC-bgp]router-id 172.17.3.3
[SwitchC-bgp]peer 172.16.3.1 as-number 65009
[SwitchC-bgp]peer 172.16.2.2 as-number 65009
##SwitchD的配置
[SwitchD]bgp 65009
[SwitchD-bgp]router-id 172.17.4.4
[SwitchD-bgp]peer 172.16.1.1 as-number 65009
[SwitchD-bgp]peer 172.16.2.1 as-number 65009
[SwitchD-bgp]quit
[SwitchD]
配置EBGP
##SwitchA的配置
[SwitchA]bgp 65008
[SwitchA-bgp]router-id 172.17.1.1
[SwitchA-bgp]peer 192.168.1.1 as-number 65009
[SwitchA-bgp]quit
[SwitchA]
##SwitchB的配置
[SwitchB]bgp 65009
[SwitchB-bgp]peer 192.168.1.2 as-number 65008
[SwitchB-bgp]quit
[SwitchB]
查看BGP对等体的连接状态
[SwitchB]display bgp peer BGP local router ID : 172.17.2.2Local AS number : 65009Total number of peers : 3 Peers in established state : 3Peer V AS MsgRcvd MsgSent OutQ Up/Down State Pre
fRcv172.16.1.2 4 65009 5 6 0 00:03:01 Established 0172.16.3.2 4 65009 6 7 0 00:04:04 Established 0192.168.1.2 4 65008 3 2 0 00:01:00 Established 0
[SwitchB]
可以看出,SwitchB与其他Switch的BGP连接均已建立
配置SwitchA发布路由10.1.0.0/16
##配置SwitchA发布路由
[SwitchA]bgp 65008
[SwitchA-bgp]ipv4-family unicast
[SwitchA-bgp-af-ipv4]network 10.1.0.0 255.255.0.0
[SwitchA-bgp-af-ipv4]quit
[SwitchA-bgp]quit
[SwitchA]
##查看SwitchA路由表信息
[SwitchA]display bgp routing-table BGP Local router ID is 172.17.1.1 Status codes: * - valid, > - best, d - damped,h - history, i - internal, s - suppressed, S - StaleOrigin : i - IGP, e - EGP, ? - incompleteTotal Number of Routes: 1Network NextHop MED LocPrf PrefVal Path/Ogn*> 10.1.0.0/16 0.0.0.0 0 0 i
[SwitchA]
##查看SwitchB的路由表
[SwitchB]display bgp routing-table BGP Local router ID is 172.17.2.2 Status codes: * - valid, > - best, d - damped,h - history, i - internal, s - suppressed, S - StaleOrigin : i - IGP, e - EGP, ? - incompleteTotal Number of Routes: 1Network NextHop MED LocPrf PrefVal Path/Ogn*> 10.1.0.0/16 192.168.1.2 0 0 65008i
[SwitchB]
##查看SwitchC的路由表
[SwitchC]display bgp routing-table BGP Local router ID is 172.17.3.3 Status codes: * - valid, > - best, d - damped,h - history, i - internal, s - suppressed, S - StaleOrigin : i - IGP, e - EGP, ? - incompleteTotal Number of Routes: 1Network NextHop MED LocPrf PrefVal Path/Ogni 10.1.0.0/16 192.168.1.2 0 100 0 65008i
[SwitchC]
从路由表可以看出,SwitchC学到了AS65008中10.1.0.0的路由,但因为下一跳192.168.1.2不可达,所以也不是有效路由
配置BGP引入直连路由
##配置SwitchB
[SwitchB]bgp 65009
[SwitchB-bgp]ipv4-family unicast
[SwitchB-bgp-af-ipv4]import-route direct
[SwitchB-bgp-af-ipv4]quit
[SwitchB-bgp]quit
[SwitchB]
##查看SwitchA的BGP路由表
[SwitchA]display bgp routing-table BGP Local router ID is 172.17.1.1 Status codes: * - valid, > - best, d - damped,h - history, i - internal, s - suppressed, S - StaleOrigin : i - IGP, e - EGP, ? - incompleteTotal Number of Routes: 4Network NextHop MED LocPrf PrefVal Path/Ogn*> 10.1.0.0/16 0.0.0.0 0 0 i*> 172.16.1.0/24 192.168.1.1 0 0 65009?*> 172.16.3.0/24 192.168.1.1 0 0 65009?192.168.1.0 192.168.1.1 0 0 65009?
[SwitchA]
查看SwitchC的BGP路由表
[SwitchC]display bgp routing-table BGP Local router ID is 172.17.3.3 Status codes: * - valid, > - best, d - damped,h - history, i - internal, s - suppressed, S - StaleOrigin : i - IGP, e - EGP, ? - incompleteTotal Number of Routes: 4Network NextHop MED LocPrf PrefVal Path/Ogn*>i 10.1.0.0/16 192.168.1.2 0 100 0 65008i*>i 172.16.1.0/24 172.16.3.1 0 100 0 ?i 172.16.3.0/24 172.16.3.1 0 100 0 ?*>i 192.168.1.0 172.16.3.1 0 100 0 ?
[SwitchC]
可以看到,到10.1.0.0的路由变为有效路由,下一跳为SwichA的地址
##使用ping进行验证
[SwitchC]ping 10.1.1.1PING 10.1.1.1: 56 data bytes, press CTRL_C to breakReply from 10.1.1.1: bytes=56 Sequence=1 ttl=254 time=50 msReply from 10.1.1.1: bytes=56 Sequence=2 ttl=254 time=60 msReply from 10.1.1.1: bytes=56 Sequence=3 ttl=254 time=70 msReply from 10.1.1.1: bytes=56 Sequence=4 ttl=254 time=70 msReply from 10.1.1.1: bytes=56 Sequence=5 ttl=254 time=30 ms--- 10.1.1.1 ping statistics ---5 packet(s) transmitted5 packet(s) received0.00% packet lossround-trip min/avg/max = 30/56/70 ms[SwitchC]相关文章:
配置BGP的基本示例
目录 BGP简介 BGP定义 配置BGP目的 受益 实验 实验拓扑 编辑 组网需求 配置思路 配置步骤 配置各接口所属的VLAN 配置各Vlanif的ip地址 配置IBGP连接 配置EBGP 查看BGP对等体的连接状态 配置SwitchA发布路由10.1.0.0/16 配置BGP引入直连路由 BGP简介 BGP定义 …...
Flask解决接口跨域问题
1、什么是跨域CROS CORS(Cross-Origin Resource Sharing,跨域资源共享)是一种浏览器安全策略,用于控制在一个网页应用中如何让一个域的Web页面能够请求另一个域的资源。在Web开发中,由于同源策略(Same-Ori…...
数据恢复工具推荐!这3款堪称删除文件恢复大师!
“快看看我!经常都会莫名奇妙丢失各种电脑文件,但是又无法通过简单的方法找回重要的数据,有没有什么简单的操作可以帮助我快速恢复数据的呀?非常感谢!” 在我们的日常生活中,无论是工作还是学习,…...
论文笔记 | ICLR 2023 ReAct:通过整合推理和行动来增强语言模型
文章目录 一、前言二、主要内容三、总结🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 一、前言 ICLR 2023 | Accept: notable-top-5%:《ReAct: Synergizing Reasoning and Acting in Language Models》 一句话总结:ReAct 方法在问答任务中通过提示大语言模型生成与任…...
CSS:元素显示模式与背景
CSS:元素显示模式与背景 元素显示模式什么是元素显示模式块级元素 block行内元素 inline行内块元素 inline-block元素显示模式对比元素显示模式转换 display 背景背景颜色 background-color背景图片 background-image背景平铺 background-repeat背景图片位置 backgr…...
K8S 为什么关闭 SELinux 和交换内存
在学习搭建 K8S 环境和使用 K8S 时,所有教程必然会提到的事情就是关闭节点的 SELinux 和交换内存,如同自然规律一样。 那么为什么会有这样的要求呢? 交换内存 计算机的物理内存是有限的,而进程对内存的使用是不确定的ÿ…...
7. ASP.NET Core Blazor 官网文档
官方文档地址:https://learn.microsoft.com/zh-cn/aspnet/core/blazor/?viewaspnetcore-8.0 Blazor 是一种 .NET 前端 Web 框架,在单个编程模型中同时支持服务器端呈现和客户端交互性: 使用 C# 创建丰富的交互式 UI。共享使用 .NET 编写的…...
xrandr
xrandr xrandr 是用于与 X RandR 扩展进行交互的命令行工具。它允许对 X server 进行实时配置(即无需重新启动即可使配置生效),xrandr 提供了显示模式(如分辨率、刷新率等)的自动检测,以及动态配置输出&am…...
【高效开发工具系列】eclipse部署web项目
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...
实在智能成功完成近2亿元C轮融资,全面迎接2024年Agent智能体应用元年
在这个最冷的季节,杭州实在智能科技有限公司(以下简称“实在智能”)依然表现火爆,近日,实在智能成功完成C轮融资近2亿元人民币,由金泰富资本和安吉智慧谷共同领投、安吉两山国创跟投。 在此轮融资以前&…...
vue创建项目
1、配置node环境 Node.js 安装配置-----菜鸟教程 npm 使用介绍-----菜鸟教程 淘宝镜像 淘宝 NPM 镜像是一个完整 npmjs.org 镜像,你可以用此代替官方版本(只读),同步频率目前为 10分钟 一次以保证尽量与官方服务同步。 可以使用淘宝定制的 cnpm (gzip …...
智能变电站集中监控辅助决策系统解决方案
项目背景 智能变电站是坚强智能电网的重要基础和支撑。它不仅是电网运行数据的采集源头和命令执行单元,而且与其他环节的联系非常紧密,为统一坚强智能电网的安全和优质提供了关键支撑。为了更有效地管理和控制变电站的各种设备和子系统,如视…...
PyQt5基础知识第三天
一:QtWidgets.QTableView() QtWidgets.QTableView() 是 PyQt5 库中的一个类,用于在应用程序中显示表格数据。这个类继承自 QtWidgets.QAbstractItemView,是 QAbstractItemView 的一个子类,用于显示表格中的数据。 QTableView 提供了一个灵活的方式来显示和编辑表格数据。…...
docker安装ES:7.8和Kibana:7.8
本文适用于centos7,快速入手练习es语法 前置:安装docker教程docker、docker-component安装-CSDN博客 1.安装es 9200为启动端口,9300为集群端口 docker pull elasticsearch:7.8.0mkdir -p /mydata/elasticsearch/pluginsmkdir -p /mydata/elasticsear…...
React 状态管理 - 优化你的应用程序
简介: React 是一种流行的 JavaScript 库,用于构建用户界面。随着应用程序的复杂性增加,状态管理变得至关重要。在本文中,我们将深入探讨 React 状态管理的重要性,并详细介绍如何使用 Redux 进行状态管理。 为什么需要…...
Python异常捕获和处理方式
目录 一、引言 二、异常捕获和处理的基本方式 1、try-except语句块 2、raise语句 3、assert语句 三、高级异常捕获和处理技术 1、多个except块 2、finally块 3、使用多个try-except块 4、使用with语句 5、使用多个except块捕获同一种异常 四、总结 一、引言 在Pyt…...
PDF文件如何设置限制打印?
想要限制PDF文件的打印功能,想要限制PDF文件打印清晰度,都可以通过设置限制编辑来达到目的。 打开PDF编辑器,找到设置限制编辑的界面,切换到加密状态,然后我们就看到 有印刷许可。勾选【权限密码】输入一个PDF密码&am…...
互操作性(Interoperability)如何影响着机器学习的发展?
互操作性(Interoperability),也称为互用性,即两个系统之间有效沟通的能力,是机器学习未来发展中的关键因素。对于银行业、医疗和其他生活服务行业,我们期望那些用于信息交换的平台可以在我们需要时无缝沟通…...
从零实现一套低代码(保姆级教程) --- 【3】实现Button组件和画布区的拖拽
摘要 目前是每天更新一篇, 因为我不止要写文章,这些代码也是我正在敲的。可能速度没有那么快,但是这个频率感觉还是可以的。 本篇是这个系列的第三篇,如果你是第一次看到这个文章,那你应该会对低代码有那么一丢丢兴趣…...
仓储1、10、11代电子标签接口文档
标签注册 仓储1代注册 侧面按钮连按三次, 注册成功:红灯变绿灯 仓储10代注册 右下角左下角组合按键触发注册 注册成功:右上角绿灯变红灯 仓储11代注册 磁体靠近条码附近,触发标签注册到系统 注册成功:闪红灯边绿…...
DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径
目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...
在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能
下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能,包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...
UE5 学习系列(三)创建和移动物体
这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下: B 站视频:s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...
汽车生产虚拟实训中的技能提升与生产优化
在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...
苍穹外卖--缓存菜品
1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...
从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)
设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile,新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...
【单片机期末】单片机系统设计
主要内容:系统状态机,系统时基,系统需求分析,系统构建,系统状态流图 一、题目要求 二、绘制系统状态流图 题目:根据上述描述绘制系统状态流图,注明状态转移条件及方向。 三、利用定时器产生时…...
【C语言练习】080. 使用C语言实现简单的数据库操作
080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...
数据库分批入库
今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...
零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)
本期内容并不是很难,相信大家会学的很愉快,当然对于有后端基础的朋友来说,本期内容更加容易了解,当然没有基础的也别担心,本期内容会详细解释有关内容 本期用到的软件:yakit(因为经过之前好多期…...
