Laboratorio di Reti Informatiche IP Routing A. Laina [email protected].

40
Laboratorio di Reti Informatiche IP Routing A. Laina [email protected]

Transcript of Laboratorio di Reti Informatiche IP Routing A. Laina [email protected].

Page 1: Laboratorio di Reti Informatiche IP Routing A. Laina laina@cisi.unito.it.

Laboratorio di Reti Informatiche

IP Routing

A. [email protected]

Page 2: Laboratorio di Reti Informatiche IP Routing A. Laina laina@cisi.unito.it.

Terminologia

IP: Internet Protocol protocollo di comunicazioni tra reti (locali)

Routing: da to route instradare (anche ruotare)

Ambito

Autonomous System (AS, sistema autonomo) insieme di reti gestite da una singola organizzazioneex: GARR

Internet: tutte le AS “integrate” da BGP-4

Page 3: Laboratorio di Reti Informatiche IP Routing A. Laina laina@cisi.unito.it.

Modalità di routing

CIDR Classless Interdomain Routing Network classless

Scopo

• Assegnare network logici alle reti fisiche

• Distribuire le informazioni per rendere raggiungibile i network

Page 4: Laboratorio di Reti Informatiche IP Routing A. Laina laina@cisi.unito.it.

LAN

LAN

ES

ES

IS

IS ES

OSI TCP/IP

Application ApplicationPresentation TransportSession NetworkTransport InterfaceNetworkData LinkPhysical

Page 5: Laboratorio di Reti Informatiche IP Routing A. Laina laina@cisi.unito.it.

LAN a livello 3: 1+ network number (prefissi)

prefisso: 32 bits + lunghezza (L) e i bits oltre i primi L messi a 0

ex: 10101100.11110000.01010011.10000000/27 = 172.240.83.128/27 (172.240.83.128 255.255.255.224)

Notazione: A.B.C.D/L A, B, C, D {}L {}

Page 6: Laboratorio di Reti Informatiche IP Routing A. Laina laina@cisi.unito.it.

Prefissi particolari: 127.0.0.0/8 loopback 10.0.0.0/8 privati 172.16.0.0/12 192.168.0.0/16 239.0.0.0/8 multicast privati 0.0.0.0/0 Internet

Page 7: Laboratorio di Reti Informatiche IP Routing A. Laina laina@cisi.unito.it.

Supernet (~ aggregato): A.B.C.D/L A.B.C.D/L se L L e i primi L bits sono uguali

ex: 172.240.83.0/24 172.240.83.128/27

10101100.11110000.01010011.00000000/24 10101100.11110000.01010011.10000000/27

Subnet (sottorete): A.B.C.D/L A.B.C.D/L se A.B.C.D/L A .B .C .D /L

è una relazione d’ordine parziale

Page 8: Laboratorio di Reti Informatiche IP Routing A. Laina laina@cisi.unito.it.

Proprietà:

1. 0.0.0.0/0 A.B.C.D/L2.

················

. ! A.B.C.D/L come in 2. con L massimosummary network (riassume i prefissi)

4. Non tutti i network IP corrispondono a reti locali (fisiche)

11111 /L.D.C.BA

nnnnn /L.D.C.BA

i /L.D.C.BA A.B.C.D./L iiiii

Page 9: Laboratorio di Reti Informatiche IP Routing A. Laina laina@cisi.unito.it.

172.240.83.128/27

172.240.83.160/27

172.240.83.192/27

172.240.83.128/2710101100.11110000.01010011.10000000/27

172.240.83.160/2710101100.11110000.01010011.10100000/27

172.240.83.192/2710101100.11110000.01010011.11000000/27

summary172.240.83.128/2510101100.11110000.01010011.10000000/25

Page 10: Laboratorio di Reti Informatiche IP Routing A. Laina laina@cisi.unito.it.

Riassumendo prefissi, si diminuisce la quantità di da elaborare.Un router Internet BGP-4 con full routes contiene informazioni per 55000-60000 prefissi.

Suddividere un prefisso in prefissi più piccoli permette di delegare la gestione di una sottorete.

Page 11: Laboratorio di Reti Informatiche IP Routing A. Laina laina@cisi.unito.it.

Indirizzi IP

A.B.C.D./L =

yy…yy 00…00 networkyy…yy 11…11 direct broadcast

In un network /L (L 30) si possono assegnare indirizzi IP “utilizzabili”

Indirizzi unicast A {1,…,223} multicast A {224,…,239}

Limited broacast 255.255.255.255

L-3200...00

L

xx...xx

L-32yy...yy

L

xx...xx

22 L32

Page 12: Laboratorio di Reti Informatiche IP Routing A. Laina laina@cisi.unito.it.

130.192.197.0/26

A B

IPAI PBI

PAB

9/30 10/30 22/29

18/29

17/29

6/30

5/301/30

2/30

62/27

33/27

34/27

35/27

60.2/30

Internet (60.1/30)

Page 13: Laboratorio di Reti Informatiche IP Routing A. Laina laina@cisi.unito.it.

PAI 0/30 0,1,2,3

PBI 4/30 4,5,6,7

PAB 8/30 8,9,10,11

B 12/29? 12=00001100 NO!!!

B 16/29 16,17,…,22,23 (12/30 non usato)

A 24/27? 24=00011000 NO!!!

A 32/27 32,33,…,62,63 (24/29 non usato)

130.192.197.0/26 non è associato ad una LAN fisica ma le riassume tutte.

Page 14: Laboratorio di Reti Informatiche IP Routing A. Laina laina@cisi.unito.it.

Alcuni “trucchi” per assegnare i prefissi

• Assegnare i prefissi in modo progressivo in ordine sempre crescente o sempre decrescente della dimensione dei network

• Raggruppare prefissi di dimensione inferiore in modo da costituire blocchi di dimensioni simili

• Se un prefisso contiene N indirizzi (senza –2), il valore numerico deve essere un multiplo di N (in notazione decimale basta considerare solo uno dei 4 numeri e dividere N opportunamente

Page 15: Laboratorio di Reti Informatiche IP Routing A. Laina laina@cisi.unito.it.

Datagramma IP

Ver H L TOS Total Length

ID Flag Fragmet Offset

TTL Protocol Header Checksum

Source IP

Destination IP

Options Pad

Data

Page 16: Laboratorio di Reti Informatiche IP Routing A. Laina laina@cisi.unito.it.

Ver 0100 per IPv4HL in unità di 32 bits (lw o dw)TOS ora chiamato anche DSCPTLen in bytes (max 64K) header + dataID id del dtg, identifica i frammentiFlags (M)ore (F)rag|(D)on’t (F)rag|Unused

MF=1 su tutti I frammenti tranne ultimoFO in unità di 8 bytes, posizione relativa

nel datagramma originaleTTL “durata” di vita del datagrammaProt identificativo del protocollo in Data

ICMP=1, TCP=6, UDP=17, OSPF=89HC Controllo di integrità headerOpt sezione per opzioni (source routing,

trace, timestamps)

Pad dimensione campo Opt multiplo di 32 bits

Page 17: Laboratorio di Reti Informatiche IP Routing A. Laina laina@cisi.unito.it.

Frame Ethernet

Ethernet II T/L = type (protocollo in data)802.3 T/L = length (di data)T/L (hex) 0000-05DC 802.3 0800 IPv4 0806 ARP 6004 LAT 8035 RARP

MTU IP = 65536 (64K)MTU Eth = 1500 frammentazione per i datagrammi lunghi

Preamble Dest Src T/L Data FCS6+1 6 6 2 46-1500 4

Page 18: Laboratorio di Reti Informatiche IP Routing A. Laina laina@cisi.unito.it.

Dest e Src sono indirizzi MAC 48 bits

Conversione indirizzi IP MAC Unicast: protocollo ARP Broadcast: FFFF:FFFF:FFFF Multicast: 0100:5Exx:xxxx 28 bits 23 bits eliminando i primi 5

Page 19: Laboratorio di Reti Informatiche IP Routing A. Laina laina@cisi.unito.it.

Modulo IP

IP

Path Determination

Forwarding

Sorgenti IP Dest IP

Page 20: Laboratorio di Reti Informatiche IP Routing A. Laina laina@cisi.unito.it.

A B

IPAI PBI

PAB

9/30 10/30 22/29

18/29

17/29

6/30

5/301/30

2/30

62/27

33/27

34/27

35/27

60.2/30

Internet (60.1/30)

AP

TR

NW

DL

AP

TR

NW

DL

AP

TR

NW

DL

AP

TR

NW

DL

Page 21: Laboratorio di Reti Informatiche IP Routing A. Laina laina@cisi.unito.it.

Modulo Path Determination I

Ogni modulo IP deve avere un’idea più o meno “completa” di come siano disposti i prefissi. Quella parte del software che si occupa di questo prende il nome di modulo di “Path Determination”. Costruisce un database, chiamato tabella di routing, che contiene tutte le informazioni messe a disposizione del modulo IP.

Per ogni prefisso destinazione, si stabiliscono uno o più percorsi “ottimali” e si distribuisce (parzialmente) l’informazione a tutti i sistemi coinvolti. I precorsi devono essere “coerenti” tra di loro.

Longest Match: una sottorete (prefisso più lungo) ha la precedenza sui suoi supernet

Page 22: Laboratorio di Reti Informatiche IP Routing A. Laina laina@cisi.unito.it.

Informazione per ogni prefisso:

• indirizzo next hop

• interfaccia di uscita

Tabella di routing

prefisso destinazione IPnh o interfaccia altri dati

AP

TR

NW

DL

lo

fisiche

Page 23: Laboratorio di Reti Informatiche IP Routing A. Laina laina@cisi.unito.it.

Ex: pc con una interfaccia Ethernet

quasi sempre anche:

La tabella di routing viene costruita mediante varie sorgenti di informazione non necessariamente concordi tra di loro (vince la fonte più “attendibile”). Ogni fonte può a sua volta dare indicazioni contrastanti. Non ci sono standard per definire l’affidabilità delle fonti, ogni fabbricante usa uno schema proprio.

127.0.0.0/8 loIPscheda/32 lo

prefisso scheda eth0

0.0.0.0/0 IPDG

Page 24: Laboratorio di Reti Informatiche IP Routing A. Laina laina@cisi.unito.it.

Ex: Cisco IOS “Attendibilità” = Administration distance 0…255

prefissi interfacce attive 0 statiche 1 EBGP 20 EIGRP 90 OSPF 110 RIP 120 IBGP 200 sconosciuto 255

Prefissi interfacce attive 35/27 35/32 lo

32/27 eth0

Page 25: Laboratorio di Reti Informatiche IP Routing A. Laina laina@cisi.unito.it.

Statiche = direzioni configurate manualmente default gateway 35/27 0.0.0.0/0 62

Si possono usare interfacce al posto del next hop

Questi due tipi di sorgenti di informazione sono sufficienti per la maggior parte degli ES ma non per gli IS, tranne i più periferici e meno collegati.

Page 26: Laboratorio di Reti Informatiche IP Routing A. Laina laina@cisi.unito.it.

Sono sorgenti molto stabili, in certi casi “troppo” stabili perchè richiedono di intervenire su molti sistemi se si modifica la topologia delle LAN. Non sono le più adatte ad un sistema che compensi automaticamente guasti e nuovi allacciamenti.

Ex

35/2735/32 lo32/27 eth0

0.0.0.0/0 62 ………

17/2917/32 lo16/29 eth0

0.0.0.0/0 22 ………

Page 27: Laboratorio di Reti Informatiche IP Routing A. Laina laina@cisi.unito.it.

A2/32 lo0/30 eth09/32 lo8/30 eth162/32 lo32/27 eth2

16/29 104/30 14/30 100.0.0.0/0 1 ………

Page 28: Laboratorio di Reti Informatiche IP Routing A. Laina laina@cisi.unito.it.

B6/32 lo4/30 eth010/32 lo8/30 eth122/32 lo16/29 eth2

32/27 90/30 50/30 90.0.0.0/0 5 ………

Page 29: Laboratorio di Reti Informatiche IP Routing A. Laina laina@cisi.unito.it.

Modulo Forwarding

Per ogni datagramma, si cerca nella tabella di routing di ogni sistema la coppia (IPnh, ifexit) (ifexit = interfaccia di uscita).

Si usa il seguente algoritmo con i dati iniziali IPnh = IPdest e ifexit = null.

1. IPnh IP/32

2. Costruire la lista (anche vuota) dei supernet con L massimodi 1. esaminando la tabella di routing.

3. Se, ad un supernet, è associata una interfaccia if ifexit = if.Se, invece, è associato un IP IPnh = IP e per questa coppia si riparte da 1.

Page 30: Laboratorio di Reti Informatiche IP Routing A. Laina laina@cisi.unito.it.

Si presentano 3 casi mutuamente esclusivi

• La lista è vuota. Il datagramma viene scartato e, se è il caso, viene spedito un ICMP a IPsorgente.

• La lista contiene una singola coppia. Il datagramma viene inviato alla corrispondente interfaccia e da questa ad IPnh senza modificare gli indirizzi dell’intestazione.

• La lista contiene più di una coppia. Se il datagramma è un unicast o un broadcast, viene scelta una coppia e si procede come al punto precedente. Se invece è un multicast, lo si replica su tutte le coppie.

Tranne configurazione particolare, un broadcast di livello 2, ricevuto da una interfaccia viene spedito solo ai livelli superiori.

Page 31: Laboratorio di Reti Informatiche IP Routing A. Laina laina@cisi.unito.it.

Ex: Trasmissione datagramma 35 17, frame Ethernet II

Percorso 35 A B 17Ipotesi ARP: 130.192.197.xy 5555:55AB:CDyx 130.192.197.35 5555:55AB:CD53 130.192.197.2 5555:55AB:CD20

35IP: S = 35 D = 17 TTL = 64 HC = x1

E: S = 53 D = 26 FCS = y1

AIP: S = 35 D = 17 TTL = 63 HC = x2

E: S = 90 D = 01 FCS = y2

BIP: S = 35 D = 17 TTL = 62 HC = x3

E: S = 22 D = 71 FCS = y3

17

Page 32: Laboratorio di Reti Informatiche IP Routing A. Laina laina@cisi.unito.it.

Ex: Trasmissione datagramma 35 23 (direct broadcast), frame Ethernet II

Percorso 35 A B 23ARP come esempio precedente

35IP: S = 35 D = 23 TTL = 64 HC = x1

E: S = 53 D = 26 FCS = y1

AIP: S = 35 D = 23 TTL = 63 HC = x2

E: S = 90 D = 01 FCS = y2

BIP: S = 35 D = 23 TTL = 62 HC = x3

E: S = 22 D = FFFF:FFFF:FFFF FCS = y3

17…22

Page 33: Laboratorio di Reti Informatiche IP Routing A. Laina laina@cisi.unito.it.

Modulo Path Determination II

I sistemi di configurazione manuale non sono ottimali se ci sono cambiamenti di topologia nelle reti.

A B

IPAI PBI

PAB

9/30 10/30 22/29

6/30

5/301/30

2/30

62/27

60.2/30

Interruzione a livello fisico.

Page 34: Laboratorio di Reti Informatiche IP Routing A. Laina laina@cisi.unito.it.

A B I2/32 lo 6/32 lo 60.2/32 lo0/30 eth0 4/30 eth0 60.0/30 eth09/32 lo 10/32 lo 1/32 lo8/30 eth1 8/30 eth1 0/30 eth162/32 lo 22/32 lo 5/32 lo32/27 eth2 16/29 eth2 4/30 eth2

16/29 10 32/27 9 8/30 24/30 1 0/30 5 8/30 64/30 10 0/30 9 16/29 60.0.0.0/0 1 0.0.0.0/0 5 32/27 2

0.0.0.0/0 60.1

Page 35: Laboratorio di Reti Informatiche IP Routing A. Laina laina@cisi.unito.it.

Protocolli di Routing

Sistemi automatici di scambio di informazione dei network.Si “accorgono” del cambiamento di stato delle interfacce e della reale connettività a livello 2 (keep alive).

Le informazioni si propagano a velocità finita tempi di convergenza non nulli (possono essere lunghi)

Due famiglie (rispetto all’AS): Interno: RIP, (E)IGRP, OSPF, IS-IS Esterno: EGP, BGP-4

Page 36: Laboratorio di Reti Informatiche IP Routing A. Laina laina@cisi.unito.it.

Terminologia

Metrica (metric): valore numerico associato ai prefissi per quantificarne il grado di preferenza. Il significato dipende dal protocollo

Convergenza: processo che porta tutti i router ad avere tabelle di routing consistenti (stato stazionario)

Tempo di convergenza: il periodo temporale che intercorre mentre il sistema di router passa da uno stato stazionario (e consistente) ad un altro

Aggiornamento: metodo con il quale vengono condivise le informazioni sui prefissi

Page 37: Laboratorio di Reti Informatiche IP Routing A. Laina laina@cisi.unito.it.

RIP e IGRP

(R)outing (I)nformation (P)rotocol, standard di Internet(I)nternet (G)ateway (R)outing (P)rotocol, proprietario Cisco

Tipo Distance Vector: gli aggiornamenti contengono “vettori” della forma (distanza, direzione).

Aggiornamenti periodici: l’intera tabella di routing di ogni singolo router viene spedita periodicamente a tutti i router connessi. I router non sincronizzano gli aggiornamenti tra di loro. RIP 30 sec, IGRP 90 sec.

Page 38: Laboratorio di Reti Informatiche IP Routing A. Laina laina@cisi.unito.it.

Metrica: RIP numero di hop per raggiungere la destinazione. IGRP combinazione (configurabile) di banda, ritardo, carico e affidabilità di ogni collegamento; si sommano i valori ottenuti per tutti i collegamenti necessari per arrivare al prefisso di destinazione.

Durata di vita dei prefissi: ogni riga della tabella di routing a cui non corrisponde una interfaccia sul router stesso, ha una durata di vita finita (di solito tra 3 e 6 aggiornamenti). Se il router non riceve un aggiornamento con informazioni sul prefisso entro questo periodo, la riga viene eliminata, altrimenti la durata di vita viene prorogata. convergenza anche in presenza di guasti.

Page 39: Laboratorio di Reti Informatiche IP Routing A. Laina laina@cisi.unito.it.

Split horizon (facoltativo): gli aggiornamenti di A verso B non contengono le righe il cui next hop è B (perchè è stato B a comunicare ad A questa informazione). Permette di evitare routing loop “semplici”. Una variante (split horizon with poisoned reverse) prevede di includere anche questi prefissi ma dichiarandoli irraggiungibili (= distanza “infinita”).

A B

Page 40: Laboratorio di Reti Informatiche IP Routing A. Laina laina@cisi.unito.it.

Counting to infinity: si considera come distanza infinita un valore finito (RIP 16 hop, IGRP 255 hop). In un loop come sopra l’informazione sbagliata viene eliminata quando, dopo successivi aggiornamenti, l’hop count raggiunge “infinito”.

C D

A B