远程控制的方法、装置及系统的制作方法
【专利摘要】本发明提供一种远程控制的方法、装置及系统,一种远程控制的方法,通过主控端接收云服务器发送的远程连接响应,主控端根据远程连接响应中的远程访问控制器的第三公网IP地址及第三公网端口的端口号向远程访问控制器发送隧道连接请求,并在隧道连接建立后,通过隧道向所述远程访问控制器发送控制报文,以使所述远程访问控制器将所述控制报文转发至与所述远程访问控制器处于同一局域网络的被控端,使得主控端通过信息交互与远程访问控制器建立隧道连接,并通过隧道将控制报文发送至远程访问控制器,以使远程访问控制器将控制报文转发至被控端。
【专利说明】远程控制的方法、装置及系统
【技术领域】
[0001]本发明涉及通信技术,尤其涉及一种远程控制的方法、装置及系统。
【背景技术】
[0002]远程控制是在网络上由主控端通过网络远距离去控制被控端的技术。
[0003]现有技术中,被控端通常位于局域网内部,路由器为该被控端分配内网互联网协议(IP,Internet Protocol)地址,主控端要实现对被控端的远程控制时,需要修改被控端路由器的配置,也即,进行网络地址转换(NAT, Network Address Translat1n),将需要远程控制的被控端的内网IP地址及端口映射到路由器的出口 IP地址及端口上,使得路由器能够将接收到的发往路由器出口 IP地址及端口的报文都发送至被控端,并将被控端发往外网的报文的源IP地址及端口都修改为路由器出口 IP地址及端口。
[0004]但是,现有技术中,通过NAT实现对局域网内被控端的远程控制时,需要手动修改被控端的路由器配置,操作复杂。
【发明内容】
[0005]本发明提供一种远程控制的方法、装置及系统,用以解决现有技术中通过NAT实现对局域网内被控端的远程控制时,需要手动修改被控端的路由器配置,操作复杂的问题。
[0006]本发明提供一种远程控制的方法,包括:
[0007]主控端向云服务器的第一公网互联网协议IP地址发送远程连接请求,所述远程连接请求中包括远程访问控制器的标识,以使所述云服务器根据所述远程访问控制器的标识将所述连接请求转发至对应的远程访问控制器;其中,所述远程访问控制器与被控端属于同一局域网;
[0008]所述主控端接收所述云服务器发送的远程连接响应,所述远程连接响应包括所述远程访问控制器的第一内网IP地址及第一内网端口分别对应的第三公网IP地址及第三公网端口的端口号;
[0009]所述主控端根据所述远程访问控制器的第三公网IP地址及第三公网端口的端口号,向所述远程访问控制器发送隧道连接请求;
[0010]所述主控端在隧道连接建立后,通过隧道向所述远程访问控制器发送控制报文,以使所述远程访问控制器将所述控制报文转发至所述被控端。
[0011]本发明还提供一种远程控制的方法,包括:
[0012]云服务器接收主控端向所述云服务器的第一公网IP地址发送的远程连接请求,所述远程连接请求中包括远程访问控制器的标识;
[0013]所述云服务器根据所述远程访问控制器的标识将所述远程连接请求转发至对应的远程访问控制器;其中,所述远程访问控制器与被控端属于同一局域网;
[0014]所述云服务器接收所述远程访问控制器向所述云服务器的第一公网IP地址发送的远程连接响应,并将所述远程连接响应转发至所述主控端;其中,所述远程连接响应,包括所述远程访问控制器的第一内网IP地址及第一内网端口分别对应的第三公网IP地址及第三公网端口的端口号,以使所述主控端根据所述远程访问控制器的第三公网IP地址及第三公网端口的端口号,向所述远程访问控制器发送隧道连接请求。
[0015]本发明又提供一种远程控制的方法,包括:
[0016]远程访问控制器接收云服务器发送的远程连接请求;其中,所述远程访问控制器与被控端属于同一局域网;
[0017]所述远程访问控制器向所述云服务器的第一公网互联网协议IP地址发送远程连接响应,所述远程连接响应包括所述远程访问控制器的第一内网IP地址及第一内网端口分别对应的第三公网IP地址及第三公网端口的端口号,以使所述云服务器将所述远程连接响应转发至主控端;
[0018]所述远程访问控制器接收所述主控端根据所述第三公网IP地址及第三公网端口的端口号发送的隧道连接请求;
[0019]所述远程访问控制器在隧道连接建立后,通过隧道接收所述主控端发送的控制报文,并将所述控制报文转发至所述被控端。
[0020]本发明提供一种主控端,包括:
[0021]连接请求发送模块,用于向云服务器的第一公网互联网协议IP地址发送远程连接请求,所述远程连接请求中包括远程访问控制器的标识,以使所述云服务器根据所述远程访问控制器的标识将所述连接请求转发至对应的远程访问控制器;其中,所述远程访问控制器与被控端属于同一局域网;
[0022]连接响应接收模块,用于接收所述云服务器发送的远程连接响应,所述远程连接响应包括所述远程访问控制器的第一内网IP地址及第一内网端口分别对应的第三公网IP地址及第三公网端口的端口号;
[0023]隧道连接模块,用于根据所述远程访问控制器的第三公网IP地址及第三公网端口的端口号,向所述远程访问控制器发送隧道连接请求;
[0024]控制报文发送模块,用于在隧道连接建立后,通过隧道向所述远程访问控制器发送控制报文,以使所述远程访问控制器将所述控制报文转发至所述被控端。
[0025]本发明提供一种云服务器,包括:
[0026]连接请求接收模块,用于接收主控端向所述云服务器的第一公网IP地址发送的远程连接请求,所述远程连接请求中包括远程访问控制器的标识;
[0027]连接请求发送模块,用于根据所述远程访问控制器的标识将所述远程连接请求转发至对应的远程访问控制器;其中,所述远程访问控制器与被控端属于同一局域网;
[0028]连接响应转发模块,用于接收所述远程访问控制器向所述云服务器的第一公网IP地址发送的远程连接响应,并将所述远程连接响应转发至所述主控端;其中,所述远程连接响应,包括所述远程访问控制器的第一内网IP地址及第一内网端口分别对应的第三公网IP地址及第三公网端口的端口号,以使所述主控端根据所述远程访问控制器的第三公网IP地址及第三公网端口的端口号,向所述远程访问控制器发送隧道连接请求。
[0029]本发明提供一种远程访问控制器,包括:
[0030]连接请求接收模块,用于接收云服务器发送的远程连接请求;其中,所述远程访问控制器与被控端属于同一局域网;
[0031]连接响应发送模块,用于向所述云服务器的第一公网互联网协议IP地址发送远程连接响应,所述远程连接响应包括所述远程访问控制器的第一内网IP地址及第一内网端口分别对应的第三公网IP地址及第三公网端口的端口号,以使所述云服务器将所述远程连接响应转发至主控端;
[0032]隧道连接模块,用于接收所述主控端根据所述第三公网IP地址及第三公网端口的端口号发送的隧道连接请求;
[0033]控制报文转发模块,用于在隧道连接建立后,通过隧道接收所述主控端发送的控制报文,并将所述控制报文转发至所述被控端。
[0034]本发明提供一种远程控制系统,包括:
[0035]主控端、云服务器、远程访问控制器和被控端,所述主控端采用如前述的主控端;所述云服务器采用如前述的云服务器;所述远程访问控制器采用如前述的远程访问控制器。
[0036]本发明提供的远程控制的方法、装置及系统,通过主控端接收云服务器发送的远程连接响应,主控端根据远程连接响应中的远程访问控制器的第三公网IP地址及第三公网端口的端口号向远程访问控制器发送隧道连接请求,并在隧道连接建立后,通过隧道向所述远程访问控制器发送控制报文,以使所述远程访问控制器将所述控制报文转发至与所述远程访问控制器处于同一局域网络的被控端,使得主控端通过信息交互与远程访问控制器建立隧道连接,并通过隧道将控制报文发送至远程访问控制器,以使远程访问控制器将控制报文转发至被控端,避免了通过NAT实现对局域网内被控端的远程控制时,手动修改被控端的路由器配置的操作,解决了操作复杂的问题。
【专利附图】
【附图说明】
[0037]图1为本发明远程控制的方法实施例一的流程图;
[0038]图2为本发明远程控制的方法实施例二的流程图;
[0039]图3为本发明远程控制的方法实施例三的流程图;
[0040]图4为本发明远程控制的方法实施例四的流程图;
[0041]图5为本发明远程控制的方法实施例五的流程图;
[0042]图6为本发明远程控制的方法实施例六的流程图;
[0043]图7为本发明远程控制的方法实施例七的流程图;
[0044]图8为本发明远程控制的方法实施例八的流程图;
[0045]图9为本发明远程控制的方法实施例九的流程图;
[0046]图10为本发明远程控制的方法实施例十的流程图;
[0047]图11为本发明远程控制的方法实施例十一的流程图;
[0048]图12为本发明主控端实施例一的结构示意图;
[0049]图13为本发明主控端实施例二的结构示意图;
[0050]图14为本发明主控端实施例四的结构示意图;
[0051]图15为本发明云服务器实施例一的结构不意图;
[0052]图16为本发明云服务器实施例二的结构示意图;
[0053]图17为本发明云服务器实施例三的结构示意图;
[0054]图18为本发明远程访问控制器实施例一的结构示意图;
[0055]图19为本发明远程访问控制器实施例二的结构示意图;
[0056]图20为本发明远程访问控制器实施例三的结构示意图;
[0057]图21为本发明远程控制系统的拓扑结构示意图。
【具体实施方式】
[0058]图1为本发明远程控制的方法实施例一的流程图,如图1所示,本实施例的方法可以包括:
[0059]步骤101、主控端向云服务器的第一公网IP地址发送远程连接请求,所述远程连接请求中包括远程访问控制器的标识,以使所述云服务器根据所述远程访问控制器的标识将所述连接请求转发至对应的远程访问控制器;其中,所述远程访问控制器与被控端属于同一局域网;
[0060]步骤102、所述主控端接收所述云服务器发送的远程连接响应,所述远程连接响应包括所述远程访问控制器的第一内网IP地址及第一内网端口分别对应的第三公网IP地址及第三公网端口的端口号;
[0061]步骤103、所述主控端根据所述远程访问控制器的第三公网IP地址及第三公网端口的端口号,向所述远程访问控制器发送隧道连接请求;
[0062]步骤104、所述主控端在隧道连接建立后,通过隧道向所述远程访问控制器发送控制报文,以使所述远程访问控制器将所述控制报文转发至所述被控端。
[0063]现有技术中,被控端通常位于局域网内部,路由器为该被控端分配内网IP地址,主控端要实现对被控端的远程控制时,需要修改被控端路由器的配置,将需要远程控制的被控端的内网IP地址及端口映射到路由器的出口 IP地址及端口上,使得路由器能够将接收到的发往路由器出口 IP地址及端口的报文都发送至被控端,并将被控端发往外网的报文的源IP地址及端口都修改为路由器出口 IP地址及端口。本发明中,主控端接收云服务器发送的远程连接响应,主控端根据远程连接响应中的远程访问控制器的第三公网IP地址及第三公网端口的端口号向远程访问控制器发送隧道连接请求,并在隧道连接建立后,通过隧道向所述远程访问控制器发送控制报文,以使所述远程访问控制器将所述控制报文转发至与所述远程访问控制器处于同一局域网络的被控端。
[0064]现有技术中,由于主控端要实现对被控端的远程控制时,需要修改被控端路由器的配置,将需要远程控制的被控端的内网IP地址及端口映射到路由器的出口 IP地址及端口上;因此,存在通过NAT实现对局域网内被控端的远程控制时,需要手动修改被控端的路由器配置,操作复杂的问题。通过本发明中主控端接收云服务器发送的远程连接响应,主控端根据远程连接响应中的远程访问控制器的第三公网IP地址及第三公网端口的端口号向远程访问控制器发送隧道连接请求,并在隧道连接建立后,通过隧道向所述远程访问控制器发送控制报文,以使所述远程访问控制器将所述控制报文转发至与所述远程访问控制器处于同一局域网络的被控端,使得主控端通过信息交互与远程访问控制器建立隧道连接,并通过隧道将控制报文发送至远程访问控制器,以使远程访问控制器将控制报文转发至被控端,避免了通过NAT实现对局域网内被控端的远程控制时,手动修改被控端的路由器配置的操作,解决了操作复杂的问题。
[0065]本实施例中,通过主控端接收云服务器发送的远程连接响应,主控端根据远程连接响应中的远程访问控制器的第三公网IP地址及第三公网端口的端口号向远程访问控制器发送隧道连接请求,并在隧道连接建立后,通过隧道向所述远程访问控制器发送控制报文,以使所述远程访问控制器将所述控制报文转发至与所述远程访问控制器处于同一局域网络的被控端,使得主控端通过信息交互与远程访问控制器建立隧道连接,并通过隧道将控制报文发送至远程访问控制器,以使远程访问控制器将控制报文转发至被控端,避免了通过NAT实现对局域网内被控端的远程控制时,手动修改被控端的路由器配置的操作,解决了操作复杂的问题。
[0066]图2为本发明远程控制的方法实施例二的流程图,如图2所示,本实施例的方法可以包括:
[0067]步骤201、主控端向云服务器的第一公网IP地址发送认证请求;
[0068]其中,所述认证请求包括用户名;
[0069]步骤202、所述主控端接收所述云服务器发送的认证响应;
[0070]其中,所述认证响应包括所述用户名对应的所有的远程访问控制器的标识;
[0071 ] 可选的,远程访问控制器的标识可以为序列号。
[0072]步骤203、所述主控端向所述云服务器的第一公网IP地址发送地址绑定请求;
[0073]步骤204、所述主控端接收所述云服务器发送的地址绑定响应;
[0074]其中,所述地址绑定响应,包括:所述主控端的第二内网IP地址及第二内网端口分别对应的第四公网IP地址及第四公网端口的端口号;
[0075]步骤205、所述主控端向所述云服务器的第一公网IP地址发送远程连接请求,以使所述云服务器将所述远程连接请求转发至远程访问控制器;
[0076]其中,所述远程访问控制器与被控端属于同一局域网;
[0077]其中,所述远程连接请求包括远程访问控制器的标识,以使所述云服务器根据所述远程访问控制器的标识将所述连接请求转发至对应的远程访问控制器;所述远程连接请求,还包括所述主控端的第四公网IP地址及第四公网端口的端口号,以使所述远程访问控制器在接收到所述远程连接请求后,根据所述主控端的第四公网IP地址及第四公网端口的端口号向所述主控端发送隧道连接请求;
[0078]NAT类型主要有四种:(1)完全锥形NAT(Full Cone NAT),所有从同一个内网IP地址和端口发送给路由器的报文都会被映射成同一个外网IP地址和端口,并且任何一个外网主机都可以通过该外网IP地址和端口向内网主机发送报文;(2)限制锥形NAT (Restricted Cone NAT),所有从同一个内网IP地址和端口发送给路由器的报文都会被映射成同一个外网IP地址和端口,与完全锥形NAT不同的是,外网主机只能够向先前已经向该外网主机发送过报文的内网主机发送报文;(3)端口限制锥形NAT (Port RestrictedCone NAT),与限制锥形NAT很相似,只不过限制信息除了 IP地址还包括端口。也就是说,一台IP地址X和端口 P的外网主机想给内网主机发送报文,必须是这台内网主机先前已经给这个IP地址X和端口 P发送过报文;⑷对称NAT (Symmetric NAT),所有从同一个内网IP地址和端口发送到一个特定的目的IP地址和端口的报文,都会被路由器映射到同一个IP地址和端口 ;如果同一台主机使用相同的源地址和端口发送报文,但是发往不同的目的IP地址,NAT将会映射到不同的端口;且一台IP地址X和端口 P的外网主机想给内网主机发送包,必须是这台内网主机先前已经给这个IP地址X和端口 P发送过报文。
[0079]由此可以看出,若远程访问控制器的NAT类型为限制锥形NAT、端口限制锥形NAT及对称NAT时,则需要远程访问控制器和主控端都向对端发送隧道连接请求;若远程访问控制器的NAT类型为完全锥形NAT,则不需要远程访问控制器和主控端都向对端发送隧道连接请求,例如可只由主控端向远程访问控制器发送隧道连接请求就可以在远程访问控制器与主控端之间建立隧道连接。
[0080]步骤206、所述主控端接收所述云服务器发送的远程连接响应;
[0081]其中,所述远程连接响应,包括:所述远程访问控制器的第一内网IP地址及第一内网端口分别对应的第三公网IP地址及第三公网端口的端口号。
[0082]步骤207、所述主控端向所述远程访问控制器发送隧道连接请求;
[0083]具体的,所述主控端根据所述远程访问控制器的第三公网IP地址及第三公网端口的端口号,向所述远程访问控制器发送隧道连接请求;
[0084]步骤208、所述主控端在隧道连接建立后,通过隧道向所述远程访问控制器发送控制报文,以使所述远程访问控制器将所述控制报文转发至所述被控端。
[0085]本实施例中,可选的,认证响应还可以包括:各远程访问控制器的内网IP地址。由于远程访问控制器与被控端处于同一局域网内,因此主控端可以根据远程访问控制器的内网IP地址及报文的目的IP地址,确定该报文是否为发送至被控端的控制报文。例如,报文的目的IP地址与远程访问控制器的内网IP地址处于同一网段的报文都为发送至被控端的控制报文。
[0086]本实施例中,可选的,远程连接响应,还可以包括:远程访问控制器为主控端分配虚拟网卡的IP地址。远程访问控制器和主控端可以配置虚拟网卡,在主控端与远程访问控制器之间通过虚拟网卡发送控制报文。
[0087]本实施例中,通过主控端向远程访问控制器发送远程连接请求,以使远程访问控制器根据远程连接请求中的主控端的第四外网IP地址及第四外网端口信息向主控端发送隧道连接请求;主控端接收云服务器发送的远程连接响应,并根据远程连接响应中的远程访问控制器的第三公网IP地址及第三公网端口的端口号向远程访问控制器发送隧道连接请求;并在隧道连接建立后,主控端通过隧道向所述远程访问控制器发送控制报文,以使所述远程访问控制器将所述控制报文转发至与所述远程访问控制器处于同一局域网络的被控端,使得主控端通过信息交互与远程访问控制器建立隧道连接,并通过隧道将控制报文发送至远程访问控制器,以使远程访问控制器将控制报文转发至被控端,避免了通过NAT实现对局域网内被控端的远程控制时,手动修改被控端的路由器配置的操作,解决了操作复杂的问题。
[0088]图3为本发明远程控制的方法实施例三的流程图,如图3所示,本实施例的方法可以包括:
[0089]步骤301、主控端向云服务器的第一公网IP地址发送地址绑定请求;
[0090]步骤302、所述主控端接收所述云服务器发送的地址绑定响应;
[0091]其中,所述地址绑定响应,包括:所述主控端的第二内网IP地址及第二内网端口分别对应的第四公网IP地址及第四公网端口的端口号,以及所述主控端的NAT类型;
[0092]步骤303、所述主控端向所述云服务器的第一公网IP地址发送远程连接请求,以使所述云服务器将所述远程连接请求转发至远程访问控制器;
[0093]其中,所述远程连接请求,包括:远程访问控制器的标识、所述主控端的第四公网IP地址及第四公网端口的端口号;
[0094]所述远程连接请求,还包括:所述主控端的NAT类型,以使所述远程访问控制器确定所述主控端的NAT类型是否为对称NAT类型;
[0095]其中,所述远程访问控制器与被控端属于同一局域网;
[0096]步骤304、所述主控端接收所述云服务器发送的远程连接响应;
[0097]其中,所述远程连接响应,包括:所述远程访问控制器的第一内网IP地址及第一内网端口分别对应的第三公网IP地址及第三公网端口的端口号,以及所述远程访问控制器的NAT类型;
[0098]步骤305、所述主控端确定所述主控端的NAT类型及所述远程访问控制器的NAT类型是否都为对称NAT类型;
[0099]若是,则执行步骤306 ;否则,执行步骤308。
[0100]步骤306、所述主控端接收所述云服务器发送的所述远程访问控制器的第一端口偏移量;
[0101]其中,第一端口偏移量为所述远程访问控制器根据所述远程访问控制器的第三公网端口的端口号及第六公网端口的端口号获得;
[0102]可选的,第一端口偏移量可以为第三公网端口的端口号与第六公网端口的端口号差值的绝对值。
[0103]步骤307、所述主控端向所述远程访问控制器发送隧道连接请求;
[0104]具体的,所述主控端根据所述远程访问控制器的第三公网IP地址、第三公网端口的端口号及第一端口偏移量,向所述远程访问控制器发送隧道连接请求;
[0105]对于对称NAT来说,局域网内的发送端基于同一内网IP地址及内网端口,向不同的接收端发送报文时,会映射为不同的外网端口 ;远程访问控制器通过与云服务器交互获得自身的外网端口,与远程访问控制器同主控端交互时所使用的外网端口不同。因此,主控端不能直接使用远程访问控制器向云服务器的第一外网IP地址发送地址绑定请求所获得的远程访问控制器的第三公网IP地址及第三公网端口的端口号向远程访问控制器发送隧道连接请求。
[0106]可选的,主控端根据远程访问控制器的第三公网IP地址、第三公网端口的端口号及第一端口偏移量,向远程访问控制器发送隧道连接请求,可以为:
[0107]主控端分别向远程访问控制器的第三公网IP地址发送一系列的隧道连接请求,目的端口号分别为{Ρ,Ρ+ΛΡ,Ρ+2.ΛΡ,…,Ρ+η.ΛΡ},其中,P为第三公网端口的端口号,Λ P为第一端口偏移量,η为正整数。
[0108]对于同一内网IP端口,对称NAT在局域网内进行外网端口的端口号映射时,通常会以固定偏移量递增或递减的方式进行,因此,远程访问控制器可以通过远程访问控制器第一内网端口的端口号分别映射的第三公网端口的端口号及第六公网端口的端口号获取该固定偏移量,也即第一端口偏移量。主控端通过根据该第一端口偏移量向远程访问控制器发送目的端口号分别为{Ρ,Ρ+ΛΡ,Ρ+2.ΔΡ,…,Ρ+η.ΛΡ}的一系列的隧道连接请求,该一系列隧道连接请求对应的端口号中必然包含了远程访问控制器向主控端发送隧道连接请求时远程访问控制器的第一内网IP地址NAT后的公网端口的端口号。从而,使得在远程访问控制器和主控端的NAT类型都为对称NAT时,远程访问控制器能够接收到主控端发送的隧道连接请求。
[0109]需要说明的是,步骤307执行完之后,执行步骤309。
[0110]步骤308、所述主控端向所述远程访问控制器发送隧道连接请求;
[0111]具体的,所述主控端根据所述远程访问控制器的第三公网IP地址及第三公网端口的端口号,向所述远程访问控制器发送隧道连接请求;
[0112]对于完全锥形NAT、限制锥形NAT和端口限制锥形NAT来说,局域网内的发送端基于同一内网IP地址及内网端口,向不同的接收端发送报文时,都映射为同一外网IP地址及外网端口 ;因此,远程访问控制器通过与云服务器交互获得自身的外网IP地址及外网端口,与远程访问控制器与主控端交互时所使用的外网IP地址及外网端口相同。此时,主控端可以直接使用远程访问控制器向云服务器的第一外网IP地址发送地址绑定请求所获得的远程访问控制器的第三公网IP地址及第三公网端口的端口号向远程访问控制器发送隧道连接请求。
[0113]步骤309、所述主控端在隧道连接建立后,通过隧道向所述远程访问控制器发送控制报文,以使所述远程访问控制器将所述控制报文转发至所述被控端。
[0114]需要说明的是,本实施例中,步骤301之前也可以包括实施例二中步骤201和步骤202的相关内容。
[0115]需要说明的是,步骤305中当远程访问控制器和主控端的NAT类型都为对称NAT类型再执行步骤306的原因为:根据实施例二可以看出,远程访问控制器和主控端分别可以向对端发送隧道连接请求;因此,若仅远程访问控制器的NAT类型为对称NAT时,主控端能够接收到远程访问控制器根据主控端的第四公网IP地址及第四公网端口的端口号所发送的隧道连接请求;若仅主控端的NAT类型为对称NAT时,远程访问控制器能够接收到主控端根据远程访问控制器的第三公网IP地址及第三公网端口的端口号所发送的隧道连接请求。由此可以看出,在主控端及远程访问控制器都发送隧道连接请求时,仅当远程访问控制器及主控端的NAT类型都为对称NAT类型时,主控端才需要接收远程访问控制器的第一端口偏移量,并进一步根据远程访问控制器的第三公网IP地址、第三公网端口的端口号及第一端口偏移量向远程访问控制器发送隧道连接请求。
[0116]本实施例中,通过主控端接收云服务器发送的远程访问控制器的第三公网IP地址、第三公网端口的端口号及第一端口偏移量,根据第三公网IP地址、第三公网端口的端口号及第一端口偏移量向远程访问控制器发送隧道连接请求,并在隧道连接建立后,通过隧道向所述远程访问控制器发送控制报文,以使所述远程访问控制器将所述控制报文转发至与所述远程访问控制器处于同一局域网络的被控端,使得主控端通过信息交互与远程访问控制器建立隧道连接,并通过隧道将控制报文发送至远程访问控制器,以使远程访问控制器将控制报文转发至被控端,解决了当远程访问控制器的NAT类型为对称NAT类型时,主控端仅根据远程访问控制器的第三公网IP地址及第三公网IP端口的端口号(远程访问控制器相对于云服务器的外网IP地址及外网端口的端口号)向远程访问控制器发送隧道连接请求,远程访问控制器不能接收到该隧道连接请求的问题。
[0117]图4为本发明远程控制的方法实施例四的流程图,如图4所示,本实施例的方法可以包括:
[0118]步骤401、主控端向云服务器的第一公网IP地址发送地址绑定请求;
[0119]步骤402、所述主控端接收所述云服务器发送的地址绑定响应;
[0120]其中,所述地址绑定响应,包括:所述主控端的第二内网IP地址及第二内网端口分别对应的第四公网IP地址及第四公网端口的端口号,以及所述主控端的NAT类型;
[0121]步骤403、所述主控端向所述云服务器的第一公网IP地址发送远程连接请求,以使所述云服务器将所述远程连接请求转发至远程访问控制器;
[0122]其中,所述远程连接请求,包括:远程访问控制器的标识、所述主控端的第四公网IP地址及第四公网端口的端口号;
[0123]所述远程连接请求,还包括:所述主控端的NAT类型,以使所述远程访问控制器确定所述主控端的NAT类型是否为对称NAT类型;
[0124]其中,所述远程访问控制器与被控端属于同一局域网;
[0125]步骤404、所述主控端接收所述云服务器发送的远程连接响应;
[0126]其中,所述远程连接响应,包括:所述远程访问控制器的第一内网IP地址及第一内网端口分别对应的第三公网IP地址及第三公网端口的端口号,以及所述远程访问控制器的NAT类型;
[0127]步骤405、所述主控端确定所述主控端的NAT类型及所述远程访问控制器的NAT类型是否都为对称NAT类型;
[0128]若是,则执行步骤406 ;否则,结束;
[0129]步骤406、所述主控端向所述云服务器的第二公网IP地址发送地址绑定请求;
[0130]步骤407、所述主控端接收所述云服务器发送的地址绑定响应;
[0131]其中,所述地址绑定响应包括所述主控端的第二内网IP地址及第二内网端口对应的第五公网端口的端口号;
[0132]步骤408、所述主控端获取所述主控端的第二端口偏移量;
[0133]具体的,所述主控端根据所述第四公网端口的端口号及所述第五公网端口的端口号获取所述主控端的第二端口偏移量;
[0134]可选的,第二端口偏移量可以为第四公网端口的端口号与第五公网端口的端口号差值的绝对值。
[0135]步骤409、所述主控端将所述主控端的第二端口偏移量发送至所述云服务器,以使所述云服务器将所述第二端口偏移量转发至所述远程访问控制器;
[0136]所述主控端将所述主控端的第二端口偏移量发送至所述云服务器,以使所述云服务器将所述第二端口偏移量转发至所述远程访问控制器,使得所述远程访问控制器在接收到所述远程连接请求并确定所述主控端的NAT类型和远程访问控制器的NAT类型都为对称NAT类型后,根据所述主控端的第四公网IP地址、第四公网端口的端口号及第二端口偏移量向所述主控端发送隧道连接请求。
[0137]对于对称NAT来说,局域网内的发送端基于同一内网IP地址及内网端口,向不同的接收端发送报文时,会映射为不同的外网端口 ;主控端通过与云服务器交互获得的自身的外网端口,与主控端同远程访问控制器交互时所使用的外网端口不同。
[0138]因此,远程访问控制器不能直接使用主控端向云服务器的第一外网IP地址发送地址绑定请求所获得的主控端的第三公网IP地址及第三公网端口的端口号向主控端发送隧道连接请求。主控端需要向云服务器的第二公网IP地址也发送地址绑定请求,获得主控端的第二内网IP地址及第二内网端口对应的第五公网端口的端口号,根据第四公网端口的端口号与第五公网端口的端口号获得主控端的第二端口偏移量,并将第二端口偏移量发送至远程访问控制器,使得远程访问控制器在接收到所述远程连接请求并确定所述主控端的NAT类型和远程访问控制器的NAT类型都为对称NAT类型后,根据所述主控端的第四公网IP地址、第四公网端口的端口号及第二端口偏移量向所述主控端发送隧道连接请求。
[0139]需要说明的是,本实施例中,步骤401之前也可以包括实施例二中步骤201和步骤202的相关内容。
[0140]需要说明的是,步骤405中当远程访问控制器和主控端的NAT类型都为对称NAT类型再执行步骤406的原因为:根据实施例二可以看出,远程访问控制器和主控端分别可以向对端发送隧道连接请求;因此,若仅远程访问控制器的NAT类型为对称NAT时,主控端能够接收到远程访问控制器根据主控端的第四公网IP地址及第四公网端口的端口号所发送的隧道连接请求;若仅主控端的NAT类型为对称NAT时,远程访问控制器能够接收到主控端根据远程访问控制器的第三公网IP地址及第三公网端口的端口号所发送的隧道连接请求。由此可以看出,在主控端及远程访问控制器都发送隧道连接请求时,仅当远程访问控制器及主控端的NAT类型都为对称NAT类型时,主控端才需要获取自身的第二端口偏移量,并将第二偏移量发送至远程访问控制器,以使远程访问控制其根据主控端的第四公网IP地址、第四公网端口的端口号及第二端口偏移量向主控端发送隧道连接请求。
[0141]本实施例中,通过主控端向云服务器发送主控端的第四公网IP地址、第四公网端口的端口号及第二端口偏移量,以使云服务器将主控端的第四公网IP地址、第四公网端口的端口号及第二端口偏移量转发至远程访问控制器,使得远程访问控制器能够根据第四公网IP地址、第四公网端口的端口号及第二端口偏移量向主控端发送隧道连接请求,解决了当主控端的NAT类型为对称NAT时,远程访问控制器仅根据主控端的第四公网IP地址及第四公网端口的端口号(主控端相对于云服务器的外网IP地址及外网端口的端口号)向主控端发送隧道连接请求,主控端不能接收到该隧道连接请求的问题。
[0142]图5为本发明远程控制的方法实施例五的流程图,如图5所示,本实施例的方法可以包括:
[0143]步骤501、云服务器接收主控端向所述云服务器的第一公网互联网协议IP地址发送的远程连接请求,所述远程连接请求中包括远程访问控制器的标识;
[0144]步骤502、所述云服务器根据所述远程访问控制器的标识将所述远程连接请求转发至对应的远程访问控制器;其中,所述远程访问控制器与被控端属于同一局域网;
[0145]步骤503、所述云服务器接收所述远程访问控制器向所述云服务器的第一公网IP地址发送的远程连接响应,并将所述远程连接响应转发至所述主控端;其中,所述远程连接响应,包括所述远程访问控制器的第一内网IP地址及第一内网端口分别对应的第三公网IP地址及第三公网端口的端口号,以使所述主控端根据所述远程访问控制器的第三公网IP地址及第三公网端口的端口号,向所述远程访问控制器发送隧道连接请求。
[0146]现有技术中,被控端通常位于局域网内部,路由器为该被控端分配内网IP地址,主控端要实现对被控端的远程控制时,需要修改被控端路由器的配置,将需要远程控制的被控端的内网IP地址及端口映射到路由器的出口 IP地址及端口上,使得路由器能够将接收到的发往路由器出口 IP地址及端口的报文都发送至被控端,并将被控端发往外网的报文的源IP地址及端口都修改为路由器出口 IP地址及端口。本发明中,云服务器将来自远程访问控制器的远程连接响应转发至主控端,其中,远程连接响应包括:远程访问控制器的第三公网IP地址及第三公网端口的端口号。
[0147]现有技术中,由于主控端要实现对被控端的远程控制时,需要修改被控端路由器的配置,将需要远程控制的被控端的内网IP地址及端口映射到路由器的出口 IP地址及端口上;因此,存在通过NAT实现对局域网内被控端的远程控制时,需要手动修改被控端的路由器配置,操作复杂的问题。通过本发明中云服务器将来自远程访问控制器的远程连接响应转发至主控端,其中,远程连接响应包括:远程访问控制器的第三公网IP地址及第三公网端口的端口号,以使主控端能够根据远程连接响应中的远程访问控制器的第三公网IP地址及第三公网端口的端口号向远程访问控制器发送隧道连接请求,并在隧道连接建立后通过隧道向所述远程访问控制器发送控制报文,以使所述远程访问控制器将所述控制报文转发至与所述远程访问控制器处于同一局域网的被控端,避免了通过NAT实现对局域网内被控端的远程控制时,手动修改被控端的路由器配置的操作,解决了操作复杂的问题。
[0148]本实施例,云服务器将来自远程访问控制器的远程连接响应转发至主控端,其中,远程连接响应包括:远程访问控制器的第三公网IP地址及第三公网端口的端口号,以使主控端能够根据远程连接响应中的远程访问控制器的第三公网IP地址及第三公网端口的端口号向远程访问控制器发送隧道连接请求,并在隧道连接建立后通过隧道向所述远程访问控制器发送控制报文,以使所述远程访问控制器将所述控制报文转发至与所述远程访问控制器处于同一局域网的被控端,避免了通过NAT实现对局域网内被控端的远程控制时,手动修改被控端的路由器配置的操作,解决了操作复杂的问题。
[0149]图6为本发明远程控制的方法实施例六的流程图,如图6所示,本实施例的方法可以包括:
[0150]步骤601、云服务器根据用户输入,将用户名及所述用户名对应的远程访问控制器的标识进行关联存储;
[0151]步骤602、所述云服务器接收远程访问控制器向所述云服务器的第一公网IP地址发送的注册请求;
[0152]其中,所述注册请求包括所述远程访问控制器的标识;
[0153]步骤603、所述云服务器根据所述注册请求,获取所述远程访问控制器的公网信息,并进行存储;
[0154]其中,所述公网信息,包括:所述远程访问控制器的公网IP地址及公网端口的端
□号;
[0155]可选的,所述远程访问控制器的公网IP地址及公网端口的端口号可以为:所述远程访问控制器的第一内网IP地址及第一内网端口分别对应的第三公网IP地址及第三公网端口的端口号;或者,也可以为:所述远程访问控制器的第一内网IP地址及第三内网端口分别对应的第三公网IP地址及第七公网端口的端口号。
[0156]可选的,可以将远程访问控制器的标识与所述公网信息进行关联存储。
[0157]可选的,云服务器可以根据注册请求的源IP地址及源端口信息,获得远程访问控制器的公网信息。
[0158]步骤604、所述云服务器接收主控端向所述云服务器的第一公网IP地址发送的认证请求;
[0159]其中,所述认证请求包括用户名;
[0160]步骤605、所述云服务器向所述主控端返回认证响应;
[0161]其中,所述认证响应包括所述用户名对应的所有的远程访问控制器的标识。
[0162]步骤606、所述云服务器接收所述主控端向所述云服务器的第一公网IP地址发送的第二地址绑定请求;
[0163]步骤607、所述云服务器向所述主控端返回第二地址绑定响应;
[0164]其中,所述第二地址绑定响应包括所述主控端的第二内网IP地址及第二内网端口分别对应的第四公网IP地址及第四公网端口的端口号;
[0165]步骤608、所述云服务器接收所述主控端向所述云服务器的第一公网互联网协议IP地址发送的远程连接请求;
[0166]其中,所述远程连接请求,包括:远程访问控制器的标识、所述主控端的第四公网IP地址以及第四公网端口的端口号;
[0167]步骤609、所述云服务器将所述远程连接请求转发至所述远程访问控制器;
[0168]具体的,所述云服务器根据所述远程连接请求中包括的所述远程访问控制器的标识对应的所述第三公网IP地址及第三公网端口的端口号,将所述远程连接请求转发至对应的远程访问控制器,以使所述远程访问控制器在接收到远程连接请求后能够根据主控端的第四公网IP地址及第四公网端口的端口号,向所述主控端发送隧道连接请求;其中,所述远程访问控制器与被控端属于同一局域网;
[0169]步骤610、所述云服务器接收所述远程访问控制器向所述云服务器的第一公网IP地址发送的第一地址绑定请求;
[0170]步骤611、所述云服务器向所述远程访问控制器返回第一地址绑定响应;
[0171]其中,所述第一地址绑定响应包括所述远程访问控制器的第一内网IP地址及第一内网端口分别对应的第三公网IP地址及第三公网端口的端口号;
[0172]步骤612、所述云服务器接收所述远程访问控制器向所述云服务器的第一公网IP地址发送的远程连接响应,并将所述远程连接响应转发至所述主控端;
[0173]其中,所述远程连接响应,包括所述远程访问控制器的第一内网IP地址及第一内网端口分别对应的第三公网IP地址及第三公网端口的端口号,以使所述主控端根据所述远程访问控制器的第三公网IP地址及第三公网端口的端口号,向所述远程访问控制器发送隧道连接请求。
[0174]本实施例,通过云服务器将远程访问控制器与主控端的外网IP地址及外网端口信息进行交换,以使主控端能够根据获得的远程访问控制器的第三外网IP地址及第三外网端口的端口号向远程访问控制器发送隧道连接请求,远程访问控制器能够根据获得的主控端的第四外网IP地址及第四外网端口的端口号向主控端发送隧道连接请求,使得在隧道连接建立后主控端能够通过隧道向远程访问控制器发送控制报文,远程访问控制器再将控制报文转发至与远程访问控制器处于同一局域网的被控端,避免了通过NAT实现对局域网内被控端的远程控制时,手动修改被控端的路由器配置的操作,解决了操作复杂的问题。
[0175]图7为本发明远程控制的方法实施例七的流程图,如图7所示,本实施例的方法可以包括:
[0176]步骤701、云服务器接收主控端向所述云服务器的第一公网IP地址发送的第二地址绑定请求;
[0177]步骤702、所述云服务器向所述主控端返回第二地址绑定响应;
[0178]其中,所述第二地址绑定响应包括所述主控端的第二内网IP地址及第二内网端口分别对应的第四公网IP地址及第四公网端口的端口号,以及所述主控端的NAT类型;
[0179]可选的,可以通过云服务器中的NAT的UDP简单穿越(STUN, Simple Traversal ofUDP over NATs)模块获得主控端的第二内网IP地址及第二内网IP地址分别对应的第四公网IP地址及第四公网端口的端口号,以及主控端的NAT类型。
[0180]步骤703、所述云服务器接收所述主控端向所述云服务器的第一公网IP地址发送的远程连接请求;
[0181]其中,所述远程连接请求,包括:远程访问控制器的标识、所述主控端的第四公网IP地址、第四公网端口的端口号以及主控端的NAT类型;
[0182]步骤704、所述云服务器将所述远程连接请求转发至远程访问控制器;
[0183]具体的,所述云服务器根据所述远程连接请求中包括的所述远程访问控制器的标识将所述远程连接请求转发至对应的远程访问控制器;
[0184]其中,所述远程访问控制器与被控端属于同一局域网。
[0185]步骤705、所述云服务器接收所述远程访问控制器向所述云服务器的第一公网IP地址发送的第一地址绑定请求;
[0186]步骤706、所述云服务器向所述远程访问控制器返回第一地址绑定响应;
[0187]其中,所述第一地址绑定响应包括所述远程访问控制器的第一内网IP地址及第一内网端口分别对应的第三公网IP地址及第三公网端口的端口号,以及所述远程访问控制器的NAT类型;
[0188]步骤707、所述云服务器接收所述远程访问控制器向所述云服务器的第一公网IP地址发送的远程连接响应,并将所述远程连接响应转发至所述主控端;
[0189]其中,所述远程连接响应,包括:所述远程访问控制器的第三公网IP地址、第三公网端口的端口号及所述远程访问控制器的NAT类型。
[0190]步骤708、所述云服务器接收所述远程访问控制器向所述云服务器的第二公网IP地址发送的第一地址绑定请求;
[0191]需要说明的是,当所述主控端与所述远程访问控制器的NAT类型都为对称NAT时,所述远程访问控制器向所述云服务器的第二公网IP地址发送第一地址绑定请求。
[0192]步骤709、所述云服务器向所述远程访问控制器返回第一地址绑定响应;
[0193]其中,所述第一地址绑定响应,包括:所述远程访问控制器的第一内网IP地址及第一内网端口对应的第六公网端口的端口号;
[0194]步骤710、所述云服务器将所述远程访问控制器发送的第一端口偏移量转发至所述王控立而;
[0195]其中,所述第一端口偏移量为所述远程访问控制器根据所述第三公网端口的端口号及所述第六公网端口的端口号获取。
[0196]步骤711、所述云服务器接收所述主控端向所述云服务器的第二公网IP地址发送的第二地址绑定请求;
[0197]需要说明的是,当所述主控端与所述远程访问控制器的NAT类型都为对称NAT时,所述主控端向所述云服务器的第二公网IP地址发送第二地址绑定请求。
[0198]步骤712、所述云服务器向所述主控端返回第二地址绑定响应;
[0199]其中,所述第二地址绑定响应,包括:所述主控端的第二内网IP地址及第二内网端口对应的第五公网端口的端口号;
[0200]步骤713、所述云服务器将所述主控端发送的第二端口偏移量转发至所述远程访问控制器。
[0201 ] 其中,所述第二端口偏移量为所述主控端根据所述第四公网端口的端口号及所述第五公网端口的端口号获取。
[0202]需要说明的是,步骤708?步骤710与步骤711?步骤713之间没有先后关系。
[0203]需要说明的是,本实施例中,步骤701之前也可以包括实施例六中步骤601?步骤605的相关内容。
[0204]本实施例,通过云服务器将远程访问控制器与主控端的外网IP地址、外网端口信息及端口偏移量信息进行交换,以使主控端能够根据获得的远程访问控制器的第三外网IP地址、第三外网端口的端口号及第一端口偏移量向远程访问控制器发送隧道连接请求,远程访问控制器能够根据获得的主控端的第四外网IP地址、第四外网端口的端口号及第二端口偏移量向主控端发送隧道连接请求,使得在隧道连接建立后主控端能够通过隧道向所述远程访问控制器发送控制报文,所述远程访问控制器再将所述控制报文转发至与所述远程访问控制器处于同一局域网的被控端,避免了通过NAT实现对局域网内被控端的远程控制时,手动修改被控端的路由器配置的操作,解决了操作复杂的问题。
[0205]图8为本发明远程控制的方法实施例八的流程图,如图8所示,本实施例的方法可以包括:
[0206]步骤801、远程访问控制器接收云服务器发送的远程连接请求;其中,所述远程访问控制器与被控端属于同一局域网;
[0207]步骤802、所述远程访问控制器向所述云服务器的第一公网互联网协议IP地址发送远程连接响应,所述远程连接响应包括所述远程访问控制器的第一内网IP地址及第一内网端口分别对应的第三公网IP地址及第三公网端口的端口号,以使所述云服务器将所述远程连接响应转发至主控端;
[0208]步骤803、所述远程访问控制器接收所述主控端根据所述第三公网IP地址及第三公网端口的端口号发送的隧道连接请求;
[0209]步骤804、所述远程访问控制器在隧道连接建立后,通过隧道接收所述主控端发送的控制报文,并将所述控制报文转发至所述被控端。
[0210]现有技术中,被控端通常位于局域网内部,路由器为该被控端分配内网IP地址,主控端要实现对被控端的远程控制时,需要修改被控端路由器的配置,将需要远程控制的被控端的内网IP地址及端口映射到路由器的出口 IP地址及端口上,使得路由器能够将接收到的发往路由器出口 IP地址及端口的报文都发送至被控端,并将被控端发往外网的报文的源IP地址及端口都修改为路由器出口 IP地址及端口。本发明中,与被控端处于同一局域网内的远程访问控制器向云服务器发送远程连接响应,以使所述云服务器将所述远程连接响应转发至主控端;接收主控端根据远程连接响应中的第三公网IP地址及第三公网端口的端口号发送的隧道连接请求,并在隧道连接建立后,将主控端通过隧道发送的控制报文转发至被控端。
[0211]现有技术中,由于主控端要实现对被控端的远程控制时,需要修改被控端路由器的配置,将需要远程控制的被控端的内网IP地址及端口映射到路由器的出口 IP地址及端口上;因此,存在通过NAT实现对局域网内被控端的远程控制时,需要手动修改被控端的路由器配置,操作复杂的问题。通过本发明中与被控端处于同一局域网内的远程访问控制器向云服务器发送远程连接响应,以使所述云服务器将所述远程连接响应转发至主控端,使得主控端能够根据远程连接响应中包括的远程访问控制器的第三公网IP地址及第三公网端口的端口号向所述远程访问控制器发送隧道连接请求;并在隧道连接建立后,将主控端通过隧道发送的控制报文转发至被控端;使得主控端通过信息交互与远程访问控制器建立隧道连接,并通过隧道将控制报文发送至远程访问控制器,以使远程访问控制器将控制报文转发至被控端,避免了通过NAT实现对局域网内被控端的远程控制时,手动修改被控端的路由器配置的操作,解决了操作复杂的问题。
[0212]本实施例,与被控端处于同一局域网内的远程访问控制器向云服务器发送远程连接响应,以使所述云服务器将所述远程连接响应转发至主控端,使得主控端能够根据远程连接响应中包括的远程访问控制器的第三公网IP地址及第三公网端口的端口号向所述远程访问控制器发送隧道连接请求;并在隧道连接建立后,将主控端通过隧道发送的控制报文转发至被控端;使得远程访问控制器通过信息交互与主控端建立隧道连接,接收主控端通过隧道发送的控制报文,并将控制报文转发至被控端,避免了通过NAT实现对局域网内被控端的远程控制时,手动修改被控端的路由器配置的操作,解决了操作复杂的问题。
[0213]图9为本发明远程控制的方法实施例九的流程图,如图9所示,本实施例的方法可以包括:
[0214]步骤901、远程访问控制器向云服务器发送注册请求;
[0215]远程访问控制器向云服务器发送注册请求,以使所述云服务器可以根据所述注册请求获得所述远程访问控制器的公网信息;
[0216]其中,所述公网信息,包括:所述远程访问控制器的公网IP地址及公网端口的端
□号;
[0217]可选的,所述远程访问控制器的公网IP地址及公网端口的端口号可以为:所述远程访问控制器的第一内网IP地址及第一内网端口分别对应的第三公网IP地址及第三公网端口的端口号;或者,也可以为:所述远程访问控制器的第一内网IP地址及第三内网端口分别对应的第三公网IP地址及第七公网端口的端口号。
[0218]其中,所述注册请求包括所述远程访问控制器的标识。
[0219]步骤902、所述远程访问控制器接收所述云服务器发送的远程连接请求;
[0220]具体的,所述远程访问控制器接收所述云服务器根据所述远程访问控制器的第三外网IP地址及第三外网端口对应的端口号发送的远程连接请求;
[0221]其中,所述远程连接请求,包括:主控端的第二内网IP地址及第二内网端口分别对应的第四公网IP地址及第四公网端口的端口号;
[0222]其中,远程访问控制器与被控端处于同一局域网。
[0223]步骤903、所述远程访问控制器向主控端发送隧道连接请求;
[0224]具体的,所述远程访问控制器根据所述主控端的第四公网IP地址及第四公网端口的端口号向所述主控端发送隧道连接请求;
[0225]步骤904、所述远程访问控制器向所述云服务器的第一公网IP地址发送地址绑定请求;
[0226]需要说明的是,步骤904与步骤903之间并没有先后关系。
[0227]步骤905、所述远程访问控制器接收所述云服务器发送的地址绑定响应;
[0228]其中,所述地址绑定响应,包括:所述远程访问控制器的第一内网IP地址及第一内网端口分别对应的第三公网IP地址及第三公网端口的端口号。
[0229]步骤906、所述远程访问控制器向所述云服务器的第一公网互联网协议IP地址发送远程连接响应,以使所述云服务器将所述远程连接响应转发至主控端;
[0230]其中,所述远程连接响应,包括:所述远程访问控制器的第一内网IP地址及第一内网端口分别对应的第三公网IP地址及第三公网端口的端口号;
[0231]步骤907、所述远程访问控制器接收所述主控端发送的隧道连接请求;
[0232]具体的,所述远程访问控制器接收所述主控端根据所述第三公网IP地址及第三公网端口的端口号发送的隧道连接请求;
[0233]步骤908、所述远程访问控制器在隧道连接建立后,通过隧道接收所述主控端发送的控制报文,并将所述控制报文转发至所述被控端。
[0234]本实施例中,可选的,注册请求还可以包括:所述远程访问控制器的内网IP地址,使得云服务器发送给主控端的认证请求中可以包括远程访问控制器的内网IP地址。远程连接响应还可以包括:远程服务器为主控端分配的虚拟网卡的IP地址;使得主控端与远程访问控制器之间可以通过虚拟网卡发送控制报文。
[0235]进一步可选的,远程访问控制器通过隧道接收到主控端发送的控制报文后,可以根据解隧道封装后控制报文的源IP地址(即主控端虚拟网卡的IP地址)和对应的隧道标识(ID,identificat1n)建立隧道分发表;对进行隧道解封装后的控制报文进行NAT转换,将报文的源IP地址修改为远程访问控制器的内网IP地址(也即,第一内网IP地址)后,再将修改后的控制报文转发至被控端;
[0236]远程访问控制器接收到被控端返回的报文后,对报文的目的IP地址进行反向NAT转换,将报文的目的IP地址修改为主控端虚拟网卡的IP地址后,再根据报文转换后的目的IP地址(也即隧道分发表的源IP地址表项)查找隧道分发表,确定隧道ID,并在隧道ID对应的隧道上进行报文发送,将报文发送至主控端。
[0237]本实施例,通过远程访问控制器接收云服务器发送的远程连接请求,根据远程连接请求中的主控端的第四公网IP地址及第四公网端口的端口号向所述主控端发送隧道连接请求;远程访问控制器向云服务器发送远程连接响应,以使所述云服务器将远程连接响应转发至主控端,使得主控端能够根据远程连接响应中的远程访问控制器的第三公网IP地址及第三公网端口的端口号向所述远程访问控制器发送隧道连接请求;在隧道连接建立后,远程访问控制器接收所述主控端通过隧道发送的控制报文,并将控制报文转发至被控端;使得远程访问控制器通过信息交互与主控端建立隧道连接,接收主控端通过隧道发送的控制报文,并将控制报文转发至被控端,避免了通过NAT实现对局域网内被控端的远程控制时,手动修改被控端的路由器配置的操作,解决了操作复杂的问题。
[0238]图10为本发明远程控制的方法实施例十的流程图,如图10所示,本实施例的方法可以包括:
[0239]步骤1001、远程访问控制器接收云服务器发送的远程连接请求;
[0240]其中,所述远程连接请求,包括:所述主控端的第二内网IP地址及第二内网端口分别对应的第四公网IP地址及第四公网端口的端口号,以及所述主控端的NAT类型;
[0241]其中,远程访问控制器与被控端处于同一局域网。
[0242]步骤1002、所述远程访问控制器向所述云服务器的第一公网IP地址发送地址绑定请求;
[0243]步骤1003、所述远程访问控制器接收所述云服务器发送的地址绑定响应;
[0244]其中,所述地址绑定响应,包括:所述远程访问控制器的第一内网IP地址及第一内网端口分别对应的第三公网IP地址及第三公网端口的端口号,以及所述远程访问控制器的NAT类型。
[0245]步骤1004、所述远程访问控制器确定所述主控端的NAT类型及所述远程访问控制器的NAT类型是否都为对称NAT类型;
[0246]若是,则执行步骤1005 ;否则,执行步骤1010。
[0247]步骤1005、所述远程访问控制器向所述云服务器的第二公网IP地址发送地址绑定请求;
[0248]步骤1006、所述远程访问控制器接收所述云服务器发送的地址绑定响应;
[0249]其中,所述地址绑定响应包括所述远程访问控制器的第一内网IP地址及第一内网端口对应的第六公网端口的端口号;
[0250]步骤1007、所述远程访问控制器获取所述远程访问控制器的第一端口偏移量;
[0251]具体的,所述远程访问控制器根据所述第三公网端口的端口号及所述第六公网端口的端口号获取所述远程访问控制器的第一端口偏移量;
[0252]可选的,第一端口偏移量可以为第三公网端口的端口号与第六公网端口的端口号差值的绝对值。
[0253]步骤1008、所述远程访问控制器将所述远程访问控制器的第一端口偏移量发送至所述云服务器,以使所述云服务器将所述第一端口偏移量转发至主控端;
[0254]步骤1009、所述远程访问控制器接收所述主控端发送的隧道连接请求;
[0255]具体的,所述远程访问控制器接收所述主控端根据所述第三公网IP地址、第三公网端口的端口号及第一端口偏移量发送的隧道连接请求;
[0256]需要说明的是,本实施例中,步骤1001之前也可以包括实施例九中步骤901的相关内容。
[0257]本实施例中,通过远程访问控制器向云服务器发送远程访问控制器的第三公网IP地址、第三公网端口的端口号及第一端口偏移量,以使云服务器将远程访问控制器的第三公网IP地址、第三公网端口的端口号及第一端口偏移量转发至主控端,使得主控端能够根据第三公网IP地址、第三公网端口的端口号及第一端口偏移量向远程访问控制器发送隧道连接请求,解决了当远程访问控制器的NAT类型为对称NAT时,主控端仅根据远程访问控制器的第三公网IP地址及第三公网端口的端口号(远程访问控制器对于云服务器的外网IP地址及外网端口的端口号)向远程访问控制器发送隧道连接请求,远程访问控制器不能接收到该隧道连接请求的问题。
[0258]图11为本发明远程控制的方法实施例1^一的流程图,如图11所示,本实施例的方法可以包括:
[0259]步骤1101、远程访问控制器接收云服务器发送的远程连接请求;
[0260]其中,所述远程连接请求,包括:所述主控端的第二内网IP地址及第二内网端口分别对应的第四公网IP地址及第四公网端口的端口号,以及所述主控端的NAT类型;
[0261]其中,远程访问控制器与被控端处于同一局域网。
[0262]步骤1102、所述远程访问控制器向所述云服务器的第一公网IP地址发送地址绑定请求;
[0263]步骤1103、所述远程访问控制器接收所述云服务器发送的地址绑定响应;
[0264]其中,所述地址绑定响应,包括:所述远程访问控制器的第一内网IP地址及第一内网端口分别对应的第三公网IP地址及第三公网端口的端口号,以及所述远程访问控制器的NAT类型。
[0265]步骤1104、所述远程访问控制器确定所述主控端的NAT类型及所述远程访问控制器的NAT类型是否都为对称NAT类型;
[0266]若是,则执行步骤1105 ;否则,执行步骤1107。
[0267]步骤1105、所述远程访问控制器接收所述云服务器发送的所述主控端的第二端口偏移量;
[0268]其中,第二端口偏移量为所述主控端根据所述主控端的第四公网端口的端口号及第五公网端口的端口号获得;
[0269]可选的,第二端口偏移量可以为第四公网端口的端口号与第五公网端口的端口号差值的绝对值。
[0270]步骤1106、所述远程访问控制器向所述主控端发送隧道连接请求;
[0271]具体的,所述远程访问控制器根据所述主控端的第四公网IP地址、第四公网端口的端口号及所述第二偏移量向所述主控端发送隧道连接请求;
[0272]可选的,远程访问控制器根据主控端的第四公网IP地址、第四公网端口的端口号及第二端口偏移量,向远程访问控制器发送隧道连接请求,可以为:
[0273]远程访问控制器分别向主控端的第四公网IP地址发送一系列的隧道连接请求,目的端口号分别为{Q,Q+AQ,Q+2.AQ,…,Q+m.AQ},其中,Q为第四公网端口的端口号,Δ Q为第二端口偏移量,m为正整数。
[0274]对于同一内网IP端口,对称NAT在局域网内进行外网端口的端口号映射时,通常会以固定偏移量递增或递减的方式进行,因此,主控端可以通过主控端第二内网端口的端口号分别映射的第四公网端口的端口号及第五公网端口的端口号获取该固定偏移量,也即第二端口偏移量。远程访问控制器通过根据该第二端口偏移量向主控端发送目的端口号分别为{Q, Q+AQ,Q+2.AQ,…,Q+m.Δ Q}的一系列的隧道连接请求,该一系列隧道连接请求对应的端口号中必然包含了主控端向远程访问控制器发送隧道连接请求时主控端的第二内网IP地址NAT后的公网端口的端口号。从而,使得在远程访问控制器和主控端的NAT类型都为对称NAT时,主控端能够接收到远程访问控制器发送的隧道连接请求。
[0275]需要说明的是,执行完步骤1106后,执行步骤1108。
[0276]步骤1107、所述远程访问控制器向所述主控端发送隧道连接请求;
[0277]具体的,所述远程访问控制器根据所述主控端的第四公网IP地址及第四公网端口的端口号向所述主控端发送隧道连接请求;
[0278]步骤1108、所述远程访问控制器在隧道连接建立后,通过隧道接收所述主控端发送的控制报文,并将所述控制报文转发至被控端。
[0279]需要说明的是,本实施例中,步骤1001之前也可以包括实施例九中步骤901的相关内容。
[0280]本实施例中,通过远程访问控制器接收云服务器发送的主控端的第四公网IP地址、第四公网端口的端口号及第二端口偏移量,根据第四公网IP地址、第四公网端口的端口号及第二端口偏移量向主控端发送隧道连接请求,在隧道连接建立后,接收主控端通过隧道发送的控制报文,并将控制报文转发至与远程访问控制器处于同一局域网络的被控端,解决了当主控端的NAT类型为对称NAT时,远程访问控制器仅根据主控端的第四公网IP地址及第四公网端口的端口号(主控端相对于云服务器的外网IP地址及外网端口的端口号)向主控端发送隧道连接请求,主控端不能接收到该隧道连接请求的问题。
[0281]图12为本发明主控端实施例一的结构示意图,如图12所示,本实施例的主控端可以包括:连接请求发送模块1201、连接响应接收模块1202、隧道连接模块1203和控制报文发送模块1204。其中,连接请求发送模块1201,用于向云服务器的第一公网互联网协议IP地址发送远程连接请求,所述远程连接请求中包括远程访问控制器的标识,以使所述云服务器根据所述远程访问控制器的标识将所述连接请求转发至对应的远程访问控制器;其中,所述远程访问控制器与被控端属于同一局域网;连接响应接收模块1202,用于接收所述云服务器发送的远程连接响应,所述远程连接响应包括所述远程访问控制器的第一内网IP地址及第一内网端口分别对应的第三公网IP地址及第三公网端口的端口号;隧道连接模块1203,用于根据所述远程访问控制器的第三公网IP地址及第三公网端口的端口号,向所述远程访问控制器发送隧道连接请求;控制报文发送模块1204,用于在隧道连接建立后,通过隧道向所述远程访问控制器发送控制报文,以使所述远程访问控制器将所述控制报文转发至所述被控端。
[0282]本实施例的主控端,可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0283]图13为本发明主控端实施例二的结构示意图,如图13所示,本实施例的主控端在图12所示主控端结构的基础上,进一步地,还可以包括:第一地址获取模块1205,用于:向所述云服务器的第一公网IP地址发送地址绑定请求;接收所述云服务器发送的地址绑定响应;其中,所述地址绑定响应包括所述主控端的第二内网IP地址及第二内网端口分别对应的第四公网IP地址及第四公网端口的端口号;所述远程连接请求,还包括:所述主控端的第四公网IP地址及第四公网端口的端口号,以使所述远程访问控制器在接收到所述远程连接请求后,根据所述主控端的第四公网IP地址及第四公网端口的端口号向所述主控端发送隧道连接请求。
[0284]可选的,本实施例的主控端,还可以包括:认证模块1206,用于:向所述云服务器的第一公网IP地址发送认证请求,并接收来自所述云服务器的认证响应;其中,所述认证请求包括用户名;所述认证响应包括所述用户名对应的所有的远程访问控制器的标识。
[0285]本实施例的主控端,可以用于执行图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0286]主控端实施例三
[0287]在主控端实施例二的基础上,所述地址绑定响应,还包括:所述主控端的NAT类型;所述远程连接响应,还包括:所述远程访问控制器的NAT类型;
[0288]隧道连接模块1203,具体用于:确定所述主控端的NAT类型及所述远程访问控制器的NAT类型是否都为对称NAT类型;若是,则接收所述云服务器发送的所述远程访问控制器的第一端口偏移量,根据所述远程访问控制器的第三公网IP地址、第三公网端口的端口号及第一端口偏移量,向所述远程访问控制器发送隧道连接请求;否则,根据所述远程访问控制器的第三公网IP地址及第三公网端口的端口号,向所述远程访问控制器发送隧道连接请求。
[0289]本实施例的主控端,可以用于执行图3所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0290]主控端实施例四
[0291]在主控端实施例二的基础上,所述地址绑定响应,还包括:所述主控端的NAT类型;所述远程连接响应,还包括:所述远程访问控制器的NAT类型;
[0292]图14为本发明主控端实施例四的结构示意图,如图14所示,本实施例的主控端在图13所示主控端结构的基础上,进一步地,还可以包括:第二地址获取模块1207和端口偏移量发送模块1208。第二地址获取模块1207,用于当确定所述主控端的NAT类型及所述远程访问控制器的NAT类型都为对称NAT类型时,向所述云服务器的第二公网IP地址发送地址绑定请求;接收所述云服务器发送的地址绑定响应;其中,所述地址绑定响应包括所述主控端的第二内网IP地址及第二内网端口对应的第五公网端口的端口号;端口偏移量发送模块1208,用于根据所述第四公网端口的端口号及所述第五公网端口的端口号获取所述主控端的第二端口偏移量;将所述主控端的第二端口偏移量发送至所述云服务器,以使所述云服务器将所述第二端口偏移量转发至所述远程访问控制器;
[0293]相应的,所述远程连接请求,还包括:所述主控端的第四公网IP地址及第四公网端口的端口号,以使所述远程访问控制器在接收到所述远程连接请求后,根据所述主控端的第四公网IP地址及第四公网端口的端口号向所述主控端发送隧道连接请求,包括:
[0294]所述远程连接请求,还包括:所述主控端的第四公网IP地址、第四公网端口的端口号及所述主控端的NAT类型,以使所述远程访问控制器在接收到所述远程连接请求并确定所述主控端的NAT类型和远程访问控制器的NAT类型都为对称NAT类型后,根据所述主控端的第四公网IP地址、第四公网端口的端口号及第二端口偏移量向所述主控端发送隧道连接请求。
[0295]本实施例的主控端,可以用于执行图4所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0296]图15为本发明云服务器实施例一的结构不意图,如图15所不,本实施例的云服务器可以包括:连接请求接收模块1501、连接请求发送模块1502和连接响应转发模块1503。其中,连接请求接收模块1501,用于接收主控端向所述云服务器的第一公网互联网协议IP地址发送的远程连接请求,所述远程连接请求中包括远程访问控制器的标识;连接请求发送模块1502,用于根据所述远程访问控制器的标识将所述远程连接请求转发至对应的远程访问控制器;其中,所述远程访问控制器与被控端属于同一局域网;连接响应转发模块1503,用于接收所述远程访问控制器向所述云服务器的第一公网IP地址发送的远程连接响应,并将所述远程连接响应转发至所述主控端;其中,所述远程连接响应,包括所述远程访问控制器的第一内网IP地址及第一内网端口分别对应的第三公网IP地址及第三公网端口的端口号,以使所述主控端根据所述远程访问控制器的第三公网IP地址及第三公网端口的端口号,向所述远程访问控制器发送隧道连接请求。
[0297]本实施例的云服务器,可以用于执行图5所不方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0298]图16为本发明云服务器实施例二的结构示意图,如图16所示,本实施例的云服务器在图15所示云服务器结构的基础上,进一步地,还可以包括:第一地址发送模块1504,该第一地址发送模块1504,用于接收所述远程访问控制器向所述云服务器的第一公网IP地址发送的第一地址绑定请求;向所述远程访问控制器返回第一地址绑定响应;其中,所述第一地址绑定响应包括所述远程访问控制器的第一内网IP地址及第一内网端口分别对应的第三公网IP地址及第三公网端口的端口号。
[0299]可选的,第一地址发送模块1504,还用于:接收所述主控端向所述云服务器的第一公网IP地址发送的第二地址绑定请求;向所述主控端返回第二地址绑定响应;其中,所述第二地址绑定响应包括所述主控端的第二内网IP地址及第二内网端口分别对应的第四公网IP地址及第四公网端口的端口号;
[0300]相应的,所述远程连接请求,还包括:所述主控端的第四公网IP地址及第四公网端口的端口号,以使所述远程访问控制器在接收到所述远程连接请求后,根据所述主控端的第四公网IP地址及第四公网端口的端口号,向所述主控端发送隧道连接请求。
[0301]进一步可选的,本实施例的云服务器,还可以包括:认证模块1505,该认证模块1505,用于接收所述主控端向所述云服务器的第一公网IP地址发送的认证请求,并向所述主控端返回认证响应;其中,所述认证请求包括用户名;所述认证响应包括所述用户名对应的所有的远程访问控制器的标识。
[0302]进一步可选的,本实施例的云服务器,还可以包括:输入模块1506,该输入模块1506,用于根据用户输入,将所述用户名及所述用户名对应的远程访问控制器的标识进行关联存储。
[0303]进一步可选的,本实施例的云服务器,还可以包括:注册模块1507,该注册模块1507,用于接收所述远程访问控制器向所述云服务器的第一公网IP地址发送的注册请求,所述注册请求包括所述远程访问控制器的标识;根据所述注册请求获取所述远程访问控制器的公网信息;将所述远程访问控制器的标识与所述公网信息进行关联存储;连接请求发送模块1502,具体用于:根据所述远程访问控制器的标识对应的所述公网信息,将所述远程连接请求转发至对应的远程访问控制器。
[0304]本实施例的云服务器,可以用于执行图6所不方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0305]云服务器实施例三
[0306]可选的,在云服务器实施例二的基础上,所述第一地址绑定响应,还包括:所述远程访问控制器的网络地址转换NAT类型;所述第二地址绑定响应,还包括:所述主控端的NAT类型;
[0307]图17为本发明云服务器实施例三的结构示意图,如图17所示,本实施例的云服务器在图16所示云服务器结构的基础上,进一步地,还可以包括:第二地址发送模块1508和端口偏移量转发模块1509。其中,第二地址发送模块1508,用于当所述主控端与所述远程访问控制器的NAT类型都为对称NAT时,接收所述远程访问控制器向所述云服务器的第二公网IP地址发送的第一地址绑定请求;向所述远程访问控制器返回第一地址绑定响应;接收所述主控端向所述云服务器的第二公网IP地址发送的第二地址绑定请求;向所述主控端返回第二地址绑定响应;其中,所述第一地址绑定响应,包括:所述远程访问控制器的第一内网IP地址及第一内网端口对应的第六公网端口的端口号;所述第二地址绑定响应,包括:所述主控端的第二内网IP地址及第二内网端口对应的第五公网端口的端口号;端口偏移量转发模块1509,用于将所述远程访问控制器发送的第一端口偏移量转发至所述主控端;将所述主控端发送的第二端口偏移量转发至所述远程访问控制器;其中,所述第一端口偏移量为所述远程访问控制器根据所述第三公网端口的端口号及所述第六公网端口的端口号获取;所述第二端口偏移量为所述主控端根据所述第四公网端口的端口号及所述第五公网端口的端口号获取;
[0308]相应的,所述远程连接请求,还包括:所述主控端的第四公网IP地址及第四公网端口的端口号,以使所述远程访问控制器根据所述主控端的第四公网IP地址及第四公网端口的端口号,向所述主控端发送隧道连接请求,包括:
[0309]所述远程连接请求,还包括:所述主控端的第四公网IP地址、第四公网端口的端口号及所述主控端的NAT类型,以使所述远程访问控制器在接收到所述远程连接请求并确定所述主控端的NAT类型和远程访问控制器的NAT类型都为对称NAT类型后,根据所述主控端的第四公网IP地址、第四公网端口的端口号及第二端口偏移量向所述主控端发送隧道连接请求;
[0310]连接响应转发模块1503,具体用于:接收所述远程访问控制器向所述云服务器的第一公网IP地址发送的远程连接响应,并将所述远程连接响应转发至所述主控端;其中,所述远程连接响应,包括所述远程访问控制器的第一内网IP地址及第一内网端口分别对应的第三公网IP地址及第三公网端口的端口号、所述远程访问控制器的NAT类型,以使所述主控端在接收到所述远程连接响应并确定所述远程访问控制器的NAT类型和所述主控端的NAT类型都为对称NAT类型后,根据所述远程访问控制器的第三公网IP地址、第三公网端口的端口号及第一端口偏移量,向所述远程访问控制器发送隧道连接请求。
[0311]本实施例的云服务器,可以用于执行图7所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0312]图18为本发明远程访问控制器实施例一的结构示意图,如图18所示,本实施例的远程访问控制器可以包括:连接请求接收模块1801、连接响应发送模块1802、隧道连接模块1803和控制报文转发模块1804。其中,连接请求接收模块1801,用于接收云服务器发送的远程连接请求;其中,所述远程访问控制器与被控端属于同一局域网;连接响应发送模块1802,用于向所述云服务器的第一公网互联网协议IP地址发送远程连接响应,所述远程连接响应包括所述远程访问控制器的第一内网IP地址及第一内网端口分别对应的第三公网IP地址及第三公网端口的端口号,以使所述云服务器将所述远程连接响应转发至主控端;隧道连接模块1803,用于接收所述主控端根据所述第三公网IP地址及第三公网端口的端口号发送的隧道连接请求;控制报文转发模块1804,用于在隧道连接建立后,通过隧道接收所述主控端发送的控制报文,并将所述控制报文转发至所述被控端。
[0313]本实施例的远程访问控制器,可以用于执行图8所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0314]远程访问控制器实施例二
[0315]在远程访问控制器实施例一的基础上,所述远程连接请求,包括:所述主控端的第二内网IP地址及第二内网端口分别对应的第四公网IP地址及第四公网端口的端口号;隧道连接模块1803,还用于:根据所述主控端的第四公网IP地址及第四公网端口的端口号向所述主控端发送隧道连接请求。
[0316]图19为本发明远程访问控制器实施例二的结构示意图,如图19所示,本实施例的远程访问控制器在图18所示远程访问控制器结构的基础上,进一步地,还可以包括:第一地址获取模块1805。该第一地址获取模块1805,用于向所述云服务器的第一公网IP地址发送地址绑定请求;接收所述云服务器发送的地址绑定响应;其中,所述地址绑定响应包括所述远程访问控制器的第一内网IP地址及第一内网端口分别对应的第三公网IP地址及第三公网端口的端口号。
[0317]可选的,本实施例的远程访问控制器,还可以包括:注册模块1806。该注册模块1806,用于向所述云服务器发送注册请求,所述注册请求包括所述远程访问控制器的标识,以使所述云服务器根据所述注册请求获得所述远程访问控制器的公网信息;连接请求接收模块1801,具体用于:接收云服务器根据所述远程访问控制器的公网信息发送的远程连接请求。
[0318]本实施例的远程访问控制器,可以用于执行图9所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0319]远程访问控制器实施例三
[0320]可选的,在远程访问控制器实施例二的基础上,所述地址绑定响应,还包括:所述远程访问控制器的网络地址转换NAT类型;所述远程连接请求,还包括:所述主控端的NAT类型;
[0321]图20为本发明远程访问控制器实施例三的结构示意图,如图20所示,本实施例的远程访问控制器在图19所示远程访问控制器结构的基础上,进一步地,还可以包括:第二地址获取模块1807和端口偏移量发送模块1808。其中,第二地址获取模块1807,用于当确定所述主控端的NAT类型及所述远程访问控制器的NAT类型都为对称NAT类型时,向所述云服务器的第二公网IP地址发送地址绑定请求;接收所述云服务器发送的地址绑定响应;其中,所述地址绑定响应包括所述远程访问控制器的第一内网IP地址及第一内网端口对应的第六公网端口的端口号;端口偏移量发送模块1808,用于根据所述第三公网端口的端口号及所述第六公网端口的端口号获取所述远程访问控制器的第一端口偏移量;将所述远程访问控制器的第一端口偏移量发送至所述云服务器,以使所述云服务器将所述第一端口偏移量转发至所述主控端;隧道连接模块1803,具体用于:接收所述主控端根据所述第三公网IP地址、第三公网端口的端口号及第一端口偏移量发送的隧道连接请求。
[0322]本实施例的远程访问控制器,可以用于执行图10所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0323]远程访问控制器实施例四
[0324]可选的,在远程访问控制器实施例二的基础上,所述地址绑定响应,还包括:所述远程访问控制器的网络地址转换NAT类型;所述远程连接请求,还包括:所述主控端的NAT类型;
[0325]隧道连接模块1803,具体用于:确定所述主控端的NAT类型及所述远程访问控制器的NAT类型是否都为对称NAT类型;若是,则接收所述云服务器发送的所述主控端的第二端口偏移量;根据所述主控端的第四公网IP地址、第四公网端口的端口号及所述第二偏移量向所述主控端发送隧道连接请求;否则,根据所述主控端的第四公网IP地址及第四公网端口的端口号向所述主控端发送隧道连接请求。
[0326]本实施例的远程访问控制器,可以用于执行图11所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0327]图21为本发明远程控制系统的拓扑结构示意图,如图21所示,本实施例的远程控制系统,包括:主控端211、云服务器212、远程访问控制器213、被控端214和路由器215 ;其中,主控端211如主控端实施例一、实施例二、实施例三、实施例四中所述;云服务器212如云服务器实施例一、实施例二、实施例三中所述;远程访问控制器213如远程访问控制器实施例一、实施例二、实施例三、实施例四中所述。
[0328]需要说明的是,图21中主控端211可以是通过无线网络访问互联网的移动终端,或者,也可以是通过有线网络访问互联网的计算机;主控端211可以具有公网IP地址及公网端口,或者,也可以位于一局域网内由局域网内的路由器分配一内网IP地址及内网端□。
[0329]本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0330]最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
【权利要求】
1.一种远程控制的方法,其特征在于,包括: 主控端向云服务器的第一公网互联网协议IP地址发送远程连接请求,所述远程连接请求中包括远程访问控制器的标识,以使所述云服务器根据所述远程访问控制器的标识将所述连接请求转发至对应的远程访问控制器;其中,所述远程访问控制器与被控端属于同一局域网; 所述主控端接收所述云服务器发送的远程连接响应,所述远程连接响应包括所述远程访问控制器的第一内网IP地址及第一内网端口分别对应的第三公网IP地址及第三公网端口的端口号; 所述主控端根据所述远程访问控制器的第三公网IP地址及第三公网端口的端口号,向所述远程访问控制器发送隧道连接请求; 所述主控端在隧道连接建立后,通过隧道向所述远程访问控制器发送控制报文,以使所述远程访问控制器将所述控制报文转发至所述被控端。
2.根据权利要求1所述的方法,其特征在于,所述主控端向云服务器的第一公网IP地址发送远程连接请求之前,还包括: 所述主控端向所述云服务器的第一公网IP地址发送地址绑定请求; 所述主控端接收所述云服务器发送的地址绑定响应;其中,所述地址绑定响应包括所述主控端的第二内网IP地址及第二内网端口分别对应的第四公网IP地址及第四公网端口的端口号; 相应的,所述远程连接请求,还包括:所述主控端的第四公网IP地址及第四公网端口的端口号,以使所述远程访问控制器在接收到所述远程连接请求后,根据所述主控端的第四公网IP地址及第四公网端口的端口号向所述主控端发送隧道连接请求。
3.根据权利要求2所述的方法,其特征在于,所述地址绑定响应,还包括:所述主控端的网络地址转换NAT类型;所述远程连接响应,还包括:所述远程访问控制器的NAT类型; 所述主控端根据所述远程访问控制器的第三公网IP地址及第三公网端口的端口号,向所述远程访问控制器发送隧道连接请求之前,还包括: 所述主控端确定所述主控端的NAT类型及所述远程访问控制器的NAT类型是否都为对称NAT类型; 若是,则所述主控端接收所述云服务器发送的所述远程访问控制器的第一端口偏移量; 相应的,所述主控端根据所述远程访问控制器的第三公网IP地址及第三公网端口的端口号,向所述远程访问控制器发送隧道连接请求,包括: 所述主控端根据所述远程访问控制器的第三公网IP地址、第三公网端口的端口号及第一端口偏移量,向所述远程访问控制器发送隧道连接请求; 否则,执行所述主控端根据所述远程访问控制器的第三公网IP地址及第三公网端口的端口号,向所述远程访问控制器发送隧道连接请求的步骤。
4.根据权利要求2所述的方法,其特征在于,所述地址绑定响应,还包括:所述主控端的NAT类型;所述远程连接响应,还包括:所述远程访问控制器的NAT类型; 所述主控端根据所述远程访问控制器的第三公网IP地址及第三公网端口的端口号,向所述远程访问控制器发送隧道连接请求之前,还包括: 所述主控端确定所述主控端的NAT类型及所述远程访问控制器的NAT类型是否都为对称NAT类型; 若是,则所述主控端向所述云服务器的第二公网IP地址发送地址绑定请求; 所述主控端接收所述云服务器发送的地址绑定响应;其中,所述地址绑定响应包括所述主控端的第二内网IP地址及第二内网端口对应的第五公网端口的端口号; 所述主控端根据所述第四公网端口的端口号及所述第五公网端口的端口号获取所述主控端的第二端口偏移量; 所述主控端将所述主控端的第二端口偏移量发送至所述云服务器,以使所述云服务器将所述第二端口偏移量转发至所述远程访问控制器; 相应的,所述远程连接请求,还包括:所述主控端的第四公网IP地址及第四公网端口的端口号,以使所述远程访问控制器在接收到所述远程连接请求后,根据所述主控端的第四公网IP地址及第四公网端口的端口号向所述主控端发送隧道连接请求,包括: 所述远程连接请求,还包括:所述主控端的第四公网IP地址、第四公网端口的端口号及所述主控端的NAT类型,以使所述远程访问控制器在接收到所述远程连接请求并确定所述主控端的NAT类型和远程访问控制器的NAT类型都为对称NAT类型后,根据所述主控端的第四公网IP地址、第四公网端口的端口号及第二端口偏移量向所述主控端发送隧道连接请求。
5.—种远程控制的方法,其特征在于,包括: 云服务器接收主控端向所述云服务器的第一公网互联网协议IP地址发送的远程连接请求,所述远程连接请求中包括远程访问控制器的标识; 所述云服务器根据所述远程访问控制器的标识将所述远程连接请求转发至对应的远程访问控制器;其中,所述远程访问控制器与被控端属于同一局域网; 所述云服务器接收所述远程访问控制器向所述云服务器的第一公网IP地址发送的远程连接响应,并将所述远程连接响应转发至所述主控端;其中,所述远程连接响应,包括所述远程访问控制器的第一内网IP地址及第一内网端口分别对应的第三公网IP地址及第三公网端口的端口号,以使所述主控端根据所述远程访问控制器的第三公网IP地址及第三公网端口的端口号,向所述远程访问控制器发送隧道连接请求。
6.根据权利要求5所述的方法,其特征在于,所述云服务器接收所述远程访问控制器向所述云服务器的第一公网IP地址发送的远程连接响应之前,还包括: 所述云服务器接收所述远程访问控制器向所述云服务器的第一公网IP地址发送的第一地址绑定请求; 所述云服务器向所述远程访问控制器返回第一地址绑定响应;其中,所述第一地址绑定响应包括所述远程访问控制器的第一内网IP地址及第一内网端口分别对应的第三公网IP地址及第三公网端口的端口号; 所述云服务器接收主控端向所述云服务器的第一公网IP地址发送的远程连接请求之前,还包括: 所述云服务器接收所述主控端向所述云服务器的第一公网IP地址发送的第二地址绑定请求; 所述云服务器向所述主控端返回第二地址绑定响应;其中,所述第二地址绑定响应包括所述主控端的第二内网IP地址及第二内网端口分别对应的第四公网IP地址及第四公网端口的端口号; 相应的,所述远程连接请求,还包括:所述主控端的第四公网IP地址及第四公网端口的端口号,以使所述远程访问控制器在接收到所述远程连接请求后,根据所述主控端的第四公网IP地址及第四公网端口的端口号,向所述主控端发送隧道连接请求。
7.根据权利要求6所述的方法,其特征在于,所述第一地址绑定响应,还包括:所述远程访问控制器的网络地址转换NAT类型;所述第二地址绑定响应,还包括:所述主控端的NAT类型; 当所述主控端与所述远程访问控制器的NAT类型都为对称NAT时,所述云服务器接收所述远程访问控制器向所述云服务器的第一公网IP地址发送的远程连接响应,并将所述远程连接响应转发至所述主控端之后,还包括: 所述云服务器接收所述远程访问控制器向所述云服务器的第二公网IP地址发送的第一地址绑定请求; 所述云服务器向所述远程访问控制器返回第一地址绑定响应;其中,所述第一地址绑定响应,包括:所述远程访问控制器的第一内网IP地址及第一内网端口对应的第六公网端口的端口号; 所述云服务器将所述远程访问控制器发送的第一端口偏移量转发至所述主控端;其中,所述第一端口偏移量为所述远程访问控制器根据所述第三公网端口的端口号及所述第六公网端口的端口号获取; 所述云服务器接收所述主控端向所述云服务器的第二公网IP地址发送的第二地址绑定请求; 所述云服务器向所述主控端返回第二地址绑定响应;其中,所述第二地址绑定响应,包括:所述主控端的第二内网IP地址及第二内网端口对应的第五公网端口的端口号; 所述云服务器将所述主控端发送的第二端口偏移量转发至所述远程访问控制器;其中,所述第二端口偏移量为所述主控端根据所述第四公网端口的端口号及所述第五公网端口的端口号获取; 相应的,所述远程连接请求,还包括:所述主控端的第四公网IP地址及第四公网端口的端口号,以使所述远程访问控制器根据所述主控端的第四公网IP地址及第四公网端口的端口号,向所述主控端发送隧道连接请求,包括: 所述远程连接请求,还包括:所述主控端的第四公网IP地址、第四公网端口的端口号及所述主控端的NAT类型,以使所述远程访问控制器在接收到所述远程连接请求并确定所述主控端的NAT类型和远程访问控制器的NAT类型都为对称NAT类型后,根据所述主控端的第四公网IP地址、第四公网端口的端口号及第二端口偏移量向所述主控端发送隧道连接请求; 相应的,所述云服务器接收所述远程访问控制器向所述云服务器的第一公网IP地址发送的远程连接响应,并将所述远程连接响应转发至所述主控端;其中,所述远程连接响应,包括所述远程访问控制器的第一内网IP地址及第一内网端口分别对应的第三公网IP地址及第三公网端口的端口号,以使所述主控端根据所述远程访问控制器的第三公网IP地址及第三公网端口的端口号,向所述远程访问控制器发送隧道连接请求,包括: 所述云服务器接收所述远程访问控制器向所述云服务器的第一公网IP地址发送的远程连接响应,并将所述远程连接响应转发至所述主控端;其中,所述远程连接响应,包括所述远程访问控制器的第一内网IP地址及第一内网端口分别对应的第三公网IP地址及第三公网端口的端口号、所述远程访问控制器的NAT类型,以使所述主控端在接收到所述远程连接响应并确定所述远程访问控制器的NAT类型和所述主控端的NAT类型都为对称NAT类型后,根据所述远程访问控制器的第三公网IP地址、第三公网端口的端口号及第一端口偏移量,向所述远程访问控制器发送隧道连接请求。
8.—种远程控制的方法,其特征在于,包括: 远程访问控制器接收云服务器发送的远程连接请求;其中,所述远程访问控制器与被控端属于同一局域网; 所述远程访问控制器向所述云服务器的第一公网互联网协议IP地址发送远程连接响应,所述远程连接响应包括所述远程访问控制器的第一内网IP地址及第一内网端口分别对应的第三公网IP地址及第三公网端口的端口号,以使所述云服务器将所述远程连接响应转发至主控端; 所述远程访问控制器接收所述主控端根据所述第三公网IP地址及第三公网端口的端口号发送的隧道连接请求; 所述远程访问控制器在隧道连接建立后,通过隧道接收所述主控端发送的控制报文,并将所述控制报文转发至所述被控端。
9.根据权利要求8所述的方法,其特征在于,所述远程访问控制器接收云服务器发送的远程连接请求之后,还包括: 所述远程访问控制器向所述云服务器的第一公网IP地址发送地址绑定请求; 所述远程访问控制器接收所述云服务器发送的地址绑定响应;其中,所述地址绑定响应包括所述远程访问控制器的第一内网IP地址及第一内网端口分别对应的第三公网IP地址及第三公网端口的端口号; 所述远程连接请求,包括:所述主控端的第二内网IP地址及第二内网端口分别对应的第四公网IP地址及第四公网端口的端口号; 相应的,所述远程访问控制器接收云服务器发送的远程连接请求之后,还包括: 所述远程访问控制器根据所述主控端的第四公网IP地址及第四公网端口的端口号向所述主控端发送隧道连接请求。
10.根据权利要求9所述的方法,其特征在于,所述地址绑定响应,还包括:所述远程访问控制器的网络地址转换NAT类型;所述远程连接请求,还包括:所述主控端的NAT类型; 所述远程访问控制器根据所述主控端的第四公网IP地址及第四公网端口的端口号向所述主控端发送隧道连接请求之前,还包括: 所述远程访问控制器确定所述主控端的NAT类型及所述远程访问控制器的NAT类型是否都为对称NAT类型; 若是,则所述远程访问控制器向所述云服务器的第二公网IP地址发送地址绑定请求;所述远程访问控制器接收所述云服务器发送的地址绑定响应;其中,所述地址绑定响应包括所述远程访问控制器的第一内网IP地址及第一内网端口对应的第六公网端口的端口号; 所述远程访问控制器根据所述第三公网端口的端口号及所述第六公网端口的端口号获取所述远程访问控制器的第一端口偏移量; 所述远程访问控制器将所述远程访问控制器的第一端口偏移量发送至所述云服务器,以使所述云服务器将所述第一端口偏移量转发至所述主控端; 相应的,所述远程访问控制器接收所述主控端根据所述第三公网IP地址及第三公网端口的端口号发送的隧道连接请求,包括: 所述远程访问控制器接收所述主控端根据所述第三公网IP地址、第三公网端口的端口号及第一端口偏移量发送的隧道连接请求。
11.根据权利要求9所述的方法,其特征在于,所述地址绑定响应,还包括:所述远程访问控制器的网络地址转换NAT类型;所述远程连接请求,还包括:所述主控端的NAT类型; 所述远程访问控制器根据所述主控端的第四公网IP地址及第四公网端口的端口号向所述主控端发送隧道连接请求之前,还包括: 所述远程访问控制器确定所述主控端的NAT类型及所述远程访问控制器的NAT类型是否都为对称NAT类型; 若是,则所述远程访问控制器接收所述云服务器发送的所述主控端的第二端口偏移量; 相应的,所述远程访问控制器根据所述主控端的第四公网IP地址及第四公网端口的端口号向所述主控端发送隧道连接请求,包括: 所述远程访问控制器根据所述主控端的第四公网IP地址、第四公网端口的端口号及所述第二偏移量向所述主控端发送隧道连接请求; 否则,执行所述远程访问控制器根据所述主控端的第四公网IP地址及第四公网端口的端口号向所述主控端发送隧道连接请求的步骤。
12.一种王控端,其特征在于,包括: 连接请求发送模块,用于向云服务器的第一公网互联网协议IP地址发送远程连接请求,所述远程连接请求中包括远程访问控制器的标识,以使所述云服务器根据所述远程访问控制器的标识将所述连接请求转发至对应的远程访问控制器;其中,所述远程访问控制器与被控端属于同一局域网; 连接响应接收模块,用于接收所述云服务器发送的远程连接响应,所述远程连接响应包括所述远程访问控制器的第一内网IP地址及第一内网端口分别对应的第三公网IP地址及第三公网端口的端口号; 隧道连接模块,用于根据所述远程访问控制器的第三公网IP地址及第三公网端口的端口号,向所述远程访问控制器发送隧道连接请求; 控制报文发送模块,用于在隧道连接建立后,通过隧道向所述远程访问控制器发送控制报文,以使所述远程访问控制器将所述控制报文转发至所述被控端。
13.根据权利要求12所述的主控端,其特征在于,还包括: 第一地址获取模块,用于:向所述云服务器的第一公网IP地址发送地址绑定请求;接收所述云服务器发送的地址绑定响应;其中,所述地址绑定响应包括所述主控端的第二内网IP地址及第二内网端口分别对应的第四公网IP地址及第四公网端口的端口号; 相应的,所述远程连接请求,还包括:所述主控端的第四公网IP地址及第四公网端口的端口号,以使所述远程访问控制器在接收到所述远程连接请求后,根据所述主控端的第四公网IP地址及第四公网端口的端口号向所述主控端发送隧道连接请求。
14.根据权利要求13所述的主控端,其特征在于,所述地址绑定响应,还包括:所述主控端的网络地址转换NAT类型;所述远程连接响应,还包括:所述远程访问控制器的NAT类型; 所述隧道连接模块,具体用于:确定所述主控端的NAT类型及所述远程访问控制器的NAT类型是否都为对称NAT类型;若是,则接收所述云服务器发送的所述远程访问控制器的第一端口偏移量,根据所述远程访问控制器的第三公网IP地址、第三公网端口的端口号及第一端口偏移量,向所述远程访问控制器发送隧道连接请求;否则,根据所述远程访问控制器的第三公网IP地址及第三公网端口的端口号,向所述远程访问控制器发送隧道连接请求。
15.根据权利要求13所述的主控端,其特征在于,所述地址绑定响应,还包括:所述主控端的NAT类型;所述远程连接响应,还包括:所述远程访问控制器的NAT类型; 所述主控端,还包括:第二地址获取模块和端口偏移量发送模块; 其中,所述第二地址获取模块,用于当确定所述主控端的NAT类型及所述远程访问控制器的NAT类型都为对称NAT类型时,向所述云服务器的第二公网IP地址发送地址绑定请求;接收所述云服务器发送的地址绑定响应;其中,所述地址绑定响应包括所述主控端的第二内网IP地址及第二内网端口对应的第五公网端口的端口号; 所述端口偏移量发送模块,用于根据所述第四公网端口的端口号及所述第五公网端口的端口号获取所述主控端的第二端口偏移量;将所述主控端的第二端口偏移量发送至所述云服务器,以使所述云服务器将所述第二端口偏移量转发至所述远程访问控制器; 相应的,所述远程连接请求,还包括:所述主控端的第四公网IP地址及第四公网端口的端口号,以使所述远程访问控制器在接收到所述远程连接请求后,根据所述主控端的第四公网IP地址及第四公网端口的端口号向所述主控端发送隧道连接请求,包括: 所述远程连接请求,还包括:所述主控端的第四公网IP地址、第四公网端口的端口号及所述主控端的NAT类型,以使所述远程访问控制器在接收到所述远程连接请求并确定所述主控端的NAT类型和远程访问控制器的NAT类型都为对称NAT类型后,根据所述主控端的第四公网IP地址、第四公网端口的端口号及第二端口偏移量向所述主控端发送隧道连接请求。
16.—种云服务器,其特征在于,包括: 连接请求接收模块,用于接收主控端向所述云服务器的第一公网互联网协议IP地址发送的远程连接请求,所述远程连接请求中包括远程访问控制器的标识; 连接请求发送模块,用于根据所述远程访问控制器的标识将所述远程连接请求转发至对应的远程访问控制器;其中,所述远程访问控制器与被控端属于同一局域网; 连接响应转发模块,用于接收所述远程访问控制器向所述云服务器的第一公网IP地址发送的远程连接响应,并将所述远程连接响应转发至所述主控端;其中,所述远程连接响应,包括所述远程访问控制器的第一内网IP地址及第一内网端口分别对应的第三公网IP地址及第三公网端口的端口号,以使所述主控端根据所述远程访问控制器的第三公网IP地址及第三公网端口的端口号,向所述远程访问控制器发送隧道连接请求。
17.根据权利要求16所述的云服务器,其特征在于,还包括: 第一地址发送模块,用于接收所述远程访问控制器向所述云服务器的第一公网IP地址发送的第一地址绑定请求;向所述远程访问控制器返回第一地址绑定响应;其中,所述第一地址绑定响应包括所述远程访问控制器的第一内网IP地址及第一内网端口分别对应的第三公网IP地址及第三公网端口的端口号; 所述第一地址发送模块,还用于:接收所述主控端向所述云服务器的第一公网IP地址发送的第二地址绑定请求;向所述主控端返回第二地址绑定响应;其中,所述第二地址绑定响应包括所述主控端的第二内网IP地址及第二内网端口分别对应的第四公网IP地址及第四公网端口的端口号; 相应的,所述远程连接请求,还包括:所述主控端的第四公网IP地址及第四公网端口的端口号,以使所述远程访问控制器在接收到所述远程连接请求后,根据所述主控端的第四公网IP地址及第四公网端口的端口号,向所述主控端发送隧道连接请求。
18.根据权利要求17所述的云服务器,其特征在于,所述第一地址绑定响应,还包括:所述远程访问控制器的网络地址转换NAT类型;所述第二地址绑定响应,还包括:所述主控端的NAT类型; 所述云服务器,还包括:第二地址发送模块和端口偏移量转发模块; 其中,所述第二地址发送模块,用于当所述主控端与所述远程访问控制器的NAT类型都为对称NAT时,接收所述远程访问控制器向所述云服务器的第二公网IP地址发送的第一地址绑定请求;向所述远程访问控制器返回第一地址绑定响应;接收所述主控端向所述云服务器的第二公网IP地址发送的第二地址绑定请求;向所述主控端返回第二地址绑定响应;其中,所述第一地址绑定响应,包括:所述远程访问控制器的第一内网IP地址及第一内网端口对应的第六公网端口的端口号;所述第二地址绑定响应,包括:所述主控端的第二内网IP地址及第二内网端口对应的第五公网端口的端口号; 所述端口偏移量转发模块,用于将所述远程访问控制器发送的第一端口偏移量转发至所述主控端;将所述主控端发送的第二端口偏移量转发至所述远程访问控制器;其中,所述第一端口偏移量为所述远程访问控制器根据所述第三公网端口的端口号及所述第六公网端口的端口号获取;所述第二端口偏移量为所述主控端根据所述第四公网端口的端口号及所述第五公网端口的端口号获取; 相应的,所述远程连接请求,还包括:所述主控端的第四公网IP地址及第四公网端口的端口号,以使所述远程访问控制器根据所述主控端的第四公网IP地址及第四公网端口的端口号,向所述主控端发送隧道连接请求,包括: 所述远程连接请求,还包括:所述主控端的第四公网IP地址、第四公网端口的端口号及所述主控端的NAT类型,以使所述远程访问控制器在接收到所述远程连接请求并确定所述主控端的NAT类型和远程访问控制器的NAT类型都为对称NAT类型后,根据所述主控端的第四公网IP地址、第四公网端口的端口号及第二端口偏移量向所述主控端发送隧道连接请求; 所述连接响应转发模块,具体用于:接收所述远程访问控制器向所述云服务器的第一公网IP地址发送的远程连接响应,并将所述远程连接响应转发至所述主控端;其中,所述远程连接响应,包括所述远程访问控制器的第一内网IP地址及第一内网端口分别对应的第三公网IP地址及第三公网端口的端口号、所述远程访问控制器的NAT类型,以使所述主控端在接收到所述远程连接响应并确定所述远程访问控制器的NAT类型和所述主控端的NAT类型都为对称NAT类型后,根据所述远程访问控制器的第三公网IP地址、第三公网端口的端口号及第一端口偏移量,向所述远程访问控制器发送隧道连接请求。
19.一种远程访问控制器,其特征在于,包括: 连接请求接收模块,用于接收云服务器发送的远程连接请求;其中,所述远程访问控制器与被控端属于同一局域网; 连接响应发送模块,用于向所述云服务器的第一公网互联网协议IP地址发送远程连接响应,所述远程连接响应包括所述远程访问控制器的第一内网IP地址及第一内网端口分别对应的第三公网IP地址及第三公网端口的端口号,以使所述云服务器将所述远程连接响应转发至主控端; 隧道连接模块,用于接收所述主控端根据所述第三公网IP地址及第三公网端口的端口号发送的隧道连接请求; 控制报文转发模块,用于在隧道连接建立后,通过隧道接收所述主控端发送的控制报文,并将所述控制报文转发至所述被控端。
20.根据权利要求19所述的远程访问控制器,其特征在于,还包括:第一地址获取模块,用于向所述云服务器的第一公网IP地址发送地址绑定请求;接收所述云服务器发送的地址绑定响应;其中,所述地址绑定响应包括所述远程访问控制器的第一内网IP地址及第一内网端口分别对应的第三公网IP地址及第三公网端口的端口号;所述远程连接请求,包括:所述主控端的第二内网IP地址及第二内网端口分别对应的第四公网IP地址及第四公网端口的端口号; 所述隧道连接模块,还用于:根据所述主控端的第四公网IP地址及第四公网端口的端口号向所述主控端发送隧道连接请求。
21.根据权利要求20所述的远程访问控制器,其特征在于,所述地址绑定响应,还包括:所述远程访问控制器的网络地址转换NAT类型;所述远程连接请求,还包括:所述主控端的NAT类型; 所述远程访问控制器,还包括:第二地址获取模块和端口偏移量发送模块; 其中,所述第二地址获取模块,用于当确定所述主控端的NAT类型及所述远程访问控制器的NAT类型都为对称NAT类型时,向所述云服务器的第二公网IP地址发送地址绑定请求;接收所述云服务器发送的地址绑定响应;其中,所述地址绑定响应包括所述远程访问控制器的第一内网IP地址及第一内网端口对应的第六公网端口的端口号; 所述端口偏移量发送模块,用于根据所述第三公网端口的端口号及所述第六公网端口的端口号获取所述远程访问控制器的第一端口偏移量;将所述远程访问控制器的第一端口偏移量发送至所述云服务器,以使所述云服务器将所述第一端口偏移量转发至所述主控端; 所述隧道连接模块,具体用于:接收所述主控端根据所述第三公网IP地址、第三公网端口的端口号及第一端口偏移量发送的隧道连接请求。
22.根据权利要求20所述的远程访问控制器,其特征在于,所述地址绑定响应,还包括:所述远程访问控制器的网络地址转换NAT类型;所述远程连接请求,还包括:所述主控端的NAT类型; 所述隧道连接模块,具体用于:确定所述主控端的NAT类型及所述远程访问控制器的NAT类型是否都为对称NAT类型;若是,则接收所述云服务器发送的所述主控端的第二端口偏移量;根据所述主控端的第四公网IP地址、第四公网端口的端口号及所述第二偏移量向所述主控端发送隧道连接请求;否则,根据所述主控端的第四公网IP地址及第四公网端口的端口号向所述主控端发送隧道连接请求。
【文档编号】H04L29/08GK104202398SQ201410450120
【公开日】2014年12月10日 申请日期:2014年9月4日 优先权日:2014年9月4日
【发明者】潘云登 申请人:北京星网锐捷网络技术有限公司