Indirizzamento in IPv4 prof.: Alfio Lombardo
Internetworking Protocol vers.4 Indirizzamento Instradamento Frammentazione
Il pacchetto IP
Indirizzamento IP Network Address Host Address Identifica la macchina all’interno della rete Identifica la rete a cui e’ Connessa la macchina (host o router)
Convenzioni 0000…….00000 netid Identificativo di rete 00…0000000 host Host su questa rete 11111111.11111111.11111111.11111111 Broadcast limitato netid 111……….…111 Broadcast diretto 127 host Loopback
Indirizzi IP privati IP Address Schemes IANA-Allocated, Non-Internet Routable, IP Address Schemes Class Network Address Range A 10.0.0.0-10.255.255.255 B 172.16.0.0-172.31.255.255 C 192.168.0.0-192.168.255.255 La IANA (Internet Assigned Numbers Authority) ha riservato i tre blocchi di indirizzi indicati in figura per le reti IP private, ovvero reti IP che non sono interconnesse ad Internet. Il primo blocco (10.0.0.0/8) rappresenta un’intera classe A. Il secondo blocco (172.16.0.0/12) è costituito dall’insieme di 16 reti di classe B contigue. Il terzo blocco (192.168.0.0/16) rappresenta 255 reti di classe C contigue.
Network Address Translation (NAT) Rete “Interna” Rete “Esterna” 10.0.0.2 10.0.0.3 NAT Table Inside Local IP Address Inside Global 192.69.1.1 192.69.1.2 SA = Source Address NAT Internet/Intranet SA Il riferimento normativo in cui si specificano le funzionalità NAT è la RFC 1631 (Maggio 1994). Un server NAT (può essere per esempio un router) associa a ciascun indirizzo privato un indirizzo pubblico tra quelli disponibili. I pacchetti da spedire su Internet con indirizzo mittente di tipo privato (o da spedire su intranet con indirizzo destinatario pubblico) vengono modificati: traducendo il campo indirizzo mittente (o destinatario) con uno degli indirizzi pubblici disponibili (con l’indirizzo privato opportuno) modificando anche il campo informativo nei pacchetti relativi a particolari applicazioni (per esempio la parte informativa di alcuni pacchetti relativi all’applicazione FTP, che contiene indirizzi relativi a client e server). La traduzione degli indirizzi effettuata dal NAT server può essere: Statica: mediante mappatura statica uno-a-uno tra indirizzi interni ed esterni Dinamica: in tal caso la corrispondenza tra indirizzo interno ed indirizzo esterno è definita solo all’occorrenza I benefici dovuti all’impiego del NAT sono in sintesi: Accedere alla Internet pubblica senza richiedere altri indirizzi IP registrati Interconnettere reti IP con spazi di indirizzamento sovrapposti Evitare la rinumerazione degli host Ridurre il consumo di indirizzi ufficiali Migliorare la sicurezza della rete “nascondendo” gli indirizzi reali degli host Tra gli inconvenienti del NAT è da segnalare l’impossibilità di funzionamento di applicativi come PING, basati sul protocollo ICMP (Internet Control Message Protocol), e la problematicità di operare in ambienti basati su protocolli di autenticazione (IPsec). Un server NAT associa a ciascun indirizzo privato un indirizzo pubblico tra quelli disponibili.
Port Address Translation (PAT) Rete “Interna” Rete “Esterna” SA PAT SA 10.0.0.2 192.69.1.1 10.0.0.1 Internet/Intranet 10.2.0.5 SA = Source Address PAT Table Inside Local IP Address Public IP Address Port La modalità di PAT (Port Address Translation) consente di tradurre gli indirizzi IP (privato) della rete interna con un singolo indirizzo esterno (pubblico). Per individuare il reale mittente/destinatario del pacchetto, vengono utilizzate le porte presenti nell’intestazione del protocollo di trasporto (TCP o UDP). E’ possibile l’adozione di soluzioni miste, PAT/NAT basate sull’utilizzo del port per un sottoinsieme di indirizzi privati e sull’utilizzo del NAT per un altro sottoinsieme di indirizzi privati. 10.0.0.2 10.0.0.3 192.69.1.1 5001 5002 Un server PAT consente di tradurre gli indirizzi IP (privato) della rete interna con un singolo indirizzo esterno (pubblico). Per individuare il reale mittente/destinatario del pacchetto, vengono utilizzate le porte presenti nell’intestazione del protocollo di trasporto
Instradamento ? ? 151.97.3.4 router router router 151.97.3.4
Modalità di Instradamento Direct delivery: sorgente e destinazione sono direttamente connesse alla stessa sottorete; non coinvolge routers Indirect delivery: sorgente e destinazione non sono connesse alla stessa sottorete, coinvolge routers Rete router Internet Direct delivery Direct delivery Indirect
Direct routing Indirect routing Routing table router R Per inviare a Instrada verso 20.0.0.0 direct delivery 30.0.0.0 direct delivery 40.0.0.0 30.0.0.7 10.0.0.0 20.0.0.5 Routing table router R Attraverso l’interfaccia 20.0.0.6 30.0.0.6
Maschera di sottorete: Esercizio consigliato: Indirizzi IP Subnetworking Permette di estendere lo schema di indirizzamento per indirizzare sottoreti appartenenti ad una stessa rete Esempio: 10 Rete Sottorete Host Maschera di sottorete: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
Esempio Notazione decimale puntata:193.205.102.32/29 Indirizzo Network Host Subnet Indirizzo 1 193 205 102 36 Maschera (NetMask) L'ampiezza dei campi subnet e host viene definita tramite un parametro detto netmask. La netmask contiene bit a uno in corrispondenza dei campi network e subnet, e a zero in corrispondenza del campo host. Per determinare la subnet di appartenenza di un host a partire dal suo indirizzo IP, basta mettere in AND bit a bit la netmask con l'indirizzo IP. L'importanza di comprendere se due indirizzi appartengono o no alla stessa subnet è fondamentale, in quanto nel primo caso l’host mittente del pacchetto lo invierà direttamente verso il destinatario (routing diretto), nel secondo caso lo invierà ad un router a valle verso la destinazione (routing indiretto). Questo comportamento deriva dall’assunzione implicita che ad ogni rete logica (subnet IP) corrisponda una stessa rete fisica. Nella figura viene mostrato ad esempio un indirizzo IP 193.205.102.36 con maschera 255.255.255.248, relativo ad una subnet con al massimo 6 macchine. Bisogna considerare infatti che l’indirizzo con tutti zero nella parte di host indica la subnet e l’indirizzo con tutti uno indica l’indirizzo di broadcast sulla sottorete. Tutti i router di Internet instradano in base all’indirizzo di Network (193.205.102). Il router responsabile di questa rete procede con l’ulteriore instradamento verso le Subnet in base all’esame degli ulteriori 5 bit (informazione ricavata dalla maschera). 1 255 248 Notazione decimale puntata:193.205.102.32/29 (il valore 32 corrisponde a 00100000; 29 indica che 3 (=32-29) sono i bit dedicati all’host
Reti logiche vs. reti fisiche A Indirizzamento diretto indirizzamento indiretto Si parla di rete fisica indicando le macchine, o meglio le interfacce, che sono attestate su una stessa sottorete dove una particolare tecnologia di trasporto assicura la connessione. Una rete logica è l’insieme delle interfacce a cui è stato assegnato lo stesso indirizzo di subnet e in cui il routing è implicito: due macchine all’interno della stessa rete logica possono comunicare senza dover passare attraverso un router. Come detto, IP assumeva originariamente una corrispondenza biunivoca tra reti fisiche e logiche; realizzazioni più moderne ammettono anche più reti logiche nella stessa rete fisica. Il routing tra reti logiche diverse è esplicito ed è gestito dai router tramite tabelle di instradamento. IP adotta i concetti di destinazioni dirette e indirette nella sua logica di routing. Un host diretto è una stazione collegata direttamente alla rete ed al router della rete, mentre un host indiretto è un host di destinazione situato su una rete fisica diversa da quella dell’host di origine; questo significa che il datagramma deve essere inviato ad un router intermedio prima di essere consegnato all’host di destinazione. Il modo in cui IP gestisce gli indirizzi e decide i percorsi di routing, richiede che una macchina esamini solo la parte di indirizzo di rete dedicata all’indirizzo di destinazione, per determinare se l’host di destinazione è collegato direttamente o indirettamente alla rete dell’host di origine: in altri termini, la macchina verifica la corrispondenza della parte ‘rete’ dell’indirizzo di destinazione e sceglie se effettuare un forwarding diretto o forwarding indiretto. Forwarding diretto: la trasmissione di un IP datagram tra due host connessi su una singola rete logica IP (stesso netid) non coinvolge i router. Il trasmettitore incapsula il datagram nel frame fisico e lo invia direttamente all'host destinatario. Forwarding indiretto: i datagram passano da un router all'altro finchè non raggiungono un router che può trasmetterli direttamente. I router realizzano l'interconnessione tra le diverse reti. x-net-1 192.168.2.64/27 (65-94, 30 host) x-net-2 192.168.2.32/27 (33-62, 30 host) L’ indirizzamento indiretto viene utilizzato anche tra User appartenenti diverse reti logiche nella stessa rete fisica
Subnetting: esempio (1) pc-net 100 host A x-net-1 20 host Link-1 B Link-3 ws-net 20 host Link-2 Come esempio dell’uso del subnetting viene mostrata una rete con le necessità delle varie sottoreti in termini di host da indirizzare. Nella figura successiva viene proposto un possibile piano di indirizzamento. Si noti che quando si decide di partizionare in diverse subnet una rete, bisogna usare maschere della stessa lunghezza. Questo comporta la decisione che lunghezza della maschera dipenda dalla sottorete con maggiori necessità in termini di macchine da indirizzare. x-net-2 10 host C 7 sottoreti!
Subnetting: esempio (2) maschere di lunghezza fissa pc-net 192.168.1.(0xxxxxxx) (1-126> 100 host) A x-net-1 192.168.2. .(110xxxxx) (193-223> 20 host) 192.168.2. .(010xxxxx) Link-1 B 192.168.2. .(101xxxxx) Link-1 Link-2 192.168.2. .(011xxxxx) ws-net 192.168.1. (1xxxxxxx) (129-254 > 20 host) x-net-2 192.168.2. .(001xxxxx) (33-62> 10 host) C 192.168.1.0 192.168.2.0
Subnetting: esempio (3) maschere di lunghezza variabile: VLSM pc-net 192.168.1. (0xxxxxxx) (1 -126> 100 host) A x-net-1 192.168.1. (101xxxxx) (161 -190> 20 host) 192.168.1. (1111xxxx) Link-1 B Link-3 192.168.1. (1101xxxx) Link-2 192.168.1. (1110xxxx) ws-net 192.168.1. (100xxxxx) (129 -158> 20 host) Un grosso limite del subnetting tradizionale è il dover utilizzare una netmask di lunghezza fissa per ogni indirizzo di rete. Una volta che la netmask viene scelta, si è vincolati ad avere un numero fisso di sottoreti aventi tutte le stesse dimensioni (in termini di host indirizzabili). Nel 1987 l’RFC 1009 ha specificato come una rete “subnettata” possa utilizzare più di una netmask. Quando ad una rete viene assegnata più di una netmask, questa viene considerata una rete con maschere di lunghezza variabile (Variable Length Subnet Mask, VLSM). Come esempio dell’uso di VLSM, nella figura si propone un piano di indirizzamento per la rete del precedente esempio. Si nota come, mentre prima, usando il semplice subnetting, si aveva bisogno di due indirizzi di classe C, ora la rete è stata coperta con un solo indirizzo di classe C. Il VLSM si presenta, quindi, come un meccanismo molto più versatile. x-net-2 192.168.1. (1100xxxx) (193 -206> 10 host) C 192.168.1.0
Configurazione IP (windows 98)
Frammentazione Datagramma Datagramma Level III Level II MTU Header Trailer MTU= Maximum Transfer Unit
MTU per alcuni protocolli Token Ring (16 Mbit/s) : 17914 Token Ring (4 Mbit/s): 4464 FDDI: 4352 Ethernet: 1500 X25: 576 PPP: 296
Frammentazione
Il pacchetto IP-campo Fragm_Offset 4000 1400 14567 000 1 175 1200 350 14567 000 600 14567 275 1 800 175
Il pacchetto IP-campo Protocol TCP:6 UDP:17 Level IV IGMP:2 EGP:8 ICMP:1 OSPF:89 Header Level III
Header Checksum Mittente Destinatario Sez 1 16 bits Sez 1 16 bits 16 zero Checksum 16 bits Sez k 16 bits Sez k 16 bits Somma 16 bits Somma 16 bits complementare complementare Checksum 16 bits Risultato 16 bits Accettato se Risultato = 0…..………0
Il pacchetto IP-campo Option Dimensione (8 bit) Dati (lungh var) codice Copy (1 bit) Class(2bit) Code 0= solo I framm Opt.Class Opt.Num. Length Description 1=copia in tutti i framm 0 0 End of Option list 0 1 No operation 0 2 11 Securiy/hadling restict. 0 3 var Loose source routing 0 7 var Record route 0 9 var Strict source routing 0 4 var Timestamp Debugging and measurment Option class 1 2 3 Datagram or netw. control reserved
Formato campo Option Figura : Formato dell’opzione strict source routing
Formato campo Option Figura : Formato dell’opzione Record Route
Formato campo Option Figura : Formato dell’opzione Timestamp
Componenti modulo IP Dati verso un protocollo Mod. per superiore Da prot liv superiore Dati verso un protocollo superiore Mod. per aggiunta header Tab riassemblaggio Pac IP Modulo di riassemblaggio Pac IP Modulo di Processing Tab Instradamento Modulo di instradamento Pac IP Pac IP, Interfaccia hop successivo Modulo di frammentazione Tab MTU Pac IP Pac IP, Interfaccia hop successivo Dallo strato di Data link Allo strato di Data link
L’interconnessione di reti eterogenee Macrolezione 6: L’interconnessione di reti eterogenee