Protocolli e architetture di routing/B6
![]() |
![]() | ![]() | B7. Instradamento multicast ![]() |
---|
3 Oggi i router sono per lo più pronti per IPv6, anche se le prestazioni in IPv6 sono ancora peggiori rispetto a quelle in IPv4 a causa della mancanza di esperienza e della più bassa domanda di traffico. Spesso l'instradamento IPv6 è disabilitato per impostazione predefinita anche se l'apparato supporta IPv6 (sui router Cisco si attiva con il comando ipv6 unicast-routing).
2 Due aspetti sono da considerare:
- tabelle di instradamento: come gestire l'inoltro dei pacchetti di dati?
- protocolli di instradamento: come distribuire le rotte nella rete?
Tabelle di instradamento[modifica | modifica sorgente]
4 L'instradamento in IPv6 è effettuato nello stesso modo di IPv4 ma richiede due tabelle di instradamento distinte, una per le rotte IPv4 e l'altra per le rotte IPv6. Le tabelle di instradamento IPv6 possono memorizzare diversi tipi di entry, tra cui:
- 10 entry indirette (codici O/S): specificano gli indirizzi, tipicamente link local, delle interfacce dei router next hop ai quali inviare i pacchetti indirizzati verso link remoti;
- entry dirette: specificano le interfacce del router stesso attraverso le quali inviare i pacchetti indirizzati verso i link locali:
- 11 reti connesse (codice C): specificano i prefissi dei link locali;
- indirizzi di interfaccia (codice L): specificano gli interface identifier nei link locali.
Next hop[modifica | modifica sorgente]
12 Come next hop nelle rotte dinamiche calcolate, i protocolli di instradamento utilizzano sempre gli indirizzi link local, anche se è configurato un indirizzo global sull'interfaccia vicina, per motivi di semplicità: gli indirizzi link local esistono sempre, mentre gli indirizzi global potrebbero non essere utilizzati in alcune porzioni della rete.
13-14-20 Tuttavia l'uso degli indirizzi link local rende difficile il compito di determinare la posizione di quell'indirizzo: l'indirizzo di rete di un indirizzo global permette almeno di identificare la rete in cui l'host dovrebbe essere presente e determinare così l'interfaccia di uscita, ma un indirizzo link local che inizia con FE80:: può essere ovunque → accanto all'indirizzo del next hop, i router stampano anche l'interfaccia locale di uscita per risolvere le ambiguità, come:
21-22 Per le rotte statiche, la scelta è lasciata al gestore della rete, che può utilizzare l'indirizzo che preferisce come next hop:
- interfaccia broadcast (ad es. Ethernet): è necessario specificare l'indirizzo del next hop:
- indirizzo global: non è necessario specificare l'interfaccia locale perché può essere determinata dal prefisso di rete:
ipv6 route 2001:1::/64 2001::1
- indirizzo link local: è necessario specificare anche l'interfaccia locale per identificare l'ambito dell'indirizzo link local:
ipv6 route 2001:1::/64 FastEthernet0/0 fe80::1
- indirizzo global: non è necessario specificare l'interfaccia locale perché può essere determinata dal prefisso di rete:
- interfaccia punto-punto (ad es. seriale): non è necessario specificare l'indirizzo del next hop perché è identificato univocamente dall'interfaccia locale:
ipv6 route 2001:1::/64 serial 0
15 Siccome le rotte statiche non possono adattarsi ai cambiamenti della rete, è fortemente suggerito di utilizzare gli indirizzi global come next hop per le rotte statiche. Ciò evita che una rotta diventi non valida se il next hop cambia: ad esempio, se la scheda di rete sul router next hop viene sostituita a causa di un guasto hardware:
- indirizzo link local: dipende dall'indirizzo MAC della scheda → occorre modificare la rotta;
- indirizzo global: è sufficiente assegnare alla nuova interfaccia lo stesso indirizzo global.
5-8 Protocolli di instradamento[modifica | modifica sorgente]
I protocolli di instradamento che supportano IPv6 possono adottare due approcci:
- 6 instradamento integrato (IS-IS, MP-BGP4): il protocollo consente di scambiare informazioni di instradamento sia IPv4 sia IPv6 allo stesso tempo:
- efficienza: gli indirizzi IPv4 e IPv6 appartenenti alla stessa destinazione possono essere trasportati tramite un singolo messaggio;
- flessibilità: un singolo protocollo trasporta più famiglie di indirizzi;
- reattività: se avviene un guasto o un cambiamento nella rete, il protocollo lo scopre per entrambe le famiglie di indirizzi;
- bug: un problema nel protocollo influenza reti IPv4 e IPv6 allo stesso modo;
- migrazione: se il protocollo usa IPv4 per trasportare i pacchetti di Hello, non è possibile abolire IPv4 nella rete;
- 7 navi nella notte (RIPng, EIGRP, OSPFv3): il protocollo consente di scambiare informazioni di instradamento solo IPv6:
- efficienza: data una destinazione, deve essere scambiato un messaggio per il suo indirizzo IPv4 e un altro messaggio per il suo indirizzo IPv6, e i messaggi sono completamente indipendenti tra loro;
- flessibilità: si possono usare due protocolli diversi, uno per le informazioni di instradamento IPv4 e un altro per le informazioni di instradamento IPv6;
- reattività: se avviene un guasto o un cambiamento nella rete, entrambi i protocolli devono scoprirlo, ciascuno con le proprie tempistiche e con messaggi duplicati;
- bug: un problema nel protocollo non influenza l'instradamento nell'altro;
- migrazione: ogni protocollo di instradamento genera messaggi della famiglia di indirizzi a cui appartiene.
RIPng[modifica | modifica sorgente]
27 RIPng adotta l'approccio "navi nella notte", e apporta a RIP dei miglioramenti principalmente nell'interfaccia a riga di comando di Cisco:
- supporto alle istanze multiple: il campo tag permette di specificare l'istanza di protocollo;[1]
- 28 configurazione per interfaccia: sono stati introdotti nuovi comandi:
- ipv6 rip <tag> enable: sostituisce il comando network e configura automaticamente RIP su quell'interfaccia senza dover specificare un indirizzo;
- ipv6 rip <tag> default-information originate: origina la rotta di default (::/0), cioè il resto del mondo è raggiungibile tramite questa interfaccia.
OSPFv3[modifica | modifica sorgente]
OSPFv3 adotta l'approccio "navi nella notte", e differisce da OSPF principalmente per tre aspetti:
- 49-50 configurazione per interfaccia: è stato introdotto il comando ipv6 ospf <ID processo> area <ID area> che specifica che tutte le reti e gli indirizzi configurati su questa interfaccia verranno annunciati come appartenenti all'area specificata;
- 54-55 Router ID: sfortunatamente OSPFv3 usa ancora un Router ID da 32 bit, che non è neanche capace di impostare automaticamente quando nessun indirizzo IPv4 è disponibile → il comando ipv6 router-id <numero> diventa obbligatorio quando il router è solo IPv6 o è in una rete solo IPv6;
- 68 tunnel: è possibile configurare un tunnel IPv6 su IPv4 per collegare tra loro isole IPv6 attraverso una rete IPv4.
IS-IS[modifica | modifica sorgente]
IS-IS per IPv6 adotta l'approccio "instradamento integrato": usa infatti un proprio protocollo di livello 3 per trasportare i pacchetti specifici del protocollo, indipendentemente dalla versione del protocollo IP sottostante.
MP-BGP4[modifica | modifica sorgente]
MP-BGP4 può adottare entrambi gli approcci a seconda della configurazione: i pacchetti TCP possono essere imbustati in IPv4 o in IPv6 a seconda delle necessità.
La distribuzione più comune segue l'approccio "instradamento integrato", per la necessità di utilizzare il numero dell'AS (che è uguale sia per IPv4 sia per IPv6) per il processo BGP. L'integrazione si riflette anche nelle politiche: è possibile mischiare indirizzi IPv4 e indirizzi IPv6 a piacimento.
Note[modifica | modifica sorgente]
- ↑ Il supporto per le istanze multiple era già presente in RIPv2, ma non era configurabile sui router Cisco.
![]() |
![]() | ![]() | B7. Instradamento multicast ![]() |
---|