Wielokrotny dostęp z wykrywaniem operatora z wykrywaniem kolizji

Wielokrotny dostęp z wyczuwaniem nośnej z wykrywaniem kolizji ( CSMA/CD ) to metoda kontroli dostępu do nośnika (MAC) stosowana przede wszystkim we wczesnej technologii Ethernet w sieciach lokalnych . Wykorzystuje nośnej , aby odroczyć transmisje, dopóki nie będą nadawać żadne inne stacje. Jest to używane w połączeniu z wykrywaniem kolizji, w którym stacja nadawcza wykrywa kolizje poprzez wykrywanie transmisji z innych stacji podczas transmisji ramki . Po wykryciu tego warunku kolizji stacja przestaje nadawać tę ramkę, przesyła sygnał zacięcia, a następnie czeka przez losowy przedział czasu przed próbą ponownego wysłania ramki.

CSMA/CD to modyfikacja czystego wielodostępu z wykrywaniem nośnika (CSMA). CSMA/CD służy do poprawy wydajności CSMA poprzez zakończenie transmisji natychmiast po wykryciu kolizji, skracając w ten sposób czas wymagany do podjęcia ponownej próby.

Wraz z rosnącą popularnością przełączników Ethernet w latach 90., IEEE 802.3 wycofał przemienniki Ethernet w 2011 r., Przez co operacje CSMA/CD i half-duplex stały się mniej powszechne i mniej ważne.

Procedura

Uproszczony algorytm CSMA/CD zawierający logikę retransmisji wykorzystywany do rozwiązania wykrytej kolizji.

Poniższa procedura służy do zainicjowania transmisji. Procedura jest zakończona, gdy ramka zostanie pomyślnie przesłana lub gdy podczas transmisji zostanie wykryta kolizja.

  1. Czy ramka jest gotowa do transmisji? Jeśli nie, poczekaj na ramkę.
  2. Czy medium jest bezczynne? Jeśli nie, poczekaj, aż będzie gotowy.
  3. Rozpocznij nadawanie i monitoruj kolizje podczas transmisji.
  4. Czy doszło do kolizji? Jeśli tak, przejdź do procedury wykrycia kolizji.
  5. Zresetuj liczniki retransmisji i zakończ transmisję ramki.

Poniższa procedura służy do rozwiązania wykrytej kolizji. Procedura jest zakończona, gdy retransmisja zostanie zainicjowana lub retransmisja zostanie przerwana z powodu licznych kolizji.

  1. Kontynuuj transmisję (z sygnałem zakłócającym zamiast nagłówka ramki/danych/ CRC ) aż do osiągnięcia minimalnego czasu pakietu, aby upewnić się, że wszystkie odbiorniki wykryją kolizję.
  2. Zwiększ licznik retransmisji.
  3. Czy osiągnięto maksymalną liczbę prób transmisji? Jeśli tak, przerwij transmisję.
  4. Oblicz i poczekaj na losowy okres wycofywania na podstawie liczby kolizji.
  5. Ponownie wejdź do głównej procedury na etapie 1.

Metody wykrywania kolizji są zależne od mediów. We współdzielonej szynie elektrycznej, takiej jak 10BASE5 lub 10BASE2 , kolizje można wykryć, porównując przesyłane dane z odebranymi lub rozpoznając wyższą niż normalna amplitudę sygnału na magistrali. We wszystkich innych mediach nośna wykryta na kanale odbiorczym podczas transmisji wyzwala zdarzenie kolizji. Repeatery lub koncentratory same wykrywają kolizje i propagują sygnały zakłócające.

Procedurę odzyskiwania po kolizji można porównać do tego, co dzieje się na przyjęciu, podczas którego wszyscy goście rozmawiają ze sobą za pośrednictwem wspólnego medium (powietrza). Przed zabraniem głosu każdy gość grzecznie czeka, aż obecny mówca skończy. Jeśli dwóch gości zacznie mówić w tym samym czasie, obaj przestają mówić i czekają przez krótkie, losowe okresy czasu (w sieci Ethernet czas ten jest mierzony w mikrosekundach). Mamy nadzieję, że każdy wybierając losowy okres czasu, obaj goście nie wybiorą tego samego czasu na ponowną próbę rozmowy, unikając w ten sposób kolejnej kolizji.

Sygnał zacięcia

Sygnał zakłócający lub sygnał zakłócający to sygnał , który przenosi 32-bitowy wzór binarny wysyłany przez stację danych w celu poinformowania innych stacji nadawczych o kolizji i zakazie nadawania.

Maksymalny czas zacięcia jest obliczany w następujący sposób: Maksymalna dozwolona średnica instalacji Ethernet jest ograniczona do 232 bitów. To sprawia, że ​​czas podróży w obie strony wynosi 464 bity. Ponieważ czas szczeliny w sieci Ethernet wynosi 512 bitów, różnica między czasem szczeliny a czasem podróży w obie strony wynosi 48 bitów (6 bajtów), co stanowi maksymalny czas zacięcia .

To z kolei oznacza, że: Stacja, która zauważyła kolizję , wysyła wzorzec o długości od 4 do 6 bajtów składający się z 16 kombinacji bitów 1-0. Uwaga: Rozmiar tego sygnału zakłócającego wyraźnie przekracza minimalny dozwolony rozmiar ramki wynoszący 64 bajty.

Ma to na celu zapewnienie, że każdy inny węzeł, który może aktualnie odbierać ramkę, otrzyma sygnał zakłócający zamiast poprawnego 32-bitowego MAC CRC, co powoduje, że inne odbiorniki odrzucają ramkę z powodu błędu CRC.

Późna kolizja

Późna kolizja to rodzaj kolizji, która zachodzi głębiej w pakiecie, niż pozwala na to dany standard protokołu. W 10-megabitowym współdzielonym medium Ethernet, jeśli błąd kolizji wystąpi po przesłaniu pierwszych 512 bitów danych przez stację nadawczą, mówi się, że wystąpiła późna kolizja. Co ważne, późne kolizje nie są ponownie wysyłane przez kartę sieciową , w przeciwieństwie do kolizji występujących przed pierwszymi 64 oktetami; pozostawiono wyższym warstwom stosu protokołów ustalenie, czy nastąpiła utrata danych.

Ponieważ prawidłowo skonfigurowane łącze sieciowe CSMA/CD nie powinno mieć późnych kolizji, typowymi możliwymi przyczynami są niedopasowanie pełnego/półdupleksu, przekroczenie limitów długości kabla Ethernet lub wadliwy sprzęt, taki jak nieprawidłowe okablowanie, niezgodna liczba koncentratorów w sieci lub zła karta sieciowa.

Lokalna kolizja

Kolizja lokalna to kolizja występująca na karcie sieciowej , a nie na przewodzie. Karta sieciowa nie może wykryć lokalnych kolizji bez próby wysłania informacji.

W kablu UTP lokalna kolizja jest wykrywana w lokalnym segmencie tylko wtedy, gdy stacja wykryje sygnał na parze RX w tym samym czasie, gdy wysyła na parze TX. Ponieważ dwa sygnały znajdują się w różnych parach, nie ma charakterystycznej zmiany w sygnale. Kolizje są rozpoznawane tylko na UTP, gdy stacja pracuje w trybie half-duplex . Jedyna funkcjonalna różnica między operacją półdupleksową i pełnodupleksową pod tym względem polega na tym, czy pary nadawcze i odbiorcze mogą być używane jednocześnie.

Efekt przechwytywania kanału

Efekt przechwytywania kanału to zjawisko, w którym jeden użytkownik współdzielonego medium „przechwytuje” medium przez znaczny czas. W tym okresie (zwykle 16 klatek) [ potrzebne wyjaśnienie ] innym użytkownikom odmawia się korzystania z medium. Efekt ten po raz pierwszy zaobserwowano w sieciach korzystających z CSMA/CD w sieci Ethernet. Z powodu tego efektu połączenie o największej ilości danych dominuje w wielodostępnym kanale bezprzewodowym. Dzieje się tak w przypadku łączy Ethernet ze względu na sposób, w jaki węzły „wycofują się” z łącza i próbują ponownie uzyskać do niego dostęp. W protokole Ethernet, gdy dochodzi do kolizji komunikacyjnej (gdy dwóch użytkowników medium próbuje wysłać w tym samym czasie), każdy użytkownik czeka przez losowy okres czasu przed ponownym uzyskaniem dostępu do łącza. Jednak użytkownik będzie czekał („wycofał się”) przez losową ilość czasu proporcjonalną do liczby kolejnych prób uzyskania dostępu do łącza. Efekt przechwytywania kanału ma miejsce, gdy jeden użytkownik nadal „wygrywa” link.

Na przykład użytkownik A i użytkownik B próbują jednocześnie uzyskać dostęp do cichego łącza. Ponieważ wykryli kolizję, użytkownik A czeka przez losowy czas między 0 a 1 jednostką czasu, podobnie jak użytkownik B. Załóżmy, że użytkownik A wybiera krótszy czas wycofywania. Następnie użytkownik A zaczyna korzystać z łącza, a B pozwala mu zakończyć wysyłanie ramki . Jeśli użytkownik A ma jeszcze więcej do wysłania, wówczas użytkownik A i użytkownik B spowodują kolejną kolizję danych. A ponownie wybierze losowy czas wycofywania z przedziału od 0 do 1, ale użytkownik B wybierze czas wycofywania z przedziału od 0 do 3 – ponieważ jest to druga kolizja B z rzędu. Są szanse, że A ponownie „wygra”. Jeśli tak się stanie, A najprawdopodobniej wygra wszystkie bitwy kolizyjne, a po 16 kolizjach (liczba prób, zanim użytkownik wycofa się na dłuższy czas), użytkownik A „przejmie” kanał.

Zdolność jednego węzła do przechwytywania całego medium maleje wraz ze wzrostem liczby węzłów. Dzieje się tak, ponieważ wraz ze wzrostem liczby węzłów istnieje większe prawdopodobieństwo, że jeden z „innych” węzłów będzie miał krótszy czas wycofywania niż węzeł przechwytujący.

Efekt przechwytywania kanału tworzy sytuację, w której jedna stacja jest w stanie nadawać, podczas gdy inne ciągle się wycofują, co prowadzi do sytuacji krótkoterminowej niesprawiedliwości. Jednak w dłuższej perspektywie sytuacja jest sprawiedliwa, ponieważ każda stacja ma możliwość „przechwycenia” medium, gdy jedna stacja zakończy nadawanie. Wydajność kanału wzrasta, gdy jeden węzeł przechwyci kanał.

Negatywnym efektem ubocznym efektu przechwytywania byłby czas bezczynności powstały w wyniku wycofywania się stacji. Gdy jedna stacja zakończy nadawanie na medium, występują długie czasy bezczynności, ponieważ wszystkie inne stacje ciągle się wycofują. W niektórych przypadkach wycofywanie może trwać tak długo, że niektóre stacje faktycznie odrzucają pakiety, ponieważ osiągnięto maksymalne limity prób.

Aplikacje

CSMA/CD był używany w przestarzałych już wariantach współdzielonego medium Ethernet ( 10BASE5 , 10BASE2 ) oraz we wczesnych wersjach Ethernetu typu skrętka , które wykorzystywały koncentratory repeaterów . Nowoczesne sieci Ethernet, zbudowane z przełączników i połączeń w trybie pełnego dupleksu , nie muszą już używać CSMA/CD, ponieważ każdy segment Ethernet, czyli domena kolizyjna , jest teraz izolowany. CSMA/CD jest nadal obsługiwane w celu zapewnienia kompatybilności wstecznej i połączeń półdupleksowych. Standard IEEE 802.3 , który definiuje wszystkie warianty Ethernetu, ze względów historycznych nadal nosił tytuł „Dostęp wielokrotny z wykrywaniem kolizji (CSMA/CD) i specyfikacje warstwy fizycznej” do 802.3-2008, który używa nowej nazwy „IEEE Standard dla Ethernetu”.

Zobacz też

Notatki