Sflow(RFC3176)
Sflow其實(shí)算不上新技術(shù)募型,這幾年幾乎已經(jīng)所有的網(wǎng)絡(luò)設(shè)備都能支持指晾。Sflow實(shí)現(xiàn)了網(wǎng)絡(luò)流量的采樣和推送,通過Sflow采集最原始的數(shù)據(jù)信息哀揽,以IP報(bào)文格式的形式發(fā)往服務(wù)器理斜,由專門的分析工具解析,然后根據(jù)這些采集的數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析睬肮。Sflow是采樣方式收集數(shù)據(jù)伐薯,采樣比越高獲取的數(shù)據(jù)越真實(shí),但采樣比越高匣诉,設(shè)備CPU壓力就越大诡岂。Sflow采樣報(bào)文是經(jīng)過網(wǎng)絡(luò)設(shè)備CPU收集,然后再發(fā)向服務(wù)器的曾瞪,采集的數(shù)據(jù)太多啥葡,會(huì)對網(wǎng)絡(luò)設(shè)備CPU形成攻擊,可能影響設(shè)備的正常協(xié)議處理潜呻,影響業(yè)務(wù)政模。所以岗宣,要謹(jǐn)慎使用Sflow,即便使用也要根據(jù)設(shè)備流量大小淋样,確認(rèn)好采樣比耗式。Sflow使用的局限性讓人想到用硬件實(shí)現(xiàn)數(shù)據(jù)采集,比如FPGA趁猴、Netstream硬件設(shè)備刊咳,這樣采集數(shù)據(jù)性能雖會(huì)有很大提升,但運(yùn)維的投入成本(購入支持FPGA的板卡或Netstream硬件設(shè)備)會(huì)上去儡司。另一方面娱挨,網(wǎng)絡(luò)設(shè)備的CPU、Memory捕犬、網(wǎng)絡(luò)擁塞和網(wǎng)絡(luò)事件的日志信息也無法通過Sflow實(shí)時(shí)傳遞出來跷坝。所以,Sflow技術(shù)一直不溫不火碉碉,并未得到絕大多數(shù)人的認(rèn)可柴钻,使用時(shí)還要配合著SNMP來用,一個(gè)網(wǎng)絡(luò)中要部署多個(gè)監(jiān)控系統(tǒng)垢粮,可視化看到的都是部分網(wǎng)絡(luò)淫蜕,并非全部。
gRPC(GoogleRemoteProcedureCalls抬奠,谷歌遠(yuǎn)程過程調(diào)用)
網(wǎng)絡(luò)運(yùn)維在可視化上的窘態(tài)引起了互聯(lián)網(wǎng)技術(shù)人員的注意肩检,谷歌發(fā)布了一個(gè)開源的RPC框架,RPC定義了客戶端和服務(wù)端進(jìn)行通信的數(shù)據(jù)結(jié)構(gòu)蚓绞,服務(wù)端提供的服務(wù)等泉疆,然后編譯生成相應(yīng)的代碼供客戶端和服務(wù)端使用,gRPC是RPC框架正式的實(shí)現(xiàn)版本婴悠,在2015年初開源的通信框架匀枪。gRPC采用了protocolbuffer來做數(shù)據(jù)的序列化與反序列化,用http2作為數(shù)據(jù)傳輸協(xié)議罐闰,性能更優(yōu)凿栅。在網(wǎng)絡(luò)設(shè)備上集成gRPC應(yīng)用,網(wǎng)絡(luò)設(shè)備就相當(dāng)于gRPC客戶端角色噪芭,監(jiān)控服務(wù)器相當(dāng)于gRPC服務(wù)器角色涝露,網(wǎng)絡(luò)設(shè)備主動(dòng)向監(jiān)控服務(wù)器發(fā)起gRPC通道建立和連接。gRPC可以靈活定義數(shù)據(jù)格式和數(shù)據(jù)推送的閾值楞艾,從而實(shí)現(xiàn)網(wǎng)絡(luò)設(shè)備自身運(yùn)行狀態(tài)的主動(dòng)推送數(shù)據(jù)能力参咙,實(shí)現(xiàn)周期性推送網(wǎng)絡(luò)設(shè)備豐富的運(yùn)行狀態(tài),尤其當(dāng)發(fā)生緩存不足導(dǎo)致的丟包時(shí)硫眯,也會(huì)實(shí)時(shí)通知給監(jiān)控服務(wù)器蕴侧,實(shí)現(xiàn)網(wǎng)絡(luò)運(yùn)行數(shù)據(jù)的可視化择同。表1列舉了gRPC與傳統(tǒng)可視化技術(shù)的對比:
顯然,gRPC具有響應(yīng)速度快净宵,實(shí)時(shí)性高敲才,采集數(shù)據(jù)全面的優(yōu)點(diǎn)。
INT(In-bandNetworkTelemetry帶內(nèi)網(wǎng)絡(luò)遙測)
INT是由Barefoot择葡、Arista紧武、Dell、Intel和VMWARE共同提出的技術(shù)敏储。INT是被設(shè)計(jì)用來收集和報(bào)告網(wǎng)絡(luò)狀態(tài)的一個(gè)框架阻星,它通過數(shù)據(jù)平面實(shí)現(xiàn),不需要控制平面的干涉已添,F(xiàn)acebook根據(jù)這個(gè)協(xié)議和相應(yīng)廠商的網(wǎng)絡(luò)設(shè)備設(shè)計(jì)了一套系統(tǒng)妥箕,未來可能會(huì)開源。INT的思想是在第一跳的網(wǎng)絡(luò)設(shè)備上收到相應(yīng)報(bào)文露您,對其進(jìn)行封裝特定報(bào)文飘缨,然后扔給下一跳吗修,直到最后一跳網(wǎng)絡(luò)設(shè)備烙欧,每一跳網(wǎng)絡(luò)設(shè)備都會(huì)收集相應(yīng)的信息,封在報(bào)文里面鼠泊。最后耙侵,在最后一跳網(wǎng)絡(luò)設(shè)備剝離報(bào)文里面收集到的信息,然后把原始報(bào)文扔給服務(wù)器耽坤,收集到的網(wǎng)絡(luò)設(shè)備信息扔給監(jiān)控端處理宝庵。這樣即不影響正常業(yè)務(wù)轉(zhuǎn)發(fā),又能收集到經(jīng)過網(wǎng)絡(luò)設(shè)備的信息瘸酒,在黑盒不知道網(wǎng)絡(luò)拓?fù)涞那闆r下還能探測出網(wǎng)絡(luò)拓?fù)渲蔡肌3醪絽f(xié)議給定的有:交換機(jī)ID、入端口信息钙幼、入端口時(shí)間戳雳唧、出端口ID、出端口時(shí)間戳仿村、出端口鏈路利用率锐朴,緩存信息。INT是一個(gè)類似OAM的協(xié)議蔼囊,INT根據(jù)沿路設(shè)備的信息焚志,就能夠知道報(bào)文怎么走的,哪里有性能瓶頸畏鼓,解決了網(wǎng)絡(luò)轉(zhuǎn)發(fā)路徑和轉(zhuǎn)發(fā)時(shí)延不可見的問題酱酬。要注意的是:“INT推薦在數(shù)據(jù)面處理壶谒,不推薦控制面處理以體現(xiàn)真實(shí)情況。”利用INT技術(shù)能很快定位網(wǎng)絡(luò)丟包和延遲問題膳沽,通過軟件打標(biāo)記是無法實(shí)現(xiàn)INT的高效處理的佃迄,必須需要網(wǎng)絡(luò)設(shè)備硬件支持。
網(wǎng)絡(luò)運(yùn)維的可視化還有很長的路要走贵少,sflow呵俏、gRPC、INT等都是可視化具體實(shí)現(xiàn)技術(shù)滔灶,尤其gRPC和INT技術(shù)還沒有得到廣泛使用普碎,現(xiàn)有數(shù)據(jù)中心的絕大部分設(shè)備還無法支持這種新技術(shù),網(wǎng)絡(luò)設(shè)備的更新?lián)Q代需要數(shù)年時(shí)間拿翠,所以這些新技術(shù)只有在新建的數(shù)據(jù)中心網(wǎng)絡(luò)中才能有機(jī)會(huì)出現(xiàn)陡顶,能支持INT功能的網(wǎng)絡(luò)設(shè)備必然具有芯片自編程能力,這對網(wǎng)絡(luò)設(shè)備提出了更高要求允合。除了以上介紹的這三種可視化技術(shù)段鲜,還有微軟在2015年提出的Pingmesh技術(shù),以及依然是微軟在2015年提出的Everflow技術(shù)泌盒,還有Netsight(具體采用的Openflow協(xié)議)潦寂、ATPG、Planck等等筛密,這些都是這兩年出現(xiàn)的可視化技術(shù)捡路,雖然沒有g(shù)RPC、INT影響力大鸭乱,但技術(shù)也在不斷完善中悍蔫,未來也不好說哪些技術(shù)一定能勝出,哪些技術(shù)會(huì)直接淘汰橱奶,去讓時(shí)間證明一切吧盯桦。