计算机网络技术 第4章 数据链路层.pdf
《计算机网络技术 第4章 数据链路层.pdf》由会员分享,可在线阅读,更多相关《计算机网络技术 第4章 数据链路层.pdf(31页珍藏版)》请在咨信网上搜索。
1、66计算机网络技术第4章数据链路层上一章我们已经学习了物理层的有关知识,本章我们将介绍数据链路层的相关知识,包括数据链路层的功能以及实现这些功能的相应机制。本章建议学时数为6-8学时,本章 的学习导航参见表4.1o表4.1第4章学习导航驱动问题涉及的知识点学习要求为什么在物理层之上要有数据链路层?数据链路层的必要性 数据链路层需要解决的主要问题理解理解相邻结点的含义是什么?相邻结点的概念了解数据链路层的协议数据单元“帧”有什么作 用,它通常包括哪几部分?帧的作用及一般格式 HDLC帧的格式了解了解为什么要进行“成帧”和“拆帧”?如何区 分不同的帧?成帧与拆帧 帧的定界方法了解了解数据链路层如何
2、识别不同的结点?物理寻址理解如何得知帧”在传输过程中出错了?校验码的概念 常见检错码理解 了解为什么要进行差错控制?有哪些常用的机 制?差错控制的作用 反馈重发机制理解理解为什么要进行流量控制?如何实现?流量控制的作用 滑动窗口协议理解了解数据链路层有相应的组件吗?网卡及其作用 网卡地址及其组成理解理解数据链路层有哪些网络互连设备?网桥及其工作原理 交换机及其与网桥的比较理解 理解4.1 数据链路层概述4.1.1 为什么需要数据链路层“链路”和“数据链路”是两个不同的概念。“链路”是指一条无源的点到点物理线路,第4章数据链路层67中间没有任何其他的交换结点。网络上两台计算机在通信时,所传送的数
3、据往往要经过许 多中间交换结点,因而一条从源结点到目标结点的通路往往是由许多链路串接而成的,也 就是说,一条链路往往只是一条通路的一部分。“数据链路”则是一条物理通路加上必要的 数据传输规程或协议后所形成的逻辑连接。这种规程或协议控制着数据在链路上的传输。至少有两个理由可用来说明数据链路层存在的必要性。首先是数据传输过程中的损坏 与丢失问题。尽管物理层采取了一些必要的措施来减少信号传输过程中的噪声,但是数据 在物理传输过程中仍然可能被损坏或丢失。由于物理层只关心原始比特流的传送,不考虑 也不可能考虑所传输信号的意义和信息的结构,所以物理层不可能识别或判断数据在传输 过程中是否出现了损坏或丢失,
4、从而也谈不上采取相应的机制或方法进行补救。其次是收 发双方的接收和发送速率不匹配引发的数据丢失问题。当数据发送方的发送能力大于接收 方的数据接收能力时一,接收方会因为来不及处理而产生数据溢出并导致数据丢失。然而,物理层并不考虑当发送站点的发送速度过快而接收站点接收的速度过慢时,应采取何种策 略来控制发送站点的发送速度,以避免接收站点来不及处理而丢失数据。可见只有物理层 的功能是不够的,位于物理层之上的数据链路层就是为了克服物理层的这些不足而建立的。数据链路层旨在实现网络上两个相邻节点之间的无差错传输。它利用了物理层提供的 原始比特流传输服务,检测并校正物理层的传输差错,控制数据的传输流量,使在
5、相邻节 点之间构成一条无差错的链路,从而向网络层提供可靠的数据传输服务。4.1.2 相邻节点的概念那么何为相邻节点呢?所谓相邻节点是指那些位于同一物理网段中的节点。因此,不 仅图4.1(a)所示的点到点(point to point)网络环境中的两个节点属于相邻节点,图4.1(b)中的 那些由同一物理线路连接的共享介质环境中的节点属于相邻节点,图4.1(c)中的那些位于不 同物理线路上,但由第一层网络设备(中继器或集线器)互连的节点也属于相邻节点。相 邻节点的最主要特征是节点之间的数据通信不需要经过其他交换设备的转发。(a)点到点的连接(b)共享介质环境中的节点(c)第一层网络设备互连的网络图
6、4.1相邻节点的示例(图已修改)4.1.3数据链路层需要解决的主要问题为实现相邻节点之间的可靠传输,数据链路层必须解决下面的一系列问题:物理寻址。如何提供有效的物理编址与寻址功能,以能够在众多的相邻结点之间确 定一个接收目标,从而保证每一帧都能送到目的结点,同样也要保证接收方知道所收的帧 来自何处。数据链路的建立、维持和释放。如何为相邻结点之间的可靠数据传输提供必要的数 68计算机网络技术据链路建立、维持和释放机制。数据流的定界。如何提供一种机制使得接收方能识别数据流的开始与结束。差错控制。如何提供相应的差错检测与控制机制使得有差错的物理链路对网络层表 现为一条无差错的数据链路。流量控制。如何
7、提供流量控制机制以保证源和目标结点之间不会因发送和接收速率 不匹配而引起数据丢失。也就是当接收方来不及接收或处理到来的数据时,必须有相应的 机制来通知发送方降低发送速率。帧的构造。如何将那些与实现相邻节点可靠传输相关的机制,有机地统一在数据链 路层协议中,以数据链路层协议数据单元“帧”的形式来提供与实现。帧的同步。引入帧后,如何确保接收方能够从收到的比特流中准确地区分出一个帧 的开始和结束。帧类型的区分。帧通常有数据帧与控制帧之分,如何提供相应的措施来区分不同的 帧类型,以便接收方能做出正确的处理。下面我们分儿个小节来介绍数据链路层解决这些问题的一些相关机制。4.2帧与成帧为了实现上述诸如差错
8、控制、物理寻址和流量控制等一系列功能,数据链路层必须要 使自己所看到的数据是有意义的,其中除了要传送的用户数据外,还要提供关于寻址、差 错控制和流量控制所必需的信息,而不再是物理层所谓的原始比特流。为此,数据链路层 采用了被称为帧(frame)的协议数据单元作为数据链路层的数据传送逻辑单元。不同的数据 链路层协议的核心任务就是根据它所要实现的数据链路层功能来规定帧的格式。4.2.1 帧的基本格式及其作用尽管不同的数据链路层协议给出的帧格式存在一定的差异,但它们的基本格式还是大 同小异的。帧的基本格式包括了与帧结构相关的语法与语义,图4.2给出了帧的基本格式。组成帧的那些具有特定意义的部分被称为
9、域或字段(field),其中有关字段的说明如下:帧开始:用以指示一个帧的开始。地址:用于设备或机器的物理寻址,使得能够在多个相邻结点之间确定一个接收 目标。帧的长度/类型/控制:这个字段在不同的数据链路层协议中可以有不同的规定。或 给出帧的长度信息,或给出帧的类型信息,或表明该帧为控制帧。长度通常以字 节为单位;帧的类型主要包括提供数据传输的数据帧和提供链路控制与传输管理 功能的控制帧。数据:承载的来自高层(网络层)的数据分组(packet)。F CS:表示帧检验序列(F rame Check Sequence),该字段提供与差错检测有关的信 息。第4章数据链路层69 帧结束:用以指示一个帧的
10、结束。该字段与帧开始字段一起提供了数据流的定界。使得接收方可以正确识别数据流的开始与结束。通常,“数据”字段之前的那些字段被统称为帧头(head)部分,而“数据”字段之后的 所有字段被称为帧尾(trailer)部分。图4.2帧的基本格式帧开始地址长度/类型/控制数据F CS帧结束从图4.2中帧的基本结构中可以看出,帧浓缩了与数据链路层功能实现相关的各种机 制,如寻址、差错控制、数据流定界等。可以说数据链路层协议将其要实现的数据链路层 功能集中体现在其所规定的帧格式中。引入帧机制不仅可以实现相邻节点之间的可靠传输,还有助于提高数据传输的效率。例如,若发现接收到的某一个(或儿个)比特出错时,可 以
11、只对这些出错比特所对应的帧进行特殊处理(如请求重发等),而不需要对其他未出错的 帧进行这种处理;如果发现某一帧被丢失,也只要请求发送方重传所丢失的帧,从而大大 提高了数据处理和传输的效率。4.2.2 成帧与拆帧引入帧概念以后,在发送方,数据链路层必须提供将从网络层接收的分组(Packet)封 装成帧的功能,即为来自上层的分组加上必要的帧头和帧尾,通常称此过程为成帧(framing)。在成帧时,如果上层的分组大小超出下层帧的大小限制时,上层的分组还要被划分成多个 帧之后才能被发送出去。在接收方,数据链路层必须提供将所接收到的帧重新拆装成网络 层分组的功能,即去掉发送端数据链路层所加的帧头和帧尾部
12、分,从中分离出网络层所需 的分组,这样的过程被称为拆帧。帧在发送端和接收端数据链路层之间的传输过程大致如下:发送端的数据链路层接收 到网络层的发送请求之后,便从网络层与数据链路层之间的接口处取下待发送的分组,并 封装成帧,然后经过它下面的物理层送入物理信道;这样不断地将帧送入物理传输信道就 形成了连续的比特流;接收端的数据链路层通过自己与物理层的接口,接收来自物理层的 原始比特流,并从中识别出一个一个的独立帧,确认自己是帧的正确接收者后,利用帧中 的F CS字段对每一个帧进行校验,判断是否有错误。如果有错误,就采取收发双方约定的 差错控制方法进行处理。如果没有错误,就对所接收的帧实施拆封,并将
13、其中的数据部分 通过数据链路层与网络层之间的接口上交给网络层,从而完成了相邻节点之间的帧传输任 务。70计算机网络技术4.2.3 帧的定界引入帧后,数据链路层必须提供关于帧边界的识别功能,即所谓帧定界(frame boundary)o帧定界就是标识帧的开始与结束。有四种常见的定界方法,即字符计数法、带 字符填充的首尾界符法、带位填充的首尾标志法和物理层编码违例法。下面分别予以简单 的介绍。1.字符计数法此方法是在帧头部中使用一个字符计数字段来标明帧内字符数。接收端根据这个计数 值来确定该帧的结束位置和下一帧的开始位置。例如,发送序列“6ABCDE5U VWX8 1 2 3 4 4 5 8”表示
14、一共有三个帧,且三个帧的长度分别为6字节、5字节和8字节。但是这种方法很容易出现定界错误。仍以刚才的发送序列为例,当计数值出现传输差 错,如接收端收到的序列为“6ABCDE7UVWX8 1 23445 8”时,则接收端会将第二 帧解释为“7UVWX8 1,从而导致因发收双方对帧大小理解的不一致而出错。2.带字符填充的首尾界符法此方法是在每一帧的开头用ASCII字符DLE STX,在帧末尾用ASCII字符DLE ETX。但是,如果在帧的数据部分也出现了 DLE STX或DLEETX,那么接收端就会错误判断帧 边界。为了不影响接收方对帧边界的正确判断,采用了填充字符DLE的方法。即如果发送 方在帧
15、的数据部分遇到DLE,就在其前面再插入一个DLE。这样数据部分的DLE就会成对 出现。在接收方,若遇到两个连续的DLE,则认为是数据部分,并删除一个DLE。例如,待发送的数据是(注:每个连续的下划线上的内容代表一个ASCH 字符,下同),则在数据链路层封装的帧为DLE STX A DLE DLE C B DLE ETX其中DLE STX是帧首标记,斜体DLE是填充的DLE字符,DLE ETX则是帧尾标记。通过这种DLE字符的填充法,接收方就能保证帧边界字符的唯一性。因为DLE是一个字符,发送方每次在数据部分中遇到一个DLE字符时,就必须插入一 个8bit长的DLE o如果待传送的数据中有很多D
16、LE字符,那么帧中就会包含大量的冗余 DLE o这也是带字符填充的首尾界符法的一个不足之处。3.带位填充的首尾标志法与字符填充技术类似,带位填充的首尾标志法也是一种填充技术,但是它一次只填充 一个比特“0”而不是一个字符“DLE”。另外,带位填充的首尾标志法用一个特殊的位模 式式1111110”作为帧的开始和结束标志,而不是分别用“DLE STX”和“DLE ETX”作 帧的首标志和帧的尾标志。当发送方在数据部分遇到5个连续的“1”时一,就自动在其后插入一个“0”,即所谓的“逢五个1插0”。例如,若原始数据为第4章数据链路层71011100111111111111111010则经过填充后就变为
17、011100111110111110111110010其中三个黑体“0”为填充的位。当接收方遇到5个连续的“1”之后是一个“0”时,,就删除该“0”,即所谓的“逢五 个1删0”。这样就保证了在帧的数据部分不会出现“01111110”位串,从而使接收方能准 确地判断出帧边界。与上述字符填充法相比,这种位填充技术存在明显的优势。其在位模式基础上引入了“逢五个1删0”和“逢五个1插0”机制,保证了帧边界标志“01111110”的唯一性。带 位填充的首尾标志法是比较常用的成帧方法,本章后面介绍的数据链路层协议HDLC就使 用了这种帧定界方法。4.物理层编码违例法物理层编码违例法就是利用物理层信息编码中
18、未用的电信号来作为帧的边界。例如曼 彻斯特编码,在传输之前将数据位“1”编码成高-低电平对,数据位“0”编码成低-高电平 对,因此可以利用高-高电平对和低-低电平对作为帧边界的特殊编码。这种方法在IEEE802.5 局域网标准中用到。实际上,很多数据链路层协议使用字符计数法与其他方法相结合作为其成帧的方法。这里不再赘述。4.3差错控制4.3.1 差错原因与类型所谓差错是指接收端收到的数据与发送端实际发出的数据出现不一致的现象。之所以 产生差错,主要是因为在通信线路上噪声干扰的结果。根据噪声类型不同,可将差错分为 随机错和突发错。热噪声所产生的差错称为随机错,热噪声由线路上的电子随机热运动产 生
19、的;冲击噪声所产生的错误称为突发错,电磁干扰、无线电干扰等都属于冲击噪声。差错的严重程度由误码率Pe来衡量。在上一章中,我们已经介绍了不同传输介质的误码 率,并指出光纤信道的误码率是最低的。显然,误码率越低,信道的传输质量越高,但是 由于信道中的噪声是客观存在的,所以不管信道质量多高,误码率都不可能是零。因此,无论通过哪种类型传输介质或信道进行数据传输,差错控制都是不可少的。4.3.2 差错控制的作用与机制差错控制的主要作用是通过发现数据传输中的错误,以便采取相应的措施减少数据传 72计算机网络技术输错误。差错控制的核心是对传送的数据信息加上与其满足一定关系的冗余码,形成一个 加强的、符合一定
20、规律的发送序列。所加入的冗余码被称为校验码或帧校验序列(F rame Check Sequence,简称F CS)。关于F CS在帧中的一般位置参见图4.2。现在举一个形象的 例子以帮助同学们理解冗余码的作用。假定有朋友托张三给你捎来一个水果篮,里面放了 五只苹果和一盒巧克力,为你捎该水果篮的张三在途中禁不住这盒巧克力的诱惑将它吃掉 了,然后将剩下的五只苹果交给了你,你没有任何察觉地将这五只苹果收了下来,因为你 还以为本来就只有五.只苹果呢。但是,假如你的朋友在水果篮里同时放上了一张卡片或纸 条,上面写着赠送五只苹果和一盒巧克力的信息,那么你就可以发现该水果篮在捎带过程 中是否出了问题。显然,
21、这张卡片或纸条不是真正要送给你的礼物,但它却是保证礼物被 正确送给你所必需的额外信息,或称冗余信息。校验码在帧传输中的作用就相当于该例子 中的卡片或纸条。校验码按校验错误能力的不同被分为纠错码和检错码。纠错码不仅能发 现传输中的错误,还能利用纠错码中的信息自动纠正错误,其对应的差错控制措施为自动 前向纠错。汉明编码(Hamming code)是一种典型的纠错码,具有很高的纠错能力。检错 码只能用来发现传输中的错误,但不能自动纠正所发现的错误,需要通过反馈重发来纠错。常见的检错码有奇偶校验码和循环冗余校验码。由于目前计算机网络通信中大多采用检错 码方案,因此下面着重介绍检错码方案,然后简单介绍汉
22、明码。4.3.3 常见检错码1.奇偶校验码奇偶校验的规则是在原数据位后附加一个校验位,将其值置为“o”或“1”,使附加该 位后的整个数据码中“1”的个数成为奇数或偶数。使用奇数个“1”进行校验的方案被称 为奇校验;对应于偶数个“1”的校验方案被称为偶校验。奇偶校验有三种使用方式,即水 平奇偶校验、垂直奇偶校验和水平垂直奇偶校验。下面以奇校验为例进行介绍。水平奇校验码是指在面向字符的数据传输中,在每个字符的7位信息码后附加一个校 验位“0”或“1”,使整个字符中二进制位“1”的个数为奇数。例如,设待传送字符的比特序列为iioooor;则采用奇校验码后的比特序列形式为“11000010”。接收方在
23、收到所传送的比特序列后,通过检查序列中的“1”的个数是否仍 为奇数来判断传输是否发生了错误。若比特在传送过程中发生错误,就可能会出现“1”的 个数不为奇数的情况。图4.3(a)给出了发送序列“1100001”采用水平奇校验后可能会出现 的三种典型情况。显然,水平奇校验只能发现字符传输中的奇数位错,而不能发现偶数位 错。例如上述发送序列“nooooio”,若接收端收到“11001010”,则可以校验出错误,因 为有一位“0”变成了“1”;但是若收到“11011010”,则不能识别出错误;因为有两位“0”变成了“1”。不难理解,水平偶校验也存在同样的问题。为了提高奇偶校验码的检错能力,我们引入了水
24、平垂直奇偶校验,即由水平奇偶校验 和垂直奇偶校验综合构成。垂直奇偶校验也称为组校验,是将所发送的若干个字符组成字符组或字符块,形式上第4章数据链路层73看相当于是一个矩阵,如图4.3(b)所示,每行为一个字符,每列为所有字符对应的相同位。在这一组字符的末尾即最后一行附加上一个校验字符,该校验字符中的第i位分别是对应组 中所有字符第i位的校验位。显然,如果单独采用垂直奇偶校验,则只能检出字符块中某一 列中的1位或奇数位错。但是,如果我们同时采用了水平奇偶校验和垂直奇偶校验,即既对每个字符作水平校 验,同时也对整个字符块作垂直校验,则奇偶校验码的检错能力可以明显提高。这种方式 的奇偶校验被称为水平
25、垂直奇偶校验。图4.3(c)给出了一个水平垂直奇偶校验的例子。但是 从总体上讲,奇偶校验方法的检错能力仍较差,虽然其实现方法简单。故这种校验一般只 用于通信质量要求较低的环境。发送方传输信道11000010-A11000010-A11000010-接收方110000101100101011011010接收的编码无差错。接收的编码中1的个数为偶 数,所以出现差错。接收的编码中1的个数为奇数,所以判断为“无差错”,但实 际上出现差错。因此不能检测 出偶数个错。(a)水平奇校验示例字母前7行为对应字母的ASCII码,最后 一行是垂直奇校验编码(粗体)a1100001b1100010c1100011d
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机网络技术 第4章 数据链路层 数据链
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【曲****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【曲****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。