Un protocol de rutare este mijlocul prin care rețelele de computere sunt capabile să direcționeze eficient traficul prin intermediul dispozitivelor numite routere. Orice astfel de protocol este în esență un algoritm conceput pentru a preveni și corecta buclele, pentru a colecta informații despre topologia rețelei și pentru a distribui acele informații către alte routere și, în cele din urmă, pentru a selecta căile pe care ar trebui să le urmeze traficul. Unele dintre aceste protocoale gestionează traficul din interiorul unei rețele, direcționându-l către alte routere dintr-o rețea controlată. Atunci când comunicațiile trebuie să intre sau să părăsească o anumită rețea, aceasta este direcționată de un alt tip de protocol de rutare care urmărește traficul la marginea sau granița rețelei.
Când un protocol de rutare este utilizat în interiorul unei rețele, acesta este denumit protocol interior gateway (IGP). Folosind împreună același protocol de rutare, formează un domeniu de rutare. Ulterior, orice număr de domenii de rutare formează împreună o rețea care cuprinde un sistem autonom (AS). Aici, în interiorul unui AS, protocoalele se încadrează în două categorii principale, un protocol de stare de legătură sau un protocol bazat pe vector.
Cu un protocol de stare de legătură, routerele vorbesc între ele pentru a mapa întreaga rețea, pentru a evalua starea conexiunilor dintre ele și apoi a calcula cele mai bune căi posibile pe care le poate parcurge traficul. Această metodă este utilă pentru a determina care căi pot avea o viteză de conectare mai mare decât o altă cale și pentru a afla calea cea mai scurtă. Aceste tipuri de protocol de rutare sunt foarte rapide în a face routerele să converge între ele, actualizându-și cunoștințele despre rețea, atunci când se adaugă un nou router sau unul este off-line.
Un protocol de rutare bazat pe vector vine în două variante: vectorul distanță și vectorul cale, unde cel din urmă este o subclasă a primului. Metodele vectoriale de distanță folosesc ceea ce este cunoscut ca număr de hop pentru a determina calea cea mai scurtă de la un router la altul. Aici, routerul numără numărul de alte routere pe care trebuie să le parcurgă comunicația, fiecare reprezentând un hop, apoi își construiește harta celor mai bune rute posibile. În comparație cu un protocol de stare de legătură, un algoritm de vector distanță nu poate spune cât de rapid este un anumit hop în comparație cu altul și poate alege în cele din urmă o rută mai lentă, chiar dacă necesită mai puține hopuri. De asemenea, suferă de întârzieri atunci când un router este adăugat sau eliminat din rețea, deoarece trebuie să numere din nou hopurile pentru a-și reconstrui harta rețelei.
Un protocol de rutare vector de cale este adesea folosit la granița unei rețele în ceea ce se numește protocol de gateway de frontieră (BGP). Pe lângă numărarea hopurilor, routerul de frontieră își anunță și disponibilitatea trimițând un mesaj vector de cale. Routerele de frontieră ale altor rețele își construiesc apoi cunoștințele despre căile în afara unui AS, urmărind aceste mesaje unul de la celălalt.
În unele cazuri, un protocol de rutare poate fi de fapt direcționat peste un protocol de comunicații existent. Dacă sunt direcționate depinde de stratul modelului de interconectare a sistemelor deschise (OSI) sub care operează, cum ar fi IS-IS, stratul de legătură de date și este un protocol nedirecționat. Protocolul Internet (IP) și protocolul de control al transmisiei (TCP), operează la straturile trei și, respectiv, patru și sunt două mijloace prin care un protocol de rutare poate fi rutat. Cele mai notabile sunt BGP-urile care rulează peste TCP.