简介:随着企业数字化转型的加速,越来越多的企业选择了将业务部署在云上,这其中有超过20%的企业有全球组网的需求,这就使得云上网络的规模越来越大,复杂度也越来越高,为了应对这些变化,阿里云推出了升级版的云企业网产品,为给客户提供更加智能,更具弹性也更加灵活的全球化云网络体验。
文章图片
01云企业网CEN2.0产品功能
文章图片
CEN 是主打企业私有专用网络组网型产品。它提供的是基于意图的全球云网络,实现全球多个地域比如北京和杭州之间、数据中心之间的互联,同时能够打通云上的各种服务,比如 OSS、 RDS 等。提供丰富多样的私网连接,是 CEN 提供的基础能力。
相对于 CEN 1.0,2.0 版本在丰富连接能力上做了持续拓展,支持了 VPC 加载多 CEN ,同时即将推出云上和跨域的组播,支持就近转发等能力;在规模上, CEN 2.0 支持超大规模的组网能力,单地域最大支持 1000 个 VPC Attachment ,全球最大支持 5000 条路由的大规模组网,比原先的组网规模扩大了 100 倍。
【技术干货丨云企业网CEN2.技术揭秘】为了更方便、更快捷的管理网络,我们提供了动态路由传播,简化网络运维,同时也提供路由汇聚、静态路由等来缩减路由规模,对用户的网络提供灵活的工具进行精细化管理。基于多路由表加转发关联的能力,提供 ServiceChain 能力,能够更好的将防火墙等安全业务集成到用户的私网中,提高网络的全球性。此外还有 flowlog、 流量标记、分账等能力,提高网络的可管理水平。
02CEN2.0背后的技术架构
文章图片
上图展示了 CEN2.0 背后的技术架构。CEN2.0 是基于阿里云网络的洛神技术底座的具体业务。
最底层是数据中心网络、广域网络、公网、专线等基础物理资源,左边是业务平面。
第二层是软硬一体化的架构,比如服务器、MOC、 FPGA、 可编程交换芯片等,此层提供了高性能网络转发的网关和虚拟机资源等,负责计算虚拟化和网络虚拟化。
第三层是弹性开放的虚拟化网元平台,代号为 CyberStar,它为业务提供了运行环境,以及容灾切换、弹性调度等能力。
最上层是各种各样的网元,在此层面网元可以专注地实现自己的业务逻辑,无须过多关注底层细节。除了 TR 之外,上面还存在很多其他丰富多样的网元,比如NAT网关、ALB等。
右侧是控制平面,首先是 CEN SDN 控制平面,它是 CEN 2.0 网络意图的大脑。最初的CEN 就坚持使用全 SDN 的思想来构造 CEN 的大脑,提供许多灵活的特性。网络大数据智能分析平台“齐天”,负责分析网络并提供网络运行的状态度量和洞察能力。
03CEN2.0的智能控制器
文章图片
CEN SDN 控制器是大脑,它能够将用户意图和配置翻译为资源和连通性的配置,提供私网连接的能力。同时它还能接受各种事件,产生各种调度,优化底层的服务质量。它具有以下三个显著优点:
第一,CEN 的控制器坚持使用 SDN 的理念和方法自研,将所有路由都通过 RPC 的方法接入到控制器中,包括 VPC 、专线、VPN 、CCN 等,而不是反过来的将路由注入到传统的路由协议栈里来实现。
此方法拥有很强的能力以及很大的自由性和灵活性。既可以给用户更灵活的控制能力,比如提供routemap的能力,让用户编辑和修改路由,匹配路由的属性,实现各种路由的控制,同时又能更好地与云产品结合,提供更好的用户体验,比如可以跟 SLB、DTS 等服务进行很好的集成。
第二,控制器实现了智能感知的能力,它会关注业务的位置和业务的需求,在智能和业务之间 match ,提供就近转发、智能服务、质量保证等服务,也提供了容灾收敛、弹性扩缩容等能力。
第三,为了提供超多平面、超大规模的网络, CEN 的控制器采用内存计算的方法。之前版本的控制器之间有很多中间状态需要持久化,导致很大的 IO 开销。而在 CEN 2.0 中,控制器看到的数据被分为两种,一种是拓扑数据,另外一种是状态数据。拓扑数据相对比较静态、比较少,而状态数据是实时变化的,量也很大。
CEN2.0 版本的控制器将大部分状态数据放到内存中,使用多级存储和分布式同步的方法,既保证了可靠又提供了效率。因此相对于之前的版本性能有了很好的提升。
04CEN2.0的转发网元
文章图片
CEN 2.0 的转发网元,从用户视角看到的是 TR(Transit Router) 网元,它运行在 cyberstar 平台上。Cyberstar 是洛神 3.0 中研发的NFV平台,它会按需孵化 ECS 集群来运行业务。
最下面是用户跑业务的 VPC ,每个 VPC 里使用 ENI-bonding 技术,将流量引到运行 TR 的 ECS 集群上。使用 ENI-bonding 使得 TR 与用户的连接(即VPC Attachment)具有云原生的特性,保留了 VPC 和 ENI 的特性,比如它能够结合直网路由 2.0 做 segmentation 或 ServiceChain 的能力。
往上是 ECS 资源池。从图上可以看到,每一个 ENI-bonding 都插入到多个 ECS 中,每个VPC的流量会引入到多台 ECS 上去处理,使得处理能力能够水平扩展。如果用户的流量有突发,即可弹性扩容 ECS,可以根据实际业务的需求按需使用 ECS。
而不同的可用区之间亦是接入到不同的集群,流量可以先引到本可用区的 ECS 集群上处理。这样操作,一是可以做本地化优先处理,时延更短,二是可以进行可用区之间的容灾隔离,同时还可以达到多可用区之间的水平扩展能力。
当 ECS 集群发生故障时,有几种机制可以用于处理容灾。一种是通过ENI-bonding 的弹性机制进行自动容灾隔离。当集群中少量 ECS 故障时,可以先隔离有问题的机器尽快创建新的机器,弹性加入集群中以提供与原先一致的服务质量;当集群有大量 ECS 故障时,依靠单集群的容灾已经很难恢复。此时可以将 Attachment 流量都切到用户选择的其他可用区内,尽量保证用户业务不受影响。
因此,尽管在新版本中允许租户在在创建 VPC Attachment 时只选用一个可用区,但我们依然推荐用户选择多个可用区以进行容灾保护。
其他容灾机制比如沙箱遇到突发流量影响到其他用户时,可以将用户的业务直接迁移到沙箱集群上以消除对其他用户的影响。
05CEN2.0的云原生连接
文章图片
VPC Attachment 使用云原生的连接来引流的技术是 ENI-bonding。在没有此项技术以前,使用普通的 ENI 技术存下以下缺陷:
首先,没有水平拓展能力的提示,没有容灾能力或容灾能力很慢。
其次,由于底层设备虚拟化的能力,单个 ECS 能够创建 ENI 的数量很小,一般只有 16 到 32 个。
另外,OS 在处理设备增加的时,并不会将其当成 Time-Critical 的任务来处理,因此增加、删除 ENI 设备需要很多步骤,比如需要经过 PCI 总线的定时扫描、操作系统响应,根据设备的 ID 识别设备类型,查询并响应加载相应的驱动程序,初始化设备分配内存等一系列处理后,才能交付给网元的业务处理,通常需要花费分钟级别的时间,而这样的速度无法满足NFV网元快速弹性缩容的需求。
Cyberstar 平台底层依赖于自研的 ENI-bonding 技术解决前文提到这些问题。它能够将 ENI 同时插到多台 ECS 上,在 ECS 中以子接口的形式加入到单个虚拟网卡中,能够很好地解决前面提到的几个问题。它是一个高密度的解决方案,能够将单台 ECS 支持的 ENI 数量提高到千级别, 响应速度可以达到秒级甚至亚秒级。出现故障时,它能够进行实时健康检查,在转换面进行实时收敛,不管是在集群内还是集群间都能实现秒级的切换。同时它还支持Shuffle sharding,可以大幅降低故障的半径。
在传统的网络中,有很多流量编排的解决方案,为了部署防火墙、广域网加速等网络服务, 网络工程师可以通过路由、策略路由、MAC或ARP代理等多种方式,将这些依赖或边缘的服务放到网络中,一般是在边缘的出口集中部署和管理这些服务。
在云网络中,由于流量受 SDN 控制,不像传统网络有那么多种解决方案。过去在云上部署这些服务比较困难,没有特别好的引流手段,而且这些手段对于原来的组网方法要么不兼容,要么需要侵入到组网中甚至破坏原来的组网设计。
06CEN2.0 Service Chain
文章图片
上图展示了用户业务部署的场景。用户的组网可以分为几个部分:
第一部分是互联网接入,在此放置公网暴露的服务,比如 NAT、SLB、EIP等。如上图里面画了两个 AZ,表示能够提供多 AZ 的容灾能力,表示能够提供多 AZ的容灾能力。右下角是云上部署的应用,客户可以按照不同的应用或者组织维度划分不同的 VPC ,然后将它的应用部署在其中。左下角是接口区,可以用 VPN 网关、专线、SAG等产品接入到云上。所有互访流量都需要经过一些安全防护以获得安全服务,里面既包含了私网之间的东西向流量,也包含了从私网到公网的南北向流量。
在 CEN 2.0 产品中,通过 CEN TR 的多路由表和关联转发,再搭配 VPC 的子网路由,即可在 CEN 2.0 的组网上很好地提供流量编排的能力,把想要的网络服务都放到网络中。
上图中最核心的就是 TR 的两张路由表,一张是绿色的名为“可信路由表”,通过它可以将流量引到各个业务中;另外一张叫“不可信度表”,所有业务流量之间的转化都会首先关联到不可信路由表,将流量转发到防火墙上,经过流防火墙清洗的干净流量会再次注入到 TR ,然后转到各个业务网元中去。
我们的方案是一个开放的方案,可以支持三方的网元并开放给各位厂商使用,支持透明或代理模式。在国内产品中,我们是首个提供此类解决方案的云厂商。
07总结和展望
文章图片
CEN 2.0 是长在洛神 3.0 技术架构上的产品。未来,我们仍然会秉承洛神3.0 内核的理念,支撑洛神 3.0 产品自身的发展。
洛神3.0是一个智能的网络,我们将持续打造智能网络,为大规模、高性能、复杂的网络提供智能的管理、分析和决策,助力业务成长;它也是一个面向应用和生态的网络,我们将持续使用云原生的技术思考并完善产品,为云化时代的组织和业务提供最佳的网络和应用互联架构;最后,它还是云边一体、万物互联的网络,我们将持续发展全球一张网,延伸网络边界。
作者介绍
文章图片
作者:温曙光
阿里云智能云网络产品线高级技术专家,现在负责云企业网转发路由器产品的设计和开发,长期从事虚拟网络/软件定义网络/高性能网络等相关工作,对操作系统、分布式系统、云时代的应用有广泛的兴趣和研究。
原文链接
本文为阿里云原创内容,未经允许不得转载。
推荐阅读
- Java网络编程之实现资源下载详解王道Java
- 网络|内网渗透基础总结
- IE 11浏览器在尝试访问App Cached离线页面时显示“您未连接到网络”页面
- 10个系统管理员和安全分析师的网络数据包分析仪
- 10个有用的Linux网络命令
- 学一点|原始套接字实现UDP程序