计算机通信与网络 第4章_第1页
计算机通信与网络 第4章_第2页
计算机通信与网络 第4章_第3页
计算机通信与网络 第4章_第4页
计算机通信与网络 第4章_第5页
已阅读5页,还剩113页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机通信与网络Computer Telecommunications & Networks数据链路层的数据链路控制和差错控制技术设计-组网第4章数据链路控制“组网”数据链路控制的基本概念4.1数据链路控制技术4.2差错控制技术4.3数据链路控制协议4.44.1数据链路控制的基本概念 数据链路层在物理连接提供的比特流传输服务基础上,构成透明的、相对无差错的数据链路,实现可靠、有效的数据传送。 数据链路层协议负责在物理网络与计算机的协议组之间提供一个接口。 数据电路数据电路数据链路数据链路数据电路数据电路:在传输信道两端加上信号变换设备(如:在传输信道两端加上信号变换设备(如ModemM

2、odem)之后所形成的二进制比特流通路。即数据电路由传输信道加之后所形成的二进制比特流通路。即数据电路由传输信道加DCEDCE组成。组成。数据链路数据链路:在数据电路建立的基础上,在链路协议控制下,:在数据电路建立的基础上,在链路协议控制下,使通信双方正确传输数据的终端设备与传输线路的组合体。使通信双方正确传输数据的终端设备与传输线路的组合体。 电话网ModemModem4.1数据链路控制的基本概念 数据链路与数据电路 数据电路又可称为物理链路或链路 数据链路又称为逻辑链路 数据链路是在数据电路上增加传输控制功能实现的。 只有建立了数据链路,才能真正地实现数据通信。4.1数据链路控制的基本概念

3、 数据链路的基本结构(线路拓扑 ) 点到点链路 多点链路 数据链路层的传送方式: 单工通信 半双工通信(Half Duplex) 全双工通信(Full Duplex) 4.1数据链路控制的基本概念 在链路中,所连接的节点称为“站” 。 发送命令或信息的站称为“主站”,在通信过程中一般起控制作用;接收数据或命令并做出响应的站称为“从站”,在通信过程中处于受控地位。 同时具有主站和从站功能的,能够发出命令和响应信息的站称为复合站。4.1数据链路控制的基本概念点到点链路点到点链路星型点到点链路星型点到点链路在点到点链路中,两端的站可能是主站、从站或在点到点链路中,两端的站可能是主站、从站或复合站。链

4、路可以是不平衡的,或平衡结构。复合站。链路可以是不平衡的,或平衡结构。4.1数据链路控制的基本概念主从式点到多点链路主从式点到多点链路对等式点到多点链路对等式点到多点链路在主从式点到多点链路中,常常是不平衡的;在在主从式点到多点链路中,常常是不平衡的;在对等式点到多点链路中,常使用平衡型链路。对等式点到多点链路中,常使用平衡型链路。4.1数据链路控制的基本概念 数据链路层的目标:在数据链路上提供可靠的信息传输 数据链路层的功能: 链路管理链路管理 帧同步(帧定界)帧同步(帧定界) 流量控制流量控制 数据和控制信息的识别数据和控制信息的识别 差错控制差错控制 透明传输透明传输 寻址寻址4.1数据

5、链路控制的基本概念 数据链路层的协议数据服务单元PDU,即传输和处理的数据单位:帧。 物理层的任务是实现比特流的传送,但不能保证没有错误,需要数据链路层进行差错检测和纠正。 为了便于实现流量控制和差错控制,数据链路层将比特流分解成离散的帧,独立地计算校验和,发送和接收。4.1数据链路控制的基本概念 数据链路层帧的结构,包括需要传输的数据、相应的控制信息、校验信息、帧之间的分隔标志等。 帧的形成方法: 字符计数法 含字节填充的分界符法 含位填充的分界标志法 物理层编码违例法4.1数据链路控制的基本概念 在数据通信中,要求发送方的发送数据速率必须不能超过接收方的接收和处理数据的速率。 当接收方来不

6、及接收和处理数据时,就必须采取相应的措施来控制发送方发送数据的速率。 一般流量控制是由接收方主动控制实现的。4.2数据链路控制技术 开关式流量控制: XON/XOFF, 硬件 协议式流量控制: ARQ自动重发请求 停止等待协议(Stop-and-Wait Protocol ) 滑动窗口协议(Slide Window Protocol ) (1)连续ARQ协议 (2)选择ARQ协议4.2数据链路控制技术1、完全理想化的数据传输2、最简单流量控制的数据链路层协议3、实用的停止等待协议4、连续ARQ协议5、选择ARQ协议4.2数据链路控制技术数据链路层数据链路层主主机机 A缓存缓存主主机机 B数据链

7、路数据链路AP2AP1缓存缓存发送方发送方接收方接收方帧帧高层高层帧帧4.2数据链路控制技术 完全理想化的数据传输所基于的两个假定: 假定1:链路是理想的传输信道,所传送的任何数据既不会出差错也不会丢失。 假定2:不管发送方以多快的速率发送数据,接收方总是来得及收下,并及时上交主机。4.2数据链路控制技术 流量控制的目的: 现代数据通信的交换方式,采用了存储转发的分组交换技术,当接收方的处理能力小于发送方的发送量时,必须采用流量控制。处理单元处理单元没有缓冲空间了!没有缓冲空间了!后面分组丢弃后面分组丢弃 保留上述的第一个假定,即主机A向主机B传输数据的信道仍然是无差错的理想信道。但现在不能保

8、证接收端向主机交付数据的速率永远不低于发送端发送数据的速率,需要流量控制。 由收方控制发方的数据流,是计算机网络中流量控制的一个基本方法。 (1) 从主机取一个数据帧; (2) 将数据帧送到数据链路层的发送缓存; (3) 将发送缓存中的数据帧发送出去; (4) 等待; (5) 若收到由接收结点发过来的确认应答 信息,则从主机取一个新的数据帧, 然后转到(2)。 在发送结点 (1) 等待; (2) 若收到由发送结点发过来的数据帧, 则将其放入数据链路层的接收缓存; (3) 将接收缓存中的数据帧上交主机; (4) 向发送结点发送一个确认信息,表示 数据帧已经上交给主机; (5) 转到(1)。 在接

9、收结点 两种情况的对比(传输均无差错)ABDATADATADATADATA送主机送主机 B送主机送主机 B送主机送主机 B送主机送主机 BABDATA送主机送主机 BDATA送主机送主机 B时时间间不需要流量控制不需要流量控制需要流量控制需要流量控制 在实际的数据传输过程中,由于传输信道特性的不理想和外界干扰的存在,出现传输差错是不可避免的。 传输差错导致接收的数据帧错误,接收方要求发送方重发数据帧。 严重的传输差错还导致数据帧或应答帧丢失,使发送操作不能继续进行,或接收方重复接收数据。时时间间ABDATA0送送主主机机ACKDATA1送送主主机机ACK(a) 正常情况正常情况ABDATA0D

10、ATA0送送主主机机ACK(c) 数据帧丢失数据帧丢失重重传传tout丢丢失失 !ABDATA0送送主主机机ACKDATA0丢丢弃弃ACK(d) 确认帧丢失确认帧丢失重重传传tout丢丢失失 !ABDATA0NAKDATA0送送主主机机ACK(b) 数据帧出错数据帧出错重重传传出错出错 结点A发送完一个数据帧时,就启动一个超时计时器。此计时器又称为定时器。 若到了超时计时器所设置的重传时间 tout而仍收不到结点 B 的任何确认帧,则结点 A 就重传前面所发送的这一数据帧。 一般可将重传时间选为略大于“从发完数据帧到收到确认帧所需的平均时间”。 重传若干次后仍不能成功,则报告差错。 超时重发技

11、术 如果是接收方的应答帧丢失,会导致发送方重复发送,出现重复帧。 每个数据帧带上不同的发送序号。每发送一个新的数据帧就把它的发送序号加 1。 若结点 B 收到发送序号相同的数据帧,就表明出现了重复帧。这时应丢弃重复帧,因为已经收到过同样的数据帧。 但此时结点 B 还必须向 A 发送确认帧ACK,以保证协议正常执行。 重复帧问题 任何一个编号系统的序号所占用的比特数一定是有限的。因此,经过一段时间后,发送序号就会重复。 序号占用的比特数越少,数据传输的额外开销就越小。 对于停止等待协议,由于每发送一个数据帧就停止等待应答,因此用一个比特来编号就够了。 帧的编号问题 一个比特可表示0和1两种不同的

12、序号。数据帧中的发送序号 N(S) 以 0 和 1 交替的方式出现在数据帧中。 每发一个新的数据帧,发送序号就和上次发送的不一样。用这样的方法就可以使收方能够区分开新的数据帧和重传的数据帧了。 帧的发送序号 由于发送端口或传输信道的速率限制,发送一帧需要一定的时间:“发送时延”。 接收一帧的时间和发送一帧的时间相同。发送应答帧,也有“发送时延”。 由于电磁波传输速率的存在,帧在信道中的传送,具有“传播时延”。 接收方收到帧后,差错检验、转交处理,发送方收到应答后,准备发送下一帧,都需要“处理时延” 。ABt0t1t6t7t2t3t4t5Data frameACK frametLt P = t2

13、 t0 = t3 t1 = L / v 传播时延传播时延t F = t1 t0 = t3 - t2 = F / C 发送时延发送时延t A = t5 t4 = A / C 应答帧发送时延应答帧发送时延t proc= t4 - t3 处理时延处理时延 L 节点节点A 与与 B 之间的距离之间的距离 v 信号传播速率信号传播速率 (3 108 m / s) F 数据帧长度数据帧长度 = H + D (帧头数据)(帧头数据) A 应答帧长度应答帧长度 C 数据发送速率数据发送速率 bits/s正常情况信道利用率 U = t D / (tF + tA + 2tP + 2tproc) t D = D/C

14、 ,t F = F/C, t A = A/C U = D /(FA2C( tP + tproc ) 不考虑处理时延和传播时延,及应答帧的开销,则U仅与帧结构相关; 当传播时延较大时,信道利用率很低。非正常情况 忽略应答时延和处理时延,则重传时间为 tout = 2tP 则成功发送一帧的间隔为 tT = tF + 2tP 考虑传输可能出现差错的情况,则正确传送一个数据帧的平均时间为 tav = tT(1 1个帧的平均传送次数)非正常情况 设数据帧出错的概率为p,则 tav = tT(1p) ipi tT = tT (1p) 设每帧平均重发次数为 R = p/(1p) 发送一个帧所需要的信道容量为

15、 Q0R(FCT)(FA2CI)有传输差错影响时,信道利用率为 D U0 = R(F+CT)+( F + A+2CI ) 简化分析,得 以上公式说明,信道利用率与控制信息长度、信道误码率、控制开销有关。 优点:比较简单 。 缺点:通信信道的利用率不高,信道还远远没有被所传输的数据比特填满。 虽然物理层在传输比特时会出现差错,但由于数据链路层的停止等待协议采用了有效的检错重传机制,数据链路层对上面的网络层可以提供可靠传输服务。 停止等待协议的优缺点 为了克服停止等待协议信道利用率低的问题,可以采用滑动窗口控制方法。 当发送完一个数据帧后,不是停下来等待确认帧,而是继续发送若干数据帧。由于在等待确

16、认时可以继续发送数据,减少了信道空闲时间,因而提高了整个通信过程的吞吐量。 滑动窗口流量控制方法 “滑动窗口”机制是实现数据帧传输控制的逻辑过程,它要求通信两端节点设置发送存储单元,用于保存已发送但尚未被确认的帧,这些帧对应着一张连续序号列表,即发送窗口。接收方则有一张接收序号列表,即接收窗口。 滑动窗口流量控制方法1 12 23 34 45 56 67 70 0 后沿后沿 L(W) 前沿前沿H(W)窗口尺寸窗口尺寸 W6 H(W) = L(W) + W1 mod 2n发送窗口发送窗口: 滑动窗口图形表示方法 发送窗口尺寸WT:发送端可以不等待应答而连续发送的最大帧数; 发送窗口后沿L(W):

17、发端最先发出而尚未收到应答的帧序号; 发送窗口前沿H(W):发端最后发出而尚未收到应答的帧序号; 考虑出现差错的可能,WT不能过大。 发送窗口 接收窗口尺寸:接收端允许接收的帧数; 在接收端只有当收到的数据帧的发送序号落入接收窗口内才允许将该数据帧收下。 若接收到的数据帧落在接收窗口之外,则一律将其丢弃。 接收窗口 发送窗口: 后沿后沿 L(W) 前沿前沿H(W) 每发送一帧数据,窗口后沿移动一格; 每接收一帧应答,窗口前沿移动一格; 接收窗口: 每接收一帧数据,窗口后沿移动一格; 每发送一帧应答,窗口前沿移动一格; 窗口滑动规则1 12 23 34 45 56 60 0 只有接收窗口向前滑动

18、时(与此同时也发送了确认),发送窗口才有可能向前滑动。 收发两端的窗口按照以上规律不断地向前滑动,因此这种协议又称为滑动窗口协议。 当发送窗口和接收窗口的大小都等于 1时,就是停止等待协议。 滑动窗口流量控制方法 当发送完一个数据帧后,不是停下来等待确认帧,而是继续发送若干数据帧; 如果收到了接收方发来的确认帧,则发送方可以继续发送数据帧; 如果出现差错,则从出现差错的数据帧开始全部重发。 连续ARQ工作原理 发送窗口的尺寸WT=7(1) 接收端只按序接收数据帧。虽然在有差错的 2号帧之后接着又收到了正确的 4 个数据帧,但接收端都必须将这些帧丢弃,因为在这些帧前面有一个 2 号帧还没有收到。

19、虽然丢弃了这些不按序的无差错帧,但应重复发送已发送过的最后一个确认帧(防止确认帧丢失)。(2) ACK0 表示确认 DATA0 帧,并期望下次收到 DATA1 帧;ACK1 表示确认 DATA1帧 ,期望下次收到 DATA2 帧;依次类推。 在协议式流量控制方式中,确认序号 N(R) 一般表示接收方希望接收的下一帧的序号,实际上也表示对 N(R) 1 帧及其以前各帧的确认。因此在实际应用中常常使用ACK1确认DATA0帧。(3) 结点 A 在每发送完一个数据帧时都要设置该帧的超时计时器。如果在超时时间内收到确认帧,就立即将超时计时器清零,继续发送后续的数据帧。但若在所设置的超时时间到了而未收到

20、确认帧,就要重传相应的数据帧(仍需重新设置超时计时器)。(4) 在重传 2 号数据帧时,虽然结点 A 已经发完了 6 号帧,但仍必须将 2号帧及其以后的各帧全部进行重传。连续 ARQ 又称为Go-back-N ARQ,即 “返回N帧的ARQ”,意思是当出现差错必须重传时,要向回走 N 个帧,然后再开始重传。 发送端和接收端分别设定发送窗口和接收窗口 。 发送窗口用来对发送端进行流量控制。 发送窗口的大小 WT 代表在还没有收到对方确认信息的情况下发送端最多可以发送多少个数据帧。 发送端设置发送窗口01234567012发送窗口发送窗口WT不允许发送这些帧不允许发送这些帧允许发送允许发送 5 个

21、帧个帧(a)01234567012不允许发送这些帧不允许发送这些帧还允许发送还允许发送 4 个帧个帧WT已发送已发送(b)01234567012不允许发送这些帧不允许发送这些帧WT已发送已发送(c)01234567012不允许发送这些帧不允许发送这些帧还允许发送还允许发送 3 个帧个帧WT已发送已发送 已发送已发送并已收到确认并已收到确认(d) 在连续 ARQ 协议中,接收窗口的大小 WR = 1。 只有当收到的帧的序号与接收窗口一致时才能接收该帧。否则,就丢弃它。 每收到一个序号正确的帧,接收窗口就向前(即向右方)滑动一个帧的位置。同时发送对该帧的确认。 接收端设置接收窗口不允许接收这些帧不

22、允许接收这些帧01234567012WR准备接收准备接收 0 号帧号帧(a)不允许接收这些帧不允许接收这些帧01234567012WR准备接收准备接收 1 号帧号帧已收到已收到(b)不允许接收这些帧不允许接收这些帧01234567012WR准备接收准备接收 4 号帧号帧已收到已收到(c)连续连续ARQ协议协议接收窗口接收窗口 只有接收窗口向前滑动时(正确接收并发送了确认),发送窗口才可能向前滑动,流量控制主要由接收方实施。 发送窗口尺寸一般大于1,需要多位编码表示已发送但未被确认的帧序号。 发送窗口大小的理想值:即将发送完窗口中最后一帧时,收到了窗口中第一帧的确认。 接收窗口尺寸等于 1。 当

23、用 n 个比特进行编号时,则只有在发送窗口的大小 WT 2n 1时,连续 ARQ 协议才能正确运行。 例如,当采用 3 bit 编码时,发送窗口的最大值是 7 而不是 8。 在实际应用中,有模8(n=3bit)和模128(n=7bit)两种编码方式。模8采用3位编码,一般用于地面链路通信;模128采用7位编码,一般用于卫星链路通信。 在连续ARQ协议中,如果某个数据帧发生差错,后续的数据帧即使被正确地接收到,也要被丢弃,造成网络资源浪费; 为进一步提高信道的利用率,可设法只重传出错的数据帧或计时器超时的数据帧。 可加大接收窗口,先收下发送序号不连续但仍处在接收窗口中的那些数据帧。等到所缺序号的

24、数据帧收到后再一并送交主机。 选择 ARQ 协议可避免重复传送那些本来已经正确到达接收端的数据帧。 我们付出的代价是在接收端要设置具有相当容量的缓存空间且控制复杂。 选择ARQ工作原理 选择 ARQ 方式,若用 n 比特进行编号,则接收窗口的最大值受下式的约束WR 2n/2 当接收窗口为最大值WR 2n/2时,选择ARQ方式发送窗口WT 2n/2 所谓差错,就是在通信接收端收到的数据和发送端发送的数据不一致的情况。 由于数据通信系统传输特性的不理想和外部干扰的存在,传输中出现差错是不可避免的。 差错控制的目的:用来提高数据传输的可靠性与传输效率 。4.3 差错控制技术 1、差错控制原理 2、差

25、错控制的方式 3、差错控制编码随机差错 原因: 信道热噪声 特点: 随机的、单个的突发差错 原因: 脉冲噪声(如闪电) 特点: 成片的、连续的 差错产生的原因 在发送的数据码元序列中加入监督位,并进行某种变换,使它们和原来相互独立的数据码元之间具有某种约束关系。在接收端检测接收的数据码元和监督码元的约束关系,如果这种约束关系被破坏,则接收端就可以发现传输中的错误,甚至纠正错误。 变换的方法不同,就构成了不同的编码,因而产生不同的差错控制方法。 检错码可以发现传输错误,但不能自动纠正 纠错码可以自动纠正传输错误。 差错控制是以降低效率为代价的。 自动请求重发:接收端在收到的信码中检测出错码时,即

26、设法通知发送端重发。 前向纠错:接收端不仅能在收到的信码中发现有错码,而且能够纠正错码。 混合方式:对少量差错予以自动纠正,而超过其纠正能力的差错则通过重发的方法加以纠正。 信息反馈:接收端将收到的信码原封不动地转发回发送端,并与原发送信码相比较。 在二进制编码中,设: 消息长度 k 比特,冗余信息 r 比特 实际传输长度为 n 比特,n=k+r 则 2k t ) ,则编码集的汉明距离至少为 e + t + 1;汉明距离与纠错检错能力汉明距离与纠错检错能力例1 数据 编码 0 0 00 000 1 1 11 111汉明距离 d=1 d=2 d=3例例2 000000 000111 111000

27、 111111收到收到0101114 1 5 2恢复恢复000111汉明距离与纠错检错能力汉明距离与纠错检错能力 检错码 恒比码 正反码 奇偶校验码 循环冗余码(CRC) 纠错码 汉明码(Hamming) 线性分组码 线性码:信息位和监督位为线性关系。 分组码:监督位仅与本组信息位有关。 系统码:前半部为未变化的信息位,后半部为生成的监督位。 线性分组码的性质 封闭性:任意两个有效码组之和(模2加)仍为一个有效码组。 码的最小距离等于非零码最小重量。 码长为n,信息位为k, 则监督位数 r = n -k 称为(n,k)海明码的编码效率为4/7。 r个监督位构造出r个监督关系式来指示一位错码的n

28、 种可能位置: 2r 1 n 或 2r k + r + 1 汉明码 汉明码S1 S2 S3 出错码S1 S2 S3 出错码 0 0 0 无差错0 1 1 c30 0 1 c01 0 1 c40 1 0 c11 1 0 c51 0 0 c21 1 1 c6 S1= c6 c5 c4 c2 S2= c6 c5 c3 c1 S3= c6 c4 c3 c0 汉明码偶校验关系 c2= c6 c5 c4 c1= c6 c5 c3 c0= c6 c4 c3 汉明码校验位生成式 例假如在接收端收到码字0000011,请判断是否有错?如何纠正? 解:按以上校正因子的计算式 可得: S1= c6 c5 c4 c2

29、=0, S2= c6 c5 c3 c1=1, S3= c6 c4 c3 c0=1, 因为三个校正因子不全为0,说明码字有错,错误位置为S=S1S2S3=011=3,即信息位c3有错,将c3上的0变为1,即可纠正错误。最后去掉校验位,得到正确信息位为0001。 汉明码 循环冗余码 (CRC)是一种特殊的线性分组码。 循环冗余码各码组中的码元循环左移(或右移),所形成的码组仍然是一个许用码组(全零码组除外),称为循环性。 循环冗余码具有较高的检错能力。 循环冗余码(CRC)例如例如 A A4 4=0111001=0111001,对应的码多项式为,对应的码多项式为 :码多项式码多项式 (n(n,k)

30、k)循环码中,为了便于描述与计算,经常使用循环码中,为了便于描述与计算,经常使用 n-1 n-1 次次 码多项式来表示码字,码字码多项式来表示码字,码字 A =aA =an-1n-1 a an-n-2 2 a a1 1 a a0 0 ,它对应的码多项式为:,它对应的码多项式为:01222211)(axaxaxaxaxAnnnn11001110)(345234564xxxxxxxxxxA 在在(n(n,k)k)循环码中,存在循环码中,存在惟一惟一的最高的最高幂次为幂次为(n-k)(n-k),最多,最多 k-1k-1 个个连续连续的的 0 0 项,项,且且常数项必须为常数项必须为1 1 的码多项式

31、的码多项式g(x)g(x),此,此码多项式的幂次最低(码多项式的幂次最低(0 0 元除外);其元除外);其它所有的码多项式都能被它所有的码多项式都能被g(x)g(x)整除;并整除;并且且g(x)g(x)是是 x xn n+1 +1 的一个因式。的一个因式。 g(x)g(x)称为称为该编码集的该编码集的生成多项式生成多项式。生成多项式生成多项式 g(x)g(x)CRC-16 CRC-CCITTCRC-321)(21516xxxxg1)(51216xxxxg1)(245781011121622232632xxxxxxxxxxxxxxxg 标准生成多项式选择 r 阶生成多项式 G(x) ,rnk在数

32、据帧末尾加 r 个0,形成多项式 xrM(x) xrM(x) R(x) G(x) G(x)移项得: xrM(x) R(x) Q(x) G(x) 发送循环码多项式 T(x) = xrM(x) R(x)检错标准:接收端检测T(x) / G(x)是否为零 Q(x) 循环冗余码循环冗余码CRC的编码和检错的编码和检错例1:设信息流为10110011 , G(X)= X4+X+1,即10011101100110000100111010110010011010100000010101100110100 余数余数10110011 0100发送信息流为:发送信息流为:例2 :CRC检错 数据帧 1101011

33、011( M(x) ,m=10 ) 生成多项式G(x) = x4 + x + 1(r=4) 生成多项式也可表示为 10011 以2为模的除法:11010110110000 /10011 = 1110 发送帧 11010110111110(以2为模的减法) 接收端检测:1101011011 /10011 = 0 在数据后面添加上的冗余码称为帧检验序列 FCS (Frame Check Sequence)。 循环冗余检验 CRC 和帧检验序列 FCS并不等同。 CRC 是一种常用的检错方法,而 FCS 是添加在数据后面的冗余码。 FCS 可以用 CRC 这种方法得出,但 CRC 并非用来获得 FC

34、S 的惟一方法。 循环冗余码(CRC) 得出的余数 R 不为 0,就表示检测到差错。但这种检测方法并不能确定究竟是哪一个或哪几个比特出现了差错。 一旦检测出差错,就丢弃这个出现差错的帧。 只要经过严格的挑选,并使用位数足够多的除数 P,那么出现检测不到的差错的概率就很小很小。 循环冗余码(CRC) 仅用循环冗余检验 CRC 差错检测技术只能做到无差错接受(accept)。 “无差错接受”是指:“凡是接受的帧(即不包括丢弃的帧),我们都能以非常接近于 1 的概率认为这些帧在传输过程中没有产生差错”。 要做到“可靠传输”(即发送什么就收到什么)就必须再加上确认和重传机制。 循环冗余码(CRC) 数

35、据链路控制协议的作用 数据链路层控制功能的具体体现,使通信变得比较可靠。 数据链路控制规程的作用:4.4数据链路控制协议l帧控制 l透明传送 l流量控制 面向字符的数据链路控制规程 基本型(如BSC,二进制同步通信) 高级(DDCMP,数字数据通信报文规程) SLIP 和 PPP 面向比特的数据链路控制规程 IBM SDLC ISOHDLC CCITT(ITU-T)LAPB4.4数据链路控制协议同步通信的数据链路控制分为两类同步通信的数据链路控制分为两类 站的定义: 主站:允许发送控制报文 从站:在主站控制下操作,回复响应 复合站:具有主、从站双重功能 链路配置: 不平衡:用于点点或点多点链路

36、 平衡:用于点点链路 NRM 正常响应模式 只有主站才能发起向从站的数据传输,从站只能响应主站的询问。 ARM 异步响应模式 允许从站发起向主站的数据传输,但主站仍然负责全程的初始化。 ABM 异步平衡模式 任一复合站均可发送、接收命令/响应 HDLC的帧结构FFA CIFCSF 帧标志帧标志 01111110A 地址字段地址字段C 控制字段控制字段I 信息字段信息字段FCS 帧校验序列帧校验序列N(S)0N(R)N(R)0 1TYPETYPETYPE11ISUP/FP/FP/FFFA C FCS短帧短帧长帧长帧信息信息 Info标志标志 F标志标志 F地址地址 A控制控制 C帧检验序列帧检验

37、序列 FCS帧帧 Frame HDLC的帧结构 标志字段 F (Flag) 为 6 个连续 “1 ”加上两边各一个 “0 ”共 8 bit。在接收端只要找到标志字段就可确定一个帧的位置。 比特比特888可变可变168信息信息 Info标志标志 F标志标志 F地址地址 A控制控制 C帧检验序列帧检验序列 FCS透明传输区间透明传输区间FCS 检验区间检验区间 标志字段 F HDLC 采用零比特插入法使一帧中两个 F 字段之间不会出现 6 个连续 1。 在发送端,当一串比特流数据中有 5 个连续 1 时,就立即插入一个 0。 在接收帧时,先找到 F 字段以确定帧的边界。接着再对比特流进行扫描。每当

38、发现 5 个连续 1 时,就将其后的一个 0 删除,以还原成原来的比特流。 零比特插入法 零比特的插入与删除数据中某一段比特组合恰好数据中某一段比特组合恰好出现和出现和 F 字段一样的情况字段一样的情况0 1 0 0 1 1 1 1 1 1 0 0 0 1 0 1 0会被误认为是会被误认为是 F 字段字段发送端在发送端在 5 个连个连 1 之后之后插入插入 0 比特再发送出去比特再发送出去填入填入 0 比特比特0 1 0 0 1 1 1 1 1 0 1 0 0 0 1 0 1 0在接收端将在接收端将 5 个连个连 1 之后之后的的 0 比特删除,恢复原样比特删除,恢复原样在此位置删除填入的在此

39、位置删除填入的 0 比特比特0 1 0 0 1 1 1 1 1 0 1 0 0 0 1 0 1 0 HDLC透明传输 采用零比特插入/删除法可传送任意组合的比特流,或者说,可以实现数据链路层的透明传输。 当连续传输两个帧时,前一个帧的结束标志字段 F 可以兼作后一帧的起始标志字段。 当暂时没有信息传送时,可以连续发送标志字段,使收端可以一直和发端保持同步。 HDLC帧结构 地址字段 A 不平衡配置:从站地址 平衡配置:应答站地址 控制字段 C 说明帧的类型、功能 信息帧I:数据传送,包含信息字段 监督帧S:监视和控制数据传送 无编号帧U:数据链路的控制和管理 信息字段 I 高层信息,长度可变

40、帧校验序列 FCS 差错控制,CRC校验 信息帧 LSB 为 0表明该帧是信息帧。 N(S) 号表明该帧的发送一个帧号。 N(R)号表明该帧的发送者期望接收的下一个帧号。(对N(R) 1 及以前各帧的确认) 3比特编码表示为模 8 方式。 利用信息帧携带确认信息可提高传送效率。P/F0N(R)N(S)N(R)N(R)N(R)P/FP/FP/FRR0 0RNR0 1REJ1 00 10 10 1N(R) P/F1 10 1SREJ 监视帧 SN(R) 用于向发送方确认接收端所收到帧的序号。用于向发送方确认接收端所收到帧的序号。 N(R)表示该帧的发送者期望接收的下一个帧的序表示该帧的发送者期望接

41、收的下一个帧的序号,同时对号,同时对N(R) 1及以前各帧确认。及以前各帧确认。监视帧用于数据传送阶段,实现流量控制和监视帧用于数据传送阶段,实现流量控制和差错控制,保证数据传输的正常进行。差错控制,保证数据传输的正常进行。 RR Receiver Ready 接收端准备好接收端准备好 RNR Receiver Not Ready 接收端未准备好接收端未准备好 REJ Reject帧拒绝(连续帧拒绝(连续ARQ) SREJ Select Reject选择拒绝(选择选择拒绝(选择ARQ) 监视帧 S RR帧 是一种标准应答,表示接收端已作好接收准备,发送方可发送信息帧 。 RNR 帧用来通知对方

42、停止发送任何帧,直到发送RR帧为止,同时确认前面发送的帧。 REJ 帧是用于拒绝收到出错的帧。 SREJ用于要求选择重发出错的帧。 HDLC监视帧的作用LSB 为 11表明该帧是无编号帧(U帧) 无编号帧 P0011111F0001111F1000111F0110011P0100011SABMDMFRMRUADISC 无编号帧的控制字段中没有N(S) 、N(R) 序号。 无编号帧的控制字段中有5位,可以实现32种编码,用来表示帧的功能,实际只使用了十几种。 无编号帧一般用于链路建立、拆除控制和异常情况处理。 无编号帧 在TCP/IP协议族中,串行线路网际协议(SLIP)和点到点协议(PPP)是

43、专门用于调制解调器和其它直接连接的,它不需要进行介质访问控制,提供完整的数据链路层功能。用户使用拨号电话线接入因特网时,一般都是使用 SLIP或PPP 协议。 SLIP 和 PPP 由于SLIP在协议识别和差错控制等方面的不足,现在使用得最多的是点到点协议 PPP (Point-to-Point Protocol)。 1992 年制订了 PPP 协议。经过 1993 年和 1994 年的修订,现在的 PPP协议已成为因特网的正式标准RFC 1661。 SLIP 和 PPP PPP协议有三个组成部分 将 IP 数据报封装到串行链路的方法。 链路控制协议 LCP (Link Control Protocol)。 网络控制协议 NCP (Network Control Protocol)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论