CN105553712A - 一种实现双通道连接的服务器、终端、方法和系统 - Google Patents
一种实现双通道连接的服务器、终端、方法和系统 Download PDFInfo
- Publication number
- CN105553712A CN105553712A CN201510925383.8A CN201510925383A CN105553712A CN 105553712 A CN105553712 A CN 105553712A CN 201510925383 A CN201510925383 A CN 201510925383A CN 105553712 A CN105553712 A CN 105553712A
- Authority
- CN
- China
- Prior art keywords
- network type
- terminal
- server
- network
- port address
- 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
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种实现双通道连接的服务器、终端、方法和系统,该服务器包括:接收模块,用于接收终端发送的网络类型协商请求,所述请求包括终端的WAN口地址;确定模块,用于根据所述WAN口地址确定终端的网络类型;协商处理模块,用于当网络类型是公网时,保存所述WAN口地址以便可以通过所述WAN口地址主动向终端发送消息,或者用于当所述网络类型是私网时,向所述终端返回所述私网类型,以便所述终端与服务器建立长连接,所述长连接用于所述服务器可以主动向所述终端发送消息。本发明能够在有NAT设备的环境中,以更低开销、更可靠的方式在服务器和终端之间建立双通道连接。
Description
技术领域
本发明涉及计算机网络领域,特别是涉及一种实现双通道连接的服务器、终端、方法和系统。
背景技术
随着信息产业的飞速发展,广域网上承载的业务种类和业务量在不断增大,规模也不断在扩大,大量的终端接入设备被广泛应用,需要对这些用户侧设备(CustomerPremiseEquipment,CPE)进行有效的远程集中管理。在这样的背景下,数字用户环路(DigitalSubscriberloop,DSL)论坛推出了TR069协议,即用户终端设备广域网管理协议,用于从网络侧对家庭网络中的网关、路由器、机顶盒等CPE设备进行远程集中管理,其支持功能有:配置管理、版本管理、性能监控、诊断告警。
在TR069定义的管理模型中,主要包括两类逻辑设备:网管服务器,通常称为自动配置服务器(Auto-ConfigurationServer,ACS),以及受管理的CPE,如路由器、网关、机顶盒。一些CPE是在网络地址转换(NetworkAddressTranslation,NAT)设备之后,没有固定IP地址。为适应终端数量巨大、地址不固定的特性,TR069定义的交互流程中,管理交互都是由CPE发起的,ACS接收到请求后才能进行管理下发配置指令,因此这是一种被动式网管模型。
为了实现主动式网管,现有技术中,借助NAT的UDP简单穿越(SimpleTraversalofUDPoverNATs,STUN)协议的NAT穿透技术,可以在ACS与CPE之间建立双通道连接,从而让ACS主动向CPE下发配置信息。该方式下,要求在ACS端建立STUN服务器供CPE使用,CPE需要支持STUN客户端,以便将公网IP和端口号通知ACS。一旦ACS需要主动和CPE建立连接时,将通过STUN服务器发送一个UDP连接请求给CPE。
但是对于用户终端设备这些嵌入式设备,TR069和STUN协议栈占用内存相对较高,而且STUN协议传输采用的是无连接的UDP技术,容易丢包导致数据不可靠。可见,现有技术中对于具有NAT设备的环境,服务器和终端之间建立双通道连接时存在内存开销大、并且系统性能差的缺陷。
发明内容
本发明主要解决的技术问题是提供一种实现双通道连接的服务器、终端、方法和系统,能够在有NAT设备的环境中,以更低开销、更可靠的方式在服务器和终端之间建立双通道连接。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种实现双通道连接的服务器,该服务器包括接收模块,用于接收终端发送的网络类型协商请求,所述请求包括所述终端用于连接外网的WAN口地址;确定模块,用于根据所述WAN口地址确定所述终端的网络类型;协商处理模块,用于当所述网络类型是公网时,保存所述WAN口地址以便可以通过所述WAN口地址主动向所述终端发送消息,或者用于当所述网络类型是私网时,向所述终端返回所述私网类型,以便所述终端与服务器建立长连接,所述长连接用于所述服务器可以主动向所述终端发送消息。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种实现双通道连接的终端,该终端包括发送模块,用于向服务器发送网络类型协商请求,所述请求包括终端用于连接外网的WAN口地址;接收模块,用于接收所述服务器根据所述WAN口地址确定所述终端的网络类型为私网时返回的所述网络类型;连接建立模块,用于根据所述网络类型为私网而与所述服务器建立长连接,所述长连接用于所述服务器可以主动向所述终端发送消息。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种实现双通道连接的方法,该方法用于服务器,包括接收终端发送的网络类型协商请求,所述请求包括所述终端用于连接外网的WAN口地址;根据所述WAN口地址确定所述终端的网络类型;如果所述网络类型是公网,保存所述WAN口地址以便可以通过所述WAN口地址主动向所述终端发送消息,如果所述网络类型是私网,向所述终端返回所述私网类型,以便所述终端与服务器建立长连接,所述长连接用于所述服务器可以主动向所述终端发送消息。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种实现双通道连接的方法,该方法用于终端,包括向服务器发送网络类型协商请求,所述请求包括终端用于连接外网的WAN口地址;接收所述服务器根据所述WAN口地址确定所述终端的网络类型为私网时返回的所述网络类型;根据所述网络类型为私网而与所述服务器建立长连接,所述长连接用于所述服务器可以主动向所述终端发送消息。
区别于现有技术,本发明的实现双通道连接的服务器,用于接收终端发送的网络类型协商请求,所述请求包括终端用于连接外网的WAN口地址;根据所述WAN口地址确定所述终端的网络类型;如果所述网络类型是公网,保存所述WAN口地址以便可以通过所述WAN口地址主动向所述终端发送消息,如果所述网络类型是私网,向所述终端返回所述私网类型,以便所述终端与服务器建立长连接,所述长连接用于所述服务器可以主动向所述终端发送消息;从而能够在有NAT设备的环境中,以更低开销、更可靠的方式在网管服务器和用户侧设备之间建立双通道连接。
附图说明
图1是本发明实现双通道连接的服务器的第一实施方式的结构示意图;
图2是本发明实现双通道连接的服务器的第二实施方式的结构示意图;
图3是本发明实现双通道连接的终端的第一实施方式的结构示意图;
图4是本发明实现双通道连接的终端的第二实施方式的结构示意图;
图5是本发明实现双通道连接的方法的第一实施方式的流程示意图;
图6是本发明实现双通道连接的方法的第二实施方式的流程示意图;
图7是本发明一个实施例提供的双通道连接的实现信令流程图;
图8是本发明另一个实施例提供的双通道连接的实现信令流程图;
图9是本发明实施例提供的双通道连接的实现系统结构图。
具体实施方式
下面结合具体实施方式对本发明的技术方案作进一步更详细的描述。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
参阅图1,图1是本发明提供的实现双通道连接的服务器的第一实施方式的结构示意图。
该实现双通道连接的终端100包括:接收模块110,确定模块120,协商处理模块130。
接收模块110,用于接收终端发送的网络类型协商请求,所述请求包括所述终端用于连接外网的广域网(WideAreaNetwork,WAN)口地址。所述终端可以是公网上的终端,也可以是私网上的终端。可选的,所述接收到的网络类型协商请求是一个加密后的请求消息。
确定模块120,用于根据所述WAN口地址确定所述终端的网络类型。具体的,可以是通过比较所述WAN口地址和请求消息的源地址是否相同来判断网络类型,如果相同则为公网类型,如果不同则为私网类型。
协商处理模块130,用于当所述网络类型是公网时,保存所述WAN口地址以便可以通过所述WAN口地址主动向所述终端发送消息,或者用于当所述网络类型是私网时,向所述终端返回所述私网类型,以便所述终端与服务器建立长连接,所述长连接用于所述服务器可以主动向所述终端发送消息。进一步的,模块130还可用于在本地保存所述网络类型,以便后续可以根据该网络类型判断采用哪种方式主动下发消息。
当终端来自公网时,它携带的WAN口地址是固定的合法公网IP地址,例如“200.10.1.5”,因此服务器可以直接向该IP地址发送消息;当终端来自私网时,它没有固定的合法公网IP地址,因此需要通过建立长连接接收服务器主动发送的消息。具体的,所述长连接可以是一个心跳消息。
区别于现有技术,本发明的实现双通道连接的服务器,接收终端发送的网络类型协商请求,所述请求包括终端用于连接外网的WAN口地址;根据所述WAN口地址确定所述终端的网络类型;如果所述网络类型是公网,保存所述WAN口地址以便可以通过所述WAN口地址主动向所述终端发送消息,如果所述网络类型是私网,向所述终端返回所述私网类型,以便所述终端与服务器建立长连接,所述长连接用于所述服务器可以主动向所述终端发送消息;从而能够在有NAT设备的环境中,以更低开销、更可靠的方式在服务器和终端之间建立双通道连接。
参阅图2,图2是本发明提供的实现双通道连接的服务器的第二实施方式的结构示意图。
该实现双通道连接的终端200包括:接收模块210,确定模块220,协商处理模块230。
接收模块210,用于接收终端发送的网络类型协商请求,所述请求包括所述终端用于连接外网的WAN口地址。所述终端可以是来自公网或私网的终端;可选的,所述接收到的网络类型协商请求是一个加密后的请求消息。
确定模块220包括比较单元221和确定单元222,比较单元221用于比较所述请求的发送源地址和所述WAN口地址是否相同;确定单元222用于如果所述比较结果是相同则确定所述网络类型为公网,如果所述比较结果是不同则确定所述网络类型为私网。
当所述终端来自私网时,网络类型协商请求消息需要经过NAT设备中转,虽然请求消息从终端发出时WAN口地址和源地址相同,经过NAT设备时会对该请求消息的源地址进行更改。例如,原来的源地址是一个该私网内唯一的地址(私网地址或公网地址),NAT设备更改为公网上唯一的地址(合法的公网地址)。
协商处理模块230包括保存单元231和发送单元232,保存单元231,用于当所述网络类型是公网时,保存所述WAN口地址以便可以通过所述WAN口地址主动向所述终端发送消息;发送单元232,用于向所述终端返回所述网络类型,以便所述终端根据所述网络类型为公网而与所述服务器建立短连接,或者根据所述网络类型为私网而与所述服务器建立长连接,所述长连接用于所述服务器可以主动向所述终端发送消息。可选的,发送单元232向终端返回网络类型时可以通过加密的方式发送。进一步的,保存单元231还可用于确定模块220确定出网络类型后,在本地保存所述网络类型,以便后续可以根据该网络类型判断采用哪种方式主动下发消息。
具体的,当终端来自公网时,它携带的WAN口地址是固定的合法公网IP地址,例如“200.10.1.5”,因此服务器可以直接向该IP地址发送消息;当终端来自私网时,它没有固定的合法公网IP地址,因此需要通过建立长连接接收服务器主动发送的消息。具体的,所述长连接可以是一个心跳消息。
区别于现有技术,本发明的实现双通道连接的服务器,接收终端发送的网络类型协商请求,所述请求包括终端用于连接外网的WAN口地址;根据所述WAN口地址确定所述终端的网络类型;如果所述网络类型是公网,保存所述WAN口地址以便可以通过所述WAN口地址主动向所述终端发送消息,如果所述网络类型是私网,向所述终端返回所述私网类型,以便所述终端根据所述私网类型而与服务器建立长连接,所述长连接用于所述服务器可以主动向所述终端发送消息;从而能够在有NAT设备的环境中,以更低开销、更可靠的方式在服务器和终端之间建立双通道连接。
参阅图3,图3是本发明提供的实现双通道连接的终端第一实施方式的的结构示意图。
该实现双通道连接的终端300包括:发送模块310,接收模块320,连接建立模块330。
其中,发送模块310,用于向服务器发送网络类型协商请求,所述请求包括终端用于连接外网的WAN口地址。
具体的,可以是终端重启、或者该终端的WAN口地址发生变更时发送该网络类型协商请求,还可以是正常运行过程中、根据预设的周期时间周期性向服务器发送该网络类型协商请求。通常的,WAN口地址是终端启动时获取的用于访问外网的IP地址,例如向DHCP服务器请求,当网络环境发生变化时该WAN口地址可能发生变更、即重新分配。例如,WAN口地址是157.239.124.70,或者192.168.1.100。
具体的,通过所述请求消息的消息体携带所述WAN口地址。
接收模块320,用于接收所述服务器根据所述WAN口地址确定所述终端的网络类型为私网时返回的所述网络类型。
连接建立模块330,用于根据所述网络类型为私网而与所述服务器建立长连接,所述长连接用于所述服务器可以主动向所述终端发送消息。
当终端来自私网时,它没有固定的合法公网IP地址,因此需要通过建立长连接接收服务器主动发送的消息。具体的,所述长连接可以是一个心跳消息。
区别于现有技术,本发明的实现双通道连接的终端,向服务器发送网络类型协商请求,所述请求包括终端用于连接外网的WAN口地址;接收所述服务器根据所述WAN口地址确定所述终端的网络类型为私网时返回的所述网络类型;根据所述网络类型为私网而与所述服务器建立长连接,所述长连接用于所述服务器可以主动向所述终端发送消息;从而能够在有NAT设备的环境中,以更低开销、更可靠的方式在服务器和终端之间建立双通道连接。
参阅图4,图4是本发明提供的实现双通道连接的终端第二实施方式的的结构示意图。
该实现双通道连接的终端400包括:发送模块410,接收模块420,连接建立模块430。
其中,发送模块410包括条件判断单元411和发送单元412,条件判断单元411用于确定满足以下任一条件:所述终端重启、或者所述WAN口地址发生变更,或者到达预设的周期时间;发送单元412用于根据所述条件判断单元411的触发,向所述服务器发送所述网络类型协商请求,所述请求包括终端用于连接外网的WAN口地址,例如,通过所述请求消息的消息体携带所述WAN口地址。可选的,所述发送的网络类型协商请求可以是经过加密后的请求消息。
通常的,WAN口地址是终端启动时获取的用于访问外网的IP地址,例如向DHCP服务器请求,当网络环境发生变化时该WAN口地址可能发生变更、即重新分配。例如,WAN口地址是157.239.124.70,或者192.168.1.100。
接收模块420包括私网类型接收单元421和公网类型接收单元422,私网类型接收单元421用于接收所述服务器根据所述WAN口地址确定所述终端的网络类型为私网时返回的所述私网类型,公网类型接收单元422用于接收所述服务器根据所述WAN口地址确定所述终端的网络类型为公网时返回的所述公网类型。可选的,接收模块420接收到的是经过加密后的网络类型信息。
连接建立模块430包括长连接建立单元431和短连接建立单元432,长连接建立单元431用于当所述接收模块接收到的网络类型为私网时而与所述服务器建立长连接,短连接建立单元432用于当所述接收模块接收到的网络类型为公网时而与所述服务器建立短连接。具体的,所述长连接可以是维持一个心跳消息,所述短连接就是在接收到返回的网络类型消息后就断开当前与服务器的会话连接。当终端来自私网时,它没有固定的合法公网IP地址,因此需要通过建立长连接接收服务器主动发送的消息。
进一步的,连接建立模块430还可以包括长连接维持单元433,用于如果当前已经存在与所述服务器的长连接,根据所述网络类型为私网而维持所述长连接。具体的,维持长连接就是维持现有的心跳消息。
区别于现有技术,本发明的实现双通道连接的终端,向服务器发送网络类型协商请求,所述请求包括终端用于连接外网的WAN口地址;接收所述服务器根据所述WAN口地址确定所述终端的网络类型为私网时返回的所述网络类型;根据所述网络类型为私网而与所述服务器建立长连接,所述长连接用于所述服务器可以主动向所述终端发送消息;从而能够在有NAT设备的环境中,以更低开销、更可靠的方式在服务器和终端之间建立双通道连接。
参阅图5,图5是本发明提供的实现双通道连接的方法第一实施方式流程示意图,该方法的执行主体是服务器,该服务器用于和终端建立双通道连接,并且当终端为私网上的终端时,它和服务器之间存在NAT设备。
该方法的步骤包括:
S501:接收终端发送的网络类型协商请求,所述请求包括所述终端用于连接外网的WAN口地址。
所述网络类型协商请求可以来自于公网上的终端,也可以是私网上的终端。可选的,所述接收到的网络类型协商请求是一个加密后的请求消息。
S502:根据所述WAN口地址确定所述终端的网络类型。
其中,该步骤的具体实现是:通过比较所述WAN口地址和请求消息的源地址是否相同来判断网络类型,如果相同则为公网类型,如果不同则为私网类型。
可选的,可以首先判断WAN口地址的类型,如果属于私网网段的地址,即属于以下三个网段的地址:10.0.0.0--10.255.255.255,172.16.0.0--172.31.255.255,192.168.0.0--192.168.255.255则可以直接判断终端的网络类型为私网,如果不属于私网网段的地址,则进一步比较WAN口地址和请求消息的源地址是否相同,如果相同则终端的网络类型是公网,如果不同则终端的网络类型是私网。
因为当终端来自私网时将经过NAT设备中转,此时NAT设备修改消息的源地址,导致源地址和WAN口地址不同。
S503:如果所述网络类型是公网,保存所述WAN口地址以便可以通过所述WAN口地址主动向所述终端发送消息,如果所述网络类型是私网,向所述终端返回所述私网类型,以便所述终端与服务器建立长连接,所述长连接用于所述服务器可以主动向所述终端发送消息。
具体的,所述长连接可以是一个心跳消息。
可选的,当网络类型是公网时,服务器保存WAN口地址后进一步还包括向所述终端返回所述公网类型,以便所述终端与所述服务器建立短连接。
可选的,该步骤中向终端返回所述网络类型时可以通过加密的方式发送。
当终端来自公网时,它携带的WAN口地址是固定的合法公网IP地址,例如“200.10.1.5”,因此服务器可以直接向该IP地址发送消息;当终端来自私网时,它没有固定的合法公网IP地址,因此需要通过建立长连接接收服务器主动发送的消息。
进一步的,该方法中服务器可以保存所述终端的网络类型,以便后续可以根据该网络类型判断采用哪种方式向所述终端主动下发消息。
区别于现有技术,本发明的实现双通道连接的方法,服务器接收终端发送的网络类型协商请求,所述请求包括终端用于连接外网的WAN口地址;根据所述WAN口地址确定所述终端的网络类型;如果所述网络类型是公网,保存所述WAN口地址以便可以通过所述WAN口地址主动向所述终端发送消息,如果所述网络类型是私网,向所述终端返回所述私网类型,以便所述终端与服务器建立长连接,所述长连接用于所述服务器可以主动向所述终端发送消息;从而能够在有NAT设备的环境中,以更低开销、更可靠的方式在服务器和终端之间建立双通道连接。
参阅图6,图6是本发明提供的实现双通道连接的方法第二实施方式流程示意图,该方法的执行主体是终端,该终端用于和服务器建立双通道连接,并且当所述终端为私网上的终端时,它和服务器之间存在NAT设备。
该方法的步骤包括:
S601:向服务器发送网络类型协商请求,所述请求包括终端用于连接外网的WAN口地址。
具体的,可以是终端重启、或者该终端的WAN口地址发生变更时向服务器发送该网络类型协商请求,也可以是在正常运行过程中根据预设的周期时间周期性向服务器发送所述网络类型协商请求,例如,每5分钟发一次请求,以便检查外网NAT设备的存在性。可选的,所述发送的网络类型协商请求可以是经过加密后的请求消息。
通常的,WAN口地址是终端启动时获取的用于访问外网的IP地址,例如向DHCP服务器请求,当网络环境发生变化时该WAN口地址可能发生变更、即重新分配。例如,WAN口地址是157.239.124.70,或者192.168.1.100。具体的,通过所述请求消息的消息体携带所述WAN口地址。
具体的,所述终端可以是来自公网或私网的终端,当所述终端来自私网时,所述网络类型协商请求将经过NAT设备中转,虽然请求消息从终端发出时WAN口地址和源地址相同,经过NAT设备时会对该请求消息的源地址进行更改。例如,原来的源地址是一个该私网内唯一的地址(私网地址或公网地址),NAT设备更改为公网上唯一的地址(合法的公网地址)。
S602:接收所述服务器根据所述WAN口地址确定所述终端的网络类型为私网时返回的所述网络类型。
可选的,该步骤中接收到的是经过加密后的网络类型信息,因此需要先经过解密才能获得返回的网络类型。
S603:根据所述网络类型为私网而与所述服务器建立长连接,所述长连接用于所述服务器可以主动向所述终端发送消息。
可选的,如果当前已经存在与所述服务器的长连接,该步骤只需要根据所述网络类型为私网而维持现有的长连接即可。
可选的,在步骤S602中既可以接收服务器根据WAN口地址确定终端的网络类型为私网时返回的私网类型、也可以接收服务器根据WAN口地址确定终端的网络类型为公网时返回的公网类型,当返回的是公网类型时,本步骤S603将根据该公网类型而与服务器建立短连接。具体的,所述短连接就是在接收到返回的网络类型消息后就断开当前与服务器的会话连接,如果当前已经存在长连接则拆除该长连接。
当终端来自私网时,它没有固定的合法公网IP地址,因此需要通过建立长连接以便接收服务器主动发送的消息。具体的,所述长连接可以是一个心跳消息。
区别于现有技术,本发明的实现双通道连接的方法,终端向服务器发送网络类型协商请求,所述请求包括终端用于连接外网的WAN口地址;接收所述服务器根据所述WAN口地址确定所述终端的网络类型为私网时返回的所述网络类型;根据所述网络类型为私网而与所述服务器建立长连接,所述长连接用于所述服务器可以主动向所述终端发送消息;从而能够在有NAT设备的环境中,以更低开销、更可靠的方式在服务器和终端之间建立双通道连接
参阅图7,本发明实施例提供了实现双通道连接的信令流程图。
本实施例中,用于建立双通道连接的服务器为云服务器,终端为家庭网络设备,并且该设备的初始状态是私网上的家庭网络设备,例如,家庭网络内的机顶盒,因此该设备与云服务器之间存在NAT设备。
具体的实现过程如下:
步骤701:家庭网络设备启动后向云服务器发起第一网络类型协商请求,所述请求包括该设备用于连接外网的WAN口地址。
具体的,家庭网络设备在启动时获取用于访问外网的IP地址、即WAN口地址,例如向DHCP服务器请求,获取到的WAN口地址可以是一个公网类型地址,例如:157.239.124.70,或者是一个私网类型地址,例如:192.168.1.100,无论该地址是哪种类型,都只是在本家庭网络内有唯一性。当网络环境发生变化时该WAN口地址可能发生变更、即重新分配。
具体的,通过所述请求消息的消息体携带所述WAN口地址。并且,从终端发出的请求消息中源地址和WAN口地址一定是相同的。
可选的,所述发送的网络类型协商请求是经过加密后的消息。
步骤702:NAT设备将第一网络类型协商请求的消息源地址修改后转发给云服务器。
因为该家庭网络设备是私网上设备,它与云服务器之间存在NAT设备,因此第一网络类型协商请求将首先发送至NAT设备做中转。
从家庭网络设备发送的消息源地址(和WAN口地址相同)只是一个在本家庭网络内唯一的地址,NAT设备将该请求消息的源地址进行更改为公网上唯一的地址(合法的公网地址),例如,本实施例中更改后的源地址是:200.10.1.5。
并且,NAT设备记录修改前后源地址的映射关系,以便接收到服务器返回的响应消息时能路由到该家庭网络设备。
步骤703:云服务器接收到第一网络类型协商请求,根据请求消息中的WAN口地址确定该家庭网络设备的网络类型为私网类型,通过第一响应返回所述网络类型。
具体的,云服务器通过比较所述WAN口地址和请求消息的源地址是否相同来判断网络类型,相同则是公网类型,不同则是私网类型,因为比较结果是不同确定为私网类型。
可选的,云服务器也可以首先判断WAN口地址的类型,如果属于私网网段的地址(即属于以下三个网段的地址:10.0.0.0--10.255.255.255,172.16.0.0--172.31.255.255,192.168.0.0--192.168.255.255),则可以直接判断终端的网络类型为私网,如果不属于私网网段的地址,则进一步比较WAN口地址和请求消息的源地址是否相同。在本实施例的第一个例子中,WAN口地址是192.168.1.100,即私网类型地址,因此直接判断为私网。在本实施例的第二个例子中,WAN口地址是157.239.124.70,即公网类型地址,因此进一步判断该地址和源地址200.10.1.5比较,因为结果是不同,从而判断为私网。
进一步的,云服务器可以保存该设备的网络类型为私网,以便后续可以根据该私网类型判断采用长连接的方式主动向该设备下发消息。
可选的,第一响应消息是一个加密过的消息。
步骤704:第一响应经过NAT设备中转后返回家庭网络设备。
第一响应的目的地址为修改后的源地址,NAT设备根据步骤702记录的修改前后源地址的映射关系,将第一响应消息时路由到该家庭网络设备。
步骤705:家庭网络设备接收到云服务器返回的网络类型为私网,根据该私网类型而与云服务器建立第一长连接。
具体的,家庭网络设备与云服务器建立第一长连接的方式为:不断开当前已经存在的TCP连接,通过周期性的心跳消息建立长连接。
因为该家庭网络设备是私网设备,没有固定的合法公网IP地址,因此需要通过建立长连接以便接收服务器主动发送的消息。
可选的,该步骤之后云服务器通过该长连接主动向家庭网络设备发送消息,例如,网管配置指令,广告信息或其他数据。
可选的,对于本实施例,在步骤705之后还可以包含以下步骤:
步骤706:家庭网络设备周期性向云服务器发起第二网络类型协商请求,所述请求包括该设备当前的WAN口地址。
具体的,可以是预设一个周期时间,例如每5分钟发一次请求,以便检查外网NAT设备的存在性。本实施例中,当前家庭网络设备的WAN口地址没有改变。
步骤707:NAT设备将第二网络类型协商请求的消息源地址修改后转发给云服务器。
该步骤的详细描述参考步骤702。
步骤708:云服务器接收到第二网络类型协商请求,确定该家庭网络设备的网络类型为私网类型,通过第二响应返回所述网络类型。
该步骤的详细描述参考步骤703。
步骤709:第二响应经过NAT设备中转后返回家庭网络设备。
该步骤的详细描述参考步骤704。
步骤710:家庭网络设备接收到云服务器返回的网络类型为私网,确定当前已经存在第一长连接,则维持该第一长连接。
步骤711:家庭网络设备周期性向云服务器发起第三网络类型协商请求,所述请求包括该设备当前的WAN口地址。
本实施例中,当前网络环境已经发生了变化,他们之间已经没有了NAT设备,即该家庭网络设备已经从私网设备变成了公网设备,因此请求消息直接发送给了云服务器。
可选的,该步骤的触发条件也可以是系统主动通知家庭网络设备当前WAN口地址发生了变化,在本实施例中,系统给他重新分配了一个固定的合法公网IP,例如,200.10.1.7。
步骤712:云服务器接收到第三网络类型协商请求,根据WAN口地址确定该家庭网络设备的网络类型为公网类型,保存所述WAN口地址以便可以通过所述WAN口地址主动向该设备发送消息,并返回第三响应。
因为请求消息源地址没有被NAT设备更改,云服务器接收到的消息源地址和WAN口地址相同。
该步骤中云服务器确定网络类型的方法描述参考步骤703。
可选的,云服务器还保存所述公网类型,以便后续可以根据该公网类型判断采用保存的WAN口地址主动向该设备下发消息。
可选的,云服务器在第三响应中携带所述公网类型。
步骤713:家庭网络设备接收到第三响应后,根据响应中没有包含网络类型是私网而拆除第一长连接。
可选的,可以是家庭网络设备根据第三响应中携带的网络类型是公网而与所述云服务器建立短连接,即拆除第一长连接。
具体的,拆除长连接的方法为断开已经存在的TCP连接,停止发送心跳消息。
在该实施例中,终端向服务器发送网络类型协商请求,所述请求包括终端用于连接外网的WAN口地址,服务器根据该WAN口地址判断终端的网络类型,如果为公网则保存所述WAN口地址并向终端返回公网类型,服务器可以在以后根据所述WAN口地址直接向终端推送消息,如果为私网则直接向终端返回私网类型,终端根据该私网类型与服务器建立长连接,以便服务器以后可以通过该长连接主动向终端推送消息,从而实现了在有NAT设备的环境中,以更低开销、更可靠的方式在服务器和终端之间建立双通道连接。
参阅图8,本发明实施例提供了实现双通道连接的信令流程图。
本实施例中,用于建立双通道连接的服务器为云服务器,终端为家庭网络设备,并且该设备的初始网络状态是公网上的家庭网络设备,例如,有固定公网IP的家庭网关。因此该设备与云服务器之间没有NAT设备。
具体的实现过程如下:
步骤801:家庭网络设备启动后向云服务器发起第一网络类型协商请求,所述请求包括该设备用于连接外网的WAN口地址。
该步骤的详细描述参考图7对应实施例的步骤701。
例如,该WAN口地址是200.10.1.7。
步骤802:云服务器接收到第一网络类型协商请求,根据请求消息中的WAN口地址确定该家庭网络设备的网络类型为公网类型,保存该WAN口地址以便可以通过该WAN口地址主动向该设备发送消息,并返回第一响应。
该步骤的详细描述参考图7对应实施例的步骤712。
步骤803:家庭网络设备接收到第一响应后,根据响应中没有包含网络类型是私网而和云服务器建立短连接。
可选的,可以是家庭网络设备根据第一响应中携带的网络类型是公网而与所述云服务器建立短连接。
具体的,建立短连接的方法为在接收到第一响应后就断开当前与云服务器的会话连接。
可选的,对于本实施例,在步骤803之后还可以包含以下步骤:
步骤804:云服务器通过保存的WAN口地址主动向该家庭网络设备发送消息。
具体的,云服务可以根据保存的该设备的网络类型是公网,从而确定直接通过该WAN口地址主动下发消息。
具体的,云服务器主动向该家庭网络设备发送的消息可以是:网管配置指令,广告信息或其他数据。
步骤805:家庭网络设备周期性向云服务器发起第二网络类型协商请求,所述请求包括该设备当前的WAN口地址。
具体的,可以是预设一个周期时间,例如每5分钟发一次请求,以便检查外网NAT设备的存在性。本实施例中,当前家庭网络设备的WAN口地址没有改变。
可选的,该步骤的触发条件也可以是系统主动通知家庭网络设备当前WAN口地址发生了变化,在本实施例中,系统给他重新分配了一个固定的合法公网IP,例如,200.10.1.70。
步骤806:云服务器接收到第二网络类型协商请求,根据请求消息中的WAN口地址确定该家庭网络设备的网络类型为公网类型,保存该WAN口地址以便可以通过该WAN口地址主动向该设备发送消息,并返回第二响应。
该步骤的详细描述参考图7对应实施例的步骤712。
步骤807:家庭网络设备接收到第二响应后,根据响应中没有包含网络类型是私网而和云服务器建立短连接。
该步骤的详细描述参考步骤803。
在该实施例中,终端向服务器发送网络类型协商请求,所述请求包括终端用于连接外网的WAN口地址,服务器根据该WAN口地址判断终端的网络类型,如果为公网则保存所述WAN口地址并向终端返回公网类型,服务器可以在以后根据所述WAN口地址直接向终端推送消息,如果为私网则直接向终端返回私网类型,终端根据该私网类型与服务器建立长连接,以便服务器以后可以通过该长连接主动向终端推送消息,从而实现了在有NAT设备的环境中,以更低开销、更可靠的方式在服务器和终端之间建立双通道连接。
图9为本发明实施例提供的实现双通道连接的系统结构图,如图9所示,本实施例提供的传输系统900包括:实现双通道连接的服务器901和实现双通道连接的终端902,对服务器901的具体描述参见图1和图2的实施例,可以执行图5、图7、图8的实施例所示的方法,对终端902的描述参见图3和图4对应的实施例,可以执行图6、图7、图8的实施例所示的方法。
以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (15)
1.一种实现双通道连接的服务器,其特征在于,包括:
接收模块,用于接收终端发送的网络类型协商请求,所述请求包括所述终端用于连接外网的WAN口地址;
确定模块,用于根据所述WAN口地址确定所述终端的网络类型;
协商处理模块,用于当所述网络类型是公网时,保存所述WAN口地址以便可以通过所述WAN口地址主动向所述终端发送消息,或者用于当所述网络类型是私网时,向所述终端返回所述私网类型,以便所述终端与服务器建立长连接,所述长连接用于所述服务器可以主动向所述终端发送消息。
2.根据权利要求1所述的实现双通道连接的服务器,其特征在于:所述确定模块包括比较单元和确定单元;
所述比较单元用于比较所述请求的发送源地址和所述WAN口地址是否相同;
所述确定单元用于如果所述比较结果是相同则确定所述网络类型为公网,如果所述比较结果是不同则确定所述网络类型为私网。
3.根据权利要求1或2所述的实现双通道连接的服务器,其特征在于:所述协商处理模块包括保存单元和发送单元;
所述保存单元,用于当所述网络类型是公网时,保存所述WAN口地址以便可以通过所述WAN口地址主动向所述终端发送消息;
所述发送单元,用于向所述终端返回所述网络类型,以便所述终端根据所述网络类型为公网而与所述服务器建立短连接,或者根据所述网络类型为私网而与所述服务器建立长连接,所述长连接用于所述服务器可以主动向所述终端发送消息。
4.一种实现双通道连接的终端,其特征在于,包括:
发送模块,用于向服务器发送网络类型协商请求,所述请求包括终端用于连接外网的WAN口地址;
接收模块,用于接收所述服务器根据所述WAN口地址确定所述终端的网络类型为私网时返回的所述网络类型;
连接建立模块,用于根据所述网络类型为私网而与所述服务器建立长连接,所述长连接用于所述服务器可以主动向所述终端发送消息。
5.根据权利要求4所述的实现双通道连接的终端,其特征在于:所述发送模块包括条件判断单元和发送单元;
所述条件判断单元,用于确定满足以下任一条件:所述终端重启、或者所述WAN口地址发生变更,或者到达预设的周期时间;
所述发送单元,用于根据所述条件判断单元的触发,向所述服务器发送所述网络类型协商请求,所述请求包括终端用于连接外网的WAN口地址。
6.根据权利权利要求4或5所述的实现双通道连接的终端,其特征在于:所述连接建立模块包括长连接维持单元,用于如果当前已经存在与所述服务器的长连接,根据所述网络类型为私网而维持所述长连接。
7.根据权利要求4或5所述的实现双通道连接的终端,其特征在于:
所述接收模块包括私网类型接收单元和公网类型接收单元,所述私网类型接收单元用于接收所述服务器根据所述WAN口地址确定所述终端的网络类型为私网时返回的所述私网类型,所述公网类型接收单元用于接收所述服务器根据所述WAN口地址确定所述终端的网络类型为公网时返回的所述公网类型;
所述连接建立模块包括长连接建立单元和短连接建立单元,所述长连接建立单元用于当所述接收模块接收到的网络类型为私网时而与所述服务器建立长连接,所述短连接建立单元用于当所述接收模块接收到的网络类型为公网时而与所述服务器建立短连接。
8.一种实现双通道连接的方法,其特征在于,包括:
接收终端发送的网络类型协商请求,所述请求包括所述终端用于连接外网的WAN口地址;
根据所述WAN口地址确定所述终端的网络类型;
如果所述网络类型是公网,保存所述WAN口地址以便可以通过所述WAN口地址主动向所述终端发送消息,如果所述网络类型是私网,向所述终端返回所述私网类型,以便所述终端与服务器建立长连接,所述长连接用于所述服务器可以主动向所述终端发送消息。
9.根据权利要求8所述的实现双通道连接的方法,其特征在于,所述根据所述WAN口地址确定所述终端的网络类型具体为:比较所述请求的发送源地址和所述WAN口地址,如果相同则确定所述网络类型为公网,如果不同则确定所述网络类型为私网。
10.根据权利要求8或9所述的实现双通道连接的方法,其特征在于,所述保存所述WAN口地址以便可以通过所述WAN口地址主动向所述终端发送消息之后还包括:向所述终端返回所述公网类型,以便所述终端与所述服务器建立短连接。
11.一种实现双通道连接的方法,其特征在于,包括:
向服务器发送网络类型协商请求,所述请求包括终端用于连接外网的WAN口地址;
接收所述服务器根据所述WAN口地址确定所述终端的网络类型为私网时返回的所述网络类型;
根据所述网络类型为私网而与所述服务器建立长连接,所述长连接用于所述服务器可以主动向所述终端发送消息。
12.根据权利要求11所述的实现双通道连接的方法,其特征在于,所述向服务器发送网络类型协商请求具体为:
确定所述终端重启、或者所述WAN口地址发生变更时向所述服务器发送所述网络类型协商请求,或者根据预设的周期时间周期性向所述服务器发送所述网络类型协商请求。
13.根据权利权利要求11或12所述的实现双通道连接的方法,其特征在于,如果当前已经存在与所述服务器的长连接,所述根据所述网络类型为私网而与所述服务器建立长连接具体为:根据所述网络类型为私网而维持所述长连接。
14.根据权利权利要求11或12所述的实现双通道连接的方法,其特征在于,
所述接收所述服务器根据所述WAN口地址确定所述终端的网络类型为私网时返回的所述网络类型具体为:接收所述服务器根据所述WAN口地址确定所述终端的网络类型为私网或公网时返回的所述网络类型;
所述根据所述网络类型为私网而与所述服务器建立长连接具体为:根据所述网络类型为私网而与所述服务器建立长连接或者根据所述网络类型为公网而与所述服务器建立短连接。
15.一种实现双通道连接的系统,其特征在于,包括:如权利要求1-3中任一权利要求所述的实现双通道连接的服务器和如权利要求4-7中任一权利要求所述的实现双通道连接的终端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510925383.8A CN105553712B (zh) | 2016-02-15 | 2016-02-15 | 一种实现双通道连接的服务器、终端、方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510925383.8A CN105553712B (zh) | 2016-02-15 | 2016-02-15 | 一种实现双通道连接的服务器、终端、方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105553712A true CN105553712A (zh) | 2016-05-04 |
CN105553712B CN105553712B (zh) | 2019-07-12 |
Family
ID=55832652
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510925383.8A Active CN105553712B (zh) | 2016-02-15 | 2016-02-15 | 一种实现双通道连接的服务器、终端、方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105553712B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106250078A (zh) * | 2016-07-26 | 2016-12-21 | 青岛海信电器股份有限公司 | 一种显示终端控制方法及设备 |
CN108112031A (zh) * | 2016-11-24 | 2018-06-01 | 腾讯科技(深圳)有限公司 | 网络类型确定方法及装置 |
CN112887762A (zh) * | 2021-01-26 | 2021-06-01 | 广州欢网科技有限责任公司 | 用于iptv广告资源按人群标签投放的方法和系统 |
CN113395355A (zh) * | 2021-07-06 | 2021-09-14 | 上海通联金融服务有限公司 | 复数长连接双通道后台的报文转接系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7274684B2 (en) * | 2001-10-10 | 2007-09-25 | Bruce Fitzgerald Young | Method and system for implementing and managing a multimedia access network device |
CN101465858A (zh) * | 2008-12-31 | 2009-06-24 | 中兴通讯股份有限公司 | 监控业务中实现私网穿越的方法、网络设备和服务器 |
CN102209302A (zh) * | 2011-07-07 | 2011-10-05 | 深圳市金立通信设备有限公司 | 一种实现移动终端信息推送的系统及方法 |
CN103457985A (zh) * | 2012-11-23 | 2013-12-18 | 航天数联信息技术(深圳)有限公司 | 一种双通道通信方法和系统 |
CN104065520A (zh) * | 2014-07-21 | 2014-09-24 | 中广有线信息网络有限公司 | 双通道网络管理实现方法 |
CN104144080A (zh) * | 2014-07-24 | 2014-11-12 | 上海斐讯数据通信技术有限公司 | 采用远端设备对终端设备进行管理的系统及方法 |
CN105245359A (zh) * | 2015-09-07 | 2016-01-13 | 上海斐讯数据通信技术有限公司 | 一种路由器远程管理方法、系统和设备 |
-
2016
- 2016-02-15 CN CN201510925383.8A patent/CN105553712B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7274684B2 (en) * | 2001-10-10 | 2007-09-25 | Bruce Fitzgerald Young | Method and system for implementing and managing a multimedia access network device |
CN101465858A (zh) * | 2008-12-31 | 2009-06-24 | 中兴通讯股份有限公司 | 监控业务中实现私网穿越的方法、网络设备和服务器 |
CN102209302A (zh) * | 2011-07-07 | 2011-10-05 | 深圳市金立通信设备有限公司 | 一种实现移动终端信息推送的系统及方法 |
CN103457985A (zh) * | 2012-11-23 | 2013-12-18 | 航天数联信息技术(深圳)有限公司 | 一种双通道通信方法和系统 |
CN104065520A (zh) * | 2014-07-21 | 2014-09-24 | 中广有线信息网络有限公司 | 双通道网络管理实现方法 |
CN104144080A (zh) * | 2014-07-24 | 2014-11-12 | 上海斐讯数据通信技术有限公司 | 采用远端设备对终端设备进行管理的系统及方法 |
CN105245359A (zh) * | 2015-09-07 | 2016-01-13 | 上海斐讯数据通信技术有限公司 | 一种路由器远程管理方法、系统和设备 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106250078A (zh) * | 2016-07-26 | 2016-12-21 | 青岛海信电器股份有限公司 | 一种显示终端控制方法及设备 |
CN108112031A (zh) * | 2016-11-24 | 2018-06-01 | 腾讯科技(深圳)有限公司 | 网络类型确定方法及装置 |
CN108112031B (zh) * | 2016-11-24 | 2020-01-10 | 腾讯科技(深圳)有限公司 | 网络类型确定方法及装置 |
CN112887762A (zh) * | 2021-01-26 | 2021-06-01 | 广州欢网科技有限责任公司 | 用于iptv广告资源按人群标签投放的方法和系统 |
CN112887762B (zh) * | 2021-01-26 | 2023-07-25 | 广州欢网科技有限责任公司 | 用于iptv广告资源按人群标签投放的方法和系统 |
CN113395355A (zh) * | 2021-07-06 | 2021-09-14 | 上海通联金融服务有限公司 | 复数长连接双通道后台的报文转接系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105553712B (zh) | 2019-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10374955B2 (en) | Managing network computing components utilizing request routing | |
WO2016155300A1 (zh) | 无线终端设备的远程控制系统及远程控制方法 | |
US20150281367A1 (en) | Multipath tcp techniques for distributed computing systems | |
US9723069B1 (en) | Redistributing a connection | |
CN102769529A (zh) | Dnssec签名服务器 | |
CN111917900B (zh) | 一种域名代理的请求处理方法及装置 | |
CN104009938A (zh) | 基于路由层面的长连接的方法和系统 | |
US9015344B2 (en) | Method, apparatus and system for managing private network remotely using session initiation protocol | |
CN105553712A (zh) | 一种实现双通道连接的服务器、终端、方法和系统 | |
US20150127837A1 (en) | Relay apparatus and data transfer method | |
CN103618801A (zh) | 一种p2p资源共享的方法、设备及系统 | |
CN112073545A (zh) | 使用dns来传送服务器设备的mp-tcp能力 | |
CN111327650A (zh) | 数据传输方法、装置、设备及存储介质 | |
US9699139B2 (en) | Communications system | |
US9888001B2 (en) | Methods, systems, and computer readable media for negotiating diameter capabilities | |
CN110771117A (zh) | 一种采用面向id的网络的会话层通信 | |
CN103916489A (zh) | 一种单域名多ip的域名解析方法及系统 | |
CN111182071A (zh) | 一种内网穿透与服务发布的方法 | |
CN114584558B (zh) | 云边协同分布式api网关系统及api调用方法 | |
CN113612811B (zh) | 一种在多通道中客户端挂载的方法、系统、设备及介质 | |
US10581979B2 (en) | Information transmission method and apparatus | |
US20160054949A1 (en) | Method for storing data in a computer system performing data deduplication | |
CN111953742B (zh) | 一种页面重定向方法、终端设备、中间设备及服务器 | |
CN108848099B (zh) | 一种基于反向多连接的端口映射系统及其端口映射方法 | |
CN105634810B (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200821 Address after: 430000 part of the third floor of cable building, Guandong science and Technology Park, Wuhan East Lake New Technology Development Zone, Wuhan, Hubei Province Patentee after: Wuhan Changjiang Computing Technology Co., Ltd Address before: Songjiang District Wen Ji Road 201616 Shanghai City No. 99, No. 1 Building 3 layer Patentee before: Phicomm (Shanghai) Co.,Ltd. |
|
TR01 | Transfer of patent right |