Jeśli dwa urządzenia emitują jednocześnie sygnał wifi o tej samej częstotliwości i jednocześnie docierają do anteny, w jaki sposób dane nie mogą się pokrywać?

15

To znaczy wiem, że każdy pakiet jest wysyłany z adresem MAC, ale co z przesyłaniem strumieniowym?

Co się stanie, jeśli router odbiera jeden pakiet, przybywa pakiet z innego urządzenia?

Skąd router może wiedzieć, że fotony zderzające się z anteną są częścią pierwszego pakietu lub drugiego pakietu?

A może prędkość światła jest tak duża, że ​​prawie nigdy tak się nie dzieje, a pakiety są po prostu zgłaszane jako uszkodzone i wysyłane ponownie?

Zequez
źródło
4
To się nazywa kolizja . Oba pakiety zostały utracone.
vonbrand

Odpowiedzi:

20

W sieci bezprzewodowej tylko jedno urządzenie „mówi” jednocześnie. Każde inne urządzenie nasłuchuje i czeka, aż powietrze na tym kanale ucichnie, zanim zacznie mówić. Technika ta nazywana jest wielokrotnym dostępem operatora z unikaniem kolizji (CSMA / CA)

Wymiana RTS / CTS pomaga wszystkim węzłom w efektywnej synchronizacji, umożliwiając jednemu węzłowi powiedzenie „hej, będę mówić tak długo, więc czekaj tak długo” do każdego innego węzła.

@Petr Abdulin ma rację, ale myślę, że wszystkie sieci Wi-Fi używają CSMA / CA. Stare nieprzełączane sieci przewodowe 10BaseT polegały na wielokrotnym dostępie operatora z funkcją wykrywania kolizji (CSMA / CD) . Kolizje nie zdarzają się w sieciach, w których wszystkie węzły są podłączone do przełącznika.

LawrenceC
źródło
4
W większości poprawne, z tym wyjątkiem, że możliwe są kolizje z CSMA / CA. Rozważ trzy urządzenia A, B i C, w których A i C są zbyt daleko od siebie, aby odbierać dane nawzajem, ale B znajduje się między nimi i może odbierać z każdego z nich. A i C nie mogą wykryć kolizji (ich zdaniem nie ma), ale B nie będzie w stanie odbierać danych z żadnego z nich, chyba że ktoś milczy.
George Skoptsov
@GeorgeSkoptsov - Oczywiście nadal istnieje możliwość kolizji, jeśli kolizje nie byłyby możliwe, wszystko byłoby bezprzewodowe, ponieważ nie nastąpiłaby utrata pakietów.
Ramhound
5
@Ramhound - Zderzenie nie jest głównym powodem utraty pakietów, a utrata pakietów nie jest głównym powodem, dla którego nie wszystko jest bezprzewodowe.
George Skoptsov
8

Jeśli zdarzy się, że dwie transmisje przeszkadzają sobie nawzajem (kolizja), wówczas obie transmisje zostaną uszkodzone i zostaną ponownie przesłane po losowym opóźnieniu, co zmniejszy ryzyko powtórzenia kolizji.

Petr Abdulin
źródło
1

Co się stanie, jeśli router odbiera jeden pakiet, przybywa pakiet z innego urządzenia?

Bezpośrednią konsekwencją jest to, że niektóre z nakładających się bitów są uszkodzone. Często tak wiele bitów jest uszkodzonych, że odbiornik widzi, że sekwencja sprawdzania ramek nie pasuje, a odbiornik po prostu wyrzuca złe dane i działa inaczej, jakby nie słyszał żadnego pakietu.

Później protokoły wyższego poziomu w końcu zauważają, że pakiet nie został potwierdzony (potwierdzony) i ponownie wysyłają pakiet.

Jednak standardy Wi-Fi obejmują wiele różnych sposobów zapobiegania takim kolizjom, w tym:

  • Większość wersji WiFi wykorzystuje COFDM lub inną kombinację widma rozproszonego + dodatkowe bity korekcji błędów. Jeśli masz szczęście, tylko kilka bitów zostało przerzuconych, wszystkie te bity można poprawić w odbiorniku, a jeden z pakietów przechodzi bezbłędnie.

  • Jak już wskazał LawrenceC, większość wersji Wi-Fi wykorzystuje nośnik wykrywający wielokrotny dostęp z unikaniem kolizji (CSMA / CA) : Bezprzewodowy punkt dostępowy koordynuje wszystkie laptopy komunikujące się z nim tak, że (zwykle) transmituje tylko jedno urządzenie na raz, więc (zwykle) nie ma kolizji. (Czasami nadal dochodzi do kolizji z pakietem z innego laptopa próbującego rozmawiać z innym bezprzewodowym punktem dostępowym lub zakłócać działanie różnych innych urządzeń).

co z streamingiem?

Co z tym?

Gdy laptop odtwarza strumień audio (lub strumień wideo; około 5 Mbit / s dla strumieni wideo 1080p), nadawca wysyła je jako serię małych pakietów. Nowoczesny sprzęt komunikacyjny jest szybki (802.11a przesyła z prędkością ponad 20 Mbit / s, a nowsze standardy Wi-Fi są jeszcze szybsze), więc istnieją (względnie) długie przerwy między jednym pakietem na tym laptopie, a następnym pakietem na tym samym laptop.

Pomiędzy każdym pakietem jest mnóstwo czasu, aby bezprzewodowy punkt dostępowy wysłał pakiety do kilku innych laptopów, nasłuchując okazjonalnych pakietów od tych laptopów, które potwierdzają poprzednie transmisje i żądają następnego fragmentu strumienia, a jeszcze bardziej okazjonalnie wysyłając ponownie pakiety gdy dochodzi do kolizji lub innego błędu.

Jeśli wszystkie te laptopy rozmawiają z tym samym punktem dostępu, punkt dostępu koordynuje transmisje, więc transmitowane jest tylko jedno urządzenie na raz.

Jeśli niektóre z tych laptopów rozmawiają z jednym punktem dostępu, a inne z innym (nieskoordynowanym) punktem dostępu, a wszystkie te urządzenia znajdują się na tyle blisko siebie, że można je łatwo podsłuchać, wtedy będą częste kolizje.

Wszelkie kolidujące pakiety są przesyłane ponownie. Zazwyczaj ponownie przesyłany pakiet w końcu dostaje się, na długo przed nadejściem czasu, aby go odtworzyć, więc nikt nie zauważył, że wystąpił problem. Tak więc (zazwyczaj) każdy człowiek ma złudzenie własnego „ciągłego” dedykowanego strumienia.

David Cary
źródło
Przypomnij mi, żebym nigdy nie pisał oprogramowania routera bezprzewodowego, brzmi to wyjątkowo bolesnie.
kot