CSMA/CD (Carrier Sense Multiple Access med kollisionsdetektion) er en medieadgangskontrolprotokol (MAC), der bruges i lokalnetværk:
den bruger tidlig Ethernet-teknologi til at overvinde kollision, når den opstår.
denne metode organiserer dataoverførsel korrekt ved at regulere kommunikation i et netværk med et delt transmissionsmedium.
denne tutorial vil give dig en komplet forståelse af Carrier Sense Multiple Access Protocol.
Carrier Sense Multiple Access med kollisionsdetektion
CSMA/CD, en MAC-procesprotokol, registrerer først transmissioner fra de andre stationer i kanalen og begynder kun at transmittere, når kanalen er klar til at transmittere.
så snart en station registrerer en kollision, stopper den transmission og sender et jamsignal. Den venter derefter i nogen periode, før den videresendes.
lad os forstå betydningen af den enkelte komponent i CSMA/CD.
- CS – det står for Carrier Sensing. Det indebærer, at en station først registrerer transportøren inden afsendelse af data. Hvis transportøren er fundet fri, sender stationen data, ellers afstår den.
- MA – står for Multiple Access, dvs.hvis der er en kanal, så er der mange stationer, der forsøger at få adgang til den.
- CD – står for kollisionsdetektion. Det guider også til at fortsætte i tilfælde af pakkedatakollision.
Hvad er CSMA/CD
CSMA/CD-procedure kan forstås som en gruppediskussion, hvor hvis deltagerne taler alle på en gang, så vil det være meget forvirrende, og kommunikationen vil ikke ske.
i stedet for god kommunikation kræves det, at deltagerne taler efter hinanden, så vi klart kan forstå bidraget fra hver deltager i diskussionen.
når en deltager er færdig med at tale, skal vi vente i en bestemt periode for at se, om en anden deltager taler eller ej. Man skal først begynde at tale, når ingen anden deltager har talt. Hvis en anden deltager også taler på samme tid, skal vi stoppe, vente og prøve igen efter et stykke tid.
tilsvarende er processen med CSMA/CD, hvor datapakketransmissionen kun udføres, når datatransmissionsmediet er gratis. Når forskellige netværksenheder forsøger at dele en datakanal samtidigt, vil den støde på en datakollision.
mediet overvåges kontinuerligt for at detektere enhver datakollision. Når mediet registreres som frit, skal stationen vente i en bestemt periode, før datapakken sendes for at undgå chancer for datakollision.
når ingen anden station forsøger at sende dataene, og der ikke registreres nogen datakollision, siges transmission af data at være vellykket.
algoritme
algoritmen trin omfatter:
- for det første registrerer stationen, der ønsker at overføre dataene, transportøren om, hvorvidt den er optaget eller inaktiv. Hvis en transportør er fundet inaktiv, udføres transmissionen.
- transmissionsstationen registrerer en kollision, hvis nogen, ved hjælp af betingelsen: Tt > = 2 * Tp hvor Tt er transmissionsforsinkelsen og Tp er udbredelsesforsinkelsen.
- stationen frigiver jamsignalet, så snart det registrerer en kollision.
- når kollisionen er indtruffet, stopper sendestationen med at transmittere og venter på en tilfældig mængde tid kaldet ‘back-off tid’. Efter denne tid sender stationen igen.
CSMA/CD-rutediagram
Hvordan fungerer CSMA/CD
for at forstå arbejdet med CSMA/CD, lad os overveje følgende scenario.
- Antag, at der er to stationer A og B. Hvis station a ønsker at sende nogle data til station B, skal den først mærke transportøren. Dataene sendes kun, hvis transportøren er gratis.
- men ved at stå på et tidspunkt kan den ikke mærke hele transportøren, den kan kun mærke kontaktpunktet. Ifølge protokollen kan enhver station til enhver tid sende data, men den eneste betingelse er først at mærke transportøren som om den er inaktiv eller optaget.
- hvis A og B sammen begynder at transmittere deres data, så er det ret muligt, at dataene fra begge stationer kolliderer. Så begge stationer modtager unøjagtige kolliderede data.
så spørgsmålet, der opstår her, er: hvordan vil stationerne vide, at deres data blev kollideret?
svaret på dette spørgsmål er, at hvis det kolloide signal kommer tilbage under transmissionsprocessen, indikerer det, at kollisionen har fundet sted.
til dette skal stationerne fortsætte med at transmittere. Først da kan de være sikre på, at det er deres egne data, der blev kollideret/ødelagt.
hvis pakken er stor nok, hvilket betyder, at når kollisionssignalet kommer tilbage til sendestationen, sender stationen stadig den venstre del af dataene. Så kan det erkende, at dets egne data gik tabt i kollisionen.
forståelse af kollisionsdetektion
for at detektere en kollision er det vigtigt, at stationen fortsætter med at transmittere dataene, indtil den transmitterende station får kollisionssignalet tilbage, hvis nogen.
lad os tage et eksempel, hvor de første bits, der transmitteres af stationen, er involveret i kollisionen. Overvej at vi har fire stationer A, B, C og D. lad udbredelsesforsinkelsen fra station A til station D være 1 time, dvs. hvis datapakkebitten begynder at bevæge sig klokken 10, så når den D klokken 11.
- klokken 10 fornemmer både stationerne, A og D transportøren som fri og starter deres transmission.
- hvis den samlede udbredelsesforsinkelse er 1 time, når begge stationens første bits efter en halv time halvvejs og vil snart opleve en kollision.
- så præcis klokken 10:30 vil der være en kollision, der vil producere kollisionssignaler.
- klokken 11 vil kollisionssignalerne nå stationerne A og D, dvs.præcis efter en time modtager stationerne kollisionssignalet.
derfor skal transmissionstiden for begge stationer være større end deres udbredelsestid for de respektive stationer at opdage, at det er deres egne data, der blev kollideret. dvs. Tt> Tp
hvor TT er transmissionstiden og Tp er udbredelsestiden.
lad os se den værst tænkelige situation nu.
- Station a startede transmissionen klokken 10 og er ved at nå station D klokken 10:59:59.
- på dette tidspunkt startede station D sin transmission efter at have registreret transportøren som fri.
- så her vil den første bit datapakke sendt fra station D stå over for kollision med datapakken fra station A.
- efter kollision opstod, begynder transportøren at sende et kolloidalt signal.
- Station A modtager kollisionssignalet efter 1 time.
dette er betingelsen for at detektere kollision i værste fald, hvor hvis en station ønsker at opdage kollision, skal den fortsætte med at transmittere dataene indtil 2Tp, dvs.Tt> 2*Tp.
nu er det næste spørgsmål, hvis stationen skal transmittere dataene i mindst 2*Tp tid, hvor meget data skal stationen have, så den kan transmittere i denne tid?
så for at opdage en kollision skal pakkenes mindste størrelse være 2 * Tp * B.
nedenstående diagram forklarer kollisionen af første bits i CSMA / CD:
Station A,B,C, D er forbundet via Ethernet-ledning. Enhver station kan sende sin datapakke til transmission efter at have registreret signalet som inaktiv. Her sendes datapakkerne i bits, der tager tid at rejse. På grund af dette er der chancer for en kollision.
i ovenstående diagram begynder t1 station a at transmittere den første bit af data efter at have registreret bæreren som fri. På tidspunktet t2 registrerer station C også transportøren som fri og begynder at transmittere dataene. Ved t3 forekommer kollisionen mellem bits sendt af stationerne A og C.
således bliver transmissionstiden for station C t3-t2. Efter kollisionen sender transportøren det kolloide signal tilbage til station A, som når på tidspunktet t4. Dette betyder, at mens du sender dataene, kan kollisionen også detekteres.
efter at have set tidsvarighederne for de to transmissioner, henvises til nedenstående figur for en fuldstændig forståelse.
effektivitet af CSMA/CD
effektiviteten af CSMA/CD er bedre end ren ALOHA, men der er nogle punkter, der skal huskes, mens man måler effektiviteten af CSMA/CD.
disse omfatter:
- hvis afstanden stiger, falder effektiviteten af CSMA/CD.
- for lokalnetværk (LAN) fungerer CSMA/CD optimalt, men for langdistancenetværk som f.eks.
- hvis længden af pakken er større, øges effektiviteten, men så er der igen en begrænsning. Den maksimale grænse for længden af pakkerne er 1500 bytes.
fordele & ulemper ved CSMA/CD
fordele
- Overhead er mindre i CSMA/CD.
- når det er muligt, bruger det hele båndbredden.
- det registrerer kollision inden for et meget kort tidsrum.
- dens effektivitet er bedre end simpel CSMA.
- det undgår for det meste enhver form for spildt transmission.
ulemper
- ikke egnet til store afstandsnetværk.
- Afstandsbegrænsning er 2500 meter. Kollision kan ikke detekteres efter denne grænse.
- tildeling af prioriteter kan ikke udføres til bestemte noder.
- når enheder tilføjes, forstyrrer ydeevnen eksponentielt.
applikationer
CSMA/CD blev brugt i Ethernet-varianter med delte medier(10base2,10base5) og i de tidlige versioner af snoet par Ethernet, der brugte repeater hubs.
men i dag er moderne Ethernet-netværk bygget med kontakter og fuld dupleksforbindelser, så CSMA/CD ikke længere bruges.
Ofte Stillede Spørgsmål
spørgsmål #1) Hvorfor bruges CSMA/CD ikke på en fuld dupleks?
svar: i fuld duplekstilstand er kommunikation mulig i begge retninger. Så der er mindst eller faktisk ingen chance for kollision, og derfor finder ingen mekanisme som CSMA/CD sin anvendelse på en fuld dupleks.
sp #2) bruges CSMA/CD stadig?
svar: CSMA/CD bruges ikke ofte længere, da afbrydere har udskiftet nav, og da afbrydere bruges, opstår der ingen kollision.
sp #3) Hvor anvendes CSMA/CD?
svar: Det bruges dybest set på halv dupleks Ethernet-teknologi til lokalnetværk.
spørgsmål #4) Hvad er forskellen mellem CSMA/CD og ALOHA?
svar: Den største forskel mellem ALOHA og CSMA/CD er, at ALOHA ikke har funktionen af carrier sensing som CSMA/CD.
CSMA/CD registrerer, om kanalen er ledig eller optaget før overførsel af data, så den kan undgå kollision, mens ALOHA ikke kan registrere før transmission og dermed flere stationer kan transmittere data på samme tid og derved føre til en kollision.
spørgsmål #5) Hvordan registrerer CSMA / CD kollision?
svar: CSMA/CD registrerer kollisioner ved først at registrere transmissioner fra andre stationer og begynder at transmittere, når bæreren er inaktiv.
spørgsmål #6) Hvad er forskellen mellem CSMA/CA & CSMA/CD?
svar: CSMA/CA er en protokol, der er effektiv før kollision, mens CSMA/CD-protokollen træder i kraft efter kollision. CSMA / CA bruges også i trådløse netværk, men CSMA/CD fungerer i kablede netværk.
spørgsmål #7) Hvad er formålet med CSMA/CD?
svar: hovedformålet er at opdage kollisioner og se, om kanalen er fri, før en station starter transmission. Det tillader kun transmission, når netværket er gratis. Hvis kanalen er optaget, venter den på en tilfældig tid, før den sendes.
spørgsmål #8) bruger afbrydere CSMA / CD?
svar: afbrydere bruger ikke længere CSMA/CD-protokol, da de arbejder på fuld dupleks, hvor kollision ikke forekommer.
Sp #9) bruger trådløst internet CSMA / CD?
svar: Nej, trådløst internet bruger ikke CSMA/CD.
konklusion
så fra ovenstående forklaring kan vi konkludere, at CSMA/CD-protokollen blev implementeret for at minimere chancerne for kollision under dataoverførsel og forbedre ydeevnen.
hvis en station faktisk kan mærke mediet, før den bruges, kan chancerne for kollision reduceres. I denne metode overvåger stationen først mediet og sender senere en ramme for at se, om transmissionen var vellykket.
hvis mediet findes optaget, venter stationen på en tilfældig tid, og når mediet bliver inaktiv, starter stationen transmissionen. Men hvis der er en kollision, sendes rammen igen. Sådan håndterer CSMA/CD kollision.