具有自愈功能的自动请求重传方法

文档序号:7549964阅读:375来源:国知局
专利名称:具有自愈功能的自动请求重传方法
技术领域
本发明属于通信技术领域,涉及ー种新型的自动请求重传方法,可应用于数据通信网络。
背景技术
随着通信技术的日益发展和广泛应用,人们对数据可靠性的要求越来越高。因此,在工程设计和应用中,可靠、方便、灵活、高效率的传输控制规程就显得十分重要。传统数据传输可靠性并不高,它只具有检错功能但没有错误重传功能,在数据位出错、接收器的缓冲区不能满足正常工作需要或其他异常情况下,接收器只会简单的丢弃帧,而不给发送端任何反馈;在误码率较高的情况下,传输的可靠性就会大大下降。因此,为在不可靠服务的基础上实现可靠传输,就需要引入具有错误重传功能的链路控制。
·
自动请求重传技术(Automatic repeat request, ARQ)是数据链路层广泛应用的错误纠正协议之一。它通过使用确认和超时这两个机制,在不可靠服务的基础上实现可靠的信息传输。如果发送方在发送后一段时间之内没有收到确认帧,它通常会重新发送。传统自动重传请求分成为三种,即停等式ARQ,回退n帧ARQ,以及选择性重传ARQ,后两种协议又被称为连续ARQ协议。这三者的区别在于对于出错的数据报文的处理机制不同,三种ARQ协议中,复杂性递增,效率也递增。在停等式ARQ中,发送方每发送一帧之后就必须停下来等待接收方的确认,仅当接收方确认正确接收后再继续发送下ー帧,否则重传上ー帧。在回退n帧的ARQ中,发送方首先连续的发送n个报文,当发送方接收到接收方的状态报告指示报文出错后,发送方将重传过去的n个报文。在选择性重传ARQ中,当发送方接收到接收方的状态报告指示报文出错,发送方只发送传送发生错误的报文,并缓存错误帧之后发送的帧。虽然传统的自动请求重传技术已被广泛应用与各个通信领域,但其也存在着ー些不足之处I)传统的自动请求重传机制中,发送方每发送ー帧都需要启动ー个定时器,在连续ARQ协议中,发端需要维护多个计时器,増加了实现的复杂度,造成了一定的资源浪费。2)传统的自动请求重传协议中,若某帧出错,必须持续重传该帧直至该帧被收端正确接收,发端收到该帧的正确反馈后才能继续发送后续新数据,在实际使用中,这会导致过时的无用信息不断占用信道而使后续实时的新帧无法被发送,大大降低了信道的利用率降低。3)传统的自动请求重传机制需要复杂的链路建立,维护以及拆链过程。一旦出现序号异常时还需要对收发双方进行再次同步,否则,可能由于收发双方的不同步造成系统的卡死以至于崩溃。但再同步过程増加了收发双方的实现复杂度。

发明内容
本发明目的是针对上述已有技术存在的问题,提出一种新的带有自愈功能的自动请求重传方法,以减少资源的浪费,避免不必要的重传,降低系统的复杂度提高系统的稳定性。本发明的技术思路是将信道划分为在时间轴上连续且互不重叠的多个周期,收发双方均以周期为单位发送数据及等待反馈。其实现步骤如下(I)发送节点设置反馈丢失次数计数器和重传计数器,并将其值初始化为0 ;(2)发送节点向接收节点发送新数据,并携帯I比特的发送序号,发送完成后保留当前所发送的数据,将等待反馈标志设为有效; (3)接收节点根据收到发送节点发送的数据确定后续操作(3a)接收节点收到发送节点发送的ー个周期的所有数据帧后,先对其进行差错校验,若差错校验显示该周期中所有帧都正确,则执行步骤(3b),若差错校验显示该周期中任何一帧出错,则将该周期中此发送结点的所有帧丢弃,并执行步骤(3c);(3b)接收节点负责维护I比特的待接收序号,将收到的帧中携带的发送序号与待接收序号进行比较若发送序号与待接收序号相同,则将接收该周期中此发送结点的所有帧,并将待接收序号加1,执行步骤(3c);若发送序号与待接收序号不符,则将该周期中此发送结点的所有帧丢弃,保持待接收序号不变,执行步骤(3c);(3c)接收节点每周期给发端返回一个反馈信息,该反馈信息的内容是接收端的待接收序号,若在本周期内接收节点并未收到数据,则将上一周期的反馈信息再次发送。(4)发送节点根据反馈信息进行后续处理(4a)发送节点等待来自接收方的反馈信息,若发送节点本周期并未收到反馈信息,则执行步骤(4b),若发送节点在本周期收到了反馈信息,则执行步骤(4c);(4b)发送节点将反馈丢失次数计数器加1,并判断反馈丢失次数计数器的值是否为M,若该值不等于M,则下周期再次执行步骤(4a),否则立即将旧数据清除,反馈丢失次数计数器清0,发送序号加I,执行步骤(2);(4c)发送节点先对反馈信息进行差错校验,若差错校验显示反馈信息正确,则执行步骤(4d),否则发送节点将反馈丢失次数计数器加1,并判断反馈丢失次数计数器的值是否为M,若该值不等于M,则下周期再次执行步骤(4a),否则立即将旧数据清除,反馈丢失次数计数器清0,发送序号加1,返回步骤(2);(4d)发送节点收到正确的反馈信息时,根据等待反馈标志是否有效进行后续动作若等待反馈标志无效,则将收到的反馈信息丢弃,返回步骤(4b),否则执行步骤(4e);(4e)发送节点首先将等待反馈标志无效设为无效,然后将反馈信息中的待接收序号与自身发送序号进行比较,判断上一周期的帧是否被正确接收若待接收序号与发送序号相同,表示上一周期的帧未被正确接收,则判断重传计数器的值是否为N,若该值不等于N,则将上一周期的数据帧再次发送,将重传计数器加1,下周期再次执行步骤(4a),否则,发送节点不再继续重传,而是将发送序号加1,重传计数器清0,并发送后续新帧,回到步骤(2);若待接收序号与发送序号不同,则无需重传,发送节点将上一周期的帧从缓存中清除,发送后续新数据并将发送序号加1,重传计数器清0,回到步骤(2)。本发明具有如下优点I)接收端每个周期都会向发端进行反馈,发端无需设置定时器,降低了设备资源的浪费。2)在反向信道条件不佳导致反馈信息丢失或出错时,发送方不再发送任何数据,而是等待下一周期的反馈信息到来后再进行决策,因此,避免了不必要的重传。3)在信道情况不佳导致数据帧多次丢失时,应用本发明,只需若干周期时间,即可实现序号的自同歩,无需收发双方多次进行再同歩,即自愈功能,不会出现因乱序而导致的系统崩溃情況,从而增加了系统的稳定性和降低了实现的复杂度。


图1为本发明的整体流程图;图2为本发明中使用的帧格式;图3为本发明中的接收端处理子流程图;图4为本发明中的发送端处理反馈信息子流程图;图5为正向数据和反馈均正确传输时收发双方的交互流程图;图6为正向数据错误,反馈均正确时收发双方的交互流程图;图7为正向数据错误,反馈信息连续丢失2次时收发双方的交互流程图。
具体实施例方式以下參照附图并举例,对本发明进行进一歩的详细说明。參照图1 :本发明的实现流程如下步骤1,发送节点设置反馈丢失次数计数器和重传计数器,并将其值初始化为0 ;步骤2,发送节点向接收节点以图2所示的帧结构发送新数据帧,并在数据帧中携带I比特的发送序号,发送数据帧完成后保留当前所发送的数据。步骤3,接收节点根据收到发送节点发送的数据确定后续操作。參照图3,本步骤的具体实现如下(3a)接收节点收到发送节点发送的ー个周期的所有数据帧后,先对其进行差错校验,若差错校验显示该周期中所有帧都正确,则执行步骤(3b),若差错校验显示该周期中任何一帧出错,则将该周期中的所有帧丢弃,并执行步骤(3c);(3b)接收节点负责维护I比特的待接收序号,将收到的帧中携带的发送序号与待接收序号进行比较若发送序号与待接收序号相同,则将接收该周期中此发送结点的所有帧,并将待接收序号加1,执行步骤(3c);若发送序号与待接收序号不符,则将该周期中此发送结点的所有帧丢弃,保持待接收序号不变,执行步骤(3c);(3c)接收节点每周期给发端返回一个反馈信息,该反馈信息的内容是接收端的待接收序号,若在本周期内接收节点并未收到数据,则将上一周期的反馈信息再次发送。步骤4,发送节点根据反馈信息进行后续处理。參照图4,本步骤的具体实现如下(4a)若发送节点等待反馈标志位有效,则发送节点在等待来自接收方的反馈信息,若发送节点本周期并未收到反馈信息,则执行步骤(4b),若发送节点在本周期收到了反馈信息,则执行步骤(4c);(4b)发送节点将反馈丢失次数计数器加1,并判断反馈丢失次数计数器的值是否为2,若该值不等于2,则下周期再次执行步骤(4a),否则立即将旧数据清除,反馈丢失次数计数器清O,发送序号加I,执行步骤2 ;(4c)发送节点先对反馈信息进行差错校验,若差错校验显示反馈信息正确,则执行步骤(4d),否则发送节点将反馈丢失次数计数器加1,并判断反馈丢失次数计数器的值是否为2,若该值不等于2,则下周期再次执行步骤(4a),否则立即将旧数据清除,反馈丢失次数计数器清0,发送序号加1,返回步骤2 ;(4d)发送节点收到正确的反馈信息时,根据自身上一周期是否有数据帧发送进行后续动作若上一周期并未发送任何数据帧,则将收到的反馈信息丢弃,返回步骤(4b),否则执行步骤(4e);(4e)发送节点将反馈信息中的待接收序号与自身发送序号进行比较,判断上一周期的帧是否被正确接收若待接收序号与发送序号相同,表示上一周期的帧未被正确接收,则判断重传计数器的值是否为3,若该值不等于3,则将上一周期的数据帧再次发送,将重传计数器加1,下周期再次执行步骤(4a),否则,发送节点不再继续重传,而是将发送序号加1,重传计数器清0,并发送后续新帧,回到步骤2 ;若待接收序号与发送序号不同,则无需重传,发送节点将上一周期的帧从缓存中清除,发送后续新数据并将发送序号加1,重传计数器清0,回到步骤2。參照图5,本发明所述步骤(3a)、步骤(4a)以及步骤(4c)中所涉及的接收节点正确接收到数据,发送节点正确接收到反馈信息时收发双方的交互流程如下发送节点向接 收节点发送数据被正确接收;接收节点将待接收序号加I后,向发送节点返回反馈信息,该反馈信息中携帯有接收端的待接收序号;发送节点收到反馈信息后,向接收节点发送新数据中贞。參照图6,本发明所述步骤(3a)、步骤(4a)以及步骤(4c)中所涉及的接收节点未能正确接收到数据,发送节点正确接收到反馈信息时收发双方的交互流程如下发送节点向接收节点发送数据未被正确接收;接收节点保持待接收序号不变,向发送节点返回反馈信息,该反馈信息中携帯有接收端的待接收序号;发送节点收到反馈信息后,向接收节点重新发送上一周期的数据帧。參照图7,本发明所述步骤(3a)、步骤(4a)中所涉及的接收节点一次未能正确接收到数据,发送节点连续两次未能正确接收到反馈信息时收发双方的交互流程如下发送节点向接收节点发送数据未被正确接收;接收节点保持待接收序号不变,向发送节点返回反馈信息,该反馈信息中携帯有接收端的待接收序号;发送节点未收到反馈信息,继续等待;接收节点保持待接收序号不变,向发送节点返回反馈信息,该反馈信息中携帯有接收端的待接收序号;发送节点未收到反馈信息,继续等待;接收节点保持待接收序号不变,向发送节点返回反馈信息,该反馈信息中携帯有接收端的待接收序号;发送节点将发送序号加1,井向接收节点发送新数据帧;接收节点收收到数据帧后,发现其与待接收序号不符,保持待接收序号不变,向发送节点返回反馈信息,该反馈信息中携帯有接收端的待接收序号;发送节点继续将发送序号加1,井向接收节点发送新数据帧。

以上仅为本发明的优选实例,不构成对本发明的任何限制,显然根据本发明的构思本领域的技术人员均可做出不同的修改和置換,但这些均在本发明的保护之列。
权利要求
1.一种新的具有自愈功能的自动请求重传方法,包括如下步骤 (1)发送节点设置反馈丢失次数计数器和重传计数器,并将其值初始化为O; (2)发送节点向接收节点发送新数据,并携带I比特的发送序号,发送完成后保留当前所发送的数据,将等待反馈标志设为有效; (3)接收节点根据收到发送节点发送的数据确定后续操作 (3a)接收节点收到发送节点发送的一个周期的所有数据帧后,先对其进行差错校验,若差错校验显示该周期中所有帧都正确,则执行步骤(3b),若差错校验显示该周期中任何一帧出错,则将该周期中此发送结点的所有帧丢弃,并执行步骤(3c); (3b)接收节点负责维护I比特的待接收序号,将收到的帧中携带的发送序号与待接收序号进行比较若发送序号与待接收序号相同,则将接收该周期中此发送结点的所有帧,并将待接收序号加1,执行步骤(3c);若发送序号与待接收序号不符,则将该周期中此发送结点的所有帧丢弃,保持待接收序号不变,执行步骤(3c); (3c)接收节点每周期给发端返回一个反馈信息,该反馈信息的内容是接收端的待接收序号,若在本周期内接收节点并未收到数据,则将上一周期的反馈信息再次发送。
(4)发送节点根据反馈信息进行后续处理 (4a)发送节点等待来自接收方的反馈信息,若发送节点本周期并未收到反馈信息,则执行步骤(4b),若发送节点在本周期收到了反馈信息,则执行步骤(4c); (4b)发送节点将反馈丢失次数计数器加1,并判断反馈丢失次数计数器的值是否为M,若该值不等于M,则下周期再次执行步骤(4a),否则立即将旧数据清除,反馈丢失次数计数器清O,发送序号加I,执行步骤(2); (4c)发送节点先对反馈信息进行差错校验,若差错校验显示反馈信息正确,则执行步骤(4d),否则发送节点将反馈丢失次数计数器加1,并判断反馈丢失次数计数器的值是否为M,若该值不等于M,则下周期再次执行步骤(4a),否则立即将旧数据清除,反馈丢失次数计数器清O,发送序号加1,返回步骤(2); (4d)发送节点收到正确的反馈信息时,根据等待反馈标志是否有效进行后续动作若等待反馈标志无效,则将收到的反馈信息丢弃,返回步骤(4b),否则执行步骤(4e); (4e)发送节点首先将等待反馈标志无效设为无效,然后将反馈信息中的待接收序号与自身发送序号进行比较,判断上一周期的帧是否被正确接收 若待接收序号与发送序号相同,表示上一周期的帧未被正确接收,则判断重传计数器的值是否为N,若该值不等于N,则将上一周期的数据帧再次发送,将重传计数器加1,下周期再次执行步骤(4a),否则,发送节点不再继续重传,而是将发送序号加1,重传计数器清O,并发送后续新帧,回到步骤(2); 若待接收序号与发送序号不同,则无需重传,发送节点将上一周期的帧从缓存中清除,发送后续新数据并将发送序号加I,重传计数器清O,回到步骤(2 )。
全文摘要
本发明公开了一种具有自愈功能的自动请求重传方法,主要解决现有方法的资源浪费大,不必要重传多,系统复杂度高和稳定性低的问题,其过程包括发送端发送数据帧并为其以1比特进行编号;接收端接收信息,对其进行校验并比较其序号,根据比较结果进行反馈;发送端根据反馈信息调整下次将发送的数据内容及序号。本发明降低了设备资源的浪费,避免了不必要的重传,且在本发明中,若连续出错多次,发送端不再发送旧数据,而是发送新数据并将序号加1,即可自行恢复,不会造成系统的卡死,增加了系统的稳定性,降低了实现的复杂度。
文档编号H04L1/18GK103036661SQ20131000674
公开日2013年4月10日 申请日期2013年1月8日 优先权日2013年1月8日
发明者邱智亮, 张冰, 刘影, 殷玲芝, 颜克洲, 张 诚, 孙汉汶, 贺亮, 张奭, 李红滨 申请人:西安电子科技大学, 北京大学, 北京三梯通网络技术有限公司, 北京翰诺科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1