第三讲 数据链路层
网络工程师考试 常见问题3 数据链路层01

第3章数据链路层问题3-1:旧版的《计算机网络》认为数据链路层的任务是在两个相邻结点间的线路上无差错地传送以帧(frame)为单位的数据。
数据链路层可以把一条有可能出差错的实际链路,转变成为让网络层向下看起来好像是一条不出差错的链路。
但最近新版的《计算机网络》(第4版和第5版)中对数据链路层的提法就改变了。
数据链路层的传输不能让网络层向下看起来好像是一条不出差错的链路。
到底哪一种说法是正确的?问题3-2:当数据链路层使用PPP协议或CSMA/CD协议时,既然不保证可靠传输,那么为什么对所传输的帧进行差错检验呢?问题3-3:为什么旧的版本教材在数据链路层一章中讲授可靠传输,但现在新的版本教材则取消了可靠传输?问题3-4:通过普通的电话用户线拨号上网时(使用调制解调器),试问一对用户线可容许多少个用户同时上网?问题3-5:除了差错检测外,面向字符的数据链路层协议还必须解决哪些特殊的问题?问题3-6:为什么计算机进行通信时发送缓存和接收缓存总是需要的?问题3-7:以太网使用载波监听多点接入碰撞检测协议CSMA/CD。
频分复用FDM才使用载波。
以太网有没有使用频分复用?问题3-8:在以太网中,不同的传输媒体会产生不同的传播时延吗?问题3-9:在以太网中发生了碰撞是否说明这时出现了某种故障?问题3-10:从什么地方可以查阅到以太网帧格式中的“类型”字段是怎样分配的?问题3-11:是什么原因使以太网有一个最小帧长和最大帧长?问题3-12:在双绞线以太网中,其连接导线只需要两对线:一对线用于发送,另一对线用于接收。
但现在的标准是使用RJ-45连接器。
这种连接器有8根针脚,一共可连接4对线。
这是否有些浪费?是否可以不使用RJ-45而使用RJ-11?问题3-13:RJ-45连接器对8根针脚的编号有什么规定?问题3-14:剥开5类线的外塑料保护套管就可以看见不同颜色的4对双绞线。
哪一根线应当连接到哪一个针脚呢?问题3-15:将5类线电缆与RJ-45插头连接起来的具体操作步骤是怎样的?问题3-16:不用集线器或以太网交换机,能否将两台计算机用带有RJ-45插头的5类线电缆直接连接起来?问题3-17:使用屏蔽双绞线电缆STP安装以太网是否可获得更好的效果?问题3-18:如果将已有的10 Mb/s以太网升级到100 Mb/s,试问原来使用的连接导线是否还能继续使用?问题3-19:使用5类线的10BASE-T以太网的最大传输距离是100 m。
计算机网络CH3 数据链路层.ppt

R3 网络层 链路层 物理层
H2
应用层 运输层 网络层 链路层 物理层
课件制作人:谢希仁
3.1 使用点对点信道的数据Байду номын сангаас路层
3.1.1 数据链路和帧
链路(link)是一条无源的点到点的物理线 路段,中间没有任何其他的交换结点。
一条链路只是一条通路的一个组成部分。
数据链路(data link) 除了物理线路外,还必须 有通信协议来控制这些数据的传输。若把实现 这些协议的硬件和软件加到链路上,就构成了 数据链路。
计算机网络(第 5 版)
第 3 章 数据链路层
课件制作人:谢希仁
第 3 章 数据链路层
3.1 使用点对点信道的数据链路层 3.1.1 数据链路和帧 3.1.2 三个基本问题
3.2 点对点协议 PPP 3.2.1 PPP 协议的特点 3.2.2 PPP 协议的帧格式 3.2.3 PPP 协议的工作状态
误码率与信噪比有很大的关系。如果提高信噪 比,就可以使误码率减小。
为了保证数据传输的可靠性,在计算机网络传 输数据时,必须采用各种差错检测措施。
课件制作人:谢希仁
循环冗余检验的原理
在数据链路层传送的帧中,广泛使用了循环冗余 检验 CRC (Cyclic Redundancy Check)的检错技 术。
3.5 扩展的以太网 3.5.1 在物理层扩展以太网 3.5.2 在数据链路层扩展以太网
3.6 高速以太网 3.6.1 100BASE-T 以太网 3.6.2 吉比特以太网 3.6.3 10 吉比特以太网 3.6.4 使用高速以太网进行宽带接入
3.7 其他类型的高速局域网接口
课件制作人:谢希仁
第一次课
课件制作人:谢希仁
计算机网络(数据链路层思维导图、习题)

计算机⽹络(数据链路层思维导图、习题)思维导图:3-01 数据链路(即逻辑链路)与链路(即物理链路)有何区别? “电路接通了”与”数据链路接通了”的区别何在?答:链路是从⼀个结点到相邻结点的⼀段物理通路,中间没有任何其他的交换结点。
数据链路:在物理链路上添加了控制协议,对数据的传输进⾏控制,把视线协议的硬件和软件添加到物理链路上就形成了数据链路。
3-02 数据链路层中的链路控制包括哪些功能?试讨论数据链路层做成可靠的链路层有哪些优点和缺点.答:封装成帧:添加帧定界符,接收端可以知道接受的帧是否完整。
流量控制:接收⽅在缓冲区快满的时候通知发送⽅让他降低发送速度,避免缓冲区溢出发⽣丢包现象。
差错检验:帧检验序列FCS。
将数据和控制信息区分开透明传输:⽆论什么样的⽐特组合都能够按照原样没有查错地通过数据链路层。
链路层的优点和缺点取决于所应⽤的环境:对于⼲扰严重的信道,可靠的链路层可以将重传范围约束在局部链路,防⽌全⽹络的传输效率受损;对于优质信道,采⽤可靠的链路层会增⼤资源开销,影响传输效率。
3-03 ⽹络适配器的作⽤是什么?⽹络适配器⼯作在哪⼀层?答:(1)进⾏串⾏到并⾏的转换(2)对数据进⾏缓存(3)对计算机的操作系统安装设备驱动程序⽹络适配器(⽹卡)⼯作在数据链路层和物理层,在数据链路层负责CSMA/CD协议,在物理层负责将数据转化成0101数字信号。
3-04 数据链路层的三个基本问题(帧定界、透明传输和差错检测)为什么都必须加以解决?答:(1)帧定界:分组交换的必然要求(2)透明传输:避免消息符号与帧定界符号相混淆(3)差错检测:差错的⽆效数据帧浪费后续路由上的传输和处理资源3-05 如果在数据链路层不进⾏帧定界,会发⽣什么问题?答:(1)⽆法区分分组与分组(2)⽆法确定分组的控制域和数据域(3)⽆法将差错更正的范围限定在确切的局部3-06 PPP协议的主要特点是什么?为什么PPP不使⽤帧的编号?PPP适⽤于什么情况?为什么PPP协议不能使数据链路层实现可靠传输?答:特点:(1)简单,提供不可靠的数据报服务,⽆纠错,不需要流量控制,不使⽤序号和确认机制。
数据链路层知识点总结

数据链路层知识点总结
嘿,朋友们!今天咱们要来聊聊超重要的数据链路层知识点啦!你知道吗,数据链路层就像是信息高速公路上的“交通指挥员”!比如说,你在网上看视频,这数据就像一辆辆车,数据链路层就是指挥它们有序行驶的交警。
它的主要功能之一就是成帧啦!这就好比把一个个信息打包成整齐的包裹,然后准确无误地送到目的地。
就像快递员给你的包裹打包一样,整整齐齐,明明白白!
差错控制也是很关键的哦!想象一下,如果信息在路上跑着跑着出错了,那不就乱套啦!所以数据链路层会认真检查,确保一切准确无误,就像是一个严格的质检员。
有一次我和朋友传文件,结果出错了,还好有它帮忙纠正,不然可就麻烦大啦!
还有流量控制呢!这不就像控制水流一样嘛,不能一下子涌出来太多,会撑爆的呀!要合理地安排数据的传输速度,不然网络就拥堵啦!比如说打游戏的时候,要是流量控制不好,那画面不得卡成幻灯片呀!“哎呀,怎么这么卡呀!”这得多烦人呀!
另外,介质访问控制也是很重要的一块哦!就好像大家在一个房间里说话,得有个规则,谁先发言,不能乱哄哄的。
网络也是这样呀,不同的设备要有序地使用网络资源。
我之前就遇到过网络很卡,后来发现是因为好多设备同时在抢资源呢!
数据链路层真的是超级重要呀!它让我们的网络世界能够顺畅运行,就像一个默默付出的幕后英雄!没有它,我们的网络生活可就要乱套啦!所以,一定要好好了解它呀,朋友们!。
第三讲 数据链路层-PPP

至 因 特 网
…
路由选择 进程
拨号电话线 调制解调器 使用 TCP/IP 的 PPP 连接
PPP 协议特点
• 1992 年制订了 PPP 协议。经过 1993 年和 1994 年的修订,现在的 PPP 协议已成为 因特网的正式标准[RFC 1661]。 1999年公 布以太网运行PPPoE。 • PPP协议有三个组成部分
仅从数据链路层观察帧的流动
简化模型
发送方 主 机 A AP1 接收方 AP2 主 机 B 高层
缓存
帧
帧 数据链路
缓存
数据链路层
三个基本问题
• 帧定界:发送方要让接受方知道所发送 的帧是从什么地方开始什么地方结束; • 透明传输:传送的比特组合不受限制; • 差错检测:判断数据传输的是否正确。
帧定界
– 位置1:校验1位,跳过1位,校验1位,跳过1位(1,3,5,7,9,11,13,15,… – 位置2:校验2位,跳过2位,校验2位,跳过2位 (2,3,6,7,10,11,14,15,…) – 位置4:校验4位,跳过4位,校验4位,跳过4位 (4,5,6,7,12,13,14,15,20,21,22,23,…) – 位置8:校验8位,跳过8位,校验8位,跳过8位(8-15,24-31,40-47,…)
海明码构建方法
1. 把所有2的幂次方的数据位标记为奇偶校验位(编号为1, 2, 4, 8, 16等的位置) ; 2. 其他数据位用于待编码数据(编号为3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17等的位置) ; 3. 每个奇偶校验位的值代表了代码字中部分数据位的奇偶性, 其所在位置决定了要校验和跳过的比特位顺序;
–一个将 IP 数据报封装到串行链路的方法。 –链路控制协议 LCP (Link Control Protocol)。 –网络控制协议 NCP (Network Control Protocol)。
计算机网络 第三章 数据链路层

3.4 使用广播信道的以太网 3.4.1 使用集线器的星形拓扑 3.4.2 以太网的 MAC 层
第 3 章 数据链路层(续)
3.5 扩展的以太网 3.5.1 在物理层扩展以太网 3.5.2 在数据链路层扩展以太网
数据链路层像个数字管道
常常在两个对等的数据链路层之间画出 一个数字管道,而在这条数字管道上传 输的数据单位是帧。
结点
帧
帧
结点
早期的数据通信协议曾叫作通信规程 (procedure)。因此在数据链路层,规程 和协议是同义语。
3.1.2 三个基本问题
(1) 封装成帧 (2) 透明传输 (3) 差错控制
计算机网络
第 3 章 数据链路层
第 3 章 数据链路层
3.1 使用点对点信道的数据链路层 3.1.1 数据链路和帧 3.1.2 三个基本问题
3.2 点对点协议 PPP 3.2.1 PPP 协议的主要特点 3.2.2 PPP 协议的帧格式 3.2.3 PPP 协议的工作状态
第 3 章 数据链路层(续)
逻辑链路控制 LLC (Logical Link Control) 子层
媒体接入控制 MAC (Medium Access Control) 子层。
与接入到传输媒体有关的内容都放在 MAC 子层,而 LLC 子层则与传输媒体无关, 不管采用何种协议的局域网对 LLC 子层 来说都是透明的
零比特填充
PPP 协议用在 SONET/SDH 链路时,是使用同步 传输(一连串的比特连续传送)。这时 PPP 协 议采用零比特填充方法来实现透明传输。
在发送端,只要发现有 5 个连续 1,则立即填 入一个 0。接收端对帧中的比特流进行扫描。每 当发现 5 个连续1时,就把这 5 个连续 1 后的 一个 0 删除,
王道计算机网络第三章数据链路层思维导图
思想
1-坚持CSMA
只要媒体空闲,站点就马上发送,避免了媒体利用率的损失
优点
假如有两个或两个以上的站点有数据要发送,冲突就不可避免
缺点
非坚持指的是对于监听信道忙之后就不继续监听
信道空闲
CSMA协议
如果一个主机要发送消息,那么它先监听信道
相同点
1.传输介质不同:CSMA/CD用于总线以太网【有线】,而CSMA/CA用于无线局 域网【无线】
CSMA/CD与CSMA/CA对比
2.载波检测方式不同:因传输介质不同,CSMA/CD与CSMA/CA的检测方式也不 同。CSMA/CD迪过电缆中电压的变化来检测,当数据发生碰撞时,电缆中的电 压就会随着发生变化;而CSMA/CA采用能量检测(ED)、载波检测(CS)和能量 载波混合检测三种检测信道空闲的方式
粗同轴电缆
细同轴电缆
传输介质
双绞线+集线器 逻辑上总线型 物理上星型
拓扑结构
传输介质与拓扑结构的发展
10BASE-T是传送基带信号的双绞线以太网,T表示采用双绞线,现10BASE-T采 用的是无屏蔽双绞线(UTP),传输速率是10Mb/s
物理上采用星型拓扑,逻辑上总线型,每段双绞线最长为100m
10BASE-T以太网
隐蔽站
无线局域网
为什么会有CSMA/CA
发送数据前,先检测信道是否空闲
空闲则发出RTS(request to send),RTS包括发射端的地址、接收端的地址、 下一份数据将持续发送的时间等信息;信道忙则等待
接收端收到RTS后,则响应CTS(clear to send)
《计算机网络(第7版)谢希仁著》第三章数据链路层要点及习题总结
《计算机⽹络(第7版)谢希仁著》第三章数据链路层要点及习题总结1.数据链路层的三个基本问题:封装成帧,透明传输,差错检测2.点对点信道的数据链路层 (1)链路和数据链路 链路(物理链路):链路(link)就是从⼀个结点到相邻结点的⼀段物理线路(有线或⽆线〉,⽽中间没有任何其他的交换结点 数据链路(逻辑链路):为当需要在⼀条线路上传送数据时,除了必须有⼀条物理线路外,还必须有⼀些必要的通信协议来控制这些数据的传输,换⽽⾔之,数据链路=链路+通信协议 (2)早期的数据通信协议叫通信规程 (3)数据链路层的协议数据单元-------帧 (4)封装成帧:封装成帧(framing)就是在⼀段数据的前后分别添加⾸部和尾部,这样就构成了⼀个帧。
⼀个帧的帧长等于帧的数据部分长度加上帧⾸部和帧尾部的长度。
⾸部和尾部的⼀个重要作⽤就是进⾏帧定界(即确定帧的界限),为了提⾼帧的传输效率,应当使帧的数据部分长度尽可能地⼤于⾸部和尾部的长度。
但是,每⼀种链路层协议都规定了所能传送的帧的数据部分长度上限⼀⼀最⼤传送单元 MTU (Maximum Transfer Unit),当数据是由可打印的 ASCII 码组成的⽂本⽂件时,帧定界可以使⽤特殊的帧定界符(如SOH和EOT)。
SOH:Start Of Header EOT:End Of Transmission (5)透明传输:所传输的数据中的任何 8 ⽐特的组合⼀定不允许和⽤作帧定界的控制字符的⽐特编码⼀样,⽆论什么样的⽐特组合的数据,都能够按照原样没有差错地通过这个数据链路层。
发送端的数据链路层在数据中出现控制字符 “SOH”或“EOT”的前⾯插⼊⼀个转义字符“ESC”(其⼗六进制编码是 1B,⼆进制是 00011011 )。
⽽在接收端的数据链路层在把数据送往⽹络层之前删除这个插⼊的转义字符。
这种⽅法称为字节填充或字符填充。
如果转义字符也出现在数据当中,那么解决⽅法仍然是在转义字符的前⾯插⼊⼀个转义字符。
数据链路层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)。
数据链路层的主要功能及常见的数据链路层设备
数据链路层的主要功能及常见的数据链路层设备数据链路层是OSI模型中的第二层,它主要负责将网络层传输过来的数据分成帧并进行传输,同时还负责数据的错误检测和纠正。
在计算机网络中,数据链路层是非常重要的一层,因为它直接影响着数据的传输质量和速度。
下面我们将从功能和设备两个方面来介绍数据链路层。
一、数据链路层的主要功能1. 将网络层传输过来的数据分成帧数据链路层的主要功能之一就是将网络层传输过来的数据分成帧。
这是因为在网络层中,数据是以数据包的形式进行传输的,而在数据链路层中,数据则是以帧的形式进行传输的。
帧是数据链路层中的基本单位,它包含了数据和控制信息。
2. 进行数据的错误检测和纠正数据链路层还负责进行数据的错误检测和纠正。
在数据传输过程中,由于各种原因,数据可能会出现错误,例如数据位被破坏、数据包丢失等。
数据链路层通过添加冗余信息来检测和纠正这些错误,以保证数据的传输质量。
3. 控制数据的流量数据链路层还负责控制数据的流量。
在数据传输过程中,如果发送方发送的数据过多,接收方可能会无法及时处理,从而导致数据的丢失。
数据链路层通过控制数据的发送速率来避免这种情况的发生。
二、常见的数据链路层设备1. 网卡网卡是数据链路层中最常见的设备之一。
它是计算机与网络之间的接口,负责将计算机中的数据转换成网络中的数据,并将网络中的数据转换成计算机中的数据。
网卡通常是插在计算机主板上的,它可以通过网线与网络连接。
2. 交换机交换机是数据链路层中的另一个重要设备。
它是用来连接多台计算机的设备,可以实现计算机之间的数据传输。
交换机可以根据MAC地址来识别不同的计算机,并将数据转发到相应的计算机上。
交换机通常被用于局域网中。
3. 路由器路由器是数据链路层和网络层之间的设备。
它可以将数据从一个网络传输到另一个网络,并且可以根据IP地址来识别不同的网络。
路由器通常被用于连接不同的局域网或广域网。
总之,数据链路层是计算机网络中非常重要的一层,它负责将网络层传输过来的数据分成帧并进行传输,同时还负责数据的错误检测和纠正。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(1)如果传输过程出错了,即有一些位的0或1发生了变 化。把发生变化的位记录为1,其他位置为0,它对应一 个多项式E(x)。 (2)接收者的信息则为T(x)+E(x); (3)校验时候计算为[T(x)+E(x)]/G(x)=E(x)/G(x)
如果E(x)不被G(x)除尽,则可以检测到传输过 程中出错了,如果刚好被除尽了,则该错误没 有被检测到。所以G(x)很重要。
27
基本数据链路协议(1)
◆
应用情况
点到点信道,也就是只有一个发送者和接收者。
◆
几个重要功能函数
□ from_network_layer □ to_network_layer □ from_physical_layer
□ to_physical_layer
28
基本数据链路协议(2)
◆
无限制的单工协议
◇ 其他编码方式,可以用作帧的边界 □ 物理层编码违例法分析
14
流控制问题
◆
问题描述
发送方的速度超过了接受方能够接受这些帧的速度
◆
基本处理方法
□ 基于反馈的流控制 定义规则,规范发送者什么时候可以发送帧。(具体协议中介绍) □ 基于速率的流控制 限制发送方的速率。(后面章节中详细介绍)
15
出错处理(1)
如无限制单工协议规范双方的行为来完成数据的传输
◆
什么是服务? 实体为它的用户提供的功能。
如数据链路层为网络层提供传输数据的功能 如物理层为数据链路层提供0-1比特流传输功能
◆
什么是接口? 定义调用服务的原语操作
如from_physical_layer和to_physical_layer等 □ 服务是用户的功能需求(该层要解决的问题) □ 协议是完成服务功能的实现过程(解决问题的程序) □ 接口是程序的交互界面(用户操作界面)
◆
字节填充法
□ 字节填充法存在什么问题?
◇ 必须紧紧依赖于8位字符模式 ◇ 不是所有的字符都是8位字符模式,如Unicode使
用16位字符。
结论:非8位字符模式,需要转换为8位 字符模式才能顺利传输
□ 字符填充法分析
12
数据封装问题—帧格式(7)
◆
位填充法
□ 原理:帧开始和结束都有一个特殊的位模式01111110
◆
纠错—纠错码
□ 原理:在发送的数据中包含冗余信息,以
便接收者可以推断出数据中肯定有哪些内容。
包含m个数据位和r个校验位的n-位单元,通常称为 n位码字(n=m+r)。
—有这么 神奇的事 情吗?
Data bits
Check bits
0 1 1 1 1 1 1 0 0 1 0 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 0
也称多项式编码(Polynomial Code)
◇ 基本思想
◈ 前提条件 (1)将位串看成是系数为0或1的多项式。
如 10001011*x6 +0*x5+ 0*x4 + 0*x3 +1*x2 +1*x1
(2)发送方和接收在数据传输前商定一个生成多项式G(x).
如 G(x) = x4 + x + 1------10011 (3)传输帧有m位,对应的多项式为M(x)。
□ 问题:当传输数据中有01111110如何处理?
□ 解决办法:碰到连续5连续的位“1‖的时候,自动填充一位0
0 1 1 1 1 1 1 0 0 1 0 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 0 1 2 3 4 5 6 1 2 3 4 5 6 7 8 1 2 3 4 5 6
0 1 1 1 1 1 1 0 0 1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 1 1 0 1 2 3 4 5 6 7 8
□ 位填充法分析
13
数据封装问题—帧格式(8)
◆
物理层编码违例法
□ 原理:使用非数据编码信号来表示帧的边界。 如以太网(MAC子层中介绍)——曼彻斯特编码方式传输数据 ―1‖的编码 ―0‖的编码
6
数据封装问题—帧格式(1)
■ 将要传输的数据分成很多小段数据发送出去。 ◆ 问题分析:什么是一个好的帧格式?
(1)容易生成
(2)重新实现帧同步的难度
(3)普遍的适应性
7
数据封装问题—帧格式(2)
◆
字符计数法
字符计数
□ 原理:在头部中的一个域指定该帧中的字符数。
5 1 2 3 4 5 6 7 8 9 8 0 1 2 3 4 5 6 8 7 8 9 0 1 2 3 第一帧 第二帧 第三帧 第四帧 8个字符 5个字符 5个字符 8个字符
20
出错处理(6)
◆
检错—检错码
□ 原理:在发送的数据中包含冗余信息,以便接收者可
以推断出数据中是否发生了错误。
□ 奇偶检错方案——检测单个错误 □ 检错原理:在数据后面加上一个奇偶位,如果码字中
的“1‖的位为偶数,则填0,如果是奇数,则填1。
21
出错处理(7)
□ 奇偶校验例子
sender
数据位 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1
校验位 0 1 1 0 1 0 0 1
receiver
数据位 0 1 0 0 0 1
校验位 0 0
error
数据位 1 0 1 1 0 0 校验位 0 1
□ 针对突发性长错误,可采用交错奇偶校验位来处理。
22
出错处理(8)
□ 校验和(Checksum) TCP/IP协议中使用的一种校验方法。 □ 循环冗余校验(Cyclic Redundancy Check, CRC)
至少要3位数据发生错误
◇ 海明距离用来度量最少出错的位数
18
出错处理(4)
◆
纠错码
□ 海明距离用来度量最少出错的位数 □ 纠正d位错误的基本原理
即假设传输过程中,最多d位出错。
(1)对于传输数据m位,合法的报文有2m种情况; (2)对于传输的n位码字,可能的码字有2n种情况(n=m+r); (3)从2n中选择2m个n位码字来表示合法的传输数据,并且保证 每两个n位码间的距离至少为2d+1; (4)接收到数据A时,与所有的n位合法码字求解海明距离,海 明距离小于d的,就是传输的数据。
24
出错处理(10)
◈ CRC校验和计算例子
问题:发送数据帧 11 0101 1011 m=10, M(x)为(m –1=9)阶多项式 M(x)= x9 + x8 + x6 + x4 + x3 + x + 1 第一步:选择生成多项式G(x) = x4 + x + 1 r=4,10011 第二步:形成多项式xrM(x) n=m+r=10+4=14, xrM(x) 为13阶多项式 x4M(x) = x13 + x12 + x10 + x8 + x7 + x5 + x4 11 0101 1011 0000
□ 问题:出错后的帧无法同步
5 1 2 3 4 7 6 7 8 9 8 0 1 2 3 4 5 6 8 7 8 9 0 1 2 3 第一帧 第二帧 字符计数?
8
数据封装问题—帧格式(3)
◆
字节填充法
□ 分析:字符计数法失去帧同步后,恢复很难。原因 是很难区分计数的字符和数据字符。
□ 原理:使用特殊的字符作为帧的开始和结束标志
◆
定义—什么是错误?
□ 严格意义:凡是接收到的数据和发送的数据不一致
□ 不一致:错误数据*、丢失数据、数据乱序
◆
基本措施
□ 纠错(错误纠正):就是将不一致的数据恢复到一致 □ 检错(错误发现):检查数据中是否存在不一致 □ 不作为
先看看错误数据的基本措施,丢失 和乱序问题在协议中介绍
16
出错处理(2)
流量控制问题—发送者、接收者能力不对等问题 出错处理—什么是错?纠错?检错?不管?
结论:数据传输需要协调双方的行为——协议
5
数据链路层的地址问题
一般来说,通信主体都应该拥有一个标识 ——称为地址。
◆
随机分配—管理员分配配置
如令牌环网等
◆
固化设置—将地址固化到物理器械中
如以太网卡
小探索:查看以太网卡的物理地址,并 修改它。
A
ESC
FLAG
B
FLAG
stuffing“ESC”
10
数据封装问题—帧格式(5)
◆
字节填充法
□ 转义字节技术
□ 其他问题?
data“ESC”
FLAG
A
ESC
B
FLAG
FLAG
A
ESC
ESC
B
FLAG
stuffing“ESC”
遇到第一个ESC,表 示后面的是正常数据, 不是特殊字符 11
数据封装问题—帧格式(6)
25
出错处理(11)
◈ CRC校验和计算例子
第三步:用以2为模的除法求余数 余数[11010110110000 /10011 ]= 1110 第四步:用以2为模的减法计算校验和 发送帧T(x) =11010110111110
26
出错处理(12)
◈ CRC校验和验证 接收者接收到T(X)后,用T(x)/G(x),余数应该为0,否则 就判定为有错误。 T(X)= xrM(x)-P(x) ◈ CRC检错能力说明
31
基本数据链路协议(5)
□ 前提条件: ◇ 单方向数据传输(即只有一个发送者和接收者) ◇ 理想信道(信道不出错,传输速度极快) ◇ 通信双方能力无穷(发送者不停发送,接收者不停接收)