Programmazione su Reti Routing Statico in IP Giuseppe Persiano Dipartimento di Informatica ed Applicazioni Università degli Studi di Salerno http://www.dia.unisa.it/~giuper Routing Statico • In routing statico: – la prossima destinazione di un datagramma da inoltrare è determinata dal meccanismo di routing di IP mediante la consultazione delle tavole di routing; – le rotte sono create • staticamente al momento del boot • da messaggi ICMP redirect Programmazione su Reti -Dipartimento di Informatica ed Appl. 2 Tavola di Routing IP • La tavola di routing di un router è una lista di rotte. • Ogni rotta contiene i seguenti campi: – destinazione: host o network – interfaccia: interfaccia locale da usare per la rotta – gateway: indirizzo del prossimo host – flag: informazioni riguardanti la rotta Programmazione su Reti -Dipartimento di Informatica ed Appl. 3 Meccanismo di routing IP • Scorrere la tabella di routing – cercare un match per l’intero indirizzo – cercare un match per l’indirizzo di rete – cercare un entry di default • Se esistono diverse rotte di default, si usa round-robin. Programmazione su Reti -Dipartimento di Informatica ed Appl. 4 Flag di rotte IP • U: la rotta è disponibile • G: la rotta utilizza un router intermedio. – Se il flag G non è presente la destinazione è direttamente connessa. • H: la destinazione è un host e non una rete • D: rotta creata da un redirect • M: rotta modificata da redirect Programmazione su Reti -Dipartimento di Informatica ed Appl. 5 Un semplice esempio /home/giuper> netstat -rn Kernel IP routing table Destination Gateway 192.41.218.242 0.0.0.0 127.0.0.0 0.0.0.0 0.0.0.0 192.41.218.242 • • • • Genmask 255.255.255.255 255.0.0.0 0.0.0.0 Flags UH U UG MSS Window irtt 1500 0 0 3584 0 0 1500 0 0 Iface ppp0 lo ppp0 Host collegato tramite ppp ad un gateway rotta per il loopback rotta di default rotta per l’host direttamente connesso Programmazione su Reti -Dipartimento di Informatica ed Appl. 6 ICMP Redirect • Un messaggio ICMP redirect viene spedito da un router se – si trova a spedire un datagramma usando la stessa interfaccia da cui è entrato. • In questo caso il mittente deve aggiornare le tavole di routing Programmazione su Reti -Dipartimento di Informatica ed Appl. 7 Una semplice tavola di routing /home/giuper> netstat -r Kernel IP routing table Destination Gateway ts90m1.dia.unis * loopback * default ts90m1.dia.unis Genmask 255.255.255.255 255.0.0.0 0.0.0.0 Flags UH U UG MSS 1500 3584 1500 Window 0 0 0 irtt 0 0 0 Iface ppp0 lo ppp0 • Il flag n non esegue la traduzione degli indirizzi in nomi Programmazione su Reti -Dipartimento di Informatica ed Appl. 8 Tavole di routing di udsab default 127.0.0.1 192.41.218 193.205.160 193.205.161 193.205.162 192.41.218.254 127.0.0.1 192.41.218.1 193.205.160.1 192.41.218.6 192.41.218.6 UG UH U U UG UG 6 7 77 1 0 0 91212 70687 5549944 4299 172 985 fta0 lo0 fta0 tu1 fta0 fta0 • Direttamente connesso a due reti: – 192.41.218.0 – 193.205.160.0 • Raggiunge le due reti – 193.205.161.0 – 193.205.162.0 tramite il router 192.41.218.6 Programmazione su Reti -Dipartimento di Informatica ed Appl. 9 Tavole di zoo (ischia) Destination 127.0.0.1 192.41.218 193.205.161 193.205.161.33 193.205.161.34 193.205.161.36 193.205.161.37 193.205.161.98 193.205.162 Gateway 127.0.0.1 192.41.218.6 193.205.162.253 193.205.162.252 193.205.162.252 193.205.162.252 193.205.162.252 193.205.162.252 193.205.162.2 Flags UH U UG UGHD UGHD UGHD UGHD UGHD U Refs Use Interface 4 9777 lo0 9 21946 fta0 0 2531 tu0 0 2478 tu0 0 100 tu0 0 865 tu0 0 0 tu0 0 203 tu0 26 2817884 tu0 • Rotta indiretta alla rete – 193.205.161.0 • Rotta indiretta ad host della rete – 193.205.161.0 Programmazione su Reti -Dipartimento di Informatica ed Appl. 10 Tavole di zoo (ischia) localhost dianet diaresnet santamaria nina colombo vespucci ibiza diaedunet ibiza localhost ischia mikonos net-gw net-gw net-gw net-gw net-gw zoo 192.41.218.251 UH U UG UGHD UGHD UGHD UGHD UGHD U UGH 4 10 0 0 0 0 0 0 27 0 9777 21957 2531 2478 100 865 0 203 2818000 0 lo0 fta0 tu0 tu0 tu0 tu0 tu0 tu0 tu0 fta0 • Rotta indiretta alla rete – 193.205.161.0 • Rotta indiretta ad host della rete – 193.205.161.0 Programmazione su Reti -Dipartimento di Informatica ed Appl. 11 Tavole di mikonos Destination 193.205.161.0 193.205.161.32 193.205.161.96 193.205.161.128 192.41.218.0 193.205.162.0 193.205.165.0 127.0.0.0 0.0.0.0 Gateway 192.41.218.63 193.205.162.252 193.205.162.252 192.41.218.249 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 192.41.218.254 Genmask 255.255.255.224 255.255.255.224 255.255.255.224 255.255.255.224 255.255.255.0 255.255.255.0 255.255.255.0 255.0.0.0 0.0.0.0 Flags UG UG UG UG U U U U UG Programmazione su Reti -Dipartimento di Informatica ed Appl. Metric 0 0 0 0 0 0 0 0 1 Ref 0 0 0 0 0 0 0 0 0 Use 8 214 4 18 166 228 0 6 6411 Iface eth0 eth1 eth1 eth0 eth0 eth1 eth0 lo eth0 12 Tavole di mikonos Destination security tcfs diareti ibizanet dia diaedu loopback default Gateway dino.dia.unisa. cipro.dia.unisa net-gw.dia.unis net-gw.dia.unis * * * nis1sa.dia.unis Genmask Flags Metric Ref Use Iface 255.255.255.224 UG 0 0 8 eth0 255.255.255.224 UG 0 0 18 eth0 255.255.255.224 UG 0 0 214 eth1 255.255.255.224 UG 0 0 4 eth1 255.255.255.0 U 0 0 166 eth0 255.255.255.0 U 0 0 228 eth1 255.0.0.0 U 0 0 6 lo 0.0.0.0 UG 1 0 6411 eth0 Programmazione su Reti -Dipartimento di Informatica ed Appl. 13 Lista interfaccia di mikonos mikonos 103 # /sbin/ifconfig -a lo Link encap:Local Loopback inet addr:127.0.0.1 Bcast:127.255.255.255 Mask:255.0.0.0 UP BROADCAST LOOPBACK RUNNING MTU:3584 Metric:1 RX packets:580 errors:0 dropped:0 overruns:0 TX packets:580 errors:0 dropped:0 overruns:0 eth0 Link encap:10Mbps Ethernet HWaddr 00:00:E8:C8:8E:B1 inet addr:192.41.218.253 Bcast:192.41.218.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:990055 errors:0 dropped:0 overruns:0 TX packets:605206 errors:0 dropped:0 overruns:0 eth1 Link encap:10Mbps Ethernet HWaddr 00:00:E8:CC:EB:75 inet addr:193.205.162.253 Bcast:193.205.162.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:514814 errors:0 dropped:0 overruns:0 TX packets:811465 errors:0 dropped:0 overruns:0 Programmazione su Reti -Dipartimento di Informatica ed Appl. 14 nina net-gw home/giuper> netstat -rn Destination Gateway 193.205.161.0 193.205.162.253 193.205.161.32 0.0.0.0 193.205.161.96 0.0.0.0 193.205.162.0 0.0.0.0 127.0.0.0 0.0.0.0 0.0.0.0 193.205.162.253 Genmask 255.255.255.224 255.255.255.224 255.255.255.224 255.255.255.0 255.0.0.0 0.0.0.0 Flags UG U U U U UG Programmazione su Reti -Dipartimento di Informatica ed Appl. MSS 1500 1500 1500 1500 3584 1500 Window 0 0 0 0 0 0 irtt 0 0 0 0 0 0 Iface eth2 eth0 eth1 eth2 lo eth2 15 libeccio udsab 192.41.218.254 192.41.218.1 192.41.218.253 192.41.218.6 zoo diaresnet coppi diaedunet 193.205.162.0 mykonos 193.205.162.2 192.41.218.63 dianet 192.41.218.0 nis1sa 193.205.162.253 192.41.218.249 ibiza nina cipro 193.205.161.1 193.205.161.129 193.205.161.2 security 193.205.161.0 gimondi tcfs 193.205.161.128 Programmazione su Reti -Dipartimento di Informatica ed Appl. 193.205.162.252 96 193.205.161.33 diareti 193.205.161.32 16