数据传输类型
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
停止等待协议
发送方
主 机 A AP1
数据帧
接收方
AP2
主 机 B
高层
缓存
帧 数据链路
缓存
数据链路层
V(S)
N(S)
V(R) ACKn
在发送结点
从主机取一个数据帧,送交发送缓存。 V(S)←0。 N(S)←V(S)。 将发送缓存中的数据帧发送出去。 设置超时计时器。 等待。 {等待以下(7)和(8)这两个事件中最先出现的一个} 收到确认帧 ACKn, 若 n = 1 – V(s),则: 从主机取一个新的数据帧,放入发送缓存; V(S)←[1 V(S)],转到 (3)。 否则,丢弃这个确认帧,转到(6)。 (8) 若超时计时器时间到,则转到(4)。 (1) (2) (3) (4) (5) (6) (7)
• 设 n = 5, P = 110101,模 2 运算的结果是: 商 Q = 1101010110, 余数R = 01110。 • 将余数 R 作为冗余码添加在数据 M 的后面 发送出去,即发送的数据是 101000110101110,或 2nM + R。
循环冗余检验的原理说明
1101010110 ← Q 商 除数 P → 110101 101000110100000 ← 2nM 被除数 110101 111011 110101 111010 110101 111110 110101 101100 110101 110010 110101 01110 ← R 余数
需要注意:
(4) 以上讲述的仅仅是连续 ARQ 协议的工作原理。 协议在具体实现时还有许多的细节。例如,用一 个计时器就可实现相当于 N 个独立的超时计时 器的功能。
滑动窗口的概念
• 发送端和接收端分别设定发送窗口和接收窗口 。 • 发送窗口用来对发送端进行流量控制。 • 发送窗口的大小 WT 代表在还没有收到对方确认信 息的情况下发送端最多可以发送多少个数据帧。
差错校验与校正
• 1.奇偶校验
• 2. 方块校验 • 3.循环冗余校验
1.奇偶校验
• 根据一组二进制位中1和0的个数进行校验的方 法 • 又称为垂直冗余校验 • 以字符为单位进行校验 • 低7位为信息字符,最高位为校验位 • 奇校验:
– 校验位使字符代码中的“1”的个数为奇数 – 例:11010110
不允许发送这些帧
接收端设置接收窗口
• 在接收端只有当收到的数据帧的发送序号落入接收 窗口内才允许将该数据帧收下。
• 若接收到的数据帧落在接收窗口之外,则一律将其 丢弃。
• 在连续 ARQ 协议中,接收窗口的大小 WR = 1。
– 只有当收到的帧的序号与接收窗口一致时才能接收该帧。 否则,就丢弃它。 – 每收到一个序号正确的帧,接收窗口就向前(即向右方) 滑动一个帧的位置。同时发送对该帧的确认。
WR (a) 0 1 2 3 4 5 6 7 0 1 2
准备接收 0 号帧 WR (b) 0 已收到 1 2 3 4
不允许接收这些帧
5
6
7
0
1
2
准备接收 1 号帧 WR
不允许接收这些帧
(c)
0
1
2
3
4
5
6
7
0
1
2
已收到
准备接收 4 号帧
不允许接收这些帧
滑动窗口的重要特性
• 只有在接收窗口向前滑动时(与此同时 也发送了确认),发送窗口才有可能向 前滑动。 • 收发两端的窗口按照以上规律不断地向 前滑动,因此这种协议又称为滑动窗口 协议。 • 当发送窗口和接收窗口的大小都等于 1 时,就是停止等待协议。
– – – – 直流脉冲发送 一次仅传输一个信号或信道、独占通信线路容量 随距离增大而迅速衰减,中继器再生和放大信号 必须先编码,用不同的电平代表信号“1”和“0”
1.基带传输
1.非归零编码(NRZ,Non-Return to Zero)
• 正电平代表“1”,负电平代表“0”
• 发收保持同步:另一信道发送同步时钟信号 • 信道中“0”/“1”连续时会产生直流分量 • 使用例:计算机串行口和调制解调器之间
退后N帧 ARQ 协议的工作原理
A B
ACK1 确认 DATA0
超 时 重 传 时 间 ACK2 确认 DATA1 DATA2 出错,丢弃 tout
送交主机
DATA3 不按序,丢弃,重传 ACK2
DATA4 不按序,丢弃,重传 ACK2 DATA5 不按序,丢弃,重传 ACK2 ACK3 确认 DATA2 ACK4 确认 DATA3 送交主机
1.基带传输
2.曼彻斯特编码
•编码规则:
(1)每比特周期分为前后两部分 (2)前半周期传送反码、后半周期传送原码
•比特中有一次电平跳跃(本地时钟 ) •信号中1 / 0的个数相等,信道不含直流分量 •使用例: 10Base以太网
1.基带传输
3.差分曼彻斯特编码
•曼彻斯特编码的改进 •编码规则:
– 周期分为前后两部分,中间的跳变仅起同步作用 – 开始边界是否发生跳变来决定值:
一、数据传输类型 二、差错校验与校正 三、 CRC循环冗余码 四、差错控制机制 五、交换技术 六、数据报与虚电路 七、透明传输
数据传输类型
• 基带传输:数字信号方式
• 频带传输:模拟信号方式
1.基带传输
• 数字基带信号:直流开始未经调制的二进制脉 冲数字信号
• 数字信号基带传输 :在通信线路上直接传输 二进制脉冲“数字基带信号” • 特点:
有跳变,为“0” 无跳变,为“1”
1.基带传输
2.频带传输
• 频带传输:利用模拟信道实现数字信号传输
• 优点:
– 不同频率载波共用信道,信道容量利用充分 – 衰减缓慢,适合远距离传输
• 传输过程:
– 信道:采用某一频率的正(余)弦信号作为载波
– 信源:载波调制(调制器 数字信号→模拟信号)
– 信宿:信号解调(解调器 模拟信号→数字信号)
发送窗口 WT (a)
0
1
2
3
4
5
6
7
0
1
2
允许发送 5 个帧 WT
不允许发送这些帧
(b)
0
1
2
3
4
5
6
7
0
1
2
已发送
还允许发送 4 个帧
WT
不允许发送这些帧
(c)
0
1
2
3
4
wk.baidu.com
5
6
7
0
1
2
已发送
WT (d) 0 1 2 3 4 5 6
不允许发送这些帧
7
0
1
2
已发送 并已收到确认
已发送
还允许发送 3 个帧
帧检验序列 FCS
• 在数据后面添加上的冗余码称为帧检验 序列 FCS (Frame Check Sequence)。 • 循环冗余检验 CRC 和帧检验序列 FCS 并不等同。
– CRC 是一种常用的检错方法,而 FCS 是添 加在数据后面的冗余码。 – FCS 可以用 CRC 这种方法得出,但 CRC 并非用来获得 FCS 的惟一方法。
• 数字信号 • 幅度调制 • 频率调制
• 相位调制
差错校验与校正
• 原因
– 数据在传输过程中,会受到来自信道内外 的干扰与噪声,从而产生差错
• 方法
– 通常可以采用抗干扰编码或纠错编码来提 高抗干扰能力 – 使用各种差错校验方法来检测错误
• 常用差错校验方法
– – – – 奇偶校验 方块校验 循环冗余校 差错控制机制
• 例:
– 盒式磁带机:CRC-16码 – 软磁盘机:CRC-CCITT码 上述两种码型可直接用CRC芯片(如MC8503)来实现
CRC循环冗余码
循环冗余检验的原理
• 在数据链路层传送的帧中,广泛使用了 循环冗余检验 CRC 的检错技术。 • 假设待传送的数据 M = 1010001101(共 k bit)。我们在M的后面再添加供差错检 测用的 n bit 冗余码一起发送。
停止等待协议 ARQ 的优缺点
• 优点:比较简单 。 • 缺点:通信信道的利用率不高,也就是说,信 道还远远没有被数据比特填满。
• 为了克服这一缺点,就产生了另外两种协议, 即连续 ARQ 和选择重传 ARQ。这将在后面 进一步讨论。
连续 ARQ 协议
连续 ARQ 协议的工作原理 • 在发送完一个数据帧后,不是停下来等待确认 帧,而是可以连续再发送若干个数据帧。 • 如果这时收到了接收端发来的确认帧,那么还 可以接着发送数据帧。 • 由于减少了等待时间,整个通信的吞吐量就提 高了。
冗余码的计算
• 用二进制的模 2 运算进行 2n 乘 M 的运算, 这相当于在 M 后面添加 n 个 0。 • 得到的 (k + n) bit 的数除以事先选定好的长 度为 (n + 1) bit 的数 P,得出商是 Q 而余 数是 R,余数 R 比除数 P 至少要少1 个比 特。
冗余码的计算举例
• 偶校验
– 校验位使字符代码中的“1”的个数为偶数 – 例:01010110
2. 方块校验
• 在奇偶校验的基础上,在一批字符之后,增加一 个“方块校验字符” • 使每一纵向位代码中的“1”的个数为奇数或偶数
3. 循环冗余校验
• 方法:
– 生成多项式G(x)=(x+1)G1(x) – 使用发送数据作一个多项式F(x)的系数 – 发送用F(x)/G(x)得到余数多项式系数(循环冗余校 验位) – 接收端用同样的方法求得余数多项式,与传送的比 较,若结果相同,则表示传输无误;否则表示传输 有误
发送窗口的最大值
• 当用 n 个比特进行编号时,若接收窗口 的大小为 1,则只有在发送窗口的大小 WT 2n 1时,连续 ARQ 协议才能正确 运行。 • 例如,当采用 3 bit 编码时,发送窗口的 最大值是 7 而不是 8。
2.频带传输
• 调制参数:振幅A 、角频率ω 、相位Ψ
• 正弦载波信号幅度u 与调制参数的关系
u(t) = A(t)sin(ωt+Ψ)
• 调制方式为:
– 幅度调制 (振幅键控):幅度随数字信号变化
– 频率调制 (移频键控 ):频率随数字信号变化
– 相位调制 (移相键控) :相位随数字信号变化
2.频带传输
差错控制机制
反馈重发方法:
• 停止等待方式 (ARQ协议):传输效率低
发送 →等待应答帧 →(传输无误) →继续发送下一帧 (传输有误) →重新发送错误帧
• 连续工作方式(连续 ARQ 协议)
– 拉回式方式(退后N帧 ARQ 协议): 发现错误,回拉到错误帧重发 – 选择重发方式(选择重传 ARQ 协议) : 发现错误,仅重发错误帧后继续发送
检测出差错
• 只要得出的余数 R 不为 0,就表示检测 到了差错。 • 但这种检测方法并不能确定究竟是哪一 个或哪几个比特出现了差错。 • 一旦检测出差错,就丢弃这个出现差错 的帧。 • 只要经过严格的挑选,并使用位数足够 多的除数 P,那么出现检测不到的差错 的概率就很小很小。
应当注意
• 仅用循环冗余检验 CRC 差错检测技术只能做 到无差错接受(accept)。 • “无差错接受”是指:“凡是接受的帧(即不 包括丢弃的帧),我们都能以非常接近于 1 的 概率认为这些帧在传输过程中没有产生差错”。 • 也就是说:“凡是接受的帧都没有传输差错” (有差错的帧就丢弃而不接受)。 • 要做到“可靠传输”(即发送什么就收到什么) 就必须再加上确认和重传机制。
需要注意:
(3) 结点 A 在每发送完一个数据帧时都要设置该帧的超 时计时器。如果在所设置的超时时间内收到确认帧, 就立即将超时计时器清零。但若在所设置的超时时间 到了而未收到确认帧,就要重传相应的数据帧(仍需 重新设置超时计时器)。 在等不到 2 号帧的确认而重传 2 号数据帧时,虽 然结点 A 已经发完了 5 号帧,但仍必须向回走,将 2 号帧及其以后的各帧全部进行重传。连续 ARQ 又称 为Go-back-N ARQ,意思是当出现差错必须重传时, 要向回走 N 个帧,然后再开始重传。
在接收结点
(1) V(R)←0。 (2) 等待。 (3) 收到一个数据帧; 若 N(S) = V(R),则执行(4); 否则丢弃此数据帧,然后转到(6)。 (4) 将收到的数据帧中的数据部分送交上层软件 (也就是数据链路层模型中的主机)。 (5) V(R)←[1 V(R)]。 (6) n←V(R); 发送确认帧 ACKn,转到(2)。
…
需要注意:
(1) 接收端只按序接收数据帧。虽然在有差错的 2号帧 之后接着又收到了正确的 3 个数据帧,但接收端都 必须将这些帧丢弃,因为在这些帧前面有一个 2 号 帧还没有收到。虽然丢弃了这些不按序的无差错帧, 但应重复发送已发送过的最后一个确认帧(防止确 认帧丢失)。 (2) ACK1 表示确认 0 号帧 DATA0,并期望下次收到 1 号帧;ACK2 表示确认 1 号帧 DATA1,并期望下 次收到 2 号帧。依此类推。