NetFlow 是最初由 Cisco 開發的網路標準,可以收集 IP 流量資訊以及監控網路遙測資料。支援 NetFlow 的交換器或路由器 (即所謂的匯出器) 產生聚合流量統計,提供頻寬利用率、通訊合作夥伴和用戶端活動的概覽。
最常使用的格式為 NetFlow v5。在 jFlow、sFlow 或 NetStream 等各種專有格式中出現了獨立的 IPFIX 格式,以滿足擷取更多種資料集的需求。
Network 流量監控從封包擷取時產生與底層資料傳輸之統計以及通訊本身有關的主題 (不會儲存通訊內容)。這些統計代表網路中的流量資料,可以視為與通話清單類似。網路和安全性維運團隊可以瞭解誰與誰通訊、何時、時間長度以及頻率。使用資料網路環境的語言來說,他們監控 IP 位址、資料量、時間、連接埠、協定,且可以透過各種協定的延遲測量和應用程式層資料進一步豐富這些資訊。
從用戶端傳送要求至伺服器時 (綠色信封),具有 NetFlow 匯出功能的使用中裝置會檢視封包標頭,並建立流量紀錄。流量紀錄包含來源與目的地 IP 位址和連接埠、協定號碼、位元組及封包數的相關資訊,以及來自第 3 和第 4 層的所有其他資訊。使用來源與目的地 IP 位址、連接埠和協定號碼識別個別資料網路通訊。
由網路元件 (路由器、交換器) 或專用的獨立硬體探測器提供 NetFlow 統計。探測器是屬於被動式裝置,使用透明化方式連線至受監控的網路,根據網絡流量之複本建立精確與詳細的流量統計。此方法可以克服以路由器為基礎之 NetFlow 監控的各種效能和功能限制。
最重要的是檢查路由器/交換器文件,確認其支援 NetFlow 以及支援哪一個版本。通常必須測試是否如此 — 較舊的節點有時候可能會發生效能問題,而無法提供精確的統計,或受監控網路流量特性的範圍有限。從路由器或交換器擷取的 NetFlow 資料,是網路流量的抽象表示。流量統計是為了聚合網路流量而建立,包含來自 IP 標頭的基本 L3/L4 遙測資料,例如 IP、連接埠、協定或服務類型。不會儲存通訊內容,因此相較於儲存完整封包軌跡,可以達到的聚合率大約為 500:1。表示 NetFlow 匯出消耗的頻寬大約為 0.2%。
專用匯出器可以利用靈活的 IPFIX 格式,透過封包酬載中的應用程式層資訊,豐富 NetFlow 資料欄位,以更深入瞭解網路流量,同時維持 250:1 或 0.4% 至 0.5% 頻寬的聚合率。將可帶來詳細資訊,同時保留擴充性,提供資料通訊方面的洞察、靈活的報告功能,以及運作問題有效的故障排除和安全性事件偵測。此方法可以處理高達 95% 的網路事件。
此類資料可以分析流量結構、識別傳輸大量資料的終端站或排除網路問題和錯誤配置。換句話說,其提供之詳細資訊可以處理大約 80% 的網路事件,如 Gartner 自 2012 年以來的報告所述。但是,NetFlow 資料的詳細程度可能不足以進行進一步的故障排除、鑑識或效能監控。
從 IPFIX 獲得的資料。除 NETFLOW 統計外,在第 9、10 和 11 欄中呈現出應用程式資料 (主機名稱、平均往返時間和平均伺服器回應時間)。
L2 | L3/4 | L7 | L7 (續) |
---|---|---|---|
MAC | 標準項目 | NBAR2 | SMB/CIFS |
VLAN | NPM 指標 (RTT、SRT 等) | HTTP | VoIP (SIP) |
MPLS | TTL、SYN 大小等 | SNI | 電子郵件 |
GRE 隧道 | ASN (BGP) | DNS | SQL |
OTV | 地理位置 | DHCP | SSL/TLS |
SNMP (簡易網路管理協定) 是傳統與簡單的 IT 基礎架構資源方法,最初是為網路管理而設計。它從網路裝置收集資料,提供與其可用性和狀態有關的資訊 (CPU 和 RAM 利用率、網路裝置消耗多少頻寬等)。在受管理裝置上執行的代理程式,透過 SNMP將要求的資訊報告給管理員。
流量資料技術主要是以 NetFlow 和 IPFIX 為代表,一種被動、無代理程式的技術,專用於透過多種維運和安全應用程式進行網路監控。它提供全面性的資訊,包括誰與誰通訊、何時、時間多長、頻繁度 (IP 位址、資料量、時間、連接埠、協定以及第三和第四網路層之 TCP/IP 通訊的其他技術特性)。使用 NetFlow 監控網路流量會產生與底層資料傳輸以及通訊本身主題有關的統計 (不會儲存通訊內容)。
為了充分說明差異,讓我們想像一下發生非預期流量異常及網路流量大幅增加的情況 — SNMP 為管理員提供與網路介面之封包數量和傳輸資料量增加有關的資訊。但是還有什麼?此異常的根源是什麼?哪一個裝置導致流量增加?此情況涉及哪些協定和服務?這些都是傳統 SNMP 基礎架構監控無法解答的問題。它不會調查網路流量本身,因此沒有與其結構有關的資訊。在此情況下,NetFlow即可派上用場。
NetFlow 具有多種標準與專有形式,每一種功能和使用性都各不相同。
NetFlow v5 | 許多路由器和交換器都支援原始的 Cisco 流量監控標準。聚焦於 L3/L4 網路資訊的固定格式和屬性集。由於諸多限制 (例如缺少 IPv6 流量資訊或不具可延伸性),現在已被視為過時。許多監控工具和應用程式皆可支援。 |
---|---|
NetFlow v9 | 延伸流量監控標準,處理第 5 版的限制。提供 IPv6 流量監控、來自 L2 的資訊,例如 MAC 位址或 VLAN 標籤。RFC 3954 中涵蓋詳細資訊。 |
Flexible NetFlow | Cisco 標準,與 NetFlow 第 9 版類似,在流量匯出配置、關鍵欄位自訂 (如何將封包聚合成流量) 以及匯出哪些資訊方面具有更高的彈性。Flexible NetFlow 透過根據酬載識別應用程式的 NBAR2 (以網路為基礎的應用程式辨識) 技術,將監控延伸至 L7。 |
IPFIX (NetFlow v10) | 獨立的國際標準,讓 Flowmon Probe 等流量式監控工具的供應商可以定義各自的協議延伸,以從 L2 到 L7 匯出幾乎任何資訊。Flowmon 為此項技術的先驅,自 2012 年起提供許多應用程式協定的可視性,並持續擴大支援的協定範圍。此關鍵技術可以提供獨特的網路可視性,不需要連續封包擷取,NetOps 與 SecOps 是整合在單一平台中,並在多 100G 環境中進行擴充。RFC 7011 至 RFC 7015 以及 RFC 5103 涵蓋 IPFIX 規格。在 Cisco 環境中,IPFIX 通常稱為 NetFlow v10。由 IETF 標準化。 |
jFlow | Juniper 流量監控標準有 v5 和 v9 版本。相較於 NetFlow,主要差異在於為整個網路工作階段保留匯出流量資料的時間戳記,而需要在收集器端進行一些不同的處理。一般而言,此標準與 NetFlow 相容。 |
NetStream | 華為流量監控標準有第 5 版和第 9 版。此標準與 NetFlow 相容。 |
cflow | Alcatel-Lucent 流量監控標準有第 5 版和第 9 版。此標準與 NetFlow 相容,但是通常僅以取樣流量資料的形式提供。 |
NEL / NSEL | NEL 代表 Network Event Logging (網路事件紀錄),係指來自網路位址轉譯的紀錄。NSEL 代表 Network Security Event Logging (網路安全事件紀錄),係指 Cisco ASA 產生的防火牆紀錄。NetFlow v9 是使用於將這些紀錄傳輸至收集器,但是不能將這些資料視為真實的 NetFlow,因為 NEL 或 NSEL 中提供的資訊無法重建真實網路流量圖表。 |
sFlow | sFlow 是使用於監控高速交換網路的業界標準技術。與 NetFlow 相反,此技術不是以流量快取以及將從封包擷取的中繼資料聚合成流量的概念運作。取樣的封包標頭是編碼為與 NetFlow 類似的格式,並匯出至收集器。由於取樣率高 (通常為 1:1000),導致此資料的準確度不足,無法處理故障排除使用案例或以網路為基礎的異常偵測。另一方面,此類資料很容易產生,所以 sFlow 標準可以由入門級企業交換器支援。 |
NetFlow Lite | NetFlow Lite 是 sFlow 的 Cisco 版本,包含所有與此技術有關的優缺點。 |
FlowLogs | FlowLogs 是公用雲端平台提供的新興技術,可以使用以流量為基礎的方法監控網路流量。FlowLogs通常是透過特定雲端平台的特殊 API ,以類似 CSV 的格式或 JSON 格式提供,需要轉換成傳統流量格式,才能在標準流量監控平台上收集和進一步處理。在 Amazon AWS 中,此技術稱為 VPC FlowLogs。在 Microsoft Azure 中,此技術稱為 NSG FlowLogs。 |
Cisco、HP、華為、Juniper Networks、Alcatel、Extreme Networks 等
Check Point、Palo Alto、Sonic Wall、VMware、LoadMaster 負載平衡器等
Keysight、Gigamon、Cubro 等