La rete Internet per far comunicare tra loro gli host connessi si avvale di alcuni protocolli, sviluppati negli anni, ognuno dei quali viene utilizzato per il funzionamento dei vari servizi della rete.
Tra i protocolli più famosi troviamo:
IP:
Il protocollo IP (acronimo di internet protocol) si occupa di fornire un metodo di indirizzamento logico e di gestione (frammentazione/riassemblaggio) per la trasmissione dei dati tra gli host.
Il protocollo IP nasce negli anni 70 come tecnologia base per il funzionamento delle reti. L'IP definisce una tecnica di trasmissione dati senza riscontro (non c'è garanzia che i pacchetti giungano a destinazione e nella sequenza corretta).
Esso prevede che le informazioni vengano strutturate in unità chiamate datagrammi IP (IP datagram), di lunghezza massima 65535 byte, suddivise in due aree: il campo dati (data) che contiene il messaggio da inviare e l'intestazione (header) che contiene le informazioni necessarie per l'instradamento del pacchetto.
TCP:
E' un protocollo di trasporto di tipo connection-oriented per la trasmissione dati tra due host. Il protocollo TCP ha il compito di fornire alle applicazioni un servizio affidabile per il trasferimento dei dati attraverso la rete.
Questo protocollo offre un servizio orientato alla connessione (connection-oriented), esso garantisce la consegna e l'ordinamento corretto dei dati grazie all'utilizzo di sequence number e conferme di consegna.
Tra gli host impegnati nella comunicazione viene simulato un colloquio diretto attraverso un canale che consente lo scambio interattivo delle informazioni (full-duplex). I dati vengono presentati e ricevuti da TCP ai protocolli superiori come un'unica sequenza (byte-stream). In questo modo è il TCP ad occuparsi di segmentarli lasciando ai protocolli superiori solo il compito di prepararli. Le informazioni contenute in un segmento sono suddivise in due parti: l'intestazione (header) e i dati (data).
Il Transmission Control Protocol è utilizzato da diversi protocolli a livello applicativo quali FTP, Telnet, SMTP, POP3 ed altri.
TCP/IP:
Il protocollo TCP/IP, racchiude i due protocolli principali di Internet progettati nel 1974 da Robert E. Kahn e Vinton G. Cerf a Berkeley, esso descrive il processo di trasmissione dati riassumendo i seguenti livelli:
- Application (Applicazione): rappresenta i layer Application, Presentation e Session del modello OSI.
Questo livello si occupa di fornire alle applicazioni (FTP, Telnet, Mail) i servizi di rete, compresi la rappresentazione dei dati, ed il mantenimento di sessioni;
- Transport (Trasporto): rappresenta l'omonimo layer del modello OSI.
Questo livello si occupa del trasporto attraverso i protocolli TCP (Transmission Control Protocol) di tipo connection-oriented e UDP (User Datagram Protocol) di tipo connectionless permettendo quindi di stabilire comunicazioni tra due host;
- Internet (Internet): rappresenta il layer Network del modello OSI.
Questo livello si occupa di indirizzare, suddividere e instradare i pacchetti sulla rete. Il protocollo IP lavora in questo layer offrendo un metodo di indirizzamento ed un tipo di trasmissione connectionless;
- Network (Rete): rappresenta i layer Data Link e Phisical del modello OSI, lavora a stretto contatto con l'hardware.
Questo livello si occupa di prelevare ed immetere i frame dati, diversi a seconda della tipologia di rete, sul cavo di rete e di controllarne la correttezza tramite un algoritmo CRC (cyclic redundancy check). Rispetto al modello ISO/OSI non ci sono distinzioni tra schede di rete e driver con il vantaggio di poter implementare TCP/IP su ogni tipo di rete;
UDP:
E' un protocollo di trasporto di tipo connectionless, per la trasmissione dati tra due host. UDP (User Datagram Protocol) è un protocollo non orientato alla connessione, utilizzato quando l'affidabilità, il cui controllo viene richiesto ai protocolli applicativi che ne fanno uso, non è il target primario. I vantaggi nell'utilizzo di UDP sono infatti la velocità, e la minore congestione di rete rispetto a TCP (non ci sono pacchetti di conferma) e la possibilità di trasmettere in multicast (invio di un pacchetto ad un gruppo di host) e broadcast (invio di un pacchetto a tutti gli host di un segmento di rete).
SMTP:
Simple Mail Transfer Protocol è il protocollo utilizzato per trasmettere messaggi di posta elettronica tra due host. SMTP utilizza il protocollo di trasporto TCP, ed in particolare un SMTP server rimane costantemente in ascolto sulla porta 25. Il server SMTP si occupa poi di trasferire i messaggi nelle caselle di posta (mailbox) dei destinatari, oppure qualora non fosse il diretto responsabile di queste, inoltrarli (operazione di relay) al server che provvederà a farlo.
POP3:
Post Office Protocol 3 è attualmente il protocollo più utilizzato per il download della posta elettronica. Il protocollo POP3 fornisce le funzioni base per scaricare e cancellare la posta da un mail server. Per eseguire il processo di download viene instaurata una connessione di tipo TCP tra il client ed il server POP3 in ascolto, di default, sulla porta 110.