BGP多跳及BGP4+

一、知识补充

1、BGP4+

  • 传统BGP-4只管理IPV4路由信息,对于使用其它网络程协议 (若IPV6等)的应用末给予支持。
  • IETF对BGP-4扩展,提出BGP4+,可以提供对IPV6、IPX和MPLS VPN的支持 (简单说: 扩展IPV6协议栈支持)。
    在这里插入图片描述

2、全互联

在上一篇博文中提到过水平分割原则,解决办法是将边界路由器配置为路由反射器,或者BGP联邦,此处使用的是全互联,也就AS内部实现路由器的全互联,相互建立邻居,这样可以避免水平分割。

3、EBGP多跳

通常情况下,EBPG邻居之间必须具有直连的物理链路,EBGP邻居关系也将基于直连接口建立,如果不满足这一要求,则必须使用ebgp-multihop 命令允许它们之间经过多跳建立TCP连接。ebgp-multihop 命令用来配置允许BGP同非直连网络上的对等体建立EBGP连接,并同时可以指定允许的最大跳数。
在这里插入图片描述

如上图所示,两个路由器之间要基于Loopback地址建立EBGP邻居关系。这种情况属于EBGP邻居之间不基于直连接口建立邻居关系的场景,必须配置多跳。

二、配置需求及拓扑图

  1. IPV4:
    1. EBGP
      • R1与R2是EBGP邻居关系,使用物理直连接口建立邻居
      • R4与R5是EBGP邻居关系,使用Loopback0建立邻居
    2. IBGP
      • R2–R3,R3–R4,R2–R4建立IBGP邻居关系
      • 使用Loopback0来建立邻居(底层协议—OSPF)
  2. IPV6:
    1. R1--R2建立IPV6的EBGP邻居关系
      在这里插入图片描述

三、配置步骤

1、IPv6地址的配置

R1

R1(config)#int g0/0                             
R1(config-if-GigabitEthernet 0/0)#ip add 10.1.12.1 24
R1(config-if-GigabitEthernet 0/0)#ipv6 enable 
R1(config-if-GigabitEthernet 0/0)#ipv6 address 12::1/64
R1(config-if-GigabitEthernet 0/0)#exit

验证–IPv6配置信息

在这里插入图片描述

R2

R2(config)#int g0/0
R2(config-if-GigabitEthernet 0/0)#no switchport 
R2(config-if-GigabitEthernet 0/0)#ip add 10.1.12.2 24
R2(config-if-GigabitEthernet 0/0)#ipv6 enable 
R2(config-if-GigabitEthernet 0/0)#ipv6 address 12::2/64 
R2(config-if-GigabitEthernet 0/0)#exit

验证–IPv6配置信息
在这里插入图片描述

2、OSPF配置

R2

R2(config)#router ospf 1
R2(config-router)#router-id 2.2.2.2
Change router-id and update OSPF process! [yes/no]:y
R2(config-router)#network 2.2.2.2 0.0.0.0 area 0
R2(config-router)#network 10.1.23.0 0.0.0.255 area 0
R2(config-router)#exit

R3

R3(config)#router ospf 1
R3(config-router)#router-id 3.3.3.3
Change router-id and update OSPF process! [yes/no]:y 
R3(config-router)#network 3.3.3.3 0.0.0.0 area 0
R3(config-router)#network 10.1.23.0 0.0.0.255 area 0
R3(config-router)#network 10.1.34.0 0.0.0.255 area 0
R3(config-router)#exit

R4

R4(config)#router ospf 1
R4(config-router)#router-id 4.4.4.4
Change router-id and update OSPF process! [yes/no]:y 
R4(config-router)#network 4.4.4.4 0.0.0.0 area 0
R4(config-router)#network 10.1.34.0 0.0.0.255 area 0
R4(config-router)#exit

验证–邻居关系的建立
在这里插入图片描述

3、R1和R2使用直连接口配置EBGP

R1

R1(config)#router bgp 10
R1(config-router)#bgp router-id 1.1.1.1
R1(config-router)#neighbor 10.1.12.2 remote-as 234
R1(config-router)#exit

R2

R2(config)#router bgp 234
R2(config-router)#bgp router-id 2.2.2.2
R2(config-router)#neighbor 10.1.12.1 remote-as 10
R2(config-router)#exit

验证–EBGP邻居的建立
在这里插入图片描述

4、R1、R3、R4建立全互联IBGP

使用环回接口建立邻居,需要修改更新源。默认更新源是物理口,需要修改为自己的环回口。

R2

R2(config)#router bgp 234
R2(config-router)#neighbor 3.3.3.3 remote-as 234
R2(config-router)#neighbor 3.3.3.3 update-source loopback 0
R2(config-router)#neighbor 4.4.4.4 remote-as 234           
R2(config-router)#neighbor 4.4.4.4 update-source loopback 0
R2(config-router)#exit

R3

R3(config)#router bgp 234
R3(config-router)#bgp router-id 3.3.3.3
R3(config-router)#neighbor 2.2.2.2 remote-as 234
R3(config-router)#neighbor 2.2.2.2 update-source loopback 0
R3(config-router)#neighbor 4.4.4.4 remote-as 234
R3(config-router)#neighbor 4.4.4.4 update-source loopback 0
R3(config-router)#exit

R4

R4(config)#router bgp 234
R4(config-router)#bgp
R4(config-router)#bgp router
R4(config-router)#bgp router-id 4.4.4.4
R4(config-router)#neighbor 2.2.2.2 remote-as 234
R4(config-router)#neighbor 2.2.2.2 update-source loopback 0
R4(config-router)#neighbor 3.3.3.3 remote-as 234           
R4(config-router)#neighbor 3.3.3.3 update-source loopback 0
R4(config-router)#exit

验证–R3查看BGP邻居状态
在这里插入图片描述
在这里插入图片描述

5、R4、R5配置静态路由,使Loopback地址可达

R4

R4(config)#ip route 5.5.5.5 255.255.255 10.1.45.2

R5

R5(config)#ip route 4.4.4.4 255.255.255 10.1.45.1

验证–连通性测试
在这里插入图片描述

5、R4、R5配置EBGP

R4

R4(config)#router bgp 234
R4(config-router)#neighbor 5.5.5.5 remote-as 50 
R4(config-router)#neighbor 5.5.5.5 update-source loopback 0
R4(config-router)#exit

R5

R5(config)#router bgp 50
R5(config-router)#bgp router-id 5.5.5.5
R5(config-router)#neighbor 4.4.4.4 remote-as 234
R5(config-router)#neighbor 4.4.4.4 update-source loopback 0
R5(config-router)#exit

验证–R5查看BGP对等体的建立
在这里插入图片描述

可以看到状态为Idel,建立失败。建立EBGP时因为EBGP只传一跳,所以在建立EBGP邻居时,需要修改EBGP多跳的跳数为2以上(自己环回口到对端换回口是2跳,默认为1跳),需要添加多跳属性。

R4

R4(config)#router bgp 234
R4(config-router)#neighbor 5.5.5.5 ebgp-multihop 2
R4(config-router)#exit

R5

R5(config)#router bgp 50
R5(config-router)#neighbor 4.4.4.4 ebgp-multihop 2
R5(config-router)#exit

验证–R5查看邻居关系

在这里插入图片描述

6、BGP4+

R1

R1(config)#router bgp 10
R1(config-router)#neighbor 12::2 remote-as 234
R1(config-router)#address-family ipv6
R1(config-router-af)#neighbor 12::2 activate 
R1(config-router-af)#exit

R2

R2(config)#router bgp 234
R2(config-router)#neighbor 12::1 remote-as 10
R2(config-router)#address-family ipv6
R2(config-router-af)#neighbor 12::1 activate 
R2(config-router-af)#exit
R2(config-router)#exit

验证–R2查看IPv6邻居
在这里插入图片描述

7、配置全网互通

BGP路由只是负责邻居建立,不负责路由转发

查看R1的BGP路由,发现为空,需要在R1中引入直连路由
在这里插入图片描述

R1(config)#router bgp 10
R1(config-router)#redistribute connected    引入直连路由
R1(config-router)#exit

查看R3的路由表,可以发现在AS234内部是依靠OSPF转发路由
在这里插入图片描述

如果要学习到R1的路由,则需要在R2上OSPF引入BGP路由

R2(config)#router ospf 1
R2(config-router)#redistribute bgp subnets 
R2(config-router)#exit

可以看到学习到了R1的loopback
在这里插入图片描述

查看R1的路由表,发现学习不到AS234的路由明细,在AS234内部跑的OSPF协议传递路由,而AS10和AS234之间跑的BGP,所以看不到OSPF路由,需要在R2的BGP引入OSPF

R2(config)#router bgp 234
R2(config-router)#redistribute ospf 1
R2(config-router)#exit

查看R1的路由表,已经学习到AS234的所有路由
在这里插入图片描述

在R3上查看路由表,发现缺少R5的相关路由
在这里插入图片描述

R4的OSPF引入静态路由

R4(config)#router ospf 1
R4(config-router)#redistribute static subnets
R4(config-router)#exit

查看R3的IP路由表

在这里插入图片描述

查看R1的IP路由表,发现缺少AS50的路由;查看R5的一样是缺少对端EBGP的路由

根据BGP默认规则,EBGP传递路由时下一跳会改变,但IBGP在传递路由时不会改变下一跳地址

在这里插入图片描述
在这里插入图片描述

自治系统边界路由器(ASBR)修改路由的下一跳属性

R2(config)#router bgp 234
R2(config-router)#neighbor 3.3.3.3 next-hop-self 
R2(config-router)#neighbor 4.4.4.4 next-hop-self 
R2(config-router)#exit

查看R5的路由表,可以发现学习到AS10的路由信息
在这里插入图片描述

因为在R1上跑的是BGP路由,所以需要在R4上引入静态路由

R4(config)#router bgp 234
R4(config-router)#redistribute static 
R4(config-router)#exit

在R2上查看BGP路由表,可以看到5.5.5.5/32路由,但不是最佳路由,所以没出现在IP路由表中
在这里插入图片描述

同样在R4上修改下一跳属性

R4(config)#router bgp 234
R4(config-router)#neighbor 2.2.2.2 next-hop-self 
R4(config-router)#neighbor 3.3.3.3 next-hop-self 
R4(config-router)#exit

在R1上查看IP路由表
在这里插入图片描述

学不到10.1.45.0是因为没有宣告直连路由

R4(config)#router bgp 234
R4(config-router)#redistribute connected 
R4(config-router)#exit

ok 学习成功
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

爬虫学习(一)

文章目录 文件目录结构打开文件操作 爬取网页的理解尝试 文件目录结构 打开文件操作 爬取网页的理解尝试 这个放回值为请求正常

C语言扫雷游戏

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、扫雷游戏的分析和设计1.1扫雷游戏的功能说明1.2数据结构的分析1.3文件结构设计 二、扫雷游戏的代码实现总结 前言 详细介绍扫雷游戏的思路和实现过程。 一…

泊车功能专题介绍 ———— 记忆泊车评价规程(征求意见稿)

文章目录 评价方法指标体系指标权重分配算分方法指标得分计算方法露天停车场一键召唤得分情况说明泊出能力得分情况说明水平划线车位——两侧存在静止车辆水平划线车位——两侧存在静止车辆且车位附近有静止直立儿童垂直划线车位——两侧存在静止车辆垂直划线车位——两侧存在静…

智能优化算法应用:基于JAYA算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于JAYA算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于JAYA算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.JAYA算法4.实验参数设定5.算法结果6.参考文献7.MATLAB…

Java基础语法之数组

数组的定义与初始化 数组的创建 大体上有如下三种创建方式: int[]array1 {1,2,3,4,5}; int[]array2 new int[]{1,2,3,4,5}; int[]array3 new int[5];一般创建框架就是T[ ]new T[ ];T是数组中元素的类型,T[ ]是数组类型 如果是double[],则对应new …

34、AD/DA

AD/DA介绍 AD(Analog to Digital):模拟-数字转换,将模拟信号转换为计算机可操作的数字信号 DA(Digital to Analog):数字-模拟转换,将计算机输出的数字信号转换为模拟信号 AD/DA转换…

已解决:虚拟机集群xsehll连接不上

问题描述: hadoop102能连上,hadoop103、hadoop104无法连接,以前都能连上,今天突然就连不上了 解决方案: 使用ifconfig命令查看有没有ens33 如果没有的话那就证明你的问题和我一样 依次使用以下命令: sys…

维基百科文章爬虫和聚类:高级聚类和可视化

一、说明 维基百科是丰富的信息和知识来源。它可以方便地构建为带有类别和其他文章链接的文章,还形成了相关文档的网络。我的 NLP 项目下载、处理和应用维基百科文章上的机器学习算法。 在我的上一篇文章中,KMeans 聚类应用于一组大约 300 篇维基百科文…

【WinForm.NET开发】演示:创建一个图片查看器 Windows 窗体应用

本文演示将创建一个 Windows 窗体应用程序,用于加载和显示图片。 Visual Studio 集成设计环境 (IDE) 提供了创建应用所需的工具。 1、先决条件 若要完成本教程,必须具有 Visual Studio。 请访问Visual Studio 下载页获取免费版本。 2、创建 Windows …

基于Java SSM框架实现美好生活九宫格日志网站系统项目【项目源码+论文说明】

基于java的SSM框架实现美好生活九宫格日志网站系统演示 摘要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人…

最强Node js 后端框架学习看这一篇文章就够

距离上次认真花时间写作,似乎已经过了许久许久,前端讲了一个新框架 ,叫 Nest.js 下方是课件,有过一定开发经验可跟随视频学习 B站 地址 : https://www.bilibili.com/video/BV1Lg4y197u1/?vd_sourcead427ffaf8a5c8344…

6-55.汽车类的继承

根据给定的汽车类vehicle(包含的数据成员有车轮个数wheels和车重weight)声明,完成其中成员函数的定义,之后再定义其派生类并完成测试。 小车类car是它的派生类,其中包含载人数passenger_load。每个类都有相关数据的输出…

【预测工具】不须编码的预测和数据可视化工具

有一天,我的同事问我,他应该如何做一个快速预测模型而不是Excel,并产生比线性回归或Excel图中的那些简单方程更好的结果。这是我的答案。 TableCurve 2D (Image by author) Sigmaplot很早以前就推出了这个软件。它已被广泛用于在数据中寻找最…

JDK1.8_X64在LINUX下安装

JDK1.8在LINUX下安装步骤: 在/usr/lib/目录下新建jvm文件夹,如果已有jvm文件夹,则将之前的JDK版本删除,即在jvm目录下执行命令:rm–rf *将JDK文件jdk-8u40-linux-x64.gz拷贝到/home/目录下;在/home/目录下…

Nginx的反向代理与负载均衡

概念介绍 1). 正向代理 正向代理服务器是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。 …

2023.12.3 分布式SQL查询引擎-Presto

目录 目录 1.Prosto简介 Apache Hadoop-MapReduce Apache Hive 2.Presto的优缺点 3.个人自用启动服务 个人自用启动服务 3.Presto的架构 4.presto和hive的区别 5.presto优化 6.Presto-内存调优 1.Prosto简介 Apache Hadoop-MapReduce 优点:统一、通用、简…

日志模块Loguru

安装 Loguru 仅支持 Python 3.5 及以上的版本,使用 pip 安装即可: pip install loguru开箱即用 Loguru 的主要概念是只有一个:logger from loguru import loggerlogger.info("This is log info!") logger.warning("This i…

备忘录模式 rust和java的实现

文章目录 备忘录模式介绍实现javarustrust仓库 备忘录模式 备忘录(Memento)模式的定义:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,以便以后当需要时能将该对象恢复到原先…

U1编译概述

文章目录 基本概念定义一些概念 编译流程词法分析语法分析语义分析、生成中间代码中间代码 代码优化生成目标程序五个阶段中都需要做的两件事符号表管理出错处理 总结 其他概念多层中间表示和遍(PASS)三端模式课程概述 基本概念 定义 用高级语言编制的…

【Linux】第二十六站:软硬链接

文章目录 一、软链接二、硬链接三、ln命令四、该如何理解硬链接?五、如何理解软链接六、为什么要用软硬链接1.软链接的应用场景2.硬链接的应用场景 一、软链接 如下所示,我们创建一个文件以后,然后执行下面的指令 ln -s file.txt soft-link…