中存储网10月23日报道 数据中心Data Center应用的不断增加和用户数量的迅速增长,使得数据中心Data Center正要面对着一个严重的性能问题,而其中尤为严重的现象就是网络拥塞。当网络中存在过多的数据包时,性能就会下降,这种现象称为拥塞。拥塞是一种持续过载的网络状态,此时用户对网络资源的需求超过了固有的容量。近些年随着云计算、大数据、搜索技术本身要消耗大量的网络带宽,所以在数据中心Data Center里网络拥塞现象时有发生。
网络拥塞对数据中心Data Center带来的危害有几点:一是造成了包丢包率增加,端到端的延迟增长。假设是交换机设备,由于缓存较小,拥塞出现时将会进行报文丢弃。而很多业务都是TCP连接,出现丢包后将会引起重传,反而更加加重了拥塞的状况。假设是路由器设备,缓冲队列长度增加,分组等待排队输出的时间变长,进而造成了延迟的增加。在这种情况下,对业务的影响是显而易见的。轻者访问应用缓慢、掉线,严重者则长时间无法访问,用户的体验感大大下降。我们平时上网时,在打开一个网页页面时,时有打不开或者链接弹出缓慢的情况,多半是网络拥塞所致。二是造成了资源利用率降低,无效利用率增加。拥塞发生后,网络设备通往链路的分组报文都被丢弃,造成这些链路得不到充分利用,降低了资源的有效利用率。三是造成了拥塞崩溃的发生,这是最严重的后果,当网络处于拥塞崩溃状态时,微小的负载增量都将使网络的有效吞吐量急剧下降,此时的数据中心Data Center网络无任何有效的数据传输。出现这种情况的可能是维护路由邻居状态、环网状态的报文被丢弃,引发了路由震荡长时间无法收敛,环网阻塞点放开,形成二层环路,造成了整个网络处于无序状态,整个数据中心Data Center陷入瘫痪之中。可见网络拥塞的问题应该引起高度重视,当数据中心Data Center时有发生拥塞情况时,就应该及时排查,消除隐患,以免造成系统瘫痪。
既然网络拥塞问题影响如此严重,就没有什么办法缓解吗?网络拥塞控制技术就是为了解决数据中心Data Center网络出现拥塞时的问题。拥塞控制技术也有很多,在此仅从实现机理上做以阐述。打个形象的比喻,国家若遇到了洪涝灾害,江河涨水,江河附近的城市与村庄就要面对被淹的危险,那么接下来国家会做什么呢?一定是抓紧时间将沿途的堤坝加固、修高,同时在上游关闸,减少洪水向下游冲击。在下游开渠引流,进行泄洪。其实对于网络拥塞,也是这样的一部分技术。通过在网络入口进行限速(LR或CAR),同时启动优先级调度,将不重要的业务进行丢弃,保证在网络拥塞时高优先级的业务得到传输。增加网络带宽,将原来的千兆端口换为万兆,将单端口换为聚合端口,将路由切换为等价路由,这样就可以大大提升网络带宽。在端口上开启流控功能,当端口发生拥塞时,可以进行反压,通知流量的入端口,这样入端口将报文进行缓存,当流量实在太大,缓存不了时,再进行丢弃。这样可以提升网络设备的缓存能力,就可以增加对网络拥塞的防御。这样看这些网络拥塞机制和生活中处理洪涝灾害、交通拥塞都是一样的。不管拥塞控制技术如何发展,根本点都是如上描述的几条,再好的控制技术也只不过是将上面的方法做精做细而已。当我们看到一部分晦涩难懂的拥塞控制技术概念时,令牌桶是做什么用的,FLOW-CONTROL 会什么特征,GTS只能基于队列限速吗?要把这些概念都当成是解决拥塞的工具而已,然后遵循着上面的说明机理就不难理解了,令牌桶就像我们车辆限行时的交警,滞留车辆多了就让后面的车辆多等等,少了就让更多的车辆行驶通过。FLOW-CONTROL就通告拥塞的消息,以便网络设备知道哪里有了拥塞,怎么处理。GTS是基于某一特征流量进行限速的技术,我们对车辆进行分类,救护车,救火车可以优先过,对别的车辆限行,在网络世界里GTS就可以做到。
显然以上提到的这些技术都是在拥塞发生后起作用的,俗话说“一份预防抵得上十分治疗”,在数据中心Data Center网络中应该努力通过各种方法来避免或减少网络拥塞情况的发生。首先合理设计网络拓扑结构,对于某些重要节点,设计成网状拓扑,增加冗余度。数据中心Data Center承载的计算机应用业务要做精细划分,避免过于集中于某些局部网络环境中,均匀分布。其次合理设计网络设备缓冲区大小,网络拥塞并不是一个长时间持续的,是阶段性的,具有突发性的特点,适当地提升网络设备的缓存就可以减少拥塞。对于长时间的拥塞,比如淘宝网,在每年的双11都会迎来流量的喷井,而平时流量是比较均匀平稳的,这就需要在双11期间增加网络带宽,启用备份设备,单纯靠增加网络设备缓存是无济于事的。再次增加负载均衡设备,将突发流量引到负载均衡设备上进行整形,减少突发流量对网络设备的冲击,让网络设备接收到的流量都是平稳、均匀的。
网络拥塞问题的产生主要原因是网络带宽不足,网络处理能力不够造成的。还有存储空间、服务器性能限制也会造成网络的拥塞,这些都是现实情况,无法改变,网络的带宽和处理能力并不能无限制地增加,所以网络拥塞是不可避免的,我们通过各种各样的技术手段无非是希望将拥塞发生的概率最小化,未来的网络拥塞控制技术会越来越多,更加精细和多样,什么RED算法、PI算法、AVQ算法、AQM-REM算法等等,在网络拥塞时,通过这些算法来决策丢包的选择,诸多的算法让人看得眼花缭乱,但这些算法归根结底都肯定会遵循一条:就是想办法按照数据中心Data Center的意图去丢包,其遵循的基本原理不会改变,就和我们生活中解决交通拥塞、洪涝灾害是一样的。
声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。