《计算机网络技术第3章.ppt》由会员分享,可在线阅读,更多相关《计算机网络技术第3章.ppt(56页珍藏版)》请在第壹文秘上搜索。
1、第第3章章 数据链路层数据链路层导入导入qPPP协议是目前协议是目前Internet上使用最为上使用最为广泛的点对点数据链广泛的点对点数据链路层协议。路层协议。q什么是数据链路层?什么是数据链路层?其功能是什么?它包其功能是什么?它包括哪些设计要点和关括哪些设计要点和关键技术?数据链路层键技术?数据链路层协议包含哪些基本类协议包含哪些基本类型和具体实现方法?型和具体实现方法? 主要内容主要内容n3.1 数据链路层的基本概念数据链路层的基本概念n3.2 差错控制编码技术差错控制编码技术n3.3 数据链路层协议数据链路层协议n3.4 数据链路层协议示例数据链路层协议示例3.1 数据链路层的基本概念
2、数据链路层的基本概念n3.1.1 链路和数据链路链路和数据链路n3.1.2 数据链路层为网络层提供的服务数据链路层为网络层提供的服务n3.1.3 数据链路层设计要点数据链路层设计要点n数据链路层属于计算机网络的低层,数据链路层的主要功能是在不数据链路层属于计算机网络的低层,数据链路层的主要功能是在不可靠的物理线路上实现数据的可靠传输,即数据链路层提供网络中相可靠的物理线路上实现数据的可靠传输,即数据链路层提供网络中相邻节点之间的可靠的数据通信。邻节点之间的可靠的数据通信。n数据链路层按使用信道类型的不同可以分为点对点信道的数据链路数据链路层按使用信道类型的不同可以分为点对点信道的数据链路层和广
3、播信道的数据链路层两种。本章主要介绍前者。层和广播信道的数据链路层两种。本章主要介绍前者。 3.1.1 链路和数据链路链路和数据链路n链路,又叫物理链路,是一条无源的点到点的物理线路,中间没链路,又叫物理链路,是一条无源的点到点的物理线路,中间没有任何交换节点。有任何交换节点。 n物理链路加上必要的通信协议物理链路加上必要的通信协议(规程规程),或者说把实现通信协议(规,或者说把实现通信协议(规程)的硬件或软件加在链路上,就构成了数据链路,也称逻辑链程)的硬件或软件加在链路上,就构成了数据链路,也称逻辑链路。路。 3.1.2 数据链路层为网络层提供的服务数据链路层为网络层提供的服务n设立数据链
4、路层的主要目设立数据链路层的主要目的的q将原始的、不可靠的物理将原始的、不可靠的物理线路变为对网络层无差错线路变为对网络层无差错的数据链路。为了实现这的数据链路。为了实现这个目的,数据链路层必须个目的,数据链路层必须实现链路管理、成帧与透实现链路管理、成帧与透明传输、流量控制、差错明传输、流量控制、差错控制等功能。控制等功能。q数据链路层必须实现链路数据链路层必须实现链路管理、成帧与透明传输、管理、成帧与透明传输、流量控制、差错控制等功流量控制、差错控制等功能。能。 n数据链路层为网络层提供数据链路层为网络层提供的服务中最主要的是的服务中最主要的是q将数据从源主机的网络层将数据从源主机的网络层
5、传输到目的主机的网络层。传输到目的主机的网络层。 数据链路层提供以下数据链路层提供以下3种可能服务种可能服务 n1. 无确认的无连接服务无确认的无连接服务q当线路通信质量高当线路通信质量高(错误率很低错误率很低)时,或在实时通信中,此类时,或在实时通信中,此类服务是很合适的。服务是很合适的。q目前,绝大多数局域网中均采用此项服务。目前,绝大多数局域网中均采用此项服务。n2. 有确认的无连接服务有确认的无连接服务q数据链路层上提供确认只是一种优化,而永远不应该是一种数据链路层上提供确认只是一种优化,而永远不应该是一种要求。此类服务用在不可靠的无线信道上是非常适合的。要求。此类服务用在不可靠的无线
6、信道上是非常适合的。n3. 有确认的面向连接服务有确认的面向连接服务q数据链路层的面向连接的服务为网络层提供了可靠的数据传数据链路层的面向连接的服务为网络层提供了可靠的数据传输服务。输服务。q面向连接的服务的数据传输要经过面向连接的服务的数据传输要经过3个不同的阶段:建立连个不同的阶段:建立连接、数据传输和释放连接。接、数据传输和释放连接。 3.1.3 数据链路层设计要点数据链路层设计要点n组帧与帧同步组帧与帧同步n透明传输透明传输n流量控制流量控制n差错控制差错控制n寻址寻址 组帧与帧同步组帧与帧同步n在数据链路层,数据传送的基本单位是帧在数据链路层,数据传送的基本单位是帧 。q组帧主要是便
7、于进行错误检测和纠正,在某些情况组帧主要是便于进行错误检测和纠正,在某些情况下可提高传输效率。下可提高传输效率。 n帧同步是指接收端应当能从收到的比特流中准帧同步是指接收端应当能从收到的比特流中准确地区分出一帧的开始和结束的位置。确地区分出一帧的开始和结束的位置。q网络传输中很难保证计时的正确和一致(很难保证网络传输中很难保证计时的正确和一致(很难保证收发双方的时钟能精确一致),所以采用依靠时间收发双方的时钟能精确一致),所以采用依靠时间或时间间隔关系来标识一帧的开始和结束位置的方或时间间隔关系来标识一帧的开始和结束位置的方法显然是不可行的。法显然是不可行的。 常用的有常用的有4种帧同步方法种
8、帧同步方法 n字节计数法字节计数法n n字符填充首尾定界法字符填充首尾定界法n n比特填充首尾定界法比特填充首尾定界法 n物理层违例编码法物理层违例编码法 透明传输透明传输n透明传输就是不透明传输就是不管所传数据是什管所传数据是什么样的比特组合么样的比特组合(字符型数据或(字符型数据或二进制数据),二进制数据),都应当能够在链都应当能够在链路上安全可靠地路上安全可靠地传输。传输。 非透明传输举例 字节填充法解决透明传输问题的示例比特填充法解决透明传输的问题示例流量控制流量控制n流量控制实际上是对发送方数据流量的控制,流量控制实际上是对发送方数据流量的控制,使其发送速率不至于超过接收端的处理能力
9、。使其发送速率不至于超过接收端的处理能力。 q当接收端来不及接收时,就必须及时控制发送端发当接收端来不及接收时,就必须及时控制发送端发送数据的速率,以使收发双方达到匹配。送数据的速率,以使收发双方达到匹配。 n流量控制常用的方法有两种。流量控制常用的方法有两种。q基于反馈的流量控制(基于反馈的流量控制(Feedback-Based Flow Control) q基于速率的流量控制(基于速率的流量控制(Rate-Based Flow Control) 流量控制并不是数据链路层特有的功能,许多高层协议也提供流量控制流量控制并不是数据链路层特有的功能,许多高层协议也提供流量控制功能,只不过流量控制的
10、对象不同而已。功能,只不过流量控制的对象不同而已。对于数据链路层来说,控制的是相邻两节点之间数据链路上的流量,而对于数据链路层来说,控制的是相邻两节点之间数据链路上的流量,而对于运输层来说,控制的则是从源主机到目的主机之间端对端的流量。对于运输层来说,控制的则是从源主机到目的主机之间端对端的流量。差错控制差错控制n前向纠错(前向纠错(Forward Error Correction, FEC)n即接收方收到有差错的数据帧时能自动将差错改正过来。即接收方收到有差错的数据帧时能自动将差错改正过来。n这种方法的开销较大,不适合于计算机网络通信。这种方法的开销较大,不适合于计算机网络通信。 n自动请求
11、重发自动请求重发(Automatic Repeat reQuest, ARQ) n即接收方如果检测出收到的帧中有差错,就让发送方重复发送即接收方如果检测出收到的帧中有差错,就让发送方重复发送这一帧,直到接收方正确收到这一帧为止。这一帧,直到接收方正确收到这一帧为止。n这种方法在计算机网络通信中是最常用的。这种方法在计算机网络通信中是最常用的。 n传输差错可分为两大类:一类是比特差错;而另一类传输差错可分为两大类:一类是比特差错;而另一类就是出现了帧丢失、帧重复或帧失序。就是出现了帧丢失、帧重复或帧失序。 q要解决这两类传输差错问题,从而实现数据链路层的可靠传要解决这两类传输差错问题,从而实现数
12、据链路层的可靠传输,必须在差错检测技术的基础上,增加定时器、帧编号、输,必须在差错检测技术的基础上,增加定时器、帧编号、确认和重传机制。确认和重传机制。q目前因特网上广泛使用的数据链路层协议已不再使用确认和目前因特网上广泛使用的数据链路层协议已不再使用确认和重传机制了,即不提供向上的可靠传输服务了。重传机制了,即不提供向上的可靠传输服务了。 寻址寻址 n必须保证每一帧都能送到正确的目的站,接收必须保证每一帧都能送到正确的目的站,接收方也应知道发送方是哪个站。方也应知道发送方是哪个站。3.2 差错控制编码技术差错控制编码技术n3.2.1 奇偶校验码奇偶校验码n3.2.2 循环冗余校验码循环冗余校
13、验码n3.2.3 海明码海明码纠错码(纠错码(Error-Correcting Code)和检错码()和检错码(Error-Detecting Code)是实现差错检测和纠正的两种不同的差错控制编码技术。)是实现差错检测和纠正的两种不同的差错控制编码技术。纠错码(纠错码(Error-Correcting Code)和检错码各有优缺点。)和检错码各有优缺点。比较常见的检错码主要有奇偶校验码和循环冗余校验码,常见的纠比较常见的检错码主要有奇偶校验码和循环冗余校验码,常见的纠错码主要有海明码、正反码等。错码主要有海明码、正反码等。3.2.1 奇偶校验码奇偶校验码n奇偶校验码奇偶校验码q是通过增加冗余
14、位来使得码字中是通过增加冗余位来使得码字中“1”的个数为奇数(奇校验)的个数为奇数(奇校验)或偶数(偶校验)的编码方法。或偶数(偶校验)的编码方法。 q奇偶校验码可分为垂直、水平、水平垂直奇偶校验等几种方奇偶校验码可分为垂直、水平、水平垂直奇偶校验等几种方式式 垂直偶校验 水平偶校验 水平垂直偶校验 3.2.2 循环冗余校验码循环冗余校验码(Cyclic Redundancy Check, CRC) nCRC又叫多项式编码(又叫多项式编码(polynomial code)q基本思想是:将比特串看成是系数为基本思想是:将比特串看成是系数为0或或1的多项式。一个的多项式。一个k比特构成的帧看作是一
15、个比特构成的帧看作是一个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*x3+ 0*x2+ 1*x1+ 1*x0)。)。q多项式的算术运算采用模多项式的算术运算采用模2运算法则。按照它的运算法则,运算法则。按照它的运算法则,加法不进位,减法不借位,加法和减法两者都与异或运算相加法不进位,减法不借位
16、,加法和减法两者都与异或运算相同,因而计算结果相同。同,因而计算结果相同。qCRC具有较强的检错能力,可以检测出所有的奇数位错、双具有较强的检错能力,可以检测出所有的奇数位错、双比特错、小于等于校验和长度的突发错。比特错、小于等于校验和长度的突发错。 CRC进行编码和校验的原理进行编码和校验的原理 n(1) 发送方和接收方事先约定一个生成多项式发送方和接收方事先约定一个生成多项式G(x),生成多项式的,生成多项式的最高位和最低位必须是最高位和最低位必须是1。n(2) 发送端根据生成多项式发送端根据生成多项式G(x)去计算要附加在信息帧尾部的冗余去计算要附加在信息帧尾部的冗余位(校验和,位(校验和,Checksum)。计算校验和的算法如下。)。计算校验和的算法如下。q 假设信息帧的比特数为假设信息帧的比特数为k位,对应的多项式为位,对应的多项式为K(x),G(x)为为r阶。阶。在信息帧的低位端加上在信息帧的低位端加上r个个0,此时信息帧的比特数变为,此时信息帧的比特数变为k+r位,对位,对应的多项式为应的多项式为xrK(x)。q 按模按模2除法,用对应于除法,用对应于G(x)的比特串去除