在數(shù)據(jù)中心的網(wǎng)絡(luò)世界里,流控技術(shù)可算得上是一種古老技術(shù)。這么多年以來,網(wǎng)絡(luò)技術(shù)不斷新舊更替,而流控技術(shù)雖一直未曾有過很大變化,卻在網(wǎng)絡(luò)中發(fā)揮著越來越重要作用。流控技術(shù)是以太網(wǎng)的一項(xiàng)基本功能,可以防止在端口擁塞的情況下出現(xiàn)丟幀。流控技術(shù)在廣義上來講分為四層流控和七層流控,通過路由器、交換機(jī)這些網(wǎng)絡(luò)設(shè)備基于報(bào)文的源地址、目的地址、源端口、目的端口以及協(xié)議類型實(shí)現(xiàn)的流量控制,都屬于四層控制;通過專業(yè)的流量控制設(shè)備去實(shí)現(xiàn)基于應(yīng)用層的流量控制屬于七層流控。所以,流控技術(shù)在網(wǎng)絡(luò)協(xié)議的各個(gè)層級(jí)都有應(yīng)用,發(fā)揮著不同的作用。本文將逐一展開進(jìn)行討論,以便大家對(duì)流控技術(shù)有個(gè)全面了解。
物理層的流控
IEEE802.3X標(biāo)準(zhǔn)定義了物理層的流控技術(shù),它設(shè)計(jì)了一種64字節(jié)的暫停幀,當(dāng)端口阻塞時(shí),交換機(jī)將會(huì)發(fā)送一個(gè)暫停的數(shù)據(jù)幀告訴對(duì)方,現(xiàn)在繁忙,暫停一段時(shí)間再發(fā)送。流控幀是以太網(wǎng)控制幀的一種,在流控幀中攜帶了時(shí)間參數(shù)。收到流控幀的設(shè)備通過簡(jiǎn)單的解析,就可以確定停止發(fā)送的時(shí)長(zhǎng)。當(dāng)對(duì)端設(shè)備出現(xiàn)擁塞的情況下,本端端口通常會(huì)連續(xù)收到多個(gè)流控幀,只要對(duì)端設(shè)備的擁塞狀態(tài)沒有解除,相關(guān)的端口就會(huì)一直發(fā)送流控幀。顯然,這種流控方式有些簡(jiǎn)單、粗暴。只要端口發(fā)生擁塞,不接觸就會(huì)一直發(fā)送流控幀。如果對(duì)端設(shè)備收到的流控幀過于頻繁,可能導(dǎo)致流量急劇下降,甚至無法發(fā)送出報(bào)文的情況。如果網(wǎng)絡(luò)中出現(xiàn)了流控攻擊,這種惡意的流控攻擊報(bào)文會(huì)導(dǎo)致多個(gè)端口無法正常轉(zhuǎn)發(fā)報(bào)文,對(duì)網(wǎng)絡(luò)穩(wěn)定性造成極大影響。還有,IEEE 802.3X定義的流控幀雖然可以預(yù)防丟包,但是有一個(gè)不容忽視的問題,流控幀會(huì)導(dǎo)致一條鏈路上的所有報(bào)文停止發(fā)送,在服務(wù)質(zhì)量要求較高的網(wǎng)絡(luò)中,這顯然是不能接受的,后來又有了IEEE802.3X的替代者IEEE 802.1Qbb。IEEE 802.1Qbb的核心思想是,針對(duì)同一鏈路上不同優(yōu)先級(jí)的流量,單獨(dú)發(fā)送流控幀。當(dāng)某一優(yōu)先級(jí)的業(yè)務(wù)發(fā)生擁塞時(shí),只讓該類報(bào)文暫停發(fā)送,而其他類型的業(yè)務(wù)不受影響。IEEE 802.1Qbb可以針對(duì)特定優(yōu)先級(jí)的流量實(shí)現(xiàn)流控功能,因此也被稱為PFC(Priority-based Flow Control)。PFC常用于FCOE環(huán)境中,解決FCOE環(huán)境中的擁塞丟包問題。
IP層的流控
物理層的流控對(duì)報(bào)文類型不做區(qū)分,只要端口出現(xiàn)擁塞,就將所有流量停止轉(zhuǎn)發(fā)一段時(shí)間,顯然流量控制的力度過大,而基于IP層的流量控制則要溫柔許多。IP層的流量控制可以根據(jù)IP報(bào)頭中的“五元組”信息進(jìn)行分析,來確定當(dāng)前流量的基本信息。默認(rèn)情況下,整個(gè)網(wǎng)絡(luò)的帶寬是共享的,共享的也就意味著是互相影響的,網(wǎng)絡(luò)中部分用戶去看網(wǎng)絡(luò)電視、去下載電影、存在病毒等都會(huì)嚴(yán)重影響到其他用戶的正常運(yùn)行。如果將每個(gè)用戶的帶寬獨(dú)立出來管理,就不會(huì)受到影響了,通過IP流量控制功能就可以輕松實(shí)現(xiàn)。另外對(duì)于不同應(yīng)用可以標(biāo)記不同的優(yōu)先級(jí),根據(jù)優(yōu)先級(jí)進(jìn)行隊(duì)列調(diào)度,當(dāng)端口出現(xiàn)擁塞時(shí),高優(yōu)先級(jí)的應(yīng)用業(yè)務(wù)優(yōu)先通過,將低優(yōu)先級(jí)的業(yè)務(wù)流量進(jìn)行丟棄。IP層的流控可以針對(duì)某一類業(yè)務(wù)類型進(jìn)行流量控制和管理,流量控制上更為細(xì)化,還可以針對(duì)某一類應(yīng)用或者一個(gè)用戶進(jìn)行流量帶寬控制。有了IP層的流控,使得在部署網(wǎng)絡(luò)應(yīng)用業(yè)務(wù)時(shí)應(yīng)用自如。
智能流控
隨著網(wǎng)上應(yīng)用類型的不斷豐富,僅通過IP層流控已不能真正判斷流量中的應(yīng)用類型,更不能應(yīng)對(duì)基于開放端口、隨機(jī)端口甚至采用加密方式進(jìn)行傳輸?shù)膽?yīng)用類型。比如P2P類應(yīng)用會(huì)使用跳動(dòng)端口技術(shù)及加密方式進(jìn)行傳輸,基于交換路由設(shè)備進(jìn)行流量控制的方法對(duì)此完全失效,這時(shí)就要考慮使用智能流控。智能流控是基于網(wǎng)絡(luò)應(yīng)用層的、專業(yè)的流量管理技術(shù),既適用于大中型企業(yè)、校園網(wǎng)、城域網(wǎng)等流量大、應(yīng)用復(fù)雜的網(wǎng)絡(luò)環(huán)境,也適用于需優(yōu)化互聯(lián)網(wǎng)接入、保證關(guān)鍵業(yè)務(wù)應(yīng)用、控制網(wǎng)絡(luò)接入成本的中小型企業(yè)的網(wǎng)絡(luò)環(huán)境。通過智能流控實(shí)現(xiàn)監(jiān)控網(wǎng)絡(luò)流量,分析流量行為,設(shè)置流量管理策略,實(shí)現(xiàn)基于時(shí)間、VLAN、用戶、應(yīng)用、數(shù)據(jù)流向等條件的智能流量管理。這類流控技術(shù)以深度包檢測(cè)(DPI)和深度流檢測(cè)(DFI)技術(shù)為基礎(chǔ),實(shí)現(xiàn)網(wǎng)絡(luò)協(xié)議的精準(zhǔn)識(shí)別。此時(shí)的流控技術(shù)可匹配的條件更豐富,包括源安全域、源接口、源地址條目、目的安全域、目的接口、目的地址條目、用戶/用戶組、服務(wù)/服務(wù)組、應(yīng)用/應(yīng)用組、TOS、Vlan,可以根據(jù)一種條件來劃分流量,如根據(jù)源地址條目;也可以根據(jù)多種條件組合來劃分流量,多種條件之間是“與”的關(guān)系,如根據(jù)源接口、目的地址條目和應(yīng)用HTTP,即從指定的源接口到具體的目的地址的HTTP流量,這樣能夠更加精細(xì)的劃分流量。為實(shí)現(xiàn)如此精確的流量控制,需要采用專用的硬件設(shè)備來實(shí)現(xiàn),比如入侵防御系統(tǒng)IPS、應(yīng)用控制網(wǎng)關(guān)ACG、Netstream、防火墻FW等都屬于是智能流量控制產(chǎn)品。
流量控制,在數(shù)據(jù)中心網(wǎng)絡(luò)中,已成為必不可少的技術(shù)手段。不同網(wǎng)絡(luò)層級(jí)的流量控制實(shí)現(xiàn)的力度是不同的,精細(xì)化程度也有差異,所處網(wǎng)絡(luò)層越高可以看到流量?jī)?nèi)部更多的細(xì)節(jié)部分,所以流量控制也更精準(zhǔn),消耗的硬件資源代價(jià)自然也越大,很多應(yīng)用層智能流控的部署需要用專用的硬件設(shè)備才能完成,普通的網(wǎng)絡(luò)設(shè)備根本無法做到。在數(shù)據(jù)中心網(wǎng)絡(luò)里,要根據(jù)應(yīng)用部署的實(shí)際情況,來選擇最適合自己的流控。可見,流量控制是這個(gè)網(wǎng)絡(luò)時(shí)代發(fā)展的必然產(chǎn)物,其用途必將日益彰顯。