计算机网络教学课件 PPT 作者 张玉英 梁光华 第5章 数据链路层

上传人:E**** 文档编号:89492877 上传时间:2019-05-25 格式:PPT 页数:167 大小:8.16MB
返回 下载 相关 举报
计算机网络教学课件 PPT 作者 张玉英 梁光华 第5章 数据链路层_第1页
第1页 / 共167页
计算机网络教学课件 PPT 作者 张玉英 梁光华 第5章 数据链路层_第2页
第2页 / 共167页
计算机网络教学课件 PPT 作者 张玉英 梁光华 第5章 数据链路层_第3页
第3页 / 共167页
计算机网络教学课件 PPT 作者 张玉英 梁光华 第5章 数据链路层_第4页
第4页 / 共167页
计算机网络教学课件 PPT 作者 张玉英 梁光华 第5章 数据链路层_第5页
第5页 / 共167页
点击查看更多>>
资源描述

《计算机网络教学课件 PPT 作者 张玉英 梁光华 第5章 数据链路层》由会员分享,可在线阅读,更多相关《计算机网络教学课件 PPT 作者 张玉英 梁光华 第5章 数据链路层(167页珍藏版)》请在金锄头文库上搜索。

1、第5章 数据链路层,第5章 数据链路层,5.1数据链路层功能 5.2组帧 5.3差错控制 5.4流量控制与可靠传输机制 5.5介质访问控制 5.6局域网 5.7广域网 5.8数据链路层设备,两种截然不同的信道,广播信道 这种信道使用一对多的广播通信方式,同一信道上连接的主机很多,需要使用专用的介质访问控制协议来协调传输和避免“碰撞” 。 点对点信道 这种信道使用一对一的点对点通信方式。,在两台主机通过互联网通信时,从源主机H1开始,经过一系列路由器(R1、R2、R3),到目的主机H2结束。,从协议的层次看,主机H1和H2有完整的协议层次,路由器的协议栈只有下面三层。数据进入路由器后先从物理层上

2、到网络层,在网络层的转发表中找到下一条的地址后,再下到物理层转发数据。,只考虑数据在数据链路层流动,当主机H1向H2发送数据时,我们可以想象数据是在数据链路层从左向右水平传送。即通过这样的四段链路:H1链路层R1链路层、R1链路层R2链路层、R2链路层R3链路层和R3链路层H2链路层。,5.1数据链路层功能,一些术语 结点 把主机和路由器统称为结点 物理链路 沿着通信路径连接相邻结点的通信信道。链路的中间没有任何其他的交换结点。两个主机通信时,通信路径上要经过许多独立的链路。 逻辑链路 把实现数据传输协议的硬件和软件加到链路上,就构成了数据链路,有人将其称为逻辑链路。 网络适配器就是实现这些协

3、议的硬件和软件。一般的适配器包含了数据链路层和物理层这两层的功能。链路层协议交换的数据单元称为帧。,5.1数据链路层功能,所有的数据链路层的基本功能都是将数据帧通过单条链路从一个结点移动到相邻结点(如图5.3所示),但具体细节依赖于该链路上应用的具体数据链路层协议。链路层协议包括如以太网、802.11无线局域网、令牌环和PPP。链路层的一个重要特点是在通信路径的不同链路上可能由不同的链路层协议来处理。需要着重注意的是不同的数据链路层协议的提供功能是不同的。例如一个数据链路层协议可能提供可靠的交付、另一个数据链路层协议可能不提供可靠的交付。 数据链路层可能提供的服务包括:组帧、差错控制、流量控制

4、、可靠传输和介质访问控制。,5.1数据链路层功能,1.组帧 在网络层分组在链路上传输前,链路层协议用数据链路层的帧将其封装。一个帧有数据字段和首部字段组成,网络层的分组就插在数据字段中。一个帧可能包含尾部字段,我们把首部字段和尾部字段合并起来称为首部字段。接收端在收到物理层上交的比特流后,能根据首部字段的标记,从收到的比特流中识别帧的开始和结束,如图5.4所示。帧的结构由数据链路层协议规定。,5.1数据链路层功能,2.差错控制 由于通信链路中存在信号的衰减和电池干扰,帧中的比特在传输过程中可能产生差错,1接收方判断为0,0接收方判断为1。转发有差错的数据是没有意义的,数据链路层的许多协议提供检

5、测是否存在差错的机制。这是通过在帧中设置差错检测冗余位,让接收结点对收到的帧进行差错检测来完成的。链路层的差错检测通常很复杂,并且通过硬件来实现。 差错纠正不仅能检测是否帧中出现了差错,而且能够判决帧中的差错出现在哪里并纠正这些错误。一些协议如ATM只为分组的首部提供链路层差错纠正。,5.1数据链路层功能,3.流量控制 由于链路的每一结点具有有限的帧缓存,接收结点在某个时间段收到帧的速率比其处理的速度快,没有流量控制,接收方的缓存会溢出,帧会丢失。链路层协议提供流量控制机制,当接收方来不及处理发送方发送的数据时,及时控制发送方发送数据的速率,旨在使收发方协调一致。,5.1数据链路层功能,4.可

6、靠传输 当数据链路层提供可靠传输服务时,它保证将网络层的分组无差错地通过数据链路层。链路层可靠传输的服务时通过确认和重传机制来获得的。链路层可靠地传输服务常用于容易产生高差错率的链路,如无线链路。而低差错率的链路,包括光纤、双绞线和同轴电缆,链路层的可靠传输被认为是不必要的开销。因此许多有线的链路层协议不提供可靠的交付。,5.1数据链路层功能,5.介质访问控制 介质访问控制协议定义了帧在链路上传输的规则。对于在链路的一端有一个发送方、另一端有一个接受方的点对点链路,介质访问控制协议比较简单,甚至不存在。对于多个结点共享单个广播链路,就是被称为多址访问的问题,介质访问控制协议用来协调多个结点的帧

7、传输。,5.2组帧,1.字节计数法 这种帧同步方法以一个特殊字符表征一帧的起始,并以一个专门字段来标明帧内的字节数。接受方可以通过对该特殊字符的识别从比特流中区分出帧的起始,并从专门字段中获知该帧中随后跟随的数据字节数,从而可确定出帧的终止位置。 面向字节计数的同步规程的典型实例是DEC公司的数字数据通信报协议DDCMP。控制字符SOH标志数据帧的起始。Count字段共有14位,用以指示帧中数据段中数据的字节数,数据段最大长度为8(214-1)=131064位,长度必须为字节(即8位)的整倍数,DDCMP协议就是靠这个字节计数来确定帧的终止位置的。CRC1、CRC2分别对首部和数据部分进行双重

8、校验 。,5.2组帧,2. 使用字符填充的首尾定界符法 该法用一些特定的字符来定界一帧的起始与终止。为了不使数据信息位中出现的与特定字符相同的字符被误判为帧的首尾定界符,可以在这种数据字符前填充一个转义控制字符(DLE)以示区别,从而达到数据的透明性。,5.2组帧,3.使用比特填充的首尾定界符法 该法以一组特定的比特模式(如01111110)来标志一帧的起始与终止。本节稍后要详细介绍的HDLC和PPP协议就采用该法。为了不使信息位中出现的与该特定模式相似的比特串被误判为帧的首尾标志,可以采用比特填充的方法。比如,采用特定模式01111110,则对信息位中的任何连续出现的5个“1”,发送方自动在

9、其后插入一个“0”,而接受方则做该过程的逆操作,即每收到连续5个“1”,则自动删去其后所跟的“0”,以此恢复原始信息,实现数据传输的透明性。比特填充很容易由硬件来实现,性能优于字符填充方法。,5.2组帧,4.违法编码法 该法在物理层采用特定的比特编码方法时采用。例如,曼彻斯特编码方法,是将数据比特“1”编码成“高-低”电平对,将数据比特“0”编码成“低-高”电平对。而“高-高”电平对和“低-低”电平对在数据比特中是违法的。可以借用这些违法编码序列来定界帧的起始与终止。局域网IEEE 802标准中就采用了这种方法。违法编码法不需要任何填充技术,便能实现数据的透明性,但它只适用采用冗余编码的特殊编

10、码环境。,5.3差错控制,信号在物理信道中传输时,线路本身电器特性造成的随机噪声、信号幅度的衰减、频率和相位的畸变、电器信号在线路上产生反射造成的回音效应、相邻线路间的串扰以及各种外界因素(如大气中的闪电、开关的跳火、外界强电流磁场的变化、电源的波动等)都会造成信号的失真。在数据通信中,将会使接受端收到的二进制数位和发送端实际发送的二进制数位不一致,从而造成由“0”变成“1”或由“1”变成“0”的差错。,5.3差错控制,数据通信的差错程度通常是以“误码率”来定义的,它是指二进制比特在数据传输系统中被传错的概率,它在数值上近似等于Pe = Ne/N。其中,N为传输的二进制比特总数,Ne为被传错的

11、比特数。,最常用的差错控制方法是差错控制编码。数据信息位(k位)在向信道发送之前,先按照某种关系附加上一定的冗余位(n位),构成一个码字后再发送,这个过程称为差错控制编码过程。编码效率就是k除以(k+n)的值。接收端收到该码字后,检查信息位和附加的冗余位之间的关系,以检查传输过程中是否有差错发生,这个过程称为检验过程。,5.3差错控制,差错控制方法分两类,一类是自动请求重发ARQ,另一类是前向纠错FEC。在ARQ方式中,当接收端发现差错时,就设法通知发送端重发,直到收到正确的码字为止。ARQ方式只使用检错码。在FEC方式中,接收端不但能发现差错,而且能确定二进制码元发生错误的位置,从而加以纠正

12、。FEC方式必须使用纠错码。,差错控制编码可分为检错码和纠错码。检错码是能自动发现差错的编码;纠错码是不仅能发现差错而且能自动纠正差错的编码。,5.3.1检错编码,在发送端要发送的k比特的数据M,发送结点要把数据M发送给接收结点。发送方和接收方首先要协商一个n+1比特生成码P,称为生成多项式P(X)。要求P(X)的最高有效位的比特(最左边)是1。,目前在数据链路层广泛使用了循环冗余检验CRC(Cyclic Redundancy Check)的检错编码。循环冗余检验编码也称为多项式编码,因为能把比特串看作是系数是0和1的一个多项式,对比特串的操作被解释为多项式算术。,5.3.1检错编码,这n位的

13、冗余码R是如何得出的呢?是用模2运算(在加法中不进位,在减法中不借位。这意味着加法和减法是相同的,而且等价于操作数的按位异或(XOR)运算),相当于在M后面添加n个0 。得到(k+n)位的数除以发送方和接收方协商好的n+1位除数P,得出的商是Q余数是R(n位,比P少一位)。,发送方:对于一个给定的数据M,发送方要选择n位的附加比特R即冗余码(冗余码常称为帧检验序列FCS),附加M后面,使得产生的k+n比特的数据一起发送到接收端。在所要发送的数据后面增加n位冗余码,虽然增大了数据传输的开销,但却可以进行差错检测,往往是很值得的。,5.3.1检错编码,解:1)被除数是信息码M 后添加n=3个0,即

14、110011000。 2)除数是P即1101。 3)用模2运算(如图5.5所示)。由计算结果知冗余码是001,码字就是110011001。,例1.已知:信息码M:110011 信息多项式:M(X)=X5+X4+X+1 生成码P:1101 生成多项式:P(X)=X3+X2+1 (n=3) 求:冗余码和码字。,5.3.1检错编码,接收端:在接收端把收到的数据以帧为单位进行CRC检验。用CRC进行差错检验的过程很简单:接收方用P去除接收到得k+n位比特。如果余数为0,则认为正确而被收下得到信息码;如果余数为非0,则接收方认为发生错误,就丢弃该帧,请求对方重发。,5.3.1检错编码,例2已知:接收码字

15、:1100111001 多项式:T(X)=X9+X8+X5+X4+X3+1 生成码P: 11001 生成多项式:P(X)=X4+X3+1(n=4) 求:码字的正确性。若正确,则指出冗余码和信息码。,解:1)用码字除以生成码,余数为0,如图5.6所示,所以码字正确。 2)因n=4,所以冗余码是:1001,信息码是:110011,5.3.1检错编码,现在广泛使用的生成多项式P(X)有如下几种: CRC-16 = x16+x15+x2+1 CRC16-CCITT =x16+x12+x5+1 CRC-32 = x32 +x26+x23+ x22+ x16+ x12+ x11+ x10+ x8+ x7+

16、 x5+ x4+x2+x+1 CRC码不能100%地发现错误,余数为0时可能发生差错。一般生产多项式阶数越高,检错能力越强。凡是接收方数据链路层接受的帧,我们都能以非常接近于1的概率认为这些帧在传输过程中没有产生差错。通常都这样近似地认为:凡是接收方数据链路层接受的帧均无差错。 在数据链路层,发送端帧检验序列FCS的生成和接收端CRC检验都是用硬件完成的,处理很迅速,因此不会延误数据的传输。,5.3.2纠错编码,采用纠错码进行差错控制时,接收端不仅能发现差错,而且知道出错码元的位置,从而自动进行纠正。这种方式成为前向纠错FEC。海明码就是一种纠错码。,发送方进行海明码编码,所需步骤如下: 确定最小的校验位数k。 原有信息k位和k个校验位一起编成长为m +k位的新码字海明码。选择k校验位以满足必要的奇偶条件。,接收方对收到的码字进行译码,所需步骤如下: 接收端对所接收的信息作所需的k个奇偶检查。 如果所有的奇偶检查结果均为正确的,则认为信息无错误。如果发现有一个或多个错了,则错误的位由这

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号