數(shù)據(jù)中心網絡遙測技術淺談
網絡遙測(Network Telemetry)是一種新的快速故障排除模型,能夠檢測故障并隔離故障,按照網絡狀態(tài)整合數(shù)據(jù),包括底層和覆蓋的網絡統(tǒng)計數(shù)據(jù),主動將這些網絡設備狀態(tài)信息推送到監(jiān)控設備上,數(shù)據(jù)具有很強的時效性。其實網絡遙測并不是新鮮的概念,早已在數(shù)據(jù)中心里有所部署。網絡遙測分為帶內和帶外兩種,帶外網絡遙測(Out-band Network Telemetry,簡稱ONT)是通過監(jiān)控設備單獨發(fā)送探測報文,從而收集鏈路狀態(tài)信息,這種類似于在網絡中部署一套長PING設備,通過PING網絡中不同設備和主機,從而判斷網絡鏈路是否可達,在網絡監(jiān)控中普遍應用。帶內網絡遙測(In-band Network Telemetry,簡稱INT)是這兩年才真正落地的技術,可以說是一種新型的遙測協(xié)議,它是由Barefoot、Arista、Dell、Intel和VMware共同提出的。
從兩種遙測技術的介紹中可以看出,ONT通過發(fā)送探測報文,及時發(fā)現(xiàn)網絡故障,報文類型可以是PING、TCP,UDP等等都可以,和網絡業(yè)務流量無關,這種網絡探測結果并不準確。原因有三:一是探測報文并不能覆蓋所有轉發(fā)路徑和表項,有的網絡鏈路故障僅僅是一條轉發(fā)表項出問題,而探測報文只能走一條轉發(fā)表項,大概率發(fā)現(xiàn)不了網絡故障;二是探測報文的特征和業(yè)務流量不同,PING、TCP,UDP等類型并不能覆蓋所有業(yè)務流量類型,比如組播業(yè)務,各種隧道封裝業(yè)務,視頻大包業(yè)務等,簡單地周期性發(fā)一些探測報文并不是完全發(fā)現(xiàn)具體業(yè)務問題;三是探測報文雖少,但仍會占用少量帶寬,造成網絡帶寬的一些浪費,探測報文的優(yōu)先級和多業(yè)務類型的優(yōu)先級也不盡相同,這樣走的優(yōu)先隊列通道也不同,從而很難發(fā)現(xiàn)所有優(yōu)先級隊列里的網絡問題。不過,縱然ONT有這么多缺點,這些年在數(shù)據(jù)中心網絡中還是作為一種高效的網絡監(jiān)控技術使用著,畢竟和NetFlow、sFlow、SNMP這些監(jiān)控功能相比,ONT仍有極大的技術優(yōu)勢。NetFlow和sFlow也實現(xiàn)了網絡流量的采樣和推送,但推送的是原始數(shù)據(jù)采樣信息,仍需要進行二次數(shù)據(jù)加工分析,而且是按照一定的采樣比來采集的,不能反映整個網絡鏈路的流量全貌。而且網絡設備的 CPU、內存、網絡擁塞信息、網絡事件日志信息等也無法通過NetFlow或者sFlow實時傳遞出來。SNMP可以采集到網絡設備的CPU、內存、日志等信息,但又無法采集到數(shù)據(jù)流量,可以將NetFlow和SNMP同時都部署到網絡中,這又會增加網絡設備CPU負擔,這些技術都要靠網絡設備CPU進行處理,無疑增加了網絡設備的負擔,給網絡穩(wěn)定運行帶來了不穩(wěn)定因素。所以,ONT雖有不足,但總比其它現(xiàn)有技術要強,一定程度上實現(xiàn)了網絡監(jiān)控可視化。
隨著技術的進步,INT出現(xiàn)了。INT技術是通過在數(shù)據(jù)層面收集和報告網絡狀態(tài)來實現(xiàn)對網絡狀態(tài)的監(jiān)控,整個過程不需要控制層面參與,從而不會增加網絡設備CPU的負擔。INT技術原理是這樣的:當業(yè)務報文進入第一臺網絡設備時(INT Source),通過網絡設備上設置的采樣方式采樣并鏡像出該業(yè)務流報文,INT Source在報文中封裝一個INT header,同時定義INT結構,在INT header后添加INT數(shù)據(jù),將需要收集的網絡設備信息填入INT數(shù)據(jù)中;接著業(yè)務報文將被轉發(fā)至下一臺路徑上的網絡設備(INT Transit Hop),INT Transit Hop根據(jù)上一臺設備的INT數(shù)據(jù)內容,繼續(xù)添加本機的INT Metadata 信息;當業(yè)務報文經過所有INT Transit Hop,被轉發(fā)至最后一臺網絡設備(INT Sink),INT Sink將INT Header拆除,同時將路徑信息發(fā)送給監(jiān)控服務器,這樣監(jiān)控服務器就獲得了網絡鏈路狀態(tài)信息,包括:延時、擁塞、丟包等鏈路異常情況。同時,還能快速找到是哪臺網絡設備的哪個端口發(fā)生了故障。INT類似OAM協(xié)議,根據(jù)鏈路設備信息,就能知道報文是怎么走的,哪里有性能瓶頸,解決了網絡轉發(fā)路徑和轉發(fā)時延不可見問題。INT是通過鏡像出來的報文,并不改變原始業(yè)務報文轉發(fā)路徑,INT是采樣方式采集鏡像,僅占很少部分的帶寬。INT通過網絡設備轉發(fā)芯片硬件處理,并不消耗CPU資源,因此需要網絡設備的轉發(fā)芯片支持,F(xiàn)在最新的主流芯片已經支持了INT功能,這才使得INT有了實踐部署的可能,不過它要求整個網絡中所有設備都要支持才行,鏈路每臺設備都要打標,這樣INT才能監(jiān)控準確,這對于已建好的數(shù)據(jù)中心部署有很大難度。一個數(shù)據(jù)中心的網絡設備要全部更換掉,至少要三到五年,而且目前能很好支持INT的網絡設備并不多,價格仍較高,數(shù)據(jù)中心要投入更多資金來建設INT網絡。當然僅監(jiān)控網絡鏈路還不夠,還需要監(jiān)控網絡設備的各種運行狀態(tài),在INT網絡里,顯然沒必要再去部署SNMP了,而是選擇了gRPC(Google Remote Procedure Calls ,谷歌遠程過程調用),gRPC是Google公司開源的一個高性能、跨語言RPC框架,使用HTTP/2協(xié)議,并使用Proto Buffer作為序列化和反序列化的工具。gRPC可以實現(xiàn)周期性推送網絡設備的各種運行狀態(tài)給監(jiān)控服務器,gRPC具有響應速度快,實時性高,采集數(shù)據(jù)全面的優(yōu)點,很好解決了實時數(shù)據(jù)無法有效傳給監(jiān)控服務器的問題。當然,INT的數(shù)據(jù)也可以通過gRPC發(fā)送給監(jiān)控服務器,INT+gRPC奠定了數(shù)據(jù)中心網絡可視化實現(xiàn)的技術基礎。
網絡遙感技術是實現(xiàn)數(shù)據(jù)中心網絡可視化和智能運維的有效手段,尤其是INT技術,對現(xiàn)有的ONT技術進行了徹底改良,拋棄現(xiàn)有所有的實現(xiàn)方式,真正地實現(xiàn)網絡業(yè)務端到端的流量可視化,打破“網絡黑盒”束縛,為網絡監(jiān)控提供精準實時的數(shù)據(jù)支撐?梢灶A見,在不久的將來,INT將會替代ONT,實現(xiàn)真正的網絡可視化和智能運維。
