ZeroTier和比扬云SD-WAN异地组网全方位比较

zerotier和wireguard都属于异地组网,内网穿透等方向的大杀器,尤其是wireguard,我们碰到很多很多这样的友商是基于wireguard来做的二次开发了,有的甚至直接给wireguard换了个皮肤就跑市场了。

从局内人的角度来看,我们第一反应是他们好在哪里,有什么是我们做不了的,有什么是我们能做而没有做的,我们有没有比他们做的好的。

wireguard本身没什么好说的,我的评价是它是个非常好的项目,是个大道至简的大成者,但是不一定是一个产品。项目跟产品的目标用户群体是不一样的,项目说明面向的群体主要是专业的技术人员,不仅是技术人员,还需要一些网络基础才能玩得转,而产品的目标群体可能就是运维,it或者非技术人员。

这篇文章就不涉及wireguard,只针对zerotier以及比扬云的SD-WAN在异地组网这一场景做一次详细的对比,看看我们和zerotier之间的数据差异。

文章会尽可能的客观,不踩一捧一,数据也是绝对真实的数据。

基本概念

首先来介绍一下两款产品的基本概念,让读者有一些基本的了解

ZeroTier

  • 网络,Network,虚拟网络,可以认为是一个隔离的环境
  • 客户端,zerotier-one,在每个需要组网的设备上运行的程序
  • 路由,针对网段组网单独配置的路由

比扬云SD-WAN

  • 虚拟网络,等价于ZeroTier的网络
  • 站点,等价于ZeroTier的Linux客户端+路由
  • 员工客户端,等价于ZeroTier的客户端

我们以一个具体的例子来看看两个产品的配置区别。

我有一个家庭网络,网段是192.168.1.0/24,我希望能在外部访问内网的所有设备

如果是ZeroTier,您需要

  • 创建虚拟网络
  • 方式1:在所有设备上运行一个ZeroTier-One
  • 方式2:在一台Linux设备上运行ZeroTier-One,并且配置ZeroTier的路由,让192.168.1.0/24网段的路由的下一跳IP是这个ZeroTier-One的虚拟IP
  • 最后在外部访问时,安装ZeroTier-One即可

不难看出ZeroTier的逻辑是客户端(zerotier-one)搞定所有,另外搭配路由实现自定义转发规则

如果是比扬云,您需要

  • 创建虚拟网络
  • 创建站点,在内网找一台Linux设备激活站点
  • 在外部运行员工客户端,通过员工客户端去访问内网设备

从命名就不难看出,比扬云SD-WAN更加倾向于ToB的,员工客户端之间一般是不建议直接通信的,而是使用站点通信,我们后续可能会推出ToC的消费级的产品,能达到跟ZeroTier一样的效果。

我们接下来会以一个具体例子实际操作一下,看看两者的操作复杂度和效果有多大区别。

组网拓扑

组网拓扑如图所示,以上是我们模拟的一个组网拓扑,我们对比的目标很简单,实现企业分支,企业总部和公有云三者的组网,总部没有公网IP,分支有公网IP。

需要注意的是,我们说的组网是在原有网络基础上的组网,而不是使用zerotier自身虚拟网段的组网。所以一般而言使用的系统都是Linux,因为windows基本只能做虚拟网段的组网

出于方便考虑,这里没有配置任何dhcp下发网关的操作,直接在企业总部运行了客户端的linux设备上通过

iptables -t nat -I POSTROUTING -j MASQUERADE

做SNAT,你可以认为把每个运行了zerotier的客户端/比扬云SD-WAN站点的Linux系统都认为是一个路由器。

Zerotier

zerotier是款海外的产品,用来实现异地组网,内网穿透这些功能,接下来看看它是怎么做的。

第一步: 创建网络,先登录到控制台,登录之后会看到我们具备的一些额度信息,然后点击创建网络就可以增加一个网络了。这里的网络ID比较重要,所有的客户端都是通过这个网络id加入网络的。

第二步: 在分支,总部,公有云分别安装客户端,也就是zerotier one,这个很简单,只需要一行命令就可以安装了

curl -s https://install.zerotier.com | sudo bash

执行完之后看到提示则表示安装成功。

通过zerotier-cli join 网络ID 加入网络,加入网络之后需要在控制台选择其进行授权才能真正生效,拓扑里面的三个组网配置完之后如下所示

第三步:配置路由

上面的配置是路由的配置,我们可以简单认为zerotier内部有一个路由功能,发现目的ip是192.168.1.0/24 这个网段的,会找到10.147.17.168这个虚拟IP对应的客户端,然后通过socket把数据包发到这个客户端。如果只是单纯使用可以不需要去理解,有个大概概念就行了。

接下来做一个简单的测试

总体延迟:

企业分支到企业总部大概在10ms,丢包为0

海外阿里云到企业总部大概在196ms,丢包为0

以上是zerotier的免费节点,付费节点可能会进行线路调优

比扬云SD-WAN

比扬云SD-WAN是我们自身的产品,这个就不过多介绍了,在使用比扬云SD-WAN的时候可能会带有一些个人习惯在里面,如果有疑问的也可以留言我进行解答。

第一步: 跟zerotier一样,先创建虚拟网络,这个步骤很简单,只有一个名称,我们现在还需要填信息,后续可能考虑跟zerotier一样,直接点按钮创建,生成一个随机的名称。

第二步: 创建站点,包括分支,总部,公有云三个站点,这一步跟安装zerotier的客户端类似,但是比扬云创建站点的同时,默认已经把路由给配置好了

第三步: 激活站点,通过每个站点前面的>展开就能看到激活站点的命令,也是一行命令的事

当看到所有站点在线之后就可以进行测试了。

同等条件下总体延迟:

企业分支到企业总部大概在13ms,丢包为0

海外阿里云到企业总部大概在180ms,丢包为0

以上是比扬云的免费节点,同样没有进行任何调优,付费节点会根据具体情况进行调优

数据对比

ZeroTier 比扬云SD-WAN
免费
配置复杂度 简单 简单
性能指标 海外到国内:196ms,分支到总部:10ms, 丢包均为0 海外到国内:180ms,分支到总部:13ms,丢包均为0
支持P2P
客户端 有,全平台 有,全平台

总体而言差别不是很大,更多的对比数据还没有考虑。

比扬云分支到总部的延迟增加3ms分析是出在没有打洞造成的,zerotier由于分支有公网IP,分支跟总部直连就行了,不需要再中转,而比扬云由于没有这个处理,可能会增加3ms的延迟,这个在私有化部署的场景是可以进行优化的,这个也是我们后续需要改进的点。

如果看文本文觉得比扬云的SD-WAN也能解决你的问题,可以联系我们的人工客服进行沟通。

ICKelin
ICKelin
文章: 5

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注