欢迎大家微信扫描左侧二维码或微信搜索“IT工匠”关注本人公众号,公众号内含有大量计算机相关资源。
彩蛋
计算机网络谢希仁第七版原版ppt获取方式:公众号后台回复”N3“即可获取。
本文主要内容(关注微信公众号"IT工匠",后台回复"N4-1"获取xmind源文件以及本文原文markdown文件):
物理层的基本概念
物理层上传输的数据单位是比特,即如果发送方发送了1,接收方就应该收到1,如果发送方发送了0,接收方就应该收到0,所以物理层需要考虑用多大电压代表0、多大电压代表1,以及接收方如何识别发送放发出的比特。物理层还需要确定连接电缆的插头应该有多少根引脚以及各引脚应该如何连接。
注意:传递信息所利用的一些物理媒介,比如双绞线、同轴电缆等不在物理层协议范围之内,其应该在物理层之下,有人也将其称为第0层。
所以,物理层考虑的是怎样才能在各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体。
现代计算机网络中的硬件设备和传输媒体种类十分多,物理层的作用就是要尽可能屏蔽掉这些传输媒体和通信手段的差异,使物理层上面的数据链路层感受不到这种差异,这样数据链路层就可以仅考虑本层的协议和服务,而不必考虑具体的传输媒体和通信手段。
物理层协议也称为物理层规程。
具体来说,物理层的主要任务为确定与传输媒体的接口有关的一些特性,包括:
-
机械特性
指明接口所用接线器的形状与尺寸、引脚数目和排列、固定和锁定装置等。
-
电气特性
指明在接口电缆的各条线上的电压的范围。
-
功能特性
指明某条线上出现的某一电平的电压的意义。
-
过程特性
指明对于不同功能的各种可能事件的出现顺序。
数据通信的基础知识
数据通讯系统的模型
从上图可以看到,一个典型的数据通讯系统包括三部分:
- 源系统
- 传输系统
- 目的系统
具体的:
源系统
源系统主要包括两部分:
- 源点(source) 源点设备产生要传输的数据,源点又称源站、信源。
- 发送器 编码源点产生的数据,以便传输系统进行传输。典型的发送器就是调制器。
传输系统
位于源系统和目的系统之间,负责数据的传输,可以使简单的传输线,也可以是连接在源系统和目的系统之间的复杂网络。
目的系统
目的系统主要包括两部分:
- 接收器 接收传输系统传过来的信号,并将接收到的信号转换为能被目的设备处理的信息。他的功能和源系统中的发送器是相对的,发送器负责编码,接收器负责解码。典型的接收器就是解调器。
- 终点(destination) 终点设备从接收器获取到传来的数字比特流,然后把信息输出(比如显示在屏幕上或存储在文件中)。终点又称目的站、信宿。
几个常用术语
消息(message):通信的目的是传送消息,比如语音、文字、图像、视频等都是消息。
数据(data):运送消息的实体。
信号(signal):数据的电气或电磁的表现。
信号的分类:
- 模拟信号 也称连续信号,代表消息的参数的取值是连续的。
- 数字信号 也称离散信号,代表消息的参数的取值是离散的。
有关信道的几个基本概念
信道和电路的区别:信道一般都是用来表示某一方向传送信息的媒体,因此一条通信电路往往包含一条发送信道和一条接收信道。
通信的方式
从通信的双方信息交换的方式来看,有三种基本方式:
-
单工通信
也称单向通信,只能有一个方向的通信而没有反方向的交互,比如无线电广播就是这种方式。
-
半双工通信
也称双向交替通信,通信双方都有可发送信息,但是不能同时发送,也就是说同一时间最多只能有一方发送信息。
-
全双工通信
也称双向同时通信,通信双方可以同时发送和接收消息。
来自信源的信号常称为基带信号,即基本频带信号。像计算机输出的代表各种文字或图像文件的数据信号都属于基带信号,基带信号含有较多的低频成分,甚至有直流成分,而许多信道都不能传输这种低频分量或者直流分量,为了解决这一问题,必须对基带信号进行调制(modulation)。
调制(modulation)
调制分为两大类:
-
基带调制
仅仅对基带信号的波形进行变换,使它能够与信道特性相适应,变换后的信号仍是基带信号,由于这种基带调制是把数字信号转化为另一种形式的数字信号,因此大家更愿意把这种过程称为编码(coding)。
-
带通调制
需要用**载波(carrier)进行调制,把基带信号的频率范围搬移到较高的频段,并转化为模拟信号,这样就能更好地在模拟信道中传输。经过载波调制后的信号称为带通信号(**即仅在一段频率范围内能够通过信道)。
常见的编码方式
- 不归零制:正电平代表1,负点评代表0
- 归零制:正脉冲代表1,负脉冲代表0
- 曼彻斯特编码:位周期中心的向上跳变代表0,位周期中心的向下跳变代表1.但是也可以反过来定义
- 查分曼彻斯特编码:在每一位的中心处始终有跳变,位开始边界跳变代表0,位开始便捷没有跳变代表1
从波形图上看,曼彻斯特编码产生的信号频率比不归零制的信号频率高,且可以从本身中提取信号时钟频率(这叫做有自同步能力)。
基本的带通调制方法
- 调幅(AM) :载波的振幅随系带数字信号而变化,例如0或1分别对应于无载波或有载波输出。
- 调频(FM):载波的频率随基带数字信号而变化,例如0或1分别对应于频率f1和f2
- 调相(PM):载波的初始相位随基带数字信号而变化,例如0或1分别对应于相位0或180度
信道的极限容量
虽然信号在信道上传输时会不可避免地失真,但在接收端只要我们从失真的波形中能够识别出来原来的信号,那么这种失真对通信质量就没有影响,如上图a便是信号虽然有失真但是在接收端还可以恢复出原来的码元,图b表示信号失真到接收端已经不能恢复出原来的码元。
码元传输的速率越高、信号传播的距离越远、噪声干扰越大、传输媒体质量越差,在接收端的波形失真就越严重。
从概念上将,限制码元在信道上的传输速率的因素有两个:
信道能通过的频率范围
信道能通过的频率范围总是有限的,信号中的频率过高或过低都往往不能通过信道。像图4中的发送信号波形是一种典型的矩形脉冲信号,它包含很丰富的高频分量。如果信号中的高频分量在传输时受到衰减,那么接收端受到的波形的前沿和后沿就变得不那么陡峭,每一个码元所占的时间界限也就不再那么明显,而是前后都脱了"小尾巴",就像图4中a部分的接收信号波形那样,这种现象叫做码间干扰。
针对这一现象,1924年奈奎斯特推导出了著名的奈氏准则,给出了为了避免码间干扰,码元传输速率的上限值,具体的公式推导在这里不再赘述,感兴趣的同学可自行查阅资料,这里只要记住:
在任何信道中,码元传输的速率是有上限的,传输速率超过此上限,就会出现严重的码间干扰,使接收端无法对码元做出正确的识别和判决。
如果信道的频带越宽,也就是能够通过的信号高频分量越多,那么就可以用更高的速率传送码元而不出现码间干扰。
信噪比
噪声存在于所有的电子设备和通信信道中。
噪声是随机产生的,它的瞬时值有时会很大,因此噪声会使接收端对码元的判决产生错误。 但噪声的影响是相对的。如果信号相对较强,那么噪声的影响就相对较小。
信噪比就是信号的平均功率和噪声的平均功率之比。常记为S/N,并用分贝 (dB) 作为度量单位。即:
信
噪
比
(
d
B
)
=
10
l
o
g
10
(
S
/
N
)
(
d
B
)
信噪比(dB) = 10 log10(S/N ) (dB)
信噪比(dB)=10log10(S/N)(dB)
例如,当S/N=10时,信噪比为10dB,而当S/N=1000时,信噪比为30dB。
1984年,香农 (Shannon) 用信息论的理论推导出了带宽受限且有高斯白噪声干扰的信道的极限、无差错的信息传输速率(香农公式)。 信道的极限信息传输速率 C 可表达为:
C
=
W
l
o
g
2
(
1
+
S
/
N
)
(
b
i
t
/
s
)
C = W log2(1+S/N) (bit/s)
C=Wlog2(1+S/N)(bit/s)
其中:
- W 为信道的带宽(以 Hz 为单位);
- S 为信道内所传信号的平均功率;
- N 为信道内部的高斯噪声功率。
香农公式表明:
-
信道的带宽或信道中的信噪比越大,则信息的极限传输速率就越高。
-
只要信息传输速率低于信道的极限信息传输速率,就一定可以找到某种办法来实现无差错的传输。
-
若信道带宽 W 或信噪比 S/N 没有上限(当然实际信道不可能是这样的),则信道的极限信息传输速率 C 也就没有上限。
-
实际信道上能够达到的信息传输速率要比香农的极限传输速率低不少(因为在实际信道中,信号还要受到其他一些损伤,如各种脉冲干扰和在传输中产生的失真等等,这些因素在香农公式中并未考虑到)。
注意:对于频带宽度已确定的信道,如果信噪比不能再提高了,并且码元传输速率也达到了上限值,那么还有办法提高信息的传输速率,即:用编码的方法让每一个码元携带更多比特的信息量。
比如要传输101011000110111010…
这个基带信号,如果直接传输则每个码元所携带的信息量是1bit,现在将信号进行编码,每3个比特编为1组,即101,011,000,110,111,010…3个比特共有8种不同组合,我们可以用不同的调制方法来表示这样的信号,例如用8种不同的振幅,或8种不同的频率,这样就能表示3个bit的8种组合,这样就能达到1个bit传输原来3个bit才能传输的信息。
物理层下面的传输媒体
传输媒体也称为传输介质或传输媒介,它就是数据传输系统中在发送器和接收器之间的物理通路。传输媒体可分为两大类,即导引型传输媒体和非导引型传输媒体。
导引型传输媒体
在导引型传输媒体中,电磁波被导引沿着固体媒体(铜线或光纤)传播(有线)。
- 双绞线
- 光缆
非导引型传输媒体
非导引型传输媒体就是指自由空间。在非导引型传输媒体中,电磁波的传输常称为无线传输。
信道复用技术
复用 (multiplexing) 是通信技术中的基本概念。 它允许用户使用一个共享信道进行通信,降低成本,提高利用率。
如图5(a)表示A1、B1、C1分别使用一个单独的信道和A2、B2、C2进行通信,总共需要3个信道。但是如果在发送端使用一个复用器,接收端使用一个分用器,就可以让大家合起来共享一个信道进行通信。当然复用要付出一定的代价,因为共享信道由于带宽较大因而费用也比较高,再加上复用器和分用器也需要一定的额外费用,但是如果复用的信道数量较大,那么经济上还是很合算的。
频分复用、时分复用、统计时分复用
频分复用(FDM)
频分复用 FDM (Frequency Division Multiplexing):
将整个带宽分为多份,用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。 频分复用的所有用户在同样的时间占用不同的带宽资源(请注意,这里的“带宽”是频率带宽而不是数据的发送速率)。
示意图如图6所示:
时分复用TDM
时分复用TDM (Time Division Multiplexing):
时分复用则是将时间划分为一段段等长的时分复用帧(TDM帧)。每一个时分复用的用户在每一个 TDM 帧中占用固定序号的时隙。 每一个用户所占用的时隙是周期性地出现(其周期就是TDM帧的长度)的。 TDM 信号也称为等时 (isochronous) 信号。 时分复用的所有用户在不同的时间占用同样的频带宽度。
示意图如图7所示:
统计时分复用STDM
使用时分复用系统传送计算机数据时,由于计算机数据的突发性质,用户对分配到的子信道的利用率一般是不高的。
如图8所示,4个时分复用帧中都分别有被浪费的资源(帧1中的3、4,帧2中的1、4,帧3汇总的1、2、4,帧4中的2、3)。
为了解决时分复用这种不足,出现了统计时分复用(STDM ,Statistic TDM)。
在统计时分复用的输出线路上,某一个用户所占用的时间间隙并不是周期性地出现的,因此统计时分复用又称为异步时分复用,具体原理示意图如图9所示:
波分复用WDM
波分复用(WDM,Wavelength Division Multiplexing)就是对光的频分复用,使用一根光纤来同时传输多个光载波信号。如图10所示:
码分复用CDM
码分复用(CDM ,Code Division Multiplexing)又称码分多址 CDMA (Code Division Multiple Access)。 各用户使用经过特殊挑选的不同码型,因此彼此不会造成干扰。 这种系统发送的信号有很强的抗干扰能力,其频谱类似于白噪声,不易被敌人发现。
码片序列
每一个比特时间划分为 m 个短的间隔,称为码片 (chip)。
每个站被指派一个唯一的 m bit 码片序列。
- 如发送比特 1,则发送自己的 m bit 码片序列。
- 如发送比特 0,则发送该码片序列的二进制反码。
例如,S 站的 8 bit 码片序列是 00011011。
- 发送比特 1 时,就发送序列 00011011
- 发送比特 0 时,就发送序列 11100100
S 站的码片序列:(–1 –1 –1 +1 +1 –1 +1 +1)
码片的正交性特性
每个站分配的码片序列不仅必须各不相同,并且还必须互相正交 (orthogonal)。 在实用的系统中是使用伪随机码序列。
令向量 S 表示站 S 的码片向量,令 T 表示其他任何站的码片向量。 两个不同站的码片序列正交,相应的就满足以下两个特性:
- 向量 S 和T 的规格化内积 (inner product) 等于 0:
S ⋅ T = 1 m ∑ i = 1 m S i T i = 0 S\cdot T=\frac{1}{m}\sum_{i=1}^{m}S_iT_i=0 S⋅T=m1i=1∑mSiTi=0
- 任何一个码片向量和该码片向量自己的规格化内积都是 1 ,一个码片向量和该码片反码的向量的规格化内积值是 –1:
S ⋅ S = 1 m ∑ i = 1 m S i S i = 1 m ∑ i = 1 m S i 2 = 1 m ∑ i = 1 m ( ± 1 ) 2 = 1 S\cdot S=\frac{1}{m}\sum_{i=1}^{m}S_iS_i=\frac{1}{m}\sum_{i=1}^{m}S_i^2=\frac{1}{m}\sum_{i=1}^{m}(\pm 1)^2=1 S⋅S=m1i=1∑mSiSi=m1i=1∑mSi2=m1i=1∑m(±1)2=1
CDMA工作原理
如图11所示,假设S站、T站都要发送110
,且S站的码片序列S为:-1-1-1+1+1-1+1+1
,T站的码片为:-1-1+1-1+1+1+1-1
,那么发送和接收的步骤如下:
- 计算S站发送的序列
S
x
S_x
Sx:
-1-1-1+1+1-1+1+1
,-1-1-1+1+1-1+1+1
,+1+1+1-1-1+1-1-1
- 计算T站发送的序列
T
x
T_x
Tx:
-1-1+1-1+1+1+1-1
,-1-1+1-1+1+1+1-1
,+1+1-1+1-1-1-1+1
- 计算总的发送信号
S
x
+
T
x
S_x+T_x
Sx+Tx:
-2-200+20+20
,-2-200+20+20
,+2+200-20-20
接收端最终会接收到
S
x
+
T
x
S_x+T_x
Sx+Tx:-2-200+20+2
,-2-200+20+20
,+2+200-20-20
,想要获取S站发送的第一个bit位:
- 使用S站的码片序列S与接收到的数据的第一个8位即
S
x
+
T
x
S_x+T_x
Sx+Tx的第一个8位进行规格化内积:
( − 1 − 1 − 1 + 1 + 1 − 1 + 1 + 1 ) ⋅ ( − 2 − 200 + 20 + 20 ) = 1 8 ( 2 + 2 + 0 + 0 + 2 + 0 + 2 + 0 ) = 1 (-1-1-1+1+1-1+1+1)\cdot (-2-200+20+20)=\frac{1}{8}(2+2+0+0+2+0+2+0)=1 (−1−1−1+1+1−1+1+1)⋅(−2−200+20+20)=81(2+2+0+0+2+0+2+0)=1
即计算出了S站发送的第一个bit位,以此类推可以根据任意站点的码片序列及接收到的数据恢复出任意站点发送的数据。
以上是从实例上说明了这个算法的可行性,下面进行理论公式证明:
恢复数据的时候使用的是:
S
⋅
(
S
x
+
T
x
)
=
S
⋅
S
x
+
S
⋅
T
x
S\cdot (S_x+T_x)=S\cdot S_x+S\cdot T_x
S⋅(Sx+Tx)=S⋅Sx+S⋅Tx
由公式(3)得:
S
⋅
(
S
x
+
T
x
)
=
S
⋅
S
x
+
S
⋅
T
x
=
S
⋅
S
x
+
0
=
S
⋅
S
x
S\cdot (S_x+T_x)=S\cdot S_x+S\cdot T_x=S\cdot S_x+0=S\cdot S_x
S⋅(Sx+Tx)=S⋅Sx+S⋅Tx=S⋅Sx+0=S⋅Sx
- 如果S站发送的是1,既有 S x = S S_x=S Sx=S,则根据公式(4):
S ⋅ ( S x + T x ) = S ⋅ S x + S ⋅ T x = S ⋅ S x + 0 = S ⋅ S x = S ⋅ S = 1 S\cdot (S_x+T_x)=S\cdot S_x+S\cdot T_x=S\cdot S_x+0=S\cdot S_x=S\cdot S=1 S⋅(Sx+Tx)=S⋅Sx+S⋅Tx=S⋅Sx+0=S⋅Sx=S⋅S=1
即可成功恢复出原来的1.
- 如果S发送的是0,既有 S x = − S S_x=-S Sx=−S,根据公式(4):
S ⋅ ( S x + T x ) = S ⋅ S x + S ⋅ T x = S ⋅ S x + 0 = S ⋅ S x = − S ⋅ S = − 1 S\cdot (S_x+T_x)=S\cdot S_x+S\cdot T_x=S\cdot S_x+0=S\cdot S_x=-S\cdot S=-1 S⋅(Sx+Tx)=S⋅Sx+S⋅Tx=S⋅Sx+0=S⋅Sx=−S⋅S=−1
即可成功恢复出来原来的0.
综上,证明了CDMA算法的正确性。