Routing with RIP in IPv6

Pentru a putea suporta noul protocol IP toate protocoalele de rutare existente pentru IPv4 au necesitat o serie de modificari, cea mai evidenta fiind aceea ca au trebuit sa fie schimbate pentru a suporta adrese si prefixe mai mari. Mesajele folosite pentru a transmite informatia de rutare au fost si ele schimbate, folosindu-se acum headere de IPv6 in loc de headere de IPv4. De exemplu, RIPng (RIP Next Generation), foloseste ca adresa destinatie pentru mesajele de update adresa de multicast FF02::9, in loc de 224.0.0.9, folosita de RIPv2. De asemenea, protocolele de rutare pentru IPv6 folosesc ca next-hop address adresa de link-local de pe interfata corespunzatore a router-ului vecin pentru a trimite trafic catre destinatiile remote.

Chiar si asa, protocolele IGP (Interior Gateway Protocol) pentu IPv6 au mai multe asemanari decat deosebiri dupa cum vom vedea acest lucru imediat, exemplificand pe protocolul de rutare RIP. Pana atunci voi lista denumirile noilor protocoale de rutare pentru IPv6:

Protocol de rutare

Denumire

Documentat in RFC…

RIPng

RIP Next Generation

2080

OSPFv3

OSPF versiunea a 3-a

5340

MP-BGP4

Multiprotocol BGP4

4760

EIGRP for IPv6

EIGRP pentru IPv6

Proprietar Cisco

Vom discuta rutarea in IPv6 cu ajutorul protocolului RIPng. Inainte de a trece la configurarea acestui protocol, vom face o analogie a acestuia cu varianta pentru IPv4, RIPv2.

Caracteristica

RIPv2

RIPng

Sponsorizeaza rute pentru

IPv4

IPv6

Port UDP

520

521

Distance Vector?

Da

Da

Distanta administrativa(AD)

120

120

Suport pentru VLSM?

Da

Da

Update-uri periodice?

Da, la fiecare 30 de secunde

Da, la fiecare 30 de secunde

Metrica

Hop Count (max. 15)

Hop Count (max. 15)

Adresa destinatie folosita

224.0.0.9

FF02::9

Autentificare

Specifica RIP

IPv6 AH/ESP

Dupa cum se poate observa sunt mai multe similaritatile dintre cele doua protocoale ca diferentele dintre aceastea, cum ar fi router-ele configurate cu unul din cele doua protocoale trimit mesaje de update ce contin intrega tabela de rutare (exceptie fac rutele ce cad sub incidenta regulii ‘split horizon’), cu o frecventa usor variabila de 30 de secunde (pentru a se evita sincronizarea mesajelor de update si producerea de coliziuni RIP foloseste o variabila numita RIP_JITTER care aduna sau scade 10-15% din 30 secunde la valoarea timer-ului de update; coliziunile se produc intr-un mediu ce foloseste hub-uri, si nu in cele in care se utilizeaza switch-uri).

Facem un pas inainte si vorbim despre configurarea protocolului RIPng. Principala diferenta intre RIPv2 si RIPng este ca RIPng nu mai foloseste comanda network pentru a include subnet-uri in mesajele de update, ci utilizeaza comanda ipv6 <name> rip enable data din modul de configurare al interfetei. Deci in IPv6 protocolul de rutare se activeaza pe interfate.

O alta diferenta majora este ca router-ele nu ruteaza implicit IPv6, cum se intampla in IPv4, unde IOS-ul are by default configurata comanda ip routing.

            De asemenea, se poate observa ca putem avea mai multe instante de RIPng, fiecare identificandu-se printr-un tag unic. RIPv2 nu suporta decat o singura instanta de rutare.

Pasii pentru a configura RIPng sunt listati mai jos:

1.  Se activeaza rutarea pentru IPv6 cu comanda:

(config)#ipv6 unicast-routing

2.  Se porneste RIPng si se asociaza un nume instantei de RIPng:

(config)#ipv6 router rip <name>

3.  Se porneste IPv6 pe interfetele dorite:

(config-if)#ipv6 address <address/prefix-lenght> [eui-64]

sau

(config-if)#ipv6 enable, comanda care activeaza IPv6 si face ca router-ul sa isi configureze adresa de link-local

4.  Se activeaza RIPng pe interfetele dorite:

(config-if)#ipv6 rip <name> enable, unde  name trebuie sa fie identic cu cel de la pasul 2.

Pentru fiecare interfata pe care a fost activat procesul de RIPng face 3 lucruri: incepe sa trimita mesaje de update pe acele interfete; de asemenea, proceseaza mesajele de update primite pe acele interfete; si sponsorizeaza rutele conectate aferente acelei interfete. Intrucat IPv6 permite configurarea mai multor adrese IPv6 unicast pe o interfata, RIPng include in mesaje majoritatea prefixelor unicast asociate cu o interfata. Exceptie fac adresele de link-local si rutele de tip local-host (cele cu un prefix de /128), create pentru fiecare adresa IPv6, pe care RIPng nu le include in mesajele de update trimise catre vecini.

Comenzile de verificare si cele pentru troubleshooting sunt asemanatoare cu cele folosite de RIPv2 in IPv4:

#show ipv6 route – vizualizarea tabelei de rutare pentru IPv6

#show ipv6 route rip – vizualizarea rutelor invatate prin RIPng

#show ipv6 protocols – afisarea interfetelor pe care RIPng a fost activat

#show ipv6 rip next-hops – afiseaza sursele din care router-ul a invatat rute RIPng

#debug ipv6 ripafiseaza mesajele de update trimise si primite