聊聊欧美国家的网络巨擘的宽带和边沿网络,领略到其独有结构设计,当中 Facebook 和 Google 的网络主要是服务项目另一方面的商品和各阶层网络使用者,Amazon 和 Microsoft 在云服务项目的销售业务相较多一点。
译者:K480N徜徉
0. 序言
责任编辑主要就讲呵呵欧美国家的网络巨擘的宽带,各家子公司的网络都有独有结构设计,当中 Facebook 和 Google 的网络主要是服务项目另一方面的商品和各阶层网络使用者,Amazon 和 Microsoft 在云服务项目的销售业务相较多一点。
Facebook、Google、Microsoft 的网络在申明的学术论文都有较为详尽的叙述,而 Amazon 的下层网络相较的申明数据资料太少,在迳自构筑 AWS 控制技术首脑会议 2019,AWS 的CTO撷取了 AWS 的下层网络(第 3 段落或是评注),却是很值得称赞自学。
1. Facebook Network
现阶段 Facebook 子公司全系列有月活 30+亿使用者,他们须要两个服务项目无间断、即时能出访的中文网站。为的是同时实现这个最终目标, Facebook 在后端布署了许多一流的模块和基础建设 ,可扩充、高效能网络是当中之 一。
1.1 Facebook 亚洲地区网络简述1.1.1 简述
Facebook 的网络这类是两个小型网络通讯,特别针对相同各项任务分割成相同层级并选用相同的控制技术:
边沿(edge)
骨干力量(backbone)
网络系统(data centers)
遍及在使用者密集区的数目巨大的PoP/LB/cache透过宽带做为边远地区、高效率、数目受控的特小型网络系统的延展。
1.1.2 Facebooke 网络流量模型
从流量模型看,Facebook 分为两种类型。
1、外部流量:到网络的流量(Machine-to-User)。
2、内部流量:网络系统内部的流量(Machine-to-Machine)。
当中,Facebook 网络系统内部的流量要比到网络的流量大几个数量级,如下图所示。
1.1.3 解决方案
机器对机器的流量通常会大量爆发,这可能会干扰并影响正常的使用者流量,从而影网络可靠性最终目标。Facebook 将跨网络系统与面向 Internet 的流量分离到相同的网络中,并分别进行优化。
Facebook 结构设计了连接网络系统的网络Express Backbone(EBB)。在边沿网络出口则推出Edge Fabric构架。
1.2 Facebook 宽带 EBB(Express Backbone)1.2.1 结构设计理念
快速演进、模块化、便于布署
避免分布式流量工程(基于 RSVP-TE 带宽控制)的问题,例如带宽利用率低,路由收敛速度慢。
在网络的边沿利用 MPLS Segment Routing 保证网络的精确性。
1.2.2 EBB 构架
BGP 注入器:集中式的 BGP 注入路由的控制方式。
sFlow 收集器:采集设备的状态传递给流量工程控制器。
Open / R:运行在网络设备上,提供 IGP 和消息传递功能。
LSP 代理(agent):运行在网络设备上,代表中央控制器与设备转发表对接。
1.2.3 流量工程控制平面(Traffic Engineering Controller)
NetworkStateSnapshot module:网络状态快照模块,负责构筑活动的网络状态和流量矩阵PathAllocation module:路径分配模块,负责基于活动流量矩阵并满足某些最优性标准来计算抽象源路由。Drivermodule:驱动程序模块,负责将路径分配模块计算出的源路由以 MPLS 段路由的形式推送到网络设备。
1.3 Edge Fabric
2017 年 Sigcomm 大会,Facebook 推出了面向网络出口的边沿网络构架Edge Fabric。
A PoP has Peering Routers, Aggregation SWitches, and servers. A private WAN connects to datacenters and other PoPs。
Edge Fabric组件
Edge Fabric 有两个 SDN/BGP 控制器。
SDN 控制器选用多重方式搜集网络信息,如 BMP 采集器、流量采集器等。
控制器基于实时流量等相关信息,来产生特别针对某个 Prefix 的最优下一跳,指导相同 Prefix 在多个设备之间负载均衡。
控制器和每个 Peering Router 建立另两个 BGP 控制 session,每隔特定时间用来改写 Prefix,透过调整 Local Preference 来改变下一跳地址。
BGP 不能感知网络质量,Edge Server 对特定流量做 eBPF 标记 DSCP,并动态随机选一小部分流量来测量主用和备用 BGP 路径的端到端性能。调度发生在 PR 上,出向拥塞的 PR 上做 SR Tunnel 重定向到非拥塞的 PR 上,如下图所示.
img
由此看见 Edge Fabric 有一些限制:
SDN 控制器单点控制 PR 设备。如果 PR 设备已经 Overload,须要透过 PBR 和 ISIS SR Tunnel 转移到另两个没有拥塞的 PR,流量路径不够全局优化。
控制器只能透过 Prefix 来控制流量,但是同两个 prefix,可能承载视频和 Voice 流量,带宽和时延要求相同,Edge Fabric 没有 Espresso 那么灵活。
1.4 总结
Facebook 在宽带、边沿网络都是使用 BGP 路由协议进行分布式控制,控制通道简单,避免多协议导致的复杂性,而对于流量工程选用集中的处理。
2. Google Network
2.1 Google 亚洲地区网络简述
Google 亚洲地区有 30+个网络系统,100+多个 POP 站点,同时在相同运营商网络中有许多 Cache 站点。信息从 Google 网络系统信息大致经过 Data Center-POP-Cache 三级网络发送到最终使用者。
Google Cloud Netwok
Google 的广域网实际上分为 B2 亚洲地区宽带和 B4 网络系统网络,边沿网络是 Espresso,网络系统内部则是 Jupiter,如下图所示。
Google网络构成
B2:面向使用者的宽带,用于连接 DC、CDN、POP、ISPs 等。B2 主要就承载了面向使用者的流量,和少部分内部流量(10%),带宽昂贵,整体可用性要求很高,利用率在 30%~40%之间。B2 选用商用路由器设备,并且运行 MPLS RSVP-TE 进行流量工程调节。
B4:网络系统内部数据交换的网络,网络节点数目受控,带宽巨大,承载的 Google 网络系统间的大部分流量。B4 承载的销售业务容错能力强,带宽廉价,整体利用率超过 90%。使用自研交换机设备,为 Google SDN 等新控制技术的试验田。
B4和B2构架
Espresso:边沿网络或是网络出口网络,将 SDN 扩充到 Google 网络的对等边沿,连接到亚洲地区其他网络,使得 Google 根据网络连接实时性的测量动态智能化地为个人使用者提供服务项目。
2.2 B2
B2物理构架
PR:Peering Router,对等路由器,类似 PE 设备,主要是其他运营商网络进行对接。
BR:Backbone Router,宽带路由器,类似 P 设备。
LSR:Label Switch Router,标签交互路由器。
DR:Datacenter Route:网络系统路由器。
2.3 B4
B4 是业界第两个成功商用的网络系统互联的 SDN 网络。
交换机硬件是 Google 定制的,负责转发流量,不运行复杂的控制软件。
OpenFlow Controller (OFC) 根据网络控制应用的指令和交换机事件,维护网络状态。
Central TE Server 是整个网络逻辑上的中心控制器。
B4的构架
Central TE (Traffic Engineering) Server:进行流量工程。
Network Control Server (NCS):网络系统(Site)的控制器,其上运行着 OpenFlow Controller (OFC) 集群,使用 Paxos 协议选出两个 master,其他都是热备。
交换机(switch):运行着 OpenFlow Agent (OFA),接受 OFC 的指令并将 TE 规则写到硬件 flow-table 里。
流量工程
注:网上有许多介绍 B4 的文章,责任编辑从略。
2.4 Espresso
为的是更好进行流量调度,Espresso 引入了亚洲地区 TE 控制器和本地控制器(Location Controller)来指导主机(host)发出流量选择更好的外部 Peering 路由器/链路,进行 per flow Host 到 Peer 的控制,并且解耦了传统 Peering 路由器,演进为 Peering Fabric 和服务项目器集群(提供反向 Web 代理)。
控制和转发流程:
外部系统请求进入 Espresso Metro,在 Peering Fabric 上被封装成 GRE,送到负载均衡和反向 web 代理主机处理。如果可以返回高速缓存上的内容以供使用者出访,则该数据包将直接从此处发回。如果 CDN 没有缓存,就发送报文透过 B2 去出访远端网络系统。
主机把实时带宽需求发送给全局控制器(Global Controller)。
全局控制器根据搜集到的亚洲地区 Internet Prefix 情况,Service 类型和带宽需求来计算调整相同应用选用相同的 Peering 路由器和端口进行转发,同时实现全局出向负载均衡。
全局控制器通知本地控制器来对 host 进行转发表更改。同时在 Peering Fabric 交换机上也配置相应的 MPLSoGRE 解封装。
数据报文从主机出发,根据全局控制器指定的策略,首先找到 GRE 的目的地址,Peering Fabric 收到报文之后,解除 GRE 报文头。根据预先分配给相同外部 Peering 的 MPLS 标签进行转发。
3. Amazon Global Network
注:本段落主要是参考迳自构筑 AWS 控制技术首脑会议 2019的介绍,详尽文档和视频见评注。
3.1 AWS 亚洲地区网络简述3.1.1 简述
AWS 是一家亚洲地区公有云提供商,它拥有两个亚洲地区基础建设网络,以运行和管理其支持亚洲地区客户的众多不断增长的云服务项目。
构成 AWS Global Infrastructure 的组件有:
Availability Zones (AZs)
Regions
Edge PoPs
Regional Edge Caches
3.1.2 结构设计理念
安全性:安全是K480N络的生命线。
可用性:须要保证当某条线路出现故障的时候,不会影响整个网络的可用性。
故障强隔离:当网络发生故障的时候,尽量把故障限制在某个区域内。
蜂窝构架:两个个网络模块构成的蜂窝式网络构架。
规模:支撑上百万客户的应用网络需求。
性能:对网络的吞吐量、延迟要求较高。
3.1.3 网络通信案例解析
如上图所示,两个猫咪要去 AWS 的服务项目器中获取一张图片,流量首先透过 Internet 进入到 AWS Region,Region 包括 AZ,AZ 中有 VPC,在 VPC 中有 Server,Server 上面有图片,这是一种较为简单的抽象流程,但是如果把网络剥开一层再去看,其实会变得更加复杂,如下图:
可以看到包含了更多的 AWS 网络基础建设,流量首一流入 Edge PoP,这个也是 CDN 的站点,流量进来之后到骨干力量网络 Backbone,然后再进入 AWS Region,经过 Transit Center 进入 AZ。
3.2 AWS 亚洲地区网络的 Region 构架3.2.1 Availability Zone
AWS Region 是由 Availability Zone 组成。可用区(Availability Zones)实质上是 AWS 的物理网络系统。在 VPC 中创建的计算资源、存储资源、网络资源和数据库资源都是托管在 AWS 的物理网络系统。
每个 AZ 至少会有两个位于同一区域内的其他 AZ,通常是两个城市,他们之间由高弹性和极低延迟的专用光纤连接相连。但是,每个 AZ 将使用单独的电源和网络连接,这使得 AZ 之间相互隔离,以便在单个 AZ 发生故障时最大限度地减少对其他 AZ 的影响。
每个 Region 有两个 Transit Center,每个 Transit Center 和下面的每个 Datacenter 都有网络互联,同样 Datacenter 之间也有网络互联,这样可以确保 AWS 网络的可用性,部分网络基础建设故障也不会影响整个 Region 的可用性。
3.2.2 AWS Regon 网络系统构造
AWS 选用蜂窝式的网络构架。
在图中间都是两个个小的模块,每个模块都有相同的一些功能,如 Access Cell 主要就做主机的网络接入,Core Edge Cell 联通着 Transit Centers,进而把网络流量送进 AWS backbone。
每个 Cell 都肩负着相同的功能,Cell 和 Cell 之间都进行互联,在每一层,都可以透过平行扩充 Cell 来扩充整个网络的承载量,达到两个可伸展的网络。
每个 Cell 是两个单核路由器,端口较为少,可以控制故障域,转发构架更简单。
3.3 AWS 亚洲地区宽带(Global Backbone)
AWS Direct Connect、网络连接、区域到区域传播和 Amazon CloudFront 到 AWS 服务项目的连接都是须要 AWS 宽带。
和 Region 相似,亚洲地区宽带也是选用了蜂窝式的两个网络构架,中间是大量的光纤连接,外层是负责一些网络功能的 Cell。
Transit Center Cell 用来连接 Region 内部的网络系统,Edge Pop Cell 用来连接 PoP 节点,Backbone Cell 用来连接远端的 PoP 节点进而连接到远端 Region 的网络系统。
3.4 AWS Edge PoP
AWS Edge PoP 是布署在亚洲地区主要就城市和人口稠密地区的 AWS 站点。它们远远超过可用区域的数目。
AWS Edge PoP 对外是连接的一张张 ISP 的网络。运营商接入 AWS 的骨干力量网络两个地方,两个是 Edge PoPs,另外两个 AWS 区域的网络中转中心(Transit Centers)。
Edge PoP 很大的两个作用是对外扩充 AWS 的网络,同两个 Edge PoP 可以和运营商进行多次互联,获得至外网网络最优的互联。
边沿站点也是选用了蜂窝式的构架,Backbone Cell 连接 AWS 骨干力量网络,External Internet Cell 连接外部的 Internet 网络,同时还包括一些 AWS Edge 服务项目网的一些 Cell,如连接 CloudFront、Route 53、Direct Connect 和 AWS Shield,这些服务项目都存在于 AWS Edge PoPs 中。
3.5 总结
可以看到 AWS 在网络的各部分都选用了蜂窝式的构架,让这个网络的扩充性大大提升。并且透过选用主动式数据信道监控,从 AWS 服务项目日志采集网络性能数据,以及网络流量工程管理来达到网络边沿的监控与自我修复。
4. Microsoft Network
4.1 Microsoft Network 简述
Microsoft 在布局云计算取得很大的成功,网络的布局功不可没、当中 Azure 拥有超过 165,000 英里的私有光纤,跨越亚洲地区 60 多个区域和 170 多个网络 PoP。
Azure网络4.2 Microsoft SWAN 网络
Google SWAN 广域网 DCI 控制器也是两个典型的 SDN 网络,从最早的静态单层 MPLS Label 构造的端到端隧道,到最新的基于 BGP-TE SR 的亚洲地区 DCI 互联解决方案,可以同时实现 95%的跨网络系统链路利用率。
Microsoft SWAN构架
Microsoft SWAN控制面
RSVP-TE/SR-TE。
集中式 TE 资源分配算法。
服务项目间透过资源分配模块协作。
每个 Host 上都有代理,负责带宽请求和限流。
注:具体细节可以见评注的学术论文
5 网络系统网络
再补充呵呵 Google 和 Facebook 的网络系统网络结构设计。
5.1 Facebook 的 f4 和 f6 中文翻译
http://arthurchiao.art/blog/facebook-f4-data-center-fabric-zh/
http://arthurchiao.art/blog/facebook-f16-minipack-zh/
5.2 Google Jupiter 中文解读
http://zeepen.com/2015/12/31/20151231-dive-into-google-data-center-networks/ 原文 http://conferences.sigcomm.org/sigcomm/2015/pdf/papers/p183.pdf
6. 总结
从控制技术的角度看,网络子公司的网络演进是两个 SDN 的过程。SDN 是两个网络标准化的过程,是两个通信系统网络化的状态,贯穿着网络的控制面、转发面、管理面。
从运营的角度看,网络子公司的网络演进是从“所有流量 all in one” 到网络思路构筑网络,网络具有分布式、模块化、低耦合等特点。
从布局的角度看,网络子公司的网络布局也是控制技术整体实力亚洲地区化扩张的缩影。也希望中国的网络子公司也能不断的扩张边界,进入亚洲地区化的食物链的顶端。
评注
Facebook 网络
https://engineering.fb.com/2017/05/01/data-center-engineering/building-express-backbone-facebook-s-new-long-haul-network/
Google 网络
AWS 网络
详解 AWS 下层网络是如何构成的
AWS 下层网络详解
Microsoft 网络
Facebook 的 F4,F16 网络构架
Google Jupiter 同时实现
中文解读
原文
视频号最新视频欢迎查看