1.计算机网络的体系结构
计算机网络的五层体系结构是综合了OSI的七层体系协议和TCP/IP的的四层体系结构的优点所抽象出来的体系结构,具体结构如下图所示:
(1)应用层:为特定的应用程序提供数据传输服务,例如Http,DNS等;
(2)传输层:为主机的应用进程提供端到端的逻辑通信,运输层主要使用TCP和UDP协议;
(3)网络层:负责为分组交换网上的不同主机提供通信服务,并未分组选择合适的路由;
(4)数据链路层:将网络层交下来的IP数据报封装成帧,在两个相邻结点间的链路上传送帧。
(5)物理层:屏蔽传输媒体和通信手段的差异来传输数据比特流。
具体的应用进程的数据在各层之间的传递过程所经历的变化如下图所示:
假定主机1的应用进程 A P 1 AP_{1} AP1向主机2的应用进程 A P 2 AP_{2} AP2传送数据。 A P 1 AP_{1} AP1先将其数据交给主机的第5层(应用层)。第5层加上必要的控制信息 H 5 H_{5} H5就变成了下一层的数据单元。第4层(运输层)收到这个数据单元后,加上本层的控制信息 H 4 H_{4} H4,在交给第3层(网络层),成为第3层的数据单元。一次类推,不过到了第2层(数据链路层)后,控制信息被分为两部分,分别加到数据单元的首部 H 2 H_{2} H2和尾部 T 2 T_{2} T2;而第1层(物理层)由于是比特流的传送,所以不再加上控制信息。请注意,传送比特流时应从首部开始传送。
当这一串的比特流离开主机1经过网络的物理传输媒体传送到路由器时,就从路由器的次1层一次上升到第3层。每一层都根据控制信息进行必要的操作,然后将控制信息剥去,将该层剩下的数据部分上交到更高的一层。当分组上升到了第3层时,就根据首部中的目的地址查找路由器中的转发表,找出转发分组的接口,然后往下传送到第2层,加上新的首部和尾部,在到最下面的第1层,然后在物理媒体上把每一个比特流发送出去。
当这一串的比特流离开路由器到达目的主机2时,就从主机2的第1层按照上面同样相反的方式,依次上升到第5层。最后,把应用程序 A P 1 AP_{1} AP1发送的数据交给目的站的应用程序 A P 2 AP_{2} AP2
2.物理层的基本概念
物理层的作用正是要尽可能地屏蔽传输媒体和通信手段的差异来传输数据比特流,从而为数据链路层提供一个统一的数据传输服务。
物理层的主要任务描述为确定与传输媒体接口有关的一些特性,即以下几个方面:
(1)机械特性: 指明接口所用的接线器的形状与尺寸,引脚数目和排列,固定和锁定装置等等
(2)电气特性: 指明在接口电缆的各条线上出现的电压的范围。
(3)功能特性: 指明某条线上出现的某一电平的电压表示何种意义。
(4)过程特性: 指明对于不同功能的各种可能事件的出现顺序。
3.信道通信方式
(1)单向通信: 称为单工通信,即只能有一个方向的通信而没有反方向的交互;
(2)双向交替通信: 称为半双工通信,即通信的双方都可以发送消息,但不能同时发送(当然也不能同时接收)。
(3)双向同时通信: 称为全双工同通信,即通信的双方可以同时发送或接收消息。
显然,全双工通信的传输效率最高。
4.常用的编码方式
常见的编码方式如下图所示:主要有不归零制,归零制,曼彻斯特编码以及差分曼彻斯特编码。
不归零制: 正电平代表1,负电平代表0;
归零制: 正脉冲代表1,负脉冲代表0;
曼彻斯特编码: 位周期中心向上跳变代表0,位周期中心向下跳变代表1;
差分曼彻斯特编码: 在每一位的中心始终都有跳变。位开始边界有跳变代表0,而位开始边界没有跳变代表1。
5.信道的极限容量
我们知道数字通信的的优点就是:虽然信号在信道上传输会不可避免地产生失真,但在接收端只要我们能够从失真的波形中能够识别出原来的信号,那么这种失真对通信质量就没有影响。而码元传输的速率越高,信号的传输距离越远,噪声干扰越大,传输媒体质量越差,在接受端的波形失真就越严重。
注意:码元是指用一个固定时长的信号波形(数字脉冲)【码元就是一个信号】代表不同的离散数值的基本波形 ,当码元的状态(信号的波形)有M个时,就被称为M进制码元
奈氏准则:
在任何信道中,码元传输的速率是有上限的,否则就会出现码间串扰的问题,使接收端对码元的判决(即识别)成为不可能。1924年,奈奎斯特 (Nyquist) 就推导出了著名的奈氏准则。他给出了在假定的理想条件下,为了避免码间串扰,码元的传输速率的上限值。
即简单来说:在任何信道中,码元的传输速率是有上限的,传输速率超过此上限,就会出现严重的码间串扰的问题,是接收端对码元的识别成为不可能。
信噪比:
信噪比就是信号的平均功率和噪声的平均功率之比。常记为 S/N,并用分贝 (dB) 作为度量单位。即:
信噪比 ( d B ) = 10 l o g 10 ( S / N ) (dB)=10log_{10}(S/N) (dB)=10log10(S/N)
这里对于信噪比有两种表现形式,一种是用比值表示(S/N),一种是用dB单位表示。
香农公式
在1948年,信息论的初始人香农推导出了著名的香农公式。香农公式指出:信道的极限传输速率C是
C = W l o g 2 ( 1 + S / N ) C=Wlog_{2}(1+S/N) C=Wlog2(1+S/N)
在该式子中 W W W为信道的带宽(Hz为单位),信道的带宽是能通过信道的最高频率与最低频率之差; S S S为信道内所传信号的平均功率; N N N为信道内部的高斯噪声功率。
香农公式表明:信道的带宽或信道中的信噪比越大,信息的极限传输速率就越高。只要信息传输速率低于信道的极限信息传输速率,就一定存在某种办法来实现无差错的传输。
另外:如果信道带宽已确定,并且信噪比也不能再提高,此时还可以用编码的方式让每一个码元携带更多比特的信息量来提高信息传输速率;
6.信道复用技术
下图( a a a)表示 A 1 , B 1 , C 1 A_{1},B_{1},C_{1} A1,B1,C1分别使用一个单独的信道和 A 2 , B 2 和 C 2 A_{2},B_{2}和C_{2} A2,B2和C2进行通信,总共需要三个信道。但如果在发送端使用一个复用器,就可以让大家和起来使用一个共享信道进行通信。在接收端在使用分用器,把合起来传输的信息分别送到相应的终点。图( b b b)是复用的示意图。
主要的信道复用技术有频分复用,时分复用,统计时分复用,波分复用以及码分复用。
1.频分复用
频分复用最简单,频分复用FDM(Frequency Division Multiplexing)即是用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。即频分复用的所有用户在同样的时间占用不同的带宽资源。
在使用频分复用时,若每一个用户占用的带宽不变,则当用户数增加时,复用后的信道的总带宽就跟着变宽。比如一个传统话路的带宽是4KHz,若有1000个用户进行分频复用,则复用后的总带宽就是4MHz。
2.时分复用
时分复用TDM(Time Division Multiplexing)是将时间划分成一段段等长的时分复用帧(TDM帧),每一个用户占用的时隙周期性地出现。时分复用的用户在不同的时间占用同样的频带宽度。 具体如下图所示:
在使用时分复用时,每一个时分复用帧的长度是不变的,始终是 125 u s 125us 125us,若有1000个用户进行时分复用,则每一个用户分配到的时隙宽度就是 125 u s 125us 125us的千分之一,即 0.125 u s 0.125us 0.125us,时隙宽度非常窄。
使用时分复用系统传送计算机数据时,由于计算机数据的突发性质,一个用户对已经分配到的子信道的利用率一般不高。用户在某一段时间暂无数据传送,那就只能让已经分配到手的子信道空闲,其他用户也无法使用。
3.统计时分复用
统计时分复用是一种改进的时分复用,它能明显地提高信道的利用率。
统计时分复用使用STDM帧来传送复用的数据。但每一个STDM帧中的时隙数小于连接在集中器上的用户数。各用户有了数据就随时发往集中器的输入缓存,然后集中器按顺序依次扫描输入缓存,把缓存中的输入数据放入STDM帧中。 对没有数据的缓存就跳过去。当一个帧的数据放满了,就发送出去。
STDM帧不是固定分配时隙,而是按需动态地分配时隙。 因此统计时分复用可以提高线路的利用率。我们还可看出,在输出线路上,某一个用户所占用的时隙并不是周期性地出现。因此统计复用又称为异步时分复用,而普通的时分复用称为同步时分复用。
4.波分复用
波分复用WDM(Wavelength Division Multiplexing)就是光的频分复用。
由于波分复用就是光的频分复用,而且也不是考研的重点,这里只做简单了解就好。
5.码分复用
码分复用CDM(Code Division Multiplexing)是另一种共享信道的办法。实际上,人们更常用的名词是码分多址CDMA(Code Division Multiple Access)
码分复用的工作原理介绍如下:
在CDMA中,每一个比特时间在划分为m个短的间隔,称为码片(chip)。通常m的值是64或128.这里为简单起见,假设m为8。
使用CDMA的每一个站被指派一个唯一的m bit码片序列。一个站如果要发送比特1,则发送它自己的m bit码片序列。如果要发送比特0,则发送该码片序列的二进制反码。
例如,指派给S站的8bit码片序列是00011011。当S发送比特1时,它就发送序列00011011,而当S发送比特0时,就发送11100100。为了方便,我们按惯例将码片中的0写为-1,将1写为+1。因此S站的码片序列是(-1-1-1 +1+1-1+1 +1)。
CDMA系统的一个重要特点就是给每一个站分配的码片序列不仅必须各不相同,并且还必须互相正交。两个不同站的码片序列正交,就是向量S和T的规格化内积为0:
S ∙ T = 1 m ∑ i = 1 m S i T i = 0 S\bullet T=\frac{1}{m}\sum_{i=1}^{m}S_{i}T_{i}=0 S∙T=m1∑i=1mSiTi=0
不仅如此,任何一个码片向量和该码片向量自己的规格化内积都是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\bullet S=\frac{1}{m}\sum_{i=1}^{m}S_{i}S_{i}=\frac{1}{m}\sum_{i=1}^{m}S_{i}^{2}=\frac{1}{m}\sum_{i=1}^{m}(\pm 1)^{2}=1 S∙S=m1∑i=1mSiSi=m1∑i=1mSi2=m1∑i=1m(±1)2=1
因为我们要把S站和T站锁发送的数据放到一个信道上传输,所以我们要考虑各站数据的合并问题,即:将各路在信道中的数据线性相加即可。
除了考虑合并问题外,还需要考虑数据的分离问题,因为我们需要将合并后的数据分离传送给不同的对象,即:合并的数据和原站的数据规格化内积,得到的结果若为-1,则传送的是0,若结果为1,则传送的结果为1。需要注意的是,若内积结果为0,则表示该站没有向目的站发送数据。
一个简单的例题如下所示:该例题主要是为了使读者辨别原站是否发送了数据,以及发送的数据是1还是0,主要方法是将接受到的码片序列与原站的码片序列内积即可实现,具体操作如下所示: