CSMA/CD

CSMA/CD (ang. Carrier Sense Multiple Access with Collision Detection - wielodostęp do łącza z badaniem jego stanu z wykrywaniem kolizji[1]) – protokół wielodostępu CSMA z badaniem stanu kanału i wykrywaniem kolizji[1][2][3].

Protokół CSMA/CD jest wykorzystywany w sieciach LAN typu Ethernet[a][1][2][3] pracujących w half-duplexie.

Wielodostęp do łącza danych z badaniem stanu kanału

Kiedy urządzenie lub węzeł w sieci posiada dane, które chce przesłać - nasłuchuje łącza, sprawdzając czy jakieś inne urządzenie nie przesyła danych w linii transmisyjnej. Dane będą wysłane jedynie wtedy, gdy nie zostanie wykryty żaden sygnał świadczący o tym, że jakieś urządzenie w sieci wysyła dane. Węzeł, który nie wysyła danych, nasłuchuje, czy inne urządzenia wysyłają do niego dane[1][2][3].

Istnieje możliwość, że dwa lub więcej urządzeń przystąpi do wysyłania danych w tej samej chwili lub zanim sygnał z pierwszego węzła dotrze do drugiego. W takiej sytuacji żadne z nich nie wykryje sygnału nośnego drugiego. W efekcie obydwa urządzenia wysyłając dane w (prawie) tym samym czasie spowodują kolizję w sieci Ethernet (dotyczy to jedynie half-duplexu). Możliwość wystąpienia takiej sytuacji rodzi potrzebę stworzenia mechanizmów pozwalających tę kolizję wykryć i wyeliminować jej skutki[1][2][3].

Wykrywanie kolizji

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

Urządzenie podczas wysyłania swoich danych, monitoruje stan linii na której nadaje. W tym celu sprawdza wartość sygnału w kanale transmisyjnym i porównuje je z aktualnie nadawanym przez siebie stanem logicznym, używając w tym celu przetwornika A/C. Urządzenie, które wykryło kolizję, zatrzymuje wysyłanie danych i wysyła sekwencję informującą o kolizji (sygnał zagłuszania, tzw. JAM), aby zasygnalizować innym węzłom, że dane są nieważne (na pewno zostaną błędnie odebrane). Poziom sygnału informującego o kolizji (prądu, ponieważ zgodnie z CSMA/CD węzły są nadajnikami prądu o stabilizowanym natężeniu) jest wyższy od normalnie generowanego przez węzeł, aby mieć pewność, że każdy węzeł odebrał sekwencję informującą o kolizji. Potem węzły, które weszły w kolizję, będą chciały retransmitować sygnał. Robią to sprawdzając po losowo wybranym czasie zajętość kanału i ponownie transmitując, przy czym losowany czas oczekiwania może być dłuższy po kilku kolizjach (system z "eksponencjalnym naleganiem"). Powyższe zasady nie tylko wykrywają kolizje, lecz również zmniejszają ryzyko ich wystąpienia, ponieważ liczba wysyłanych pakietów zmniejsza się, w porównaniu z siecią CSMA: dzięki wykrywaniu kolizji nie jest potrzebne potwierdzanie każdej ramki (jak w CSMA), ponieważ każdy węzeł, który nadał ramkę bezkolizyjnie zakłada, że dane dotarły bez problemów do węzła odbiorczego (w sieci przewodowej prawdopodobieństwo przekłamania bitu z innego powodu jest bardzo małe).

Wady

W przypadku zapełnienia łącza, czyli jednocześnie występowania dużej ilości kolizji, protokół ten generuje duże straty czasowe, bardzo spada wydajność systemu (przepustowość sieci)[1]. Dlatego powstały mechanizmy CSMA/AMP i CSMA/CA+AMP (ang. AMP - Arbitration on Message Priority, czyli arbitraż w oparciu o priorytet wiadomości).

W sieciach Ethernet współcześnie problem ten jest rozwiązany dzięki spadkowi cen urządzeń sieciowych i powszechnemu zastosowaniu przełączników, które odseparowują od siebie domeny kolizyjne.

Zobacz też

Przypisy

  1. a b c d e f Silberschatz ↓, s. 580.
  2. a b c d Thomas A. Wadlow. The Xerox Alto Computer - The Ethernet Network: Interconnecting Personal Computers. „BYTE”. Vol. 6, No. 9, s. 62, wrzesień 1981. McGraw-HIll Inc. US. ISSN 1230-1345. (ang.). 
  3. a b c d Peter Fetterolf. Connectivity: State of the Art. „BYTE”. Vol. 16, No. 12, s. 197-208, listopad 1991. 

Uwagi

  1. zdefiniowanym jako standard IEEE 802.3

Bibliografia

  • Abraham Silberschatz, Peter B. Galvin: Podstawy systemów operacyjnych. Wydawnictwa Naukowo-Techniczne, 2006. ISBN 83-204-3215-4. (pol.).

Linki zewnętrzne

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.