第4章:数据链路层.ppt
吴功宜 编著,计算机网络(第2版),第4章数据链路层,3,本章学习要求:,了解:数据传输过程中差错产生的原因与性质掌握:误码率的定义与差错控制方法掌握:数据链路层的基本概念了解:面向字符型数据链路层协议实例BSC掌握:面向比特型数据链路层协议实例 HDLC掌握:Internet中的数据链路层协议,4,4.1 差错产生与差错控制方法,4.1.1 为什么要设计数据链路层在原始物理传输线路上传输数据信号是有差错的;设计数据链路层的主要目的:将有差错的物理线路改进成无差错的数据链路;方法 差错检测 差错控制 流量控制作用:改善数据传输质量,向网络层提供高质量的服务。,5,4.1.2 差错产生的原因和差错类型,传输差错 通过通信信道后接收的数据与发送数据 不一致的现象;差错控制 检查是否出现差错以及如何纠正差错;通信信道的噪声分为两类:热噪声和冲击噪声;由热噪声引起的差错是随机差错,或随机错;冲击噪声引起的差错是突发差错,或突发错;引起突发差错的位长称为突发长度;在通信过程中产生的传输差错,是由随机差错与突发差错共同构成的。,6,传输差错产生过程,7,4.1.3 误码率的定义,误码率定义:二进制比特在数据传输系统中被传错的概率,它在数值上近似等于:Pe=Ne/N其中,N为传输的二进制比特总数 Ne为被传错的比特数,8,讨论,误码率应该是衡量数据传输系统正常工作状态下传输可靠性的参数;对于一个实际的数据传输系统,不能笼统地说误码率越低越好,要根据实际传输要求提出误码率要求;对于实际数据传输系统,如果传输的不是二进制比特,要折合成二进制比特来计算;差错的出现具有随机性,在实际测量一个数据传输系统时,只有被测量的传输二进制比特数越大,才会越接近于真正的误码率值。,9,4.1.4 检错码与纠错码,纠错码:每个传输的分组带上足够的冗余信息;接收端能发现并自动纠正传输差错。检错码:分组仅包含足以使接收端发现差错的冗余信息;接收端能发现出错,但不能确定哪一比特是错的,并且自己不能纠正传输差错。,10,常用的检错码,奇偶校验码 垂直奇(偶)校验 水平奇(偶)校验水平 垂直奇(偶)校验(方阵码)循环冗余编码CRC 目前应用最广的检错码编码方法之一,11,4.1.5 循环冗余编码工作原理,12,举例:,13,标准CRC生成多项式G(x),CRC-12 G(x)=x12+x11+x3+x2+x+1CRC-16 G(x)=x16+x15+x2+1CRC-CCITT G(x)=x16+x12+x5+1CRC-32 G(x)=x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1,14,CRC校验码的检错能力,CRC校验码能检查出全部单个错;CRC校验码能检查出全部离散的二位错;CRC校验码能检查出全部奇数个错;CRC校验码能检查出全部长度小于或等于K位的突发错;CRC校验码能以1-(1/2)K-1的概率检查出长度为(K+1)位的突发错;如果K=16,则该CRC校验码能全部检查出小于或等于16 位的所有的突发差错,并能以1-(1/2)16-1=99.997的概率检查出长度为17位的突发错,漏检概率为0.003%;,15,4.1.6 差错控制机制,反馈重发机制,16,反馈重发机制的分类,停止等待方式,17,连续工作方式,拉回方式选择重发方式,18,4.2 数据链路层的基本概念,4.2.1 物理线路与数据链路线路 链路物理线路 数据链路,19,4.2.2 数据链路控制,链路管理 帧同步 流量控制 差错控制 帧的透明传输 寻址 数据链路层协议 为实现数据链路控制功能而 制定的规程或协议。,20,1、帧同步将比特流分成离散的帧,并计算每个帧的校验和。字节计数法:特殊字符表示帧的开始,一个字段来给出帧的长度。缺点:若计数出错,对本帧和后面的帧有影响。字符填充的首尾定界符:特殊字符表示帧的开始,信息位中的特殊字符前加一个转义字符DLE。缺点:局限于8位字符和ASCII字符传送。比特填充的首尾标志方法:特定的比特模式标志帧的起始,信息位中出线比特模式时,进行比特填充违例编码法:采用不可能出线在信息位中的比特编码作为帧的起始边界。曼彻斯特编码中电平的跳变表示1(高-低)和0(低-高)高高和低低电平是违例编码,21,2、差错控制一般方法:接收方给发送方一个反馈(响应)。出错情况帧(包括发送帧和响应帧)出错;帧(包括发送帧和响应帧)丢失通过计时器和序号保证每帧最终交给目的网络层仅一次是数据链路层的一个主要功能。,22,3、流量控制发送方法送能力大于接收方接收能力的问题基于反馈机制流量控制主要在传输层实现,23,4、链路管理点到点的链路相对来说要简单些:PPPPoint-to-Point ProtocolInternet数据链路层协议多路访问:多个节点共享一条广播链路硬件地址:标识给哪一个节点,24,4.2.3 数据链路层向网络层提供的服务,数据链路层是OSI参考模型的第2层;设立数据链路层的主要目的是将原始的、有差错的物理线路变为对网络层无差错的数据链路;为了实现这个目的,数据链路层必须实现链路管理、帧传输、流量控制、差错控制等功能;数据链路层为网络层提供的服务主要表现在:正确传输网络层的用户数据,为网络层屏蔽物理层采用的传输技术的差异性。,25,4.3面向字符型数据链路层协议实例,4.3.1数据链路层协议的分类面向字符型,IBM的二进制同步通信(BSC)协议面向比特型,IBM的同步数据链路控制(SDLC)协议,ISO的高级数据链路控制(HDLC)协议面向字符型两个明显缺点字符集可能不同控制字符不能出现在数据中,即透明传输问题,26,4.3 面向字符型协议实例,什么是面向字符型协议?以字符为控制传输信息的基本单元 ASIIC码:格式字符:SOH(start of heading)STX(start of text)ETB(end of transmission block)ETX(end of text)控制字符:ACK(acknowledge)NAK(negative acknowledge)ENQ(enquire)EOT(end of transmission)SYN(synchrous)DLE(data link escape),27,面向字符型BSC协议的数据报文格式:,28,转义符的使用,字符填充:利用转义字符DLE来实现数据透明每个独立的控制字符作为普通的数据字符在控制字符前面有一个DLE时才具有特殊意义若数据段本身出现DLE,则在前面插入一个DLE。接收方接收到连续两个DLE,则去掉第一个DLE,并且作为普通字符看待,不再具有转义意义。比如接收到DLE/DLE/DLE/ETX,表示对方发送DLE(data)+ETX(control),29,练习题若面向字符同步规程的帧数据段中出现下列字符串,问字符填充后的输出是什么?A DLE STX B C DLE DLE DLE ETBA DLE DLE STX B C DEL DLE DLE DLE DLE DEL ETB,30,建立、维护与释放数据链路流程图,31,4.4 典型数据链路层协议分析 面向比特型,4.4.1 HDLC产生的背景 面向字符型数据链路层协议的缺点:控制报文与数据报文格式不一样;传输透明性不好;等待发送方式,传输效率低。可靠性差,只对数据部分差错控制。面向比特型协议的设计目标:以比特作为传输控制信息的基本单元;数据帧与控制 帧格式相同;传输透明性好;连续发送,传输效率高。,32,4.4.2 数据链路的配置和数据传送方式,数据链路的配置非平衡配置平衡配置非平衡配置中的主站与从站主站:控制数据链路的工作过程。主站发出命令 从站:接受命令,发出响应,配合主站工作非平衡配置中的结构特点点-点方式多点方式,33,数据链路的非平衡配置方式,34,非平衡配置方式,正常响应模式(normal response mode,NRM)主站可以随时向从站传输数据帧;从站只有在主站向它发送命令帧进行探询(poll),从站响应后才可以向主站发送数据帧。异步响应模式(asynchronous response mode,ARM)主站和从站可以随时相互传输数据帧;从站可以不需要等待主站发出探询就可以发送数据;主站负责数据链路的初始化、链路的建立、释放与差错恢复等功能。,35,平衡配置方式,链路两端的两个站都是复合站(combined station);复合站同时具有主站与从站的功能;每个复合站都可以发出命令与响应;平衡配置结构中只有异步平衡模式(asynchronous balanced mode,ABM);异步平衡模式的每个复合站都可以平等地发起数据传输,而不需要得到对方复合站的许可。,36,数据链路的平衡配置方式,37,4.4.3 HDLC的帧结构,F(flag):固定格式 01111110 作用 帧同步 传输数据的透明性(零比特插入与删除)A(address):地址C(control):帧的类型、帧的编号、命令与控制信息I(information):网络层数据,Nmax=256BCRC(checksum):校验A、C、I字段的数据 G(X)=X16+X12+X5+1,38,零比特插入/删除工作过程,39,练习题若面向比特同步规程的帧数据段中出现下列位串,问比特填充后的输出是什么?0100000111110101111110,010000011111001011111010,40,帧类型及控制字段的意义,41,帧类型,I帧:N(S)发送帧的顺序号 N(R)接收帧的顺序号 P/F=Poll/Final,P=1 询问,F=1 响应 P与F成对出现S帧:监控功能位 S=00,RR(receive ready)S=01,RNR(receive not ready)S=10,RJE(reject)S=11,SREJ(select reject)U帧:用于实现数据链路控制功能,42,U帧的格式与链路控制功能,43,4.4.4 数据链路层的工作过程简化的信息帧结构的表示方法一个信息帧的表示,44,无编号帧的表示方法 SNRM帧与UA帧结构的表示方法,45,正常响应模式数据链路工作,46,讨论:数据链路层与物理层的关系,47,4.5 Internet中的数据链路层,Internet中主要的数据链路层协议SLIP(Serial Line IP)串行线路的Internet数据链路层协议PPP(Point-to-Point Protocol)点-点协议SLIP与PPP用于串行通信的拨号线路上,是目前家庭计算机或公司用户通过ISP接到Internet主要的协议。,48,存在的问题不提供差错校验,只能靠高层进行纠错只支持IPIP地址不能动态分配,通信的每一方必须事先知道对方的IP地址不提供认证多种版本并存,互连困难,49,PPP协议基本特点,PPP协议是Internet标准,RFC 1660、RFC 1661定义了PPP协议与帧结构;与SLIP相比,PPP有很大的提高,提供差错校验、支持多种协议(如IPX)、允许动态分配IP地址、支持认证等。以帧为单位发送,而不是原始IP包,最大接收单元,默认值为1500字节帧格式与HDLC相似,区别在于PPP是面向字符的,采用字符填充技术PPP协议不仅在拨号电话线,并且在路由器路由器之间的专用线上广泛应用;PPP协议是在大多数家庭个人计算机和ISP之间使用的协议,它可以作为在高速广域网和社区宽带网协议族的一部分。,50,包括两部分链路控制协议LCP(Link Control Protocol)用来建立、配置和测试数据链路连接可使用多种物理层服务:modem,HDLC串线,SDH/SONET等网络控制协议NCP(Network Control Protocol)其中的每一个协议支持不同的网络层协议,可支持多种网络层协议,51,PPP信息帧格式,标志(flag):01111110 地址(address):值为“FF”(11111111),表示网中所有的站 都接收该帧 控制(control):值为“03”(00000011)协议(protocol):长度为2字节,它标识出网络层协议数据域的 类型。常用的网络层协议的类型主要有:0021HTCP/IP 0023HOSI 0027HDEC数据字段:长度可变,52,链路控制帧(LCP)与网络控制帧(NCP),链路控制帧(LCP)网络控制帧(NCP),53,小结,物理传输线路上传输数据信号是有差错的;误码率是指二进制比特在数据传输过程中被传错的概率;数据链路层是将一条原始的、有差错的物理线路变为对网络层无差错的数据链路;数据链路层完成链路管理、帧传输、流量控制、差错控制等功能;,54,数据链路层协议基本可以分为两类:面向字符型与面向比特型;数据链路层的数据传送单位是帧,帧具有固定的结构;HDLC的帧分为信息帧(I帧)、无编号帧(U帧)与监控帧(S帧);Internet数据链路层主要的协议是PPP协议;PPP协议不仅用于拨号电话线,并且可以用于路由器路由器之间的专用线路上。,