CN116455868B - 一种基于泛域名解析加私有协议内网穿透的集成服务系统 - Google Patents
一种基于泛域名解析加私有协议内网穿透的集成服务系统 Download PDFInfo
- Publication number
- CN116455868B CN116455868B CN202310317257.9A CN202310317257A CN116455868B CN 116455868 B CN116455868 B CN 116455868B CN 202310317257 A CN202310317257 A CN 202310317257A CN 116455868 B CN116455868 B CN 116455868B
- Authority
- CN
- China
- Prior art keywords
- server
- user
- domain name
- remote
- cloud 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.)
- Active
Links
- 230000035515 penetration Effects 0.000 title claims abstract description 30
- 230000003993 interaction Effects 0.000 claims abstract description 16
- 230000004044 response Effects 0.000 claims abstract description 13
- 238000004891 communication Methods 0.000 claims abstract description 11
- 238000012545 processing Methods 0.000 claims abstract description 9
- 239000000523 sample Substances 0.000 claims description 36
- 238000000034 method Methods 0.000 claims description 13
- 230000000977 initiatory effect Effects 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 8
- 238000001514 detection method Methods 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000005538 encapsulation Methods 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 230000000737 periodic effect Effects 0.000 claims description 3
- 238000012546 transfer Methods 0.000 claims description 3
- 230000010354 integration Effects 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 8
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000000149 penetrating effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- 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
-
- 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
-
- 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/30—Managing network names, e.g. use of aliases or nicknames
- H04L61/3015—Name registration, generation or assignment
-
- 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/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/164—Adaptation or special uses of UDP protocol
Abstract
本发明涉及一种基于泛域名解析加私有协议内网穿透的集成服务系统,属于服务云平台管理技术领域,服务单元即用户服务器,用于与nacos注册中心和云服务器进行数据交互;nacos注册中心用于集成各个服务单元实现负载均衡,以及对各个服务单元中的容器客户端进行注册;云服务器通过泛域名的方式实现对多个服务单元的模型对应,利用泛域名的解析实现多远程通道的标记,建立远程通道实现泛域名远程穿透。本发明提升了多平台的服务集成效率和远程连接的安全性,扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性,有效的解决内网穿透的同时,还能提升网络通讯质量,优化了远程系统响应效率。
Description
技术领域
本发明涉及服务云平台管理技术领域,尤其涉及一种基于泛域名解析加私有协议内网穿透的集成服务系统。
背景技术
现在的内网穿透技术通常基于NAT进行,其最大的问题是是影响性能。转换数据包报头内的每个IP地址需要时间增加交换的延迟。其中协议不固定,可能存在TCP/UDP包头的更改也降低了其性能。其传输模式也导致了地址暴露的风险。
而且现有中小企业私有服务管理分散,存在难管理难集成的问题,如何基于TCP、UDP和HTTP等私有协议,提供端到端和可靠的数据包发送,更弹性化的对网络连接进行分配,对比原有远程协议加大了应用层协议的兼容性,通过动态域名解析DDNS实现云服务器二级域名的MVC架构,以解决了原有远程穿透按照端口分配时过渡暴露端口的问题,提升了远程连接安全性,是目前需要考虑的问题。
需要说明的是,在上述背景技术部分公开的信息只用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本发明的目的在于克服现有技术的缺点,提供了一种基于泛域名解析加私有协议内网穿透的集成服务系统,解决了现有远程穿透按照端口分配时过渡暴露端口的问题,加快了负载服务器集成接入的效率。
本发明的目的通过以下技术方案来实现:一种基于泛域名解析加私有协议内网穿透的集成服务系统,它包括nacos注册中心、云服务器以及多个服务单元:
所述服务单元即用户服务器,其包括用户服务器操作系统和用户硬件,用户服务器操作系统包括用户通用服务器和容器客户端,用户通用服务器包括用户现有的web服务应用并与用户硬件进行数据交互,容器客户端用于向用户通用服务器进行动态注册、向nacos注册中心进行主动注册、以及命令中转和数据转发;
所述nacos注册中心用于集成各个服务单元实现负载均衡,以及对各个服务单元中的容器客户端进行注册;
所述云服务器用于向服务单元内的容器客户端发起命令,对内网环境下的用户通用服务器进行命令处理,通过泛域名的方式实现对多个服务单元的模型对应,利用泛域名的解析实现多远程通道的标记,建立远程通道实现泛域名远程穿透。
还包括带有DDNS解析功能的DNS服务器,所述DNS服务器集成在云服务器内,利用泛域名的解析实现多远程通道的标记;或者所述DNS服务器部署部署到另一个网络服务器,用于将用户的动态IP地址映射到一个固定的域名解析服务上并指向云服务器。
所述用户服务器包括安装于用户通用服务器内的操作系统,部署的用户应用程序,docker运行环境以及安装在docker运行环境内的注册程序,网络模块,管理模块,由用户应用程序提供的对外用接口,由注册程序提供的用于与云服务器进行远程交互的网络接口;
所述管理模块包括存储管理、设备管理、进程管理、文件管理和作业管理;
所述用户应用程序通过对操作系统直接交互,从而实现对输入输出的控制,以及对网络模块的调用通过用户接口对应用层协议的使用,对用户硬件进行控制;通过对操作系统直接交互实现存储管理、设备管理、进程管理、文件管理和作业管理,以及实现对文件系统的读取,通过注册程序调用网络接口进行远程文件传输实现远程交互;
所述docker运行环境对操作系统进行适配,挂载操作系统对应的系统路径,通过注册程序对用户服务器的运行状态进行监控,并通过网络端口对注册程序发起远程命令,控制并上报关键信息。
所述注册程序发起注册的步骤包括:获取web端配置用户信息;获取用户服务器由硬件信息生成的基本信息;将用户信息和硬件信息生成识别码;根据识别码向云服务器发起注册;获取云服务器注册的响应。
所述云服务器建立远程通道实现泛域名远程穿透包括:
用户通过云服务器向归属于自己的内网服务器发起远程请求;
通过浏览器建立与云服务器的websocket通道,并复用websocket连接资源;
云服务器在保存的活跃连接池中寻找访问远程的通讯通道,如果当前远程的通讯通道存在则返回前端当前远程服务器对应的域名地址,如果不存在对应的连接通道,则写入创建通道的命令,待设备探针获取命令后创建对应条数的连接通道;
远程服务器每间隔一段时间发起UDP请求向云服务器获取命令,当存在命令为建立远程连接时,命令中将携带云服务器地址端口以及建立连接数量,远程服务器获取命令后将建立等量连接供云服务器远程使用;
云服务器获取连接通道后,根据用户请求设备信息和用户信息生成特征码,拼接域名信息,生成泛域名地址与其建立的连接通道匹配并保存在云服务器缓存中备用,并返回泛域名地址给web前端提供给前端访问;
用户访问泛域名地址,选择对应应用层协议对远程服务器进行请求,远程服务器通过DDNS解析泛域名地址后,获取泛域名携带的特征码将后续请求转发到对应远程服务器实现内网穿透。
所述域名地址与建立通道的对应关系为1:N,N为建立的远程通道数,其域名地址为根据DDNS解析后指向云服务器,域名地址为携带特征码的域名地址,云服务器通过解析域名地址的特征码与当前访问的服务器进行匹配。
所述nacos注册中心实现负载均衡包括:用户部署本地容器内注册程序;访问注册程序web页面;注册/登录用户信息,配置当前服务器别名;注册当前服务到nacos服务器;等待消费者消费;云服务器转发远程报文;nacos按照用户及其服务器别名分配用户服务器;云服务器获取用户服务器外网IP对应通讯长连接;按照私有协议封装并转发远程报文到对应用户服务器。
所述远程服务器每间隔一段时间发起UDP请求向云服务器获取命令,当存在命令为建立远程连接时,命令中将携带云服务器地址端口以及建立连接数量,远程服务器获取命令后将建立等量连接供云服务器远程使用包括:
容器客户端的UDP探针发起指定云服务器的UDP定向探测,UDP探针采用动态周期模式,将根据是否拉取到命令对实时UDP探针频率进行调整,有命令时加速UDP探针频率,让云服务器和容器客户端更快实现命令交互,当UDP探针持续几次未能拉取到命令后则逐渐降低探针频率,降低云服务器UDP服务的压力;
云服务器中的UDP服务器将根据当前用户容器客户端有无命令进行三种类型的回复,即KEEP为默认回复,让容器客户端继续按频率发送UDP探测请求,REC为需要设备发起重新注册请求,ACK为有命令时的响应;
命令处理分发命令,如果此时获取到建立远程通道的命令,则由容器客户端直接向命令内携带的目的地地址建立指定条数的命令通道,并在通道建立成功后将已经阻塞的用户请求直接通过通道由容器客户端的远程代理功能转发到用户服务器。
所述UDP探针包括首部、私有头和数据内容三部分,所述首部为UDP协议定义,分为源端口2个字节、目的端口2个字节、长度2个字节、校验和2个字节提供8个字节,实现对该UDP探针的完整性进行初步校验;
所述私有头分为MAGIC自定义封装头字节4个字节、源ip地址4个字节、偏移字节数2个字节、偏移对照码2个字节,其中源地址ip和首部中源端口进行对照,实现初步的有效性校验,偏移值为随机2个字节数,对照数据报文中的偏移字节,从数据报文中按照偏移量取出2个字节数和偏移对照码进行比较,不匹配则丢弃该UDP探针。
本发明具有以下优点:一种基于泛域名解析加私有协议内网穿透的集成服务系统,提升了多平台的服务集成效率和远程连接的安全性,扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性,有效的解决内网穿透的同时,还能提升网络通讯质量,减少了管理人员和开发人员的负担,优化了远程系统响应效率。
附图说明
图1为本发明系统的结构示意图;
图2为客户端硬件环境的结构示意图;
图3为注册程序注册方法流程示意图;
图4为建立远程通道实现泛域名远程穿透流程示意图;
图5为基于nacos负载均衡流程示意图;
图6为基于nacos服务发现的示意图;
图7为命令下发及其远程通道建立流程示意图;
图8为私有协议远程、探针报文封装的数据结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下结合附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的保护范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。下面结合附图对本发明做进一步的描述。
如图1所示,本发明针对各种采用不同语言,部署于各种环境平台的用户自建服务器,提供一种统一的解决方案,基于docker环境的兼容性可以在window/linux等平台进行部署,为老服务省去了二次开发的技术问题,提升了多平台的服务集成效率。具体涉及一种基于泛域名解析加私有协议内网穿透的集成服务系统,它包括nacos注册中心、云服务器以及多个服务单元:
其中,服务单元即用户服务器,其包括用户服务器操作系统和用户硬件,用户服务器操作系统包括用户通用服务器和容器客户端,用户通用服务器包括用户现有的web服务应用并与用户硬件进行数据交互,容器客户端用于向用户通用服务器进行动态注册、向nacos注册中心进行主动注册、以及命令中转和数据转发;硬件设备则为在用户服务应用下管理的外接设备这里指由网络协议建立连接的设备,此外也包含通过操作系统直接连接的IO设备如:打印机、键盘、鼠标、写字板、麦克风、音响、显示器等。
nacos注册中心用于集成各个服务单元实现负载均衡,以及对各个服务单元中的容器客户端进行注册;nacos是原生应用的动态服务发现、配置和服务管理平台。
云服务器用于向服务单元内的容器客户端发起命令,对内网环境下的用户通用服务器进行命令处理,通过泛域名的方式实现对多个服务单元的模型对应,对应模型为N:N,利用泛域名的解析实现多远程通道的标记,建立远程通道实现泛域名远程穿透。
进一步地,还包括带有DDNS解析功能的DNS(域名系统)服务器,所述DNS服务器集成在云服务器内,利用泛域名的解析实现多远程通道的标记;或者部署到另一个网络服务器,用于将用户的动态IP地址映射到一个固定的域名解析服务上并指向云服务器。
其中,DDNS为动态域名服务,其把互联网域名指向可变IP地址的系统,DNS提供域名与IP地址之间的静态对应关系,通过把远程服务器信息携带到泛域名的方式,可以把多个域名请求指向同一个云服务器IP,再通过服务器对域名地址的解析;做到设备连接的获取,减少了对外端口的暴露,同时基于域名做连接分发,也在对IP协议的封装上有更大的灵活性。
如图2所示,用户服务器包括安装于用户通用服务器内的操作系统,部署的用户应用程序,docker运行环境以及安装在docker运行环境内的注册程序,安装在服务器上的以太网或无线网的网络模块(如WI-FI、5G),管理模块,由用户应用程序提供的对外用接口,由注册程序提供的用于与云服务器进行远程交互的网络接口;
管理模块包括存储管理、设备管理、进程管理、文件管理和作业管理;
用户应用程序通过对操作系统直接交互,从而实现对输入输出的控制,如:直接连接在服务器上的显示器(Display terminal),音频输出设备(Audio output device)等进行直接控制,以及对网络模块的调用通过用户接口对应用层协议的使用,对用户硬件进行控制;通过对操作系统直接交互还能对当前服务器进行五大基本管理,重点描述对存储设备以及文件的管理,通过用户程序实现对文件系统(指存储在用户服务器上的硬盘内的物理文件)的读取,通过注册程序调用网络接口进行远程文件传输实现远程交互;
其中,docker运行环境对操作系统进行适配,挂载操作系统对应的系统路径,通过注册程序对用户服务器的运行状态进行监控,并在用户授权的情况下通过网络端口对注册程序发起远程命令,控制并上报关键信息。
注册程序是部署在docker容器内的虚拟机(virtual machine)应用程序,通过docker服务快速集成到用户服务器,注册的虚拟机通过处理器对容器内部的存储中的注册程序进行调用执行一下操作:构建一个web服务端提供用户访问填写基本注册信息;根据宿主机信息和用户信息生成特有的注册信息,通过网络接口向云服务器发起注册;主动发起探针获取服务器命令信息;获取由远程服务器发起的应用层协议报文,通过虚拟机对用户接口的调用将所述报文穿透至用户服务器。
在调用注册程序转发应用层报文时,应对所述报文进行校验,确认私有协议封装的报文头是否来自服务器;协议头所含用户信息是否和当前用户匹配;私有协议头中包含的应用层协议类型是否支持;在所述私有协议头的固定包头于服务器下发报文的预定义包头相同时,则应用层协议包有效性校验成功;在所述协议中包含的用户信息于用户通过容器内注册程序提供的web服务注册时的用户信息相符时,则应用层协议包的所属性校验成功;在所述协议中包含的的应用层协议类型码包含于当前注册程序中预定义的协议类型码,则类型校验成功;在上述包的有效性、归属性、协议支持类型其中一个校验失败,则校验失败。
进一步地,如图3所示,注册程序发起注册的步骤包括:获取web端配置用户信息;获取用户服务器由硬件信息生成的基本信息;将用户信息和硬件信息生成识别码;根据识别码向云服务器发起注册;获取云服务器的注册响应。
其中包括的对注册包验证的方式,利用docker容器部署的兼容性,本注册程序可以部署在Linux、window、uinx等操作系统的服务器上,通过本程序可以访问局域网能一台或多态用户应用程序,从而实现对多态服务器的远程调用,如容器内注册程序部署在172.28.1.2的用户服务器上,其docker容器内部ip为172.24.0.2,通过docker容器和宿主主机的桥接,实现172.24.0.2到172.28.1.2的用户接口调用,同理容器内部也能访问172.28网段下局域网能得其他服务器用户接口。对本服务器的外接设备,如用户应用程序支持则可以通过调用用户接口通过用户应用程序对操作系统的控制,通过数据I/O总线实现设备作业管理。
进一步地,如图4所示,云服务器建立远程通道实现泛域名远程穿透包括:
S101、用户通过云服务器向归属于自己的内网服务器发起远程请求;
S102、通过浏览器建立与云服务器的websocket通道,并复用websocket连接资源;
S103、云服务器在保存的活跃连接池中寻找访问远程的通讯通道,如果当前远程的通讯通道存在则返回前端当前远程服务器对应的域名地址,其域名地址与建立通道的对应关系为1:N,N为建立的远程通道数,其域名地址为根据DDNS解析后指向云服务器,域名地址为携带特征码的域名地址,云服务器通过解析域名地址的特征码与当前访问的服务器进行匹配;
S104、如果不存在对应的连接通道,则写入创建通道的命令,待设备探针获取命令后创建对应条数的连接通道;
S105、远程服务器(待连接服务器)每间隔一段时间发起UDP请求向云服务器获取命令,当存在命令为建立远程连接时,命令中将携带云服务器地址端口以及建立连接数量,远程服务器获取命令后将建立等量连接供云服务器远程使用;
S106、云服务器获取连接通道后,根据用户请求设备信息和用户信息生成特征码,拼接域名信息,生成泛域名地址与其建立的连接通道匹配并保存在云服务器缓存中备用,并返回泛域名地址给web前端提供给前端访问;
S107、用户访问泛域名地址,选择对应应用层协议对远程服务器进行请求,远程服务器通过DDNS解析泛域名地址后,获取泛域名携带的特征码将后续请求转发到对应远程服务器实现内网穿透。
进一步地,如图5所示,nacos注册中心实现负载均衡包括:用户部署本地容器内注册程序;访问注册程序web页面;注册/登录用户信息,配置当前服务器别名;注册当前服务到nacos服务器;等待消费者消费;云服务器转发远程报文;nacos按照用户及其服务器别名分配用户服务器;云服务器获取用户服务器外网IP对应通讯长连接;按照私有协议封装并转发远程报文到对应用户服务器。
如图6所示,为基于nacos服务发现的示意图,通常用户想要集成nacos需要自行搭建服务,并对原有服务进行提供者(provider)方式的集成,将受下层应用实例部署环境与开发制约;如图6所示分为三个模块,nacos注册服务中心,由云端服务器搭建并提供用户注册使用,其注册流程由docker内容器注册程序执行;由用户(service-provider)组成的集群所构成的服务提供者;由云服务器搭建并提供远程访问方案的(service-consumer)服务消费者三部分组成;基于nacos集群方案提供了快速集成,较为稳定的远程集成模式。
进一步地,如图7所示,远程服务器每间隔一段时间发起UDP请求向云服务器获取命令,当存在命令为建立远程连接时,命令中将携带云服务器地址端口以及建立连接数量,远程服务器获取命令后将建立等量连接共服务器远程使用包括:
容器客户端的UDP探针发起指定云服务器的UDP定向探测,UDP探针采用动态周期模式,将根据是否拉取到命令对实时UDP探针频率进行调整,有命令时加速UDP探针频率,让云服务器和容器客户端更快实现命令交互,当UDP探针持续几次未能拉取到命令后则逐渐降低探针频率,降低云服务器UDP服务的压力;
云服务器中的UDP服务器将根据当前用户容器客户端有无命令进行三种类型的回复,即KEEP为默认回复,让容器客户端继续按频率发送UDP探测请求,REC为需要设备发起重新注册请求,当云服务器按照上报周期时间计算,若连续多次UDP包丢失,未收到容器客户端的探测消息后,将认定当前客户端处于不活跃状态,客户端探针获取响应为REC时将需要重新发起注册流程,重新获取UDP探针请求包后计时器将重置;ACK为有命令时的响应,容器客户端收到此响应时将主动向云服务器发起握手操作,即调用云服务器握手接口,此接口将一次返回一个属于当前容器客户端的命令;
命令处理分发命令,如果此时获取到建立远程通道的命令,则由容器客户端直接向命令内携带的目的地地址建立指定条数的命令通道,并在通道建立成功后将已经阻塞的用户请求直接通过通道由容器客户端的远程代理功能转发到用户服务器。
进一步地,获取命令的方式为缓存命中机制,命中是指:在缓存区里通过注册服务器ID与命令缓存器中的IP匹配则为命中,采用cache缓存技术有较快的响应性能;命令处理包含远程通道建立,同样支持其他命令类型,此处不做限定,但可以包含,用户服务器监控数据上报、云配置下发、服务器指令执行等。
进一步地,如图8所示,UDP探针包括首部、私有头和数据内容三部分,所述首部为UDP协议定义,分为源端口2个字节、目的端口2个字节、长度2个字节、校验和2个字节提供8个字节,实现对该UDP探针的完整性进行初步校验;
所述私有头分为MAGIC自定义封装头字节4个字节、源ip地址4个字节、偏移字节数2个字节、偏移对照码2个字节,其中源地址ip和首部中源端口进行对照,实现初步的有效性校验,偏移值为随机2个字节数,对照数据报文中的偏移字节,从数据报文中按照偏移量取出2个字节数和偏移对照码进行比较,不匹配则丢弃该UDP探针。
采用上述模式的udp探针,可以对探针有效性上有一定的加强,并且加强了对UDP报文攻击的防范,在协议交互上保证了信息安全。
如图8所述,其中包含了TCP转发报文格式的解析;其中把私有协议头定义为18个字节,其中MAGIC自定义封装头字节4个字节、消息长度4个字节、消息类型1个字节、1协议类型1个字节、消息id8个字节;将消息类型定义为:认证请求:AUTH_REQ((byte)0),认证响应:AUTH_RESP((byte)1),代理转发请求PROXY_REQ((byte)2),代理转发响应:PROXY_RESP((byte)3),客户端链接中断:DEV_DESTROY((byte)4),浏览器链接中断:WEB_DESTROY((byte)5),代理请求建立:PROXY_COMPRESS_REQ((byte)6),代理请求响应:PROXY_COMPRESS_RESP((byte)7)共8种类型;协议类型为当前转发请求使用的应用层协议,在容器客户端收到报文后,对协议类型进行解析后,建立对应类型的请求向用户服务器进行转发。
以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
Claims (7)
1.一种基于泛域名解析加私有协议内网穿透的集成服务系统,其特征在于:它包括nacos注册中心、云服务器以及多个服务单元:
所述服务单元即用户服务器,其包括用户服务器操作系统和用户硬件,用户服务器操作系统包括用户通用服务器和容器客户端,用户通用服务器包括用户现有的web服务应用并与用户硬件进行数据交互,容器客户端用于向用户通用服务器进行动态注册、向nacos注册中心进行主动注册、以及命令中转和数据转发;
所述nacos注册中心用于集成各个服务单元实现负载均衡,以及对各个服务单元中的容器客户端进行注册;
所述云服务器用于向服务单元内的容器客户端发起命令,对内网环境下的用户通用服务器进行命令处理,通过泛域名的方式实现对多个服务单元的模型对应,利用泛域名的解析实现多远程通道的标记,建立远程通道实现泛域名远程穿透;
还包括带有DDNS解析功能的DNS服务器,所述DNS服务器集成在云服务器内,利用泛域名的解析实现多远程通道的标记;或者所述DNS服务器部署到另一个网络服务器,用于将用户的动态IP地址映射到一个固定的域名解析服务上并指向云服务器;
所述云服务器建立远程通道实现泛域名远程穿透包括:
用户通过云服务器向归属于自己的内网服务器发起远程请求;
通过浏览器建立与云服务器的websocket通道,并复用websocket连接资源;
云服务器在保存的活跃连接池中寻找访问远程的通讯通道,如果当前远程的通讯通道存在则返回前端当前远程服务器对应的域名地址,如果不存在对应的连接通道,则写入创建通道的命令,待设备探针获取命令后创建对应条数的连接通道;
远程服务器每间隔一段时间发起UDP请求向云服务器获取命令,当存在命令为建立远程连接时,命令中将携带云服务器地址端口以及建立连接数量,远程服务器获取命令后将建立等量连接供云服务器远程使用;
云服务器获取连接通道后,根据用户请求设备信息和用户信息生成特征码,拼接域名信息,生成泛域名地址与其建立的连接通道匹配并保存在云服务器缓存中备用,并返回泛域名地址给web前端提供给前端访问;
用户访问泛域名地址,选择对应应用层协议对远程服务器进行请求,远程服务器通过DDNS解析泛域名地址后,获取泛域名携带的特征码将后续请求转发到对应远程服务器实现内网穿透。
2.根据权利要求1所述的一种基于泛域名解析加私有协议内网穿透的集成服务系统,其特征在于:所述用户服务器包括安装于用户通用服务器内的操作系统,部署的用户应用程序,docker运行环境以及安装在docker运行环境内的注册程序,网络模块,管理模块,由用户应用程序提供的对外用接口,由注册程序提供的用于与云服务器进行远程交互的网络接口;
所述管理模块包括存储管理、设备管理、进程管理、文件管理和作业管理;
所述用户应用程序通过对操作系统直接交互,从而实现对输入输出的控制,以及对网络模块的调用通过用户接口对应用层协议的使用,对用户硬件进行控制;通过对操作系统直接交互实现存储管理、设备管理、进程管理、文件管理和作业管理,以及实现对文件系统的读取,通过注册程序调用网络接口进行远程文件传输实现远程交互;
所述docker运行环境对操作系统进行适配,挂载操作系统对应的系统路径,通过注册程序对用户服务器的运行状态进行监控,并通过网络端口对注册程序发起远程命令,控制并上报关键信息。
3.根据权利要求2所述的一种基于泛域名解析加私有协议内网穿透的集成服务系统,其特征在于:所述注册程序发起注册的步骤包括:获取web端配置用户信息;获取用户服务器由硬件信息生成的基本信息;将用户信息和硬件信息生成识别码;根据识别码向云服务器发起注册;获取云服务器的注册响应。
4.根据权利要求1所述的一种基于泛域名解析加私有协议内网穿透的集成服务系统,其特征在于:所述域名地址与建立通道的对应关系为1:N,N为建立的远程通道数,其域名地址为根据DDNS解析后指向云服务器,域名地址为携带特征码的域名地址,云服务器通过解析域名地址的特征码与当前访问的服务器进行匹配。
5.根据权利要求1所述的一种基于泛域名解析加私有协议内网穿透的集成服务系统,其特征在于:所述nacos注册中心实现负载均衡包括:用户部署本地容器内注册程序;访问注册程序web页面;注册/登录用户信息,配置当前服务器别名;注册当前服务到nacos服务器;等待消费者消费;云服务器转发远程报文;nacos按照用户及其服务器别名分配用户服务器;云服务器获取用户服务器外网IP对应通讯长连接;按照私有协议封装并转发远程报文到对应用户服务器。
6.根据权利要求1所述的一种基于泛域名解析加私有协议内网穿透的集成服务系统,其特征在于:所述远程服务器每间隔一段时间发起UDP请求向云服务器获取命令,当存在命令为建立远程连接时,命令中将携带云服务器地址端口以及建立连接数量,远程服务器获取命令后将建立等量连接供云服务器远程使用包括:
容器客户端的UDP探针发起指定云服务器的UDP定向探测,UDP探针采用动态周期模式,将根据是否拉取到命令对实时UDP探针频率进行调整,有命令时加速UDP探针频率,让云服务器和容器客户端更快实现命令交互,当UDP探针持续几次未能拉取到命令后则逐渐降低探针频率,降低云服务器UDP服务的压力;
云服务器中的UDP服务器将根据当前用户容器客户端有无命令进行三种类型的回复,即KEEP为默认回复,让容器客户端继续按频率发送UDP探测请求,REC为需要设备发起重新注册请求,ACK为有命令时的响应;
命令处理分发命令,如果此时获取到建立远程通道的命令,则由容器客户端直接向命令内携带的目的地地址建立指定条数的命令通道,并在通道建立成功后将已经阻塞的用户请求直接通过通道由容器客户端的远程代理功能转发到用户服务器。
7.根据权利要求6所述的一种基于泛域名解析加私有协议内网穿透的集成服务系统,其特征在于:所述UDP探针包括首部、私有头和数据内容三部分,所述首部为UDP协议定义,分为源端口2个字节、目的端口2个字节、长度2个字节、校验和2个字节提供8个字节,实现对该UDP探针的完整性进行初步校验;
所述私有头分为MAGIC自定义封装头字节4个字节、源ip地址4个字节、偏移字节数2个字节、偏移对照码2个字节,其中源地址ip和首部中源端口进行对照,实现初步的有效性校验,偏移值为随机2个字节数,对照数据报文中的偏移字节,从数据报文中按照偏移量取出2个字节数和偏移对照码进行比较,不匹配则丢弃该UDP探针。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310317257.9A CN116455868B (zh) | 2023-03-29 | 2023-03-29 | 一种基于泛域名解析加私有协议内网穿透的集成服务系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310317257.9A CN116455868B (zh) | 2023-03-29 | 2023-03-29 | 一种基于泛域名解析加私有协议内网穿透的集成服务系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116455868A CN116455868A (zh) | 2023-07-18 |
CN116455868B true CN116455868B (zh) | 2023-11-07 |
Family
ID=87128100
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310317257.9A Active CN116455868B (zh) | 2023-03-29 | 2023-03-29 | 一种基于泛域名解析加私有协议内网穿透的集成服务系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116455868B (zh) |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101217576A (zh) * | 2008-01-18 | 2008-07-09 | 厦门纳网科技有限公司 | 动态域名解析系统及其动态解析方法 |
CN101800735A (zh) * | 2009-02-05 | 2010-08-11 | 李冰 | 一种具备动态特征的www建立方法 |
CN103281408A (zh) * | 2013-05-14 | 2013-09-04 | 福建星网锐捷安防科技有限公司 | 一种反向注册穿透网络的方法 |
CN109150828A (zh) * | 2018-07-10 | 2019-01-04 | 珠海腾飞科技有限公司 | 一种验证注册方法及系统 |
CN112448856A (zh) * | 2021-01-28 | 2021-03-05 | 杭州朗澈科技有限公司 | 一种内网kubernetes对外提供公网访问的方法和系统 |
CN113079144A (zh) * | 2021-03-24 | 2021-07-06 | 上海井星信息科技有限公司 | 一种穿透DMZ网络的SIP WebRTC网关系统 |
CN113259372A (zh) * | 2021-06-03 | 2021-08-13 | 武汉火神信息科技有限公司 | 动态分配通道穿透内网访问本地系统的方法 |
CN114095490A (zh) * | 2021-11-01 | 2022-02-25 | 常州欣华天泰安全信息系统工程有限公司 | 一种基于内网穿透技术内网设备的远程管理方法 |
CN114465791A (zh) * | 2022-01-25 | 2022-05-10 | 杭州盈高科技有限公司 | 网管设备中白名单的建立方法、装置、存储介质及处理器 |
CN115134105A (zh) * | 2021-03-26 | 2022-09-30 | 深圳云安宝科技有限公司 | 私有网络的资源配置方法、装置、电子设备及存储介质 |
CN115225606A (zh) * | 2022-07-11 | 2022-10-21 | 上海道客网络科技有限公司 | 一种容器云平台的跨网络协议的域名访问方法和系统 |
WO2022227411A1 (zh) * | 2021-04-29 | 2022-11-03 | 苏州大学 | 一种嵌入式终端远程在线开发系统 |
CN217957101U (zh) * | 2022-06-23 | 2022-12-02 | 玖联智通技术有限公司 | 动态ip域名穿透系统 |
CN115514750A (zh) * | 2021-06-21 | 2022-12-23 | 北京字节跳动网络技术有限公司 | 电子设备远程控制方法、服务器、系统、介质和设备 |
CN115714756A (zh) * | 2022-10-24 | 2023-02-24 | 阿里巴巴(中国)有限公司 | 私有网络的访问方法和系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10924554B2 (en) * | 2014-05-05 | 2021-02-16 | Citrix Systems, Inc. | Application customization |
US10404523B2 (en) * | 2015-03-09 | 2019-09-03 | Vapor IO Inc. | Data center management with rack-controllers |
CN113014682B (zh) * | 2019-12-20 | 2023-09-15 | 中兴通讯股份有限公司 | 实现网络动态性的方法、系统、终端设备及存储介质 |
-
2023
- 2023-03-29 CN CN202310317257.9A patent/CN116455868B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101217576A (zh) * | 2008-01-18 | 2008-07-09 | 厦门纳网科技有限公司 | 动态域名解析系统及其动态解析方法 |
CN101800735A (zh) * | 2009-02-05 | 2010-08-11 | 李冰 | 一种具备动态特征的www建立方法 |
CN103281408A (zh) * | 2013-05-14 | 2013-09-04 | 福建星网锐捷安防科技有限公司 | 一种反向注册穿透网络的方法 |
CN109150828A (zh) * | 2018-07-10 | 2019-01-04 | 珠海腾飞科技有限公司 | 一种验证注册方法及系统 |
CN112448856A (zh) * | 2021-01-28 | 2021-03-05 | 杭州朗澈科技有限公司 | 一种内网kubernetes对外提供公网访问的方法和系统 |
CN113079144A (zh) * | 2021-03-24 | 2021-07-06 | 上海井星信息科技有限公司 | 一种穿透DMZ网络的SIP WebRTC网关系统 |
CN115134105A (zh) * | 2021-03-26 | 2022-09-30 | 深圳云安宝科技有限公司 | 私有网络的资源配置方法、装置、电子设备及存储介质 |
WO2022227411A1 (zh) * | 2021-04-29 | 2022-11-03 | 苏州大学 | 一种嵌入式终端远程在线开发系统 |
CN113259372A (zh) * | 2021-06-03 | 2021-08-13 | 武汉火神信息科技有限公司 | 动态分配通道穿透内网访问本地系统的方法 |
CN115514750A (zh) * | 2021-06-21 | 2022-12-23 | 北京字节跳动网络技术有限公司 | 电子设备远程控制方法、服务器、系统、介质和设备 |
CN114095490A (zh) * | 2021-11-01 | 2022-02-25 | 常州欣华天泰安全信息系统工程有限公司 | 一种基于内网穿透技术内网设备的远程管理方法 |
CN114465791A (zh) * | 2022-01-25 | 2022-05-10 | 杭州盈高科技有限公司 | 网管设备中白名单的建立方法、装置、存储介质及处理器 |
CN217957101U (zh) * | 2022-06-23 | 2022-12-02 | 玖联智通技术有限公司 | 动态ip域名穿透系统 |
CN115225606A (zh) * | 2022-07-11 | 2022-10-21 | 上海道客网络科技有限公司 | 一种容器云平台的跨网络协议的域名访问方法和系统 |
CN115714756A (zh) * | 2022-10-24 | 2023-02-24 | 阿里巴巴(中国)有限公司 | 私有网络的访问方法和系统 |
Non-Patent Citations (2)
Title |
---|
基于DDNS和NAT的服务器内外网动态映射;鄢萍;易润忠;童亮;;计算机工程(20);全文 * |
面向服务架构中的服务分类及其应用;黄小庆;关维德;周宇;夏安邦;;计算机集成制造系统(09);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116455868A (zh) | 2023-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2536092A1 (en) | Method and device for port mapping, and communications system | |
CN107613037B (zh) | 一种域名重定向方法和系统 | |
CN111193773B (zh) | 负载均衡方法、装置、设备及存储介质 | |
US10191760B2 (en) | Proxy response program, proxy response device and proxy response method | |
KR20120132206A (ko) | 디바이스의 서버 연결 방법, 정보 제공 방법 및 이를 적용한 디바이스 및, 클라우딩 컴퓨팅 네트워크 시스템 및 그 동작 방법 | |
CN108989420A (zh) | 注册服务的方法及系统、调用服务的方法及系统 | |
CN113055220B (zh) | 基于云的nat环境的可缩放且鲁棒的网络管理 | |
CN116455868B (zh) | 一种基于泛域名解析加私有协议内网穿透的集成服务系统 | |
CN110557462B (zh) | 一种基于公共代理的分布式接入系统 | |
JP6690959B2 (ja) | Tcpハンドシェークをリフォームするデバイス及び方法 | |
CN112968965A (zh) | Nfv网络节点的元数据服务方法、服务器及存储介质 | |
CN115242882B (zh) | 一种基于传输层路由访问k8s容器环境的方法及装置 | |
US20110235641A1 (en) | Communication apparatus, method of controlling the communication apparatus,and program | |
Arunachalam et al. | Layer 4 accelerator (L4A) for optimizing network protocol latencies in mobile devices | |
CN114710560A (zh) | 数据处理方法、系统及代理设备、终端设备 | |
Cisco | SLIP and PPP Configuration Commands | |
Cisco | SLIP and PPP Configuration Commands | |
Cisco | SLIP and PPP Configuration Commands | |
Cisco | SLIP and PPP Configuration Commands | |
Cisco | SLIP and PPP Commands | |
Cisco | Configuring SLIP and PPP | |
Cisco | Configuring SLIP and PPP | |
Cisco | Configuring SLIP and PPP | |
Cisco | Configuring SLIP and PPP | |
Cisco | Configuring SLIP and PPP |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |