一、产品背景

为了帮助企业和个人用户解决网络访问和设备控制的问题,我们研发了一款创新型产品:EasyNTS云组网系统。什么是EasyNTS,什么是云组网呢?

在解释之前,我们先来了解几个在凡是涉及网络的领域都可能会遇到的几个问题痛点:

  1. 设备置于私有内网,设备所在内网无公网固定IP地址,无法在互联网上被其他用户和设备访问到;

  2. 设备置于私有内网,设备所在内网虽然有公网固定IP地址,但端口映射权限的开通遇到困难,网管不会、审批流程麻烦、端口资源不够、映射端口不够灵活,如何跳过路由器、防火墙,做自定义的端口映射;

  3. 需要远程运维内网设备或者主机,即使主机既没有公网固定IP,而且远程端口(例如22、3389等)未开放,如何做到对各种类型终端设备的指令控制;

  4. 设备置于私有内网,而且数量众多,内网多台设备如何能够统一组织到云端,实现云端的集中访问和控制;

  5. 在音视频领域,内网上行带宽总是有限,如何借助云端带宽和计算资源实现更大能力的数据分发;

  6. 有的应用场景下,常态情况无需端口映射,是否有方案能够做到按需映射、按需组网;

  7. 保护数据安全,表面上数据是从公网输出,实际是内网输出的,云组网只做数据的代理转发;

二、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等全平台,不但有强大的消息透传功能,还有强大的端口组网功能,都可以被第三方应用完全集成!

方案咨询

邮箱:babosa@easydarwin.org

借助EasyNTS云组网,无需拉专线,也能解决设备现场无公网固定IP的问题的更多相关文章

  1. 考试星陈沧:借助Testin云測加速实现”考试电子化”目标

    考试星陈沧:借助Testin云測加速实现"考试电子化"目标 2014/10/11 · Testin · 开发人员訪谈 考试星国内首款在线考试云平台,可用于企业内部考核,经销商考核, ...

  2. 在阿里云托管kubernetes上利用 cert-manager 自动签发 TLS 证书[无坑版]

    前言 排错的过程是痛苦的也是有趣的. 运维乃至IT,排错能力是拉开人与人之间的重要差距. 本篇会记录我的排错之旅. 由来 现如今我司所有业务都运行在阿里云托管kubernetes环境上,因为前端需要对 ...

  3. 完整部署CentOS7.2+OpenStack+kvm 云平台环境(3)--为虚拟机指定固定ip

    之前在测试环境(centos7.2)上部署了openstack云平台(完整部署CentOS7.2+OpenStack+kvm 云平台环境(1)--基础环境搭建),openstack在neutron组网 ...

  4. 使用NestedScrollView+ViewPager+RecyclerView+SmartRefreshLayout打造酷炫下拉视差效果并解决各种滑动冲突

    使用NestedScrollView+ViewPager+RecyclerView+SmartRefreshLayout打造酷炫下拉视差效果并解决各种冲突 如果你还在为处理滑动冲突而发愁,那么你需要静 ...

  5. Android 使用NestedScrollView+ViewPager+RecyclerView+SmartRefreshLayout打造酷炫下拉视差效果并解决各种滑动冲突

    如果你还在为处理滑动冲突而发愁,那么你需要静下心来看看这边文章,如果你能彻底理解这篇文章中使用的技术,那么,一切滑动冲突的问题解决起来就轻而易举了: 先扔一个最终实现的效果图 先分析下效果图中实现的功 ...

  6. 自拉ADSL网线搭建站点server,解决动态IP、无公网IP、80port被封、HTTP被屏蔽的方法

    自己的server搭建站点应用,提供站点服务,能够不用备案,但可能会面对网络限制问题,如动态公网IP.无公网IP.80port被封.HTTP被屏蔽,这些复杂网络情况. 依据本地网络环境,能够针对不同的 ...

  7. Android开发SDK接入机智云,智能家居实现APP远程控制多设备

    代码地址如下:http://www.demodashi.com/demo/12847.html 一.前言. 此框架只用了一周星期做了出来,因为对机智云的框架比较熟悉了 !期间SDK初始化出了问题,去咨 ...

  8. Python3 Scrapy + Selenium + 阿布云爬取拉钩网学习笔记

    1 需求分析 想要一个能爬取拉钩网职位详情页的爬虫,来获取详情页内的公司名称.职位名称.薪资待遇.学历要求.岗位需求等信息.该爬虫能够通过配置搜索职位关键字和搜索城市来爬取不同城市的不同职位详情信息, ...

  9. 借助百度云API进行人脸识别

    前言:本篇博客是笔者第一次使用百度云api进行人脸检测,主要内容包括两部分,一是获取接口,二是借助接口进行人脸检测.笔者也是初步了解这方面的内容,也是参考了杂七杂八的博文,内容可能存在错误及其他毛病, ...

随机推荐

  1. arm-linux-gdb+gdbserver环境搭建以及远程调试

    0) gdb源码下载:http://ftp.gnu.org/gnu/gdb/ 1) 编译arm-linux-gdb 指定交叉编译工具链的位置 export PATH=$PATH:/usr/local/ ...

  2. Gperftools中tcmalloc的简介和使用(转)

    TcMalloc(Thread-CachingMalloc)是google-perftools工具中的一个内存管理库,与标准的glibc库中malloc相比,TcMalloc在内存分配的效率和速度上要 ...

  3. 【Dos】Dos命令大全

    dos命令大全 AT 计划在计算机上运行的命令和程序.ATTRIB 显示或更改文件属性.BREAK 设置或清除扩展式 CTRL+C 检查.CACLS 显示或修改文件的访问控制列表(ACLs).CALL ...

  4. 获取request中的查询参数

    //获取request中的查询参数 public static Map<String, Object> getRequestParamsByMap(HttpServletRequest r ...

  5. Python 的条件语句和循环语句

    一.顺序结构 顺序结构是最简单的一种程序结构,程序按照语句的书写次序自上而下顺序执行. 二.分支控制语句 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块 ...

  6. MongoDB之索引

    索引是用来加快查询的,这里不解说索引的原理和数据结构.事实上大部分数据库的索引就是B+Tree,想要了解的同学能够看索引原理,要掌握怎样为查询配置最佳索引会有些难度. MongoDB索引差点儿和关系型 ...

  7. mysql被动模式下的主主配置

    mysql 架构最简单用得也最多的的是主从,主主等,主从有个切换的问题,从库不可写,在主库一定的情况下,切换挺麻烦,这里可以用主主模式. 但是主主也有个问题,就是两边同时写有可能冲突,主键冲突,虽然可 ...

  8. Linux 中 eclipse 的tomcat端口号被占用

    1.打开ubuntu启动器(快捷键是 win)--键入 sys--找到 系统监视器(System Monitor) 2.打开系统监视器--找到进程中的java 这个进程--结束该进程

  9. js中级系列三:前端性能优化

    原文链接:http://www.cnblogs.com/xxcanghai/p/5205998.html 链接:http://www.zhihu.com/question/21658448/answe ...

  10. 前端js文件添加版本号

    客户端会缓存这些css或js文件,因此每次升级了js或css文件后,改变版本号,客户端浏览器就会重新下载新的js或css文件 ,刷性缓存的作用.大家可能有时候发现修改了样式或者js,刷新的时候不变,就 ...