Qual é a diferença entre netFlow e sFlow?

22

Qual a diferença entre o sFlow e o netFlow e como cada um é suportado por diferentes fornecedores?

Benjamin A.
fonte

Respostas:

22

O NetFlow é um protocolo para exportar totais agregados de fluxo IP. Como tal, é adequado para a contabilização de tráfego IP em roteadores da Internet. Com o Netflow V9 (AKA IPFIX, ele também pode analisar o tráfego da camada 2)

O sFlow é uma tecnologia de sistema de medição de tráfego de rede de uso geral. O sFlow foi projetado para ser incorporado em qualquer dispositivo de rede e fornecer estatísticas contínuas em qualquer protocolo (L2, L3, L4 e até L7), para que todo o tráfego na rede possa ser caracterizado e monitorado com precisão. Essas estatísticas são essenciais para controle de congestionamento, solução de problemas, vigilância de segurança, planejamento de rede etc. Elas também podem ser usadas para fins de contabilidade de IP.

O Netflow espelha todo o tráfego e coloca uma carga na CPU quando utilizada.

O SFlow é uma tecnologia de amostragem de pacotes em que o comutador captura todos os 100 pacotes (configuráveis) por interface e os envia para o coletor. O sFlow é incorporado ao ASIC e coloca uma carga mínima na CPU.

Netflow suportado pela Cisco, Juniper, Alcatel Lucent, Huawei, Enterasys, Nortel, VMWare

sFlow suportado por 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 e ZyXEL ( consulte o link sFlow )

Jez
fonte
1
O conceito de amostragem aplica-se a netflow / IPFIX tal como acontece com sFlow
Brad Hein
Amostrando à parte, como dois pacotes do mesmo tráfego diferem no Netflow e no sFlow. Talvez compará-los com um pacote bruto de digamos, tcpdump? A diferença ainda não é clara para mim.
Nagev
7

A única diferença é que "o NetFlow é de propriedade da Cisco, o sFlow não é" não está exatamente correto.

O NetFlow começou originalmente como proprietário da Cisco, mas foi da mesma maneira que o GRE ou o EIGRP. Desde o NetFlow v5, ele foi implementado e suportado no hardware de outros fornecedores.

A principal diferença entre o NetFlow e o sFlow é que o NetFlow é restrito apenas ao IP, enquanto o sFlow tem a capacidade de experimentar tudo (independente da camada de rede).

EDIT: O texto acima parece não estar mais correto (pelo menos a partir do padrão IPFIX). Encontrei a seguinte postagem no blog (aviso: parece ser uma URL específica "sflow", portanto, leve-a com um pouco de sal, se desejar) faz um bom trabalho ao descrever as diferenças entre a especificação IPFIX e o sFlow

John Jensen
fonte
4
O NetFlow v9 e v10 (IPFIX) enviam periodicamente uma mensagem de modelo que informa como ler as amostras; esse modelo é muito flexível e pode ser estendido arbitrariamente. iana.org/assignments/ipfix/ipfix.xml mostra que padrão suporta hoje, e ethertype, dmac, smac etc já existem. O sFlow otoh é estático, se o sFlow5 não suportar o que você deseja fazer, você precisará de um novo protocolo sFlow, enquanto no IPFIX você não precisará alterar o protocolo.
Ytti 27/05
Muito interessante! Obrigado pelo link. Mostra o quanto eu tenho acompanhado o NetFlow. :-) Eu me pergunto o que o sFlow está chegando. Parece que "fãs do sFlow" diriam "qualquer coisa sobre Ethernet" como um contra-argumento para ter que definir novos campos IPFIX. Existem também os numerosos algoritmos de amostragem que o NetFlow / IPFIX usa contra o sFlow é apenas um.
John Jensen
1
Como um FYI, o L2 netflow está disponível em várias plataformas Cisco com o uso da v9 ou, mais recentemente, do IPFIX.
Rnxrx 28/05
Obrigado, mas isso já foi apontado nos comentários acima. :-)
John Jensen
1
Um fornecedor independente com profundo conhecimento sobre o assunto diz o seguinte: plixer.com/blog/netflow/… . Você também deve considerar se uma determinada plataforma executa o NetFlow / sFlow em hardware ou software.
generalnetworkerror
2

Os dispositivos Cisco tentam agregar fluxos (você pode pensar neles como conversas) e depois exportar informações sobre eles para um coletor. Isso requer memória para armazená-los em cache.

O sFlow possui dois componentes principais: um onde exportará periodicamente estatísticas como contadores de interface e uso da CPU para um coletor e outro onde capturará aleatoriamente 1 em N quadros (configuráveis, geralmente de 512 a 32768) que passam por um roteador e exporte os primeiros 256 bytes. Você pode executar análises estatísticas sobre o tráfego que flui pela sua rede.

As amostras de pacotes sFlow são aprimoradas com informações da tabela de roteamento, como caminhos AS. Também é v4 e v6 agnóstico, ao contrário do NetFlow, que obriga a um comprometimento desconfortável, dependendo do tipo de dados que você deseja receber.

O NetFlow sofre de uma época em que o roteamento baseado em fluxo ainda não era considerado uma piada; O sFlow sofre por não ser um formato TLV, portanto, implementar extensões de fornecedores de maneira portátil é quase impossível.

Niels
fonte
Alguns comentários enganosos aqui ... O NetFlow usa cache e pode ser agregado / não agregado, amostrado ou não - essas são características dos dados que você está coletando e cabe a você defini-los. Os dados do NetFlow também podem conter dados "como como caminhos AS "e não é o diferenciador do sFlow e nunca foi. O NetFlow foi apenas prototipado como soluções de comutação de fluxo, foi quase imediatamente mudado para o mecanismo de coleta de informações. Em termos de diferenças reais, há uma grande diferença na amostragem: na amostragem do sFlow é feito por pacote, não por fluxo, você perde imediatamente a precisão. Procure nos arquivos cisco-nsp @.
Łukasz Bromirski
0

O Netflow é um protocolo proprietário da Cisco e, como tal, não é suportado por nada além de dispositivos Cisco.

O sFlow é um padrão IETF para fazer praticamente a mesma coisa, mas em um padrão que não pertence a um fabricante em particular.

David Rothera
fonte
2
O AFAIK sFlow não é mais o IETF, mas o produto 'sFlow consortium'. O IPFIX é o netflow padrão IETF v9 (número da versão aumentado para a v10 e pequenas alterações). Eu acho que a principal diferença é que o sflow exporta pacote único (com metodologia de amostragem bem definida) e você faz a extrapolação, enquanto o IPFIX / netflow pode fazer muitas outras coisas, incluindo isso, mas também pode agregar dados para você. Eu diria que o netflow / IPFIX é muito mais flexível, o que também significa que você pode implementar o netflow / IPFIX no seu equipamento de uma maneira que o tornaria inútil, enquanto o sflow é bastante rigoroso em como deve ser implementado.
Ytti 27/05