第7章 数据链路层协议及编程方法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
9
7.2.4 检错码与纠错码
差错控制—在通信过程中能够自动检测出错误并 进行纠正的方法;
差错控制有两种基本的方案: 纠错码:为每个分组加上足够多的冗余信息,
接收方能发现并自动纠正传输差错; 检错码:为每个分组加上一定的冗余信息,接
收方能发现传输差错,但是自己不能 纠正,必须通过重发机制来解决。
将f(x)·xK+R(x)作为整体,从发送方通过通信信道传送 到接收方;
接收方对多项式f′(x)采用同样的运算, f ′(x)·xK/G(x)=Q(x)+ R′(x)/G(x),求得余数多项式 R′(x);
根据计算余数多项式R′(x)是否等于接收余数多项式 R(x)判断是否出现错误。
14
CRC检错方法的特点
数据链路层提供:链路管理、帧传输、流量控 制、差错控制等功能; 数据链路层为网络层提供的服务表现在:
正确传输网络层的用户数据; 向网络层屏蔽物理层采用传输技术的差异性。
6
7.2 差错产生与差错控制方法
7.2.1 设计数据 链路层的原因
信源
通信信道
信宿
数据
噪声 (a)
数ቤተ መጻሕፍቲ ባይዱ+噪声
7.2.2 差错产生 的原因与类型
11
7.2.5 循环冗余编码工作原理
发送方
接收方
计算机网络
发送数据 f(x) 生成多项式 G(x)
f(x) . xk
R(x)
=Q(x)+
G(x)
G(x)
实际发送:
f(x)
.
k
x+
R(x)
数据字段 校验字段
f(x) . xk + R(x)
发送
12
发送数据 f '(x) 生成多项式 G(x)
f'(x) . xk
CRC校验码的检错能力很强,它除了能检查出离散错,还 能检查出突发错;
CRC校验码具有以下检错能力: CRC校验码能检查出全部单个错; CRC校验码能检查出全部离散的二位错; CRC校验码能检查出全部奇数个错; CRC校验码能检查出全部长度小于或等于K位突发错; CRC校验码能以[1-(1/2)K-1]的概率检查出长度为K+1
R'(x)
= Q(x)+
G(x)
G(x)
R'(x)= R(x) 接收正确 R'(x)≠ R(x) 接收错误
标准的CRC生成多项式:
CRC-12 G(x)=x12+x11+x3+x2+x+1 CRC-16 G(x)=x16+x15+x2+1 CRC-CCITT
G(x)=x16+x12+x5+1 CRC-32
7.3.1 数据链路层协议的分类 面向字符型 面向比特型
7.3.2 面向字符型数据链路层协议 利用已定义好的一种标准字编码(如ACSII码)
的一个子集来执行通信控制功能; 典型的面向字符型数据链路层协议是二进制同
步通信(BSC)协议。
17
面向字符型协议的两个明显的缺点:
一是使用不同字符集的计算机很难利用面向字 符型协议来通信;
G(x)=x32+x26+x23+x22+x16+x12+x11+x10+x8 +x7+x5+x4+x2+x+1
13
CRC校验的工作过程
发送方生成数据多项式f(x)·xK,其中K 为生成多项式 的最高幂N值减1;
将f(x)·xK除以生成多项式G(x),得 f(x)·xK/G(x)=Q(x)+R(x)/G(x)。其中,式中R(x)为余数 多项式;
传输数据
010110011001010
噪声
数据信号 与噪声信号 叠加后的波形
采样时间 接收数据 原始数据
时间 010110111001000 010110011001010
出错的位 (b)
7
7.2.3 误码率的定义
误码率是指二进制比特序列在数据 传输系统中被传错的概率;
在数值上近似等于:Pe = Ne/N; 其中:N为传输的二进制比特总数,
10
7.2.5 循环冗余编码工作原理
CRC检错方法的工作原理是:在发送方,将发 送数据作为一个多项式f(x)的系数,用双方预 先约定的生产多项式G(x)去除,求得一个余数 多项式。将余数多项式加到数据多项式后发送 到接收方。在接收方,用同样的生成多项式 G(x)去除接收数据多项式f’(x),得到计算的余 数多项式。如果计算的余数多项式与接收的余 数多项式相同,表示传输无差错;否则,表示 传输有错,由发送方重发数据,直至正确为止。
Ne为被传错的比特数。
8
理解误码率的定义应该注意的几个问题:
误码率是衡量数据传输系统正常工作状态下传 输可靠性的参数;
对于一个实际的数据传输系统,不能笼统地说 误码率越低就越好,要根据实际传输要求提出 误码率要求;
对于实际数据传输系统,如果传输的不是二进 制位,需要折合成二进制位来计算;
差错的出现具有随机性,在实际测量一个数据 传输系统时,只有被测量的传输二进制位数越 大,才会越接近真正的误码率值。
计算机网络技术教程
—自顶向下的分析与设计方法
吴功宜 吴英
编著
1
第7章 数据链路层协议
及编程方法
2
主要内容
本章主要回答以下几个问题: ·数据链路层协议的主要功能是什么? ·数据链路层协议分为哪几种类型? ·数据链路层采取了哪些差错控制技术? ·HDLC协议包括哪些基本内容? ·PPP协议包括哪些基本内容? ·Ethernet网MAC层协议包括哪些基本内容?
位的突发错。
15
7.2.6 差错控制机制
反馈重发(ARQ)纠错:收发双方在发现传输 错误时,采用反馈和重发的方法来纠正错误;
反馈重发纠错的实现机制:
发送方
接收方
信源
校验码 编码器
发送 装置
接收 装置
校验码 译码器
信宿
传
存储器
输
信
道 反馈信号
控制器
反馈信号 控制器
16
7.3 面向字符型数据链路层协议
二是控制字符的编码不能在用户数据字段中出 现。
数据不能“透明”传输可以采用转义字符解决。
18
面向字符型协议实例—BSC协议
BSC协议中使用的控制字符
控制字符
SOH(Start of Head) STX(Start of Text) ETX(End of Text) EOT(End of Transmission) ENQ(Enquiry) ACK(Acknowledge) NAK(Negative Acknowledge) DLE(Data link Escape) SYN(Synchronous) ETB(End of Transmission Block)
3
7.1 数据链路层的基本概念
7.1.1 物理线路与数据链路 物理线路与数据链路的关系
计算机 调制解调器
电话交换网
计算机 调制解调器
物理线路 数据链路
4
7.1.2 数据链路层的主要功能
链路管理 帧同步 流量控制
差错控制 透明传输 寻址
5
7.1.3 数据链路层向网络层提供的服务
设立数据链路层的主要目的是将存在数据传输 差错的物理线路变为对于网络层来说是无差错 的数据链路;
7.2.4 检错码与纠错码
差错控制—在通信过程中能够自动检测出错误并 进行纠正的方法;
差错控制有两种基本的方案: 纠错码:为每个分组加上足够多的冗余信息,
接收方能发现并自动纠正传输差错; 检错码:为每个分组加上一定的冗余信息,接
收方能发现传输差错,但是自己不能 纠正,必须通过重发机制来解决。
将f(x)·xK+R(x)作为整体,从发送方通过通信信道传送 到接收方;
接收方对多项式f′(x)采用同样的运算, f ′(x)·xK/G(x)=Q(x)+ R′(x)/G(x),求得余数多项式 R′(x);
根据计算余数多项式R′(x)是否等于接收余数多项式 R(x)判断是否出现错误。
14
CRC检错方法的特点
数据链路层提供:链路管理、帧传输、流量控 制、差错控制等功能; 数据链路层为网络层提供的服务表现在:
正确传输网络层的用户数据; 向网络层屏蔽物理层采用传输技术的差异性。
6
7.2 差错产生与差错控制方法
7.2.1 设计数据 链路层的原因
信源
通信信道
信宿
数据
噪声 (a)
数ቤተ መጻሕፍቲ ባይዱ+噪声
7.2.2 差错产生 的原因与类型
11
7.2.5 循环冗余编码工作原理
发送方
接收方
计算机网络
发送数据 f(x) 生成多项式 G(x)
f(x) . xk
R(x)
=Q(x)+
G(x)
G(x)
实际发送:
f(x)
.
k
x+
R(x)
数据字段 校验字段
f(x) . xk + R(x)
发送
12
发送数据 f '(x) 生成多项式 G(x)
f'(x) . xk
CRC校验码的检错能力很强,它除了能检查出离散错,还 能检查出突发错;
CRC校验码具有以下检错能力: CRC校验码能检查出全部单个错; CRC校验码能检查出全部离散的二位错; CRC校验码能检查出全部奇数个错; CRC校验码能检查出全部长度小于或等于K位突发错; CRC校验码能以[1-(1/2)K-1]的概率检查出长度为K+1
R'(x)
= Q(x)+
G(x)
G(x)
R'(x)= R(x) 接收正确 R'(x)≠ R(x) 接收错误
标准的CRC生成多项式:
CRC-12 G(x)=x12+x11+x3+x2+x+1 CRC-16 G(x)=x16+x15+x2+1 CRC-CCITT
G(x)=x16+x12+x5+1 CRC-32
7.3.1 数据链路层协议的分类 面向字符型 面向比特型
7.3.2 面向字符型数据链路层协议 利用已定义好的一种标准字编码(如ACSII码)
的一个子集来执行通信控制功能; 典型的面向字符型数据链路层协议是二进制同
步通信(BSC)协议。
17
面向字符型协议的两个明显的缺点:
一是使用不同字符集的计算机很难利用面向字 符型协议来通信;
G(x)=x32+x26+x23+x22+x16+x12+x11+x10+x8 +x7+x5+x4+x2+x+1
13
CRC校验的工作过程
发送方生成数据多项式f(x)·xK,其中K 为生成多项式 的最高幂N值减1;
将f(x)·xK除以生成多项式G(x),得 f(x)·xK/G(x)=Q(x)+R(x)/G(x)。其中,式中R(x)为余数 多项式;
传输数据
010110011001010
噪声
数据信号 与噪声信号 叠加后的波形
采样时间 接收数据 原始数据
时间 010110111001000 010110011001010
出错的位 (b)
7
7.2.3 误码率的定义
误码率是指二进制比特序列在数据 传输系统中被传错的概率;
在数值上近似等于:Pe = Ne/N; 其中:N为传输的二进制比特总数,
10
7.2.5 循环冗余编码工作原理
CRC检错方法的工作原理是:在发送方,将发 送数据作为一个多项式f(x)的系数,用双方预 先约定的生产多项式G(x)去除,求得一个余数 多项式。将余数多项式加到数据多项式后发送 到接收方。在接收方,用同样的生成多项式 G(x)去除接收数据多项式f’(x),得到计算的余 数多项式。如果计算的余数多项式与接收的余 数多项式相同,表示传输无差错;否则,表示 传输有错,由发送方重发数据,直至正确为止。
Ne为被传错的比特数。
8
理解误码率的定义应该注意的几个问题:
误码率是衡量数据传输系统正常工作状态下传 输可靠性的参数;
对于一个实际的数据传输系统,不能笼统地说 误码率越低就越好,要根据实际传输要求提出 误码率要求;
对于实际数据传输系统,如果传输的不是二进 制位,需要折合成二进制位来计算;
差错的出现具有随机性,在实际测量一个数据 传输系统时,只有被测量的传输二进制位数越 大,才会越接近真正的误码率值。
计算机网络技术教程
—自顶向下的分析与设计方法
吴功宜 吴英
编著
1
第7章 数据链路层协议
及编程方法
2
主要内容
本章主要回答以下几个问题: ·数据链路层协议的主要功能是什么? ·数据链路层协议分为哪几种类型? ·数据链路层采取了哪些差错控制技术? ·HDLC协议包括哪些基本内容? ·PPP协议包括哪些基本内容? ·Ethernet网MAC层协议包括哪些基本内容?
位的突发错。
15
7.2.6 差错控制机制
反馈重发(ARQ)纠错:收发双方在发现传输 错误时,采用反馈和重发的方法来纠正错误;
反馈重发纠错的实现机制:
发送方
接收方
信源
校验码 编码器
发送 装置
接收 装置
校验码 译码器
信宿
传
存储器
输
信
道 反馈信号
控制器
反馈信号 控制器
16
7.3 面向字符型数据链路层协议
二是控制字符的编码不能在用户数据字段中出 现。
数据不能“透明”传输可以采用转义字符解决。
18
面向字符型协议实例—BSC协议
BSC协议中使用的控制字符
控制字符
SOH(Start of Head) STX(Start of Text) ETX(End of Text) EOT(End of Transmission) ENQ(Enquiry) ACK(Acknowledge) NAK(Negative Acknowledge) DLE(Data link Escape) SYN(Synchronous) ETB(End of Transmission Block)
3
7.1 数据链路层的基本概念
7.1.1 物理线路与数据链路 物理线路与数据链路的关系
计算机 调制解调器
电话交换网
计算机 调制解调器
物理线路 数据链路
4
7.1.2 数据链路层的主要功能
链路管理 帧同步 流量控制
差错控制 透明传输 寻址
5
7.1.3 数据链路层向网络层提供的服务
设立数据链路层的主要目的是将存在数据传输 差错的物理线路变为对于网络层来说是无差错 的数据链路;