网络穿越技术

这是近期开始流行的一个话题,相关的实现有 Tailscale,Pangolin 等。这些技术手段的目的是为了突破现有网络的限制(NAT 网关,防火墙等),让任意两个网络节点能互通,同时实现访问控制。

这听起来是不是很熟悉?很久以前,有一家服务商可以让从不同地方接入的客户端像在局域网内一样互相访问。其实放到今天,就是一个简单的 VxLAN 的应用场景。

这并没有什么神秘的地方,让两个节点互联,考虑都在公网,只有一个在公网以及两个都不在公网的情况。都在公网的情况不需要讨论了,我们的重点在于如何访问不在公网的节点。这里的前提是用户不需要修改所在网关的配置,但是可以在节点上安装必要的软件。解决方案的本质就是建立 overlay 网络(一般是通过 VPN 技术),让不同的节点接入同一个 overlay 网络实现互通。一个典型的例子就是 VPN tunnel switch,只是说在传统的 tunnel switch 里面,是 hub/spoke 模型,在新的模型里面,更多的 peer to peer 的场景。

这些新技术都在强调去中心化,然而有些信息还是需要集中存储,有些数据还是需要中心节点来处理,特别是访问控制规则。最终实现的业务场景是什么?看起来是把 VPC 网络从 cloud 环境迁移到任何地方,定制一个简化版本。

一方面我感觉目前的 cloud 基础设施扩展性很差,成本不低,用户也慢慢发现 cloud 并没有真的降低运营费用,也该是时候寻找替代方案了。另一方面,新技术是不是真的能解决这些问题,能不能覆盖现有 cloud 提供的主要业务,仍然存疑。

大家拭目以待吧。