• Non ci sono risultati.

I protocolli di Routing

N/A
N/A
Protected

Academic year: 2021

Condividi "I protocolli di Routing"

Copied!
38
0
0

Testo completo

(1)

Angelo Coiro - Antonio Cianfrani

I protocolli di Routing

(2)

INFOCOM Dept.

Introduzione al Routing

I router devono conoscere i possibili percorsi verso le reti remote, ciò è possibile mediante

Le informazioni ricevute dagli altri router (Routing Dinamico)

La configurazione eseguita dall’amministratore (Routing Statico)

Il Routing Statico è una tecnica non scalabile

Le route statiche devono essere configurate manualmente

In caso di cambi di topologia di rete è necessario che l’amministratore apporti le opportune variazioni alla configurazione delle route statiche

Elevata complessità gestionale in caso di reti di grandi dimensioni

Spesso i due tipi di routing, Statico e Dinamico, operano congiuntamente

(3)

INFOCOM Dept.

Configurazione di una route statica

Il comando per configurare una route statica è

R1(config)#ip route Dest_IP_Add SubNet_Mask A/B

Due possibili alternative

Soluzione A: è specificata l’interfaccia di uscita (è possibile solo in caso di link punto-punto)

Soluzione B: è specificato l’indirizzo IP del next-hop router (soluzione obbligatoria in caso di rete ethernet)

Una particolare route statica è la route di default:

ip route 0.0.0.0 0.0.0.0 {next-hop-address | outgoing interface]}

(4)

INFOCOM Dept.

Protocolli di routing

Un protocollo di routing è usato per comunicare tra i router e scambiarsi le informazioni di raggiungibilità relative alle reti

Le informazioni che un router riceve da un altro router sono usate per costruire e mantenere le routing table

Esempi di routing protocol

Routing Information Protocol (RIP)

Enhanced Interior Gateway Routing Protocol (EIGRP)

Open Shortest Path First (OSPF)

Border Gateway Protocol (BGP)

(5)

INFOCOM Dept.

Convergenza dei protocolli di routing

Un aspetto fondamentale che caratterizza la prestazioni di un protocollo di routing è la velocità di convergenza

Un protocollo di routing giunge a convergenza quando tutti i router di una rete stanno operando con la stessa visione della rete stessa

Una convergenza veloce è desiderabile perché riduce il periodo di

tempo in cui i router potrebbero prendere decisioni di instradamento non corrette

(6)

INFOCOM Dept.

Autonomous System

Un Sistema Autonomo (AS) è un insieme di reti sotto un unico amministratore che condividono la stessa strategia di routing

Un AS è visto all’esterno come una unica entità

Ad un AS viene assegnato un identificatore di 16 bit

L’assegnazione può essere effettuata dall’ARIN (American

Registry of Internet Numbers), da un service provider o da un amministratore

Un AS fornisce la divisione dell’internet globale in reti più piccole, più facilmente gestibili

(7)

INFOCOM Dept.

Classificazione dei protocolli di routing

I protocolli di routing possono essere classificati in base ai principi di funzionamento in:

Distance vector: RIP, BGP

Link state: OSPF

Un’altra classificazione si basa sull’ambito in cui possono essere utilizzati:

Interior Gateway Protocol (IGP): internamente ad un sistema autonomo (RIP e OSPF)

Exterior Gateway Protocol (EGP): tra i sistemi autonomi (BGP)

(8)

Antonio Cianfrani

I protocolli di routing

Distance Vector

(9)

INFOCOM Dept.

Protocolli di routing distance vector (1/2)

Gli aspetti caratteristici dei protocolli di routing distance vector sono:

 Ciascun router comunica esclusivamente con i router adiacenti (vicini)

Due nodi sono adiacenti se sono direttamente connessi mediante la stessa sottorete

 I router inviano ai vicini dei messaggi contenenti la propria tabella di routing (ad eccezione dell’EIGRP)

 Tali messaggi sono inviati periodicamente (il periodo dipende dal protocollo: per il RIP è 30 secondi)

 Ogni percorso contenuto nei messaggi ha una distanza che

dipende dalla metrica utilizzata dal protocollo (per il RIP la

metrica è il numero di hop)

(10)

INFOCOM Dept.

Protocolli di routing distance vector (2/2)

 I router che utilizzano un protocollo di routing distance vector non hanno una visione globale della rete

 I router prima calcolano la propria tabella di routing

per ogni percorso vengono memorizzate due informazioni: costo e next-hop

le reti direttamente connesse compaiono con una distanza pari a 0

 Quando ricevono un messaggio applicano un algoritmo (Bellmann-

Ford) che consente di aggiornare la propria tabella di routing

solo se esistono percorsi nuovi o migliori (in base alla metrica)

(11)

Esempio (1/6)

Network Next-hop Distance Network Next-hop Distance Network Next-hop Distance

R1

R3 R3

R2 R2

R1

10.0.0.0 11.0.0.0 12.0.0.0 13.0.0.0

eth0 eth1 eth0 eth1 eth0 eth1

(12)

Esempio (2/6)

Network Next-hop Distance

10.0.0.0 eth0 0

11.0.0.0 eth1 0

Network Next-hop Distance

11.0.0.0 eth0 0

12.0.0.0 eth1 0

Network Next-hop Distance

12.0.0.0 eth0 0

13.0.0.0 eth1 0

R1

R3 R3

R2 R2

R1

10.0.0.0 11.0.0.0 12.0.0.0 13.0.0.0

eth0 eth1 eth0 eth1 eth0 eth1

.1 .1 .2 .1 .2 .1

(13)

Esempio (3/6)

Network Next-hop Distance

10.0.0.0 eth0 0

11.0.0.0 eth1 0

Network Next-hop Distance

11.0.0.0 eth0 0

12.0.0.0 eth1 0

Network Next-hop Distance

12.0.0.0 eth0 0

13.0.0.0 eth1 0

R1

R3 R3

R2 R2

R1

10.0.0.0 11.0.0.0 12.0.0.0 13.0.0.0

eth0 eth1 eth0 eth1 eth0 eth1

.1 .1 .2 .1 .2 .1

UPDATE

UPDATE UPDATE

(14)

Esempio (4/6)

Network Next-hop Distance

10.0.0.0 eth0 0

11.0.0.0 eth1 0

12.0.0.0 11.0.0.2 1

Network Next-hop Distance

11.0.0.0 eth0 0

12.0.0.0 eth1 0

10.0.0.0 11.0.0.1 1 13.0.0.0 12.0.0.2 1

Network Next-hop Distance

12.0.0.0 eth0 0

13.0.0.0 eth1 0

11.0.0.0 12.0.0.1 1

R1

R3 R3

R2 R2

R1

10.0.0.0 11.0.0.0 12.0.0.0 13.0.0.0

eth0 eth1 eth0 eth1 eth0 eth1

.1 .1 .2 .1 .2 .1

(15)

Esempio (5/6)

Network Next-hop Distance

10.0.0.0 eth0 0

11.0.0.0 eth1 0

12.0.0.0 11.0.0.2 1

Network Next-hop Distance

11.0.0.0 eth0 0

12.0.0.0 eth1 0

10.0.0.0 11.0.0.1 1 13.0.0.0 12.0.0.2 1

Network Next-hop Distance

12.0.0.0 eth0 0

13.0.0.0 eth1 0

11.0.0.0 12.0.0.1 1

R1

R3 R3

R2 R2

R1

10.0.0.0 11.0.0.0 12.0.0.0 13.0.0.0

eth0 eth1 eth0 eth1 eth0 eth1

.1 .1 .2 .1 .2 .1

UPDATE

UPDATE UPDATE

(16)

Esempio (6/6)

Network Next-hop Distance

10.0.0.0 eth0 0

11.0.0.0 eth1 0

12.0.0.0 11.0.0.2 1 13.0.0.0 11.0.0.2 2

Network Next-hop Distance

11.0.0.0 eth0 0

12.0.0.0 eth1 0

10.0.0.0 11.0.0.1 1 13.0.0.0 12.0.0.2 1

Network Next-hop Distance

12.0.0.0 eth0 0

13.0.0.0 eth1 0

11.0.0.0 12.0.0.1 1 10.0.0.0 12.0.0.1 2

R1

R3 R3

R2 R2

R1

10.0.0.0 11.0.0.0 12.0.0.0 13.0.0.0

eth0 eth1 eth0 eth1 eth0 eth1

.1 .1 .2 .1 .2 .1

(17)

INFOCOM Dept.

Uno dei principali problemi nell’utilizzo dei protocolli distance vector è la possibilità che si vengano a creare dei loop in rete

Un loop è una condizione in cui un pacchetto IP viene continuamente trasmesso tra due o più router senza mai raggiungere la propria

destinazione

E’ causato dalla lentezza del processo di aggiornamento delle tabelle di routing di un protocollo distance vector: prima che si giunga a

convergenza le tabelle di routing possono non essere consistenti

Effetti principali di un loop:

Viene saturata la banda di alcuni link

Il traffico dati non arriva a destinazione

Gli aggiornamenti di routing potrebbero andare persi e creare ulteriori loops

Il problema del routing loop (1/4)

(18)

INFOCOM Dept.

Il problema del routing loop (2/4)

Network Next-hop Distance

10.0.0.0 eth0 0

11.0.0.0 eth1 0

12.0.0.0 11.0.0.2 1 13.0.0.0 11.0.0.2 2

Network Next-hop Distance

11.0.0.0 eth0 0

12.0.0.0 eth1 0

10.0.0.0 11.0.0.1 1 13.0.0.0 12.0.0.2 1

Network Next-hop Distance

12.0.0.0 eth0 0

13.0.0.0 eth1 0

11.0.0.0 12.0.0.1 1 10.0.0.0 12.0.0.1 2

R1

R3 R3

R2 R2

R1

10.0.0.0 11.0.0.0 12.0.0.0 13.0.0.0

eth0 eth1 eth0 eth1 eth0 eth1

.1 .1 .2 .1 .2 .1

(19)

INFOCOM Dept.

Il problema del routing loop (3/4)

Network Next-hop Distance

10.0.0.0 eth0 0

11.0.0.0 eth1 0

12.0.0.0 11.0.0.2 1 13.0.0.0 11.0.0.2 2

Network Next-hop Distance

11.0.0.0 eth0 0

12.0.0.0 eth1 0

10.0.0.0 11.0.0.1 1 13.0.0.0 12.0.0.2 1

Network Next-hop Distance

12.0.0.0 eth0 0

13.0.0.0 eth1 0

11.0.0.0 12.0.0.1 1 10.0.0.0 12.0.0.1 2

R1

R3 R3

R2 R2

R1

10.0.0.0 11.0.0.0 12.0.0.0 13.0.0.0

eth0 eth1 eth0 eth1 eth0 eth1

.1 .1 .2 .1 .2 .1

UPDATE

R2 invia un aggiornamento ad R3 prima che R3 lo invii ad R2: tale aggiornamento contiene la route relativa alla rete 13.0.0.0

(20)

INFOCOM Dept.

Il problema del routing loop (4/4)

Network Next-hop Distance

10.0.0.0 eth0 0

11.0.0.0 eth1 0

Network Next-hop Distance

11.0.0.0 eth0 0

12.0.0.0 eth1 0

Network Next-hop Distance

12.0.0.0 eth0 0

13.0.0.0 eth0 2

R1

R3 R3

R2 R2

R1

10.0.0.0 11.0.0.0 12.0.0.0 13.0.0.0

eth0 eth1 eth0 eth1 eth0 eth1

.1 .1 .2 .1 .2 .1

R3 installa nella propria tabella di routing un percorso che in realtà non esiste:

Traffico IP  raggiunge il TTL massimo e viene scartato

Aggiornamenti di routing continui (Count to Infinity)

(21)

INFOCOM Dept.

Count to infinity (1/2)

Network Next-hop Distance

10.0.0.0 eth0 0

11.0.0.0 eth1 0

12.0.0.0 11.0.0.2 1 13.0.0.0 11.0.0.2 2

Network Next-hop Distance

11.0.0.0 eth0 0

12.0.0.0 eth1 0

10.0.0.0 11.0.0.1 1 13.0.0.0 12.0.0.2 3

Network Next-hop Distance

12.0.0.0 eth0 0

13.0.0.0 eth0 2

11.0.0.0 12.0.0.1 1 10.0.0.0 12.0.0.1 2

R1

R3 R3

R2 R2

R1

10.0.0.0 11.0.0.0 12.0.0.0 13.0.0.0

eth0 eth1 eth0 eth1 eth0 eth1

.1 .1 .2 .1 .2 .1

Ogni volta che R3 (o R2) invia i propri aggiornamenti periodici, R2 (o R3) aggiorna la propria tabella di routing incrementando di 1 la distanza relativa alla rete 13.0.0.0.

UPDATE

(22)

INFOCOM Dept.

Count to infinity (2/2)

Il problema del Count to Infinity viene risolto introducendo una valore massimo di metrica (nel caso del RIP tale valore è pari a 16)

Quando una route raggiunge tale valore viene automaticamente marcata come irraggiungibile

Network Next-hop Distance

10.0.0.0 eth0 0

Network Next-hop Distance

11.0.0.0 eth0 0

Network Next-hop Distance

12.0.0.0 eth0 0

R1

R3 R3

R2 R2

R1

10.0.0.0 11.0.0.0 12.0.0.0 13.0.0.0

eth0 eth1 eth0 eth1 eth0 eth1

.1 .1 .2 .1 .2 .1

UPDATE

(23)

INFOCOM Dept.

I protocolli distance vector prevedono diversi meccanismi, oltre alla definizione di una metrica massima, per minimizzare il problema dei loop:

Holddown timer

Split horizon

Route poisoning

Triggered Updates

Soluzioni al problema dei loop

(24)

INFOCOM Dept.

L’holddown timer consente all’informazione di irraggiungibilità di propagarsi in rete

Modalità di funzionamento:

Quando un router riceve un aggiornamento da un vicino che gli indica che una rete prima accessibile adesso non lo è più, il router marca la rete come tale e fa partire un holddown timer

Se arriva un update prima che tale timer si esaurisca dallo stesso vicino indicando che la rete in questione è di nuovo accessibile allora il timer è rimosso e la rete marcata come accessibile

Se un aggiornamento arriva da un router vicino diverso con una metrica migliore di quella originale allora il router marca la rete come accessibile e ferma l’holddown timer

Se prima che l’holddown timer scada si riceve un update da un

Holddown timer

(25)

INFOCOM Dept.

La regola dello Split Horizon prevede che un router non possa inviare

l’aggiornamento relativo ad una route sull’interfaccia da cui ha ricevuto tale aggiornamento

Lo Split Horizon potrebbe però anche impedire che informazioni corrette si propaghino. Per questo alcune volte è disabilitato dall’amministratore di rete

Split Horizon

R1 R2 R3

10.0.0.0 11.0.0.0 12.0.0.0 13.0.0.0

eth0 eth1 eth0 eth1 eth0 eth1

.1 .1 .2 .1 .2 .1

R2 non può inviare aggiornamenti relativi alla rete 13.0.0.0 verso R3

(26)

INFOCOM Dept.

Il Route Poisoning consiste nell’inviare all’interno dei messaggi di aggiornamento anche le route divenute irraggiungibili

Tale route vengono inviate con una distanza pari a 16 (unreachable)

Route Poisoning

Network Next-hop Distance

10.0.0.0 eth0 0

Network Next-hop Distance

11.0.0.0 eth0 0

Network Next-hop Distance

12.0.0.0 eth0 0

R1

R3 R3

R2 R2

R1

10.0.0.0 11.0.0.0 12.0.0.0 13.0.0.0

eth0 eth1 eth0 eth1 eth0 eth1

.1 .1 .2 .1 .2 .1

Poison

(27)

INFOCOM Dept.

La causa dei loop è la lenta convergenza dei protocolli distance vector:

bisogna aspettare che gli aggiornamenti periodici si propaghino a tutti i router della rete.

Un modo per accelerare la convergenza è quello di consentire ad un aggiornamento relativo ad una nuova situazione topologica di essere immediatamente inviato da un router a i propri vicini, senza aspettare lo scadere del timer relativo agli aggiornamenti periodici

Nuova situazione topologica:

Interfaccia che cambia stato (up o down)

Network non più raggiungibile

Nuova network nella tabella di routing

Un tale aggiornamento è definito un Triggered Update

Triggered updates

(28)

Antonio Cianfrani

Routing Information Protocol (RIP)

(29)

INFOCOM Dept.

Il protocollo RIP

 RIP è un protocollo di routing distance vector

 Utilizza il numero di hops come metrica per l’individuazione del percorso migliore

 Una route con distanza pari a 16 è considerata irraggiungibile

 Gli aggiornamenti di routing vengono inviati broadcast ogni 30 secondi

 I messaggi RIP sono incapsulati in pacchetti UDP, in cui sia la porta di destinazione che quella di sorgente è posta pari a 520

 La distanza amministrativa del RIP è pari a 120

(30)

INFOCOM Dept.

RIPv1

RIP ha due versioni

Classful Routing Protocol (RIP v1)

Classless Routing Protocol (RIP v2)

RIPv1 non prevede all’interno dei messaggi RIP informazioni relative alla maschera di sottorete:

Quando un router riceve un messaggio relativo a una rete:

Utilizza la maschera di default basandosi sulla classe dell’indirizzo (classe A,B o C)

Utilizza la maschera dell’interfaccia su cui ha ricevuto l’informazione

(31)

INFOCOM Dept.

Configurazione del protocollo RIPv1 (1/2)

 Il comando “router rip” abilita RIP come protocollo di routing

 Il comando “network” è usato per istruire il router su quali interfacce RIP deve essere usato:

• Il RIP è abilitato sulle interfacce relative alle reti (direttamente connesse) specificate; tali interfacce invieranno e riceveranno i messaggi RIP

• Le network specificate saranno inserite nei messaggi

RIP inviati ogni 30 secondi

(32)

INFOCOM Dept.

Configurazione del protocollo RIPv1 (2/2)

 Se dopo il comando network viene inserito un indirizzo “non classful” il router automaticamente fa la correzione

R3(config)#router rip

R3(config-router)#network 192.168.4.0 R3(config-router)#network 192.168.5.1 R3#show running-config

!

router rip

network 192.168.4.0

(33)

INFOCOM Dept.

Verifica della configurazione di RIP

 Il comando show ip route mostra la tabella di routing

R 192.168.205.0/24 [120/3] via 151.100.37.8, 00:00:04, Eth0

indica il protocollo RIP

indirizzo e maschera della rete di destinazione distanza amministrativa

numero di hops next-hop router

tempo trascorso dall’ultimo aggiornamento (il prossimo tra 26 s) interfaccia locale da cui raggiungere la destinazione

(34)

I timers del RIP

Oltre al timer di 30 secondi per l’invio degli aggiornamenti periodici il RIP utilizza tre timers aggiuntivi

Invalid timer. Se una route precedentemente installata nella

routing table non viene aggiornata dopo 180 secondi(valore di default), viene marcata come invalida e la sua distanza viene posta pari a 16.

Flush timer. Se dopo 240 secondi (valore di defult) una route non

viene aggiornata, viene cancellata dalla tabella di routing.

Holddown timer. Utilizzato per limitare i loop, di default è pari a

180 secondi

(35)

INFOCOM Dept.

Verifica RIP: show ip protocols

(36)

Il comando passive-interface

 Il comando passive-interface serve per non inviare i messaggi RIP da una specifica interfaccia

 Il router continuerà a processare i messaggi RIP che provengono dall’interfaccia “passiva”.

 La network direttamente connessa all’interfaccia “passiva”

continuerà ad essere inserita tra le network degli aggiornamenti

RIP

(37)

Il debug del RIP

 Il comando debug ip rip abilita il debug a schermo del protocollo

RIP

(38)

Esercitazione Packet Tracer RIPv1

Configurare indirizzi interfaccie router Configurare RIP sui router

Configurare hosts

Verificare configurazione

10.0.0.0/8

192.168.0.0/24 RTR02

RTR01

SVC01

Net_C

Riferimenti

Documenti correlati

L’obiettivo da raggiungere è l’avere il buffer del destinatario non riempito dal mittente attraverso l’invio di una quantità di dati eccessiva: il destinatario informa

Fonte: Rielaborazione EY su EU Innovation Scoreboard 2020; Worldwide Governance Indicators; World Economic Forum.. Il Trasferimento Tecnologico consente alla ricerca accademica

Ciascun nodo di una rete di calcolatori deve disporre di una tabella interna, detta tabella di routing, che indica verso quale nodo inoltrare i pacchetti in modo che possano

z backup fisico: l'interfaccia di backup (ISDN) è logicamente collegata alle sorti di un'altra interfaccia fisica (ad esempio una seriale) ed entra in azione immediatamente non

TELNET sulla macchina GATEWAY aprendo una connessione verso la console del router; imposta, per la sessione sul router, la modalità privilegiata con il commando enable e

La configurazione tramite la CLI di un router Cisco è sempre fatta nella modalità global configuration mode Altre modalità di configurazione (non globali) sono. accessibili a

 In ogni caso questa nota di copyright non deve mai essere rimossa e deve essere riportata anche in utilizzi parziali..

 IGP: protocolli di routing utilizzati per trasportare informazioni di instradamento tra i router interni a un AS.  EGP: protocolli di routing utilizzati per