-
3 Anexo(s)
Re: WDS em PtMP
Correto, agregação de frame é basicamente juntar pacotes, mas o pacote é composto pelo dado do usuário e o cabeçalho. Juntar dado do usuário (O payload) é fácil, mas juntar cabeçalho complica, as vezes tem byte só pra preencher espaço que é comido num lado mas o outro lado não o coloca de volta e isso gera erro de checksum.
Quem tenta juntar digamos 4 pacotes de usuário num mesmo cabeçalho, acaba gerando esse erros. Quem junta os 4 pacotes inteiros (Mesmo que os 4 cabeçalhos pareçam iguais) tá tranquilo.
Agregar MSDU é juntar o payload de todos os pacotes, digamos que o WhatsApp mandou 4 pacotes pro servidor, uma agregação de MSDU vai juntar os 4 porque leu um cabeçalho igual nos 4, vai fazer isso aqui:
Anexo 63828
O que a MK faz é agregar o pacote com cabeçalho e tudo, nem lê direito o que tem no cabeçalho mas agrega tudo, ou seja, agrega os MPDU inteiro, digamos:
Anexo 63829
A parte de wifi como um todo, saído de um MK com agregação de MPDU ativo, seria digamos:
Anexo 63830
Esse começo chamado de OFDM PHY é o que chamo de preambulo e parte de sincronia (O nome preambulo é coisa de A e B na verdade), esse começo é feito em rate de 6Mbps, com modulação BPSK diferencial, altamente legível até no pior cenário, por isso a sincronia não cai (Não deixa de ver o SSID) mas pode perder pacote assim mesmo, um 64QAM precisa sinal alto pra ser legível, mas o BDSK diferencial do preambulo é legível com qualquer sinal baixo.
No outro lado tudo é dividido e cada pacote segue seu caminho separado do outro, como se nada tivesse acontecido.
Em N se permitiu a agregação de MSDU e de MPDU. E agregando MSDU se gasta processamento pra caramba, rádio de torre de celular faz isso porque são parudos, mas se botar um processador MIPS de US$ 8 de RB pra fazer isso é certeza de erro em 2 ou 3 bits a cada 2 ou 3 pacotes, gera muito erro de checksum depois.
Agregando MPDU o único problema do WDS ativo e seu cabeçalho maior é... ter uns bytes a mais pra transmitir, ocupar uns bytes a mais na ram e tal. A MK faz isso porque é uma tarefa mais simples, pega os pacotes como estão, e só junta, não analisa muita coisa, não divide eles. É bem diferente de agregar MSDU, ia precisar ler cada cabeçalho, comparar, juntar só o payload e pegar só o cabeçalho de um deles, juntar tudo e mandar.
Se agregar MPDU dá desempenho ruim com WDS, aí não sei. Sei que dá delay maior em rede de curta distância, atrapalha VOIP com server a 1ms de distância justamente porque cada pacote que chega não é enviado na hora, o pacote chega, é juntado em numeros tipo 3 até 60, e enviado em rajadas longas. Alias, como é uma transmissão longa, quem tem CCQ ruim e variando não pode fazer isso senão perde muito pacote quando dá uma variada pra pior, se a agregação foi de 20 pacotes, e der uma variação piorando o sinal por X milisegundos, vai ter que reenviar tudo isso de novo depois. É tipo a fila que o NV2 cria, enfileirar e analisar pacote, ao invés de enviar tudo misturado conforme chega, melhora o throughput (Que se mede POR SEGUNDO) mas pior o delay de cada pacote.
Numa comunicação entre 2 Xeon da vida, interligados via fibra, pode botar pra agregar MSDU tranquilo, eles tem processamento de sobra pra fazer isso sem erro. Em equipamento mais pobre é melhor agregar MPDU, e... talvez esses bytes a mais do WDS pesem caso a RB agregue os 64 pacotes de limite e façam isso pra 40 usuários. Mas pro tipo de comunicação que fazemos, onde banda importa mais que delay (Digo, delay extra de 5ms não é problema), essa demora extra não é problema.
-
Re: WDS em PtMP
@rubem, mais uma vez bela explicação, nunca que eu ia construir um raciocínio desse, então por exemplo se eu envio um mensagem do Waths, Arquivo, etc... Vamos supor de 900Bytes ai ele envia dividido em partes ex: 900/3=300 então o o MSPU ia só agregar e ia fazer um checksum no pacote após isso ele envia para o seu destino, diferente do RouterOS ele juntar o pacote mal faz a leitura do pacote e automaticamente já envia ao destino. Rubem lendo um pouco a fundo existe alguns casos que para completa o cabeçalho pode colocar informações em branco só para completar o cabeçalho ou seja add com dados complementares??? Desde já agradeço.
-
Re: WDS em PtMP
É aquela coisa, se você tem 1 byte pra transmitir, vai ter 20 bytes numa parte do cabeçalho (Layer1), 20 no outro, 20 e poucos no outro, de modo que dá pra dizer que o MPDU terá pelo menos 64 bytes. O MSDU lá dentro terá acho que 46 bytes. Se ocorre uma quebra de pacotes (Por um MTU muito pequeno nalgum trecho), se o pedaço "quebrado" for de 10 bytes, vai ter esses 64 bytes a mais (Além dos 10 B quebrados) circulando por bobeira.
Ainda que agregasse MSDU, seriam 46 bytes a mais, mas não seria certo chamar isso de pacote inflado, o dado no cabeçalho é clonado de algum lugar. O pacote é aumentado de 10 pra digamos 74 bytes, mas é aumentado por cabeçalhos obrigatórios, alguns dados nuns cabeçalhos são aleatórios (Se não me engano o numero da vlan é. Não é 000 porque 000 é um numero válido de vlan, é randomizado e a diferença é que o destino simplesmente descarta esse dado porque ele não tem uma tabela de destinos pras vlan's) que eu saiba pra dificultar sniffers ou decriptação, se você pega um pacote agregado com cabeçalho legível, e sabe que na posição X e Y está a vlan 000 em todos os cabeçalhos, você tem um ponto de partida mais sólido que se esse local tiver números randômicos.
Fora os bits de paridade nos pacotes. Alguns ID's são feitos com bits apenas, pra demarcar começo e fim disso ou daquilo míseros 4 bits iguais resolve. Mas o pacote tem checksum gerado com bytes, ou seja, o pacote precisa ter bits múltiplos de 8 (octetos), se o pacote tiver digamos 603 bits, ele precisa ser inflado até 608 bits, que formará 76 bytes. Mas isso é muito pouco dado a mais, nem 1 byte, não faz nem cócegas no tráfego inútil que antivírus e atualizações diversas geram.