科普一下给有需要的童鞋参考。
穿透原理大致分如下几类:

1、代理穿透

原理示意图:

image

优势:

  • 保持100%穿透成功率
  • 用户无需公网IP

不足:

  • 运营方提供公网访问入口,硬件投入大
  • 带宽要求高,免费用户往往会被限速,产生免费使用上的“鸡肋”

2、直接穿透

原理示意图:

image

优势:

  • 自主可控,无需第三方转发
  • 保持100%穿透成功率

不足:

  • 服务端必须具备公网IP
  • 带宽取决于服务端和客户端两者的最小带宽(面向云主机带宽不友好,主要是贵!死贵!!)
  • 由于直接暴露在公网,会有安全问题
  • 需要自己搭建,门槛较高

3、P2P穿透

原理示意图:

image

优势:

  • 点对点,能最大化使用带宽,使用感知友好

不足:

  • 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优先 |

附:
smarGate: https://github.com/lazy-luo/s...
Frp:https://github.com/fatedier/frp
Ngrok:https://github.com/inconshrev...


lazy007
1 声望0 粉丝