¿Por qué mi comunicación inalámbrica UDP Broadcast tiene un límite de 1 MB?

10

Estoy tratando de implementar la codificación de red en una red en malla. Por lo tanto, necesito enviar paquetes a varios destinos, de esta manera estoy usando paquetes de difusión. Pero no puedo entender por qué esto tiene un límite de ~ 990 KB.

¿Hay alguna configuración que hacer?

Vladimir Leiv
fuente
Quizás mencione cómo está generando los paquetes y qué sistema operativo es. La pregunta podría estar más en casa en stackoverflow
ytti
44
@ytti, para mí esto no suena como una pregunta de desarrollo, más bien es, en mi opinión, una pregunta fundamental de 802.11. Pero bueno, podría estar equivocado (y como señala mi esposa, a menudo lo estoy).
YLearn
Agregue: configuraciones relevantes, información de HW / firmware, y tal vez un diagrama.
Mike Pennington

Respuestas:

11

En la conexión inalámbrica 802.11 (que supongo es su caso), las tramas de transmisión / multidifusión (así como muchas tramas de administración) se transmiten a la velocidad de datos más baja / básica / requerida (el término varía según el proveedor). Esto es independiente de las velocidades de datos admitidas.

Por lo general, para obtener el mejor rango y la máxima compatibilidad, el valor predeterminado es la velocidad de datos de 1 Mbps, aunque en los últimos años, algunos proveedores han aumentado este valor predeterminado.

Algunos proveedores ahora también incluyen una conversión de multidifusión a unidifusión que realiza un seguimiento de los clientes de multidifusión con alguna forma de indagación de multidifusión, sin embargo, no conozco medios similares para la transmisión (un dispositivo inalámbrico no puede conocer a todos los clientes que pueda necesitar) alcanzar).

Si está hablando de una red de malla ad-hoc, a menudo no tiene control sobre esto en la configuración del controlador.

YLearn
fuente
7

La tasa de multidifusión debe ser el mínimo común denominador para que todos los dispositivos puedan recibirla con éxito. Las tramas de multidifusión no pueden reconocerse [1], por lo que si un par no puede recibirla, el remitente no lo sabrá y no retransmitirá la trama. Tener tasas de pérdida de más del 1% por receptor es común. Se pueden esperar tasas de pérdida mucho más altas si hay mucho tráfico de unidifusión en el mismo canal.

Si aumenta la tasa de multidifusión básica, también aumentará la tasa de pérdida. Pero dado que debe combinar paquetes nativos e introducir redundancia para compensar la tasa de pérdida total, su red debería poder sobrevivir a eso. Tenga en cuenta que las tramas de administración 802.11 multicast (incluidas las balizas) no están diseñadas para soportar altas tasas de pérdida.

En Linux, la mayoría de los controladores mac802.11 deberían admitir la configuración de la velocidad de multidifusión. Los núcleos no tan recientes requieren que esto se haga en el momento de la unión tanto para IBSS como para mesh. iwtiene una mcast-rateopción para el ibss joiny mesh joincomandos.

Pero si está ejecutando un kernel bastante reciente y iwambos son compatibles NL80211_CMD_SET_MCAST_RATE, puede cambiarlo en cualquier momento, y es tan simple como

iw dev wlanX set mcast_rate 6

para establecer una velocidad de multidifusión de 6 Mbps.

[1] Tal vez puedan, ahora. Se propuso una modificación al estándar 802.11 para reconocer las tramas de multidifusión: todas las estaciones, después de recibir una trama de multidifusión con éxito, elegirían un retroceso aleatorio y enviarían un reconocimiento al transmisor. Por supuesto, los Acks podrían colisionar, por lo que el transmisor lo retransmitiría y permitiría retrocesos más grandes hasta que todos los receptores hayan reconocido la trama con éxito.

BatchyX
fuente
1

En realidad, es posible modificar la velocidad de bits forzando la velocidad en la tarjeta inalámbrica. En Linux, el comando es:

sudo iwconfig wlan0 tasa 11M

Vladimir Leiv
fuente
3
iwconfiges obsoleto. Todos los ioctls que usa están pirateados o son completamente falsificados, o incluso no operan. De todos modos, lo que hace este comando en particular es horrible. Y no es lo que desea: esto limita la tarifa disponible, no la repara de ninguna manera. Y ni siquiera estoy seguro de que esta configuración sobrevivirá por mucho tiempo en el caso de IBSS.
BatchyX
2
Si bien esto proporciona el efecto de permitir que sus transmisiones superen 1Mbps, no es una respuesta correcta a la pregunta planteada, que es esencialmente, "¿Por qué la transmisión inalámbrica está limitada a 1 MBs?" Lo que ha hecho es decirle a la conexión inalámbrica que se ejecute a una sola velocidad de datos, y debe haber al menos una velocidad de datos base / básica / requerida. Mientras obtiene un mayor tráfico de transmisión, pierde la capacidad de reducir las velocidades de datos (para mantener una buena conexión cuando la señal es más débil) o aumentar las velocidades de datos (y esto también afecta el tráfico de unidifusión). En esencia, esta es una solución rápida que no es adecuada para el mundo real.
YLearn