Comutare de pachete

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Simbolul unui router , dispozitiv de rețea responsabil pentru comutarea pachetelor de nivel 3 a modelului OSI și a modelului TCP / IP

Comutarea pachetelor (în engleză packet switching), în telecomunicații , este o tehnică de divizare a timpului de acces multiplu , concepută special pentru datele de transport, folosită pentru a partaja un canal de comunicație între mai multe noduri într-un mod nedeterminist, subdivizând informațiile de transferat în pachete transmise individual și în ordine, urmând un mecanism de rutare dictat de tabelele de rutare relative. Comutarea pachetelor își găsește aplicația în rețelele de calculatoare și mai general în rețelele de telecomunicații . Exemple de rețele cu comutare de pachete sunt rețelele locale de calculatoare și Internetul .

Descriere

Simbolul unui comutator , dispozitiv de rețea responsabil pentru comutarea stratului 2 a modelului OSI și a stivei TCP / IP

Din punct de vedere istoric, comutarea pachetelor a fost concepută la începutul anilor 1960 , într-un context de război rece , ca o soluție la problema asigurării supraviețuirii unei rețele de telecomunicații în urma unui atac nuclear [1] . Ideea de bază constă în împărțirea informațiilor în entități elementare ( pachete ) care sunt apoi transmise și dirijate individual și teoretic fiecare independent și apoi reasamblate la punctul de destinație. Rutarea pachetelor are loc în fiecare nod al rețelei folosind tabele speciale de tip dinamic, numite tabele de rutare , care asociază interfața de ieșire corespunzătoare către nodul următor cu fiecare pachet primit pe o interfață. Determinarea interfeței de ieșire este stabilită pe baza mecanismelor de auto-învățare sau prin protocoale de rutare specifice: în acest fel, în cazul în care anumite legături sau legături de transmisie devin inoperante sau inutilizabile, este posibil să se identifice o rutare alternativă care să asigure continuitatea și integritatea transmisiei.

Această abordare permite, de asemenea, o utilizare mai eficientă a capacității de transmisie a unei rețele în ceea ce privește comutarea circuitului , unde comunicarea pentru a avea loc necesită stabilirea preliminară a unui circuit fizic a cărui capacitate este dedicată în întregime comunicării specifice. La comutarea pachetelor, pe de altă parte, circuitele fizice sunt utilizate numai pentru timpul strict necesar pentru transmiterea unui singur pachet și sunt disponibile imediat pentru a putea transmite un alt pachet aparținând unui semnal diferit. Acest lucru permite un nivel mai înalt de partajare a mediului.

Pe de altă parte, spre deosebire de rețelele cu comutare de circuit, în rețelele cu comutare de pachete întârzierea de transfer globală nu este fixă, ci variază în funcție de calea urmată de pachet și de condițiile instantanee ale traficului. . În plus, având în vedere natura non-continuă a transmisiei și a utilizării partajate, există și necesitatea de a controla congestia în cazul concurenței de transmisie din surse diferite sau a cererii mari de lățime de bandă din mai multe surse în același timp.

Datorită caracteristicilor sale, comutarea pachetelor pune deci o problemă dacă este necesară o disponibilitate garantată a lățimii de bandă sau în transmisii în timp real , cum ar fi comunicațiile vocale tipice pentru telefonie (care necesită întârzieri foarte limitate și aproape de zero) sau audio-video. Pentru a aborda acest aspect, este exploatată posibilitatea, deja prevăzută în standardele relative, de a atribui niveluri de prioritate pachetelor, definind astfel clase de calitate a serviciului . Cu acest mecanism, pachetele cu prioritate mai mare au prioritate în accesarea benzii față de cele cu prioritate mai mică, care sunt apoi puse în coadă și, în situații extreme, aruncate în caz de congestie puternică. Prin atribuirea unor priorități mai mari pachetelor legate de informații care sunt cele mai sensibile la întârzieri sau pierderea lățimii de bandă disponibile, puteți păstra astfel întârzierile și pierderile de pachete în limitele acceptabile pentru aplicațiile dvs.

Operațiune

Structura generală a pachetului

Pictogramă lupă mgx2.svg Același subiect în detaliu: Pachet (rețele) .
Structura unui pachet de date cu antet și sarcină utilă

Într-o rețea bazată pe pachete (PBN), informațiile care trebuie transmise sunt împărțite în pachete de dimensiuni destul de mici; fiecăruia dintre ei se adaugă un antet care precede conținutul informațional real, numit sarcină utilă . Antetul conține toate informațiile necesare pentru ca pachetul să fie identificat și transmis către destinația sa finală, adică adresa destinatarului, poziția acestuia (numărul pachetului) în fluxul de informații care este transferat mai mult o serie întreagă de informații suplimentare, cum ar fi prioritatea nivelul pachetului unic, lungimea câmpului de informații, tipul de informații transportate (pentru a distinge de exemplu pachetele care transportă conținut de informații de pachetele care transportă protocol sau alte informații). Pachetele sunt trimise individual prin rețea și datorită numărului de pachete sunt apoi reasamblate în ordinea originală atunci când ajung la nodul de primire.

Un cuvânt de control individual este, de asemenea, adăugat la fiecare pachet, de obicei la sfârșitul câmpului de informații propriu-zis, calculat pe secvența de biți care alcătuiesc pachetul însuși folosind un algoritm al cărui rezultat permite să evidențieze prezența oricăror erori de transmisie. Nodul de recepție procesează biții pachetului utilizând același algoritm pentru a calcula independent cuvântul de control și a-l compara cu cel transmis împreună cu pachetul: dacă rezultatele nu coincid, pachetul a fost corupt de erori de transmisie și este de obicei aruncat și nu retransmise către următorul nod. Caracteristica comună tuturor algoritmilor de control utilizați este că probabilitatea ca cuvântul de control primit în prezența erorilor de transmisie să coincidă cu cuvântul de control recalculat de nodul de recepție este practic nul. Există câțiva algoritmi de control mai sofisticați care, pe lângă detectarea erorilor, sunt capabili să le corecteze, în anumite limite: dacă este posibil să le corectați pe toate, pachetul este reconstruit în integritatea sa și odată ce erorile au fost eliminate, transmise către nodul următor. Exemple de acești algoritmi sunt verificarea redundanței ciclice (CRC), care este capabilă să identifice prezența erorilor și Forward Error Correction (FEC), care este, de asemenea, capabilă să corecteze astfel de erori.

Mecanismul de transmisie a pachetelor este recursiv, în sensul că câmpul de informații al unui pachet poate fi la rândul său un alt pachet, făcând astfel posibilă crearea unei stive ierarhice la mai multe niveluri [2] .

Mecanism de rutare

Când un nod intermediar numit comutator de pachete primește un pachet, acesta decide care este cea mai bună cale pe care pachetul o poate parcurge pentru a ajunge la destinație pe baza informațiilor prezente în tabelele de rutare și a rezultatelor procesării de către protocoalele de rutare (dacă este activ) . Această cale se poate schimba de la pachet la pachet în funcție de condițiile de rețea ( congestie , eșec de legătură sau nod, capacitate maximă de legătură etc.), astfel încât pachetele care aparțin aceluiași mesaj pot lua și căi distincte.

Probleme

Întârziere

Un pachet care traversează o rețea suferă o întârziere, legată de patru componente fundamentale, nu toate deterministe [3] :

  • Timp de procesare , în funcție de nod: este timpul necesar pentru fiecare nod pentru a procesa pachetul și a decide asupra interfeței de ieșire. Dacă un nod acționează la niveluri de pachete diferite, fiecare nivel își va adăuga propria componentă de întârziere.
  • Timpul de transmisie , în funcție de viteza de transmisie: este timpul necesar pentru a transmite pachetul la viteza liniei de transmisie ( link ). Este dat de raportul dintre lungimea în octeți a pachetului și viteza sau capacitatea liniei.
  • Timpul de latență sau în așteptare (întârziere în așteptare), nodul angajaților ingineri: se datorează faptului că pachetele de ieșire sau apelurile primite nu sunt întotdeauna transmise / primite imediat. De fapt, linia de ieșire poate fi ocupată de alte pachete care sunt transmise / primite. În acest caz, pachetul este salvat într-o memorie temporară a comutatorului numită coadă sau tampon , pentru a fi transmis cât mai curând posibil. Timpul în care pachetul așteaptă în coadă, numit și întârziere de latență, nu are o durată predefinită, deoarece se schimbă dinamic în funcție de dimensiunea cozii și de cantitatea momentană de pachete care trebuie transferate. Cu toate acestea, întârzierea latenței poate fi caracterizată statistic prin modele de distribuție a probabilității și de teorie .
  • Timp de propagare , dependent de mediul fizic: este timpul necesar pentru ca semnalul fizic să se propage de-a lungul liniei de transmisie la următorul nod și de acolo la destinația finală. În mediile de transmisie precum cuprul sau fibra optică , semnalele se propagă la viteze comparabile cu cele ale luminii .

Problemele legate de întârziere sunt în esență două:

  1. Unele forme de comunicare necesită ca întârzierea generală în transferul de pachete (întârziere de la un capăt la altul ) să rămână strict în limita maximă, altfel comunicarea în sine va avea efecte nedorite sau nedistructive. Acesta este cazul, de exemplu, al transmiterii apelurilor telefonice pe pachet ( VoIP ), în care o întârziere excesivă ar duce la pauze nedorite în timpul conversației (ascultătorul percepe în mod clar o clipă de tăcere înainte de a auzi vocea interlocutorului) și nevoia de a recurge la circuite de compensare [4] [5] .
  2. Variațiile întârzierii în timp ( jitter ), adică faptul că pentru un anumit pachet întârzierea ar putea fi diferită față de un alt pachet aparținând aceleiași comunicări, are o repercusiune în nodul de destinație pentru reconstrucția integrității informației . Din nou, pentru unele aplicații, variațiile excesive pot duce la distorsiuni temporare sau pierderi inacceptabile. Acesta este cazul, de exemplu, al transmiterii de pachete video, în cazul în care o variație excesivă a întârzierii ar putea duce la forme temporare de imagini statice sau la o degradare a calității imaginii [6] .

Există mai multe mecanisme pentru a încerca să atenueze sau să facă efectele întârzierii controlabile. De exemplu, pentru a reduce sau a limita timpul de transmisie, este posibil să se utilizeze tehnici de stocare și redirecționare , prin care în cadrul nodului, recepția și procesarea pachetului sunt așteptate înainte de a fi trimise la coada de transmisie.

Pierdere de pachete

În general, mecanismul de comutare a pachetelor nu poate garanta că toate pachetele trimise ajung la destinație. Pierderea pachetelor poate apărea ca urmare a mai multor condiții [7] :

  • Eșecuri de nod sau legătură: pachetele transmise în timpul evenimentului de eșec se pierd și până la finalizarea procesului de redirecționare pachetele ajung la destinație.
  • Erori de transmisie: un pachet care a fost distorsionat în timpul transmisiei și care nu reușește cuvântul de verificare este eliminat.
  • Probleme de congestie (trafic care depășește capacitatea nodului), care la rândul lor se pot distinge între:
  • Congestia de intrare, atunci când un nod primește mai multe pachete decât este capabil să se acumuleze în coada de intrare, saturându-l: pachetele noi de intrare, care nu pot fi puse în coadă, sunt aruncate.
  • Congestia de ieșire, atunci când pachetele care trebuie transmise ajung la o rată sau cantitate care saturează complet coada de transmisie: chiar și în acest caz, pachetele care nu pot fi puse în coadă pentru transmisie sunt eliminate.
  • Pierderea deliberată din motive de securitate și eficiență a rețelei, adică:
  • Încălcarea alocării resurselor ( poliție ): acolo unde este posibil să se stabilească limite pentru cantitatea de resurse alocate unei anumite comunicări între pachete (de exemplu, o anumită cantitate de lățime de bandă), pachetele care depășesc resursele alocate sunt eliminate, chiar și în prezența unei capacități de lățime de bandă care ar putea permite transmisia.
  • Control acces ( securitate ): pe interfețele în care sunt stabilite reguli suplimentare pentru a accepta un pachet primit (de exemplu, originea dintr-o anumită sursă sau alte caracteristici identificabile în antetul pachetului), pachetele care nu îndeplinesc aceste reguli nu trebuie să poată accesează rețeaua și, prin urmare, sunt aruncate.

Cu excepția cazurilor în care pierderea de pachete este un efect dorit, în toate celelalte cazuri este necesar să se compenseze sau să se limiteze efectul pierderii de pachete. În caz de eșec al nodului sau al conexiunii, protocoalele de rutare adecvate (sau cu funcționalitate echivalentă) pot interveni pentru a identifica o cale alternativă care ocolește punctul de eșec. În cazul erorilor de transmisie, utilizarea algoritmilor de corectare a erorilor poate repara într-o anumită măsură pachetele corupte, reducând astfel pierderea doar la pachetele afectate de o cantitate considerabilă de erori. În cazul aglomerației, mecanismele de prioritate adecvate pot asigura că traficul mai „valoros” (cu prioritate mai mare) este favorizat față de traficul cu prioritate mai mică, concentrând risipa de pachete în exces asupra acestuia din urmă. Mai mult, dimensionarea și gestionarea cozilor de intrare și ieșire pot fi efectuate pentru a întârzia mai bine transmisia vârfurilor de pachete, exploatând momentele de mai puțin congestie pentru a menține transmisia la o rată mai constantă în timp ( conturarea traficului ), cu efecte pozitive în cascadă asupra nodurilor ulterioare [8] .

Posibilitatea de a gestiona o comunicație de pachete într-un mod ierarhic cu mai multe straturi (ca în cazul stivei ISO-OSI) oferă un instrument suplimentar pentru gestionarea pierderilor, de exemplu prin furnizarea de mecanisme pentru controlul integrității informațiilor și a oricăror solicitați retransmisia părții din informațiile pierdute (acesta este cazul, de exemplu, al protocolului TCP ).

Capacități de monitorizare

Tehnologia cu comutare de pachete în comparație cu tehnologia cu comutare de circuit are limitări atunci când vine vorba de monitorizarea și controlul funcționalității corecte a rețelei. Fiind conceput inițial pentru transferul de date cu modalitatea de cel mai bun efort sau în orice caz cu nevoi limitate de reactivitate în timp real, nu a oferit mecanismele de reacție rapidă tipice rețelelor de telefonie cu comutare de circuit (cum ar fi capacitatea de a deturna traficul pe un circuit alternativ în termen de 50 de milisecunde de la detectarea unei defecțiuni distructive). Odată cu extinderea comutării pachetelor și la rețelele telefonice, această capacitate redusă a necesitat definirea unor mecanisme suplimentare, cum ar fi utilizarea pachetelor speciale (așa-numitele pachete de funcționare, administrare și întreținere , prescurtate la OAM) care permit, de exemplu, pe pe baza transmiterii lor periodice, pentru a verifica starea rețelei și a conexiunilor în timp real, pentru a transfera informații despre disfuncționalități între noduri, pentru a genera rapoarte de defecțiuni ale rețelei pe noduri și pentru a stabili rute alternative (în mod normal precalculate) cu timpi comparabili la cele ale rețelelor telefonice cu comutare de circuit. Aceleași pachete OAM permit, de asemenea, monitorizarea în timp real a calității nivelului serviciului, în special a serviciilor pentru care aspecte precum întârzierea propagării sau variații excesive ale întârzierii propagării pot avea efecte negative pentru utilizatorul final (acesta este cazul de exemplu Voice prin IP), făcând astfel posibilă utilizarea fiabilă a acestor rețele chiar și pentru servicii cu cerințe de înaltă calitate.

Notă

  1. ^(EN) Istoria internetului de pe site-ul securenet.net
  2. ^ Acesta este cazul modelului ISO-OSI cu șapte niveluri care exploatează exact această caracteristică: pachetul de nivel N este învelit și transmis pe m pachete de nivel N-1, care la rândul lor sunt învăluite și transmise pe p pachete de nivel N -2 și așa mai departe, atribuind fiecărui nivel proprietăți specifice și funcții de rețea care sunt teoretic independente de nivelurile superioare și inferioare. Vezi și [1] .
  3. ^(EN) Delay și pierdere în rețelele de pachete-Switched Filed 02 martie 2013 Internet Arhiva .
  4. ^(EN) Caracteristicile întârzierii de rețea și a întârzierii de întârziere și efectul acesteia asupra vocii peste IP (VoIP) Arhivat pe 4 martie 2016 Arhiva Internet . , Li Zheng, Liren Zhang, Dong Xu, Universitatea Tehnologică Nanyang, Singapore
  5. ^(RO) Efectul decolorării asupra performanței VoIP în rețelele WLAN IEEE 802.11a , Olunfunmilola Awoniyi, Fouad A. Tobagi, Departamentul de inginerie electrică, Universitatea Stanford
  6. ^(RO) Efectele Jitter asupra calității perceptive a videoclipurilor , Mark Claypool, Jonathan Tanner, Institutul Politehnic Worcester
  7. ^(RO) Ce cauzează pierderea pachetelor în Internet? Arhivat 9 mai 2012 la Internet Archive .
  8. ^(RO) Ingineria traficului: Coada, conturarea traficului și controlul, p.2, Onlamp.com, O'Reilly

Bibliografie

  • ( RO ) Paul Baran , Despre comunicații distribuite
  • ( EN ) Paul Baran, Despre rețelele de comunicații distribuite ( IEEE Transactions on Communications Systems, martie 1964)
  • (EN) Leonard Kleinrock, Information Flow in Large Communication Nets , (MIT, Cambridge, 31 mai 1961) Propunere pentru o teză de doctorat
  • (EN) Leonard Kleinrock, Networks de comunicare: fluxul și designul mesajelor stochastice (McGraw-Hill, 1964)
  • (EN) Katie Hafner, Where Wizards Stay Up Late (Simon și Schuster, 1996)

Elemente conexe

linkuri externe

Controlul autorității LCCN ( EN ) sh85096523