第2章 网络通信与计算机控制基础
2.1 网络通信基础
2.1.1 网络通信概述
1.通信系统概述
(1)信息
信息是对客观事物特征和运动状态的描述,其形式可以有数字、文字、声音、图形、图像等。
(2)数据
数据是传递信息的实体。通信的目的是为了传送信息,传送之前必须先将信息用数据表示出来。
数据可分为两种:模拟数据和数字数据。用于描述连续变化量的数据称为模拟数据,如声音、温度等;用于描述不连续变化量(离散值)的数据称为数字数据,如文本信息、整数等。
(3)信号
信号是数据在传输过程中的电磁波表示形式。
信号可以分为模拟信号和数字信号两种。模拟信号是一种连续变化的信号,其波形可以表示为一种连续的正弦波,如图2.1(a)所示;数字信号是一种离散信号,最常见也是最简单的数字信号是二进制信号,表示数字“1”和数字“0”,其波形是一种不连续方波,如图2.1(b)所示。
图2.1 模拟信号和数字信号
(4)信道
信道是传输信号的通道,由传输介质及相应的附属信号设备组成。
信道可分为逻辑信道和物理信道。一条线路可以是一条信道(一般称为物理信道),但这条线路上可以有多条逻辑信道,如一条光纤可以供上千人通话,就有上千个逻辑信道。通常所讲的信道都是指逻辑信道。根据信道传输的信号不同,将其分为模拟信道和数字信道。
(5)带宽
数据信号传送时信号的能量或功率的主要部分集中的频率范围称为信号宽带。若通信线路不失真地传送2MHz或10MHz的信号,则该通信线路的带宽为2MHz或10MHz。信道上能够传送信号的最大频率范围称为信道的带宽,信道带宽大于信号带宽。
(6)总线
总线是将信息以一个或多个源部件传送到一个或多个目的部件的一组传输线。通俗地说,就是多个部件间的公共连线,用于在各个部件之间的传输信息。人们常常以MHz来描述总线频率。
2.通信系统组成
通信系统是信息传递所需的一切技术设备和信道的总和。通信系统有很多种类型,按消息的物理特性,通信系统可分为电报通信系统、电话通信系统、数据通信系统和图像通信系统等;按调制方式,又可分为基带传输和频带(调制)传输系统;按传输信号的特征,又可分为模拟通信系统和数字通信系统,等等。无论哪一种通信系统,一般都是由信息源和信息接收者、发送设备、接收设备、传输介质等几个部分组成。典型数字通信系统的一般模型如图2.2所示。
图2.2 数字通信系统的组成
图中各组成部分作用如下:
(1)信息源和接收者
信息源是信息的来源,是信息的产生者。其作用是把各种可能的信息通过相应的传感器转换成原是电信号(称为基带信号)。信息源可根据输出信号的性质不同分为模拟信息源和离散信息源。模拟信息源(如电话机、电视摄像机)输出幅度连续变化的电信号;离散信息源(如计算机)输出离散的数字信号。模拟信息源可通过抽样和量化变换为离散信息源。随着计算机和数字通信技术的发展,离散信息源的种类和数量越来越多。
信息接收者是信息的使用者。在数字通信系统中传输的信息是数据,是数字化的信息。这些信息可能是原始数据,也可能是经计算机处理后的结果,还有可能是某种指令或标志。
(2)发送设备
发送设备的基本功能是将信息源和传输介质匹配起来,即将信息源输出的原是电信号变换为适合在信道中传输的信号。它通常包括编码器和调制器等。对于数字通信系统来说,发送设备的编码常常又可分为信源编码与信道编码两部分。信源编码是把连续信号变换为数字信号,即A/D转换;而信道编码则是为了克服数字信号在信道传输时,由于噪声、衰减以及热干扰引起的差错,按一定的规则在传输的信息码元中加入监督码元,进行差错控制编码。接收端的信道译码器按相应的逆规则进行译码,从中发现错误或纠正错误,从而提高通信系统的抗干扰能力。数字调制是把所传输的数字序列的频谱搬移到适合在信道中传输的频带上,把基带数字信号变换为频带数字信号。
发送设备还要为达到某些特殊要求而进行各种处理,如多路复用、保密处理等。
(3)传输介质
传输介质指发送设备到接收设备之间信号传递所经媒介。它可以是无线的,也可以是有线的(包括光纤)。有线和无线均有多重传输介质,如电磁波、红外线为无线传输介质;各种电缆、光缆、双绞线等为有线传输介质。
介质在传世过程中必然会引起某些干扰,如热噪声、脉冲干扰、衰减等。介质的固有特性和干扰特性直接关系到变换方式的选取。
(4)接收设备
接收设备的基本功能是完成发送设备的反转换,即进行解调、译码、解密等。它的任务是带有干扰的信号中正常恢复出原始信息来,对于多路复用信号,还包括解除多路复用,实现正确分路。
(5)噪声源
噪声源不是人为加入的设备,而是通信系统中各种设备以及传输介质中噪声与干扰的集中表示。
2.1.2 数据编码与传输方式
1.数据编码与调制技术
(1)数据编码类型
模拟数据与数字数据都可以用模拟信号或数字信号来表示和传输。在一定条件下,可以将模拟信号编码成数字信号,或将数字信号编码成模拟信号。其编码信号有4种,如图2.3所示。
图2.3 数字编码类型
(2)数据的调制解调技术
若模拟数据或数字数据采用模拟信号传输,须采用调制解调技术。
在目前的实际应用中,数字信号通常采用模拟通信系统传输,如通过传统电话线上网时,数字信号就是通过模拟通信系统(公用电话网)传输,如图2.4所示。
图2.4 数字信号通过模拟通信系统的传输情况
传统的电话通信信道是为传输语音信号设计的,用于传输300~3400Hz的音频模拟信号,不能直接传输数字数据。为了利用模拟语音通信的传统电话网实现计算机之间的远程通信,必须将发送端的数字信号转换成能够在公用电话网上传输的模拟信号,这个过程称调制;经传输后在接收端将话音信号逆转换成对应的数字信号,这个过程称解调。实现数字信号与模拟信号互换的设备称做调制解调器。
模拟数据编码采用模拟信号来表达数据的0、1状态。幅度、频率、相位是描述模拟信号的参数,可用通过改变这三个参数,实现模拟数据编码。
对数字数据调制有3种基本技术:移幅键控(ASK)、移频键控(FSK)和移相键控(PSK)。在实际应用中,以上3种调制技术通常结合起来使用。
幅度键控ASK中,载波信号的频率、相位不变,幅度随调制信号变化。例如,一个二进制数字信号,在调制后波形表达式为:
SA=anAcosωct
式中 A——载波信号幅度;
ωc——载波频率;
an——二进制数字0或1,当an为1时,SA所描述波形代表数字1;当an为0时,SA=0就代表0。
图2.5(b)表示幅度键控调制后的波形与数据信号关系。
频移键控FSK中,载波信号的频率随着调制信号而变化,而载波信号的幅度、相位不变。例如,在二进制频移键控FSK中,可定义信号0对应的载波频率大,信号1对应的载波频率小,调制后信号波形如图2.5(c)所示。现场总线的HART通信信号即采用这种载波方式。
相移键控PSK中,载波信号的相位随着调制信号而变化,而载波信号的幅度、频率不变。例如,在二进制相移键控PSK中,通常用载波的初相位为0°和180°表示1或0,调制后信号的典型波形如图2.5(d)所示。
图2.5 三种模拟数据编码调制后的信号波形
其他编码调制方法有二进制相移差分相移键控(2DPSK)等,2DPSK采用载波相位传送数字信息,首先对基带信号进行差分编码,即把绝对码变为相对码,然后在进行绝对调相。
(3)数据的编码解码技术
若模拟数据和数字数据采用数字信号传输,须采用编码解码技术。
①模拟数据的编码。在数字化的电话交换和传输系统中,通常需要将模拟语音数据编码成数字信号后再进行传输。通常的一种方法称为脉冲编码调制(Pulse Code Modulation,PCM)技术。
脉冲编码调制技术以采样定理为基础,对连续变化的模拟信号进行周期性采样,以有效信号最高频率的两倍或两倍以上的速率对该信号进行采样,通过低通滤波器可不失真地从这些采样值中重新构造出有效信号。
采用脉冲编码调制把模拟信号数字化的3个步骤如下。
a.采样:以采样频率把模拟信号的值采出,如图2.6所示。
b.量化:使连续模拟信号变为时间轴上的离散值。如在图2.7中采用8个量化级,每个采样值用3位二进制数表示。
c.编码:将离散值变成一定位数的二进制码,如图2.8所示。
图2.6 采样
图2.7 量化
图2.8 编码
【例2.1】一个数字化语音系统,将声音分为128个量化级,用一位比特进行差错控制,采样速率为8000次/s,则一路话音的数据传输率是多少?
解:128个量化级,表示的二进制位数为7位,加一位差错控制,则每个采样值用8位表示。
数据传输率:8000次/s×8位=64kbit/s
②数字数据的编码。数字信号可以直接采用基带传输,基带传输就是在线路中直接传送数字信号的电脉冲,是一种最简单的传输方式,近距离通信的局域网都采用基带传输。基带传输需要解决的问题是数字数据的数字信号表示及收发两端之间的信号同步两个方面。
数字数据的编码方式主要有3种:不归零码(Non-Return to Zero,NRZ)、曼彻斯特编码(Manchester)和差分曼特斯特编码(Difference Manchester)。如图2.9所示。
不归零码可以用负电平表示逻辑“1”,用正电平表示逻辑“0”,反之亦然。NRZ的缺点是发送方和接收方不能保持同步,需采用其他方法保持收发同步。
曼彻斯特编码每一位的中间有一跳变,位中间的跳变既作时钟信号,又作数据信号;从高到低跳变表示“1”,从低到高跳变表示“0”。
差分曼特斯特编码每位中间的跳变仅提供时钟定时,用每位开始时有无跳变来表示数据信号,有跳变为“0”,无跳变为“1”。
两种曼彻斯特编码是将时钟和数据包含在数据流中,在传输信息的同时,也将时钟同步信号一起传输到对方,每位编码中有一跳变,不存在直流分量,因此具有自同步能力和良好的抗干扰性能。但每一个码元都被调成两个电平,所以数据传输速率只有调制速率(码元速率)的1/2。
图2.9 数字信号编码
2.数据传输方式
在数字通信中,按每次传送的数据位数,传输方式可分为并行传输和串行传输两种;按数据传输的同步方式可分为同步传输和异步传输。
(1)并行传输和串行传输
①并行传输
采用并行传输方式时,多个数据位同时在通信设备间的多条通道上传输,并且每个数据位都有自己专用的传输通道。这种传输方式的数据传输速率相对较快,适于在近距离数据传输中用。若在远距离传输中采用这种工作方式,则需要支出较高的费用。如图2.10所示,描述了通信设备之间具有8条传输通道时并行传输的工作情况。
②串行传输
采用串行传输时,数据将按照顺序一位接一位地在通信设备之间的一条通道上传输。由于设备内部往往以并行方式传输数据,所以在数据传输至线路之前先被送入发送端的并/串行转换器,通过这个转换器,数据将逐位传至线路上。而在数据到达目的地时,数据则需先进入接收端的串/并行转换器实现逆转换过程,使数据传输从串行方式转换成并行方式,如图2.11所示。由于这种方式只需一个传输通道,因而具有简单经济、易于实现的特点。与并行传输相比,它在远距离传输与位数较多的情况下具备更为明显的优势。这种方式的不足之处是数据传输速率较低。
图2.10 并行传输
图2.11 串行传输
(2)同步传输与异步传输
在串行传输过程中,数据是一位一位依次传输,而每位数据的发送和接收均需要时钟脉冲的控制。发送端通过发送时钟确定数据位的起始和结束,而接收端为了能正确识别数据,则需要以适当的时间间隔在适当的时刻对数据流进行采样。即接收端与发送端必须保持步调一致,否则将会出现漂移现象,最终导致数据传输出现错误。但要使每个独立的时钟保持同步并非容易。目前,经常采用两种方法来解决这一问题:同步传输和异步传输。
①同步传输
同步传输方式各字符没有起始位和停止位,采用位同步的同步技术。位同步就是接收端接收的每一位数据信息都要和发送端准确地保持同步,实现位同步的方法有外同步和自同步。
外同步法是在发送数据前,发送端向接收端发送一串同步字符SYN或一个同步字节。
自同步法是数据信号波形本身提取同步信号的方法,时钟信号和传输信息同时传输到接收端。如数字信号采用曼彻斯特编码或差分编码,这两种编码本身都是自同步编码。
由于同步方式比异步方式传输效率高,适用于高速传输要求,一般在高速传输数据的系统中采用同步方式。
②异步传输
异步方式又称起止(start-stop)同步方式,这是在计算机通信中常用的同步方式。异步方式中,并不要求收发双端在传送代码的每一比特(位)都同步。例如在字符同步的异步方式传输中,在一串数字符前,设置一个启动用的起始位,预告字符的信息代码即将开始,在信息代码和校验信号(一般总共为8bit)结束后,也设置1~2bit的终止位,表示该字符已结束。终止位也反映了平时不进行通信的状态。当从不传输信息状态转到起始位状态时,在接收端将检测出极性状态的改变,利用这种改变,就可启动定时机构,实现同步。接收端收到终止位,就将定时机构复位,准备接收下一个字符代码。
字符长度=数据(信息位和校验位)+起始位+终止位(终止位有1bit、1.5bit、2bit共3种)。
在异步方式中,一般采用偶校验方式。异步方式实现起来简单容易,频率的漂移不会积累,每个字符都为该字符的位同步提供了时间基准,对线路和收发器要求较低。但缺点是线路效率低,因为每个字符需多占用2~3位的开销。异步方式在低速通信系统获得了广泛的应用。
2.1.3 线路工作方式与信号传输方式
1.通信线路的工作方式
根据数据在通信线路上的传输方向及其与时间的关系,串行数据通信可分为三种方式:单工方式、半双工方式和全双工方式。
(1)单工方式
单工方式只允许数据始终在一个固定方向上传输。如图2.12所示,对于站点A、B而言,只有A能够向传输线路上发送数据,而B却只能从线路上接收数据。也就是说,在这种方式下数据的流向只能是从A到B,而不是从B到A。
(2)半双工方式
半双工方式允许数据在两个方向上传输,但在某一时刻,数据只被允许在一个方向上传输。如图2.13所示,采用半双工方式时,数据可以由A传向B,也可以由B传向A。从这个角度来讲,这种方式似乎是双向工作方式,但由于A、B之间只有一个传输通道,所以信号只能分时传送。换言之,在某一时刻只能进行一个方向的传输,而不能进行双向传输,故将其称为半双工方式。在这种工作方式下,或者A发送数据,由B进行接收;或者B发送数据,由A接收。当不工作时,令A、B均处于接收方式,以便随时响应对方的呼叫。图中的收发转换开关并不是物理开关,而是由软件控制的电子开关。
图2.12 单工方式
图2.13 半双工方式
(3)全双工方式
虽然半双工方式比单工方式灵活,但其效率依然较低,这是因为发送方式和接收方式之间的切换将花费一定的时间,一般需要数毫秒。重复线路切换又将引起相当可观的延迟积累。而采用半双工方式时,同一时刻只能工作在一种方式下的特点正是该方式效率不高的根本原因。解决的方法就是增加一条传输通道,允许数据同时在两个方向上传输,这种方式就是全双工方式。如图2.14所示,站点A、B均可以同时接受数据的接收和发送。正是因为全双工方式下存在两条传输通道,所以不再通过开关的切换便可实现双向传输,从而提高了传输效率。
图2.14 全双工方式
全双工与半双工相比,信号传输速率虽然有很大提高,但是是以增加一条传输通道为代价的,系统的成本也将增加。在实际应用中,特别是在异步通信中,大多数情况是采用半双工方式,虽然系统发送效率较低,但线路简单、实用。
2.通信信号的传输方式
(1)基带传输
基带是原始信号所占用的基带频率,也就是原始数字信号调制以前所占有的频带宽度。基带传输是指在线路上直接传输基带信号或略加整形后进行的传输。
在基带传输中,整个信道只传输一种信号,因此通信信道利用率低。数字信号被称为基带数字信号,在基带传输中,需要对数字信号进行编码后再传输。
基带传输是一种最简单、最基本的传输方式。基带传输过程简单,设备费用低,基带信号的功率衰减不大,适用于近距离传输的场合。在局域网中通常使用基带传输技术。
(2)频带传输
远距离通信信道多为模拟信道,例如,传统的电话(电话信道)只是用于传输音频范围(300~3400Hz)的模拟信号,不适合用于直接传输频带很宽、但能量集中在低频段的数字基带信号。
频带传输就是先将基带信号变换(调制)成便于在模拟信道中传输的、具有较高频率范围的模拟信号(称为频带信号),再将这种频带信号在模拟信道中传输。
计算机网络的远距离通信通常采用的是频带传输。基带信号与频带信号的转换是由调制解调器完成的。
(3)宽带传输
所谓宽带,就是指比音频带宽还要宽的频带,简单地说,就是包括了大部分电磁波频谱的频带。使用这种宽频带进行传输的系统称为宽带传输系统,它几乎可以容纳所有的广播,并且还可以进行高速率的数据传输。
借助频带传输,一个宽带信道可以被划分为多个逻辑基带信道,把声音、图像和数据信息的传输综合在一个物理信道中进行,以满足用户对网络的更高要求。总之,宽带传输一定是采用频带传输技术的,但频带传输不一定就是宽带传输。
“带宽”和“宽带”:宽带是指数据信号传送时所占据的频率范围。描述宽带的单位为“比特/秒”。例如,带宽是10M,实际上是指10Mbit/s。宽带是指比音频带宽还要宽的频带,使用这种宽频带进行传输的系统称为宽带传输系统。宽带是一种相对概念,并没有绝对的标准。
“宽带线路”与“窄带线路”:宽带线路是指每秒钟有更多比特从计算机注入线路。宽带线路和窄带线路上比特的传播速率是一样的。如果用“汽车运货”来比喻“宽带线路”和“窄带线路”,它们的关系如图2.15所示。
“宽带线路”与“并行传输”:有人把宽带线路比喻成“多车道,说数据在宽带线路中传输就像汽车在多车道上跑”,这其实是不正确的,汽车在多车道公路上跑,相当于“并行传输”,而在通信线路上数据通常都是“串行传输”,如图2.16所示。
图2.15 宽带线路和窄带线路的对比
图2.16 宽带线路与并行传输
3.异步传输模式
异步传输模式(Asynchronous Transfer Mode,ATM)是一种新的传输与交换数字信息的技术,也是实现高速网络的主要技术,被规定为宽带业务综合数字网(B-ISDN)的传输模式。支持多媒体通信,包括数据、语音和视频信号,按需分配频带,具有低延迟特性,速度可达155Mbit/s~2.4Gbit/s,也有25Mbit/s和50Mbit/s的ATM技术。
在ATM网络中,所有报文以固定长度的数据单元发送。分报文头(Header)和有效信息域(Payload)两部分。数据单元长度为53字节,报文头为5字节,其余48字节为有效信息域。有效信息域采用透明传输,不执行差错控制。数据流采用异步时分多路复用。
2.1.4 差错控制技术
1.差错的产生
差错就是在数据通信中,接收端接收到的数据与发送端实际发出的数据出现不一致的现象。例如,数据传输过程中位丢失;发出的数据位为“0”,而接收到的数据位为“1”,或发出的数据位为“1”,而接收到的数据位为“0”,如图2.17所示。
差错的产生是由噪声引起的。根据产生原因的不同可把噪声分为两类:热噪声和冲击噪声。
(1)热噪声。热噪声又称为白噪声,是由传输介质的电子热运动产生的,它存在于所有电子器件和传输介质中。热噪声是温度变化的结果,不受频率变化的影响。热噪声在所有频谱中是以相同的形态分布的,它是不能够消除的,由此对通信系统性能构成了上限。
图2.17 差错产生的过程
例如,线路本身电器特性随机产生的信号幅度、频率与相位的畸变和衰减,电气信号在线路上产生反射造成的回音效应,相邻线路之间的串扰等都是属于热噪声。
(2)冲击噪声。冲击噪声呈突发状,常由外界因素引起,其噪声幅度可能相当大,是传输中的主要差错。
例如,大气中的闪电、电源开关的跳火、自然界磁场的变化以及电源的波动等外界因素所引起的都属于冲击噪声。
2.差错控制编码
为了提高计算机通信系统的检错和纠错能力,通常使用各种差错控制编码,下面介绍几种计算机通信中常用的差错控制编码方法。
(1)奇偶校验码
奇偶校验码又称奇偶监督码,也叫垂直冗余校验(Vertical Redundancy Check,VCR),是最简单、最常用和费用最低的差错检错码。其特点是构成简单,而且插入的冗余又低。因此,在实际通信系统中应用最多。奇偶校验编码只需在信息码后加一位校验位(或称监督位),使得码组中“1”的个数为奇数或偶数即可。两种编码的原理相同,效果也相同。在这种编码中,无论信息位有多少,监督位都只有一位。
在奇偶监督码中,它的规则是码组中“1”的个数为奇数或偶数。设码组的长度为n,则奇偶校验满足下列条件:
①偶校验a n-1⊕an-2⊕…⊕a1⊕c0=0 (2.1)
式中,c0为监督码,其他为信息码。
②奇校验 an-1⊕an-2⊕…⊕a1⊕c0=1 (2.2)
奇偶校验码的校验方法也很简单。在接收端,只需按照式(2.1)和式(2.2)将码组中的码元相加(模2),并进行判断即可。在偶校验中,若结果为“0”,则传送无误;否则,传送出错。奇校验的判断与偶校验的判断相反。
值得说明的是,奇偶校验码只能发现奇数个错,对于偶数个错则无能为力。
(2)方正校验码
方正校验码也称行列监督码或纵向冗余校验码(Longitudinal Redundancy Check,LRC),它的码元受到行和列两个监督,行列监督码是二维的奇偶监督码。这种码可以克服奇偶监督码不能发现偶数个差错的缺点,并且是一种用以纠正突发差错的简单纠错编码,其基本原理与简单的奇偶监督码相似,不同的是每个码元要受到纵向和横向两次监督。具体编码如下:将若干个要传送的码组编成一个矩阵,矩阵中每一行为一码组,每行的最后加上一个监督码元,进行奇偶监督;矩阵中的每一列则由不同码组相同位置的码元组成,在每列最后也加上一个监督码元,进行奇偶监督。如果用X表示信息位,表示监督位,则矩阵码的结构如图2.18所示。这样,它的一组监督关系按行及列组成,每一行每一列都有一个奇偶监督码。当某一行(或某一列)出现偶数个差错时,该行(列)虽不能发现,但也只要差错所在行(列)没有同时出现偶数个差错,则这种差错仍然可以被发现。矩阵码只有一种情况不能发现差错,即差错数正好是4的倍数,而且差错位正好构成矩形的四个角。由此可见,矩阵码发现差错的能力是十分强的,但它的编码效率比奇偶监督码要低。
方阵监督码的特点总结如下:
①可以克服奇偶监督码不能发现偶数个差错的缺点;
②常用于纠正突发性出错,但长度有限;
③可使误码率降到原来的1%~0.01%;
④不能纠正差错数正好是4的倍数且位置在矩形的4个角的差错。
(3)循环冗余校验码
在计算机通信中用得最广泛的校验码是一种漏检率很低,也便于实现的循环冗余码(Cyclic Redundancy Code,CRC),CRC码又称多项式码。这是因为,任何一个由二进制数位串组成的代码都可以和只含有0和1两个系数的多项式建立一一对应的关系,即任何一个n位的二进制数都可以用一个n-1次的多项式来表示:
图2.18 矩阵码结构
B(x)=Bn-1xn-1+Bn-2xn-2+…+B1x1+B0x0 (2.3)
例如,二进制数11000001,可写为B(x)=x7+x6+1。此多项式称为码多项式。多项式x5+x4+x2+x对应的串位是110110。
CRC校验的基本思想是利用线性编码理论,在发送端根据需要传送一个n比特的帧或报文,发送器生成一个r比特的序列,称为帧检验序列(FCS)。帧将由(n+r)比特组成,这个帧刚好能被预先确定的数整除。接收器用相同的数去除接收到的帧,如果无余数,则认为无差错。
循环冗余校验与奇偶校验不同,后者是一个字符校验一次,而前者是一个数据块校验一次。在同步串行数据中,几乎都使用这种校验方法。例如HDLC协议以及大部分现场总线协议。
二进制编码多项式的加减运算为模2加减运算,即两个码多项式相加时,对应项系数进行模2加减,所谓模2加减就是各位都不带进位,借位的按位加减。这种加减运算实际上就是逻辑上的异或运算,即加法和减法等价。
B1(x)+B2(x)=B1(x)-B2(x)=B2(x)-B1(x) (2.4)
二进制码多项式的乘除法运算与普通代数多项数的乘除法运算是一样的,符合同样的规律。
B1(x)/B2(x)=Q(x)+R(x)/B2(x) (2.5)
式中,Q(x)为B1(x)除以B2(x)的商,也称整数多项式,R(x)为余数多项式,若能够除尽,则R(x)=0。n位循环码的格式如图2.19所示。
从图2.19中可以看出,一个n位的循环码是由k位信息码加上r位校验码组成的,其中r=n-k。
图2.19 n位循环码
表征CRC码的多项式称为生成多项式G(x)。k位二进制数加上r位CRC码后,即信息位要向左移(n-k)位,这相当于B(x)乘以Xr。XrB(x)被生成多项式G(x)除,得整数多项式Q(x)加上余数多项式R(x)。即
XrB(x)/G(x)=Q(x)+R(x)/G(x)
移项得
XrB(x)-R(x)=Q(x)G(x)
根据式(2.4),上式可写为
XrB(x)+R(x)=Q(x)G(x)=V(x) (2.6)
式(2.6)说明信息多项式B(x)和余数多项式R(x)可以合并成一个新的多项式V(x)(称为循环码的码多项式),则该多项式是生成多项式G(x)的整数倍,即能被G(x)整除。根据这一原理,在发送端用信息码多项式B(x)除以生成多项式R(x),就是要加的监督位。将循环码的码多项式V(x)除以生成多项式G(x),若能除尽,说明传送正确,否则说明出差错。
由以上分析可知,CRC校验的关键是如何求出余数,此余数即为校验码(CRC码)。
【例2.2】已知二进制信息码为110011,设其生成多项式G(x)=x4+x3+1,若按CRC方式,发送方发送的二进制序列是多少?
解:发送数据比特序列110011,生成多项式比特序列11001。将发送数据比特序列乘以24,得1100110000。相除,按模2算法(减法不错位,加法不进位。异或)如下:
所以,发送方发送的序列为1100111001。
CRC生成多项式G(x)由协议规定,目前已有多种生成多项式列入国际标准。
例如:
CRC-16:G(x)=x16+x15+x2+1,美国二进制同步系统中采用。
CRC-CCITT:G(x)=x16+x12+x5+1,CCITT推荐。
CRC-32:G(x)=x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1。
CRC码在发送端的产生和接收端的校验,既可以用软件,也可以用硬件实现。CRC编码简单,纠错能力强,特别适用于检测突发性错误,在计算机通信系统中得到广泛的应用。目前很多超大规模集成电路芯片都具有此功能。
除以上介绍外,还有恒比码、卷积码等差错控制编码,但常用的方法是奇偶检验码和循环冗余码。
3.差错控制方法
差错控制方法主要有两类:反馈重发和前向纠错。
(1)反馈重发检错方法。反馈重发检错方法又称自动请求重发(Automatic Repeater Quest,ARQ),是利用编码的方法在数据接收端检测差错。当检测出差错后,设法通知发送数据端重新发送数据,直到无差错为止,如图2.20所示。ARQ方法只使用检错码。
图2.20 ARQ方法原理图
(2)前向纠错方法。前向纠错方法(Forward Error Correcting,FEC)中,接收数据端不仅对数据进行检测,而且当检测出差错后还能利用编码的方法自动纠正差错,如图2.21所示。FEC方法必须使用纠错码。
图2.21 FEC方法原理
2.1.5 数据交换和多路复用技术
1.数据交换技术
数据经编码后在通信线路上进行传输,最简单的形式是用传输介质将两个端点直接连接起来进行数据传输。但是,每个通信系统都采用把收发两端直接相连的形式是不可能的,一般都要通过一个由多个节点组成的中间网络来把数据从源点转发到目的点,以此实现通信。这个中间网络不关心所传输的数据内容,只是为这些数据从一个节点到另一个节点直至目的节点,一般的交换网络拓扑结构如图2.22所示。
图2.22 交换网络的拓扑结构
○—交换节点;□—工作站
数据交换是多节点网络中实现数据传输的有效手段。常用的数据交换有电路交换和存储交换两种方式,存储交换又可细分报文交换和分组交换。
(1)电路交换
电路交换也叫线路交换,是数据通信领域最早使用的交换方式。通过电路交换进行通信,需要通过中心交换节点在两个站点之间建立一条专用通信链路。
①电路交换通信的3个阶段:利用电路交换进行通信,包括建立电路、传输数据和拆除电路3个阶段。
a.建立电路。在传输任何数据之前,要先经过呼叫过程建立一条端到端的电路。如图2.23所示,若H1站要与H2站连接,H1站先要向与其相连的A节点提出请求,然后A节点在有关联的路径中找到下一个支路B节点,在此电路上分配一个未用的通道,并告诉B节点它还要连接C节点;接着用同样的方法到达D节点完成所有的连接。再由主机H2(被叫用户)发出应答信号给主叫用户主机H1,这样,通信链路就接通了。
图2.23 通信双方物理信息的建立
只有当通信的两个站点之间建立起物理链路之后,才允许进入数据传输阶段。电路交换的这种“连接”过程所需时间(即建立时间)的长短,与连接的中间节点的个数有关。
b.传输数据。电路A—B—C—D建立以后,数据就可以从A发送到B,再由B发送到C,再由C发送到D,D也可以经C、B向A发送数据。在整个数据传输过程中,所建立的电路必须始终保持连接状态。
c.拆除电路。数据传输结束后,由某一方(H1或H2)发出拆除请求,然后逐步拆除到对方节点。
②电路交换技术的特点。
a.在数据传送开始之前必须先设置一条专用的通路,采用面向连接的方式。
b.一旦电路建立,用户就可以以固定的速率传输数据,中间节点不对数据进行其他缓冲和处理,传输实时性好,透明性好。数据传输可靠、迅速,数据不会丢失且保持原来的顺序。这种传输方式适用于系统间要求高质量的大量数据传输的情况,常用于电话通信系统中。目前的公众电话网(PSTN网)和移动网(包括GSM网和CDMA网),采用的都是电路交换技术。
c.在电路释放之前,该电路由一对用户完全占有,即使没有数据传输也要占用电路,因此线路利用率低。
d.电路建立延迟较大,对于突发式的通信,电路交换效率不高。
e.电路交换既适用于传输模拟信号,也适用于传输数字信号。
(2)报文交换
电路交换技术主要适用于传送话音业务,这种交换方式对于数据通信业务而言,有着很大的局限性。数据通信具有很强的突发性。与语音业务相比,数据业务对延时没有严格的要求,但需要进行无差错的传输;而语音信号可以有一定程度的失真,但是实时性一定要高。报文交换(Message Switching)技术就是针对数据通信业务的特点而提出的一种交换方式。
①报文交换原理。报文交换方式的数据传输单位是报文,报文就是站点一次性要发送的数据块,其长度不限且可变。在交换过程中,交换设备将接收到的报文先存储,待信道空闲时再转发给下一节点,一级一级中转,直到目的地。这种数据传输技术称为“存储—转发”。
报文传输之前不需要建立端到端的连接,仅在相邻节点传输报文时建立节点间的连接。这种方式称为“无连接”方式。
②报文交换的特点。
a.在传送报文时,一个时刻仅占用一段通道,大大提高了线路利用率。
b.报文交换系统可以把一个报文发送到多个目的地。
c.可以建立报文的优先权,优先级高的报文在节点可优先转发。
d.报文大小不一,因此存储管理较为复杂。
e.大报文造成存储转发的延时过长,对存储容量要求较高。
f.出错后整个报文必须全部重发。
g.报文交换只适用于传输数字信号。
在实际应用中报文交换主要用于传输报文较短、实用性要求较低的通信业务,如公用电报网。
(3)分组交换
分组交换又称包交换。为了更好地利用信道容量,降低节点中数据量的突发性,应将报文交换改进为分组交换。分组交换将报文分成若干个小组,每个分组的长度有一个上限,有限长度的分组使得每个节点所需的存储能力降低了。分组可以存储到内存中,传输延迟减小,提高了交换速度。它适用于交互式通信,如终端与主机通信。
①分组交换的特点。
a.采用“存储—转发”方式。
b.具有报文交换的优点。
c.加速了数据在网络中的传输。这是因为分组是逐个传输,可以使后一个分组的存储操作与前一个分组的转发操作并行,正是这种流水线式传输方式减少了报文的传输时间。此外,传输一个分组所需的缓冲区比传输一份报文所需的缓冲区小得多,这样因缓冲区不足而等待发送的几率及等待的时间也必然少得多。
d.简化了存储管理。因为分组的长度固定,相应的缓冲区的大小也固定,在交换节点中存储器的管理通常被简化为对缓冲区的管理,相对比较容易。
e.减少了出错几率和重发数据量。因为分组较短,其出错几率必然减少,重发的数据量也就大大减少,这样不仅提高了可靠性,也减少了传输延时。
f.由于分组短小,更适合于采用优先级策略,便于及时传送一些紧急数据。对于计算机之间突发式的数据通信,分组交换显然更为适合些。
②两种分组交换方式。分组交换可细分为数据报和虚电路两种。
a.数据报。在数据报分组交换中,每个分组自身携带足够的地址信息,独立的确定路由(即传输路径)。由于不能保证分组按序到达,所以目的站点需要按分组编号重新排序和组装。如图2.24所示,主机A先后将分组1与分组2发送给主机B,分组2经过S1、S4、S5先到达主机B;分组1经过S1、S2、S3、S5后到达主机B,主机B必须对分组重新排序后,然后才能获得有效数据。
b.虚电路。在虚电路分组交换中,为了进行数据传输,网路的源节点和目的节点之间要先建立一条逻辑通路。每个分组除了包含数据之外,还包含一个虚电路标识符。在预先建立好的路径上,每个节点都知道把这些分组传输到哪里去,不再需要路径选择判定。最后,由其中的某一站用户请求来结束这次连接。它之所以是“虚”的,是因为这条电路不是专用的。
图2.24 数据表
S1~S5—分组交换机;ACK—应答报文分组
在图2.25中,H1与H4进行数据传输,先在H1与H4之间建立一条虚电路S1、S4、S3,然后依次传输分组1、2、3、4、5,到达H4依次接受分组1、2、3、4、5,无需重新进行组装和排序。在数据传输过程中,不需要进行路径选择。
图2.25 虚电路
③虚电路的特点。
a.虚电路可以看成是采用了电路交换思想的分组交换。
b.采用虚电路进行数据传输跟电路交换一样需要三个过程:建立连接、数据传输、拆除连接。但虚电路并不像电路交换那样始终占用一条端到端的物理通道,只是断续地依次占用传输路径上各个链路段。
c.虚电路的路由表是由路径上的所有交换机中的路由表定义的。
d.虚电路的路由在建立时确定,传输数据时则不再需要,由虚电路号标识。
e.数据传输时只需指定虚电路号,分组即可按虚电路号进行传输,类似于“数字管道”。
f.能够保证分组按序到达。
g.提供的是“面向连接”的服务。
h.虚电路又分为永久虚电路PVC和交换虚电路SVC两种。
虚电路分组交换的主要特点是:在数据传送之前必须通过虚呼叫设置一条虚电路。但并不像电路交换那样有一条专用通路,分组在每个节点上仍然需要缓冲,并在线路上进行排队等待输出。
④三种交换方式比较。图2.26所示为电路交换、报文交换和分组交换3种交换方式的数据传输过程。其中A、B、C、D对应图2.23中的节点。
图2.26 三种交换的事件顺序
总之,若要传送的数据量很大,并且传送时间远大于呼叫时间,则采用电路交换较为合适。当端到端的通路有很多段的链路组成时,采用分组交换传送数据较为合适。从提高整个网络的信道利用率来看,报文交换和分组交换优于电路交换,其中分组交换比报文交换的时延小,尤其适合于计算机之间的突发式的数据通信。
2.多路复用技术
多路复用技术是许多单个信号在一条线路上进行传输的技术,其目的是要提高传输介质的使用效率。其作用相当于把单个传输通路划分为多个信道,以实现通信链路的共享。
多路复用技术可分为频分多路复用(Frequency Division Multiplexing,FDM)、时分多路复用(Time Division Multiplexing,TDM)、波分多路复用(Wave Division Multiplexing,WDM)和码分多址复用(Code Division Multiplex Access,CDMA,)。时分多路复用还可以进一步分为同步时分多路复用(TDM)和统计时分多路复用(STDM)。实现多路复用的设备称为多路复用器(MUX)。
(1)频分多路复用
频分多路复用(FDM)通过使用不同的频率,实现在一条传输媒体上(如宽带同轴电缆即电视电缆、微波等)同时传输多路信号的技术。只要通信的设备使用不同的频率,而且这些频率不重叠,那么这个频率都可以被看成一个独立的通信信道,这些设备就可以同时进行通信。频分多路复用器工作原理如图2.27所示,一条传输媒体按频率划分为多个通道,每个通道都有一定的带宽,可支持两台设备之间的数据传输,各通道之间没有重叠,若传输媒体的频率宽度超过信号传输所需要的频率宽度,则考虑采用这种方法。频分多路复用器是一个模拟过程,多用于模拟信号的传输。
图2.27 频分多路复用
(2)同步时分多路复用
同步时分多路复用(TDM)是将传输媒体的传输能力或传输速率按时间划分成时间片(即一小段时间),把每个时间片固定地分配给需要通信的每台设备,这样利用设备在时间上的交叉,就可以在一条传输媒体上传输多路数据信号。
如图2.28所示,通道被分割为三个时间片1、2、3,计算机1、2、3只能在分配给它们的时间片上发送数据,若没有数据或没有准备好数据发送,那么分配给它的时间片上就没有任何数据,即时间片是空的。由于时间片是预先按次序分配给每一台设备的,而且固定不变,所以这种TDM又被称为同步TDM。
图2.28 同步时分多路复用
(3)统计时分多路复用
同步时分多路复用把时间片固定地分配给某台设备。这样就会产生一个问题:即使该设备没有数据要传送,但仍然不断有时间片分配给它用,而另一台有大量数据需要传输的设备只能等待分配给它的时间片到来才行。显然,这是一种对系统资源的浪费。
统计时分多路复用(STDM)是对同步时分多路复用的一种改进,采用只能分配时间的方法,即根据发送方的要求动态地分配时间片。如图2.29中的三个设备并不是每时每刻都在发送数据。统计时分多路复用器根据需求动态地分配时间片。复用器扫描各条输入线路,只要有数据传送就分配时间片,没有数据传送则继续扫描下一线路而不分配时间片,循环往复直到扫描完所有的输入线路。当复用器进行第一次扫描时,只有设备3有输入数据,因此第一帧只有一个时间片。第二次扫描,发现设备1、2、3都有输入数据,因此第二帧具有3个时间片。同样道理,第三帧具有三个时间片,第四帧具有两个时间片,STDM帧的长度可以是不固定的,同时,时间片的位置也不再是固定的。为了使接收端的复用器能正确分离各路数据,就必须使每一时间片带有地址信息,也就是说,每个数据中既包含数据又包含地址。所以,STDM的每个时间片存在额外开销。
(4)波分多路复用
波分多路复用(WDM)技术主要用于光纤传输介质。该方法与频分多路复用相似,只不过它是利用不同波长的光在一条光纤上传输多路信号。波分多路复用技术起步较晚,直到有了合适的光源以后才得到了发展。该方法采用两种分光技术,可在一条光纤上发送、传输多路信号,每路信号使用不同波长的光。由于光纤的传输容量大,如果采用WDM技术就可在一条光纤中同时传输数据、语音、图像等多路信号,从而在网络上提供高性能的综合服务。
(5)码分多址复用
码分多址复用(CDMA)是一种共享信道的方法,是一种全新的技术,在CDMA系统中,发送端用互不相干、相互正交(准正交)的地址去调制所需发送的信号,接收端则利用码型的正交性,通过地址从混合的信号中选出响应信号。码分多址复用最初是用于军用通信,因为这种系统发送的信号有很强的抗干扰能力,其频谱类似于白噪声,不易被发现。CDMA技术主要用在无线电通信系统,如移动通信。它不仅可以提高通信的语音质量和传输的可靠性,减少干扰对通信的影响,而且增加了通信系统的容量。
图2.29 统计时分多路复用