《计算机通信网 》第3章 数据链路层_第1页
《计算机通信网 》第3章 数据链路层_第2页
《计算机通信网 》第3章 数据链路层_第3页
《计算机通信网 》第3章 数据链路层_第4页
《计算机通信网 》第3章 数据链路层_第5页
已阅读5页,还剩169页未读 继续免费阅读

下载本文档

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

文档简介

第3章数据链路层

*3.1数据链路层概述

3.2成帧与帧定界

3.3差错检测与校正方法

3.4差错与流量控制协议

3.5协议描述与验证

3.6数据链路层协议案例

12012SPLENG

3.1数据链路层概述

-链路层模型

网络层卜参W网络层

本地连接

网络层

3.1数据链路层概述

■DL面临的环境

发送方接收方

可能装入太快

取出跟不上网络层

网络层■

SAP取

数据链路层|数据链路层

帧帧

SAP<H>SAP

物理层物理层

信道有噪声,

bits可能出错

2012SPLENG

3.1数据链路层概述

■链路层模型物理层

实现了把比特传输转换成信号

传输、进入信道。

网络层

需要把一个个分组送到对方网

络层

链路层

组织一个个分组,用比特传输

实现逐个分组的传输和接收

4传输信号2012SPLENG

3.1数据链路层概述

-链路层的基本任务

Service(月艮务)

为上面的实体提供分组传输服务

LinkControl(链路百空制)

双方通过配合,实现:〉

链路的使用规则,流量控制、汇聚分发等

ErrorContix)l(差错控制)

发送:组织DU(frame),方便对方检查错误

、接收:检测DU是否出错,DU出错的处理

Framing(帧同步)

发送:转换成特定的bit传输形式,将Frame送出〉

、接收:界定每个frame的位置,取出frame

mmmmmmmwmiinAsynchronous

Synchronous

BIOCR012SPLENG

3.1数据链路层概述

■链路层任务模型

NetworkLayerDU可用的通信功能DU

62012SPLENG

3.1数据链路层概述

■链路层效率定义

■链路层

■有效数据率r=WiVT(ni;第i帧bit数,T:测量

总时间)

■物理层

■信道的速率Rb/s

■链路层效率:7]=r/R(7]W])

—Minm-M

72012SPLENG

LinkLayerServices

■三种服务的示意图

连接请求

一一

FrameFrame_-----------

连接确认

।Frame

二_ack-

拆除请求

无确认无连接有确认无连接―------------一

^-—

拆除确认

有确认面向连接

2012SPLENG

LinkLayerServices

■三种可能的服务

■无确认的无连接服务

■无需对方许可,直接向对方发送Frame,对方不需要反馈确认信息

■优点:不受等待确认的拖累;缺点:frame传输可靠性不高

■信道效率:不等待确认,可提高信道效率,但传输出错降低信道效率

■协议考虑:PDU中含源/目的地址

■有确认的无连接服务

■无需对方许可,直接向对方发送Frame,需要对方反馈确认信息

■优点:通过重传增加了可靠性;缺点:受等待应答的拖累

-保持发送和确认间的正确对应关系所采取的措施会大大降低信道使用效率

■协议考虑:PDU编号,PDU中含源/目的地址、单帧确认,差错检

测与重传

-有确认的面向连接服务

■需事先与对方沟通,双方建立起一套复杂的发送、确认机制来实现恢复差

错、排除重复、维持顺序的可靠通信

■适合于有大量Frame传输的场合

■协议考虑:PDU编号、确认、差错控制(丢弃错帧和重复帧,请求

重发错帧)

92012SPLENG

3.2成帧Framing穗

-成帧(或帧同步):就是确定帧的界限(起与港

・通俗理解:

■发送方:在帧的前后各加入事先商定好的标记

-接收方:在bits中寻找标记来识别帧的起与止

■需要特别考虑:

-若数据与帧的起止标记相同时,发送方必须采取措施

-否则可能会引起接收方的误断

■成帧方法:「如何分党:"一个

■字符计数法

■字符填充首尾界定法11010110100101101100111101

■位填充首尾界定法11100101010111000101010010

11010101011011010100100100

■物理层编码违例法

102012SPLENG

成帧

-不同传输方式下的帧同步N

・同步传输方式(Sync,连续bit流)

■连续的bit流传递离散的Frame

■每个Frame都成为连续bit流中的一段,接收方识别并取

出Frame

■异步传输方式(Async,异步字节序列)

■每个Frame转换为异步字节序列传送,接收方收集字节

序列,还原Frame

■数据块传输方式(Block)

■每个Frame形成一个数据块传送。

112012SPLENG

Sync信道的帧同步技术

■连续的bit流由若干Frame和它们间的空闲bit组成

■注意:frame中或空闲的bit都只有两种取值:。或1

-关键问题:如何正确识别和提取bit流中的Frame部分?

■思路:假设空闲bit用某种特殊的bit模式(pattern)构成,而

Frame币不会由现该pattern,则接收方就能够正确设别和提

取Frame

■但:应该允许Frame包含任意数据,就肯定包含了这种Pattern。

■若能对Frame中出现的Pattern用某种变换方式消除,接收方提

取由Frame后,再通过反交换,恢复原来的Frame,该假设成

12特殊pattern2012SPLENG

Sync信道的帧同步技术

开始

■发送

开始■接收*检测pattern

*否

发现

明描Framd

是Frame开始

*

否发现H存储数据

是检测

■pattern

Pattern变换

否发现

是Frame结束

否选择

Pattern复原Frame

是■“易于变换

・■易于检'测继续

发送Frame,

■■易于反变换否

*

13结束士,LENG

Sync信道的帧同步技术

■位填充首尾定界法(’0'比特插入/删除技术)夺

■Pattern=mi1111(r称为定界标志F(Flag)

■Frame内F的变换和反变换(利用F中连续6个‘17的性

质)

■变换:

■Frame中如果出现连续5个'工,时,插入一个'0,

■提取

■从第一次出现非F开始,到重新出现F时的所有bit

■反变换

■Frame中出现连续5个时,删除后面的1个'0,

■采用0工工工工工10的特点:

■变换与发送合一:发送连续5个加发一个'0,

厂接收与复原合一:连续接收5个V,下一bi曜楚”妒则

_____上-_」、・_t______I_____-r-tr___________、a、、._」LI_、r、__一__■____■_■_■_■_■___t______I,、、____

成帧

位填充首尾定界法

发送:在帧体部分出现连续5个1,无条件地插入一个0

01111110001010111101111101010111118111001001111110

接收:在帧体中扫描连续5个1,无条件去掉后面的0

00101011110111110101011111011110010

IMH1^'

152012SPLENG

位填充首尾定界法

■位填充(实现示意图)

帧体帧体

__________________入__________________,____________入____________

...01111110011111101001111010110101010111111010101110101110111111001111110...

...01101010...

F检测结果△

接收"0”bit

帧提取

删除移位寄存器

2012SPLENG

位填充首尾定界法告滑

■软件模拟

■intSend(char*pF,intLen){

■inti,j,c,msk,sn;

■sn=0;

■for(i=0;i<Len;i++){//循环帧的字节长度

■msk=1;

■forQ=0;j<8;j++){//8bit

■c=pF[i]&msk?l:0;测试第jbit

■msk<<=1;准备测试下一bit

■Xmitb(c);sn++;

■if(c)cnt++;elseent=0;//计算连续1的个数

■if(ent==5){Xmitb(O);ent=O;sn++;}

■)

■)

■returnsn;//回送发送总bit数

"假定函数Xmitb(c):向信道发送c(1bit)2012SPLENG

Async信道的帧同步技术

■描述

■以字节(8bit)为单位的传输方式

■逐字节传输实现Frame传输

■帧同步讨论

■Frame间留有足够的时间间隔,以区分各个Frame

■对Frame传输能力有较大的影响

■Frame间的时间间隔不够大,帧与帧区分易出错

■两种典型帧同步技术

■字节计数法

■字符填充首尾定界法

□口□□□口阳州口门口miyjUiyi

成帧——字符计数法

■也可称为字节计数法

-假设一个字符由8位二进制数表示

■基本思想

-在帧头的第1个字节指明帧内的字节数

■问题

■字节计数值可能在传输中出错(被篡改)

■简单、不可靠

DATA11101010001011100101010101011101010101011

发送0000010)1110101000101110000001100101010101011101010101011

I错

接收1110101000101110000001100101010101011101010101011

192012SPLENG

字符填充首尾定界法

■思想

■与同步方式的位填充类似,不同的是以字节为单位

■方法:“定界字符”

■在帧体的前后都用某个特定的字节加以“定界”

■帧体中也可能出现该定界字符,通过变换消除

■接收时提取Frame后,通过反变换复原

■局限性:数据的长度总是以字符或其倍数为单位

■定界字符:F(Flag)=01111110

第曾第2帧

A

(\

丽丽匹

PLENG

字符填充首尾定界法1等移

-将F变换为某个其它字节(x)存在问题:下

■帧体中其它字节也可能出现X,反变换X9F时就出错

■Frame体中定界字符的变换方法

■一字节到两字节的变换,变换后帧体中不出现F

■帧体中的F和x都需要变换:F-^xy;x^xz

■y和z是另外选取的两个字符,对y、z不再需要变换

■分析

■若帧体中出现xy

■变换:xy^(xz)y;反变换:xzy—xy,正确复原

■可以验证:对帧体中出现F,x,y,z的任意顺序的组合,只

对其中的所有F和x进行变换,反变换时都能正确复原

212012SPLENG

字符填充首尾定界法

■处理帧体内的特殊字符(RFC工662,异

步PPP)

■F=01111110(7e),定界字符

■X=Oinn(H(7d),称为转义字徉------^B=Frame[i++]

■y=01011110(5e)

■z=01011101(5d)

帧体

帧体填充后

22

I

练习

■分两组:一组成帧,一组提取帧,

■分别用位填充法、计数法、字符填充法进行练习

■F=01111110,X、V、Z可自行定义

■可自定义若干帧来完成该练习

帧1:1001111111100000010111010100001001100011

帧2:110110110000000001100111

帧3:11000101111111111101001011011111

■思考

■字符填充法中,仅用F和x是否能够实现,如能实

现,给出实现方法,如不能实现,请说明不能实

现的理由

232012SPLENG

字符填充首尾定界法

FLAG有效载荷域FLAG

原始字符填充以后

FLAGAESCFLAGB教材

PP.159

AESCBAESCESCB

AESCFLAGBAESCESCESCFLAGB

AESCESCBAESCESCESCESCB

有标志字节作为分界的帧字节填充前后的4个字节序列例子

ENG

块传输信道的帧同步技术

■,

通信方式是块传输方式,每个块就是一个Frame

■块传输方式

■每个Frame都带有前导bit序列(preamble)和后续bit序列

(postamble),以确保Frame的实和尾能正确检测和接收

■因此需要确定:

■Preamble结束和Frame开始的比特位置

■Frame结束和postamble开始的bit位置

■同步技术

■违例编码法:利用信息bit的码型特性,用非正常码型来进行界定位置

postamblepreamble

块传输信道的帧同步技术

■例1:曼切斯特编码(lb/2b,10M以太网)

o=1=违例J=和K=

■Block=010101JKFramebodyKJ010101

■例2:4b/5b编码(100M以太网)

■4bit数据映射成5bit码组

■0000^11110,0001901001,…,1111^11101

■空闲911111,定界符1911000,定界符2f10001

■Block=0UHB]定界符:LFrameBody定界符201010工

■例3:8b/10b编码(1000M以太网)

■8bit数据映射成工Obit码组

■从1024个码组中只需选取256个来代表8bit的各个值

■剩余1024・256个码组可作为控制、定界等多种功能

262012SPLENG

块传输信道的帧同步技术成帧

校验和法

■利用ATM信元固定、且长度较短(53字力的

特性

■信元前4字节是头部,第5字节是校验和,使用循

环冗余校验

■设40位寄存器,计算校验和

■正确则可能发现了一个信元

■不正确则移一位,再次计算,直到得到一个信元

海」信元头.信元体信元头■信元体

Ibo

I

3.2成帧一讨论与理解

■帧定界正确,请问帧一定无错吗?

■一个帧定界出错,请问

■用字符计数法,后续的帧也不能正确识别吗?为什么?

■用字符填充法和位填充法,情况又如何?

■位填充法比字符填充法有哪些优越性?

282012SPLENG

Framing小结

■不同的成帧技术以适应信道的不同传输体制

■需求:

■接收方易于提取、出错时对后续帧的提取影响小

■较高的信道利用率、较简单的实现

■位填充、字符计数、字符填充、违例编码、校验和

■与其它功能的关系

■实现的是信道上传输和接收帧的功能,不涉及帧的内容

■链路层其它功能直接对帧的处理,不受传输体制影响

292012SPLENG

3.3差错检测与纠正

■信道传输过程中(误码:;Of)

■随机干扰:随机错(均匀性)

■突发干扰:突发错(一定的突发长度)

■出错处理

■检错:验证是否出现了误码

■纠错:找到误码的位置,纠正之

原码

...01111110011111101001111010110101010111111010101110101110111111001111110...

出错后3III

0111111001111101001111101101010101111101010111010111111111001111110...

Bit错可能造成:

帧体错——帧错误

定界错——帧错误、帧丢失、多余帧

信道异常(多于个信道失序

3061)-----2012SPLENG

3.3差错检测与纠正

■如何理解数据传输中的差错?

■一位错就等于全帧错

■关于误码率Pb与误帧率Pe

■假设

-帧长度为N比特,误码率为Pb(设每比特出错独立)

■则

■比特正确率为:1-Pb

■N比特正确率为

(1-Pb)'

-帧出错率(误帧率)(一帧中至少一位错)为

N

Pe=1-(1-Pb)«NPb(帧出错的概率与帧成近似成正比)

312012SPLENG

3.3差错检测与纠正

■差错控制,意味着:

-首先检测出差错

-然后是纠正差错

■检测差错

■采用冗余编码技术进行差错检验编码

■纠错码:不仅能检测差错,且能知道错在哪儿

■检错码:只能检测差错,但不知错在哪

■纠正差错

■前向纠错FEC(ForwardErrorCorrection)

■用纠错码,收方检错并自动纠错

■自动请求重发ARQ(AutomaticRequestforRepeat)

■用检错码,收方检错通知发方重发恢复差错

、-计算机网络中常采用

322012SPLENG

3.3差错检测与纠正

・假设

■待传数据为m位

■为检测差错,所需要的冗余位(校验位)为r位

■则

■传输码长度n=m+r

■通常采用纠错码或检错码,即:

■按某种算法计算出校验位

■然后将m位数据和r位校验码形成传输码

■接收方根据相同的算法重新计算校验位,判断是否出错

332012SPLENG

3.3差错检测与纠正

■一种直观简单的纠错方法

■每个bit重传三次:1^111;0^000

■如果3bit中有工bit错,我们可以纠正过来

■101、110>0111111

■001、010、100900090

■如果3bit中有2bit或3bit全错,则无法纠正了

■101今111?000?无法知道是:Lbit还是2bit错

■将每个bit重传2n+l次,n越大,纠错能力越

强(传输效率越低)

■不管n如何取,我们仍不知道是否真的纠正了错误,

34只能认为增大了纠正错误的概率如2SPLENG

3.3.1纠错码海明码

■海明距离(HammingDistance)教材P16^^63

■两个等长码对应位不同的个数,称作这两个码的海明距

■例:0001111和0001100的海明距离为2

■某种编码的任意两个有效编码之间的距离称为该编

码的海明距离

■结论1:检出d个错误的检错码,海明距离至少为d+工

■结论2:纠正d个错误的纠错码,海明距离至少为2d+:L

海明码是一种能纠正一位错的纠错码

352012SPLENG

3.3.1纠错码

■假设

■数据为m位

■则纠正一位错的校验码「满足

m+r+l<2r(证明:P163)

■例如:m=3,3+r+l<2rfr=3

■则海明码码长=m+r=6位

■海明码的编码为r与m的混排方式,规则为:

■检验位r的序号为2的整次幕1,2,4,8,……

■信息位m的序号为2的非整次寨,3,5,6,7…

■rlr21113r4m51Tl62012SPLENG

3.3.1纠错码一海明*

・假设数据为OIL该如何确定海明编码?

■编码应为:rlr21Tl3r41Tl51Tl6

■现已知:m3m5m6=011

-关键是确定rl、r2和r4

■「的计算方法

■首先找出哪些与rl、r2和r4相关的数据位

■将数据位数拆成2的整次塞相加

-如3=1+2fm3与r1和r2相关

■然后将与某r相关的数据位模2加(异或),结果为该r值

■与「工相关的数据位:m3、m5则「工=0㊉1=]

■与「2相关的数据位:m3、m6WiJr2=0©l=l

■与r4相关的数据位:m5>m6则=4=1㊉1=0

■得出:011的海明编码为工10011

372012SPLENG

3.3.1纠错码

■已知:011的海明编码为工工001工(rlr2m3r4m5m

■假设:编码在传输中出了一位错

■110011错成110010

■接收方的纠错规则

-首先:对于每个ri,将ri和与之相关的数据位进行依次异或

■结果为1,则记录Ai=i(i为r的序号)

■结果为0,则记录Ai=O

■然后累加,计算ZAi的值,结果等于几就是该对应位出错

■最后,将出错位取反进行纠错

■计算过程

■rl©m3㊉m5=l©0©1=0Al=0

■r2©m3㊉m6=1㊉0㊉0=1A2=2

■r4©m5®m6=0®1©0=1A4=4

■出错位:SAi=Al+A2+A4=6

■晶I错:110010—110011(差错位取反)2O12SPLENG

3.3.2差错检测

■采用冗余编码技术进行差错检验编码

■基本思想

■发送方:将待发数据按照某种规则加上一定的冗余位后,

进行传输,

■接收方:对收到的数据进行判断,是否符合原规则,若

符合则无错,不符合则出错。

发送方接收方

线路传输

校验C(x)=R(x)

无错

计算校验仍

计算校驶用I

C(x)#R(x)

7出错

校验码R(x)C(x)R(x)

392012SPLENG

3.3.2差错检测一一检错码

■奇偶校验码

■循环冗余码CRC

■校验和编码

402012SPLENG

3.3.2差错检测一一奇偶校验码

■增加冗余位使信息码中的“工”的个数为奇数或偶数

■奇校验:“1”的个数为奇数

■偶校验:的个数为偶数

■具体实现:信息位逐位进行模2加I(异或运算)

■al㊉a2㊉a3㊉a4㊉a5

■结果为0,偶校验时校验位为0,奇校验时,校验位为1

■结果为1,偶校验时校验位为1,奇校验时,校验位为0

■例信息字段奇校验码偶校验码

01100101100100110011

出错为:001001,0、001001A

重新计算校验和:

41不同则出错2012SPLENG

纠正突发错

数据组织成矩阵,

■发送时按列发送

■出现突发错误时,可按行纠正

1加101嗯01010

0D10110001001

100101001010

01001001000010

111010^1010101

422012SPLENG

3.3.2差错检测循环冗余码蒸

■循环冗余码(CRC:1011010

CyclicRedundancy

Code)教材p165~167

-对任意位二进制流,补充,000000(

m11000101

r个011100010模2力口

■用规定的r+1位除数进行求11000101

余计算,得到r位效验码01001110

00000000

■数据与r位效验码组成传输10011100

码组11000101

-发送出去10110010

11000101

"TTTlHTnr

11000101

0101011(

m位数据0000000(

1010110

432012SPLENG

3.3.2差错检测一循环冗余码

10110101010110

CRC校验

■对收到的完整的数11000101I1011010101011C

据帧用发送方相同I11000101

11100000

的r+1位除数进行求11000101

余计算01001011

00000000

■余数为0则无错10010110

11000101

10100111

11000101

11000101

11000101

0000000Q

0000000(1

000000。

442012SPLENG

3.3.2差错检测循环冗余码管

■基于任何一个二进制位串组成的代码,都可以与系

数只为0和1的多项式建立一一对应的关系。

■一个K位的数据可以看成是从xKT〜X。次系数为。和

1的多项式

X4X3X2X1X0

数据:11011

多项式X4+x3+x+1

452012SPLENG

3.3.2差错检测循环冗余码锄

■1)基本思想:

■设:数据m位,对应多项式M(x),校验码为r位,对应多项式R(x)

■给定:生成多项式G(x),阶数为r,r+1位,高位和低位系数为1

■发送方:将M(x)通过G(x)计算出带校验和的传输多项式T(x)

-接收方:将收到的带校验和的多项式T'(x)除以G(x),如有余数,

出错,能除尽,无错

■2)校验码与传输多项式的计算

■STEP1在m位数据之后加上r个0,数据位变成m+r位,对应多项式

X「M(X)

■STEP2计算校验码多项式:xrM(x)/G(x)(对应二进制位串模

2除),余数为校验码,对应多项式为R(x)

■STEP3计算传输多项式:T(x)=xrM(x)+R(x),对应系

数位串为传输数据

462012SPLENG

3.3.2差错检测一循环冗余工

示例:数据:110110

■G(x)=x4+x+1对应位串工001工(除数)

■在数据后加4个0形成1101100000被除数,求余数

校验:

110口11110011

100111101100000100111101100101

C1001110011

v

—►1000010000

1001110011

1100011010

1001110011

1011010011

1001110011

01010~

传输代码(CRC码)为:1101100101余数为口,表示校验正确

472012SPLENG

3.3-2差错检测——冗余循环码疆

■值得注意:

■多项式变为码字时,首位对应最高次,中间的“0”不能丢

■在计算中涉及的和均为模2运算(加、减结果一样,

异或运算,相同为0,相异为工)

■模2除商工的原则:只要被除数的首位为工,且位数与除数相

同则商工,如上例中红色双向箭头处(被除数为10000,除

数为1001工)

482012SPLENG

3.3-2差错检测——冗余循环码耀

■CRC码的检错性能(r个校验位比特)

■所有单个错

-所有2bit错

-所有长度小于或等于r个bit的突发错

■长度为r+1个比特的突发错,漏检率为:1/2^

■长度大于r+工比特的突发错,漏检率为:l/2r

■校验和的计算一般都用硬件实现,有参考电路,也可用软件

实现。硬件计算时是边发边计算,故通常校验和在帧尾。

■常用的CRC多项式:

■CRC-8=x8+x2+x+1

■CRC-12=x12+x11+x3+x2+x+1

■CRC-16=x16+x15+x2+1

■CRC-CCITT=X16+x12+x5+1

■CRC-32

492012SPLENG

3.3-2差错检测——校验和

■校验和Checksum

■C语言:for(i=0;i<N;i++)Sum+=W[i];

■基本思想:

■按一定大小进行累加

■累加结果产生进位,将进位累加到结果中

■最终累加结果取反,获得校验和

数据(16进制)ca73Oc1eca722201

计算16位校验和ca73+Oc1e=d691

d691+ca72=1a103

1a103+2201=1c304

checksum=c304+1=3cfa

校验后的数据:ca73Oc1eca7222013cfa

校验=1+c304+3cfa=1+fffe=02012SPLENG

ErrorControl小结疆

-检错算法

■CRC,二进制异或除法,除数选择重要

■Checksum,模65536力口法,软件实现

■帧末尾附加了r-bit检错码(也称校验码)

-检错能力

■r越大,检错能力越强

■存在坏帧漏检的概率

-应用

■发现并丢弃传输中出现的坏帧,保证继续处理的帧基

本上是正确的

Frame校验码

作业4

1、请写出通常采用的成帧方法及各种成帧法渊

点。假设帧标记符出错,请问哪种成帧方法将

不能检测到后续所有的帧?为什么?

2、如果待传数据为1111111000111111,假

设采用“位填充法”成帧,请写出帧内容。

3、假设待传数据为100101,(1)计算校验位r

的位数;(2)计算出传输该数据的海明码

(要求步骤)

4、假设待传数据为100101,采用CRC编码,假

设生成多项式为G(X)=X4+1,计算出校验

多项式R(X)o

522012SPLENG

3.4差错与流量控制协议

■在计算机网络中,差错控制方式通常采用

自动请求重发(ARQ)

■ARQ基本思想:

-采用检错码进行检错

■丢弃出错的帧

■请求重传出错的帧■ARQ是一种保证PDU可靠传输的技术

■可用于各层协议中,不仅仅限于数据链路层

■对帧进行确认

■例如:

■典型的ARQ协议■X.25网络的网络层、数据链路层

■TCP/IP网络中的传送层

-停等协议

■回退N协议

-选择性重传协议

532012SPLENG

3.4差错与流量控制协议

■3.4.1停一等协议

■3.4.2连续发送的滑动窗口协议的概念

■3.4.3回退N协议

■3.4.4选择性重传协议

■3.4.4双向传输时的确认

■3.4.4流量控制

542012SPLENG

34・工停一等协议

■停一等协议:stopandwaitprotocol

■基本思想:

■每发送一个帧(PDU),停下来等确认(应答)

-收到肯定应答,发送下一个新帧(PDU)

-收到否定应答,重发上次的帧•数据链路层的

链路层链路层PDU也称为帧

•后续讨论中帧

和PDU等同

552012SPLENG

3.4,停一等协议

协议需要考虑以下情况

■帧丢失,将导致:

■接收方收不到PDU

-发送方收不到应答(ACK或NAK)

■应答丢失,将导致:

-发送方收不到应答(ACK或NAK)

■解决办法:设置定时器T,超时重发

T

重传

□重传

562012SPLENG

3・4・1停一等协议

■还有问题要解决:

■连续丢失问题

■重发后仍收不到应答或接收方仍收不到PDU,一直重发下去?

-解决办法:设置重发次数Nmax

■重复收帧问题

■ACK丢失,重发PDU,接收方收到重复帧而不知道

-措施:为PDU编号(01即可区别)

PDU

TT

重传新重传重复PDU

PDU?丢弃

PDU无编号PDU有编号

会出错不出错2012SPLENG

3・4・1停一等协议

■还有问题要解决:

■过早超时问题

■重发定时器T在应答到达发送方之前就超时

-导致接收方正确收到PDU,而发送方仍然重发

■如果过早超时,且ACK无编号,则

■出现发送PDU出错

■措施:对应答编号

■请同学自己分析以下情况:

重复PDU

■过早超时,但和都编号时,

PDUACK丢弃

停等协议将如何工作?

发送方误以为是对PDU

(1)的应答,故下一

温馨提示

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

评论

0/150

提交评论