第四章 数据链路控制

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

4、群计数码
将数据码中“1”的个数以确定的冗余比特数表示, 并与数据码一起构成校验码。 如:数据码“10011”中有三个“1”,则校验码为: 10011011
5、循环冗余校验码(Cyclic Redundancy Code)
(1)(n,k)码: 即:数据码为:k位,冗余码为(n-k)位, 则:其合法编码有2k个。 例如:(7,3)码的合法编码有八个: 000 0000 100 1110 001 1101 011 1010 111 0100 110 1001 101 0011 010 0111
2 3
暂存
4 1
5 6
7
0
一起交上 层处理
( 3) 当接收方发出的确认帧丢失
超时间隔 超时 重发
发 WT = 7
0
1
2 3
4 1
5 6
7
0
收 WR = 1
0
1
2 3
4 1
5 6
7
0
丢弃重 复帧
四、高级数据链路控制(HDLC)
1、面向字符与面向比特流的通信
(1)面向字符的同步通信方式(如:IBM的BSC规程) 所谓面向字符就是说在链路上所传送的数据必须 是由规定字符集(例如ASCII码)中的字符所组成。在 链路上传送的控制信息也必须由同一字符集中的若干 指定的控制字符构成。这种面向字符的链路控制规程 在计算机网络的发展过程中曾起了重要的作用,但它 存在通信线路的利用率低、可靠性较差、不易扩展等 缺点,所以具有更大的灵活性和更高的效率的面向比 特型协议逐渐成为数据链路层的主要协议。
D
D
三、差错处理与控制
通常的差错处理技术有:
• • • • • 差错检测技术; 确认帧技术; 否认帧技术; 差错重发技术; 超时重发技术。
Automation Repeat reQuest------ARQ
目前已有的ARQ标准有:
• Stop-and-Wait ARQ • Go-back-N Frame ARQ • Selective Reject ARQ
注意:通常用在数据码长不大的情况下,能检查出传输
中码组的所有奇数个错误,但不能发现偶数个错误。
2、水平一致校验码
水平一致校验码将信息码元先以适当长度划分成小 组,各小组按行排列,对各行的信息元进行奇偶校验, 得到的校验元附在每行的后面。 通常使用偶校验:
1 0 1 1 0
0 1 0 1 0
1 1 0 0 1
解题参考: “a”的ASCII为:1100001,所以有: 1 2 3 4 5 1 A 6 0 7 8 9 10 11 1 A B B D D 0 有A=1 B=0 C=1 D=1
A B
1 C A B
C
0 D 0 A A B B C C D
因此,“a”的汉明编码为: 10111001001
(6) Hamming译码 在收端设一个差错计数器并置“0”,收到汉明码后, 逐个检查各校验位及其负责的数据位的偶校验特性,
则:冗余码R(x)为:1001
1001
6、R.W.Hamming码(海明/汉明码)
(1) 汉明权值(Weight):码字中“1”的个数。 如:“100011”,其权值为:3 (2) 两码字间的汉明距离:两码字相对应位不同的个数。 例如: 100011
101010 (3) 校验码的汉明距离(汉明距):在给定编码方法情 况下,所有合法码字间的最小汉明距离。 例如:(7,3)码共有8个合法编码: 000 001 010 011 100 101 110 111 则:最小的距离是:???
(4) 两个重要结论: 要发现d位错误,其编码的汉明距离至少为:d+1 要纠正d位错误,其编码的汉明距离至少为:2d+1 若dAB=3,则有: 若dAB=5,则有:
A
A’
A”
B
A
A’
A”
B
若发生1位错,dA’B=2,显然错! 若发生2位错,dA”B=1,显然错! 若发生3位错,A → B,不知错!
0 0 0 1 0
1 0 0 1 0
1 0 1 0 1
注意:通常能查出不大于列长个比特的错误。
3、水平垂直一致校验码---方阵码 1 0 1 1 0 0 1 0 1 0 1 1 0 0 1 0 0 0 1 0 1 0 0 1 0 1 0 1 0 1 1
1 0 1 1 0
注意: • 能查出所有奇数个 比特的错误。 • 能查出部分偶数个 比特的错误。 • 具有一定的纠错能 力。
IBM的BSC规程:
特殊格式字符定义:
SYN:同步字符(Synchronous character),每帧可加1 个(单同步)或2个(双同步)同步字符。 SOH:标题开始(Start of Header)。 标题:Header,包含源地址、目的地址、路由指示。 STX:正文开始(Start of Text)。 数据块:正文(Text),由多个字符组成。 ETB:块传输结束(end of transmission block), 标识 数据块结束。 ETX:全文结束(end of text),(全文分为若干块传输)。 块校验:对从SOH开始,直到ETB/ETX字段的检验码。
若被破坏,则将该校验位的序号累加到计数器。待
所有校验位检查完后,若计数器的值为0,则传输正 确,否则,计数器的值即为出错的位。 1 2 A B 3 4 5 1 A C 6 0 7 8 9 10 11 1 A B B 0 0 有A=1 B=0 C=1 D=1
1 C A B
0 D 0 A A B B C C D
发 WT = 5
0 1 2 3 4 5
ACK
6 7
0
1
收 WR = 1
0
1
2 3
4 5
6 7 0
1
2、滑动窗口流量控制(Sliding Window Flow Control)
假设采用3bit帧序号,且:WT + WR ≤ 2n Buffer / Window
发 WT = 5
0 1 2 3 4 5
例如:对于(7,3)码,若数据码字为110,G(x)是x4+x3+x2+1 求其冗余校验码。
根据题意有:
xn-kM(x)=x4(x2+x)=x6+x5
101 11101 1 1 0 0 0 0 0 11101 10100 11101
x2 + 1 x4+x3+x2+1 x6+x5 x6+x5 +x4+x2 X4 +x2 x4+x3+x2+1 x3 +1
第四章 数据链路控制
主要内容:
流量控制 差错控制 同步、 链路管理 帧的封装处理、 数据收发管理、 寻址。
一、流量控制
• 主机至主机的流量控制 • 链路与链路的流量控制 • 子网与子网的流量控制
1、停等流量控制(Stop and Wait Flow Control)
(1)理想情况下: 无论发送方以多快的速 度发送数据,接收方总 能正确地处理和接收。
2 3
丢弃
4 1
2 3
交上层 处理
4
5
( 3) 当接收方发出的确认帧丢失
超时间隔 超时重发
发 WT = 7
0
1
2 3
4 1
2 3 4
5
收 WR = 1
0
1
2 3
4 1
2 3
4
5
交上层 处理
丢弃重复帧
退后N帧ARQ的链路利用率是否一定比停等ARQ高?
3、 Selective Reject ARQ---典型用于移动通信
(2)、面向比特流的同步通信(如:SDLC规程)
高级数据链路控制HDLC(High-level Data Link Control)就是一种面向比特流的协议。其特点是以位 的位置来定位各个字段,而不用控制字符。各字段内 均由位的各种组合组成。它的最早版本是IBM公司研 制的SDLC协议,用作IBM SNA网的数据链路层协议。 后来几个国际标准化组织做了少量修改,发展为多个 版本的面向比特流的协议。如ANSI的版本是ADDCP 协议,ISO的版本就是HDLC协议,CCITT的版本是 LAP协议,并作为建议书X.25的一部分。


(2) 实际应用情况下: 需要考虑主机的流控问题和差错的处理 发
ACK

正确

NAK

错误
重发
(1) 发
超时 重发
重发 正确
(2) 收 发
超时 重发
ACK

正确
如何处 理??
重复帧 重发 正确
(3)
(4)
2、滑动窗口流量控制(Sliding Window Flow Control)
假设采用3bit帧序号,且:WT + WR ≤ 2n Buffer / Window
编码步骤: (1)用生成多项式的最高位乘以M(x):xn-kM(x) (2)用(1)的结果除以G(x) (3)所得余数R(x)即为CRC的冗余码。
即有:
xn-kM(x) = Q(x)
G(x)
余数为: R(x)
xn-kM(x)= Q(x)G(x)+R(x)
有:xn-kM(x)+R(x) = Q(x)G(x)
停等ARQ 连续ARQ
1、 Stop-and-Wait ARQ

0
ACK0 1 NAK1 1 2
收 正确 错误 1
超时重发 1 超时重发 3 ACK1 1 正确 正确
重复帧处理
2、 Go-back-N Frame ARQ---典型用于以太网
(1) 接收的数据帧通过差错检测发现帧错误 发 WT = 7 0 1 2 3 1 2 3 4 5 6
CRC校验码:编 码后的数据流
(6)CRC译码方法 设:收到的信息码字多项式为:H(x) 双方协议规定的生成多项式为:G(x) H(x) 则: G(x) 能除尽,传输正确 否 则,传输错误
若传输正确,则H(x) = Q(x)G(x) Q(x)G(x) 显然是可以除尽的,反之,除不尽 G(x) 差错检测性能: 可检测出所有奇数位错; 可检测出所有双比特的错; 可检测出所有小于、等于校验位长度的突发错。
(1) 接收的数据帧通过差错检测发现帧错误
发 WT > 1
0 1 2 3 1 4
5 6
ACK3
7
0
收 WR > 1
0
1
2 3
1 4
5 6
7
ቤተ መጻሕፍቲ ባይዱ
0
暂存 等待1 缓存 号帧 一起交上 层处理
( 2) 当传输的数据帧丢失
超时间隔
超时 重发
发 WT > 1
0
1
2 3
4 1
5 6 7
0
收 WR > 1
0
1
等待1 号帧
ACK
6 0
1
2
收 WR = 1
0
1
2 3
4 5
6 0 1
2
二、差错编码
最常用的差错控制方法是差错控制编码。数 据信息位在向信道发送之前,先按照某种关系附 加上一定的冗余位,构成一个码字后再发送,这 个过程称为差错控制编码过程。接收端收到该码 字后,检查信息位和附加的冗余位之间的关系, 以检查传输过程中是否有差错发生,这个过程称 为检验过程。
采用“就近恢复”原则
(5) Hamming编码: • 将码字的每一位从左向右编号,最左边为第一位; • 凡是编号为2的乘幂的位均是校验位,其余为数据位;
• 将任一数据位的编号按2的最大乘幂展开成和式,和式 中每一项所对应的位均是该数据位的校验位。
• 每个校验位连同所负责的数据位一起构成偶校验。
例如:求ASCII字符“a”的Hamming编码?
(2)线性码: (n-k)位校验码是合法数据码中各位经模2 运算得到的。
(3)循环码: 对于(n-k)线性码,任一合法码字中的 一位循环右移后,仍是该集合的合法码字。 如果:C = Cn-1Cn-2…….C1C0 是合法的 则 :C’ = Cn-2…….C1C0Cn-1 也是合法的
(4)码子多项式: 让数据码字的每一位对应于多项式 中每一位的系数。 如:数据码字: 1010101
则:码字多项式:x6 + x4 + x2 + 1
(5)CRC编码方法 设:要发送的信息码字多项式为:M(x) 双方协议规定的生成多项式为:G(x) 通信系统中,常见的生成多项式标准有: CRC-12 = x12+x11+x3+x2+x1+1 CRC-16 = x16+x15+x2+1 CRC-32 = x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+1 CRC-CCITT = x16+x12+x5+1
收 WR = 1
0
1
2 3
丢弃
1 2
交上 层处 理
3 4
5
6
等待1 号帧
一般地,当差错检测发现第I帧错误,则接收方给出否认帧 信息,发送方退回第I帧,重发第I帧及I帧的后续帧。
( 2) 当传输的数据帧丢失
超时间隔 超时重发
发 WT = 7
0
1
2 3
4 1
2 3 4
5
收 WR = 1
0
1
等待1 号帧
编码效率 =
数据比特数 数据比特数 + 冗余比特数
1、奇偶校验码
奇偶校验编码只需在信息码后附加一个校验元(或 称监督元),使得码组中的“1”数目为偶数或奇数即可。 偶校验:保证校验码中“1”的个数为偶数
1 0 0
1 1 0
0 1
奇校验:保证校验码中“1”的个数为奇数 0 0 0 1 1 0 0 1
相关文档
最新文档