Protocolli strato rete in Internet

Documenti analoghi
Strato rete in Internet

Configurazione delle interfacce di rete

Reti di Telecomunicazioni R. Bolla, L. Caviglione, F. Davoli. Internet Protocol (IP) L indirizzamento IP ICMP. ARP e RARP DHCP NAT 32.

Architetture di router IP

Titolo della presentazione

4b. Esercizi sul livello di Rete Inoltro in IP

Architetture di router IP

Il protocollo IP A.A. 2006/2007. Alessandro Botticelli

Il protocollo IP A.A. 2005/2006. Walter Cerroni. Internet Protocol (IP) - RFC 791

Protocollo IP. Pacchetto e comandi

TCP/IP. Principali caratteristiche

Programmazione in Rete

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori a.a. 2009/10

Indirizzamento IP. Politecnico di Milano Facoltà di Ingegneria dell Informazione

Indirizzi Internet. Indirizzi Internet (2)

Strato di rete (parte 2) Autoconfigurazione Protocollo DHCP

Internet Protocol Versione 4: aspetti generali

ICMP OSI. Internet Protocol Suite. Telnet FTP SMTP SNMP TCP e UDP NFS. Application XDR. Presentation. Session RPC. Transport.

Corso di Reti di Telecomunicazioni. Giovanni Schembra. Trasmissione trame su canale broadcast

Internet Protocol Versione 4: instradamento e routing. Aspetti di forwarding e routing del protocollo IPv4

Reti di calcolatori. Lezione del 17 giugno 2004

IL LIVELLO RETE IN INTERNET Protocollo IP

Reti di Calcolatori. IL LIVELLO RETE IN INTERNET Protocollo IP

Il modello TCP/IP. Sommario

Il protocollo IP (Internet Protocol)

Reti di Calcolatori IL LIVELLO RETE

(parte 2) DHCP e NAT

ICMP. (Internet Control Message Protocol) Cosa è l ICMP? Messaggi di ICMP. Applicazioni di ICMP: ULP, Ping, Traceroute, Path MTU discovery

Reti di Calcolatori 1

Architettura di TCP/IP. IP: Internet Protocol. IP:Internet Protocol. Il livello Network si occupa di: È il livello di Network di TCP/IP

Il livello Rete in Internet

IP Internet Protocol

Reti di calcolatori. Lezione del 18 giugno 2004

Formato del Datagram IP. Utilizzo del Type of Service. Formato del Datagram IP (I word) Prof. Vincenzo Auletta. Version HLEN. Type of Service (TOS)

Reti di Calcolatori - Laboratorio. Lezione 8. Gennaro Oliva

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE

Indirizzi IP. Architettura di TCP/IP. IP: Internet Protocol. IP:Internet Protocol. Il livello Network si occupa di: È il livello di Network di TCP/IP

Parte II: Reti di calcolatori Lezione 15

Introduzione alla rete Internet

IPv4 Internet Protocol Versione 4

1. IPv IPv4. Telematica 3 - R. Bolla 1. Università di Genova Facoltà di Ingegneria. Telematica 3. dist. Architettura. Prof.

Marco Listanti. Indirizzamento IP. DIET Dept. Telecomunicazioni (Canale 2) - Prof. Marco Listanti - A.A. 2016/2017

Anno Accademico Corso di Reti di Calcolatori e Comunicazione Digitale. Modulo 3 : TCP/IP Lo strato di rete.

Protocollo IP e collegati

Il protocollo IP A.A. 2005/2006. Walter Cerroni

Un caso estremo per gli algoritmi di routing: Reti Mobili Ad Hoc (MANET)

SUBNETTING E SUPERNETTING

IP e Routing. Formato del Datagram IP. Utilizzo del Type of Service. Formato del Datagram IP (I word) Prof. Vincenzo Auletta.

ARP e RARP. Silvano GAI. sgai[at]cisco.com. Mario BALDI. mario.baldi[at]polito.it Fulvio RISSO

Internet e protocollo TCP/IP

Gli indirizzi IP. Gli indirizzi IP sono univoci a livello mondiale e vengono assegnati da un unica autorità ICANNN

Routing IP. IP routing

Internet Control Message Protocol ICMP. Struttura di un Messaggio ICMP. Segnalazione degli Errori

Indirizzi IP, Classi, Subnetting, NAT

Indirizzamento in IPv4 (parte II)

Gestione degli indirizzi

Formato del datagramma IP

Corso di Laurea in Informatica Esame di Reti Prof. Panzieri frame con source address uguale a MAC_UNI X X X X X

ICMP. Internet Control Message Protocol. Silvano GAI. sgai[at]cisco.com. Mario BALDI. mario.baldi[at]polito.it

Modulo 9 Insieme di protocolli TCP/IP e indirizzi IP

ARP e instradamento IP

Reti di comunicazione

TCP/IP un introduzione

IL PROTOCOLLO ICMP. La famiglia dei protocolli TCP/IP. Applicazioni ,ftp,telnet,www. IEEE 802-Ethernet-X25-Aloha ecc. Collegamento fisico

Livello di Rete: Indirizzamento IPv4, DHCP, indirizzi privati e NAT

RETI DI CALCOLATORI. Internet Protocol

No. Time Source Destination Protocol Info DHCP DHCP Discover - Transaction ID 0xec763e04

Indirizzamento IP (v4)

Gestione degli indirizzi

Forme di indirizzamento

INDIRIZZI IP SUBNETTING

Indirizzamento ed instradamento nelle reti IP

Laurea in INFORMATICA

RETI INTERNET MULTIMEDIALI

Architettura Internet

Internet Romeo Giuliano 1

Gli indirizzi dell Internet Protocol. IP Address

UDP. Livello di Trasporto. Demultiplexing dei Messaggi. Esempio di Demultiplexing

L architettura di rete TCP/IP. 1

RTT costante pari a 0.5 secondi; primo RTO= 2*RTT;

Introduzione alla rete Internet

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori (a.a. 2010/11)

Introduzione. Il routing permette la comunicazione tra due nodi differenti anche se non sono collegati direttamente

3 - Internet Protocol

Reti standard. Si trattano i modelli di rete su cui è basata Internet

Il livello Network in Internet

Il firewall Packet filtering statico in architetture avanzate

17. Indirizzamento Multicast (IGMP)

Indirizzi IP. Lo strato IP dell architettura TCP/IP fornisce principalmente le funzioni indirizzamento instradamento

Routing (instradamento) in Internet. Internet globalmente consiste di Sistemi Autonomi (AS) interconnessi:

Esercizi Reti di TLC A Parte II. Indirizzamento IP. Esercizio 9.1. Esercizio 9.2. Luca Veltri

Indirizzamento, Routing e Forwarding per reti IP. Andrea Detti rev. 01

Architettura TCP/IP: indirizzamento e routing

DOMOTICA ED EDIFICI INTELLIGENTI UNIVERSITA DI URBINO

Parte II: Reti di calcolatori Lezione 14

Esercizi Reti di TLC Parte II LAN. Esercizio 5.2. Esercizio 5.1. Luca Veltri

Classe bit: net id host id. 1 0 net id host id net id host id multicast address

Protocolli di Comunicazione

Il protocolli di Internet

L architettura di TCP/IP

Transcript:

Internet protocol suite Strato rete in Internet Application Presentation Session Telnet FTP SMTP SNMP NFS XDR RPC Transport TCP e/o UDP Gruppo Reti TLC nome.cognome@polito.it http://www.tlc-networks.polito.it/ STRATO RETE IN INTERNET - 1 Network Data Link Physical OSI ICMP IP ARP RARP Non Specificati Protocolli di routing Internet Protocol Suite STRATO RETE IN INTERNET - 2 IP: Internet Protocol Il protocollo IP Livello rete dell architettura TCP/IP Offre un servizio non connesso inaffidabile best-effort senza garanzie di qualità di servizio Specificato in RFC 791 STRATO RETE IN INTERNET - 3 È un protocollo di strato rete (strato 3) Si occupa quindi dell indirizzamento e instradamento dei pacchetti (detti datagram) La consegna dei pacchetti IP è: connectionless ogni pacchetto trattato in modo indipendente inaffidabile (unreliable) perdita, duplicazioni, ritardi non distingue tra diversi tipi di traffico (no priorità, tratta tutti in modo best-effort) STRATO RETE IN INTERNET - 4 Protocollo IP Consegna inaffidabile In caso di guasti (es. un router fuori servizio, collegamento non disponibile) scarta il datagram cerca di inviare un messaggio di errore al mittente Consegna connectionless Non conserva informazioni di stato sui datagram in corso di trasmissione Ogni datagram instradato in modo indipendente Due pacchetti con stessa sorgente e Intestazione pacchetto IP 0 4 8 16 19 24 31 Version HLEN Service Type Total Length Identification Flags Fragment Offset Time To Live Protocol Header Checksum Source IP Address Destination IP Address Options PAD destinazione possono seguire percorsi diversi STRATO RETE IN INTERNET - 5 STRATO RETE IN INTERNET - 6 Pag. 1

Intestazione pacchetto IP: i campi VER: versione del protocollo IP HLEN: lunghezza dell header in parole da 32 bit (se opzioni assenti, vale 5) Type of service (TOS): tipo di servizio richiede il datagram (minimize delay, maximize throughput, maximize reliability, minimize cost ). Generalmente ignorato dai router. RFC 1349 Total Length: lunghezza del datagram in byte (incluso header). Dimensione massima 65535 byte Frammentazione Ogni rete ha massima dimensione ammessa MTU (Maximum Transfer Unit): Ethernet 1500 B Quando devo attraversare rete con MTU più piccola del datagram si deve frammentare Frammenti diventano datagram indipendenti, con intestazione quasi uguale a quella del datagram originario ricostruiti solo alla destinazione, mai nei router intermedi Frammentazione trasparente a sorgente e destinazione Specificata in RFC 791, RFC 815 STRATO RETE IN INTERNET - 7 STRATO RETE IN INTERNET - 8 Frammentazione La frammentazione è dannosa aumento overhead di intestazione, duplicato su ogni frammento perdita di un frammento comporta la perdita al ricvevitore di tutto il datagram; aumenta la probabilità di errore ricevitore deve attivare timer di attesa arrivo frammenti e riassemblare I router IP però non si devono occupare di riassemblare frammenti Intestazione pacchetto IP: i campi Identification, Flags, Fragment offset: controllano operazioni di frammentazione Identification: permette di riconoscere a quale datagram il frammento appartiene (frammenti dello stesso datagram hanno stesso valore deciso dallo host che genera il datagram) Fragment offset: specifica offset dati contenuti nel frammento, in multipli di 8 byte Flags (2 bit): don t fragment e more fragments (identifico ultimo frammento) STRATO RETE IN INTERNET - 9 STRATO RETE IN INTERNET - 10 Intestazione pacchetto IP: i campi Intestazione pacchetto IP: i campi TTL (time to live): Tempo di vita (in hop) di un datagram La sorgente setta un valore iniziale (a piacere) Ogni router decrementa di 1 il valore di TTL Se TTL=0, il router scarta datagram ed invio messaggio di errore (disabilitabile) Protocol: formato dei dati specificando un protocollo di livello superiore. Un elenco dei protocolli è presente in RFC 1700 Protocol Name 1 ICMP 4 IP in IP 6 TCP 17 UDP 89 OSFP Header Checksum (16 bit): controllo di errore sulla sola intestazione, non sui dati utente. Specificato in RFC 1071,1141,1624,1936. Somma in complemento a 1 allineando header a 16 bit. è possibile calcolare un checksum incrementale (utile perchè ogni router cambia l intestazione). STRATO RETE IN INTERNET - 11 STRATO RETE IN INTERNET - 12 Pag. 2

Intestazione pacchetto IP Source e Destination Address (32 bit): indirizzo sorgente e destinazione degli host Formato opzioni: option code (option number, option class, flag di copia nei frammenti) + lunghezza opzione + dati Opzioni record route: registro percorso del datagram source route (loose and strict): sorgente specifica percorso del datagram timestamp: permette di registrare tempo di elaborazione del datagram 32-bit timestamp (millisecondi da mezzanotte Universal Time) path MTU Discovery (RFC 1191) STRATO RETE IN INTERNET - 13 Il protocollo ICMP ICMP (Internet Control Message Protocol ) è solitamente considerato parte del livello IP Comunica messaggi di errore o di controllo. Può trasportare richieste di informazioni e risposte alle richieste. I messaggi ICMP sono trasmessi all interno di datagram IP Specificato in RFC 792 STRATO RETE IN INTERNET - 14 Formato del messaggio ICMP Esempi di messaggi ICMP messaggio type code 0 7 15 31 type code checksum data echo reply 0 0 query echo request 8 0 query network unreachable 3 0 errore host unreachable 3 1 errore port unreachable 3 3 errore destn net unknown 3 6 errore destn host unknown 3 7 errore redirect 5 1 controllo time exceeded (TTL) 11 0 errore time exceeded (fragment reass) 11 1 errore STRATO RETE IN INTERNET - 15 STRATO RETE IN INTERNET - 16 Applicazione: il comando ping Il nome è ispirato al rumore del sonar Esegue un test di raggiungibilità dell interfaccia di rete di un host remoto Invia un messaggio ICMP echo request ad un host, aspettandosi un echo reply Di default, l ICMP viene inviato ogni secondo allo stesso host; è possibile tuttavia modificare la frequenza di invio Il comando ping Se un host non risponde al ping, non è raggiungibile (o ICMP echo-reply è disabilitato). Può essere usato per rilevare guasti in rete. è disponibile su macchine Unix e su PC Informazioni visualizzate da ping: numero di sequenza TTL round-trip-time (tempo impiegato a percorrere la tratta sorgente-destinatario-sorgente) STRATO RETE IN INTERNET - 17 STRATO RETE IN INTERNET - 18 Pag. 3

Il comando ping C:\WINDOWS>ping www.cs.cmu.edu Esecuzione di Ping SUPERMAN.WEB.cs.cmu.edu [128.2.203.179] con 32 byte di dati: Risposta da 128.2.203.179: byte=32 durata=138ms TTL=243 Risposta da 128.2.203.179: byte=32 durata=110ms TTL=243 Risposta da 128.2.203.179: byte=32 durata=110ms TTL=243 Risposta da 128.2.203.179: byte=32 durata=110ms TTL=243 Statistiche Ping per 128.2.203.179: Pacchetti: Trasmessi = 4, Ricevuti = 4, Persi = 0 (0% persi), Tempo approssimativo percorsi andata/ritorno in millisecondi: Minimo = 110ms, Massimo = 138ms, Medio = 117ms Il comando traceroute traceroute permette di seguire il percorso dei datagram IP hop-per-hop fino a destinazione Funzionamento: Host invia segmenti UDP vuoti, con TTL crescenti e destinati alla porta 33434 dell host remoto I router intermedi ritornano ICMP time exceeded La destinazione ritorna ICMP port unreachable Se non torna messaggio ICMP in risposta entro un timeout di 3 sec., si segnala errore STRATO RETE IN INTERNET - 19 STRATO RETE IN INTERNET - 20 Il comando traceroute Rilevazione instradamento verso beatles.tilab.com [163.162.29.125] su un massimo di 30 punti di passaggio: C:\WINDOWS>tracert beatles.tilab.com 1 <10 ms <10 ms <10 ms l3.polito.it [130.192.2.8] 2 <10 ms <10 ms <10 ms c3660-ext.polito.it [130.192.53.65] 3 <10 ms <10 ms <10 ms rc-polito.to.garr.net [193.206.132.145] 4 <10 ms <10 ms 13 ms mi-to.garr.net [193.206.134.61] 5 14 ms 14 ms 13 ms rm-mi.garr.net [193.206.134.18] 6 13 ms 14 ms 28 ms namex-roma-1.garr.net [193.206.134.226] 7 14 ms 41 ms 14 ms intb-nap.inroma.roma.it [194.242.224.10] 8 83 ms 96 ms 96 ms 151.99.101.41 9 164 ms 165 ms 151 ms r-rm198-fa4.interbusiness.it [151.99.29.218] 10 151 ms 137 ms 151 ms r-ts21-rm99.interbusiness.it [151.99.98.110]. Segue. STRATO RETE IN INTERNET - 21 Il comando traceroute. 11 138 ms 123 ms 110 ms 151.99.75.220 12 110 ms 138 ms 151 ms 151.99.101.106 13 165 ms 151 ms 151 ms r-to83-fa11.interbusiness.it [62.86.98.19] 14 192 ms 165 ms 151 ms host130-pool8016128.interbusiness.it [80.16.128.130] 15 138 ms 137 ms 110 ms 163.162.60.99 16 * * * Richiesta scaduta. 17 110 ms 123 ms 124 ms 163.162.60.99 18 * * * Richiesta scaduta. 19 * * * Richiesta scaduta. 20 * * * Richiesta scaduta. 21 82 ms 96 ms 96 ms beatles.cselt.it [163.162.29.125] STRATO RETE IN INTERNET - 22 Indirizzi IP Gruppo Reti TLC Nome.cognome@polito.it http://www.tlc.polito.it/ STRATO RETE IN INTERNET - 23 Indirizzamento IP: obiettivi e risultati Obiettivo originale: rendere efficienti le operazioni di routing (router lenti - anni 80) con indirizzi facilmente classificabili spreco dello spazio di indirizzamento (esaurimento degli indirizzi - anni 90) Nuovo obiettivo: razionalizzare l assegnazione degli indirizzi e la loro aggregazione nelle routing tables riduzione delle dimensioni delle routing tables e riutilizzo di indirizzi già assegnati STRATO RETE IN INTERNET - 24 Pag. 4

Indirizzi IP: Principi Multi-Homed Hosts Ogni host (interfaccia) è individuato da un indirizzo a 32 bit, assegnatogli univocamente Un indirizzo è caratterizzato da informazioni sulla rete (netid) e sull host (hostid) L instradamento si basa sul netid indirizzo non individua la macchina ma la rete se sposto host di rete devo cambiare indirizzo Ogni router ha almeno due indirizzi IP Gli host solitamente uno solo Poiché l indirizzo ha informazioni su rete e host, se ho più di una interfaccia di rete, devo avere due indirizzi Più che un host, un indirizzo individua una connessione ad una rete! Interfaccia #2 Interfaccia #1 H STRATO RETE IN INTERNET - 25 STRATO RETE IN INTERNET - 26 Classe A 0 Classe B 1 0 Classi di indirizzi (RFC 1466) 1 2 3 4 8 16 24 32 netid=7 bit netid=14 bit hostid=24 bit Indirizza 127 reti, ciascuna delle quali può contenere oltre 16 milioni di hosts hostid=16 bit Indirizza 16384 reti, ciascuna delle quali può contenere 65536 hosts Classe C 1 1 0 netid= 21 bit hostid=8 bit Indirizza oltre 1 milioni di reti, ciascuna delle quali può contenere però solo 256 hosts Classe D 1 1 1 0 Classe E 1 1 1 1 Indirizzi multicast 28 bit riservati Indirizzi riservati per la sperimentazione STRATO RETE IN INTERNET - 27 Rappresentazione decimale L indirizzo Internet viene comunemente rappresentato nella forma: xxx.xxx.xxx.xxx con xxx numero decimale tra 0 e 255 Il primo numero permette di riconoscere la classe dell indirizzo: Classe A Classe B Classe C Classe D Classe E 0...127 128...191 192...223 224...239 240...255 STRATO RETE IN INTERNET - 28 Classi di indirizzi IP A: 105.20.38.165 B: 130.192.2.158 C: 193.24.54.110 indirizzo di rete (netid) STRATO RETE IN INTERNET - 29 Indirizzi di rete e Broadcast Indirizzo con hostid di tutti 0, individua la rete Indirizzo con hostid di tutti 1, rappresenta l indirizzo broadcast della rete stessa (trasmetto in broadcast su quella rete) netid di tutti 1 indica questa rete. Trasmetto senza conoscere IP della rete (boot) Se il netid è tutti 0, indirizzo all host sulla rete cui sei collegato Indirizzi riservati (127.0.0.0 loopback, 192.168.2.0 reti private) STRATO RETE IN INTERNET - 30 Pag. 5

Problemi delle classi Nessuno usa classe A Pochi usano (male) classe B Classe C identifica reti piccole; indirizzi poco richiesti Fare crescere una rete oltre i limiti di dimensione della classe richiede la modifica degli indirizzi di tutti gli host Allocazione reti nel 1997 Puntini mostrano reti raggiungibili http://www.iana.org/assignments/ipv4-address-space http://www.caida.org/outreach/resources/learn/ipv4space/ STRATO RETE IN INTERNET - 31 STRATO RETE IN INTERNET - 32 L introduzione delle maschere È necessario superare la divisione rigida in netid e hostid Scompare il concetto di classe Uso maschera per definire quanti bit dei 32 di indirizzo individuano la rete, ovvero per indicare l estensione del campo netid Inizialmente si utilizzano le maschere per suddividere indirizzi di classe B Definito in RFC 950 STRATO RETE IN INTERNET - 33 La subnet mask La subnet mask (o netmask) è un valore di 32 bit contenente: bit messi a 1 per identificare la parte di rete bit messi a 0 per identificare la parte di host Per esigenze di instradamento, un host deve conoscere la parte di rete del proprio indirizzo IP (netid+subnetid): utilizza la subnet mask La subnet mask viene introdotta in fase di configurazione di un host STRATO RETE IN INTERNET - 34 La subnet mask Esempio: indirizzo host 130.192.2.7 130.192.2.7 10000100 11000000 00000010 00000111 255.255.255.0 11111111 11111111 11111111 00000000 AND 130.192.2.0 10000100 11000000 00000010 00000000 Maschere per supernetting In una seconda fase si utilizzano le maschere per accorpare indirizzi di classe C (RFC 1338-1992) Si usano blocchi contigui di indirizzi di classe C Si utilizzano sempre maschere (supernetting) per identificare netid Permette di ridurre la dimensione delle routing tables, e ridurre il numero di reti propagate dai nodi Si passa al CIDR: Classless Interdomain Routing (RFC 1519-1993) STRATO RETE IN INTERNET - 35 STRATO RETE IN INTERNET - 36 Pag. 6

Supernetting Esempio: assegno 2048 indirizzi contigui, a partire da indirizzo 202.170.168.0 202.170.168.0 11001010 10101010 10101000 00000000 202.170.175.255 11001010 10101010 10101111 11111111 Instradamento in reti IP Per rappresentare tale intervallo di valori, utilizzo AND tra indirizzo inferiore e la maschera 111111111 11111111 11111000 00000000 STRATO RETE IN INTERNET - 37 Gruppo Reti TLC Nome.cognome@polito.it http://www.tlc.polito.it/~bianco STRATO RETE IN INTERNET - 38 Consegna diretta e indiretta Sottorete: insieme di host tra cui esiste un collegamento di livello 2. Può essere una LAN, un collegamento punto-punto, etc. Se due host sono connessi alla stessa sottorete si ha consegna diretta Se due host non sono connessi alla stessa sottorete, la consegna è mediata da uno o più router: si ha consegna indiretta Consegna diretta Per decidere se effettuare una consegna diretta, l host mittente controlla la porzione di rete dell indirizzo IP destinatario Se tale porzione coincide con il proprio indirizzo di rete, si ha consegna diretta In ogni comunicazione tra host, si ha almeno una consegna diretta Il trasferimento avviene mappando l indirizzo IP in un indirizzo MAC, e utilizzando le primitive di consegna di livello 2 STRATO RETE IN INTERNET - 39 STRATO RETE IN INTERNET - 40 Risoluzione di indirizzi Problema che si presenta per ogni trasmissione di datagram IP (host-host, host-router, router-router, router-host) Da indirizzo IP ad indirizzo MAC (fisico) Direct mapping: mediante tabella statica Dynamic binding: protocollo ARP: Address Resolution Protocol (RFC 826) ARP è utilizzato su reti broadcast (LAN) Dato l indirizzo IP dell host con cui si vuole comunicare, permette di ricavarne l indirizzo MAC (es: Ethernet) ARP Un pacchetto con indirizzo MAC destinazione broadcast (request) viene costruito dall host che vuole risolvere l indirizzo. Esso contiene indirizzo IP del destinatario, indirizzo IP ed Ethernet di chi origina la richiesta Tutti gli host nella subnet ricevono la richiesta L host che riconosce nel campo richiesta il proprio indirizzo IP invia un pacchetto di risposta (reply) direttamente al sender STRATO RETE IN INTERNET - 41 STRATO RETE IN INTERNET - 42 Pag. 7

ARP Sia chi origina il pacchetto sia chi lo riceve (e risponde) aggiungono una informazione nella propria tabella ARP Le successive comunicazioni tra i due elaboratori possono avvenire senza ulteriori richieste di ARP Le entry nella tabella di ARP scadono dopo un tempo prefissato ARP a.b.c.d e.f.g.h i.j.h.k l.m.n.o p.q.r.s A B C D E 1 i.j.h.k? 2 08-00-2b-15-47-2c LAN address di C STRATO RETE IN INTERNET - 43 STRATO RETE IN INTERNET - 44 Tabelle di ARP Corrispondenze tra indirizzi IP e indirizzi LAN IP addr LAN addr age 130.192.2.58 08-00-2b-15-47-2e 10 130.192.2.64 08-00-2b-21-56-64 12.......... Tabelle di ARP L indirizzo viene ricercato nella tabella ARP ogni volta che un elaboratore deve comunicare con un altro sulla stessa LAN conoscendone l indirizzo IP Se non si trova un match viene emessa una richiesta di ARP, altrimenti la comunicazione può avvenire usando direttamente l indirizzo MAC STRATO RETE IN INTERNET - 45 STRATO RETE IN INTERNET - 46 Reverse ARP Permette di ottenere un indirizzo IP a partire da un indirizzo di livello 2: Reverse ARP (RARP) Specificato in RFC 903 Usato dagli host durante il boot per configurare automaticamente il proprio indirizzo IP dato che conoscono solo il proprio indirizzo MAC Serve un server RARP Formato del pacchetto ARP 0 8 16 31 Hardware Type Protocol Type HLEN PLEN Operation Sender HW Address Sender HW Address Sender IP Address Sender IP Address Target HW Address Target IP Address Protocol Target HW Address Time To Live Target IP Address STRATO RETE IN INTERNET - 47 STRATO RETE IN INTERNET - 48 Pag. 8

ARP: formato pacchetto Operation: tipo di operazione arp request, arp reply, rarp request, rarp reply Hardware type: tipo di MAC (Ethernet = 1) Protocol type: protocollo che usa ARP (IP=0800H) HLEN (Hardware address length) e PLEN (Protocol address length) permettono di utilizzare ARP con rete arbitraria (indirizzi di dimensione variabile) Consegna indiretta Se host sorgente e destinazione non sono nella stessa subnet, devono usare consegna indiretta Si distinguono: Protocollo di routing: definizione delle modalità con cui i nodi della rete si scambiano informazioni sullo stato della rete Algoritmo di routing: operazioni necessarie per scegliere il percorso verso la destinazione, date le informazioni sullo stato della rete Procedure di forwarding: operazioni necessarie per instradare i singoli pacchetti verso la corretta porta di uscita, dato che si conosce il percorso STRATO RETE IN INTERNET - 49 STRATO RETE IN INTERNET - 50 Consegna indiretta Il mittente identifica quale router incaricare della consegna del datagram IP tra quelli raggiungibili con consegna diretta Il router incaricato sceglie il router successivo, da lui raggiungibile direttamente, sul percorso verso la destinazione Il datagram passa da router a router fino a quello che lo consegna direttamente a destinazione (forwarding) Le Routing Tables Ogni host ed ogni router coinvolto nella consegna IP ha tabelle di instradamento: Routing Tables (RT) Identificano il percorso migliore per ogni destinazione Ovviamente, le tabelle non possono avere informazioni su ogni possibile destinazione Principio: nascondo l informazione I router remoti instradano usando solo la porzione di rete dell indirizzo IP (come postino guarda solo porzione dell indirizzo scritto sulla busta) STRATO RETE IN INTERNET - 51 STRATO RETE IN INTERNET - 52 Il Next-hop Routing Next-hop Routing - esempio Una tabella di routing contiene almeno due informazioni: D indirizzo destinazione R = next-hop D è normalmente un indirizzo di rete R è detto next-hop, e corrisponde ad un host o un router raggiungibile direttamente Se è possibile mettere in relazione l indirizzo di destinazione del pacchetto in transito con un indirizzo D delle RT, il pacchetto viene inviato al relativo R STRATO RETE IN INTERNET - 53 rete 20.0.0.0 20.0.0.99 A 30.0.0.99 rete 30.0.0.0 30.0.0.13 rete 50.0.0.0 50.0.0.13 X 50.0.0.254 B 90.0.0.254 rete 90.0.0.0 Tabella del router A INDIR. RETE NEXT DESTINAZ. HOP 20.0.0.0 30.0.0.0 50.0.0.0 90.0.0.0 diretto diretto 30.0.0.13 30.0.0.13 STRATO RETE IN INTERNET - 54 Pag. 9

Instradamenti Default e Specifici Se il next-hop è unico (es: piccola sottorete con unico router), le tabelle di instradamento degli host possono contenere solo una route per l esterno, chiamata default route L instradamento può essere specificato per host (host specific route) e non per sottorete per ragioni di: testing maggior sicurezza Configurazioni particolari Routing Table - esempio [mellia@verza mellia]$ /sbin/route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 130.192.9.150 * 255.255.255.255 UH 0 0 0 eth0 10.1.1.1 * 255.255.255.255 UH 0 0 0 eth1 192.168.9.0 acegw01.polito. 255.255.255.192 UG 0 0 0 eth0 130.192.9.128 * 255.255.255.128 U 0 0 0 eth0 130.192.9.0 sigkill.polito. 255.255.255.128 UG 0 0 0 eth0 10.1.1.0 * 255.255.255.0 U 0 0 0 eth1 127.0.0.0 * 255.0.0.0 U 0 0 0 lo default l3.polito.it 0.0.0.0 UG 0 0 0 eth0 STRATO RETE IN INTERNET - 55 STRATO RETE IN INTERNET - 56 Gestione delle Routing Tables Le tabelle di Routing sono fondamentali per il funzionamento corretto di Internet Problemi da affrontare: come inizializzare le RT? quali informazioni devono contenere? come aggiornarle? consistenza tra RT e assenza di loop Inizializzazione delle RT Dipende dal sistema operativo: lettura da un file di configurazione, eventualmente scritto dall operatore esecuzione di comandi di scoperta da inviare sulla rete scambio di informazioni con altri host sulla rete locale STRATO RETE IN INTERNET - 57 STRATO RETE IN INTERNET - 58 Compilazione delle Routing Tables Gestite dall algoritmo di routing Le RT possono cambiare a causa di: interventi sulle topologie guasti sovraccarichi L informazione sui cambiamenti deve essere propagata tra router mediante le procedure previste dall algoritmo di routing utilizzato, secondo le specifiche del protocollo di routing selezionato Procedure di forwarding in IP Estraggo dal pacchetto la parte netid dell indirizzo IP di destinazione (facile con classi) Se sono collegato direttamente alla destinazione, uso consegna diretta Altrimenti, cerco host specific route Altrimenti, cerco next-hop memorizzato per quella rete Altrimenti, cerco default route Altrimenti, dichiaro errore di routing STRATO RETE IN INTERNET - 59 STRATO RETE IN INTERNET - 60 Pag. 10

Conseguenze dell introduzione del subnetting Gli host ed il router locale (solo quello!) deve utilizzare AND tra indirizzo IP e maschera per individuare il netid correttamente Devo memorizzare nella routing table del router locale anche le netmask Per gli altri ruoter non sono richieste modifiche. Posso usare forwarding standard Conseguenze dell introduzione del supernetting (e CIDR) Ad un sito che richiede molti indirizzi IP sono allocati in modo contiguo più subnet di classe C, condividendo i bit più significativi Risultato: un router non deve più distinguere tutte le singole reti di classe C, ma occupa una sola riga nelle RT La consultazione delle RT avviene con il criterio del longest match STRATO RETE IN INTERNET - 61 STRATO RETE IN INTERNET - 62 Conseguenze dell introduzione del supernetting (e CIDR) CIDR ha il vantaggio di permettere una aggregazione degli indirizzi su base topologica e geografica......ma lo svantaggio di complicare la funzione di forwarding perchè: è necessario fare confronti con prefissi a lunghezza variabile (necessario memorizzare nelle RT, oltre all indirizzo di rete, anche la relativa netmask) bisogna scorrere tutta la tabella per individuare il prefisso con il longest match, perchè più entry della tabella possono corrispondere a uno stesso indirizzo destinazione CIDR: operazioni di un forwarding Un router riceve un pacchetto con indirizzo destinazione x.y.z.w Esegue AND bit a bit, per ogni riga delle RT tra: l indirizzo di destinazione nella routing table e la netmask l indirizzo ricevuto x.y.z.w e la stessa netmask Confronto i risultati degli AND: se sono uguali, ho un matching Instrado secondo la riga delle RT che ha avuto il maggior numero di bit di matching STRATO RETE IN INTERNET - 63 STRATO RETE IN INTERNET - 64 Esempio CIDR Esempio CIDR 130.192.71.8 130.192.68.0 01000100 R 2 130.192.71.0 130.192.71.8 130.192.68.0 01000100 R 2 130.192.71.0 S R R 1 01000111 01111000 S R R 1 01000111 R 3 130.192.120.0 R.T. R 3 130.192.120.0 STRATO RETE IN INTERNET - 65 130.192.68.0 255.255.192.0 R1 01111000 11000000 STRATO RETE IN INTERNET - 66 Pag. 11

Esempio CIDR Esempio CIDR 130.192.71.8 S R R 1 R.T. 130.192.68.0 01000100 R 2 R 3 130.192.71.0 01000111 130.192.120.0 130.192.68.0 255.255.192.0 R1 (18) 01111000 STRATO RETE IN INTERNET - 67 130.192.71.8 S R R 1 R.T. 130.192.68.0 R 2 R 3 130.192.68.0 255.255.192.0 R2 130.192.120.0 255.255.240.0 R3 130.192.71.0 01000111 130.192.120.0 11110000 01000100 01111000 STRATO RETE IN INTERNET - 68 S R R 1 R.T. Esempio CIDR 130.192.71.8 130.192.68.0 01000100 R 2 R 3 130.192.68.0 255.255.192.0 R2 (18) 130.192.120.0 255.255.240.0 R3 130.192.71.0 01000111 01111000 130.192.120.0 STRATO RETE IN INTERNET - 69 S R R 1 Esempio CIDR R.T. 130.192.68.0 R 2 130.192.71.8 R 3 130.192.68.0 255.255.255.0 D 130.192.71.0 255.255.255.0 D 130.192.71.0 130.192.120.0 01000100 01000111 01111000 STRATO RETE IN INTERNET - 70 Esempio CIDR 130.192.68.0 01000100 R 2 130.192.71.0 S R R 1 130.192.71.8 R.T. R 3 130.192.120.0 130.192.68.0 255.255.255.0 D 130.192.71.0 255.255.255.0 D (24) STRATO RETE IN INTERNET - 71 Come si ottengono indirizzi IP? Come ottiene indirizzi IP un ISP? ICANN: Internet Corporation for Assigned Names and Numbers alloca indirizzi gestisce DNS assegna nomi di dominio, risolve liti http://www.icann.org/ STRATO RETE IN INTERNET - 72 Pag. 12

Come si ottengono indirizzi IP? Indirizzi di rete (net_id): si chiede una porzione di indirizzi IP ad un ISP ISP's block 11001000 00010111 00010000 00000000 200.23.16.0/20 Organizzazione 0 11001000 00010111 00010000 00000000 200.23.16.0/23 Organizzazione 1 11001000 00010111 00010010 00000000 200.23.18.0/23 Organizzazione 2 11001000 00010111 00010100 00000000 200.23.20.0/23....... Organizzazione 7 11001000 00010111 00011110 00000000 200.23.30.0/23 Come si ottengono indirizzi IP? Indirizzi di host in sottorete (host_id): Assegnazione libera, configurati da amministratore di rete Statica Wintel: control-panel->network->configuration->tcp/ip->properties UNIX: /etc/rc.config Dinamica DHCP: Dynamic Host Configuration Protocol (RFC 2131) Ottengo dinamicamente indirizzi: host inviano in broadcast DHCP discover msg DHCP server risponde con DHCP offer msg host richiede indirizzo IP: DHCP request msg DHCP server invia indirizzo: DHCP ack msg STRATO RETE IN INTERNET - 73 STRATO RETE IN INTERNET - 74 Da sorgente a destinazione: esempio tabella di routing in A Datagram IP: misc fields source IP addr dest IP addr data Interessano solo campi indirizzo Gli indirizzi NON si modificano da sorgente a destinazione A B Dest. Net. next router 223.1.1 1 223.1.2 223.1.1.4 2 223.1.3 223.1.1.4 2 223.1.1.1 223.1.2.1 223.1.1.2 223.1.1.4 223.1.2.9 223.1.1.3 223.1.3.1 223.1.3.27 Nhops 223.1.2.3 E 223.1.3.2 STRATO RETE IN INTERNET - 75 Da sorgente a destinazione: esempio misc fields 223.1.1.1 223.1.1.3 data In A, noto indirizzo IP di B: guardo net_id di B trovo che B appartiene alla stessa sotto rete di A invio datagram direttamente a B usando indirizzo MAC B e A sono collegati direttamente A B Dest. Net. next router Nhops 223.1.1 1 223.1.2 223.1.1.4 2 223.1.3 223.1.1.4 2 223.1.1.1 223.1.2.1 223.1.1.2 223.1.1.4 223.1.2.9 223.1.1.3 223.1.3.1 223.1.3.27 223.1.2.3 E 223.1.3.2 STRATO RETE IN INTERNET - 76 Da sorgente a destinazione: esempio misc fields 223.1.1.1 223.1.2.3 data In A, noto IP di E: confronto net_id E su rete diversa A, E non sono collegati direttamente tabella di routing: next hop 223.1.1.4 invio datagram al router 223.1.1.4 usando indirizzo MAC del router A B Dest. Net. next router Nhops 223.1.1 1 223.1.2 223.1.1.4 2 223.1.3 223.1.1.4 2 223.1.1.1 223.1.2.1 223.1.1.2 223.1.1.4 223.1.2.9 223.1.1.3 223.1.3.1 223.1.3.27 223.1.2.3 E 223.1.3.2 STRATO RETE IN INTERNET - 77 Da sorgente a destinazione: esempio misc fields 223.1.1.1 223.1.2.3 data Dest. next network router Nhops interface Arrivo a 223.1.1.4, 223.1.1-1 223.1.1.4 destinato a 223.1.2.3 223.1.2-1 223.1.2.9 confronto net_id di E e 223.1.3-1 223.1.3.27 verifico che sono sulla A 223.1.1.1 stessa rete con interfaccia 223.1.1.2 223.1.2.1 223.1.2.9 223.1.1.4 223.1.2.9 B router ed E attaccati 223.1.1.3 direttamente 223.1.3.27 223.1.2.3 E invio datagram a 223.1.2.3 223.1.3.1 223.1.3.2 con indirizzo MAC di E STRATO RETE IN INTERNET - 78 Pag. 13

Proxy ARP Ogni host in una subnet deve essere configurato per conoscere almeno Il suo indirizzo IP La netmask della subnet di appartenenza L indirizzo del router di default, per fare consegna indiretta Per reti grandi, è possibile avere Router diversi che permettono la comunicazione tra subnet diverse Host specific route per host particolari Ogni volta che cambia la configurazione di rete, occorre riconfigurare tutti gli host Proxy ARP Meccanismo alternativo: proxy ARP (RFC 1027) Si configura ogni host come se tutti gli indirizzi IP fossero raggiungibili per consegna diretta (indicando una subnet 0.0.0.0, oppure indicando il proprio indirizzo IP come default gateway) Ogni volta che un pacchetto deve essere instradato verso un indirizzo destinazione, l host effettua una richiesta di ARP Se l IP è effettivamente raggiungibile in consegna diretta, l host destinazione risponde alla ARP-request Altrimenti il Router che sa come instradare il pacchetto verso la destinazione, risponde alla richiesta indicando il suo indirizzo MAC per la consegna diretta STRATO RETE IN INTERNET - 79 STRATO RETE IN INTERNET - 80 Proxy ARP Permette di variare l instradamento dei pacchetti all interno di una stessa LAN senza riconfigurare tutti gli host Solo i router hanno conoscenza delle subnet direttamente raggiungibili Svantaggi: Inonda la rete di richieste ARP (broadcast non filtrato dai bridge) Sovraccarica le CPU dei router che devono rispondere a tutte le richieste ARP Network Address Translation Network Address Translation (NAT) è un meccanismo per cui indirizzi IP sono mappati da un indirizzo ad un altro, fornendo instradamento trasparente agli end host Permette di riutilizzare lo stesso indirizzo in più punti della rete Ci sono diverse versioni di NAT (RFC 1631,2663,2993,3022,3235) STRATO RETE IN INTERNET - 81 STRATO RETE IN INTERNET - 82 NAT NAT Una organizzazione utilizza indirizzi privati al suo interno Un router collega la rete privata alla rete internet pubblica Deve avere almeno due indirizzi: uno interno (privato) e uno esterno (pubblico) Rete privata 10.0.0.0 10.0.0.255 Router di bordo 201.2.2.1 Rete pubblica Quando un pacchetto deve essere consegnato ad un host non appartenente alla rete interna Viene instradato verso il router di bordo Il router di bordo sostituisce l indirizzo sorgente originale con il suo indirizzo IP esterno Il pacchetto viene instradato come al solito Rete privata 10.0.0.0 10.0.0.255 Router di bordo 201.2.2.1 Rete pubblica 201.2.2.1 130.192.9.131 10.0.0.1 130.192.9.131 STRATO RETE IN INTERNET - 83 STRATO RETE IN INTERNET - 84 Pag. 14

Quanto un pacchetto dall esterno giunge al router di bordo, questo ricorda a quale host interno deve essere in realtà consegnato Sostituisce l indirizzo destinazione (suo) con quello dell host destinazione Instrada il pacchetto nella rete interna come al solito NAT Rete privata 10.0.0.0 10.0.0.255 Router di bordo 201.2.2.1 Rete pubblica 130.192.9.131 201.2.2.1 130.192.9.131 10.0.0.1 NAT Problema: cosa succede se più di un host interno comunica con lo stesso host esterno? Si usano più porzioni di intestazioni per cercare di avere un mapping uno a uno stringente Vantaggi: Riduce il numero di indirizzi IP necessari (riuso di indirizzi privati) Sicurezza: un host interno NON può essere contattato dall esterno se esso non ha per primo contattato la destinazione STRATO RETE IN INTERNET - 85 STRATO RETE IN INTERNET - 86 Pag. 15