CN103036661B - 具有自愈功能的自动请求重传方法 - Google Patents
具有自愈功能的自动请求重传方法 Download PDFInfo
- Publication number
- CN103036661B CN103036661B CN201310006747.3A CN201310006747A CN103036661B CN 103036661 B CN103036661 B CN 103036661B CN 201310006747 A CN201310006747 A CN 201310006747A CN 103036661 B CN103036661 B CN 103036661B
- Authority
- CN
- China
- Prior art keywords
- sequence number
- received
- cycle
- sending node
- feedback information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 17
- 238000012937 correction Methods 0.000 claims description 15
- 230000005540 biological transmission Effects 0.000 claims description 9
- 230000006870 function Effects 0.000 claims description 7
- 230000009471 action Effects 0.000 claims description 3
- 238000012423 maintenance Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 5
- 239000002699 waste material Substances 0.000 abstract description 4
- 238000011084 recovery Methods 0.000 abstract 1
- 230000003993 interaction Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Landscapes
- Detection And Prevention Of Errors In Transmission (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种具有自愈功能的自动请求重传方法,主要解决现有方法的资源浪费大,不必要重传多,系统复杂度高和稳定性低的问题,其过程包括:发送端发送数据帧并为其以1比特进行编号;接收端接收信息,对其进行校验并比较其序号,根据比较结果进行反馈;发送端根据反馈信息调整下次将发送的数据内容及序号。本发明降低了设备资源的浪费,避免了不必要的重传,且在本发明中,若连续出错多次,发送端不再发送旧数据,而是发送新数据并将序号加1,即可自行恢复,不会造成系统的卡死,增加了系统的稳定性,降低了实现的复杂度。
Description
技术领域
本发明属于通信技术领域,涉及一种新型的自动请求重传方法,可应用于数据通信网络。
背景技术
随着通信技术的日益发展和广泛应用,人们对数据可靠性的要求越来越高。因此,在工程设计和应用中,可靠、方便、灵活、高效率的传输控制规程就显得十分重要。传统数据传输可靠性并不高,它只具有检错功能但没有错误重传功能,在数据位出错、接收器的缓冲区不能满足正常工作需要或其他异常情况下,接收器只会简单的丢弃帧,而不给发送端任何反馈;在误码率较高的情况下,传输的可靠性就会大大下降。因此,为在不可靠服务的基础上实现可靠传输,就需要引入具有错误重传功能的链路控制。
自动请求重传技术(Automatic repeat request,ARQ)是数据链路层广泛应用的错误纠正协议之一。它通过使用确认和超时这两个机制,在不可靠服务的基础上实现可靠的信息传输。如果发送方在发送后一段时间之内没有收到确认帧,它通常会重新发送。
传统自动重传请求分成为三种,即停等式ARQ,回退n帧ARQ,以及选择性重传ARQ,后两种协议又被称为连续ARQ协议。这三者的区别在于对于出错的数据报文的处理机制不同,三种ARQ协议中,复杂性递增,效率也递增。
在停等式ARQ中,发送方每发送一帧之后就必须停下来等待接收方的确认,仅当接收方确认正确接收后再继续发送下一帧,否则重传上一帧。
在回退n帧的ARQ中,发送方首先连续的发送n个报文,当发送方接收到接收方的状态报告指示报文出错后,发送方将重传过去的n个报文。
在选择性重传ARQ中,当发送方接收到接收方的状态报告指示报文出错,发送方只发送传送发生错误的报文,并缓存错误帧之后发送的帧。虽然传统的自动请求重传技术已被广泛应用与各个通信领域,但其也存在着一些不足之处:
1)传统的自动请求重传机制中,发送方每发送一帧都需要启动一个定时器,在连续ARQ协议中,发端需要维护多个计时器,增加了实现的复杂度,造成了一定的资源浪费。
2)传统的自动请求重传协议中,若某帧出错,必须持续重传该帧直至该帧被收端正确接收,发端收到该帧的正确反馈后才能继续发送后续新数据,在实际使用中,这会导致过时的无用信息不断占用信道而使后续实时的新帧无法被发送,大大降低了信道的利用率降低。
3)传统的自动请求重传机制需要复杂的链路建立,维护以及拆链过程。一旦出现序号异常时还需要对收发双方进行再次同步,否则,可能由于收发双方的不同步造成系统的卡死以至于崩溃。但再同步过程增加了收发双方的实现复杂度。
发明内容
本发明目的是针对上述已有技术存在的问题,提出一种新的带有自愈功能的自动请求重传方法,以减少资源的浪费,避免不必要的重传,降低系统的复杂度提高系统的稳定性。
本发明的技术思路是:将信道划分为在时间轴上连续且互不重叠的多个周期,收发双方均以周期为单位发送数据及等待反馈。其实现步骤如下:
(1)发送节点设置反馈丢失次数计数器和重传计数器,并将其值初始化为0;
(2)发送节点向接收节点发送新数据,并携带1比特的发送序号,发送完成后保留当前所发送的数据,将等待反馈标志设为有效;
(3)接收节点根据收到发送节点发送的数据确定后续操作:
(3a)接收节点收到发送节点发送的一个周期的所有数据帧后,先对其进行差错校验,若差错校验显示该周期中所有帧都正确,则执行步骤(3b),若差错校验显示该周期中任何一帧出错,则将该周期中此发送结点的所有帧丢弃,并执行步骤(3c);
(3b)接收节点负责维护1比特的待接收序号,将收到的帧中携带的发送序号与待接收序号进行比较:若发送序号与待接收序号相同,则将接收该周期中此发送结点的所有帧,并将待接收序号加1,执行步骤(3c);若发送序号与待接收序号不符,则将该周期中此发送结点的所有帧丢弃,保持待接收序号不变,执行步骤(3c);
(3c)接收节点每周期给发端返回一个反馈信息,该反馈信息的内容是接收端的待接收序号,若在本周期内接收节点并未收到数据,则将上一周期的反馈信息再次发送。
(4)发送节点根据反馈信息进行后续处理:
(4a)发送节点等待来自接收方的反馈信息,若发送节点本周期并未收到反馈信息,则执行步骤(4b),若发送节点在本周期收到了反馈信息,则执行步骤(4c);
(4b)发送节点将反馈丢失次数计数器加1,并判断反馈丢失次数计数器的值是否为M,若该值不等于M,则下周期再次执行步骤(4a),否则立即将旧数据清除,反馈丢失次数计数器清0,发送序号加1,执行步骤(2);
(4c)发送节点先对反馈信息进行差错校验,若差错校验显示反馈信息正确,则执行步骤(4d),否则发送节点将反馈丢失次数计数器加1,并判断反馈丢失次数计数器的值是否为M,若该值不等于M,则下周期再次执行步骤(4a),否则立即将旧数据清除,反馈丢失次数计数器清0,发送序号加1,返回步骤(2);
(4d)发送节点收到正确的反馈信息时,根据等待反馈标志是否有效进行后续动作:若等待反馈标志无效,则将收到的反馈信息丢弃,返回步骤(4b),否则执行步骤(4e);
(4e)发送节点首先将等待反馈标志无效设为无效,然后将反馈信息中的待接收序号与自身发送序号进行比较,判断上一周期的帧是否被正确接收:
若待接收序号与发送序号相同,表示上一周期的帧未被正确接收,则判断重传计数器的值是否为N,若该值不等于N,则将上一周期的数据帧再次发送,将重传计数器加1,下周期再次执行步骤(4a),否则,发送节点不再继续重传,而是将发送序号加1,重传计数器清0,并发送后续新帧,回到步骤(2);
若待接收序号与发送序号不同,则无需重传,发送节点将上一周期的帧从缓存中清除,发送后续新数据并将发送序号加1,重传计数器清0,回到步骤(2)。
本发明具有如下优点:
1)接收端每个周期都会向发端进行反馈,发端无需设置定时器,降低了设备资源的浪费。
2)在反向信道条件不佳导致反馈信息丢失或出错时,发送方不再发送任何数据,而是等待下一周期的反馈信息到来后再进行决策,因此,避免了不必要的重传。
3)在信道情况不佳导致数据帧多次丢失时,应用本发明,只需若干周期时间,即可实现序号的自同步,无需收发双方多次进行再同步,即自愈功能,不会出现因乱序而导致的系统崩溃情况,从而增加了系统的稳定性和降低了实现的复杂度。
附图说明
图1为本发明的整体流程图;
图2为本发明中使用的帧格式;
图3为本发明中的接收端处理子流程图;
图4为本发明中的发送端处理反馈信息子流程图;
图5为正向数据和反馈均正确传输时收发双方的交互流程图;
图6为正向数据错误,反馈均正确时收发双方的交互流程图;
图7为正向数据错误,反馈信息连续丢失2次时收发双方的交互流程图。
具体实施方式
以下参照附图并举例,对本发明进行进一步的详细说明。
参照图1:本发明的实现流程如下:
步骤1,发送节点设置反馈丢失次数计数器和重传计数器,并将其值初始化为0;
步骤2,发送节点向接收节点以图2所示的帧结构发送新数据帧,并在数据帧中携带1比特的发送序号,发送数据帧完成后保留当前所发送的数据。
步骤3,接收节点根据收到发送节点发送的数据确定后续操作。
参照图3,本步骤的具体实现如下:
(3a)接收节点收到发送节点发送的一个周期的所有数据帧后,先对其进行差错校验,若差错校验显示该周期中所有帧都正确,则执行步骤(3b),若差错校验显示该周期中任何一帧出错,则将该周期中的所有帧丢弃,并执行步骤(3c);
(3b)接收节点负责维护1比特的待接收序号,将收到的帧中携带的发送序号与待接收序号进行比较:若发送序号与待接收序号相同,则将接收该周期中此发送结点的所有帧,并将待接收序号加1,执行步骤(3c);若发送序号与待接收序号不符,则将该周期中此发送结点的所有帧丢弃,保持待接收序号不变,执行步骤(3c);
(3c)接收节点每周期给发端返回一个反馈信息,该反馈信息的内容是接收端的待接收序号,若在本周期内接收节点并未收到数据,则将上一周期的反馈信息再次发送。
步骤4,发送节点根据反馈信息进行后续处理。
参照图4,本步骤的具体实现如下:
(4a)若发送节点等待反馈标志位有效,则发送节点在等待来自接收方的反馈信息,若发送节点本周期并未收到反馈信息,则执行步骤(4b),若发送节点在本周期收到了反馈信息,则执行步骤(4c);
(4b)发送节点将反馈丢失次数计数器加1,并判断反馈丢失次数计数器的值是否为2,若该值不等于2,则下周期再次执行步骤(4a),否则立即将旧数据清除,反馈丢失次数计数器清0,发送序号加1,执行步骤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)中所涉及的接收节点正确接收到数据,发送节点正确接收到反馈信息时收发双方的交互流程如下:
发送节点向接收节点发送数据被正确接收;
接收节点将待接收序号加1后,向发送节点返回反馈信息,该反馈信息中携带有接收端的待接收序号;
发送节点收到反馈信息后,向接收节点发送新数据帧。
参照图6,本发明所述步骤(3a)、步骤(4a)以及步骤(4c)中所涉及的接收节点未能正确接收到数据,发送节点正确接收到反馈信息时收发双方的交互流程如下:
发送节点向接收节点发送数据未被正确接收;
接收节点保持待接收序号不变,向发送节点返回反馈信息,该反馈信息中携带有接收端的待接收序号;
发送节点收到反馈信息后,向接收节点重新发送上一周期的数据帧。
参照图7,本发明所述步骤(3a)、步骤(4a)中所涉及的接收节点一次未能正确接收到数据,发送节点连续两次未能正确接收到反馈信息时收发双方的交互流程如下:
发送节点向接收节点发送数据未被正确接收;
接收节点保持待接收序号不变,向发送节点返回反馈信息,该反馈信息中携带有接收端的待接收序号;
发送节点未收到反馈信息,继续等待;
接收节点保持待接收序号不变,向发送节点返回反馈信息,该反馈信息中携带有接收端的待接收序号;
发送节点未收到反馈信息,继续等待;
接收节点保持待接收序号不变,向发送节点返回反馈信息,该反馈信息中携带有接收端的待接收序号;
发送节点将发送序号加1,并向接收节点发送新数据帧;
接收节点收收到数据帧后,发现其与待接收序号不符,保持待接收序号不变,向发送节点返回反馈信息,该反馈信息中携带有接收端的待接收序号;
发送节点继续将发送序号加1,并向接收节点发送新数据帧。
以上仅为本发明的优选实例,不构成对本发明的任何限制,显然根据本发明的构思本领域的技术人员均可做出不同的修改和置换,但这些均在本发明的保护之列。
Claims (1)
1.一种具有自愈功能的自动请求重传方法,包括如下步骤:
(1)发送节点设置反馈丢失次数计数器和重传计数器,并将其值初始化为0;
(2)发送节点向接收节点发送新数据,并携带1比特的发送序号,发送完成后保留当前所发送的数据,将等待反馈标志设为有效;
(3)接收节点根据收到发送节点发送的数据确定后续操作:
(3a)接收节点收到发送节点发送的一个周期的所有数据帧后,先对其进行差错校验,若差错校验显示该周期中所有帧都正确,则执行步骤(3b),若差错校验显示该周期中任何一帧出错,则将该周期中此发送节点的所有帧丢弃,并执行步骤(3c);
(3b)接收节点负责维护1比特的待接收序号,将收到的帧中携带的发送序号与待接收序号进行比较:若发送序号与待接收序号相同,则将接收该周期中此发送结点的所有帧,并将待接收序号加1,执行步骤(3c);若发送序号与待接收序号不符,则将该周期中此发送结点的所有帧丢弃,保持待接收序号不变,执行步骤(3c);
(3c)接收节点每周期给发送节点返回一个反馈信息,该反馈信息的内容是接收节点的待接收序号,若在本周期内接收节点并未收到数据,则将上一周期的反馈信息再次发送;
(4)发送节点根据反馈信息进行后续处理:
(4a)发送节点等待来自接收节点的反馈信息,若发送节点本周期并未收到反馈信息,则执行步骤(4b),若发送节点在本周期收到了反馈信息,则执行步骤(4c);
(4b)发送节点将反馈丢失次数计数器加1,并判断反馈丢失次数计数器的值是否为M=2,若该值不等于2,则下周期再次执行步骤(4a),否则立即将旧数据清除,反馈丢失次数计数器清0,发送序号加1,执行步骤(2);
(4c)发送节点先对反馈信息进行差错校验,若差错校验显示反馈信息正确,则执行步骤(4d),否则发送节点将反馈丢失次数计数器加1,并判断反馈丢失次数计数器的值是否为M=2,若该值不等于2,则下周期再次执行步骤(4a),否则立即将旧数据清除,反馈丢失次数计数器清0,发送序号加1,返回步骤(2);
(4d)发送节点收到正确的反馈信息时,根据等待反馈标志是否有效进行后续动作:若等待反馈标志无效,则将收到的反馈信息丢弃,返回步骤(4b),否则执行步骤(4e);
(4e)发送节点首先将等待反馈标志设为无效,然后将反馈信息中的待接收序号与自身发送序号进行比较,判断上一周期的帧是否被正确接收:
若待接收序号与发送序号相同,表示上一周期的帧未被正确接收,则判断重传计数器的值是否为N=3,若该值不等于3,则将上一周期的数据帧再次发送,将重传计数器加1,下周期再次执行步骤(4a),否则,发送节点不再继续重传,而是将发送序号加1,重传计数器清0,并发送后续新帧,回到步骤(2);
若待接收序号与发送序号不同,则无需重传,发送节点将上一周期的帧从缓存中清除,发送后续新数据并将发送序号加1,重传计数器清0,回到步骤(2)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310006747.3A CN103036661B (zh) | 2013-01-08 | 2013-01-08 | 具有自愈功能的自动请求重传方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310006747.3A CN103036661B (zh) | 2013-01-08 | 2013-01-08 | 具有自愈功能的自动请求重传方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103036661A CN103036661A (zh) | 2013-04-10 |
CN103036661B true CN103036661B (zh) | 2015-06-24 |
Family
ID=48023181
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310006747.3A Expired - Fee Related CN103036661B (zh) | 2013-01-08 | 2013-01-08 | 具有自愈功能的自动请求重传方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103036661B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105323035A (zh) * | 2014-07-28 | 2016-02-10 | 中兴通讯股份有限公司 | 一种业务处理方法及装置 |
CN106506124B (zh) * | 2015-09-07 | 2019-09-13 | 中国移动通信集团公司 | 重传报文确定方法及装置 |
CN107819811B (zh) * | 2016-09-14 | 2021-05-18 | 阿里巴巴集团控股有限公司 | 数据通信方法、装置及设备 |
CN114220256B (zh) * | 2020-09-03 | 2023-06-27 | 上海市环境科学研究院 | 一种气体采样无线控制协议 |
CN112511536B (zh) * | 2020-11-27 | 2022-10-21 | 北京经纬恒润科技股份有限公司 | 一种通信方法及通信系统 |
CN112738229B (zh) * | 2020-12-29 | 2022-08-12 | 北京航天自动控制研究所 | 一种实现数据自动续传的通信方法 |
CN115051777B (zh) * | 2021-07-31 | 2024-03-12 | 北京正唐科技有限责任公司 | 一种基于tdma组网pmp通信的检错重发实现方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1976269A (zh) * | 2005-11-29 | 2007-06-06 | 阿尔卡特公司 | 数据分组重传和前向纠错装置以及相应的方法 |
JP2008227811A (ja) * | 2007-03-12 | 2008-09-25 | Fujitsu Ltd | 無線通信のハイブリッド自動再送におけるir法による再送制御方式 |
CN102387004A (zh) * | 2010-09-01 | 2012-03-21 | 中兴通讯股份有限公司 | 一种多用户多输入多输出数据重传的计数方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9203562B2 (en) * | 2008-03-07 | 2015-12-01 | Mediatek Inc. | Cooperating timer and retransmission counter for buffer management in a HARQ wireless network |
-
2013
- 2013-01-08 CN CN201310006747.3A patent/CN103036661B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1976269A (zh) * | 2005-11-29 | 2007-06-06 | 阿尔卡特公司 | 数据分组重传和前向纠错装置以及相应的方法 |
JP2008227811A (ja) * | 2007-03-12 | 2008-09-25 | Fujitsu Ltd | 無線通信のハイブリッド自動再送におけるir法による再送制御方式 |
CN102387004A (zh) * | 2010-09-01 | 2012-03-21 | 中兴通讯股份有限公司 | 一种多用户多输入多输出数据重传的计数方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103036661A (zh) | 2013-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103036661B (zh) | 具有自愈功能的自动请求重传方法 | |
CN103036904B (zh) | 一种在通信网络中使用udp协议进行数据可靠传输的方法 | |
JP5432904B2 (ja) | 自動再送要求状況報告のトリガ方法 | |
RU2421918C2 (ru) | Протокол автоматического запроса повторной передачи (arq), имеющий множественные механизмы дополнительной обратной связи | |
CN108632229B (zh) | 一种多连接中的头压缩方法、解头压缩方法及装置 | |
US20080195912A1 (en) | Method of communicatoin | |
CN103647625B (zh) | 一种基于链路的数据可靠传输方法 | |
EP2410690A1 (en) | Method and transmitting unit for reducing a risk of transmission stalling | |
WO2017194015A1 (zh) | 确定反馈时序的方法、装置、设备及存储介质 | |
JP2017524289A (ja) | 無線リソース・スケジューリング方法及び装置 | |
CN101924620A (zh) | 报文重传方法和装置 | |
CN101969371A (zh) | 一种基于用户数据包协议实现网络数据高速可靠传输的方法 | |
CN103873216A (zh) | Wlan组播场景中新型丢包重传机制 | |
CN103873211A (zh) | 一种harq重传和盲检测方法 | |
CN108521316A (zh) | 一种混合自动重传请求方法及装置 | |
CN105391530A (zh) | 一种基于网络编码的卫星网络可靠组播方法 | |
CN101990240B (zh) | 一种无线链路控制层的数据发送方法及数据发送系统 | |
CN102315923B (zh) | 一种3g卫星通信系统无线链路控制方法 | |
CN110601799A (zh) | 一种基于双滑动窗口的链路重传方法及装置 | |
US9510242B2 (en) | Reducing superfluous traffic in a network | |
CN104796235A (zh) | 基于丢包率的卫星通信自适应拥塞控制方法 | |
CN102201901A (zh) | 数据重传方法及装置 | |
Bada | Automatic repeat request (Arq) protocols | |
CN109450714A (zh) | 一种LoRa终端节点及其数据传输方法 | |
CN104821843A (zh) | 一种基于丢包率的卫星通信分段式拥塞控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150624 Termination date: 20220108 |
|
CF01 | Termination of patent right due to non-payment of annual fee |