第3章 数据链路层.ppt
《第3章 数据链路层.ppt》由会员分享,可在线阅读,更多相关《第3章 数据链路层.ppt(166页珍藏版)》请在麦多课文档分享上搜索。
1、第3章 数据链路层,定义和功能 数据帧的组成 可靠性传输 数据链路层示例,为网络层提供一个较好的服务接口 为网络层提供可靠的传输服务,数据链路层的定义,数据链路层的上层是网络层,数据链路层将借助于物理层为网络层提供服务,数据链路层的协议数据单元(PDU)是帧,数据链路层的功能,数据链路层的任务是把网络层的数字数据组合成帧,并加上一定的校验码后交物理层 物理层用不同的信号表示二进制数据位,从而把帧用一段连续的信号串表示并传送到目的主机 目的主机的物理层将信号还原成比特串交数据链路层,井数据链路层确认正确后送到网络层 数据链路层为源和目的主机的网络层之间提供一条可靠的数据链路,相连、物理链路和数据
2、链路,所谓相连,可以理解为物理介质的连接,但当采用多路复用技术时也可以是信道的连接,其特征为:所传输的数据是按序的 物理链路:一段无源的点到点的物理连接,中间没有任何交换节点 数据链路:包括一条物理连接和为实现数据传输而在两端配置的硬件及其相关的通信协议,数据链路层提供的服务,数据链路层的服务是通过有无连接、有无确认来区分的 无确认无连接的服务 有确认无连接的服务 有确认有连接的服务,确认和连接,确认:接收方在收到数据帧后,必须给发送方发回一个确认 面向连接:发送方和接收方在传输数据之前必须建立一条数据链路,传输结束后必须释放该链路,数据链路层的服务,无确认无连接的服务 有确认无连接的服务 有
3、确认有连接的服务,无确认面向无连接的服务,无确认是指接收方在收到数据帧后,毋需发回一个确认 无连接的服务是指在数据传输前毋需建立数据链路 物理线路的连接并非意味着提供了有连接的服务 无确认并非不可靠,其可靠性可由上层负责例如:局域网,共享信道不需要、也不允许建立连接 信道较为理想,数据传输的误码率很低 即使出错或丢失由上层负责恢复,数据链路层的服务,无确认无连接的服务 有确认无连接的服务 有确认有连接的服务,有确认面向无连接的服务,使用前不建立连接,即不建立数据链路,但每帧传输必须得到确认 这在信号传播延时较大、线路状态不一定很可靠的情况下是有效的例如:无线通信,如建立连接,则信道使用率很低
4、然而,由于数据传输的误码率相对较高,所以确认是必要的,数据链路层的服务,无确认无连接的服务 有确认无连接的服务 有确认有连接的服务,有确认的面向连接服务,使用前先建立连接,即先建立数据链路,并且每帧的传输必须得到确认 有连接的服务必须在使用前先建立连接(即建立数据链路),然后使用,最后释放连接例如:电话,电话是一种实时的应用,如不是面向连接,则实时性难以得到保证 电话是一对一的、双向的数据传输,数据的可靠传输,将传输的信息组合成帧 校验和重发 流量控制,保证直接相连的两台主机的可靠性传输,第3章 数据链路层,定义和功能 数据帧的组成 可靠性传输 数据链路层示例,数据帧的组成,字符计数法 带字符
5、填充的首尾界符法 带位填充的首尾标志法 物理层编码违例法,帧的组成必须保证能识别一个完整的帧,并保证一旦出现传输差错而导致前一个帧丢失时,也必须能识别后一个帧,即具有帧再同步能力,字符计数法,假设帧的长度用一个字节表示,并作为帧的头部,一旦帧长度计数被误读,将无法再同步,所以不能采用,Tnbm P188 Fig. 3-4 字符计数成帧法,数据帧的组成,字符计数法 带字符填充的首尾界符法 带位填充的首尾标志法 物理层编码违例法,帧的组成必须保证能识别一个完整的帧,并保证一旦出现传输差错而导致前一个帧丢失时,也必须能识别下一个帧,即具有帧再同步能力,带字符填充的首尾界符法,用特殊的字符作为帧头和帧
6、尾界符,这是一种面向字符的帧格式,所传输的数据都是字符(ASCII或EBCDIC字符),但帧中不允许出现帧界符标志,在面向字符的串型通信中常使用这种格式(PPP) 接收方一旦丢失了一个FLAG,只要继续搜索下一个FLAG,就可重新确定帧边界,即具有再同步能力,Tnbm P189 Fig. 3-5 (a) 由Flag标志的一个帧,面向字符的帧格式,面向字符的帧格式不适宜传输数据中包含二进制数的帧,因为在包含二进制数的帧中很可能出现与FLAG相同的bit序列(通常FLAG用ASCII字符7EH定义) 一种方法是在二进制数中偶然出现的FLAG前再插入一个ESC (ASCII字符1BH),这种方法称为
7、字符填充法,数据帧的组成,字符计数法 带字符填充的首尾界符法 带位填充的首尾标志法 物理层编码违例法,帧的组成必须保证能识别一个完整的帧,并保证一旦出现传输差错而导致前一个帧丢失时,也必须能识别下一个帧,即具有帧再同步能力,带位填充的首尾标志法,在面向二进制位的同步串行通信中常使用带位填充的首尾标志格式,如HDLC,这是一种面向二进制位的帧格式,把所有需传输的数据(不论是字符或表示一个浮点数的二进制位串,还是一个MP3的文件)一字排开,并以特殊的位模式01111110作为帧标志,即一个帧的开始(同时标志前一个帧的结束) 如果由于干扰,一个帧标志没有被正确接收,则继续扫描接收串,一旦扫描到011
8、11110,即新的一帧从此开始,即具有再同步能力,即使字符也并非都是8位的,东方文字是16位,UNICODE是16位,面向bit的帧格式,当帧中出现一个与帧标志相同的位串01111110,则在连续5个1后自动插入一个0,即变成01111101,接收方将自动删除第5 个1后的0 这称为位插入法,也称为透明传输,Tnbm P190 Fig. 3-6 (a) (b) (c) 位插入法示例,数据帧的组成,字符计数法 带字符填充的首尾界符法 带位填充的首尾标志法 物理层编码违例法,帧的组成必须保证能识别一个完整的帧,并保证一旦出现传输差错而导致前一个帧丢失时,也必须能识别下一个帧,即具有帧再同步能力,物
9、理层编码违例法,在曼切斯特编码中,连续高电平或连续低电平可用作帧界符,采用冗余编码技术,如曼切斯特编码,即对连续两个信号进行采样,可得到一个二进制位 数据0:低-高电平对 数据1:高-低电平对,高-高电平对和低-低电平对没有使用,如在二进制编码中出现则称为编码违例,但这两种违例编码正好可用作帧界符,在令牌环网中使用编码违例格式,第3章 数据链路层,定义和功能 数据帧的组成 可靠性传输 数据链路层示例,可靠性传输,差错控制:校验、重发和序号 避免帧错误的保证:帧的校验 避免帧丢失的保证:超时和重发 避免帧重复的保证:帧有序号 流量控制:窗口协议 发送方和接收方之间传输速率的协调 协议描述和验证,
10、差错控制,确认 数据帧丢失 重复帧,如何保证数据帧的正常传输,将通过三种手段处理三种可能出现的情况 :,确认,接收方在收到了正确的帧后向发送方发肯定性确认;如收到的帧有问题,则发否定性确认,此时发送方将重发此帧 确认的前提是必须经过差错检测,差错检测和校正,差错的产生主要是在传输时,数据中的一位或几位因噪声干扰而出错 噪声分两种:信道所固有的、持续存在的热噪声外界突发原因而造成的随机的冲击噪声 通常接收方应能检错,甚至纠错 纠错码是除m个数据位外增加r个冗余位作为纠错位,传输的总长度为n = m + r,纠错码和检错码,纠错码: 海明(Hamming) 码 检错码: 校验和(Check Sum
11、) 块校验码(Block Check Code) 循环冗余检错码 CRC(Cyclic Redundancy Check),校验和,算法简单、实现容易,但检错强度较弱,以16位为例: 4865H+6C6CH+6F20H+776FH+726CH+642EH+进位=71FCH,将发送的数据看成是二进制整数序列,并划分成一段段规定的长度(如8位、16位、32位等),计算它们的和,如计算和时有进位,则将进位加到最后的校验和中,并将校验和与数据一起发送;在接收端,重新计算校验和,并与接收到的原校验和比较,如要传输“ Hello world.”,纠错码和检错码,纠错码: 海明(Hamming) 码 检错码
12、: 校验和(Check Sum) 块校验码(Block Check Code) 循环冗余检错码 CRC(Cyclic Redundancy Check),块校验码,块校验码BCC(Block Check Code)简单常用,但检错的强度较弱,如在同一列上有偶数位错,则不能检测如传输的数据都是ASCII字符(即面向字符,这在应用中很多),每个字符进行奇偶校验,然后把所有的字符(连同奇偶位)进行异或运算,运算结果即为其块校验码,通常发送端在发送完数据区的结束标志后发送BCC,接收端一边接收数据一边计算BCC,最后与接收到的BCC比较,以确认所接收到的数据正确与否 如“ Hello world.”,
13、采用偶校验,校验后的字符序列为:,48H65H6CH6CH6FHA0H77H6FH72H6CHE4H2EH = 2EH,纠错码和检错码,纠错码: 海明(Hamming) 码 检错码: 校验和(Check Sum) 块校验码(Block Check Code) 循环冗余检错码 CRC(Cyclic Redundancy Check),循环冗余检错码 CRC,任何一个k位的帧都可看成为一个k-1次的多项式M(x)的系数列表如:1011001看成是多项式x6+x4+x3+x0的系数列表 设定一个生成多项式G(x),G(x)为r阶,kr 如xrM(x)/G(x) = Q(x) + R(x)/G(x)
14、其中Q(x)为商、R(x)为余数,R(x)即为M(x)的CRC码 将CRC码接在帧后一起发送,即发送数据为xrM(x) + R(x) 二进制运算中,减法和加法都做异或运算:0+1=1,1+1=0 因为( xrM(x) - R(x) )一定能被G(x)整除,即余数为0,则接收方只要计算CRC,并所得余数为0即为正确,CRC码计算举例,如一帧为1101011011 即:M(x) = x9+x8+x6+x4+x3+x+1 G(x) = x4+x+1 T(x) = x4M(x) =x4(x9+x8+x6+x4+x3+x+1) =x13+x12+x10+x8+x7+x5+x4,CRC码计算举例(续1),
15、帧:1101011011 除数:10011 实际传输帧:,余数,Tnbm P198 Fig. 3-8 CRC码计算举例,CRC码计算举例(续2),11010110110000/10011= 1100001010 1110即11010110110000 + 1110能被10011整除 (注:模2运算的加、减和异或,其运算结果相同) 发送方发送的是T(x)+R(x) 能被G(x)整除,如接收方收到的是T(x)+R(x)+E(x),除非E(x)是G(x)的整倍数,否则不能被整除,即都能被检测到已出错,三个生成多项式国际标准,CRC-12:x12 +x11 +x3 +x2 +x1 + 1 用于字符长度
16、为6位 CRC-16 :x16 +x15 +x2 + 1 用于字符长度为8位 CRC-CCITT :x16 +x12 +x5 + 1 用于字符长度为8位 IEEE 802 :x32 +x26 +x23 +x22 +x16 +x12 +x11 +x10 +x8 +x7 +x5 +x4 +x2 +x1 + 1,CCITT:Consultative Committee on International Telegraphy and Telephone 国际电报和电话咨询委员会,即现在的 ITU-T ITU-T:International Telecommunications Union Teleco
17、mmunications Standardization Sector 国际电信联盟 电信标准分部,差错控制,确认 数据帧丢失 重复帧,如何保证数据帧的正常传输:通过三种手段处理三种可能出现的情况 :,数据帧丢失,通过发送方的重发定时器(超时)解决 超时(TimeOut):在传输过程中,如果所发送的帧丢失,接收方根本没有收到,不可能发送确认帧(包括否定性确认),当然发送方也不可能等待收到如何信息,所以发送方每发送一帧,就启动一个重发定时器,在所设定的时间内,一般都应该收到确认,如收不到确认,则在重发定时器溢出后,再重发此帧,差错控制,确认 数据帧丢失 重复帧,如何保证数据帧的正常传输:通过三种
18、手段处理三种可能出现的情况 :,重复帧,重发机制也包括当接收方发送的确认帧丢失而导致发送方的重发定时器超时而重发 由于接收方确认帧的丢失,导致发送方多次发送同一帧,接收方也将多次收到同一帧,为能识别是否为相同的帧,应该在帧格式中增加一个帧的编号(序号),帧的格式,基于上述讨论,一个数据链路层的帧至少应该包括下列内容:,可靠性传输,差错控制:校验、重发和序号 避免帧错误的保证:帧的校验 避免帧丢失的保证:超时和重发 避免帧重复的保证:帧有序号 流量控制:窗口协议 发送方和接收方之间的协调 协议描述和验证,流量控制,发送速率和接收速率的匹配即流量控制 如接收方的处理能力低于发送方,即使传输中没有出
19、错,也可能被“ 淹没”,所以通常在接收方的缓冲区到达一定量时,应及时通知发送方,暂停发送,等候通知,这就是流量控制机制基本数据链路协议滑动窗口协议,A、B两台主机要求可靠的、面向连接的通信,在接收方的数据链路层,目前正运行的是wait_for_event(&event),即等待某个事件发生,基本数据链路协议,可以这样理解:在一台主机中,物理层、数据链路层、网络层等,都有各自的进程在运行,并且假设:,wait_for_event(&event)的参数,如event = checksum_err,意即所接收帧的校验和错,应考虑不发送确认帧ACK,或发送否定性确认帧NAK 如event = fram
20、e_arrival,即帧已到达并校验正确,应调用from_physical_layer,从物理层取得帧,并检查帧头的控制信息,如一切正常,则仅把其中的分组交网络层 一系列过程和数据结构的定义:Tnbm P202 Fig. 3-9,如发生了某个事件,此过程将返回参数event, event有两个取值:checksum_err(CRC错) frame_arrival(正确收到),三个基本数据链路协议(协议1-3),无限制的单工协议(协议1)Tnbm P205 Fig. 3-10 一种无限制的单工协议 单工的停 等协议(协议2)Tnbm P207 Fig. 3-11 一个单工的停 等协议 噪声信道的
21、单工协议(协议3)Tnbm P210 Fig. 3-12 一个肯定性确认和超时重发协议,无限制的单工协议,链路是理想的传输通道,所传输的任何数据既不会出错也不会丢失即:不需校验,也不可能出现重发,毋需差错控制 不管发送方以怎样的速率发送数据,接收方都能及时接收并处理即接收端处理器的处理速度无限高,处理时间可忽略不计,缓冲区空间无限大,毋需流量控制,Tnbm P205 Fig. 3-10 一种无限制的单工协议,一种理想的环境,理想的协议,假定:,协议1:SENDER,void sender1(void) frame s;packet buffer;while (true) from_networ
22、k_layer( ,协议1:RECEIVER,void receiver1(void) frame r;event_type event;while (true) wait_for_event( ,三个基本数据链路协议(协议1-3),无限制的单工协议(协议1)Tnbm P205 Fig. 3-10 一种无限制的单工协议 单工的停 等协议(协议2)Tnbm P207 Fig. 3-11 一个单工的停 等协议 噪声信道的单工协议(协议3)Tnbm P210 Fig. 3-12 一个肯定性确认和超时重发协议,单工的停 等协议,链路是理想的传输通道,所传输的任何数据既不会出错也不会丢失 考虑实际情况,
23、接收方不可能具有足够高的CPU处理能力来及时处理所有的接收帧,也不可能具有永不溢出的缓冲区即:毋需差错控制,但必须进行流量控制,这里的单工,其实是半双工,所谓流量控制是发送方必须收到前一帧的确认后才允许发送下一帧,接收方发出确认,意味着前一帧已接收并交网络层,准备接收下一帧,Tnbm P207 Fig. 3-11 一个单工的停 等协议,协议1中第一个假设保留,第二个假设撤消,假定:,协议2:SENDER,void sender2(void) frame s;packet buffer;event_type event;while (true)from_network_layer( ,协议2:R
24、ECEIVER,void receiver2(void) frame r,s;event_type event;while (true) wait_for_event( ,协议2说明,协议2是一个半双工协议,即发送方和接收方使用同一信道,但发送方发送数据帧的过程和接收方发送确认帧的过程是严格交替的 协议2中,发送方发送的数据帧和接收方发送的确认帧采用相同的帧格式,发送方发送的数据帧中仅包含数据,接收方发送的确认帧数据为空,仅为一个信号 由于协议2定义的是一个理想的传输通道,所以不考虑传输差错问题,三个基本数据链路协议(协议1-3),无限制的单工协议(协议1)Tnbm P205 Fig. 3-1
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据链 PPT
