1、潍坊学院 计算机与通信工程学院第五讲 数据链路层2本讲主要内容n数据链路层的设计问题n差错控制技术-循环冗余检验n流量控制技术-停等协议 连续ARQ协议n举例:点对点协议34.1数据链路层的设计问题44.1.1几个主要概念n链路(link):是一条无源的点到点的物理线路段,中间没有任何其他的交换结点。一条链路只是一条通路的组成部分。n数据链路(data link):当需要在一条线路上传送数据时,除了必须有一条物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。5数据链路层像个数字管道 n常常在两个对等的数据链路层之间画出一个数字管道,而在
2、这条数字管道上传输的数据单位是帧。n早期的数据通信协议曾叫作通信规程(procedure)。因此在数据链路层,规程和协议是同义语。结点结点帧帧6数据链路层的目的n数据链路层在网络实体间提供建立、维持和释放数据链路连接以及传输数据链路服务数据单元所需的功能和过程的手段,在物理连接上建立数据链路连接。n数据链路层检测和校正在物理层出现的错误,并能使网络层控制物理层中的数据电路的互联。7数据链路层的主要功能 n链路管理n帧定界n流量控制n差错控制n将数据和控制信息区分开n透明传输n寻址84.2差错控制技术n在数据通信过程中,由于衰耗、失真和噪声会使通信线路上的信号发生错误。为了减少错误,提高通信质量
3、,一是改善传输信道的电气特性,更重要的是采取检错、纠错技术,即差错控制。n差错控制的核心是抗干扰编码,一类是检错码、另一类是纠错码。n在计算机通信中广泛应用的差错控制检错码是循环冗余校验码(CRC)。9循环冗余检验的原理 n在数据链路层传送的帧中,广泛使用了循环冗余检验 CRC(cyclic redundancy check)的检错技术。n几个关键量:n待传数据(k位)n冗余码(帧检测序列 FCS-Frame Check Sequence)(n位)n除数(n+1位)n最终发送数据:2nM+R10冗余码的计算 n用二进制的模 2 运算进行 2n 乘 M 的运算,这相当于在 M 后面添加 n 个
4、0。n得到的(k+n)bit 的数除以事先选定好的长度为(n+1)bit 的数 P,得出商是 Q 而余数是 R,余数 R 比除数 P 至少要少1 个比特。n假设待传送的数据。我们在M的后面再添加供差错检测用的 n bit 冗余码一起发送。11冗余码的计算举例 nM=1010001101(共k bit)n设 n=5,P=110101,模 2 运算的结果是:商 Q=1101010110,余数 R=01110。n将余数 R 作为冗余码添加在数据 M 的后面发送出去,即发送的数据是101000110101110,或 2nM+R。12 1101010110 Q 商 除数 P 110101 1010001
5、10100000 2nM 被除数 110101 111011 110101 111010 110101 111110 110101 101100 110101 110010 110101 01110 R 余数循环冗余检验的原理说明 13检测出差错 n只要得出的余数 R 不为 0,就表示检测到了差错。n但这种检测方法并不能确定究竟是哪一个或哪几个比特出现了差错。n一旦检测出差错,就丢弃这个出现差错的帧。n只要经过严格的挑选,并使用位数足够多的除数 P,那么出现检测不到的差错的概率就很小很小。14应当注意 n仅用循环冗余检验 CRC 差错检测技术只能做到无差错接受(accept)。n“无差错接受”
6、是指:“凡是接受的帧(即不包括丢弃的帧),我们都能以非常接近于 1 的概率认为这些帧在传输过程中没有产生差错”。n也就是说:“凡是接受的帧都没有传输差错”(有差错的帧就丢弃而不接受)。n要做到“可靠传输”(即发送什么就收到什么)就必须再加上确认和重传机制。154.3 流量控制技术n流量控制就是为了确保发送端发送的数据不会超出接收端接收数据能力的一种技术。如不设法解决发送端传送速率高于接收端处理速度,那么即使传送无差错也可能引起帧的丢失。n两种控制方法n停等协议n连续ARQ协议161.停等协议n停止等待流量控制是在停等协议中规定的。n停等协议算法:n发送方每发送一帧后就等待一个应答帧,只有当收到
7、确认应答信号后,才发送下一帧;n如果收到否定确认应答帧,则重发该帧;n如果在规定的时间内还没有收到应答帧,则超时重发该帧。n这种发送和等待的过程不断重复。直到发送端发送一个结束帧(EOT)为止。17停等协议的特点n优点:简单,在发送下一帧以前,每一个帧都校验并进行应答。n缺点:效率低ABDATA送主机 BDATA送主机 B18正常情况时间ABDATA0送主机ACKDATA1送主机ACK(a)正常情况n发送的数据在有效时间内到达接收端,并正常收到接收端发回的确认帧。19数据帧出错n出错时返回NAKn正常时返回ACKABDATA0NAKDATA0送主机ACK(b)数据帧出错重传出错20数据帧丢失n
8、结点A发送完一个数据帧时,就启动一个超时计时器(timeout timer)。n计时器又称为定时器。n若到了超时计时器所设置的重传时间 tout而仍收不到结点 B 的任何确认帧,则结点 A 就重传前面所发送的这一数据帧。n一般可将重传时间选为略大于“从发完数据帧到收到确认帧所需的平均时间”。ABDATA0DATA0送主机ACK(c)数据帧丢失重传tout丢失!21确认帧丢失n若到了超时计时器所设置的重传时间 tout而仍收不到结点 B 的任何确认帧,则结点 A同样 重传前面所发送的这一数据帧。n但B就会收到两个同样的帧,称为重复帧。ABDATA0送主机ACKDATA0丢弃ACK(d)确认帧丢失
9、重传tout丢失!222.连续 ARQ 协议n连续ARQ(Automatic Repeat Request)协议改善了停等协议效率低的问题。n在发送完一个数据帧后,不是停下来等待确认帧,而是可以连续再发送若干个数据帧。n如果这时收到了接收端发来的确认帧,那么还可以接着发送数据帧。n由于减少了等待时间,整个通信的吞吐量就提高了。23连续 ARQ 协议的工作原理 DATA0DATA1DATA2DATA3DATA4DATA5重传 DATA2重传 DATA3ACK1ACK2ACK1 确认 DATA0ACK2 确认 DATA1DATA2 出错,丢弃DATA3 不按序,丢弃,重传 ACK2DATA4 不按
10、序,丢弃,重传 ACK2DATA5 不按序,丢弃,重传 ACK2ACK3ACK3 确认 DATA2ACK4 确认 DATA3ACK4重传 DATA5重传 DATA4超时重传时间ABtout送交主机送交主机?ACK2ACK2ACK2244.4 点对点(PPP)协议 4.4.1PPP协议的作用nPPP协议的作用是在两个节点设备的数据链路层实体之间传送网络层协议数据单元PDU(例如IP数据报)。n这两个节点设备之间必须没有其他的中间设备。我们常见的PPP应用场合是调制解调器通过拨号或专线方式将用户计算机接入ISP网络,即用户计算机与ISP服务器连接。n另一个PPP应用领域是局域网之间的互联。25PP
11、P的作用如图所示264.4.2 PPP协议的组成部分n封装规范:由于PPP协议面向多种网络层协议,PPP定义了封装了多种网络层PDU的规范。n网络控制协议:制定了一组用于建立、配置不同网络层协议的网络控制协议(Network Control Protocol,NCP)。典型的NCP包括IP协议的控制协议IPCP、IPX协议的控制协议IPXCP。n链路控制协议:由于PPP要在多种接入网(PSTN/ISDN/ADSL/DDN)数据链路上运行,因此,制定了用于建立、配置测试和撤销数据链路连接的链路控制协议(Link Control Protocol,LCP)。27PPP的子协议及其在协议栈中的位置如图所示284.4.3 PPP帧结构nPPP的PDU称为PPP帧。PPP帧结构如图所示。29协议字段的含义协议字段值协议0021HIPC021HLCPC023HPAP18021HIPCP30小结n数据链路层的几个概念n链路 数据链路 帧 通信规程n循环冗余检验CRCn使用方法 算法n停等协议 连续ARQ协议n算法 优点 缺点n点对点(PPP)协议n作用 应用场合 组成