網路量測、管理與效能

NetFlow

/ NET-flow /

在繁忙的網路上記錄每一個封包,就像把一座城市郵政裡的每一封信都影印存檔——精確,但龐大到不可能。很多時候你根本不需要內容;你只需要知道誰寫給誰、多常寫、寫了多少。NetFlow 就是網路用來保有這本輕量帳冊的方式:路由器不存封包,而是把它們歸成流(flow),並為每條流匯出一份簡短摘要。這是記帳,不是竊聽。

一條流是在一段時間內共用相同鍵(key)的所有封包——通常是相同的來源與目的 IP 位址、相同的來源與目的連接埠,以及相同的協定。封包經過時,路由器為每條流維護一筆小記錄,累計封包數、位元組數、起訖時間與少數幾個旗標。當流結束或計時器到期,路由器把那筆記錄匯出到一個收集器(collector),由它儲存並產生報表。結果是一份精簡、可查詢的歷史,記載誰對誰說了話、說了多少——而所佔的儲存空間只是完整封包擷取所需的極小一部分。IPFIX 是 IETF 標準化、繼承 Cisco NetFlow 的後繼者,而 sFlow 是一種以封包抽樣為基礎的相關做法。

要理解它給你什麼、不給你什麼。NetFlow 記錄的是中介資料(metadata)——標頭與計數——而不是酬載,所以它告訴你主機 A 用連接埠 443 送了 4 GB 給主機 B,卻不告訴你那些位元組裡有什麼。為了在高速連結上擴展,多數部署會抽樣,每 N 個封包匯出一個,這使得總量是統計估計值而非精確計數。它是流量計費、容量規劃、計費,以及察覺異常(如突發的流量尖峰或意料之外的目的地)的主力——一個被動的、摘要層級的視角,與封包擷取逐位元組的細節互補。

一個 NetFlow 收集器顯示一筆記錄:來源 10.0.5.12、目的 203.0.113.7、協定 TCP、目的連接埠 443、18,402 個封包、24.6 MB、09:14:02 到 09:14:51。從數千行這樣的記錄,你可以依主機或連接埠畫出總流量圖——而完全不必儲存任何一個封包的內容。

NetFlow 為每條流匯出一份精簡摘要(標頭與計數,而非酬載)——一本記載誰對誰說話、說了多少的輕量帳冊。

NetFlow 記錄的是中介資料,不是酬載,所以它顯示誰、多少,卻從不顯示什麼。而為了在高速連結上擴展,它通常每 N 個封包抽一個,使位元組與封包總量是統計估計值而非精確計數。

又称
IPFIXflow recordflow-level monitoringsFlow (related)流量記錄