在链路和交换机网络中,移动数据有两种基本的方式:分组交换和电路交换
前面我已经讲了分组交换,我们现在将注意力集中到电路交换网络。
在电路交换网络中,路径上需要的资源(例如,缓存,链路传输速率)在通讯会话期间是reserved(保留的)。
在分组交换网路中,这些资源不是reserved. 一个会话的报文按需使用资源。因此,可能要等待。
传统的电话网络是电路交换网络的经典例子。考虑这样一个情景,一个人想通过电话网给另一个人发信息。在这个发送者可以发送信息之前,电话网络必修要先在发送者和接受者之间建立一条连接。这是条真正的连接,在发送者和接受者之间的交换机都是维持着的。
用电话的术语说,这个连接被称为一条电路。所以这就是电路交换,电路交换是移动数据的一种方式。
当网络把这个电路建立好之后,在这个网络中的链路的传输速率也是维持好的。所以发送者可以以稳定的速率传输数据给接收者。
说到这儿,我们要阐明一个概念,链路和电路是不一样的。
上面是一个简单的电路交换网络,包含4个交换机和4条链路,但是每条链路有4个电路,所以每个链路可以同时支持4个连接。
主机直接连接到交换上,当两个主机需要通信的时候,网络就在两个主机之间建立一个端到端的连接。因此,为了让主机A能够和主机B进行通信,网络必须首先为两条链路都预留出一个电路出来。
在这个例子中,端到端连接使用了第一条链路的第2个电路,使用了第二条链路的第4个电路。
因为每一个链路都有4个电路,对每一个被端到端连接使用的链路,连接可以获取这个链路总传输能力的1/4。
因此,举个例子,如果在相邻交换机的每个链路的传输速率为1 Mbps, 那么每个端到端的电路交换连接就获得250 kbps的传输速率。(1M = 1 0 6 10^6 106)
相比之下,考虑一下当一个主机想要通过一个分组交换网络向另一个主机发送分组会发生什么?
和电路交换一样,分组通过一系列的通讯链路传输。但是不同于电路交换,分组发送到网络中是没有预定任何链路资源的。如果这一系列的链路中有一个拥塞了,那么这个分组就需要在链路的发送端等待。虽然因特网尽最大努力及时deliver 分组,但是它不会给保证。
一个链路中的电路是怎么实现的呢?
顾名思义,分的是频率。
每个链路有一个频谱,频谱由建立在这条链路上的连接所瓜分。
具体来讲,链路将频率带分给每一个连接。
在电话网络中,这个频率带的宽度通常是4 khz(即4000 hz, 每秒4000圈)。 这个频率带的宽度叫做带宽(bandwidth)
。
FM 收音机通常使用分频复用来共享在88MHz到108Mhz的频谱。每个电台都被分批额一个特定的频率带。
链路中频率带的宽度
在分时复用机制中,时间被划分为固定长度的帧,每一帧被划分为一个固定的时间戳(time slots). 当网络在一个链路上建立一个连接之后,网络在每一帧中给这个连接分一个时间戳。
这个时间戳专门就供这一个连接使用。
说了这么半天,好像还是不知道是什么意思?
我们现在假设每个链路有4个电路。
对频分复用来说,the frequency domain被划分为4个带,每个带的宽度为4 kHz.
对分时复用来说,the time domain被划分为帧,每个帧里有4个时间戳,每个电路被赋予某一个特定的时间戳。每个电路的传输速率等于the frame rate * 每个时间戳的bit数。 举个例子,假如链路中每秒传输8000帧,每个时间戳包含8bits, 那么每个电路的传输速率就是64 kbps.
分组交换的提议者经常争议,说电路交换在某些电路是在silent periods(静默期)是空闲的。
举个例子,当一个人在电话里停止说话之后,这个空闲网络的资源(频率带或者时间戳)就不能被其他要来的连接使用)。
好了,确实有这个缺点,我们先不争论了。我们来看一个计算题
Let us consider how long it takes to send a file of 640,000 bits from Host A to Host B over a circuit-switched network.
Suppose that all links in the network use TDM with 24 slots and have a bit rate of 1.536 Mbps.
Also suppose that it takes 500 msec to establish an end-to-end circuit before Host A can begin to transmit the file.
How long does it take to send the file?
Each circuit has a transmission rate of (1.536 Mbps)/24 = 64 kbps(为啥是除以,不知道,以后在知道吧,先记住), so it takes (640,000 bits)/(64 kbps) = 10 seconds to transmit the file. To this 10 seconds we add the circuit establishment time, giving 10.5 seconds to send the file.
Note that the transmission time is independent of the number of links: The transmission time would be 10 seconds if the end-to-end circuit passed through one link or a hundred links.