I protocolli come TCP e IP forniscono le regole sintattiche e semantiche per la comunicazione, contengono i dettagli dei formati dei messaggi, descrivono come un computer risponde quando arriva un messaggio e come gestisce gli errori o altre condizioni anomale e, ancora più importante, permettono di descrivere la comunicazione tra computer indipendentemente dall'hardware di rete di cui sono dotati. Praticamente, i protocolli sono per la comunicazione ciò che gli algoritmi sono per il calcolo: come un algoritmo permette di specificare o di capire un calcolo senza conoscere i dettagli di un particolare insieme di istruzioni macchina, così un protocollo consente di specificare le modalità di comunicazione di dati indipendentemente dalla conoscenza dettagliata dell'hardware di rete.
Tralasciare i dettagli di basso livello della comunicazione significa migliorare la produttività:
In primo luogo, poiché i programmatori trattano astrazioni di protocollo di livello più alto, essi non devono imparare o ricordare i dettagli sulle varie configurazioni hardware, e quindi possono creare velocemente nuovi programmi.
In secondo luogo, poiché i programmi realizzati usando astrazioni di livello superiore non sono vincolati ad una particolare architettura di computer o ad uno specifico hardware di rete, non è necessario cambiarli quando i computer o le reti vengono sostituiti o riconfigurati.
In terzo luogo, poiché i programmi applicativi creati usando protocolli di livello più alto sono indipendenti dall'hardware sottostante, essi possono usufruire di una comunicazione diretta tra una coppia arbitraria di computer.