[发明专利]一种基于反向请求的可靠UDP的实现方法在审
申请号: | 201410200683.5 | 申请日: | 2014-05-14 |
公开(公告)号: | CN103957169A | 公开(公告)日: | 2014-07-30 |
发明(设计)人: | 王庚 | 申请(专利权)人: | 上海复兰信息科技有限公司 |
主分类号: | H04L12/813 | 分类号: | H04L12/813;H04L12/823;H04L12/861 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 200233 上海市徐*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 反向 请求 可靠 udp 实现 方法 | ||
技术领域
本发明属于计算机的数据传输技术领域,特别是涉及一种基于反向请求的可靠UDP的实现方法。
背景技术
UDP:UDP是User Datagram Protocol的简称,中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联)参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,IETF RFC768是UDP的正式规范。UDP在IP报文的协议号是17。
TCP:Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。TCP/IP定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的协议来完成自己的需求。通俗而言:TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台电脑规定一个地址。
线程(Thread):线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致使线程在运行中呈现出间断性。线程也有就绪、阻塞和运行三种基本状态。每一个程序都至少有一个线程,若程序只有一个线程,那就是程序本身。线程是程序中一个单一的顺序控制流程。在单个程序中同时运行多个线程完成不同的工作,称为多线程。
现有的IP数据传输基本上都采用可靠数据传输协议TCP,或者非可靠的用户数据报文传输协议UDP的模式,UDP传输具有占有系统小,传输效率高,时延低等优势而被广泛用于IP数据传输的解决方案中,但是UDP是一种非可靠的IP数据传输协议。为了充分利用UDP的优势,针对UDP提出了很多不同的方法来提升UDP的可靠性,比方说UDT方法就是一种类似于TCP的基于正向传输、确认、重发的方法。基于UDP协议传输的IP数据包,接收端需要在接收到数据包后向数据源发送确认,从而解决UDP的传输中存在的可靠性问题。
发明内容
本发明方法解决的是IP数据包在UDP传输模式下的可靠传输,并提供了完整的解决方法。
一种基于反向请求的可靠UDP的实现方法,包括以下步骤:
数据发送端在线发送数据包,发送端所有发送的数据将会被缓存;
数据接收端通过接收缓存策略接收到数据包后,由接收端的丢包检测策略检测并判断丢包后向发送端发出数据包的重传请求;
数据发送端接收到来自数据接收端的重传请求,则根据重传请求处理重发数据包。
优选地,所述数据包中定义了数据包的顺序号和类型,发送端定义一个全局的无符号的整形自增变量,当系统发送数据包时,将使用该全局变量的值赋予数据包的顺序号,同时将该全局变量加1。
优选地,所述发送数据包的缓存分为一级缓存和二级缓存,一级缓存满,所有数据被二级缓存至本地的磁盘文件,并释放当前一级缓存空间。
优选地,所述接收端的接受缓存策略为采用数组队列来管理当前接收到的数据包。
优选地,所述丢包检测策略中还引入计时器和时间检测触发策略。
优选地,所述计时器由独立的线程来管理,当数据包被标识为期望接收,则启动一个倒数的计时器,如果计时器的技术到0,且该数据包仍然被标识为期望接收则该数据包被标识为丢包,此时,可以向数据发送端反向请求该数据包,同时重置该期望数据包的计时器。
优选地,所述时间检测触发策略将任何已接收到的数据包的后一个顺序号标识为期望接收数据包,并启动计时器,对于任意发送和接收端之间的数据通信,通信中最后一个数据包总会被检测到。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海复兰信息科技有限公司,未经上海复兰信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410200683.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:车铣复合机双主轴结构
- 下一篇:一种汽缸垫产品半自动组装系统