计算机网络(四)数据链路层(1.基本原理.ppt
《计算机网络(四)数据链路层(1.基本原理.ppt》由会员分享,可在线阅读,更多相关《计算机网络(四)数据链路层(1.基本原理.ppt(127页珍藏版)》请在三一办公上搜索。
1、计算机网络(四)关于数据链路层(1.基本原理),信息科学与技术学院,学习目标!,了解:数据链路层的设计问题掌握:数据链路层差错控制方法、循环冗余码编码原理掌握:数据链路层的功能掌握:基本数据链路协议掌握:停等协议、滑动窗口协议的工作原理掌握:面向比特型数据链路层协议实例 HDLC。了解:Internet中的数据链路层协议。,前言:数据链路层的设计问题,为什么需要数据链路层?物理层未解决的问题:位流传输过程中不可避免会出现差错(电磁干扰,线路问题)数据收发之间的速率匹配问题(不同设备处理速度不同),最主要的作用是通过一些数据链路层协议(即链路控制规程),在不太可靠的物理链路上实现可靠的数据传输.
2、,前言:数据链路层的设计问题1.向网络层提供的服务,前言:数据链路层的设计问题 2.成帧,涉及的问题协议数据单元,将上层(网络层)交下来的数据包按照所采用协议决定的格式,封装成一定形式的帧;考虑接收双方的同步问题(即定界);计算帧的校验和并放入帧中一起传送给接收方;,帧:在数据链路上交换数据的单位。,前言:数据链路层的设计问题 2.成帧,字符计数法字符填充的首尾定界法位填充的首尾定界法,计数值传输出错时导致收发双方不同步.,同步字符法标志法,填充技术,前言:数据链路层的设计问题2.成帧,物理层编码违例法综合法,“0”,“1”,用计数值确定帧尾检查帧定界符是否出现在应该出现的地方计算校验和,前言
3、:数据链路层的设计问题 3.流量控制,流量控制,流量控制的特点,网络层实体控制从数据链路层接收数据的速率,据此,数据链路层要控制从同等实体接收PDU的速率。,限制发送方发送速度的一种机制。使发送速率不能超过接收方能处理的速率。,流量控制必须是动态的必须有某种反馈机制,流量速度不仅与发方速度相关而且与网络的当前拥挤程度有关,使发方了解收方的当前处理能力,前言:数据链路层的设计问题 4.差错控制,顺序到达指保证所有的帧最终都按正确的发送次序到达目的。,检错和纠错检出传输中出现的差错;可能的话确定出错位置从而纠正错误。,确认方式,计时器法,计时器值的设定要保证一帧到达对方并作处理后,相应的确认帧返回
4、。,ACK肯定确认NAK否定确认,计时结合序号才能保证每一帧的正确次序。,前言:数据链路层的设计问题5.数据链路层协议的作用,数据链路协议,DL协议的作用就是使不可靠的通信线路变得一定程度的好。,物理层:-物理链路-比特流传输-有差错的物理链路数据链路层:-数据链路-帧传输-无差错的数据链路-数据链路层数据服务单元-帧,一、数据链路层概述,数据链路层于物理层之上,属于低层。物理层传输的是比特流,单位是比特。数据链路层传输单位是帧,一帧一帧地处理。其工作是从物理层获取比特流,进行封装成帧、并对帧进行如透明传输、差错控制等处理,从而递交给上一层(网络层),同时也对网络层下传的数据进行处理,进而传给
5、物理层。,数据链路层传送的是帧,一、数据链路层概述 分组与帧的关系图示,Relationship between packets and frames,一、数据链路层概述 数据链路层的简单模型,局域网,广域网,主机 H1,主机 H2,路由器 R1,路由器 R2,路由器 R3,电话网,局域网,主机 H1 向 H2 发送数据,从层次上来看数据的流动,一、数据链路层概述数据链路层的简单模型,局域网,广域网,主机 H1,主机 H2,路由器 R1,路由器 R2,路由器 R3,电话网,局域网,主机 H1 向 H2 发送数据,链路层,应用层,运输层,网络层,物理层,链路层,应用层,运输层,网络层,物理层,链
6、路层,网络层,物理层,链路层,网络层,物理层,链路层,网络层,物理层,R1,R2,R3,H1,H2,仅从数据链路层观察帧的流动,一、数据链路层概述数据链路层协议在路由器中的位置,Placement of the data link protocol,一、数据链路层概述数据链路层协议在路由器中的位置,数据链路协议,DL协议的作用就是使不可靠的通信线路变得一定程度的好。,一、数据链路层概述1.常用概念,链路(link):是一条无源的点到点的物理线路段,中间没有任何其他的交换结点。一条链路只是一条通路的一个组成部分。数据链路(data link):除了物理线路外,还必须有通信协议来控制这些数据的传输
7、。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。现在最常用的方法是使用适配器(即网卡)来实现这些协议的硬件和软件。一般的适配器都包括了数据链路层和物理层这两层的功能。结点(node):网络中的主机(host)和路由器(router)称为结点。,一、数据链路层概述1.常用概念,链路(link):通信路径上连接相邻结点的通信信道称为链路。数据链路(data link):链路+实现通信协议的硬件和软件。数据链路层协议:定义了一条链路的两个结点间交换的数据单元格式,以及结点发送和接收数据单元的动作。端到端(end to end)与点到点(point to point):从源结点(sourc
8、e node)到目的结点(destination node)的通信称为端到端通信,通信路径(path)可能由多个链路组成。在相邻结点间的一条链路上的通信称为点到点通信。数据链路控制规程:为使数据能迅速、正确、有效地从发送点到达接收点所采用的控制方式。早期的数据通信协议曾叫作通信规程(procedure)。因此在数据链路层,规程和协议是同义语。,虚拟数据通路,实际数据通路,一、数据链路层概述1.常用概念,一、数据链路层概述1.常用概念,数据链路层像个数字管道 常常在两个对等的数据链路层之间画出一个数字管道,而在这条数字管道上传输的数据单位是帧。,一、数据链路层概述2.数据链路层使用的信道类型,数
9、据链路层使用的信道主要有以下两种类型:点对点信道:这种信道使用一对一的点对点通信方式。(例如PPP、SLIP)广播信道:这种信道使用一对多的广播通信方式,因此过程比较复杂。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送。(例如以太网),一、数据链路层概述3.数据链路层协议基本功能,链路管理数据在数据链路上的正常传输(建立、维护和释放)。帧同步:数据传输的单位为帧,定界与同步。也处理透明性问题。流量控制与顺序控制。差错控制:前向纠错、差错检测,检错重发。将数据和控制信息分开。透明传输。寻址。,二、差错检测与校正1.基本概念,什么是差错?在通信中接收端收到的二进制
10、数位(码元)和发送端实际发送的数据不一致。差错检测与校正:把差错控制在允许的范围内。差错控制的主要内容:差错编码、反馈重传、超时重传、重复帧丢弃、定时器管理等。,二、差错检测与校正1.基本概念,误码率:衡量物理信道的质量.差错控制编码:信息位(k)冗余位(r)检错码:自动发现差错纠错码:不仅能发现差错而且能够自动纠正编码效率R:码字中信息位所占的比例 R=k/(k+r)漏检率:信息位出错但是接收者无法了解到的概率,二、差错检测与校正2.差错与校正概念,出错的类型单个错:由随机的信道热噪声引起,一次只影响1位;突发错:由瞬间的脉冲噪声引起,一次影响许多位,用突发长度表示突发错影响的最大数据位数。
11、编码的类型检错码:只能检测到数据传输发生了错误,但无法自行纠正,通常与反馈重传结合起来使用以便进行差错恢复;纠错码:不权能够检测到数据传输发生了错误,而且能够自行纠正错误。,二、差错检测与校正2.差错与校正概念,码字(codeword):由m比特的数据(消息)加上r比特的冗余(校验位)构成;有效编码集:由2m个有效码字组成;检错:当收到的码字为无效码字时检测出错误;海明距离(Hamming Distance):两个码字的对应位上取值不同的位数;纠错:将收到的无效码字纠正到距其最近的有效码字;检错码与纠错码的能力都是有限的。,二、差错检测与校正2.差错与校正概念,编码集的海明距离:编码集中任意两
12、个有效码字的海明距离的最小值。检错能力:为检测出d比特错误,编码集的海明距离至少应为d+1;奇偶校验是能够检测出1比特错误的检错码。纠错能力:为纠正d比特错误,编码集的海明距离至少应为2d+1;海明码是能够纠正1比特错误的纠错码。,二、差错检测与校正2.差错控制与校正方法,差错控制:ARQ和FECARQ(自动重传请求)Automatic Request for Repeat接收方检测错误,通知发送方重传双向信道,发送方缓存发送的数据FEC(前向纠错)Forward Error Correction接收方不仅可以检测错误,而且知道错误的位置,从而改正错误采用纠错码,无需反向信道,无需重发,但编码
13、效率低,纠错设备复杂,二、差错检测与校正!3.差错检测与校正和流量控制,由于系统性能的不同,如硬件能力(包括CPU,存储器等)和软件功能的差异,会导致发送方与接收方处理数据的能力有所不同。流量控制的作用是使发送方所发出的数据流量,使其发送速率不要超过接收方所能接收的速率。流量控制的关键是需要有一种信息反馈机制,使发送方能了解接收方是否能接收到存在各种不同的流量控制机制。如简单的停等协议,而滑动窗口协议则将关于帧的确认与流量控制巧妙地结合在了一起。流量控制的主要机制:基于反馈的流量控制()基于速率的流量控制,二、差错检测与校正4.常用的简单差错控制编码(奇偶校验码),奇偶校验码:增加冗余位使得码
14、字中1的个数为奇数或者偶数,检错码垂直奇偶校验水平奇偶校验水平垂直奇偶校验垂直奇偶校验:发送的信息块分成定长为p位的若干段(一列)。每段增加一个(奇偶校验)冗余位ri:,二、差错检测与校正4.常用的简单差错控制编码(垂直奇偶校验),垂直奇偶校验编码效率:能力:检测出每列(段)中所有奇数(1、3)个错突发错误的漏检率为50%!在发送和接收的过程中进行编解码水平奇偶校验:降低突发错误的漏检率对各个信息段的相应位横向进行编码,二、差错检测与校正4.常用的简单差错控制编码(水平奇偶校验),水平奇偶校验编码效率:能力:各段同一位上的奇数个错长度小于等于p的突发差错编码和检测相比垂直校验而言实现要复杂一些
15、,二、差错检测与校正4.常用的简单差错控制编码(水平垂直奇偶校验),水平垂直奇偶校验,编码效率,二、差错检测与校正4.常用的简单差错控制编码(水平垂直奇偶校验),水平垂直奇偶校验能力检测出:所有3位或3位以下的错误、奇数位错突发长度小于等于p+1的突发差错很大一部分偶数位错:差错分布以致于某一行或者某一列有奇数个差错部分纠错功能:可以纠正1比特错信息块中恰好只有某一行和某一列有奇数位错时,可确定为该行和该列的交叉处,二、差错检测与校正4.常用的简单差错控制编码(水平垂直奇偶校验),水平垂直奇校验的例子,二、差错检测与校正4.常用的简单差错控制编码(海明码),1.海明码(1)海明距离及意义两个码
16、字中不同的位数的个数称为海明距离,简称H距离 1 0 0 0 1 0 0 1 1 0 1 1 0 0 0 1求H距离的方法主要有:异或运算海明距离的意义是:假如两个码字具有海明距离d,则需要d 个位差错才能将其中一个码字转换成另一个.,H=3,二、差错检测与校正4.常用的简单差错控制编码(海明码),(2)海明码算法将码字数内的位从最左边开始按顺序依次编号,第1位是1号,第2位是2号,第n位是n号.编号为2的幂的位(1号位,2号位,4号位,8号位等)是校验位,其余的位填入m 位数据(2 r n+1).每个校验位的取值应使得包括自己在内的一些位的集合符合规定的奇偶性.(主要用于奇偶性校验),二、差
17、错检测与校正4.常用的简单差错控制编码(海明码),为了知道编号为K的数据位对哪些检测位有影响,将编号K 改写成2的幂的和(如:11=1+2+8,29=1+4+8+16),1个位只由扩展式中所示编号的位检测(编号为11的位,只能由1,2,8 检测位检测)由于在每个校验位的形成表达式中,除自身编号外,其余都是信息位的编号,因此只要信息位是确定的,校验位也可以唯一地确定.,二、差错检测与校正4.常用的简单差错控制编码(海明码),由上图可看出,海明码的信息余量很大,因而编号效率低.例:根据海明编码方法,对ASCII字符Z(二进制编码是1011010),形成11位码字,要求简单地写出编码过程.并说明在传
18、输过程中,有一位错的情况下,如何能够检查出是哪一位是错的?解:m=7,n=11,r=4 编号:1=1,2=2,3=1+2,4=4,5=1+4,6=2+4,7=1+2+4,8=8,9=1+8,10=2+8,11=1+2+8 于是有:(1)(3)+(5)+(7)+(9)+(11)(2)(3)+(6)+(7)+(10)+(11)(4)(5)+(6)+(7)(8)(9)+(10)+(11),被检测位:数据位,检测位,二、差错检测与校正4.常用的简单差错控制编码(海明码),二、差错检测与校正4.常用的简单差错控制编码(CRC循环冗余码),纠错码的编码效率较低,差错控制经常采用检错码ARQ。循环冗余码CR
19、C(Cyclic Redundancy Code)是计算机网络中使用最为广泛的检错码,又称为多项式码。,二、差错检测与校正4.常用的简单差错控制编码(CRC循环冗余码),CRC的工作原理(1)将要发送的二进制数序列看成是只有0和1两个系数的一个多项式。n位的数据序列对应n-1次多项式。如:二进制数序列为“1010001”,7位的数据序列对应6次多项式:K(x)=x6+x4+1 选定除式G(x),被选作除式的多项式称为生成多项式,以下三个多项式已成为国际标准CRC-12:G(x)=x12+x11+x3+x2+x+1CRC-16:G(x)=x16+x15+x2+1CRC-CCITT:G(x)=x1
20、6+x12+x5+1 CRC-32 G(x)=x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1,二、差错检测与校正4.常用的简单差错控制编码(CRC循环冗余码),CRC的工作原理(2)将K(x)乘以 G(x)的最高幂次作为被除式,G(x)作多项式除式XrK(x)=G(x)*商+R(x)(相应系数相除)。除法采用“加法不进位,减法不借位”的规则,即相当于异或操作R(x)作为冗余码,加在原传送数据后面:T(x)=XrK(x)+R(x)=G(x)*商+R(x)+R(x)=G(x)*商构成发送序列。接收方收到后,将接收序列用同样的生成多项式去除 T(
21、x)/G(x)。若余式为零,则表示无差错;否则,说明传输过程中出现了错误。,二、差错检测与校正4.常用的简单差错控制编码(CRC循环冗余码),CRC的例子(1)要发送的二进制数序列为“1010001”,7位的数据序列对应6次多项式:K(x)=x6+x4+1 选定的生成多项式为:G(x)=x4+x2+x+1(最高次数为4,相当于10111)被除多项式为:K(x)x4 x10+x8+x4,二、差错检测与校正4.常用的简单差错控制编码(CRC循环冗余码),CRC的例子(2)多项式除法后得到冗余码为1101,所以相应的数据发送序列为1010001 1101,二、差错检测与校正4.常用的简单差错控制编码
22、(CRC循环冗余码),CRC校验可以由软件或硬件来实现,现多采用超大规模集成电路芯片以硬件方式实现。,CRC硬件实现,二、差错检测与校正4.常用的简单差错控制编码(CRC循环冗余码),二、差错检测与校正4.常用的简单差错控制编码(CRC循环冗余码),CRC的检错能力(1)如果传输过程中出现差错:差错模式E(x)发送码字和接收码字的半加,其中1的位置对应变化了信息位的位置。若E(x)能被G(x)整除,则不能检测这样的错误,二、差错检测与校正4.常用的简单差错控制编码(CRC循环冗余码),CRC的检错能力(2)全部单个错 全部离散的二位错 全部奇数个错全部长度小于或等于r的突发错(r为生成多项式的
23、最高幂次)以1-(1/2)r-1的概率检出长度为r+1位的突发错 以1-2-r的概率检出长度大于r+1位的突发错,三、关于数据帧,数据链路层所传送的不再是原始的比特流,而应具备相应的语法和语义,以达到可靠传输的功能。数据链路层将从网络层接收的分组(Packet)组成帧后传送给物理层,通过物理层传送到对方的数据链路层。帧:数据链路层规定最小的数据传送逻辑单位数据链路层协议要规定帧的类型与格式类型包括控制信息帧与数据信息帧等,格式则规定帧所包含的域)。,3.1 帧的基本组成,帧定界(开始与结束)地址字段(用于寻址)帧类型(或长度/控制)字段数据帧校验字段(差错控制),上图只是帧的一般组成,不同的数
24、据链路层协议所规定的帧格式可能会与其存在微小的区别。,3.2 帧的同步,同步就是标识帧的开始与结束常用的帧同步方法:字符计数法带字符填充的首尾界符法带位填充的首尾标志法违例编码法,字符计数法,首尾界符法,每一帧以ASCII字符序列DLE STX开始,以DLE ETX结束。DLE为Data Link Escape 的缩写,STX意味着Start of Text,ETX代表 End of Text。其缺点是成帧完全依赖于8位字符,STX,A,B,GOOD,BYE,ETX,A,B,GOOD,BYE,数据,组帧,字符填充,在首尾界符法中,由于数据中可能会出现DLE STX或DLE ETX,从而干扰帧的
25、正常定界字符填充法可用于解决上述问题。即发送端在数据中所遇到的DLE前再插入一个附加的DLE,而接收端则忽略两个连续DLE的前一个。,字节填充图例,(a)A frame delimited by flag bytes(b)Four examples of byte sequences before and after stuffing.,首尾标记法,每一帧使用一个特殊的位模式“01111110”作为开始和结束标记。该位模式又称为flag位模式允许数据帧包含任意个数的比特,也允许每个字符采用任意比特的编码。,位填充,在首尾标记法中,由于数据中可能会出现与标记相同的位串,从而干扰帧的正常定界位填充
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机网络 数据链 基本原理
链接地址:https://www.31ppt.com/p-6059722.html