J'essaie d'implémenter le codage réseau sur un réseau maillé. Par conséquent, je dois envoyer des paquets vers plusieurs destinations, c'est ainsi que j'utilise des paquets de diffusion. Mais je ne peux pas comprendre pourquoi cela est plafonné à ~ 990 Ko.
Y a-t-il une configuration à faire?
wireless
ieee-802.11
linux
bandwidth
throughput
Vladimir Leiv
la source
la source
Réponses:
Dans le sans fil 802.11 (ce qui, je suppose, est votre cas), les trames de diffusion / multidiffusion généralement (ainsi que de nombreuses trames de gestion) sont transmises au débit de données de base / de base / requis le plus bas (le terme varie selon le fournisseur). Ceci est distinct des débits de données pris en charge.
En règle générale, pour une meilleure portée et une compatibilité maximale, cela correspond par défaut au débit de 1 Mbps, bien qu'au cours des dernières années, certains fournisseurs aient augmenté cette valeur par défaut.
Certains fournisseurs incluent également une conversion multidiffusion vers unidiffusion en gardant une trace des clients de multidiffusion avec une certaine forme d'espionnage de multidiffusion, mais je ne connais aucun moyen similaire pour la diffusion (un appareil sans fil ne peut pas connaître tous les clients dont il peut avoir besoin). atteindre).
Si vous parlez d'un réseau maillé ad hoc, vous n'avez souvent pas de contrôle sur celui-ci dans les paramètres du pilote.
la source
Le taux de multidiffusion doit être le plus petit dénominateur commun pour que tous les appareils puissent le recevoir avec succès. Les trames de multidiffusion ne peuvent pas être acquittées [1], donc si un pair ne parvient pas à le recevoir, l'expéditeur ne le saura pas et ne retransmettra pas la trame. Il est courant d'avoir des taux de perte de plus de 1% par récepteur. Des taux de perte beaucoup plus élevés peuvent être attendus s'il y a un trafic unicast important en cours sur le même canal.
Si vous augmentez le taux de multidiffusion de base, vous augmenterez également le taux de perte. Mais comme vous devez combiner des paquets natifs et introduire une redondance pour compenser le taux de perte, votre réseau devrait être capable de survivre à cela. Gardez à l'esprit que les trames de gestion multicast 802.11 (y compris les balises) ne sont pas conçues pour prendre en charge des taux de perte élevés.
Sous Linux, la plupart des pilotes mac802.11 devraient prendre en charge la définition du taux de multidiffusion. Les noyaux pas si récents exigent que cela soit fait au moment de la jonction pour IBSS et le maillage.
iw
a unemcast-rate
option pour la commandeibss join
etmesh join
.Mais si vous utilisez un noyau assez récent et
iw
que les deux prennent en chargeNL80211_CMD_SET_MCAST_RATE
, vous pouvez le changer à tout moment, et c'est aussi simple quepour définir un taux de multidiffusion de 6 Mbps.
[1] Peut-être qu'ils le peuvent, maintenant. Il a été proposé de modifier la norme 802.11 pour accuser réception des trames de multidiffusion: toutes les stations, après avoir reçu une trame de multidiffusion avec succès, choisiraient une interruption aléatoire et enverraient un accusé de réception à l'émetteur. Les accusés pourraient bien entendu entrer en collision, de sorte que l'émetteur la retransmettrait et autoriserait des interruptions plus importantes jusqu'à ce que tous les récepteurs aient reconnu la trame avec succès.
la source
Il est en fait possible de modifier le débit binaire en forçant le débit sur la carte sans fil. Sous Linux, la commande est:
la source
iwconfig
est obsolète. Tous les ioctls qu'il utilise sont soit piratés, soit complètement truqués, voire sans opération. Quoi qu'il en soit, ce que fait cette commande particulière est horrible. Et ce n'est pas ce que vous voulez: cela limite le taux disponible, cela ne le fixe en aucune façon. Et je ne suis même pas sûr que ce paramètre survivra longtemps en cas d'IBSS.