Maršruto parinkimo protokolas yra priemonė, kuria kompiuterių tinklai gali efektyviai nukreipti srautą per įrenginius, vadinamus maršrutizatoriais. Bet kuris toks protokolas iš esmės yra algoritmas, skirtas užkirsti kelią kilpoms ir taisyti, rinkti informaciją apie tinklo topologiją ir platinti tą informaciją kitiems maršrutizatoriams ir galiausiai pasirinkti srauto kelius. Kai kurie iš šių protokolų tvarko srautą tinkle, nukreipdami jį į kitus maršrutizatorius valdomame tinkle. Kai ryšiui reikia patekti į tam tikrą tinklą arba iš jo išeiti, jį nukreipia kito tipo maršruto parinkimo protokolas, kuris stebi srautą tinklo pakraštyje arba pasienyje.
Kai maršruto parinkimo protokolas naudojamas tinklo viduje, jis vadinamas vidinio šliuzo protokolu (IGP). Kartu naudojant tą patį maršruto parinkimo protokolą, jie sudaro maršruto parinkimo domeną. Vėliau bet koks maršruto parinkimo domenų skaičius kartu sudaro tinklą, kurį sudaro autonominė sistema (AS). Čia, AS viduje, protokolai skirstomi į dvi pagrindines kategorijas: nuorodos būsenos protokolą arba vektorinį protokolą.
Naudodami nuorodos būsenos protokolą, maršruto parinktuvai bendrauja tarpusavyje, kad suplanuotų visą tinklą, įvertintų ryšių tarp jų būklę ir apskaičiuotų geriausius įmanomus kelius, kuriais eismas gali judėti. Šis metodas yra naudingas nustatant, kurių kelių ryšio greitis gali būti didesnis nei kito kelio, ir norint išsiaiškinti trumpiausią kelią. Šių tipų maršruto parinkimo protokolai labai greitai priverčia maršrutizatorius susijungti vienas su kitu, atnaujinant žinias apie tinklą, kai pridedamas naujas maršrutizatorius arba vienas išjungiamas.
Vektoriumi pagrįstas maršruto parinkimo protokolas yra dviejų variantų: atstumo vektorius ir kelio vektorius, kur pastarasis yra pirmojo poklasis. Atstumo vektoriaus metodai naudoja vadinamąjį šuolio skaičių, kad nustatytų trumpiausią kelią nuo vieno maršrutizatoriaus iki kito. Čia maršruto parinktuvas suskaičiuoja, kiek kitų maršrutizatorių turi pereiti ryšys, kiekvienas reiškia vieną šuolį, ir tada sukuria geriausių įmanomų maršrutų žemėlapį. Palyginti su nuorodos būsenos protokolu, atstumo vektoriaus algoritmas negali pasakyti, kaip greitai konkretus šuolis yra lyginamas su kitu, ir galiausiai gali pasirinkti lėtesnį maršrutą, net jei jam reikia mažiau šuolių. Jis taip pat kenčia nuo vėlavimų, kai maršrutizatorius pridedamas prie tinklo arba pašalinamas iš jo, nes jis turi vėl skaičiuoti šuolius, kad atkurtų tinklo žemėlapį.
Kelio vektoriaus maršruto parinkimo protokolas dažnai naudojamas tinklo ribose, vadinamame pasienio šliuzo protokolu (BGP). Be apynių skaičiavimo, pasienio maršrutizatorius taip pat reklamuoja savo prieinamumą išsiųsdamas kelio vektorinį pranešimą. Tada kitų tinklų pasienio maršrutizatoriai kaupia žinias apie kelius už AS ribų, stebėdami šiuos pranešimus vieni iš kitų.
Kai kuriais atvejais maršruto parinkimo protokolas iš tikrųjų gali būti nukreiptas per esamą ryšio protokolą. Ar jie nukreipiami, priklauso nuo atvirų sistemų sujungimo (OSI) modelio sluoksnio, kuriame jie veikia, pvz., IS-IS, duomenų ryšio sluoksnio, ir tai yra nenukreiptas protokolas. Interneto protokolas (IP) ir perdavimo valdymo protokolas (TCP) veikia atitinkamai trečiame ir ketvirtame lygmenyse ir yra dvi priemonės, kuriomis galima nukreipti maršruto parinkimo protokolą. Žymiausi yra BGP, kurie veikia per TCP.