从流量模型到网络架构变迁

130 阅读3分钟

昨天提到了一个概念,东西流量。

大多没过多接触网络的同学可能会好奇,东西方向我知道,流量是什么我也知道,这两个东西结合起来是个啥。

有东西就有南北。南北流量指的是数据中心和外部的通信,东西流量则是数据中心内部的通信,简略点也有说法认为,南北流量是公网流量,而东西流量则是内网流量。

早期的互联网,其实最先是以南北流量为主的,在微服务和云计算的推动下,大量的分布式内部调用,逐渐演进成了东西流量为主的网络架构。

那这两个概念是怎么来的呢?

在网络世界里有个最基础的标准模型,叫osi七层模型。它把网络通信分成了7层,分别是应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。

其中网络层和数据链路层的实现对应了我们熟知的两个概念:路由器、交换机。当然一开始这两个硬件是各司其职,后面随着硬件的发展,高级一点的交换机也集成了路由的功能,因此也有三层交换机、二层交换机的说法。

在早期数据中心的搭建里,分层也很简单。流量从外部路由回来,交给有路由功能的交换机,叫核心层。再分发到各个子模块的交换机,叫汇聚层。最后再分发给交换机下面的各个服务器,叫接入层。

有机房建设经验的同学应该很熟悉了,通常一个机柜里,最上面就放着一组汇聚层的交换机,连着机柜下面一排的服务器,不同机柜之间的交换机再互相连接,再多两根线连到核心交换机。

这样的网络架构画到纸上,外部流量到数据中心就是一个南北方向。因此我们也叫南北流量。

早期的互联网业务,南北流量为主,也适合这样的网络架构。简单容易管理,量级上来了,加一个机柜,拉多一个汇聚交换机,就可以扩展一机柜的服务器了。

但是有两个很大的缺点。一个是核心层容易出现瓶颈,通常两三年就要搞一次大割接。另一个是服务器之间的通信链路很长,不同汇聚交换机下的机器通信都要经过汇聚层和核心层,延迟高。

随着东西流量的崛起,云数据中心开始演化出了叶脊架构。

叶也就是叶子,对应了传统三层网络里的接入层,直连服务器,负责本地转发。

脊则是叶子的上一层,通常只负责叶交换机之间的流量转发。每个叶交换机都会连到所有的脊交换机,东西流量基于ecmp通过多条路径负载均衡。

那怎么出网呢?

通常会由部分叶节点专门负责,这部分也叫边界叶交换机。

从三层演进到两层,也见证着南北流量到东西流量的中心迁移。

随着ai和硬件的进步,未来网络层可能进一步简化,出现一些智能融合架构,到时候的流量又会有些什么神奇的命名呢?我也很期待。