计算机网络技术第3章课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《计算机网络技术第3章课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机网络技术 课件
- 资源描述:
-
1、第3章 数据链路层第1页,共56页。导入导入qPPP协议是目前协议是目前Internet上使用最为上使用最为广泛的点对点数据链广泛的点对点数据链路层协议。路层协议。q什么是数据链路层?其什么是数据链路层?其功能是什么?它包括哪功能是什么?它包括哪些设计要点和关键技术?些设计要点和关键技术?数据链路层协议包含哪数据链路层协议包含哪些基本类型和具体实现些基本类型和具体实现方法?方法?第2页,共56页。主要内容主要内容n3.1 数据链路层的基本概念数据链路层的基本概念n3.2 差错控制编码技术差错控制编码技术n3.3 数据链路层协议数据链路层协议n3.4 数据链路层协议示例数据链路层协议示例第3页,
2、共56页。3.1 数据链路层的基本概念数据链路层的基本概念n3.1.1 链路和数据链路链路和数据链路n3.1.2 数据链路层为网络层提供的服务数据链路层为网络层提供的服务n3.1.3 数据链路层设计要点数据链路层设计要点n数据链路层属于计算机网络的低层,数据链路层的主要功能是在不可数据链路层属于计算机网络的低层,数据链路层的主要功能是在不可靠的物理线路上实现数据的可靠传输,即数据链路层提供网络中相邻节靠的物理线路上实现数据的可靠传输,即数据链路层提供网络中相邻节点之间的可靠的数据通信。点之间的可靠的数据通信。n数据链路层按使用信道类型的不同可以分为点对点信道的数据链路层和广播信数据链路层按使用
3、信道类型的不同可以分为点对点信道的数据链路层和广播信道的数据链路层两种。本章主要介绍前者。道的数据链路层两种。本章主要介绍前者。第4页,共56页。3.1.1 链路和数据链路链路和数据链路n链路,又叫物理链路,是一条无源的点到点的物理线路,中间没有任何交换节点。链路,又叫物理链路,是一条无源的点到点的物理线路,中间没有任何交换节点。n物理链路加上必要的通信协议物理链路加上必要的通信协议(规程规程),或者说把实现通信协议(规程)的硬,或者说把实现通信协议(规程)的硬件或软件加在链路上,就构成了数据链路,也称逻辑链路。件或软件加在链路上,就构成了数据链路,也称逻辑链路。第5页,共56页。3.1.2
4、数据链路层为网络层提供的服务数据链路层为网络层提供的服务n设立数据链路层的主要目的设立数据链路层的主要目的q将原始的、不可靠的物理将原始的、不可靠的物理线路变为对网络层无差错线路变为对网络层无差错的数据链路。为了实现这的数据链路。为了实现这个目的,数据链路层必须个目的,数据链路层必须实现链路管理、成帧与透实现链路管理、成帧与透明传输、流量控制、差错明传输、流量控制、差错控制等功能。控制等功能。q数据链路层必须实现链路管理、数据链路层必须实现链路管理、成帧与透明传输、流量控制、成帧与透明传输、流量控制、差错控制等功能。差错控制等功能。n数据链路层为网络层提供的服务数据链路层为网络层提供的服务中最
5、主要的是中最主要的是q将数据从源主机的网络层将数据从源主机的网络层传输到目的主机的网络层。传输到目的主机的网络层。第6页,共56页。数据链路层提供以下数据链路层提供以下3种可能服务种可能服务 n1.无确认的无连接服务无确认的无连接服务q当线路通信质量高当线路通信质量高(错误率很低错误率很低)时,或在实时通信中,此类服务是很时,或在实时通信中,此类服务是很合适的。合适的。q目前,绝大多数局域网中均采用此项服务。目前,绝大多数局域网中均采用此项服务。n2.有确认的无连接服务有确认的无连接服务q数据链路层上提供确认只是一种优化,而永远不应该是一种要数据链路层上提供确认只是一种优化,而永远不应该是一种
6、要求。此类服务用在不可靠的无线信道上是非常适合的。求。此类服务用在不可靠的无线信道上是非常适合的。n3.有确认的面向连接服务有确认的面向连接服务q数据链路层的面向连接的服务为网络层提供了可靠的数据传输服数据链路层的面向连接的服务为网络层提供了可靠的数据传输服务。务。q面向连接的服务的数据传输要经过面向连接的服务的数据传输要经过3个不同的阶段:建立连接、数个不同的阶段:建立连接、数据传输和释放连接。据传输和释放连接。第7页,共56页。3.1.3 数据链路层设计要点数据链路层设计要点n组帧与帧同步组帧与帧同步n透明传输透明传输n流量控制流量控制n差错控制差错控制n寻址寻址 第8页,共56页。组帧与
7、帧同步组帧与帧同步n在数据链路层,数据传送的基本单位是帧在数据链路层,数据传送的基本单位是帧。q组帧主要是便于进行错误检测和纠正,在某些情况组帧主要是便于进行错误检测和纠正,在某些情况下可提高传输效率。下可提高传输效率。n帧同步是指接收端应当能从收到的比特流中准帧同步是指接收端应当能从收到的比特流中准确地区分出一帧的开始和结束的位置。确地区分出一帧的开始和结束的位置。q网络传输中很难保证计时的正确和一致(很难保证网络传输中很难保证计时的正确和一致(很难保证收发双方的时钟能精确一致),所以采用依靠时间收发双方的时钟能精确一致),所以采用依靠时间或时间间隔关系来标识一帧的开始和结束位置的方或时间间
8、隔关系来标识一帧的开始和结束位置的方法显然是不可行的。法显然是不可行的。第9页,共56页。常用的有常用的有4种帧同步方法种帧同步方法 n字节计数法字节计数法n n字符填充首尾定界法字符填充首尾定界法n n比特填充首尾定界法比特填充首尾定界法 n物理层违例编码法物理层违例编码法 第10页,共56页。透明传输透明传输n透明传输就是不透明传输就是不管所传数据是什管所传数据是什么样的比特组合么样的比特组合(字符型数据或(字符型数据或二进制数据),二进制数据),都应当能够在链都应当能够在链路上安全可靠地路上安全可靠地传输。传输。非透明传输举例 字节填充法解决透明传输问题的示例比特填充法解决透明传输的问题
9、示例第11页,共56页。流量控制流量控制n流量控制实际上是对发送方数据流量的控制,流量控制实际上是对发送方数据流量的控制,使其发送速率不至于超过接收端的处理能力。使其发送速率不至于超过接收端的处理能力。q当接收端来不及接收时,就必须及时控制发送端发当接收端来不及接收时,就必须及时控制发送端发送数据的速率,以使收发双方达到匹配。送数据的速率,以使收发双方达到匹配。n流量控制常用的方法有两种。流量控制常用的方法有两种。q基于反馈的流量控制(基于反馈的流量控制(Feedback-Based Flow Control)q基于速率的流量控制(基于速率的流量控制(Rate-Based Flow Contr
10、ol)流量控制并不是数据链路层特有的功能,许多高层协议也提供流量控制功能,只不过流量流量控制并不是数据链路层特有的功能,许多高层协议也提供流量控制功能,只不过流量控制的对象不同而已。控制的对象不同而已。对于数据链路层来说,控制的是相邻两节点之间数据链路上的流量,而对于运输层来说,对于数据链路层来说,控制的是相邻两节点之间数据链路上的流量,而对于运输层来说,控制的则是从源主机到目的主机之间端对端的流量。控制的则是从源主机到目的主机之间端对端的流量。第12页,共56页。差错控制差错控制n前向纠错(前向纠错(Forward Error Correction,FEC)n即接收方收到有差错的数据帧时能自
11、动将差错改正过来。即接收方收到有差错的数据帧时能自动将差错改正过来。n这种方法的开销较大,不适合于计算机网络通信。这种方法的开销较大,不适合于计算机网络通信。n自动请求重发自动请求重发(Automatic Repeat reQuest,ARQ)n即接收方如果检测出收到的帧中有差错,就让发送方重复发送这即接收方如果检测出收到的帧中有差错,就让发送方重复发送这一帧,直到接收方正确收到这一帧为止。一帧,直到接收方正确收到这一帧为止。n这种方法在计算机网络通信中是最常用的。这种方法在计算机网络通信中是最常用的。n传输差错可分为两大类:一类是比特差错;而另一类就是出传输差错可分为两大类:一类是比特差错;
12、而另一类就是出现了帧丢失、帧重复或帧失序。现了帧丢失、帧重复或帧失序。q要解决这两类传输差错问题,从而实现数据链路层的可靠传输,必须在差要解决这两类传输差错问题,从而实现数据链路层的可靠传输,必须在差错检测技术的基础上,增加定时器、帧编号、确认和重传机制。错检测技术的基础上,增加定时器、帧编号、确认和重传机制。q目前因特网上广泛使用的数据链路层协议已不再使用确认和重传机制了,目前因特网上广泛使用的数据链路层协议已不再使用确认和重传机制了,即不提供向上的可靠传输服务了。即不提供向上的可靠传输服务了。第13页,共56页。寻址寻址 n必须保证每一帧都能送到正确的目的站,接收必须保证每一帧都能送到正确
13、的目的站,接收方也应知道发送方是哪个站。方也应知道发送方是哪个站。第14页,共56页。3.2 差错控制编码技术差错控制编码技术n3.2.1 奇偶校验码奇偶校验码n3.2.2 循环冗余校验码循环冗余校验码n3.2.3 海明码海明码纠错码(纠错码(Error-Correcting Code)和检错码()和检错码(Error-Detecting Code)是实现差)是实现差错检测和纠正的两种不同的差错控制编码技术。错检测和纠正的两种不同的差错控制编码技术。纠错码(纠错码(Error-Correcting Code)和检错码各有优缺点。)和检错码各有优缺点。比较常见的检错码主要有奇偶校验码和循环冗余校
14、验码,常见的纠错比较常见的检错码主要有奇偶校验码和循环冗余校验码,常见的纠错码主要有海明码、正反码等。码主要有海明码、正反码等。第15页,共56页。3.2.1 奇偶校验码奇偶校验码n奇偶校验码奇偶校验码q是通过增加冗余位来使得码字中是通过增加冗余位来使得码字中“1”的个数为奇数(奇校验)或偶数(偶的个数为奇数(奇校验)或偶数(偶校验)的编码方法。校验)的编码方法。q奇偶校验码可分为垂直、水平、水平垂直奇偶校验等几种方式奇偶校验码可分为垂直、水平、水平垂直奇偶校验等几种方式 垂直偶校验 水平偶校验 水平垂直偶校验 第16页,共56页。3.2.2 循环冗余校验码循环冗余校验码(Cyclic Red
15、undancy Check,CRC)nCRC又叫多项式编码(又叫多项式编码(polynomial code)q基本思想是:将比特串看成是系数为基本思想是:将比特串看成是系数为0或或1的多项式。一个的多项式。一个k比特构成比特构成的帧看作是一个的帧看作是一个k-1次多项式系数列表,该多项式共有次多项式系数列表,该多项式共有k项,从项,从xk-1到到x0,这个多项式的最高阶为,这个多项式的最高阶为k-1。n如比特串如比特串110011共有共有6位,对应一个共有位,对应一个共有6项的多项式,其系数分别为项的多项式,其系数分别为1、1、0、0、1和和1,即,即x5+x4+x+1(1*x5+1*x4+0
16、*x3+0*x2+1*x1+1*x0)。)。q多项式的算术运算采用模多项式的算术运算采用模2运算法则。按照它的运算法则,加法不运算法则。按照它的运算法则,加法不进位,减法不借位,加法和减法两者都与异或运算相同,因而计进位,减法不借位,加法和减法两者都与异或运算相同,因而计算结果相同。算结果相同。qCRC具有较强的检错能力,可以检测出所有的奇数位错、双比具有较强的检错能力,可以检测出所有的奇数位错、双比特错、小于等于校验和长度的突发错。特错、小于等于校验和长度的突发错。第17页,共56页。CRC进行编码和校验的原理进行编码和校验的原理 n(1)发送方和接收方事先约定一个生成多项式发送方和接收方事
17、先约定一个生成多项式G(x),生成多项式的最高位和最低位,生成多项式的最高位和最低位必须是必须是1。n(2)发送端根据生成多项式发送端根据生成多项式G(x)去计算要附加在信息帧尾部的冗余位(校验和,去计算要附加在信息帧尾部的冗余位(校验和,Checksum)。计算校验和的算法如下。)。计算校验和的算法如下。q 假设信息帧的比特数为假设信息帧的比特数为k位,对应的多项式为位,对应的多项式为K(x),G(x)为为r阶。在信息帧的低阶。在信息帧的低位端加上位端加上r个个0,此时信息帧的比特数变为,此时信息帧的比特数变为k+r位,对应的多项式为位,对应的多项式为xrK(x)。q 按模按模2除法,用对应
18、于除法,用对应于G(x)的比特串去除对应于的比特串去除对应于xrK(x)的比特串,从而的比特串,从而得到一个小于等于得到一个小于等于r位的余数。这个余数便可作为校验和。位的余数。这个余数便可作为校验和。n(3)将校验和附加在将校验和附加在k位信息帧尾部,组成一个新的帧,由发送端发送给接收端。位信息帧尾部,组成一个新的帧,由发送端发送给接收端。假设这个新的帧对应的多项式为假设这个新的帧对应的多项式为T(x),其显然能被,其显然能被G(x)除尽。因为这个新的帧的除尽。因为这个新的帧的多项式多项式T(x)所对应的比特串可以看作是由多项式所对应的比特串可以看作是由多项式xrK(x)对应的比特串减去余数
19、而对应的比特串减去余数而得到的。得到的。n(4)当接收方收到带有校验和的帧时,用当接收方收到带有校验和的帧时,用G(x)去除它,如果余数不为去除它,如果余数不为0,则说明传输过程中出现了错误;如果余数为则说明传输过程中出现了错误;如果余数为0,则认为传输无差错。,则认为传输无差错。第18页,共56页。发送端生成带校验和的发送端生成带校验和的CRC帧的过程举例帧的过程举例n信息帧信息帧q1101011011n生成多项式生成多项式qx4+x+1第19页,共56页。3.2.3 海明码海明码n海明码是由海明码是由R.Hamming在在1950年首次提出的,年首次提出的,是一种可以纠正一比特错的编码。是
20、一种可以纠正一比特错的编码。n简单的奇偶校验中的一个重要的结论简单的奇偶校验中的一个重要的结论 q信息位为信息位为k=n-1位位an-1an-2a1,加上一个偶校验位,加上一个偶校验位a0,构成一个,构成一个n位的码字位的码字an-1an-2a1a0。在接收端。在接收端校验时,可按关系式:校验时,可按关系式:S0=an-1+an-2+a1+a0(模(模2运算)来计算,若运算)来计算,若S0=0,则认为无错;若,则认为无错;若S0=1,则肯定有错。上面关系式称为监督关系式,则肯定有错。上面关系式称为监督关系式,S0称为称为校正因子。校正因子。第20页,共56页。海明码原理推导海明码原理推导n对上
21、面结论的分析对上面结论的分析q在上面偶校验情况下,只有一个监督关系式,一个校正因子,其取值在上面偶校验情况下,只有一个监督关系式,一个校正因子,其取值只有只有0或或1两种可能,分别代表了无错和有错两种情况,但却不能指出两种可能,分别代表了无错和有错两种情况,但却不能指出差错所在的位置。不难设想,如果增加冗余位,让每个冗余位分别与差错所在的位置。不难设想,如果增加冗余位,让每个冗余位分别与信息中的某些位构成一个偶校验关系,则就会相应地增加监督关系式信息中的某些位构成一个偶校验关系,则就会相应地增加监督关系式和校正因子,就能区分更多的情况。和校正因子,就能区分更多的情况。q不难推出,信息位为不难推
22、出,信息位为k位,增加位,增加r位冗余位,构成位冗余位,构成n=k+r位码字。位码字。若希望用若希望用r个监督关系式产生的个监督关系式产生的r个校正因子来区分无错和在码个校正因子来区分无错和在码字中的字中的n个不同位置的个不同位置的1位错,则要求:位错,则要求:2rn+1或或2rk+r+1第21页,共56页。k=4时,海明码产生基本原理示例时,海明码产生基本原理示例 n构造构造S2S1S0取值与错码位置的对应关系取值与错码位置的对应关系 也可以规定成另外的对应关系,这并不影响讨论的一般性 n根据上表推出监督关系式 n令校正因子都等于零,代入已知信息位,计算出冗余位第22页,共56页。K=4时由
23、信息位算得的冗余位时由信息位算得的冗余位 n基于上面构造的海明码,可得到各种信息位与基于上面构造的海明码,可得到各种信息位与冗余位的对应关系冗余位的对应关系 第23页,共56页。海明码纠正突发性错误海明码纠正突发性错误 n海明码只能纠正海明码只能纠正1位错,为了纠正在传输过程位错,为了纠正在传输过程中出现的突发性错误,可以采用如下的技巧或中出现的突发性错误,可以采用如下的技巧或方法。将方法。将k个连续的码字排成一个矩阵,每行个连续的码字排成一个矩阵,每行一个码字,传输数据时每次发送一列,从左边一个码字,传输数据时每次发送一列,从左边的列开始,如图所示。的列开始,如图所示。第24页,共56页。海
24、明码生成方案海明码生成方案n海明码是一种可以纠正一位差错的编码。它是利用在信海明码是一种可以纠正一位差错的编码。它是利用在信息位为息位为k位,增加位,增加r个冗余位,构成一个个冗余位,构成一个n=k+r位的码字,位的码字,然后用然后用r个监督关系式产生的个监督关系式产生的r个校正因子来区分无错和个校正因子来区分无错和在码字中的在码字中的n个不同位置的个不同位置的1位错。它必须满足位错。它必须满足 2rn+1或或2rk+r+1n海明码的生成方案主要有两种,二者的主要区别是对冗余位在海明码的生成方案主要有两种,二者的主要区别是对冗余位在生成后的码字中的位置处理方式不一样。生成后的码字中的位置处理方
25、式不一样。q前面已经介绍了第一种方案,它是将前面已经介绍了第一种方案,它是将r个冗余位顺序放在个冗余位顺序放在k个信息位的后面,个信息位的后面,q另一种方案叫顺序生成法,是将另一种方案叫顺序生成法,是将r个冗余位分别放在个冗余位分别放在k+r位的码字位的码字中位置(按位从右往左数)为中位置(按位从右往左数)为20到到2r-1的那些位上,其余的用信息的那些位上,其余的用信息位来填充。位来填充。第25页,共56页。海明码的生成与接收过程海明码的生成与接收过程n(1)假设信息位为假设信息位为k位,将位,将k的值代入公式(的值代入公式(2rk+r+1)计算出冗余位的个)计算出冗余位的个数数r的取值范围
展开阅读全文