Document Details

Uploaded by Deleted User

Dipartimento di Informatica: Scienza e Ingegneria

2019

Franco Callegati

Tags

internet protocol computer networking ip addressing networking

Summary

These notes provide an overview of Internet protocols and IP addresses, focusing on the structure of IP addresses, datagram formats, and routing mechanisms. The document discusses fundamental concepts of IP, including different layers in the internet protocol suite. It also details how different networks connect and route data.

Full Transcript

Internet e IP Franco CALLEGATI Dipartimento di Informatica: Scienza e Ingegneria A.A. 2018-2019 I protocolli di Internet Architettura Applicazioni Application Strati superiori e-mail,ftp,telne...

Internet e IP Franco CALLEGATI Dipartimento di Informatica: Scienza e Ingegneria A.A. 2018-2019 I protocolli di Internet Architettura Applicazioni Application Strati superiori e-mail,ftp,telnet,www… Transport TCP UDP Strato 4 ICMP Network IP Strato 3 ARP Non specificato (ad es. Data Link IEEE 802-Ethernet-X25-Aloha ecc.) Strato 2 Non specificato Phisical Collegamento fisico Strato 1 3 Internet Protocol (IP) - RFC 791 Progettato per funzionare a commutazione di pacchetto in modalità connectionless Si prende carico della trasmissione di datagrammi da sorgente a destinazione, attraverso reti eterogenee Identifica host e router tramite indirizzi di lunghezza fissa, ragruppandoli in reti IP Frammenta e riassembla i datagrammi quando necessario Offre un servizio di tipo best effort, cioè non sono previsti meccanismi per - aumentare l’affidabilità del collegamento end-to-end, - eseguire il controllo di flusso e della sequenza. 4 Struttura degli indirizzi IP Indirizzi di lunghezza fissa pari a 32 bit Scritti convenzionalmente come sequenza di 4 numeri decimali, con valori da 0 a 255, separati da punto (rappresentazione dotted decimal) 10001001.11001100.11010100.00000001 137.204.212.1 Numero teorico max. di indirizzi 232 = 4.294.967.296 - In realtà si riesce a sfruttare un numero molto inferiore Assegnati dalla IANA (Internet Assigned Numbers Authority) 5 Formato pacchetto Byte 1 Byte 2 Byte 3 Byte 4 Version IHL Type of Service Total Length Identification Flags Fragment Offset TTL Flags Header Cheksum Source Address DestinationAddress Options Options User Data Significato delle PCI Version : indica il formato dell’intestazione, attualmente la versione in uso è la 4 IHL : lunghezza dell’intestazione, espressa in parole di 32 bit; lunghezza minima = 5 Type of service : indicazione sul tipo di servizio richiesto, usato anche come sorta di priorità Total length : lunghezza totale del datagramma, misurata in bytes; lunghezza masima = 65535 bytes, ma non è detto che tutte le implementazioni siano in grado di gestire questa dimensione 7 Significato delle PCI Identification : valore intero che identifica univocamente il datagramma - Indica a quale datagramma appartenga un frammento (fragment) Flag : bit 0 sempre a 0 bit 1 don’t fragment (DF) DF = 0 si può frammentare DF = 1 non si può frammentare bit 2 more fragments (MF) MF = 0 ultimo frammento MF = 1 frammento intermedio Fragment offset: indica quale è la posizione di questo frammento nel datagramma, come distanza in unità di 64 bit dall’inizio 8 Fragment offset Il datagramma IP viene virtualmente suddiviso in sotto-blocchi di 8 byte (64 bit) Per l’IP che trasmette (non necessariamente la sorgente dei dati ma anche un nodo intermedio) - Il primo blocco del datagramma è il numero 0 - I blocchi successivi sono logicamente numerati sequenzialmente Il numero logico del primo blocco viene scritto nel Fragment Offset del datagramma Implementazione Chi frammenta i datagrammi? - Qualunque apparato di rete dotato di protocollo IP può frammentare un datagramma - Tipicamente i nodi intermedi non riassemblano, ma lo fa solamente il terminale ricevente Frammentazioni multiple - Un datagramma può essere frammentato a più riprese in nodi successivi La numerazione tramite “offset” permette di rinumerare facilmente frammenti di un frammento 1o blocco: 64 bit Offest = 0 2o blocco: 64 bit Header 1 Offest = 1 Min 20 byte 3o blocco: 64 bit Offest = 2 … 10 Perché la segmentazione? 1514 byte Eth IP Dati applicazione Massima lunghezza del frame di livello 2 della tecnologia geografica = Rete di casa 800 byte (esempio) Internet Rete di accesso geografica Massima lunghezza del frame di livello 2 = 800 byte Ethernet 1514 byte Eth IP Dati 1 Eth IP Dati 2 Il riassemblamento Eth IP Dati 2 Eth IP Dati 1 Internet Il protocollo IP non controlla il canale: i datagrammi possono arrivare corretti ma fuori sequenza e/o in tempi diversi Come faccio a ricomporli correttamente? Calcolo dell’offset 20 byte 640 bit = 80 byte Offset=0 Nodo X : pacchetto in uscita di dimensione massima 512 bit 480 bit = 60 byte Offset=0 Offset=5 Nodo Y : pacchetto in uscita di dimensione massima 300 bit 288 bit = 36 byte 288 bit = 36 byte 224 bit = 28 byte Offset=0 Offset=2 Offset=4 Formato del pacchetto IP (4) Time to live (TTL) : max numero di nodi attraversabili - Il nodo sorgente attribuisce un valore maggiore di 0 a TTL (tipicamente TTL = 64, al massimo 255) - Ogni nodo che attraversa il datagramma pone TTL = TTL - 1 - Il primo nodo che vede TTL = 0 distrugge il datagramma Protocol : indica a quale protocollo di livello superiore appartengono i dati del datagramma Header checksum : controllo di errore della sola intestazione, viene ricalcolato da ogni nodo attraversato dal datagramma Source and Destination Address : indirizzi sorgente e destinazione 14 Formato del pacchetto IP (5) Options : contiene opzioni relative al trasferimento del datagramma (registrazione del percorso, meccanismi di sicurezza), è perciò di lunghezza variabile Padding : bit privi di significato aggiunti per fare in modo che l’intestazione sia con certezza multipla di 32 bit 15 L’instradamento IP Instradamento La rete Internet è una rete a commutazione di pacchetto - Oggi un sistema molto complesso In generale esistono più modi per raggiungere una destinazione da una certa sorgente Chi decide quale percorso seguire e come lo fa? Si decide pacchetto per pacchetto o per flusso di dati applicativi? … Come funziona Internet Internet è una grande “rete di reti” La componente elementare è la network IP - Ogni network IP è una sorta di isola ・L’isola tipicamente contiene calcolatori che fungono da nodi terminali della rete detti host - Le isole sono interconnesse da apparati che svolgono la funzione di “ponte” ・Si tratta di calcolatori specializzati detti router o gateway 18 Internet: reti di reti Network IP Network IP Tante Network IP isolate Network IP Network IP La tecnologia Ogni network IP può essere implementata con una tecnologia specifica Esempio - Wi-Fi : Network realizzata con tecnologia wireless in area locale - ADSL e xDSL: Network realizzata con tecnologia a media distanza via cavo tramite infrastruttura di uno specifico fornitore di servizio pubblico - Ethernet: Network realizzata con tecnologia a breve distanza via cavo privata in area locale - GPRS/EDGE/LTE: Network realizzata con tecnologia radio a media distanza tramite infrastruttura di uno specifico fornitore di servizio pubblico 20 La network IP I calcolatori di una network IP sono connessi dalla medesima infrastruttura di rete fisica (livelli 1 e 2) Ipotesi fondamentale - Tutti gli host appartenenti alla medesima network IP sono in grado di parlare tra loro grazie alla tecnologia con cui essa viene implementata 21 Internet: reti di reti SI Network IP Network IP Tante Network IP (isole) isolate NO Network IP Network IP Rete logica e rete fisica Nella terminologia di Internet si definisce - Rete logica: la network IP a cui un Host appartiene logicamente - Rete fisica: la rete (tipicamente LAN) a cui un Host è effettivamente connesso La rete fisica normalmente ha capacità di instradamento e può avere indirizzi locali (es. indirizzi MAC) L’architettura a strati nasconde gli indirizzi fisici e consente alle applicazioni di lavorare solo con indirizzi IP Interconnettere le isole Per far parlare tra loro le isole (network IP) è necessario che - Vi siano dei collegamenti fra le isole stesse, spesso realizzati con tecnologie diverse da quelle dell’isola - Vi siano degli apparati che permettono di usare questi collegamenti nel modo opportuno - Sia possibile scegliere il giusto collegamento verso l’isola che si vuole raggiungere Collegamento fra router: I router Può essere una tecnologia simile a quella delle network oppure molto diversa Network IP Network IP Network IP Gateway o Router (i ponti fra le isole): Network IP Nodo di rete che interconnette due network IP Deve poter parlare sulle tecnologie specifiche delle due Network Ha funzioni dal livello 1 al livello 3 OSI Il percorso end-to-end Network IP Network IP Network IP Network IP Cosa fa IP La tecnologia IP è agnostica rispetto alla tecnologia con cui sono realizzate le network - Il protocollo IP è concepito per lavorare indifferentemente su tecnologie diverse L’obiettivo di IP è quello di rendere possibile il dialogo fra network a prescindere dalla loro implementazione e localizzazione 27 La domanda cruciale Ho un pacchetto da trasmettere Network IP Deve andare sulla mia network oppure devo usare un ponte? ? Network IP Network IP La risposta Ogni nodo di Internet ha una base dati di destinazioni possibili Quando deve inviare un datagramma - Parte dall’indirizzo IP di destinazione - Legge la base dati - Decide quale azione intraprendere La tecnologia della propria network può essere utilizzata: - Per raggiungere la destinazione finale - Per raggiungere il primo ponte da attraversare 29 Le network fra i router Network IP Network IP Network IP Ne tw IP or k Netw r two kI e P N ork I P Network IP Network IP L’instradamento IP Il router decide in che direzione inviare il datagramma: instrada il datagramma Network IP Network IP Il singolo calcolatore terminale sceglie un router come ponte (gateway) verso le altre network IP Instrada il datagramma verso il router Il singolo salto viene solitamente detto hop Network IP Network IP Semantica dell’indirizzo IP L’indirizzo IP è logicamente suddiviso in due parti: - Network (Net) ID ・Prefisso che identifica la Network IP a cui appartiene l’indirizzo ・Tutti gli indirizzi di una medesima Network IP hanno il medesimo Network ID - Host ID ・Identifica l’host (l’interfaccia) vero e proprio di una certa Network Per Net e Host ID vengono utilizzati bit contigui - Net ID occupa la parte sinistra dell’indirizzo - Host ID occupa la parte destra dell’indirizzo 32 Reti IP private (RFC 1918) Alcuni gruppi di indirizzi sono riservati a reti IP private Essi non sono raggiungibili dalla rete pubblica I router di Internet non instradano datagrammi destinati a tali indirizzi Possono essere riutilizzati in reti isolate da 10.0.0.0 a 10.255.255.255 da 172.16.0.0 a 172.31.255.255 da 192.168.0.0 a 192.168.255.255 33 Come si distingue net-ID da host-ID? Si usa la netmask - Al numero IP viene associata una maschera di 32 bit 137.204.191.25 10001001.11001100.10111111.00011001 11111111.11111111.11111111.11000000 Net-ID Host-ID I bit a 1 della netmask identificano i bit dell’indirizzo IP che fanno parte del net-ID La netmask si può rappresentare - In notazione dotted-decimal ・ 11111111.11111111.11111111.11000000 = 255.255.255.192 - In notazione esadecimale ・ 11111111.11111111.11111111.11000000 = ff.ff.ff.c0 - Utilizzando la notazione abbreviata ・ 11111111.11111111.11111111.11000000 = /26 34 Netmask Esempio: - Network 192.168.1.0 ・Network privata con Net-ID = 3 byte = 24 bit - Subnetting in 2 sottoreti ・Net-ID+subnet-ID = 25 bit ・Netmask = 11111111. 11111111. 11111111.10000000 - Notazione ・Net-ID = 192.168.1.0 Netmask = 255.255.255.128 ・Net-ID = 192.168.1.128 Netmask = 255.255.255.128 oppure ・192.168.1.0/25 ・192.168.1.128/25 35 Esempio: Università di Bologna Net ID = 137.204 - La network corrispondente ha indirizzo 137.204.0.0 - Tutti i numeri IP dell’Università di Bologna hanno il medesimo prefisso Host ID - Qualunque combinazione dei rimanenti 16 bit ・Escluso 137.204.0.0 e 137.204.255.255 - Server web UniBO ・137.204.24.35 - Server web del DEIS ・137.204.24.40 - Server web DEISNet ・137.204.57.85 36 La domanda cruciale Network IP Indirect delivery Direct delivery Instradamento diretto e indiretto Direct delivery : - IP sorgente e IP destinatario sono sulla stessa network - L’host sorgente spedisce il datagramma direttamente al destinatario Indirect delivery : - IP sorgente e IP destinatario non sono sulla stessa network - L’host sorgente invia il datagramma ad un router intermedio Routing : scelta del percorso su cui inviare i dati - i router formano struttura interconnessa e cooperante: ・i datagrammi passano dall’uno all’altro finché raggiungono quello che può consegnarli direttamente al destinatario Direct Delivery HOST1 HOST2 ROUTER1 ROUTER2 ETHERNET MAN – WAN HOST4 HOST3 L2 ADDRESS: HOST3 IP ADDRESS: HOST3 DATI Relazione Indirizzi Fisici – Indirizzi IP Software di basso livello nasconde gli indirizzi fisici e consente ai livelli superiori di lavorare solo con indirizzi IP Gli host comunicano attraverso una rete fisica (ad es. LAN) quindi devono conoscere reciprocamente gli indirizzi fisici L’host A vuole mandare datagrammi a B, che si trova sulla stessa rete fisica e di cui conosce solo l’indirizzo IP Come si ricava l’indirizzo fisico di B dato il suo indirizzo IP? 40 Address Resolution Protocol – ARP (RFC 826) 137.204.57.95 137.204.57.210 ARP request per IP = 137.204.57.10 137.204.57.100 137.204.57.10 137.204.57.34 Il nodo sorgente invia una trama broadcast (ARP request) contenente l’indirizzo IP del nodo destinazione Tutte le stazioni della rete locale leggono la trama broadcast 41 Address Resolution Protocol - ARP (3) 137.204.57.95 137.204.57.210 ARP reply contenente indirizzo fisico 137.204.57.100 137.204.57.10 137.204.57.34 Il destinatario risponde al mittente, inviando un messaggio (ARP reply) che contiene il proprio indirizzo fisico Con questo messaggio host sorgente è in grado di associare l’appropriato indirizzo fisico all’IP destinazione Ogni host mantiene una tabella (cache ARP) con le corrispondenze fra indirizzi logici e fisici 42 Comando ARP arp –a visualizza il contenuto della cache ARP con le diverse corrispondenze tra indirizzi IP e MAC 43 Comando ARP – Esempio 44 Indirect Delivery HOST1 HOST2 ROUTER1 ROUTER2 ETHERNET MAN – WAN HOST4 HOST3 L2 ADDRESS: ROUTER1 IP ADDRESS: HOST4 DATI Da mittente a destinatario C’è sempre una consegna diretta Può non esserci alcuna consegna indiretta Possono esserci una o più consegne indirette indiretta HOST1 HOST2 ROUTER1 ROUTER2 ETHERNET MAN – WAN HOST4 HOST3 diretta Come scegliere? External Networks Indirect delivery Direct delivery Come fa il singolo nodo a scegliere fra instradamento diretto e indiretto? il gateway giusto qualora ve ne siano molteplici? La tabella di instradamento IP Base dati in forma di tabella - Righe (dette anche route, rotte, entry, record) ・Insieme di informazioni relative alla singola informazione di instradamento - Colonne (dette campi) ・Informazioni del medesimo tipo relative a diverse opzioni di instradamento Formato della tabella - Dipende dal sistema operativo e dall’implementazione ・Le informazioni sono le medesime ・Il modo di presentarle ed elaborarle può essere diverso 48 Route Tipici campi della singola rotta sono: - Destinazione (D): numero IP valido ・Può essere un indirizzo di network o di host - Netmask (N): maschera di rete valida ・Identifica il Net-ID - Gateway (G): numero IP a cui consegnare il datagramma ・Indica il tipo di consegna da effettuare - Interfaccia di rete (IF): interfaccia di rete utilizzare (loopback compreso) per la consegna del datagramma ・Seleziona il dispositivo hardware da utilizzare per l’invio del datagramma - Metrica (M): specifica il “costo” di quel particolare route ・Possono esistere più route verso una medesima destinazione La tabella Destination Netmask Gateway Interface Metric 0.0.0.0 0.0.0.0 192.168.10.1 ppp0 1 137.204.64.0 255.255.255.0 137.204.64.254 en0 1 137.204.65.0 255.255.255.0 137.204.65.254 en1 1 137.204.66.0 255.255.255.0 137.204.66.254 en2 1 137.204.67.0 255.255.255.0 137.204.67.254 en3 1 192.168.10.0 255.255.255.252 192.168.10.2 ppp0 1 Uso della tabella di instradamento Il singolo nodo riceve un datagramma: - Estrae dall’intestazione IP_D = indirizzo IP di destinazione - Seleziona il route per tale IP_D, confrontandolo con i campi D presenti nella tabella ・Processo di “table lookup” - Se il route esiste ・Esegue l’azione di instradamento suggerita dai campi G e IF - Se il route non esiste genera un messaggio di errore ・Tipicamente notificato all’indirizzo sorgente (ICMP - Destination Unreachable) Table lookup La ricerca nella tabella avviene confrontando - Indirizzo IP di destinazione IP_D del datagramma - Destinazione (D) di ciascun route - Utilizzando la netmask (N) del route La procedura viene detta di “longest prefix match” - IP_D AND N = R ・Indirizzo di destinazione del datagramma e netmask di ciascuna riga - R=D? ・SI : la route viene selezionata e il processo termina ・NO : si passa al route successivo In quale ordine leggere i route - dalla riga che presenta una netmask con un numero maggiore di bit a uno Il lookup Destination Netmask Gateway Interface Metric 0.0.0.0 0.0.0.0 192.168.10.1 ppp0 1 137.204.64.0 255.255.255.0 137.204.64.254 en0 1 Versi 137.204.65.0 255.255.255.0 137.204.65.254 en1 1 IHL Type of Service Total Length on 137.204.66.0 255.255.255.0 137.204.66.254 en2 1 Identification Flags Fragment Offset 137.204.67.0 255.255.255.0 137.204.67.254 en3 1 TTL Flags Header Cheksum 192.168.10.0 255.255.255.252 192.168.10.2 ppp0 1 Source Address DestinationAddress Options Options User Data Destination Address Netmask AND Result == Destination YES/NO Esempio di lookup – 1 Destinazione Netmask Etc. 1 0.0.0.0 0.0.0.0 … 2 192.168.2.0 255.255.255.0 … 3 192.168.2.18 255.255.255.255 … Datagramma con IP dest. = 192.168.2.18 Confronto prima con riga 3, poi con riga 2 e poi riga 1 192.168.002.018 bitwise AND 255.255.255.255 192.168.002.018 == 192.168.002.018 La riga 3 è quella giusta (host specific) 54 Esempio di lookup – 2 Destinazione Netmask Etc. 1 0.0.0.0 0.0.0.0 … 2 192.168.2.0 255.255.255.0 … 3 192.168.2.18 255.255.255.255 … Datagramma con IP dest. = 192.168.2.22 192.168.002.022 255.255.255.255 192.168.002.022 != 192.168.002.018 192.168.002.022 255.255.255.000 192.168.002.000 == 192.168.002.000 La riga 2 è quella giusta (network specific) 55 Esempio di lookup – 3 Destinazione Netmask Etc. 1 0.0.0.0 0.0.0.0 … 2 192.168.2.0 255.255.255.0 … 3 192.168.2.18 255.255.255.255 … Datagramma con IP dest. = 80.48.15.170 080.048.015.170 255.255.255.255 080.048.015.170 != 192.168.002.018 080.048.015.170 255.255.255.000 080.048.015.000 != 192.168.002.000 080.048.015.170 000.000.000.000 000.000.000.000 == 000.000.000.000 La riga 1 è quella giusta (default gateway) 56 Gateway Nella tabella di instradamento compaiono - Gateway - Interfaccia Perché due informazioni distinte? Chi è il gateway? 57 Il ruolo del Gateway Il table look-up sceglie la D i-esima = Di La funzione di instradamento invia il datagramma a IFi Con l’obiettivo di consegnarlo al gateway Gi Perché non è sufficiente IFi? L’instradamento IP è basato sull’appartenenza alla network - Host della medesima network possono comunicare direttamente - Host di network diverse comunicano tramite gateway Gateway = responsabile della consegna del datagramma Appl. Appl. Appl. Appl. Transport Transport Transport Transport Network Network Network Network Network Link Link Link Link Link Uso del Gateway Il campo gateway della tabella di routing serve per specificare il tipo di instradamento - Instradamento diretto: la sintassi dipende dall’implementazione ・In Windows: instradamento diretto se gateway = IP locale ・In Linux/Unix: instradamento diretto se gateway = 0.0.0.0 - Instradamento indiretto ・Gateway = numero IP del router da contattare Dest Netmask Gateway Interface 0.0.0.0 0.0.0.0 137.204.72.254 en0 137.204.72.0 255.255.255.0 137.204.72.14 en0 en0 137.204.72.14 137.204.72.254 137.204.72.35 59 Esempio 137.204.64.0/24 137.204.65.254 da 137.204.64.1 a 137.204.64.254 137.204.64.254 192.168.10.1/30 137.204.65.0/24 R1 192.168.10.0/30 137.204.66.0/24 R2 192.168.10.2/30 Dest Netmask Gateway Interface 137.204.67.254 0.0.0.0 0.0.0.0 -.-.-.- ppp1 137.204.67.0/24 137.204.64.0 255.255.255.0 192.168.10.2 ppp0 137.204.66.254 137.204.65.0 255.255.255.0 192.168.10.2 ppp0 137.204.66.0 255.255.255.0 192.168.10.2 ppp0 137.204.67.0 255.255.255.0 192.168.10.2 ppp0 Dest Netmask Gateway Interface 192.168.10.0 255.255.255.252 192.168.10.1 ppp0 0.0.0.0 0.0.0.0 192.168.10.1 ppp0 137.204.64.0 255.255.255.0 137.204.64.254 en0 137.204.65.0 255.255.255.0 137.204.65.254 en1 137.204.66.0 255.255.255.0 137.204.66.254 en2 137.204.67.0 255.255.255.0 137.204.67.254 en3 192.168.10.0 255.255.255.252 192.168.10.2 ppp0 Dest Netmask Gateway Interface 0.0.0.0 0.0.0.0 137.205.64.254 en0 137.204.64.0 255.255.255.0 137.204.64.10 en0 137.204.65.254 137.204.64.0/24 137.204.64.254 Pacchetto IP 137.204.64.10 192.168.10.1/30 192.168.10.2 137.204.65.0/24 R1 192.168.10.0/30 137.204.66.0/24 R2 192.168.10.2/30 Dest Netmask Gateway Interface 137.204.67.254 0.0.0.0 0.0.0.0 -.-.-.- ppp1 137.204.67.0/24 137.204.64.0 255.255.255.0 192.168.10.2 ppp0 137.204.66.254 137.204.65.0 255.255.255.0 192.168.10.2 ppp0 137.204.66.0 255.255.255.0 192.168.10.2 ppp0 137.204.67.0 255.255.255.0 192.168.10.2 ppp0 Dest Netmask Gateway Interface 192.168.10.0 255.255.255.252 192.168.10.1 ppp0 0.0.0.0 0.0.0.0 192.168.10.1 ppp0 137.204.64.0 255.255.255.0 137.204.64.254 en0 Longest prefix match Gateway 192.168.10.1 = me stesso 137.204.65.0 255.255.255.0 137.204.65.254 en1 137.204.66.0 255.255.255.0 137.204.66.254 en2 192.168-10.2 AND Consegna diretta a 192.168.10.2 137.204.67.0 255.255.255.0 137.204.67.254 en3 255.255.255.252 = sulla network 192.168.10.0/30 192.168.10.0 255.255.255.252 192.168.10.2 ppp0 192.168.10.0 Direct delivery su ppp0 Dest Netmask Gateway Interface 0.0.0.0 0.0.0.0 137.205.64.254 en0 137.204.64.0 255.255.255.0 137.204.64.10 en0 137.204.65.254 137.204.64.0/24 137.204.64.254 Pacchetto IP 137.204.64.10 192.168.10.1/30 137.204.65.210 137.204.65.0/24 R1 192.168.10.0/30 137.204.66.0/24 R2 192.168.10.2/30 Dest Netmask Gateway Interface 137.204.67.254 0.0.0.0 0.0.0.0 -.-.-.- ppp1 137.204.67.0/24 137.204.64.0 255.255.255.0 192.168.10.2 ppp0 137.204.66.254 137.204.65.0 255.255.255.0 192.168.10.2 ppp0 137.204.66.0 255.255.255.0 192.168.10.2 ppp0 137.204.67.0 255.255.255.0 192.168.10.2 ppp0 Dest Netmask Gateway Interface 192.168.10.0 255.255.255.252 192.168.10.1 ppp0 0.0.0.0 0.0.0.0 192.168.10.1 ppp0 137.204.64.0 255.255.255.0 137.204.64.254 en0 137.204.65.0 255.255.255.0 137.204.65.254 Longest en1 prefix match Gateway 192.168.10.2 137.204.66.0 255.255.255.0 137.204.66.254 en2 137.204.65.210 AND Consegna indiretta tramite 192.168.10.2 137.204.67.0 255.255.255.0 137.204.67.254 en3 255.255.255.0 = sulla network 192.168.10.0/30 192.168.10.0 255.255.255.252 192.168.10.2 ppp0 137.204.65.0 utilizzando ppp0 Dest Netmask Gateway Interface 0.0.0.0 0.0.0.0 137.205.64.254 en0 137.204.64.0 255.255.255.0 137.204.64.10 en0 137.204.65.254 Pacchetto IP 137.204.64.0/24 137.204.64.254 137.204.65.210 137.204.64.10 192.168.10.1/30 137.204.65.0/24 R1 192.168.10.0/30 137.204.66.0/24 R2 192.168.10.2/30 Longest prefix match 137.204.67.254 137.204.67.0/24 137.204.65.210 AND 137.204.66.254 255.255.255.0 = 137.204.65.0 Dest Netmask Gateway Interface Gateway 137.204.65.254 me stesso 0.0.0.0 0.0.0.0 192.168.10.1 ppp0 137.204.64.0 255.255.255.0 137.204.64.254 en0 Consegna indiretta tramite 137.204.65.0 255.255.255.0 137.204.65.254 en1 sulla network 137.204.65.0/24 137.204.66.0 255.255.255.0 137.204.66.254 en2 utilizzando en1 137.204.67.0 255.255.255.0 137.204.67.254 en3 192.168.10.0 255.255.255.252 192.168.10.2 ppp0 Analizziamo gli indirizzi delle 4 reti 137.204.64.0 il terzo byte è 01000000 137.204.65.0 il terzo byte è 01000001 137.204.66.0 il terzo byte è 01000010 137.204.67.0 il terzo byte è 01000011 - I primi 2 byte ed i primi 6 bit del terzo byte sono comuni a tutte e quattro le network. Se usiamo NETMASK=255.255.252.0 10001001.11001100.01000000.xxxxxxxx 10001001.11001100.01000001.xxxxxxxx 11111111.11111111.11111100.00000000 11111111.11111111.11111100.00000000 10001001.11001100.01000000.00000000 10001001.11001100.01000000.00000000 137 204 64 137 204 65 10001001.11001100.01000010.xxxxxxxx 10001001.11001100.01000011.xxxxxxxx 11111111.11111111.11111100.00000000 11111111.11111111.11111100.00000000 10001001.11001100.01000000.00000000 10001001.11001100.01000000.00000000 137 204 66 137 204 67 Otteniamo il medesimo risultato in tutti e quattro i casi: - Il prefisso di rete è sempre 137.204.64.0 64 Un altro esempio 137.204.56.0/24 00111000 137.204.56.0/23 137.204.57.0/24 00111000 00111001 137.204.56.0/22 137.204.58.0/24 00111000 00111010 137.204.58.0/23 137.204.59.0/24 00111010 00111011 65 Semplificazione delle tabelle È necessario che R2 conosca il dettaglio di come le reti sono connesse a R1? - R2 invia comunque i datagrammi tramite R1 - È sufficiente un’informazione più “riassuntiva” I route verso le 4 network possono essere aggregate in una sola R2 vede le 4 reti come una sola - Il gateway verso quelle destinazioni è R1 66 Aggregazione 137.204.65.254 137.204.64.0/24 137.204.64.254 192.168.10.1/30 137.204.65.0/24 R1 137.204.66.0/24 R2 192.168.10.2/30 Dest Netmask Gateway Interface 137.204.67.254 0.0.0.0 0.0.0.0 -.-.-.- ppp1 137.204.67.0/24 137.204.64.0 255.255.252.0 192.168.10.2 ppp0 137.204.66.254 192.168.10.0 255.255.255.252 192.168.10.1 ppp0 Le network Dest Netmask Gateway Interface 0.0.0.0 0.0.0.0 192.168.10.1 ppp0 137.204.64.0/24 137.204.64.0 255.255.255.0 137.204.64.254 en0 137.204.65.0/24 137.204.65.0 255.255.255.0 137.204.65.254 en1 137.204.66.0/24 137.204.66.0 255.255.255.0 137.204.66.254 en2 137.204.66.0/24 137.204.67.0 255.255.255.0 137.204.67.254 en3 Vengono aggregate in un’unica destinazione 192.168.10.0 255.255.255.252 192.168.10.2 ppp0 137.204.64.0/22 Aggregazione 137.204.65.254 137.204.64.0/24 137.204.64.254 192.168.10.1/30 137.204.65.210 137.204.65.0/24 R1 137.204.66.0/24 R2 192.168.10.2/30 Dest Netmask Gateway Interface 137.204.67.254 0.0.0.0 0.0.0.0 -.-.-.- ppp1 137.204.67.0/24 137.204.64.0 255.255.252.0 192.168.10.2 ppp0 137.204.66.254 192.168.10.0 255.255.255.252 192.168.10.1 ppp0 Dest Netmask Gateway Interface 0.0.0.0 0.0.0.0 192.168.10.1 ppp0 137.204.64.0 255.255.255.0 137.204.64.254 en0 137.204.65.0 255.255.255.0 137.204.65.254 Longest en1 prefix match Gateway 192.168.10.2 137.204.66.0 255.255.255.0 137.204.66.254 en2 137.204.65.210 AND Consegna indiretta tramite 192.168.10.2 137.204.67.0 255.255.255.0 137.204.67.254 en3 255.255.252.0 = sulla network 192.168.10.0/30 192.168.10.0 255.255.255.252 192.168.10.2 ppp0 137.204.64.0 utilizzando ppp0 Perché ordinare i route? Dare priorità alle route più specifiche L’ordinamento in funzione della Netmask decrescente garantisce di considerare in ordine - singoli host - reti piccole - reti grandi È possibile implementare eccezioni a regole generali che possono convivere nella medesima tabella 69 Eccezioni 137.204.65.254 137.204.66.0/24 137.204.64.0/24 137.204.64.254 137.204.66.254 192.168.10.1/30 137.204.65.0/24 R1 R2 192.168.10.2/30 137.204.67.254 137.204.67.0/24 Dest Netmask Gateway Interface 0.0.0.0 0.0.0.0 -.-.-.- ppp1 137.204.64.0 255.255.252.0 192.168.10.2 ppp0 137.204.66.0 255.255.255.0 137.204.66.254 en0 Dest Netmask Gateway Interface 0.0.0.0 0.0.0.0 192.168.10.1 ppp0 192.168.10.0 255.255.255.252 192.168.10.1 Ppp0 137.204.64.0 255.255.255.0 137.204.64.254 en0 137.204.65.0 255.255.255.0 137.204.65.254 en1 137.204.67.0 255.255.255.0 137.204.67.254 en3 La rotta per 137.204.66.0/24 viene 192.168.10.0 255.255.255.252 192.168.10.2 ppp0 cancellata e non è necessario modificarla perché adesso viene assorbita dalla rotta di default Eccezioni 137.204.65.254 137.204.66.0/24 137.204.64.0/24 137.204.64.254 137.204.66.254 192.168.10.1/30 137.204.65.0/24 R1 R2 137.204.66.129 192.168.10.2/30 137.204.67.254 137.204.67.0/24 137.204.66.130 Dest Netmask Gateway Interface Dest Netmask Gateway Interface 0.0.0.0 0.0.0.0 192.168.10.1 ppp0 0.0.0.0 0.0.0.0 -.-.-.- ppp1 137.204.64.0 255.255.255.0 137.204.64.254 en0 137.204.64.0 255.255.252.0 192.168.10.2 ppp0 137.204.65.0 255.255.255.0 137.204.65.254 en1 137.204.66.0 255.255.255.0 137.204.66.254 en0 137.204.67.0 255.255.255.0 137.204.67.254 en3 192.168.10.0 255.255.255.252 192.168.10.1 Ppp0 192.168.10.0 255.255.255.252 192.168.10.2 ppp0 137.204.66.128 255.255.255.252 137.204.66.129 en1 Classless VS Classfull la logica degli indirizzi IP IP e netmask Il numero IP ha valore assoluto in rete - Un numero IP pubblico deve essere unico su Internet - I numeri IP sorgente e destinazione caratterizzano il datagramma in quanto parte della sua intestazione La netmask è relativa al singolo nodo - Non viene trasportata nell’intestazione del datagramma - È parte della tabella di routing dei singoli nodi - Ai medesimi indirizzi possono corrispondere netmask diverse in nodi diversi (route aggregation) È sempre stato così? - NO: inizialmente la suddivisione net-ID e host-ID era assoluta 73 Classe delle reti Durante la fase iniziale di Internet furono definite diverse “classi” di network differenziate per dimensione - La parte iniziale del Net-ID differenzia le classi ・0 classe A ・10 classe B ・110 classe C - La definizione delle classi è standard e quindi nota a tutti - I router riconoscono la classe di una rete dai primi bit dell’indirizzo ・Ricavano di conseguenza il Net-ID 74 Classi di indirizzi Network ID Host ID 0 Classe A 1 0 Classe B 1 1 0 Classe C 1 1 1 0 Classe D (multicast) 1 1 1 1 Classe E (sperimentale) 32 bit Network ID : identifica una rete IP Host ID : identifica i singoli calcolatori della rete 75 Intervalli di indirizzi Classe A: da 0.0.0.0 a 127.255.255.255 Classe B: da 128.0.0.0 a 191.255.255.255 Classe C: da 192.0.0.0 a 223.255.255.255 Classe D: da 224.0.0.0 a 239.255.255.255 Classe E: da 240.0.0.0 a 255.255.255.255 Indirizzi riservati (RFC 1700) - indica l’host corrente senza specificarne l’indirizzo 0.0.0.0 - tutto a 0 viene usato per indicare la rete Host-ID - tutto a 1 è l’indirizzo di broadcast per quella rete Host-ID - indica un certo Host-ID sulla rete corrente senza 0.x.y.z specificare il Net-ID - 255.255.255.255 è l’indirizzo di broadcast su Internet - 127.x.y.z è il loopback, che redirige i datagrammi agli strati superiori dell’host corrente 76 Le sottoreti A un’amministrazione è assegnata una network - L’amministrazione potrebbe essere suddivisa in sotto- amministrazioni logicamente separate - Converrebbe “frammentare” la network in “sub-network” da assegnare alle sotto-amministrazioni Si decide localmente una sotto-ripartizione Net/Host ID indipendente dalle classi Si frammenta l’Host-ID in due parti: - la prima identifica la sottorete (subnet-ID) - la seconda identifica i singoli host della sottorete La ripartizione deve essere locale e reversibile - Tutta Internet vede comunque una certa network come un’entità unitaria 77 Subnetting La suddivisione è locale alla singola interfaccia - Deve essere configurabile localmente Si personalizza la Netmask Primo byte Secondo byte Terzo byte Quarto byte Network ID Subnetwork ID Host ID 11111111 11111111 1111111111 000000 Netmask /26 78 Esempio: Università di Bologna Una network di classe B (137.204.0.0) - Numerose entità distinte nella stessa amministrazione ・Facoltà, Dipartimenti, Centri di ricerca ecc. - Si suddivide la rete (network) in sottoreti (subnetwork) Il primo byte del Host-ID viene utilizzato come indirizzo di sottorete - Dalla network di classe B si ricavano 254 network della dimensione di una classe C Netmask = 255.255.255.0 79 Subnetting Subnet diverse sono di fatto Network diverse e quindi non comunicano È necessario un gateway 137.204.57.18 137.204.59.4 SI NO SI 137.204.57.0/24 137.204.59.0/24 80 Subnetting Il Gateway permette instradamento indiretto fra le Subnetwork SI SI SI 137.204.57.0/24 137.204.59.0/24 81 CIDR Con la grande diffusione di Internet la rigida suddivisione nelle 3 classi rendono l’instradamento poco flessibile e scalabile CIDR (RFC 1519) Classless InterDomain Routing - Si decide di rompere la logica delle classi nei router - La dimensione del Net-ID può essere qualunque - Le tabelle di routing devono comprendere anche le Netmask - Generalizzazione del subnetting/supernetting ・reti IP definite da Net-ID/Netmask Obiettivi del CIDR Allocazione di reti IP di dimensioni variabili - utilizzo più efficiente dello spazio degli indirizzi Accorpamento delle informazioni di routing - più reti contigue rappresentate da un’unica riga nelle tabelle di routing Miglioramento di due situazioni critiche - Limitatezza di reti di classe A e B - Crescita esplosiva delle dimensioni delle tabelle di routing 83 Supernetting Raggruppare più reti con indirizzi consecutivi - Indicarle nelle tabelle di routing con una sola entry accompagnata dalla opportuna Netmask Es. Un ente ha bisogno di circa 2000 indirizzi IP - una rete di classe B è troppo grande (64K indirizzi) - meglio 8 reti di classe C (8 × 256 = 2048 indirizzi) dalla 194.24.0.0 alla 194.24.7.0 Supernetting: si accorpano le 8 reti contigue in un’unica super-rete: - Identificativo: 194.24.0.0/21 - Supernet mask: 255.255.248.0 - Indirizzi: 194.24.0.1 – 194.24.7.254 - Broadcast: 194.24.7.255 84 Supernetting Subnetting e Supernetting sono operazioni duali - Subnetting à n bit del Host-ID diventano parte del Net-ID - Supernetting à n bit del Net-ID diventano parte dell’Host-ID Supernetting Subnetting Net-ID Host-ID Accorpamento di N reti IP (N = 2n) - contigue: ・ 194.24.0.0/24 + 194.24.1.0/24 = 194.24.0.0/23 ・ 194.24.0.0/24 + 194.24.2.0/24 = non contigue - allineate secondo i multipli di 2n ・ 194.24.0.0/24 +.1.0/24 +.2.0/24 +.3.0/24 = 194.24.0.0/22 ・ 194.24.2.0/24 +.3.0/24 +.4.0/24 +.5.0/24 = non allineate 85 Oggi La distinzione fra Net-ID e Host-ID è locale funzione della Netmask Lo stesso indirizzo può essere interpretato in modo diverso in punti diversi della rete Tutte le tabelle di instradamento devo contenere la colonna delle Netmask Esempio 137.204.66.100 137.204.66.100 Appartiene alle Network Appartiene alle Network 137.204.64.0/24 IP 137.204.66.0/24 IP 137.204.64.0/22 137.204.65.0/24 R1 137.204.66.0/24 R2 Dest Netmask Gateway Interface 0.0.0.0 0.0.0.0 -.-.-.- ppp1 137.204.67.0/24 137.204.64.0 255.255.252.0 192.168.10.2 ppp0 192.168.10.0 255.255.255.252 192.168.10.1 ppp0 Dest Netmask Gateway Interface 0.0.0.0 0.0.0.0 192.168.10.1 ppp0 137.204.64.0 255.255.255.0 137.204.64.254 en0 137.204.65.0 255.255.255.0 137.204.65.254 en1 137.204.66.0 255.255.255.0 137.204.66.254 en2 137.204.67.0 255.255.255.0 137.204.67.254 en3 192.168.10.0 255.255.255.252 192.168.10.2 ppp0 Pianificare la numerazione di reti IP Esempio Un’azienda possiede tre siti distribuiti su una grande area urbana: S1, S2, S3. Ciascun sito aziendale è dotato di infrastrutture informatiche comprendenti, tra l'altro, una LAN ed un router di uscita verso il mondo esterno. Tutti i siti devono essere interconnessi tra loro con una rete a maglia completa. I siti sono così divisi: - S1, S2: 50 host - S3: 20 host Si richiede di progettare una rete di classe C a cui viene assegnato l’indirizzo 196.200.96.0/24 comprensiva della numerazione dei router, definendo le relative netmask Architettura S1 S2 M LAN LAN MAN S3 90 La scelta della netmask Ultimo byte netmask # host # subnets 00000000 254 1 10000000 126 2 11000000 62 4 11100000 30 8 11110000 14 16 11111000 6 32 11111100 2 64 91 Soluzione 1 Subnets: 196.200.96.0/26 (S1) 196.200.96.64/26 (S2) 196.200.96.128/26 (S3) 196.200.96.192/26 (M) Netmask: 255.255.255.192 Broadcast: 196.200.96.63 (S1) 196.200.96.127 (S2) 196.200.96.191 (S3) 196.200.96.255 (M) 92 Soluzione 1 196.200.96.0/26 196.200.96.64/26 196.200.96.192/26 93 196.200.96.128/26 Soluzione 1 Routers LAN: 196.200.96.62 (S1) 196.200.96.126 (S2) 196.200.96.190 (S3) Routers MAN: qualunque indirizzo tra: 196.200.96.193 e.254 (M) IP Hosts: qualunque indirizzo tra: 196.200.96.1 e.61 (S1) 196.200.96.65 e.125 (S2) 196.200.96.129 e.189 (S3) 94 Scelta di netmask diverse Ultimo byte netmask # host # subnets 00000000 254 1 10000000 126 2 11000000 62 4 11100000 30 8 11110000 14 16 11111000 6 32 11111100 2 64 95 Soluzione 2 Subnet # host Indirizzi Broadcast 196.200.96.0/26 62 1 – 62 63 196.200.96.64/26 62 65 – 126 127 196.200.96.128/27 30 129 – 158 159 196.200.96.160/27 30 161 – 190 191 196.200.96.192/27 30 193 – 222 223 196.200.96.224/28 14 225 – 238 239 196.200.96.240/30 2 241 – 242 243 196.200.96.244/30 2 245 – 246 247 196.200.96.248/30 2 249 – 250 251 196.200.96.252/30 2 253 – 254 255 96 Soluzione 2 196.200.96.0/26 196.200.96.64/26 if1 196.200.96.240/30 if2 if3 196.200.96.244/30 196.200.96.248/30 97 196.200.96.128/27 Il protocollo ICMP Il protocollo IP… offre un servizio di tipo best effort non garantisce la corretta consegna dei datagrammi se necessario si affida a protocolli affidabili di livello superiore (TCP) è comunque necessario un protocollo di controllo gestione di situazioni anomale notifica di errori o di irraggiungibilità della destinazione scambio di informazioni sulla rete à ICMP (Internet Control Message Protocol) ICMP segnala solamente errori e malfunzionamenti, ma non esegue alcuna correzione ICMP non rende affidabile IP 99 ICMP Internet Control Message Protocol (RFC 792) svolge funzioni di controllo per IP - IP usa ICMP per la gestione di situazioni anomale, per cui ICMP offre un servizio ad IP - i pacchetti ICMP sono incapsulati in datagrammi IP, per cui ICMP è anche utente IP Frame Strato 2 Datagramma IP Strato 3 Pacchetto ICMP Pacchetto ICMP IP header 20 - 60 byte Message Type 1 byte Message Code 1 byte Checksum 2 byte Additional Fields (optional) variabile Data variabile Type definisce il tipo di messaggio ICMP – messaggi di errore – messaggi di richiesta di informazioni Code descrive il tipo di errore e ulteriori dettagli Checksum controlla i bit errati nel messaggio ICMP Add. Fields dipendono dal tipo di messaggio ICMP Data intestazione e parte dei dati del datagramma che ha generato l’errore Tipi di errori Destination Unreachable (Type = 3) - Generato da un gateway quando la sottorete o l’host non sono raggiungibili - Generato da un host quando si presenta un errore sull’indirizzo dell’entità di livello superiore a cui trasferire il datagramma Codici errore di Destination Unreachable - 0 = sottorete non raggiungibile - 1 = host non raggiungibile - 2 = protocollo non disponibile - 3 = porta non disponibile - 4 = frammentazione necessaria ma bit don’t fragment settato Tipi di errori Time Exceeded (Type = 11) - generato da un router quando il Time-to-Live di un datagramma si azzera ed il datagramma viene distrutto (Code = 0) - generato da un host quando un timer si azzera in attesa dei frammenti per riassemblare un datagramma ricevuto in parte (Code = 1) Source Quench (Type = 4) - i datagrammi arrivano troppo velocemente rispetto alla capacità di essere processati: l’host sorgente deve ridurre la velocità di trasmissione (obsoleto) Redirect (Type = 5) - generato da un router per indicare all’host sorgente un’altra strada più conveniente per raggiungere l’host destinazione Informazioni Echo (Type = 8) Echo Reply (Type = 0) - l’host sorgente invia la richiesta ad un altro host o ad un gateway - la destinazione deve rispondere immediatamente - metodo usato per determinare lo stato di una rete e dei suoi host, la loro raggiungibilità e il tempo di transito nella rete Additional Fields: - Identifier: identifica l’insieme degli echo appartenenti allo stesso test - Sequence Number: identifica ciascun echo nell’insieme - Optional Data: usato per inserire eventuali dati di verifica Informazioni Timestamp Request (Type = 13) Timestamp Reply (Type = 14) - l’host sorgente invia all’host destinazione un Originate Timestamp che indica l’istante in cui la richiesta è partita - l’host destinazione risponde inviando un ・Receive Timestamp che indica l’istante in cui la richiesta è stata ricevuta ・Transmit Timestamp che indica l’istante in cui la risposta è stata inviata - serve per valutare il tempo di transito nella rete, al netto del tempo di processamento = TTransmit –TReceive Informazioni Address Mask Request (Type = 17) Address Mask Reply (Type = 18) inviato dall’host sorgente all’indirizzo di broadcast (255.255.255.255) per ottenere la subnet mask da usare dopo aver ottenuto il proprio indirizzo IP tramite RARP o BOOTP Router Solicitation (Type = 10) Router Advertisement (Type = 9) utilizzato per localizzare i router connessi alla rete Applicazioni di ICMP Comando PING ping DEST Permette di controllare se l’host DEST è raggiungibile o meno da SORG SORG DEST SORG invia a DEST un pacchetto ICMP di tipo “echo” Se l'host DEST è raggiungibile da SORG, DEST risponde inviando indietro un pacchetto ICMP di tipo “echo reply” Opzioni -n N permette di specificare quanti pacchetti inviare (un pacchetto al secondo) -l M specifica la dimensione in byte di ciascun pacchetto -t esegue ping finché interrotto con Ctrl-C -a traduce l’indirizzo IP in nome DNS -f setta il bit don’t fragment a 1 -i T setta time-to-live = T -w Tout specifica un timeout in millisecondi Per maggiori informazioni consultare l’help: ping /? Comando PING – Output L’output mostra la dimensione del pacchetto “echo reply” l’indirizzo IP di DEST il numero di sequenza della risposta (solo UNIX-LINUX) il “time-to-live” (TTL) il “round-trip time” (RTT) alcuni risultati statistici: N° pacchetti persi, MIN, MAX e media del RTT 110 Comando TRACEROUTE tracert DEST Permette di conoscere il percorso seguito dai pacchetti inviati da SORG e diretti verso DEST SORG DEST SORG invia a DEST una serie di pacchetti ICMP di tipo ECHO con un TIME-TO-LIVE (TTL) progressivo da 1 a 30 (per default) Ciascun nodo intermedio decrementa TTL Il nodo che rileva TTL = 0 invia a SORG un pacchetto ICMP di tipo TIME EXCEEDED SORG costruisce una lista dei nodi attraversati fino a DEST L’output mostra il TTL, il nome DNS e l’indirizzo IP dei nodi intermedi ed il ROUND-TRIP TIME (RTT) 111 Gestione della numerazione Dispositivi di rete DHCP - Permette ad un Host di ottenere una configurazione IP Packet Filter - Permette/blocca l’invio di pacchetti da/verso determinati indirizzi - Protegge la rete dal traffico “vagante” Application Layer Gateway (ALG) / Proxy - Controlla la comunicazione a livello applicativo Firewall - Combinazione dei dispositivi descritti sopra - Protegge le risorse interne da accessi esterni Network Address Translator (NAT) - Riduce la richiesta dello spazio di indirizzamento Internet - Nasconde gli indirizzi IP interni - Esegue un packet filtering per il traffico sconosciuto 113 DHCP – RFC 2131,2132 Dynamic Host Configuration Protocol Configurazione automatica e dinamica di Indirizzo IP Netmask Broadcast Host name Default gateway Server DNS Server su porta 67 UDP 114 DHCP – 1 Quando un host attiva l’interfaccia di rete, invia in modalità broadcast un messaggio DHCPDISCOVER in cerca di un server DHCP DHCPDISCOVER 115 DHCP – 2 Ciascun server DHCP presente risponde all’host con un messaggio DHCPOFFER con cui propone un indirizzo IP DHCPOFFER DHCPOFFER 116 DHCP – 3 L’host accetta una delle offerte proposte dai server e manda un messaggio DHCPREQUEST in cui richiede la configurazione, specificando il server DHCPREQUEST 117 DHCP – 4 Il server DHCP risponde all’host con un messaggio DHCPACK specificando i parametri di configurazione DHCPACK 118 Ulteriori dettagli Un’analisi dettagliata del protocollo DHCP che include: - Esempi operativi - Catture di traffico Si può trovare su virtuale Packet Filter e Firewall Metodologie di filtraggio dei datagrammi Rete Internet R aziendale Impostazioni del Packet Filter Indirizzo IP sorgente e destinazione Protocollo (TCP, UDP, ICMP) Porta sorgente e destinazione Direzione del traffico Può essere configurato dinamicamente 121 Instradamento selettivo: packet filter IP Stack Stack protocollare protocollare di Rete di Rete Rete A R Internet B aziendale 122 Stateful Packet Inspection Applicazione Trasporto IP Stack Stack protocollare protocollare di Rete di Rete Rete A R Internet B aziendale 123 Application Layer Gateway (Proxy) ALG Trasporto Trasporto IP IP Stack Stack protocollare protocollare di Rete di Rete Rete A R Internet B aziendale 124 Application Layer Gateway (Proxy) Rete Internet H aziendale Politiche di accesso FTP server FTP proxy FTP client HTTP server HTTP proxy HTTP client SIP server SIP proxy SIP client 125 Firewall Packet Filter: filtra i pacchetti seguendo la politiche stabilite - Filtri: generalmente configurati staticamente - La maggioranza delle configurazioni non permettono pacchetti per porte “non-standard” (Internet Assigned Numbers Authority – IANA) Stateful Packet Inspection - Mantiene il contesto dei pacchetti sia nel trasporto che nello strato applicativo - Adatta dinamicamente le specifiche dei filtri Application Layer Gateway (trasparente o proxy esplicito) - Monitora le connessioni: analizza il contenuto dei protocolli applicativi ・ A scapito della sicurezza di comunicazione end-to-end - Adatta dinamicamente le specifiche dei filtri Per ogni strato (layer) dello stack possono essere applicate politiche (policies) differenti 126 Protezione di host: firewall Un firewall è un filtro software/hardware che serve a proteggersi da accessi indesiderati provenienti dall’esterno della rete Può essere semplicemente un programma installato sul proprio PC che protegge quest’ultimo da attacchi esterni - tipicamente usato in accessi domestici a larga banda (ADSL, FTTH) Applicazioni Firewall Internet 127 Protezione di rete: firewall Oppure può essere una macchina dedicata che filtra tutto il traffico da e per una rete locale Applicazioni LAN Applicazioni Internet Applicazioni Firewall 128 Protezione di rete: firewall Tutto il traffico fra la rete locale ed Internet deve essere filtrato dal firewall Solo il traffico autorizzato deve attraversare il firewall Si deve comunque permettere che i servizi di rete ritenuti necessari siano mantenuti Il firewall deve essere per quanto possibile immune da problemi di sicurezza sull’host In fase di configurazione di un firewall, per prima cosa si deve decidere la politica di default per i servizi di rete - default deny: tutti servizi non esplicitamente permessi sono negati - default permit: tutti i servizi non esplicitamente negati sono permessi 129 Livelli di implementazione Un firewall può essere implementato come - packet filter - proxy server ・application gateway ・circuit-level gateway Packet filter - si interpone un router fra la rete locale ed Internet - sul router si configura un filtro sui datagrammi IP da trasferire attraverso le varie interfacce - il filtro scarta i datagrammi sulla base di ・indirizzo IP sorgente o destinazione ・tipo di servizio a cui il datagramma è destinato (porta TCP/UDP) ・interfaccia di provenienza o destinazione 130 Livelli di implementazione Proxy server - nella rete protetta l’accesso ad Internet è consentito solo ad alcuni host - si interpone un server apposito detto proxy server per realizzare la comunicazione per tutti gli host - il proxy server evita un flusso diretto di datagrammi fra Internet e le macchine della rete locale - application level ・viene impiegato un proxy server dedicato per ogni servizio che si vuole garantire - circuit level gateway ・è un proxy server generico in grado di inoltrare le richieste relative a molti servizi 131 Configurazione di packet filter e proxy Applicazioni LAN Zona interna Demilitarizzata Applicazioni Proxy Applicazioni Packet Filter Applicazioni Applicazioni Internet 132 Network Address Translation Network Address Translation (NAT) Tecnica per il filtraggio di pacchetti IP con sostituzione degli indirizzi (mascheramento) - Indirizzi e porte Definito nella RFC 3022 per permettere a reti IP private l’accesso a reti IP pubbliche tramite un apposito gateway Utile per il risparmio di indirizzi IP pubblici e il riutilizzo di indirizzi IP privati NAT 137.204.191.0/24 192.168.10.0/24 134 NAT: motivazioni Efficiente uso della spazio degli indirizzi Condividere uno o pochi indirizzi Uso di indirizzi privati nella LAN locale (10.x.x.x, 192.168.x.x, …) Security - Rendere gli host interni non accessibili dall’esterno - Nascondere gli indirizzi e la struttura della rete Include un packet filter, stateful packet inspection configurati dinamicamente 135 Network (+Port) Address Translator (NAT) Trasporto Funzione di mappatura IP Stack Stack protocollare protocollare di Rete di Rete Rete A R Internet B privata 136 Basic NAT – Conversione di indirizzo Il NAT può fornire una semplice conversione di indirizzo IP (statica o dinamica) Conversioni contemporanee limitate dal numero di indirizzi IP pubblici a disposizione del gateway NAT 137.204.191.141 192.168.10.254 137.204.191.142 192.168.10.1 137.204.191.140 192.168.10.2 192.168.10.1:3123 137.204.191.140:80 137.204.191.141:3123 137.204.191.140:80 192.168.10.2:5039 137.204.191.140:22 137.204.191.142:5039 137.204.191.140:22 137 Conversione di indirizzo e porta Il NAT può fornire anche conversione di indirizzo IP e porta TCP o UDP Conversioni contemporanee possibili anche con un unico indirizzo IP pubblico del gateway NAT 192.168.10.254 137.204.191.141 192.168.10.1 137.204.191.140 192.168.10.2 192.168.10.1:3123 137.204.191.140:80 137.204.191.141:3123 137.204.191.140:80 192.168.10.2:3123 137.204.191.140:22 137.204.191.141:4131 137.204.191.140:22 138 Direzione delle connessioni Tipicamente da rete privata verso rete pubblica - Il NAT si preoccupa di effettuare la conversione inversa quando arrivano le risposte - Registra le corrispondenze in corso in una tabella E’ possibile contattare dalla rete pubblica un host sulla rete privata? - Dipende dal tipo di NAT e dalla relativa configurazione 192.168.10.254 137.204.191.141 192.168.10.1 137.204.191.140 137.204.191.141:80 137.204.191.140:4014 192.168.10.1:80 137.204.191.140:4014 139 Port forwarding Il NAT permette l’ingresso di pacchetti destinati a porte specifiche effettuando la traduzione opportuna 192.168.10.254 137.204.191.141 192.168.10.1 137.204.191.140 192.168.10.2 137.204.191.141:80 137.204.191.140:4014 192.168.10.1:80 137.204.191.140:4014 137.204.191.141:8080 137.204.191.140:4015 192.168.10.2:8080 137.204.191.140:4015 140 Analisi di connessioni attraverso NAT 192.168.10.254 137.204.57.76 192.168.10.174 137.204.24.12 141 Analisi di connessioni attraverso NAT 192.168.10.254 137.204.57.76 192.168.10.174 137.204.24.12 142 NAT e applicazioni di rete Il NAT è trasparente per l’applicazione - Modifica l’intestazione IP e TCP/UDP ma non il payload Questo è un problema in alcuni casi specifici - Applicazioni non sono trasparenti al NAT ・Contengono indirizzi IP e numeri di porta nel payload ・FTP utilizza due connessioni parallele connessione per l’interazione con il server tramite linea di comando (porta TCP 21) connessione per il trasferimento dei dati da e verso il server i parametri della seconda sono specificati nei dati trasmessi dalla prima - Il tipo di traffico permesso dipende dal tipo di NAT ・Full Cone NAT ・(Port) Restricted Cone NAT ・Symmetric NAT 143

Use Quizgecko on...
Browser
Browser