-
教程简介
-
纯 SD-WAN 组网
-
教程简介
-
利用 SD-WAN 和专线混合组网,加速境内外企业 IDC 和多云数据中心
国内目前有很多企业涉及境外业务,比如跨境电商、游戏、社交、区块链等,会用到 AWS 的海外区域,同时这些企业在国内有自己的机房、 IDC 或者使用了国内的其他云厂家的机房,如果希望彼此进行互联互通或者数据传输。除了使用专线的方式之外,还能选择 SD-WAN 方案,或者专线加 SD-WAN 的混合组网方法。
图例 1. SD-WAN 方案打通不同云厂商和机房,办公室的示例SD-WAN 组网的几个常见例子:
- 如果公司在国内,但是用到了 AWS 海外区域的资源,开发人员需要进行日常代码上传,云端资源的管理(使用 AWS 控制台),并且希望网络稳定。
- 国内有自建机房,分支机构,海外有分支机构和 AWS 区域,希望所有地方都建立互联互通
- AWS 国内和 AWS 海外区域有数据传输的需要,或者国内海外有不同云厂家的资源,希望互联互通
另外一般来说 SD-WAN 合作伙伴在全球不同的 IDC,主流云厂商所在的 POP 点都有自己的设备和资源,因此也可以通过专线方式接入到你的 AWS 区域,IDC 机房,各大云厂商的 VPC 内。
SD-WAN 是什么?
在文章正式开始之前,先花一点点时间介绍一下什么是 SD-WAN 吧。SD-WAN 的全称是 Software Defined Wide Area Network,指用软件来控制、管理本地网络和远程分支机构或云之间的连接,通常由控制平面和数据平面组成,有专门的控制器作为控制层面,物理的路由器/交换机作为数据转发平面。一般来说,SD-WAN 可以充分利用企业内不同的线路类型(MPLS,普通 Internet,专线,4G/5G),根据线路状态(丢包,负载等)动态选择路径,进行线路的负载均衡,智能路由,从而可以在使用低廉线路的情况下,得到有 SLA 保障的线路质量。
为什么使用 SD-WAN
- 统一的管理平台,通过 Controller 可以对所有 SD-WAN 设备进行管理和配置,而不需要像传统的方式每一台单独进行管理
- 提高用户体验,如果线路出现故障,控制器能基于应用层的感知切换线路,用户无感知
- 全网 CPE 设备支持零配置(ZTP)自动上线
- 既能得到近似于 MPLS 线路的稳定性,又能享受普通 Internet 线路的廉价带宽
- 节省大量运维成本
- 交付时间快(设备到货 1-2 天就能交付)
我们当然也可以直接通过 Internet 搭建 Site-to-Site VPN 来打通不同的机房和办公室,但是在网络高峰期,或者重大节日的时候会出现不稳定和丢包极其严重的现象。
以下的模拟场景都是基于云网通的设备和 SD-WAN 网络进行测试的,该合作伙伴有丰富的多云互联和专线上云,以及 SD-WAN 的经验。
收费标准
大致上 SD-WAN 混合组网的收费会有 2 部分,一部分是本地网络接入 SD-WAN 的 POP 点的费用,另一部分是 AWS 端口月租费用,两部分的费用具体都取决于带宽的大小。
每一个合作伙伴的收费标准不一样,具体还需要咨询相应的合作伙伴才行,具体可以到官网查看合作伙伴信息(https://aws.amazon.com/cn/directconnect/partners/)。
双线路冗余和高可用
考虑到单线路/设备可能出现的硬件故障,电力问题,Direct Connect 线路故障,我们还需要对这个架构进行高可用的优化。本地端可以利用双设备,双线路(一般为提供 DIA 的不同 ISP,比如一条是电信线路,一条是联通线路),通过 Internet 直接连接到 SD-WAN 的 POP 点。AWS 端可以用 Direct Connect 线路作为主线路,SD-WAN 作为备用线路,或者用两台 SD-WAN 的 vCPE 作为冗余。
图例 5. SD-WAN 和专线的高可用设计总结
通过 SD-WAN 网络设计,或者专线加 SD-WAN 混合组网设计,给我们在组网的选择上带来了很多灵活性,我们可以根据不同的成本、性能上的考量来作出不同的选择。一般来说,如果我们需要大带宽,稳定的网络,可以选择专线;如果我们需要快速部署,测试,灵活性需求比较高的话,可以选择 SD-WAN。而且,在很多地区(比如本次试验中从海外到北京和到深圳),走 SD-WAN 的延迟比走专线的延迟还要更低一些(平均低 40ms 左右),并且丢包率也是很专线差不多,价格反而更加优惠。
另外,目前 SD-WAN 的最后一公里(SD-WAN POP 点到客户端 CPE 设备)还是走的普通 Internet,因此如果本地出口的带宽利用率较高,线路质量不好的情况下,SD-WAN 的效果会受到影响。
另外,SD-WAN 的 POP 点数量和内部网络的优化对整个 SD-WAN 的方案效果有很大的影响,因为这个决定了我们的 CPE 能否以最短的路径,最低的延迟到达 SD-WAN 网络。
-
纯 SD-WAN 组网
-
纯 SD-WAN 组网
在这里模拟一个使用场景,分别是连接企业自己的数据中心/办公室, AWS 北京区域和 AWS 海外区域(这里以新加坡区域和加利福尼亚区域为例,其他区域也可以)。并且通过 SD-WAN 技术做到全网打通,两两彼此能通信。
图例 2. 纯 SD-WAN 组网在这个场景中,EC2 虚拟机通过软路由(合作伙伴提供的 AMI 镜像)的方式,通过 Internet Gateway 做 IPSec VPN 来连接最近的 SD-WAN POP 点。
在机房/IDC 终端设备这一端,我们可以选择用自己的服务器安装 SD-WAN 合作伙伴的预制镜像,或者直接租借 CPE 设备。对于手持设备来说,也会有类似随身 Wifi 的 mCPE 设备可以接入 SD-WAN。
图中可以看到,每一个 vCPE 都是连接到2个 SD-WAN 的 POP 点(一般是不同城市),如果一个 POP 点出现故障,会自动切换到另一个 POP 点。
部署方法
首先先确保自己的 VPC,子网,路由表都已经按公有子网和私有子网的标准进行配置,并且公有子网已经附加了一个 Internet 网关。接着进行下面的操作:
1. 让合作伙伴共享 vCPE 的 AMI 镜像给自己的 AWS 账号
2. 根据 AMI 镜像创建一个 EC2 的实例
3. 编辑实例的安全组,放开 ICMP 协议和 8022 端口
4. 关闭源/目标检查。因为 vCPE 将会作为软路由存在,因此需要关闭源/目标检查,否则所有经过 vCPE 的包都会被丢弃。
5. 合作伙伴进行后台配置,生成一个与自己已用网络都不重合的网段,作为 SD-WAN 的管理网络,此处以 10.254.0.0/16 为例。
6. 配置路由表,私有子网配置到 10.254.0.0/16 的路由,下一跳是 vCPE。
7. 登陆私有子网的测试客户端,可以分别 ping 通北京(2.3ms 延迟)和石家庄(7.5ms 延迟)的 POP 点,并且延迟都在 10ms 以内。
8. 重复步骤 1-7,在新加坡区域区域部署一个 vCPE 和测试客户端,并且能 ping 通位于新加坡和印尼的 POP 点。
9. 重复步骤 1-7,在加利福尼亚区域区域部署一个 vCPE 和测试客户端,并且能 ping 通最近的 2 个 POP 点。
10. 合作伙伴会发送一个 1U 的 CPE 设备到你的办公室 / 数据中心,作为 SD-WAN 的终端接入点。只需要接上电源, WAN 口接外网线路(DIA),LAN 口接内网设备就可以了。并且 CPE 是自带 DHCP 的,所以这个设备可以直接作为办公室的唯一网关。如果公司已有自身的边界路由器,也可以将 CPE 放置在边界路由器以内,只需要保证 CPE 能连通 Internet 就可以注册到 SD-WAN 控制器。设备大小如下图所示,是一个 1U 的小盒子。
11. 合作伙伴会协助在 SD-WAN 控制器上下发全量配置,创建 CPE 以及定义业务网段,路由设置等。
12. 配置完成后可以看到 CPE 的详情和在线状态,带宽等信息。
13 .配置互通路由,在 3 个不同的 AWS 区域,分别更改私网路由表,写入对端的网络,下一跳为 vCPE。如下图所示为北京区域的子网路由配置,其他区域也是类似配置,在这里不做详细展示了。
配置完成后,所有站点就能互联互通了。
性能比较
以 3 小时为测试范围(粒度为5分钟的平均值),测试了从加利福尼亚分别到北京区域,新加坡区域和深圳办公室的延迟和丢包率,并且分别以内网和公网的传输做对比。
延迟
可以从以下两图看出,如果是走 SD-WAN 网的话,延迟效果很稳定;走公网的话,延迟波动性较大。但是从绝对数值来看,其实走公网的平均延迟其实还更小一些。这里主要原因是 SD-WAN 内部网络还有优化空间,以及 POP 点的覆盖也还有改进空间。测试用的合作伙伴里加利福尼亚最近的 POP 点是洛杉矶,两者相距也有400多公里,离我们经常说的最后一公里还是差距蛮大的。如果使用的 AWS 区域是美西区域,这个延迟可能会更大。
丢包率
从下面两图可以看出,在丢包率方面如果是走 SD-WAN 情况是零丢包(时间戳即使延长到一周的长度也没有看到任何的丢包)。而纯公网的环境下,跨境的部分丢包率特别高,这个观测时间如果拉长到 24 小时,可以看到在夜间(凌晨 3 点到 7 点)会略有好转。
SD-WAN 控制器管理
另外我们可以通过 SD-WAN 控制器的 Portal 来查看所以已上线的 SD-WAN 的网络状态和延迟报告,我们也可以对所有 SD-WAN 网络进行在线的路由配置,主备线路切换,HA 设置和 QoS 设置等。
图例 3. SD-WAN 在线控制界面