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