您好,欢迎访问三七文档
1ChapterIV数据链路层2Review1.物理层4大特性2.物理层设计的2个定理3.几个常用编码技术4.几种调制方法5.多路复用技术6.常见的传输媒介质3数据链路层定义和功能定义要解决的问题如何在有差错的线路上,进行无差错传输。ISO关于数据链路层的定义数据链路层的目的是为了提供功能上和规程上的方法,以便建立、维护和释放网络实体间的数据链路。结点(node):网络中的主机(host)和路由器(router)称为结点链路(link):通信路径上连接相邻结点的通信信道称为链路。数据链路层协议定义了一条链路的两个结点间交换的数据单元格式,以及结点发送和接收数据单元的动作。4内容安排基本概念不需要协议的理想条件简单的停止等待协议实用的停止等待协议连续ARQ协议PPP协议5基本概念数据链路层所在的层次链路与数据链路(物理链路与逻辑链路)数据链路层的功能为网络层提供服务组帧流量控制差错控制链路管理6数据链路层所在的层次应用层表示层会话层传输层A主机7123465接口应用层表示层会话层物理层网络层传输层数据链路层B主机物理层网络层数据链路层传输层协议会话层协议表示层协议应用层协议信息单位APDUPPDUSPDUTPDU位帧分组网络层协议数据链路层协议物理层协议7基本服务:将源结点的网络层数据可靠地传输到相邻的目的结点的网络层A主机B主机物理层网络层数据链路层位帧分组网络层协议数据链路层协议物理层协议物理层网络层数据链路层封装解封数据链路层的服务8数据链路层提供的三种服务1)无确认无连接服务:目的结点不作确认,传送前无需建立数据链路,差错由上层负责。2)有确认无连接服务:目的结点对收到的帧要作确认,发送结点可以知道已发出的帧是否安全到达目的结点;误帧重传。3)面向连接服务:可靠地传送数据的服务,即提供在网络实体间建立、维持和释放数据链路的功能(以电话系统为参考)A.建立连接:初始化帧确认变量和计数器。B.数据传输:实际的帧传输。C.断开连接:释放用于维护连接的变量、缓冲区及其他资源9数据链路层的服务原语连接建立阶段:DL-CONNECT.request,DL-CONNECT.indication,DL-CONNECT.response,DL-CONNECT.confirm连接维持阶段:DL-DATA.request,DL-DATA.indication连接释放阶段:DL-DISCONNECT.request,DL-DISCONNECT.indication10数据链路层实体数据链路层实体网络层实体网络层实体系统A系统BDL-C.reqDL-C.conDL-C.resDL-C.ind响应帧DL-DC.indDL-D.reqDL-DC.indDL-D.ind连接请求帧DL-DC.req释放连接请求帧响应帧确认帧数据帧DL-D.ind连接建立阶段(DL-C)数据传送阶段(DL-D)连接释放阶段(DL-DC)网络层实体面向连接通信过程示例(网络利用数据链路层提供的服务)11数据链路层的功能数据链路管理成帧:同步、定界及透明传输装帧:发送方将网络层提交的数据按DL层协议要求装配成帧拆帧:接受方将帧还原成网络层数据提交给网络层帧同步:保证接受的帧顺序与发送方相同(包括检错重传后)流量控制:匹配发送方和接收方的传输速率差错控制:检测传输错误寻址:目的方12字符计数法带填充字符的首尾界符法带填充位的首尾标志法物理层编码违例法:IEEE802协议控制信息的形成方法(成帧)13字符计数法把帧的长度用一个字节表示作为帧的头部51234567898123456785123436789812345678第1帧第2帧第3帧帧长度计数第1帧第2帧第3帧帧长度计数错一旦帧长度计数被误读将不能继续同步,故很少采用14带字符填充的首尾界符法用特殊的字符作为帧头和帧尾如:DLESTXMynameisJohnDLEETXDLESTXMynameisJohnDLEETX10024D79206E616D65206973204A6F686E1003接收方一旦丢失了帧信息只要查找DLESTX就可重新确定帧边界15面向字符的帧格式面向字符的帧格式所传输的数据都是字符(ASCII字符或EBCDIC字符),帧内容中不允许出现帧同步字符,在面向字符的异步串型通信中常使用。面向字符的帧格式不适宜传输数据中包含二进制数的帧,因为包含二进制数的帧中很可能出现DLESTX等字符解决方法:在二进制数中偶然出现的DLE前再插入一个DLE——字符填充法缺点:依赖于字符集,不通用,也无法扩展16面向字符协议的不足采用停等协议,半双工通信,通信线路利用率低;所有通信设备必须使用同样的字符代码只对数据部分进行差错控制,可靠性差依赖于字符集,不易扩展17在面向二进制位的同步串型通信中常使用带位填充的首尾标志格式,如HDLC。在面向位的帧中,所有需传输的数据(不论是ASCII字符还是二进制位串)一字排开,并以特殊的位模式01111110作为帧标志,即一个帧的开始(同时标志前一个帧的结束)。当帧内容中出现5个连续1时,则自动在其后插入一个0到输出比特流中,接收方看到5个连续的1后面跟着一个0时,将自动删除这个0,称为位插入法或透明传输。如果由于干扰,一个帧没有正确接收,则可扫描接收串,一旦扫描到01111110,新的一帧从此开始,即可以再同步。带位填充的首尾标志法18帧首01111110011011111011111011111010001001111110帧尾数据填充位带位填充的首尾标志法面向位协议IBMSNA的SDLC(同步数据链路控制)ANSI的ADDCP(先进的数据通信控制规程)ISO的HDLC(高级数据链路控制)CCITT的LAP(链路接入规程)X.25采用LAPB(链路接入规程----平衡型)19物理层编码违例法只适用于在物理媒体的编码策略中采用了冗余技术的网络优点:无需填充数据0:低-高电平对数据1:高-低电平对高-高电平对和低-低电平对没有,使用可用作帧边界,在令牌环网中使用编码违例格式20差错控制目的:确保帧可靠地交付接收方基本方法:接收方进行差错检测,并向发送方应答,告知是否正确收到帧帧的正确性保证:帧的校验传输正确性保证:超时和重发差错检测和纠正:纠错码、检错码21差错控制码字:通常,一帧包括m个数据(即报文)位和r个冗余位或校验位。设整个长度为n(n=m+r),则此长度为n位的单元被称为n位码字纠正单比特差错所需的最少校验位数公式:(m+r+1)2r奇偶校验:可检测出奇数个比特位错CRC码:可检测出所有奇数位错及长度r的并发错误22奇偶校验在原始数据字节的最高位增加一个附加比特位,使结果中1的个数为奇数(奇校验)或偶数(偶校验)。增加的位称为奇偶校验位。例:原始数据=1100010,采用偶校验。则增加校验位后的数据为11100010若接收方收到的字节奇偶结果不正确,就可以知道传输中发生了错误。奇偶校验只能检测出奇数个比特位错,对偶数个比特位错则无能为力。23CRCCRC:CyclicRedundancyCheck,循环冗余码多项式编码:通过多项式除法检测错误的方法编码思想:将位串看成系数为0或1的多项式检错思想:收发双方约定一个生成多项式G(x)(其最高阶和最低阶系数必须为1),发送方在帧的末尾加上校验和,使带校验和的帧的多项式能被G(x)整除;接收方收到后,用G(x)除多项式,若有余数,则传输有错。24校验和计算算法若G(x)为r阶,原帧为m位,其多项式为M(x),则在原帧后面添加r个0,帧成为m+r位,相应多项式xrM(x)按模2除法用对应于G(x)的位串去除对应于xrM(x)的位串按模2减法从对应于xrM(x)的位串中减去余数,结果就是要传送的带校验和的帧的多项式T(x)T(x)=xrM(x)+[xrM(x)MOD2G(x)]CRC25CRC校验示例待校验数据:1101,0110,11G(x)=x4+x+1,即10011110101101100001001111000010101001110011100110000101101001110100100111110余数∴传送序列T(x)=1101,0110,1111,10265.2错误检测和纠正(8)四个多项式已成为国际标准CRC-12=x12+x11+x3+x2+x+1CRC-16=x16+x15+x2+1CRC-CCITT=x16+x12+x5+1CRC-32硬件实现CRC校验网卡NIC(NetworkInterfaceCard)27不需要协议的理想条件理想化的数据传输无需数据链路层协议假定1:链路是理想的传输信道,数据既不会出错也不会丢失假定2:不管发送方的速率多快(要发送的信息无限多),接收方总能接收到并上交主机(缓冲区无限大)结果:传送的数据不会产生差错,而且不管发方以多高的速率发送数据,收方总能够来得及收下并能及时交付给主机。(如无约束单工协议(AnUnrestrictedSimplexProtocol))假定1解决了差错问题假定2解决了流量问题2829简单的停止等待协议实际情况下,机器性能和配置的不同,不能保证双方同步去除假定2具有最简单流量控制的数据链路层协议工作流程:工作流程等待将收到的数据帧送到数据链路层的接收缓冲区将接收缓冲区中的数据帧提交给主机接收方流程:向发送方发送应答帧从主机取一帧将数据帧送到数据链路层的发送缓冲区将发送缓冲区中的数据帧发送出去等待应答发送方流程:YN31从主机取数据上交主机DATA1DATA4DATA3DATA2结点A结点B从主机取数据上交主机DATA1DATA2结点A结点BACKACK理想信道具有简单流量控制的数据链路层协议时间33实用的停止等待协议前提:不能满足两个假设去除假定1和2实用的停止等待协议需要考虑的问题:如何保证接收方收到的数据帧是正确的?数据帧在发送过程中丢失后的处理?应答帧在传送过程中丢失后如何处理?重复帧如何处理?34数据帧在琏路上传输的几种情况DATA1DATA2结点A结点BACKACKDATA1DATA1结点A结点BNAKACK出错重发DATA1DATA1结点A结点BACK丢失重发toutDATA1DATA1结点A结点BACKACK重发tout丢失不送主机正常情况数据帧出错数据帧丢失应答帧丢失35实用的停止等待协议N(S)发送序号V(S)发送状态0/1表示即将发送帧的序号V(R)接收状态0/1表示希望接收的下一帧的序号36停等协议的算法流程发送方从主机取一个数据帧V(s)=0N(s)=V(s)将数据帧提交给发送缓冲区把发送缓冲区中内容发送出去设置超时定时器等待收到ACK收到NAK超时取下一帧V(s)=1-V(s)接收方V(r)=0等待收到一帧,检查是否有错正确错误N(s)=V(r)?丢弃该帧将收到的帧提交给主机发送ACK发送NAK发送ACKV(r)=1-V(r)373839实用的停止等待协议小结前提:实际信道不满足理想化数据传输的假定流量控制方法:等待发送差错控制:发送方数据帧中加入校验码(CRC),由接收方检查;若出错,返回NAK;发送方收到NAK后重发。帧丢失处理:超时定时器;以序号标识数据帧优点:简单缺点:信道利用率低也称为ARQ协议(AutomaticRepeatreQuest)40重复帧确认的误解41连续ARQ协议工作原理:发送方发完一帧后,不必停下来等待对方的应答,可以连续再发送若干帧;如果在发送过程中收到接收方的肯定应答,可以继续发送;若收到对其中某一帧的否认帧,则从该帧开始的后续帧全部重发流量控制方法:连续发送差错控制:同停等协议优点:连续发送提高了信道利用率42连续ARQ协议接收端只按序接收数据帧,即数据链路层除了下次该交给网络层的下一帧外,拒绝接收其他任何帧。缺点:回走重传(Go-back-N),导致某些已正确接收的帧的重传,因此降
本文标题:第6章数据链路层.
链接地址:https://www.777doc.com/doc-2111107 .html