Maršrutēšanas protokols

**Maršrutēšanas protokols** ir protokols, kas nosaka kā maršrutētāji savstarpēji apmainās ar informāciju par tīkliem, kas ļauj tiem izvēlēties maršrutu starp jebkuriem diviem mezgliem tīklā.

Maršrutēšanas protokoli darbojas OSI modeļa trešajā — tīkla slānī.

## Maršrutēšanas, maršrutējamie un nemaršrutējamie protokoli
Maršrutēšanas protokoli dod iespēju maršrutētājam izvēlēties ceļu, pa kuru pārraidīt datus.

Maršrutējamie protokoli atbild par pašu datu nosūtīšanu. Maršrutējams ir jebkurš tīkla slāņa protokols, kas satur tīkla adresē pietiekam informāciju, lai varētu izvēlēties paketes maršrutu, nezinot visu ceļu starp sūtītāju un saņēmēju. IP ir tipisks maršrutējama protokola piemērs.

Datu posma slāņa protokoli ir nemaršrutējami protokoli, jo satur tikai fizikālo adresi. Kas nav pietekama maršrutēšanas veikšanai. Daži augstāku slāņu protokoli, piemēram, NetBIOS, kas balstīti tieši uz datu posma slāņa bez tīkla slāņa arī ir nemaršrutējami.

Paši maršrutēšanas protokoli savas informācijas pārraidei var izmantot dažādu slāņu protokolus:
* IS-IS darbojas virs datu posma slāņa
* OSPF, IGRP, EIGRP izmanto IP
* RIP izmanto UDP
* BGP izmanto TCP

## ''Exterior'' un ''interior'' maršrutēšanas protokoli
***Interior Gateway Protocols*** (IGP) veic maršrutēšanu vienā maršrutēšanas domēnā. Vienā autonomajā sistēmā var būt vairāki maršrutēšanas domēni.

IGP maršrutēšanas protokoli ir:
* IGRP
* EIGRP
* OSPF
* RIP
* IS-IS
***Exterior Gateway Protocols*** (EGP) veic maršrutēšanu starp autonomajām sistēmām.

EGP protokoli ir:
* EGP (vairs netiek lietots)
* BGP

## Algoritmu tipi
Pēc darbības principa un algoritma maršrutēšanas protokolus iedala *distance-vector* un posma stāvokļa (*link-state*) protokolos.

### ''Distance-vector'' maršrutēšanas protokoli
*Distance-vector* maršrutēšanas protokolos maršrutētāji periodiski sūta citiem maršrutētājiem visu vai daļu no savas maršrutēšanas tabulas. Šie protokoli lieto Bellmana-Forda algoritmu maršrutu aprēķināšanai. *Distance-vector* protokoli regulāri nosūta citiem maršrutētājiem visu maršrutēšanas tabulu.

Atšķirībā no posma stāvokļa protokoliem katram maršrutētājam nav informācijas par visu tīkla topoloģiju tikai citu kaimiņu maršrutētāju maršrutēšanas tabulas, tāpēc *distance-vector* maršrutēšanu mēdz saukt arī par "maršrutēšanu kas balstīta uz baumām".
Šajos maršrutēšanas protokolos tīkla topoloģijas izmaiņu gadījumos nav jāapziņo visi domēna maršrutētāji, tāpēc tiem nepieciešams mazāks nosūtāmo datu daudzums. Arī prasības pret procesora jaudu maršrutu aprēķināšanai ir mazākas.

Šiem protokoliem ir vairāki trūkumi. Piemēram lēna konverģence un maršrutēšanas cilpu iespējamība.

*Distance-vector* maršrutēšanas protokoli ir:
* RIP
* IGRP
* EIGRP. Šis Cisco izstrādātais protokols ietver arī posma stāvokļa protokola iezīmes (veido topoloģijas tabulu) un izmanto ''Diffusing update'' algoritmu (DUAL). Tāpēc to sauc arī par hibrīdprotokolu.
* BGP. Šis protokols darbojas līdzīgi *distance-vector* protokoliem, bet par distances mēru izmanto visu autonomo sistēmu sarakstu, caur kurām paketei jātiek maršrutētai. Tāpēc to sauc arī par *path vector* protokolu.

### Posma stāvokļa maršrutēšanas protokoli
Posma stāvokļa maršrutēšanas protokolos maršrutētājs nesaņem no citiem maršrutēšanas tabulu, bet tikai informāciju par tīkla topoloģiju. Šie protokoli izmanto *Shortest Path First* ('SPF') algoritmus, lai no topoloģijas datu bāzes aprēķinātu maršrutus. Viens no šādu algoritmu piemēriem ir Deikstras algoritms.

Posma stāvokļa protokoli nodrošina maršrutēšanu bez maršrutēšanas cilpām. To konverģence ir ātrāka kā *distance-vector* protokoliem, jo visi maršrutētāji tiek uzreiz informēti par topoloģijas izmaiņām.

Šiem protokoliem nepieciešams lielāks datu apjoms topoloģijas informācijas izplatīšanai un lielāka procesora jauda maršrutu aprēķiniem.

Posma stāvokļa maršrutēšanas protokoli ir:
* IS-IS
* OSPF