NetFlow är ett nätverksprotokoll utformat för att ta hänsyn till nätverkstrafik, utvecklat av Cisco Systems . Det är de facto industristandarden och stöds inte bara av Cisco-utrustning utan också av många andra enheter (särskilt Juniper , ZTE och Enterasys ). Det finns också gratis implementeringar för UNIX -liknande system.
Det finns flera versioner av protokollet, varav de vanligaste för 2011 är version 5 och 9. Utifrån version 9 utvecklades även en öppen standard kallad IPFIX (Internet Protocol Flow Information eXport, IP flow information export ). [1] [2]
För att samla in information om trafik med NetFlow-protokollet krävs följande komponenter:
NetFlow använder UDP eller SCTP för att skicka trafikdata till insamlaren. Vanligtvis lyssnar samlaren på port 2055, 9555 eller 9995.
Sensorn väljer strömmar från den passerande trafiken , kännetecknad av följande parametrar:
Ett flöde är en samling paket som färdas i samma riktning. När sensorn fastställer att strömmen har avslutats (genom att ändra paketparametrarna eller genom att återställa TCP-sessionen), skickar den information till insamlaren. Beroende på inställningarna kan den också periodvis skicka information om fortfarande pågående flöden till samlaren.
Den insamlade informationen skickas som poster som innehåller följande parametrar (för version 5):
Version 9 stöder även ytterligare fält som IPv6- rubriker, MPLS -flödesetiketter och BGP -gatewayadress . Vissa sensorer kan också stödja ett autonomt systemnummer .
Om UDP används kommer en post som går förlorad på grund av nätverksproblem inte att tas emot av insamlaren. Samlaren kan bestämma paketförlusten från värdena på ingångsnumret, som enligt standarden måste öka.
Om en nätverksenhet (router eller switch) fungerar som en sensor, är NetFlow aktiverat för att spara resurser endast för de gränssnitt som de vill samla in statistik på.
"Sampled NetFlow" används också för att spara CPU-resurser. I det här fallet analyserar sensorn inte allt, utan vart n:e paket, där n kan ställas in administrativt eller väljas slumpmässigt. När du använder samplade NetFlow är de erhållna värdena inte exakta, utan uppskattningar.