计算机网络技术课件.ppt
《计算机网络技术课件.ppt》由会员分享,可在线阅读,更多相关《计算机网络技术课件.ppt(79页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三章 数据链路层协议及技术成帧成帧 差错检测与差错控制差错检测与差错控制 链路层协议链路层协议3.1 数据链路层基本概念链路:一条无源的点到点的物理线路段数据链路:链路规程(控制数据传输)。一条物理连接加上为实现数据可靠传输所配置的硬件和相关的通信协议)数据链路层的作用:通过一些数据链路层协议(链路控制规程),在不太可靠的物理链路上实现可靠的数据传输数据链路层功能和提供的服务数据链路层的协议数据单元PDU:帧帧任务是将网络层的数据组合成帧,加上一定的校验,然后交物理层用某种信号表示二进制数据位送到目的计算机,并通过目的计算机的物理层和数据链路层送到网络层,为网络层提供了一条可靠可靠的数据链路
2、提供服务(通过有无连接,有无确认区分):无确认无连接服务例如:局域网1)共享信道无需连接2)传输出错或丢失由上层恢复3)信道比较好,数据传输的误码率比较低无确认并非不可靠,其可靠性由上层负责有确认无连接:使用前不建立连接,但每帧传输必须得到确认适合信号传播时延比较大,线路状态不一定很可靠的情况例如:无线通信:建立连接降低了利用率(540ms);误码率相对高,需确认):用于不可靠的通道传输;有确认有连接(电话,大多数广域网的通信子网的DLL)数据链路层可靠传输保证直接相连的两台主机的可靠性传输1)将传输的数据组合成同一的格式:帧2)数据校验和反馈重发机制3)流量控制3.2 成帧(framing)
3、帧的组成必须保证能识别一个完整的帧,并保证一旦出现传输差错导致前一个帧丢失,也必须能识别下一个帧(错误发生之后重新同步)。成帧方法:字符计数法带字符填充的首尾字符定界法带位填充的首尾标记定界法物理层编码违例法3.2.1 字符计数法帧头中用一个字节来表示整个帧的字符个数若计数出错,对本帧和后面的帧有影响。(错误没有办法恢复)3.2.2 带字符填充的首尾字符定界法比如以ASCII字符DLE和STX作为帧的头部,DLE和ETX作为帧的尾部(DLE=10H,STX=02H,ETX=03H)(DLE:data link escape表转义字符,STX:start of text,ETX:end of t
4、ext)技术:如何避免字符数据可能与帧的头尾标志相同?发送方在数据中遇到DLE时,自动在其前后插入一个DLE 接收方在数据中遇到单个DLE时,可确定帧界,遇到2个 DLE时,自动删除一个DLE3.2.2 带字符填充的首尾字符定界法用途:帧同步用于面向字符型协议,比如PPP,IBM的二进制同步通信协议BSC不足:依靠字节模式,但不是所有的字符编码都是采用8位模式,unicode采用16位编码,如何允许任意长度的字符编码的帧同步技术呢?3.2.3 带位填充的首尾字符定界法帧的起始和结束都用一个特殊的位串“01111110”,称为标记(flag)如果由于干扰,一个帧标志没有正确接收,则继续扫描接收串
5、,一旦扫描到,表示新的一帧的开始,具有再同步能力“0”比特插入删除技术(透明传输):发送方5个“1”后插入“0”,接收方删除第5个“1”后的“0”3.2.4 物理层编码违例法Manchester encoding or Differential Manchester encoding 用high-low pair/low-high pair 表示1/0,high-high/low-low不表示数据,可以用来做定界符。令牌环网中使用编码违例格式3.3 差错产生与差错控制方法3.3.1 为什么要设计数据链路层在原始物理传输线路上传输数据信号是有差错的;设计数据链路层的主要目的:将有差错的物理线路改
6、进成无差错的数据链路;方法 差错检测 差错控制(重发和编序号)流量控制(滑动窗口协议)作用:改善数据传输质量,向网络层提供高质量的服务。差错产生的原因和差错类型传输差错 通过通信信道后接收的数据与发送数据 不一致的现象;差错控制 检查是否出现差错以及如何纠正差错;通信信道的噪声分为两类:热噪声热噪声(传输介质导体的电子热运动形成)和冲击噪声冲击噪声(外界电磁干扰形成);由热噪声引起的差错是随机差错随机差错,或随机错,一般出错数据位不相邻;冲击噪声引起的差错是突发差错突发差错,或突发错,一般会引起相邻多个数据位出错;引起突发差错的位长称为突发长度;在通信过程中产生的传输差错,是由随机差错与突发差
7、错共同构成的。差错评价指标及差错控制方法评价指标:误码率:错传的码元数与所传输码元总数之比误比特率:错传的比特数与所传输总比特数之比。在二进制码元时,误比特流误码率差错控制基本方式:反馈纠错:在接收端能发现差错,但不能确定错码的位置,通过反馈信息请求发送端重发,直到接收端肯定确认为止。适合双工通信和非实时通信系统前向纠错:在接收端不但能发现错码,还能确定错码位置,并纠正错码。适合单工通信和实时通信系统混合纠错:少量差错在接收端自动纠正,超出自纠正能力,通过反馈请求重发误码控制基本原理为了能判断传送的信息数据是否有误,在传送时增加必要的附加判断数据,在不发生误码的情况之下,附加判断数据是完全多余
8、的,但如果发生误码,即可利用信息数据与附加数据之间的特定关系来实现检错和纠错为了使数据码有一定的检错和纠错能力,应当按一定的规则在数据码的基础上增加一些冗余码码字的检错与纠错能力码字(n位)数据码(m位)冗余码(r位)海明距离:两个码字之间对应码元位的不同码元的个数。比如:与,有3位不同,海明距离3码字编码的海明距离码字编码的海明距离:对于一种码字编码,在这个码字集合中,可得到所有任意两个码字的海明距离,其中最小的海明距离称为该码字编码的海明距离d检错编码和纠错编码使用3位二进制来对8个码字进行编码不能检测出错使用4位二进制来对8个码字进行编码能检测奇数位出错,但不能纠错海明距离(码距)为海明
9、距离(码距)为3 3及以上,才能够进行纠错及以上,才能够进行纠错码距与纠错检错位的关系一般情况下,冗余位越多,检错纠错能力越强,但相应编码效率也随之降低了L-1=C+D L为码距,D为可以检测出的错误位数,C为可以纠正的错误位数,并且有DC。常用检错码和纠错码检错码:校验和奇偶校验码循环冗余编码CRC目前应用最广的检错码编码方法之一纠错码:海明码3.3.1 校验和算法简单,容易实现,但检错率不高将发送的数据看成是二进制整数序列,并划分成一段段规定的长度(8bbit,16bit,32bit)计算他们的和,若校验和大于规定的长度,则将进位加到最后的校验和中。将校验和和数据一起发送。在接收端,重新计
10、算校验和与原校验和比较。比如传输“HELLO WORLD.”以16bit为例4865H+6C6CH+6F20H+776FH+726CH+642EH+进位71FCH3.3.2 奇偶检验通过增加冗余位使得码字中“1”的个数恒为奇数或偶数的编码方法.例:发送端发送ASCII码,在传输的过程中由于干扰,接收端接收的是。那么系统能不能知道出现出错了呢?如果发送端发送的是ASCII码数据奇校验位,即,那么接收端接收的是,那么系统能不能知道出错了呢?若接收到的数据是,那么系统如何判断?3.3.3 循环冗余码CRC码特点:实现容易,检错能力强,广泛使用。常结合反馈重发法来保证信息的可靠传输。码字组成:编码和解
11、码的计算采用二进制比特序列多项式二进制比特序列多项式例:若数据码110011,可以表示为:M(X)=X5+X4+X+1生成多项式G(X):G(X)被通信双方事先共同选定使用:发送端:通过G(X)生成校验码接收端:通过G(X)校验接收的码字 对于多项式的运算:采用模2计算(加法不进,减法不借位);加减法是一样的模2计算即是异或运算发送端:1、生成校验码R(X):把要发送的数据码去除G(X),所得的余数值T(X)就是循环冗余码2、发送 :实际上,把CRC校验码R(X)附加到数据码M(X)的后面,然后发送传输接收端:CRC举例数据码M(X)=110011,利用生成多项式G(X)=X4+X3+1,求C
12、RC校验码为多少?流行的生成多项式有: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检测能力:所有单个错、奇数个错和离散的二位错 所有长度r位的突发差错CRC实现:硬件:采用多段移位寄存器或异或门组成CRC校验电路来实现软件:通过快速的CRC检验软件来实现3.4 差错控制和流量控制数据链路协议主要考虑的问题:1、避免所传送的数据可能出现差错和丢失2、使发方发
13、送数据的速率适应收方的接收能力理想化的数据传输假设1:所传送的数据既不会出现差错和也不会丢失(不考虑差错控制问题)假设2:接收端的数据接收速率足够快,有能力接收发送端的数据发送率(不考虑流量控制问题)在理想化的条件下,数据链路层不需要:1、差错控制协议2、流量控制协议 就可保证数据的正确传输3.4.1 最简单流量控制的停止等待协议保留假设1,去掉假设2。考虑流量控制问题流量控制协议使发送端发送数据的速率适应接收端的接收能力最简单流量控制协议(发送方和接收方各有一个帧的缓冲空间)发送节点:1、从数据链路层的发送缓存中取一个数据帧2、发送这个数据帧3、等待4、若收到由接收端的应答信息,转1接收节点
14、:1、等待2、接收由发送端发来的数据帧3、将其存入数据链路层的接收缓存4、发送应答信息,表示数据帧已接收,转到13.4.2实用的停止等待协议ARQ去掉假设1,去掉假设2考虑差错控制问题差错控制协议考虑流量控制问题流量控制协议初步协议:1、发送端发送数据帧后,等待接收端的应答帧2、接收端收到数据帧后,通过CRC校验,如果无差错,回送一个确认帧ACK,否则,回送一个否认帧NAK3、发送端收到应答帧,如果是ACK,发送下一数据帧,如果是NAK,重发数据帧 协议有什么缺陷呢?协议有什么缺陷呢?死锁现象缺陷1:数据帧丢失当出现帧丢失时,发送端永远等待下去,如何解决?解决方法:发送端设立一个超时计时器,发
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机网络技术 课件
限制150内