CN116455864A - 一种与nat后的设备建立代理网络连接的方法和系统 - Google Patents

一种与nat后的设备建立代理网络连接的方法和系统 Download PDF

Info

Publication number
CN116455864A
CN116455864A CN202211580717.9A CN202211580717A CN116455864A CN 116455864 A CN116455864 A CN 116455864A CN 202211580717 A CN202211580717 A CN 202211580717A CN 116455864 A CN116455864 A CN 116455864A
Authority
CN
China
Prior art keywords
proxy
message
port
client
proxy server
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.)
Pending
Application number
CN202211580717.9A
Other languages
English (en)
Inventor
陈荣观
陈锦辉
戴立陈
谢华峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujian Xingwang Intelligent Technology Co ltd
Original Assignee
Fujian Xingwang Intelligent Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujian Xingwang Intelligent Technology Co ltd filed Critical Fujian Xingwang Intelligent Technology Co ltd
Priority to CN202211580717.9A priority Critical patent/CN116455864A/zh
Publication of CN116455864A publication Critical patent/CN116455864A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Abstract

本发明提供一种与NAT后的设备建立代理网络连接的方法和系统,通过终端管理平台集成代理服务端,提供公共端口给用户访问,每个公共端口映射到NAT后的终端网络设备的一个应用层协议端口,所述应用层协议端口即为代理目标端口;定义代理建立前的协商和代理建立后的数据传递的消息类型和报文格式;在终端网络设备中集成代理客户端,建立整体的代理连接,包括建立代理服务端和代理客户端的TCP长连接;和建立代理客户端和代理目标端口的TCP长连接;转发所述代理服务端以及代理目标端口两者间的通信报文。本发明结合CWMP协议的NAT穿透功能,实现公共管理平台对NAT后的网络终端设备的代理网络连接。

Description

一种与NAT后的设备建立代理网络连接的方法和系统
技术领域
本发明涉及计算机网络协议以及软件工程相关技术领域,特别涉及一种与NAT后的设备建立代理网络连接的方法和系统。
背景技术
NAT(Network Address Translation,网络地址转换)是1994年提出的。当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但现在又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。这种方法需要在专用网连接到因特网的路由器上安装NAT软件。装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球IP地址。这样,所有使用本地地址的主机在和外界通信时,都要在NAT路由器上将其本地地址转换成全球IP地址,才能和因特网连接。
如图1所示,目前由于常规的终端管理协议例如CWMP无法提供代理网络连接直接访问终端设备的运维端口。对于NAT后的网络设备,往往无法从外部网络直接发起网络连接对设备进行连接和访问。极大限制了对网络设备的运维和管理。
CWMP(CPE WAN Management Protocol,CPE广域网管理协议)是由DSL(DigitalSubscriber's Line,数字用户线路)论坛发起开发的技术规范之一,编号为TR-069,所以又被称为TR-069协议。该协议定义了不同局域网下的终端设备和公共管理平台的交互协议,数据模型。
发明内容
本发明要解决的技术问题,在于提供一种与NAT后的设备建立代理网络连接的方法和系统,结合CWMP协议的NAT穿透功能,实现公共管理平台对NAT后的网络终端设备的代理网络连接。
第一方面,本发明提供了一种与NAT后的设备建立代理网络连接的方法,通过终端管理平台集成代理服务端,提供公共端口给用户访问,每个公共端口映射到NAT后的终端网络设备的一个应用层协议端口,所述应用层协议端口即为代理目标端口;
定义代理建立前的协商和代理建立后的数据传递的消息类型和报文格式;
在终端网络设备中集成代理客户端,建立整体的代理连接,包括建立代理服务端和代理客户端的TCP长连接;和建立代理客户端和代理目标端口的TCP长连接;
转发所述代理服务端以及代理目标端口两者间的通信报文。。
第二方面,本发明提供了一种与NAT后的设备建立代理网络连接的系统,包括代理服务端、代理客户端和代理目标端口:
所述代理服务端集成在终端管理平台中,提供公共端口给用户访问,每个公共端口映射到NAT后的终端网络设备的一个应用层协议端口;
所述代理客户端集成在终端网络设备中,用于根据预先定义好的消息类型和报文格式建立整体的代理连接,包括建立代理服务端和代理客户端的TCP长连接;和建立代理客户端和代理目标端口的TCP长连接;转发所述代理服务端以及代理目标端口两者间的通信报文;
所述代理目标端口即为所述NAT后的终端网络设备的应用层协议端口,包括http端口和ssh端口。
本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:基于现有的CPE广域网管理协议(CWMP)的基础上,通过公共管理平台建立和NAT后的终端网络设备的代理连接,解决了访问NAT下的网络设备的HTTP端口、SSH端口等运维端口困难的情况,用户可以通过访问公共管理平台代理至各个NAT后的终端网络设备的相关协议端口,以达到集中运维管理的目的。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为现有NAT后的网络设备网络连接不通时的状态示意图;
图2为本发明NAT后的网络设备通过终端管理平台代理连接示意图;
图3为本发明组成部分示意图;
图4为本发明与NAT后的设备建立代理网络连接的方法的流程示意图;
图5为本发明C_APPLY_1报文格式示意图;
图6为本发明C_APPLY_2报文格式示意图;
图7为本发明C_DATA S_DATA报文格式示意图;
图8为本发明S_REPLY_1报文格式示意图;
图9为本发明S_REPLY_2报文格式示意图;
图10为本发明S_ESTABLISHED报文格式示意图;
图11为本发明代理协议协商流程图;
图12为本发明代理数据传输流程图。
具体实施方式
本申请实施例通过提供一种与NAT后的设备建立代理网络连接的方法和系统,结合CWMP协议的NAT穿透功能,实现公共管理平台对NAT后的网络终端设备的代理网络连接。
本申请实施例中的技术方案,总体思路如下:基于现有的CPE广域网管理协议(CWMP)的基础上,通过公共管理平台建立和NAT后的终端网络设备的代理连接,解决了访问NAT下的网络设备的HTTP端口、SSH端口等运维端口困难的情况,用户可以通过访问公共管理平台代理至各个NAT后的终端网络设备的相关协议端口,以达到集中运维管理的目的。
在介绍具体实施例之前,先介绍本申请实施例方法所对应的系统框架,如图2和图3所示,系统大概分三个部分:
代理服务端:集成到终端管理平台当中,提供公共的端口给用户访问,每个端口映射到终端网络设备的一个应用层端口当中。终端管理平台采用终端管理协议例如CWMP;
代理客户端:集成当终端网络设备当中,用于和代理服务端建立TCP长连接,以及和终端网络设备的应用协议目标端口建立TCP长连接,用来中转代理服务端以及代理目标端口两者间的通信报文;
代理目标端口:即终端网络设备的应用层协议端口,例如HTTP协议默认为80端口,SSH协议默认为22端口。
实施例一
如图4所示,本实施例提供一种与NAT后的设备建立代理网络连接的方法,包括:
通过终端管理平台集成代理服务端,提供公共端口给用户访问,每个公共端口映射到NAT后的终端网络设备的一个应用层协议端口,所述应用层协议端口即为代理目标端口;
定义代理建立前的协商和代理建立后的数据传递的消息类型和报文格式;
在终端网络设备中集成代理客户端,建立整体的代理连接,包括建立代理服务端和代理客户端的TCP长连接;和建立代理客户端和代理目标端口的TCP长连接;
转发所述代理服务端以及代理目标端口两者间的通信报文。
其中,作为本实施例的一种更优或更为具体的实现方式,如图5至图10所示,报文格式的组成部分固定为:
4字节数据长度+1字节消息类型+其它数据。
每个类型的所述报文格式定义一个消息类型,所述报文格式包括:消息名称为C_APPLY_1,指代理客户端通知代理服务端要建立代理连接,且消息值为1,发送方为代理客户端;如图5所示,C_APPLY_1报文格式的组成部分如下:
数据长度:5字节+会话id长度;
消息类型:C_APPLY_1的值为1;
会话id:用于标识此次代理会话ID。
消息名称为C_APPLY_2,指代理客户端向代理服务端开启的代理端口建立连接,且消息值为2,发送方为代理客户端;如图6所示,C_APPLY_2报文格式的组成部分如下:
数据长度:18字节;
消息类型:C_APPLY_2的值为2;
代理目标IP:说明此次代理的设备目标IP;
代理目标端口:说明此次代理的设备目标端口;
代理协议类型:说明此次代理的协议类型,http/ssh。
消息名称为C_DATA,指代理客户端向代理服务端传递通信报文,且消息值为3,发送方为代理客户端;如图7所示,C_DATA S_DATA报文格式的组成部分:
数据长度:5字节+转发数据的长度;
消息类型:C_DATA的值为3,S_DATA的值为7;
转发数据:实际代理会话当中传递的数据。
消息名称为S_REPLY_1,指代理服务端回复代理客户端C_APPLY_1消息,且消息值为4,发送方为代理服务端;如图8所示,S_REPLY_1报文格式的组成部分:
数据长度:固定9字节;
消息类型:S_REPLY_1的值4;
开启端口号:用于传递服务端开启端口号信息。
消息名称为S_REPLY_2,指代理服务端回复代理客户端C_APPLY_2消息,且消息值为5,发送方为代理服务端;如图9所示,S_REPLY_2报文格式的组成部分:
数据长度:固定9字节;
消息类型:S_REPLY_2的值5;
开启端口号:用于传递服务端开启端口号信息。
消息名称为S_ESTABLISHED,指代理服务端通知代理客户端提供给外部访问的端口开启成功,且消息值为6,发送方为代理服务端;如图10所示,S_ESTABLISHED报文格式的组成部分:
数据长度:固定9字节
消息类型:S_REPLY_2的值6
开启端口号:用于传递服务端开启端口号信息
消息名称为S_DATA,指代理服务端向代理客户端传递通信报文,且消息值为7,发送方为代理服务端。
汇总如下表所示:
代理服务端通过CWMP协议下发通知告知代理客户端开始建立代理连接;下发通知中的信息包括代理目标IP,代理目标端口,代理服务端IP和代理服务端协商端口;如图11所示,代理客户端则根据所述通知中的信息发起如下代理协商过程:
S11、代理服务端预先开启固定的端口A,用于代理客户端连接进行代理协商;
S12、代理客户端首先向端口A发起C_APPLY_1消息,告知代理服务端要进行代理的建立,同时携带sessionId,用于标识此次代理会话;
S13、代理服务端根据当前服务端端口使用情况,开启闲置的端口B,用于和代理客户端建立TCP长连接,也用于后续的代理数据传输;
S14、端口B开启后,通过根据所述C_APPLY_1建立的连接,回复消息S_REPLY_1,向代理客户端发送开启的端口B信息;
S15、代理客户端向端口B建立TCP长连接,发送C_APPLY_2消息;
S16、代理服务端开启端口C,用于接收外部的网络请求;
S17、代理服务端通过根据所述C_APPLY_2建立的连接,向代理客户端发送S_REPLY_2消息,此时建立了会话1,标识着代理服务端和代理客户端此时的TCP长连接建立成功,后续会话的交互通过该代理服务端和代理客户端的TCP长连接进行处理;
S18、代理服务端通过端口C发送S_ESTABLISHED消息通知代理客户端;
S19、代理客户端向代理目标端口D发起连接,建立会话2,从而建立代理客户端和代理目标端口的TCP长连接,此时整体的代理连接建立成功,代理协商过程结束。
所述转发报文过程包括从代理服务端到代理目标端口D的数据发送流程和数据响应流程:
如图12所示,所述从代理服务端到代理目标端口D的数据发送流程具体包括:
S21、外部访问代理服务端的端口C;
S22、端口C将数据报文进行封装,加上S_DATA;
S23、代理服务端通过所述会话1将封装后的数据报文发送给代理客户端;
S24、代理客户端根据接收的报文解除封装,去除S_DATA标识,得到原报文;
S25、代理客户端通过所述会话2将报文发送至代理目标端口D,由此完成了从代理服务端到代理目标端口D的数据发送流程;
如图12所示,所述数据响应流程具体包括:
S31、代理目标端口D将数据报文发送给代理客户端;
S32、代理客户端将数据报文进行封装,加上C_DATA;
S33、代理客户端通过所述会话2,将封装后的数据报文发送给代理服务端;
S34、代理服务端根据接收的报文解除封装,去除C_DATA标识得到原报文;
S35、代理服务端将原报文发送给访问端口,至此,所述数据响应流程完成。
基于同一发明构思,本申请还提供了与实施例一中的方法对应的系统,详见实施例二。
实施例二
在本实施例中提供了一种与NAT后的设备建立代理网络连接的系统,如图3所示,包括代理服务端、代理客户端和代理目标端口:
所述代理服务端集成在终端管理平台中,提供公共端口给用户访问,每个公共端口映射到NAT后的终端网络设备的一个应用层协议端口;
所述代理客户端集成在终端网络设备中,用于根据预先定义好的消息类型和报文格式建立整体的代理连接,包括建立代理服务端和代理客户端的TCP长连接;和建立代理客户端和代理目标端口的TCP长连接;转发所述代理服务端以及代理目标端口两者间的通信报文;消息类型和报文格式包括代理建立前的协商和代理建立后的数据传递的消息类型和报文格式;
所述代理目标端口即为所述NAT后的终端网络设备的应用层协议端口,包括http端口和ssh端口。
其中,作为本实施例的一种更优或更为具体的实现方式,如图5至图10所示,报文格式的组成部分固定为:
4字节数据长度+1字节消息类型+其它数据。
每个类型的所述报文格式定义一个消息类型,所述报文格式包括:消息名称为C_APPLY_1,指代理客户端通知代理服务端要建立代理连接,且消息值为1,发送方为代理客户端;如图5所示,C_APPLY_1报文格式的组成部分如下:
数据长度:5字节+会话id长度;
消息类型:C_APPLY_1的值为1;
会话id:用于标识此次代理会话ID。
消息名称为C_APPLY_2,指代理客户端向代理服务端开启的代理端口建立连接,且消息值为2,发送方为代理客户端;如图6所示,C_APPLY_2报文格式的组成部分如下:
数据长度:18字节;
消息类型:C_APPLY_2的值为2;
代理目标IP:说明此次代理的设备目标IP;
代理目标端口:说明此次代理的设备目标端口;
代理协议类型:说明此次代理的协议类型,http/ssh。
消息名称为C_DATA,指代理客户端向代理服务端传递通信报文,且消息值为3,发送方为代理客户端;如图7所示,C_DATA S_DATA报文格式的组成部分:
数据长度:5字节+转发数据的长度;
消息类型:C_DATA的值为3,S_DATA的值为7;
转发数据:实际代理会话当中传递的数据。
消息名称为S_REPLY_1,指代理服务端回复代理客户端C_APPLY_1消息,且消息值为4,发送方为代理服务端;如图8所示,S_REPLY_1报文格式的组成部分:
数据长度:固定9字节;
消息类型:S_REPLY_1的值4;
开启端口号:用于传递服务端开启端口号信息。
消息名称为S_REPLY_2,指代理服务端回复代理客户端C_APPLY_2消息,且消息值为5,发送方为代理服务端;如图9所示,S_REPLY_2报文格式的组成部分:
数据长度:固定9字节;
消息类型:S_REPLY_2的值5;
开启端口号:用于传递服务端开启端口号信息。
消息名称为S_ESTABLISHED,指代理服务端通知代理客户端提供给外部访问的端口开启成功,且消息值为6,发送方为代理服务端;如图10所示,S_ESTABLISHED报文格式的组成部分:
数据长度:固定9字节
消息类型:S_REPLY_2的值6
开启端口号:用于传递服务端开启端口号信息
消息名称为S_DATA,指代理服务端向代理客户端传递通信报文,且消息值为7,发送方为代理服务端。
汇总如下表所示:
代理服务端通过CWMP协议下发通知告知代理客户端开始建立代理连接;下发通知中的信息包括代理目标IP,代理目标端口,代理服务端IP和代理服务端协商端口;如图11所示,代理客户端则根据所述通知中的信息发起如下代理协商过程:
S11、代理服务端预先开启固定的端口A,用于代理客户端连接进行代理协商;
S12、代理客户端首先向端口A发起C_APPLY_1消息,告知代理服务端要进行代理的建立,同时携带sessionId,用于标识此次代理会话;
S13、代理服务端根据当前服务端端口使用情况,开启闲置的端口B,用于和代理客户端建立TCP长连接,也用于后续的代理数据传输;
S14、端口B开启后,通过根据所述C_APPLY_1建立的连接,回复消息S_REPLY_1,向代理客户端发送开启的端口B信息;
S15、代理客户端向端口B建立TCP长连接,发送C_APPLY_2消息;
S16、代理服务端开启端口C,用于接收外部的网络请求;
S17、代理服务端通过根据所述C_APPLY_2建立的连接,向代理客户端发送S_REPLY_2消息,此时建立了会话1,标识着代理服务端和代理客户端此时的TCP长连接建立成功,后续会话的交互通过该代理服务端和代理客户端的TCP长连接进行处理;
S18、代理服务端通过端口C发送S_ESTABLISHED消息通知代理客户端;
S19、代理客户端向代理目标端口D发起连接,建立会话2,从而建立代理客户端和代理目标端口的TCP长连接,此时整体的代理连接建立成功,代理协商过程结束。
所述转发报文过程包括从代理服务端到代理目标端口D的数据发送流程和数据响应流程:
如图12所示,所述从代理服务端到代理目标端口D的数据发送流程具体包括:
S21、外部访问代理服务端的端口C;
S22、端口C将数据报文进行封装,加上S_DATA;
S23、代理服务端通过所述会话1将封装后的数据报文发送给代理客户端;
S24、代理客户端根据接收的报文解除封装,去除S_DATA标识,得到原报文;
S25、代理客户端通过所述会话2将报文发送至代理目标端口D,由此完成了从代理服务端到代理目标端口D的数据发送流程;
如图12所示,所述数据响应流程具体包括:
S31、代理目标端口D将数据报文发送给代理客户端;
S32、代理客户端将数据报文进行封装,加上C_DATA;
S33、代理客户端通过所述会话2,将封装后的数据报文发送给代理服务端;
S34、代理服务端根据接收的报文解除封装,去除C_DATA标识得到原报文;
S35、代理服务端将原报文发送给访问端口,至此,所述数据响应流程完成。
由于本发明实施例二所介绍的系统,为实施本发明实施例一的方法所采用的装置,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该装置的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的装置都属于本发明所欲保护的范围。
本申请实施例提供的方法和系统至少具有如下技术效果或优点:基于现有的CPE广域网管理协议(CWMP)的基础上,通过公共管理平台建立和NAT后的终端网络设备的代理连接,解决了访问NAT下的网络设备的HTTP端口、SSH端口等运维端口困难的情况,用户可以通过访问公共管理平台代理至各个NAT后的终端网络设备的相关协议端口,以达到集中运维管理的目的。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。

Claims (8)

1.一种与NAT后的设备建立代理网络连接的方法,其特征在于:
通过终端管理平台集成代理服务端,提供公共端口给用户访问,每个公共端口映射到NAT后的终端网络设备的一个应用层协议端口,所述应用层协议端口即为代理目标端口;
定义代理建立前的协商和代理建立后的数据传递的消息类型和报文格式;
在终端网络设备中集成代理客户端,建立整体的代理连接,包括建立代理服务端和代理客户端的TCP长连接;和建立代理客户端和代理目标端口的TCP长连接;
转发所述代理服务端以及代理目标端口两者间的通信报文。
2.根据权利要求1所述的方法,其特征在于:每个类型的所述报文格式定义一个消息类型,所述报文格式包括:
消息名称为C_APPLY_1,指代理客户端通知代理服务端要建立代理连接,且消息值为1,发送方为代理客户端;
消息名称为C_APPLY_2,指代理客户端向代理服务端开启的代理端口建立连接,且消息值为2,发送方为代理客户端;
消息名称为C_DATA,指代理客户端向代理服务端传递通信报文,且消息值为3,发送方为代理客户端;
消息名称为S_REPLY_1,指代理服务端回复代理客户端C_APPLY_1消息,且消息值为4,发送方为代理服务端;
消息名称为S_REPLY_2,指代理服务端回复代理客户端C_APPLY_2消息,且消息值为5,发送方为代理服务端;
消息名称为S_ESTABLISHED,指代理服务端通知代理客户端提供给外部访问的端口开启成功,且消息值为6,发送方为代理服务端;
消息名称为S_DATA,指代理服务端向代理客户端传递通信报文,且消息值为7,发送方为代理服务端。
3.根据权利要求2所述的方法,其特征在于:所述建立整体的代理连接是:代理服务端通过CWMP协议下发通知告知代理客户端开始建立代理连接;下发通知中的信息包括代理目标IP,代理目标端口,代理服务端IP和代理服务端协商端口;代理客户端则根据所述通知中的信息发起如下代理协商过程:
S11、代理服务端预先开启固定的端口A,用于代理客户端连接进行代理协商;
S12、代理客户端首先向端口A发起C_APPLY_1消息,告知代理服务端要进行代理的建立,同时携带sessionId,用于标识此次代理会话;
S13、代理服务端根据当前服务端端口使用情况,开启闲置的端口B,用于和代理客户端建立TCP长连接,也用于后续的代理数据传输;
S14、端口B开启后,通过根据所述C_APPLY_1建立的连接,回复消息S_REPLY_1,向代理客户端发送开启的端口B信息;
S15、代理客户端向端口B建立TCP长连接,发送C_APPLY_2消息;
S16、代理服务端开启端口C,用于接收外部的网络请求;
S17、代理服务端通过根据所述C_APPLY_2建立的连接,向代理客户端发送S_REPLY_2消息,此时建立了会话1,标识着代理服务端和代理客户端此时的TCP长连接建立成功,后续会话的交互通过该代理服务端和代理客户端的TCP长连接进行处理;
S18、代理服务端通过端口C发送S_ESTABLISHED消息通知代理客户端;
S19、代理客户端向代理目标端口D发起连接,建立会话2,从而建立代理客户端和代理目标端口的TCP长连接,此时整体的代理连接建立成功,代理协商过程结束。
4.根据权利要求3所述的方法,其特征在于:所述转发报文过程包括从代理服务端到代理目标端口D的数据发送流程和数据响应流程:
所述从代理服务端到代理目标端口D的数据发送流程具体包括:
S21、外部访问代理服务端的端口C;
S22、端口C将数据报文进行封装,加上S_DATA;
S23、代理服务端通过所述会话1将封装后的数据报文发送给代理客户端;
S24、代理客户端根据接收的报文解除封装,去除S_DATA标识,得到原报文;
S25、代理客户端通过所述会话2将报文发送至代理目标端口D,由此完成了从代理服务端到代理目标端口D的数据发送流程;
所述数据响应流程具体包括:
S31、代理目标端口D将数据报文发送给代理客户端;
S32、代理客户端将数据报文进行封装,加上C_DATA;
S33、代理客户端通过所述会话2,将封装后的数据报文发送给代理服务端;
S34、代理服务端根据接收的报文解除封装,去除C_DATA标识得到原报文;
S35、代理服务端将原报文发送给访问端口,至此,所述数据响应流程完成。
5.一种与NAT后的设备建立代理网络连接的系统,其特征在于:包括代理服务端、代理客户端和代理目标端口:
所述代理服务端集成在终端管理平台中,提供公共端口给用户访问,每个公共端口映射到NAT后的终端网络设备的一个应用层协议端口;
所述代理客户端集成在终端网络设备中,用于根据预先定义好的消息类型和报文格式建立整体的代理连接,包括建立代理服务端和代理客户端的TCP长连接;和建立代理客户端和代理目标端口的TCP长连接;转发所述代理服务端以及代理目标端口两者间的通信报文;
所述代理目标端口即为所述NAT后的终端网络设备的应用层协议端口,包括http端口和ssh端口。
6.根据权利要求5所述的系统,其特征在于:每个类型的所述报文格式定义一个消息类型,所述报文格式包括:
消息名称为C_APPLY_1,指代理客户端通知代理服务端要建立代理连接,且消息值为1,发送方为代理客户端;
消息名称为C_APPLY_2,指代理客户端向代理服务端开启的代理端口建立连接,且消息值为2,发送方为代理客户端;
消息名称为C_DATA,指代理客户端向代理服务端传递通信报文,且消息值为3,发送方为代理客户端;
消息名称为S_REPLY_1,指代理服务端回复代理客户端C_APPLY_1消息,且消息值为4,发送方为代理服务端;
消息名称为S_REPLY_2,指代理服务端回复代理客户端C_APPLY_2消息,且消息值为5,发送方为代理服务端;
消息名称为S_ESTABLISHED,指代理服务端通知代理客户端提供给外部访问的端口开启成功,且消息值为6,发送方为代理服务端;
消息名称为S_DATA,指代理服务端向代理客户端传递通信报文,且消息值为7,发送方为代理服务端。
7.根据权利要求5所述的系统,其特征在于:所述建立整体的代理连接是:代理服务端通过CWMP协议下发通知告知代理客户端开始建立代理连接;下发通知中的信息包括代理目标IP,代理目标端口,代理服务端IP和代理服务端协商端口;代理客户端则根据所述通知中的信息发起如下代理协商过程:
S11、代理服务端预先开启固定的端口A,用于代理客户端连接进行代理协商;
S12、代理客户端首先向端口A发起C_APPLY_1消息,告知代理服务端要进行代理的建立,同时携带sessionId,用于标识此次代理会话;
S13、代理服务端根据当前服务端端口使用情况,开启闲置的端口B,用于和代理客户端建立TCP长连接,也用于后续的代理数据传输;
S14、端口B开启后,通过根据所述C_APPLY_1建立的连接,回复消息S_REPLY_1,向代理客户端发送开启的端口B信息;
S15、代理客户端向端口B建立TCP长连接,发送C_APPLY_2消息;
S16、代理服务端开启端口C,用于接收外部的网络请求;
S17、代理服务端通过根据所述C_APPLY_2建立的连接,向代理客户端发送S_REPLY_2消息,此时建立了会话1,标识着代理服务端和代理客户端此时的TCP长连接建立成功,后续会话的交互通过该代理服务端和代理客户端的TCP长连接进行处理;
S18、代理服务端通过端口C发送S_ESTABLISHED消息通知代理客户端;
S19、代理客户端向代理目标端口D发起连接,建立会话2,从而建立代理客户端和代理目标端口的TCP长连接,此时整体的代理连接建立成功,代理协商过程结束。
8.根据权利要求5所述的系统,其特征在于:所述转发报文过程包括从代理服务端到代理目标端口D的数据发送流程和数据响应流程:
所述从代理服务端到代理目标端口D的数据发送流程具体包括:
S21、外部访问代理服务端的端口C;
S22、端口C将数据报文进行封装,加上S_DATA;
S23、代理服务端通过所述会话1将封装后的数据报文发送给代理客户端;
S24、代理客户端根据接收的报文解除封装,去除S_DATA标识,得到原报文;
S25、代理客户端通过所述会话2将报文发送至代理目标端口D,由此完成了从代理服务端到代理目标端口D的数据发送流程;
所述数据响应流程具体包括:
S31、代理目标端口D将数据报文发送给代理客户端;
S32、代理客户端将数据报文进行封装,加上C_DATA;
S33、代理客户端通过所述会话2,将封装后的数据报文发送给代理服务端;
S34、代理服务端根据接收的报文解除封装,去除C_DATA标识得到原报文;
S35、代理服务端将原报文发送给访问端口,至此,所述数据响应流程完成。
CN202211580717.9A 2022-12-09 2022-12-09 一种与nat后的设备建立代理网络连接的方法和系统 Pending CN116455864A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211580717.9A CN116455864A (zh) 2022-12-09 2022-12-09 一种与nat后的设备建立代理网络连接的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211580717.9A CN116455864A (zh) 2022-12-09 2022-12-09 一种与nat后的设备建立代理网络连接的方法和系统

Publications (1)

Publication Number Publication Date
CN116455864A true CN116455864A (zh) 2023-07-18

Family

ID=87130891

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211580717.9A Pending CN116455864A (zh) 2022-12-09 2022-12-09 一种与nat后的设备建立代理网络连接的方法和系统

Country Status (1)

Country Link
CN (1) CN116455864A (zh)

Similar Documents

Publication Publication Date Title
US7366894B1 (en) Method and apparatus for dynamically securing voice and other delay-sensitive network traffic
US6993012B2 (en) Method for communicating audio data in a packet switched network
EP1145521B1 (en) SYSTEM AND METHOD FOR ENABLING SECURE CONNECTIONS FOR H.323 VoIP CALLS
EP1892887B1 (en) Communication method between communication devices and communication apparatus
US7831715B2 (en) Communication system, communication method, and program
US6112245A (en) Session establishment for static links in Point-to-Point Protocol sessions
TW201002018A (en) Method for predicting port number of NAT apparatus based on two STUN server inquiry results
US6449284B1 (en) Methods and means for managing multimedia call flow
WO2009039719A1 (fr) Serveur d'identifiant d'utilisateur, système et procédé pour traiter le service de données
WO2016180020A1 (zh) 一种报文处理方法、设备和系统
CN100514925C (zh) 资源共享宽带接入系统、方法和设备
WO2011032447A1 (zh) 新网与互联网互通的实现方法、系统及通信端
US20140337478A1 (en) Peer-to-peer network communications
CN112073244A (zh) 基于tr069协议的消息处理方法及系统
CN102710495B (zh) 一种监控网络用户主机建立路由信息的方法及装置
JP3970857B2 (ja) 通信システム、ゲートウェイ装置
JP4817797B2 (ja) PPPoEブリッジ装置及びPPPoEセッション切断方法
CN116455864A (zh) 一种与nat后的设备建立代理网络连接的方法和系统
CN113542395B (zh) 报文处理方法和报文处理系统
KR100660123B1 (ko) Nat 통과를 위한 브이.피.엔 서버 시스템 및 브이.피.엔클라이언트 단말기
WO2011160390A1 (zh) 代理网络设备的管理方法和系统
JP4728933B2 (ja) Ip電話通信システム、ip電話通信方法、およびそのプログラム
CN111935330B (zh) 一种ppp报文穿越l2tp的方法及装置
CN113098949B (zh) 点对点通信方法及系统、用于点对点通信的服务端
US20090052446A1 (en) Communications Interface

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination