Jaka jest różnica między netFlow a sFlow?


Odpowiedzi:


22

NetFlow to protokół służący do eksportowania sumarycznych przepływów IP. Jako taki dobrze nadaje się do rozliczania ruchu IP na routerach internetowych. Dzięki Netflow V9 (AKA IPFIX może również sprawdzać ruch w warstwie 2)

sFlow to technologia systemu pomiaru ruchu w sieci ogólnego przeznaczenia. sFlow został zaprojektowany do wbudowania w dowolne urządzenie sieciowe i zapewnia ciągłą statystykę dowolnego protokołu (L2, L3, L4 i do L7), dzięki czemu cały ruch w sieci może być dokładnie scharakteryzowany i monitorowany. Statystyki te są niezbędne do kontroli zatorów, rozwiązywania problemów, nadzoru bezpieczeństwa, planowania sieci itp. Mogą być również wykorzystywane do celów rozliczania IP.

Netflow odzwierciedla cały ruch i obciąża procesor, gdy jest wykorzystywany.

SFlow to technologia próbkowania pakietów, w której przełącznik przechwytuje każdy setny pakiet (konfigurowalny) na interfejs i wysyła go do kolektora. sFlow jest wbudowany w układ ASIC i minimalizuje obciążenie procesora.

Netflow obsługiwany przez Cisco, Juniper, Alcatel Lucent, Huawei, Enterasys, Nortel, VMWare

sFlow obsługiwany przez Alaxala, Alcatel Lucent, Allied Telesis, Arista Networks, Brocade, Cisco, Dell, D-Link, Enterasys, Extreme, Fortinet, Hewlett-Packard, Hitachi, Huawei, IBM, Juniper, LG-Ericsson, Mellanox, MRV, NEC, Netgear, Proxim Wireless, Quanta Computer, Vyatta, ZTE i ZyXEL ( patrz link sFlow )


1
Koncepcja próbkowania ma zastosowanie do netflow / ipfix, podobnie jak w przypadku sflow
Brad Hein

Pomijając próbkowanie, w jaki sposób dwa pakiety z tego samego ruchu różnią się w Netflow i sFlow. Może porównasz je z surowym pakietem powiedzmy tcpdump? Różnica wciąż nie jest dla mnie krystalicznie czysta.
Nagev

7

Jedyna różnica polega na tym, że „NetFlow jest własnością Cisco, a sFlow nie” nie jest do końca poprawna.

Początkowo NetFlow działał jako firma Cisco, ale w pewnym sensie działał tak samo jak GRE lub EIGRP. Od wersji NetFlow v5 została zaimplementowana i obsługiwana na sprzęcie innych dostawców.

Główną różnicą między NetFlow i sFlow jest to, że NetFlow jest ograniczony tylko do IP, podczas gdy sFlow ma możliwość próbkowania wszystkiego (niezależnie od warstwy sieci).

EDYCJA: Powyższe wydaje się być niepoprawne (przynajmniej zgodnie ze standardem IPFIX). Znalazłem następujący post na blogu (ostrzeżenie: wydaje się, że jest to adres URL specyficzny dla „sflow”, więc weź go z odrobiną soli, jeśli chcesz), dość dobrze zarysowuje różnice między specyfikacją IPFIX a sFlow


4
NetFlow v9 i v10 (IPFIX) wysyłają okresowo komunikat szablonu, który mówi, jak czytać próbki, ten szablon jest bardzo elastyczny i można go dowolnie rozszerzać. iana.org/assignments/ipfix/ipfix.xml pokazuje, jakie standardy obsługuje obecnie, a typy ethernetowe, dmac, smac itp. już tam są. sFlow otoh jest statyczny, jeśli sFlow5 nie obsługuje tego, co chcesz zrobić, potrzebujesz zupełnie nowego protokołu sFlow, podczas gdy w IPFIX wcale nie musisz go zmieniać.
Ytti

Bardzo interesujące! Dzięki za link. Pokazuje, jak bardzo nadążałem za NetFlow. :-) Zastanawiam się, co sFlow sprowadza szczupaka. Wydawałoby się, że „fani sFlow” powiedzieliby po prostu „cokolwiek przez Ethernet” jako przeciwwskazanie do konieczności definiowania nowych pól IPFIX. Istnieje również wiele algorytmów próbkowania używanych przez NetFlow / IPFIX w porównaniu do tylko jednego sFlow.
John Jensen

1
Jako FYI, L2 netflow jest dostępny na wielu platformach Cisco z wykorzystaniem v9 lub ostatnio IPFIX.
rnxrx

Dzięki, ale zostało to już wskazane w komentarzach powyżej. :-)
John Jensen

1
Niezależny dostawca z głęboką wiedzą na ten temat mówi: plixer.com/blog/netflow/… . Należy również rozważyć, czy dana platforma obsługuje NetFlow / sFlow w sprzęcie lub oprogramowaniu.
generalnetworkerror

2

Urządzenia Cisco próbują agregować przepływy (można je traktować jako konwersacje), a następnie eksportować informacje o nich do kolektora. Wymaga to pamięci do ich buforowania.

sFlow ma dwa główne komponenty: jeden, w którym okresowo eksportuje statystyki, takie jak liczniki interfejsów i użycie procesora do kolektora, i jeden, w którym losowo przechwytuje 1 w N (konfigurowalne, zwykle 512 do 32768) ramki, które przechodzą przez router, oraz wyeksportuj pierwsze 256 bajtów. Następnie możesz przeprowadzić analizę statystyczną ruchu przepływającego przez sieć.

Próbki pakietów sFlow są wzbogacone o informacje z tabeli routingu, takie jak ścieżki AS. Jest także agnostyczny v4 i v6, w przeciwieństwie do NetFlow, co zmusza cię do niewygodnego kompromisu w zależności od rodzaju danych, które chcesz otrzymać.

NetFlow cierpi z powodu czasów, w których routing oparty na przepływie nie był jeszcze uważany za żart; sFlow cierpi z powodu braku formatu TLV, więc implementacja rozszerzeń dostawców w przenośny sposób jest prawie niemożliwa.


Niektóre wprowadzające w błąd komentarze tutaj ... NetFlow korzysta z pamięci podręcznej i może być agregowana / nie agregowana, próbkowana lub nie - to cechy charakterystyczne gromadzonych danych i od Ciebie zależy, czy je zdefiniujesz. Dane NetFlow mogą również zawierać dane „takie as paths "i nie jest to wyróżnik sFlow i nigdy nim nie był. NetFlow został prototypowany jedynie jako rozwiązanie do przełączania przepływu, niemal natychmiast został przełączony na mechanizm gromadzenia informacji. Pod względem rzeczywistych różnic istnieje duża różnica w próbkowaniu: w próbkowaniu sFlow jest wykonane w pakiecie, a nie w przepływie, natychmiast tracisz dokładność. Spójrz w archiwum cisco-nsp @.
Łukasz Bromirski

0

Netflow jest zastrzeżonym protokołem Cisco i jako taki nie jest obsługiwany przez nic innego niż urządzenia Cisco.

sFlow to standard IETF służący do robienia prawie tego samego, ale w standardzie, który nie jest własnością jednego konkretnego producenta.


2
AFAIK sFlow nie jest już IETF, ale produktem konsorcjum „sFlow”. IPFIX jest standardowym netetem IETF w wersji 9 (numer wersji został podbity do wersji 10 i niewielkie zmiany). Myślę, że główną różnicą jest to, że sflow eksportuje pojedynczy pakiet (z dobrze zdefiniowaną metodologią próbkowania), a ty wykonasz ekstrapolację, podczas gdy IPFIX / netflow może zrobić wiele innych rzeczy, w tym to, ale może również agregować dane dla ciebie. Powiedziałbym, że netflow / IPFIX jest znacznie bardziej elastyczny, co oznacza również, że możesz zaimplementować netflow / IPFIX w swoim sprzęcie w sposób, który uczyniłby go bezużytecznym, podczas gdy sflow jest dość rygorystyczny w sposobie jego implementacji.
ytti
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.