当前位置:文档之家› 数据链路层

数据链路层



3.2 数据链路层的几种技术

3.2.2 差错控制的应用
1. 当接收端检测出差错码较少且有能力纠正时,
运用前向纠错法。
2. 当检测的差错码较多,超出其纠错能力时,可
用反馈纠错法。
3. 当传输几种信息时,可按主要的信息出现的差
错特点来挑选,采用纠错编码措施。
3.2 数据链路层的几种技术

3.2.2 差错控制的应用
丢弃
数字帧传输情况
主机A
主机B
主机A
主机B
t
DATA
t
DATA1
出错
ACK
NAK
DATA
DATA1
ACK
ACK
(a)
(b)
数字帧传输情况
主机A 主机B
t
DATA1
主机A
主机B
tout
超时重发 丢失
ACK
t
DATA1 重复帧
DATA1
ACK
ACK
重复帧
DATA2
DATA2 丢失
ACK
tout
超时重发
3.3 数据链路层协议

3.3.2 滑动窗口协议(Slide Window)

窗口机制 允许发送方连续发送多个帧,多帧一应 答的策略。
4 0 1 2 9 1 2 3 4 5 6 6 5 4 3 2 1
第一帧 第二帧 第三帧
3.1 数据链路层概述

3.1.4 数据帧
字符填充法
DL STX Q DL W DL ET

原始数据流
字符填充
DL
STX
Q
DL
DL
W
DL
ET
接收端还原
DL
STX
Q
DL
W
DL
ET
3.1 数据链路层概述

3.1.4 数据帧

3.2.1 差错控制技术
差错控制方法 基于以上两种思想,链路层采用差错控制的基本 工作方式可分为以下四类: 自动请求重发(Automatic Repeat reQuest,ARQ) 前向纠错(Forward Error Correction,FEC) 混合纠错(Hybrid Error Correction ,HEC) 信息反馈(Information Repeat Request ,IRQ)

3.2.1 差错控制技术
差错控制方法 基于两种思想: 一种通过差错编码,使得在系统接收端的译码 器能发现错误并能准确地判断差错的具体位置, 从而自动纠正错误; 另一种在系统接收端仅能发现错误,但不知道 错误的确切位置,无法自动纠错,只能通过请 求发送端重发等方式来纠正错误。

3.2 数据链路层的几种技术
帧检验序列 FCS


在数据后面添加上的冗余码称为帧检验 序列 FCS (Frame Check Sequence)。 循环冗余检验 CRC 和帧检验序列 FCS并 不等同。


CRC 是一种常用的检错方法,而 FCS 是添 加在数据后面的冗余码。 FCS 可以用 CRC 这种方法得出,但 CRC 并非用来获得 FCS 的唯一方法。
3.1 数据链路层概述

3.1.3 数据链路层提供的服务
面向连接确认服务 数据在传输过程分为建立连接、数据传输和释放连接 三个阶段。 大多数数据链路层都采用面向连接确认服务。 无连接确认服务 不需要在帧传输之前建立数据链路,也不需要在传输 完成后释放数据链路。 无连接无确认服务 不建立数据链路连接,接收方不进行检错,不回送确 认帧。

1100001010 11010110110000 10011 10011 10011 00001 00000 循环冗余码校验 00010 00000 00101 00000 01011 00000 10110 10011 01010 00000 10100 10011 信息序列:1101011011 01110 余数:1110 00000 传输的数据:11010110111110 1110 10011
Hale Waihona Puke 接收端对收到的每一帧进行 CRC 检验




(1) 若得出的余数 R = 0,则判定这个帧没有差 错,就接受(accept)。 (2) 若余数 R 0,则判定这个帧有差错,就丢 弃。 但这种检测方法并不能确定究竟是哪一个或哪 几个比特出现了差错。 只要经过严格的挑选,并使用位数足够多的除 数 P,那么出现检测不到的差错的概率就很小 很小。


发送端 初始化发送帧 取出数据帧存入缓冲区 编码
停止等待协议工作流程
接收端 初始化等待帧
等待接收
移交物理层 发送数据帧同时启动计时器 等待„ „ N 收到应答帧? Y Y NAK帧? N 帧序号+1
N 收到帧,校验正确? Y
N 超时? Y
应答NAK帧
N
帧序号符合? Y 将数据部分上交网络层 修改期待帧的序号 应答ACK帧

3.1 数据链路层概述

3.1.4 数据帧
四种常用的将比特流分割成帧的方法:字符计数法、字 符填充法、比特填充法、违规编码法。

字符计数法
字符计数 字符计数 字符计数
4 0 1 2 7 1 2 3 4 5 6 6 5 4 3 2 1
(a)原字符
字符计数
第一帧
第二帧
第三帧
字符计数
字符计数
(b)字符计数出错
3.2 数据链路层的几种技术

循环冗余检验(CRC)原理

生成多项式的要求:

发生错误都不应该使余数为0

不同的码位发生错误时,所得到的余数应该 各不相同。
3.2 数据链路层的几种技术
例:设其生成多项式G(x)=X4+X+1,试求出信息序列 1101011011的CRC码,并说明接收端是如何判断传输的正 确性。 解: (1)将生成多项式G(x)转换成二进制数; G(x)= X4+X+1=10011 (2)r=4,多项式为四阶,在信息序列后补四个0, 11010110110000 (3)计算CRC码。用11010110110000除以10011,得到余数 为1110; (4)将得到的余数1110加到原信息序列1101011011后面, 即所要 传输的数据11010110111110。
3.1 数据链路层概述

3.1.2 数据链路层的主要功能
链路管理 通信前建立数据链路连接,通信中维持数据链路 的连接状态,包括出现差错后重新自动建立连接; 通信完毕后释放连接。 流量控制 当发送方发送数据的速率超过了接收方所能处理 数据的速率时,接收方应来不及处理而产生数据 丢失、链路拥塞等问题,就需要限制发送方的数 据流量。

3.2 数据链路层的几种技术

3.2.1 差错控制技术

在传输过程中可能会产生比特差错:1 可能会变成 0 而 0 也可能变成 1。

在一段时间内,传输错误的比特占所传输比特总数 的比率称为误码率 BER (Bit Error Rate)。
误码率与信噪比有很大的关系。 为了保证数据传输的可靠性,在计算机网络传输数 据时,必须采用各种差错检测措施。
4. 当没有反向信道,且数据信息不能够随便抛弃
时,就必须采用前向纠错技术。
5. 若设备允许的条件下,采用反馈纠错方式。
3.2 数据链路层的几种技术

3.2.3 流量控制技术
接收方告诉发送方接下来应该发送信息的流量,或 者告诉它自己目前的处理状况,以便发送方及时调整 发送。
(1)基于反馈的流控制(feedback-based flow control):
3.2 数据链路层的几种技术
校验: 接收端用接收到的信息序列做同样的模2除法, 对G(x)进行运算,被除数是11010110111110,除 数是10011,检查得到的余数。如果余数是0,说 明传输正确;否则,发生差错,应重传。
冗余码的计算举例

课件制作人:谢希仁
循环冗余检验的原理说明
3.2 数据链路层的几种技术

3.2 数据链路层的几种技术

循环冗余检验(CRC)原理

CRC校验使用多项式码,故也称为多项式码,其基 本思想是任何一个二进制数位串码都可以和系数 只含有0和1的多项式建立一一对应的关系,如: 二进制数11010对应的码多项式是 X 4 X 3 X , 而码多项式 X 5 X 3 X 2 1 对应的二进制数是 101101。


现在最常用的方法是使用适配器(即网卡)来实现这 些协议的硬件和软件。 一般的适配器都包括了数据链路层和物理层这两层的 功能。
3.1 数据链路层概述

3.1.1 帧
数据链路层的基本概念

帧由若干字段构成,且每个字段都有确定的含义,包
含地址、控制、数据及校验等信息。在数据链路层,数据 以帧为单位进行传输。
计算机网络
第三章 数据链路层
第三章
3.1
数据链路层
数据链路层概述 3.1.1 数据链路层的基本概念 3.1.2 数据链路层的主要功能 3.1.3 数据链路层提供的服务 3.1.4 数据帧 3.2 数据链路层的几种技术 3.2.1 差错控制技术 3.2.2 差错控制的应用
第三章
数据链路层
3.2.3 流量控制的应用 3.3 数据链路层协议 3.3.1 停止等待协议 3.3.2 滑动窗口协议 3.4 数据链路层设备 3.4.1 网桥 3.4.2 二层交换机
比特填充法

0111111001011111111110001111110001101111110
(a) 原始数据
相关主题