一、基本概念
1.1 单机交换网络与多级交换网络
交换网络按拓扑连接方式可分为:单级交换网络和多级交换网络。
单级交换网络是由一个或者多个位于同一级的交换单元所构成的交换网络,即需要交换的信息从交换网络入线到交换网络出线只经过一个交换单元,并且当同一级有多个交换单元构成时,不同交换单元的入线与出线之间可建立连接。
如果一个交换网络中的交换单元可以分为K级,顺序命名为第1,2,…,K级,并且满足:所有入线都只与第1级交换单元连接;所有第1级交换单元都只与入线和第2级交换单元连接;所有第2级交换单元都只与第1级和第3级交换单元连接;依此类推,所有第K级交换单元都只与第K-1级和出线连接;则称这样的交换网络为多级交换网络,或K级交换网络。
1.2 有阻塞交换网络和无阻塞交换网络
交换网络的阻塞是指从交换网络不同输入端来的信息在交换网络中交换时发生了对同一公共资源争抢的情况,这时在竞争资源中失败的信息就会被阻塞,直到这个公共资源被释放。阻塞一般可以分成2种情况:内部竞争和出线竞争。
对于无阻塞网络,还可以细分成严格无阻塞网络、可重排无阻塞网络和广义无阻塞网络。
严格无阻塞网络:不管网络处于何种状态,任何时刻都可以在交换网络中建立一个连接,只要这个连接的起点、终点是空闲的,而不会影响网络中已建立起来的连接。 可重排无阻塞网络:不管网络处于何种状态,任何时刻都可以在交换网络中直接或对已有的连接重选路由来建立一个连接,只要这个连接的起点、终点是空闲的,而不会影响网络中已建立起来的连接。 广义无阻塞网络:指一个给定的网络存在着固有的阻塞可能,但又可能存在着一种精巧的选路方法,使得所有的阻塞均可避免,而不必重新安排网络中已建立起来的连接。
1.3 单通路交换网络和多通路交换网络
二、CLOS网络
假设我们要构造一个100×100的交换网络,最简单的思路就是采用100×100的交换单元,这样的方式需要用到10000个开关。
10000个开关显然是稍微多了一点,我们想办法优化以下,我们可以考虑采用多个10 X 10 交换单元(单通路),这样的话,我们就只需要用到2*10*10*10=2000个开关。
当然,也可以考虑采用多通路的方式,采用多个10 X 10 交换单元,这样的话,我们需要用到3*10*10*10=3000个开关。
但是以上的优化方式都容易造成阻塞的问题,为了减少交叉点总数而同时具有严格的无阻塞特性,CLOS C.很早就提出一种多级结构,推出了严格无阻塞的条件,这就是著名的CLOS网络。 其中3 级 CLOS 网络应用广泛,除特别说明,一般 CLOS 网络也指 3 级 CLOS 网络。
这里我们就考虑一种比较简单的情况,即输入线和输出线的数量是一致的,都为N,则其CLOS网络结构如下:
经典的 Clos 结构是一个三阶段的网络,每一阶段由若干数量的 crossbar 开关组成。通常使用三元组(m, n, r)来表示一个 Clos 的参数:
- m 是中间阶段 switch 的数量。
- n 是每个input/output switch 的端口数量。
- r 是 input、output 阶段 switch 的数量。
每个中间级的switch 会和所有的 input switch 和 output switch 相连。
- 第一阶段的 r 个 input switch 是 n x m 的 crossbar,每个 switch 将各自 n 个输入端口连接到 m 个 middle switch 上。
- 第二阶段的 m 个 middle switch 是 r x r 的 crossbar,每个 switch 将 r 个 input switch 与 r 个 output switch 相连。
- 第三阶段的 r 个 output switch 是 m x n 的 crossbar,每个 switch 将 m 个 middle switch 与 n 个输出端口相连。
在 CLOS 的路由选择上,唯一可以进行选择的地方在 input switch。只要 input switch 到 middle switch 的 channel 没有被占用,input switch 就可以选择该 middle switch 作为建立连接的中间节点。一旦 middle switch 被选定,剩下的路径也就被唯一确定了(或者路径繁忙路由失败)。根据定理可知:如果对于一个CLOS, m≥2n-1,则他就可以做到严格无阻塞(任意入线到任意出线在任何情况下都可连接)。如果m≥n,那么它还满足是可重排无阻塞的(只要对已有连接进行重排, 就能保证任意入线到任意出线可连接)。
因此,其路由算法可以归纳如下:
从 input swtich a 向 output swtich b 建立连接。
- 1、如果有可用的 middle switch,a、b 两端均为空闲,则选择该 middle swtich。
- 2、如果没有可用的 middle swtich,则选择 a 端空闲的 middle switch,建立连接。
- 3、之前的 switch c 通过该 middle switch 与 swtich b 的连接断开。重新为 input switch c 到 output switch b 尝试建立连接。
- 4、如此循环迭代。回到步1。
三、TST网络
TST网络是电话交换系统中经常使用的一种3级网络,由两级T接线器与一级S接线器组合而成。T接线器:时分,采用PCM;S接线器:空分。
它具有32条双向时分复用线,且每条时分复用线上由32个时隙,编号相同的入线和出线共同组成一条双向时分复用线。TST交换网络的第1级有32个T接线器,第2级为一个32 x 32的S接线器,第3级由32个T接线器组成,分别连在每一条输出线上。第1级T接线器采用的是输出控制方式,第3级T接线器采用的是输入控制方式(当然第1和第3级的控制方式也可以调换),而对于第2级S接线器采用何种方式均可。
其主要特点是:每一条PCM线路连接到一个T接线器,有多少条输入或输出PCM线路,就有多少个T接线器;S级的出入线数决定于两侧T接线器的数量,即等于输入输出线数。
四、Banyan 网络
Banyan 网络的基本结构如下:
- L级banyan(任何输入到任何输出之间的通路都经过L级)
- 规则banyan(各个交换单元是相同)
- 不规则banyan (各个交换单元不相同)
- 矩形banyan(每个交换单元的入线数等于出线数)
Banyan网络是一种常用的并行计算机网络拓扑结构,它被广泛应用于高性能计算和分布式系统中。Banyan网络的拓扑结构类似于一棵二叉树,每个节点都有两个输入端口和两个输出端口。
在Banyan网络中,数据通过节点之间的连接进行传输。每个节点都有一个控制器,用于决定输入端口的数据应该通过哪个输出端口发送。这种控制方式使得Banyan网络具有高度的并行性和可扩展性。
Banyan网络的主要特点包括:
- 低延迟:由于节点之间的连接是直接的延迟较低。
- 高带宽:每个节点都多个输入和输出端口,可以同时传输多个数据。
- 可扩展性:Banyan通过增加节点和连接来扩展系统的规模。
- 容性:Banyan网络可以通过冗余路径来提高系统的错性。
Banyan网络在并行计算和分布式系统中有广泛的应用,例如在超级计算机、云计算中心和数据中心等场景中。它能够提供高性能的数据传输和处理能力,满足大规模计算和通信的需求。