隨著數(shù)據(jù)中心架構(gòu)的發(fā)展和Vxlan、RDMA等新技術(shù)的應(yīng)用,傳統(tǒng)的SNMP等運維手段已經(jīng)無法滿足當前IDC運維需求。更大規(guī)模、更復(fù)雜的云數(shù)據(jù)中心和高性能計算集群都對運維提出了更高的要求,如何找到更加精細化、智能化的運維手段,實現(xiàn)對網(wǎng)絡(luò)更高效、及時地監(jiān)控和運維,成為數(shù)據(jù)中心網(wǎng)絡(luò)運維面臨的一大挑戰(zhàn)。
在前幾期的《技術(shù)盛宴》欄目中,我們介紹了基于交換機硬件芯片的INT(In-band Network Telemetry,帶內(nèi)網(wǎng)絡(luò)遙測技術(shù))技術(shù)實現(xiàn)運維可視化的方案(點擊查看文章),本文將在前文基礎(chǔ)上詳細介紹INT技術(shù)具體如何實現(xiàn)運維可視化。
INT技術(shù)背景及可視化方案
Telemetry是一項遠程的從物理設(shè)備或虛擬設(shè)備上高速采集數(shù)據(jù)的技術(shù)。設(shè)備通過推模式(Push Mode)主動向采集器推送設(shè)備數(shù)據(jù)信息,提供更實時更高效的數(shù)據(jù)采集能力。
▲ Telemetry模型
Telemetry技術(shù)采取推送方式,由設(shè)備主動向后臺監(jiān)控服務(wù)器推送自身信息,從而避免了查詢模式下查詢請求造成的在網(wǎng)絡(luò)中的額外延時,以及大量查詢請求給網(wǎng)絡(luò)和設(shè)備帶來的壓力。與傳統(tǒng)的SNMP、CLI、SYSLOG等方式相比,Telemetry可以實現(xiàn)亞秒級監(jiān)控精度。理論上,通過Telemetry技術(shù)可以獲取設(shè)備所有信息。
INT技術(shù)是由Barefoot、Arista、Dell、Intel和VMware在Telemetry的基礎(chǔ)上共同提出的一種新的Telemetry模型。INT技術(shù)是通過在數(shù)據(jù)層面收集和報告網(wǎng)絡(luò)的狀態(tài)來實現(xiàn)對網(wǎng)絡(luò)狀態(tài)的監(jiān)控,這個過程不需要控制層面的參與。
INT架構(gòu)模型中的術(shù)語:
●INT header:任何包含INT信息的packet header;
●INT Source:在報文中嵌入INT header的設(shè)備;
●INT Instruction:收集數(shù)據(jù)信息的定義;
●INT Metadata:監(jiān)控對象信息,即在每臺設(shè)備上收集的數(shù)據(jù)信息;
●INT Transit Hop:加入本設(shè)備節(jié)點INT Metadata信息的設(shè)備;
●INT Sink:拆除INT header報文頭,并收集上送INT Metadata信息的設(shè)備。
基于INT實現(xiàn)運維可視化的具體流程:
1、業(yè)務(wù)報文進入第一臺交換機(INT Source),通過交換機上設(shè)置的采樣方式采樣并鏡像出該業(yè)務(wù)流報文,INT Source在報文中封裝一個INT header,同時定義INT Instruction,并在INT header后添加INT Metadata,將需要收集的交換機信息填入INT Metadata 中。
2、報文轉(zhuǎn)發(fā)至下一臺路徑上的交換機(INT Transit Hop),INT Transit Hop根據(jù)上一臺設(shè)備的INT Metadata內(nèi)容繼續(xù)添加本機的INT Metadata 信息。
3、經(jīng)過所有INT Transit Hop,報文轉(zhuǎn)發(fā)至最后一臺交換機(INT Sink),INT Sink將INT Header拆除,并將其中的路徑信息通過gRPC報文發(fā)送給后端的監(jiān)控服務(wù)器進行解析和呈現(xiàn)。
▲ 可視化網(wǎng)絡(luò)
通過上圖我們可以清楚地了解到INT的具體流程,簡單地說INT就是在報文轉(zhuǎn)發(fā)路徑上的每臺設(shè)備上收集Metadata數(shù)據(jù),通過對Metadata數(shù)據(jù)的分析來準確監(jiān)控網(wǎng)絡(luò)狀態(tài)。那么Metadata中有哪些數(shù)據(jù)可以提供給我們來監(jiān)控網(wǎng)絡(luò)呢?
INT Metadata報文信息詳解
INT Metadata報文格式:
從上圖中可以看到INT Metadata報文包含8個字節(jié)的報文頭和多個Metadata數(shù)據(jù),每個Metadata數(shù)據(jù),即每一跳設(shè)備收集的數(shù)據(jù)信息。
INT Metadata報文頭中包含幾個關(guān)鍵的字段:
●Ver(2bit):版本號;
●Flags(9bit):包括復(fù)制允許、超過最大跳數(shù)置位等以及5bit的Reserved預(yù)留;
●Instruction Count(5bit):Metadata中收集數(shù)據(jù)項的數(shù)量;
●Max Hop Count(8bit):最大跳數(shù),即報文中可封裝的Metadata數(shù)據(jù)的最大數(shù)量;
●Total Hop Count(8bit):當前總跳數(shù),即當前報文中封裝的Metadata數(shù)據(jù)的數(shù)量;
●Instruction Bitmap(8bit):Metadata數(shù)據(jù)的具體內(nèi)容。
Instruction Bitmap 字段8個bit分別對應(yīng)8個數(shù)據(jù)選項,每個bit的置位代表該項數(shù)據(jù)需要收集到Metadata中。
●bit0:交換機ID
●bit1:入端口號
●bit2:轉(zhuǎn)發(fā)時間
●bit3:隊列占用
●bit4:入時間戳
●bit5:出端口號
●bit6:隊列擁塞狀態(tài)
●bit7:出端口鏈路利用率
舉個例子,上圖是一個INT Metadata報文頭,我們看下其中的具體信息:
●Instruction Count字段數(shù)值為2,表示Metadata中共收集兩項數(shù)據(jù);
●Max Hop Count字段數(shù)值為16,表示最大支持16跳,可封裝16個Metadata數(shù)據(jù);
●Total Hop Count字段數(shù)值為3,表示當前為第3跳,報文已封裝了3個Metadata數(shù)據(jù);
●Instruction Bitmap字段,2個bit置位,表示Metadata數(shù)據(jù)中包含兩個數(shù)據(jù)項,交換機ID(bit0)和隊列占用(bit3);
●Metadata數(shù)據(jù)部分即為每一跳交換機封裝的交換機ID以及隊列占用信息。
總結(jié)一下,INT技術(shù)可以基于交換機芯片提供的可視化能力,通過收集分析數(shù)據(jù)報文在交換機網(wǎng)絡(luò)中轉(zhuǎn)發(fā)的詳細信息,實現(xiàn)流量轉(zhuǎn)發(fā)的路徑可視化和延時可視化,為實現(xiàn)數(shù)據(jù)中心網(wǎng)絡(luò)運維可視化提供了新的解決方案。銳捷網(wǎng)絡(luò)新一代25G/100G數(shù)據(jù)中心網(wǎng)絡(luò)解決方案已全面支持INT功能,歡迎留言交流。
感謝您關(guān)注銳捷網(wǎng)絡(luò)《技術(shù)盛宴》專欄!現(xiàn)誠邀您參與有獎?wù){(diào)研,您寶貴的意見和建議將幫助我們在技術(shù)探索與分享上持續(xù)精進。
掃描下方二維碼或點擊此處直接進入調(diào)研問卷。