一种基于UDP的可靠传输的连接管理方法技术

技术编号:13328454 阅读:99 留言:0更新日期:2016-07-11 18:39
一种基于UDP的可靠传输的连接管理方法,包括连接建立:通过三次握手机制建立一个基于UDP的可靠传输的连接;连接保活:通过定时向远程主机发送PING消息,然后等待远程主机的确认消息以获取连接存活性;连接断开:通过向远程主机发送一个断开连接消息来断开已建立的连接,或者当连接超时时,断开已建立的连接。本发明专利技术提供一种可靠性良好的基于UDP的可靠传输的连接管理方法。

【技术实现步骤摘要】

本专利技术涉及在基于UDP的可靠传输上建立一种连接管理机制,是一种基于UDP的可靠传输的连接管理方法
技术介绍
TCP由IETF制定的一个传输层的控制协议,它是面向连接的、基于字节流的、可靠的传输控制协议。TCP是层位于IP层之上,应用层之下的中间层。它为应用层提供可靠的数据传输、拥塞控制等功能。和TCP不同的是,UDP是由IETF制定的一个面向无连接的、基于数据报的、不可靠的传输层协议。UDP协议本身非常简单,来自应用层的数据传递给UDP并封装在UDP数据报中。然而UDP不具有可靠的数据传输、流量控制和拥塞控制。这些工作通常要交给上层应用完成,从而增加了上层应用的复杂度。随着互联网技术的快速发展,网络应用增长速度飞快。应用对网络的要求也越来越高。通常游戏应用要求网络具有较低的延时且能够频繁地收发数据。而TCP并不适用于这种情形,因为它具有较高的延时和流方向。但UDP又缺少某些TCP功能,例如可靠性机制、序列号机制和连接管理等。所以UDP本身也不适合这种情况。应用可以同时使用UDP和TCP以便获取两者的功能。但是,由此产生的协议组合仍然有很多不足之处。例如TCP缺乏通过建立多路套接字来完成多路通信,由于其缓冲机制使得TCP的包划分十分复杂。UDP缺乏序列号机制、连接管理和带宽资源管理。并且限制了数据包的大小。因此采用UDP协议进行可靠数据传输的方法近年来获得了迅速的发展。
技术实现思路
为了克服现有基于UDP传输方法的可靠性较差的不足,本专利技术提供一种可靠性良好的基于UDP的可靠传输的连接管理方法。本专利技术解决其技术问题所采用的技术方案是:一种基于UDP的可靠传输的连接管理方法,所述连接管理方法是介于UDP层和应用层之间的中间层的连接管理方法,所述连接管理方法包括以下过程:1)连接建立,用于在两个对等主机之间建立起一个基于UDP的可靠传输的连接;本地主机主动发起建立一个连接,通过向远程主机发送一个请求连接消息,请求连接消息中包含了本地主机的相关信息;当远程主机接收到本地主机发来的请求连接消息时,会在对等主机列队中选取一个未使用的对等主机存放请求连接消息中的相关信息,然后向本地主机发送一个认证连接消息,认证连接消息中包含了远程主机的相关信息;当本地主机接收到远程主机发回的认证连接消息后,保存认证连接消息中的相关信息,然后将对等主机的状态设置为已连接并向远程主机发送一个确认信息;远程主机接收到该确认消息后,将对等主机的状态设置为已连接,连接建立成功;2)连接保活,用于保活在两个对等主机之间已建立的、基于UDP的、可靠传输的连接;本地主机定时向远程主机发送一个PING消息,然后等待相应的确认信息;当超过往返超时值还没收到确认消息时,则重传该消息。当超过最大超时值还没有收到确认消息时,则认为网络断开,执行相应的断开连接操作;3)连接断开,用于断开在两个对等主机之间已建立的、基于UDP的、可靠传输的连接。进一步,所述基于UDP的可靠传输的连接建立是通过三次握手机制实现,过程如下:1.1)首先本地主机向远程主机发送一个请求连接消息,请求连接消息中包含了上行对等主机号、上下行会话状态ID、相关参数值(例如带宽、最大传输单元等相关参数值A/B/C/D)、连接ID和数据;1.2)当远程主机接收到该请求连接消息后,将上行对等主机号、连接ID和数据保存到对等主机中,并根据请求连接消息中的上下行会话状态ID协商一组上下行会话状态ID并将其保存到对等主机中,然后根据远程主机的相关参数协商一组参数并将该组参数保存到对等主机中;然后向本地主机发回一个认证连接消息;认证连接消息中包含了上行对等主机号、协商好的上下行会话状态ID、相关参数值和连接ID;1.3)当本地主机接收到远程主机发回的认证连接消息后,保存认证连接消息中的上行对等主机号、上下行会话状态ID;然后根据本地主机相关参数协商一组参数值并将该组参数更新到对等主机中;然后将对等主机状态设置为已连接,并向远程主机发送一个确认消息;当远程主机接收到该确认消息后,将对等主机的状态设置为已连接,连接建立成功。再进一步,当与本地主机相连的远程主机同时满足以下4个条件时,则调用PING子程序创建一个PING消息插入到待发送可靠消息列队中发送,然后等待远程主机的确认消息,所述4个条件如下:(1)待发送可靠消息列队为空或未找到满足发送条件的可靠消息;(2)已发送可靠消息列队为空;(3)当前时间值和上次接收时间值相差大于PING时间间隔;(4)当前数据包还可以再容纳一个PING消息。所述步骤3)中,发送端周期性调用检查超时函数,该函数用于计算当前时间与已发送待确认消息的发送时间值之差,如果其差值超过往返超时值时,则将PING消息从已发送可靠消息列队移至待发送可靠消息列队前端等待发送,并将往返超时值增加一倍;如果其差值超过最大超时值还未收到确认消息时,则认为网络断开,重置对等主机信息并将对等主机状态重置为未连接,连接断开。所述步骤3)中,断开连接的过程如下:3.1)当执行强制断开连接时,本地主机首先清空对等主机的各个消息列队,然后向远程主机发送一个断开连接消息,并标志该消息不需要远程主机确认。最后重置对等主机信息,并将对等主机状态重置为未连接。远程主机在接收到该断开连接消息时,重置对等主机信息并将对等主机状态重置为未连接,连接断开;3.2)当执行请求断开连接时,本地主机首先清空对等主机的各个消息列队,然后向远程主机发送一个断开连接消息;(i)如果远程主机处于已连接或稍后断开连接状态时,则标志该断开连接消息需要确认,然后等待远程主机的确认消息。当远程主机接收到请求断开连接消息后,向本地主机发送一个确认消息,然后重置对等主机信息并将对等主机状态重置为未连接;当本地主机接收到该确认消息后,重置对等主机信息并将对等主机状态重置为未连接,连接断开;(ii)如果远程主机处于其他状态时,则标志该消息不需确认,重置对等主机信息并将对等主机状态设置为未连接;当远程主机接收到该断开连接消息后,重置对等主机信息并将对等主机状态重置为未连接,连接断开;3.3)当执行稍后断开连接时,等待待发送列队中的消息发送完成之后再进行请求断开连接操作;3.4)当一个需确认消息经过最大超时值本文档来自技高网
...

【技术保护点】
一种基于UDP的可靠传输的连接管理方法,其特征在于:所述连接管理方法是介于UDP层和应用层之间的中间层的连接管理方法,所述连接管理方法包括以下过程:1)连接建立,用于在两个对等主机之间建立起一个基于UDP的可靠传输的连接;本地主机主动发起建立一个连接,通过向远程主机发送一个请求连接消息,请求连接消息中包含了本地主机的相关信息;当远程主机接收到本地主机发来的请求连接消息时,会在对等主机列队中选取一个未使用的对等主机存放请求连接消息中的相关信息,然后向本地主机发送一个认证连接消息,认证连接消息中包含了远程主机的相关信息;当本地主机接收到远程主机发回的认证连接消息后,保存认证连接消息中的相关信息,然后将对等主机的状态设置为已连接并向远程主机发送一个确认信息;远程主机接收到该确认消息后,将对等主机的状态设置为已连接,连接建立成功;2)连接保活,用于保活在两个对等主机之间已建立的、基于UDP的、可靠传输的连接;本地主机定时向远程主机发送一个PING消息,然后等待相应的确认信息;当超过往返超时值还没收到确认消息时,则重传该消息。当超过最大超时值还没有收到确认消息时,则认为网络断开,执行相应的断开连接操作;3)连接断开,用于断开在两个对等主机之间已建立的、基于UDP的、可靠传输的连接。...

【技术特征摘要】
1.一种基于UDP的可靠传输的连接管理方法,其特征在于:所述连
接管理方法是介于UDP层和应用层之间的中间层的连接管理方法,
所述连接管理方法包括以下过程:
1)连接建立,用于在两个对等主机之间建立起一个基于UDP的
可靠传输的连接;
本地主机主动发起建立一个连接,通过向远程主机发送一个请求
连接消息,请求连接消息中包含了本地主机的相关信息;当远程主机
接收到本地主机发来的请求连接消息时,会在对等主机列队中选取一
个未使用的对等主机存放请求连接消息中的相关信息,然后向本地主
机发送一个认证连接消息,认证连接消息中包含了远程主机的相关信
息;当本地主机接收到远程主机发回的认证连接消息后,保存认证连
接消息中的相关信息,然后将对等主机的状态设置为已连接并向远程
主机发送一个确认信息;远程主机接收到该确认消息后,将对等主机
的状态设置为已连接,连接建立成功;
2)连接保活,用于保活在两个对等主机之间已建立的、基于UDP
的、可靠传输的连接;
本地主机定时向远程主机发送一个PING消息,然后等待相应的
确认信息;当超过往返超时值还没收到确认消息时,则重传该消息。
当超过最大超时值还没有收到确认消息时,则认为网络断开,执行相
应的断开连接操作;
3)连接断开,用于断开在两个对等主机之间已建立的、基于UDP

\t的、可靠传输的连接。
2.如权利要求1所述的基于UDP的可靠传输的连接管理方法,其特
征在于:所述基于UDP的可靠传输的连接建立是通过三次握手机制
实现,过程如下:
1.1)首先本地主机向远程主机发送一个请求连接消息,请求连
接消息中包含了上行对等主机号、上下行会话状态ID、相关参数值、
连接ID和数据;
1.2)当远程主机接收到该请求连接消息后,将上行对等主机号、
连接ID和数据保存到对等主机中,并根据请求连接消息中的上下行
会话状态ID协商一组上下行会话状态ID并将其保存到对等主机中,
然后根据远程主机的相关参数协商一组参数并将该组参数保存到对
等主机中;然后向本地主机发回一个认证连接消息;认证连接消息中
包含了上行对等主机号、协商好的上下行会话状态ID、相关参数值
和连接ID;
1.3)当本地主机接收到远程主机发回的认证连接消息后,保存
认证连接消息中的上行对等主机号、上下行会话状态ID;然后根据
本地主机相关参数协商一组参数值并将该组参数更新到对等主机中;
然后将对等主机状态设置为已连接,并向远程主机发送一个确认消
息;当远程主机接收到该确认消息后,将对等主机的状态设置为已连
接,连接建立成功。
3.如...

【专利技术属性】
技术研发人员:徐志江万玉铸华惊宇孟利民
申请(专利权)人:浙江工业大学
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1