IP Fabric三层路由

IP Fabric指的是在IP网络基础上建立起来的Overlay隧道技术。即为基于胖树的Spine+Leaf拓扑结构的IP Fabric组网图。
在这里插入图片描述
在这种组网方式中,任何两台服务器间的通信不超过3台设备,每个Spine和Leaf节点全互连,可以方便地通过扩展Spine节点来实现网络规模的弹性扩展。只要遍历一定数量的交换机,可以在几乎所有数据中心结构体系中的服务器节点之间传输流量,该架构由多条高带宽的直接路径组成,消除了网络瓶颈带来的潜在传输速度下降,从而实现极高的转发效率和低延迟。
根据不同的业务需要,Spine和Leaf之间可以使用IP路由、VXLAN或TRILL等技术。
● Spine和Leaf之间使用IP路由
即三层到边缘,一般适用于协同计算业务,例如搜索。此类业务流量收敛比小(1:1~2:1),要求有一个高效的,无阻塞网络。
● Spine和Leaf之间VXLAN(Virtual eXtensible Local Area Network)或TRILL(Transparent Interconnection of Lots of Links)即大二层网络,适用于需要大范围资源共享或者虚拟机迁移的数据中心网络。
IP Fabric网络允许简化扩展,仅受支持设备及其端口的数量限制。
在这里插入图片描述
我们可以看到,Spine层由四台设备组成。 每台Leaf设备有四个上行链路连接到每个Spine。 此拓扑中支持的Leaf的最大数量由每个Spine设备的最大端口数决定。 因此,如果我们的Spine交换机支持40×40GE连接,Leaf设备的最大数量将是40(但考虑到存在上行连接,所以这边算成36更为合理)。

BGP

TRILL技术简而言之就是通过在二层报文前插入额外的帧头,并且采用路由计算的方式控制整网数据的转发,不仅可以在冗余链路下防止广播风暴,而且可以做ECMP(Equal-Cost Multi-Path routing)。这样可以将二层网络的规模扩展到整张网络,而不会受核心交换机数量的限制。但由于TRILL技术在控制平面都引入了路由协议IS-IS(Intermediate System to Intermediate System)来进行网络拓扑的计算和同步,增加了网络的复杂度,另外对原始报文的封装/解封装也降低了整体的转发效率,并且TRILL协议的处理通常需要新的芯片才能支持,所以必须整体更换原来的设备,投资成本也是不小的负担。
VXLAN技术作为Overlay网络技术的典型代表,将在下一章节做重点介绍,现在就让我们将目光聚焦于传统的三层路由协议。三层作为网络架构的控制平面,负责将路由信息分发至组网中的所有交换机,但众所周知,三层路由协议的选择可以有很多选择,最好的做法就是支持主流的三种开放标准协议中的任何一种:OSPF(Open Shortest Path First),IS-IS或者BGP协议。本质上每种路由协议都可以在网络中通告路由前缀,但每种协议在支持的组网规模与实现功能上都有所不同。
OSPF和IS-IS都是使用洪泛技术来发送更新报文以及其他路由信息。 创建区域可以帮助限制洪泛的数量,但是这样一来也就开始失去SPF路由协议的好处。 另一方面,边界网关协议(BGP)通过按组创建,支持大量的前缀和对等体。BGP从多方面保证了网络的安全性、灵活性、稳定性、可靠性和高效性,互联网和大多数运营商都选择运行BGP协议来作为控制层面的路由协议。

BGP 协议基础

为方便管理规模不断扩大的网络,网络被分成了不同的自治系统。外部网关协议EGP(Exterior Gateway Protocol)被用于实现在AS之间动态交换路由信息,但是EGP设计得比较简单,只发布网络可达的路由信息,而不对路由信息进行优选,同时也没有考虑环路避免等问题,很快就无法满足网络管理的要求。
BGP是为取代最初的EGP而设计的另一种外部网关协议。不同于最初的EGP,BGP能够进行路由优选、避免路由环路、更高效率的传递路由和维护大量的路由信息。虽然BGP用于在AS之间传递路由信息,但并不是所有AS之间传递路由信息都需要运行BGP。比如在数据中心上行的连入Internet的出口上,为了避免Internet海量路由对数据中心内部网络的影响,设备采用静态路由代替BGP与外部网络通信。
BGP作为事实上的Internet外部路由协议标准,被广泛应用于ISP(Internet Service Provider)之间。
BGP协议具有如下特点:
● BGP是一种外部网关协议(EGP),与OSPF、RIP等内部网关协议(IGP)不同,其着眼点不在于发现和计算路由,而在于在AS之间选择最佳路由和控制路由的传播。
● BGP使用TCP作为其传输层协议,提高了协议的可靠性。
– BGP进行域间的路由选择,对协议的稳定性要求非常高。因此用TCP协议的高可靠性来保证BGP协议的稳定性。
– BGP的对等体之间必须在逻辑上连通,并进行TCP连接。目的端口号为179,本地端口号任意。
● 路由更新时,BGP只发送更新的路由,大大减少了BGP传播路由所占用的带宽,适用于在Internet上传播大量的路由信息。
● BGP是一种距离矢量(Distance-Vector)路由协议,BGP从设计上避免了环路的发生。
– AS之间:BGP通过携带AS路径信息来标记途经的AS,带有本地AS号的路由将被丢弃,从而避免了域间产生环路。
– AS内部:BGP在AS内学到的路由不再通告给AS内的BGP邻居,避免了AS内产生环路。
● BGP提供了丰富的路由策略,能够对路由实现灵活的过滤和选择。
● BGP提供了防止路由振荡的机制,有效提高了Internet网络的稳定性。
● BGP易于扩展,能够适应网络新的发展。

BGP 网络设计

当在规划部署BGP路由协议时,摆在我们面前的首要问题便是选择使用IBGP还是EBGP方式,虽然两者之间的差异可能看起来很小,但就是这些细微的差异可能导致数据中心在部署时的重大变化。IBGP与EBGP两者之间的最大区别在于它们使用自治系统的方式,现在我们将通过比较IBGP与EBGP的差异来看每台交换机是如何分配路由前缀以及通告路由的。

IBGP

在IBGP(Internal/Interior BGP)中,Spine和Leaf的所有交换机位于单个AS之下。 在BGP中,我们需要在IBGP对等体之间建立全连接(Full-mesh)关系来保证IBGP对等体之间的连通性。为什么IBGP要强调全连接概念呢,那是由于IBGP的防环机制导致的。IBGP强制规定ibgp speaker不允许将从一个IBGP邻居学习到的前缀传递给其它IBGP邻居,因此IBGP要求逻辑全连接。但假设在一个AS内部有n台路由器,那么应该建立的IBGP连接数就为n(n-1)/2。当IBGP对等体数目很多时,对网络资源和CPU资源的消耗都很大,在IBGP对等体间使用BGP联盟或者路由反射器都可以解决以上问题。
在这里插入图片描述

联盟将一个AS划分为若干个子AS。每个子AS内部建立IBGP全连接关系,子AS之间建立联盟EBGP连接关系,但联盟外部AS仍认为联盟是一个AS。配置联盟后,原AS号将作为每个路由器的联盟ID。这样有两个好处:一是可以保留原有的IBGP属性,包括Local Preference属性、MED属性和NEXT_HOP属性等;二是联盟相关的属性在传出联盟时会自动被删除,即管理员无需在联盟的出口处配置过滤子AS号等信息的操作。
路由反射器是IBGP路由器,它将重新向其他IBGP路由器通告路由。如图6-7所示,在一个AS内部关于路由反射器有以下几种角色:
在这里插入图片描述
● 路由反射器RR(Route Reflector):允许把从IBGP对等体学到的路由反射到其他IBGP对等体的BGP设备,类似OSPF网络中的DR。
● 客户机(Client):与RR形成反射邻居关系的IBGP设备。在AS内部客户机只需要与RR直连。
● 非客户机(Non-Client):既不是RR也不是客户机的IBGP设备。在AS内部非客户机与RR之间,以及所有的非客户机之间仍然必须建立全连接关系。
● 始发者(Originator):在AS内部始发路由的设备。Originator_ID属性用于防止集群内产生路由环路。
● 集群(Cluster):路由反射器及其客户机的集合。Cluster_List属性用于防止集群间产生路由环路。
这可以通过创建IBGP路由器集群,并将其与反射器连接起来。同一集群内的客户机只需要与该集群的RR直接交换路由信息,因此客户机只需要与RR之间建立IBGP连接,不需要与其他客户机建立IBGP连接,从而减少了IBGP连接数量。但问题随之而来,反射器并不会发送每一条路线,它只会选择发送最优的路径给它的对等体。当你有在Spine层面有多台交换机,且在Spine与Leaf之间存在多条链路时,链路冗余、利用率低的问题就出现了。为了解决这个问题,我们可以在BGP路由反射器上启用BGP负载分担功能,这样就可以向Leaf交换机通告存在四条等长的路由,可以通过等价多路径来分发流量。
我们从配置、设备连接和应用方面对BGP联盟和路由反射器进行了比较:
在这里插入图片描述

EBGP

在EBGP(External/Exterior BGP)中,Spine和Leaf中的每个交换机都有自己的AS。与IBGP的路由环路的避免措施不一样,EBGP没有水平分割的概念,EBGP对路由环路的避免是通过AS_PATH属性来实现的。AS_Path属性按矢量顺序记录了某条路由从本地到目的地址所要经过的所有AS编号。在接收路由时,设备如果发现AS_Path列表中有本AS号,则不接收该路由,从而避免了AS间的路由环路。
由前面章节的讨论可知,IBGP不需要IBGP邻居之间有物理连接,只需要逻辑连接即可,而EBGP在一般情况下都要求EBGP邻居之间存在物理连接。
唯一的问题是使用IP Fabric网络的AS数量,每台交换机都有自己的BGP自治系统号,BGP的私有范围为64512~65535,其中有1023个BGP自治系统号。 如果您的IP Fabric网络大于1023台交换机,则需要考虑进入公共的BGP自治系统号码范围(不建议在数据中心内部使用),或移动到私有的四字节AS号规划。CE系列交换机支持4字节私有AS号,4字节私有AS号范围是4200000000~4294967295(或者64086.59904~65535.65535)。
在这里插入图片描述

BGP在数据中心网络架构中的应用

下面就让我们将BGP路由协议与具体的网络架构场景联系起来。在场景DC1中有五排机架,都采用Spine+Leaf网络架构。 我们推荐使用EBGP建立VXLAN的Underlay网络,每行都使用EBGP的情况下设计,在Spine和Leaf层的每台交换机都有自己的AS号码。
在这里插入图片描述
对于场景DC2,我们采用的是EOR交换机部署,EBGP的设计如图所示
在这里插入图片描述
同样,如DC1场景图示所展现的一样,您可以将AS65000和65001用于第一行,然后为每个设备AS号递增加1。 如果您选择IBGP实施方法(通常在DC内用于VXLAN overlay路由的交换),设计将会变得非常简单,因为您只需将所有设备分配给同一AS号,覆盖整个DC1,你可以对DC2采用相同的方法,如图所示
在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Orcale(备份导入导出)

1.备份恢复 1.1.备份定义 备份就是把数据库复制到转储设备的过程。其中,转储设备是指用于放置数据库副本的磁带或磁盘。通常也将存放于转储设备中的数据库的副本称为原数据库的备份或转储。备份是一份数据副本 1.2.备份分类 从物理与逻辑的角度来分类&#xff1a…

在docker中安装MongoDB 5.0+

文章目录 1、查看物理机是否支持avx指令集:安装资料中的cpu-z_2.10-cn.exe,并打开2、查看虚拟机是否支持avx指令集:3、创建目录4、使用Docker来运行一个MongoDB数据库实例5、进入容器6、查看当前db版本7、查看当前db的链接机器地址8、帮助指令…

浮点数的二进制表示

浮点数的二进制表示 浮点数在C/C中对应 float 和 double 类型,我们有必要知道浮点数在计算机中实际存储方式。 IEEE754规定: 单精度浮点数字长32位,尾数长度23,指数长度8,指数偏移量127;双精度浮点数字长64位&#xf…

达梦数据库DPI 实现两个数据库数据互通

链接字符串是目标访问链接 目标访问用户名 口令实现 31 里访问33库的数据 如果在31上建立视图访问33的某个表 AS SELECT SZZJ.sys_user.id FROM SZZJ.sys_userszzj31_szzj33;

研0 冲刺算法竞赛 day25 P1223 排队接水

P1223 排队接水 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 考点&#xff1a;贪心算法 思路&#xff1a;很简单&#xff0c;快的先接水即可&#xff0c;要注意重复项 代码: #include<iostream> #include<algorithm> using namespace std;int arr[1000005];…

C语言进阶 10. 字符串

C语言进阶 10. 字符串 文章目录 C语言进阶 10. 字符串10.1. 字符串10.2. 字符串变量10.3. 字符串输入输出10.4. 字符串数组10.5. 单字符输入输出10.6. 字符串函数strlen()10.7. 字符串函数strc()10.8. 字符串函数strcpy()10.9. 字符串搜索函数10.10. PAT10-0. 说反话 (20)10-1.…

七天打造一套量化交易系统:Day6-人工智能在量化投资中的应用

七天打造一套量化交易系统&#xff1a;Day6-人工智能在量化投资中的应用 步骤一&#xff1a;数据获取步骤二&#xff1a;对股票样本进行初步处理步骤三&#xff1a;遗传算法选股遗传算 kmeans 类的主要代码 步骤四&#xff1a;回测结果 遗传算法是一种基础的人工智能算法&#…

CSS实现图片边框酷炫效果

一、前言 我们在浏览一些网页时&#xff0c;经常会看到一些好看酷炫的元素边框效果&#xff08;如下图&#xff09;&#xff0c;那么这些效果是怎么实现的呢&#xff1f;我们知道&#xff0c;一般的边框&#xff0c;要么是实线&#xff0c;要么是虚线&#xff08;点状&#xf…

快速识别音频文件转成文字

一、SenseVoice概述 阿里云通义千问开源了两款语音基座模型 SenseVoice&#xff08;用于语音识别&#xff09;和 CosyVoice&#xff08;用于语音生成&#xff09;。 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测&#xff0c;有以下特点&#xff1a; 多语言…

spark 3.0.0源码环境搭建

环境 Spark版本&#xff1a;3.0.0 java版本&#xff1a;1.8 scala版本&#xff1a;2.12.19 Maven版本&#xff1a;3.8.1 编译spark 将spark-3.0.0的源码导入到idea中 执行mvn clean package -Phive -Phive-thriftserver -Pyarn -DskipTests 执行sparksql示例类SparkSQLExam…

机器学习算法——常规算法,在同的业务场景也需要使用不同的算法(二)

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;开发者-曼亿点 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 曼亿点 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a…

麒麟V10系统统一认证子系统国际化

在适配麒麟V10系统统一认证子系统国际化过程中&#xff0c; 遇到了很多的问题&#xff0c;关键是麒麟官方的文档对这部分也是粗略带过&#xff0c;遇到的问题有: &#xff08;1&#xff09;xgettext无法提取C源文件中目标待翻译的字符串。 &#xff08;2&#xff09;使用msgf…

rhce THE homework of first

ssh远程免密登录成功 下载httpd和nginx 关闭防火墙 查看selinux的状态 为服务器配置ip 填充网站的内容 添加服务器配置 将文本写入网站

testRigor-基于人工智能驱动的无代码自动化测试平台

1、testRigor介绍 简单来说&#xff0c;testRigor是一款基于人工智能驱动的无代码自动化测试平台&#xff0c;它能够通过分析应用的行为模式&#xff0c;智能地生成测试用例&#xff0c;并自动执行这些测试&#xff0c;无需人工编写测试脚本。可以用于Web、移动、API和本机桌面…

C#基础——类、构造函数和静态成员

类 类是一个数据类型的蓝图。构成类的方法和变量称为类的成员&#xff0c;对象是类的实例。类的定义规定了类的对象由什么组成及在这个对象上可执行什么操作。 class 类名 { (访问属性) 成员变量; (访问属性) 成员函数; } 访问属性&#xff1a;public&#xff08;公有的&…

微前端技术预研 - bit初体验

1.关于什么是微前端以及微前端的发展&#xff0c; 当前主流框架以及实现技术等&#xff0c;可参考这篇总结(非常全面)&#xff0c; 微前端总结&#xff1a;目录详见下图 本文内容主要针对bit框架的实时思路以及具体使用。 1.什么是Bit? &#xfeff;Bit 是可组合软件的构建…

pycharm怎么使用Anaconda和配置

打开Anaconda Prompt 要删除 Conda 环境 yolov5sconda&#xff0c;你可以使用以下命令&#xff1a; conda remove --name yolov5sconda --all这个命令会删除名为 yolov5sconda 的整个环境&#xff0c;包括其中安装的所有包和依赖项。请在命令提示符或终端中运行此命令。执行此…

使用Spring Boot与Spire.Doc实现Word文档的多样化操作

​ 博客主页: 南来_北往 系列专栏&#xff1a;Spring Boot实战 前言 使用Spring Boot与Spire.Doc实现Word文档的多样化操作具有以下优势&#xff1a; 强大的功能组合&#xff1a;Spring Boot提供了快速构建独立和生产级的Spring应用程序的能力&#xff0c;而Spire.Doc则…

基于Hadoop的服装电商数据分析系统【Hdfs、flume、HIve、sqoop、MySQL、echarts】

文章目录 有需要本项目的代码或文档以及全部资源&#xff0c;或者部署调试可以私信博主项目介绍总体研究方向数据集介绍配置flume文件HIve建表HIveSQL大数据分析MySQL建表Sqoop命令导出数据到MySQL数据可视化店铺销售情况.......等 总结每文一语 有需要本项目的代码或文档以及全…