Un set de reguli pe care sistemele informatice și alte dispozitive tehnologice le folosesc pentru a comunica sau pentru a transmite informații înainte și înapoi cu alte sisteme și dispozitive este cunoscut sub numele de protocol de comunicații. Un protocol definește formatul și sintaxa datelor transmise. Aceasta ar putea lua forma unor comenzi speciale trimise înaintea datelor reale sau ar putea fi transmisia de obiecte întregi seriale de un anumit tip. Protocoalele pot fi implementate prin software sau pot fi integrate în hardware și sisteme încorporate. Există multe protocoale de comunicații în uz, dintre care unele sunt proprietare în scopuri de securitate și unele sunt open source în scopuri de dezvoltare.
Un protocol de comunicații este construit prin stabilirea unei sintaxe pe care sistemele o pot înțelege și urma. În timp ce semantica reală a unui protocol poate varia, majoritatea sunt similare, deoarece se bazează pe aceleași principii și limitări hardware. Odată ce un protocol este stabilit, toate sistemele care înțeleg protocolul vor putea trimite și primi date cu alte astfel de sisteme. În acest fel, un protocol de comunicații seamănă foarte mult cu dezvoltarea unui limbaj comun care este folosit pentru a transmite informații către și de la altcineva care cunoaște limba respectivă.
Protocoalele hardware sunt frecvent utilizate pentru a stabili parametrii de funcționare pentru două dispozitive. Aceste protocoale pot stabili constante precum rata de transfer, dimensiunea maximă a unui bloc de date și metode de criptare și compresie. Deși sunt foarte eficiente, protocoalele hardware se ocupă în primul rând de stabilirea legăturii fizice între două dispozitive, spre deosebire de interpretarea efectivă a datelor sau a altor solicitări.
Protocoalele software pot fi foarte flexibile și pot face mult mai mult decât transferul de date arbitrare. Odată ce două componente software au implementat un protocol de comunicații, acestea pot activa orice număr de algoritmi sau funcții. Cele mai frecvente sunt detectarea erorilor și corectarea erorilor.
Detectarea și corectarea erorilor sunt modalități prin care datele, atunci când sunt transferate printr-un protocol specific, pot fi verificate redundant pentru erori. Acest lucru poate fi necesar atunci când liniile fizice dintre dispozitive sunt nesigure sau au o cantitate mare de zgomot care ar putea deteriora un semnal. Au fost dezvoltați mai mulți algoritmi care pot ajuta la verificarea și restabilirea integrității datelor care au fost trimise.
Protocoalele nu sunt un mecanism exclusiv și sunt foarte adesea stratificate într-un sistem sau cadru. Protocoalele de rețea sunt aproape întotdeauna stratificate. Aceasta înseamnă că există diferite protocoale atribuite pentru a gestiona diferite sarcini. Unele oferă acces la resursele din sistemul de operare, în timp ce altele pot pur și simplu să transmită informații orbește către un alt nod. Stratificarea protocoalelor de comunicații este una dintre bazele Internetului, care îi permite să funcționeze în mod constant cu atât de multe tipuri diferite de computere și dispozitive.