欢迎来到天天文库
浏览记录
ID:48733830
大小:673.00 KB
页数:58页
时间:2020-01-20
《ch3(3)_常用差错控制方法.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、3.4差错控制方法3.4差错控制方法3.4.1自动请求重发(ARQ)1.停止等待ARQ2.返回N帧(Go-Back-N)ARQ3.选择性重发ARQ3.4.2前向纠错控制方法(FEC)3.4.3混合纠错控制方法(HEC)3.4.4信息反馈3.4.5其它差错控制方式3.5差错控制的性能估算和应用利用我们前面介绍的抗干扰编码(或叫差错控制编码)来控制传输系统的传输差错的方法,称为差错控制。根据抗干扰编码结构的不同和利用抗干扰编码控制差错的方法不同形成了不同的差错控制工作方式。差错控制的两种基本思想:一是通过差错编码,使得接收端译码器能发现错误并准确地判断差错的位置从而自动纠正它们
2、。另一个就是在接收端能够发现错误但无法自动纠错,请求发送端重发数据等方式来达到纠正错误的目的。按照这种基本思想,在数据通信中,利用差错控制编码进行系统传输的差错控制的工作方式可分为四类:自动请求重发(ARQ),前向纠错(FEC),混合纠错(HEC)和信息反馈(IRQ),另外还有诸如像冗余法,多数表决法(重复编码)等,下面分别加以介绍。ARQAutoRequestforRetransmissionFECForwardErrorCorrectionHECHybridErrorCorrectionIRQInformationRepetitionRequest差错控制方式分类3.4
3、.1ARQ:自动请求重发又称反馈重发发送端首先对发送序列(信息码)进行差错编码,生成一个可以检测出错误的校验序列(监督码),然后连同数据一起发送出去;接收端根据校验序列的编码规则判决是否出错,并把判决结果通过反馈通道传回给发送端:(1)ARQ传输差错处理方法通常处理传输差错的办法如下:肯定确认:接收端收到一个帧后未发现错误,回送一个确认信号,用ACK表示。否定确认:用NAK表示。超时重发(Overtime):发送端发出一个帧后开始计时,如果在规定的时间内没有收到确认信号(ACK或NAK),则认为发生帧丢失的或确认信号丢失。必须重发。SourceDestinationACKN
4、AKOvertime(2)ARQ技术ARQ技术结合流量控制又分为三种形式:1.停止等待ARQ(Stop_and_Wait)2.返回N帧ARQ(Go_back_N)3.选择重发ARQ(Selective_Retransmit)3.4.1ARQ:自动请求重发1.停止-等待ARQ2.返回N帧(Go-Back-N)ARQ3.选择性重发ARQ1.停止-等待ARQ(1)基本概念:这是一种结合停止-等待流量控制技术的ARQ技术。发送端:发送一帧数据等待确认(ACK/NAK)重发上一帧或发送下一帧数据获得ACK之前,发送端必须备份已发送的一帧数据Timer:avoidDeadlock
5、framelost接收端:等待接收数据,并校验正确,将接收到的数据帧上交网络层并回送ACK错误,丢弃接收到的数据帧并回送NAK1.停止-等待ARQ细节Deadlock:TimerRepeateddataframe:addNO.fieldinthedataframeGiveupframe:dataframe/ACK、NAK1.停止-等待ARQ状态序号:收发双方都维持一个状态序号,用来记录链路上期待正确接收、确认的帧序号(2)操作要点(P72):初始化:将收发两端状态序号初始化为0状态序号通过1bit的数据来维持即可(序号非0即1)发送端:每送出一个数据帧(数据帧的序号非零即1
6、,第一个数据帧序号为0),将其序号写入本地状态序号(设用V(s)表示)中。1.停止-等待ARQ(两者一至如何,两者不一至如何?)答:若两者一致,则说明是新的数据帧。应该回送确认帧。并且更新本地状态序号,准备接收下一个数据帧。若发现不一致,则说明是重复帧,应该丢弃之,并且不改变状态序号的值,但仍需向发送端回送一个确认帧。而帧的序号应该为刚才收到的数据帧的序号。1.停止-等待ARQ发送端:每收到一个确认帧,将其序号与本地的状态序号相比较。(两者一至如何,两者不一至如何?)答:若两者一至,则说明传输正确,可以发送新的一数据帧,并更新本地状态序号;准备接收下一数据帧。若发现不一至,
7、说明是重复的确认帧,只需丢弃即可,继续等待所期望的确认帧。总结:发送端的状态序号值等于刚发送完的数据帧的序号;而接收端的状态序号表示当前期望接收的数据帧的序号。链路数据传输过程:正常链路数据传输过程:数据帧出错链路数据传输过程:数据帧丢失链路数据传输过程:确认帧丢失停-等ARQ的算法流程SGet1stDatafromNetworkLayerV(s)=0N(s)=V(s)SaveDataFrametoBufferSendBufferedDataFrametoPhysicalLayerStartTimerWaitEve
此文档下载收益归作者所有