www.eprace.edu.pl » rejestrowanie-multimediow » Sieć Ethernet » Protokół CSMA/CD

Protokół CSMA/CD

Ponieważ wszystkie urządzenia w sieci Ethernet korzystają ze wspólnego medium transmisyjnego (nie dotyczy to sieci opartej na switchach), sytuacja, w której więcej niż jedno urządzenie nadaje w danej chwili, prowadzi do kolizji i w efekcie zniszczenia nadawanych danych. Wobec tego zaimplementowano mechanizm ograniczający powsta­wanie kolizji oraz minimalizujący ich skutki, znany jako protokół CSMA/CD (ang. Carrier Sense Multiple Access with Collision Detection – dostęp wielokrotny z wykry­waniem nośnej i z detekcją kolizji).

U podstaw tego protokołu leży zasada, że urządzenie, które otrzyma od wyższej warstwy dane do nadania, sprawdza czy w kanale odbywa się transmisja. Jeżeli kanał jest wolny, urządzenie zaczyna nadawać, a w przeciwnym wypadku czeka do momentu zwolnienia kanału. Następnie oczekuje czas wylosowany z pewnego przedziału, po czym ponownie sprawdza czy kanał jest wolny i postępuje analogicznie jak poprzednio.

Powyższy sposób postępowania nazywany jest protokołem CSMA. Znacznie redukuje on prawdopodobieństwo kolizji w stosunku do rozwiązania, w którym urządzenie otrzymujące dane do nadania wysyłałoby je bezzwłocznie. Jednak wciąż możliwa jest sytuacja, w której dwa urządzenia rozpoczną nadawanie w bardzo małym odstępie czasu, przez co sygnał żadnego z nich nie zdąży dotrzeć do drugiego, co nie pozwoli na stwierdzenie zajętości kanału. Prowadzi to oczywiście do kolizji.

Aby nadawca mógł wykryć kolizję, interfejs warstwy fizycznej jest zbudowany w taki sposób, że podczas nadawania jednocześnie sprawdza, czy stan linii zgodny jest z nadawanym przez niego sygnałem. Różnica pomiędzy tymi sygnałami świadczy o wystąpieniu kolizji. W razie jej stwierdzenia nadawca przerywa transmisję i wysyła specjalny sygnał Jam, charakteryzujący się wyższym poziomem napięcia niż zwykłe dane. Sygnał ten jest rozpoznawany przez wszystkie urządzenia w sieci jako informacja o kolizji. W tym momencie urządzenia, które spowodowały kolizję, oczekują pewien losowy odstęp czasu, po czym sprawdzają zajętość kanału i ponownie próbują nadawać.

Oczywistym jest, że prawdopodobieństwo kolizji wzrasta wraz ze wzrostem liczby urządzeń w sieci oraz ze wzrostem ilości przesyłanych przez nie danych. Przy dużym obciążeniu sieci jest wysoce prawdopodobne, że próba retransmisji po kolizji zakończy się kolejną kolizją i ta sytuacja kilkakrotnie się powtórzy. Z tego względu po każdej kolizji kolejny odstęp czasu losowany jest z dwukrotnie większego przedziału niż poprzednio. Zakres ten wzrasta aż do 10-tej próby, po czym wykonywane jest jeszcze 5 kolejnych. Jeżeli 15-ta próba zawiedzie, procedura jest przerywana, a wyższa warstwa zostaje poinformowana o niepowodzeniu.



komentarze

Copyright © 2008-2010 EPrace oraz autorzy prac.