Skup pravila koje računalni sustavi i drugi tehnološki uređaji koriste za komunikaciju s drugim sustavima i uređajima ili za prosljeđivanje informacija naprijed-natrag s drugim sustavima i uređajima poznat je kao komunikacijski protokol. Protokol definira format i sintaksu podataka koji se prenose. To može biti u obliku posebnih naredbi koje se šalju prije stvarnih podataka ili može biti prijenos cijelih serijaliziranih objekata određenog tipa. Protokoli se mogu implementirati softverom ili se mogu ugraditi u hardver i ugrađene sustave. U upotrebi je mnogo komunikacijskih protokola, od kojih su neki vlasnički u sigurnosne svrhe, a neki su otvorenog koda za razvojne svrhe.
Komunikacijski protokol se gradi uspostavljanjem sintakse koju sustavi mogu razumjeti i slijediti. Iako se stvarna semantika protokola može razlikovati, većina je slična jer se temelji na istim temeljnim načelima i hardverskim ograničenjima. Nakon što se protokol uspostavi, svi sustavi koji razumiju protokol moći će slati i primati podatke s drugim takvim sustavima. Na taj način, komunikacijski protokol uvelike nalikuje razvoju zajedničkog jezika koji se koristi za prenošenje informacija i od nekoga tko poznaje taj jezik.
Hardverski protokoli se često koriste za uspostavljanje radnih parametara za dva uređaja. Ovi protokoli mogu uspostaviti konstante kao što su brzina prijenosa, maksimalna veličina podatkovnog bloka te metode šifriranja i kompresije. Iako su vrlo učinkoviti, hardverski protokoli prvenstveno se bave uspostavljanjem fizičke veze između dva uređaja za razliku od stvarnog tumačenja podataka ili drugih zahtjeva.
Softverski protokoli mogu biti vrlo fleksibilni i mogu učiniti mnogo više od pukog prijenosa proizvoljnih podataka. Nakon što dva softvera implementiraju komunikacijski protokol, mogu omogućiti bilo koji broj algoritama ili funkcija. Najčešći su otkrivanje pogrešaka i ispravljanje pogrešaka.
Otkrivanje i ispravljanje pogrešaka načini su na koje se podaci, kada se prenose putem određenog protokola, mogu suvišno provjeriti ima li pogrešaka. To može biti potrebno kada su fizičke linije između uređaja nepouzdane ili imaju veliku količinu šuma koja bi mogla oštetiti signal. Razvijeno je nekoliko algoritama koji mogu pomoći u provjeri i vraćanju integriteta podataka koji su poslani.
Protokoli nisu isključivi mehanizam i vrlo su često slojeviti unutar sustava ili okvira. Mrežni protokoli su gotovo uvijek slojeviti. To znači da su različiti protokoli dodijeljeni za rukovanje različitim zadacima. Neki pružaju pristup resursima u operacijskom sustavu dok drugi mogu jednostavno prenijeti informacije na slijepo drugom čvoru. Višeslojnost komunikacijskih protokola jedan je od temelja Interneta koji mu omogućuje dosljedno funkcioniranje s toliko različitih vrsta računala i uređaja.