Livello di trasporto
Da Wikipedia, l'enciclopedia libera.
[modifica] Introduzione
Livello applicazioni | HTTP, HTTPS , SMTP, POP3, IMAP, FTP, SFTP, DNS SSH, IRC, SNMP, SIP, RTSP, Rsync, Telnet, DHCP, HSRP, BitTorrent, RTP, ... |
Livello di trasporto | TCP, UDP, SCTP, DCCP ... |
Livello di internetworking | IPv4, IPv6, ICMP, BGP, OSPF, RIP, IGRP, IGMP,IPsec... |
Livello di collegamento | Ethernet, WiFi, PPP, Token ring, ARP, ATM, FDDI, LLC, SLIP ... |
Livello fisico | Doppino, Fibra ottica, Cavo coassiale, Codifica Manchester, Codifica 4B/5B, cavi elettrici, WiFi ... |
Nell'ambito dei computer e delle reti telecomunicazioni, il livello di trasporto è il quarto dei livelli nel modello OSI. Il suo compito è di fornire servizi al livello 5 (livello sessione) e per raggiungere il suo scopo sfrutta i servizi del livello 3 (livello rete). Lo scopo del livello di trasporto è fornire un canale di comunicazione end-to-end per pacchetti.
Di seguito vengono riportati i servizi che vengono, in genere, offerti dal livello di trasporto; è bene ricordare che nessuno di tali servizi è obbligatorio. Di conseguenza, per ciascuna applicazione è possibile scegliere il protocollo più adatto allo scopo.
- Servizio orientato alla connessione. In genere il livello rete non stabilisce una connessione persistente verso l'host di destinazione. Il livello di trasporto si incarica, quindi, di realizzare una connessione persistente che viene poi chiusa quando non è più necessaria.
- Corretto ordine di consegna. Poiché i pacchetti possono seguire percorsi diversi all'interno della rete, non c'è alcuna garanzia che i dati vengano recapitati nello stesso ordine in cui sono stati inviati. Il livello di trasporto verifica che i pacchetti vengano riordinati nella giusta sequenza in ricezione prima di passarli al livello superiore.
- Trasferimento affidabile. Il protocollo si occupa di garantire che tutti i dati inviati vengano ricevuti; nel caso il servizio di rete utilizzato perda pacchetti, il protocollo di trasporto si occupa di ritrasmetterli.
- Controllo di flusso. Se gli host coinvolti nella comunicazione hanno prestazioni molto differenti può capitare che un pc più veloce "inondi" di dati uno più lento. Mediante il controllo di flusso, un host in "difficoltà" può chiedere di abbassare il tasso di trasmissione in modo da poter gestire le informazioni in ingresso.
- Controllo di Congestione: il protocollo riconosce uno stato di congestione della rete, e adatta di conseguenza la velocità di trasmissione.
- Orientamento al Byte. Invece che gestire i dati in base ai pacchetti, viene fornita la possibilità di vedere la comunicazione come uno stream di byte, in modo da semplificarne l'utilizzo.
- Multiplazione. Il protocollo permette di stabilire diverse connessioni contemporanee tra gli stessi due host, tipicamente utilizzando l'astrazione delle porte. Nell'uso comune, diversi servizi utilizzano porte diverse.
Nello stack protocollare Internet, i protocolli di trasporto più utilizzati sono TCP e UDP. TCP è il più complicato fra i due e fornisce un servizio end-to-end orientato alla connessione e al byte, con verifica del corretto ordine di consegna, controllo di errore e di flusso. Il nome è un acronimo per Transmission Control Protocol. UDP, invece, è un protocollo più snello e fornisce un servizio a datagrammi, senza connessione, con un meccanismo di riduzione degli errori e con porte multiple. Il nome è un acronimo per User Datagram Protocol.
[modifica] Esempi
Di seguito sono elencati alcuni protocolli di trasporto. In genere questi protocolli si basano su IP.
- AEP, AppleTalk Echo Protocol
- AMTP
- ATP, AppleTalk Transaction Protocol
- IL, IL Protocol
- NBP, Name Binding Protocol
- NetBEUI, NetBIOS Extended User Interface
- RTP, Real-time Transport Protocol
- RTMP, Routing Table Maintenance Protocol
- SMB, Server Message Block
- SPX, Sequenced Packet Exchange
- SCTP, Stream Control Transmission Protocol
- TCP, Transmission Control Protocol
- UDP, User Datagram Protocol