一、产品背景
为了帮助企业和个人用户解决网络访问和设备控制的问题,我们研发了一款创新型产品:EasyNTS云组网系统。什么是EasyNTS,什么是云组网呢?
在解释之前,我们先来了解几个在凡是涉及网络的领域都可能会遇到的几个问题痛点:
-
设备置于私有内网,设备所在内网无公网固定IP地址,无法在互联网上被其他用户和设备访问到;
-
设备置于私有内网,设备所在内网虽然有公网固定IP地址,但端口映射权限的开通遇到困难,网管不会、审批流程麻烦、端口资源不够、映射端口不够灵活,如何跳过路由器、防火墙,做自定义的端口映射;
-
需要远程运维内网设备或者主机,即使主机既没有公网固定IP,而且远程端口(例如22、3389等)未开放,如何做到对各种类型终端设备的指令控制;
-
设备置于私有内网,而且数量众多,内网多台设备如何能够统一组织到云端,实现云端的集中访问和控制;
-
在音视频领域,内网上行带宽总是有限,如何借助云端带宽和计算资源实现更大能力的数据分发;
-
有的应用场景下,常态情况无需端口映射,是否有方案能够做到按需映射、按需组网;
-
保护数据安全,表面上数据是从公网输出,实际是内网输出的,云组网只做数据的代理转发;
二、EasyNTS云组网
EasyNTS云组网即Easy Network Tunnelling Service,我们先来对EasyNTS云组网系统做一个简要介绍:EasyNTS是一整套的智能云组网产品,他包括两个部分:第一部分是软硬结合的EasyNTS云终端。EasyNTS云终端有单独的软件部分,用户可集成部署在自己的硬件终端和业务系统中,也有软硬一体的硬件部分,直接根据需求配置在终端网络现场;第二部分是EasyNTS云组网平台。云端部署并且能够集中管理所有接入的EasyNTS云终端设备,功能包括,接入与管控、动态组网、远程运维、文件传输、远程指令调用等等功能,从终端到云端,形成了一整套的云组网解决方案,极大地解决了现场无固定IP、端口不开放、系统权限不开放等问题。
那么,EasyNTS云组网到底是什么呢?
2.1、网络穿透服务
这里说到的网络穿透,可能跟传统意义上的p2p网络穿透还不是一回事,传统意义的网络穿透多指终端网络(p即私有内网)与终端网络之间直接对等传输,不需要经过第三方服务器进行转发的网络传输方式,而我们这里的EasyNTS云组网的网络穿透是采用的服务转发方式的穿透,穿透率100%,我们这里称这种功能为云组网。只要EasyNTS云终端设备能连接到EasyNTS云组网,就可以建立起设备的云端组网,将设备的所有网络能力在云端得到发布:
举个简单的例子:例如现场海康IPC摄像机设备在内网的管理地址是http://192.168.1.88:8000/,但是我们在公网是无法直接访问到这个管理地址的,但是,如果经过了EasyNTS云终端+EasyNTS云组网的接入,我们可以直接通过访问地址http://www.easynts.com:8000/,就可以访问到这台设备,而www.easynts.com是我们部署在阿里云的EasyNTS云组网公网平台地址,整个过程,无需IPC现场网络具有公网IP,无需现场防火墙、路由器做过多额外的设置,就可以达到在互联网的任何位置直接访问这台海康IPC摄像机设备的目的!
2.2、动态组网服务
按照EasyNTS云组网网络穿透的原理,数据的穿透实际采用的是EasyNTS云组网云端服务进行的网络数据转发,并且所有的数据都会经过EasyNTS云组网服务器进行中转传输,而且在EasyNTS云组网对外发布内网每一台设备的每一种网络能力时(例如HTTP、RTSP、SSH、Telnet、RDP等),需要为每一台设备都专门分配开通公网端口,单台EasyNTS如果需要组网1万台设备服务,那么就需要EasyNTS云服务器同时开放1万个端口对外,但是大部分情况下,例如我们的云端远程控制功能,只有每次需要远程ssh、telnet或者rdp的时候才需要开放端口,常态下是只要保持EasyNTS云组网服务与EasyNTS云终端的连接就可以了,于是,EasyNTS根据这种需求原则,基于MQTT加密协议研发出了EasyNTS动态组网的功能,在某些应用场景下,设备不需要开放端口时,只需要保持心跳连接,让EasyNTS云组网服务器能向EasyNTS云终端发送指令即可,一旦需要开放任意端口,EasyNTS云组网服务会向EasyNTS云终端发送端口组网的指令,在瞬时间内立即组网穿透成功,并在EasyNTS云组网服务端形成设备云端能力对外发布。
2.3、远程运维功能
基于上述的“网络穿透”和“动态组网”的功能,我们能充分发挥EasyNTS云组网服务的能力,应用于各种各样的应用场景,我们可以将EasyNTS理解为PaaS(Platform-as-a-Service:平台即服务)能力,同时,我们基于EasyNTS本身的能力,也做了一些SaaS(Software-as-a-Service:软件即服务)方面的扩展,我们可以直接在EasyNTS云组网的后台,通过ssh/telnet/rdp等方式直接远程控制设备,同时,基于这些远程连接,可直接向EasyNTS云终端设备传输文件和直接发送自定义的操作指令。
三、EasyNTS云组网的应用场景
3.1、远程运维
EasyNTS云终端置于设备现场,EasyNTS云组网运行于阿里云/腾讯云/自建云,可以做到随时随地管控所有现场的设备网络情况,通过远程调试和排查问题,极大地降低了现场的运维成本;
3.2、端口开放
置于内网现场的设备无公网固定IP地址,我们采用EasyNTS云终端将设备内网IP:Port组网到EasyNTS云组网服务器,形成互联网公网IP:Port,便于设备能力的开放和调用;
3.3、被集成
依托于强大的组网功能和稳定的连接能力,EasyNTS云终端可被集成于各种类型终端设备中,支持Windows、Linux、Android、iOS、ARM等全平台,不但有强大的消息透传功能,还有强大的端口组网功能,都可以被第三方应用完全集成!