数字通信与计算机网络技术基础 数据通信与计算机网络 华北航天工业学院 庄连英 制作
第4章 数据链路层 本章学习目标 链路、数据链路的概念,数据链路层的功能 停止等待协议的工作原理与过程 数据链路层是如何进行差错控制的 第4章 数据链路层 本章学习目标 链路、数据链路的概念,数据链路层的功能 停止等待协议的工作原理与过程 数据链路层是如何进行差错控制的 数据链路层流量控制的意义与方法 面向比特数据链路层协议HDLC的帧结构与帧分类 PPP链路协议的工作过程
4.1 数据链路层概述 链路与数据链路
4.1 数据链路层概述 帧与报文
4.1 数据链路层概述 4.1.2 数据链路层的目的、服务及功能 1.目的 数据链路层在网络实体间提供建立、维持和释放数据链路连接以及提供传输数据链路服务数据单元的功能和过程的手段;在物理连接上建立数据链路连接。它检测和校正物理层出现的错误,为网络层提供可靠的数据链路。
4.1 数据链路层概述 4.1.2 数据链路层的目的、服务及功能 2.为网络层提供的服务 (1)数据链路连接。 4.1 数据链路层概述 4.1.2 数据链路层的目的、服务及功能 2.为网络层提供的服务 (1)数据链路连接。 (2)接收数据链路服务数据单元和网络层交换数据; (3)提供数据链路端点标识符; (4)当把数据链路服务数据单元划分为多个数据链路协议数据单元传送时,要保证按发送方发送的顺序向接收方的网络层递交,即提供保序的服务; (5)差错位检测、纠正和报告; (6)流量控制; (7)服务质量参数的商定。
4.1 数据链路层概述 4.1.2 数据链路层的目的、服务及功能 3.数据链路层的功能 4.1 数据链路层概述 4.1.2 数据链路层的目的、服务及功能 3.数据链路层的功能 1、链路管理:当网络中的两个结点进行通信时,发送方必须确知接收方是否已处在准备接收状态。 2、帧同步:数据链路层,数据传送的单位是帧。 3、流量控制:协调发送方与接收方的工作。 4、差错控制:接收方可通过校验帧的差错编码,判断接收到的帧是否有差错。 5、透明传输:所谓透明传输就是不管所传数据是什么样的比特组合,都应能够在链路上传送。 6、寻址:在多点连接的情况下,保证每一帧都能送到正确的目的站。
4.2 停止等待协议 网络两个节点数据链路层进行通信的模型
4.2 停止等待协议 停止等待协议的工作原理:
4.3 连续ARQ协议 工作原理: 连续ARQ协议,即采用连续自动请求重传方案。发送方可以连续发送一系列信息帧,即不用等待前一帧被确认便可发送下一帧。这就需要在发送方设置一个较大的缓冲存储空间,用以存放若干待确认的信息帧。当发送方收到对某信息帧的确认帧后便可从帧缓存中将该信息帧删除,并继续发送数据帧。所以,连续ARQ协议使得信道利用率大大提高。
4.3 连续ARQ协议 工作原理:
4.4 流量控制 XON/XOFF方案 XON/XOFF主要应用于面向字符通信中,使用一对控制字符来实现流量控制。其中XON采用ASCII字符集中的控制字符DC1,XOFF采用ASCII字符集中的控制字符DC3。在一次数据传输过程中,XOFF、XON的周期可重复多次。但这些操作对用户来说是透明的。许多异步数据通信软件包均支持XON/XOFF协议。
4.4 流量控制 窗口机制 连续ARQ协议发送方是不能无限制地发送数据帧的,主要因为: 4.4 流量控制 窗口机制 连续ARQ协议发送方是不能无限制地发送数据帧的,主要因为: (1)由于发送的数据帧都未被确认,需要在发送方缓存中保留副本,以备重传。计算机的硬件资源是有限的,缓存容量不能无限制增加。 (2)发送数据帧过多,一旦有一帧出现错误,可能有很多帧需要重传,造成很大的浪费,增加了很多不必要的开销。 (3)为了对连续发送的大量数据帧进行编号,每帧的发送序号也要占用较多的比特,又增加了一定的开销。 因此需要对此协议中连续发送的未被确认的帧数做一定的限制,这就是滑动窗口协议。
4.4 流量控制 窗口机制 发送窗口WT=5,接收窗口WR=1 4.4 流量控制 窗口机制 发送窗口WT=5,接收窗口WR=1 图(a):刚开始发送时的情况,在发送窗口内的序号的数据帧就是可以发送的数据帧,若发送方发送完5个帧(0~4号帧)后,仍未收到任何确认信息,则停止发送,进入等待状态。 图(b):接收方已正确接收0号帧并发送确认帧,同时接收窗口向前滑动,准备接收1号帧;发送方收到确认信息,发送窗口向前滑动1个序号,5号帧落入发送窗口,可以发送5号帧。 图(c):接收方已正确接收0~3号帧并发出确认帧,接收窗口继续向前滑动,准备接收4号帧;发送方收到确认信息,发送窗口向前滑动3个序号,6、7、0号帧落入发送窗口,可以发送。
4.5 面向比特的链路控制规程HDLC 面向比特的链路控制规程是采用带填充位的首尾标志将一组比特封装成帧。通过定义不同类型的帧格式实现链路层的功能。它成为链路层的主要协议,是世界上广泛采用的协议。其中最具代表性的为HDLC(High-level Data Link Control)协议,称为高级数据链路控制规程。
4.5 面向比特的链路控制规程HDLC HDLC的帧结构
4.5 面向比特的链路控制规程HDLC 零比特填充法工作原理 数据中某一段比特组 合恰好出现和F字段一 样的情况 0100111111000101 0 会误认为是F字段 0100111110100010 10 填入0比特 0100111111000101 0 删除0比特 数据中某一段比特组 合恰好出现和F字段一 样的情况 发送端在5个连续1之 后填入0比特 在接收端将5个连续1 后的0比特删除,恢复 原样
4.5 面向比特的链路控制规程HDLC HDLC定义了三种类型的帧,即信息帧、监控帧与无编号帧。
4.6 Internet的链路层协议 用户接入Internet的一般方法有两种。一种是用户通过电话线,拨号接入Internet,另一种是使用专线接入。不管使用哪一种方法,在传送数据时都需要有数据链路层协议。全世界范围内使用最多的协议为非常简单的点对点协议PPP(Point-to-Point Protocol)。早期Internet使用非常简单的面向字符的协议SLIP(Serial Line Internet Protocol),但SLIP缺点很多。
PPP的帧格式与HDLC帧格式很相似: 标志字段为7E(01111110),地址字段为FF(11111111),控制字段为03(00000011)。这三各字段是固定不变的,所有PPP帧都应以07EFF03开始。协议字段占两个字节,当协议字段为0021时,PPP帧的信息就是IP数据报。若为C021,则信息字段是PPP链路控制数据。而8021表示这是网络控制数据。帧校验序列FCS与HDLC的相同。由于PPP不是面向比特的,因此帧的长度应为整数个字节。
PPP的工作过程可通过PPP状态图来描述: