Un protocollo è un insieme di regole di comportamento e procedure di gestione dei processi di comunicazione (semantica) e di regole di tipo sintattico, ovvero come devono essere strutturati i messaggi da scambiare.
Quindi in sostanza i protocolli stabiliscono cosa fare quando e cosa fare come, se si vuole comunicare nella rete.
Grazie ad essi è possibile la compatibilità di comunicazione fra i dispositivi che sono connessi alla rete, che sono eterogenei fra loro.
I protocolli solitamente hanno nome dello standard e nome commerciale:
Una Architettura dei protocolli di rete è un insieme di protocolli che funziona in maniera coordinata e sincrona, dal momento che un solo protocollo non basta per gestire una rete complessa come Internet.
I protocolli sono strutturati a livelli. La regola generale dice che, dato un livello x, esistono protocolli alternativi che possiamo interscambiare. I livelli superiori e inferiori possono interagire col livello x solo con le opportune API.
Dal momento che i protocolli possono cambiare e aggiornarsi (magari per sistemare falle, magari per introdurre migliorie) è necessario che, qualunque sia il loro funzionamento interno, si comportino sempre allo stesso modo quando ricevono input dai protocolli del livello sottostante e quando mandano output ai livelli sovrastanti.
Ed è qui che interviene l'architettura:
<aside> 💡 Un'architettura di protocolli definisce il template sul quale vanno realizzati i protocolli di rete.
</aside>
Alla fine è sempre solito principio di astrazione/implementazione alla base di tutta l'informatica.
Lo standard di tutte le comunicazioni di rete è formato da 7 livelli ed è chiamato Standard ISO/OSI RM (Open System Interconnection Reference Model).
È un insieme di livelli completo (non esiste un livello mancante) e rigoroso (formalmente definito in quel modo e o lo rispetti o non lo rispetti, non ci sono vie di mezzo).