一种实现双通道连接的服务器、终端、方法和系统的制作方法
【技术领域】
[0001]本发明涉及计算机网络领域,特别是涉及一种实现双通道连接的服务器、终端、方法和系统。
【背景技术】
[0002]随着信息产业的飞速发展,广域网上承载的业务种类和业务量在不断增大,规模也不断在扩大,大量的终端接入设备被广泛应用,需要对这些用户侧设备(CustomerPremise Equipment,CPE)进行有效的远程集中管理。在这样的背景下,数字用户环路(Digital Subscriberloop,DSL)论坛推出了TR069协议,即用户终端设备广域网管理协议,用于从网络侧对家庭网络中的网关、路由器、机顶盒等CPE设备进行远程集中管理,其支持功能有:配置管理、版本管理、性能监控、诊断告警。
[0003]在TR069定义的管理模型中,主要包括两类逻辑设备:网管服务器,通常称为自动配置服务器(Auto-Configurat1n Server,ACS),以及受管理的CPE,如路由器、网关、机顶盒。一些CPE是在网络地址转换(Network Address Translat1n,NAT)设备之后,没有固定IP地址。为适应终端数量巨大、地址不固定的特性,TR069定义的交互流程中,管理交互都是由CPE发起的,ACS接收到请求后才能进行管理下发配置指令,因此这是一种被动式网管模型。
[0004]为了实现主动式网管,现有技术中,借助NAT的UDP简单穿越(Simple Traversalof UDP over NATs,STUN)协议的NAT穿透技术,可以在ACS与CPE之间建立双通道连接,从而让ACS主动向CPE下发配置信息。该方式下,要求在ACS端建立STUN服务器供CPE使用,CPE需要支持STUN客户端,以便将公网IP和端口号通知ACS。一旦ACS需要主动和CPE建立连接时,将通过STUN服务器发送一个UDP连接请求给CPE。
[0005]但是对于用户终端设备这些嵌入式设备,TR069和STUN协议栈占用内存相对较高,而且STUN协议传输采用的是无连接的UDP技术,容易丢包导致数据不可靠。可见,现有技术中对于具有NAT设备的环境,服务器和终端之间建立双通道连接时存在内存开销大、并且系统性能差的缺陷。
【发明内容】
[0006]本发明主要解决的技术问题是提供一种实现双通道连接的服务器、终端、方法和系统,能够在有NAT设备的环境中,以更低开销、更可靠的方式在服务器和终端之间建立双通道连接。
[0007]为解决上述技术问题,本发明采用的一个技术方案是:提供一种实现双通道连接的服务器,该服务器包括接收模块,用于接收终端发送的网络类型协商请求,所述请求包括所述终端用于连接外网的WAN 口地址;确定模块,用于根据所述WAN 口地址确定所述终端的网络类型;协商处理模块,用于当所述网络类型是公网时,保存所述WAN口地址以便可以通过所述WAN 口地址主动向所述终端发送消息,或者用于当所述网络类型是私网时,向所述终端返回所述私网类型,以便所述终端与服务器建立长连接,所述长连接用于所述服务器可以主动向所述终端发送消息。
[0008]为解决上述技术问题,本发明采用的一个技术方案是:提供一种实现双通道连接的终端,该终端包括发送模块,用于向服务器发送网络类型协商请求,所述请求包括终端用于连接外网的WAN 口地址;接收模块,用于接收所述服务器根据所述WAN 口地址确定所述终端的网络类型为私网时返回的所述网络类型;连接建立模块,用于根据所述网络类型为私网而与所述服务器建立长连接,所述长连接用于所述服务器可以主动向所述终端发送消息。
[0009]为解决上述技术问题,本发明采用的一个技术方案是:提供一种实现双通道连接的方法,该方法用于服务器,包括接收终端发送的网络类型协商请求,所述请求包括所述终端用于连接外网的WAN口地址;根据所述WAN口地址确定所述终端的网络类型;如果所述网络类型是公网,保存所述WAN口地址以便可以通过所述WAN口地址主动向所述终端发送消息,如果所述网络类型是私网,向所述终端返回所述私网类型,以便所述终端与服务器建立长连接,所述长连接用于所述服务器可以主动向所述终端发送消息。
[0010]为解决上述技术问题,本发明采用的一个技术方案是:提供一种实现双通道连接的方法,该方法用于终端,包括向服务器发送网络类型协商请求,所述请求包括终端用于连接外网的WAN 口地址;接收所述服务器根据所述WAN 口地址确定所述终端的网络类型为私网时返回的所述网络类型;根据所述网络类型为私网而与所述服务器建立长连接,所述长连接用于所述服务器可以主动向所述终端发送消息。
[0011]区别于现有技术,本发明的实现双通道连接的服务器,用于接收终端发送的网络类型协商请求,所述请求包括终端用于连接外网的WAN 口地址;根据所述WAN 口地址确定所述终端的网络类型;如果所述网络类型是公网,保存所述WAN口地址以便可以通过所述WAN口地址主动向所述终端发送消息,如果所述网络类型是私网,向所述终端返回所述私网类型,以便所述终端与服务器建立长连接,所述长连接用于所述服务器可以主动向所述终端发送消息;从而能够在有NAT设备的环境中,以更低开销、更可靠的方式在网管服务器和用户侧设备之间建立双通道连接。
【附图说明】
[0012]图1是本发明实现双通道连接的服务器的第一实施方式的结构示意图;
[0013]图2是本发明实现双通道连接的服务器的第二实施方式的结构示意图;
[0014]图3是本发明实现双通道连接的终端的第一实施方式的结构示意图;
[0015]图4是本发明实现双通道连接的终端的第二实施方式的结构示意图;
[0016]图5是本发明实现双通道连接的方法的第一实施方式的流程示意图;
[0017]图6是本发明实现双通道连接的方法的第二实施方式的流程示意图;
[0018]图7是本发明一个实施例提供的双通道连接的实现信令流程图;
[0019]图8是本发明另一个实施例提供的双通道连接的实现信令流程图;
[0020]图9是本发明实施例提供的双通道连接的实现系统结构图。
【具体实施方式】
[0021]下面结合【具体实施方式】对本发明的技术方案作进一步更详细的描述。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
[0022]参阅图1,图1是本发明提供的实现双通道连接的服务器的第一实施方式的结构示意图。
[0023]该实现双通道连接的终端100包括:接收模块110,确定模块120,协商处理模块130。
[0024]接收模块110,用于接收终端发送的网络类型协商请求,所述请求包括所述终端用于连接外网的广域网(Wide Area Network,WAN) 口地址。所述终端可以是公网上的终端,也可以是私网上的终端。可选的,所述接收到的网络类型协商请求是一个加密后的请求消息。
[0025]确定模块120,用于根据所述WAN口地址确定所述终端的网络类型。具体的,可以是通过比较所述WAN口地址和请求消息的源地址是否相同来判断网络类型,如果相同则为公网类型,如果不同则为私网类型。
[0026]协商处理模块130,用于当所述网络类型是公网时,保存所述WAN口地址以便可以通过所述WAN口地址主动向所述终端发送消息,或者用于当所述网络类型是私网时,向所述终端返回所述私网类型,以便所述终端与服务器建立长连接,所述长连接用于所述服务器可以主动向所述终端发送消息。进一步的,模块130还可用于在本地保存所述网络类型,以便后续可以根据该网络类型判断采用哪种方式主动下发消息。
[0027]当终端来自公网时,它携带的WAN口地址是固定的合法公网IP地址,例如“200.10.1.5”,因此服务器可以直接向该IP地址发送消息;当终端来自私网时,它没有固定的合法公网IP地址,因此需要通过建立长连接接收服务器主动发送的消息。具体的,所述长连接可以是一个心跳消息。
[0028]区别于现有技术,本发明的实现双通道连接的服务器,接收终端发送的网络类型协商请求,所述请求包括终端用于连接外网的WAN 口地址;根据所述WAN 口地