数据交换
网络核心解决的基本问题:通过数据交换来实现数据从源主机通过网络核心送达目的主机。
为什么需要数据交换?如果两台主机需要通信的话,最直接的方法是使用通信链路连接任意一对主机,这会导致
N
2
N^2
N2 链路问题,在成本和技术方面都是不可行的;如果将每台主机与一台交换设备相连,这样每台主机仅需要一条链路,交换设备可以实现这些主机之间的数据转发,但局限于网络规模及主机间的距离;为了保证连通性并且适应不同的网络规模,于是将交换设备互连在一起形成交换网络,主机与交换网络中的某台交换设备相连,交换网络负责将数据转发至目的主机。
数据交换从技术分类上来看,可以大致分为三大类:电路交换、报文交换、分组交换。
电路交换
最典型电路交换网络:电话网络。
电路交换的三个阶段:
(1)建立连接(呼叫、电路建立)
(2)通信
(3)释放连接(拆除电路)
电路交换在通信过程中最显著的特点是资源独占,通信连接通过多路复用技术(Multiplexing)来共享中继线,因此电路交换网络才能够同时进行多路通信。
多路复用技术
多路复用(Multiplexing),简称复用,将链路、网络资源(如带宽)划分为“资源片”,将资源片分配给各路通信,每路通信独占其分配到的资源片进行通信。
也就是说资源独占其实是多路复用技术的特点,电路交换网络由于采用了多路复用技术,所以也具有资源独占的特点。
缺点:由于资源片被独占,当建立的连接不使用该资源传输数据时,这样的资源片被闲置(idle)。
典型的多路复用技术:频分多路复用、时分多路复用、波分多路复用、码分多路复用。
频分多路复用 FDM
频分多路复用(Frequency-division multiplexing,FDM),是指载波带宽被划分为多种不同频带的子信道,每个子信道可以并行传送一路信号的一种多路复用技术(共享时间)。
用户在分配到一定的频带后,在通信过程中始终都占用这个频带,例如下图中四个不同颜色代表四个用户所占用的频带。
时分多路复用 TDM
时间域被分成周期循环的等长的时分复用帧(TDM 帧),每个用户在每个 TDM 帧中占用固定序号的时隙,每个用户所占用的时隙是周期性出现(其周期就是 TDM 帧的长度)。
时分多路复用的所有用户是在不同的时间占用相同的频带宽度(共享信道的频率)。
波分多路复用 WDM
波分复用就是光的频分复用,波分复用的实质就是频分复用。
码分多路复用 CDM
CDM 与 FDM(频分多路复用)和 TDM(时分多路复用)不同,它划分编码空间,它既共享信道的频率,也共享时间,是一种真正的动态复用技术。码分多路复用广泛应用于无线链路共享,如蜂窝网、卫星通信等。
每个用户分配一个唯一的
m
m
m 比特的码片序列(chipping sequence),其中 “0” 用 “-1” 表示,“1” 用 “+1” 表示,各用户使用相同频率载波,利用各自码片序列编码数据,编码信号=(原始数据)× (码片序列):
- 发送比特 1(+1) 时站点就发送码片序列;
- 发送比特 0(-1) 时就发送码片序列的反码。
当两个或多个用户同时发送时,各路数据在信道中被线性相加。为了从信道中分离出各路信号,要求各用户的码片序列是相互正交的,即对任意两个用户的码片序列
S
i
,
S
j
S_i,S_j
Si,Sj,应满足:
1
m
S
i
⋅
S
j
=
{
1
,
i
=
j
0
,
i
≠
j
1
m
S
i
⋅
S
j
‾
=
{
−
1
,
i
=
j
0
,
i
≠
j
\frac{1}{m}S_i \cdot S_j = \left\{ \begin{array}{ll} 1, & i=j \\ 0, & i \neq j \end{array} \right. \ \ \ \ \ \ \ \ \ \ \ \frac{1}{m}S_i \cdot \overline{S_j} = \left\{ \begin{array}{ll} -1, & i=j \\ 0, & i \neq j \end{array} \right.
m1Si⋅Sj={1,0,i=ji=j m1Si⋅Sj={−1,0,i=ji=j其中
S
j
‾
\overline{S_j}
Sj 是码片序列
S
j
S_j
Sj 的反码。
令
{
d
i
}
\{d_i\}
{di} 为发送的原始数据序列,各用户的叠加向量为:
P
=
∑
i
=
1
N
d
i
⋅
S
i
P=\sum_{i=1}^{N}d_i \cdot S_i
P=i=1∑Ndi⋅Si接收用户利用发送用户的码片序列与信道中的叠加向量进行内积运算,就可以得到对应用户发送的数据(解码):
1
m
S
i
⋅
P
=
{
1
,
S
i
∈
P
−
1
S
i
‾
∈
P
0
,
S
i
,
S
i
‾
∉
P
\frac{1}{m}S_i \cdot P= \left\{ \begin{array}{ll} 1, & S_i \in P \\ -1 & \overline{S_i} \in P \\ 0, & S_i,\overline{S_i} \notin P \end{array} \right.
m1Si⋅P=⎩⎨⎧1,−10,Si∈PSi∈PSi,Si∈/P举例:
报文交换
报文指源主机(应用)发送的信息整体,如一个文件,报文整个地发送,一次一跳,报文交换是分组交换的前身。
每一个结点接收整个报文,检查目标结点地址,然后根据网络中的交通情况在适当的时候转发到下一个结点。经过多次的存储——转发,最后到达目标,因而这样的网络叫存储——转发网络。其中的交换结点要有足够大的存储空间(一般是磁盘),用以缓冲收到的长报文。
分组交换
分组:报文分拆出来的一序列相对较小的数据包,在拆分出的原始数据加上头部信息形成一个分组。因此,分组交换需要报文的拆分(源主机处)和重组(目的主机处),也会产生额外开销。
分组交换采用的是统计多路复用(Statistical Multiplexing),各用户所占用的共享链路带宽并不是事先分配好的,而是采用动态分配带宽的方式:对于分组队列中的每一个分组,都是使用链路的全部带宽进行传输;但从统计角度来说,如果某用户发送的数据多,那么它所占用的共享链路带宽也要多,即按需共享链路。
分组交换与报文交换都采用了存储-转发交换方式:
- 报文交换以完整报文进行“存储-转发”
- 分组交换以较小的分组进行“存储转发”
- 分组交换中的交换节点(路由器)大部分时间可以并行地转发分组,而报文交换只能串行转发报文,且分组交换交换节点所需的缓冲空间要小于报文交换,从这点来看,分组交换要优于报文交换。
分组交换与电路交换:
- 电路交换采用 FDM、TDM 等多路复用技术,而分组交换采用的是统计多路复用。
- 分组交换允许更多用户同时使用网络,网络资源充分共享,因此分组交换适用于突发数据传输网络。
- 分组交换无需呼叫建立、拆除,技术相对简单。
- 分组交换可能产生拥塞:分组延迟和丢失,需要协议处理可靠数据传输和拥塞控制。
- 电路交换是面向语音实时交互通信提出的,在分组交换网络中实现电路级性能保障还有很多问题需要解决。