Il protocollo IP (Internet Protocol)

Documenti analoghi
Il protocollo IP (Internet Protocol)

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

Reti di Calcolatori I

Internet Control Message Protocol (ICMP)

Reti a commutazione di pacchetti I dati vengono divisi in pacchetti I pacchetti vengono spediti singolarmente sulla rete

TCP/IP: summary. Lorenzo Cavallaro, Andrea Lanzi

Configurazione delle interfacce di rete

Livello rete. Piano di controllo. Introduzione: Piano dei dati e piano di controllo Architettura di un router IP: Internet Protocol

3 - Internet Protocol

Fondamenti di Internet e Reti. Antonio Capone, Matteo Cesana, Ilario Filippini, Guido Maier

La rete Internet. La Rete Logica. Vincenzo Eramo R 2 R 3 R 4 R 1 R 5. I terminali della rete sono denominati Host

Corso di. Reti di Telecomunicazioni a.a

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

Fondamenti di Internet e Reti. Antonio Capone, Matteo Cesana, Ilario Filippini, Guido Maier

Internet Protocol Cenni introduttivi

TCP/IP: una breve introduzione

TCP/IP: una breve introduzione

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

Reti di Calcolatori IL LIVELLO RETE

Protocollo IP. Pacchetto e comandi

4b. Esercizi sul livello di Rete Inoltro in IP

IL LIVELLO RETE IN INTERNET Protocollo IP

IL PROTOCOLLO ICMP. Walter Cerroni. D.E.I.S. - Università di Bologna.

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

Reti di Calcolatori RETI DI CALCOLATORI A.A Il livello Rete in Internet. Carlo Mastroianni 4-1. Funzioni del livello di rete 4-2

R. Cusani - F. Cuomo, Telecomunicazioni - Network layer: CIDR, ARP, ICMP, Maggio 2010

Il livello Rete in Internet

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

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

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

Il protocollo IP. Corso di Reti di Telecomunicazione a.a. 2013/14

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

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

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

Formato del datagramma IP

Reti di Calcolatori. IL LIVELLO RETE IN INTERNET Protocollo IP

INTERNET PROTOCOL RFC 791

ICMP ARP RARP DHCP -NAT

IL LIVELLO RETE IN INTERNET Protocollo IP

IPv6: aspetti generali

TCP/IP. Transmission Control Protocol/ Internet Protocol

Lo strato di Trasporto

Plazzotta Marco Sistemi e Reti Protocolli a livello di rete

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

Il protocollo IPv4. Struttura di Internet. Vincenzo Eramo. Page 1. Router. Reti di Accesso (Sotto-reti) Frame Relay PSTN ATM X.25. Host. INFOCOM Dept.

Network layer. (cenni) Applicazioni di Rete M. Ribaudo - DISI. Network layer. application transport. network data link physical

Protocolli ARP e RARP

III - 2. Il Livello Rete. Corso di RETI DI CALCOLATORI (9 CFU) a.a II anno / II semestre. Il Livello Rete.

Capitolo 4 - parte 2. Corso Reti ed Applicazioni Mauro Campanella

Parte II: Reti di calcolatori Lezione 14

UDP. User Datagram Protocol. UDP Connectionless

Il livello Network del TCP/IP. Il protocollo IP (versione 4)

IP Internet Protocol

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

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori (a.a. 2011/12)

Marco Listanti. INFOCOM Dept

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

Corso di Reti di Telecomunicazioni

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori I

Parte II: Reti di calcolatori Lezione 17 (41)

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

7. Il protocollo IP Architettura e filosofia di internet APPLICATION SERVICES RELIABLE TRANSPORT SERVICE CONNECTIONLESS PACKET DELIVERY SERVICE

L indirizzamento in IP

IL LIVELLO RETE IN INTERNET Protocollo IP

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE

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

Reti di Calcolatori - Laboratorio. Lezione 8. Gennaro Oliva

Parte II: Reti di calcolatori Lezione 16 (40)

Marco Listanti. Strato di rete. INFOCOM Dept

Reti di Calcolatori 1

IP Routing Silvano GAI Mario Baldi Pietro Nicoletti Le slide sono coperte da copyright il loro uso senza fini di lucro e' concesso dagli autori

Il livello Network del TCP/IP. Il protocollo IP (versione 4)

Indirizzi Internet. Indirizzi Internet (2)

Corso di Reti II. Materiale del corso

IPv6. Motivazione iniziale: spazio di indirizzi di 32-bit in esaurimento

Il livello Rete: IP Indirizzamento - Subnetting

Corrispondenza tra OSI e TCP/IP. Il TCP/IP è un protocollo a 4 livelli, ecco l analogia con OSI:

Corso di Reti di Calcolatori

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

Sommario. Complementi di Reti e Sistemi. Telecomunicazioni. 4. Livello Rete. Indirizzi IP. Notazione decimale. 4. Rete

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

Le Reti Informatiche

TCP/IP un introduzione

Internet Protocol Versione 4: aspetti generali

Protocollo ICMP, comandi ping e traceroute

UNIVERSITA DEGLI STUDI DI PAVIA

RETI DI CALCOLATORI. Internet Protocol

1) (commutazione pacchetto, prodotto banda-ritardo) 2) (frammentazione, commutazione di pacchetto) 3) (Selective Repeat)

Caratteristica Reti basate su datagrammi Reti basate su circuito virtuale

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


Gestione delle Reti di Telecomunicazioni

Reti di calcolatori TCP/IP. Slide a cura di Simon Pietro Romano

Sommario. Il modello TCP/IP. Introduzione al modello TCP/IP. Imbustamento in OSI. TCP/IP e OSI Applicazione (telnet, ftp, smtp,...

Il livello trasporto: Introduzione e protocollo UDP

Il protocolli di Internet. Prof. Franco Callegati DEIS Università di Bologna

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

Transcript:

Politecnico di Milano Advanced Network Technologies Laboratory Il protocollo IP (Internet Protocol) - Servizi offerti da IP - Formato del pacchetto IP

Il servizio di comunicazione offerto da IP o Connectionless n progettato secondo un paradigma packetoriented (o datagram) n Due pacchetti (o datagrammi) destinati alla stesso host possono essere trattati in maniera diversa o Non affidabile n Consegna best-effort dei datagrammi senza garanzia di successo n Analogia con il servizio postale ordinario

Pacchetto vs Circuito Virtuale Source: Computer Networking, J. Kurose Approccio a circuito virtuale: ATM, X25, Frame Relay Approccio a pacchetto: IP

Altri Servizi Offerti da IP o Indirizzamento: assegna un indirizzo universalmente riconosciuto o Frammentazione/Deframmentazione: frammenta/deframmenta i pacchetti se il livello locale (livello 2) lo richiede (IP è pensato per funzionare su molteplici tecnologie di livello inferiore)

Lo stack IP base 4 TCP UDP 3 routing ICMP ARP IP Livelli inferiori

Il pacchetto (datagramma) IP Header 1 16 32 bit Ver HLEN TOS (DS) Total length Fragment Identification Flags Frag. Offset TTL Protocol Header Checksum Source address Destination address Options: source routing, record route, timestamp 20 BYTE fino a 40 BYTE Dati

I campi dell header IP o Ver (4 bit): n Version: indica la versione del protocollo; IPv4, IPv6. Se il campo VER non corrisponde alla versione del protocollo implementata sul router ricevente, il pacchetto viene scartato. o HLEN (4 bit) n Header length: indica la lunghezza dell header del pacchetto espressa in parole da 32 bit (max 64 byte) o Total length (16 bit): n Indica la lunghezza totale del pacchetto in byte: valore massimo 2 16 =65536; una volta sottratta la dimensione dell header dà la lunghezza del payload. Serve solo se il livello sottostante effettua padding riempitivo.

I campi dell header IP o TOS type of service (8 bit) n Ha subito diversi cambi di significato nel tempo, sempre legati alla gestione del pacchetto nelle code dei router n Il più recente è: 0 5 6 8 DSCP ECN o Differentiated Services Code Point o Explicit Congestion n Default (0) Notification n n n Expedited Forwarding /Voice Admit(46/44) Assured Forwarding (Differenti mix di classe di priorità e precedenza di dropping) Class selector (8 differenti classi di probabilità) n Usato nei router per segnalare un imminente congestione (e drop dei pacchetti) alle destinazioni

Il campo Protocol o E un codice che indica il protocollo di livello superiore o Più protocolli di livello superiore possono usare IP (multiplazione) o Il codice identifica il SAP (Service Access Point) tra IP e il protocollo di livello superiore TCP UDP IP Livelli inferiori Valore Protocollo 1 ICMP 2 IGMP 6 TCP 17 UDP 89 OSPF

Il campo Time To Live (TTL) o Il campo TTL viene settato ad un valore elevato da chi genera il pacchetto e viene decrementato da ogni router attraversato o Se un router decrementa il valore e questo va a zero, il pacchetto viene scartato e viene generato un messaggio di errore verso la sorgente o Time-out sulla validità di un pacchetto TTL=250 TTL=2 TTL=1 messaggio d errore: time exceeded TTL=0

La Frammentazione (1) o Alcuni protocolli di livello inferiore a cui IP si appoggia richiedono una dimensione massima del pacchetto IP (Maximum Transfer Unit, MTU) inferiore a 65536 bytes Pacchetto IP = Header + Payload MTU Protocollo MTU (byte) Token Ring 16Mb/s 17914 Header Pacchetto IP Trailer FDDI 4352 Ethernet 1500

La Frammentazione (2) G IP IP frag. IP LL (A) LL (A) LL (B) LL (B) Rete A Rete B

La Frammentazione (3) o Prima di passare il pacchetto al livello inferiore IP divide il pacchetto in frammenti ciascuno con il proprio header o Un frammento di un pacchetto può essere frammentato ulteriormente lungo il cammino o I frammenti verranno ricomposti dall entità IP del destinatario indicato nell header IP (frammenti di uno stesso pacchetto possono seguire diversi percorsi) o I campi Identification, Flags e Frag. Offset sono usati per questo scopo

I campi usati per la frammentazione (1) o Identification (16 bit) n E un campo che identifica tutti i frammenti di uno stesso pacchetto in modo univoco. E scelto dall IP che effettua la frammentazione o Frag. Offset (13 bit) n n I byte del pacchetto originale sono numerati da 0 al valore della lunghezza totale. Il campo Frag. Offset di ogni frammento riporta il numero di sequenza del primo byte del frammento (in parole da 8 byte). esempio: se un pacchetto di 2000 byte viene diviso in due da 1000 il primo frammento avrà un Frag Offset pari a 0 e il secondo pari a 1000/8

I campi usati per la frammentazione (2) o Flags - D M n Il bit M (More) è pari a 0 solo nell ultimo frammento n Il bit D (Do not fragment) viene posto a 1 quando non si vuole che lungo il percorso venga applicata la frammentazione o In questo caso, se la frammentazione fosse necessaria, il pacchetto sarebbe scartato e verrebbe generato un messaggio di errore

La Frammentazione in pratica o L overhead computazionale legato alla frammentazione può essere rilevante o Si tende, quindi, a non frammentare, limitando la dimensione dei segmenti che arrivano all IP dal livello di trasporto. o IP supporta tecnologie sottostanti in grado di gestire trame di almeno 576 byte o Si pone la dimensione dei segmenti del livello di trasporto pari a 536 byte (+20byte TCP + 20byte IP) o La maggior parte delle applicazioni per trasferimento di dati (HTTP) funzionano con dimensione di segmenti tra 512-536 byte.

Il campo Header Checksum: controllo di integrità o Informazione ridondante inserita nell header del pacchetto IP per controllo d errore sull header o Il campo di checksum (16 bit) è calcolato dal trasmettitore ed inserito nell header o Il ricevitore ripete lo stesso calcolo sul pacchetto ricevuto (comprensivo di checksum) o Se il risultato è soddisfacente accetta il pacchetto altrimenti lo scarta

Caacolo del Checksum lato trasmettitore o L header è diviso in blocchi da 16 bit o Il Checksum è inizializzato a 0 o Tutti i blocchi vengono sommati modulo 2 o Il risultato è complementato ed inserito nel campo di checksum + + + = checksum tutti 0 somma complemento a 1

Clacolo del Checksum lato ricevitore o L header è diviso in blocchi da 16 bit o Tutti i blocchi vengono sommati modulo 2 o Il risultato è complementato n n Se sono tutti 0 il pacchetto è accettato Altrimenti è scartato + + + checksum = somma complemento a 1

Le Opzioni o La parte iniziale dell header IP è di 20 byte ed è sempre presente o Campi opzionali possono allungare l header fino ad un massimo di 60 byte o Opzioni usate per Testing e Debugging 1 32 bit Ver HLEN TOS Total length Fragment Identification Flags Frag. Offset TTL Protocol Header Checksum Source address Destination address Options: security, source routing, record route, timestamp 20 BYTE Dati

Le Opzioni code 8 bit length 8 bit data dimensione variabile copy 1 bit class 2 bit option number 5 bit Copy: 0 opzione copiata solo nel primo frammento 1 opzione copiata in tutti i frammenti Class: 00 controllo 10 gestione e debugging Option number: 00000 end of option (1 byte) 00001 no operation (1 byte) 00011 loose source route 00100 time stamp 00111 record route 01001 strict source route Richiedono il campo dati

End Of Option e No operation o Sono campi opzione di 1 byte utilizzati per fare padding o Non hanno la parte di dati Source: TCP/IP Protocol Suite, B. Forouzan.

Record Route (1) code 8 bit length 8 bit 1 st address 32 bit 2 nd address 32 bit 9 th address 32 bit pointer 8 bit 40 byte o Serve per registrare il percorso del pacchetto o Il campo pointer punta al primo byte libero nella lista degli address o Ogni volta che viene attraversato un router il suo indirizzo IP d uscita viene registrato nel campo puntato e il pointer viene aumentato di 4

Record Route (2) o Esempio: 10.10.9.1 10.10.9.0 10.10.9.2 10.10.10.1 10.10.10.2 10.10.10.0 10.10.8.1 10.10.8.0 4 8 10.10.10.1 10.10.10.1 10.10.8.1 12

Strict Source Route o o o o o Implementa un meccanismo di source routing Tutti i campi address sono inizialmente pieni e indicano i router che si vuole vengano attraversati Il puntatore viene incrementato di 4 ad ogni hop Se viene raggiunto un router non previsto il pacchetto viene scartato e viene generato un messaggio di errore (usata molto raramente!!!) code 8 bit length 8 bit 1 st address 32 bit 2 nd address 32 bit 9 th address 32 bit pointer 8 bit 40 byte

Loose Source Route o Come la precedente, ma è possibile visitare anche altri router (il pacchetto non viene scartato) o (usata molto raramente!!!) code 8 bit length 8 bit 1 st address 32 bit 2 nd address 32 bit 9 th address 32 bit pointer 8 bit 40 byte

Time Stamp code 8 bit length 8 bit pointer 8 bit 1 st address 32 bit 1 st time stamp 32 bit 2 nd address 32 bit 2 nd time stamp 32 bit o Misura il tempo assoluto di uscita del pacchetto da un router o Il campo Over-Flow indica i router sul percorso che non hanno potuto aggiungere il timestamp o Il campo Flag indica la modalità operativa stabilita dal mittente O-Flow 4 bit Flag 4 bit

Struttura Implementativa protocollo IP Source: TCP/IP Protocol Suite, B. Forouzan.

Politecnico di Milano Advanced Network Technologies Laboratory Internet Control Message Protocol (ICMP) RFC 792

Internet Control Message Protocol (ICMP) o E un protocollo per messaggi di servizio fra host e router per informazioni su errori e fasi di attraversamento della rete o Da questo punto di vista può essere considerato come parte di IP o I messaggi ICMP sono incapsulati e trasportati da IP, e quindi da questo punto di vista può essere considerato un utente di IP ICMP ICMP IP IP Livelli inferiori

Internet Control Message Protocol (ICMP) messaggio ICMP header ICMP sezione dati del messaggio ICMP header IP payload pacchetto IP header della trama MAC payload della trama MAC o Nel pacchetto IP il campo protocol indica il codice dell ICMP o Il messaggio ICMP viaggia all interno del pacchetto IP

Formato messaggi ICMP type 8 bit code 8 bit resto dell header 32 bit checksum 16 bit sezione dati lunghezza variabile Type 0 Echo reply 3 Destination unreachable 4 Source Quench 5 Redirect (change a route) 8 Echo request 11 Time exceeded Type 11 Parameter problem 13 Timestamp request 14 Timestamp reply 17 Address mask request 18 Address mask reply

Tipi di messaggi o Error Reporting n Destination Unreachable (type 3) n Source Quench (type 4) n Time Exceeded (type 11) n Parameter Problem (type 12) n Redirection (type 5) o Query n Echo Request/Reply (type 8,0) n Timestamp Request/Reply (type 13/14) n Address Mask Request/Reply (type 17/18) n Router Solicitation/Advertisment (type 10/9)

Funzionalità di Error Reporting o ICMP non corregge errori, ma si limita a segnalarli. o L evento errore è notificato alla sorgente del pacchetto IP che lo ha causato o Eventi gestiti n Destination Unreachable (type 3) n Source Quench (type 4) [deprecato, tipo di congestion control] n Time Exceeded (type 11) n Parameter Problem (type 12) n Redirection (type 5) o I messaggi di errore contengono l header del pacchetto IP che li ha generati e i suoi primi 8 byte di dati.

Destination Unreachable type (3) code (0-12) checksum non usato (0) header + primi 64 bit del pacchetto IP che ha causato il problema o o o o Quando un router scarta un pacchetto per qualche motivo normalmente genera un messaggio di errore che invia alla sorgente del pacchetto Nel campo code è codificato il motivo che ha causato l errore Ovviamente la generazione del messaggio avviene solo nei casi in cui il router può accorgersi del problema Il motivo più comune è il fatto che la destinazione non è presente nella tabella di routing (code = 7)

Destination unreachable type (3) code (0-12) checksum non usato (0) header + primi 64 bit del pacchetto IP che ha causato il problema Alcuni Code: 0 network unreachable 1 host unreachable 2 protocol unreachable 3 port unreachable 4 fragmentation needed and DF set 5 source route failed...

Time exceeded type (11) code (0-1) checksum non usato (0) header + primi 64 bit del pacchetto IP che ha causato il problema o Code 0 (inviato dai router) n Il messaggio di time exceeded viene usato quando il router decrementando il TTL lo pone a 0 n Il messaggio di time exceeded viene inviato alla sorgente del pacchetto o Code 1 (inviato dalla destinazione) n Viene usato dalla destinazione quando non tutti i frammenti di un pacchetto arrivano entro un tempo massimo

Parameter problem type (12) pointer code (0-1) checksum non usato (0) header + primi 64 bit del pacchetto IP che ha causato il problema o Code 0 n Se l header di un pacchetto IP ha una incongruenza in qualcuno dei suoi campi viene inviato il messaggio di parameter problem; il campo pointer punta al byte del pacchetto che ha causato il problema o Code 1 n Viene usato quando un opzione non è implementata o qualche parte del campo opzioni manca

Redirect type (5) code (0-3) indirizzo IP del router checksum header + primi 64 bit del pacchetto IP o Questo messaggio viene usato quando si vuole che la sorgente usi per quella destinazione un diverso router A dest. A dest. A redirect

Funzionalità di diagnostica o Coppie di messaggi secondo il paradigma domanda/risposta o Tipi di messaggi: n Echo Request/Reply (type 8,0) n Timestamp Request/Reply (type 13/14) n Address Mask Request/Reply (type 17/18) n Router Solicitation/Advertisment (type 10/9)

Funzionalità di Echo o I messaggi di Echo-request e Echo-reply sono usati per verificare la raggiungibilità e lo stato di un host o un router o Quando un nodo IP riceve un messaggio di Echo-request risponde immediatamente con un messaggio di Echo reply echo-request echo-reply

Messaggi Echo type (8 request, 0 reply) identifier code (0) checksum sequence number optional data o o o o Il campo identifier viene scelto dal mittente della richiesta Nella risposta viene ripetuto lo stesso identifier della richiesta Più richieste consecutive possono avere lo stesso identifier e differire per il sequence number Una sequenza arbitraria può essere aggiunta dal mittente nel campo optional data e deve essere riportata uguale nella risposta

Uso Messaggi di Echo: PING

Uso dei messaggi ICMP: applicativo di traceroute

Traceroute: come funziona? o Il traceroute usa (normalmente) messaggi di Echo-request verso la destinazione o I primo messaggio ha il TTL=1 TTL=1 echo-request TTL:=TTL-1=0 Time-exceeded

Traceroute: come funziona? o I secondo messaggio ha il TTL=2 TTL=2 echo-request TTL:=TTL-1=1 TTL:=TTL-1=0 Time-exceeded

Traceroute: come funziona? o I terzo messaggio ha il TTL=3, e così via TTL=3 echo-request TTL:=TTL-1=2 TTL:=TTL-1=1 TTL:=TTL-1=0 Time-exceeded

Timestamp request e reply type (13 request, 14 reply) identifier code (0) checksum sequence number originate timestamp receive timestamp transmit timestamp o Questo messaggio viene usato per lo scambio di informazioni sul clock di sorgente e destinazione o Originate timestamp: viene riempito dalla sorgente o Receive timestamp: viene riempito dalla destinazione appena ricevuto il pacchetto o Transmit timestamp: viene riempito dalla destinazione immediatamente prima di inviare il pacchetto di risposta

Address mask request e reply type (17 request, 18 reply) identifier code (0) checksum sequence number address mask o Questo messaggio viene usato per conoscere la netmask o Address mask request viene inviato ad un router (o in broadcast) che risponde con un Address mask reply o Il campo address mask viene riempito dal destinatario o Funzionalità di configurazione, oggi viene usato DHCP o Funzionalità simile ad Router advertisement e Router solicitation per annunciare la presenza di un router o richiedere l invio di un annuncio