路由器硬件基础知识交换网V10.docx
《路由器硬件基础知识交换网V10.docx》由会员分享,可在线阅读,更多相关《路由器硬件基础知识交换网V10.docx(22页珍藏版)》请在冰点文库上搜索。
![路由器硬件基础知识交换网V10.docx](https://file1.bingdoc.com/fileroot1/2023-6/11/9fbaac94-4e3f-47cc-bc49-b6b973176611/9fbaac94-4e3f-47cc-bc49-b6b9731766111.gif)
路由器硬件基础知识交换网V10
插图目录
交换网
1.1交换网发展史简介
交换网技术是现代通信中最重要的技术之一,它实现信息从发送端到接收端传输。
两点之间的信息传输,最简单的方式是用一条通信线路直接相连,实现点对点的通信。
当有多个终端要相互通信时,如果仍采用这种点对点的方式,则需要在任意两个终端间互联。
这种点对点的互联方式,会随着终端数的增加,所需的互联线急剧增加。
当有N个终端需要互联时,一共需要N×(N-1)/2条互联线。
例如,当有100个终端时,需要4950条互联线。
为了解决大量互联线的问题,人们发明了一种终端间互联的设备,每个终端只需一根线连接到这个中心设备,通过它的自动连接功能,能够实现任意终端间的相互通信,它就是交换机(Switch)。
它将互联线的数量从N×(N-1)/2条减少到N条,极大地降低了线路成本。
路由器是IP网络中的核心设备,其交换单元(SwitchFabricUnit)是决定路由器性能的最核心单元。
通常在设计一款新路由器时,首先需要确定的就是所采用的交换网技术。
在路由器20多年的发展史中,交换技术一步步推动路由器向更大容量,更高性能发展。
交换技术的发展,经历了共享总线式(SharedBusSwitch)、共享内存式(SharedMemorySwitch)和交叉矩阵式(CrossbarSwitch)三代。
与此同时,路由器的发展也经历与之对应的共享总线式路由器(SharedBusRouter)、共享内存式路由器(SharedMemoryRouter)和交叉矩阵式路由器(CrossbarRouter)三代。
随着网络流量的剧增,核心路由的容量要求越来越高,路由器开始由单机路由器向集群路由器的方向发展,对应的交换网技术从单级交换网(SingleStageSwitch)向多级交换网(Multi-StageSwitch)方向发展。
●Fabric本意是指织物的经纬构造,在交换网技术常用来指交换单元、交换芯片,在本文介绍中并不区分Swtiching、SwitchingFabric和Fabric,都是指路由器中交换单元。
●本文以NE80E/NE40E的交换网原理为例进行介绍。
CX600-8和NE40E-8的原理类似;CX600-16和NE80E的原理类似;CX600-X3/ME60-X3和NE40E-X3的原理类似;CX600-X8/ME60-X8和NE40E-X8的原理类似;CX600-X16/ME60-X16和NE40E-X16的原理类似。
以下从如下几个方面介绍路由器的交换网:
●交换网相关术语
●交换网的分类
●各种交换网技术介绍
●华为路由器交换网介绍
●交换网发展趋势
●FAQ
1.2交换网相关术语
为了让您更好地理解交换网技术,首先介绍一些与交换网相关的术语和指标计算方法。
1.2.1背板容量(BackplaneCapacity)
背板是路由器内部各单元互联的重要部件。
背板容量是路由器背板上业务槽位到交换单元的数据总线带宽的总和,它通常大于依据路由器吞吐量和实际性能测试所得到的容量。
背板容量体现厂家的工程设计水平和该路由器未来容量提升能力,通常情况下,无法直接测试其容量。
如果说路由器拥有400G背板,是指其背板能够支持每槽位400G的业务带宽。
一开始,可能现网只部署了100G、200G的业务单板,但当技术成熟后,推出400G业务单板时,客户现网使用的路由器不需要更换背板,就能升级到每槽位400G业务。
实际设计中,为了实现400G业务单板的接入能力,背板容量需要远远大于400G。
背板就好比高速公路主干道,来来往往的车辆都需要在上面行驰,因此需要具备较好的扩展性。
提前规划好的8个车行道暂时只有4个在用,没关系。
随着交通业务的发展,预留的4个车行道将慢慢派上用场。
业界的背板实现中,都采用高速串行总线(俗称Serdes,用一对表示互补的物理连线实现数据发送或接收),实现数据的高速互联。
根据设计的不同,Serdes的速率也不同,比如2.5Gbps、3.125Gbps、6.25Gbps、12.5Gbps。
受工程实现的限制,路由器背板上的物理线路连接不能无限的增加,主要还得要依赖信号速率的提升。
整机背板容量=所有LPU槽位与所有SFU槽位之间互联的Serdes数量×每路Serdes的速率
如图1-1所示,该路由器背板有16个业务板(LPU)槽位,4个交换网单元(SFU)槽位。
每个业务板和每个交换网单元有18对Serdes相连接(其中9对用于数据接收,9对数据发送),Serdes的速率为6.25Gbps。
其背板容量=[2×(9×4×16)]×6.25Gbps=7.2Tbps。
其中,2表示“接收+发送”双向容量,9表示每个LPU到每个SFU的Serdes数量,4表示交换网单元SFU的数量,16表示业务板LPU的数量,6.25G表示每路Serdes的速率。
图1-1背板容量/交换容量示意图
背板不仅实现业务槽位与交换槽位之间的数据链路互联,还为各种控制通道的信号提供互联,同时还将电源模块提供的电源提供给各业务槽位。
Serdes(Serializer/Deserializer,发音sir-dees):
本意是指将多个并行信号在发送端用串行器(Serializer)转化成串行信号传输到接收端,接收端再使用解串器(Deserializer)将串行信号恢复成并行信号的传输技术,一般使用一对互补的差分信号进行串行信号的传输。
后来Serdes泛指使用高速差分线进行数据传输的技术。
1.2.2交换网容量(SwitchingCapacity)
交换网容量是指路由器交换网单元能够处理的最大容量。
对于无阻塞的交换网,它等于交换网所有端口的容量之和。
数据从业务端口进入路由器后,在路由器内部进行协议转换,会添加一些额外的信息(Overhead,也称开销)用于内部数据处理,因此交换网所处理的流量会大于路由器业务端口的流量。
交换网容量和用户所用带宽没有直接的换算关系,它是综合用户带宽(TrafficBandwidth)、路由器内部开销(Overhead)和交换网加速比(SpeedupFactor)三者的一个综合性能参数,体现交换网的性能。
对于多平面的交换网,交换网的容量等于各个交换网平面的交换容量之和。
如果把背板比作高速公路主干道,那么交换网就好比高速公路上的收费站。
它对过往车辆拦截、收费、放行的处理速度;在车辆拥塞时,有效、及时的分流能力,决定了交通运行的质量。
整机交换网容量=交换网端口总数×每路Serdes的速率×Serdes编码效率
如图1-1所示,其交换网容量=[2×(9×4×16)]×6.25Gbps×0.8=5.76Gbps。
其中,0.8为Serdes编码效率。
1.2.3加速比(SpeedupFactor)
加速比(用S表示)是一个衡量交换网性能的重要指标,其计算公式为:
S=(交换网接口带宽)/(物理接口带宽)=(交换网Serdes数量×Serdes速度×Serdes编码效率)/(物理端口数量×物理端口速度)
加速比大的交换网,因其内部阻塞或出口阻塞的概率小,性能一般会更好,对系统的多播性能和QoS支持会更好。
如图1-2所示,路由器有1个LPU(上面有100个1GE端口),4个SFU。
每个LPU和SFU之间通过9对6.25G的高速Serdes互联,高速串行总线上的编码效率为80%,那么加速比S为:
S=(6.25G×9×4×0.8)/(1G×100)=1.8
图1-1交换网加速比示意图
并非加速比越大,交换性能就越好。
有时加速比较大,是因为交换算法做得太简单,需要用较大的加速比来平衡。
1.2.4交换网的备份方式(Backup)
交换网在路由器中处于核心的位置,所有业务板均通过背板与交换网单元连接,实现业务交换。
如果交换网出现了故障,就会导致与之相连的所有业务板业务中断。
因此在进行系统设计时,为了提高路由器的可靠性,需要考虑交换网的冗余保护功能,备份设计是常用方式之一。
常见的备份方式有主备保护方式(Master-Slave)和负载分担保护(LoadBalanced)方式。
主备保护方式是指,主用交换网进行正常的流量交换,备用交换网不进行流量交换。
一旦系统检测到主用交换网出现故障,会将该故障交换网降为备用交换网,同时原备用交换网升级为主用交换网,继续进行业务交换。
主备保护方式也称N:
M备份方式,其中N为处于主用状态的交换网单元数量,M为处于备份状态的交换网单元数量。
主备切换的过程也就是常说的主备倒换。
负载分担保护方式是指,系统中的所有交换网都同时工作,当有任意一个出现故障时,系统自动将它的流量平均分配给其他交换网,保证系统性能不受影响。
负载分担方式也称N+M备份方式,当有M个交换网单元故障后,N个交换网单元仍然能够满足系统性能要求。
M是最大允许的故障交换单元,当故障单元数超过M时,系统的交换性能会下降。
1.2.5交换网吞吐量(FabricThroughput)
交换网吞吐率是衡量交换网每秒处理的报文的能力,对于定长交换的交换网(Cell-based)是指每秒处理的定长信元数,对于变长交换的交换网(Packet-based)是每秒处理的数据包数。
交换网的吞吐率要大于路由器的转发能力,单位为Mpps(MillionPacketspersecond)或Mcps(MillionCellspersecond)。
1.2.6交换网延时(FabricLatency)
交换网的延时是指从向交换网申请数据交换到目的端口输出数据之间的时间间隔。
交换网在系统中是一个公用部件,各个接口板竞争使用交换网的资源,因此延时包括数据包等待进入交换网的时间和交换网转发数据时间之和。
受交换网调度算法的影响,交换网的延时与系统的流量相关。
交换网的调度算法会影响到系统带宽的分配,因此延时对系统的QoS有影响。
交换网的延时越小,体现交换网性能越好。
1.2.7交换网扩展性(FabricScalability)
交换网的端口数,一般以N×M表示,N为输入端口数,M为输出端口数。
一般来说,在路由器的交换网中,N=M。
对交换网的性能扩展,一般从如下方面考虑,端口速率(Portrate)、系统容量(Systemcapacity)和业务支持能力(Servicescalability)。
1.2.8单播、组播、反压
单播(unicast)
从一台服务器送出的每个数据包只能传输给一个客户端,这种传输方式称为单播。
在交换网中,交换网将单播流从一个端口交换到指定的另一个端口,完成数据包的交换。
组播(multicast)
组播技术允许路由器一次将数据包复制到多个通道上。
采用组播方式,单台服务器能同时对大量的客户端连续发送数据流,而服务器只需要发送一个信息包,所有发出请求的客户端共享同一信息包。
信息可以发送到任意地址的客户端,达到减少网络上传输的信息包总量,提升网络利用率,降低传输成本的目的。
交换网芯片内部进行多播复制的方式通常也叫作空间多播,交换网根据多播组ID,将一个数据包从一个交换网端口复制到多个交换网端口。
反压(Backpressure)
反压是一种流控(Flowcontrol)方式,即常说的单向流控,主要用于缓解拥塞持续恶化,从而减轻,直至解除拥塞。
当A、B两个端口通信时,如果A端口发现自身接收缓冲区拥塞,A端口会把一个特殊的数据帧(即反压帧)发送给B端口。
B端口收到反压帧后会停止向A端口发送数据,直到A端口接受缓冲区无阻塞。
作为系统内部的的公用部件,交换网也面临数据拥塞的可能,根据交换网实现的不同,内部会有多种反压机制,同时对交换网外部的单元也有一定的反压机制。
反压不能防止拥塞,它只是对拥塞的一种响应机制。
换句话说,出现反压时,系统实际上已经出现了拥塞。
反压是用于缓解拥塞持续恶化,从而减轻直至解除拥塞。
正如,发烧是人体对病毒入侵的一种响应机制,人体出现发烧症状时,病毒实际早已入侵。
发烧只能通过高温的方式来抑制病毒生存,缓解病情恶化,协助身体康复。
1.2.9交换网性能评估参数
综上所述,路由器交换网结构(SwitchFabric)的设计需要考虑如下因素:
●吞吐量(Throughput)
●延时(Latency)
●端口数、端口速率、业务类型(Scalability(Portsize、PortRate、Servicetype))
●加速比(SpeedupFactor)
●成本(Cost)
●多级交换支持能力(Multi-stageSwitching)
●QoS业务扩展性(QoSScalability)
1.3交换网的分类
同一种交换网,因为分类标准不一样,会有多种名称和归类,在讨论各种交换网的区别时,需要明确交换网的分类标准。
常见的分类方式为:
根据上送交换网的报文类型分类、根据缓存所处交换网的位置分类、根据数据交换次数分类、根据数据通过交换网的方式分类。
1.3.1根据上送交换网的报文类型分类
根据数据报文上送交换网的类型,可以分为信元交换(CellSwitch,即定长交换)和包交换(PacketSwitch,即变长数据交换)。
信元交换采用和ATM交换类似的方式,数据在进入交换网之前被切割成定长的信元,加上一定的信元头信息,送到交换网中进行交换。
信元长度是固定的,交换网可以通过高速的硬件单元对信元进行处理,因此在路由器交换网中得到了广泛的应用。
当信元到达出端口时,再将信元重组成数据包。
包交换是指直接使用变长的报文进行交换,没有报文分片的操作。
一般用于共享内存式的交换,直接使用报文的头,或者添加一定的报文头进入交换网交换,其优点是不需要报文分片和重组,在以太网交换机中得到比较广泛的应用。
图1-1根据上送交换网的报文类型分类图
1.3.2根据缓存所处交换网的位置分类
交换网是路由器中的公共部件,各个线路板竞争使用,通过交换网的仲裁算法进行调度。
数据在交换网的输入端口或输出端口进行缓存,以等待被调度。
交换网根据信元缓存和交换单元的相对位置的不同,可分为OQ、IQ、CIOQ三类:
●输出排队(OutputQueuing,OQ)
信元缓存全部放在交换矩阵之后,信元被送到输出端口进行排队,等待输出。
输出排队型交换网,要求输出端口的缓存能够处理所有输入同时流向同一输出的突发情况,对缓存的访问带宽有很高的要求。
●输入排队(InputQueuing,IQ)
信元缓存全部放在交换矩阵之前,一旦数据被调度,直接穿过交换网从输出端口输出,输入端口排队有可能因为输入端口始终得不到调度引起端口拥塞,也可能因为前面低优先级的数据得不到调度,引起线头阻塞HOL(HeadofLine)。
虚拟输出排队(VirtualOutputQueuing):
将目的输出端口不同的数据放在不同的输入队列中缓存,因此发往不同输出端口的信元间不存在HOL阻塞。
虚拟输出排队并非一种新的缓存方式,它是对输入排队的改进。
●输入输出相结合排队(CombinedInputandOutputQueuing,CIOQ)
信元缓存部分放在交换矩阵之前,部分放在交换矩阵之后。
输入输出相结合的排队方式能够有效地解决对输出缓存带宽要求较高和输入线头阻塞的问题,是交换网中常用的一种方式。
图1-1根据缓存所处交换网的位置分类图
1.3.3根据数据交换次数分类
根据数据在交换网中经历的交换次数,交换网可以分为单级交换网和多级交换网。
其中多级交换网根据实现方式的不同,又可分为不同类型,如图1-5所示。
图1-1根据数据交换次数分类图
1.3.4根据数据通过交换网的方式分类
根据数据通过交换网的方式不同,可以将交换网分成直通式交换网(Cutthroughswitching)和存储转发式交换网(StoreandForwardswitching)。
直通式交换网,并不等输入端口进来的数据帧(可以是定长的信元cell,也可以是变长的数据包packet)接收完成,就开始向输出端口发送数据。
理论上,直通式交换网具有较快的转发速率,较低的转发延迟。
存储转发式交换网,将整个数据帧接收完成,进行必要的数据校验之后,才会向输出端口发送数据。
存储转发式交换网具有很好的容错性。
直通式交换网在端口速率适配、容错性等方面具有缺陷,因此,存储转发式交换网应用得比较广泛。
1.4交换网发展历程与趋势
1.4.1共享总线式交换网(第1代交换网)
共享总线式的交换结构是第一个成功应用的交换结构,它由计算机工业中的共享式总线演变而来。
所有的输入、输出端口都连接到一条共享使用的总线上,通过一定的仲裁申请机制,在相同时刻,只允许有一对输入/输出端口利用该总线进行通信。
即由输入/输出对总线的使用权提出申请,由一个中央仲裁器负责对总线的使用权进行分配,防止冲突发生。
共享总线式交换网结构如图1-6所示。
图1-1共享总线式交换网
在共享总线系统中,无阻塞的交换意味着所有端口的带宽之和必须小于共享总线的带宽,也就是说系统的交换性能受限于共享总线的容量,同时,系统的性能还受限于中央仲裁器(CPU)的处理速度。
在图1-6中,当接口卡1和接口卡N通信时,独占背板上的总线,此时接口卡2不能和其他接口卡通信,路由器的性能受限于共享总线的性能。
第一代路由器基本都采用共享总线式交换网,例如华为NE16E。
1.4.2共享内存式交换网(第2代交换网)
随着用户对接口带宽的需求不断增加,共享总线式交换网已无法应对新需求。
首先,共享总线不能避免内部冲突;其次,共享总线的负载效应使得高速总线的设计难度太大。
在20世纪90年代,一种新的基于共享内存的交换结构开始出现。
共享内存式的交换结构基于大容量的共享内存,每块内存区域由单独的内存控制器负责存取访问。
内存控制器将所控制的内存区域按块分配给不同的端口,将输入端口的数据按照一定的规则存放到内存中,然后通知输出端口将对应内存区域中的数据取走,完成一次数据交换。
在共享内存式交换结构中,一次完整的数据交换包括一次内存写操作和一次内存读操作。
图1-7是一个典型的共享内存式交换结构,系统一共有K个内存控制器,每个内存控制器单独控制一个内存区域。
每个内存控制器与每个输入/输出端口相连。
从输入端口接收的数据,在内存控制器的控制下写入共享内存中,再根据输出端口的状态,将数据从共享内存中读出,发送到输出端口,完成一次数据交换。
图1-1共享内存式交换网
典型的共享内存式路由器结构如图1-8所示,数据从接口卡1进入路由器后,首先在分布式内存管理单元的控制下写入到接口卡1的分布式内存中,经过路由查表将数据读出,直接发送到接口卡N上。
图1-2共享内存式路由器
对于一个无阻塞的共享内存式交换网,要求内存写入的带宽大于所有输入端口带宽之和,共享内存读出的带宽大于所有输出端口的带宽之和。
1.4.3交叉矩阵式交换网(第3代交换网)
交叉矩阵式交换网(Crossbar,也称纵横式交换网,矩阵式交换网)是目前主流的交换网技术之一,在业界的核心/业务路由器上有着广泛的应用。
单级Crossbar交换网
单纯的Crossbar是一种简单的空分交换开关,可将N个输入端口与N个输出端口任意互连。
Crossbar交换矩阵控制器的作用是根据输入队列的状态,决定每个调度周期输入端口和输出端口间的连接关系,仲裁机构仲裁输入端口对输出端口的访问,根据仲裁结果,控制器打开或关闭交叉点开关。
仲裁器是Crossbar交换结构的核心,Crossbar结构的性能主要取决于仲裁器的速度。
Crossbar还可以实现将一个输入端口和多个输出端口相连,因而很容易实现组播。
Crossbar交换网优点:
同其他交换结构相比,Crossbar可在一个信元周期内并行传送N个信元,因而有较高的吞吐量。
外加电路实现简单,因此在交换网中得到广泛应用。
Crossbar交换网的缺点:
Crossbar交换网随着端口数量的增加,仲裁器的复杂性随之增加(N≦64时,Crossbar是比较好的选择;当N增大时,仲裁器的复杂性随N²的数量级增加)。
图1-1单级Crossbar交换网
Crossbar交换网,一般用于构建单级交换网。
目前在单框交换中用得比较多,比如华为的NE80E交换网。
多级Crossbar交换网
多级交换结构是由多个单级交换单元互联起来的,每个交换单元都有一整套输入和输出,与普通矩阵交换类似,提供输入输出的连接。
通过互联多个小的交换单元,就可以制造一个大型可扩展的交换结构。
图1-10是一个通用多级交换网(具有Am个输入端口,Bm个输出端口)。
图1-1多级交换网络
虽然单级结构的设计相对简单,成本也比较低,但是其不能满足下一代Internet扩展的需要。
多级结构在操作上比较复杂,但是可以扩展到成百上千个端口,这对路由器的多框设计是必须的。
不同的单级交换单元和不同的级联方式,构成了多样的多级交换网络。
最常见的是Benes交换网和Clos交换网,这两种交换网都是由其发明人的名字命名得来的。
●Benes交换网
Benes网络由贝尔实验室科学家Benes于1964年提出。
在这种构架中,每个小的交换单元都是N×N的方阵,Benes网络在任意输入端口/输出端口之间提供N/d条可能的通路;提供较好的冗余度,中间交换级可以做到不停机维护。
但Benes网络不能保证信元的先后顺序,因此需要额外的报文顺序整合措施。
常见的三级Benes网络,N=d²,第一级做信元分发,第二、第三级根据目的端口号做信元路由。
图1-2Benes多级交换网络
●Clos交换网
Clos交换网络是有CharlesClos在1953年提出。
CharlesClo采用数学的方法证明了Clos网络一些非常重要的特性,即该交换网严格的无阻塞条件(Strictlynonblocking)和可重配置无阻塞条件(Rearrangeablynonblocking)。
和Benes网络不同,Clos第二级采用方形交换单元,而第一级、第三级采用非方形交换单元,即交换单元输入端口数和输出端口数可以不同。
实现相同容量的交换网时,采用Clos结果可以减少交叉点,从而使网络具有更好的扩展性。
例如实现100×100无阻塞的Crossbar需要10000个交叉点,而Clos只需要5700个交叉点,当网络规模更大时,Clos能减少更多的交叉点。
如今,Clos结构仍然有很强大的生命力。
图1-3Clos多级交换网络
Clos网络在华为的NE5000E上有应用。
1.4.4交换网发展趋势
随着网络业务对物理端口容量需求的不断提高,路由器对交换网端口也提出了很高的要求,目前的发展方向主要是:
●单端口速率提高:
3.125G提高到6.25G,6.25G提高到10G,10G提升到更高。
●端口数量扩展:
16扩展到64,……成倍数扩展。
●各种交换网技术融合在一起共同发展。
例如,业界把共享缓存交换网和Crossbar交换网融合在一起,开发出很多内部带缓存功能的Crossbar交换网。
无内部缓存的Crossbar网络主要包含TandemBanyan(串联榕树)。
虽然无内部缓存Crossbar网络的实现需要较少的逻辑,但如要取得像有缓存Crossbar网络一样的性能,需要大量的片内/片间高速互联,实现起来比较困难。
图1-1交换网络发展趋势图
1.5华为路由器交换网
华为路由器的交换网由专门的交换网板SFU(SwitchFabricUnit)来充当,交换网板间为N+M备份。
数据在上送交换网之前,都需要经过LPU(LineProcessorUnit)上的交换网接入处理器FI