内网穿透技术浅评
科普一下给有需要的童鞋参考。
穿透原理大致分如下几类:
1、代理穿透
原理示意图:
优势:
- 保持100%穿透成功率
- 用户无需公网IP
不足:
- 运营方提供公网访问入口,硬件投入大
- 带宽要求高,免费用户往往会被限速,产生免费使用上的“鸡肋”
2、直接穿透
原理示意图:
优势:
- 自主可控,无需第三方转发
- 保持100%穿透成功率
不足:
- 服务端必须具备公网IP
- 带宽取决于服务端和客户端两者的最小带宽(面向云主机带宽不友好,主要是贵!死贵!!)
- 由于直接暴露在公网,会有安全问题
- 需要自己搭建,门槛较高
3、P2P穿透
原理示意图:
优势:
- 点对点,能最大化使用带宽,使用感知友好
不足:
- Ipv4环境下成功率取决于NAT类型,移动网络(3G/4G下)基本没戏
- Ipv6环境下成功率高,取决于防火墙策略(防火墙穿透)
- 几乎全基于UDP协议或其衍生自定义协议,安全性和可靠性或多或少存在缺陷
4、Ssh隧道穿透:
略
常用免费工具穿透姿势:
-/- | 代理穿透 | 直接穿透 | P2P穿透 | 自主代理 | 公网IP | 备注 | |
---|---|---|---|---|---|---|---|
花生壳 | YES | NO | NO | NO | 不需要 | 限速到怀疑人生 | |
teamviewer | YES | NO | NO | NO | 不需要 | 烦人的商用提示 | |
Ngrok | YES | YES | NO | YES | 需要 | ||
Frp | YES | YES | YES/UDP | YES | 需要 | 三种方式选其一 | |
smarGate | YES | YES | YES/TCP | YES | 不需要 | 同时支持,P2P优先 |
附:
Frp:https://github.com/fatedier/frp
Ngrok:https://github.com/inconshreveable/ngrok
smarGate: https://github.com/lazy-luo/smarGate
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
ASP.NET Core微服务之Docker容器化WebAPI
Tip: 此篇已加入.NET Core微服务基础系列文章索引 一、Docker极简介绍 1.1 总体介绍 Docker 是一个开源的应用容器引擎,基于Go 语言并遵从Apache2.0协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个_轻量级、可移植的容器_中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。 简而言之>容器是一个打包了应用服务的环境,它是一个轻量级的虚拟机,每一个容器由一组特定的应用和必要的依赖库组成。 Docker和传统虚拟化之间最大的区别在于:容器是在操作系统层面上实现虚拟化,即直接复用本地主机的操作系统;而传统虚拟化则是在硬件层面实现,如VMware vShpere, Xen及Citrix等。 1.2 Docker结构 Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。 Docker 容器通过 Docker 镜像来创建。 容器与镜像的关系类似于面向对象编程中的对象与类。 ...
- 下一篇
Java技术周刊第12期:编写高性能的Java代码需要注意的4个问题
【点击订阅Java技术周刊】 Java的开发者们: 云栖社区已有5000位Java开发者,发布了30000+Java文章(文章列表),沉淀了7000+的Java精品问答(问答列表)。 Java技术周刊将会为大家介绍最新的Java技术与动态、预告活动、最热问答、直播教程等,欢迎大家订阅Java技术周刊和关注Java社区公众号。 最新动态 编写高性能的Java代码需要注意的4个问题问题1:Java中创建一个线程消耗多少内存?问题2:一台机器可以创建多少线程? Java爬虫快速开发工具uncs的部署全攻略uncs是java快速开发爬虫的工具,简单便捷,经过大量版本迭代和生产验证,可以适用大多数网站,推荐使用。 SpringBoot使用redis进行发布订阅消息redis不仅是一个非常强大的非关系型数据库,它同时还拥有消息中间件的pub/sub功能,在
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- SpringBoot2全家桶,快速入门学习开发网站教程
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作