简述数据中心网络技术简史

admin5个月前笔记51

数据中心的网络其实就是一个局域网,有数据和存储两大块:存储网络主要是FC技术,现在出现了IP SAN,基于以太网IP转发的存储,整体上来讲存储网络的技术发展并不快,花样也不多,以至于到现在很少有人讨论它。数据是数据中心网络更大的一块,主要是以太网网络协议,翻开RFC,不难发现,以太网的网络协议和特性实在太多了,这些协议发展其实就是网络技术的历史,每一种协议都是在不断完善中,经过实践应用,又不断修缮,当然也有一些协议不适用,早早遭到弃用,很少有人再去更新它,完善它。这里,不是要将网络技术的发展历史再重新讲一遍,随便在网路上搜一搜就可以找到一堆的介绍文章,让你对网络技术过去这七十年历史了解清楚。这里,要根据这些年的网络技术变化,总结出精华来,看到网络技术发展的本质。

数据中心网络基本只涉及二三层转发,有些四到七层的应用主要在安全、负载均衡上面,网络层面很少,现在也有一些四到七层的网络设备,绝对是非主流,应用规模很小很小。数据中心网络经过这么多年的发展,其实用到的技术就是二三层网络技术。

二层基于MAC地址转发,VLAN就是广播域,三层基于IP地址转发,跨VLAN转发,二三层都有一些经典的网络协议,比如STP、VRRP、OSPF等,这些技术一用就是五十年,这期间除了端口带宽的提升,软件技术几乎没有变化。但是近些年来,数据中心网络建设规模越来越大,对网络的要求也越来越高。当网络规模比较小的时候,这些传统技术还能顶用,随着规模的不断扩大,网络性能越来越差,尤其是二层环网协议STP,当环路数量超过十个以上时,一旦有拓扑变化,计算和切换的速度都是秒级甚至分钟级,这对数据中心是无法忍受的。按照新的数据中心标准,要想达到三四级(美国发布的数据中心等级标准一到四级)的标准,全年都不能有中断,可靠性要达到四个九和五个九,STP的计算收敛速度根本无法满足,而且STP造成了网络带宽的极大浪费。

image.png

二层既然容易引发环路,还由于阻塞端口造成带宽的浪费,要将网络改造成全三层网络,从服务器到出口路由器全部是三层转发,这样天然避免二层环路问题,而且所有的端口都可以转发流量,不存在带宽浪费的情况。现在,在很多互联网的数据中心还有这种全三层的网络架构,依然很受欢迎。

当然,整个数据中心网络全三层转发,会造成IP地址的浪费,要多用很多网段,内部网络使用私有地址还好,对外网络要使用公网地址,要知道IPv4地址多么矜贵,可不能这样大段的IP地址往下分,在小型网络中用用还凑合,大型数据中心网络根本行不通,还是需要二层。于是,基于三层转发的假二层技术出现了,典型代表就是TRILL技术,TRILL将很多条链路透明地组织在一起,让上层应用感觉这只是一条链路。T

RILL本质上是一个2.5层技术,使用最短路径、多路径等三层路由技术来将多条链路组织成为一个大二层网络,支持VLAN、自配置、多播等二层功能。TRILL既有以太网的易配置特性,又有三层路由的技术优势,TRILL的推出,虽然解决了两层协议的多路径问题,但是破坏了三层协议的多路径。

同时还增加了应用复杂性,TRILL需要进行复杂处理三层协议、多播、FCoE、阻塞管理等等,这会降低数据中心架构的整体经济性,所以TRILL的出现并未得到市场热捧,一直处于一种不温不火的状态,偶有数据中心用一用,但没能成为主流。包括SPB、Qfabric、Fabricpath等都是假二层技术,也是如此未能成为主流。

很快一种虚拟网络的概念应运而生,就是在一个物理三层网络的基础上,再构建一个虚拟网络,这个虚拟网络可以是二层也可以是三层,基于物理网络搭建,但并不受限于物理网路,典型技术代表是VXLAN技术,本质上就是一种封装技术,在原始报文基础上再增加一层转发头。除了VXLAN,还有NVGRE(Network Virtualization using Generic Routing Encapsulation)

和STT(Stateless Transport Tunneling Protocol)等技术,都是虚拟网络技术。VXLAN只需要物理网络部分能转发通即可,VXLAN再根据业务需要,实现流量转发,可以将整个数据中心网络都虚拟化成一个基于三层物理网络转发的二层VXLAN网络,也可以虚拟化成一个基于二层物理转发的三层VXLAN网络,这种技术特别适合于改造网络,传统网络肯定都是二三层物理转发,VXLAN在不改变物理网络结构和配置的基础上,再设计一套虚拟网络,这对数据中心网络来讲是一场革命。

不过还没有完,人们已经不满足于虚拟网络,还想加强对网络的控制,于是SDN出现。通过控制器对整个网络下发转发流表,指导数据转发,将网络设备的转发和控制分离,集中控制,这种理念要比VXLAN技术还要先进,而且和VXLAN技术还可以相辅相成,SDN技术彻底将网络改头换面。

SDN并不是一个具体的技术,不是一个具体协议,而是一个思想、一个框架,OpenFlow协议才是SDN技术实现的依托,控制器通过OpenFlow协议控制所有的网络设备转发。不仅在网络上,SDN技术很快渗透到了存储、安全甚至整个数据中心,叫软件定义数据中心。现如今,SDN技术依然在不断完善着,越来越多的数据中心开始试用,它极大地提升了网络运维的效率,业务可以快速部署,出现故障可以快速隔离或者修复。

这几年,随着数据中心业务量的不断增长,对网络技术进行改革的呼声越来越高,出现了不少的新技术,相信SDN还远不是尽头,未来定会有更先进更完善的网络技术出现,让我们拭目以待。


相关文章

apache使用fcgi配置PHP环境的步骤

早期的CGI技术使外部程序与Web服务器之间交互成为可能,但CGI程序运行在独立的进程中,并对每个Web请求创建一个进程,这种方法非常容易实现,但效率很差,难以扩展。面对大量请求,进程的大量创建和消亡...

加密算法史

加密算法史

本文就尝试由古及今,对这种与我们网络生活息息相关的加密算法的发展演变,以及在整个过程中先后出现的集中关键加密算法一一论述,带领大家了解背后这种有趣的算法。加密算法主要作用是把明文变成密文,防止信息泄露...

如何使用 id 命令?

Linux 中的 id 命令如下为 id 命令的语法:id [options] [username]在实际命令中,如果没有提供 username(即用户名),那么该命令将会显示当前...

Linux iptables防火墙原理与常用配置

Linux iptables防火墙原理与常用配置

Linux系统中,防火墙(Firewall),网址转换(NAT),数据包(package)记录,流量统计,这些功能是由Netfilter子系统所提供的,而iptables是控制Netfilter的工具...

Linux内存、Swap、Cache、Buffer

Linux内存、Swap、Cache、Buffer

1. 通过free命令看Linux内存total:总内存大小。used:已经使用的内存大小(这里面包含cached和buffers和shared部分)。free:空闲的内存大小。shared:进程间共...

Redis 缓存 PHP 7.2 session 变量共享

Redis 缓存 PHP 7.2 session 变量共享

一般负载均衡内容有两种形式,一种是静态,另一种是动态,动态网站内容就可能需要进行交互,那么就涉及到session共享的问题。默认PHP是将session存储在LocalDisk,如果是多台php主机之...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。