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