前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >腾讯网络资深专家推荐开年好文:腾讯云VPC网络架构演进的经验教训

腾讯网络资深专家推荐开年好文:腾讯云VPC网络架构演进的经验教训

作者头像
鹅厂网事
发布2018-02-05 17:02:49
2.5K0
发布2018-02-05 17:02:49
举报
文章被收录于专栏:鹅厂网事鹅厂网事鹅厂网事

"鹅厂网事"由深圳市腾讯计算机系统有限公司技术工程事业群网络平台部运营,我们希望与业界各位志同道合的伙伴交流切磋最新的网络、服务器行业动态信息,同时分享腾讯在网络与服务器领域,规划、运营、研发、服务等层面的实战干货,期待与您的共同成长。

邵华(腾讯网络资深专家)推荐语:

老沙是腾讯云基础产品的负责人,在下文中,老沙给我们详尽的阐述了腾讯云网络从三层、二层、Overlay到VPC,一步一 步的产品进化历程,干货满满,值得我们仔细的品味!

沙开波 基础产品技术总监

2009年加入腾讯, 先后从事公司高性能服务器框架、Web服务器、负载均衡等公共组件, 以及IaaS云计算平台的研发与管理工作, 在高性能分布式服务、计算&网络虚拟化、网络安全隔离等领域有丰富的经验。

腾讯云基础产品技术总监沙开波近日出席2015架构师峰会,分享腾讯云网络架构演变中吸取到的一些经验教训、腾讯云网络的弹性实现、以及VPC自定义网络的能力和典型应用场景。

以下是现场精彩观点实录:

公有云用户对网络的核心诉求

首先介绍的是, 公有云用户对网络的核心诉求。因为我们每一次网络架构的优化、演进都是以用户需求来驱动的,所以在谈架构演进之前,我们有必要谈一下公有云用户的网络需求。在这里总结了三个关键词:弹性、自由、安全。

为什么说弹性?我们发现公有云的用户对单点的可靠性要求是非常高的,很多用户的应用非常依赖对单台主机的可用性。我们需要有一些技术手段来提高主机的可用性, 这里主要指的是主机的热迁移和冷迁移的能力。

迁移和网络有什么关系?主机迁移需要对用户透明,必须确保迁移之后用户主机的内外网IP地址保持不变,甚至在热迁移场景下网络不中断, 这就是弹性网络要去解决的问题。

自由主要指的是用户能够完全掌控自己的网络环境, 比如自定义网段、自主划分子网和配置路由的能力, 公有云面向的客户类型很多,他们对网络的需求也是各种各样的。有些用户,特别是混合云架构的用户,他们非常需要自由规划网络的能力。

安全,对每个用户都是非常重要的。这不仅要解决不同用户之间的隔离,还要提供更多的安全管控手段给到用户去管控自己的网络。

腾讯云网络架构的演进过程

腾讯云网络架构演进1-三层网络

腾讯云最早期的网络架构是一个比较简单的三层网络架构。这个网络架构最大的特点是简单,所有的IP地址都是事先规划好的,并且静态绑定到交换机上面。

这个架构最大的问题是内网IP只能在一个交换机下可用,如果将主机迁移到另外一个交换机下,主机原有IP就不能用了;还有IP地址需要事先规划,这会引入另外一个问题, 地址规划的多,用不完就会造成IP地址浪费,如果规划的少, 主机的虚拟比就会受限于IP地址数目。所以,三层网络不太适合在公有云机房里采用。

腾讯云网络架构演进2-二层网络

为了解决IP地址跨交换机迁移的问题,后来腾讯云采用了大二层网络。 这个网络架构下交换机主要依赖<MAC地址,端口>的映射关系来转发包, 当这个映射关系缺失的时候,交换机会对包进行广播处理。可能会有一些软件的BUG或者是用户伪造MAC地址行为,造成交换机所维护的映射关系错乱,从而造成大量广播, 引发网络泛洪,严重的话, 可能会导致整个网络中断。这在腾讯云的历史上有过惨痛的教训。因为交换机的MAC表项规模有上限,对主机虚拟化来说,同样会约束虚拟比。

腾讯云网络架构演进3-Overlay网络

出于对大二层网络稳定性的疑虑,我们的物理网络最终还是放弃采用大二层网络, 退回到三层网络架构, 然后通过自己设计Overlay的方式来实现虚拟网络的弹性。

Overlay的核心是分布在所有宿主机上面的虚拟交换机,它是通过一个内核模块的方式来实现的。宿主机上面运行的所有虚拟机都位于虚拟交换机下的虚拟网络里面, 虚拟机之间的通信必须要通过各自宿主机上面的虚拟交换机来完成,我们可以看下位于不同宿主机下的两台虚拟主机之间的通信过程。

首先,源主机发出来的包,会在源虚拟交换机上进行目的宿主机寻址,即找到目的主机所在的目的宿主机;在源虚拟交换机上会进行Overlay封装,然后通过物理网络将Overlay之后的包转给目的宿主机,目的宿主机上的虚拟交换机进行Overlay解封,通过MAC寻址最终把包转给目的主机。

要实现这样的通信方式,这里有两个核心配置:

虚拟主机IP和宿主机IP的映射表。

虚拟主机IP和虚拟主机MAC的映射表。对于虚拟主机的迁移来说,迁移前后只有宿主机地址更改了, 在Overlay网络下我们只需要更新宿主机的地址。

更新之后, 所有虚拟交换机会自动学习到新地址,确保迁移之后能够正确地把包转发到对应的虚拟主机上。对于Overlay网络的控制器来说, 核心是维护虚拟交换机所需要的配置项,我们通过一个分布式集群来集中管理这些配置项, 这个集群性能支持平行扩展,所有虚拟交换机通过分布式拉取方式主动获取所需配置, 并且实现ms级的配置下发能力。

腾讯云网络架构演进4-VPC网络

腾讯云刚开始设计的Overlay网络主要解决的是IP地址跨交换机迁移的问题, 然后基于Overlay网络再演进为VPC网络, 这个演进核心是引入了两个能力:

名字空间, 用来隔离不同的VPC网络,每个VPC网络都有一个唯一标识ID, 这个ID可以认为是名字空间, 每个ID都有自己独立的地址空间, 从而做到不同VPC之间的地址是可以重叠的,在自己的地址空间范围里, 用户还可以随意划分子网,在我们的VPC网络里面,子网只是一个逻辑的抽象;子网路由功能,这个功能核心是虚拟交换机对Overlay包的下一跳地址进行寻址,有两种类型的路由:

1)、Local路由,负责VPC内部两台主机之间点对点通信的路由,系统默认不能修改的路由配置;

2)、自定义路由,将特定流量路由到指定网关设备上使用。

比如:主机的外网IP都是部署在一个外网IP漂移的网关集群上, 可以通过这种路由配置, 将外网流量指向外网IP漂移集群, 实现主机外网流量的路由。

还有一种情况: 有可能是用户想要将VPC网络跟自己的数据中心里面的网络打通,可以通过自定义路由的方式将去往数据中心的流量指向V**网关或者专线网关。

现在腾讯云的VPC网络已经跑了很多客户的业务, 像小红书、大众点评、富途证券,已经慢慢地将他们的业务迁移到VPC网络上, 当然现在主要的部署形态还是混合云。

VPC提供多种网络连接方式,自由扩展网络

为了满足VPC在混合云场景下的网络互联需求, 腾讯云提供了IPSec V**和专线两种方式的网络连接能力。

其中,IPSec V**是通过公网加密传输,稳定性会受公网影响, V**管理是用户在控制台里自助完成。

而我们的专线服务,比较有特色,它主要是依赖腾讯积累多年的遍布于全国主要城市的一张骨干网络, 在骨干网上有很多专线接入点, 用户如果想将自己的网络通过专线与腾讯云VPC互联,只需要从自己的数据中心拉一条专线出来到最近专线的接入点,就可以完成与腾讯云上所有VPC的互通,并且一次拉通就可以实现与多地域VPC同时互通的能力。

这种方式带来的好处是显而易见的,不仅专线施工周期比一般的会短, 而且用户成本也更低, 非常有吸引力。

VPC网络的安全: 安全组&ACL

对于VPC网络的安全, 除了不同租户、不同VPC之间的绝对隔离以外, 用户希望有更多的安全管控手段来保护网络的安全。VPC提供了两种不同纬度上的安全管控能力, 安全组和ACL,他们的管理粒度不同。

安全组是在主机纬度上对主机的出入流量进行访问控制, 它是一个有状态的控制策略, 而ACL是在子网纬度上的访问控制手段, 它是无状态的。

所以, 两台子机互访, 源子机发出去的包会受到他关联的安全组的出方向策略管控, 而目的主机在收到包之前会受到它关联的安全组的入方向策略管控, 如果是不同子网间的两台子机访问, 各自还会受他们所在的子网的ACL策略管控。

简单看,安全组其实可以理解为主机上面用户自己去配一些防火墙策略,规则,但是这里面我们直接给到用户的是一个完全自助化管理的能力,而ACL可以看成交换机或者是路由器上的一些ACL规则。

VPC网络的典型应用场景

基于VPC网络的能力,用户可以根据实际需求, 构建出一个最适合自己业务场景的网络, 这是一个典型的业务部署模型, 业务所有模块都部署在VPC里面,并且通过VPC互联能力把多个网络组成一个大网,实现一个可以异地容灾的系统架构。

而混合云架构,是目前用户采用比较多的部署方式, 用户通过V**或者专线将自己的数据中心和VPC网络进行互联。

什么样的业务场景会采用这样的部署方式:

用户希望把业务迁移到公有云上, 如果要让整个迁移过程尽量平滑,那么混合云就是一个很好的过渡阶段。

用户业务遇到突发式增长情况, 而现有数据中心又满足不了业务爆发式增长所需的资源,那么可以采用混合云架构,能够快速将业务部署到公有云,通过公有云快速的资源交付和弹性能力来应对业务增长。

通过混合云构建起现有数据中心和VPC互为灾备的架构体系, 提升可用性。

还有一些特殊行业,比如:银行、证券、保险行业,对核心业务所在的机房会有合规要求,一些重要的数据和服务必须部署在一个监管非常严格的IDC里,而公有云短期是无法满足这种合规要求的, 在这种情况下,通过混合云的方式,在满足合规要求的同时, 也能享受到公有云带来的优质服务。

用户引入混合云,会给用户原有IT系统带来更多的复杂性,那么腾讯VPC网络提供了丰富的API能力,利用API,用户可以方便地将腾讯云上的网络、资源方面的管理集成到现有运维系统上,最大程度来降低系统运维的难度。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-01-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 鹅厂网事 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 邵华(腾讯网络资深专家)推荐语:
  • 以下是现场精彩观点实录:
    • 公有云用户对网络的核心诉求
      • 腾讯云网络架构的演进过程
      相关产品与服务
      专用宿主机
      专用宿主机(CVM Dedicated Host,CDH)提供用户独享的物理服务器资源,满足您资源独享、资源物理隔离、安全、合规需求。专用宿主机搭载了腾讯云虚拟化系统,购买之后,您可在其上灵活创建、管理多个自定义规格的云服务器实例,自主规划物理资源的使用。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档