【计算机通信网络复习】第三章 数据链路层

第3章 数据链路层

3.1. 数据链路层的基本概念(掌握)

3.3.1. 链路与数据链路

链路:一条中间没有任何交换节点的点到点的物理线路段,也称为物理链路。是构成计算机网络的一个基本单元。
数据链路:在一条链路上传输数据,只有物理线路是不够的,必须有一些数据传输协议来控制数据的传输。链路再加上实现这些协议的硬件和软件就构成了数据链路,有时也称为逻辑链路。
数据链路是由实现数据链路层协议的硬件、软件与链路组成。
在这里插入图片描述

3.3.2. 数据据链路层的主要功能

数据链路层主要包括以下7个方面功能:
(1)数据链路管理
主要用于面向连接的服务,包括数据链路建立、维护与释放

(2)帧封装
将网络层的分组放在帧的数据字段中,数据链路层软件需要根据协议对帧格式的规定,为分组数据加上帧头帧尾,封装成数据帧。每一种数据链路层协议都要规定帧数据字段的最大长度,即最大传输单元(Maximum Transfer Unit,MTU)。如果网络层分组的数据大于帧数据字段的最大长度,那么就需要将网络层传送的数据分成多个传输单元,封装在多个帧中传送。

(3)帧同步
帧同步是指接收端应该能够从收到的比特流中正确地判断出一帧的开始位与结束位。例如:DEC公司的数字数据通信报DDCMP协议。

①字节计数法
用特殊字符表示帧的开始,再用一个字段标明帧的字节数。
在这里插入图片描述
在这里插入图片描述
②字符填充法
用特定字符DLE STX和DLE ETX定界帧的开始和结束,转义字符DLE:当数据字段出现DLE时,用DLE DLE标示传送数据信息中的DLE。例如:
在这里插入图片描述

③比特填充法
用一个标志字段(如01111110,0X7E)放在一帧的开始和结束,标志一帧的开始和结束。比特填充法避免信息字段中出现相同模式的字段。在传送的数据信息中每遇到5个连续的“1”在其后加“0”。 例如:
在这里插入图片描述

④违例编码法
只适合于采用了冗余编码的特殊编码方法。用非法编码序列作为帧的开头和结束标志。
例如:数据采用曼彻斯特编码,而帧的开头和结束处采用位中间没有跳变的编码方式(即非曼彻斯特编码),使开头和结束字段与数据字段编码方式不同,从而可以确定帧的边界。

(4)流量控制
目的:使通信双方收发数据速率达到一致,保证最大传输效率,提高传输可靠性
方法:设缓冲区,保证发送速率不超过接收方处理能力。
问题:接收方缓冲区溢出。
技术:停-等流控技术&滑动窗口流控技术
①停-等流控技术
发送一帧后,等待应答。发送方收到确认信号,才能发送下一帧数据。
优点:工作简单,仅需半双工工作,所需缓冲区容量小。
缺点:等待应答花费时间,传输效率低,几乎浪费了一半的信道容量。
(流控技术只有肯定应答ACK)

②滑动窗口流控技术
发送方可连续依次发送若干帧一个ACK帧可对多个接收帧进行应答。
优点:提高了线路利用率;可承载多个数据帧;一个ACK应答多个数据帧;适合于全双工通信。
在这里插入图片描述

(5)差错控制
采用反馈重发ARQ (Automatic Repeat reQuest)来实现。
如果数据正确,接收端反馈传输正确ACK信息。发送端收到ACK信息后,将不再保留发送数据的副本
如果数据不正确,接收端反馈传输错误NAK信息。发送端收到NAK信息后,将根据保留数据的副本重新进行发送,直到正确接收为止。
协议规定了最大重发次数。如果超过协议规定的最大重发次数,接收端仍然不能正确接收,那么发送端停止重传,并将向高层协议报告传输出错信息。

(6)透明传输
当传输的数据帧数据字段中出现某些特定的控制字符的二进制代码序列时就必须采取适当的措施,使接收端不至于将数据中的系统代码误认为是控制字符。
数据链路层必须保证帧数据字段可以传输任意的二进制比特序列,即需要保证帧传输的“透明性”问题。
例如:ASCII码中的STX、DLE

(7)寻址
在点-多点链路连接情况下,数据链路层要保证每一帧都能传送到正确的接收端,因此数据链路层必须具备寻址的功能。

3.1.3. 数据链路层与网络层、物理层的关系

将源节点网络层传送来的数据,正确地传送到相邻节点的网络层。源节点网络层进程把网络层数据传送给数据链路层,数据链路层通过数据链路层协议,将数据传送到相邻节点数据链路层,最后由相邻节点数据链路层协议将数据交给其网络层。
(1)数据链路层与物理层关系
数据链路连接建立在物理线路连接上。接受物理层提供的服务。在物理层完成物理线路连接,并提供比特流传输能力的基础上,数据链路层才能够传输数据链路层协议数据单元——帧。
在这里插入图片描述
(2)数据链路层与网络层的关系
数据链路层在OSI参考模型中处于网络层与物理层之间。
网络层的主要功能是为联网计算机之间的通信寻找一条最佳的传输路径。如果数据链路层要能够保证网络层的数据经过每一段链路传输时都不会出现差错,那么网络层数据经过多段链路传输也就不会出错。
在这里插入图片描述

3.2. 数据链路层协议的演变与发展(了解)

3.2.1. 面向字符型数据链路层协议的特点

面向字符型——最早出现的数据链路层协议。特点是利用已定义的标准字符编码的一个子集来执行通信控制功能。
缺点和难点:使用不同字符编码集的两台机器很难利用面向字符型协议进行通信。且,控制字符的编码不能在用户数据字段中出现。
解决办法:字符填充法:用DLE进行转义处理——数据传输透明性问题。
例:用特定字符DLE STX和DLE ETX定界帧的开始和结束。

3.2.2. 面向比特型数据链路层协议的特点

面向比特型——不依赖任何一种字符编码集。其典型代表:ISO提出的高级数据链路控制HDLC(High-level Data Link Control)协议。
缺点和难点:标志字段不能出现在信息字段中。
解决办法:比特填充法:每遇到5个连续“1”在其后加“0”——数据传输透明性问题。
HDLC帧结构

3.3. PPP协议(掌握)

3.3.1. PPP协议的主要特点

用户接入Internet最为广泛的数据链路层协议有:
串行线路网际协议SLIP:仅支持IP,低速(≤19.2kbps)
点对点协议(PPP,Point-to-Point Protocol)

3.3.2. PPP协议帧结构

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述PPP协议由三个部分组成:
(1)数据报封装
采用HDLC协议,在点到点的串行链路上封装数据报。
在这里插入图片描述
标志字段F: 1字节,01111110(0x7E) ,指示帧开始或结束。由于标志字符的值是0x7E,因此当该字符出现在信息字段中时,需要对它进行转义。用特殊字符0x7D作转义字符。
方法:当发送数据中出现0x7E、0x7D时,需要将其第6 个比特取补码,即与0x20 做异或运算,并在前面增加0x7D 。
当信息中包含0x7E:0x7D 0x5E (0x7E XOR 0x20 = 0x5E)
当信息中包含0x7D:0x7D 0x5D (0x7D XOR 0x20 = 0x5D)
地址字段A:1字节,0xFF表示广播。——固定
控制字段C:1字节, 0x03表示面向无连接方式传输。——固定
协议字段P:2字节,标识帧数据字段的协议类型。
P = 0x0021:信息字段是IP数据
数据字段I:0~1500字节,包含符合协议字段中指定协议的数据报。
帧校验字段FCS:2或4字节,校验A + C + P + I。

(2)链路控制协议LCP (Link Control Protocol)
负责创建、维护或终止一次物理连接。

(3)网络控制层协议NCP (Network Control Protocol)
NCP是一簇协议,支持多种网络层协议,负责解决物理连接上运行什么网络协议,以及解决上层网络协议发生的问题。如IP、IPX等。

3.3.3.PPP协议工作过程

PPP协议提供建立和配置、维护和终止点到点的连接功能,通信过程包括4个阶段:
(1)链路的建立和配置协调(LCP)
每个PPP设备都发送LCP帧来配置和测试数据链路。在网络层数据报交换前,LCP必须先打开连接,协调配置参数。完成配置确认帧的发送和接收后,该阶段结束。

(2)链路质量检测(LCP)
链路建立和配置协调后,LCP有一个可选的链路质量检测阶段。通过链路质量检测判定链路质量是否满足网络层协议要求。链路建立完毕并决定了所采用认证协议后,客户端就能够被验证。LCP推迟网络层协议信息传送,直到认证结束。
认证协议:口令验证协议PAP(Password Authentication Protocol)协议和挑战握手验证协议CHAP(Challenge-Handshake Authentication Protocol)——首选协议。
PAP协议:一种简单的明文验证方式。用户在链路上发送用户名和密码直至认证通过,否则连接终止。
在这里插入图片描述
CHAP协议:利用3次握手检测远程节点身份。
① 服务器向用户发送一个挑战口令challenge,包括会话ID和一个任意生成的挑战字串。
② 用户不发送明文密码,而是使用MD5单向哈希加密算法返回加密后的用户密码、会话ID、挑战口令,其中用户名以非哈希方式发送。
③ 服务器端存有用户明文密码,所以服务器可以重复客户端进行的操作,将结果与用户返回的密码进行对照。
在这里插入图片描述
在这里插入图片描述

(3)网络层协议配置协调(NCP)
在LCP完成链路质量检测后,网络层协议通过NCP进行单独配置,并且可以在任何时候被激活和关闭。PPP设备发送NCP来选择和配置网络层协议(如IP)。被选择的网络层协议配置完成后,可以开始传输数据。

(4)终止链路(LCP)
LCP可在任何时候终止链路,通常是在用户请求后终止。例如:物理故障,载波丢失或空闲时间超时等。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值