讲数据链路层讲解打印

合集下载

数据链路层知识点总结

数据链路层知识点总结

数据链路层知识点总结
嘿,朋友们!今天咱们要来聊聊超重要的数据链路层知识点啦!你知道吗,数据链路层就像是信息高速公路上的“交通指挥员”!比如说,你在网上看视频,这数据就像一辆辆车,数据链路层就是指挥它们有序行驶的交警。

它的主要功能之一就是成帧啦!这就好比把一个个信息打包成整齐的包裹,然后准确无误地送到目的地。

就像快递员给你的包裹打包一样,整整齐齐,明明白白!
差错控制也是很关键的哦!想象一下,如果信息在路上跑着跑着出错了,那不就乱套啦!所以数据链路层会认真检查,确保一切准确无误,就像是一个严格的质检员。

有一次我和朋友传文件,结果出错了,还好有它帮忙纠正,不然可就麻烦大啦!
还有流量控制呢!这不就像控制水流一样嘛,不能一下子涌出来太多,会撑爆的呀!要合理地安排数据的传输速度,不然网络就拥堵啦!比如说打游戏的时候,要是流量控制不好,那画面不得卡成幻灯片呀!“哎呀,怎么这么卡呀!”这得多烦人呀!
另外,介质访问控制也是很重要的一块哦!就好像大家在一个房间里说话,得有个规则,谁先发言,不能乱哄哄的。

网络也是这样呀,不同的设备要有序地使用网络资源。

我之前就遇到过网络很卡,后来发现是因为好多设备同时在抢资源呢!
数据链路层真的是超级重要呀!它让我们的网络世界能够顺畅运行,就像一个默默付出的幕后英雄!没有它,我们的网络生活可就要乱套啦!所以,一定要好好了解它呀,朋友们!。

计算机网络原理第三章数据链路层

计算机网络原理第三章数据链路层
此服务的适用范围:无线系统之类的不可靠信道
有确认的面向连接的服务
数据链路层为网络层提供的最复杂的服务 源机器和目的机器在传递任何数据之前,先建立一条
连接。在这条连接上所发送的每一帧都被编上号,数 据链路层保证所发送的每一帧都确实已收到。 保证每帧只收到一次,而且所有的帧都是按正确顺序 收到 为网络层进程间提供可靠传送比特流的服务
接收方也会因无力处理收到的帧而会丢失一些帧。 解决方法:引入流量控制来限制发送方发出的数
据流量,使之不超过接收方的能力。 需要某种反馈机制使发送方知道接收方的情况。 大部分流量控制方案的基本原理相同。
差错检验和纠正
通常数字传输时,差错很少发生 模拟传输经常发生差错 光纤干线差错率很小 无线通信差错率较大 两种基本的处理差错策略: 纠错码 检错码
帧界的确定。2、完全依赖于8位字符,特别是ASCII字 符。 第1点的解决方法:采用字符填充,即在数据中的每个 偶然遇到的DLE字符前,插入一个DLE的ASCII代码。
第2点的解决方法:采用位填充
允许数据帧包含任意个数的比特,而且也允 许每个字符的编码包含任意个数的比特。
工作方式如下:每一帧使用一个特殊的位模 式,即01111110作为开始和结束标志字节。 当发送方的数据链路层在数据中遇到5个连 续的1时,它自动在其后插入一个0到输出比 特流中。
在实际环境中,可能会通过中断来处理,这里 作了简化,忽略了并行活动的细节。
当一个帧到达接收方时,硬件会计算校 验和。若有传输错误,会收到通知 ( event =cksum_err),若无错误,则 收到通知( event =frame_arrival),利 用from_physical_layer接收进来的帧并做处理。

数据链路层技术的使用教程详解(五)

数据链路层技术的使用教程详解(五)

数据链路层技术的使用教程详解数据链路层技术是计算机网络中的重要组成部分,它负责在物理连接上提供可靠的数据传输和错误控制。

数据链路层的主要任务是将网络层的数据分割成适当的帧,并通过物理网络传输到目标主机。

本文将详细介绍数据链路层技术的使用教程。

一、数据链路层的基本概念数据链路层位于物理层和网络层之间,它在物理层提供的物理连接基础上,向网络层提供了一种透明的数据传输服务。

数据链路层使用帧作为传输的基本单位,每个帧包含了数据部分和控制信息。

数据链路层通过控制帧的传输顺序和错误检测等机制,确保数据的可靠传输。

二、数据链路层的主要功能1. 帧封装处理:数据链路层将网络层传递过来的数据分割成适当大小的帧,并添加控制信息,如帧起始位、帧结束位和校验位等。

2. 流量控制:数据链路层负责控制源节点向目标节点发送数据的速率,以防止目标节点的接收缓冲区溢出。

3. 差错控制:数据链路层使用差错控制技术,如纠错编码和循环冗余检测(CRC),可对发送的数据进行错误检测和纠正,确保数据的可靠传输。

4. 帧同步:数据链路层通过帧同步技术,使发送方和接收方始终保持帧的同步,以确保数据的正确接收和解析。

5. 确保可靠性:数据链路层通过重传机制,可确保数据在传输过程中的可靠性。

如果接收方检测到帧出现错误,会通知发送方重新发送该帧。

三、常用的数据链路层技术1. PPP(点对点协议):PPP是一种常用的数据链路层协议,它适用于点对点通信,可在异构网络中提供可靠的数据传输。

PPP协议具有简单、灵活、易于配置等特点,在拨号上网、虚拟专用网络(VPN)等场景中得到广泛应用。

2. HDLC(高级数据链路控制):HDLC是一种同步链路层协议,广泛用于广域网(WAN)的数据传输。

HDLC协议具有高效、可靠的特点,能够对数据进行可靠传输和差错检测。

3. Ethernet:Ethernet是一种常用的局域网(LAN)数据链路层技术,它使用载波监听多路访问/冲突检测(CSMA/CD)机制,能实现多台主机之间的共享传输。

数据链路层PPT课件

数据链路层PPT课件

3.2 点对点协议 PPP—4帧格式
先发送
首部
FAC 7E FF 03
字节 1 1 1
协议 2
IP 数据报
信息部分 不超过 1500 字节 PPP 帧
尾部
FCS
F 7E
2
1
3.2 点对点协议 PPP—4帧格式
当 PPP 用在同步传输链路时 ,采用比特填充。
在发送端,只要发现有 5 个 连续 1,则立即填入一个 0 。接收端对帧中的比特流进 行扫描。每当发现 5 个连续 1时,就把这 5 个连续 1 后 的一个 0 删除,
1. 进行串行/并行转换 2. 对数据进行缓存 3. 在计算机的操作系统安装设备驱动程序 4. 实现以太网协议
40
3.3 使用广播信道的数据链路层—概述
IP 地址
计算机
硬件地址
CPU 和 存储器
并行 通信
适配器 (网卡)
至局域网 串行通信
生成发送的数据 把帧发送到局域网 处理收到的数据 从局域网接收帧
(1) 封装成帧 (2) 透明传输 (3) 差错控制 (4)最大传送单元 (5)网络层地址协商
1. PPP 协议不需满足的需求 (1) 纠错
(2) 流量控制
3.2 点对点协议 PPP—3组成部分
PPP 协议有三个组成部分 1. 一个将 IP 数据报封装到串行链路的方法 2. 链路控制协议 LCP (Link Control Protocol) 3. 网络控制协议 NCP (Network Control Protocol)
3.2 点对点协议 PPP—1应用范围
现在全世界使用得最多的数据链路层协议是点对 点协议 PPP (Point-to-Point Protocol)。

数据链路层技术的使用教程详解

数据链路层技术的使用教程详解

数据链路层技术的使用教程详解在计算机网络中,数据链路层是网络协议栈中重要的一层,负责将网络层传递下来的数据分割成适当的帧,并确保这些帧能够通过物理介质进行可靠传输。

本文将详细介绍数据链路层技术的使用教程。

一、数据链路层的基本概念数据链路层是网络协议栈中的第二层,位于物理层和网络层之间。

它的主要功能是将网络层的数据分割成帧,并负责帧的传输控制。

数据链路层使用的基本概念包括帧、MAC地址和误码控制等。

帧是数据链路层传输数据的基本单位,它包含了源MAC地址、目的MAC地址、数据和校验字段等信息,在物理层上能够被成功传输的数据即为一个帧。

MAC地址是数据链路层设备的唯一标识符,用于指示数据帧的目的和源。

MAC地址由48位的二进制数表示,通常以十六进制的形式呈现。

误码控制是数据链路层保证数据传输可靠性的一种机制。

通过使用差错检测技术,数据链路层可以在帧传输过程中发现错误,并且采取相应措施进行纠正。

二、数据链路层的协议数据链路层的常用协议有以太网、无线局域网和令牌环等。

以太网是一种最常见的有线局域网,它使用CSMA/CD(载波监听多路访问/冲突检测)技术实现数据的传输。

以太网采用MAC地址来标识设备,帧的最大传输距离为约100米。

无线局域网采用无线信号进行数据传输,常用的协议有Wi-Fi。

Wi-Fi使用类似以太网的帧结构,但传输方式不同。

Wi-Fi的传输距离受到设备天线功率和环境影响,一般室内传输距离为30-100米。

令牌环是一种较为古老的局域网技术,它使用令牌传递的方式控制数据传输。

在令牌环中,只有持有令牌的设备才能进行数据传输,从而确保数据传输的顺序和可靠性。

三、数据链路层技术的配置与管理配置和管理数据链路层技术需要掌握一定的网络知识和相关工具。

首先,需要了解本地网络的拓扑结构和设备分布。

通过网络管理员的配置,可以确定每个设备的MAC地址和IP地址等基本信息,并且对设备进行分组和管理。

其次,需要使用网线、无线设备或网络虚拟化技术连接各个设备。

数据链路层的基本概念

数据链路层的基本概念

数据链路层的基本概念数据链路层的基本概念是计算机网络中的一个关键概念。

数据链路层位于OSI模型中的第二层,负责传输物理层提供的比特流,并将其转化为有意义的数据帧。

它提供了在两个直接相连的节点之间可靠的数据传输服务,同时确保数据的完整性、可靠性和有序性。

本文将逐步回答关于数据链路层基本概念的问题。

一、什么是数据链路层?数据链路层是OSI模型中的第二层,在网络协议栈中位于物理层之上。

它作为网络的关键部分,连接了物理层和网络层。

数据链路层主要负责两个连接节点之间的点对点数据传输,并提供差错控制、流量控制和访问控制等功能。

二、数据链路层的功能有哪些?1. 封装与解封装:数据链路层负责将上层从网络层接收到的数据报封装到数据帧中发送给物理层,同时接收来自物理层的比特流,并将其解封装为数据帧交给网络层。

2. 物理寻址与MAC地址:数据链路层通过物理寻址使用唯一的MAC地址来标识网络中的每个节点,保证数据帧能够准确地传输到指定的目的节点。

3. 差错检测与纠正:数据链路层使用差错检测算法,如循环冗余校验(CRC),来检测数据帧在传输过程中是否发生了比特差错,并在需要时进行纠正。

4. 流量控制与传输可靠性:数据链路层实现了流量控制机制,以确保发送方和接收方之间的数据传输速率匹配,同时使用滑动窗口协议来确保数据的可靠传输。

5. 访问控制与介质共享:数据链路层通过介质访问控制协议,如CSMA/CD(载波监听多路访问/碰撞检测)和TDMA(时分多址),来管理共享介质上的多个节点的访问,实现数据的分时复用。

三、数据链路层的协议有哪些?数据链路层的常见协议包括:1. PPP(点对点协议):PPP是一种广泛应用于拨号连接和宽带接入的数据链路层协议,它提供了认证、加密和压缩等功能。

2. HDLC(高级数据链路控制):HDLC是一种同步数据链路层协议,广泛应用于广域网和局域网中,用于数据通信。

3. Ethernet(以太网):Ethernet是一种广泛应用于局域网的数据链路层协议,它使用CSMA/CD协议来实现多节点间的共享传输。

数据链路层知识点概况

数据链路层知识点概况

数据链路层知识点概况嘿,朋友们!今天咱来聊聊数据链路层呀!这数据链路层就好比是交通系统中的一段路,它负责把数据从一个地方安全可靠地送到另一个地方呢。

你想想看,数据就像一辆辆小汽车,在网络这个大“公路”上跑。

数据链路层呢,就是给这些小汽车规划好路线,确保它们能顺利到达目的地,而且还不能出事故。

要是没有它,那这些数据小汽车不就乱套啦,到处乱跑,那可不行呀!它有好多重要的任务呢!比如说,它要给数据加上一些“标签”,就像给小汽车贴上牌照一样,这样才能知道这些数据是从哪里来,要到哪里去。

它还要检查数据有没有出错,就像交警检查小汽车有没有故障一样。

如果有错误,它就得想办法修正,不然接收方收到错误的数据,那不就糟糕啦!而且哦,数据链路层还有个很厉害的本事,就是能把大数据分成小块,就像把一个大包裹拆分成小包裹一样。

这样一来,传输起来就更方便、更高效啦。

等数据到了目的地,它再把这些小包裹重新组合起来,变回原来的大数据。

这多神奇呀!就像我们平时寄快递,数据链路层就是负责把我们要寄的东西包装好,贴上地址标签,然后通过各种渠道送到对方手里。

如果中间出了问题,它还得负责解决呢。

你说要是没有数据链路层,这网络世界得乱成啥样呀?那肯定到处都是数据混乱、出错,就像马路上没有交通规则一样,那可太可怕啦!所以呀,数据链路层可真是太重要啦!它就像一个默默工作的小卫士,守护着网络世界的秩序和稳定。

我们平时上网、聊天、看视频,可都离不开它的功劳呢!我们得好好感谢它呀!大家可别小看了这数据链路层哦,它虽然不起眼,但作用可大着呢!它让我们的网络生活变得更加顺畅、更加可靠。

就像我们生活中的那些平凡而伟大的人一样,虽然不引人注目,但却默默地为我们付出。

现在想想,我们每天都在享受着数据链路层带来的便利,却很少有人知道它的存在。

这是不是有点像我们身边那些默默付出的人呢?我们是不是应该多关注一下这些“幕后英雄”呀?总之呢,数据链路层就是网络世界中非常重要的一部分,没有它可不行呀!大家以后再上网的时候,可别忘了它哦!。

ch33讲数据链路层讲解打印版

ch33讲数据链路层讲解打印版

第三章数据链路层(6学时)本章概述:数据链路层主要内容为: 两台相邻机器之间实现可靠、有效的通信而涉及到的一些算法。

所谓相邻,意思是指两台机器通过一条通信信道连接起来,这里的通信信道在概念上就像一条线(比如同轴电缆、电话线或者点到点的无线信道)。

一条信道像一条线, 这也暗示了它的一个本质特性, 即在一条信道上递交的数据位的顺序及发送的顺序完全相同。

相邻机器的通信并不简单, 影响因素有: 通信线路的偶尔错误, 通信线路的数据传输率有限, 传输延迟等. 所以协议必须考虑这些因素的影响.数据链路层的任务是将物理层提供的原始位流转换成可供网络层使用的帧流。

数据链路层用到了各种成帧的方法,包括字符计数法、字节填充法和位填充法。

数据链路协议可以提供错误控制能力,以便重传损环的或者丢失的帧。

为了避免快速的发送方淹没一个慢速的接收方, 数据链路协议还要提供流控制功能。

滑动窗口机制是—种被广泛使用的技术,它可以方便地将错误控制和流控制结合在一起来考虑。

滑动窗口协议可以按照发送方的窗口大小和接收方的窗口大小来进行分类。

当两个窗口的大小都是l的时候,滑动窗口协议变成了停—等协议。

当发送方的窗口大于1(例如,为了避免发送方由于长的传输延迟而阻塞线路)的时候,接收方可以有两种实现办法:除了下一个顺序帧以外其他的帧都丢弃;或者将所有乱序的帧都缓存起来,一直到需要这些帧的时候。

3.1 数据链路层设计要点数链层基本功能: 向网络层提供一个定义良好的服务接口; 处理传输错误; 调节数据流, 防止淹死接收方.图3.1 分组和帧之间的关系3.1.1为网络层提供服务图3.2 (a)虚拟通信过程; (b)实际通信过程图3.3 数据链路层协议的位置3.1.2成帧1.字符计数法在帧头中用一个域来表示整个帧的字符个数缺点:若计数出错,对本帧和后面的帧有影响图3.4 一个字符流(a) 无差错(b) 有一个差错2.带字符填充的首尾字符定界法缺点:局限于8位字符和字符传送。

第4章---数据链路层ppt课件(全)

第4章---数据链路层ppt课件(全)
一个n位的二进制序列,它的码多项式为: Xn-1 到 X n次多项式的系数系列。
例如:110110的码多项式
循环码的定义:如果分组码中各码字中的码元 循环左移位(或右移位)所形成的码字仍然是 码组中的一个码字(除全零码外),则这种码 称为循环码。例如n长循环码中的一个码为 [C]=Cn-1Cn-2……C1C0 ,
(3)在串行通信中通常使用的三种生成多项式G (X)来产生校验码。
(4)编码特点
由于码的循环性,它的编解码的设备比 较简单。
纠错能力强,特别适合检测突发性的错 误,除了正好数据块的比特值是按除数 变化外,循环冗余校验(CRC)将检测出 所有的错误。
所以在计算机通信中得到广泛的应用。
差错控制方式
新加入的码元愈多,冗余度愈大,纠错能力欲 强,但效率越低。
分组码:将信息码分组,并为每个组附加若干 监督的编码,称为“分组码”。在分组码中, 监督码元仅监督本码组中的信息码元。
分组码一般可用符号(n,k)表示,n是码组中 的总位数,k是每组码二进制信息码元的数目。
n-k = r是监督码元的数目。
(3) 流量控制 发方发送数据的速率必须使得收方来得 及接收。当收方来不及接收时,就必须及时控制发方 发送数据的速率。这种功能称为流量控制(flow conctrol)。采用接收方的接收能力来控制发送方的发 送能力这是计算机网络流量控制中采用的一般方法。
(4) 差错控制 在计算机通信中,一般都要求有极低的 比特差错率。为此,广泛采用了编码技术,编码技术 有两大类。一类是前向纠错,也就是收方收到有差错 的数据帧时,能够自动将差错改正过来。这种方法的 开销较大,不大适合于计算机通信。另一类是差错检 测,也就是收方可以检测出收到的数据帧有差错(但 并不知道出错的确切位置)。当检测出有差错的数据 帧就立即将它丢弃,但接下去有两种选择:一种方法 是不进行任何处理(要处理也是有高层进行),另一 种方法则是由数据链路层负责重传丢弃的帧。

数据链路层知识概述(ppt 83页)

数据链路层知识概述(ppt 83页)
( m + r + 1) < 2r, 给定m的情况下,这个条件给出了用于纠正单 个错误所需要的校验位数目的下界 例如m = 10,r > 4
23
检错码
纠错码代价很大(计算量和带宽),因此用在无线 通信较为合适,但是在铜线或者光缆,错误检测和 重传机制往往更加有效。
例如,若误码是独立的,误码率为10-6。则对于 1000bit的数据块,需要10个校验位纠正1个单bit错 误,1Mbit的需要10Kbit,显然如果仅仅检测错误 ,每个数据块1个奇偶位就足够了,每一千个数据块 额外传输一个块,因此开销小,利用检错/重传机制 ,则1Mbit只需2001位,相比之下,海明码需要 10000位。 最广泛使用的检错码是多项式编码,也称CRC。
28
Cyclic Redundancy Check
通常用到的3种CRC生成多项式:
CRC-16 = x16+x15+x2+1 (used in HDLC) CRC-CCITT = x16+x12+x5+1 CRC-32 = x32+x26+x23+ x22+x16+x12+
x11+x10+x8+ x7+x5+x4+ x2+x1+1(used in Ethernet)
尽管复杂,可以用硬件构造出来
29
3.3 基本数据链路协议
一个无限制的单工协议 一个单工的停—等协议 有噪声信道的单工协议
30
基本数据链路协议
几个假设: • 物理层、数据链路层和网络层都是独立
的进程,它们通过报文来相互通信。 • 可靠的、面向连接的服务 • 机器不会崩溃
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第三章数据链路层(6学时)本章概述:数据链路层主要内容为: 两台相邻机器之间实现可靠、有效的通信而涉及到的一些算法。

所谓相邻,意思是指两台机器通过一条通信信道连接起来,这里的通信信道在概念上就像一条线(比如同轴电缆、电话线或者点到点的无线信道)。

一条信道像一条线, 这也暗示了它的一个本质特性, 即在一条信道上递交的数据位的顺序与发送的顺序完全相同。

相邻机器的通信并不简单, 影响因素有:通信线路的偶尔错误, 通信线路的数据传输率有限, 传输延迟等. 所以协议必须考虑这些因素的影响.数据链路层的任务是将物理层提供的原始位流转换成可供网络层使用的帧流。

数据链路层用到了各种成帧的方法,包括字符计数法、字节填充法和位填充法。

数据链路协议可以提供错误控制能力,以便重传损环的或者丢失的帧。

为了避免快速的发送方淹没一个慢速的接收方, 数据链路协议还要提供流控制功能。

滑动窗口机制是—种被广泛使用的技术,它可以方便地将错误控制和流控制结合在一起来考虑。

滑动窗口协议可以按照发送方的窗口大小和接收方的窗口大小来进行分类。

当两个窗口的大小都是l的时候,滑动窗口协议变成了停—等协议。

当发送方的窗口大于1(例如,为了避免发送方由于长的传输延迟而阻塞线路)的时候,接收方可以有两种实现办法:除了下一个顺序帧以外其他的帧都丢弃;或者将所有乱序的帧都缓存起来,一直到需要这些帧的时候。

3.1 数据链路层设计要点数链层基本功能: 向网络层提供一个定义良好的服务接口; 处理传输错误; 调节数据流, 防止淹死接收方.图3.1 分组和帧之间的关系3.1.1为网络层提供服务图3.2 (a)虚拟通信过程; (b)实际通信过程图3.3 数据链路层协议的位置3.1.2成帧1.字符计数法在帧头中用一个域来表示整个帧的字符个数缺点:若计数出错,对本帧和后面的帧有影响图3.4 一个字符流(a) 无差错(b) 有一个差错2.带字符填充的首尾字符定界法缺点:局限于8位字符和ASCII字符传送。

图3.5 (a) 有标志字节作为分界的帧; (b) 字节填充前后的4个字节序列例子3.带位填充的首尾标记定界法-帧的起始和结束都用一个特殊的位串“”,称为标记(flag)-“0”比特插入删除技术图3.6 位填充(a) 原始数据; (b) 线路上的数据; (c) 删除填充之后存储在接收方存储器中的数据4.物理层编码违例法802 LAN:曼彻斯特编码或差分曼彻斯特编码用high-low pair/low-high pair表示1/0,high-high/low-low不表示数据,可以用来做定界符。

注意:在很多数据链路协议中,使用字符计数法和一种其它方法的组合。

● 3.1.3 错误控制帧完全丢失一般方法:接收方给发送方一个反馈(响应)。

接收方反馈接收情况信息→确认: 肯定性确认否定性确认出错情况-帧(包括发送帧和响应帧)出错;-帧(包括发送帧和响应帧)丢失→计数器(计时用)-收到重复帧→帧编号通过计时器和序号保证每帧最终交给目的网络层仅一次是数据链路层的一个主要功能。

● 3.1.4流控制淹没问题, 两种流控制策略: 基于反馈的流控制和基于速率的流控制(第5章讲)3.2 错误检测和纠正▪差错出现的特点(错误分为两种):随机的, 单个位, 孤立的错误,连续突发(burst)一次连续许多位错误更难以纠正▪处理差错的两种基本策略-使用纠错码:发送方在每个数据块中加入足够的冗余信息,使得接收方能够判断接收到的数据是否有错,并能纠正错误。

-使用检错码:发送方在每个数据块中加入足够的冗余信息,使得接收方能够判断接收到的数据是否有错,但不能判断哪里有错。

●纠错码(error-correcting code),技术上又称为前向纠错(forward error correction)(适用于低可靠性信道—无线链路, 在数据块中加入足够冗余信息, 减少重传, 因重传也可能是错误的) -码字(codeword):一个帧包括m个数据位,r个校验位,n = m + r,则此n比特单元称为n位码字。

-海明距离(Hamming distance):两个码字之间不同的比特位数目。

例:0000000000 与0000011111的海明距离为5如果两个码字的海明距离为d,则需要d个单比特错就可以把一个码字转换成另一个码字;为了检查出d个错(单比特错),需要使用海明距离为d + 1 的编码;为了纠正d个错,需要使用海明距离为2d + 1 的编码。

▪最简单的例子是奇偶校验,在数据后填加一个奇偶位-例:使用偶校验(“1”的个数为偶数)10110101 ——> 10110101110110001 ——> 101100010-奇偶校验可以用来检查奇数个错误。

▪设计纠错码-要求:m个报文位,r个校验位,纠正单比特错;-对2m个合法报文中任何一个,有n=m+r个与其距离为1的非法码字,因此每个合法的报文都要求n+1个位模式, 专门供它使用. 由于总共只有2n个位模式, 所以有:(n +1) 2m ≤ 2n-利用n = m + r,得到(m + r + 1) ≤ 2r。

给定m,利用该式可以得出校正单比特误码的校验位数目的下界. 例如, m=8, 则r>=4.▪海明码-码位从左边开始编号,从“1”开始;-位号为2的幂的位是校验位,其余是信息位;-每个校验位使得包括自己在内的一些位的奇偶值为偶数(或奇数)。

-为看清数据位k对哪些校验位有影响,将k写成2的幂的和。

例:11 = 1 + 2 + 8▪海明码工作过程-每个码字到来前,接收方计数器清零;-接收方检查每个校验位k (k = 1, 2, 4 …)的奇偶值是否正确;-若第k 位奇偶值不对,计数器加k;-所有校验位检查完后,若计数器值为0,则码字有效;若计数器值为m,则第m位出错。

例:若校验位1、2、8出错,则第11位变反。

▪使用海明码纠正突发错误-可采用k个码字(n = m + r)组成k ⨯ n 矩阵,按列发送,接收方恢复成k ⨯ n 矩阵-kr个校验位,km个数据位,可纠正最多为k个的突发性连续比特错。

图3.7 利用海明码来纠正突发性错误例题: 习题3-9 练习: 3-10, 3-11假设使用海明码来传输16位的报文. 请问, 需要多少个检查位才能确保接收方可以检测并纠正单个位错误? 对于报文1101, 0011, 0011, 0101, 请给出所传输的位模式. 假设在海明码中使用了偶数位.解: m=16, 根据公式(m+r+1) 2r得r5, 即至少需要5个检查位. (1,2,4,8,16)1101, 0011, 0011, 01011=1 3=1+22=2 5=1+44=4 7=1+2+47=1+2+4 11=1+2+88=8 12=4+811=1+2+8 15=1+2+4+812=4+8 17=1+1614=2+4+8 19=1+2+1616=16 21=1+4+160110, 1011, 0011, 0011, 1010, 1(答案错误)0111, 1011, 0011, 0011, 1010, 1(正确)●检错码(error-detecting code) (适用于高可靠性信道—光纤)▪使用纠错码传数据,效率低,适用于不可能重传的场合;大多数情况采用检错码加重传。

▪循环冗余码(CRC码,多项式编码)循环冗余校验码Cyclic Redundancy Check-110001,表示成多项式x5 + x4 + 1▪生成多项式G(x) Generator Polynomial-发方、收方事前商定;-生成多项式的高位和低位必须为1-生成多项式必须比传输信息对应的多项式短。

▪CRC码基本思想-校验和(checksum)加在帧尾,使带校验和的帧的多项式能被G(x)除尽;收方接收时,用G(x)去除它,若有余数,则传输出错。

▪校验和计算算法-设G(x)为r 阶,在帧的末尾加r 个0,使帧为m + r位,相应多项式为x r M(x);-按模2除法用对应于G(x)的位串去除对应于x r M(x)的位串;-按模2减法从对应于x r M(x)的位串中减去余数(等于或小于r位),结果就是要传送的带校验和的多项式T(x)。

图3.8 多项式编码校验和的计算过程▪CRC的检错能力-发送:T(x);接收:T(x) + E(x), E(x) ≠ 0, E(x)中的每一个”1”位都对应于有一位变反了;-余数((T(x) + E(x)) / G(x)) = 0 + 余数(E(x) / G(x))-若余数(E(x) / G(x)) = 0,则差错不能发现;否则,可以发现。

▪CRC检错能力的几种情况分析-如果只有单比特错,即E(x) = x i,而G(x)中至少有两项,余数(E(x) / G(x)) ≠ 0,所以可以查出单比特错;-如果发生两个孤立单比特错,即E(x) = x i + x j = x j (x i-j + 1),假定G(x)不能被x整除,那么能够发现两个比特错的充分条件是:x k + 1不能被G(x)整除(k ≤ i - j);-如果有奇数个比特错,即E(x)包括奇数个项,因为在模2系统中, 没有一个奇数项多项式包含x+1作为因子, 所以G(x)选(x + 1)的倍数就能查出奇数个比特错;-具有r个校验位的多项式能检查出所有长度≤ r 的突发性差错。

长度为k的突发性连续差错可表示为x i (x k-1 + …+ 1),若G(x)包括x0项,且k - 1小于G(x)的阶,则余数(E(x) / G(x)) ≠ 0;-如果突发差错长度为r + 1,当且仅当突发差错和G(x)一样时,余数(E(x) / G(x)) = 0,概率为1/2r-1;-长度大于r + 1的突发差错或几个较短的突发差错发生后,坏帧被接收的概率为1/2r。

▪四个多项式已成为国际标准-CRC-12 = x12 + x11 + x3 + x2 + x + 1-CRC-16 = x16 + x15 + x2 + 1-CRC-CCITT = x16 + x12 + x5 + 1-CRC-32 =x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x1 + 1 IEEE 802 使用CRC-32▪硬件实现CRC校验-网卡NIC(Network Interface Card)练习: 3-143.3 基本数据链路层协议●一个无限制的单工协议▪工作在理想情况,几个前提:-单工传输-发送方无休止工作(要发送的信息无限多)-接收方无休止工作(缓冲区无限大)-通信线路(信道)不损坏或丢失信息帧▪工作过程-发送程序:取数据,构成帧,发送帧;-接收程序:等待,接收帧,送数据给高层● 一个单工的停-等协议▪ 增加约束条件:接收方不能无休止接收。

相关文档
最新文档