网络层级介绍到数据中心网络

网络分层

        RFC机制中几乎包含了与计算机通信有关的任何内容,全面反映Internet研究、发展的过程。

        Internet的所有标准都是以请求评论文档( Request For Comment,RFC)的形式发布的,TCP/IP协议也不例外。

        计算机网络是分层次的,数据流就是一级一级逐层处理和转发。OSI模型将通信系统中的数据流划分为七个层。维基百科:https://zh.wikipedia.org/wiki/OSI%E6%A8%A1%E5%9E%8B

        互联网协议套件(英语:Internet Protocol Suite,缩写IPS)是网络通信模型,以及整个网络传输协议家族,为网际网络的基础通信架构。它常通称为TCP/IP协议族(英语:TCP/IP Protocol Suite,或TCP/IP Protocols),简称TCP/IP。维基百科:https://zh.wikipedia.org/wiki/TCP/IP%E5%8D%8F%E8%AE%AE%E6%97%8F

        综上,OSI是一个理论上的网络通信模型,而TCP/IP则是实际运行的网络协议,下面是TCP/IP体系层次介绍。

层次名称

单位             

功能协议
网络接口(Host-to-Net Layer)/数据链路层负责实际数据的传输,对应OSI参考模型的下两层HDLC(高级链路控制协议)PPP(点对点协议)
SLIP(串行线路接口协议)
网络层(Inter-network Layer)数据报负责网络间的寻址数据传输,对应OSI参考模型的第三层IP(网际协议)
ICMP(网际控制消息协议)ARP(地址解析协议)
RARP(反向地址解析协议)
传输层(Transport Layer)报文段负责提供可靠的传输服务,对应OSI参考模型的第四层TCP(控制传输协议)
UDP(用户数据报协议)
应用层(Application Layer)负责实现一切与应用程序相关的功能,对应OSI参考模型的上三层FTP(文件传输协议)
HTTP(超文本传输协议)
DNS(域名服务器协议)SMTP(简单邮件传输协议)NFS(网络文件系统协议)

网络设备概念

        交换机:交换机工作在OSI模型的数据链路层上。交换机内部的CPU在每个端口成功连接时,通过ARP协议来学习各端口的MAC地址,保存成一张ARP表。后续通信发往该MAC地址的数据包将仅仅送往其对应的端口,而不是所有的端口。因此,交换机可用于划分数据链路层广播,即冲突域(Hub或者Repeater连接的所有节点可以被认为是在同一个冲突域内),但它不能划分网络层广播,即广播域(接收同样广播消息的节点的集合)。

        交换机被广泛应用于二层网络交换,俗称“二层交换机”。

        分类:二层交换机、三层交换机、四层交换机、七层交换机,分别工作在OSI模型的第二层、第三层、第四层和第七层。

        

         网关:顾名思义就是连接两个网络的设备,能让两个不同网络相互之间进行通信,可以使具有不同协议的网络相互连接,即是一个协议转化器对于以太网中的网关只能转发三层以上的数据包,这一点和路由器是一样的。而不同的是,网关中并没有路由表,它只能按照预先设定的不同网段来进行转发。网关最重要的一点就是端口映射,子网内用户在外网看来只是外网的IP地址对应着不同的端口,这样看来就会保护子网内的用户。所以说单纯地连接两个网络网关就够了,寻找网络间最短路径就需要路由了,而现如今很多局域网都是采用路由来接入网络,因此现在通常指的网关就是路由器的IP。

        路由器:路由器一般特指能够实现路由寻找和转发的特定类产品,路由器很显然能够实现网关的功能。提供了路由与转发两种重要机制,可以决定数据包来源端到目的端所经过的路由路径,这个过程称为路由。将路由器输入端的数据包移送至适当的路由器输出端,称为转发(转送)。路由器工作在OSI模型的网络层上。路由器的一个作用是连通不同的网络,另一个作用是选择信息传送的线路,会使用一系列算法决定网络间的最短路径。路由器与交换机的差别即在于路由器是OSI模型第三层的产品,交换机是OSI模型第二层的产品。

  

二层网络和三层网络

        网络结构中按照逻辑拓扑结构进行的分类,并不是说ISO七层模型中的数据链路层和网络层,而是指核心层,汇聚层和接入层,这三层都部署的就是三层网络结构,二层网络结构没有汇聚层。        

        核心层:用于汇聚层的的互联,并实现整个数据中心与外部网络的三层通信。是整个网络的支撑脊梁和数据传输通道,整个三层网络结构中,核心层的设备要求是最高的,必须配备高性能的数据冗余转接设备和防止负载过剩的均衡负载的设备,以降低各核心层交换机所需承载的数据量,是网络的高速交换主干。

        汇聚层:在两层之间承担“媒介传输”的作用,用于接入层的互联,实施策略、安全、工作组接入、源地址或目的地址过滤等多种功能,它是实现策略的地方,各种防火墙、负载均衡等业务也部署于此。

        接入层:用于连接所有的计算节点。通常以机柜交换机(TOR,Top of Rack,柜顶交换机)的形式存在。

        二层网络一般只能组建小型局域网:交换机根据MAC地址表进行数据包的转发,有则转发,无则泛洪,即将数据包广播发送到所有端口,频繁的对未知的MAC目标的数据包进行广播,在大规模的网络架构中形成的网络风暴是非常庞大的,这也很大程度上限制了二层网络规模的扩大,因此二层网络的组网能力非常有限。

        三层网络可以组建大型网络:三层交换机在一定程度上可以替代路由器,但三层交换机出现最重要的目的是加快大型局域网内部的数据交换,所具备的路由功能也多是围绕这一目的而展开的,所以他的路由功能没有同一档次的专业路由器强,在安全、协议支持等方面还有许多欠缺,并不能完全取代路由器工作。

        实际应用:处于同一个局域网中的各个子网的互联以及局域网中VLAN间的路由,用三层交换机来代替路由器,而只有局域网与公网互联之间要实现跨地域的网络访问时,才通过专业路由器。

网络模型发展—从三层网络到“Spine-Leaf网络架构”(叶脊网络)

以下一部分分别摘自,并根据自己理解做了整合。

干货分享:到底什么是叶脊网络? - IT之家

叶脊leaf-spine结构与Overlay技术 - 知乎

 传统网络架构

        Fabric一词来源于网络交换机,交换机内部连接输入输出端口的是Switch Fabric。最简单的Switch Fabric架构是crossbar模型。这是一个开关矩阵,每一个crosspoint(交点)都是一个开关,交换机通过控制开关来完成输入到特定输出的转发。一个crossbar模型如下所示:

preview

 

        这里的开关矩阵类似于一块布的纤维,所以交换机内的架构被称为Switch Fabric(纤维)。这是Fabric一词在网络中的起源。

        1953年,贝尔实验室有一位名叫Charles Clos的研究员,发表了一篇名为《A Study of Non-blocking Switching Networks》的文章,介绍了一种“用多级设备来实现无阻塞电话交换”的方法。 

        Charles Clos提出的网络模型,核心思想是:用多个小规模、低成本的单元,构建复杂、大规模的网络。就是后来产生深远影响的CLOS网络模型(crossbar模型升级版

        80年代,随着计算机网络的兴起,开始出现了各种网络拓扑结构,例如星型、链型、环型、树型。

        树形结构:传统的树型网络,带宽是逐级收敛的。什么是收敛呢?物理端口带宽一致,二进一出,就是1:2的收敛。

        2000年之后,互联网从经济危机中复苏,以谷歌和亚马逊为代表的互联网巨头开始崛起。他们开始推行云计算技术,建设大量的数据中心(IDC),甚至超级数据中心。 

        传统树形结构不适用当前网络架构,出现了胖树(Fat-Tree)结构,实际还是CLOS模型。胖树(Fat-Tree)更像是真实的树,越到树根,枝干越粗。从叶子到树根,网络带宽不收敛。

         胖树架构被引入到数据中心之后,数据中心变成了传统的三层结构:

         2010年之后,为了提高计算和存储资源的利用率,所有的数据中心都开始采用虚拟化技术。网络中开始出现了大量的虚拟机(VM,Virtual Machine)。与此同时,微服务架构开始流行,很多软件开始推行功能解耦,单个服务变成了多个服务,部署在不同的虚拟机上。虚拟机之间的流量,大幅增加,这种平级设备之间的数据流动,我们称之为东西向流量。东西向流量,其实也就是一种“内部流量”。这种数据流量的大幅增加,给传统三层架构带来了很大的麻烦——因为服务器和服务器之间的通信,需要经过接入交换机、汇聚交换机和核心交换机。

        这意味着,核心交换机和汇聚交换机的工作压力不断增加。要支持大规模的网络,就必须有性能最好、端口密度最大的汇聚层核心层设备。这样的设备成本高,价格非常昂贵。于是,演进出“Spine-Leaf网络架构”,即叶脊网络。

大二层网络

        在说叶脊网络之前,先穿插一下大二层网络。实际上无论是大2层还是L3层架构,都是传统的三层架构,都有三层的网络架构思想在里面。

        所以,传统三层架构下,又分为L3架构和大2层架构,区别就在于L2/L3的分隔层次。当L2/L3隔离在汇聚交换机时,是L3架构,每对汇聚交换机构成一个L2的广播域,跨汇聚层的流量需要通过核心交换机路由转发完成。

        L2广播域范围的限制,服务器的位置部署差不多也就定了,如果要发生位置迁移,也就会导致相应二层网络的变化,包括网关等配置变化。同时呢,在业务流量上,主要适应于南北向流量的转发,对于横向流量,特别是跨2层流量,服务器之间无直接路由交换的路径,需要经历接入-汇聚-核心-汇聚-接入,共5层的转发,所以无论是带宽还是延时性都不会有很好的支持。但是,这种L3层架构有一个好处就是,都只能在一个L2的广播域中,也就有效的限制了BUM(Broadcase,Unknown Unicast,Multicast),如风暴等问题。

        刚刚说了,上面的架构不利于服务的任意部署,那我们就牺牲一点BUM的控制能力。将L2/3向上移动一层,也就是在核心交换机的位置做分离,这也就是我们的大二层网络架构

        通俗来讲,大二层就是几个数据中心处于一个广播域里,比如一个主机发ARP广播,可以到达所有的数据中心,这样这个大二层的主机、服务器可以直接通信,无论它移动到什么位置(数据中心),只要它的VLAN不变,就可以保持自己的IP不变。

        

        大2层网络架构在核心交换机以下都是同一个L2的广播域,接入交换机以下的服务位置在这个时候就可以任意部署,不会面临诸如IP地址,网关等问题。但这也就不可避免了上面所说的BUM非正常流量问题。同时,大2层架构下的核心交换机需要维护庞大的MAC和ARP表,对核心交换机的能力提出很高的要求 ,另外接入交换机(TOR)也对整个网络的规模造成一定的限制。因此种种,都最终限制了网络的规模,网络扩展及弹性能力,跨三层调度的时延问题,都不能满足未来业务的需求。 

传统网络架构遇到的问题

1、如何解决过大的时延问题?
        无论是大2层还是L3层架构,都是传统的三层架构,对业务特别是跨二层业务,需要经历5个层级的交换机。

2、如何解决服务器任意部署问题,同时还不会造成严重的BUM问题?
        L2/3的分离位置在核心交换机时,BUM风险过大,核心交换机能力要求高。L2/3的隔离位置在汇聚交换机时,服务器部署受限。所以说如何隔离L2/3成了首要解决的问题。

Spine-Leaf网络架构

        Spine-Leaf架构是一种日益流行的数据中心网络拓扑,相比于传统网络的三层架构,叶脊网络进行了扁平化,变成了两层架构,即Spine和Leaf 。Leaf 层由接入交换机组成,汇聚来自服务器的流量,通常固定在机架顶部 (ToR) 或机架末端 (EoR),并直接连接到Spine或网络核心。Spine 交换机将全网状拓扑中的所有 Leaf 交换机互连在一起。

        其中L2/L3的分隔通常在Leaf接入交换机,与传统三层网络架构类似,这样也能分隔L2广播域,同时还减少了架构层次,对跨2层业务的调度,也就是东西向的业务调度,更方便,时延能做到有效的降低。

Leaf-Spine架构图

        叶交换机:相当于传统三层架构中的接入交换机,作为TOR(Top Of Rack)直接连接物理服务器。叶交换机之上是三层网络,之下都是个独立的L2广播域。如果说两个叶交换机下的服务器需要通信,需要经由脊交换机进行转发。

        脊交换机:相当于核心交换机。叶和脊交换机之间通过ECMP(Equal Cost Multi Path)动态选择多条路径。

        

主要特点:

  • 去除了生成树协议 (STP),Spine-Leaf架构依靠等成本多路径 (ECPM) 协议来平衡所有可用路径上的流量,同时仍能防止网络环路。
  • 相对于网络主干的模块化模型,固定端口交换机的使用增加
  • 考虑到更高的互连数量,需要购买和管理更多电缆
  • 基础设施的横向扩展与纵向扩展

叶脊网络架构的优势 

带宽利用率高:每个叶交换机的上行链路,以负载均衡方式工作,充分的利用了带宽。

网络延迟可预测:叶交换机之间的连通路径的条数可确定,均只需经过一个脊交换机,东西向网络延时可预测。

扩展性好:带宽不足时,增加脊交换机数量,可水平扩展带宽。当服务器数量增加时,增加脊交换机数量,也可以扩大数据中心规模。总之,规划和扩容非常方便。       

降低对交换机的要求:南北向流量,可以从叶节点出去,也可从脊节点出去。东西向流量,分布在多条路径上。这样一来,不需要昂贵的高性能高带宽交换机。

安全性和可用性高:传统网络采用STP协议,当一台设备故障时就会重新收敛,影响网络性能甚至发生故障。叶脊架构中,一台设备故障时,不需重新收敛,流量继续在其他正常路径上通过,网络连通性不受影响,带宽也只减少一条路径的带宽,性能影响微乎其微。

叶脊网络和数据中心网络

        叶脊拓扑网络从2013年左右开始出现,发展速度惊人,很快就取代了大量的传统三层网络架构,成为现代数据中心的新宠。最具有代表性的,是Facebook在2014年公开的数据中心架构。Facebook使用了一个五级CLOS架构,甚至是一个立体的架构。

        好的,到这里,叶脊网络实际只能解决上述【传统网络架构遇到的问题】中的第一条。

数据中心带来的网络架构变化

        数据中心客户的VM数量庞大,此时的网络会有什么变化?   

为什么需要大二层

虚拟化对数据中心提出的挑战

        虚拟化从根本上改变了数据中心网络架构的需求。最重要的一点就是虚拟化引入了虚拟机动态迁移技术,虚拟机迁移技术可以使数据中心的计算资源得到灵活的调配进一步提高虚拟机资源的利用率。从而要求网络要支持大范围的二层域。

        虚机迁移这个动作对用用户是透明的,所以在迁移前后必须保证虚机的MAC/IP是保持不变的,虚拟机的运行状态也必须保持原状(例如TCP会话状态),所以虚拟机的动态迁移只能在同一个二层域中进行,而不能跨二层域迁移。这样就意味着迁移必须在一个二层广播域内完成。(一个IP子网=一个广播域)。

        在传统的基于STP的组网结构中,为了避免二层广播域太大,二层终结在汇聚交换机上,一组汇聚上的同一VLAN在一个广播域内,这里我们况且把一组汇聚称为一个POD。在传统架构中,虚机迁移只能在POD内完成。

        反过来说即是大二层网络规模有多大虚拟机才能迁移有多远。

        但是如何支持跨POD迁移?甚至是跨AZ(Available Zone),跨Region迁移呢?使得数据中心二层网络的范围越来越大甚至出现了专业的大二层网络这一新领域专题。

大二层也是为了流通的要求

        随着数据大集中的发展和虚拟化技术的应用数据中心的规模与日俱增不仅对二层网络的区域范围要求也越来越大在需求和管理水平上也提出了新的挑战。

        数据中心区域规模和业务处理需求的增加对于集群处理的应用越来越多,集群内的服务器需要在一个二层VLAN下。传统的基于STP备份设备和链路方案已经不能满足数据中心规模、带宽的需求并且STP协议几秒至几分钟的故障收敛时间也不能满足数据中心的可靠性要求。因此需要能够有新的技术在满足二层网络规模的同时也能够充分利用冗余设备和链路提升链路利用率而且数据中心的故障收敛时间能够降低到亚秒甚至毫秒级。

大二层需要有多大

        这取决于应用场景和技术选择。

接下一篇

        https://blog.csdn.net/XJYSober/article/details/120209058?spm=1001.2014.3001.5501

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值