Na razie zignorujmy część Gigabit i skupmy się na części „2 urządzenia wysyłają jednocześnie” na chwilę.
Na współdzielonych mediach może się tak naprawdę stać i stanowić problem. Większość transmisji bezprzewodowych to współdzielone media, a Ethernet w przeszłości był:
- 10base2 (koncentryczny) używał mniej więcej jednego kabla z każdym na nim. Oczywiście dwie (lub więcej) stacje mogły nadawać w tym samym czasie;
- 10baseT i 100baseT (oparte na skrętce), z koncentratorami (a nie przełącznikami) również oznaczały, że dwie (lub więcej) stacje mogły nadawać w tym samym czasie, ponieważ sygnał odebrany z dowolnego podłączonego urządzenia został po prostu powtórzony dla wszystkich innych.
Teraz, jeśli dwa urządzenia wysyłają jednocześnie, mogą się zdarzyć dwie rzeczy:
używasz jakiejś formy multipleksowania (podział czasu, podział częstotliwości ...), który pozwala na oddzielne „kanały”, dzięki czemu można słuchać określonego kanału i nie przeszkadzają mu inne. Jest to często stosowane w przypadku transmisji bezprzewodowych, a tym bardziej w przypadku transmisji przewodowych (wyjątek stanowią WDM / DWDM na włóknach).
lub jeśli dwa lub więcej urządzeń wysyła w tym samym czasie w tym samym kanale, otrzymujesz coś, co nazywa się kolizją : na przykład, gdy dwie osoby mówią jednocześnie, nie możesz zrozumieć, co mówi jedno z nich, urządzenia odbierające nie są w stanie dekodować dane wysyłane przez dowolne urządzenie (lub częściej mogą je dekodować, ale nie ma to sensu i nie przejdzie kontroli CRC).
Tutaj pojawiły się schematy takie jak CSMA-CD (Carrier-Sense Multiple Access, Collision Detection):
- Przed próbą transmisji urządzenie sprawdzi, czy ktoś inny wysyła (wyczucie operatora)
- Jeśli kanał jest wolny, zaczyna nadawać.
- Ale nawet przy tym dwa urządzenia mogą uruchomić się dokładnie w tym samym czasie, więc nadal możesz mieć kolizję.
- Aby uniknąć marnowania zbyt wiele czasu na kanale, urządzenia wykrywają kolizje (porównując to, co wysyłają z tym, co otrzymują: jeśli nie pasuje, oznacza to, że ktoś inny wysyła w tym samym czasie), przerywają transmisję, i spróbuj ponownie po losowym opóźnieniu (aby uniknąć nowej kolizji).
Było to całkiem zabawne, a w lekko obciążonych sieciach działało całkiem dobrze, ale gdy tylko ruch stał się znaczny, skończyło się to masą kolizji, co z kolei zwiększa wykorzystanie wspólnych mediów, co z kolei prowadzi do większej liczby kolizji, więc mogło być całkiem źle.
Odpowiedzią na to było przejście do przełączanych sieci full-duplex . Huby po prostu powtórzyły sygnał bez zastanowienia. Z drugiej strony przełączniki naprawdę otrzymują ramkę, a następnie ponownie wysyłają ją na link docelowy (dodatkowy bonus: ramka nie jest wysyłana do wszystkich, w większości przypadków do miejsca docelowego).
Jeśli dwa urządzenia wysyłają do tego samego urządzenia docelowego, przełącznik umieści w kolejce jedną z ramek, więc dwie ramki, które zostały wysłane w tym samym czasie, faktycznie docierają jedna po drugiej do miejsca docelowego.
Poza tym na poziomie fizycznym jest całkiem możliwe, że dane są wymieniane równolegle przez kilka par lub nawet kilka kabli. To, czy odbywa się to na poziomie bitowym, czy też dla każdej pary / kabla wysyłane są całe ramki, zależy od zastosowanej technologii. Ale myślę, że to nie było twoje pytanie.