Perché la mia comunicazione wireless UDP Broadcast è limitata a 1 MB?


10

Sto cercando di implementare Network Coding su una rete mesh. Pertanto, devo inviare i pacchetti a più destinazioni, in questo modo utilizzo i pacchetti Broadcast. Ma non riesco a capire perché questo sia limitato a ~ 990 KB.

C'è qualche configurazione da fare?


Forse menzionate come state generando i pacchetti e che sistema operativo è. La domanda potrebbe essere più a suo agio in StackOverflow
ytti

4
@ytti, per me questa non suona come una domanda di sviluppo, piuttosto nella mia mente è chiaramente una domanda di base sull'802.11. Ma hey, potrei sbagliarmi (e come sottolinea mia moglie, spesso lo sono).
YLearn

Si prega di aggiungere: configurazioni rilevanti, informazioni HW / firmware e forse un diagramma?
Mike Pennington,

Risposte:


11

Nel wireless 802.11 (che presumo sia il tuo caso), in genere i frame broadcast / multicast (così come molti frame di gestione) vengono trasmessi alla velocità dati base / base / richiesta più bassa (il termine varia in base al fornitore). Questo è separato dalle velocità dati supportate.

In genere, per la migliore portata e la massima compatibilità, per impostazione predefinita viene impostata la velocità di dati a 1 Mbps, sebbene negli ultimi anni alcuni fornitori stiano aumentando questo valore predefinito.

Alcuni venditori ora includono anche una conversione da multicast a unicast che tiene traccia dei client multicast con una qualche forma di snooping multicast, tuttavia non conosco mezzi simili per la trasmissione (un dispositivo wireless non può conoscere tutti i client là fuori di cui potrebbe aver bisogno raggiungere).

Se stai parlando di una rete mesh ad hoc, spesso non hai il controllo su questo nelle impostazioni del driver.


7

La velocità multicast deve essere il minimo comune denominatore in modo che tutti i dispositivi possano riceverlo correttamente. I frame multicast non possono essere riconosciuti [1], quindi se un peer non riesce a riceverlo, il mittente non lo saprà e non ritrasmetterà il frame. Avere tassi di perdita superiori all'1% per ricevitore è comune. Si possono prevedere tassi di perdita molto più elevati se vi è un intenso traffico unicast in corso sullo stesso canale.

Se si aumenta il tasso multicast di base, si aumenta anche il tasso di perdita. Ma dal momento che devi combinare i pacchetti nativi e introdurre la ridondanza per compensare il tasso di perdita puro, la tua rete dovrebbe essere in grado di sopravvivere a questo. Tenere presente che i frame di gestione 802.11 multicast (inclusi i beacon) non sono progettati per supportare elevati tassi di perdita.

Su Linux, la maggior parte dei driver mac802.11 dovrebbe supportare l'impostazione della velocità multicast. I kernel non recenti richiedono che ciò avvenga al momento dell'adesione sia per IBSS che per mesh. iwha mcast-rateun'opzione per il comando ibss joine mesh join.

Ma se ti capita di eseguire un kernel abbastanza recente e iwche entrambi supportano NL80211_CMD_SET_MCAST_RATE, puoi cambiarlo in qualsiasi momento ed è semplice come

iw dev wlanX set mcast_rate 6

per impostare una velocità multicast a 6 Mbps.

[1] Forse possono, ora. È stata proposta una modifica allo standard 802.11 per riconoscere i frame multicast: tutte le stazioni, dopo aver ricevuto correttamente un frame multicast, avrebbero scelto un backoff casuale e inviato un segnale al trasmettitore. Naturalmente, Acks potrebbe scontrarsi, quindi il trasmettitore lo ritrasmetterebbe e consentirebbe backoff più ampi fino a quando tutti i ricevitori non avessero riconosciuto correttamente il frame.


1

È effettivamente possibile modificare la velocità in bit forzando la velocità sulla scheda wireless. Su Linux, il comando è:

sudo iwconfig wlan0 rate 11M


3
iwconfigè obsoleto. Tutti gli ioctl che utilizza sono hackerati o completamente falsi o addirittura non operativi. Comunque, ciò che fa questo particolare comando è orribile. E non è quello che vuoi: questo limita la tariffa disponibile, non la risolve in alcun modo. E non sono nemmeno sicuro che questa impostazione sopravviverà a lungo in caso di IBSS.
BatchyX,

2
Sebbene ciò fornisca l'effetto di consentire alle tue trasmissioni di superare 1 Mbps, non è una risposta corretta alla domanda posta, che è essenzialmente "Perché la trasmissione wireless è limitata a 1 MB?" Quello che hai fatto è stato dire al wireless di funzionare con una sola velocità dati e deve esserci almeno una velocità dati base / base / richiesta. Mentre si ottiene un traffico di trasmissione più elevato, si perde la capacità di ridurre le velocità di trasmissione dei dati (per mantenere una buona connessione quando il segnale è più debole) o di aumentare le velocità di trasmissione dei dati (e ciò influisce anche sul traffico unicast). In sostanza, questa è una soluzione rapida che non è adatta al mondo reale.
YLearn
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.