一种stun隧道管理方法及装置的制造方法

文档序号:9790904阅读:550来源:国知局
一种stun隧道管理方法及装置的制造方法
【技术领域】
[0001 ]本发明涉及通信技术领域,尤其涉及一种STUN隧道管理方法及装置。
【背景技术】
[0002]STUN(Simple Traversal of UDP over NATs,NAT的UDP简单穿越)是一种网络协议,它允许位于NAT(Network Address Translat1n,网络地址转换)或多重NAT后的设备找出自己的公网地址,查出自己位于哪种类型的NAT之后以及NAT为某一个本地端口所绑定的Internet端端口。当两个同时处于NAT路由器之后的主机之间需要建立UDP(User DatagramProtocol,用户数据报协议)通信时,使用STUN穿越技术可以使得两个在不同NAT内网环境下的设备相互建立数据连接并进行网络通信,而不需要通过中间公网服务器进行报文中转,从而实现点对点的传输协议。
[0003]但是由于STUN服务器在每次为NAT两端的设备成功建立连接后,不会维护相关隧道信息,后续需要由NAT两端设备自行来维护相互间建立的隧道,并在使用完成后主动进行关闭,因此导致STUN隧道信息无法集中管理。

【发明内容】

[0004]有鉴于此,本发明提供一种STUN隧道管理方法及装置来解决STUN隧道信息无法集中管理的问题。
[0005]具体地,本发明是通过如下技术方案实现的:
[0006]本发明通过一种STUN隧道管理方法,所述方法应用于MGR服务器,所述方法包括:
[0007]接收客户端发送的隧道建立请求,所述隧道建立请求中包括客户端的标识信息和对端设备的标识信息;
[0008]在本地维护的隧道列表中查找是否存在与所述客户端的标识信息和对端设备的标识信息相匹配的隧道连接;
[0009]当存在与所述客户端的标识信息和对端设备的标识信息相匹配的隧道连接时,将该隧道连接对应的隧道信息下发到所述客户端;
[0010]当不存在相匹配的隧道连接时,将所述客户端与所述对端设备的隧道建立请求上报至STUN服务器并将新建的隧道连接添加至所述隧道列表。
[0011]进一步的,所述在本地维护的隧道列表中查找是否存在与所述客户端的标识信息和对端设备的标识信息相匹配的隧道连接之后,所述方法还包括:
[0012]当不存在与所述客户端的标识信息和对端设备的标识信息相匹配的隧道连接时,判断对端设备是否已绑定公网地址;
[0013]若已绑定公网地址,则将所述公网地址下发到所述客户端,以使所述客户端根据所述公网地址与对端设备建立连接。
[0014]进一步的,所述判断对端设备是否已绑定公网地址之后,所述方法还包括:
[0015]若未绑定公网地址,则判断对端设备与客户端是否在同一NAT中;
[0016]若在同一NAT中,则获取对端设备的私网地址并下发至客户端;
[0017]若不在同一NAT中,则将客户端与对端设备的隧道建立请求上报至STUN服务器,将所述隧道连接添加至所述隧道列表。
[0018]进一步的,所述判断对端设备与客户端是否在同一NAT中,包括:
[0019]获取客户端向对端设备发送的检测报文对应的检测结果,根据检测结果判断客户端与对端设备是否在同一 NAT中。
[0020]进一步的,隧道连接建立后,所述方法还包括:
[0021 ]在所述客户端与对端设备上分别建立UDP套接字,通过所述UDP套接字监控所述隧道连接传输的数据流量;
[0022]当检测到客户端或对端设备下线,或者该隧道的业务流量为零时,关闭所述隧道连接。
[0023]基于相同的构思,本发明还提供一种STUN隧道管理装置,所述装置应用于MGR服务器,所述装置包括:
[0024]请求接收单元,用于接收客户端发送的隧道建立请求,所述隧道建立请求中包括客户端的标识信息和对端设备的标识信息;
[0025]隧道查找单元,用于在本地维护的隧道列表中查找是否存在与所述客户端的标识信息和对端设备的标识信息相匹配的隧道连接;
[0026]信息下发单元,用于在存在与所述客户端的标识信息和对端设备的标识信息相匹配的隧道连接时,将该隧道连接对应的隧道信息下发到所述客户端;
[0027]隧道维护单元,用于在不存在相匹配的隧道连接时,将所述客户端与所述对端设备的隧道建立请求上报至STUN服务器并将新建的隧道连接添加至所述隧道列表。
[0028]进一步的,所述隧道查找单元,包括:
[0029]第一子单元,用于在不存在与所述客户端的标识信息和对端设备的标识信息相匹配的隧道连接时,判断对端设备是否已绑定公网地址;若已绑定公网地址,则将所述公网地址下发到所述客户端,以使所述客户端根据所述公网地址与对端设备建立连接。
[0030]进一步的,所述隧道查找单元,还包括:
[0031]第二子单元,用于在若未绑定公网地址,则判断对端设备与客户端是否在同一NAT中;若在同一NAT中,则获取对端设备的私网地址并下发至客户端;若不在同一NAT中,则将客户端与对端设备的隧道建立请求上报至STUN服务器,将所述隧道连接添加至所述隧道列表。
[0032]进一步的,所述判断对端设备与客户端是否是否在同一NAT中,包括:
[0033]获取客户端向对端设备发送的检测报文对应的检测结果,根据检测结果判断客户端与对端设备是否在同一 NAT中。
[0034]进一步的,隧道建立后,所述装置还包括:
[0035]流量监控单元,用于在所述客户端与对端设备上分别建立UDP套接字,通过所述UDP套接字监控所述隧道连接传输的数据流量;所述隧道维护单元,还用于在检测到客户端或对端设备下线,或者隧道的业务流量为零时,关闭所述隧道连接。
[0036]由此可见,本发明可以通过MGR服务器接收客户端发送的隧道建立请求,并在本地维护的隧道列表中查找是否存在与客户端的标识信息和对端设备的标识信息相匹配的隧道连接;若存在,则将该隧道连接对应的隧道信息下发到客户端;若不存在,则将客户端与对端设备的隧道建立请求上报给STUN服务器进行隧道创建,再将新建的隧道连接添加至隧道列表进行隧道维护。因此本发明可以对隧道进行有效管理及维护,无需客户端增加额外的功能模块,即可提高链路复用率,实现流量控制。
【附图说明】
[0037]图1是本发明一种示例性实施方式中的一种STUN隧道管理方法的处理流程图;
[0038]图2是本发明一种示例性实施方式中的组网架构图;
[0039]图3本发明一种示例性实施方式中的STUN隧道管理装置所在的MGR服务器的硬件结构图;
[0040]图4本发明一种示例性实施方式中的一种STUN隧道管理装置的逻辑结构图。
【具体实施方式】
[0041]通常STUN服务器被实现为与状态无关,因此STUN服务器为NAT两端的设备成功建立连接后,则不会维护相关隧道信息,而是需要由NAT两端设备自行来维护之间隧道连接,并在隧道连接使用完成后主动进行关闭。因此容易造成如下几个问题:
[0042]一是增加了客户端的开发工作,每个客户端都需要增加处理模块用于维护隧道信息;
[0043]二是不利于链路的复用,并且两端设备间的链路用完后,可能短时间内又会使用至IJ,频繁的建立释放同一链路会导致系统整体性能下降;
[0044]三是没有一个整体的流量控制机制,一般NAT内的设备的上行带宽比较有限,对隧道进行流量控制非常有必要。
[0045]为了解决现有技术存在的问题,本发明提供一种STUN隧道管理方法,可以通过MGR服务器接收客户端发送的隧道建立请求,并在本地维护的隧道列表中查找是否存在与客户端的标识信息和对端设备的标识信息相匹配的隧道连接;若存在,则将该隧道连接对应的隧道信息下发到客户端;若不存在,则将客户端与对端设备的隧道建立请求上报给STUN月艮务器进行隧道创建,再将新建的隧道连接添加至隧道列表进行隧道维护。因此本发明可以对隧道进行有效管理及维护,无需客户端增加额外的功能模块,即可提高链路复用率,实现流量控制。
[0046]请参考图1,是本发明一种示例性实施方式中的一种STUN隧道管理方法的处理流程图,其中该方法应用于MGR服务器,所述方法包括:
[0047]步骤101、接收客户端发送的隧道建立请求,所述隧道建立请求中包括客户端的标识信息和对端设备的标识信息;
[0048]在本实施例中,当客户端欲与对端设备建立隧道连接时,可以向MGR服务器发送隧道建立请求,所述隧道建立请求中通常包括该客户端的标识信息以及对端设备的标识信息,例如能够标识设备唯一性的序号等。所述MGR服务器在收到客户端发送的隧道建立请求后,可以
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1