一、产品背景

为了帮助企业和个人用户解决网络访问和设备控制的问题,我们研发了一款创新型产品: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. 手机号码月消费档次API

    手机号码月消费档次API,返回手机号的每月消费水平,身份证姓名不做一致性校验 文档:https://www.juhe.cn/docs/api/id/261 接口地址:http://v.juhe.cn/ ...

  2. DriverStore文件夹特别大,能删除吗?

    DriverStore文件夹特别大,能删除吗? DriverStore\FileRepository文件夹特别大,能删除吗? C:\Windows\System32\DriverStore\FileR ...

  3. userDao

    比如,我们这里有一个接口IUserDao,里面有,add和del两个方法.我们在项目中,有一个他的实现类:UserDao.但是我们现在想要统一为这个接口的所有实现类都添加一个查询search方法,那么 ...

  4. 【MyBatis学习11】MyBatis中的延迟加载

    1. 什么是延迟加载 举个例子:如果查询订单并且关联查询用户信息.如果先查询订单信息即可满足要求,当我们需要查询用户信息时再查询用户信息.把对用户信息的按需去查询就是延迟加载. 所以延迟加载即先从单表 ...

  5. DNS的概念,用途,DNS查询的实现算法

    1.DNS的概念,用途      DNS是由解析器以及域名服务器组成的.      域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器.      DNS ...

  6. VirtualBox 調整硬盤大小

    C:\Users\Administrator>"C:\Program Files\Oracle\VirtualBox\VBoxManage" modifyhd"D: ...

  7. java 图片缩放

    使用java自带的图片处理api,也可以使用(GraphicsMagick + im4j) import java.awt.Image; import java.awt.image.BufferedI ...

  8. 【JavaScript】JavaScript DOM 编程

    在开发的时候,最主要是对DOM进行操作.DOM:Document Object Model 文本对象模型. DOM能够以一种独立于平台和语言的方式訪问和改动一个文档的内容和结构. DOM是针对xml( ...

  9. android studio- Gradle "xxx" project refresh failed

    Android Studio每次更新版本都会更新Gradle这个插件,但由于长城的问题每次更新都是失败,又是停止在Refreshing Gradle Project ,有时新建项目的时候报 Gradl ...

  10. java json字符串和对象互转

    /** * Created by admin on 2017/7/26. */ public class NewPost { private String title; private String ...