技术干货丨云企业网CEN2.技术揭秘
简介:随着企业数字化转型的加速,越来越多的企业选择了将业务部署在云上,这其中有超过20%的企业有全球组网的需求,这就使得云上网络的规模越来越大,复杂度也越来越高,为了应对这些变化,阿里云推出了升级版的云企业网产品,为给客户提供更加智能,更具弹性也更加灵活的全球化云网络体验。
CEN 是主打企业私有专用网络组网型产品。它提供的是基于意图的全球云网络,实现全球多个地域比如北京和杭州之间、数据中心之间的互联,同时能够打通云上的各种服务,比如 OSS、 RDS 等。提供丰富多样的私网连接,是 CEN 提供的基础能力。
相对于 CEN 1.0,2.0 版本在丰富连接能力上做了持续拓展,支持了 VPC 加载多 CEN ,同时即将推出云上和跨域的组播,支持就近转发等能力;在规模上, CEN 2.0 支持超大规模的组网能力,单地域最大支持 1000 个 VPC Attachment ,全球最大支持 5000 条路由的大规模组网,比原先的组网规模扩大了 100 倍。
为了更方便、更快捷的管理网络,我们提供了动态路由传播,简化网络运维,同时也提供路由汇聚、静态路由等来缩减路由规模,对用户的网络提供灵活的工具进行精细化管理。基于多路由表加转发关联的能力,提供 ServiceChain 能力,能够更好的将防火墙等安全业务集成到用户的私网中,提高网络的全球性。此外还有 flowlog、 流量标记、分账等能力,提高网络的可管理水平。
02、CEN2.0背后的技术架构
上图展示了 CEN2.0 背后的技术架构。CEN2.0 是基于阿里云网络的洛神技术底座的具体业务。
最底层是数据中心网络、广域网络、公网、专线等基础物理资源,左边是业务平面。
第二层是软硬一体化的架构,比如服务器、MOC、 FPGA、 可编程交换芯片等,此层提供了高性能网络转发的网关和虚拟机资源等,负责计算虚拟化和网络虚拟化。
第三层是弹性开放的虚拟化网元平台,代号为 CyberStar,它为业务提供了运行环境,以及容灾切换、弹性调度等能力。
最上层是各种各样的网元,在此层面网元可以专注地实现自己的业务逻辑,无须过多关注底层细节。除了 TR 之外,上面还存在很多其他丰富多样的网元,比如NAT网关、ALB等。
右侧是控制平面,首先是 CEN SDN 控制平面,它是 CEN 2.0 网络意图的大脑。最初的CEN 就坚持使用全 SDN 的思想来构造 CEN 的大脑,提供许多灵活的特性。网络大数据智能分析平台“齐天”,负责分析网络并提供网络运行的状态度量和洞察能力。
03、CEN2.0的智能控制器
CEN SDN 控制器是大脑,它能够将用户意图和配置翻译为资源和连通性的配置,提供私网连接的能力。同时它还能接受各种事件,产生各种调度,优化底层的服务质量。它具有以下三个显著优点:
第一,CEN 的控制器坚持使用 SDN 的理念和方法自研,将所有路由都通过 RPC 的方法接入到控制器中,包括 VPC 、专线、VPN 、CCN 等,而不是反过来的将路由注入到传统的路由协议栈里来实现。
此方法拥有很强的能力以及很大的自由性和灵活性。既可以给用户更灵活的控制能力,比如提供routemap的能力,让用户编辑和修改路由,匹配路由的属性,实现各种路由的控制,同时又能更好地与云产品结合,提供更好的用户体验,比如可以跟 SLB、DTS 等服务进行很好的集成。
第二,控制器实现了智能感知的能力,它会关注业务的位置和业务的需求,在智能和业务之间 match ,提供就近转发、智能服务、质量保证等服务,也提供了容灾收敛、弹性扩缩容等能力。
第三,为了提供超多平面、超大规模的网络, CEN 的控制器采用内存计算的方法。之前版本的控制器之间有很多中间状态需要持久化,导致很大的 IO 开销。而在 CEN 2.0 中,控制器看到的数据被分为两种,一种是拓扑数据,另外一种是状态数据。拓扑数据相对比较静态、比较少,而状态数据是实时变化的,量也很大。
CEN2.0 版本的控制器将大部分状态数据放到内存中,使用多级存储和分布式同步的方法,既保证了可靠又提供了效率。因此相对于之前的版本性能有了很好的提升。
04、CEN2.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 时只选用一个可用区,但我们依然推荐用户选择多个可用区以进行容灾保护。
其他容灾机制比如沙箱遇到突发流量影响到其他用户时,可以将用户的业务直接迁移到沙箱集群上以消除对其他用户的影响。
05、CEN2.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 控制,不像传统网络有那么多种解决方案。过去在云上部署这些服务比较困难,没有特别好的引流手段,而且这些手段对于原来的组网方法要么不兼容,要么需要侵入到组网中甚至破坏原来的组网设计。
06、CEN2.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是一个智能的网络,我们将持续打造智能网络,为大规模、高性能、复杂的网络提供智能的管理、分析和决策,助力业务成长;它也是一个面向应用和生态的网络,我们将持续使用云原生的技术思考并完善产品,为云化时代的组织和业务提供最佳的网络和应用互联架构;最后,它还是云边一体、万物互联的网络,我们将持续发展全球一张网,延伸网络边界。
作者介绍
作者:温曙光
阿里云智能云网络产品线高级技术专家,现在负责云企业网转发路由器产品的设计和开发,长期从事虚拟网络/软件定义网络/高性能网络等相关工作,对操作系统、分布式系统、云时代的应用有广泛的兴趣和研究。
本文为阿里云原创内容,未经允许不得转载。
技术干货丨云企业网CEN2.技术揭秘的更多相关文章
- 技术干货丨如何在VIPKID中构建MQ服务
小结: 1. https://mp.weixin.qq.com/s/FQ-DKvQZSP061kqG_qeRjA 文 |李伟 VIPKID数据中间件架构师 交流微信 | datapipeline201 ...
- 技术干货丨卷积神经网络之LeNet-5迁移实践案例
摘要:LeNet-5是Yann LeCun在1998年设计的用于手写数字识别的卷积神经网络,当年美国大多数银行就是用它来识别支票上面的手写数字的,它是早期卷积神经网络中最有代表性的实验系统之一.可以说 ...
- 技术干货丨通过wrap malloc定位C/C++的内存泄漏问题
摘要:用C/C++开发的程序执行效率很高,但却经常受到内存泄漏的困扰.本文提供一种通过wrap malloc查找memory leak的思路. 用C/C++开发的程序执行效率很高,但却经常受到内存泄漏 ...
- 精选腾讯技术干货200+篇,云加社区全年沙龙PPT免费下载!
2019年已经过去,小编为大家整理了这一年以来云加社区发布的 200多篇腾讯干货,点击文章标题即可跳转到原文,请速速收藏哦~ 看腾讯技术: 腾讯成本优化黑科技:整机CPU利用率最高提升至90%: 腾讯 ...
- 50篇经典珍藏 | Docker、Mesos、微服务、云原生技术干货
概念篇 全方位探(tian)索(keng)Mesos各种存储处理方式 老肖有话说@Mesos User Group第四次约会 技术实践 | Mesos 全方位“烹饪”指南 回顾 JAVA 发展轨迹,看 ...
- 技术干货:实时视频直播首屏耗时400ms内的优化实践
本文由“逆流的鱼yuiop”原创分享于“何俊林”公众号,感谢作者的无私分享. 1.引言 直播行业的竞争越来越激烈,进过2018年这波洗牌后,已经度过了蛮荒暴力期,剩下的都是在不断追求体验.最近正好在做 ...
- 为 “超级大脑”构建支撑能力,腾讯云聚焦AI技术落地
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 5月24日,以"无界数据.无限智能"为主题的2018腾讯"云+未来"峰会AI大数据分论坛在广州拉开帷 ...
- 腾讯 Techo 开发者大会首发来袭!云原生中间件技术实践等你来!
腾讯 Techo 开发者大会是由腾讯云发起的面向全球开发者和技术爱好者的年度盛会,2019 年 11 月 6 日 - 7 日将在北京嘉里大酒店首次召开. 作为一个专注于前沿技术研讨的非商业大会,Tec ...
- 技术干货 | 基于MindSpore更好的理解Focal Loss
[本期推荐专题]物联网从业人员必读:华为云专家为你详细解读LiteOS各模块开发及其实现原理. 摘要:Focal Loss的两个性质算是核心,其实就是用一个合适的函数去度量难分类和易分类样本对总的损失 ...
- 分享iOS开发常用(三方类库,工具,高仿APP,实用网站,技术干货)
一 . JSONModel (三方类库会有更新,建议大家在线下载) http://pan.baidu.com/s/1i5ybP1z 二.AFNetworkiong http://pan.baidu. ...
随机推荐
- PBKDF2算法:保障密码安全的利器
PBKDF2算法起源: PBKDF2(Password-Based Key Derivation Function 2)算法是一种基于密码的密钥派生函数,最初由RSA实验室的密码学家提出,用于从密码中 ...
- day03-模块化编程
模块化编程 1.基本介绍 传统的非模块化开发有如下的缺点:(1)命名冲突(2)文件依赖 JavaScript代码越来越庞大,JavaScript引入模块化编程,开发者只需要实现核心的业务逻辑,其他都可 ...
- 全面解析Android之ANR日志
不论从事安卓应用开发,还是安卓系统研发,应该都遇到应用无响应(简称ANR)问题,当应用程序一段时间无法及时响应,则会弹出ANR对话框,让用户选择继续等待,还是强制关闭.本文将带你全面解析Android ...
- 常用加密及其相关的概念、简介(对称、AES、非对称、RSA、散列、HASH、消息认证码、HMAC、签名、CA、数字证书、base64、填充)
PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 环境说明 无 前言 在之前,一直是通过生活.工作零零碎碎 ...
- Spring Boot学习日记17
尝试整合JDBC spring: datasource: username: root password: 123456 url: jdbc:mysql://localhost:3306/mybati ...
- 记录--Echarts绘制气泡图
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 Echarts绘制气泡图 气泡图是一种用于可视化三维数据的图表类型,其中两个变量用于确定数据点在平面上的位置,另一个变量用于确定气泡的大小 ...
- 记录--新的HTML标签 :<search>
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 本文介绍了一种新的HTML元素搜索方法,并提供了一个实用的工具来帮助开发者快速找到所需的元素.这对于那些需要处理大量HTML元素的开发者来 ...
- linux上pip install mysqlclient报错
linux上pip install mysqlclient报错 django连接mysql数据库时 乱糟糟的 一大片红色报错,查了半天资料,失败了无数次,最终终于成功 先用以下代码: sudo apt ...
- 解决maven编译错误:程序包com.sun.xml.internal.ws.spi不存在
转自https://blog.csdn.net/mn960mn/article/details/51253038 解决方法如下: 添加maven-compiler-plugin插件,并且配置compi ...
- 模拟spring工作原理
1.配置文件 Service=service.Impl.ServiceImpl saveDao=dao.daoImpl.saveDaoImpl 2.模拟业务层 --接口 Service package ...