CSMA/CD (Carrier Sense Multiple Access/ Collision Detection) er en medietilgangskontrollmetode som ble mye brukt i tidlig Ethernet-teknologi/LAN da det pleide å være delt busstopologi og hver node (datamaskiner) var koblet til med koaksialkabler. Nå er en Days Ethernet full dupleks og topologi er enten stjerne (tilkoblet via svitsj eller ruter) eller punkt til punkt (direkte tilkobling). Derfor brukes ikke CSMA/CD, men de støttes likevel.
Tenk på et scenario der det er 'n' stasjoner på en kobling og alle venter på å overføre data gjennom den kanalen. I dette tilfellet vil alle 'n' stasjoner ha tilgang til koblingen/kanalen for å overføre sine egne data. Problemet oppstår når mer enn én stasjon sender dataene for øyeblikket. I dette tilfellet vil det være kollisjoner i dataene fra forskjellige stasjoner.
CSMA/CD er en slik teknikk der forskjellige stasjoner som følger denne protokollen er enige om noen vilkår og kollisjonsdeteksjonstiltak for effektiv overføring. Denne protokollen bestemmer hvilken stasjon som skal sende når, slik at data når destinasjonen uten korrupsjon.
Hvordan fungerer CSMA/CD?
- Trinn 1: Sjekk om avsenderen er klar til å sende datapakker. Trinn 2: Sjekk om overføringskoblingen er inaktiv.
Avsender må fortsette å sjekke om overføringslinken/mediet er inaktivt. For dette registrerer den kontinuerlig overføringer fra andre noder. Avsender sender dummydata på lenken. Hvis den ikke mottar noe kollisjonssignal, betyr dette at koblingen er inaktiv for øyeblikket. Hvis den registrerer at transportøren er ledig og det ikke er noen kollisjoner, sender den dataene. Ellers avstår den fra å sende data. Trinn 3: Overfør dataene og se etter kollisjoner.
Avsender overfører sine data på lenken. CSMA/CD bruker ikke et 'bekreftelse'-system. Den sjekker for vellykkede og mislykkede overføringer gjennom kollisjonssignaler. Under overføring, hvis et kollisjonssignal mottas av noden, stoppes overføringen. Stasjonen sender deretter et jam-signal til lenken og venter i tilfeldige tidsintervaller før den sender rammen på nytt. Etter litt tilfeldig tid prøver den igjen å overføre dataene og gjentar prosessen ovenfor. Trinn 4: Hvis ingen kollisjon ble oppdaget under forplantningen, fullfører avsenderen sin rammeoverføring og tilbakestiller tellerne.
Hvordan vet en stasjon om dataene kolliderer?
Vurder situasjonen ovenfor. To stasjoner, A & B.
Forplantningstid: Tp = 1 time (signalet tar 1 time å gå fra A til B)
At time t=0, A transmits its data. t= 30 mins : Collision occurs.>
Etter at kollisjonen inntreffer, genereres et kollisjonssignal som sendes til både A & B for å informere stasjonene om kollisjonen. Siden kollisjonen skjedde midtveis, tar kollisjonssignalet også 30 minutter å nå A & B.
Therefore, t=1 hr: A & B receive collision signals.>
Dette kollisjonssignalet mottas av alle stasjonene på den lenken. Deretter,
Hvordan sikre at det er stasjonens data som kolliderte?
For dette, Overføringstid (Tt)> Forplantningstid (Tp) [Rough bound]
Dette er fordi vi ønsker at før vi overfører den siste biten av dataene våre fra stasjonen vår, bør vi i det minste være sikre på at noen av bitene allerede har nådd målet. Dette sikrer at koblingen ikke er opptatt og kollisjoner ikke vil oppstå.
Men ovenfor er en løs grense. Vi har ikke tatt tiden det tok for kollisjonssignalet å reise tilbake til oss. For dette bør du vurdere det verste tilfellet.
Vurder systemet ovenfor igjen.

At time t=0, A transmits its data. t= 59:59 mins : Collision occurs>
Denne kollisjonen skjer like før dataene når B. Nå bruker kollisjonssignalet igjen 59:59 minutter å nå A. Derfor mottar A kollisjonsinformasjonen omtrent etter 2 timer, det vil si etter 2 * Tp.
Hence, to ensure tighter bound, to detect the collision completely, Tt>>= 2 * By>
Dette er den maksimale kollisjonstiden som et system kan ta for å oppdage om kollisjonen var av egne data.
Hva bør være minimumslengden på pakken som skal overføres?
Transmission Time = Tt = Length of the packet/ Bandwidth of the link [Number of bits transmitted by sender per second] Substituting above, we get, Length of the packet/ Bandwidth of the link>= 2 * By>
Length of the packet>= 2 * Tp * Båndbredde til koblingen>
Polstring hjelper i tilfeller hvor vi ikke har så lange pakker. Vi kan fylle ut ekstra tegn til slutten av dataene våre for å tilfredsstille betingelsen ovenfor.
Kollisjonsdeteksjon i CSMA/CD involverer følgende funksjoner:
- Carrier sense: Før overføring av data, lytter en enhet til nettverket for å sjekke om overføringsmediet er ledig. Hvis mediet er opptatt, venter enheten til den blir ledig før den overfører data. Multiple Access: I et CSMA/CD-nettverk deler flere enheter samme overføringsmedium. Hver enhet har lik tilgang til mediet, og enhver enhet kan overføre data når mediet er ledig. Kollisjonsdeteksjon: Hvis to eller flere enheter overfører data samtidig, oppstår en kollisjon. Når en enhet oppdager en kollisjon, slutter den umiddelbart å sende og sender et jam-signal for å informere alle andre enheter på nettverket om kollisjonen. Enhetene venter deretter i en tilfeldig tid før de prøver å sende igjen, for å redusere sjansene for en ny kollisjon. Backoff-algoritme: I CSMA/CD brukes en backoff-algoritme for å bestemme når en enhet kan sende data på nytt etter en kollisjon. Algoritmen bruker en tilfeldig forsinkelse før en enhet sender data på nytt, for å redusere sannsynligheten for at en ny kollisjon inntreffer. Minimum rammestørrelse: CSMA/CD krever en minimumsrammestørrelse for å sikre at alle enheter har nok tid til å oppdage en kollisjon før overføringen avsluttes. Hvis en ramme er for kort, kan det hende at en enhet ikke oppdager en kollisjon og fortsetter å sende, noe som fører til datakorrupsjon på nettverket.
Fordeler med CSMA/CD:
- Enkelt og mye brukt: CSMA/CD er en mye brukt protokoll for Ethernet-nettverk, og dens enkelhet gjør den enkel å implementere og bruke.
Rettferdighet: I et CSMA/CD-nettverk har alle enheter lik tilgang til overføringsmediet, noe som sikrer rettferdighet i dataoverføring.
Effektivitet: CSMA/CD gir mulighet for effektiv bruk av overføringsmediet ved å forhindre unødvendige kollisjoner og redusere nettverksoverbelastning.
Ulemper med CSMA/CD:
- Begrenset skalerbarhet: CSMA/CD har begrensninger når det gjelder skalerbarhet, og den er kanskje ikke egnet for store nettverk med et høyt antall enheter.
Sårbarhet for kollisjoner: Selv om CSMA/CD kan oppdage kollisjoner, kan den ikke forhindre at de oppstår. Kollisjoner kan føre til datakorrupsjon, forsinkelser i videresending og redusert nettverksytelse.
Ineffektiv bruk av båndbredde: CSMA/CD bruker en tilfeldig backoff-algoritme som kan resultere i ineffektiv bruk av nettverksbåndbredde hvis en enhet kontinuerlig opplever kollisjoner.
Mottakelighet for sikkerhetsangrep: CSMA/CD gir ingen sikkerhetsfunksjoner, og protokollen er sårbar for sikkerhetsangrep som packet sniffing og spoofing.
Les neste – Effektiviteten til CSMA/CD