Como os switches gerenciados lidam com Broadcast Multicast e Unicast?

8

Em cenários típicos, um comutador de rede precisa manipular mensagens de difusão, multicast e unicast ao mesmo tempo.

Eu gostaria de entender

Em um comutador gerenciado típico (1Gb Ethernet / 10Gb Ethernet),

a) como as mensagens de difusão / multicast / unicast são tratadas de maneira diferente?

b) qual é a largura de banda e a latência do tratamento de mensagens broadcast / multicast / unicast?

c) como o carregamento de diferentes tipos de mensagens afeta um ao outro?

d) Por que mudar da difusão para a difusão seletiva (ou é provável, se feito corretamente) reduzirá a carga no comutador?

Anthony S.
fonte

Respostas:

5

Isso é altamente dependente da arquitetura do comutador específico em questão. A ampla faixa de preço de um "switch gerenciado" de 48 portas (por exemplo, abaixo de US $ 300 a mais de US $ 10.000) deve indicar que há algo fundamentalmente diferente acontecendo dentro. Se você não pagou muito pelo seu switch (e espero que não pagou), é bem provável que o multicast (e outros recursos "corporativos") sejam transferidos para o software (se houver suporte).

O encaminhamento unicast básico tornou-se bastante barato no hardware, então eu esperaria que qualquer comutador Ethernet moderno tivesse um desempenho razoavelmente bom no encaminhamento unicast básico sob cargas leves.

Quando você começa a adicionar mais recursos ao hardware, o custo aumenta significativamente. Por exemplo, o encaminhamento de quadros unicast é muito diferente de fazer a replicação de pacotes com base no estado dinâmico do multicast. Essas são tarefas muito especializadas. São necessários bits específicos de hardware para executar qualquer um dos poços. A maioria dos usuários de switches low-end não tem grandes necessidades de multicast. Pagar por hardware específico de difusão seletiva é um desperdício para esses usuários.

Mas a maioria das redes usa um pouco de difusão seletiva. Consequentemente, é comum que os fabricantes implementem multicast e outros recursos menos usados ​​no software. Por exemplo, o hardware de encaminhamento de difusão ponto a ponto seria solicitado a encaminhar qualquer coisa com um endereço MAC de difusão seletiva para uma porta interna onde eles são recebidos por um subsistema de CPU (ou pelo menos um microcontrolador de algum tipo). Em seguida, um processo de software é capaz de olhar para o quadro, consultar a tabela de encaminhamento multicast, replicar o quadro e entregar várias cópias de volta ao hardware, uma por porta a ser encaminhada. Obviamente, muitos recursos podem ser adicionados neste momento no software sem afetar significativamente o custo do comutador.

Nesse sistema, o desempenho nunca estará nem perto do que é para unicast. O desempenho da CPU obviamente terá algum impacto, mas se você estiver enviando tanto tráfego de "exceção" que não pode ser encaminhado no hardware, estará fazendo errado . Você precisa comprar um interruptor diferente.

Na pior das hipóteses, um switch realmente baixo não terá nenhuma proteção de recursos; portanto, a mesma CPU que está sendo afetada pelo tráfego multicast esquecerá que também é responsável pelo cuidado e alimentação de todo o resto do switch. Se a CPU estiver muito ocupada replicando o tráfego multicast para manter as tabelas unicast atualizadas no hardware (ou o que mais a CPU estiver fazendo), você terá todos os tipos de problemas.

comedor
fonte
2
  1. O mesmo que switches não gerenciados; possivelmente com a complexidade adicional de vLANs e similares.
  2. Isso é específico da implementação, mas geralmente não há diferença. Tempestades de pacotes podem causar latência, mas isso não está relacionado especificamente ao tipo de pacote.
  3. O mesmo que nº 2: implementação específica e geralmente nenhuma diferença.
  4. "Carga" não é um termo bem definido, acho que você quer dizer utilização de portas. O multicast é encaminhado apenas para as portas inscritas no grupo em que o Broadcast é enviado para todas as portas (sujeito a complexidades adicionais, como vLANs).
Chris S
fonte
Obrigado Chris, estou vendo um aplicativo causando uma tempestade de transmissão, gerada por grande quantidade de mensagem de transmissão. Depois de algumas pesquisas, descobri que as mensagens de difusão e difusão seletiva são tratadas pelo nível do software e não pelo hardware, a alta carga da CPU causa queda de pacotes. É por isso que eu gostaria de saber como um comutador (gerenciado / não gerenciado) lida com cada um dos tipos de mensagem.
Anthony S.
Estou me referindo à carga da CPU em um switch.
Anthony S.
Não há CPU em um switch típico. Existem processadores de comutação, alguns comutadores gerenciados têm um processador de gerenciamento dedicado, mas na maioria são integrados.
Chris S