关注我的朋友都知道我个人从十年前毕业之初就一直网络行业,先做的SD-WAN,然后做的接入层网关,上一份工作是在字节跳动做的网络加速,现在在做的网络产品,从事的行业一直没变,但是行业已经变了,今天就来聊一聊十年前的SD-WAN和今天的SD-WAN。
十年前的SD-WAN
十年前SD-WAN是一个很新的技术,当时跟别人聊天说我做的是SD-WAN,没听说过,我说你可能听过SDN,依然没听说过,但是我听过CDN,这就是十年前SD-WAN的状况,包括现在的CSDN,在我发布文章的时候试图选一个SD-WAN的文章标签,发现也没有。
当时的SD-WAN的进攻方向是专线,打的旗号是替代专线,所以当时就有了很多技术方向的优化,很典型的比如:
- 传输协议的优化,当时很多公司会做基于UDP的可靠性协议,通过自定义拥塞控制以及增加冗余的方式来提升传输速度
- 一定要选出一条最短线路,基于定时拨测拿到丢包和延迟数据然后使用最短路径进行传输,我记得当时公司还用上了一个图数据库来存储节点以及节点之前的权重
- 使用DPDK和用户层协议栈,这个应该坑了很多公司,也不能说坑,只能说很多业务还不需要使用这么极致的优化
这三个是非常典型的技术特征,而在产品上,主要有两种场景:
- 加速,很多企业都在做SaaS应用加速,既然要做应用的加速,那就存在识别应用的问题,很多公司都会说自己已经识别了应用,但是识别没识别,识别准确度怎么样,你也不好说
- 组网,这是SD-WAN的最主要的场景,做企业异地组网的,数据中心互联的这类企业非常多
当然目前SD-WAN主要场景也是这两者,这两个场景是很高度抽象的场景,细分可以分为很多。
这是十年前的SD-WAN,很多东西都是非常理想的。前几年跟我前老板喝茶聊天,问他现在怎么搞了,结果的回答是,上面涉及到的技术,统统都作废,直接就用的专线,DPDK还在探索,可能是有这么大的转发量。
现在的SD-WAN
现在的SD-WAN可真是个大染缸,现在很多做SD-WAN的可能一个开发人员都没有,因为他不需要开发也能实现七七八八的效果。打个比方,以组网为例子,要实现企业异地的组网,如果只是国内的组网,专线和选路这些其实并不需要都可以的,如果涉及跨境的组网,这个已经用专线来做好传输优化了,不需要选路加传输协议优化(这里并非我的观点,我只是在描述现状),那么组网软件怎么办?很简单,现在开源的一大堆,比如wireguard就可以用来组网呀。wireguard跑在专线上就可以做跨境SD-WAN组网了呀。
整个SD-WAN的门槛非常的低,一个网络工程师出来注册个公司,然后搞个看起来专业一点的官网就可以说自己是做SD-WAN的了。
当然也有一些还在专注做真正的SD-WAN的公司,很多公司其实也有代理这类公司的产品,但是整个行业是略显浮躁的。
我来说说现在大部分这类SD-WAN公司可能存在的一些问题:
- 由于缺乏研发能力,所以只能做标准产品,不能做定制化,打个比方,你如果是拿wireguard去实现的,那你所有的规则都是在wireguard之下,如果客户需要你实现一个故障自动切换的能力,用wireguard原生是不支持的,你需要做额外的开发
- 开源软件本身的不确定性,比如wireguard,这是一个可以用来fq的软件,很有可能哪一天就被gfw或者运营商给封了,这时候就会哀鸿遍野,再比如wireguard是用udp协议的,udp本身很有可能被运营商qos,这个问题需要解决,但是wireguard很明显不会去解决这个问题
- 管理平台对接的难度很大,正常的SD-WAN至少有一个管理平台让用户去操作配置,然后下发生效吧,这个需要对接到wireguard当中,这里适配需要点成本,当然很多公司连管理平台都没有。
虽然有很多问题,但是并不妨碍有的公司也能活的很好。
我们在做的SD-WAN
我们现在的SD-WAN是纯自研的,我们也考虑过用wireguard来实现,但是最后认为适配的成本比自研的成本要高,而且不符合我们的增长模式,我们是基于PLG的增长理念设计产品的,所有产品设计之初第一个想的是,我们能不能让用户免费用?而让用户免费用的前提是我们的成本可控。
基于wireguard来实现很难达到这个目标,举个例子,有A和B两个免费用户,他们需要进行异地组网,用wireguard来实现,启动一个wireguard公网转发节点,A和B两个用户之间的网段可能会有冲突,所以用wireguard就没法解决这个问题,如果要解决我这里也可以提供一个思路,启动两个wireguard实例,通过wg0和wg1两个虚拟网卡进行隔离开来,这样确实是没问题的,但是如果有1w个用户,那你需要启动1w个wgX网卡,这个就是很难支持大量免费用户的操作。
而我们自己实现,我们只需要在协议设计层以及路由层面支持多租户即可。
免费是我们的一个特点,我们还是希望SD-WAN这个东西能让越来越多人用起来,另外一个特点是简单。
我们的软件只需要一行命令就能运行起来一个站点,全程可能都不需要技术人员参与,这个是自研带来的一个效果,可控性很好,我们可以对所有东西都进行100%的控制,我希望做免费,那就可以做免费,我希望用最简单的饿方式运行就用最简单的方式运行,只要我们能想到的就能实现。
SD-WAN未来发展的思考
当然自研也是我们的一个执着点,但是SD-WAN肉眼可见的门槛越来越低了,那么未来会怎么发展,我们有思考过这个问题,很有可能会朝着两个方向去发展才能突出自己的差异性。
- 往安全方向靠拢,安全的门槛一般比较高,单纯靠代理产品和开源项目的公司是玩不过来的
- 往应用,业务方向去做靠拢,打个比方,SD-WAN能实现跨公有云的组网,这个大家都知道,但是深入一点,往多云的负载均衡网关上去做也不失为一个方向。
总的来说,我个人认为现在的SD-WAN要做出差异化,一定要往难的方向去发展而不是固步自封吃历史红利。