数据链路层功能与协议.ppt
《数据链路层功能与协议.ppt》由会员分享,可在线阅读,更多相关《数据链路层功能与协议.ppt(125页珍藏版)》请在三一办公上搜索。
1、第1页,第4章 数据链路层功能与协议,本章概述 本章的学习目标主要内容,第2页,本章概述,在OSI模型的物理层,实现了信号传输但是没有实现数据的通信。在计算机网络上两个相邻节点之间的通信,特别是通信双方的同步,线路控制,差错控制,流量控制,定界,寻址,透明传输等问题,需要由特定规则和约定来支配的,这种规则和约定称为数据链路控制。在互联网发展过程中,应用了很多成熟的数据链路层技术和实现协议。本章全面研究数据链路层服务功能和标准协议。,第3页,本章的学习目标,理解数据链路层功能和实现技术掌握数据链路层协议掌握面向字符的协议理解面向比特的协议掌握PPP协议理解PPPoe协议,第4页,主要内容,4.1
2、 数据链路层功能4.2 数据链路层协议4.3 面向字符的协议4.4 面向比特的协议4.5 PPP协议4.6 PPPoe协议4.7 本章小结,第5页,4.1 数据链路层功能数据链路层所提供的服务,数据链路层的基本服务是将源结点的网络层数据传输到目的结点网络层。在源结点上有一实体,我们称之为进程,它将网络层的比特序列交给数据链路层。而数据链路层又将它们传到目的地机器,交给那里的网络层。实际的传输是按照源结点网络层、数据链路层、物理层,传输介质,目的结点物理层、数据链路层、网络层依次传递的。,第6页,不同类型的服务,数据链路层可以提供多种不同类型的服务,实际提供的服务因系统不同而不同,但基本上有无确
3、认、无连接服务;有确认、无连接服务;面向连接服务三种。,第7页,OSI服务原语,网络层和数据链路层之间的通信使用了标准的OSI服务原语,它们是:请求(Request),指示(Indication),响应(Response),证实(Confirm)。网络层用“请求”原语请求数据链路层为其完成某项工作,如建立或释放连接,或者传送一个帧。“指示”原语用来通知网络层发生了某个事件。,数据链路层服务原语的两种表示方法,第8页,第9页,传输的同步,可见数据链路层的功能是为高层提供服务,但是首先得从底层物理层获得服务支持才能提供三种服务。物理层传输信号可靠性的理论模型支持主要是由数据链路来提供。传输信号的首
4、要问题是通信的同步性。,时钟漂移引起的问题,第10页,第11页,LOREM IPSUM DOLOR,解决上述同步问题的方法有两种。第一种称为异步法,发送方和接收方独立地产生时钟,但定期地进行同步。第二种方法称为同步方法,接收端时钟完全由发送方时钟控制,也就是说,接收方时间与发送方时钟是严格同步的。,第12页,1 异步方式,在异步传输中,数据以字符为单元发送。每个字符的长度根据所使用的编码方案可以是5-8位。,启停位组帧格式,第13页,第14页,2 同步方式,在同步传输中,以一种稳定的流方式传送比特块,不使用开启和停止位编码。该数据块在长度上可以是许多位。帧用一个称为标志的前缀起始,以同样的标志
5、作为后缀。接收方查看标志确定一个帧的开始。跟在前缀标志后面的是一定数目的控制段,然后是数据段(对于大多数协议都是可变长度)。在数据段后面还可以有控制段,最后仍是标志段。,第15页,4.1.3 数据链路层其他控制功能,线路规程之外,数据链路层中最重要的功能是流量控制、错误控制。这些功能都叫做数据链路控制。,第16页,4.1.4 线路规程,线路规程可以以两种方式实现:询问/应答(ENQ/ACK)方式和轮询/选择方式。第一种方法在对等通信中采用,第二种方法在主从式通信中采用。,1.询问/应答(ENQ/ACK),第17页,第18页,2.轮询/选择模式,线路规程的轮询/选择模式是在以一个设备设计为主设备
6、而其他设备为从设备的拓扑结构中采用的。多点连接系统必须在多个通信结点而不是仅仅两个之间进行协调。因此,在这类情形下,问题不仅仅是确定设备是否就绪,还要确定哪一个结点有权使用信道。如果从设备当前是激活的并且正在运行,它向主设备返回一个应答帧(ACK)。然后主设备就发送一个或多个数据帧,每帧的地址都是预期的从设备。,多点选择,第19页,第20页,轮询,轮询功能是主设备请求从设备进行传输的。如上所述,在没有接到请求前,从设备是不许发送数据。所有控制都集中在主设备,多点连接系统保证一次只能存在一个传输,因此在没有优先协议的情况下也保证不出现信号冲突。当主设备准备好接收数据时,它必须依次询问每个设备发送
7、数据。当询问到达第一个从设备时,如果没有数据要发送,必须回答否定应答(NAK),否则就发送数据帧。,第21页,4.1.5 流量控制,在控制通过传输链路的数据流量上采用两种方法:停等协议和滑动窗口协议。,第22页,1.停等协议,在停等协议中,发送方每发出一帧后就等待一个应答帧如图4-8所示。只有当接收到应答信号后,才发送下一帧。这种发送和等待交替的过程不断重复,直到发送方发送了一个传输结束帧(EOT)。停等协议有点象我们在对讲机中对话:我们说一段话,在说“over”这个结束符之后,等待对方回答“OK,然后再说第段话。,停等协议,第23页,第24页,2.滑动窗口协议,在流量控制的滑动窗口协议中,一
8、次可以传输多个帧。在滑动窗口中的窗口一词是指一个发送方和接收方都要创建的额外缓冲区。这个窗口可以在收发两方存储数据帧,并且对收到应答之前可以传输的数据帧的数目进行了限制。可以不等待窗口被填满而在任何一点对数据帧进行应答,并且只要窗口未满就可以继续传输。,第25页,LOREM IPSUM DOLOR,为记录哪一帧已经被传输以及接收了哪一帧,滑动窗口协议引入了一个基于窗口大小的标识机制。帧以模n方式标号,也就是说从0到n1编号。例如,如果n=8,帧顺序标号就为:0,1,2,3,4,5,6,7,0,1,2,3,4,5,6,7,0,1.”窗口的大小是n-1。,第26页,LOREM IPSUM DOLO
9、R,当接收方发出一个应答帧(ACK),它就在其中包含了预期接收的下一帧编号。也就是为对以帧4结尾的一串数据帧进行应答,接收方就发送一个包含有编号5的应答帧。当发送方收到含有编号5的应答帧(ACK)时,它就知道了直到编号4为止的所有数据帧均已经被接收了。在两端的窗口都可以存储n-1帧,因此在必须接收一个ACK帧之前最多可以发送n-1帧。,第27页,发送窗口,在传输的开始,发送方窗口有n-1帧。随着数据帧的发送,窗口的左边界向内移动,不断缩小窗口的大小。如果窗口大小是w,并且自从最近一次应答以来已经发送了三帧,那么在窗口中剩余的帧数是w-3。一旦一个应答帧(ACK)到来,窗口根据应答帧(ACK)中
10、应答的数据帧的个数对窗口进行相同数目的扩展。如图4-10显示了一个大小为7的发送方窗口。,滑动窗口协议的发送和接收,第28页,第29页,错误控制1.错误类型,这些错误类型通常被称为单比特错误,多比特错误和突发错误。其中,单比特错误最易出现,突发错误较不容易发生。多比特错误是指数据单元中两个或两个以上不连续的比特发生了改变从0变为1或是从1变为0。突发错误指数据单元中两个或两个以上连续的比特发生了改变从0变为1或是从1变为0。,第30页,2.错误检测冗余,采用冗余比特来进行数据单元正确性验证的过程。当数据单元生成后,就通过一个设备来分析它并且加上相应的冗余校验编码。现在增加了若干比特的数据单元(
11、在图中增加了七个比特)就通过链路传输到接收方。接收方将整个传输流输入到一个校验函数。如果接收的比特流通过了校验标准,数据单元的数据部分就被接收而冗余位则被丢弃。,冗余技术,第31页,第32页,冗余校验技术,在数据通信中采用四种类型的冗余校验技术:垂直冗余校验(VRC)(也称为奇偶校验),纵向冗余校验(LRC),循环冗余校验(CRC),以及校验和。前面三种,垂直冗余校验(VRC),纵向冗余校验(LRC),和循环冗余校验(CRC),是在物理层实现而被数据链路层使用的。而第四种技术,校验和技术,主要由网络层,包括国际互连网所使用,而在传输层实现的。,第33页,循环冗余码校验,循环冗余码校验和与基于加
12、法的VRC及LRC技术不同,循环冗余校验(CRC)是基于二进制除法的。给定一个m比特的帧或报文,发送器生成一个r比特的序列,称为帧校验序列(FCS)。这样所形成的帧将由(m+r)比特组成。这个帧刚好能被某个预先确定的数整除。接收器用相同的数去除外来的帧。如果无余数,则认为无差错。,第34页,冗余校验计算校验和的算法,设G(x)为r阶,在帧的末尾附加r个零,使帧为m+r位,则相应的多项式是xrM(x)。按模2除法用对应G(x)的位串去除对应xrM(x)的位串。按模2减法从对应于xrM(x)的位串减去余数(总是等于或小于r位)。结果就是要传送的带校验和的帧,叫多项式T(x)。,第35页,校验和,在
13、高层协议中使用的错误检测技术称为校验和技术。和VRC、LRC以及CRC技术一样,校验和是建立在冗余概念上的。在发送方,校验和生成器将数据单元细分成大小都为n(通常是16)比特的几段。这些分段采用反码加法算法加在一起,使得整个结果仍然是n比特长。该总和(校验和)随后取反并当作冗余位加在原始数据单元的末尾,称作校验和域。,第36页,3.错误纠正,错误纠正可以通过两种方式进行。一种方式是当发现错误时,接收方可以让发送方重新发送整个数据单元。另一种方法是可以采用错误纠正码,自动纠正一些错误。理论上,可以自动纠正任何一种二进制编码错误。但是错误纠正码比错误检测码要复杂得多,并且需要占据更多的冗余比特位。
14、纠正多比特错误和突发错误所需要的比特位数是如此巨大,因此在大多数情况下这样做是十分低效的。,第37页,单比特错误纠正,通过检验最简单的情形:单比特错误,最容易对错误纠正的基本概念得到理解。为计算纠正一个给定数目(m)的数据比特所需要的冗余位的数目(r),必须找到m和r之间的关系。如果可传输单元的总比特数是m+r,那么r必须能至少代表m+r+1种状态。在这些状态中,一种状态代表没有错误,其他m+r 种状态代表在m+r 位每个位置上发生的错误。,第38页,LOREM IPSUM DOLOR,因此,必须能够通过r位来发现所有m+r+1种状态,而r比特可以代表2r不同状态。因此,2r必须大于或等于m+
15、r+1:2r m+r+1。r的值可以通过插入要传输的数据单元的原始长度m的值来得到。例如,如果01的值是7(就如同七位ASCII码一样),满足上述公式的最小的r值是4。,第39页,海明码,在数据通信的过程中,解决差错问题的一种方法是在每个要发送的数据块上附加足够的冗余信息,使接收方能够推导出发送方实际送出的应该是什么样的比特串。通常,一帧是由m个数据位(即报文)和r个冗余位(或称校验位)组成。设总长度为n,则n=m+r,此长度为n位的单元常常被称作n位码字。,第40页,LOREM IPSUM DOLOR,假设有任意两个码字,10001001和10110001,可以确定有多少个不同的对应位。其中
16、有3个不同位。为了确定有多少位不同,只需对两个码字进行异或运算。然后计算结果中的1的位数。两个码字中不同的位的数目称作海明距离(1950年由Hamming提出)。这种海明距离的重要性在于如果两个码字的海明距离为d,那么只有出现d个单位差错才能将其中一个码字转换成另一个码字。,第41页,多比特错误纠正,在互相重叠的数据比特组上计算的冗余位也可以用来纠正多比特错误。但是,纠正这些错误所需要的冗余比特数将大大高于纠正单比特错误的冗余比特数。例如,为纠正两比特错误,必须将整个序列中任意两个比特的组合情况考虑进来。三比特错误纠正就要考虑整个序列中的任意三比特组合。,第42页,4.1.7 差错控制,数据通
17、信中,在检测出差错之后就需要对差错进行控制,利用编码方法进行差错控制的方法基本上有两类:自动请求重发(ARQ:Automatic Request for Repeat)和前向纠错(FEC:Forward Error Correction)。,第43页,1.自动重复请求,在数据链路层错误纠正的实现是简单的:在一次交互中出现任何一个错误,一个否定应答NAK)就被返回并且对应的帧就被重新传输。这个过程被称作自动重复请求(ARQ)。在数据链路层的错误控制是基于自动重复请求(ARQ)的,这意味着三种情况下的数据重传:帧破坏,帧丢失,以及应答帧丢失。,第44页,2.停等自动重复请求,停等自动重复请求是包括
18、了在丢失和损坏帧情形下,数据重传的停等流量控制形式。为实现重传,在基本流量控制机制上要增加四种特性。,第45页,3.滑动窗口自动重复请求,在几种常见的连续传输错误控制机制中,有两种协议是最常见的:回退n自动重复请求和选择拒绝自动重复请求,两者都是基于滑动窗口流量控制协议的。为扩展滑动窗口协议来解决丢失和损坏帧的重发问题,需要在基本的滑动窗口流量控制上增加三种特性:,第46页,LOREM IPSUM DOLOR,其一,在发送出去的帧被应答消息确认前保持它们所有的备份。其二,除应答帧(ACK)外,如果数据帧被破坏,接收方还可以选择发送否定应答帧(NAK)。NAK帧告诉发送方重新发送一个损坏的帧。其
19、三,和停等ARQ类似,在滑动窗口自动重复请求(滑动窗口ARQ)协议中的发送设备具有一个定时器来使发送方能够处理应答消息丢失的情况。,第47页,主要内容,4.1 数据链路层功能4.2 数据链路层协议4.3 面向字符的协议4.4 面向比特的协议4.5 PPP协议4.6 PPPoe协议4.7 本章小结,第48页,4.2 数据链路层协议,数据链路协议可以被细分为两组:异步协议和同步协议。异步协议对于比特流中的每个字符都单独处理。同步协议则将整个比特流当作一个整体并将其切分成大小相等的一个个字符串。在串行数据传输中,如果发送的数据可以被接收端立即打印显示或存储,就不需要流控制。但是如果两端的操作存在速度
20、的差异,就必须有流控措施。数据流匹配技术可以分为暂时数据存储法和数据流开关控制法两大类。后者又可以进一步分为RTS/CTS、XON/OFF和协议传送等子类。,第49页,LOREM IPSUM DOLOR,链路层同步协议可以分为面向字符(又称面向字节)和面向比特两种类型。大多数字符协议的控制段位于帧内不固定的位置,而比特协议的控制段通常都处于帧内的固定位置。更重要的是,字符协议和所用的代码有关,它用特定的代码(ASCII、EBCDIC等)来决定控制段的含义。比特协议对代码是透明的,因为对协议控制的解释是基于比特,而不是依赖某种特别的代码。,第50页,主要内容,4.1 数据链路层功能4.2 数据链
21、路层协议4.3 面向字符的协议4.4 面向比特的协议4.5 PPP协议4.6 PPPoe协议4.7 本章小结,第51页,4.3面向字符的协议4.3.1 二进制同步通信协议,二进制同步传输协议(BSC)是常用的面向字符的数据链路协议,由IBM公司在1964年研制。该协议可以在点到点和多点线路配置中使用,支持采用停等ARQ流量控制和错误控制的半双工传输。BSC不支持全双工传输和滑动窗口协议。,第52页,4.3.2 BSC协议帧,BSC协议将传输分割成帧。如果一帧只能严格用于控制目的,就叫做控制帧。控制帧被用来在通信设备之间交换信息。例如,建立初始连接,控制传输流,进行错误纠正请求,以及在会话结束时
22、在设备之间断开连接等等都需要用控制帧来交换信息。如果一帧有部份数据或全部是数据的话,它被称为数据帧。数据帧被用来传输信息,但也可以包含可以应用到该信息上的控制信息。,BSC数据帧,第53页,第54页,LOREM IPSUM DOLOR,简单数据帧的格式。帧开头是一个或两个同步字符(SYN)。这些字符通知接收方有新的帧到来并为接收方提供一种可以用来与发送设备进行时钟同步的比特模式。从附录A中,可以发现ASCII码的SYN字符是0010110。字节的前导比特(第八位)常常用附加的0填充。两个同步字符在一起就如下:。,第55页,LOREM IPSUM DOLOR,在两个同步字符之后是文本开始符(ST
23、X)。这个字符通知接收方控制信息结束,下一字节将是数据。数据或文本可以由不同数目的字符组成。一个文本结束符(ETX)指明了文本和进一步的控制字符之间的转换。最后,包含有用于错误检测的一个或两个被称作块校验计数符(BCC)的字符。一个BCC域是一个字节长度的纵向冗余校验码(LRC)或是两个字节的循环冗余校验码(CRC)。,第56页,数据透明性,在BSC协议中的数据透明性是通过一个叫做字节填充的过程实现的。它涉及到两种活动:通过数据链路转义符(DLE)定义透明文本区域以及在透明文本区域内的DLE符之前加上附加DLE字符。定义透明区域,就需要在文本区域开始的STX符之前插入一个转义符DLE并且在文本
24、区域结束的ETX符(或是ITB或ETB字符)前也插入一个转义符DLE。,第57页,LOREM IPSUM DOLOR,第一个DLE字符告诉接收方文本中可能有控制字符并要求忽略这些控制符。最后一个DLE字符告诉接收方透明区域结束了。如果透明区域内含有一个作为文本的转义符DLE,那么仍然会出现问题。在这种情况下,就在文本中的每个DLE字符前都再插入一个DLE字符。,字节填充,第58页,第59页,主要内容,4.1 数据链路层功能4.2 数据链路层协议4.3 面向字符的协议4.4 面向比特的协议4.5 PPP协议4.6 PPPoe协议4.7 本章小结,第60页,4.4 面向比特的协议4.4.1 高级数
25、据链路控制协议,高级数据链路控制(HDLC)是由国际标准化组织制定的,为支持在点到点和多点链路上的半双工和全双工通信而设计的,面向比特的有序链路级协议。在HDLC中,任何必须在两个站之间交换的控制信息都被放在传送帧的特别段中。这些段相对帧的边界有固定的位置。,第61页,1.站点类型,HDLC协议有三种不同类型的站点:主站点,从站点,以及复合站点。在HDLC协议中,主站点的功能与流量控制中主设备的功能是相同的。主站点是在点到点或多点线路配置中对链路具有完全控制的结点设备。主站点发送命令到从站点。主站点发布命令,从站点进行响应。一个复合站点既可以发命令也可以进行响应。复合站点是一组互相连接的对等站
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据链 功能 协议

链接地址:https://www.31ppt.com/p-5986132.html