BGP基础实验(1.10)

news2024/11/29 11:31:52

目标:

 1、首先为所有路由器配置接口ip和环回

r1:

[r1]int lo0
[r1-LoopBack0]ip add 1.1.1.1 24
[r1-LoopBack0]int gi 0/0/0
[r1-GigabitEthernet0/0/0]ip add 12.1.1.1 24

r2:

[r2]int lo0
[r2-LoopBack0]ip add 2.2.2.2 24
[r2-LoopBack0]int gi 0/0/0
[r2-GigabitEthernet0/0/0]ip add 12.1.1.2 24 
[r2-GigabitEthernet0/0/0]int gi 0/0/1
[r2-GigabitEthernet0/0/1]ip add 23.1.1.1 24

r3:

[r3]int lo0
[r3-LoopBack0]ip add 3.3.3.3 24
[r3-LoopBack0]int gi 0/0/0
[r3-GigabitEthernet0/0/0]ip add 23.1.1.2 24
[r3-GigabitEthernet0/0/0]int gi 0/0/1
[r3-GigabitEthernet0/0/1]ip add 34.1.1.1 24

r4:

[r4]int lo0
[r4-LoopBack0]ip add 4.4.4.4 24
[r4-LoopBack0]int gi 0/0/0
[r4-GigabitEthernet0/0/0]ip add 34.1.1.2 24
[r4-GigabitEthernet0/0/0]int gi0/0/1
[r4-GigabitEthernet0/0/1]ip add 45.1.1.1 24

[r4]int gi 0/0/2
[r4-GigabitEthernet0/0/2]ip add 54.1.1.1 24
r5:

[r5]int lo0
[r5-LoopBack0]ip add 5.5.5.5 24
[r5-LoopBack0]int gi0/0/0
[r5-GigabitEthernet0/0/0]ip add 45.1.1.2 24

[r5]int gi 0/0/2
[r5-GigabitEthernet0/0/2]ip add 54.1.1.2 24

[r5-LoopBack1]ip add 6.6.6.6 24

2、下面在r2、r3、r4之间使用OSPF创造一个IGP环境

r2:

[r2]ospf 1 router-id 2.2.2.2
[r2-ospf-1]area 0
[r2-ospf-1-area-0.0.0.0]network 23.1.1.0 0.0.0.255

[r2-ospf-1-area-0.0.0.0]network 2.2.2.2 0.0.0.0

r3:

[r3]ospf 1 router-id 3.3.3.3
[r3-ospf-1]area 0
[r3-ospf-1-area-0.0.0.0]network 23.1.1.0 0.0.0.255
[r3-ospf-1-area-0.0.0.0]network 34.1.1.0 0.0.0.255
[r3-ospf-1-area-0.0.0.0]network 3.3.3.3 0.0.0.0

r4:

[r4]ospf 1 router-id 4.4.4.4
[r4-ospf-1]area 0
[r4-ospf-1-area-0.0.0.0]network 34.1.1.0 0.0.0.255
[r4-ospf-1-area-0.0.0.0]network 4.4.4.4 0.0.0.0

这时r2和r1,r3之间已经使用OSPF共享路由了

 3、现在在AS1 与AS2之间使用BGP进行连接,AS2与AS3之间使用BGp进行连接建立两个EBGP,并且在AS2中在两个边界路由器之间使用BGP建立一个IBGP
r1-r2

r1:

[r1]bgp 1  AS号
[r1-bgp]router-id 1.1.1.1  
[r1-bgp]peer 12.1.1.2 as-number 2    声明邻居的ip 和AS号

r2:

[r2]bgp 2
[r2-bgp]router-id 2.2.2.2
[r2-bgp]peer 12.1.1.1 as-number 1

因为BGP使用TCP进行传输的所以在r1上查看TCP的信息

 r2-r4

这里注意:在建立IBGP时建议使用建立路由器的环回进行bgp的建立

r2:

[r2]bgp 2
[r2-bgp]router-id 2.2.2.2
[r2-bgp]peer 4.4.4.4 as-number 2     声明邻居的ip 和AS号
[r2-bgp]peer 4.4.4.4 connect-interface LoopBack 0  这里是在声明在给4.4.4.4 发包时将源ip是本地的环回 0

r4:

[r4]bgp 2
[r4-bgp]router-id 4.4.4.4 
[r4-bgp]peer 2.2.2.2 as-number 2
[r4-bgp]peer 2.2.2.2 connect-interface LoopBack 0  这里是在声明在给2.2.2.2 发包时将源ip是本地的环回 0

这时r2与r4的IBGP就建立成功了

r4-r5

这时有一个问题在r4、r5之间使用环回建立bgp时互相不知道对方的环回,这里的解决方法使用静态路由让他们连接:

r4:

[r4]ip route-static 5.5.5.5 24 45.1.1.2
[r4]ip route-static 5.5.5.5 24 54.1.1.2

r5:

[r5]ip route-static 4.4.4.0 24 45.1.1.1
[r5]ip route-static 4.4.4.0 24 54.1.1.1

这样r4的环回就和r5的环回连接了 

下面建立bgp:

[r4]bgp 2
[r4-bgp]router-id 4.4.4.4
[r4-bgp]peer 5.5.5.5 as-number 3
[r4-bgp]peer 5.5.5.5 connect-interface LoopBack 0

[r5]bgp 3
[r5-bgp]router-id 5.5.5.5
[r5-bgp]peer 4.4.4.4 as-number 2
[r5-bgp]peer 4.4.4.4 connect-interface LoopBack 0

这时又有问题了因为r4-r5的ttl值大于1无法建立邻居,这里修改r4-r5之间的ttl值

[r4-bgp]peer 5.5.5.5 ebgp-max-hop 2

[r5-bgp]peer 4.4.4.4 ebgp-max-hop 2

 这时三条BGP都已经建立成功了

4、进行路由宣告实现全网的环回除了r5的环回都可以互相可达

r1:

[r1]bgp 1
[r1-bgp]network 1.1.1.0 24

查看BGP表

 这里r4也会从r2哪里学习到r1的环回但是并不 优  因为BGP的AS-by-AS机制规定在一个AS中属性不会变化所以r4不认识去1.1.1.1的下一跳12.1.1.1所以无法到达r1

解决:这里在r2上修改给r4分享去r1的路由信息时把去r1路由的下一跳信息改为本地(即r2)

[r2-bgp]peer 4.4.4.4 next-hop-local   给邻居4.4.4.4路由时将下一跳修改为本地

r4会给r5去r1的路由信息它的路由会直接优因为AS-by-AS只在IBGP之间有效r4-r5时EBGP 

下面将r5的环回6.6.6.6 24 传入左边的各个路由器:

这时r2上有了和刚在r4一样的情况

解决:

[r4-bgp]peer 2.2.2.2 next-hop-local

路由黑洞产生的原因:BGP条目在BGP中单播进行正常传播,可以跳过没有运行BGp协议的路由器;显示可达,但是数据层面无法跳过没有运行BGP洗衣的路由器无法传播

 这个时候需要解决一个问题因为BGP的路由黑洞因为r3上没有进行BGP配置,控制层面:当r2把路由共享给r3和r4  但是r3无法看BGP的信息只有转发给r4,r4再给r5,  所以当r2的环回需要ping 数据层面:r5的环回时到r3时  无法传输到r4所以无法到达

解决方案:在r3上运行BGP

r3:

[r3]bgp 2
[r3-bgp]router-id 3.3.3.3
[r3-bgp]peer 2.2.2.2 as-number 2
[r3-bgp]peer 2.2.2.2 connect-interface LoopBack 0

r2:

[r2]bgp  2
[r2-bgp]peer 3.3.3.3 as-number 2
[r2-bgp]peer 3.3.3.3 connect-interface LoopBack 0

[r2-bgp]peer 3.3.3.3 next-hop-local

 这时r2应该将自己的6.6.6.6分享给r3但是并没有分享,这是因为BGP上的防环机制--IBGP水平分割:从IBGP学习到的路由不能传到下一个IBGP中去,所以r5传给r4属于EBGP->IBGP  r4传给r2属于IBGP->IBGP可以传递但是r2->r3也是IBGP->IBGP禁止传递;

解决方案:在r3-r4之间建立BGP让r4直接将r5的环回给r3

r3:

[r3]bgp 2
[r3-bgp]peer 4.4.4.4 as-number 2
[r3-bgp]peer 4.4.4.4 connect-interface LoopBack 0

r4:

[r4]bgp 2
[r4-bgp]peer 3.3.3.3 as-number 2
[r4-bgp]peer 3.3.3.3 connect-interface lo0

[r4-bgp]peer 3.3.3.3 next-hop-local

 现在r3可以正常学习到了r5的环回并且选路优

5、现在将r2、r3、r4的环回通过BGP宣告给r1和r5

[r2-bgp]network 2.2.2.0 24

[r3-bgp]network 3.3.3.0 24

[r4-bgp]network 4.4.4.0 24

查看r1、r5的BGP表

 

 测试:

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/152720.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

怎么开发自己的微信小程序_微信小程序快速开发步骤

小程序开发除了专业人士会自己开发之外,就是外包开发和模板搭建这两种方法。 外包小程序开发需要持续不断地与外包团队沟通,投入的精力也不少,总体价格不低,基本在万元左右, 最适合新手的还是小程序模板搭建啦~ 微信怎…

JAVA---泛型

一、什么是泛型 Java的泛型 (generics) 是在JDK5中推出的新概念,在泛型推出之前,程序员需要构建一个元素为Object的集合,该集合能够存储任意的数据类型对象,而在使用该集合的过程中,需要程序员明确知道存储每个元素的数…

Qt OpenGL(07)通过递归细分绘制球面

文章目录Qt OpenGL通过递归细分逼近球面思路下面就是绘制的代码:Widget.cpp顶点着色器片段着色器Qt OpenGL通过递归细分逼近球面 在OpenGL中绘制球面,不是太简单的事情。因为球面和圆都不是OpenGL所支持的图元,因此我们将通过一种称为递归细分…

年货小史:最土年货中藏着最真实的烟火气

农历新年很快就要到了,这让我有些恍惚,觉得从前那个满是烟火的新年,仿佛已经是很遥远的事了。几家电商平台最近又开始了红红火火的年货节,上去转了转,几个平台看下来,拼多多的“年味”似乎最贴近记忆中的烟…

MySQL的锁机制之全局锁和表锁

文章目录前言一、全局锁全局锁的介绍以及使用全局锁的应用场景不加锁导致的危害加锁和其他方法对比二、表锁表锁的介绍以及使用表锁的应用场景前言 对mysql锁的总结学习,本文将围绕,加锁的概念,加锁的应用场景和优化,以及不加锁会…

【C进阶】第十四篇——字符串函数

strlen - 求字符串长度 函数介绍 模拟实现(三种方式) strcpy - 字符串拷贝 函数介绍 模拟实现 strcat - 字符串追加 函数介绍 模拟实现 strcmp - 字符串比较 函数介绍 模拟实现 strstr - 字符串查找 函数介绍 模拟实现 strtok - 字符串分割 函数介绍 strerror…

小黑周末惊心动魄进“村”赶考,周一继续拖着疲惫的身体来实习的leetcode之旅:968. 监控二叉树

小黑看完题解思路后代码 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightNone): # self.val val # self.left left # self.right right class Solution:def minCameraCover(self, root: …

前端、后台(ueditor)富文本的使用和回显

前端、后台富文本的使用前端如何配置ueditorjson文件注释一、html、js引用ueditor二、后端返回ueditor的json文件1.配置接受ueditor的接口三、回显效果图: 前端如何配置ueditor 下载ueditor资源文件地址: ueditor资源文件压缩包下载 下载解压后放在…

LLM笔记

LLM其实就是large language model,大语言模型。 AGI其实就是Artificial General Intelligence,通用人工智能。 如果对“最终任务”进一步进行分类,又大致可以分为两大不同类型的任务:自然语言理解类任务和自然语言生成类任务。如果…

YOLOv6: 面向工业应用的单阶段目标检测框架

论文地址:https://arxiv.org/pdf/2209.02976 代码地址:https://github.com/meituan/YOLOv6 多年来,YOLO 系列一直是高效目标检测的行业标准。 YOLO 社区蓬勃发展,丰富了其在众多硬件平台和丰富场景中的使用。在这份技术报告力求…

云原生Docker搭建chemex资产管理系统

这篇文章主要讲解如何使用Ubuntu系统安装Docker应用并且搭建Chemex资产管理系统 Chemex数据是存在数据库的,为了方便备份以及管理容器。可利用外部的数据库或者Docker搭建一个数据库出来。我这里就在Docker容器中创建一个Mysql数据库供Chemex资产管理系统使用。 一…

QQ浏览器是如何提升搜索相关性的?

导言 | 搜索相关性主要指衡量Query和Doc的匹配程度,是信息检索的核心基础任务之一,也是商业搜索引擎的体验优劣最朴素的评价维度之一。本文作者刘杰主要介绍QQ浏览器搜索相关性团队在相关性系统及算法方面的实践经历。值得一提的是,本文会特别…

数组常用方法总结 (2) :sort / join / reverse / concat

sort 排序后会改变原有数组。简单数组和对象数组都可以进行排序。默认升序排序。 <template><div class"myBlock"><div class"tableBlock"><div class"title">{{ newObject ? "操作后的数组" : "操作…

NEW | GOT Online支持多模式采集、Mono分析支持IL2CPP打包

在性能优化时&#xff0c;你是否也遇到过这样的困扰&#xff1a;和性能相关的参数非常多&#xff0c;为什么能保障广度&#xff0c;就没法保障深度&#xff1f;这是因为数据的获取本身存在打点消耗&#xff0c;如果获取全量数据势必存在大量打点操作&#xff0c;导致收集的数据…

定时任务、cron表达式、springBoot整合定时任务和异步任务-58

一&#xff1a;定时任务 1.1 官网地址 http://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html 1.2 cron表达式 Cron表达式是一个字符串&#xff0c;字符串以5或6个空格隔开&#xff0c;分为6或7个域&#xff0c;每一个域代表一个含义&am…

Spring 教程

Spring 教程Spring 概述三层架构Spring 的优良特性使用 Spring 框架的好处依赖注入&#xff08;DI&#xff09;Spring 框架具有以下几个特点&#xff1a;1&#xff09;方便解耦&#xff0c;简化开发2&#xff09;方便集成各种优秀框架3&#xff09;降低 Java EE API 的使用难度…

如何集成GATEWAY作为网关(含网关404和503的解决办法)

新建model包 gateway 引入依赖 <dependencies><!--引入gateWay--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId></dependency><!--新版本cloud去掉了负…

ESP32设备驱动-SHT31温度湿度传感器驱动

SHT31温度湿度传感器驱动 文章目录 SHT31温度湿度传感器驱动1、SHT31介绍2、硬件准备3、软件准备4、驱动实现1、SHT31介绍 SHT31 是 Sensirion 的下一代温湿度传感器。 它建立在一个新的 CMOSens 传感器芯片之上,该芯片是 Sensirion 新湿度和温度平台的核心。 与其前身相比,…

[数据库迁移]-LVM逻辑卷管理

[数据库迁移]-LVM逻辑卷管理 森格 | 2023年1月 1、本文旨在记录数据库迁移过程&#xff08;下云至机房&#xff09;中&#xff0c;对新磁盘做逻辑卷管理的过程&#xff0c;并对Linux的文件系统和分区做了相关介绍&#xff0c;如有不对之处&#xff0c;敬请指正。 2、对Linux文…

【实践】百度信息流推荐系统质效合一的交付系统建设

省时查报告-专业、及时、全面的行研报告库省时查方案-专业、及时、全面的营销策划方案库【免费下载】2022年12月份热门报告盘点百度APP Feed流业务架构变迁思考和升级实践罗振宇2023年跨年演讲PPT原稿吴晓波2022年年终秀演讲PPT原稿《底层逻辑》高清配图‍基于深度学习的个性化…