[发明专利]基于UDP的可靠传输方法有效

专利信息
申请号: 201410471513.0 申请日: 2014-09-17
公开(公告)号: CN104202414A 公开(公告)日: 2014-12-10
发明(设计)人: 石杰;张士波;杨敬宇;姚键;潘柏宇;卢述奇 申请(专利权)人: 合一网络技术(北京)有限公司
主分类号: H04L29/08 分类号: H04L29/08
代理公司: 代理人:
地址: 100080 北京市海淀区*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 udp 可靠 传输 方法
【说明书】:

技术领域

 本申请涉及一种网络传输方法,具体地,涉及一种基于UDP,且结合了TCP传输特点的可靠传输方法。

背景技术

目前,在设计网络数据传输方案时,常用到的有TCP(传输控制协议)传输方式和UDP(用户数据报文协议)传输方式。

TCP传输

TCP是一种基于连接的协议,在数据通信之前需要通信双方建立连接,事先为所发送的数据开辟好通道,然后,再进行数据发送。

TCP协议上规定类流控制,确保通信数据可靠、顺序到达目的地,因此有一个三次握手的要求。按照协议规范的要求,实现的路由设备提供相应的支持,并且尽量不丢弃TCP数据,实现协议的系统驱动层进行重发和滑动窗口控制,并且通过增加重发时间减少可能带来的网络堵塞问题。系统提供的API应用上,针对不同的链接分配独立缓冲区,进一步减少可能的丢包问题(由于缓冲区满造成数据无法接受引起数据包丢失问题)。

TCP所支持的协议包括Telnet(远程登录)、FTP(文件传输协议)、SMTP(简单邮件传输协议)等。

UDP传输

UDP是面向非连接的(正式通信前不必与对方建立连接,不管对方状态就直接发送),不能提供可靠性、流控、差错恢复功能。UDP用于一次只传送少量数据,可靠性要求低、传输经济等应用。

UDP没有三次握手的需求,网络设备在通信时,UDP数据拥有比TCP数据更高的优先通信权利,这点使得UDP数据在通信上更加的快速,但是当网络拥堵时,通信设备同样会优先丢弃UDP数据,这种设计方式会导致UDP数据出现丢失的问题,同时协议没有规定相应的流控制方式,自然也不会保证数据的顺序到达。在没有流控制的情况下,UDP数据可能出现丢失、乱序到达的问题,同样由于没有流控制,如果开发控制不当,可能导致数据风暴问题。在系统驱动实现上,由于所有的UDP数据接收时,使用共享的数据缓冲区,设置不当大小的缓冲区,可能会增加数据包的丢失问题,这个就是为什么UDP协议无法实现高并发的服务器原因所在。

UDP支持的应用协议:NFS(网络文件系统)、SNMP(简单网络管理系统)、DNS(主域名称系统)、TFTP(通用文件传输协议)等。

但现有技术中,上述两种传输方法具有一定的缺陷,具体为:对于TCP传输,其速度慢、建立连接需要开销较多(时间,系统资源)、实时性较差。对于UDP传输,传输不可靠、在网络拥堵的情况下容易丢包、数据包无序、重传率高。

特别是在P2P网络中,由于TCP需要对方的IP和端口固定,且能直接访问,而在P2P网络中大部分情况都是,主机挂在交换机或路由器后面,映射出来的外网端口不是固定的,也不能被直接访问,所以,P2P网络大部分采用的都是UDP,而不是TCP。因此,如何能够结合两种网络传输协议的优点,形成一种新的网络传输协议,特别的,能够将这种网络传输协议应用在P2P等无法使用TCP网络传输协议的网络中,成为现有技术亟需解决的技术问题。

发明内容

本发明的目的在于提出一种新的基于UDP的可靠传输方法,使得该方法能够适用于P2P等UDP使用的网络, 既保证传输的效率,又降低了数据的重传率。

为达此目的,本发明采用以下技术方案:

一种基于UDP的可靠传输方法,其特征在于:在UDP传输中,模拟TCP的3次握手,建立连接,具体为:

1)发送端向接收端发送SYN,告诉对方要和它建立连接,同时将自己的状态置为SYN_SEND;

2)当接收方收到SYN消息后,给对方回应ACK,同时在发一个SYN,并将自己的状态置为SYN_RECEIVED;

3)当发送端收到对方的回应ACK和SYN后,再给对方发送一个ACK,同时将自己的状态置为ESTABLISHED;

4)当接收端收到对方的回应ACK后,更新自己的状态为ESTABLISHED,至此双方建立连接。

优选地,在UDP数据传输时,采用如下步骤进行数据传输:

1)对于发送方和接收方,分别分配发送缓冲区和接收缓冲区,用来保存发送和接收的数据;

2)应用层将要传输的数据放到发送缓冲区中,当缓冲区满了,则停止放入,直到有空闲的缓冲区再继续放入;

3)网络层将缓冲区中的数据组上包头,按数据包序号逐个发出去,同时等待接收方回应ack;

4)接收方收到数据包,按照包的序号放到对应的缓冲区位置,并需要根据当前的缓冲区状态,计算出回应的ack_no,即ack序号,给对方回复一个ack消息;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于合一网络技术(北京)有限公司;,未经合一网络技术(北京)有限公司;许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201410471513.0/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top