CN105553809A - 一种stun隧道管理方法及装置 - Google Patents
一种stun隧道管理方法及装置 Download PDFInfo
- Publication number
- CN105553809A CN105553809A CN201510898275.6A CN201510898275A CN105553809A CN 105553809 A CN105553809 A CN 105553809A CN 201510898275 A CN201510898275 A CN 201510898275A CN 105553809 A CN105553809 A CN 105553809A
- Authority
- CN
- China
- Prior art keywords
- tunnel
- client
- opposite equip
- identification information
- public network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2521—Translation architectures other than single NAT servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种STUN隧道管理方法及装置,所述方法应用于MGR服务器,所述方法包括:接收客户端发送的隧道建立请求,所述隧道建立请求中包括客户端的标识信息和对端设备的标识信息;在本地维护的隧道列表中查找是否存在与所述客户端的标识信息和对端设备的标识信息相匹配的隧道连接;当存在与所述客户端的标识信息和对端设备的标识信息相匹配的隧道连接时,将该隧道连接对应的隧道信息下发到所述客户端;当不存在相匹配的隧道连接时,将所述客户端与所述对端设备的隧道建立请求上报至STUN服务器并将新建的隧道连接添加至所述隧道列表。因此本发明可以对隧道进行有效管理及维护,无需客户端增加额外的功能模块,即可提高链路复用率,实现流量控制。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种STUN隧道管理方法及装置。
背景技术
STUN(SimpleTraversalofUDPoverNATs,NAT的UDP简单穿越)是一种网络协议,它允许位于NAT(NetworkAddressTranslation,网络地址转换)或多重NAT后的设备找出自己的公网地址,查出自己位于哪种类型的NAT之后以及NAT为某一个本地端口所绑定的Internet端端口。当两个同时处于NAT路由器之后的主机之间需要建立UDP(UserDatagramProtocol,用户数据报协议)通信时,使用STUN穿越技术可以使得两个在不同NAT内网环境下的设备相互建立数据连接并进行网络通信,而不需要通过中间公网服务器进行报文中转,从而实现点对点的传输协议。
但是由于STUN服务器在每次为NAT两端的设备成功建立连接后,不会维护相关隧道信息,后续需要由NAT两端设备自行来维护相互间建立的隧道,并在使用完成后主动进行关闭,因此导致STUN隧道信息无法集中管理。
发明内容
有鉴于此,本发明提供一种STUN隧道管理方法及装置来解决STUN隧道信息无法集中管理的问题。
具体地,本发明是通过如下技术方案实现的:
本发明通过一种STUN隧道管理方法,所述方法应用于MGR服务器,所述方法包括:
接收客户端发送的隧道建立请求,所述隧道建立请求中包括客户端的标识信息和对端设备的标识信息;
在本地维护的隧道列表中查找是否存在与所述客户端的标识信息和对端设备的标识信息相匹配的隧道连接;
当存在与所述客户端的标识信息和对端设备的标识信息相匹配的隧道连接时,将该隧道连接对应的隧道信息下发到所述客户端;
当不存在相匹配的隧道连接时,将所述客户端与所述对端设备的隧道建立请求上报至STUN服务器并将新建的隧道连接添加至所述隧道列表。
进一步的,所述在本地维护的隧道列表中查找是否存在与所述客户端的标识信息和对端设备的标识信息相匹配的隧道连接之后,所述方法还包括:
当不存在与所述客户端的标识信息和对端设备的标识信息相匹配的隧道连接时,判断对端设备是否已绑定公网地址;
若已绑定公网地址,则将所述公网地址下发到所述客户端,以使所述客户端根据所述公网地址与对端设备建立连接。
进一步的,所述判断对端设备是否已绑定公网地址之后,所述方法还包括:
若未绑定公网地址,则判断对端设备与客户端是否在同一NAT中;
若在同一NAT中,则获取对端设备的私网地址并下发至客户端;
若不在同一NAT中,则将客户端与对端设备的隧道建立请求上报至STUN服务器,将所述隧道连接添加至所述隧道列表。
进一步的,所述判断对端设备与客户端是否在同一NAT中,包括:
获取客户端向对端设备发送的检测报文对应的检测结果,根据检测结果判断客户端与对端设备是否在同一NAT中。
进一步的,隧道连接建立后,所述方法还包括:
在所述客户端与对端设备上分别建立UDP套接字,通过所述UDP套接字监控所述隧道连接传输的数据流量;
当检测到客户端或对端设备下线,或者该隧道的业务流量为零时,关闭所述隧道连接。
基于相同的构思,本发明还提供一种STUN隧道管理装置,所述装置应用于MGR服务器,所述装置包括:
请求接收单元,用于接收客户端发送的隧道建立请求,所述隧道建立请求中包括客户端的标识信息和对端设备的标识信息;
隧道查找单元,用于在本地维护的隧道列表中查找是否存在与所述客户端的标识信息和对端设备的标识信息相匹配的隧道连接;
信息下发单元,用于在存在与所述客户端的标识信息和对端设备的标识信息相匹配的隧道连接时,将该隧道连接对应的隧道信息下发到所述客户端;
隧道维护单元,用于在不存在相匹配的隧道连接时,将所述客户端与所述对端设备的隧道建立请求上报至STUN服务器并将新建的隧道连接添加至所述隧道列表。
进一步的,所述隧道查找单元,包括:
第一子单元,用于在不存在与所述客户端的标识信息和对端设备的标识信息相匹配的隧道连接时,判断对端设备是否已绑定公网地址;若已绑定公网地址,则将所述公网地址下发到所述客户端,以使所述客户端根据所述公网地址与对端设备建立连接。
进一步的,所述隧道查找单元,还包括:
第二子单元,用于在若未绑定公网地址,则判断对端设备与客户端是否在同一NAT中;若在同一NAT中,则获取对端设备的私网地址并下发至客户端;若不在同一NAT中,则将客户端与对端设备的隧道建立请求上报至STUN服务器,将所述隧道连接添加至所述隧道列表。
进一步的,所述判断对端设备与客户端是否是否在同一NAT中,包括:
获取客户端向对端设备发送的检测报文对应的检测结果,根据检测结果判断客户端与对端设备是否在同一NAT中。
进一步的,隧道建立后,所述装置还包括:
流量监控单元,用于在所述客户端与对端设备上分别建立UDP套接字,通过所述UDP套接字监控所述隧道连接传输的数据流量;所述隧道维护单元,还用于在检测到客户端或对端设备下线,或者隧道的业务流量为零时,关闭所述隧道连接。
由此可见,本发明可以通过MGR服务器接收客户端发送的隧道建立请求,并在本地维护的隧道列表中查找是否存在与客户端的标识信息和对端设备的标识信息相匹配的隧道连接;若存在,则将该隧道连接对应的隧道信息下发到客户端;若不存在,则将客户端与对端设备的隧道建立请求上报给STUN服务器进行隧道创建,再将新建的隧道连接添加至隧道列表进行隧道维护。因此本发明可以对隧道进行有效管理及维护,无需客户端增加额外的功能模块,即可提高链路复用率,实现流量控制。
附图说明
图1是本发明一种示例性实施方式中的一种STUN隧道管理方法的处理流程图;
图2是本发明一种示例性实施方式中的组网架构图;
图3本发明一种示例性实施方式中的STUN隧道管理装置所在的MGR服务器的硬件结构图;
图4本发明一种示例性实施方式中的一种STUN隧道管理装置的逻辑结构图。
具体实施方式
通常STUN服务器被实现为与状态无关,因此STUN服务器为NAT两端的设备成功建立连接后,则不会维护相关隧道信息,而是需要由NAT两端设备自行来维护之间隧道连接,并在隧道连接使用完成后主动进行关闭。因此容易造成如下几个问题:
一是增加了客户端的开发工作,每个客户端都需要增加处理模块用于维护隧道信息;
二是不利于链路的复用,并且两端设备间的链路用完后,可能短时间内又会使用到,频繁的建立释放同一链路会导致系统整体性能下降;
三是没有一个整体的流量控制机制,一般NAT内的设备的上行带宽比较有限,对隧道进行流量控制非常有必要。
为了解决现有技术存在的问题,本发明提供一种STUN隧道管理方法,可以通过MGR服务器接收客户端发送的隧道建立请求,并在本地维护的隧道列表中查找是否存在与客户端的标识信息和对端设备的标识信息相匹配的隧道连接;若存在,则将该隧道连接对应的隧道信息下发到客户端;若不存在,则将客户端与对端设备的隧道建立请求上报给STUN服务器进行隧道创建,再将新建的隧道连接添加至隧道列表进行隧道维护。因此本发明可以对隧道进行有效管理及维护,无需客户端增加额外的功能模块,即可提高链路复用率,实现流量控制。
请参考图1,是本发明一种示例性实施方式中的一种STUN隧道管理方法的处理流程图,其中该方法应用于MGR服务器,所述方法包括:
步骤101、接收客户端发送的隧道建立请求,所述隧道建立请求中包括客户端的标识信息和对端设备的标识信息;
在本实施例中,当客户端欲与对端设备建立隧道连接时,可以向MGR服务器发送隧道建立请求,所述隧道建立请求中通常包括该客户端的标识信息以及对端设备的标识信息,例如能够标识设备唯一性的序号等。所述MGR服务器在收到客户端发送的隧道建立请求后,可以获取其中携带的该客户端的标识信息以及对端设备的标识信息。
步骤102、在本地维护的隧道列表中查找是否存在与所述客户端的标识信息和对端设备的标识信息相匹配的隧道连接;
在本实施例中,所述MGR服务器中可以建立隧道列表来维护已建立的隧道连接,该隧道列表中通常包括隧道两端设备的标识信息以及隧道信息等内容。MGR服务器可以进一步根据所获取的所述客户端的标识信息以及对端设备的标识信息,在本地维护的隧道列表中查找是否存在与所述客户端的标识信息和对端设备的标识信息相匹配的隧道连接。
步骤103、当存在与所述客户端的标识信息和对端设备的标识信息相匹配的隧道连接时,将该隧道连接对应的隧道信息下发到所述客户端;
当MGR服务器在隧道列表中查找到与所述客户端的标识信息和对端设备的标识信息相匹配的隧道连接时,会将该隧道连接对应的隧道信息发送到客户端,以使客户端根据该隧道信息与对端设备进行交互,从而可以实现隧道链路复用,避免重新建立隧道的操作。
步骤104、当不存在相匹配的隧道连接时,将所述客户端与所述对端设备的隧道建立请求上报至STUN服务器并将新建的隧道连接添加至所述隧道列表。
当MGR服务器确定隧道列表中不存在与所述客户端的标识信息和对端设备的标识信息相匹配的隧道连接时,可以将客户端与对端设备的隧道建立请求上报给STUN服务器进行隧道创建。当客户端与所述对端设备建立隧道连接后,需要将隧道建立结果上报给MGR服务器,以维护隧道列表,以及当隧道建立失败时,通知TURN服务器来进行报文中转服务。由于传统方案中,STUN服务器需要提供两个公网IP地址,而每个公网IP地址的租用都是需要向运营商交费的。而本发明可以通过隧道建立结果上报机制,使得STUN服务器在只有一个公网IP地址的情况下,可以正常建立隧道连接,因此增加了系统的适用性。另外,MGR服务器可以将新建的隧道连接添加至本地的隧道列表进行维护,因此可以有效管理隧道连接,增强系统的可靠性。
在本发明的实施例中,当MGR服务器判断本地的隧道列表中不存在与所述客户端的标识信息和对端设备的标识信息相匹配的隧道连接时,则可以通过已有的STUN协议进一步判断对端设备是否已绑定公网地址;若已绑定公网地址,则将所述公网地址下发到所述客户端,以使所述客户端根据所述公网地址与对端设备建立连接。若未绑定公网地址,则MGR服务器可以再进一步判断对端设备与客户端是否在同一NAT中。由于当客户端和对端设备位于同一个NAT时,建立隧道连接时通常会面临两个问题:一是,需要NAT路由器开启报文回传机制,否则同一个NAT内两端设备将无法通过各自映射的公网地址进行打洞;二是,同一个NAT内的两端设备通常可以直接使用私网地址通信,而建立隧道连接反而会使得报文需要到公网路由器中转一圈转发回其所在的内网中,从而会带来额外的性能消耗。所以本发明提出了一个判断两端设备是否位于同一NAT中的互通性检测的方案。具体操作步骤如下:
首先MGR服务器判断两端设备的公网地址是否相同,如果公网地址不同,则可以认为两端设备在不同NAT中;如果公网地址相同,也不能够确认两端设备一定中同一NAT中,例如多层NAT的情况下,当两端设备分别位于内部多层不同的NAT中时,仍需要建立隧道连接,因此需进一步作判断。在本发明可选的实施例中,由于STUN服务器有能力获取两端设备的私网地址,因此当客户端与对端设备建立会话连接时,所述STUN服务器可以先将一个唯一标识此次会话的字符串信息(例如clsid信息)通过保活通道分别下发到客户端和对端设备,由于不同NAT内网中的IP地址等信息可以重复,因此本发明可以通过会话的clsid字符串信息来标识设备身份;然后客户端可以将带有该会话的字符串信息的检测报文发送到对端设备的私网地址;当对端设备收到客户端发送的检测报文后,可以校验这个clsid字符串信息是否与本地收到的会话的clsid字符串信息相同,若相同则校验通过并向MGR服务器回应检测成功,否则回应检测失败。当MGR服务器收到检测成功的消息时,可以认为该客户端与对端设备位于同一NAT中,因此可以获取对端设备的私网地址并下发至客户端,使客户端与对端设备根据双方的私网地址进行交互;当MGR服务器收到检测失败的消息时,可以认为该客户端与对端设备不位于同一NAT中,因此需要在客户端与对端设备之间建立隧道连接,并将结果上报STUN服务器,将所述隧道连接添加至所述隧道列表。
当隧道建立完成后,MGR服务器可以在所述客户端与对端设备上分别建立UDP套接字,将所有需要通过隧道发送的数据转发给对端的套接字,再由对端设备的套接字将数据分发到对端设备的对应的业务模块。因此所有经过隧道的数据流量可通过由两端的UDP套接字进行统计,同时还可以统计丢包率等信息。MGR服务器对隧道连接进行流量的监控,可以便于后期的数据统计,生成流量报表,或者设置有针对性的流量策略下发给隧道。
另外,当检测到客户端或对端设备下线,或者监控到该隧道的业务流量为零时,关闭所述隧道连接,MGR服务器还可以及时关闭空闲的隧道,节省系统资源。
由此可见,本发明可以通过MGR服务器接收客户端发送的隧道建立请求,并在本地维护的隧道列表中查找是否存在与客户端的标识信息和对端设备的标识信息相匹配的隧道连接;若存在,则将该隧道连接对应的隧道信息下发到客户端;若不存在,则将客户端和对端设备的隧道建立请求上报给STUN服务器进行隧道创建,再将新建的隧道连接添加至隧道列表进行隧道维护。因此本发明可以对隧道进行有效管理及维护,无需客户端增加额外的功能模块,即可提高链路复用率,实现流量控制。
为使本发明的目的、技术方案及优点更加清楚明白,下面结合图2对本发明该方案作进一步地详细说明。
请参考图2的组网架构图,手机客户端和NVR(NetworkVideoRecorder,网络硬盘录像机)分别位于不同的NAT下。
本实施例中,还包括MGR服务器,其可以是独立部署,也可以和STUN服务部署在同一台设备上对外提供服务,用于维护隧道连接的状态。假设手机客户端需要访问NVR并查看实况或者录像时,手机客户端可以发送隧道建立请求给MGR服务器,请求在手机客户端与NVR之间建立隧道连接(以下简称“打洞”)。当MGR服务器收到手机客户端发送的打洞请求时,由MGR服务器判断是否需要打洞,若需要打洞,则由MGR服务器通知STUN服务器需要打洞,再由STUN服务器发起手机客户端与对端设备的打洞流程,所述打洞流程为现有技术,可参见标准的交互过程,此处不再赘述。通常该打洞请求中包括NVR与手机客户端的会话信息,该会话信息中包含手机客户端的标识信息和NVR的标识信息。MGR服务器收到打洞请求后,可以在已建立的隧道列表中查找是否存在与手机客户端的标识信息和NVR的标识信息相匹配的隧道连接,若存在,则可以认为NVR和手机客户端间已有可用隧道,因此MGR服务器可以将该隧道连接对应的隧道信息返回给手机客户端,以使其与NVR使用该隧道进行交互,不再重新打洞。
如果手机客户端与NVR之前没有建过隧道,则MGR服务器继续判断NVR是否在公网中,如果在公网中,则可以将该NVR已绑定的公网地址和端口发送到手机客户端,使手机客户端可以与NVR设备的公网地址建立连接,从而无需打洞;如果NVR不在公网中,则MGR服务器可以进一步判断NVR与手机客户端是否在同一NAT中。如果在同一NAT中,则MGR服务器可以将NVR的私网地址发送到手机客户端,因此可以使手机客户端连接到NVR的私网地址,从而无需打洞;如果NVR和手机不在同一NAT中,MGR服务器可以通知STUN服务器开始进行NVR和手机客户端之间的打洞操作,从而在NVR连接的路由器设备与手机客户端连接的路由器设备上建立隧道连接。打洞完成后,手机客户端将打洞成功结果上报给MGR服务器,MGR服务器可以将隧道连接保存在本地的隧道列表中并维护其隧道信息;若打洞失败,手机客户端也会将打洞失败结果上报给MGR服务器进行记录,同时为NVR和手机客户端进行TURN报文中转。
后续手机客户端或者NVR离线,或者两者间隧道的业务数据流量长时间将为0(计算时需除开隧道间的内部保活报文),MGR服务器可以通过一定算法断开隧道连接,后续手机客户端如果需要再次访问NVR,则需重新执行上述打洞过程。
基于相同的构思,本发明还提供一种STUN隧道管理装置,该装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,本发明的STUN隧道管理装置作为一个逻辑意义上的装置,是通过其所在MGR服务器的CPU将存储器中对应的计算机程序指令读取后运行而成。
请参考图3及图4,是本发明一种示例性实施方式中的一种STUN隧道管理装置400,该装置应用于MGR服务器,该装置基本运行环境包括CPU,存储器以及其他硬件,从逻辑层面上来看,该装置400包括:
请求接收单元401,用于接收客户端发送的隧道建立请求,所述隧道建立请求中包括客户端的标识信息和对端设备的标识信息;
隧道查找单元402,用于在本地维护的隧道列表中查找是否存在与所述客户端的标识信息和对端设备的标识信息相匹配的隧道连接;
信息下发单元403,用于在存在与所述客户端的标识信息和对端设备的标识信息相匹配的隧道连接时,将该隧道连接对应的隧道信息下发到所述客户端;
隧道维护单元404,用于在不存在相匹配的隧道连接时,将所述客户端与所述对端设备的隧道建立请求上报至STUN服务器并将新建的隧道连接添加至所述隧道列表。
可选的,所述隧道查找单元402,包括:
第一子单元4021,用于在不存在与所述客户端的标识信息和对端设备的标识信息相匹配的隧道连接时,判断对端设备是否已绑定公网地址;若已绑定公网地址,则将所述公网地址下发到所述客户端,以使所述客户端根据所述公网地址与对端设备建立连接。
可选的,所述隧道查找单元402,还包括:
第二子单元4022,用于在若未绑定公网地址,则判断对端设备与客户端是否在同一NAT中;若在同一NAT中,则获取对端设备的私网地址并下发至客户端;若不在同一NAT中,则将客户端与对端设备的隧道建立请求上报至STUN服务器,将所述隧道连接添加至所述隧道列表。
可选的,所述判断对端设备与客户端是否是否在同一NAT中,包括:
获取客户端向对端设备发送的检测报文对应的检测结果,根据检测结果判断客户端与对端设备是否在同一NAT中。
可选的,隧道建立后,所述装置400还包括:
流量监控单元405,用于通过所述客户端与对端设备上的UDP套接字,监控通过所述隧道连接传输的数据流量;
所述隧道维护单元404,还用于在检测到客户端或对端设备下线,或者隧道的业务流量为零时,关闭所述隧道连接。
由此可见,本发明可以通过MGR服务器接收客户端发送的隧道建立请求,并在本地维护的隧道列表中查找是否存在与客户端的标识信息和对端设备的标识信息相匹配的隧道连接;若存在,则将该隧道连接对应的隧道信息下发到客户端;若不存在,则将所述客户端与对端设备的隧道建立请求上报至STUN服务器进行隧道创建,再将新建的隧道连接添加至隧道列表进行隧道维护。因此本发明可以对隧道进行有效管理及维护,无需客户端增加额外的功能模块,即可提高链路复用率,实现流量控制。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种STUN隧道管理方法,其特征在于,所述方法应用于MGR服务器,所述方法包括:
接收客户端发送的隧道建立请求,所述隧道建立请求中包括客户端的标识信息和对端设备的标识信息;
在本地维护的隧道列表中查找是否存在与所述客户端的标识信息和对端设备的标识信息相匹配的隧道连接;
当存在与所述客户端的标识信息和对端设备的标识信息相匹配的隧道连接时,将该隧道连接对应的隧道信息下发到所述客户端;
当不存在相匹配的隧道连接时,将所述客户端与所述对端设备的隧道建立请求上报至STUN服务器并将新建的隧道连接添加至所述隧道列表。
2.根据权利要求1所述的方法,其特征在于,所述在本地维护的隧道列表中查找是否存在与所述客户端的标识信息和对端设备的标识信息相匹配的隧道连接之后,所述方法还包括:
当不存在与所述客户端的标识信息和对端设备的标识信息相匹配的隧道连接时,判断对端设备是否已绑定公网地址;
若已绑定公网地址,则将所述公网地址下发到所述客户端,以使所述客户端根据所述公网地址与对端设备建立连接。
3.根据权利要求2所述的方法,其特征在于,所述判断对端设备是否已绑定公网地址之后,所述方法还包括:
若未绑定公网地址,则判断对端设备与客户端是否在同一NAT中;
若在同一NAT中,则获取对端设备的私网地址并下发至客户端;
若不在同一NAT中,则将所述客户端与对端设备的隧道建立请求上报至STUN服务器,将所述隧道连接添加至所述隧道列表。
4.根据权利要求3所述的方法,其特征在于,所述判断对端设备与客户端是否在同一NAT中,包括:
获取客户端向对端设备发送的检测报文对应的检测结果,根据检测结果判断客户端与对端设备是否在同一NAT中。
5.根据权利要求1所述的方法,其特征在于,隧道连接建立后,所述方法还包括:
在所述客户端与对端设备上分别建立UDP套接字,通过所述UDP套接字监控所述隧道连接传输的数据流量;
当检测到客户端或对端设备下线,或者该隧道的业务流量为零时,关闭所述隧道连接。
6.一种STUN隧道管理装置,其特征在于,所述装置应用于MGR服务器,所述装置包括:
请求接收单元,用于接收客户端发送的隧道建立请求,所述隧道建立请求中包括客户端的标识信息和对端设备的标识信息;
隧道查找单元,用于在本地维护的隧道列表中查找是否存在与所述客户端的标识信息和对端设备的标识信息相匹配的隧道连接;
信息下发单元,用于在存在与所述客户端的标识信息和对端设备的标识信息相匹配的隧道连接时,将该隧道连接对应的隧道信息下发到所述客户端;
隧道维护单元,用于在不存在相匹配的隧道连接时,将所述客户端与所述对端设备的隧道建立请求上报至STUN服务器并将新建的隧道连接添加至所述隧道列表。
7.根据权利要求6所述的装置,其特征在于,所述隧道查找单元,包括:
第一子单元,用于在不存在与所述客户端的标识信息和对端设备的标识信息相匹配的隧道连接时,判断对端设备是否已绑定公网地址;若已绑定公网地址,则将所述公网地址下发到所述客户端,以使所述客户端根据所述公网地址与对端设备建立连接。
8.根据权利要求7所述的装置,其特征在于,所述隧道查找单元,还包括:
第二子单元,用于在若未绑定公网地址,则判断对端设备与客户端是否在同一NAT中;若在同一NAT中,则获取对端设备的私网地址并下发至客户端;若不在同一NAT中,则将客户端与对端设备的隧道建立请求上报至STUN服务器,将所述隧道连接添加至所述隧道列表。
9.根据权利要求8所述的装置,其特征在于,所述判断对端设备与客户端是否是否在同一NAT中,包括:
获取客户端向对端设备发送的检测报文对应的检测结果,根据检测结果判断客户端与对端设备是否在同一NAT中。
10.根据权利要求6所述的装置,其特征在于,隧道建立后,所述装置还包括:
流量监控单元,用于在所述客户端与对端设备上分别建立UDP套接字,通过所述UDP套接字监控所述隧道连接传输的数据流量;
所述隧道维护单元,还用于在检测到客户端或对端设备下线,或者隧道的业务流量为零时,关闭所述隧道连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510898275.6A CN105553809B (zh) | 2015-12-08 | 2015-12-08 | 一种stun隧道管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510898275.6A CN105553809B (zh) | 2015-12-08 | 2015-12-08 | 一种stun隧道管理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105553809A true CN105553809A (zh) | 2016-05-04 |
CN105553809B CN105553809B (zh) | 2019-02-15 |
Family
ID=55832748
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510898275.6A Active CN105553809B (zh) | 2015-12-08 | 2015-12-08 | 一种stun隧道管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105553809B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108063921A (zh) * | 2017-12-26 | 2018-05-22 | 天津天地人和企业管理咨询有限公司 | 一种嵌入式网络监控设备在p2p中的优化应用方法 |
CN108366004A (zh) * | 2018-02-07 | 2018-08-03 | 北京奇艺世纪科技有限公司 | 一种智能音箱与被控设备的连接方法及连接系统 |
CN108923537A (zh) * | 2018-07-14 | 2018-11-30 | 东方电子股份有限公司 | 基于链路转接的智能变电站维护方法 |
CN109819067A (zh) * | 2019-03-12 | 2019-05-28 | 赛特斯信息科技股份有限公司 | 利用stun协议实现基于vxlan隧道技术的nat穿越处理的方法 |
CN111405018A (zh) * | 2020-03-10 | 2020-07-10 | 创新奇智(上海)科技有限公司 | 一种文件传输方法、装置、电子设备及存储介质 |
CN115914164A (zh) * | 2021-09-28 | 2023-04-04 | 浙江宇视科技有限公司 | 一种隧道连接方法、装置、电子设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101557337A (zh) * | 2009-05-04 | 2009-10-14 | 成都市华为赛门铁克科技有限公司 | 网络隧道建立方法、数据传输方法、通讯系统及相关设备 |
US20140207856A1 (en) * | 2011-03-31 | 2014-07-24 | Belkin International, Inc. | Method of distributing information regarding one or more electrical devices and system for the same |
CN103986638A (zh) * | 2014-05-27 | 2014-08-13 | 杭州华三通信技术有限公司 | Advpn隧道绑定多公网链路的方法和装置 |
CN104883547A (zh) * | 2015-06-16 | 2015-09-02 | 浙江宇视科技有限公司 | 基于网络接入设备物理端口接入ipc的方法及nvr |
CN104935488A (zh) * | 2014-03-18 | 2015-09-23 | 安讯士有限公司 | 面向服务的架构中的隧道代理 |
EP2924949A1 (en) * | 2014-03-23 | 2015-09-30 | Avaya Inc. | Configuration of networks using client device access of remote server |
-
2015
- 2015-12-08 CN CN201510898275.6A patent/CN105553809B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101557337A (zh) * | 2009-05-04 | 2009-10-14 | 成都市华为赛门铁克科技有限公司 | 网络隧道建立方法、数据传输方法、通讯系统及相关设备 |
US20140207856A1 (en) * | 2011-03-31 | 2014-07-24 | Belkin International, Inc. | Method of distributing information regarding one or more electrical devices and system for the same |
CN104935488A (zh) * | 2014-03-18 | 2015-09-23 | 安讯士有限公司 | 面向服务的架构中的隧道代理 |
EP2924949A1 (en) * | 2014-03-23 | 2015-09-30 | Avaya Inc. | Configuration of networks using client device access of remote server |
CN103986638A (zh) * | 2014-05-27 | 2014-08-13 | 杭州华三通信技术有限公司 | Advpn隧道绑定多公网链路的方法和装置 |
CN104883547A (zh) * | 2015-06-16 | 2015-09-02 | 浙江宇视科技有限公司 | 基于网络接入设备物理端口接入ipc的方法及nvr |
Non-Patent Citations (1)
Title |
---|
张雪: "《对等网中隧道技术的研究与实现》", 《中国优秀硕士论文(电子辑)》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108063921A (zh) * | 2017-12-26 | 2018-05-22 | 天津天地人和企业管理咨询有限公司 | 一种嵌入式网络监控设备在p2p中的优化应用方法 |
CN108366004A (zh) * | 2018-02-07 | 2018-08-03 | 北京奇艺世纪科技有限公司 | 一种智能音箱与被控设备的连接方法及连接系统 |
CN108923537A (zh) * | 2018-07-14 | 2018-11-30 | 东方电子股份有限公司 | 基于链路转接的智能变电站维护方法 |
CN108923537B (zh) * | 2018-07-14 | 2020-07-07 | 东方电子股份有限公司 | 基于链路转接的智能变电站维护方法 |
CN109819067A (zh) * | 2019-03-12 | 2019-05-28 | 赛特斯信息科技股份有限公司 | 利用stun协议实现基于vxlan隧道技术的nat穿越处理的方法 |
CN111405018A (zh) * | 2020-03-10 | 2020-07-10 | 创新奇智(上海)科技有限公司 | 一种文件传输方法、装置、电子设备及存储介质 |
CN115914164A (zh) * | 2021-09-28 | 2023-04-04 | 浙江宇视科技有限公司 | 一种隧道连接方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105553809B (zh) | 2019-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11902086B2 (en) | Method and system of a dynamic high-availability mode based on current wide area network connectivity | |
CN105553809A (zh) | 一种stun隧道管理方法及装置 | |
US9762546B2 (en) | Multi-connection system and method for service using internet protocol | |
CN103812728B (zh) | 一种网络诊断方法、系统及路由器 | |
JP2018515974A (ja) | グローバル仮想ネットワーク(gvn)において仮想インタフェースとアドバンストスマートルーティングとを提供するためのシステム及び方法 | |
CN103973424B (zh) | 缓存系统中的故障解决方法和设备 | |
CN101217482A (zh) | 一种穿越nat下发策略的方法和一种通信装置 | |
CN104243210A (zh) | 远程访问路由器管理页面的方法和系统 | |
US8817820B2 (en) | System for controlling path maximum transmission unit by detecting repetitional IP packet fragmentation and method thereof | |
US10212126B2 (en) | System for mediating connection | |
CN107205026A (zh) | 一种点对点数据传输方法及系统 | |
CN105429799A (zh) | 服务器备份方法及装置 | |
CN105245407A (zh) | 基于套接字的网络嗅探器及其方法 | |
CN104426732A (zh) | 一种高速传输隧道的实现方法及系统 | |
CN102413052B (zh) | 一种接入网络的方法、装置及系统 | |
US7848258B2 (en) | Dynamically transitioning static network addresses | |
US9509777B2 (en) | Connection method and management server | |
CN102447703B (zh) | 一种热备份方法和系统、cgn设备 | |
CN108270593A (zh) | 一种双机热备份方法和系统 | |
CN102118313A (zh) | Ip地址探测的方法及设备 | |
CN110460506A (zh) | Led投屏联网方法、装置、系统和存储介质 | |
CN107659436B (zh) | 一种防止业务中断的方法及装置 | |
CN104618491B (zh) | 一种代理服务器及数据转发方法 | |
CN108353027A (zh) | 一种用于检测端口故障的软件定义网络系统 | |
CN1917512B (zh) | 一种建立对等直连通道的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |