Routing IP - Reti di Telecomunicazioni

Transcript

Routing IP - Reti di Telecomunicazioni
Routing IP
A.A. 2005/2006
Walter Cerroni
Routing gerarchico in Internet
• Dal punto di vista del routing, Internet è suddivisa in
modo gerarchico in Autonomous System (AS)
– un AS è un gruppo connesso di una o più reti IP gestite da uno o
più operatori che adottano le stesse politiche di routing verso gli
altri AS
– un AS può essere ulteriormente suddiviso in porzioni dette
Routing Area (RA) interconnesse da un backbone (dorsale)
– ogni rete IP è tutta contenuta in un AS o in una RA
– gli AS decidono autonomamente i protocolli e le politiche di
routing che intendono adottare al loro interno
• I protocolli di routing all’interno di un AS sono detti
Interior Gateway Protocol (IGP)
• I protocolli di routing fra AS sono detti Exterior Gateway
Protocol (EGP)
3
1
Internet = rete di reti
4
Internet = insieme di AS interconnessi
AS3
AS5
IGP
AS1
EGP
AS2
AS4
RA
5
2
Grafo della rete a livello EGP
AS3
AS5
AS1
AS2
AS4
6
Grafo della rete di AS4 a livello IGP
AS1
AS3
AS5
AS2
AS4
7
3
Protocolli di routing per Internet
• Interior Gateway Protocol
– RIP: Routing Information Protocol
– OSPF: Open Shortest Path First
• Exterior Gateway Protocol
– EGP: Exterior Gateway Protocol
– BGP: Border Gateway Protocol
8
Open Shortest Path First (OSPF)
• Divenuto standard nella versione 2 (RFC 2328)
• Oggi è il più diffuso IGP
• Protocollo di tipo link state
– ogni router raccoglie informazioni sullo stato dei collegamenti con
le reti ed i router (vicini) a cui è connesso
– ogni router scambia queste informazioni con tutti gli altri router
della rete inviando i Link State Advertisement (LSA)
– ogni router quindi crea un’immagine della topologia della rete in
base alla quale calcola le tabelle di routing utilizzando un
determinato algoritmo di shortest path (es. Dijkstra)
• Ogni pacchetto OSPF è incapsulato direttamente in IP
– il valore del campo protocol dell’intestazione IP (89 per OSPF)
serve a distinguere questi pacchetti da altri
9
4
OSPF: aree di routing
• Un AS può essere suddiviso in porzioni dette Routing
Area (RA) interconnesse da un backbone (Area 0)
– ciascuna area risulta separata dalle altre per quanto riguarda lo
scambio delle informazioni di routing e si comporta come
un’entità indipendente (3°livello gerarchico di rout ing)
– per interconnettere le aree vi devono essere router connessi a
più aree e/o al backbone (almeno un router per area)
• Classificazione dei router secondo OSPF:
– Internal Router: router interni a ciascuna area
– Area Border Router: router che scambiano informazioni con
altre aree
– Backbone Router: router che si interfacciano con il backbone
– AS Boundary Router: router che scambiano informazioni con
altri AS usando un protocollo EGP
10
OSPF: aree di routing e tipologie di router
AS
AS
Area Border
Router
Area 0
Backbone
Stub Area
con router
di default
RA
AS boundary Router
e Backbone Router
Backbone Router
Area Border Router
e Backbone Router
Internal Router
11
5
QUAGGA
• Pacchetto software open source che implementa i
protocolli di routing RIP, OSPF e BGP
• Coopera con il kernel per eseguire il forwarding dei
pacchetti (kernel Linux + Quagga = router IP)
– tramite i protocolli riempie la tabella di routing dinamicamente
• Struttura modulare basata su diversi demoni
ripd
ospfd
bgpd
zebra
kernel
12
QUAGGA
• Struttura modulare basata su diversi demoni
– zebra: interazione tra protocolli diversi e con il kernel
– ripd, ospfd, bgpd: implemenazione dei diversi protocolli
– da attivare tramite gli script in /etc/init.d
• ATTENZIONE: zebra deve essere sempre attivato per primo
• Configurazione tramite terminale virtuale
– accesso al terminale virtuale tramite telnet sulle porte
• 2601 per zebra
• 2604 per ospfd
–
–
–
–
accesso possibile solo se il demone è attivo
in genere accessibile solo via loopback (127.0.0.1)
sintassi molto simile a quella del sistema IOS dei router Cisco
possibilità di salvare la configurazione impostata su file in
/etc/quagga
13
6
Configurazione di ZEBRA
• Per accedere al terminale virtuale:
telnet localhost zebra
• E’ richiesta una password per entrare
• Si parte in modalità utente (prompt del tipo hostname>)
• E’ possibile solo visualizzare la configurazione corrente
–
–
–
–
–
show interface [<interface>]
show ip forwarding
show ip route
enable (per accedere alla modalità privilegiata, con password)
exit
• E’ possibile usare TAB per il completamento automatico
• Premendo ? si ottiene l’elenco di comandi e/o opzioni
– altri comandi di aiuto: help e list
14
Configurazione di ZEBRA
• Passando con enable alla modalità privilegiata (prompt del tipo
hostname#), è possibile accedere alla modalità di configurazione
tramite il comando
configure terminal
• Alcuni comandi possibili in modalità configurazione:
– hostname <router_name> (modifica il nome del router)
– interface <interface> (entra nella configurazione dell’interfaccia
specificata: eth0, eth1, lo, …)
• [no] ip address <address>/<prefix> [label <alias-if>]
(imposta/rimuove l’indirizzo IP dell’interfaccia o dell’alias)
• [no] shutdown (abilita/disabilita l’interfaccia)
• exit per uscire dalla configurazione dell’interfaccia
– [no] ip forwarding (abilita/disabilita l’IP forwarding del kernel)
– [no] ip route <dest>/<prefix> <gateway> [<metric>]
(aggiunge/elimina route statiche;
se <gateway>=<interface> fa consegna diretta)
– router-id <address> | no router-id (imposta/rimuove il router ID manuale)
– exit, end, ?, list, help
15
7
Configurazione di OSPFD
• Per accedere al terminale virtuale:
telnet localhost ospfd
• Modalità utente
– show ip ospf [ interface | route | neighbor | database ]
– enable
• Modalità privilegiata configure terminal
– interface <interface> (configurazione parametri OSPF
sull’interfaccia specificata)
– [no] router ospf (abilita/disabilita il protocollo OSPF ed entra in
configurazione)
• [no] network <net-ID>/<prefix> area <area_number>
(abilita/disabilita OSPF sulla rete specificata e nell’area specificata)
• molti altri comandi di configurazione relativi al protocollo OSPF
– exit, end, ?, list, help
16
Esercitazioni in laboratorio
1. Abilitare e configurare OSPF su ogni PC in un’unica
area (area 0) e verificare la raggiungibilità di tutte le reti
punto-punto 10.0.0.x/30 (x = 4, 8, 12, 16, 20, 24, 28, 32)
10.0.0.x/30
10.0.0.y/30
192.168.8.0/24
2. Abilitare e configurare OSPF per interconnettere 2 host
attraverso 4 router. Verificare con ping e traceroute
10.0.0.x/30
10.0.0.y/30
192.168.8.0/24
192.168.w.0/24
192.168.z.0/24
17
8