按照网络构成方式来分的话,交换机分为三类:接入层交换机、汇聚层交换机和核心层交换机。
按照OSI模型来划分的话,分为:二层交换机、三层交换机和四层交换机
还有一种按照硬件形态来划分,可以分成两类:盒式交换机和机框式交换机。
盒式交换机是一种有固定端口数,有时也会带有少量扩展槽的交换机。
机架式交换机是一种插槽式的交换机,这种交换机扩展性较好,可支持不同的网络类型,可支持更大端口密度的网络。
一般在数据中心的接入层都会采用盒式交换机,盒式交换机有的只有二层功能,也有的支持三层功能,基本是以二层为主。在数据中心的汇聚、核心出口都会采用机架式交换机。相比盒式交换机,机架式交换机都具有三层功能,需要关注更多的关键参数。
这边给大家放一张机框式交换机的图。框式交换机提供了非常高的扩展性和自定义性,一般框式交换机主要分为几个模块:机框、主控板、扩展板、电源等等。每一个部分都不能单独使用的。
框式交换机的硬件组成:
机框:可以理解成一个载体,承载着所有的模块。
主控板卡:就是整个交换机中的核心,一些稍微高端一点的都可以配备双主控板。
扩展板卡:扩展板的种类非常多,例如48口千兆电口版、24口万兆光口版等等,这些都是按照需求去使用。
电源:就是供电模块,一般情况下一台框式交换机最少配备两个电源模块扩展槽,但是上多少个就看需求了。
一般框式交换机都会提供多种扩展槽,应对不同的需求,例如主控板用的槽位就不能安装交换板卡等,框式交换机的槽位一般分为主控槽、业务槽、交换槽等等,业务槽就是安装一些如无线控制器扩展卡,路由扩展卡等等,交换槽就只能安装交换板卡。
背板带宽是交换机接口处理器或接口卡和数据总线间所能吞吐的最大数据量。背板带宽越高,所能处理数据的能力越强。
背板带宽标志了交换机总的数据交换能力,单位为Gbps,也叫交换带宽。所以只有模块交换机(拥有可扩展插槽,可灵活改变端口数量)才有这个概念,固定端口交换机是没有这个概念的,并且固定端口交换机的背板容量和交换容量大小是相等的。背板带宽决定了各板卡(包括可扩展插槽中尚未安装的板卡)与交换引擎间连接带宽的最高上限。但由于模块化交换机的体系结构不同,背板带宽并不能完全有效代表交换机的真正性能。
在交换机选型的过程中,有一个重要的参数,是 交换机背板带宽/全双工端口带宽,这个比值越大,交换机就越能趋近高性能无阻塞的交换。
全双工端口带宽(交换机使用总带宽或者可以实现线速转发的交换机背板带宽
计算公式:端口数×相应端口速率×2(全双工模式)
例如,一个24个百兆口,2个千兆口的交换机,他的全双工端口带宽就是:24*2*100+2*2*1000=8.8Gbps
如果我们的背板带宽大于8.8Gbps,就说明我们的交换机始终能保持线性转发的速度,进行无阻塞交换。
如图,这是背板带宽与端口带宽之间的关系示意图。
交换容量表示的是我们的交换机的核心的交换引擎的转发速率,一般单位用bps来表示。
交换机的主要作用就是转发数据,端口和背板带宽只是起到一个传输的作用,端口的多少和背板带宽的大小就好像是咱们的路修的有多宽,路越宽,跑的车越多,传输速率也就越大。那么交换容量是什么呢?所谓的交换容量就是交换引擎单位时间内能处理多少数据。如果说有两个单向八车道交汇,形成一个十字路口,那么背板带宽就是这两个车道同一时间总共能跑多少车,而交换容量就看这个十字路口的指挥者能同时指挥多少车辆运行。遇到能力强的指挥者,这两个车道理论上能同时跑1000辆车,那么就真的可能跑1000辆车,也不会堵车,那么如果遇到能力不够的指挥者,比如说他只有指挥500辆车的能力,那么这个当路口有1000辆车时,就会发生堵车,路再宽,也只能同时跑500辆车。
由于交换引擎是作为模块化交换机数据包转发的核心,所以这一指标能够真实反映交换机的性能。对于固定端口交换机,交换引擎和网络接口模板是一体的,所以厂家提供的转发性能参数就是交换引擎的转发性能,这一指标是决定交换机性能的关键。支持第三层交换的设备,厂家会分别提供第二层转发速率和第三层转发速率,一般二层能力用bps,三层能力用pps,采用不同体系结构的模块化交换机,这两个参数的意义是不同的。但是,对于一般的局域网用户而言,只关心这两个指标就可以了,它是决定该系统性能的关键指标;对于大型园区网和城域网用户,讨论交换机的体系结构和第三层优化算法才是有意义的。
其实现在设备厂家的部分工程师已经认为背板带宽这个概念没有意义了,而交换容量和下面要说的转发率才决定交换机的性能,而这个参数很大程度上取决于交换矩阵。
*注意:
- 交换机达到线速转发时,交换容量=端口数×相应端口速率×2(全双工模式)。
如果交换机在满载板卡的情况下还能达到线速转发(线速转发可以理解为路上不堵车,所有车都能保持最高100码的速度开),说明交换引擎的处理性能是≥背板带宽≥所有端口的全双工转发速率的。
- 交换容量是一个二层转发的概念
包转发率实际上跟交换容量概念相似,只不过交换容量是指交换机进行二层转发的性能,而包转发率是指交换机进行三层路由转发的性能。这两个概念仅仅是所属的网络层级不同。
三层包转发率的计算,简单说一下,一个千兆的端口包转发率是多少呢?1000,000,000bps/8*(64+8+12)=1.488Mpps,8表示8个bit,而64+12+8表示的是一个数据字段为64字节的帧,在网络上传输时候实际所使用的字节数,8字节的头部以及12字节的其他开销,这个数据意味着一个千兆口每秒能转发1.488M个包,每个包的大小是84字节(算上头尾的开销)。同理,百兆接口的包转发率是0.1488M。(标准的以太网帧尺寸在64字节到1518字节之间,在衡量交换机包转发能力时应当采用最小尺寸的包进行评价。指基于64字节分组,在单位时间内交换机转发的数据总数)
前面多次提到了线速,那么线速究竟是什么概念呢?
所谓线速,是指能够按照网络通信线上的数据传输速度实现无瓶颈的数据交换。交换机的所有端口都以线速接收帧,并能无延迟地处理被称为“无阻塞(Nonblocking)”,之所以这样叫是因为设备内部没有等待处理的帧(没有阻塞)。
如果是总线交换结构,要想达到线速指标,背板带宽要大于{N*M *端口速率}(其中 N 有每块模块/板卡的端口数, M 为模块数),同时板卡的交换容量也要大于{端口数*端口速率}, 一般情况下,现代的交换机背板带宽不是瓶颈,板卡的交换容量是瓶颈,导致模块化交换机不能实现真正线速。
如果是交换矩阵结构,一般都能达到线速指标,这是由于这种交换结构的先进性决定的,所以高性能的交换机都采用这种交换结构。
端口密度是一个数据中心交换机的关键参数,代表着交换机的转发能力。拥有端口密度越大,代表着这个设备的转发能力越强,端口速率越高,代表着这个设备的处理性能越强。
由于受数据中心机柜尺寸限制,机架式交换机的宽度无法再扩宽,所以目前一个模块能提供48个万兆端口已经达到极限。另外能支持越多的模块类型,则表示设备的实用性越强,可以应用于不同的网络环境,比如:LAN接口、WAN接口、ATM接口。端口带宽类型越丰富越好,即支持40G、100G高速端口,又支持百兆、千兆低速端口,即支持XFP又支持SFP、SFP+、CFP等等多种光接口类型。
二、三层转发表项的容量基本代表了这个设备所能承载的用户数量。比如:二层MAC地址表项32K,这意味着这个交换机能最多带三万多二层用户地址,三层路由表项16K,这意味着这个交换机最多能学习一万多条路由。还有一项规格对于交换机也非常重要,就是ACL,即访问控制列表。通过ACL可以灵活地实现业务部署,对网络攻击进行限制,让交换机更灵活地工作
首先我们来看一下交换机硬件模块的逻辑结构
交换机的主要硬件都有以下几类:背板,主控单板,交换网板,接口单板。硬件组成如下图所示:
主控单板、交换网板、接口单板是华为的名称,其他品牌各有自己的名称,如思科的名称是:管理引擎、交换矩阵、线卡,虽然名称不一样但是都是同类部件,这些概念都是针对框式交换机,即机框+可插拔板卡形式的交换机。
是机框背部内侧的一块板子,背板是框式交换机用于连接引擎、交换矩阵、线卡、风扇、电源等的PCB板,类似计算机的主板(显卡、声卡等都插入主板),提供插卡的供电、数据、管理、控制平面的各种通道。
背板技术每家又大不相同,华为的主控单板、交换网板、接口板都插在同一侧属于平行结构,而思科等交换机品牌最大的特点就是业务线卡和交换矩阵采用了正交硬件架构技术(上图所示就是正交架构),正交架构最大的特点就是业务线卡和交换矩阵通过背板90°直接连接。相对于传统的无源铜背板技术,正交硬件架构大大缩短了业务线卡与交换矩阵卡之间的高速信号传输距离,为交换机的高速信号稳定传输提供了硬件架构基础。现在的交换机,为了提高背板器件可用性,一般不会在背板上设计芯片,而全部是硬件链路,将器件故障率降低。
提供设备的管理和控制功能以及数据平面的协议处理功能,负责处理各种通信协议;作为用户操作的代理,根据用户的操作指令来管理系统、监视性能,并向用户反馈设备运行情况;对接口板、交换模块、风扇、电源进行监控和维护。
主要是负责跨接口单板卡之间的数据转发交换,负责各接口板之间报文的交换、分发、调度、控制等功能。通常交换单元采用高性能的ASIC芯片,提供线速转发。从接口单板A到接口单板B的数据转发路径是接口单板A->背板->交换网板->背板->接口单板B。交换网板上一般会有一个或者多个交换芯片,交换机芯片通过交换网板内部链路、背板与各个接口单板相连,提供接口单板之间的数据交换。
交换网板不是必须有的,因为交换功能可以集成在主控板上(也就是引擎上)。但是这样做有个坏处就是一旦引擎挂了,交换功能也会随之关闭,不能使用,这样就严重影响了性能。所以将交换功能单独弄出来集成到交换网板上,这样即使引擎挂了,交换机也可以通过交换网板进行二层交换,不影响性能。
交换网板的好处就是与主控引擎实现了管理控制与转发分离,每个模块只需要专注做一件事情就可以了,提高了效率。
也称为接口单元或业务处理板,提供业务传输的外部物理接口,完成报文接收和发送。对于分布式系统,承担部分协议处理和交换/路由功能。
一般来说就是提供交换机端口的模块。
这种接口就是我们现在最常见的网络设备接口,俗称"水晶头",专业术语为RJ-45连接器,属于双绞线以太网接口类型。RJ-45插头只能沿固定方向插入,设有一个塑料弹片与RJ-45插槽卡住以防止脱落。这种接口在10Base-T以太网、100Base-TX以太网、1000Base-TX以太网中都可以使用,传输介质都是双绞线,不过根据带宽的不同对介质也有不同的要求,特别是1000Base-TX千兆以太网连接时,至少要使用超五类线,要保证稳定高速的话还要使用6类线。
SC光纤接口在100Base-TX以太网时代就已经得到了应用,因此当时称为100Base-FX(F是光纤单词fiber的缩写),不过当时由于性能并不比双绞线突出但是成本却较高,因此没有得到普及,现在业界大力推广千兆网络,SC光纤接口则重新受到重视。
光纤接口类型很多,SC光纤接口主要用于局域网交换环境,在一些高性能千兆或万兆交换机和路由器上提供了这种接口,它与RJ-45接口看上去很相似,不过SC接口显得更扁些,其明显区别还是里面的触片,如果是8条细的铜触片,则是RJ-45接口,如果是一根铜柱则是SC光纤接口。
是用来配置交换机的,所以只有网管型交换机才有。而且还要注意,并不是所有网管型交换机都有,那是因为交换机的配置方法有多种,如通过Telnet命令行方式、Web方式、TFTP方式等。虽然理论上来说,交换机的基本配置必须通过Console(控制)端口,但有些品牌的交换机的基本配置在出厂时就已配置好了,不须要进行诸如IP地址、基本用户名之类的基本配置,所以这类网管型交换机就不用提供这个Console接口了,而且就目前来说还占多数。这类交换机通常只需要通过简单的Telnet或Java程序的Web方式进行一些高级配置即可。
当然也有一些交换机还是提供了Console接口的,但要注意的是,用于交换机配置的Console端口并不是所有交换机都一样,有的采用与Cisco路由器一样的RJ-45类型Console接口,而有的则采用串口作为Console接口。
交换机的主要功能包括物理编址、网络拓扑结构、错误校验、帧序列以及流控。交换机还具备了一些新的功能,如对VLAN(虚拟局域网)的支持、对链路汇聚的支持,甚至有的还具有防火墙的功能。
地址学习: 以太网交换机了解每一端口相连设备的MAC地址,并将地址同相应的端口映射起来存放在交换机缓存中的MAC地址表中。
转发/过滤: 当一个数据帧的目的地址在MAC地址表中有映射时,它被转发到连接目的节点的端口而不是所有端口(如该数据帧为广播/组播帧则转发至所有端口)。
消除回路: 当交换机包括一个冗余回路时,以太网交换机通过生成树协议避免回路的产生,同时允许存在后备路径。
端口交换技术最早出现在插槽式的集线器中,这类集线器的背板通常划分有多条以太网段(每条网段为一个广播域),不用网桥或路由连接,网络之间是互不相通的。以太主模块插入后通常被分配到某个背板的网段上,端口交换用于将以太模块的端口在背板的多个网段之间进行分配、平衡。根据支持的程度,端口交换还可细分为:
·模块交换:将整个模块进行网段迁移。
·端口组交换:通常模块上的端口被划分为若干组,每组端口允许进行网段迁移。
·端口级交换:支持每个端口在不同网段之间进行迁移。这种交换技术是基于OSI第一层上完成的,具有灵活性和负载平衡能力等优点。如果配置得当,那么还可以在一定程度进行容错,但没有改变共享传输介质的特点,自而未能称之为真正的交换。
这种交换手段实际上就是将端口从一个网络移到另一个网络,实现的二层交换。
帧交换是应用最广的局域网交换技术,它通过对传统传输媒介进行微分段,提供并行传送的机制,以减小冲突域,获得高的带宽。一般来讲每个公司的产品的实现技术均会有差异,但对网络帧的处理方式一般有以下几种:
它在输入端口检测到一个数据包时,检查该包的包头,获取包的目的地址,启动内部的动态查找表转换成相应的输出端口,在输入与输出交叉处接通,把数据包直通到相应的端口,实现交换功能。由于不需要存储,延迟非常小、交换非常快,这是它的优点。它的缺点是,因为数据包内容并没有被以太网交换机保存下来,所以无法检查所传送的数据包是否有误,不能提供错误检测能力。由于没有缓存,不能将具有不同速率的输入/输出端口直接接通,而且容易丢包。
通过对网络帧的读取进行验错和控制。
存储转发方式是计算机网络领域应用最为广泛的方式。它把输入端口的数据包先存储起来,然后进行CRC(循环冗余码校验)检查,在对错误包处理后才取出数据包的目的地址,通过查找表转换成输出端口送出包。正因如此,存储转发方式在数据处理时时延大,这是它的不足,但是它可以对进入交换机的数据包进行错误检测,有效地改善网络性能。尤其重要的是它可以支持不同速度的端口间的转换,保持高速端口与低速端口间的协同工作。
这是介于前两者之间的一种解决方案。它检查数据包的长度是否够64个字节,如果小于64字节,说明是假包,则丢弃该包;如果大于64字节,则发送该包。这种方式也不提供数据校验。它的数据处理速度比存储转发方式快,但比直通式慢。
信元交换又叫异步传输模式(Asynchronous Transfer Mode,ATM),是一种面向连接的快速分组交换技术,它是通过建立虚电路来进行数据传输的。ATM采用固定长度的信元作为数据传送的基本单位,信元长度为53字节,其中信元头尾5字节,数据为48字节。长度固定的信元可以使ATM交换机的功能尽量简化,只用硬件电路就可以对信元头中的虚电路表示进行识别,因此缩短了每个信元的处理时间。另外ATM采用了统计时分复用的方式来进行数据传输,根据各种业务的统计特性,在保证服务质量要求的前提下,在各个业务之间动态地分配网络带宽。
在数据传输中,来自不同业务和不同源端发送的信息统一以固定字节的信元汇集在一起,在ATM交换机的缓冲区排队,然后传送到线路上,由信息头中的地址来确定信元的去向。使用这种方法可使任何业务按实际需要占用资源,保证网络资源得到合理利用,目前ATM技术被广泛应用于银行等金融机构中