第1章 物理层浅说
提起物理层,最先映入脑海的可能就是网线。但物理层绝对不是网线(双绞线)这么简单。从某种意义上说,网络模型中的物理层是学习过程中最容易忽略的一层。但是,物理层是涉及物理学、数学、材料学等较多知识的一个层。比如著名的香农(Shannon)定理就与物理层密切相关。不过从掌握基本概念和基础学习的角度来看,可暂时忘记物理层,从最基本的通信系统切入,不失为一种较好的方法。
1.1 通信系统基本模型
我们日常的电话、视频、微信等,都属于通信。这些通信场景形态各异、千差万别,但是抽象地看,其背后都符合一个通信系统的基本模型,如图1-1所示。
图1-1 通信系统基本模型
信源指信息的发送方,信宿指信息的接收方。在图1-1中,信源、信宿及中间的信号传输(网络)都是非常抽象的,它甚至可以指代一条狗、一只猫和“以太”(古希腊哲学家亚里士多德所设想的一种物质)。
狗(信源)与猫(信宿)的对视,通过眼神交流,它们之间为“光通信”,其信号传输网络则是“以太”。
在图1-1中,却有两个不那么抽象的模块:编码和调制/解调这两个模块其实并不那么抽象,是因为我们要讲述的还是计算机通信,而不是完全抽象的通信系统。另外,编码、调制、解调,虽然不像TCP/IP那样显山露水,却是通信系统非常基础的部分。尤其是编码,是基础的基础。
1.1.1 编码
通过网络,我们可以获取很多信息,然而网络中“跑”的一般都是数字信号。数字信号就是以常见的二进制数字表示的信号,类似于“0101”这样的比特流。假设,用高(正)电平表示1,用低(零)电平表示0,信源要发送一串比特流“1010110”给信宿,则其信号传输如图1-2所示。
图1-2 发送比特流
在图1-2中,信源将数据“1010110”转换为固定时间间隔(周期为T)的信号进行发送,网络传输对原始脉冲信号没有做任何改变(也没有任何衰减和噪声干扰),信宿接收到脉冲信号以后,需要将这些脉冲信号进行还原,得到原始信息(1010110),这就要求信宿和信源的时钟要同步。
时钟同步是通信系统中一个重要且涉及知识面极广的话题,由于本书主题是协议,因此这里不进行详述。可以这样简单理解时钟同步:信宿还原信号的频率与信源发送信号的频率要相同。图1-3描述了时钟同步与不同步的情形。
在图1-3中,当时钟同步时,信宿和信源的时钟频率相同,即T2 = T1,所以信宿能够正确地还原出信源发送的数据(1010110);而当时钟不同步时,信宿的时钟周期是信源的2倍,即T2 = 2T1,此时数据传输就会出错。
时钟同步是网络通信中一个非常重要的基础条件,其定义如下:信宿端的定时时钟频率与其所接收的码元的速率完全相同,并且定时时钟信号与所接收的码元信号的频率保持固定的最佳相位关系。信宿端获得或产生符合这一要求的定时信号的过程称为时钟同步(或称为位同步或比特同步)。
该定义包含以下几层含义。
信宿端的时钟与其所接收的码元(信号)频率必须相同。
信宿端可通过某种方法获得这个频率:信源端专门发送同步信息(称为导频),信宿端从导频信号中提取出时钟频率,也称为外同步法。
信宿端也可从其所接收的码元(信号)中提取出该频率,而不需要额外的导频信号,也称为自同步法。
1. 归零编码
归零编码(Return Zero Encoding,RZ编码)就是将一个信号周期T分为两个部分:T1时段用以表达(传输)数据,T2时段用以将信号电平归零,如图1-4所示。
图1-4 RZ编码(单极性)
图1-4中,RZ编码就是利用T2时段内的归零信号表达(传输)时钟信号,其优点是不需要额外的导频信号;缺点是传输效率下降,其传输效率只有T1/T。就传输效率而言,自同步(信号里包含时钟信息)可能更具优势。
RZ编码分为单极性归零编码和双极性归零编码。图1-4表示的就是单极性归零编码,它用高电平表示1,用低电平表示0。而双极性归零编码则用正(高)电平表示1,负(低)电平表示0,更容易看出归零的效果,如图1-5所示。
图1-5 RZ编码(双极性)
2. 不归零编码
不归零编码(None Return Zero Encoding,NRZ编码)表示传输完一个码之后电压不需要回到0,如图1-6所示。
NRZ编码的优点是传输效率是100%,缺点是信号中没有包含时钟信息。NRZ编码若想传输高速同步数据,基本上都要带时钟线(异步低速传输可以没有),这是额外的负担。
3. 反向不归零编码
RZ编码自带时钟信息,但是传输效率相对较低;而NRZ编码传输效率高(100%),但是不能自带时钟信息。反向不归零编码(Non Return Zero Inverted Encoding,NRZI编码)则解决了RZ/NRZ编码的矛盾:既能自带时钟信息,又能高效传输,如图1-7所示。
NRZI编码的规则是:与前一个信号对比,如果相同,则为1;如果不同,则为0。
极端情况下,如果发送一串全0的比特流,如“0000000”,则NRZI编码会变成图1-8所示。
图1-7 NRZI编码 图1-8 NRZI编码(全0比特流)
需要特别说明,NRZI编码“害怕”全1比特流,因为如果“全1”,则无法提取时钟信息。其解决方案是在一定数量的1后面插入一个0,然后在解码时再将这个0删去除。例如,著名的USB 2.0协议就规定在7个1后面插入一个0。如果要发送8个1(11111111),那么其NRZI编码如图1-9所示。
图1-9 NRZI编码(8个1的比特流)
4. 曼彻斯特编码
曼彻斯特编码(Manchester Encoding)也称为相位编码(Phase Encoding,PE)。前文介绍的RZ、NRZ、NRZI编码都以电平高低来表达数字信号,而曼彻斯特编码则以电平跳变来表达数字信号,如图1-10所示。
图1-10 曼彻斯特编码关于比特的标识
图1-10表述了曼彻斯特编码两种定义数字信号比特1/0的方法(现在这两种定义都有应用),如下所述。
①IEEE 802.3(以太网)、IEEE 802.4(令牌总线)中规定, 低-高电平跳变表示1, 高-低电平跳变表示0。
②G. E. Thomas、 Andrew S. Tanenbaum于1949年提出,低-高电平跳变表示0,高-低电平跳变表示1。
对于“1010110”的曼彻斯特编码如图1-11所示。从图中可以看出,曼彻斯特编码的传输效率与R2编码一样,也是有损传输,没有达到100%。
图1-11 曼彻斯特编码(1010110)
5. 差分曼彻斯特编码
差分曼彻斯特编码关于比特的标识如图1-12所示。
图1-12 差分曼彻斯特编码关于比特的标识
对于“1010110”的差分曼彻斯特编码,如图1-13所示。从图可以看出,差分曼彻斯特编码的传输效率与曼彻斯特编码一样,也是有损传输效率,没能达到100%。
图1-13 差分曼彻斯特编码(1010110)
1.1.2 码元
码元在通信中也是非常基础的概念,其定义如下:在数字通信中常用时间间隔相同的符号来表示一个二进制数字,这样的时间间隔内的信号称为(二进制)码元。
也有另一种描述是:在使用时间域(或简称为时域)的波形表示数字信号时,代表不同离散数值的基本波形就称为码元。
如图1-14所示,其表达的其实就是NRZ编码。用高电平(电压为E)表示二进制数字1,用低电平(电压为0)表示二进制数字0,而高电平/低电平的持续时间为T。也就是说,持续时间为T的电压E,或者持续时间为T的电压0,均被称为码元。
图1-14 码元的通俗解释
在图1-14中,一个码元携带一个比特信息(E等价于1,0等价于0),也有一个码元携带多个比特信息的情况,如图1-15所示。
码元有2E、E、-E、-2E,分别代表01、00、10、11,即1个码元可以携带2个比特信息。
码元所表达的含义是:计算机(广义的计算机)只能处理0/1这样的二进制数字,即信号只有2个状态,但是网络传输的信号不只有2个状态,也可以有4个状态,也可以有更多的状态。
码元与第1.1.1节中所介绍的编码方法并不矛盾,两者可以结合起来使用。例如,用图1-15所表示的码元,基于NRZ编码表达“10101100”这8个比特,如图1-16所示。
图1-15 1个码元携带2个比特信息 图1-16 码元与NRZ编码(10101100)
1.1.3 调制与解调
从网络中传输的信号的“本源”的角度来看,信号分为两种:基带信号(基本频带信号)、带通信号。
基带信号就是来自信源的信号,其没有做任何处理。计算机从网卡输出的信号属于基带信号。基带信号往往包含有较多的低频成分,甚至有直流成分,而许多信道(1.1.4小节会介绍这个概念,这里暂且理解为传输线路)并不能传输这种低频分量或直流分量,因此必须对基带信号进行调制(Modulation)。
带通信号就是基带信号经过载波调制后的信号,其目的是把信号的频率范围搬移到较高的频段,以便在信道中传输。
载波就是载着基带信号的波(信号)。载波一般是高频波,以正弦波为例,其波形如图1-17所示。
图1-17 载波示例
(1)调制
调制即载波承载基带信号的方式,包括调幅、调频、调相3种,如图1-18所示(假设基带信号是数字信号)。
图1-18 调幅、调频、调相
调幅(Amplitude Modulation,AM),就是用载波信号的不同振幅来表达基带信号的信息(数字信号中的0/1)。
调频(Frequency Modulation,FM),就是用载波信号的不同频率来表达基带信号的信息。
调相(Phase Modulation,PM),就是用载波信号的相位来表达基带信号的信息。
展开