今天,数据中心通过网络将触角伸向了世界各个角落,使得人们可以坐在世界任意一个地方,享受互联网带来的便利。而在数据中心内部,通过复杂的局域网技术将成千上万台设备连接在一起,完成所有设备互联互通就要靠网络技术。局域网网络中,以太网技术使用最广,基本代表着局域网技术的标准,所以说局域网技术历史基本就是在讲以太网的历史。以太网技术虽然才发展四十几年,却早就成为局域网中的网络协议标准。数据中心内部的网络就是一个局域网,即便数据中心步入云计算时代,数据中心实际仍是由很多个处于不同地区的机房组成,在机房内部依然要采用局域网技术。那么,数据中心的网络协议有哪些特点呢,本文将娓娓道来。
数据中心的设备之间要互通并传递数据,就必须要有一套通信标准才行。这就像交通系统,指示灯在什么时候什么位置的灯亮红灯,灯要亮多久都要设计好,所有的汽车都要遵守,如果汽车都不去遵守这些规则,交通系统就陷入瘫痪。网络也是这样,通过设计各种各样的协议,实现不同设备之间的数据交互。既然要所有设备都遵守,这必然是一个公有的开放协议。翻开网络协议标准,不难发现其定义了很多协议的报文格式,报文的每个字段都有其特定含义,以便接收和发送的设备能够理解其中的含义。在这里,不去详细介绍每种协议的特点和使用,感兴趣的直接去查RFC即可得到答案。这里要讲一讲网络协议的最大特点,所有协议共性的东西,提炼出来就两大点:动态和静态,一个网络协议要么是动态协议,要么就是静态协议。
静态协议,顾名思义是协议不随网络波动而变化的协议。最常见的就是静态路由协议,静态路由协议是通过手工配置在网络设备上下发,特性稳定,不会随网络变化而变化,不会增加网络设备开销,简单有效,在小型数据中心里应用非常普遍。实际上,静态协议不仅指路由协议,像静态ARP、静态MAC、静态组播组、静态RP(Rendezvous Point,组播协议中的汇聚点)等等,在网络协议中都有太多的可以配置为静态的东西,虽然使用上并不灵活,但简单好用,不容易出问题,同时节省网络设备的CPU 计算资源,要知道很多网络设备的CPU根本没法和服务器相比的。在网络发展初期,这种静态协议极受欢迎,当需要进行组网时连接到网络设备上,输入一堆的静态配置协议,就完成了。然而,随着数据中心规模的不断扩大,这种方法就显得效率低下了,尤其涉及到网络扩容或变更,静态协议的更改就非常费力费时了,稍不注意还会配置错误引发网络故障。排查故障时,静态协议也带来了麻烦,根本不知道网络设备上哪个协议是真正生效的,哪个协议却已经失效。当看到网络设备上千行的配置文件,头都大了,所以动态协议开始走进人们的视线。
动态协议,引入了状态机的概念,由网络设备自主完成相关网络表项的学习,减少大量人工配置,减少操作配置出错的机会。比如三大动态路由协议OSPF、BGP、RIP,在网络设备上只要使用相关协议,配置上最简单的设备标识和需要学习和发布的路由,设备就可以自动完成路由学习,并通过周期性发送一些监测报文,确保网络正常,一旦发现有变化及时对路由进行调整。这些协议都有自己的状态机,网络设备处于不同的状态的行为是不同的,从而达到自动学习和管理网络协议的目的。同样不止是路由,像NTP、DHCP、ARP等等有太多的协议都有自己的状态机,这些协议都可以动态学习,当监测报文出现异常时,状态机随之切换到其它状态。动态协议将人从繁琐的网络配置工作中解放出来,在进行网络变更和扩容时,只要调整几个关键配置即可完成,整个网络协议自己进行计算。这样在出现网络故障时,恢复起来就很容易,只要调整几个配置就可以完成,大大缩短故障处理的时间。动态协议在后来的网络协议标准中占据了很大篇幅,百分之八十的网络协议现在都有动态方式。不过,动态协议虽然可以省去手工输入配置的麻烦,却增加了网络设备的计算负担,为了维持各种协议的状态机正常运行,设备要周期性地接收和发送各种协议的监测报文,以便确认状态机是否正常,这大大增加了设备运行负担。再比如OSPF协议,如果在设备上启用了500个邻居,就需要在一个发包周期发送500个监测报文,如果周期是1秒,就相当于1秒钟要处理1000个报文(收和发),这还只是一种协议,并且在正常时发送的频率,如果有OSPF路由震荡,这类协议报文数量会大幅增加,很多网络设备会扛不住这么多报文的收发,设备会瘫掉。如果网络设备上配置的协议类型再多一些,需要处理的报文数目将会更多。所以,要根据每个网络设备的实际能力,每台设备都有一些推荐的动态协议数量指标,根据这些指标再去使能一定数量的动态协议,确保设备运行在安全范围之内。同时要动态和静态协议结合使用,在一些重要配置,不经常需要改动的地方使用静态协议,对于那些经常要做变更和扩容的应用,尽量采用动态协议。一般中小型的数据中心采用静态协议多一些,大型超大型的数据中心采用动态协议多一些。
不管是多么复杂,也不管是多么简单的数据中心网络中,静态协议和动态协议两者必有其一,更多的时候是两者共同存在于同一个数据中心网络中,甚至是同一个网络设备上,优劣互补,实现灵活的网络互通。
本文转自d1net(转载)