Maršrutēšanas informācijas protokols

Maršrutēšanas informācijas protokols[1] (angļu: Routing Information Protocol (RIP)) vēsturiski bija viens no biežāk lietotajiem maršrutēšanas protokoliem. Pārsvarā tas tiek lietots nelielos iekšējos tīklos.

Neskatoties uz to, ka eksistē daudzi citi maršrutēšanas protokoli, kas pārspēj RIP konverģences ātrumā un mērogojamībā (EIGRP, OSPF, IS-IS u.c.), RIP joprojām tiek pielietots, jo to atbalsta daudzas iekārtas un operētājsistēmas un šī protokola konfigurācija ir ļoti vienkārša. RIP priekšteci — protokolu Gateway Information Protocol izstrādāja Xerox PARC kā protokolu kopas PARC Universal Packet sastāvdaļu. Vēlāka šī protokola versija Routing Information Protocol bija iekļauta XNS protokolu kopā.

Pirmā RIP versija, kas atbalstīja IP bija iekļauta BSD UNIXrouted dēmons. 1988. gadā RIP tika standartizēts ar RFC 1058.

RIP ir distance-vector maršrutēšanas protokols un izmanto Bellmana-Forda algoritmu.

Par metriku tas izmanto lēkumu skaitu hop-count — maršrutētāju skaitu caur kuriem paketei jāiet, lai sasniegtu adresātu. Lēkumu skaita maksimālā vērtība RIP protokolā ir 15. Vērtība 16 nozīmē nesasniedzamu maršrutu. Nelielā maksimālā vērtība samazina maršrutēšanas cilpu rašanās iespējamību, bet arī ierobežo RIP protokola mērogojamību.

RIP izmanto split horizon un holddown mehānismus lai nesūtītu nepareizu maršrutēšanas informāciju un nepieļautu maršrutēšanas cilpas. RIP rotokolā holddown taimeris ir 180 sekundes.

RIP protokols sūta citiem maršrutētājiem pilnu maršrutēšanas informācijas tabulu katras 30 sekundes. Mazā tīkla ar nelielām maršrutēšanas tabulām tas nerada problēmas, bet lielākos tīklos RIP maršrutēšanas jauninājumi var veidot lielu datu apjomu. Mūsdienu RIP realizācijās jauninājumu izsūtīšanas laiks tiek mainīts, lai izvairītos no situācijas, kad maršrutētāji sūta jauninājumus reizē.

Maršrutēšanas informācijas pārraidei RIP protokla datu bloki (PDU) tiek iekapsulēti UDP. RIP izmanto UDP porta numuru 520.

Ir trīs RIP protokola versijas: RIPv1, RIPv2 un RIPng.

RIPv1 ir classful maršrutēšanas protokols, tas neatbalsta VLSM. Šajā versijā nav arī autentificēšanas mehānismu.

RIPv1 izmanto apraides (broadcast) adresi (255.255.255.255) maršrutēšanas informācijas nosūtīšanai.

RIPv1 ir aprakstīts RFC 1058.

RIPvi PDU sastāv no 4 baitu galvenes (header) un RIP entry ierakstiem.

RIPv1 PDU
Biti 0—7 8—15 16—23 24—31
0 Komanda (1) Versija (1) Neizmantots (2)
32 RIP entry (20)
...

RIPv1 PDU satur sekojošus laukus:

  • Komanda
  1. pieprasījums tiek lietota lai prasītu citiem maršrutētājiem nosūtīt maršrutēšanas tabulu. RIP sūta šādu PDU, uzsākot darbu;
  2. atbilde tiek lietots gan kā atbilde uz pieprasījuma PDU, gan regulāro jauninājumu izsūtīšanai.
  3. traceon vairs netiek izmantots, PDU ar šādu lauka vērtību tiek ignorēti.
  4. traceoff vairs netiek izmantots, PDU ar šādu lauka vērtību tiek ignorēti.
  5. rezervēts Sun Microsystems.
  • Versija — RIPv1 šī lauka vērtība ir 1.

RIP entry satur informāciju par vienu maršrutu, tā formāts ir sekojošs;

RIP entry
Biti 0—7 8—15 16—23 24—31
0 Adrešu saime (2) Neizmantots (2)
32 Adrese (4)
64 Neizmantots (8)
96
128 Metrika (4)

RIP entry ir 20 baitu ieraksts, kas satur sekojošus laukus:

  • Adrešu saime (Address-family identifier, AFI) — nosaka izmantotās adreses tipu. IP protokolam šī lauka vērtība ir 2.
  • Adrese — satur attiecīgās adrešu saimes adresi.
  • Metrika — satur lēkumu skaitu.

Visu neizmantoto lauku vērtībai ir jābūt 0.

RIP entry vienā PDU var atkārtoties līdz 25 reizēm (viens PDU var saturēt informāciju par 25 maršrutiem). Tas kopā veido 25 * 20 + 4 = 504 baitus garu RIP PDU. Kopā ar 8 baitu UDP galveni (header) tas veido 512 baitu datagrammu.

RIPv2 tika izstrādāts 1994. gadā. Tā galvenais uzlabojums ir CIDR atbalsts. RIPv2 ir classless maršrutēšanas protokols.

Papildus tika pievienota arī RIPv2 atbalsta arī atklāta teksta autentificēšanu. 1997. gadā tas tika papildināts arī ar MD5 autentificēšanas iespēju (RFC 2082).

Lai samazinātu slodzi tīkla iekārtām, kas nepiedalās RIP maršrutēšanā, RIPv2 izmanto multiraides (multicast) adresi (224.0.0.9) maršrutēšanas informācijas nosūtīšanai.

RIPv2 ir aprakstīts RFC 2453.

RIPv2 PDU formāts ir līdzīgs RIPv1 PDU. Lauka Versija vērtība RIPv2 ir 2. RIPv2 nosaka savādāku RIP entry formātu.

RIP entry (RIPv2)
Biti 0—7 8—15 16—23 24—31
0 Adrešu saime (2) Maršruta atzīme (2)
32 Adrese (4)
64 Apakštīkla maska (4)
96 Nākamais lēkums (4)
128 Metrika (4)

RIP entry (RIPv2) ieraksts satur sekojošus laukus:

  • Versija — RIPv2 šī lauka vērtība ir 2.
  • Adrešu saime — tādas pašas vērtības kā RIPv1. Ja PDU pirmajā RIP entry ierakstā šī lauka vērtība 0xFFFF, tad pārējā ieraksta daļa satur autentificēšanas informāciju.
  • Maršruta atzīme (route tag) — nosaka vai dotais maršruts ir RIP. Vai no cita maršrutēšanas protokola (external route).
  • Apakštīkla maska — satur apakštīkla masku.
  • Nākamais lēkums (next hop) — maršrutētāja adrese uz kuru jāsūta paketes, lai sasniegtu adresi.

Ja RIP entry satur autentificēšanas informāciju, tās formāts ir šāds.

RIPv2 autentificēšanas ieraksts
Biti 0—7 8—15 16—23 24—31
0 0xFFFF Autentificēšanas tips (2)
32 Autentificēšanas informācija (16)
...
128

Autentificēšanas tips laukam RIPv2 definēta tikai viena vērtība — 2, kas nozīmē atklāta teksta autentificēšanu. Autentificēšanas informācija — autentificēšanas parole. Ja tā ir īsāka par 16 simboliem, atlikušie baiti tiek aizpildīti ar nullēm.

Citu lauku nozīme un vērtības ir tādi paši, kā RIPv1.

RIPv2 MD5 autentificēšana

labot šo sadaļu

Ja RIPv2 tiek izmantota MD5 autentificēšana, tiek izmainīts PDU formāts Autentificēšanas informācija laukā tiek ievietots papildus autentificēšanas apraksts. Autentificēšanas informācija tiek pievienota RIP PDU noslēgumā (trailer). RFC 2082 aprakstītais PDU formāts pieļauj arī citu autentificēšanas algoritmu izmantošanu (šobrīd tādi nav definēti).

RIPv2 MD5 PDU
Biti 0—7 8—15 16—23 24—31
0 Komanda (1) Versija (1) Maršrutēsanas domēns (2)
32 0xFFFF Autentificēšanas tips (2)
64 Paketes garums (2) Atslēgas ID (1) Aut. datu garums (1)
96 Kārtas numurs (4)
128 Neizmantots (8)
160
192 RIP entry (20)
...
0xFFFF 0x01
... Autentificēšanas dati

RIPv2 MD5 PDU satur sekojošus laukus:

  • Autentificēšanas tips — MD5 autentificēšanai šī lauka vērtība ir 3.
  • Paketes garums — attālums baitos no RIP PDU galvenes līdz autentificēšanas informācijai.
  • Atslēgas ID — autentificēšanas atslēgas identifikators. Ja RIP realizācija uztur dažādus algoritmus, norāda arī algoritma veidu.
  • Autentificēšanas datu garums — PDU noslēgumā pievienoto autentificēšanas datu garuma. Atļauj izmantot citus algoritmus. Lauka vērtība MD5 gadījumā ir 16.
  • Kārtas numurs — Skaitlis, kuram jābūt pieaugošam, maršrutētāja izsūtītajos RIP PDU ar vienādu Atslēgas ID.
  • Autentificēšanas dati — MD5 gadījumā 16 baitu MD5 jaucējsumma (hash).

Citu lauku nozīme un vērtības ir tādi paši, kā RIPv2, RIPv1.

RIPng ir RIP papildinājums IPv6 atbalstam.

RIPng neatbalsta autentificēšanu. IPv6 vidē to paredzēts darīt ar IPSec.

RIPv2 atzīmes atbalsta, bet RIPng ne.

RIPv2 pievieno nākamā lēkuma (next hop) adresi katram maršrutam, bet RIPng to nosūta atsevišķi maršrutu kopai.

RIPng ir aprakstīts RFC 2080.

RIPng PDU formāts ir tāds pats kā RIPv1 PDU. Lauka Versija vērtība RIPng ir 1. Šajā versijā nav definēts maksimālais meršrutu skaits vienā PDU. Tas ir atkarīgs no MTU saskarnes. RIPv2 nosaka savādāku RIP entry formātu. To sauc par Route Table Entry (RTE).

RTE
Biti 0—7 8—15 16—23 24—31
0 IPv6 prefikss (16)
...
96
128 Maršruta atzīme (2) Prefiksa garums (1) Metrika (1)

RTE ieraksts satur sekojošus laukus:

  • IPv6 prefikss — 128 bitu IPv6 adrese.
  • Prefiksa garums — prefiksa garums 1-128.

Citu lauku nozīme un vērtības ir tādi paši, kā RIPv1.

Kā redzams, RTE nesatur informāciju par next hop. Pievienot katram ierakstam 16 baitus būtu neekonomiski, tāpēc RIPng izmanto īpašu next hop RTE:

next-hop RTE
Biti 0—7 8-15 16-23 24-31
0 IPv6 hext hop adrese (16)
...
96
128 0x00 0x00 0xFF

next-hop RTE norādīta next hop adrese un metrikas lauka vērtība ir 255. Pārējiem laukiem jābūt 0. Norādītā adrese tiek izmantota par next hop visiem sekojošajiem RTE līdz nākamajam next-hop RTE.

Ārējās saites

labot šo sadaļu