Posso realmente fazer multicast por WIFI?

8

Estou transmitindo UDP por wifi (5ghz) - aproximadamente 1.5k / pacote ... tentando transmitir para ~ 10 dispositivos simultaneamente, com latência extremamente baixa ..

Pelo que entendi, o Wi-Fi nunca pode ser multicast verdadeiro, pois cada dispositivo mantém um relacionamento '1: 1 "com o AP e recebe o mesmo pacote ... então o próximo dispositivo se conecta e obtém o mesmo pacote.

  1. existem vários tipos de roteadores / pontos de acesso - "3x3" e "4x4", alguns com MIMO, etc. o que devo usar como critério para a escolha do ponto de acesso?

  2. posso realmente fazer multicast via wifi para dispositivos iOS? Minha teoria está correta?

  3. existe uma maneira de fazer multicast em vez de tratar cada pacote / cliente como um unicast?

frank ankersly
fonte
O Wi-Fi pode fazer multicast, mas você está limitado à menor velocidade disponível no WAP.
Ron Maupin
portanto, quando um pacote UDP é 'multicast' em um AP, TODOS os dispositivos conectados recebem esse pacote UDP NO MESMO INSTANTE EXATO (por exemplo, ele é propagado 1x e recebido por todos os dispositivos)? Ou ele realmente é entregue em mão para cada dispositivo individual? Eu sei bem como ele funciona em LANs HardWire - mas eu comecei dados conflitantes sobre multicast WIFI ...
Frank ankersly
O multicast "real" é uma forma de transmissão na camada 2, e o Wi-Fi pode fazer isso (enviar para um grupo multicast em vez de endereços MAC unicast individuais), mas você está limitado à menor velocidade disponível no WAP. Seu multicast "falso" é uma tentativa de contornar essa limitação.
Ron Maupin
então ... se eu desligar todos os formatos de velocidade mais baixa da minha rede (ou seja, desabilitar o 2,4ghz, apenas rodar em, digamos, 5ghz, 40mhz com apenas o streaming mais rápido possível), isso acelerará todo o processo?
ankersly franca
11
Você quer dizer que coisas como DHCP etc. não serão usadas? Isso realmente não está certo; os hosts precisam se conectar ao WAP e até o multicast precisa de IGMP para que os hosts ingressem em um grupo de multicast. O Wi-Fi não é um protocolo unidirecional, e o protocolo exige que todos os dispositivos parem e produzam.
Ron Maupin

Respostas:

9

Vamos testar isso então. Se enviarmos pacotes multicast para vários dispositivos conectados a um ponto de acesso WiFi a uma taxa constante, o ponto de acesso deverá reportar a mesma quantidade de tráfego.

Para executar este teste, estou enviando pacotes de um PC com fio para um tablet Android e um raspberry pi. Não possui dispositivos iOS. A ferramenta de teste de rede iperf pode ser facilmente usada para enviar e receber esses pacotes com as seguintes configurações:

Servidor (dispositivos no WiFI): iperf -s -u -B 230.5.5.82

Cliente (PC com fio): iperf -u -c 230.5.5.82 -t 60 -b 1M

Com essas configurações, estamos enviando pacotes multicast a 1 Mbps por um minuto. A execução desse teste e a observação do tráfego sem fio no ponto de acesso mostra que ele tem consistentemente cerca de 1 Mbps, por isso deve estar realizando multicast verdadeiro. A outra coisa notável dos resultados é que a perda de pacotes é muito ruim, com mais de 50%. Provavelmente, porque os pacotes multicast estão sendo enviados na velocidade mais baixa possível, portanto, forçamos o ponto de acesso a rodar apenas na velocidade mais rápida. Estou usando um WRT54GL executando dd-wrt, onde a configuração é chamada "Taxa fixa de transmissão". A execução dos mesmos testes novamente depois de definir a velocidade mais rápida gera uma perda de pacotes muito mais aceitável, inferior a 5%.

Para realmente responder às perguntas:

  1. Obtenha o ponto de acesso mais rápido que permite fixar a taxa de transmissão e que suporta multicast. Definitivamente, existem pontos de acesso que convertem automaticamente pacotes multicast em unicast. Para a questão da velocidade, não basta apenas usar um amplo canal de 5 GHz, pois existem várias velocidades diferentes nas quais os clientes podem realmente se comunicar.

  2. Não consigo imaginar que as coisas funcionariam de maneira diferente nos dispositivos iOS, pois o principal fator determinante seria o ponto de acesso.

  3. Veja 1, pois depende do ponto de acesso.

Edit: Depois de testar as coisas mais e em alguns APs ac, o importante para o mulitcast é poder definir as taxas disponíveis. O multicast ainda usa velocidades g, portanto as taxas físicas disponíveis são 6, 9, 12, 18, 24, 36, 48 e 54Mbps. A maioria dos pontos de acesso está no padrão das velocidades mais lentas, portanto, poder desativá-los para forçá-lo a usar taxas mais altas dará uma enorme velocidade. Ser capaz de definir esse é provavelmente o critério mais importante para um AP multicast. Como exemplo, nas versões modernas do DD-WRT, isso pode ser definido usando o comando "wl rateset" na linha de comando. Com certeza está bem oculto e a maioria dos firmware não permite que isso seja definido.

Twiske
fonte
11
Parece que você está multicast no nível IP. Você tem certeza de que seu hardware Wifi não está enviando uma cópia de cada pacote para cada cliente individual? Você tem captura por radiotap?
Ogurets
Estou razoavelmente certo, depois de adicionar dispositivos suficientes para que o AP não consiga atingir as velocidades que está obtendo se duplicar pacotes. Encontrei capturar pacotes no Wireshark e observar o bit no campo de destino que indica multicast / broadcast ou unicast é uma indicação confiável do que o AP realmente está fazendo.
Twiske
11

Pelo que entendi, o Wi-Fi nunca pode ser multicast verdadeiro, pois cada dispositivo mantém um relacionamento '1: 1 "com o AP e recebe o mesmo pacote ... então o próximo dispositivo se conecta e obtém o mesmo pacote.

Sua compreensão é falha. O multicast existe, mas, como a maioria do tráfego de gerenciamento em uma rede sem fio, ele deve ser executado na menor taxa de dados básica / básica / necessária. Por padrão, essa é normalmente a menor taxa de dados suportada pelo AP.

O motivo é que tudo o que é transmitido ou transmitido por difusão seletiva do AP para os clientes vizinhos deve ser enviado a uma velocidade que todos os clientes devem suportar e que possam receber com segurança.

A que você está se referindo é uma técnica que muitos pontos de acesso podem empregar, que é uma conversão multicast para unicast. Como o meio de rádio é um meio compartilhado, um quadro multicast enviado com a menor taxa de dados pode demorar 300X ou mais "tempo de antena" do que um quadro unicast enviado com a maior taxa de dados. Isso geralmente é muito mais eficiente do que enviar multicast como tráfego multicast.

Na sua situação de exemplo em um AP de configuração padrão (802.11n ou mais recente), levaria menos tempo para entregar 10 quadros de unicast para cada um dos 10 dispositivos (ou seja, 100 quadros no total) na velocidade mais alta possível do que entregaria mesmo um multicast quadro, Armação.

Duas outras considerações para o multicast no 802.11, que muitas vezes são motivos para usar a conversão multicast para unicast, são que os quadros multicast nunca são reconhecidos, enquanto os quadros unicast são reconhecidos e retransmitidos pelo AP se não houver confirmação (não confunda com as confirmações TCP, este é um mecanismo L2 e parte do processo para encontrar taxas de dados ideais entre o AP e o cliente).

Segundo, se algum dispositivo cliente no BSS estiver usando o modo de economia de energia, os quadros multicast serão enviados apenas periodicamente (com base nos intervalos DTIM e beacon configurados) para garantir que os quadros multicast sejam recebidos novamente por todos os clientes. Com a conversão multicast para unicast, os quadros são enviados aos clientes imediatamente se eles não estiverem usando o modo de economia de energia e atrasados ​​apenas para clientes que estão no modo de economia de energia.

existem vários tipos de roteadores / pontos de acesso - "3x3" e "4x4", alguns com MIMO, etc. o que devo usar como critério para a escolha do ponto de acesso?

Primeiro, você deseja um ponto de acesso que atenda ou exceda os recursos do seu dispositivo cliente. Com isso, quero dizer que, se seus clientes são dispositivos compatíveis com 802.11n 2x2, você deseja pelo menos um AP 802.11n 2x2. O 802.11ac oferece algumas vantagens, mesmo com todos os clientes 802.11n, e mais fluxos espaciais nunca prejudicam, pois os fluxos extras são de outras formas utilizados.

Segundo, você desejaria um ponto de acesso no qual teria opções de configuração para desativar / ativar a conversão multicast para unicast, selecionar taxas de dados suportadas / necessárias específicas para o ESS e, preferencialmente, poder configurar os intervalos DTIM e beacon.

posso realmente fazer multicast via wifi para dispositivos iOS? Minha teoria está correta?

Respectivamente, sim e não. Você pode fazê-lo, no entanto, a menos que você realmente saiba o que está fazendo ou apenas para simplificar, poderá obter uma experiência mais "em tempo real" utilizando um recurso mulicast para unicast. Não conseguir corrigir o que está abaixo, pode reduzir a experiência nos dispositivos clientes.

Para um bom desempenho, você precisaria ajustar a taxa de dados necessária para cima o máximo possível, mantendo um sinal confiável com base no seu ambiente e na distância dos dispositivos clientes do ponto de acesso.

Como os dispositivos iOS certamente usam o modo de economia de energia, convém ajustar os intervalos de DTIM e beacon para reduzir o atraso introduzido pelo modo de economia de energia. Lembre-se de que essas configurações também podem diminuir a eficiência da utilização do seu tempo de antena (por exemplo, diminuir os intervalos dos beacons significa mais beacons, etc.), criando mais problemas do que solucionam.

existe uma maneira de fazer multicast em vez de tratar cada pacote / cliente como um unicast?

Como eu já cobri, sim. Contanto que seu AP não tenha um recurso de difusão seletiva para unicast em primeiro lugar ou tenha uma opção para permitir que você o desative.

YLearn
fonte