开发者社区> 小攻云攻略> 正文

技术干货丨云企业网CEN2.技术揭秘

简介: 随着企业数字化转型的加速,越来越多的企业选择了将业务部署在云上,这其中有超过20%的企业有全球组网的需求,这就使得云上网络的规模越来越大,复杂度也越来越高,为了应对这些变化,阿里云推出了升级版的云企业网产品,为给客户提供更加智能,更具弹性也更加灵活的全球化云网络体验。
+关注继续查看

11.png

01
云企业网CEN2.0产品功能
2 下午3.04.31.png

CEN 是主打企业私有专用网络组网型产品。它提供的是基于意图的全球云网络,实现全球多个地域比如北京和杭州之间、数据中心之间的互联,同时能够打通云上的各种服务,比如 OSS、 RDS 等。提供丰富多样的私网连接,是 CEN 提供的基础能力。

相对于 CEN 1.0,2.0 版本在丰富连接能力上做了持续拓展,支持了 VPC 加载多 CEN ,同时即将推出云上和跨域的组播,支持就近转发等能力;在规模上, CEN 2.0 支持超大规模的组网能力,单地域最大支持 1000 个 VPC Attachment ,全球最大支持 5000 条路由的大规模组网,比原先的组网规模扩大了 100 倍。

为了更方便、更快捷的管理网络,我们提供了动态路由传播,简化网络运维,同时也提供路由汇聚、静态路由等来缩减路由规模,对用户的网络提供灵活的工具进行精细化管理。基于多路由表加转发关联的能力,提供 ServiceChain 能力,能够更好的将防火墙等安全业务集成到用户的私网中,提高网络的全球性。此外还有 flowlog、 流量标记、分账等能力,提高网络的可管理水平。

02
CEN2.0背后的技术架构
3.png

上图展示了 CEN2.0 背后的技术架构。CEN2.0 是基于阿里云网络的洛神技术底座的具体业务。

最底层是数据中心网络、广域网络、公网、专线等基础物理资源,左边是业务平面。

第二层是软硬一体化的架构,比如服务器、MOC、 FPGA、 可编程交换芯片等,此层提供了高性能网络转发的网关和虚拟机资源等,负责计算虚拟化和网络虚拟化。

第三层是弹性开放的虚拟化网元平台,代号为 CyberStar,它为业务提供了运行环境,以及容灾切换、弹性调度等能力。

最上层是各种各样的网元,在此层面网元可以专注地实现自己的业务逻辑,无须过多关注底层细节。除了 TR 之外,上面还存在很多其他丰富多样的网元,比如NAT网关、ALB等。

右侧是控制平面,首先是 CEN SDN 控制平面,它是 CEN 2.0 网络意图的大脑。最初的CEN 就坚持使用全 SDN 的思想来构造 CEN 的大脑,提供许多灵活的特性。网络大数据智能分析平台“齐天”,负责分析网络并提供网络运行的状态度量和洞察能力。

03
CEN2.0的智能控制器
4.png

CEN SDN 控制器是大脑,它能够将用户意图和配置翻译为资源和连通性的配置,提供私网连接的能力。同时它还能接受各种事件,产生各种调度,优化底层的服务质量。它具有以下三个显著优点:

第一,CEN 的控制器坚持使用 SDN 的理念和方法自研,将所有路由都通过 RPC 的方法接入到控制器中,包括 VPC 、专线、VPN 、CCN 等,而不是反过来的将路由注入到传统的路由协议栈里来实现。

此方法拥有很强的能力以及很大的自由性和灵活性。既可以给用户更灵活的控制能力,比如提供routemap的能力,让用户编辑和修改路由,匹配路由的属性,实现各种路由的控制,同时又能更好地与云产品结合,提供更好的用户体验,比如可以跟 SLB、DTS 等服务进行很好的集成。

第二,控制器实现了智能感知的能力,它会关注业务的位置和业务的需求,在智能和业务之间 match ,提供就近转发、智能服务、质量保证等服务,也提供了容灾收敛、弹性扩缩容等能力。

第三,为了提供超多平面、超大规模的网络, CEN 的控制器采用内存计算的方法。之前版本的控制器之间有很多中间状态需要持久化,导致很大的 IO 开销。而在 CEN 2.0 中,控制器看到的数据被分为两种,一种是拓扑数据,另外一种是状态数据。拓扑数据相对比较静态、比较少,而状态数据是实时变化的,量也很大。

CEN2.0 版本的控制器将大部分状态数据放到内存中,使用多级存储和分布式同步的方法,既保证了可靠又提供了效率。因此相对于之前的版本性能有了很好的提升。

04
CEN2.0的转发网元
5.png

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的云原生连接
6.png

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
7.png

上图展示了用户业务部署的场景。用户的组网可以分为几个部分:

第一部分是互联网接入,在此放置公网暴露的服务,比如 NAT、SLB、EIP等。如上图里面画了两个 AZ,表示能够提供多 AZ 的容灾能力,表示能够提供多 AZ的容灾能力。右下角是云上部署的应用,客户可以按照不同的应用或者组织维度划分不同的 VPC ,然后将它的应用部署在其中。左下角是接口区,可以用 VPN 网关、专线、SAG等产品接入到云上。所有互访流量都需要经过一些安全防护以获得安全服务,里面既包含了私网之间的东西向流量,也包含了从私网到公网的南北向流量。

在 CEN 2.0 产品中,通过 CEN TR 的多路由表和关联转发,再搭配 VPC 的子网路由,即可在 CEN 2.0 的组网上很好地提供流量编排的能力,把想要的网络服务都放到网络中。

上图中最核心的就是 TR 的两张路由表,一张是绿色的名为“可信路由表”,通过它可以将流量引到各个业务中;另外一张叫“不可信度表”,所有业务流量之间的转化都会首先关联到不可信路由表,将流量转发到防火墙上,经过流防火墙清洗的干净流量会再次注入到 TR ,然后转到各个业务网元中去。

我们的方案是一个开放的方案,可以支持三方的网元并开放给各位厂商使用,支持透明或代理模式。在国内产品中,我们是首个提供此类解决方案的云厂商。

06
总结和展望
8.png

CEN 2.0 是长在洛神 3.0 技术架构上的产品。未来,我们仍然会秉承洛神3.0 内核的理念,支撑洛神 3.0 产品自身的发展。

洛神3.0是一个智能的网络,我们将持续打造智能网络,为大规模、高性能、复杂的网络提供智能的管理、分析和决策,助力业务成长;它也是一个面向应用和生态的网络,我们将持续使用云原生的技术思考并完善产品,为云化时代的组织和业务提供最佳的网络和应用互联架构;最后,它还是云边一体、万物互联的网络,我们将持续发展全球一张网,延伸网络边界。

作者介绍
9.png

作者:温曙光
阿里云智能云网络产品线高级技术专家,现在负责云企业网转发路由器产品的设计和开发,长期从事虚拟网络/软件定义网络/高性能网络等相关工作,对操作系统、分布式系统、云时代的应用有广泛的兴趣和研究。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
如何设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云安全组设置详细图文教程(收藏起来) 阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程。阿里云会要求客户设置安全组,如果不设置,阿里云会指定默认的安全组。那么,这个安全组是什么呢?顾名思义,就是为了服务器安全设置的。安全组其实就是一个虚拟的防火墙,可以让用户从端口、IP的维度来筛选对应服务器的访问者,从而形成一个云上的安全域。
18573 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
27697 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,大概有三种登录方式:
12962 0
阿里云服务器安全组设置内网互通的方法
虽然0.0.0.0/0使用非常方便,但是发现很多同学使用它来做内网互通,这是有安全风险的,实例有可能会在经典网络被内网IP访问到。下面介绍一下四种安全的内网互联设置方法。 购买前请先:领取阿里云幸运券,有很多优惠,可到下文中领取。
21932 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
19976 0
阿里云服务器ECS登录用户名是什么?系统不同默认账号也不同
阿里云服务器Windows系统默认用户名administrator,Linux镜像服务器用户名root
15284 0
452
文章
125
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载