本发明涉及互联网架构技术领域,其具体涉及一种通过内网穿透技术组建去中心化网络架构技术。
背景技术:
去中心化网络环境的构建,往往需要将网络环境中的节点既看成是服务器,也看成是客户端;节点之间需要相互通信,就会涉及到nat打洞方面的技术,其中nat包括锥形nat(conenat)其主要为port-restrictedconenat(端口受限锥形nat)和symmetricnat(对称nat)。综上所述,现有技术的缺点:(1)如果是锥形nat网络还可以通过udp或tcp打洞的形式实现点对点通信;但如果是对称nat,则无法实现,必须通过采用中间服务器形式实现;需要前期对网络结构进行判断;(2)由于受限于网络环境,而网络环境判断过程中,往往只能判断到当前网络,因此如第一层级内网采用对称形nat而其下的层级采用锥形nat,此时虽然对网络类型进行判断出来,但仍然无法实现打洞通信;网络所处环境需求较多;(3)如果采用不同的传输协议,则去中心化的网络方案复杂度将会完全不同;如http/https与tcp、udp、ssl等协议进行去中心化点对点通信时,则每套方案的复杂程度不一。
技术实现要素:
针对上述缺陷,本发明的目的是为了解决在不同的nat网络环境中,针对于不同的传输协议,可采用统一的方式实现去中心化的网络架构;同时通过该发明可降低去中心化网络架构的建设时间及去中心化网络搭建的复杂度。
本发明是通过以下技术方案实现的:
一种通过内网穿透技术组建去中心化网络架构技术,所述通过内网穿透技术组建去中心化网络架构技术步骤如下:
步骤1:将每个节点都看成是一个独立的个体,其既需要接收数据,也需要主动发送数据向其他节点;
步骤2:当节点作为客户端时,需要向目标节点发送数据,只需要知道目标节点暴露到外部的uri(统一资源标志符),即可完成通信,该方式可采用最基础的客户端/服务器模式完成;
步骤3:当节点作为服务端时,需接收外界发送过来的数据,此时如果没有独立在外部的ip地址就无法实现接收外部数据,需采用内网穿透技术,在节点所在环境上部署穿透app端,同时在服务端部署穿透server端;
步骤4:通过穿透app端与穿透server端建立tcp长连接,并将app端的uri发布出去,当访问发布的uri时,则在服务端将接收到的数据根据网络协议进行封包操作,并将处理后的封包通寻找到的tcp隧道传递到穿透app端;
步骤5:穿透app端,将封包进行拆包,然后将其还原成原来的协议及访问方式,模拟访问内网中的节点,在得到节点返回时,穿透app端,将节点返回的数据进行封包,然后通过tcp隧道将封包发送到穿透server;穿透server将封包拆包后,恢复访问节点所需的协议格式,并返回给相关节点。
本发明的有益效果:本发明采用的处理方式既可在不暴露节点的过程中,通过内网穿透实现去中心化网络,将更多满足去中心化网络支持的协议,在节点基础功能不做调整之外,可快速实现去中心化网络的组建。
具体实施方式
实施例
本发明所述通过内网穿透技术组建去中心化网络架构技术中将各模块分为,节点(目标节点,访问者节点),穿透server端、穿透app端;
穿透模块部署在云端服务器端,穿透app端部署在节点端;
当节点启动后,穿透app端也随之启动,并通过tcp协议,建立与服务器上的穿透server端的连接;穿透app端随即根据穿透server的管理控制台获取服务端的uri,并将其在穿透server端进行关系映射;
到有访问者节点访问目标节点时,会向目标节点的uri发出访问请求,该请求可以是http/https、tcp、udp、ssl等各种协议的;而目标节点的uri其实是访问穿透server端;当穿透server端接收到相关数据时,则根据从哪个uri进行访问的进行处理,并根据在穿透server端控制台上的配置信息,对接收到的数据进行封包处理;并将处理后的数据发送到穿透app端;当穿透app端接收到穿透server端的封包后,根据管理控制台的相关信息对封包进行拆包操作;并将其恢复到访问者传递的数据状态;将该数据直接在内网中提交给节点;节点会认为该操作是正常访问操作,处理完成后,将响应消息返回给穿透app端;穿透app端会将响应信息,进行封包后,通过穿透app与穿透server之间的tcp隧道发送给穿透server端;穿透server接收到数据后,再根据控制台设置的配置,将响应的消息返还给访问者节点,访问者节点会以为是目标节点的响应消息;
本方案的提出,在不改变节点当前功能的情况下即可实现,同时内网穿透过程对于目标节点和访问者节点都是透明的;且能实现各节点在组建去中心化网络过程中,节点的安全性;且不受网络基础环境限制。
虽然在上文中已经参考实施方式对本发明进行了描述,然而在不脱离本发明的范围的情况下,可对其进行各种改进且可用等效物替换其中的部件。尤其是,只要不存在结构冲突,本发明所披露的实施方式中各项特征均可通过任意方式相互结合起来使用,在本说明书中未对这些组合的情况进行穷举性的描述仅仅是出于省略篇幅和节约资源的考虑。因此,本发明并不局限于文中公开的特定实施方式,而是包括落入权利要求的范围内的所有技术方案。