Dacă nu există CSMA/CD pe switch-uri, ce folosesc acestea? (Ingineria rețelelor, Comutator, Ethernet, Half Duplex, Full Duplex)

regi00 a intrebat.

Din câte am înțeles, CSMA/CD este o metodă de acces pentru a plasa cadrele Ethernet pe firele din rețelele de calculatoare.

Am citit peste tot că switch-urile nu folosesc această metodă de acces pentru că sunt full-duplex (dar pot folosi CSMA/CD în cazul în care un dispozitiv ar fi half-duplex). Și înțeleg acest lucru, coliziunile sunt imposibile deci nu este nevoie de CD, nu este nevoie de Carrier Sense pentru că există un singur dispozitiv care trimite pe aceleași fire,…

Dar dacă switch-urile ethernet, pe un segment full duplex, nu folosesc CSMA/CD, care este metoda de acces? Ei doar pun cadrele pe cablu?

Există vreun RFC care să descrie acest lucru?

Vă mulțumesc pentru ajutor.

Comentarii

  • V-a ajutat vreun răspuns? Dacă da, ar trebui să acceptați răspunsul pentru ca întrebarea să nu mai apară la nesfârșit, căutând un răspuns. Alternativ, puteți posta și accepta propriul răspuns. –  > Por Ron Maupin.
3 răspunsuri
Ron Trunk

Din câte am înțeles, CSMA/CD este o metodă de acces pentru plasarea cadrelor Ethernet pe fire în rețelele de calculatoare.

Nu chiar. CSMA/CD este o metodă (algoritm) de obținere a accesului la medii într-o rețea de multiacces mediu de acces. Ethernet-ul original era half-duplex, ceea ce înseamnă că toate stațiile foloseau același canal (circuit) pentru a trimite și a primi. CSMA/CD este utilizat pentru a împiedica două stații să trimită în același timp pe un canal comun (adică., coliziuni).

Cu comutarea full duplex, există efectiv doar două stații pe un segment – gazda și comutatorul – și fiecare stație are un canal separat pentru trimitere și recepție, astfel încât nu există nicio șansă de coliziune.

Dar dacă switch-urile Ethernet, pe un segment full duplex, nu folosesc CSMA/CD, care este metoda de acces? Ei doar pun cadrele pe cablu?

Da, nu este necesară detectarea purtătoarei, deoarece există un singur expeditor pe circuit

Există vreun RFC care să descrie acest lucru?

Ethernet este definit în standardul IEEE 802.3

Comentarii

  • Mai exact, modul full-duplex este descris în 802.3 Anexa 4A. Controlul simplificat al accesului la medii full duplex. 😉 –  > Por Zac67.
Gavin Lock

Se pare că înțelegeți destul de bine CSMA/CD – dar înainte de a descrie modul în care funcționează lucrurile într-un mediu comutat, aș dori să le despart pentru alți cititori care ar putea să nu știe.

CSMA/CD înseamnă

  1. Carrier Sense
  2. Acces multiplu
  3. cu detectarea coliziunii

Atunci când mai multe dispozitive împart toate un cablu de rețea, de obicei doar unul la un moment dat poate transmite. Acest lucru era foarte frecvent în rețelele Ethernet, unde un cablu de rețea se întindea de-a lungul fiecărei laturi a unei clădiri, la care erau conectate mai multe stații de lucru. Aceasta este partea de „acces multiplu” a termenului.

Gândiți-vă la o grămadă de oameni la o ședință sau la un grup de prieteni la o petrecere. O persoană vorbește pe rând, în timp ce toți ceilalți ascultă. Cum reușim noi (ca oameni) să facem acest lucru? Ascultați pentru scurt timp pentru a vă asigura că nu mai vorbește nimeni. Dacă în cameră este liniște, începeți să vorbiți. Ascultarea altor persoane care vorbesc este „Carrier Sensing”.

Uneori, altcineva (care a verificat, de asemenea, că în încăpere este liniște) începe să vorbească în același timp cu dumneavoastră. Aceasta este o „coliziune”. Pentru că încă ascultați în timp ce vorbiți, vă dați seama ce se întâmplă (ați detectat coliziunea). Uneori, o persoană își dă seama înaintea celeilalte și se oprește din vorbit în timp ce cealaltă continuă. Alteori, ambele persoane detectează coliziunea și se opresc amândouă din vorbit.

Interfețele de rețea procedează la fel. Atunci când doresc să transmită, ele verifică mai întâi dacă linia este liniștită, încercând să detecteze semnalul purtător al unui alt dispozitiv. Dacă linia este liniștită, ele încep să transmită – în timp ce monitorizează în continuare linia pentru a se asigura că „aud” ceea ce „spun”. Dacă detectează o coliziune, se opresc, așteaptă puțin și apoi încep din nou să asculte pentru a găsi un moment de liniște. Pentru a reduce șansele ca o coliziune să se producă din nou și din nou, fiecare dispozitiv așteaptă („se retrage”) o perioadă de timp aleatorie.

Hub-uri

Hub-urile vă permit să conectați mai multe cabluri de rețea între ele. Uneori, acest lucru se face pentru a extinde lungimea utilizabilă a cablului, alteori pentru a ușura dispunerea cablurilor, alteori din alte motive. Uneori, fiecare cablu conectat la hub are mai multe dispozitive pe el, alteori fiecare dispozitiv are propriul cablu dedicat la hub.

Totuși, într-un fel sau altul, semnalele prezente pe orice cablu sunt repetate instantaneu de către hub pe toate celelalte cabluri. Așadar, avem în continuare cazul în care doar un singur dispozitiv din întreaga rețea poate vorbi la un moment dat. Spunem că, chiar și cu hub-uri, tot avem doar un singur „domeniu de coliziune” – și avem în continuare nevoie de CSMA/CD.

Comutatoare

Atunci când se folosesc switch-uri (așa cum se întâmplă în majoritatea rețelelor Ethernet moderne), câteva lucruri sunt diferite:

  1. Fiecare cablu conectat la un comutator este nu conectat direct la toate celelalte. Acest lucru înseamnă că un dispozitiv care vorbește pe un cablu nu interferează cu un dispozitiv care vorbește pe un alt cablu. Fiecare cablu este propriul său domeniu de coliziune.

  2. Foarte des, fiecare cablu conectat la un comutator este conectat doar la un singur alt dispozitiv. Fiecare dispozitiv are propriul cablu dedicat și propriul port pe switch. Acest lucru este valabil în special în rețelele care utilizează cablajul „UTP” (majoritatea rețelelor Ethernet din prezent). Puteți conecta doar două dispozitive la un cablu UTP, iar comutatorul este unul dintre ele.

  3. De asemenea, foarte des, cablul implicat este format de fapt din două „canale”. în UTP „modern” (spre deosebire de vechile cabluri coaxiale pe care le foloseam cu zeci de ani în urmă), există un set de fire pe care switch-ul transmite și un set separat de fire pe care celălalt dispozitiv transmite. Astfel, nici măcar comutatorul și terminalul nu se pot ciocni unul cu celălalt. Acest lucru se numește „full-duplex”.

  4. Comutatorul are memorie (RAM). Atunci când transmiteți un cadru, acesta poate fi stocat în memorie până când software-ul comutatorului este pregătit să îl transmită către un alt cablu sau cabluri. Astfel, două dispozitive de pe cabluri diferite pot transmite în același timp, iar comutatorul va stoca fiecare transmisie până când aceasta poate fi trimisă mai departe. (De altfel, comutatorul nu trebuie să aștepte până când primește întreaga tramă înainte de a începe să o redirecționeze).

  5. Posibil cel mai mare avantaj al switch-urilor: Acestea știu ce dispozitive se află pe ce cabluri. (Ei calculează acest lucru în mod dinamic și automat – nu trebuie să configurați aceste informații). Astfel, dacă dispozitivul A (pe cablul 1) transmite un cadru către un dispozitiv B (pe cablul 2), switch-ul va transmite acel cadru doar către cablul 2. Nici unul dintre celelalte cabluri nu va fi afectat. Acest lucru înseamnă că un dispozitiv de pe cablul 3 ar putea transmite către un dispozitiv de pe cablul 4 exact în același timp. Iar un dispozitiv de pe cablul 5 ar putea transmite către un alt dispozitiv de pe cablul 5 în același timp cu ambele dispozitive anterioare, fără a afecta niciun alt cablu din rețea.

Și, în sfârșit, răspunsul

Rezultatul tuturor acestor lucruri este că, dacă dispozitivul dvs. este singurul dispozitiv de pe un cablu full-duplex conectat la un comutator – acesta poate transmite oricând dorește. Are acces exclusiv la o pereche de cabluri pentru transmisiunile sale și trăiește singur într-un domeniu de coliziune privat. După cum ați spus „doar pune cadrul pe cablu”.

Depinde de comutator să decidă către ce cablu (sau cabluri) să transmită cadrul și să stocheze cadrul pentru fiecare cablu de destinație până când cablul respectiv este pregătit. Singurul moment în care se produce un eveniment de tip coliziune este atunci când comutatorul redirecționează deja un alt cadru către acel cablu, iar cadrul dvs. trebuie să mai stea puțin în memoria tampon a comutatorului.

Comentarii

  • în UTP-ul modern, există o pereche de fire pe care switch-ul transmite și o pereche separată de fire pe care transmite celălalt dispozitiv.” De fapt, asta se întâmplă în „vechiul” ethernet (10Base-T și 100Base-TX). Ethernetul modern (1000Base-T și 10GBase-T) folosește toate cele patru perechi atât pentru emisie, cât și pentru recepție. –  > Por Ron Maupin.
  • Mulțumesc Gavin Lock pentru răspuns. Deci nu există nicio metodă de control al accesului pe switch. Comutatorul este cel care decide când trimite biți și „el” știe când cablurile sunt inactive deoarece „el” își controlează propriile porturi. –  > Por regi00.
  • @RonMaupin, când mă gândesc la „vechiul” Ethernet mă gândesc la cablul coaxial de 50Ω cu conectori BNC care era de bază în rețelele Ethernet. Cu un miez și un ecran, acel cablu avea doar o singură pereche de cupru care putea fi folosită de toate dispozitivele conectate atât pentru Tx, cât și pentru Rx. (Voi edita o alegere mai bună a cuvintelor la punctul 3.) –  > Por Gavin Lock.
  • @regi00 – pentru majoritatea switch-urilor de astăzi, da, exact. Singurul „acces de control” există în software-ul switch-urilor și nu este vizibil pentru lumea exterioară. Spun „cele mai multe” pentru că mai sunt încă unele switch-uri pentru cablu coaxial în uz astăzi. Comutatoarele și alte dispozitive care utilizează Ethernet pe cablu coaxial trebuie să utilizeze CSMA/CD deoarece împart o singură pereche de cupru și, prin urmare, trebuie să stabilească cine are dreptul să vorbească pe ea la un moment dat. –  > Por Gavin Lock.
  • … deși ar trebui probabil să menționez că fiecare cablu coaxial este propriul domeniu de coliziune. Un dispozitiv ocupat să transmită pe cablul 1 blochează alte dispozitive de pe cablul 1 (inclusiv portul respectiv de pe switch) și, în timp ce switch-ul transmite datele către dispozitivul de destinație de pe cablul 2, blochează alte dispozitive de pe cablul 2 – dar în acest timp, cablurile conectate la celelalte porturi de pe switch nu sunt afectate. –  > Por Gavin Lock.
telcoM

Pentru a putea citi adresa MAC a destinației și apoi să ia o decizie cu privire la portul (porturile) către care trebuie trimis pachetul, switch-ul trebuie să poată stoca în buffer pachetele primite.

Bineînțeles, există o mulțime de metode inteligente concepute pentru a minimiza această tamponare pentru a maximiza debitul porturilor switch-ului. Dar toate aceste modalități sunt interne comutatorului, astfel încât fiecare producător poate face ceea ce crede că este mai bine, atâta timp cât comportamentul extern al comutatorului rămâne în limitele specificațiilor.

Deci, practic, atunci când un comutator full-duplex primește un pachet care trebuie să meargă de la portul A la portul B, dar portul B este ocupat, comutatorul poate adăuga pachetul la sfârșitul cozii de pachete de ieșire pentru portul B din buffer, dacă există suficient spațiu liber. Dacă nu există suficient spațiu în buffer, va trebui să renunțe la pachet.

Toate acestea sunt chestii de nivel 2 și mai jos, astfel încât autoritatea în materie de specificații nu este reprezentată de RFC-uri, ci de diversele specificații IEEE 802.* privind Ethernet și tehnologiile conexe.

Standardul IEEE 802.3x specifică un cadru de pauză Ethernet, care poate fi trimisă de un nod de rețea full-duplex (de exemplu, un port de comutare) pentru a comunica celuilalt capăt al unei anumite legături că trebuie să își întrerupă ieșirea pentru o anumită perioadă de timp. Dar aceasta este o caracteristică depreciată, care ar trebui în general evitată și de care nu trebuie să se depindă niciodată.

Comentarii

  • Controlul fluxului Ethernet este de fapt (oarecum) învechit în sensul că poate provoca blocarea capului de linie dacă nu este controlat cu atenție. Pentru uzul general, este depreciat. –  > Por Zac67.
  • După cum subliniază @Zac67, controlul fluxului ethernet este adesea nerecunoscut de dispozitive și este implementat prost. Acesta este un lucru care ar trebui evitat și de care nu trebuie să depinzi niciodată. –  > Por Ron Maupin.
  • Mulțumesc, editat. Oricum, se pare că răspunsul lui Gavin Lock este acum mult mai complet decât al meu. –  > Por telcoM.