计算机通信与网络
计算机通信与网络
一、概论
1.1计算机通信与网络发展过程
计算机技术与通信技术的相互作用:
- 计算机网络的发展中计算机技术和通信技术是相互制约,又相互促进发展的。
- 通信技术的发展以及计算机技术在通信系统中的应用,使得高速通信成为可能。
高速通信的实现,又进一步促进计算机硬件、软件技术的发展。
计算机通信与网络的发展阶段:
面向终端的计算机网络
多个计算机互连的计算机网络
面向标准化的计算机网络
面向全球互连的计算机网络
各阶段特点:
面向终端的计算机网络
特点:除了一台中心的计算机外,其余的终端设备都没有自主处理的功能,严格的讲起来并不是一个计算机网络,现在为区别于其余的多个计算机互联的计算机网络,称之为面向终端的计算机网络;
多个计算机互连的计算机网络
特点:建立了计算机与计算机的互连与通信,实现了计算机资源的共享。但缺点是没有形成统一的互连标准,使网络在规模与应用等方面受到了限制;
面向标准化的计算机网络
特点:
形成以太网、公用数据网等标准,如X.25标准等X系列建议;
提出Web技术与开发浏览器;
Netscape Navigator, MS IE, FireFox, Lynx,Mosaic, Gopher;
面向全球互连的计算机网络
特点:这一时期在计算机通信与网络技术方面以高速、高质量、高可靠性等为指标,出现了高速以太网、VPN、无线网络、P2P网络、NGN等技术,计算机网络的发展与应用渗入了人们生活的各个方面, 进入一个多层次的发展阶段
中国因特网的发展回顾:
1986-1994
实现了与欧洲与北美洲的E-mail通信
1994-1995
教育科研网的发展阶段
1995-2007
商业应用的快速的发展阶段
2008+
该阶段以规模等多项指标位居国际前列为标志
1.2计算机网络的基本概念
计算机网络的定义:
- 数量:两台或以上的计算机相互连接起来才能构成网络,达到资源共享的目的;
- 介质:两台或两台以上的计算机连接,互相通信交换信息,需要有一条通道。这条通道的连接是物理的,由硬件实现,这就是连接介质(有时称为信息传输介质)。它们可以是双绞线、同轴电缆或光纤等“有线”介质,也可以是激光、微波或卫星等“无线”介质。
- 协议:计算机之间要通信交换信息,彼此就需要有某些约定和规则,这就是协议。
把分布在不同地点且具有独立功能的多个计算机,通过通信设备和线路连接起来,在功能完善的网络软件运行环境下以实现网络中资源共享为目标的系统。
计算机网络的逻辑组成与作用:
以资源共享为主要目的的计算机网络从逻辑上可分成两大部分:
通信子网-网络信息的传输和交换;
终端系统-负责信息的处理;
从图论角度,网络由节点和链路构成
节点:
- 边缘节点(构成终端系统)–包括主机、服务器等
- 中间节点(构成通信子网)–包括集线器、交换机、路由器等
1.3网络的类型及其特征
按照网络的覆盖范围划分:个人局域网、局域网、城域网、广域网、因特网
- 个人局域网(PAN):10m;
- 局域网(LAN):某一企业或一个学校;
- 城域网(MAN):10-100km;
- 广域网(WAN):几百千米-几千千米;
- 因特网(Internet):不定性,接入即为其中的一部分;
按照通信介质划分:有线网、无线网;
按照传播方式划分:点到点、广播、多播;
按照网络速率划分:百兆、千兆;
按照使用者划分:公用网络、专用网络;
按网络交换功能划分:电路交换、报文交换、分组交换、混合交换;
按网络控制方式划分:集中式、分布式;
按网络环境划分:部门网、企业网、校园网;
按网络拓扑结构划分:星型、树型、总线型、环型、网络型
星形结构;
![]()
层次结构或树形结构;
![]()
总线形结构;
![]()
环形结构;
![]()
网络型;
1.4计算机通信协议与网络体系结构
网络体系结构的概念:网络的分层+服务和协议
计算机网络体系结构是计算机网络的分层及其服务和协议的集合,也就是它们所应完成的所有功能的定义,是用户进行网络互连和通信系统设计的基础。
因此,体系结构是一个抽象的概念,它只从功能上描述计算机网络的结构,而不涉及每层的具体组成和实现细节。
为什么要定义网络的体系结构:
计算机网络由多个互连的节点组成,节点之间要不断地交换数据和控制信息,要做到有条不紊地交换数据,每个节点就必须遵守一整套合理而严谨的规则,才能实现网络的互连,网络的体系结构包含了各个层次的服务及协议规程,为软件和硬件的具体实现提供了统一的规范。
通信协议与分层体系结构:
计算机通信是复杂的过程,相互通信的两个计算机系统必须高度协调工作,这种“协调”相当复杂。
“分层”将问题大化小,较小的局部问题较易于研究处理。
网络协议的概念:
- 网络协议是指通信双方必须遵循的、控制信息交换的规则的集合;
- 是一套语义和语法规则,用来规定有关功能部件在通信过程中的操作;
- 它定义了数据发送和接收工作中必经的过程;
- 协议规定了网络中使用的格式、定时方式、顺序和检错。
网络协议的三要素:语法、语义、同步
语法:指数据与控制信息的结构或格式,确定通信时采用的数据格式,编码及信号电平等,回答“怎么讲”;
(双方采用什么样的格式通信,如:传输报文时的数据格式)
语义:协议的语义是指对构成协议的协议元素含义的解释“讲什么” ;
(格式里的相关的内容表达了什么含义,如:基本型数据链路控制协议中规定,协议元素SOH的语义表示传输报文的报头开始,ETX语义表示正文结束)
同步:规定了事件的执行顺序 ;
(如:首先由源站发送一份数据报文,若目标站收到正确报文,就遵循协议规则,利用协议元素ACK来回复对方,使源站知道报文被正确接收)
网络通信协议的特点:层次性、可靠性、有效性
协议的分层可以将复杂的问题简单化;
协议可靠性和有效性是正常和正确通信的保证,只有协议可靠和有效,才能实现系统内各种资源共享。
协议层次模型:
实体(Entity):是通信时能发送和接收信息的任何软硬件设施;
接口(Interface):是指网络分层结构中各相邻层之间的通信接口。
分层的意义:
- 各层之间是独立的
- 灵活性好
- 结构上可分割开
- 易于实现和维护
- 能促进标准化工作
分层的原则:
- 按功能分层、归类,每层功能应明确、独立;
- 层与层的接口适合于标准化,其边界的信息流应尽可能少;
- 每一层只与相邻层有边界;(相邻的信息交流是通过接口来实现的)
- 为满足各种通信服务需要,在一层内可形成若干子层。
OSI-RM体系结构:
物理层-数据链路层-网络层-传输层-会话层-表示层-应用层
每层的名称和主要的功能如下:
![]()
- 物理层:利用传输介质为通信的网络节点之间建立、维护和释放物理连接,实现比特流的透明传输,进而为数据链路层提供数据传输服务。
- 数据链路层:在物理层提供服务的基础上,在通信的实体间建立数据链路连接,传输以帧(frame)为单位的数据包,并采取差错控制和流量控制的方法,使有差错的物理线路变成无差错的数据链路。
- 网络层:为分组交换网络上的不同主机提供通信服务,为以分组为单位的数据报通过通信子网选择适当的路由,并实现拥塞控制、网络互连等功能。
- 传输层:向用户提供端到端(end-to-end)的数据传输服务,实现为上层屏蔽低层的数据传输问题。
- 会话层:负责维护通信中两个节点之间的会话连接的建立、维护和断开,以及数据的交换。(会话的次序)
- 表示层:用于处理在两个通信系统中交换信息的表示方式,主要包括数据格式变换、数据的加密与解密、数据压缩与恢复等功能。
- 应用层:为应用程序提供网络服务,它包含了各种用户使用的协议。
计算机通信网的信息流动:
发送:
接收:
服务服务点(SAP):

协议数据单元(PDU):

服务原语:
(N+1)层实体向(N)层实体请求服务时,服务的请求者要与服务提供者之间要进行一些交互,交互将会通过原语来实现。
服务原语用于表明要求本地或者是远端的对等实体需要做哪些事情。
OSI规定了每一层都可以使用的4种服务原语:
| 服务原语类型 | 名称 | 含义 |
|---|---|---|
| request | 请求 | 一个实体希望获得某种服务 |
| indication | 指示 | 把关于某种事件的信息告诉某一实体 |
| response | 回应 | 一个实体对某一事件的回应 |
| confirm | 确认 | 一个实体对某一事件的确认 |
TCP/IP体系结构(事实上的国际标准):
网络接入层-互联网络层-传输层-应运层
特点:
- 应用层的协议相对较多,分别使用UDP和TCP协议承载,位于各自的上方;
- 网络层除核心协议IP外,还有ICMP、IGMP、ARP和RARP,分别位于IP协议的上下方。;
- TCP/IP模型中的核心协议是TCP、UDP和IP,且呈现漏斗状,IP协议处于漏斗的最窄处。
【对比】OSI与TCP/IP体系结构的比较:

它们的相同点主要体现在:
都参与层次化模型,TCP/IP 与 OSI-RM 都采用层次化体系结构,都按功能分层。
其差别主要体现在以下两方面:
- 出发点不同
OSI-RM 是作为国际标准而制定的,兼顾各方,协议的数量和复杂性都远高于 TCP/IP;
早期 TCP/IP 协议是为军用网设计的体系结构,一开始就考虑了一些特殊要求,如可用性,残存性,安全性,网络互联性以及处理瞬间大信息量的能力等。
- 对以下问题的处理方法不相同
①对层次间的关系。
OSI-RM 是严格按”层次”关系处理的,不能越层.而 TCP/IP 则不同,它允许越层;
②对异构网互连问题。
TCP/IP一开始就考虑对异构网络的互连,并将互连协议IP单设一层,但OSI-RM最初只考虑用一个标准的公用数据网互联不同系统,后来认识到互联协议的重要性,才在网络层中划出一个子层来完成 IP 任务。
③OSI-RM开始只提供面向连接的服务,而TCP/IP一开始就将面向连接和无连接服务并重,此外,TCP/IP有较好的网络管理功能,而OSI-RM后来才考虑这个问题;
封装:TCP/IP模型中,所有高层的数据将会被封装成IP数据包,而IP数据包可以采用多种的低级的协议进行处理。(**高层被封装**)
应用层——->message(应用层报文)———>传输层————>Segment(传输层报文段)———->网络层———>Datagram(网络层数据报)——>数据链路层———–>Frame(链路层帧)
- Message (应用层报文)
- Segment(传输层报文段)
- Datagram (网络层数据报)
- Frame(链路层帧)
eg:数据链路层将比特组合成帧作为传输单位,是为了在出错时只重发出错的帧,而不必重发所有数据,为了能使接收方能正确的接收并检查所接收的帧,发送方必须依据一定的规则把网络层递交的分组封装成帧(即组帧)。
物理层
2.1数据通信基础
信息、数据、信号:
- 数据——通常是指预先约定的具有某种含义的数字、符号和字母的组合。
- 信号——数据在传输过程中的电磁波的表示形式。
- “模拟的”(analogous)——连续变化的。
- “数字的”(digital)——取值离散的。
- 调制:把数字信号转换为模拟信号的过程。
- 解调:把模拟信号转换为数字信号的过程。
- 信道:表示向某一方向传送数据的传输介质。

数据通信系统:
信源:就是信息的发送端,是发出待传送信息的设备;
信宿:就是信息的接收端,是接收所传送信息的设备。
信号转换设备:是将信源发出的信息转换成适合于在信道上传输的信号的设备。

数据通信系统的技术指标:
传码率:传码速率又称为调制速率、波特率,记作**NBd**,是指在数据通信系统中,每秒钟传输信号码元的个数,单位是波特(Baud)。
NBd=1/T
二电平信号:一个信号码元携带1比特(0/1)的数据;
四电平信号:一个信号码元携带2比特(00/01/11/10)的数据;
传信率:又称为比特率,记作**Rb**,是指在数据通信系统中,每秒钟传输二进制码元的个数,单位是比特/秒(bit/s、kbit/s、Mbit/s)。
若是二电平传输,则一个信号码元中包含一个二进制码元;
若是多电平传输(M电平),则二者在数值上有Rb = NBd * log2M的关系;

带宽
- 信号带宽:是指信号具有的频带宽度,单位是赫(或千赫、兆赫、吉赫等)。
- 模拟信道的带宽:表示通信线路允许通过的信号频带范围就称为线路带宽(通频带)。
- 数字信道的带宽:“带宽”是所能传送的“最高数据率”同义语,单位是“比特每秒”。
常用的带宽单位:
- 千比每秒,即 kb/s (103 b/s)
- 兆比每秒,即 Mb/s(106 b/s)
- 吉比每秒,即 Gb/s(109 b/s)
- 太比每秒,即 Tb/s(1012 b/s)
请注意:在计算机界,数据量的表示:K = 210 , M =2 20,G= 230, T = 240
误码率和误组率
误码率:在一定时间内接收到出错的比特数e1与总的传输比特数e2之比
Pe=(e1/e2) ×100%
由于实际的传输信道及通信设备存在随机差错与突发差错,而数据通信常采用数据块或帧为单位进行传输,使用误组率或误帧率则可以更好反映传输效率。
误组率:在一定时间内接收出错的组数b1与总的传输组数b2之比
Pb=(b1/b2) ×100%
时延(s)
- 发送时延(传输时延):发送数据时,数据块从结点进入到传输媒体所需要的时间。
- 信道带宽(b/s等):数据在信s道上的发送速率,常称为数据在信道上的传输速率。(在这里题目中也会说是数据发送速率)
- 传播时延:电磁波在信道中需要传播一定的距离而花费的时间。
信号传输速率(即发送速率)和信号在信道上的传播速率是完全不同的概念。
处理时延:交换结点为存储转发而进行一些必要的处理所花费的时间。
结点缓存队列中分组排队所经历的时延是处理时延中的重要组成部分。
处理时延的长短取决于网络中当时的通信量。
有时用排队时延作为处理时延。
总时延=发送时延+传播时延+处理时延

- 所谓高速网络链路,提高的是发送速率,而不是传播速率。
- 提高链路带宽,减小了数据的发送时延。
- 提高网络传输速率,减小时延,主要是减少发送时延和处理时延,传播时延在介质一定的情况下一般不变。
信道容量
信道容量:是指在一定的条件下,给定通信路径(信道)上所能达到的最大数据传输速率。
奈奎斯特定理(无噪声):
任意一个信号如果通过带宽为W (Hz)的理想低通滤波器,当每秒传输2W码元,就可实现无码元间干扰传输。
在理想的条件下,即无噪声有限带宽为W Hz的信道,其最大的数据传输速率C (即信道容量)为,M是电平数:
C= 2W log2 M
香农定理(有噪声):
带宽受限且有高斯白噪声干扰的信道的极限、无差错的信息传输速率。
信道的极限信息传输速率 C(信道容量)可表达为C = W log2(1+S/N) b/s ——–(1)
W 为信道的带宽(以 Hz 为单位);
S 为信道内所传信号的平均功率;
N 为信道内部的高斯噪声功率。
信噪功率比:S/N
(S/N)(dB)= 10 log10(S/ N)()(信号功率p1/噪声功率p2) ——–(2)
S/N可以是题中给出的信噪电平比,我们计算出的p1/p2是新的S/N,带入(1)式子中计算得到C
传输介质:
有线:
- 双绞线
- 同轴电缆
- 光缆(多模:多条不同入射角光线在一条光纤中传输、单模:单条直线传输)
无线:
- 无线电波
- 地面微波
- 卫星微波
- 红外线
2.2数据传输方式
- 并行传输、串行传输
- 异步传输、同步传输
- 单工、半双工、全双工传输
- 模拟传输、数字传输
2.3数据传送技术
数字-数字编码

- 单极性、双极性:
- 单极性:正电平:1 0电平:0
- 双极性:正电平:1 负电平:0
- 不归零码、归零码:
- 不归零码:一个码元周期内,数据电信号电平不变
- 归零码:一个码元周期内,电平维持一段时间就回零


差分编码:前后码元的电平是否有变化来代表所要传送的“0”和“1”;
只要前后有变化(不管是高-低还是低-高)就是二进制的1,无变化则是0(遇到0保持,遇到1翻转)
翻转还是保持要看指定的规则进行;
伪三元编码:0-零电平表示,1-正电平、负电平交替来表示;
5. 曼彻斯特编码(所有的1和0都是一样的)
每个码元周期的中间有跳变(极性变换)
- 二进制0:表示“负-正”电平的跳变;
- 二进制1:表示“正-负”电平的跳变;
应用:对收发双方之间的同步更加简单,长时间发送0/1会出现收发双方的困难,而曼彻斯特编码的中间的跳变,会在实现手法双方之间的比特同步时,变得比较容易一些;
6. 差分曼彻斯特编码(每个1的波形不同,都要看前面的波形进行翻转/保持)
是差分编码和曼彻斯特编码相互结合的一种编码的方式,首先差分编码,在曼彻斯特编码;
翻转还是保持要看指定的规则进行hnh;
应用:
- 在10Mb/s的以太网中,使用曼彻斯特编码;
- 在标记环网中,使用差分曼彻斯特编码。
2.4多路复用技术
随着电子技术和计算机技术的发展,通信终端和交换设备的性能不断提高,而价格却迅速降低。
传输媒体由于资源有限,制造成本增加,即使采用原料丰富的光纤线路,但铺设费用也在增长,其投资在整个通信网络占有的比重越来越大。
多路复用技术概念:
信道复用技术是在一条传输信道中传输多路信号,以提高传输媒体的利用率。
多路复用技术分类(频、时、码、波)—平时马(可)波(罗)
- 频分复用
- 时分复用
- 码分复用
- 波分复用
概念
- 频分复用
把一条信道从频率上分割成若干个子信道,每个子信道传输一个信号或者是分配给一个用户,这样的话我们就能更加高效的利用这条信道。
- 时分复用
时分复用是采用时间分片方式来实现传输信道的多路复用,即每一路信号传输都使用信道的全部带宽,但只能使用其中某个时隙。
2-1. 静态时分复用:
优点:多个数据终端的信号分别在预定的时隙内传输,其分配关系固定,周期性使用,收发双方保持同步,又称同步时分复用。
缺点:每个数据终端的信号与传输时隙分配关系固定,无数据传输时,对应时隙空闲,因此效率较低,信道利用率也较低。
若无数据传输时,对应时隙空闲。
静态时分复用时高速传输介质容量等于各个低速终端数据速率之和。
2-2. 动态时分复用:
动态时分复用又称异步时分复用,或称统计时分复用(STDM),是按需分配媒体资源,提高了传输媒体的利用率。
- 动态时分复用中,用户数据传输速率之和可以大于高速线路传输容量。
- 动态时分复用中需要使用缓冲存储和流量控制技术来保证数据正确传送。
码分复用(CDMA)
码分复用是蜂窝移动通信中迅速发展的一种信号处理方式。
常用的名词是码分多址 CDMA ,这种系统发送的信号有很强的抗干扰能力,频谱类似于白噪声,不易被敌人发现。
每一个比特时间划分为 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) —— (在这里,0用-1来代替)
每个站分配的码片序列不仅必须各不相同,并且还必须互相正交(orthogonal)。
在实用的系统中是使用伪随机码序列。
令向量 S 表示站 S 的码片向量,令 T 表示其他任何站的码片向量。
两个不同站的码片序列正交,就是向量 S 和T 的规格化内积(两队相乘、再相加的代数和)都是0;
![]()
eg:
令向量 S 为(–1 –1 –1 +1 +1 –1 +1 +1)
令向量 T 为(–1 –1 +1 –1 +1 +1 +1 –1)
把向量 S 和 T 的各分量值代入公式就可看出这两个码片序列是正交的。
![]()
- 波分复用
波分复用就是光的频分复用,即在一根光纤上传输多路光载波信号。
密集波分复用是一种支持巨大数量信道的系统。
波分复用技术可以进一步提高光纤的传输容量,满足通信需求量的迅速增长和多媒体通信。
2.5数据交换技术
- 交换是一种集中和转接的概念。
- 交换节点转发信息的方式,就称为交换方式。
分类:电路交换、报文交换、分组交换
- 电路交换
- 电路交换基本都包括建立、通信(信息传送)、链接释放三个阶段。
- 电路交换进行通信,就是在主、被叫用户之间建立一条专用的专用的通信线路–物理链接,这条线路上的所有的资源都是主被叫用户之间独享的资源。
- 只有主被叫用户挂机(断开连接),这个通信线路才会被其他人所使用。
特点:
优点:
- 电路交换是一种实时交换,适用于实时要求高的话音通信(全程<= 200 ms ) ;
缺点:
- 在通信前要通过呼叫为主、被叫用户建立一条物理连接;
- 电路交换是预分配带宽,话路接通后,即使无信息传送也白白占电路,电路利用率低;
- 传送信息时,没有差错控制措施,不利于传输可靠性要求高的突发性数据业务。
- 报文交换
特点
优点:
- 交换节点采用存储-转发方式对每份报文完整地加以处理。
- 每份报文中含有报头,包含收、发双方的地址,以便交换节点进行路由选择,可以一对多地传送报文。
- 报文交换可进行速率、码型的变换,具有差错控制措施。
缺点:
- 存储-转发时延大,随机性也大,过负荷时将会导致报文延迟。
- 分组交换
特点
优点:
- 可实现多路通信功能。
- 采用统计时分多路复用,提高了线路利用率。
- 能够实现不同类型的数据终端设备(含有不同的传输速率、不同的编码、不同的通信控制规程等)之间的通信。
- 数据传输质量高、可靠性高,可使用优先级。
- 提高了链路利用率,经济性好。
缺点:
- 由于采用存储—转发方式处理分组,所以分组在网内的时延高。
- 每个分组附加的分组标题,都需要交换机分析处理,会增加开销,分组交换适宜于计算机通信的突发性或断续性业务的需求,而不适合于在实时性要求高、信息量大的环境中应用。
- 分组交换技术复杂。
2.6差错控制技术
- 差错:在通信的接收端收到的数据和发送端发送的数据不一致的情况,差错的出现是不可避免的;
- 差错控制的目的:提高数据传输的可靠性和数据传输效率;
产生差错的原因:
- 随机差错
- 原因: 信道热噪声
- 特点: 随机的、单个的
- 突发差错
- 原因:脉冲噪声(如闪电)
- 特点:成片的、连续的
控制原理:
- 在发送的数据码元序列中加入监督位,并进行某种变换,使它们和原来相互独立的数据码元之间具有某种约束关系。
- 在接收端检测约束关系,如果这种约束关系被破坏,则接收端就可以发现传输中的错误,甚至纠正错误。
变换的方法不同,就构成了不同的编码,因而产生不同的差错控制方法。
- 检错码:可以发现传输错误,但不能自动纠正
- 纠错码:可以自动纠正传输错误。
- 差错控制是以降低效率为代价的。
差错控制方式:
- 自动请求重发:接收端在收到的信码中检测出错码时,即设法通知发送端重发。
- 前向纠错:接收端不仅能在收到的信码中发现有错码,而且能够纠正错码。
- 混合方式:对少量差错予以自动纠正,而超过其纠正能力的差错则通过重发的方法加以纠正。
- 信息反馈:接收端将收到的信码原封不动地转发回发送端,并与原发送信码相比较。
差错控制编码:
在二进制编码中,设:
- 消息长度 k 比特
- 冗余信息 r 比特
- 实际传输长度为 n 比特
n=k+r,则 2k < 2n在 n 位二进制编码的 2n 种组合中,能表示信息的 2k 种码组称为许用码组,其余的称为禁用码组。
在数据中出现禁用码组,则表示差错。
码间距离(d):
两个码字的对应位取值不同的个数
eg:
- 10**001**001
- 10110001
- d=3
汉明距离(d0):
一个有效编码集(不只是一个码组,好几个码组互相之间有不同的码间距离,而只有最小的那个码间距离能被称为码间距离)中,任意两个码字的码间距离的最小值。
即一组编码中的最小码距。
- 如果要能检测 e 个差错,则编码集的汉明距离至少为 e + 1;
- 如果要能纠正 t 个差错,则编码集的汉明距离至少为 2 t + 1;
- 如果要能检测 e 个差错,同时能纠正 t 个差错( e > t ) ,则编码集的汉明距离至少为 e + t + 1;
例2中收到的编码和000111最像,码间距离最小,最有可能是它转换过来的,所以将它恢复成000111。
检错码:
- 恒比码
- 正反码
- 奇偶校验码
优点:简单实用
缺点:仅能检出奇数个错码,无法确定错码的位置,不适宜检测突发性差错
偶校验:编码中的1是偶数个
偶校验:编码中的1是奇数个
- 循环冗余码(CRC)
纠错码: 汉明码
汉明码:可以确定一位差错的位置,并且可以进行纠错;
码长为n,信息位为k,则监督位数 r = n -k;
每个监督关系式由不同位置的码分别组成;
r个监督位构造出r个监督关系式来指示**一位错码**的n 种可能位置: 2r-1≥ n 或 2r ≥ k + r + 1;(数据位长度和校验位长度的关系)
全部为零无差错.
汉明码偶校验关系:
汉明码校验位的生成:
![]()
![]()
循环冗余码:
- 循环冗余码 (CRC)是一种特殊的线性分组码。
- 循环冗余码各码组中的码元循环左移(或右移),所形成的码组仍然是一个许用码组(全零码组除外),称为循环性。
- 循环冗余码具有较高的检错能力。

生成多项式g(x)
在(n,k)循环码中,存在惟一的最高幂次为**(n-k)=r,最多 k-1 个连续的 0 项,且常数项必须为1** 的码多项式g(x),此码多项式的幂次最低(0 元除外);其它所有的码多项式都能被g(x)整除;并且g(x)是 xn+1 的一个因式。 g(x)称为该编码集的生成多项式。
编码和检错的过程:
(此处运算符号为模二加、模二减,其二者运算相同,对照p54可见)
![]()
[例2-9 ]一个报文的比特序列为1101011011通过数据链路传输,采用CRC进行差错检测,如所用的生成多项式为g(x)=x4+x+1,试说明:
1)CRC码的产生过程及所产生的发送序列;
2)CRC码的检测过程(有差错及无差错)。
解:生成多项式为g(x)=x4+x+1,则其编码为10011,r=4;
因为r=4,所以CRC校验码4位,对于报文1101011011,将其左移4位,即在报文末尾加4个“0”,然后被生成多项式模2除。
检错的过程就是把得到的发送序列(加完0后的报文编码+报文编码除生成多项式编码的模二余数)模二除生成多项式编码,看其余数是否为0,若为0,则无差错,若不为0,则出现错误;
只能知道错,但不能知道是哪个地方出现错误;
模二除法:
- 同0异1;
- 被除数位数不够,商为1,位数够,商为0;
数据链路层
3.1数据链路层的基本概念
- 信道:信息传输的通路(模拟或数字信道)。
- 数据电路:在传输信道两端加上信号变换设备之后所形成的二进制比特流通路。即数据电路由传输信道加上DCE组成,实现数据信号的传输。
- 数据链路:在数据电路建立的基础上,在链路协议控制下,使通信双方正确传输数据的终端设备与传输线路的组合体。
数据链路与数据电路:
- 数据电路又常称为物理链路或链路
数据链路又称为逻辑链路 - 数据链路是在数据电路上增加了传输控制功能实现的。
- 只有建立数据链路,才能真正实现数据通信。
链路上所连接的节点:“站”
- 发送命令或信息的站称为“主站”,在通信过程中起控制作用;
- 接收数据或命令,并做出响应的站称为“从站”,在通信过程中处于受控地位;
- 同时具有主站和从站功能的,能够发出命令和响应信息的站称为“复合站”;
数据链路的基本结构(线路拓扑 ) :
- 点到点链路(平衡型,不平衡型)
- 多点链路(平衡型,不平衡型)
在点到点链路中,两端的站可能是主站、从站或复合站,链路可以是不平衡结构(主-从),或平衡结构(复合-复合)。
在主从式点到多点链路中,常常使用不平衡链路;
在对等式点到多点链路中,常使用平衡型链路。
数据链路层的传送方式:
- 单工通信
- 半双工通信
- 全双工通信
数据链路层的目标:在数据链路上提供相对可靠的信息传输。
数据链路层的功能:
- 链路控制:数据链路的建立、维持、释放等功能;
- 帧定界:指接收方应当能从收到的比特流中准确的区分一帧的开始和结束都在什么地方;
- 流量控制:接收方在来不及接受时,及时控制发送方发送数据的速率;
- 差错控制:主要是检错重发和前向纠错;
- 数据和控制信息的识别:数据和控制信息可能在同一帧,要用措施进行区分;
- 透明传输:不管所发送的数据是什么样的组合,都能够在链路上进行传送,而不会造成网络设备或者接收方的错误判断,当比特组合恰好与某个控制信息完全一样时,必须有措施使得接收方不会将这种比特组合的数据误认为是某种控制信息;
- 寻址:对收发站的确认功能;
扩展:
物理层的任务是尽可能实现比特流的可靠传送,但不能保证没有错误,需要数据链路层进行差错检测和纠正。
为了便于实现流量控制和差错控制,数据链路层将较长比特流分解成多段离散的“段”,独立地发送、接收和处理。
这些“段”在数据链路层即称为“帧”。
数据链路层的协议数据单元PDU,即传输和处理的数据单位:帧。
数据链路层帧的结构,包括需要传输的数据、相应的控制信息、校验信息、帧之间的分隔标志等。必须有相应的方法表明各个部分的信息。
帧的构成方法:
- 字符计数法
- 含字节填充的分界符法
- 含位填充的分界标志法
- 物理层编码违例法
数据链路层的帧形成后,可以通过相关手段实现帧的定界(帧同步,字符同步)
帧同步方法:数据信号的识别,特定字符或比特流的识别(分界符),外部信号状态的识别等。
还需要识别传输中产生的差错、帧丢失,收发双方的协调等。
3.2流量控制和差错控制
- 当接收方来不及缓存和处理数据时,就必须采取相应的流量控制措施限制发送方发送数据的速率。(是由接收方主动控制实现的)
- 注意:物理层的通信双方数据信号收发速率必须相同,而链路层的收发速率不匹配主要指数据处理能力方面。

流量控制的目的:
现代数据通信传输,大多数采用了存储转发的分组交换技术,由于通信的随机性和突发性,当接收方的处理能力小于发送方的发送量时,必须采用流量控制。

所谓流量控制方法,即接收方如何通知发送方“开始 or 停止”发送数据:
- 开关式流量控制: XON/XOFF, 硬件控制信号;
协议式流量控制: ARQ自动重发请求; - 停止等待协议(Stop-and-Wait Protocol )
- 滑动窗口协议(Slide Window Protocol )
(1)连续ARQ协议 (2)选择ARQ协议
简单的停止-等待流量控制(工作过程:一发一等)
发送结点
(1) 从主机高层取出一个数据帧;
(2) 将数据帧送到数据链路层的发送缓存;
(3) 将发送缓存中的数据帧发送出去;
(4) 等待;(等待什么?)
(5) 若收到由接收结点发过来的确认应答信息,则从主机取一个新的数据帧,然后转到(2)。接收结点
(1) 等待;(等待什么?)
(2) 若收到由发送结点发过来的数据帧,则将其放入数据链路层的接收缓存;
(3) 将接收缓存中的数据帧上交主机;
(4) 向发送结点发送一个确认信息,表示数据帧已经上交给主机高层;
(5) 转到(1)。

在实际的数据传输过程中,由于传输信道特性设计和实现的不理想和外界干扰的存在,出现传输差错是不可避免的。
传输差错导致接收的数据帧错误,接收方要求发送方重发数据帧。
严重的传输差错还导致数据帧或应答帧丢失,使发送操作不能继续进行,或接收方重复接收数据。

实用的停止-等待协议:
在一些数据传输应用中,为了简化处理,对于出错的帧采用不发送确认应答的方式处理这样就只需要处理超时重发。
停止-等待传输方式中,如果发送方未收到应答,则一直等待。
必须有相应的控制机制,使发送方操作能够继续进行,不会出现无尽的等待,造成发送的死锁。
超时重发技术
- 结点A发送完一个数据帧,就启动一个超时计时器,此计时器又称为定时器。
- 若到了超时计时器所设置的重传时间 tout 而仍未收到结点 B 的任何确认帧,则结点 A 就重传前面所发送的这一数据帧。
- 一般可将重传时间选为略大于“从发完数据帧到收到确认帧所需的平均时间”。
- 重传若干次后仍不能成功,则主动报告差错。
重复帧问题
- 如果是接收方的应答帧丢失,会导致发送方重复发送,出现重复帧。
- 结点 A 给每个数据帧带上不同的发送序号,每发送一个新的数据帧就把它的发送序号加 1。
- 若结点 B 收到发送序号相同的数据帧,就表明出现了重复帧。这时应丢弃重复帧,因为已经收到过同样的数据帧。
- 但此时结点 B 还必须向 A 发送确认帧 ACK,以保证协议正常执行。
帧的编号问题
- 帧的序号需要使用若干比特表示。
- 任何一个编号系统的序号所占用的比特数一定是有限的。因此,经过一段时间后,发送序号就会重复。
- 序号占用的比特数越少,数据传输的额外开销就越小,但必须保证在合理的时间内不出现重复。
- 对于停止等待协议,由于每发送一个数据帧就停止等待应答,因此用一个比特来编号就够了。
帧的发送序号
- 在停止-等待方式中,任何时候只会有一个帧未被确认而需要标识。
- 一个比特可表示0和1两种不同的序号。数据帧中的发送序号 N(S) 以 0 和 1 交替的方式出现在数据帧中。
- 每发一个新的数据帧,发送序号就和上次发送的不一样。用这样的方法就可以使收方能够区分开新的数据帧和重传的数据帧了。
ts是发送时延,是比特/比特每秒!
例2. 在卫星通信系统中,两个地面卫星通信站之间利用卫星的转发技术进行通信,信号从一个地面站经卫星传到另一个地面站,若设其传播时延为250ms,发送一个数据帧的时间为20ms (相当于帧长1000比特,速率为50Kb/s),试分析此系统的信道利用率。
注:由于卫星距离地面较远,电磁波需要较长时间才能从一个地面站传播到另一个。在卫星通信中,从一个地面站经过卫星到另一个地面站,称为一“跳”。
解:信号从一个地面站经卫星传到另一个地面站,其传播时延为250ms,发送一个数据帧的时间为20ms,则从发送站开始发送到数据帧被目的站接收,一共需要时间:20ms+250ms=270ms
不考虑目的站对接收到的数据帧的处理时间和应答帧的发送时间 (可以认为应答帧非常短),则应答帧也需要经过250ms才能被发送站接收到。
从发送一帧开始,到收到应答所需要的时间为:270ms+250ms=520ms
则此系统的信道利用率为:20ms/520ms=1/26 ≈ 4%
停止-等待协议的优缺点
优点:控制过程比较简单,易于实现 。
缺点:通信信道的利用率不高。
虽然物理层在传输比特时会出现差错,但由于数据链路层的停止等待协议采用了有效的检错重传机制,数据链路层对上面的网络层可以提供可靠传输服务,因为简单,现在用的还是比较广泛。
滑动窗口的基本概念(记住发送窗口是两部分构成的即可)
- 发送窗口:记录了哪些帧可以发送,以及是哪些帧发送了还未被确认的他们的序号;(是前沿和后沿之间的部分);(已发未收、未发)
- 接收窗口:记录了哪些自己已经接收了的;
- 为了解决停止等待协议信道利用率低的问题,可以采用“滑动窗口”控制方法。
- 在“滑动窗口”流量控制中,当发送完一个数据帧后,发送方不停止等待确认帧,而是一边等待,一边继续发送若干数据帧。由于在等待确认时可以继续发送数据,减少了信道空闲时间,因而提高了整个通信过程的吞吐量。(边等边润)
- “滑动窗口”机制是实现数据帧传输控制的逻辑过程,它允许未经确认而继续发送多个数据帧。
- “滑动窗口”机制要求发送节点设置相应发送存储单元,用于保存已发送但尚未被确认的帧,这些帧号对应着一张连续序号列表,即发送窗口。
- 接收节点则有一张接收序号列表及相应的缓冲区,即接收窗口。帧序号对应接收窗口中的序号才可接收,否则丢弃。



滑动窗口控制规则:
发送窗口:每发送一帧数据,发送指针顺序向前移动一格,到达窗口前沿序号后停止;每接收一帧应答,窗口向前移动一格;
接收窗口:每接收一帧数据,检验正确后上交高层;发送一帧应答,窗口向前移动一格;
窗口自左向右滑动,实现流量控制。
滑动窗口只有接收窗口向前滑动时(同时也发送确认),发送窗口才有可能向前滑动。即由接收方主导流量控制。
收发两端的窗口按照以上规律不断地向前滑动,因此这种协议又称为滑动窗口协议。
当发送窗口和接收窗口的大小都 = 1 时,就等效于停止等待协议。
滑动窗口控制方式:
在滑动窗口流量控制方式中,根据通信双方对于出现差错和需要流量控制过程时所采用的处理方法不同,分为:
连续 ARQ 和选择 ARQ。
ARQ,Automatic Repeat-reQuest,自动重发请求
连续ARQ:
- 当发送完一个数据帧后,不是停下来等待确认帧,而是继续发送若干数据帧;
- 如果收到了接收方发来的确认帧,则发送方可以继续发送数据帧;
- 如果出现差错,则从出现差错的数据帧开始全部重发。
- 重发的帧序号是连续的。
选择ARQ:
- 连续ARQ方式实现相对比较简单,但如果出现传输差错会使效率降低。
- 在连续ARQ协议中,如果某个数据帧发生差错,后续的数据帧即使被正确地接收到,也要被丢弃,造成网络资源浪费。
- 为进一步提高信道的利用率,可设法只重传出错的数据帧或计时器超时的数据帧。
窗口尺寸-连续ARQ
最大发送窗口的尺寸:WT = 2 n - 1
接收窗口固定尺寸固定:WR = 1;
窗口尺寸-选择ARQ
最大发送窗口的尺寸:WT = 2n-1 (WT = 2n/2
最大接收窗口的尺寸:WR = 2n-1 (WR = 2n/2
3.3点对点信道的数据链路层协议
数据链路控制协议的作用:
数据链路层协议又称为数据链路控制规程,使通信变得较可靠。
数据链路控制规程的作用:
帧控制 透明传送 流量控制 链路管理 差错控制 异常状态的恢复
协议分为:
- 面向字符的数据链路控制规程(主要介绍PPP)
- 面向比特的数据链路控制规程(主要介绍HDLC)
HDLC的相关概念
站的定义(通信站):
- 主站:发送控制报文的站
- 从站:在主站控制下操作,仅回复响应的站
- 复合站:具有主、从站双重功能的站
链路配置:
- 不平衡型:用于点——点、点——多点链路 (主——从)
- 平衡型:用于点——点链路(复合——复合)
HDLC的工作模式
NRM 正常响应模式
只有主站才能发起向从站的数据传输,从站只能响应主站的询问。
ARM 异步响应模式
允许从站发起向主站的数据传输,但主站仍然负责全过程的初始化。
ABM 异步平衡模式
任一复合站均可发送、接收命令/响应。

HDLC的帧结构
HDLC帧中存在多种 0/1 比特组合。
- 5个或5个以内连续1,或其他组合:正常数据。
- 01111110:帧标志 F,帧开始和结束标志,帧间填充,帧同步。
- 7~15个连续“1”:异常终止,丢弃此帧。
- 多于15个连续“1”:链路空闲,停止工作。
必须采取措施,实现 HDLC 帧中任意比特组合的传输,而不会造成误判。
HDLC的透明传输
(0的插入和删除是系统自动完成的,这个“增加/减少”的“过程”我们看不见,所以是“透明传输”)
- 采用“零比特自动插入/删除法”使一帧的两个 F 字段之间不会出现 6 个或6个以上连续 “1”。
- 在发送端,当一串比特流数据中有 5 个连续 1 时,就立即自动插入一个 “0”。
- 在接收帧时,先找到 F 字段以确定帧的边界。接着再对比特流进行扫描。每当发现 5 个连续 1 时,就将其后的一个 0 删除,以还原成原来的比特流。
避免二义性:不管连续发送的第五个1之后的数字是0还是1,发送方都会插入一个0,接收方看到之后会自动删除增加进去的0,还原数据。
采用零比特插入/删除法可传送任意组合的比特流,即实现数据链路层的透明传输。
当连续传输两个帧时,前一个帧的结束标志字段 F 可以兼作后一帧的起始标志字段。
当暂时没有信息传送时,可以连续发送标志字段,使收端可以一直和发端保持同步,同时表示链路处于工作状态。
地址字段A:
- 不平衡配置:从站地址
- 平衡配置:应答站地址
控制字段C 说明帧的类型、功能
- 信息帧I:数据传送,包含信息字段
- 监督帧S:监视和控制数据传送
- 无编号帧U:数据链路的控制和管理
HDLC的帧结构
信息字段 I:
- 高层信息,如 IP 报文或其它信息
- 长度可变,且无字段长度说明
- 某些控制类帧可能无此字段
帧校验序列 FCS:
- 差错控制,使用CRC校验(循环冗余码校验)
- 长度16bit,也属于透明传输范围


















