Wifi adhoc : c'est quoi cette blague ?

En fait ce n’est pas un problème, mais plutôt une particularité bizarre que j’aimerais bien comprendre.

Matos :

  • une machine linux avec un dongle wifi usb compatible mode adhoc : cette machine sert de passerelle wifi [192.168.200.254]
  • un ibook [192.168.200.200]
  • un macbook pro [192.168.200.2]

Configuration :

L’ibook est configuré pour se connecter en mode adhoc à la machine linux ; il peut ainsi accéder au Net sans soucis. Il arrive à pinger l’IP de la GW linux aussi. Après j’allume le MacBook et je le configure pour se connecter sur la machine linux en adhoc, en même temps que l’ibook… et cela fonctionne !

Par fonctionner il faut comprendre :

  • les 2 machines accédent au Net en même temps.
  • les 2 machines arrivent à pinguer la passerelle en même temps (et sans packet loss)
  • les 2 machines arrivent à se pinguer aussi

Alors là je suis très surpris parce que c’est comme si le dongle usb était en train de maintenir 2 connexions adhoc en même temps. Mais voilà où cela devient encore plus surprenant :

[quote]unreal@iBook:~$ traceroute 192.168.200.2
traceroute to 192.168.200.2 (192.168.200.2), 64 hops max, 40 byte packets
1 192.168.200.2 (192.168.200.2) 2.007 ms 0.796 ms 0.777 ms[/quote]

Les paquets passent de machine à machine sans passer par l’interface de la machine linux. Et si je surveille l’interface wlan0 sur la machine linux pendant que iBook et MacBook s’envoient des fichiers via WiFi, et ben, il n’a pas un seul octet qui passe via wlan0. C’est comme si les 2 macs avaient monté une sorte d’ “auto adhoc” directement, mais voilà : si je mesure la vitesse de transfert entre les 2 macs, j’obtiens 750ko/s, alors que les 2 macs ont des cartes 802.11G et seul le dongle USB sur la machine Linux est 802.11B.

Donc à priori le dongle USB “route” entre les 2 connexions adhoc sans passer par l’interfacer wlan0 quand cela n’est pas nécessaire…

Comment est-ce possible ?

un reseau adhoc, c’est comme un reseau en bnc, à l’ancienne, avec des bouchons, des tés et du cable coax.

tout se passe au niveau “physique”, donc c’est normal que ton traceroute affiche pas un “hop” supplémentaire, la machine intermédiaire fait pas office de routeur, c’est juste un passage “matériel”

[quote=“vns, post:2, topic: 28660”]un reseau adhoc, c’est comme un reseau en bnc, à l’ancienne, avec des bouchons, des tés et du cable coax.

tout se passe au niveau “physique”, donc c’est normal que ton traceroute affiche pas un “hop” supplémentaire, la machine intermédiaire fait pas office de routeur, c’est juste un passage “matériel”[/quote]

Tu es en train de dire que c’est “normal” et que n’importe endpoint wifi compatible adhoc peut “accepter” plusieurs (combien ?) connexions adhoc ? Dans ce cas, quel avantage pour le mode access point ?

En Ad Hoc en théorie, chaque client renvoie les données qui lui sont pas destinées; un peu comme avec un hub. Ca permet d’élargir la portée du réseau en théorie.

Je ne suis pas d’accord avec l’explication de vns : en mode ad-hoc, aucune station ne forwarde de trames. Le Wi-Fi en mode ad-hoc n’est pas un vrai réseau ad-hoc où les stations peuvent jouer le rôle de répéteur.

En revanche, pour ton réseau, j’imagine que tu as défini un SSID. Le SSID, tout comme pour le mode infrastructure, permet de définir la liste des stations appartenant à un même réseau. Si tu as 3 stations, toutes configurées avec le même SSID, si les 3 sont à portée les unes des autres, elles se verront sans problème. Attention à ne pas confondre « point à point » avec « une seule connexion possible ».

Dans ton cas précis, j’imagine que tes 2 macs sont à portée, c’est pour ça que les trames transitent directement de l’un à l’autre sans passer par ton linux. Quant au débit, cela vient du fait que tes stations négocient un débit acceptable pour tout le monde, cad 11 Mbps dans ton cas, et ceci sur l’ensemble du BSS et non pas seulement entre deux stations.

Pour vérifier tout ça, tu peux essayer deux choses :

  • Faire en sorte que les deux macs ne soient plus à portée et reessayer le ping. Nomalement, il ne devrait pas passer
  • Regarder l’adresse mac des paquets icmp entrants sur un de tes macs : tu devrais bien voir l’@ du mac qui pinge, pas celle de ton linux.

Pour moi, il n’y a donc rien d’anormal dans ta situation (si tes 2 macs sont bien à portée, sinon effectivement, il y a aussi une subtilité qui m’échappe).

Performance et surtout sécurité.
De plus le WiFi ad-hoc ne fait pas de forwarding de trames.
Attention, ad-hoc ~ « point à point », pas « connexion unique ».

oh bah désolé si j’ai raconté des conneries, hein :stuck_out_tongue:

merci pour ton explication :stuck_out_tongue:

[quote=« vns, post:6, topic: 28660 »]oh bah désolé si j’ai raconté des conneries, hein :stuck_out_tongue:

merci pour ton explication :P[/quote]
:stuck_out_tongue:

En fait ton explication est théoriquement juste, c’est juste que le Wi-Fi n’est pas un vrai réseau ad-hoc.

PS : mes explications remotent à 2003, peut-être que tout ça a changé depuis, mais je doute…

Merci pour les explications :stuck_out_tongue: En fait, j’étais en train d’essayer de faire coller les informations dans ma tête et… ça collait pas. Mais tu as raison :

Donc pour résumer toutes les stations parlent avec toutes les autres stations ; psychologiquement c’est vraiment très intéressant comme concept. En tout cas, cela permet de monter une passerelle WiFi à très faible coût (le prix du dongle quoi)… En fait, j’avais l’impression que le mode ad-hoc c’était uniquement pour relier 2 stations (comme un câble croisé quoi) et que pour monter une vraie GW wifi il fallait absolument un endpoint supportant le mode « access point » aussi bien niveau hardware que software.

Oui, à condition que les dites stations soient bien à portée les unes des autres.

Oui mais attention à la sécu dans ce cas, les réseau ad-hoc sont un poil plus sensibles car il est impossible de désactiver le broadcast du SSID (bon, c’est pas que cette mesure est ultra importante, mais c’est toujours mieux avec).

« Psychologiquement », le mot est tout à fait approprié. Car il y a un type de réseau que l’on utilise fréquemment et qui est plus ou moins un réseau ad-hoc : le P2P. Je dis « plus ou moins », car il faudrait pour cela que les réseaux soient totalement décentralisés, ce qui n’est pas le cas pour la majorité des réseaux P2P.

C est ce que je viens de faire en attendant de m acheter un vrai router… Et ca marche plutot bien ca fait genre 5 jours que ca marche sans probleme.

Koubiak