1 Telematica A.A. 2005/2006 Il datagramma IP (STD 5, RFC 791)
2 Il datagramma IP: struttura Ver. Identificatore (16 bit) Tempo di vita Indirizzo IP sorgente (32 bit) Indirizzo IP destinazione (32 bit) Opzioni (se presenti) Tipo di servizioLunghezza del datagramma (byte) Offset frammento (13 bit) H len. Flag Prot. trasportoChecksum dell'header Dati
3 Datagramma IP: analisi dei campi ● Versione (4 bit): specifica la versione di IP usata (attualmente IPv4 o IPv6) ● Hlen (lunghezza dell'header, 4 bit): lunghezza dell'intestazione espressa in parole da 32 bit. Tipicamente vale 0101 ovvero 20 byte. ● Tipo di servizio (8 bit): serve per “colorare” il datagramma IP (basso ritardo, affidabilità, ecc...). Nella RFC791 (STD5) c'è una prima classificazione, ma si veda anche RFC2474.
4 Datagramma IP: analisi dei campi ● Lunghezza del datagramma (16 bit): è la lunghezza di tutto il datagramma in byte header incluso. ● Identificatore, flag, offset: sono campi per la frammentazione (vedi più avanti). ● Tempo di vita (8 bit): ad ogni passaggio da un router viene decrementato, quando raggiunge lo zero viene scartato. Assicura che eventuali percorsi ad anello non provochino traffico perpetuo nella rete.
5 Datagramma IP: analisi dei campi ● Protocollo (8 bit): in ricezione indica quale protocollo dello strato superiore deve ricevere i dati. Inizialmente la tabella era nella RFC1700 (STD2), attualmente è un database online che si trova su iana.orgiana.org ● Checksum dell'intestazione (16 bit): viene calcolato il checksum della sola intestazione (ponendo questo campo pari a zero) ad ogni router (TTL!). Se si ottiene un errore si scarta il datagramma.
6 Datagramma IP: analisi dei campi ● Indirizzi sorgente e destinazione (32 bit): indirizzi IP del mittente e del destinatario. ● Opzioni (lunghezza variabile, multiplo di 32 bit): campo usato molto raramente, era stato inserito per fornire una espandibilità che, nella pratica, non è mai stata sfruttata appieno. Per questa ed altre ragioni questo campo è stato eliminato da IPv6. ● Dati: dati trasportati dal datagramma IP.
7 FRAMMENTAZIONE IP ● MTU (Maximum Transfer Unit): è la quantità massima di dati trasportata dal protocollo di collegamento. Può variare da una LAN all'altra (ethernet 1500, ATM 576, ecc.). ● Tramite il campo identificatore si radunano tutti i pacchetti appartenenti allo stesso frammento, con offset si ordinano e con flag si individua l'ultimo.
8 FRAMMENTAZIONE IP Il campo FLAG ● Il bit 0 è riservato (per ora vale sempre 0) ● Il bit 1 vale: – 0 se il pacchetto può essere frammentato – 1 se il pacchetto non deve essere (ulteriormente)frammentato ● Il bit 2 vale: – 0 se il pacchetto è l'ultimo del frammento – 1 se il pacchetto non è l'ultimo del frammento
9 FRAMMENTAZIONE IP 4000 byte B A C Framm.byteIDoffset flag A B C
10 Indirizzi IP Ogni host ha un indirizzo univoco diviso in due parti: Network ID + Host ID Network ID + Host ID, che identificano una rete IP su Internet e l’host su quella rete IP. Esistono 5 classi di indirizzi IP. Classe A Classe A: 7 bit per 128 reti IP, 24 bit per 16 milioni di host ( ) Classe B Classe B: 14 bit per ca reti IP, 16 bit per ca host ( ) Classe C Classe C: 21 bit per reti IP e 8 bit per 256 host ( ) Classe D Classe D, riservata a multicasting, ( ) Classe E Classe E, riservata per usi futuri ( – )
11 Esempi di indirizzi IP : E’ un indirizzo di classe A, poiché il primo numero è compreso fra 0 e 127, dunque i seguenti campi indicano l’host nella rete IP : E’ un indirizzo di classe B, poiché il primo numero è compreso fra 128 e 191; dunque i primi due campi indicano la rete IP , gli altri indicano l’host : E’ un indirizzo di classe C, poiché il primo numero è compreso fra 192 e 224; dunque i primi tre campi indicano la rete IP , e l’ultimo indica l’host 14. Gli indirizzi IP si stanno progressivamente esaurendo, ed è in progetto Ipv6 (l’attuale è IPv4), che ha indirizzi IP di 128 bit anziché 32 bit.
12Subnetting Subnetting 1982, RFC 950, viene definita la possibilità di eseguire il Subnetting. Host Network10 16 bit 14 bit Host Network0Classe A 24 bit 7 bit 8 bit 21 bit HostNetwork110 Classe BNetwork 32-n bit n bit HostNetwork x Classe C (sub)Net x/n
13 Subnetting (esempio) Esempio: telemat ( ) La rete “sarebbe” di classe B Su telemat e' definita la netmask La rete effettiva e' /24
14 Subnetting (esempio)
15 Esercizio ARP e Routing
16 Obiettivo: inviare un datagramma IP Il mittente esegue questa operazione: (IP_SEND AND NET_MASK) XOR (IP_DEST AND NET_MASK) IP_SEND è l'indirizzo IP del mittente IP_DEST è l'indirizzo IP del destinatario NET_MASK è la maschera di sottorete
17 Obiettivo: inviare un datagramma IP Caso A: il risultato è uguale a zero quindi i due indirizzi appartengono alla stessa sottorete Caso B: il risultato è diverso da zero quindi i due indirizzi non appartengono alla stessa sottorete L'essere umano DEVE seguire lo stesso procedimento?
18 Caso A Per inviare un datagramma ad un host appartenente alla stessa sottorete serve l'indirizzo MAC Effettuo un ARP (vedi RFC 826) per trovarlo Invio il pacchetto all'indirizzo MAC trovato
19 Caso B Per inviare un datagramma ad un host non appartenente alla stessa sottorete serve l'indirizzo MAC del gateway Effettuo un ARP per trovarlo (ho il suo indirizzo nella configurazione di rete) Invio il pacchetto all'indirizzo MAC trovato
20 Domanda Siano e due indirizzi IP: essi appartengono alla stessa sottorete di classe B ovvero Gli indirizzi /22 e /22 appartengono alla stessa subnet?
21 Per rispondere... Il risultato è diverso quindi non appartengono alla stessa sottorete Come fa l'essere umano?
22 IP Forwarding Forwarding Diretto: il pacchetto IP ha come destinazione un host nella propria rete (o subnet) IP, il router NON viene interpellato, MAC destinaz è dell'host interno alla rete IP. Forwarding Indiretto: il pacchetto IP ha come destinazione un host di un'altra rete IP, MAC destinaz del router IP (gateway)
23 Esempio di rete IP LAN 1 LAN / Router / Ad ogni interfaccia verso rete IP viene assegnato un indirizzo IP univoco. instradamento tabella di routing Il router è un apparato che svolge funzioni di instradamento a livello IP. Esso legge gli indirizzi IP, consulta la propria tabella di routing e decide dove mandare il pacchetto IP.
24 Risoluzione degli Indirizzi IP Ciascuna interfaccia ha un proprio indirizzo di livello data link (MAC address nelle LAN), associato all’hardware della scheda di rete. Il router, o l’host, a priori non sanno l’indirizzo data link del destinatario, che serve per imbustare correttamente il pacchetto IP da inviare. Sanno però l’indirizzo IP del destinatario (cioè l’indirizzo di livello rete). Address Resolution Protocol (ARP) Address Resolution Protocol (ARP) serve per risolvere l’associazione indirizzo IP-indirizzo MAC. ARP è un protocollo di livello rete, cioè viene imbustato direttamente nella trama Data Link, e non nel datagramma IP. L’utente invia in broadcast a tutta la rete l’indirizzo IP del destinatario, lasciando vuoto il suo indirizzo MAC; solo il destinatario corretto sarà in grado di riconoscere il proprio indirizzo IP, e di aggiungere sul pacchetto il proprio MAC, reinviando il tutto al mittente (non in broadcast).
25 Alcune osservazioni Le entita' sorgente/destinazione dei datagrammi IP sono interfacce di rete IP si preoccupa solo della comunicazione tra interfacce, ovvero della spedizione e consegna dei datagrammi IP tra due interfacce che vogliono comunicare Sorge la domanda: chi e' il destinatario ultimo della comunicazione?
26 Vediamo... Le interfacce sono contenitori logici per entita' di livello superiore Le entita' di livello superiore sono protocolli di trasporto, che si preoccuperanno della comunicazione tra processi In definitiva, dietro una interfaccia di rete si potra' trovare un qualunque numero di processi NON e' compito di IP preoccuparsi della consegna ai processi
27 Altre osservazioni Non e' detto che un contenitore (interfaccia di rete) debba essere raggiungibile tramite un solo indirizzo di rete (almeno uno, ma anche piu' di uno) Sorge la domanda: come fa un processo a sapere dietro a quale interfaccia di rete si trova? Risposta 1: al processo non interessa la propria identita', esso si preoccupa solo di quella del destinatario Risposta 2: in generale non lo sa (e' compito del sistema operativo)
28 I dispositivi di Rete Repeater I Repeater: dispositivi a due porte che ripetono bit per bit il segnale in ingresso sulla porta di uscita (solo livello fisico) Hub Gli Hub: repeater multi-porta Bridge I Bridge: dispositivi a due porte che operano a livello MAC, e dunque sono capaci di leggere la trama in ingresso su una porta, leggerne gli indirizzi MAC, consultare la tabella di indirizzamento a livello MAC, e inoltrarla o meno sulla porta di uscita. Dividono domini di collisione in una LAN Switch Gli Switch: bridge multiporta Router I Router: dispositivi multiporta che operano a livello Network. Sono responsabili dell'istradamento dei datagrammi IP fra subnet diverse.
29 Repeater (HUB) Data Link Rete Trasporto Applicativo Data Link Rete Trasporto Applicativo
30 Bridge (Switch) Data Link Rete Trasporto Applicativo Data Link Rete Trasporto Applicativo Data Link
31 Router Data Link Rete Trasporto Applicativo Data Link Rete Trasporto Applicativo Data Link Rete
32 Cos’è il routing Per routing s’intende la funzione fondamentale di instradamento dei pacchetti IP, eseguita da dispositivi di rete detti ROUTER. Il router opera secondo i seguenti passi: 1) Riceve su una delle interfacce di ingresso il flusso dati IP 2) Legge l’header IP di ciascun pacchetto, osservando indirizzo IP sorgente e destinazione 3) Opera una funzione decisionale, stabilendo su quale porta di uscita immettere il pacchetto in esame, in base alle informazioni contenute in un’apposita tabella. 4) Instrada il pacchetto sulla porta di uscita stabilita.
33 Schema logico di un router (Visione informatica) I/O (LAN, WAN..) Tabella di routing Algoritmo di calcolo della tabella di routing Interfacce di I/O dipendenti dal tipo di sottorete utilizzata Il router deve implementare i primi due livelli OSI per l’I/O, e il livello IP, in cui si colloca la funzione di instradamento (talvolta è richiesta anche la lettura di informazioni a livello 4 o superiore)....
34 Tabella di routing LAN LAN LAN R1 R2R3R4 e0 e1 s NetworkInterface Next Hop Metric Ethernet Ethernet Ethernet Tabella di routing del router R Serial
35 Indirizzi IP riservati RFC 1928: sono considerati "privati" e quindi riservati per reti locali i seguenti indirizzi: /8 (da a ) /12 (da a ) /16 (da a ) Successivamente è stata introdottta la classe /16 per scopi di autoconfigurazione: Windows si autoassegna in indirizzo casuale di quella rete se il DHCP non entra in funzione.
36 Anche gli host... C:\WINDOWS>route print =========================================================================== Interface List 0x MS TCP Loopback interface 0x PPP Adapter. 0x e e Novell 2000 Adapter. =========================================================================== Active Routes: Network Destination Netmask Gateway Interface Metric Default Gateway: =========================================================================== Persistent Routes: None
37 Anche gli host... root]# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface * U eth * U eth * U lo default SpeedTouch.loca UG eth0
38 LICENZA SOFTWARE DELL'UNIVERSITA' DI FIRENZE Versione 2.1, Aprile Copyright (C) Universita' di Firenze - Via S. Marta 3, Firenze - ITALIA Tutti i diritti sono riservati. Questo documento puo' essere liberamente copiato e distribuito da chiunque, ma a nessuno e' permesso di cambiarlo in alcun modo. Preambolo Il copyright imposto sui documenti pubblicati sul sito MMEDIA5.DET.UNIFI.IT ha lo scopo di consentire la libera circolazione del lavoro a scopo educativo, mantenendo pero' il doveroso riconoscimento agli autori delle varie parti. Si vuole, inoltre, consentire l'ulteriore distribuzione del lavoro sotto qualunque forma, anche con modifiche, mettendo pero' il successivo ricevente in grado di conoscere da chi il materiale sia stato originariamente scritto e da chi rivisto o modificato. Per questo, si impone il Copyright su tutto il materiale, ma si concede gratuitamente licenza per l'uso e l'ulteriore distribuzione, con la possibilita' di modificare il materiale, purche' vengano seguite le regole scritte piu' avanti. Il diritto di cui sopra e' concesso con la restrizione che il materiale modificato e redistribuito sia soggetto alle stesse restrizioni del materiale originario, e che la distribuzione avvenga a titolo gratuito o con la sola copertura delle spese vive con un piccolo margine per le spese generali di distribuzione. Inoltre, la re-distribuzione del materiale o la distribuzione di materiale modificato dovranno essere fatte in modo da garantire che ulteriori distribuzioni vengano fatte mantenendo le condizioni originarie. Ogni utente di MMEDIA5 potra' proporre all'Universita' di Firenze la pubblicazione di documenti in MMEDIA5. Scrivere a: Tali documenti saranno soggetti ai termini qui specificati. Le condizioni per la licenza di pubblicazione e modifica sono riportate di seguito. LICENZA PER IL MATERIALE "MMEDIA5" OVVERO PER IL CONTENUTO NEI SITI WEB "MMEDIA5.DET.UNIFI.IT", "MEDIALAB.DET.UNIFI.IT", “TELEMAT.DET.UNIFI.IT”, “LTT.DET.UNIFI.IT” -- CONDIZIONI PER L'USO, LA MODIFICA E LA DISTRIBUZIONE 1.- Questa licenza e' applicabile al materiale contenuto nei siti WEB del Laboratorio di Tecnologia della Telematica, Dipartimento di Elettronica e Telecomunicazioni dell'Universita' di Firenze, via di S. Marta 3, Firenze - Italia (attualmente con indirizzo internet: ) che riporta al suo interno un avviso o legame con un file contenente la presente licenza. In questa licenza, con MMEDIA5 si intende un qualunque documento originariamente presente in uno dei siti. Per "documento derivato" si intende ogni documento che contenga porzioni oppure un intero documento MMEDIA5, con o senza modifiche, con o senza traduzioni in altra lingua, con o senza variazioni di supporto di memorizzazione o stampa; in questa licenza ogni documento di questo tipo e' indicato come "documento derivato". Per licenziatario si intende qualunque persona o organizzazione che copia, consulta, legge, memorizza su un qualunque supporto, produce o distribuisce a terzi un MMEDIA5 o un documento derivato. Per UNIVERSITA' si intende l'Universita' di Firenze Un licenziatario puo' copiare, consultare, leggere, memorizzare su un qualunque supporto, produrre e distribuire a terzi un MMEDIA5, purche' su ogni copia, produzione, esibizione o distribuzione sia evidenziato il copyright originario, il ricevente sia adeguatamente informato della provenienza del materiale e dell'esistenza di questa licenza e questa licenza sia inserita indivisibilmente e senza modifica alcuna assieme all'MMEDIA5. L'eventuale cessione o distribuzione devono essere a titolo gratuito. E' comunque ammessa l'imposizione di un rimborso delle spese legate al supporto fisico di memorizzazione dello MMEDIA5, con un piccolo margine per il recupero delle spese generali legate alla riproduzione fisica.
Il licenziatario puo' produrre documenti derivati, ai sensi dell'articolo 1, e distribuirli a terzi purche' siano rispettate tutte le seguenti condizioni: 3.1- ogni documento derivato deve riportare chiaramente la data e l'autore delle modifiche effettuate; 3.2- il licenziatario deve assicurare che ogni documento derivato sia sottoposto alla stessa licenza del documento originario, cosi' che la terza parte ricevente sia impegnata a sua volta negli stessi termini di questa licenza; 3.3- ogni documento derivato deve riportare, all'inizio e in buona evidenza questa licenza o un legame ad un file che la contiene, e il file deve essere distribuito indivisibilmente dal documento derivato; 4.- Al licenziatario e' espressamente vietato copiare, consultare, leggere, memorizzare su un qualunque supporto, produrre e distribuire a terzi un MMEDIA5, se non nelle forme e nei modi previsti in questa licenza. Ogni forma di inosservanza di questa norma comporta l'immediata revoca di ogni diritto concesso con questa licenza. 5.- L'uso di materiale soggetto a Copyright senza un esplicito assenso del proprietario del Copyright e' proibito dalla legge. L'UNIVERSITA' pone come prerequisito per ogni uso di MMEDIA5 l'accettazione di questa licenza. Quindi,e' fatto espresso divieto, a chiunque non intenda accettare i termini di questa licenza, di usare MMEDIA5 in alcun modo. Peraltro, non e' richiesta alcuna forma di accettazione esplicita della licenza, l'uso di MMEDIA5 costituisce implicita accettazione e conferisce al licenzatario tutti i diritti qui espressi. 6.- Ogni volta che MMEDIA5 od un documento derivato vengono distribuiti, al ricevente e' automaticamente estesa questa licenza. Al licenziatario non e' permesso imporre altri obblighi sul ricevente oltre la presente licenza. In ogni caso il licenziatario non e' considerato responsabile dell'uso che il ricevente fa di MMEDIA Se per qualunque motivo, compresi regolamenti o leggi dello Stato, non e' possibile per il licenziatario imporre questa licenza, o parti di essa, al ricevente, allora il licenziatario non puo' distribuire MMEDIA5, ne' parti di esso, ne' documenti derivati, in alcun modo. 8.- L'UNIVERSITA' potra' pubblicare revisioni di questa licenza. Le nuove versioni avranno intendimenti similari, ma potranno differire nei dettagli per far fronte a nuove situazioni. Ogni nuova versione avra' un proprio numero distintivo e sara' applicata ai documenti MMEDIA5 da allora pubblicati. 9.- Usi di MMEDIA5 diversi da quanto sopra specificato potranno essere autorizzati dall'UNIVERSITA'. Queste autorizzazioni non comporteranno variazioni per i licenziatari preesistenti Essendo la licenza gratuita, l'UNIVERSITA' fornisce MMEDIA5 cosi' come si trova, e non assume alcuna garanzia di esattezza dei contenuti, o di adeguatezza a qualsiasi scopo. Inoltre, le singole parti di MMEDIA5 sono espressione dei vari autori o revisori menzionati e non espressione dell'UNIVERSITA', non comportano ne' implicano accettazione del contenuto da parte dell'UNIVERSITA'.