Livello di rete (Network Layer 3) Flashcards
Di cosa si occupa il livello di networking?
Mentre il livello di trasporto si occupa di creare un collegamento logico tra due processi remoti, il livello di rete si occupa di trasferire i dati tra gli host
Quali piani sono presenti nei servizi offerti dal livello di rete?
Il piano dati, Data Plane, è composto da protocolli che regolano il trasferimento dei dati degli utenti: IP
Il piano di controllo, Control Plane, è formato da protocolli di segnalazione per supportare il trasferimento dati: IMPC, ARP, RARP, OSPF, RIP
Quali sono le funzioni fondamentali dello strato di rete?
Indirizzamento: Identificazione univoca dell’interfaccia di rete di un host/router
Inoltro / Forwarding: Funzione locale con cui il router trasferisce i pacchetti dall’ingresso all’uscita
Instradamento / Routing: Processo che determina i percorsi dei pacchetti dalla sorgente alla destinazione
Processo globale svolto dagli Algoritmi di Routing
Quali funzioni sono svolte nel piano dati a livello di rete?
I segmenti dello strato di trasporto vengono trasferiti dallo strato di rete dall’host sorgente all’host destinazione
– Lato sorgente, vengono incapsulati in datagram
– I datagram vengono inoltrati hop-by-hop fino a destinazione
– I router esaminano i campi dell’header di ciascun datagram IP che li attraversa
– Lato destinazione, i segmenti vengono consegnati allo strato di trasporto
I pacchetti possono (potenzialmente) percorrere strade diverse tra sorgente e destinazione
Qual sono i compiti degli algoritmi di routing e della tabella di indirizzamento?
Gli algoritmi di routing determinano il percorso end-to-end attraverso la rete
La tabella di routing governa l’attraversamento (local forwarding) di questo router
Cos’è un indirizzo IPV4 e com’è associato?
Numero binario di 32 bit, viene scritto per facilitare gli umani come 4 campi da 8bit l’uno, inoltre è scritto in forma decimale.
E’ associato in modo univoco ad un’interfaccia di rete di un host o di un router, ha valenza e univocità universali
Ogni gestore di rete ha a disposizione un blocco di indirizzi che distribuisce alle interfacce dei singoli apparati
Com’è composto un indirizzo IP?
L’indirizzo IP si compone di due parti: indicatore di rete (Net_ID) e indicatore di host (Host_ID).
La prima parte identifica la rete, chiamata network o routing prefix (Net_ID) ed è utilizzata per l’instradamento a livello di sottoreti. Il NetID viene assegnato dall’ICANN che a sua volta delega organizzazioni regionali.
La seconda parte invece identifica, all’interno della rete, l’host (o l’interfaccia in IPv6) e le eventuali sottoreti (Host_ID) ed è utilizzato per l’instradamento a livello locale dell’host una volta raggiunta la sottorete locale di destinazione, cui segue la traduzione o risoluzione in indirizzo MAC per l’effettiva consegna del pacchetto dati al destinatario con i protocolli della rete locale.
Cos’è il CIDR (Classless Inter-Domain Routing)?
Il CIDR (Classless Inter-Domain Routing) è un nuovo schema di indirizzamento degli indirizzi IP consente una migliore gestione degli indirizzi di rete
Ha razionalizzato l’assegnazione di indirizzi del poco flessibile sistema classful
x.y.z.w/n, contiene n bit dedicati all’identificatore della rete
Cos’è una netmask?
La maschera di sottorete (in inglese subnet mask), nell’ambito di una rete TCP/IP, è un parametro di configurazione che definisce la dimensione (intesa come intervallo di indirizzi) della sottorete IP, o subnet, a cui appartiene un host. Semplicemente un altro modo di indicare una subnet, contiene n bit (dell’identificatore del network) posti a 1
Cos’è una rete IP identificata da un NetID?
Una rete IP, identificata da un NetID, è una insieme di interfacce (host + router) fisicamente interconnesse, tipicamente con switch e hub
Un host può avere più interfacce di rete (dual homing)
Ogni interfaccia di un router (e di un host) deve appartenere a reti IP diverse
Non è possibile assegnare due interfacce dello stesso apparato alla stessa rete IP
Quali indirizzi privati esistono all’interno di un network?
Tre blocchi (usati anche in CIDR)
- I: 10.0.0.0 - 10.255.255.255
- II: 172.16.0.0 -172.31.255.255
- III:192.168.0.0 -192.168.255.255
Quali indirizzi speciali esistono?
Indirizzo di rete: indirizzo con il campo HostID posto a 0 serve ad indicare la rete il cui indirizzo è contenuto nel campo NetID
rete /16: 131.175.0.0 —- rete /24: 193.17.31.0
Indirizzo broadcast diretto: indirizzo con il campo HostID di soli 1, il router della rete di destinazione esegue il broadcast (a livello 2) solo se è abilitato a farlo 193.17.31.255 (rete /24)
Indirizzo broadcast limitato: indirizzo di soli 1, broadcast nella stessa rete di chi invia il pacchetto
255.255.255.255
Unicast: quando il campo NetID è posto a zero, l’indirizzo indica l’host il cui indirizzo è contenuto nel campo host sulla stessa rete del mittente. 0.0.21.173 (in una rete /16)
Se anche il campo host è posto a zero l’indirizzo indica il mittente stesso del pacchetto. Viene usato come campo sorgente quando l’host non conosce il proprio indirizzo, ad es. in fase di bootstrap
0.0.0.0
Primo ottetto pari a 127 e gli altri campi qualsivoglia indica il loopback sullo stesso host, usato nei sistemi operativi per testare le funzionalità di rete.
127.x.y.z
Come funzionava il precedente indirizzamento classful?
Gli indirizzi IPv4 erano divisi in 5 classi:
– Classe A: poche reti grandi: NetID 7 bit (x=1,…,126), HostID 24 bit
– Classe B: reti medio-grandi: NetID 14 bit (x=128,…,191), HostID 16 bit
– Classe C: tante reti piccole: NetID 21 bit (x=192,…,223), HostID 8 bit
– Classe D: indirizzi multicast: (x=224,…,239)
– Classe E: riservato a uso futuro (x=240,…,255)
Cos’è il subnetting e quale problema risolve?
Le reti IP possono essere troppo grandi, dunque la rete si può suddividere in molte sottoreti (subnet) attraverso un aggiuntivo prefisso: extended network prefix
Ciascuna subnet rappresenta una rete fisica, è una suddivisione gerarchica della rete
Deve sempre esserci almeno un router tra le subnet
Cos’è una VLSM (Variable Length Subnet Mask)?
La VLSM (Variable Length Subnet Masking) è una tecnica che permette la suddivisione ricorsiva dello spazio di indirizzi di un’organizzazione, al fine di utilizzarlo in maniera più efficiente. Tramite questa pratica, una subnet può essere partizionata in ulteriori subnet, attraverso l’utilizzo parziale dei bit destinati all’host number; si crea così un subnetting a più livelli.
Quali tipologie di inoltro esistono?
Nel trasferimento di pacchetti tra due host si serve della capacità di inoltro delle reti (locali) attraversate
Inoltro diretto: quando la destinazione è nella stessa rete IP (e rete locale)
Inoltro indiretto: quando la destinazione non è nella stessa rete IP (e rete locale) ed è definita nelle tabelle di routing
La trasmissione dei pacchetti nelle reti locali attraversate avviene dopo l’incapsulamento in trame di livello 2 e si basa sugli indirizzi di livello 2 (indirizzi MAC) dei dispositivi hardware
Quali sono le caratteristiche dell’inoltro nei router?
Destination Based: L’inoltro IP è basato sul solo indirizzo di destinazione
Netx Hop Routing: Nelle tabelle di routing per ogni rete di destinazione è indicato solo il prossimo router (next-hop) nel percorso verso la destinazione
Come capiscono i router se il destinatario di un datagram appartiene a una sottorete di una della interfacce?
Per effettuare la verifica si fa un AND bit a bit tra indirizzo dell’interfaccia e netmask e tra indirizzo di destinazione e netmask
Se i due risultati coincidono allora la sottorete è la stessa e si procede all’inoltro diretto
Se il confronto dà esito positivo per più righe della tabella viene selezionata la tabella con la netmask che ha il maggior numero di 1 (chiamato principio del longest prefix matching)
In cosa consiste il supernetting?
Quando due o più indirizzi all’interno della tabella di routing di un router hanno lo stesso campo “next hop” e sono contigui, è possibile definire una supernet che consente l’aggregazione delle rotte all’interno del router di questi indirizzi verso il next hop in comune e con una netmask semplicemente allargata. Al fine di risparmiare spazio e tempo nei processi che coinvolgono il table routing look-up
Possono però essere definite delle excpetion route se un router ha una rotta più specifica per raggiungere il network destinatario
Qual è il formato di una tabella di routing?
Possiedono vari campi:
Netmask: rete destinataria
Destination: indirizzo della rete destinataria
Next hop: prossima interfaccia su cui deve essere inoltrato il pacchetto
Flags:
U: route attiva
G: destinatario fuori dalla sottorete (default gateway)
H: destinatario è un host specifico (non una rete)
D: rotta dinamica creata da protocollo di routing o reindirizzamento ICMP
M: rotta modificata da protocollo di routing o reindirizzamento ICMP
Referenc Count: numero connessioni attive per quella rotta
Use: numero pacchetti verso il destinatario (numero di lookup)
Interface: Nome dell’interfaccia di uscita
Quali sono le caratteristiche e i servizi offerti dal protocollo IP?
Caratteristiche
Connectionless: No setup, no teardown, due pacchetti potrebbero essere trattati in modo differente
Non affidable: Consegna best-effort dei datagrammi senza garanzie
Servizi
Indirizzamento: assegnamento univoco per ogni interfaccia di rete
Frammentazione/Deframmentazione: Se richiesto dal livello 2 locale
Qual è il formato dei datagrammi IP?
L’header occupa da 20 a 40Byte (opzioni facoltative)
Campi: Ver: 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. Hlen: indica la lunghezza dell’header del pacchetto espressa in parole da 32 bit (max 64 byte) TOS: Type of service Total length: indica la lunghezza totale del pacchetto in byte Identification Flags Fragment Offset TTL: Time To Live Protocol Header Checksum Source address Destination address Options
Qual è la funzione svolta dal campo Type Of Service nei datagrammi IP?
Ha subito diversi cambi di significato nel tempo
Il più recente divide questi 8 bit in due parti:
DSCP (1-6) - - ECN (7-8)
DSCP (Differentiated Services Code Point): dove i pacchetti IP possono essere contraddistinti sulla base della classe di priorità di servizio e precedenza di dropping in caso di congestione
ECN (Explicit Congestion Notification): Usato nei router per segnalare un’imminente congestione
Qual è la funzione svolta dal campo Protocol? (IP)
E’ un codice che indica il protocollo di livello superiore, siccome più protocolli di livello superiore possono usare IP
(multiplazione), il codice ha la funzione di indentificare il SAP (Service Access Point) tra IP e il protocollo di livello superiore
1 ICMP 2 IGMP 6 TCP 17 UDP 89 OSPF
Qual è la funzione svolta dal campo Time To Live? (IP)
Il campo TTL viene settato ad un valore elevato da chi genera il pacchetto e viene decrementato da ogni router attraversato, quando il valore risulta nullo il pacchetto viene scartato e viene generato un messaggio di errore inviato alla sorgente
La sua migliore applicazione è l’evitare il routing loop: attraversamento senza fine di un pacchetto IP nella rete
Quale funzione è svolta dai campi identification, flags e fragment offset? (IP)
I link della rete impongono un limite alla dimensione delle trame di livello 2 detto MTU. Questo costringe a dividere un datagram IP troppo lungo che viene ri-assemblato dalla destinazione
Identification (16 bit): campo che identifica tutti i frammenti di uno stesso pacchetto in modo univoco. E’ scelto dall’IP che effettua la frammentazione
Fragment Offset (13 bit): riporta il numero di sequenza del primo byte del frammento (in parole da 8 Byte)
Flags:
Il bit M (More) è pari a 0 solo nell’ultimo frammento
Il bit D (Do not fragment) viene posto a 1 quando non si vuole che avvenga la frammentazione. Se fosse necessaria il
pacchetto sarebbe scartato e verrebbe generato un messaggio
di errore
Per cosa viene utilizzato il protocollo IMCP?
Un protocollo di servizio per reti a pacchetto che si occupa di trasmettere informazioni riguardanti malfunzionamenti, informazioni di controllo o messaggi tra i vari componenti di una rete di calcolatori.
I messaggi IMCP sono incapsulati all’interno di pacchetti IP
Qual è il formato di un messaggio IMCP?
Un messaggio IMCP è formato da vari campi:
Type (8 bit): Specifica e qualifica il formato e tipologia del messaggio IMCP
Code (8bit): Ulteriore contenuto informativo del messaggio
Checksum dell’header IMCP (16 bit)
Dati
Come sono divise le tipologie di messaggi IMCP?
Sono suddivisi in “Error reporting” e “Query”
Nel primo caso svolgono il ruolo di segnalazione di un errore. Solo segnalazione, no correzione
Nel secondo caso richiedono un’interazione da parte del destinatario
Quali tipologie di messaggi sono dedite all’error reporting? (IMCP)
Destination Unreachable: Quando un router scarta un messaggio solitamente invia un messaggio di segnalazione al mittente. Se riesce ad accorgersi dell’errore lo segnalerà opportunamente. Il campo type ha il numero 3, mentre il campo code varia da 0 a 12 e fornisce informazioni più dettagliate sulla motivazione dell’irraggiungibilità del destinatario
Time Exceeded: Il campo type è posto ad 11, il campo code è 0 nel caso in cui il TTL di un pacchetto è arrivato a 0 nell’attraversamento di un router. Se invece è posto a 1 significa che il messaggio di segnalazione è stato mandato dal destinatario ma non tutti i fragmenti di un pacchetto sono giunti alla destinazione per tempo
Parameter Problem: Il campo type è posto a 12, il campo code è 0 quando il pacchetto IP ha un’incongruenza con uno dei suoi campi, viene usata una sezione dati per contenere l’header + i primi 64 bit del pacchetto ip che ha causato il problema ed un campo “pointer” che punta al byte del pacchetto che ha causato il problema. Se il campo code è posto a 1 significa che un’opzione non è implementata o qualche parte del campo options è mancante
Redirect: Il campo type è posto a 5, il code può variare da 0 a 3. Questo messaggio viene usato quando si vuole che la sorgente usi per un destinatario un router diverso. I campi del messaggio sono “indirizzo IP del router”, “header + primi 64 bit del pacchetto”
Esempi di messaggi di segnalazione di diagnostica. (IMCP)
Echo: I messaggi Echo-request, Echo-reply sono usati per verificare la raggiungibilità e lo stato di un host o un router. Appena un nodo IP riceve una Echo-request risponde con un messaggio. Un’altra informazione aggiuntiva è il tempo di consegna
Il campo type è: 8 -> request; 0 -> reply, il campo code è nullo. I campi aggiuntivi sono “identifier” identifica la sessione di scambio di contenuti informativi tra due nodi IP. Il campo sequence number porta invece un numero che viene incrementato per ogni scambio.
In cosa consiste il traceroute?
In informatica si definisce traceroute un software, scritto in qualunque linguaggio, che si occupa di ricavare il percorso seguito dai pacchetti sulle reti informatiche, ovvero l’indirizzo IP di ogni router attraversato per raggiungere il destinatario. Il termine traceroute indica anche il percorso restituito dall’applicazione stessa. Identiche operazioni vengono effettuate con il comando “ping”.
Questa applicazione sfrutta una particolare caratteristica del protocollo IP, ovvero il campo del datagramma TTL (time to live), anche detto (hop limit) cioè limite di salti.
Un’applicazione traceroute, quindi, invia un pacchetto al destinatario di cui si vuole ricavare il percorso di traceroute con il campo TTL impostato ad 1. Il primo router che lo riceverà, constatando che il campo TTL ha raggiunto lo 0, invierà un errore al mittente (ICMP Time Exceeded). L’applicazione memorizzerà l’indirizzo IP del primo router, quindi invierà un nuovo pacchetto con TTL impostato a 2. L’operazione verrà ripetuta finché il pacchetto non sarà arrivato al destinatario, che invierà un ICMP Echo Reply. Alla fine l’applicazione avrà ottenuto la lista degli indirizzi IP dei router su cui hanno transitato i pacchetti.
Quale funzione svolge il protocollo ARP?
Il protocollo Address Resolution Protocol ha il compito di creare dinamicamente tabelle di corrispondenza tra indirizzi IP e MAC all’interno di una sottorete. La tabella è chiama ARP cache.
Per prima cosa se nella tabella non è presente il MAC di un determinato host (a seguito della necessità di comunicarvici) viene inviato un messaggio di ARP-Request broadcast a tutti gli host della sottorete, contenenti l’indirizzo IP dell’host di cui vuole conoscere l’indirizzo MAC. L’host che riconosce l’indirizzo IP come proprio risponde con una ARP-Reply direttamente a chi aveva inviato questa richiesta contenenete il suo indirizzo MAC.
Esiste il protocollo inverso: RARP che ad un indirizzo MAC è in grado di risalire al rispettivo indirizzo IP, ma è stato sostituito da un più moderno protocollo: DHCP
Quale funzione svolge il protocollo DHCP?
Il protocollo Dynamic Host Configuration Protocol serve per stabilire e memorizzare le configurazioni IP degli host. L’associazione in questo caso è di tipo dinamico, utile nelle situazioni in cui gli host non necessitano di avere sempre un indirizzo IP. DHCP è un protocollo client server, sono processi applicativi a comunicare anche se funzionalmente sono posti a livello di rete. DHCP in particolare poggia sul protocollo di trasporto UDP e come porta sorgente 68, porta destinazione 67.
Le fasi sono le seguenti:
1 - Per prima cosa un client che deve configurare il suo stack IP manda un messaggio DHCP DISCOVER broadcast, contenente il proprio indirizzo fisico.
2 - Il server risponde con un messaggio di DHCP OFFER contenente un proprio identificativo e un indirizzo IP proposto per l’host.
3 - Il client manda un messaggio DHCP REQUEST broadcast, contente l’identificativo del server, per richiedere l’IP proposto.
4 - Infine il server risponde con un messaggio di DHCP ACK contenente tutte le informazioni necessarie alla configurazione dell’host
Il rilascio di un indirizzo IP avviene con un messaggio DHCP RELEASE da parte del client
Quali sono i parametri di configurazione per uno stack IP?
Indirizzo IP
Netmask
Gateway
DNS Server
Cos’è un’intranet?
In informatica e telecomunicazioni l’intranet è una rete privata completamente isolata dalla rete esterna (Internet) a livello di servizi offerti (es. tramite LAN), rimanendo dunque a solo uso interno, comunicando eventualmente con la rete esterna e altre reti attraverso opportuni sistemi di comunicazione e relativa protezione (es. firewall).
Cos’è l’indirizzamento privato? Quali sono le possibili opzioni?
L’indirizzamento privato è un metodo di indirizzamento eseguita dai router all’interno di intranet. Agli host presenti in queste reti sono assegnati indirizzi privati e per richieste che fuoriescono dalla rete privata l’indirizzo privato è sostituito da uno pubblico: del router.
Mantenendo un normale router per richieste esterne a un’intranet possono esserci problemi di sicurezza
I metodi possibili possono essere due: proxy o NAT
Come funzione un proxy che opera indirizzamento privato per un’intranet?
I proxy sono application gateway ed operano a livello applicativo. Qualunque richiesta rivolta all’esterno viene inviata al proxy che la inoltra all’esterno col proprio indirizzo pubblico.
Il problema è che tutti gli host devono conoscere il proxy ed inoltre devono esistere proxy per tutte le applicazioni.
Cos’è il NAT?
I Network Address Translation è una tecnica che consiste nel modificare gli indirizzi IP contenuti negli header dei pacchetti in transito su un sistema che agisce da router all’interno di una comunicazione tra due o più host.
La corrispondenza può essere di tipo statico o dinamico
Quali sono le tipologie di NAT? E quali sono le caratteristiche comuni?
I traditional NAT sono in grado di gestire flussi diretti dall’interno all’esterno e si dividono in Basic NAT e NAPT (Network Address and Port Translation)
Esistono poi i bi-directional NAT in grado di gestire anche il flusso da esterno a interno
In comune hanno l’associazione trasparente alle stazioni, un routing trasparente, traduzione dei pacchetti IMPC (contengono indirizzi IP che van modificati secondo il mappaggio)
L’assegnamento dinamico si basa sul concetto di sessione (TCP/UDP: socket, IMCP: ip sorg + ip dest + identifier)
Inizio sessione TCP: SYN, UDP-IMCP sono connectionless..
Fine sessione TCP: FIN (entrambi i lati), per i connectionless occore settare un timeout
Cosa sono gli Application Level Gateway?
Gli application level gateway sono funzionalità aggiuntive dei router NAT fini a modificare i payload dei pacchetti IP che contengono indirizzi IP da rimappare
Sono simili ai proxy ma rimangono trasparenti alle stazioni
Quali sono le caratteristiche dei Traditional NAT?
Sono detti anche OutBound NAT e permettono solamente sessioni che partono dall’interno e van verso l’esterno
Basic NAT
– Viene traslato il solo indirizzo IP
– Due host non possono usare lo stesso indirizzo contemporaneamente
– Ci può essere blocco a causa del numero scarso di indirizzi pubblici quando il traffico (numero di sessioni attive) è elevato
NAPT
– Viene traslata la coppia (indirizzo,porta)
– Molti indirizzi interni possono usare lo stesso indirizzo esterno ma su porte diverse
– Ci sono problemi con flussi diversi da UDP e TCP (per ICMP si può usare il campo Identifier)
Quali sono le caratteristiche del bidirectional NAT?
Quando un host vuole comunicare con un host privato (in un intranet) senza avere un indirizzo pubblico con cui comunicare si ricorre all’uso di un DNS privato dell’intranet. Quando il DNS risolve il nome simbolico manda la risposta attraverso il NAT privato dell’intranet che inserirà una nuova entry nel suo mappaggio. Rispondendo all’host richiedente esterno con il proprio indirizzo IP pubblico.