NetFlow er en netværksprotokol designet til at tage højde for netværkstrafik, udviklet af Cisco Systems . Det er de facto industristandarden og understøttes ikke kun af Cisco-udstyr, men også af mange andre enheder (især Juniper , ZTE og Enterasys ). Der er også gratis implementeringer til UNIX -lignende systemer.
Der findes flere versioner af protokollen, hvoraf den mest almindelige for 2011 er version 5 og 9. Med udgangspunkt i version 9 blev der også udviklet en åben standard kaldet IPFIX (Internet Protocol Flow Information eXport, IP flow information export ). [1] [2]
For at indsamle oplysninger om trafik ved hjælp af NetFlow-protokollen kræves følgende komponenter:
NetFlow bruger UDP eller SCTP til at sende trafikdata til indsamleren. Typisk lytter samleren på port 2055, 9555 eller 9995.
Sensoren vælger strømme fra den forbipasserende trafik , kendetegnet ved følgende parametre:
Et flow er en samling af pakker, der bevæger sig i samme retning. Når sensoren bestemmer, at streamen er afsluttet (ved at ændre pakkeparametrene eller ved at nulstille TCP-sessionen), sender den information til samleren. Afhængigt af indstillingerne kan den også med jævne mellemrum sende information om stadig kørende flows til indsamleren.
De indsamlede oplysninger sendes som poster, der indeholder følgende parametre (for version 5):
Version 9 understøtter også yderligere felter såsom IPv6 -headere, MPLS - flowetiketter og BGP -gateway-adresse . Nogle sensorer understøtter muligvis også et autonomt systemnummer .
Hvis UDP bruges, vil en post, der er mistet på grund af netværksproblemer, ikke blive modtaget af indsamleren. Samleren kan bestemme pakketabet ud fra værdierne af indgangsnummeret, som ifølge standarden skal være stigende.
Hvis en netværksenhed (router eller switch) fungerer som en sensor, så er NetFlow kun aktiveret for de grænseflader, som de ønsker at indsamle statistik på, for at spare ressourcer.
"Samplet NetFlow" bruges også til at spare CPU-ressourcer. I dette tilfælde analyserer sensoren ikke alt, men hver n-te pakke, hvor n kan indstilles administrativt eller vælges tilfældigt. Når du bruger samplet NetFlow, er de opnåede værdier ikke nøjagtige, men estimater.