版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机网络第 3 章 数据链路层计算机网络第 3 章 数据链路层第3章 数据链路层3.1 数据链路层概述3.2 帧同步功能3.3 流量控制功能3.4 差错检测(重点)第3章 数据链路层3.1 数据链路层概述3.1 数据链路层概述数据链路层是OSI参考模型中的第二层,介乎于物理层和网络层之间,在物理层所提供的服务的基础上向网络层提供服务。数据链路层的作用是对物理层传输原始比特流的功能的加强,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,即使之对网络层表现为一条无差错的链路。数据链路层在相邻结点的物理连接上为网络层建立、维持、释放链路连接,并在链路连接上可靠地、正确地传送链路层协
2、议数据单元(通常称为帧-Frame)3.1 数据链路层概述数据链路层是OSI参考模型中的第二层,数据链路层的简单模型局域网广域网主机 H1主机 H2路由器 R1路由器 R2路由器 R3电话网局域网主机 H1 向 H2 发送数据链路层应用层运输层网络层物理层链路层应用层运输层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层R1R2R3H1H2从层次上来看数据的流动数据链路层的简单模型局域网广域网主机 H1主机 H2路由器 数据链路层的简单模型( 续)局域网广域网主机 H1主机 H2路由器 R1路由器 R2路由器 R3电话网局域网主机 H1 向 H2 发送数据链路层应用层运输层网
3、络层物理层链路层应用层运输层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层R1R2R3H1H2仅从数据链路层观察帧的流动数据链路层的简单模型( 续)局域网广域网主机 H1主机 H2第3章-数据链路层课件3.1 使用点对点信道的数据链路层3.1.1 数据链路和帧 链路(link)是一条无源的点到点的物理线路段,中间没有任何其他的交换结点。一条链路只是一条通路的一个组成部分。数据链路(data link) 除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。现在最常用的方法是使用适配器(即网卡)来实现这些协议的硬件和软
4、件。一般的适配器都包括了数据链路层和物理层这两层的功能。 3.1 使用点对点信道的数据链路层3.1.1 数据链路和IP 数据报1010 0110帧取出数据链路层网络层链路结点 A结点 B物理层数据链路层结点 A结点 B帧(a)(b)发送帧接收链路IP 数据报1010 0110帧装入数据链路层传送的是帧IP 数据报1010 0110帧取出数据网络层链路结点3.1.2 三个基本问题 (1) 封装成帧(2) 透明传输(3) 差错控制 3.1.2 三个基本问题 (1) 封装成帧3.2 帧同步功能为了使传输中发生差错后只将出错的有限数据进行重发,数据链路层将比特流组织成以帧为单位传送。帧的组织结构必须设
5、计成使接收方能够明确的从物理层收到的比特流中区分出帧的起始与终止,这就是帧同步要解决的问题。同步的方法字符填充的首尾定界符法比特填充的首尾定界符法3.2 帧同步功能为了使传输中发生差错后只将出错的有限数据进1. 封装成帧封装成帧(framing)就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。确定帧的界限。首部和尾部的一个重要作用就是进行帧定界。 帧结束帧首部IP 数据报帧的数据部分帧尾部 MTU数据链路层的帧长开始发送帧开始1. 封装成帧封装成帧(framing)就是在一段数据的前用控制字符进行帧定界的方法举例 SOH装在帧中的数据部分帧帧开始符帧结束符发送在前EOT用控制字符进
6、行帧定界的方法举例 SOH装在帧中的数据部分帧帧2. 透明传输SOHEOT出现了“EOT”被接收端当作无效帧而丢弃被接收端误认为是一个帧数据部分EOT完整的帧发送在前2. 透明传输SOHEOT出现了“EOT”被接收端当作无效解决透明传输问题发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC”(其十六进制编码是 1B)。字节填充(byte stuffing)或字符填充(character stuffing)接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。如果转义字符也出现数据当中,那么应在转义字符前面插入一个转义字符。当接收端收到连续的两个转义
7、字符时,就删除其中前面的一个。 解决透明传输问题发送端的数据链路层在数据中出现控制字符“SOSOHSOHEOTSOHESCESCEOTESCSOHESCESCESCSOH原始数据EOTEOT经过字节填充后发送的数据字节填充字节填充字节填充字节填充发送在前帧开始符帧结束符用字节填充法解决透明传输的问题 SOHSOHSOHEOTSOHESCESCEOTESCSOHESC3.2.2 比特填充的首尾定界符法在前面介绍的字符分界法中存在一个大的不足,那就是它仅依靠8位模式。而事实上,并不是所有的字符编码都使用8位模式,如UNICODE编码就使用了16位编码方式。 “比特填充的首尾界定符法”是以一组特定的
8、比特模式(如01111110)来标志一帧的起始与终止,它允许任意长度的位码,也允许任意每个字符有任意长度的位。3.2.2 比特填充的首尾定界符法在前面介绍的字符分界法中存透明传输 发送端:若发现要发送的数据中有 5 个连续 1,则立即填入一个 0。接收端:对帧中的数据比特流进行扫描。每当发现 5 个连续1时,就把这 5 个连续 1 后的一个 0 删除。透明传输 发送端:0 1 0 0 1 1 1 1 1 0 1 0 0 0 1 0 1 00 1 0 0 1 1 1 1 1 1 0 0 0 1 0 1 00 1 0 0 1 1 1 1 1 0 1 0 0 0 1 0 1 0信息字段中出现了和标志
9、字段 F 完全一样的 8 比特组合发送端在 5 个连续 1 之后填入 0 比特再发送出去在接收端把 5 个连 续1之后的 0 比特删除会被误认为是标志字段 F 发送端填入 0 比特接收端删除填入的 0 比特零比特填充0 1 0 0 1 1 1 1 1 0 1 0 0 0 1 例题:PPP协议使用同步传输技术传送比特串0110111111111100。试问经过零比特填充后变成怎样的比特串?若接收端收到的PPP帧的数据部分是0001110111110111110110,问删除发送端加入的零比特后变成怎样的比特串? 答案:(1) 011011111011111000 (2) 000111011111
10、-11111-110例题:PPP协议使用同步传输技术传送比特串011011111第3章-数据链路层课件3.3 流量控制功能(传输层TCP来讲)流量控制是指一组过程限制发送方在等待确认前能够发送的数据量保证发送实体发送的数据不超出接收实体接收数据的能力防止缓冲溢出3.3 流量控制功能(传输层TCP来讲)流量控制是指一组过程 ?发送方:?接收方:?传输过程:!解决这些问题,是链路层的主要任务。!针对这些问题所制定的通信规程就是数据链路层的通信协议。以多快的速度发送数据帧,即每帧之间相隔多长时间?如何确认对方是否收到数据?是否接收到正确的数据帧?如何告诉发送方?能及时处理接收到的数据帧吗?在数据链路
11、层上传输数据帧会出错吗?会丢失数据帧吗?数据链路层功能 ?发送方:?接收方:?传输过程:!解决这些问题,是链路层的3.3.1 完全理想化的数据传输数据链路层主机 A缓存主机 B数据链路AP2AP1缓存发送方接收方帧高层帧3.3.1 完全理想化的数据传输数据链路层主缓存主数据链路A完全理想化的数据传输所基于的两个前提1: 链路是理想的传输信道,所传送的任何数据既不会出差错也不会丢失。2: 不管发方以多快的速率发送数据,收方总是来得及收下,并及时上交主机。完全理想化的数据传输所基于的两个前提1: 链路是理想的传输具有简单的流量控制DATA0ACKACKACKDATA2DATA1假设:链路是理想化的
12、,所传输的数据不会出错也不会丢失。协议算法协议思想:协调、控制接收方、发送方的速度。等待;将收到的数据帧上交主机;发送应答信息;转到第一步发出一帧;等待;直到收到ACK才发送下一帧发送方接收方2 停止等待协议具有简单的流量控制DATA0ACKACKACKDATA2DA两种情况的对比(传输均无差错)ABDATADATADATADATA送主机 B送主机 B送主机 B送主机 BABDATA送主机 BDATA送主机 B时间不需要流量控制需要流量控制两种情况的对比(传输均无差错)ABDATADATADATAD实用的停止等待协议时间ABDATA0送主机ACKDATA1送主机ACK(a) 正常情况ABDAT
13、A0DATA0送主机ACK(c) 数据帧丢失重传tout丢失 !ABDATA0送主机ACKDATA0丢弃ACK(d) 确认帧丢失重传tout丢失 !ABDATA0NAKDATA0送主机ACK(b) 数据帧出错重传出错四种情况实用的停止等待协议时ABDATA0送ACKDATA1送ACK超时计时器的作用结点A发送完一个数据帧时,就启动一个超时计时器(timeout timer)。计时器又称为定时器。若到了超时计时器所设置的重传时间 tout而仍收不到结点 B 的任何确认帧,则结点 A 就重传前面所发送的这一数据帧。一般可将重传时间选为略大于“从发完数据帧到收到确认帧所需的平均时间”。 超时计时器的
14、作用结点A发送完一个数据帧时,就启动一个超时计时解决重复帧的问题 使每一个数据帧带上不同的发送序号。每发送一个新的数据帧就把它的发送序号加 1。 若结点 B 收到发送序号相同的数据帧,就表明出现了重复帧。这时应丢弃重复帧,因为已经收到过同样的数据帧并且也交给了主机 B。但此时结点 B 还必须向 A 发送确认帧 ACK,因为 B 已经知道 A 还没有收到上一次发过去的确认帧 ACK。 解决重复帧的问题 使每一个数据帧带上不同的发送序号。每发送一帧的编号问题 任何一个编号系统的序号所占用的比特数一定是有限的。因此,经过一段时间后,发送序号就会重复。 序号占用的比特数越少,数据传输的额外开销就越小。
15、 对于停止等待协议,由于每发送一个数据帧就停止等待,因此用一个比特来编号就够了。一个比特可表示 0 和 1 两种不同的序号。 帧的编号问题 任何一个编号系统的序号所占用的比特数一定是有限帧的发送序号 数据帧中的发送序号 N(S) 以 0 和 1 交替的方式出现在数据帧中。每发一个新的数据帧,发送序号就和上次发送的不一样。用这样的方法就可以使收方能够区分开新的数据帧和重传的数据帧了。 帧的发送序号 数据帧中的发送序号 N(S) 以 0 和 1 停止等待协议的算法这里不使用否认帧(实用的数据链路层协议大都是这样的),而且确认帧带有序号 n。按照习惯的表示法,ACKn 表示“第 n 1 号帧已经收到
16、,现在期望接收第 n 号帧”。ACK1 表示“0 号帧已收到,现在期望接收的下一帧是 1 号帧”;ACK0 表示“1 号帧已收到,现在期望接收的下一帧是 0 号帧”。 停止等待协议的算法这里不使用否认帧(实用的数据链路层协议大都停止等待协议的要点连续出现相同发送序号的数据帧,表明发送端进行了超时重传。连续出现相同序号的确认帧,表明接收端收到了重复帧。 发送端在发送完数据帧时,必须在其发送缓存中暂时保留这个数据帧的副本。这样才能在出差错时进行重传。只有确认对方已经收到这个数据帧时,才可以清除这个副本。 停止等待协议的要点连续出现相同发送序号的数据帧,表明发送端进停止等待协议的要点实用的 CRC
17、检验器都是用硬件完成的。CRC 检验器能够自动丢弃检测到的出错帧。因此所谓的“丢弃出错帧”,对上层软件或用户来说都是感觉不到的。发送端对出错的数据帧进行重传是自动进行的,因而这种差错控制体制常简称为 ARQ (Automatic Repeat reQuest),直译是自动重传请求,但意思是自动请求重传。 停止等待协议的要点实用的 CRC 检验器都是用硬件完成的。停止等待协议的定量分析设 tf 是一个数据帧的发送时间,且数据帧的长度是固定不变的。显然,数据帧的发送时间 tf 是数据帧的长度 lf (bit)与数据的发送速率 C (bit/s)之比,即 tf = lf /C = lf /C (s)
18、 (3-1) 发送时间 tf 也就是数据帧的发送时延。数据帧沿链路传到结点B还要经历一个传播时延 tp。结点 B 收到数据帧要花费时间进行处理,此时间称为处理时间 tpr,发送确认帧 ACK 的发送时间为 ta。 停止等待协议的定量分析设 tf 是一个数据帧的发送时间,且数停止等待协议中数据帧和确认帧的发送时间关系 ABDATADATAACK传播时延 tp处理时间 tpr确认帧发送时间 ta传播时延 tp处理时间 tprtT时间两个成功发送的数据帧之间的最小时间间隔数据帧的发送时间tf设置的重传时间tout停止等待协议中数据帧和确认帧的发送时间关系 ABDATADA重传时间 重传时间的作用是:
19、数据帧发送完毕后若经过了这样长的时间还没有收到确认帧,就重传这个数据帧。 为方便起见,我们设重传时间为 tout = tp + tpr+ ta + tp + tpr 设上式右端的处理时间 tpr 和确认帧的发送时间 ta 都远小于传播时延 tp,因此可将重传时间取为两倍的传播时延,即 tout = 2tp两个发送成功的数据帧之间的最小时间间隔是 tT = tf + tout = tf + 2tp重传时间 重传时间的作用是:数据帧发送完毕后若经过了这样长的停止等待协议 ARQ 的优缺点 优点:比较简单 。缺点:通信信道的利用率不高,也就是说,信道还远远没有被数据比特填满。为了克服这一缺点,就产生
20、了另外两种协议,即连续 ARQ 和选择重传 ARQ。这将在后面进一步讨论。 停止等待协议 ARQ 的优缺点 优点:比较简单 。例:信道的数据传输速率为4Kbps,传播延迟时间20ms(未注明往返则指单程),求帧长在什么范围内才使停等协议的信道利用率达到50%以上。(注:信道利用率:指信道用于发送数据帧的时间在所有信道占用时间中的百分比)例:信道的数据传输速率为4Kbps,传播延迟时间20ms(未解析:已知信道的数据传输速率B=4kbps=4000bps,信道的单向传播时延R=20ms=0.02s,一帧的帧长为L。在停止等待协议中,协议忙的时间为数据发送的时间=L/B,协议空闲的时间为数据发送后
21、等待确认帧返回的时间=2R。则要使停止等待协议的效率至少为50%,即要求信道利用率至少为50%。因为信道利用率数据发送时延/(传播时延数据发送时延),则有:L/B/(L/B2R)50%可得,L2BR=240000.02=160(b)因此,当帧长大于等于160比特时,停止等待协议的效率至少为50%。解析:已知信道的数据传输速率B=4kbps=4000bps,3 连续 ARQ 协议在发送完一个数据帧后,不是停下来等待确认帧,而是可以连续再发送若干个数据帧。如果这时收到了接收端发来的确认帧,那么还可以接着发送数据帧。由于减少了等待时间,整个通信的吞吐量就提高了。 3 连续 ARQ 协议在发送完一个数
22、据帧后,不是停下来等待连续 ARQ 协议的工作原理 DATA0DATA1DATA2DATA3DATA4DATA5重传 DATA2重传 DATA3ACK1ACK2ACK1 确认 DATA0ACK2 确认 DATA1DATA2 出错,丢弃DATA3 不按序,丢弃,重传 ACK2DATA4 不按序,丢弃,重传 ACK2DATA5 不按序,丢弃,重传 ACK2ACK3ACK3 确认 DATA2ACK4 确认 DATA3ACK4重传 DATA5重传 DATA4超时重传时间ABtout送交主机送交主机?ACK2ACK2ACK2连续 ARQ 协议的工作原理 DATA0DATA1DATA2需要注意: (1)
23、接收端只按序接收数据帧。虽然在有差错的 2号帧之后接着又收到了正确的 3 个数据帧,但接收端都必须将这些帧丢弃,因为在这些帧前面有一个 2 号帧还没有收到。虽然丢弃了这些不按序的无差错帧,但应重复发送已发送过的最后一个确认帧(防止确认帧丢失)。(2) ACK1 表示确认 0 号帧 DATA0,并期望下次收到 1 号帧;ACK2 表示确认 1 号帧 DATA1,并期望下次收到 2 号帧。依此类推。 需要注意: (1) 接收端只按序接收数据帧。虽然在有差错的 需要注意: (3) 结点 A 在每发送完一个数据帧时都要设置该帧的超时计时器。如果在所设置的超时时间内收到确认帧,就立即将超时计时器清零。但
24、若在所设置的超时时间到了而未收到确认帧,就要重传相应的数据帧(仍需重新设置超时计时器)。 在等不到 2 号帧的确认而重传 2 号数据帧时,虽然结点 A 已经发完了 5 号帧,但仍必须向回走,将 2号帧及其以后的各帧全部进行重传。连续 ARQ 又称为Go-back-N ARQ,意思是当出现差错必须重传时,要向回走 N 个帧,然后再开始重传。 需要注意: (3) 结点 A 在每发送完一个数据帧时都要设置4 选择重传ARQ协议 GO-BACK-N可能将已正确传送到目的方的帧再重传一遍,这显然是一种浪费。另一种效率更高的策略是当接收方发现某帧出错后,其后继续送来的正确的帧虽然不能立即递交给接收方的高层
25、,但接收方仍可收下来,存放在缓冲区中,同时要求发送方重新传送出错的那一帧。一旦收到重新传来的帧后,就可以和已存于缓冲区中的其余帧一并按正确的顺序递交高层。这种方法称为选择重发,其工作过程如图所示。图中2号帧的否认返回信息NAK2要求发送方选择重发2号帧。显然,选择重发减少了浪费,但要求接收方有足够大的缓冲区空间。 选择重发ARQ原理示意4 选择重传ARQ协议 GO-BACK-N可能将已正5 滑动窗口协议 在使用连续ARQ协议时,在没收到应答时,实际上不能无限制的发送数据。因为:1、重传太多会花费较多的时间,增大开销;2、发送序号也占用比特数。 因此应对已发送出去而未被确认的数据帧的数目加以限制
26、,这就是滑动窗口所要研究的内容。5 滑动窗口协议 在使用连续ARQ协议时,在没收到应答滑动窗口的概念发送端和接收端分别设定发送窗口和接收窗口 。发送窗口用来对发送端进行流量控制。发送窗口的大小 WT 代表在还没有收到对方确认信息的情况下发送端最多可以发送多少个数据帧。 滑动窗口的概念发送端和接收端分别设定发送窗口和接收窗口 。01234567012发送窗口WT不允许发送这些帧允许发送 5 个帧(a)01234567012不允许发送这些帧还允许发送 4 个帧WT已发送(b)01234567012不允许发送这些帧WT已发送(c)01234567012不允许发送这些帧还允许发送 3 个帧WT已发送
27、已发送并已收到确认(d)01234567012发送窗口WT不允许发送这些帧允许发送 接收端设置接收窗口 在接收端只有当收到的数据帧的发送序号落入接收窗口内才允许将该数据帧收下。 若接收到的数据帧落在接收窗口之外,则一律将其丢弃。 在连续 ARQ 协议中,接收窗口的大小 WR = 1。只有当收到的帧的序号与接收窗口一致时才能接收该帧。否则,就丢弃它。每收到一个序号正确的帧,接收窗口就向前(即向右方)滑动一个帧的位置。同时发送对该帧的确认。 接收端设置接收窗口 在接收端只有当收到的数据帧的发送序号落入不允许接收这些帧01234567012WR准备接收 0 号帧(a)不允许接收这些帧01234567
28、012WR准备接收 1 号帧已收到(b)不允许接收这些帧01234567012WR准备接收 4 号帧已收到(c)不允许接收这些帧01234567012WR准备接收 0 号帧滑动窗口的重要特性只有在接收窗口向前滑动时(与此同时也发送了确认),发送窗口才有可能向前滑动。收发两端的窗口按照以上规律不断地向前滑动,因此这种协议又称为滑动窗口协议。当发送窗口和接收窗口的大小都等于 1时,就是停止等待协议。 滑动窗口的重要特性只有在接收窗口向前滑动时(与此同时也发送了发送窗口的最大值 当用 n 个比特进行编号时,若接收窗口的大小为 1,则只有在发送窗口的大小 WT 2n 1时,连续 ARQ 协议才能正确运
29、行。例如,当采用 3 bit 编码时,发送窗口的最大值是 7 而不是 8。 发送窗口的最大值 当用 n 个比特进行编号时,若接收窗口的大后退 N帧ARQ协议,发送窗口不能大于2k1 ,接收窗口大小为1 说明:假定帧编号字段为3位长,发送窗口尺寸为8(显然不能大于8)。当发送器收到一个单独的ACK1后(这意味接收器期望接收第1帧及其之后的帧),把窗口推进到后沿为1,前沿为0的位置,即发送窗口现在包含的帧号为l、2、3、4、5、6、7和0。如果这时又收到一个捎带回的ACK1,发送器如何动作呢?这后一个ACK1可能表示窗口中的所有帧都未曾接收,也可能意味着窗口中的帧都已正确接收。然而,如果规定窗口的
30、大小为7,则就可以避免这种二义性 后退 N帧ARQ协议,发送窗口不能大于2k1 ,接收窗口大选择重发ARQ协议 W发=W收2k1若假设帧编号为3位,发送和接收窗口大小都是7,考虑下面的情况;(1) 发送窗口和接收窗口中的帧编号都是0到6;(2) 发送站发出0到6号帧,但尚未得到肯定应答,窗口不能向前滑动;(3) 接收站正确地接收了0至6号帧,发出了肯定应答ACK7(注意,这个应答信号表示0至6号帧已收到,下面期望收到7号及其以后的帧),因而接收窗口向前滑动,新的窗口中的帧编号为7、0、1、2、3、4和5; (4) ACK7丢失,发送站定时器超时,重发0号帧;(5) 接收站收到0号帧并看到该帧编
31、号落在接收窗口内,以为是新的0号帧而保存起来。认为7号帧丢失了(其实发送站从未发出过),并继续接收重复发来的1、2、3、4和5号帧。选择重发ARQ协议 W发=W收2k13.4差错控制功能3.4差错控制功能1、差错的特性 通信信道中的噪声主要有热噪声和冲击噪声:热噪声,是由传输媒体的电子热运动产生的,这类噪声主要是信道中存在的随机噪声(白噪声)引起的随机性差错;特点是随机存在,幅度小,与频率无关,而且是单个码元出现差错,码元间互不影响。冲击噪声,是由外界电磁干扰引起的,这类噪声主要是信道中的脉冲干扰、信号衰落和瞬时中断等因素造成的突发性差错;特点是幅度大,持续时间长,而且是成批码元突发性错误,前
32、后码元的差错具有一定的相关性。1、差错的特性 通信信道中的噪声主要有热噪声和冲击噪声:虽然可以采用屏蔽、改善线路质量、选择有效的编码方式等措施来减少噪声,但还不能完全消除噪声的影响。也就是说,在传输数据时,或多或少总会出现差错。通常,使用误码率Pe来衡量信道的传输质量,即: Pe = 虽然可以采用屏蔽、改善线路质量、选择有效的编码方式等措施来减为了减少传输差错,通常采用以下两种方法:(1)改善线路质量。加强线路本身的抗干扰能力,是减少差错最根本的途径。例如,现在的网络系统中越来越多地使用光纤传输系统,其误码率已低于109,这就从根本上提高了信道的传输质量。但是,这种改善是以较大的投入为代价的。
33、 (2)差错的检测与纠正。这是一种主动式的差错控制措施。它的主要思想是:对所传输的数据进行抗干扰编码,并以此来检测和校正传输中的错误。 为了减少传输差错,通常采用以下两种方法:2、差错控制编码信号在物理信道中传输时,会造成信号的失真。在数据通信中,将会使接收端收到的二进制数位和发送端实际发送的二进制数位不一致,从而造成由“0”变成“1”或由“1”变成“0”的差错。2、差错控制编码信号在物理信道中传输时,会造成信号的失真。在差错控制就是指在通信过程中,发现、检测错误,对差错进行纠正。最常用的差错控制方法是差错控制编码 最简单的差错控制方法是将每一个数据发送两遍。接收方将这两遍数据比较如有不同,即
34、可认定出错了。这样做将使传输速率大大下降, 数据本身传输时间要加倍,且逐位比较也要花费大量时间。差错控制就是指在通信过程中,发现、检测错误,对差错进行纠正。 差错控制最常用的技术是在每个数据单元中加入一些称为“冗余码”的附加数位(差错控制编码)。这种技术之所以被称为“冗余校验技术”,因为一旦传输被确认无误,那些附加的冗余数位便被自动丢弃。 发送的码字=信息位+冗余位 (输入密码或告诉对方电话号码两遍,第二遍给出的即为“冗余位”) 信息位要发送的数据 冗余位差错控制编码第3章-数据链路层课件差错的控制编码差错控制编码可分为检错码和纠错码。检错码能自动发现差错的编码;不能纠正错误纠错码不仅能发现差
35、错而且能自动纠正差错的编码 差错的控制编码差错控制编码可分为检错码和纠错码。检错差错的控制方法差错控制方法分两类,一类是自动请求重发ARQ,另一类是前向纠错FEC 自动请求重发ARQ,当接收端发现差错时,就设法通知发送端重发,直到收到正确的码字为止。ARQ方式只使用检错码 前向纠错FEC ,接收端不但能发现差错,而且能确定二进制码元发生错误的位置,从而加以纠正。差错的控制方法差错控制方法分两类,一类是自动请求重发ARQ,循环冗余校验(CRC) Cyclic Redundancy Check在数据链路层传送的帧中,广泛使用了循环冗余检验 CRC 的检错技术。CRC基于二进制除法在CRC中,在数据
36、单元(比如一个字节)的后面附加一个称为“循环冗余码”或“CRC余数”的冗余数位串,使该数据单元可被另一个预先给定的二进制数完全除尽。接收端将所接收的数据单元用同样的二进制数相除,如果无余数,则可认为所接收的数据单元正确无误,如果有余数,则认定该数据单元已有差错。循环冗余校验(CRC) Cyclic Redundancy循环冗余校验码 循环冗余校验编码是通过多项式除法检测错误的。方法是将待传输的数据位串看成系数为0或1的多项式,如位串10011可表示为f(x)=x4+x+1.发送前收发双方约定一个生成多项式G(x)(其最高阶和最低阶系数必为1),发送方在数据位串的末尾加上校验和,使带校验和的位串
37、多项式能被G(x)整除。接收方收到后用G(x)除多项式,若有余数,则传输有错循环冗余校验码 循环冗余校验编码是通过多项式除法检测错误1、若G(x)为r阶,原始数据为m位,其多项式为M(x),则在原始数据后面添加r个0,实际传输数据为m+r位,相应多项式为xrM(x)。2、按模2除法用对应于G(x)的位串去除对应于xrM(x)的位串。3、按模2加法把xrM(x)的位串与余数相加,结果就是要传送的带校验和的数据多项式T(x)。1、若G(x)为r阶,原始数据为m位,其多项式为M(x),则例1 取生成多项式h(X)X4+X+1,假设欲发送的一段信息101100110,问在线路上传输的码字是?解:由h(
38、X)X4+X+1得 生成的码字为:10011,n为4在101100110后面添加n(此时n=4)个0,得到1011001100000 。 用1011001100000去除10011,得到余数为1000(保持n位,若不够前面用0补上)把余数1000添加到要发送的数据101100110的后面,就是实际要传送的码字,为: 1011001101000 10101100010011 1011001100000 10011 10101 10011 11010 10011 10010 10011 1000例1 取生成多项式h(X)X4+X+1,假设欲发送的一段例3.已知:接收码字:1100111001,生成
39、多项式:h(X)=X4+X3+1(r=4)求:码字的正确性。若正确,则指出冗余码和信息码。解: 1)用接收到的码字除以生成码,余数为0,所以码字正确。 2)因r=4,所以冗余码是:1001,信息码是:110011 例3.已知:接收码字:1100111001,生成多项式:h(例4. 要发送的数据为1101。采用CRC的生成多项式是P(x)=x2+1 。试求应添加在数据后面的余数。 数据在传输过程中要发送的数据1101变成1100,问接收端能否发现?能否发现那几位发生错误? 若数据在传输过程中要发送的数据1101变成1000 ,问接收端能否发现?能否发现那几位发生错误? 答:(1)添加的检验序列为
40、10 ( 1101除以101)(2)数据在传输过程中要发送的数据1101变成1100 ,110010除以101,余数为01,不为0,接收端可以发现差错。(3)若数据在传输过程中要发送的数据1101变成1000 , 100010除以101,余数为0,接收端不能发现差错。 例4. 要发送的数据为1101。采用CRC的生成多项式是P(检错及纠错原理检错及纠错原理信源产生的信息码一般是由0、1序列表示的,其中0或1称为码元。假定在一码组中任一码字均是由n个码元组成的,则码组个数N2n构成了一个全码集,若将全码集中所有码组用来代表信息编码,就不具有抗干扰的能力。为了更好地说明,假设由3个码元组成8(23
41、)个码组的全码集,3位二进制码元共有8种可能的组合:000、001、010、011、100、101、110、111。如果这8种码组都可传递消息,若在传输过程中发生一个误码,则一种码组会错误地变成另一种码组。由于每一种码组都可能出现,没有多余的信息量,因此接收端不可能发现错误,认为发送的就是另一种码组。信源产生的信息码一般是由0、1序列表示的,其中0或1称为码元如果选其中000、011、101、110来传送消息,这相当于只传递00、01、10、11四种信息,而第3位是监督位。保证码组中“1”码的个数为偶数。这4种码组称为许用码组。另外4种码组不满足这种校验关系,称为禁用码组,它们在编码后的发送码
42、元中不会出现。接收时一旦发现有禁用码组,就表明传输过程中发生了错误。用这种简单的校验关系可以发现1个或3个错误,但不能纠正错误。因为当接收到的码组为禁用码组时,比如为010,无法判断发送的是哪个码组。虽然原发送码组为101的可能性很小(因为3个误码的概率一般很小),但不能绝对排除,即使传输过程中只发生一个误码,也有三种可能的发送码组即000、011和110。 假如进一步将许用码组限制为二种即000和111,显然这样可以发现所有2位以下的误码,若用来纠错,可以用最大似然准则纠正1位错误。如果选其中000、011、101、110来传送消息,这相当于一个编码系统中任意两个两个码组中对应码位上具有不同
43、二进制码元的位数为两码组的距离,称为汉明(Hamming)距,简称码距。在前面3位二进制码组的例子中,当8种码组均为许用码组时,两码组间的最小距离为1,称这种编码的最小码距为1,一般记为dmin = 1;当选4种码组为许用码组时,最小码距dmin = 2;当用2种码组作为许用码组时,dmin = 3。一个编码系统中任意两个两个码组中对应码位上具有不同二进制码元对于分组码一般有以下结论: 在一个码组内检测e个误码,要求最小码距 dmin e + 1 (3-9)在一个码组内纠正t个误码,要求最小码距 dmin 2t + 1 (3-10)在一个码组内纠正t个误码,同时检测e(et)个误码,要求最小码
44、距 dmin t + e + 1 (3-11)对于分组码一般有以下结论: 差错纠正Error Detection差错纠正Error Detection差错纠正的基本技术自动请求重发 (ARQ , Automatic Repeat Request) 自动发现差错并要求对方重发正向纠错 (FEC , Forward Error Correction) 自动发现并纠正错误ARQ只需检错码,编码效率高,设备简单,但要求双向信道,发送方要有数据缓冲区。FEC要用纠错码,编码效率低,设备复杂,但实时性好,只需单向信道。 数据通信中使用更多的还是ARQ差错控制方式。FEC常用于没有反向信道发送请求重发信息(
45、如单工传输)或重发不经济的场合(如卫星传输)。差错纠正的基本技术自动请求重发 (ARQ , Automa理论上,自动纠正每一个二进制代码的传输差错是可以做到的。但纠错码比检错码复杂得多,而且需要更多的冗余位。用于多位或突发差错纠错的位数太大的,以致大部分情况下,将使编码效率低到不可接受的程度。为此,大部分纠错码只限于处理1位、2位或3位差错。在数据通信中,最常用的纠错码是所谓“汉明码”(Hamming Code),是贝尔实验室的科学家R.W.Hamming 于1950年提出的,主要用来纠正1位差错。纠错码Error-correcting Code理论上,自动纠正每一个二进制代码的传输差错是可以
46、做到的。但纠1位差错的纠错Single-bit Error Correction奇偶校验可以检测出1位差错的情况,方法是加上一个冗余的奇校验位或偶校验位。纠错则需确定其中哪位有差错。如果要确定一个ASCII字符(7位)中的某位差错,此时需要区别8种情况:没差错,第1位错,第2位错,第7位错。于是,需要3个冗余位来表示8种不同的状态(000 -111)。实际上,3位冗余是不够的。因为,冗余位本身也可能出现差错!1位差错的纠错Single-bit Error Corre纠错码Error Correction纠错码Error Correction冗余位Redundancy Bits如何计算为m位数据
47、纠错时所需的冗余位数 r 呢? 此时数据传输的总位数是m+r,且要求 r必须能够至少表示 m+r+1 种状态。其中,一种状态表示无差错,m+r 种状态分别表示在 m+r 位每个位置上发生的差错。由于r 位二进制数可以表示2r种不同的状态,所以,2r必须大于或等于 m+r+1。 2 r m+r+1 如果m=7(ASCII代码),则能满足上式的最小 r 值是4。因为: 24 7+4+1冗余位Redundancy Bits如何计算为m位数据纠错数据位数 m 与冗余位数 r 的关系 下表为一些可能的 m 值及其对应的 r 值。数据位数 m 与冗余位数 r 的关系 下表为一些可能的 m 纠错原理冗余位的
48、定位 汉明码可用于任何长度的数据块,并利用了上面讨论的数据位数和冗余位数的关系。例如,一个7位ASCII码要求4个冗余位,它们可以附加在数据位的后面,亦可散布在数据位之中。下图中,各冗余位处于第1、2、4、8位(2的n次方处),分别用r1,r2,r4,r8表示。纠错原理冗余位的定位确定冗余位的位置在汉明码中,每一个r位都是一组数据位的奇偶校验码。用于计算7数据位4个r值(奇偶校验码)的方案是: r1 : 第 1,3,5,7,9,11 位 r2 : 第 2,3,6,7,10,11 位 r3 : 第 4,5,6,7 位 r4 : 第 8,9,10,11 位确定冗余位的位置在汉明码中,每一个r位都是
49、一组数据位的奇偶校r1和r2值的计算r1和r2值的计算r4和r8值的计算r4和r8值的计算 纠错码的计算为了搞清楚这种技术后面的窍门,不妨看看每一数位的位置号(用二进制表示)。r1位使用的是所有位置号右侧为1开头的数位。r2使用的是所有位置号第2位为1的数位,以此类推。 纠错码的计算为了搞清楚这种技术后面的窍门,不妨看看每一数位示例:各r位值的计算假设使用偶校验。示例:各r位值的计算假设使用偶校验。假设上述数据发送后,接收端收到的:10010100101(第7位差错)。 此时接收端取出接收结果,并使用与发送端相同的方法计算出一组新的奇偶校验码。然后将这些奇偶校验码按r的顺序(r8,r4,r2,
50、r1)组成一个二进制数。本例中,组成的二进制数是0111(十进制数7),这就是准确的差错位置。一旦找出差错位,接收端即可将该位的值反转,以纠正差错。检错与纠错1假设上述数据发送后,接收端收到的:10010100101检错确定校验关系假设要传输的信息位k=4,要构造海明码,必须满足上述不等式2rm+r+1,则有r3,确定校验关系假设要传输的信息位k=4,要构造海明码,必须满足将每个信息位的位置写成用2的幂次之和的形式,即 7=22+21+20 6=22+21 5=22+20 3=21+20将每个信息位的位置写成用2的幂次之和的形式,即 从上式可得,I4要参与r2,r1和r0的生成,I3参与r2和
51、r1的生成,I2参与r2,r0的生成,I1参与r1和r0的生成。即r2和I4, I3, I2构成偶校验;r1和I4, I3, I1构成偶校验; r0和I4, I2, I1构成校验;于是有以下公式: r2=I4+I3+I2r1=I4+I3+I1r0=I4+I2+I1于是,接收端使用以下关系式对这三个偶校验关系进行验证:s2=r2+I4+I3+I2 s1=r1+I4+I3+I1 s0=r0+I4+I2+I1其中s2,s1,s0称为校正因子。若没有错,三个校正因子都为0,若不全为0,则有错误发生,错误的位置在S=s2s1s0处,将该位取反即得到正确的数据。 从上式可得,I4要参与r2,r1和r0的生
52、成,3.6 数据链路层协议3.6 数据链路层协议3.6 因特网的点对点协议 PPP3.6.1 PPP 协议的工作原理现在全世界使用得最多的数据链路层协议是点对点协议 PPP (Point-to-Point Protocol)。用户使用拨号电话线接入因特网时,一般都是使用 PPP 协议。 3.6 因特网的点对点协议 PPP3.6.1 PPP 用户拨号入网的示意图 路由器调制解调器调制解调器因特网服务提供者(ISP)用户家庭拨号电话线 使用 TCP/IP 的 PPP 连接使用 TCP/IP 的 客户进程路由选择 进程至因特网PC 机用户拨号入网的示意图 路由器调制解调器调制解调器因特网服务提一个发
53、送方、一个接收方、一段链路:比广播链路容易处理:无媒体访问控制不需要明确的MAC编址如:拨号链路、ISDN链路PPP (Point to point protocol), 提供了一种在点对点的链路上封装多协议数据报(IP、IPX和AppleTalk)的标准方法。协议常用于家庭用户与ISP通过拨号建立连接 时使用的数据链路层协议。 PPP协议介绍一个发送方、一个接收方、一段链路:比广播链路容易处理: PPP协议的功能能够控制数据链路的建立;允许多个PPP物理连接绑定在一起作为一条单独的逻辑连接。支持多种网络层协议(IP 、IPX 和AppleTalk) AppleTalk);可运行在多种类型的链路上(串行/并行,同 步/异步能够有效进行错误检测(CRC);支持验证(PAP,CHAP)有协商选项,能够对网络层的地址和数据压缩 等进行协商。 PPP协议的功能能够控制数据链路的建立;PPP 协议 1992 年制订了 PPP 协议。经过 1993 年和 1994 年的修订,现在的 PPP 协议已成为因特网的正式标准RFC 1661。 PPP协议有三个组成部分 一个将 IP 数据报封装到串行链路的方法。链路控制协议 LCP (Link Control Protocol)。网络控制协议 NCP (Network Control Protocol)。 P
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 心脑血管疾病:全球干预策略
- 心脏微血管病变的微循环功能优化策略-1
- 心脏介入术后康复中的症状管理策略
- 心肌梗死治疗中电生理与收缩功能同步优化策略
- 心理咨询师介入医养服务的模式
- 心理干预在职业性皮炎康复中的作用
- 心肌再生中生物材料与外泌体协同策略
- 微创颅咽管瘤切除术中重要结构保护策略
- 微创缝合技术降低硬脑膜修补术后并发症的观察
- 微创神经外科手术中超声刀与激光刀的术后饮食指导要点
- 《认识家乡的地理特征》课件
- 前列腺癌穿刺活检的优化策略与质量控制
- 隐私计算建设方案
- 北京第二外国语学院《植物发育生物学》2024-2025学年第一学期期末试卷
- 会计招聘笔试题及答案
- 会阴按摩术在产科临床的应用与规范化护理实践
- 2025年铁道概论考试题库及答案
- ISO28000课件教学课件
- 购物中心招商年终总结
- 企业无违规记录承诺书模板
- 银监局法律风险管理办法
评论
0/150
提交评论