Networking
l protocollo
VRRP è lacronimo di Virtual Router
Redundancy Protocol, un protocollo che
consente di avere percorsi multipli per i
VRRP
dati offrendo ridondanza ad apparati quali
switch di livello 3 e router utilizzati come
gateway di default per gli host di una rete
di Antonio Merola
Dalla nascita di Internet (e quindi del protocollo TCP/ gateway. Questultimo, in accordo con la propria tabella di
IP) ogni host (PC, router, switch ecc.) su una rete è routing, instrada il pacchetto verso la corretta destinazione.
univocamente identificato da un indirizzo IP. Esso è un È facile vedere che nel momento in cui il default gateway
numero costituito da quattro blocchi detti ottetti (in non è più disponibile, lhost si trova isolato dalle altre reti
quanto formati da 8 bit ciascuno) che per comodità vengono potendo quindi contattare solo quelle per le quali ha una
rappresentati in notazione decimale puntata. Ad esempio entry esplicita nella tabella di routing (si veda [1] per
192.168.10.10 è il risultato della conversione del suo formato maggiori approfondimenti).
binario 11000000.10101000.00001010.00001010. È a fronte di questo problema di isolamento di una LAN
Possiamo immaginare questo numero come diviso in due che nasce lesigenza dellutilizzo di un protocollo come il
blocchi: il primo rappresenta lID di rete ed il secondo lID VRRP che fornisca high availability e scalabilità dei punti
dellhost (un po come avere il nome della via ed il numero di accesso alle reti esterne, nellottica di una rete con risorse
civico di una abitazione al fine di poterla identificare e percorsi ridondati.
univocamente).
Questa divisione in due blocchi non è prestabilita, ma la Overview del protocollo VRRP
si ottiene da un operazione logica detta and logico tra un Il protocollo VRRP è uno standard, il cui RFC di riferi-
indirizzo IP e la sua maschera di sottorete (subnet mask), mento è il 2338.
come verrà spiegato di seguito. Spiegheremo il suo funzionamento considerando una ti-
Senza entrare in dettaglio sul concetto della pica configurazione di base come mostrato nella Figura
segmentazione di una rete o subnetting, ecco cosa accade 1, nella quale due tronconi di rete ethernet sono connessi
quando un host configurato con il protocollo TCP/IP tenta tra di loro mediante due router (questa configurazione,
di contattare altri host. che si discosta dalle configurazioni usuali, ha lo scopo di
Allatto dellavvio di un computer, ed assumendo che il facilitare la comprensione del funzionamento).
computer abbia una sola scheda di rete, il sistema operativo Come si vede gli host che si trovano sul troncone ether-
legge il proprio indirizzo IP e la subnet mask, ad esempio IP net 1 hanno come default gateway lIP A assegnato al-
192.168.10.10 e subnet mask 255.255.255.0 (in binario linterfaccia di rete del router A.
11111111.11111111.11111111.00000000); con questi Quindi, come è stato spiegato nel precedente paragrafo,
due valori esegue land logico bit per bit. quando uno di questi host tenta di contattare un altro
Il risultato di questa operazione ha ancora la forma di host non appartenente alla propria rete, invia il pacchet-
un indirizzo IP, e rappresenta lidentificativo della rete sulla
quale lhost si trova. In questo esempio, si avrebbe
FIGURA 1
11000000.10101000.00001010.00000000 in binario e
192.168.10.0 in notazione decimale (in pratica gli ultimi Semplice configurazione di un virtual router
otto bit, che erano gli unici ad essere 0 nella netmask,
vengono azzerati).
Questo risultato viene memorizzato dallhost che, nel
momento in cui vuole contattare un altro computer, effettua
la stessa operazione di and logico appena spiegata tra lIP
dellhost da contattare e la propria subnet mask.
Se per esempio lhost da contattare è 192.168.10.30 (in
binario, 11000000.10101000.00001010.00011110), il
risultato delland logico con la subnet mask 255.255.255.0
sarà 11000000.10101000.00001010.00000000.
A questo punto se il risultato coincide con quello della
subnet cui appartiene lhost (e questo è vero nel nostro caso),
lhost da contattare si trova sulla stessa rete ed è
raggiungibile direttamente sulla LAN senza attraversare
alcun router.
In caso contrario, lhost da contattare si trova su unaltra
rete: lhost sorgente consulta quindi la propria tabella di
routing per instradare il pacchetto, e nel caso non esista
una entry esplicita verso la rete da contattare (questo è il
caso più comune), il pacchetto viene inviato al default