数据交换类型
从主机A把数据送到主机B最简单的技术便是AB之间连接一条链路,直接通信即可,但是网络接入边缘(终端)越来越多,网络越来越复杂,如果采用主机之间直接相连的方式,最终需要的链路数量是(N为主机数量)
这个成本(经济,技术)非常高且复杂,为了解决这个技术,引入了交换机。
这就需要交换技术。目前主要有三类数据交换类型:
- 电路交换
- 报文交换
- 分组交换
电路交换
说明
最典型的电路交换网络:电话网络。
电路交换的三个阶段:
- 建立连接(呼叫/电路建立)
- 通信
- 释放连接(拆除电路)
电路交换最显著的特点:独占资源。独占后如何被多路通信进行共享呢,这类技术便是多路复用技术。
多路复用技术
多路复用multiplexing。物理链路的通信能力远远大于一路通信所需要的能力,通过复用提高信道利用率,同时各个通信线路之间又互不影响,这便是多路复用所要解决的问题。
- 将整个链路资源划分为资源片
- 将资源片分配给各路呼叫
- 每路呼叫独占分配到的资源片
目前典型的多路复用技术有三种: - 频分多路复用(frequency division multiplexing FDM)
- 时分多路复用(time division multiplexing TDM)
- 码分多路复用(code division multiplexing CDM)
- 波分多路复用(Wavelength division multiplexing WDM)
频分多路复用
将信道资源按照频率进行划分成子信道,频率之间相互隔离,互不干扰,让每个使用方独占某个子信道(每个频率)。当使用方被分配到某个频率后,可以一直使用这个频率。
典型应用,有线电视,fm调频收音机等。
时分多路复用
时分复用是将时间划分为一段段等长的时分复用帧(TDM帧),每个用户在每个TDM帧中占用固定序号的时隙,时隙周期性出现。
时分复用用户在不同时间占用相同的频带带宽。
码分多路复用
既不划分时间,也不划分频率。
给每一个用户分配一个唯一的m bit的码片序列(chipping sequence),其中0用-1表示,1用+1标识。eg,某站的码片序列为(-1-1-1+1+1-1+1+1)。
每个用户使用相同的频率进行发送。但是需要对数据用各自的码片序列进行数据编码。
编码信号=(原始数据)*(码片序列)
- 如发送比特1(+1),则发送m bit的码片序列
- 如发送比特0(-1),则发送m bit的码片序列的反码
如何保证共享信道互不干扰,数据不碰撞,不重复:需要各用户的码片序列相互正交。
所有用户同时采用相同的频率进行发送,所以接收方收到数据是一个所有用户的叠加数据,如果接收方想收取某用户的数据,而不受其他用户的影响,该如何接收呢:数据解码
解码:发送方用户的码片序列和收到叠加数据进行内积用算。内积结果:
- 1 说明发送方发送了1
- -1 说明发送方发送了0
- 0 说明不是该码片序列对应的发送方发送的数据。
典型应用:蜂窝网,卫星通信。
波分多路复用
波分复用其实就是频分复用,不过是以光波的波长进行了划分。
报文交换、分组交换
在整个数据传输过程中,整个报文一次性从源主机发送到下一个相邻节点。典型应用:电报。
将整个报文拆分为一系列相对比较小的数据包,然后进行传输。最终在接收方再进行重组,目前Internet传输就采用的分组交换。
统计多路复用
报文交换和分组交换都无需提前建立连接,而是直接进行发送,这种技术叫做统计多路复用(statistical multiplexing),按需使用,占用全部链路带宽,有很强的随机性。
存储转发(store-and-forward)
接收到数据后先存储,然后进行路由,确定发送链路,如果发现链路可用,则进行发送。
报文交换和分组交换比较
结论:性能问题,分组使得网络资源进一步得到应用(大量设备在同时发送数据)。
报文交换中,如果传输路径是A,B,C,D。
- 报文交换中,A在传输的时候,BCD都在闲置状态
- 分组交换中,A、B、C、D都在同时传输报文。
一般性公式
报文大小:M bits
链路带宽:R bps
分组大小:L bits
跳步数量:h
路由器数:n,n=h-1
分组交换需要的时间:
[T=M/R+(h-1)L/R=M/R+nL/R ]报文交换需要的时间:
[T=hM/R=(n+1)M/R ]
由此可见随着网络链路的增加,路由器数量的增加,报文交换的性能急剧下降,分组交换势在必行
分组交换和电路交换比较
网络应用的突发性,大部分时间并不需要一直占用链路,比如上网浏览网页,只需要在网页下载的时候才需要网络,浏览网页的时间是不需要网络链路的。
分组交换允许更多用户同时使用网络。网络资源利用率高。
分组交换适用于突发性的数据网络传输网络。上网,发邮件。
由于没有提前建立链接,没有提前分配资源,分组交换很可能会导致网络拥塞,最终产生分组延迟和丢失(需要相关协议进行保证和处理比如TCP)。