Un protocollo è un metodo standard che permette la comunicazione tra i processi (eventualmente su terminali diversi), cioè un insieme di regole e procedure da rispettare per emettere ricevere dei dati su una rete. Ne esistono differenti secondo quello che ci si aspetta dalla comunicazione. Alcuni protocolli saranno ad esempio specializzati nello scambio di file (l'FTP), altri potranno servire per gestire semplicemente lo stato della trasmissione e degli errori (è il caso del protocollo ICMP),...
Su internet, i protocolli usati fanno parte di una serie di protocolli, cioè un insieme di protocolli collegati fra loro. Questa serie di protocollo si chiama TCP/IP.
Essa contiene, fra l'altro, i protocolli seguenti :
I protocolli vengono generalmente classificati in due categoria secondo il livello di controllo dei dati che si desidera avere :
Un protocollo definisce unicamente il modo in cui i terminali devono comunicare, cioè la forma e la sequenza dei dati da scambiare. Un protocollo non definisce invece il modo di programmare un software in maniera che sia compatibile con il protocollo. Viene così detta implementazione la traduzione di un protocollo in linguaggio informatico.
Le specificazioni dei protocolli non sono mai esaustive, anzi succede spesso che le implementazioni siano oggetto di una certa interpretazione delle specificazioni, cosa che porta talvolta a delle specificazioni di alcune implementazioni o peggio a delle incompatibilità o falle di sicurezza!