[发明专利]一种在通信网络中使用UDP协议进行数据可靠传输的方法有效
| 申请号: | 201210579144.8 | 申请日: | 2012-12-27 |
| 公开(公告)号: | CN103036904A | 公开(公告)日: | 2013-04-10 |
| 发明(设计)人: | 宫尚;周利满;李明江;陈池 | 申请(专利权)人: | 东方通信股份有限公司 |
| 主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L12/861 |
| 代理公司: | 浙江杭州金通专利事务所有限公司 33100 | 代理人: | 刘晓春 |
| 地址: | 310053 浙*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 通信 网络 使用 udp 协议 进行 数据 可靠 传输 方法 | ||
技术领域
本发明涉及一种在通信网络中进行数据传输的方法,尤其涉及一种使用UDP协议进行数据可靠传输的方法。
背景技术
互联网技术已经得到了普及应用,在各种各样的通信网络中也越来越多地使用了互联网技术。传统的互联网数据传输协议TCP协议和UDP协议各有优缺点,对此的描述已在申请号为200910193881.2的中国专利文件(下称文件A)的背景技术部分记载,此处不再详细描述。为解决基于UDP协议的数据传输的不可靠问题,文件A给出了具体的解决方案,即使用UDP协议进行可靠数据传输的方法。但是,文件A中所述的使用UDP协议进行数据传输的方法仍具有如下缺点:
1、文件A所述技术方案,没有考虑发送端与接收端之间对发送数据报文与确认报文之间的预定时间进行协商的过程,因此只适用于通信速率一致的网络。然而实际情况下,很多通信网络的通信状态并不一致,比如通信网络中的某一部分中继采用了卫星链路,由于卫星链路延时很大,这一部分的预定时间就必须比采用其他中继方式的部分的预定时间多很多,否则就会出现传输无法建立或者频繁重传的问题。
2、文件A所述技术方案,只适用于服务器或类似的资源丰富的设备。该方案中,应用层发送给通信层数据都保存到队列,应用层不能根据通信层实际情况停止发送。那么,如果链路不能及时恢复,对于资源匮乏的嵌入式设备将很快导致设备资源耗尽。
3、文件A所述方案中,对于数据报文的确认报文,单纯采用定时回复的方式。当单向传输数据量很大时,会因为不能及时得到确认报文而导致重传,从而造成通信资源浪费。
4、文件A所述方案,接收端的数据接收采用应用层轮询方式,影响系统效率。
5、文件A所述方案,在链路重新建立时,队列中的报文序号重新分配影响应用层工作。
总之,文件A所述方案具有很大的局限性,在通信带宽和设备资源都充裕的互联网网络可以得到应用,却难以适应通信网络中存在各种不同技术和不同设备的复杂情况。
发明内容
本发明的目的是克服现有技术方案的不足,提供一种在通信网络中使用UDP协议的数据可靠传输方法。为此,本发明采用以下技术方案:
它首先由数据包发送端与接收端之间进行连接握手,数据包发送端通信层通知应用层可靠性传输通道建立;在数据包传输过程中,数据包发送端通信层通过心跳机制检测传输通道的通道状态,如果通道状态发生变化则通知应用层;数据包传输包括以下过程:
(1)发送端通信层设立发送缓存队列和重传队列,应用层发送的数据包到达通信层后,每个数据包封装上包含应用层标识的协议头并统一编排序号进入发送缓存队列,发送缓存队列中的数据包采用先入先出的方式,数据包由通信层传输后,从发送缓存队列删除所发的数据包,将其保存到重传队列中,发送端通信层在收到接收端包含数据包序号的数据传输确认报文后将已确认的数据包从重传队列中删除;
(2)接收端通信层设立接收缓存队列,接收端通信层将接收到的数据包存入接收缓存队列中,向发送端回应数据传输确认报文,此过程中,若接收缓存队列中数据包最小序号符合期望序号,则解析该最小序号数据包的协议头,按照应用层标识将数据包传送给接收端应用层,将此数据包从接收缓存队列中删除,并更新期望序号;
(3) 过程(1)和过程(2)重复执行,直至所有数据包传送完毕,数据包发送端与接收端之间关闭传输通道。
进一步的技术方案是,如果传输通道的通道状态发生变化,采用如下步骤:
步骤一,若传输通道出现链路故障,通知应用层停止向通信层发送数据包;
步骤二,若传输通道的链路恢复,通知应用层继续发送数据包。
故障时通知应用层停止向通信层发送数据包,可以防止通信层用于缓存数据包的资源被耗尽。
进一步的技术方案是,过程(2)接收端通信层同时采用两种方法向发送端回应数据传输确认报文:
方法一,定时法,每隔预定时间就回应一个数据传输确认报文;
方法二,窗口法,规定数据包数量作为一个窗口,当窗口的数据包数量要求得到满足时,回应一个数据传输确认报文。
在本发明方案中,同时采用定时法和窗口法向发送端回应数据传输确认报文,可以保证数据传输确认报文被及时回复,减少发送端重传。当发送端发送数据包很多时,在定时器到期前窗口法可以及时回复确认数据;当发送端发送数据包很少时,虽然没有达到窗口回应数量,定时器可以及时回复数据传输确认报文。
进一步的技术方案是,所述连接握手过程采用如下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东方通信股份有限公司,未经东方通信股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210579144.8/2.html,转载请声明来源钻瓜专利网。





