Stratul de transport - Transport layer

Patru blocuri stivuite etichetate.  Blocul albastru etichetat „transport” este al doilea din partea de sus.
Stratul de transport din stiva de protocol Internet.

În rețeaua de calculatoare , stratul de transport este o diviziune conceptuală a metodelor în arhitectura stratificată a protocoalelor din stiva de rețea din suita de protocol Internet și modelul OSI . Protocoalele acestui strat oferă servicii de comunicație gazdă-gazdă pentru aplicații. Oferă servicii precum comunicarea orientată spre conexiune , fiabilitatea , controlul fluxului și multiplexarea .

Detaliile privind implementarea și semantica stratului de transport al suitei de protocol Internet , care este baza Internetului , și modelul OSI al rețelei generale sunt diferite. Protocoalele utilizate astăzi în acest strat pentru Internet au provenit toate din dezvoltarea TCP / IP. În modelul OSI, stratul de transport este adesea denumit Stratul 4 sau L4 , în timp ce straturile numerotate nu sunt utilizate în TCP / IP.

Cel mai cunoscut protocol de transport al suitei de protocol Internet este Transmission Control Protocol (TCP). Este utilizat pentru transmisii orientate spre conexiune, în timp ce protocolul UDP ( User Datagram Protocol ) fără conexiune este utilizat pentru transmisiile de mesagerie mai simple. TCP este protocolul mai complex, datorită designului său de stare care încorporează servicii fiabile de transmisie și flux de date. Împreună, TCP și UDP cuprind în esență tot traficul de pe Internet și sunt singurele protocoale implementate în fiecare sistem de operare major. Protocoalele suplimentare de strat de transport care au fost definite și implementate includ Protocolul de control al congestiei Datagram (DCCP) și Protocolul de transmitere a fluxului de control (SCTP).

Servicii

Serviciile de nivel de transport sunt transmise către o aplicație prin intermediul unei interfețe de programare către protocoalele de nivel de transport. Serviciile pot include următoarele caracteristici:

  • Comunicare orientată spre conexiune : În mod normal, este mai ușor pentru o aplicație să interpreteze o conexiune ca un flux de date, mai degrabă decât să aibă de a face cu modelele subiacente fără conexiune, cum ar fi modelul de datagramă al User Datagram Protocol (UDP) și de Internet Protocol (IP).
  • Livrarea aceleiași comenzi: Stratul de rețea nu garantează în general că pachetele de date vor ajunge în aceeași ordine în care au fost trimise, dar de multe ori aceasta este o caracteristică de dorit. Acest lucru se face de obicei prin utilizarea numerotării segmentelor, receptorul le transmite în aplicație în ordine. Acest lucru poate provoca blocarea capului de linie .
  • Fiabilitate : Pachetele se pot pierde în timpul transportului din cauza congestiei rețelei și a erorilor. Prin intermediul unui cod de detectare a erorilor , cum ar fi o sumă de control , protocolul de transport poate verifica dacă datele nu sunt corupte și poate verifica primirea corectă prin trimiterea unui mesaj ACK sau NACK către expeditor. Schemele automate de solicitare repetată pot fi utilizate pentru retransmiterea datelor pierdute sau corupte.
  • Controlul fluxului : Rata de transmitere a datelor între două noduri trebuie uneori gestionată pentru a împiedica un expeditor rapid să transmită mai multe date decât poate fi acceptat de bufferul de date de primire , provocând o depășire a bufferului. Acest lucru poate fi, de asemenea, utilizat pentru a îmbunătăți eficiența prin reducerea subimprimării tamponului .
  • Evitarea congestiei : controlul congestiei poate controla intrarea traficului într-o rețea de telecomunicații, pentru a evita colapsul congestiv, încercând să evite supraabonarea oricăreia dintre capacitățile de procesare sau legătură ale nodurilor și rețelelor intermediare și luând pași de reducere a resurselor, cum ar fi reducerea ratei a trimiterii de pachete . De exemplu, solicitările de repetare automată pot menține rețeaua într-o stare aglomerată; această situație poate fi evitată prin adăugarea evitării congestiei la controlul debitului, inclusiv pornirea lentă . Acest lucru menține consumul de lățime de bandă la un nivel scăzut la începutul transmisiei sau după retransmiterea pachetelor.
  • Multiplexare : porturile pot furniza mai multe puncte finale pe un singur nod. De exemplu, numele de pe o adresă poștală este un fel de multiplexare și distinge între destinatarii diferiți ai aceleiași locații. Fiecare aplicație computerizată va asculta informații despre propriile porturi, ceea ce permite utilizarea mai multor servicii de rețea în același timp. Face parte din stratul de transport din modelul TCP / IP , dar din stratul de sesiune din modelul OSI.

Analiză

Stratul de transport este responsabil pentru livrarea datelor către procesul de aplicare adecvat de pe computerele gazdă. Aceasta implică multiplexarea statistică a datelor din diferite procese de aplicații, adică formarea de segmente de date și adăugarea numerelor de port sursă și destinație în antetul fiecărui segment de date al stratului de transport. Împreună cu adresa IP sursă și destinație, numerele de port constituie o priză de rețea , adică o adresă de identificare a comunicării proces-la-proces. În modelul OSI, această funcție este acceptată de stratul de sesiune .

Unele protocoale de transport strat, de exemplu TCP, dar nu UDP, suport circuite virtuale , de exemplu , oferă comunicare orientate pe conexiune pe o bază orientată spre pachet datagramă de rețea. Un flux de octeți este livrat în timp ce ascundeți comunicarea în modul pachet pentru procesele aplicației. Aceasta implică stabilirea conexiunii, împărțirea fluxului de date în pachete numite segmente, numerotarea segmentelor și reordonarea datelor în afara comenzii.

În cele din urmă, unele protocoale de strat de transport, de exemplu TCP, dar nu UDP, asigură o comunicare fiabilă de la un capăt la altul, adică recuperarea erorilor prin intermediul codului de detectare a erorilor și a protocolului de repetare automată a cererilor (ARQ). Protocolul ARQ oferă, de asemenea, controlul fluxului , care poate fi combinat cu evitarea congestiei .

UDP este un protocol foarte simplu și nu oferă circuite virtuale și nici comunicații fiabile, delegând aceste funcții programului de aplicație . Pachetele UDP sunt mai degrabă numite datagrame decât segmente.

TCP este utilizat pentru mai multe protocoale, inclusiv navigarea web HTTP și transferul de e-mail. UDP poate fi utilizat pentru difuzare și difuzare , deoarece retransmisiunile nu sunt posibile pentru o cantitate mare de gazde. UDP oferă de obicei un randament mai mare și o latență mai scurtă și, prin urmare, este adesea folosit pentru comunicații multimedia în timp real, unde pierderea de pachete poate fi acceptată ocazional, de exemplu IP-TV și IP-telefonie și pentru jocuri online pe computer.

Multe rețele non-IP, cum ar fi X.25 , Frame Relay și ATM , implementează comunicația orientată spre conexiune la nivel de rețea sau de legătură de date, mai degrabă decât la nivelul de transport. În X.25, în modemurile de rețea telefonică și în sistemele de comunicații fără fir, comunicația de la nod la nod fiabilă este implementată la straturi de protocol inferioare.

Specificația protocolului stratului de transport în modul de conexiune OSI definește cinci clase de protocoale de transport: TP0 , care oferă cea mai mică recuperare a erorilor, la TP4 , care este conceput pentru rețele mai puțin fiabile.

Protocoale

Această listă prezintă câteva protocoale care sunt plasate în mod obișnuit în straturile de transport ale suitei de protocol Internet, suita de protocol OSI , IPX / SPX , AppleTalk și Fibre Channel ale NetWare .

Compararea protocoalelor stratului de transport

Caracteristică UDP UDP-Lite TCP TCP multipath SCTP DCCP RUDP
Dimensiunea antetului pachetului 8 octeți 8 octeți 20–60 octeți 50-90 octeți 12 octeți 12 sau 16 octeți 14+ octeți
Pachete de date tipice cheltuieli generale 8 octeți 8 octeți 20 octeți ?? octeți 44–48 + octeți 12 sau 16 octeți 14 octeți
Entitate pachet de straturi de transport Datagramă Datagramă Segment Segment Datagramă Datagramă Datagramă
Orientat spre conexiune Nu Nu da da da da da
Transport fiabil Nu Nu da da da Nu da
Transport nesigur da da Nu Nu da da da
Păstrați limita mesajului da da Nu Nu da da da
Livrare Neordonat Neordonat Ordonat Ordonat Comandat / Neordonat Neordonat Neordonat
Suma de verificare a datelor Opțional da da da da da Opțional
Dimensiunea sumei de control 16 biți 16 biți 16 biți 16 biți 32 de biți 16 biți 16 biți
Suma de control parțială Nu da Nu Nu Nu da Nu
Calea MTU Nu Nu da da da da ?
Controlul debitului Nu Nu da da da Nu da
Controlul congestiei Nu Nu da da da da ?
Notificare explicită a congestiei Nu Nu da da da da ?
Fluxuri multiple Nu Nu Nu Nu da Nu Nu
Multi-homing Nu Nu Nu da da Nu Nu
Pachet / Nagle Nu Nu da da da Nu ?

Compararea protocoalelor de transport OSI

Recomandarea ISO / IEC 8073 / UIT-T X.224, „Tehnologia informației - interconectare sisteme deschise - Protocol pentru furnizarea serviciului de transport în mod conexiune”, definește cinci clase de protocoale de transport în mod conexiune desemnate de la clasa 0 (TP0) la clasa 4 (TP4). Clasa 0 nu conține recuperarea erorilor și a fost concepută pentru a fi utilizată pe straturile de rețea care oferă conexiuni fără erori. Clasa 4 este cea mai apropiată de TCP, deși TCP conține funcții, cum ar fi închiderea grațioasă, pe care OSI o atribuie stratului de sesiune. Toate clasele de protocol de conexiune OSI oferă date accelerate și păstrarea limitelor înregistrărilor. Caracteristicile detaliate ale claselor sunt prezentate în următorul tabel:

Serviciu TP0 TP1 TP2 TP3 TP4
Rețea orientată spre conexiune da da da da da
Rețea fără conexiune Nu Nu Nu Nu da
Concatenare și separare Nu da da da da
Segmentarea și reasamblarea da da da da da
Eroare de recuperare Nu da Nu da da
Reinițiați conexiunea (dacă un număr excesiv de PDU-uri nu sunt recunoscute) Nu da Nu da Nu
Multiplexare și demultiplexare pe un singur circuit virtual Nu Nu da da da
Controlul debitului explicit Nu Nu da da da
Retransmisie la expirare Nu Nu Nu Nu da
Serviciu de transport fiabil Nu da Nu da da

Există, de asemenea, un protocol de transport fără conexiune, specificat de Recomandarea ISO / IEC 8602 / UIT-T X.234.

Referințe