【计算机网络】第二部分 物理层和介质(8) 交换

网络是连接设备的一组集合。无论何时只要拥有了多台设备,就会产生这样一个问题——如何将它们连接起来、实现一对一的通信。一种解决方案是:在每对设备之间建立点到点连接(网状拓扑),或者在一台中心设备与其他所有设备之间建立点到点的连接(星型拓扑)。但是,在应用于规模很大的网络时,这些方法不切实际而且很浪费:链路的数量和长度需要太多的基础设施,从而使成本效益很低;多数链路在大多数时间内是空闲的。其他拓扑结构采用了多点连接,如总线拓扑,这种方案也被排除,原因是设备之间的距离和设备总数的增长,会超出介质和设备的容量

一种更好的解决方案是交换 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 是由物理链路连接的一组交换机组成的。两个站点的连接,是由一条或多条链路组成的专用路径来实现,然而,每次连接仅使用每条链路上的一条专用通道。电路交换网中,通常每条链路用 FDMTDM 划分成 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 4\times 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 τ 3\tau 3τ)和两个等待时间( w 1 + w 2 w_1 + w_2 w1+w2)。不计算每个交换机处理时间,则:
总 延 迟 时 间 = 3 T + 3 τ + w 1 + w 2 总延迟时间= 3T + 3\tau + w_1 + w_2 =3T+3τ+w1+w2

8.2.4 因特网中的数据报网

将在后面几章看到,因特网在网络层选择数据报方法进行交换。采用网络层规定的统一地址(IP地址),寻找从源端到目的端的路径。


8.3 虚电路网络

虚电路网络 virtual-circuit network 是结合电路交换网络与数据报网络的产物,它具有两者的某些特征:

  1. 在数据传输阶段,如同电路交换网络一样,有建立连接阶段与拆除连接阶段
  2. 同电路交换网络(或数据报网络)一样,(按需)在建立阶段期间分配资源;
  3. 同数据报网络一样,数据被划为分组,每一分组的头部含有地址,但它具有的是本地的权限(它定义下一个交换机和传送分组的通道应该是什么)、而不是端到端的权限。如果分组没有携带最终目的地址,中间交换机如何知道应该将分组发送到何处?下一节讨论虚电路标识符时,将明确这一问题;
  4. 同电路交换网络一样,所有分组沿着连接期间建立的路径传送
  5. 虚电路网络通常在数据链路层实现,而电路交换网络是在物理层实现,数据报网络在网络层实现,但在将来这可能会变化。

图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表示了这一过程:

  1. 源端 A A A 向交换机1发送一个建立连接帧;
  2. 交换机1接收这个建立请求帧。它知道从 A A A B B B 的帧要经过端口 3 3 3(如何知道这个信息是以后讨论的问题)。在建立连接阶段,交换机担当分组交换机的作用,它有一个和交换表不同的路由表。假设它知道输出端口,交换机为这个虚电路在表中建立一个表项,但它只填表中四列的三列:输入端口(1)、输入VCI(14)、输出端口(3)。它仍然不知道输出VCI,这个VCI将在确认步骤中找到。然后,这个交换机通过端口 3 3 3 向交换机 2 2 2 转发该帧。
  3. 交换机2接收这个建立请求帧。与在交换机1中发生的情况一样,完成了表的三列:在这个情形中是输入端口(1)、输入VCI(66)、输出端口(2)。
  4. 交换机3接收这个建立请求帧。同样完成了三列:输入端口(2)、输入VCI(22)、输出端口(3)。
  5. 目的端 B B B 接收这个建立请求帧。如果它准备好接收从 A A A 发来的帧,它就分配一个VCI给 A A A 来的输入帧,这里是 77 77 77这一VCI让目的端知道帧是从 A A A 来的,而不是从其他源端发出的
    在这里插入图片描述

一个称为确认帧的特殊帧可以完成交换表中的表项。图8.15说明了这个过程。

  1. 目的端给交换机 3 3 3 发送一个确认。这个确认帧携带有全局源端地址和目的端地址,因此交换机知道该完成交换表中的哪个表项。这个帧还携带有VCI(77),这是由目的端选择的、作为从 A A A 来的帧的输入VCI。交换机3使用这个VCI完成这个表项的输出VCI列。注意, 77 77 77 是目的端 B B B 的输入VCI,也是交换机3的输出VCI。
  2. 交换机3向交换机2发送一个确认帧,这个帧含有在前一步骤中选择的、自己表中的输入VCI。交换机2使用这个VCI,作为自己表中的输出VCI。
  3. 交换机2向交换机1发送一个确认帧,这个帧含有在前一步骤中选择的、自己表中的输入VCI。交换机1使用这个VCI,作为自己表中的输出VCI。
  4. 最后,交换机1向源端 A A A 发送一个确认帧,这个帧含有在前一步骤中选择的、自己表中的输入VCI。
  5. 源端使用这个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 τ 3\tau 3τ),数据传输由斜线描述(即传播时间)。建立阶段延迟(包括两个方向的传输与传播)与拆除阶段延迟(包括一个方向传输和传播)。我们不计入每个交换机处理时间。总的延迟时间是:
总 延 迟 = 3 T + 3 τ + 建 立 阶 段 延 迟 + 拆 除 阶 段 延 迟 总延迟= 3T + 3\tau + 建立阶段延迟 + 拆除阶段延迟 =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 n\times 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 个交叉点。如果在交换机中允许多条路径,则可以降低交叉数。中间级(第二级)每一个交叉点可被第一级或第三级交叉点访问。

设计三级交换机,按照下列步骤:

  1. N N N 条线划分为组,每组为 n n n 条输入线。对每组用一个 n × k n \times k n×k 纵横交换机,其中 k k k 是中间级纵横交换机的个数。换言之,第一级有 N / n N / n N/n 个纵横交换机,每个具有 n × k n\times k n×k 个交叉点;
  2. 在中间级,使用 k k k ( N / n ) × ( N / n ) (N / n) \times (N / n) (N/n)×(N/n) 纵横交换机;
  3. 在第三级,使用 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 + k\big( \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 2n1 ,即 k ≥ 2 n − 1 k \ge 2n - 1 k2n1

注意,交叉点个数仍少于单级交换机的个数。现在对固定的 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} - 1\big] 4N[(2N)1/21]

【例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=2n1=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)来保证。

数据报服务和虚电路服务的优缺点,都相当明显:

  • 网络上传送的报文长度,在很多情况下都很短。用数据报既迅速又经济。若用虚电路,为了传送一个分组,要建立虚电路和释放虚电路,就显得太浪费网络资源了。
  • 在使用数据报时,每个分组必须携带完整的地址信息。在使用虚电路的情况下,每个分组不需要携带完整的目的地址,而仅需要有个很简单的虚电路号码的标志。这就使分组的控制信息部分的比特数减少,因而减少了额外开销。
  • 在使用数据报时,主机承担端到端的差错控制和流量控制。在使用虚电路时,分组按顺序交付,网络可以负责差错控制和流量控制。
  • 数据报服务对军事通信有其特殊的意义。当某个结点发生故障时,后续的分组就可另选路由,因而提高了可靠性。但在使用虚电路时,如果结点发生故障,就必须重新建立另一条虚电路。数据报服务还很适合于将一个分组发送到多个地址(即广播或多播)。
对比的方面虚电路服务数据报服务
思路可靠通信应当由网络来保证可靠通信应当由用户主机来保证
连接的建立必须有不要
目的站地址仅在连接建立阶段使用,每个分组使用短的虚电路号每个分组都有目的站的全地址
分组的转发属于同一条虚电路的分组,均按照同一路由进行转发每个分组独立选择路由进行转发
当结点出故障时所有通过出故障的结点的虚电路均不能工作故障结点可能丢失分组,一些路由可能会发生变化
分组的顺序总是按发送顺序到达目的站到达目的站时不一定按发送顺序
端到端的差错处理和流量控制可以由分组交换网负责,也可以由用户主机负责由用户主机负责

在网络层,数据报服务与虚电路服务之争无疑以前者的获胜而结束——让网络只提供数据报服务,可以大大简化网络层的结构,而且随着技术的进步,网络出错的概率已越来越小,因而让主机负责端到端的可靠性不但不会给主机增加更多的负担,反而能够使更多的应用在这种简单的网络上运行。因特网发展到今天的规模,充分说明了「在网络层提供数据报服务」是非常成功的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

memcpy0

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值