概述
文章目录
- 8.1 电路交换网络
- 8.1.1 三个阶段
- 1. 连接建立阶段
- 2. 数据传输阶段
- 3. 连接拆除阶段
- 8.1.2 效率
- 8.1.3 延迟
- 8.1.4 电话网中电路交换技术
- 8.2 数据报网络
- 8.2.1 路由表
- 8.2.2 效率
- 8.2.3 延迟
- 8.2.4 因特网中的数据报网
- 8.3 虚电路网络
- 8.3.1 编址
- 1. 全局编址
- 2. 虚电路标识符
- 8.3.2 三个阶段
- 1. 数据传输阶段
- 2. 建立阶段
- 3. 拆除连接阶段
- 8.3.3 效率
- 8.3.4 虚电路网络延迟
- 8.3.5 广域网中电路交换技术
- 8.4 交换机结构
- 8.4.1 电路交换机结构
- 1. 空分交换机
- (1) 纵横制交换机
- (2) 多级交换机
- (3) Clos准则
- 2. 时分交换机
- (1) 时隙互换
- (2) 时分交换与空分交换机结合
- 8.4.2 分组交换机结构
- 1. 输入端口
- 2. 输出端口
- 3. 路由处理器
- 4. 交换结构
- (1) 纵横交换机
- (2) Banyan交换机
- (3) Batcher-banyan交换机
- 8.5 数据报与虚电路
网络是连接设备的一组集合。无论何时只要拥有了多台设备,就会产生这样一个问题——如何将它们连接起来、实现一对一的通信。一种解决方案是:在每对设备之间建立点到点连接(网状拓扑),或者在一台中心设备与其他所有设备之间建立点到点的连接(星型拓扑)。但是,在应用于规模很大的网络时,这些方法不切实际而且很浪费:链路的数量和长度需要太多的基础设施,从而使成本效益很低;多数链路在大多数时间内是空闲的。其他拓扑结构采用了多点连接,如总线拓扑,这种方案也被排除,原因是设备之间的距离和设备总数的增长,会超出介质和设备的容量。
一种更好的解决方案是交换 switching
,即采用交换网络——将多个计算机网络或通信网络相互连接,以实现信息交换和资源共享的技术叫网络互联技术,也即网络交换技术。交换网络由一系列互联的节点构成,这些节点称为交换机 switch
,交换机能在链接到交换机的两台或多条设备之间,建立起临时连接(即组建局域网和VLAN)。在交换网络中,一些节点连接到端系统 end system
(比如计算机或电话系统),另一些只是用于路由选择。图8.1表示了一个交换网络,端系统(通信设备)标以 A, B, C, D
等,交换机标以 I, II, III, IV, V
,每个交换机连接多条链路。
Switching provides a practical solution to the problem of connecting multiple devices in a network. It is more practical than using a bus topology; it is more efficient than using a star topology and a central hub. Switches are devices capable of creating temporary connections between two or more devices linked to the switch.
传统上,有三种重要的交换方式:电路交换、分组交换、报文交换,前两种目前普遍使用。第三种(在报文交换中,每个交换机存储整个报文,并转发到下一个交换机)在一般通信中已逐步淘汰——尽管在低层看不见报文的交换,但它仍然存在于某些网络应用中,如电子邮件 E-mail
。
我们将当前网络分为三大类:电路交换网、分组交换网、报文交换网。分组交换网进一步划分为两个子类:虚电路网和数据报网。如图8.2 交换网分类法所示:
由于虚电路网具有与电路交换网、数据报网同样的一些特性。所以,先讨论电路交换网和数据报网,再讨论虚电路网。目前,分组交换网的趋向是数据报网和虚电路网的结合。网络根据数据报寻址的思想,对第一个分组进行路由选择,然后为同一个源端和目的端的、所有其余的分组建立一个虚电路网。后面几章,会看到一些这样的网络。
8.1 电路交换网络
电路交换网络 circuit-switched network
是由物理链路连接的一组交换机组成的。两个站点的连接,是由一条或多条链路组成的专用路径来实现,然而,每次连接仅使用每条链路上的一条专用通道。电路交换网中,通常每条链路用 FDM
或 TDM
划分成
n
n
n 个通道(见第6章)。
图8.3表示了一个有四个交换机和四条链路的电路交换网络,每条链路用FDM或TDM划分成
n
n
n 条通道(图中
n
=
3
n = 3
n=3)。为了强调链路划分成通道,这里采用明显复用符号,即使复用可隐含在交换机结构中。
端系统(比如计算机或电话)直接连到交换机。为了简明起见,这里仅表示了两个端系统。当端系统
A
A
A 需要与端系统
M
M
M 通信时,系统
A
A
A 需要向
M
M
M 发送一个连接请求,这个连接请求必须被所有交换机接收,包括
M
M
M 本身的交换机。这称为建立阶段 setup phase
;在每条链路上预订一个电路(即通道),并将这些电路(通道)联合起来,指定一条专用路径。当建立了这些连接的电路(通道)的专用路径后,数据传输 data transfer
才可以进行。所有数据传输完以后,拆除这些电路,即拆除阶段 teardown phase
。
要强调的是:
- 电路交换在物理层;
- 在电路交换中,开始通信前(即建立阶段),站点必须对通信期间的资源进行预留。这些资源包括通道(FDM的带宽和TDM的时隙)、交换机的缓冲区、交换机处理时间和交换机输入/输出端口等,在整个数据传输期间必须保留专用,直到拆除为止;
- 两个站点之间的数据传输不打包(物理层传输信号)。尽管可能存在有间隙,但源站点发送连续的数据流,由目的站接收这些数据流。
- 建立阶段存在端到端的寻址,但数据传输期间不寻址,交换机基于它们所占有的频带(
FDM
)和时隙(TDM
)发送数据。
【例8.1】考察在一个小范围内连接
8
8
8 台电话机的电路交换网络,其通信通过
4
k
H
z
4kHz
4kHz 的语音通道,假定每条链路用 FDM
连接最大语音通道是两个,每条链路带宽为 8kHz
。下图中表示了电话机
1
1
1 连接到电话机
7
7
7 ,电话机
2
2
2 连接到电话机
5
5
5 ,电话机
3
3
3 连接到电话机
8
8
8 ,电话机
4
4
4 连接到电话机
6
6
6 的情况。当新连接发生时,情况会有变化;交换机控制这些连接。
【例8.2】作为另一个例子,考虑某个私人公司两个远程办公室计算机的连接,办公室从通信服务提供商租用 T-1
专用线连接这些计算机。在网络中,有两台
4
×
8
4times 8
4×8(
4
4
4 输入
8
8
8 输出)交换机。每台交换机中
4
4
4 个输出端与输入端重叠,以允许同一办公室的计算机之间通信,另外
4
4
4 个输出端允许两个办公室间通信。
8.1.1 三个阶段
电路交换网实际通信中,有三个阶段:连接建立、数据传输和连接拆除。
1. 连接建立阶段
在双方(或电话会议中多方)通信之前,需要建立一条专用电路(链路中的通道的组合)。端系统通常通过专用线路连接到交换机,于是连接建立的意思是,交换机之间建立一些专用通道。
例如,在图8.3中,当系统 A
要求与系统 M
连接时,它发送一个含有 M
地址的连接请求给交换机 I
。为此目的,交换机 I
发现它与交换机 IV
之间有一条专用的通道。然后交换机 I
向交换机 IV
发送一个请求,交换机 IV
发现它与交换机 III
之间有一条专用通道。此时,交换机 III
把系统 A
的意图通知系统 M
。
下一步做出一次连接,系统 M
必须反方向发送一个确认给系统 A
。仅当系统 A
接收到这个确认之后,连接才建立。
注意:端到端系统的寻址要求「建立两个端系统之间的连接」。例如,计算机的地址是由TDM网络管理者给定的,或电话号码是由FDM网络管理者给定的。
2. 数据传输阶段
专用电路(链路中的通道的组合)建立后,双方可传输数据。
3. 连接拆除阶段
当任何一方要撤销连接,就向每台交换机发送一个信号,以释放资源。
8.1.2 效率
因为资源在整个连接期间都被占用,这些资源不能被其他连接所用,所以电路交换网的效率不及其他两类网络类型的效率。在电话网中,当人们结束对话时,就终止通信。可是在计算机网络中,即使长时间没有通信,一台计算机也可能与另一台计算机相连,此时允许拥有专用资源的意思是「不能用于其他连接」。
8.1.3 延迟
尽管通常认为电路交换网的效率低,但这种网络的延迟最小。在连接期间,资源被分配给该连接,每个交换机没有延迟。图8.6表示了仅有两台交换机的电路交换网络延迟的概念。
如图8.6所示,每台交换机没有等待时间,整个延迟时间是建立连接需要的时间、数据传输时间、拆除电路时间。有建立所引起的延迟是
4
4
4 个部分和:源计算机请求的传播时间(第一个绿色框的斜度)、请求信号的传输时间(第一个绿色框的高度)、目的计算机确认的传播时间(第二个绿色框的斜度)、确认信号的传输时间(第二个绿色框的高度)。数据传输延迟是
2
2
2 个部分和:传播时间(浅蓝色框的斜率)和数据传输时间(浅蓝色框的高度),它可能很长。第三个框表示了拆除电路所需的时间。图中表示了接收方请求撤销连接,产生的最大延迟。
8.1.4 电话网中电路交换技术
在第9章中会看到,电话公司以前选择电路交换方法在物理层中进行交换,目前趋向转用其他交换技术。例如,采用全球地址的电话号码,用7号信令系统(称为 SS7
)建立连接和撤销连接。
传统电话网在物理层的交换,采用电路连接方法。
8.2 数据报网络
在数据通信中,我们需要从一个端系统发送报文到另一个端系统。如果经过分组交换网络传送报文,则报文必须划分为一些固定长的分组或可变长的分组,分组长度由网络和控制协议决定。
在分组交换中,(和电路交换不同的是)对分组不存在资源预先分配。即链路没有预留的带宽,对每个分组没有安排预定的处理时间。资源按需分配,基于先来先服务的原则。当交换机接收到一个分组时,不管它是源端还是目的端,如果还有其他分组正在处理,该分组必须等待。当然,没有预留可能会发生延迟,比如没有预定就去餐馆就餐,可能会等待。
其中,在数据报网络 datagram network
中,每个分组独立处理,与其他分组无关。即使某个分组是多分组传输的一个部分,网络处理它就像它是单独存在一样,这种方法的分组称为数据报 datagram
。数据报交换通常是在网络层。此处简要对数据报网、电路交换网、虚电路交换网进行比较,第四部分将详细讨论它。
图8.7表示了站点 A A A 如何传递四个分组到站点 X X X 的数据报方法,传统上称数据报网的交换机为路由器,这就是为什么要在图中的交换机使用不同的符号。在本例中,所有四个分组(或数据报)都属于同一报文,但可能经过不同的路径传送到目的端。之所以这样是由于链路包含来自其他源端发送的分组,而没有足够的带宽携带从 A A A 到 X X X 的所有分组。这种方法可能引起传输的数据报到达目的端,由于分组之间延迟不同而失序;也可能由于缺少资源,引起分组丢失。在多数协议中,在传送到应用层之前,由上层负责数据报重新排序或寻找丢失的数据报。
数据报网有时也称为无连接网络 connectionless network
。此处无连接的意思是交换机(分组交换机)不保存有关连接状态的信息,不需要建立连接阶段,也不需要拆除阶段。每个分组不管源端和目的端,由交换机同样处理。
8.2.1 路由表
如果没有建立和拆除连接阶段,在数据报网络中如何将分组传送到它的目的端?在这种类型的网络中,每个交换机(分组交换机)都有一个基于目的地址的路由表。路由表是动态的,周期性进行修改。表中记录目的地址和相应的转发端口,这与「电路交换网在建立阶段完成表的项目、在拆除阶段结束时删除」不同。图8.8表示了交换机的路由表:
目的地址 数据报网络中每个分组有一个头部,它包含分组的目的地址。当交换机接收到分组时,检查目的地址,查阅路由表找到对应的输出端口,通过它转发出去。不像虚电路交换网中的地址,数据报网分组的头部中的这个目的地址,在分组传送期间保持不变。
8.2.2 效率
数据报网的效率比电路交换网高。仅当有传输的分组时,才分配资源。如果源端发送一个分组,在另一个分组可发送前,存在很少时间延迟。对于来自其他源端的分组,在这段时间,需重新分配资源。
8.2.3 延迟
数据报网的延迟比虚电路交换网长。虽然数据报网没有建立阶段与拆除阶段,但每个分组在转发前、在交换机会有等待。另外,由于报文中所有分组不需要通过同一个交换机传送,因此报文的分组延迟不一致。图8.9给出了单个分组在数据报网中延迟的例子。
分组通过两个交换机传送,存在三个传输时间
3
T
3T
3T 、三个传播延迟(线的斜度
3
τ
3tau
3τ)和两个等待时间(
w
1
+
w
2
w_1 + w_2
w1+w2)。不计算每个交换机处理时间,则:
总
延
迟
时
间
=
3
T
+
3
τ
+
w
1
+
w
2
总延迟时间= 3T + 3tau + w_1 + w_2
总延迟时间=3T+3τ+w1+w2
8.2.4 因特网中的数据报网
将在后面几章看到,因特网在网络层选择数据报方法进行交换。采用网络层规定的统一地址(IP地址),寻找从源端到目的端的路径。
8.3 虚电路网络
虚电路网络 virtual-circuit network
是结合电路交换网络与数据报网络的产物,它具有两者的某些特征:
- 在数据传输阶段,如同电路交换网络一样,有建立连接阶段与拆除连接阶段;
- 同电路交换网络(或数据报网络)一样,(按需)在建立阶段期间分配资源;
- 同数据报网络一样,数据被划为分组,每一分组的头部含有地址,但它具有的是本地的权限(它定义下一个交换机和传送分组的通道应该是什么)、而不是端到端的权限。如果分组没有携带最终目的地址,中间交换机如何知道应该将分组发送到何处?下一节讨论虚电路标识符时,将明确这一问题;
- 同电路交换网络一样,所有分组沿着连接期间建立的路径传送;
- 虚电路网络通常在数据链路层实现,而电路交换网络是在物理层实现,数据报网络在网络层实现,但在将来这可能会变化。
图8.10是虚电路交换网络的实例。网络的交换机执行从源端到目的端的通信量交换,源端或目的端可以是计算机、分组交换机、网桥或连接网络的任何设备。
8.3.1 编址
在虚电路网络中,有两类编址:全局的和本地的(虚电路标识符)。
1. 全局编址
源端或目的端需要有一个全局地址,该地址是一个广域网范围内或国际范围内(如果这个广域网是一个国际网络的一个部分)唯一地址。然而,虚电路网络中的全局地址仅用于(在建立连接阶段)建立虚电路标识符,如下所述。
2. 虚电路标识符
实际用于数据传输的标识符称为虚电路标识符 virtual circuit identifier, VCI
。与全局地址不同,一个VCI是一个仅在交换机范围内的小数字,由两个交换机之间的帧来使用。当一个帧到达一个交换机时,它有一个VCI,当它离开时,它有另一个VCI。图8.11说明了数据帧中的VCI从一个交换机到另一个交换机时,是如何变化的。注意:既然每个交换机都可以使用自己唯一的VCI集,因此VCI不必是一个大的数字。
8.3.2 三个阶段
如电路交换网一样,虚电路中的源端与目的端也需要经历三个阶段:建立连接、数据传输和拆除连接。在建立连接阶段,源端和目的端使用各自的全局地址,帮助交换机为连接建立表项;在拆除连接阶段,源端和目的端通知交换机删除相应的表项。数据传输发生在这两个阶段之间。
先讨论数据传输阶段,这样更直接,然后再讨论建立连接阶段和拆除连接阶段。
1. 数据传输阶段
为了从源端向目的端传输帧,在建立连接阶段,所有交换机需要为这个虚电路建立表项。这个表,最简单的形式有四列,这意味着交换机需要知道已经建立的虚电路的四个信息。在第2节说明这一点,现在假设每个交换机已经为每个活动的虚电路建立了表项。图8.12显示了这样的一个交换机和它相应的表。
图8.12表示,一个VCI是
14
14
14 的帧到达端口
1
1
1 。当该帧到达时,交换机在表中查找端口
1
1
1 和VCI
14
14
14 。找到后,交换机知道应该将VCI改成
22
22
22 并从端口
3
3
3 发送输出。
图8.13说明了一个帧如何从源端
A
A
A 到达目的端
B
B
B 以及VCI在这个过程中如何变化。==每个交换机都更改VCI并路由该帧。
数据传输阶段一直保持活动,直到源端向目的端发送完所有的帧。对报文的所有帧来说,交换机的这个程序都是一样的。这个过程中使用「源端和目的端之间建立的虚电路」,而不是实际电路。
2. 建立阶段
在建立阶段,一个交换机为虚电路生成一个入口。例如,假定源 A A A 需要生成到 B B B 的虚电路,需要两个步骤:建立请求和确认。
一个连接请求的帧从源端发送到目的端。图8.14表示了这一过程:
- 源端 A A A 向交换机1发送一个建立连接帧;
- 交换机1接收这个建立请求帧。它知道从 A A A 到 B B B 的帧要经过端口 3 3 3(如何知道这个信息是以后讨论的问题)。在建立连接阶段,交换机担当分组交换机的作用,它有一个和交换表不同的路由表。假设它知道输出端口,交换机为这个虚电路在表中建立一个表项,但它只填表中四列的三列:输入端口(1)、输入VCI(14)、输出端口(3)。它仍然不知道输出VCI,这个VCI将在确认步骤中找到。然后,这个交换机通过端口 3 3 3 向交换机 2 2 2 转发该帧。
- 交换机2接收这个建立请求帧。与在交换机1中发生的情况一样,完成了表的三列:在这个情形中是输入端口(1)、输入VCI(66)、输出端口(2)。
- 交换机3接收这个建立请求帧。同样完成了三列:输入端口(2)、输入VCI(22)、输出端口(3)。
- 目的端
B
B
B 接收这个建立请求帧。如果它准备好接收从
A
A
A 发来的帧,它就分配一个VCI给
A
A
A 来的输入帧,这里是
77
77
77 ,这一VCI让目的端知道帧是从
A
A
A 来的,而不是从其他源端发出的。
一个称为确认帧的特殊帧可以完成交换表中的表项。图8.15说明了这个过程。
- 目的端给交换机 3 3 3 发送一个确认。这个确认帧携带有全局源端地址和目的端地址,因此交换机知道该完成交换表中的哪个表项。这个帧还携带有VCI(77),这是由目的端选择的、作为从 A A A 来的帧的输入VCI。交换机3使用这个VCI完成这个表项的输出VCI列。注意, 77 77 77 是目的端 B B B 的输入VCI,也是交换机3的输出VCI。
- 交换机3向交换机2发送一个确认帧,这个帧含有在前一步骤中选择的、自己表中的输入VCI。交换机2使用这个VCI,作为自己表中的输出VCI。
- 交换机2向交换机1发送一个确认帧,这个帧含有在前一步骤中选择的、自己表中的输入VCI。交换机1使用这个VCI,作为自己表中的输出VCI。
- 最后,交换机1向源端 A A A 发送一个确认帧,这个帧含有在前一步骤中选择的、自己表中的输入VCI。
- 源端使用这个VCI,作为准备发送给目的端
B
B
B 的数据帧的输出VCI。
3. 拆除连接阶段
在这个阶段中,当源端 A A A 向 B B B 发送完所有的帧后,再发送一个称为拆除请求的特殊帧。目的端 B B B 用一个拆除确认帧来响应。所有的交换机从各自的表中删除相应的表项。
8.3.3 效率
正如前诉,在连接建立阶段,虚电路网络要作资源预留,或在数据传输阶段按需分配资源。在第一个情况,每个分组延迟都相同;在第二种情况下,各分组延迟可能不同。虚电路网络的最大一个优点就是资源都按需分配——源端可检测资源可利用的程度,而不必真实预留。如同一个家庭去餐馆就餐,尽管餐馆不接受预定(即不预留资源,而是按需分配席位),而家庭可打电话查明等待时间,这可节省时间与精力。
在虚电路交换中,属于相同源端和目的端的所有分组都按同一路径传送;但如果资源按需分配,分组达到目的端可能有不同延迟。
8.3.4 虚电路网络延迟
在虚电路网络中,建立阶段有一个时间延迟,拆除阶段有一个时间延迟。如果在建立阶段分配资源,则个别分组没有等待时间。图8.16表示了虚电路网络中一个分组经过两个交换机传送的延迟。
分组经过两个交换机(路由器)传送,有三个传输时间(
3
T
3T
3T)、三个传播时间(
3
τ
3tau
3τ),数据传输由斜线描述(即传播时间)。建立阶段延迟(包括两个方向的传输与传播)与拆除阶段延迟(包括一个方向传输和传播)。我们不计入每个交换机处理时间。总的延迟时间是:
总
延
迟
=
3
T
+
3
τ
+
建
立
阶
段
延
迟
+
拆
除
阶
段
延
迟
总延迟= 3T + 3tau + 建立阶段延迟 + 拆除阶段延迟
总延迟=3T+3τ+建立阶段延迟+拆除阶段延迟
8.3.5 广域网中电路交换技术
在交换广域网中,数据链路层通常采用虚电路技术实现。在第18章中,讨论用于广域网的虚电路网络,如帧中继网和ATM网。这种虚电路技术非常适用于链路层。
广域网的基本概念:当主机之间的距离较远时,例如相隔几十或几百公里甚至几千公里,局域网显然就无法完成主机之间的通信任务。这时就需要另一种结构的网络,即广域网。相距较远的局域网通过路由器与广域网相连,组成了一个覆盖范围很广的互联网。
应当注意:
- 即使是覆盖范围很广的互联网,也不是广域网,因为在这种网络中,不同网络的“互连”才是其最主要的特征。
- 广域网是单个的网络,它使用结点交换机连接各主机,而不是用路由器连接各网络——结点交换机在单个网络中转发分组,而路由器在多个网络构成的互联网中转发分组。
- 连接在一个广域网(或一个局域网)上的主机在该网内进行通信时,只需要使用其网络的物理地址即可。
8.4 交换机结构
在电路交换网和分组交换网中,我们使用交换机。本节讨论每种类型网络所用的交换机结构。
8.4.1 电路交换机结构
目前,电路交换机此采用两个技术:空分交换机和时分交换机。
1. 空分交换机
在空分交换 space-division switching
中,电路中的每条通路在空间上是相互分离的。这种技术最初用于模拟网络,但是目前它被同时使用在模拟和数字网络中。它是由多种设计方案,经过很长时间才逐步发展起来的。
(1) 纵横制交换机
纵横制交换机 crossbar switch
在栅格中将
n
n
n 个输入连接到
m
m
m 个输出,连接方法是在每个交叉点 crosspoint
使用微电子开关(晶体管)(见图8.17)。
这种设计方法的主要限制是所需要的交叉点的数量。使用纵横制交换机将
n
n
n 个输入连接到
m
m
m 个输出,需要
n
×
m
ntimes m
n×m 个交叉点。例如,将
1000
1000
1000 个输入连接到
1000
1000
1000 个输出,需要一个具有
1000000
1000 000
1000000 个交叉点的纵横制交换机。一台具有如此多数量交换点的纵横制交换机是不切实际的。这种交换机的效率也不高,统计表明,在任何时候,只有低于
25
%
25%
25% 的交叉点处于工作状态,而其他交叉点都处于闲置状态。
(2) 多级交换机
多级交换机 解决纵横制交换机限制的一种方案是使用多级交换机 multistage switch
,它将多台纵横制交换机按多级(通常是3级)结构组合在一起,如图3.18所示。在单个纵横交换机中,任何连接仅有一行或一列(一条路由)是激活的,所以需要
N
×
N
N times N
N×N 个交叉点。如果在交换机中允许多条路径,则可以降低交叉数。中间级(第二级)每一个交叉点可被第一级或第三级交叉点访问。
设计三级交换机,按照下列步骤:
- 将 N N N 条线划分为组,每组为 n n n 条输入线。对每组用一个 n × k n times k n×k 纵横交换机,其中 k k k 是中间级纵横交换机的个数。换言之,第一级有 N / n N / n N/n 个纵横交换机,每个具有 n × k ntimes k n×k 个交叉点;
- 在中间级,使用 k k k 个 ( N / n ) × ( N / n ) (N / n) times (N / n) (N/n)×(N/n) 纵横交换机;
- 在第三级,使用
N
/
n
N / n
N/n 个
k
×
n
k times n
k×n 纵横交换机。
计算总的交叉点的个数如下,它比单级交换机的交叉点个数
N
2
N^2
N2 小了许多:
N
n
(
n
×
k
)
+
k
×
(
N
n
×
N
n
)
+
N
n
(
k
×
n
)
=
2
k
N
+
k
(
N
n
)
2
dfrac{N}{n } {(n times k)} + k times big( dfrac{N}{n} times dfrac{N}{n}big) + dfrac{N}{n} (k times n) = 2kN + kbig( dfrac{N}{n}big) ^2
nN(n×k)+k×(nN×nN)+nN(k×n)=2kN+k(nN)2
【例8.3】设计一个
200
×
200
200 × 200
200×200 交换机
(
N
=
200
)
(N = 200)
(N=200) ,其中
k
=
4
k = 4
k=4 和
n
=
20
n = 20
n=20 .
解:如果使用单级交换机,交叉点个数为
40000
40000
40000 。使用三级交换机,在第一级有
N
/
n
=
200
/
20
=
10
N / n = 200 / 20 = 10
N/n=200/20=10 个
20
×
4
20 times 4
20×4 纵横交换机,第二级有
k
=
4
k = 4
k=4 个
10
×
10
10 times 10
10×10 纵横交换机,第三级有
10
10
10 个
4
×
20
4 times 20
4×20 交换机。总的交叉点个数是
10
×
20
×
4
+
4
×
10
×
10
+
10
×
4
×
20
=
800
+
400
+
800
=
2000
=
2
k
N
+
k
(
N
/
n
)
2
=
2
×
4
×
200
+
4
×
1
0
2
10 times 20 times 4 + 4 times 10 times 10 + 10 times 4 times 20 =800+400+800=2000 = 2k N +k (N/ n)^2 = 2 times 4 times 200 + 4 times 10^2
10×20×4+4×10×10+10×4×20=800+400+800=2000=2kN+k(N/n)2=2×4×200+4×102 。它是单级纵横交换机的交叉点的个数的百分之五。
图8.3中多级交换机有一个缺点,在高通信量时会引起阻塞 blocking
现象。多级交换的想法是共享中间级纵横级的交叉点。如果资源有限,并且同一时刻所有用户都请求连接,那么共享会引起有效性的短缺。阻塞是指输入无法连接到输出的情形,因为此时两者之间没有可用的路径,所有可能的中间级交换机都被占用了。
在单级交换机中,不会发生阻塞现象。因为输入和输出的所有组合都有自己的交叉点,所以总是有路径存在(两个输入端试图连接到同一个输出端的情况不计算在内,因为此时通路没有阻塞,只是输出端很忙)。然而,在上述【例8.3】中描述的多级交换机中,第一组 20 20 20 个输入中只有 10 10 10 个能够同时使用交换机,同样,第二组 20 20 20 个输入中只有 10 10 10 个能够同时使用交换机,依次类推。中间交换机个数少可能形成阻塞现象。
(3) Clos准则
在大规模系统中,如那些有 10000 10 000 10000 个输入和输出的系统,级数的增加能迅速降低所需交叉点的数量。但是随着级数的增长,产生阻塞的可能性也随之增大。例如,一次自然灾害后,公用电话系统经常阻塞,此时要求确认亲属情况的电话数量,远远超过了系统的常规负荷。
Clos研究了多级交换机没有阻塞的条件,提出了下面的Clos准则:在一个没有阻塞的交换机中,中间级交换机的个数必须大于等于 2 n − 1 2n - 1 2n−1 ,即 k ≥ 2 n − 1 k ge 2n - 1 k≥2n−1 。
注意,交叉点个数仍少于单级交换机的个数。现在对固定的 N N N ,用Clos准则确定交换点的最小个数。对于 n n n(仅有的可变量)推导出公式,并发现其结果 n n n 必须大于等于 ( N 2 ) 1 / 2 big( dfrac{N}{2} big)^{1/2} (2N)1/2 。此时,总交叉点的个数大于等于 4 N [ ( 2 N ) 1 / 2 − 1 ] 4N big[( 2N)^{1/2} - 1big] 4N[(2N)1/2−1] 。
【例8.4】用Clos准则和最小交叉点个数重新设计前面三级
200
×
200
200 × 200
200×200 交换机。
解:设
n
=
(
200
/
2
)
1
/
2
=
10
n = (200 / 2)^{1/2} = 10
n=(200/2)1/2=10 ,计算得
k
=
2
n
−
1
=
19
k = 2n - 1 = 19
k=2n−1=19 。第一级有
200
/
10
=
20
200 / 10 = 20
200/10=20 个
10
×
19
10 times 19
10×19 交叉点的纵横交换机,第二级有
19
19
19 个
20
×
20
20 times 20
20×20 交叉点的纵横交换机,第三级有
20
20
20 个
19
×
10
19 times 10
19×10 交叉点的纵横交换机。总的交叉点个数为
20
×
10
×
19
+
19
×
20
×
20
+
20
×
19
×
10
=
15200
20 times 10 times 19 + 19 times 20 times 20 + 20 times 19 times 10 = 15200
20×10×19+19×20×20+20×19×10=15200 。这个三级交叉点的个数是单级交换机交叉点个数的
38
%
38%
38% ,多于【例8.3】中交叉点的个数,这些额外交叉点是防止阻塞所需的。
使用Clos准则和最小交叉点个数的多级交换,仍然要求很大的交叉点个数。例如,有 100000 100 000 100000 条输入/输出线的交换机,需要接近2亿个交叉点。这就是说,如果在城市中,电话公司需要一台交换机提供10万台电话机的连接,则它需要2亿个交叉点。如果允许阻塞,则这个数字可降低。目前,电话公司使用时分交换或空分和时分相结合的交换机。
2. 时分交换机
时分交换 time-division switching
采用时分复用 TDM
在交换机内部实现交换。最常用方法是时隙互换 time-slot interchange, TSI
。
(1) 时隙互换
图8.19说明了一个将四条输入线路连接到四条输出线路的系统。设想每一条输入线路按这一模式,将数据发送到一条输出线路:1 -> 3, 2 -> 4, 3 -> 1, 4 -> 2
。该图将一个TDM复用器、一个TDM分离器和一个TSI组合在一起,其中TSI是由多个存储单元的随机访问器(RAM)构成。每个存储单元的大小与单个时隙的大小相同。存储单元的个数与输入端的个数相同(多数情况,输入端与输出端的个数相同)。RAM中存储的是顺序接收的时隙数据。然后,时隙按照控制单元的决策发送出去。
(2) 时分交换与空分交换机结合
在比较空空分交换和时分交换时,常会出现一些有趣的情况。空分交换的优势是它是瞬态的,缺点是空分交换的有效性(即拥塞可以忍受)是由交叉点数量决定的。时分交换的优势是它不需要交叉点,缺点是在使用TSI时,对每个连接的处理会产生延迟,每个时隙必须存储在RAM中,然后被检索和传递。
在第三种可选方法中,将空分和时分技术结合起来,以充分利用两者的优点。将两种方法组合产生的交换,可以在物理上(交叉点的个数)和时间上(延迟时间)进行优化。这一类多级交换机,可以设计为时间-空间-时间交换机 time-space-time, TST
。
图8.20说明了一种简单的TST交换机,包括两级时分交换、一级空分交换,具有12路输入和12路输出。它不是使用一台时分交换机,而是将所有输入分3组(每组4个输入)并连接到3台时隙交换机中。这样做的结果是,平均延迟只是使用单一时隙交换机处理12个输入所产生的延迟时间的
1
3
dfrac{1}{3}
31 。最后一级是第一级的镜像,中间级是一台空分交换机(纵横制),它连接到TST交换机组,使所有可能的输入/输出对之间建立连接(比如,将第一组中的输入3连接到第二组中的输入7)。
8.4.2 分组交换机结构
分组交换网用的交换机,与电路交换网所用的交换机不同。分组交换机有四个部分:输入端口 input port
、输出端口 output port
、路由处理器 routing processor
、交换结构 switching fabric
。如图8.21所示。
1. 输入端口
输入端口执行分组交换机的物理层与数据链路层的功能——将接收信号转换成位,将帧分解成分组,进行差错检测与纠错,准备由网络层发送分组。除物理层处理器和数据链路层处理器之外,在分组转向交换结构前,输入端口有缓存器(队列)保存分组。图8.22表示了输入端口的框图。
2. 输出端口
输出端口执行的功能与输入端口相同,但是顺序相反——首先对输出分组进行排队,然后将分组封装成帧,最后利用物理层功能,将帧(转换为位再)转换为信号,在线路上发送。图8.23表示了输出端口的框图。
3. 路由处理器
路由处理器执行网络层的功能——利用目的地址寻找下一条的地址和输出端口号,通过它发送分组。因为路由处理器寻找路由表,有时这个动作称为路由表查寻 table lookup
。在最新的分组交换机中,为了加速与方便该进程,将路由处理器的功能移到输入端口。
4. 交换结构
在交换机中,最艰难的任务是从输入队列将分组传送到输出队列,该动作的速度影响输入/输出队列的长度、以及分组总传输延迟。过去的分组交换机实际上是专用的计算机,它的存储器或总线用作交换结构,输入端口将分组保存在存储器中,输出端口从存储器中取出分组;目前,分组交换机则是专门的机制,有各种各样的交换结构。
(1) 纵横交换机
交换机制最简单的类型,就是纵横交换机的结构,前节已论述过。
(2) Banyan交换机
一个比纵横交换机更实际的方法是 banyan
交换机 banyan switch
(以榕树命名)。榕树交换机是一个多级交换,每一级有微交换,并基于表示为二进制串的输出端口来发送分组。对于
n
n
n 个输入和
n
n
n 个输出,我们将有
log
2
n
log_2 n
log2n 级,每级有
n
/
2
n / 2
n/2 个微交换。第一级基于二进制串的最高位发送分组,第二级基于二进制串的次高位发送分组,依次类推。图8.24表示了有
8
8
8 个输入和
8
8
8 个输出的榕树交换机,级数是
log
2
8
=
3
log_2 8 = 3
log28=3 。
图8.25表示了操作,在a部分中,一个分组到达输入端口1,且应该去输出端口6(二进制
110
110
110)。第一级微交换 A-2
基于第一位(1)发送分组,第二级微交换 B-4
基于第二位(1)发送分组,第三级微交换 C-4
基于第三位(0)发送分组。在b部分中,一个分组到达输入端口5,且应该去输出端口2(二进制
010
010
010)。第一级微交换 A-2
基于第一位(0)发送分组,第二级微交换 B-2
基于第二位(1)发送分组,第三级微交换 C-2
基于第三位(0)发送分组。
(3) Batcher-banyan交换机
banyan
交换机中,存在问题是即使两个分组不是前往相同的输出端口,也可能存在内部冲突。这个问题可通过对目的端口对到达的分组进行排序来解决。
K.E.Batcher设计了一种交换机,放在 banyan
交换机之前,并根据输入分组的最终目的对分组进行排序。这种组合称为 Batcher banyan
交换机 Batcher-banyan switch
。排序交换机采用硬件合并技术,此处不详细讨论。
通常,将另一个称为陷阱 trap
的硬件模块加到 Batcher
交换机与 Banyan
交换机之间(见图8.26)。陷阱模块防止重复的分组(具有相同输出目的地的分组)同时通过 Banyan
交换机。在每个时间节拍,对每个目的地仅有一个分组;如果存在多于一个分组,它们就应该等待下一个节拍。
8.5 数据报与虚电路
网络层为接在网络上的主机所提供的服务可以有两大类:
- 无连接的网络服务(数据报服务)
- 面向连接的网络服务(虚电路服务)
无连接的网络服务具有以下特征:
- 网络随时接受主机发送的分组(即数据报),并为每个分组独立地选择路由;
- 网络尽最大努力地将分组交付给目的主机,但网络对源主机没有任何承诺;
- 网络不保证所传送的分组不丢失,也不保证按源主机发送分组的先后顺序,以及在时限内必须将分组交付给目的主机;
- 当网络发生拥塞时,网络中的结点可根据情况将一些分组丢弃。
由此可见,数据报提供的服务是不可靠的,它不能保证服务质量。实际上“尽最大努力交付”的服务,就是没有质量保证的服务。
面向连接的网络服务中,主机
H
1
H_1
H1 先向主机
H
5
H_5
H5 发出一个特定格式的控制信息分组,要求进行通信,同时寻找一条合适路由。若主机
H
5
H_5
H5 同意通信就发回响应,然后双方就建立了虚电路。
同理,主机
H
2
H_2
H2 和主机
H
6
H_6
H6 通信之前,也要建立虚电路。
在虚电路建立后,网络向用户提供的服务,就好像在两个主机之间建立了一对穿过网络的数字管道。所有发送的分组都按顺序进入管道,然后按照先进先出的原则,沿着此管道传送到目的站主机。到达目的站的分组顺序就与发送时的顺序一致,因此网络提供虚电路服务,对通信的服务质量 Quality of Service, QoS
有较好的保证。
事实上,这两种服务的思路来源不同:
- 虚电路服务的思路来源于传统的电信网。电信网负责保证可靠通信的一切措施,因此电信网
的结点交换机复杂而昂贵。 - 数据报服务力求使网络生存性好,使对网络的控制功能分散,因而只能要求网络提供尽最大
努力的服务。可靠通信则由用户终端中的软件(即TCP)来保证。
数据报服务和虚电路服务的优缺点,都相当明显:
- 网络上传送的报文长度,在很多情况下都很短。用数据报既迅速又经济。若用虚电路,为了传送一个分组,要建立虚电路和释放虚电路,就显得太浪费网络资源了。
- 在使用数据报时,每个分组必须携带完整的地址信息。在使用虚电路的情况下,每个分组不需要携带完整的目的地址,而仅需要有个很简单的虚电路号码的标志。这就使分组的控制信息部分的比特数减少,因而减少了额外开销。
- 在使用数据报时,主机承担端到端的差错控制和流量控制。在使用虚电路时,分组按顺序交付,网络可以负责差错控制和流量控制。
- 数据报服务对军事通信有其特殊的意义。当某个结点发生故障时,后续的分组就可另选路由,因而提高了可靠性。但在使用虚电路时,如果结点发生故障,就必须重新建立另一条虚电路。数据报服务还很适合于将一个分组发送到多个地址(即广播或多播)。
对比的方面 | 虚电路服务 | 数据报服务 |
---|---|---|
思路 | 可靠通信应当由网络来保证 | 可靠通信应当由用户主机来保证 |
连接的建立 | 必须有 | 不要 |
目的站地址 | 仅在连接建立阶段使用,每个分组使用短的虚电路号 | 每个分组都有目的站的全地址 |
分组的转发 | 属于同一条虚电路的分组,均按照同一路由进行转发 | 每个分组独立选择路由进行转发 |
当结点出故障时 | 所有通过出故障的结点的虚电路均不能工作 | 故障结点可能丢失分组,一些路由可能会发生变化 |
分组的顺序 | 总是按发送顺序到达目的站 | 到达目的站时不一定按发送顺序 |
端到端的差错处理和流量控制 | 可以由分组交换网负责,也可以由用户主机负责 | 由用户主机负责 |
在网络层,数据报服务与虚电路服务之争无疑以前者的获胜而结束——让网络只提供数据报服务,可以大大简化网络层的结构,而且随着技术的进步,网络出错的概率已越来越小,因而让主机负责端到端的可靠性不但不会给主机增加更多的负担,反而能够使更多的应用在这种简单的网络上运行。因特网发展到今天的规模,充分说明了「在网络层提供数据报服务」是非常成功的。
最后
以上就是忧伤季节为你收集整理的【计算机网络】第二部分 物理层和介质(8) 交换8.1 电路交换网络8.2 数据报网络8.3 虚电路网络8.4 交换机结构8.5 数据报与虚电路的全部内容,希望文章能够帮你解决【计算机网络】第二部分 物理层和介质(8) 交换8.1 电路交换网络8.2 数据报网络8.3 虚电路网络8.4 交换机结构8.5 数据报与虚电路所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复