前浪:传统数据中心的网络模型

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
EMR Serverless StarRocks,5000CU*H 48000GB*H
应用型负载均衡 ALB,每月750个小时 15LCU
简介: 我们将围绕IDC网络运营规划的基本要求、传统PC时代的网络架构、移动互联网和大数据时代的IDC网络结构、常用服务器接入技术四个部分对数据中心的发展历程进行拆解。本文将先与大家分享传统数据中心的网络模型。

1.png

个推运维平台高级网络工程师 山川

随着互联网公司规模的扩大,企业对成本控制和数据安全的需求越来越高,大部分公司往往会自建机房,而非租用云服务器。个推在互联网数据中心(Internet Data Center,简称IDC)网络规划和运营方面也经历了几次的迭代和变迁,同时,我们也对数据中心网络发展的历程进行了总结。

我们将围绕IDC网络运营规划的基本要求、传统PC时代的网络架构、移动互联网和大数据时代的IDC网络结构、常用服务器接入技术四个部分对数据中心的发展历程进行拆解。本文将先与大家分享传统数据中心的网络模型。

01

数据中心网络建设的基本要求

数据中心网络建设基本要求可以归纳为四点:
a) 带宽和流量模型的适配
“南北”流量通常指的是进入和离开数据中心的流量。而服务器到服务器间的交互流量,通常称为“东西”流量。传统的“树形”拓扑中“南北”流量占比较高,当需要更大带宽时,我们往往可以通过升级设备的线卡结构或使用端口密度更高的设备来满足要求。现代数据中心内常见的应用,例如Hadoop等,大多采用“东西”流量,其某些特定集群之间需要复制大量数据或进行虚拟机迁移。因此,传统“树形”拓扑不太适用于现在IDC的互联网应用。

b) 资本支出最小化
与网络相关的资本支出(CAPEX)所占比重比较大,仅基础架构就占据了整个数据中心约10-15%支出。尽管绝对成本的支出是不可避免的,但我们还是可以采取一些方式来减少绝对成本的支出。

有以下两种方法:
从采购层面来看,我们可以通过设备标准化来降低成本:比如使用相同类型的设备甚至使用同一种型号的设备,这样我们可以通过批量定价、批量采购的方式,减少设备维护和备件购买成本。

从网络规划层面来看,网络层协议的设计要兼容多厂家,我们可以通过引入多个网络设备供应商,采用竞价的方式来降低成本。

c) 运营支出最小化
数据中心规模越大,企业运营支出成本就越高。据有关统计,网络设备越多,故障率越高。在网络控制层面上,设计越简洁,功能越稳定,这样我们就可以最大限度地减少软件问题相关的故障。

最小化运营支出的一个关键点在于减少网络中故障域的大小。网络(这里指的是以太网络)故障主要是由广播或未知单播流量引起的,我们通过使用全布线设计,可以大大减少数据平面故障域的大小,即将它们限制为网络层次结构中的最低级别。但是,这样的设计不能解决分布式控制平面故障的问题,所以网络设计上我们需要保持简洁,尽量减少控制平面协议的使用以尽可能避免协议交互问题的发生、降低网络整体故障发生的频率。此外,我们还应最大限度减少网络协议的使用,以减少测试成本,提高人效。

d) 流量负载均衡的合理应用
应用程序负载均衡对于任意一个数据中心而言,都是至关重要的功能。在传统流量工程中,负载均衡器是流量转发路径中的专用设备。网络规划可以帮助组内多台负载均衡器合理分配流量。任意播前缀[ RFC4786 ]和等价组合多路径(ECMP)功能可用于实现网络流量调度。

02

传统web时代的网络架构

2.png
首先我们要明确一点:大二层网络基本上针对的是数据中心场景,旨在解决数据中心虚拟机动态迁移这一特定需求。对于园区网之类的网络,大二层网络架构适用性不强(除了某些特殊场景,例如WIFI漫游等)。

**
传统二层架构**

06.png

为了保障网络的高可靠性,传统的二层架构在应用于数据中心场景中,网络设计上往往采用二层冗余链路,而由于传统二层协议没有任何防环机制,这样的做法容易引发二层环路和广播风暴。为了解决环路问题,我们采用了两种技术:VLAN技术和xSTP技术。而为了解决广播风暴问题,我们采用了如下两个解决方案:
**
1)通过划分VLAN缩小广播域的规模**
VLAN技术可以把一个相对比较大的物理二层域划分成许多较小的逻辑二层域,这种逻辑二层域被称为VLAN。同一个VLAN内可以进行二层通信,不同VLAN之间则进行二层隔离,这样广播的范围就可以控制在一个VLAN内,不会扩散到整个物理二层域。

04.png

VLAN虽然可以在一定程度上降低广播风暴的范围和强度,但还是无法防止VLAN内广播风暴的形成(只要同一个VLAN内还有环路)。

2) 通过破环协议防止环路的产生
我们从广播风暴形成的根本原因入手,可以更好地解决广播风暴问题。由于广播风暴是出现环路才导致的,因此,通过一定的手段,防止环路出现就可以有效避免广播风暴的发生。

为防止环路出现,并保证网络的可靠性,我们可以将冗余设备和冗余链路变成备份设备和备份链路,即在正常情况下,将网络冗余的设备端口和链路进行阻塞,使端口与链路临时不参与数据报文的转发。

只有当前转发的设备、端口、链路出现故障,导致网络不通时,冗余的设备端口和链路才会被打开,使网络恢复正常。实现这些自动控制功能的协议我们称为破环协议,其中最常用的协议则是生成树协议(xSTP)。

05.png

当然,也有一些其他的破环协议,比如SEP、RRPP等等,其本质思想和xSTP协议一致。

3) 传统的二层技术网络规模之困境
上面提到传统二层网络最主要的技术是VLAN和xSTP,但这两个技术存在以下问题。

  1. VLAN的问题
    正如前文所述,VLAN的核心思想之一,就是通过划分VLAN来缩小二层域的范围和规模,从而控制广播风暴的规模。而大二层网络又要求把所有服务器都纳入同一个二层域。这和划分VLAN的初衷是背道而驰的。所以VLAN技术就无法很好地支持大二层网络。
  2. xSTP的问题
    xSTP可以解决大二层网络的环路问题,但由于xSTP的收敛性能等原因(如果xSTP的节点过多,那么整网的收敛速度会呈指数级下降),所以一般情况下xSTP的网络要求其交换机数量不能超过100台。同时由于xSTP需要对冗余设备和链路进行阻塞,这也在一定程度上降低了网络资源的带宽利用率。故xSTP协议无法很好地满足大二层网络的需求。

4) 小结
总之,由于前文所提及的制约条件,基于VLAN+xSTP技术的二层网络(作为大二层网络的一种),其所能容纳的服务器数量,通常不会超过1K。这与真正意义上大二层网络至少能容纳一万台以上主机的要求差距甚远。

**
设备虚拟化架构**

传统的xSTP技术无法有效解决大二层环境中的环路问题,于是一种新的技术便应运而生——网络设备虚拟化技术。所谓网络设备虚拟化技术,就是将相互冗余的两台或多台物理网络设备组合在一起,虚拟化成一台逻辑网络设备,在整个网络中只呈现为一个节点。
06.png

只要网络设备虚拟化与链路聚合技术相配合,就可以把原来的多节点、多链路的结构变成逻辑上单节点、单链路的结构,从而有效避免环路问题。

网络设备虚拟化+链路聚合技术构建的二层网络天然没有环路,其规模仅受限于虚拟网络设备所能支持的接入能力,只要虚拟网络设备允许,二层网络的规模就不受限制。

但是网络设备虚拟化方案也存在一定的缺点:
1)这些协议都为厂家私有,因此我们只能使用同一厂家的设备组网。

2)由于堆叠系统本身的规模限制,目前最大规模的堆叠/集群大概可以支持接入1-2万主机,对于超大型的数据中心来说,就显得力不从心了。但是对于一般的数据中心而言,还是可以游刃有余地运行的。

随着移动互联网的蓬勃发展,大数据技术应用变得越来越普及,传统时代的IDC架构难以进行动态扩展,Clos架构由于灵活和成本较低的优势,被越来越多的大型互联网公司所采用。

《大数据时代的IDC网络结构和服务器常用接入技术(下篇)》我们将会带大家了解Close架构的核心思想及特性、服务器常用接入技术类型,希望能给大家带来更多启发。

相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
目录
相关文章
|
24天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于BP神经网络的苦瓜生长含水量预测模型matlab仿真
本项目展示了基于BP神经网络的苦瓜生长含水量预测模型,通过温度(T)、风速(v)、模型厚度(h)等输入特征,预测苦瓜的含水量。采用Matlab2022a开发,核心代码附带中文注释及操作视频。模型利用BP神经网络的非线性映射能力,对试验数据进行训练,实现对未知样本含水量变化规律的预测,为干燥过程的理论研究提供支持。
|
23天前
|
网络协议 前端开发 Java
网络协议与IO模型
网络协议与IO模型
网络协议与IO模型
|
23天前
|
机器学习/深度学习 网络架构 计算机视觉
目标检测笔记(一):不同模型的网络架构介绍和代码
这篇文章介绍了ShuffleNetV2网络架构及其代码实现,包括模型结构、代码细节和不同版本的模型。ShuffleNetV2是一个高效的卷积神经网络,适用于深度学习中的目标检测任务。
61 1
目标检测笔记(一):不同模型的网络架构介绍和代码
|
3天前
|
网络协议 算法 网络性能优化
计算机网络常见面试题(一):TCP/IP五层模型、TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议
计算机网络常见面试题(一):TCP/IP五层模型、应用层常见的协议、TCP与UDP的区别,TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议、ARP协议
|
29天前
|
安全 NoSQL Java
一文搞懂网络通信的基石✅IO模型与零拷贝
【10月更文挑战第1天】本文深入探讨了网络通信中的IO模型及其优化方法——零拷贝技术。首先介绍了IO模型的概念及五种常见类型:同步阻塞、同步非阻塞、多路复用、信号驱动和异步IO模型。文章详细分析了每种模型的特点和适用场景,特别是多路复用和异步IO在高并发场景中的优势。接着介绍了零拷贝技术,通过DMA直接进行数据传输,避免了多次CPU拷贝,进一步提升了效率。最后总结了各种模型的优缺点,并提供了相关的代码示例和资源链接。
一文搞懂网络通信的基石✅IO模型与零拷贝
|
8天前
|
机器学习/深度学习 人工智能 算法
【车辆车型识别】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+算法模型
车辆车型识别,使用Python作为主要编程语言,通过收集多种车辆车型图像数据集,然后基于TensorFlow搭建卷积网络算法模型,并对数据集进行训练,最后得到一个识别精度较高的模型文件。再基于Django搭建web网页端操作界面,实现用户上传一张车辆图片识别其类型。
23 0
【车辆车型识别】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+算法模型
|
17天前
|
机器学习/深度学习 算法 数据挖掘
【深度学习】经典的深度学习模型-02 ImageNet夺冠之作: 神经网络AlexNet
【深度学习】经典的深度学习模型-02 ImageNet夺冠之作: 神经网络AlexNet
24 2
|
25天前
|
开发者
什么是面向网络的IO模型?
【10月更文挑战第6天】什么是面向网络的IO模型?
20 3
|
25天前
|
数据挖掘 开发者
网络IO模型
【10月更文挑战第6天】网络IO模型
35 3
|
24天前
|
缓存 Java Linux
硬核图解网络IO模型!
硬核图解网络IO模型!