Strato 3 Flashcards
che tipo di circuito ha i datagram?
connectionless
Quali sono le motivazioni per cui è necessario avere un livello 3?
- nelle reti locali ok collegamento fisico diretto, ma tipo tra città distanti tra loro?
- tabelle di forward: non possono essere infinite come sono infiniti i calcolatori nel mondo
- bisogna confinare il broadcast perchè non si può mandare tutto a tutta una rete geografica -> confinamento del broadcast necessario
Quali sono le funzioni dello strato rete?
- indirizzamento (forwarding)
- instradamento (routing)
- tariffazione
- controllo della congestione
Cos’è l’operazione di forwarding? Cosa deve essere fatto prima?
è l’invio del pacchetto per cui bisogna LEGGERE la tabella che quindi prima deve essere riempita -> routine
Cos’è l’operazione di routing?
Riempimento della tabella di forward
Datagram VS Virtual Circuit
- Datagram: rete best effort, sta agli altri livelli controllare la qualità le perdite e il traffico
- virtual circuit (ATM): vuole una rete più complessa perchè ha come obiettivo la qualità
Di quali step è fatto il routing?
- routing protocols: bisogna stabilire come verranno mandate le informazioni sullo stato della rete che servono poi per costruire la tabella
- routing algorithms: scelta del percorso in base alle info sullo stato della rete -> creazione tabella
Come si classificano i routing algorithms?
- centralizzati: un nodo si occupa di raccogliere l’informazione da tutti gli altri nodi, calcola i percorsi, ridistribuisce il risultato del calcolo a tutti gli altri nodi
-> possibilità di usare percorsi, algoritmi e metriche complesse (tanto bisogna farlo per un solo nodo), tutti i nodi usano un piano di instradamento coerente (è calcolato da un nodo solo).
PERÒ -> sensibilità al guasto del nodo centrale, lo scambio di informazione da/verso nodo centralizzato genera congestione - distribuiti: tutti i nodi si scambiano informazioni tra loro (utilizzando protocolli di instradamento) e calcolano i percorsi (indipendentemente o in base a quanto fatto dai nodi adiacenti).
-> robusto ai guasti, scambio di informazione uniforme su tutta la rete
PERÒ -> richiesta di intelligenza nei nodi, lo scambio di informazione parziale/errata porta a incongruenze nell’instradamento.
Come si dividono gli algoritmi di instradamento distribuiti?
- Globali e cioè LINK STATE (Dijkstra): tutti i nodi conoscono la topologia completa, compresi i costi dei canali; lo scambio di informazione avviene tra tutti i nodi, sono algoritmi. Con gli algoritmi di Link State ogni nodo invia informazioni di costo (stato) dei soli suoi canali in (multi)broadcast a tutti gli altri nodi della rete; tutti i nodi si costruiscono la topologia della rete e conoscono i costi di tutti gli archi; data la topologia, ogni nodo calcola i percorsi a minimo costo verso tutti gli altri nodi; si ottengono tabelle di routing per ogni nodo.
-> reti piccole - Parziali ovvero DISTANCE VECTOR: i nodi conoscono i nodi cui sono fisicamente collegati ed i costi dei canali cui sono collegati, lo scambio di informazione avviene quindi solo con i nodi adiacenti
-> reti globali
Su cosa si basa IP?
- rete datagram
- dii conseguenza tabelle di inoltro e quindi è CL
Pacchetto IP: quali campi ha?
PCI:
- versione di IP
- lunghezza dell’header
- type of service
- lenght, identifier, flags, offset: eliminati in IPV6 perchè in pratica si usa solo più con ethernet e sono super simili
- time to live: numero massimo di hops, per evitare loop infinit
- upper layer: cosa c’è allo strato superiore
- header checksum: verifica se ci sono bit errati nell’header, è solo detection e non correction. Viene ricalcolato a ogni hop perchè nel trasporto il campo time to live cambia
- source/destination IP address: indirizzi su 32 bit
SDU: principalmente pacchetti TCP, UDP e ICMP
Cosa sono gli indirizzi IP? Come sono fatti?
identificativi su 32 bit che devono essere associati alle interfacce sia degli host che dei router. L’interfaccia è la connessione tra l’host o il router e il livello fisico (interfaccia WiFi, interfaccia Ethernet, ecc.).
Stringhe su 32 bit non sono facili da gestire e per questo è stata introdotta la notazione decimale-puntata: i 32 bit sono divisi in quattro gruppi da 8 bit e ogni gruppo è convertito in decimale, con l’inserimento di un punto tra ogni gruppo.
{Nota} È sbagliato dire “il mio iphone ha indirizzo IP x” mentre è corretto dire “l’interfaccia wifi/Ethernet del mio iphone ha indirizzo IP x” perchè uno stesso dispositivo ha più interfacce e quindi può avere anche più indirizzi IP.
Ogni indirizzo IP è diviso in due parti: la Subnet Part (24 bit) e la Host Part (8 bit).
Cos’è una LIS?
Logical IP Subnet: è una rete logica che si stabilisce su una rete fissa di livello 2 spesso con corrispondenza 1:1 ma a volte anche diversamente
Cos’è una subnet?
È un insieme di interfacce che condividono la stessa subnet part. in una subnet i dispositivi possono raggiungersi in modo diretto tra loro. Per uscire dalla subnet c’è un default Gateway
Quali sono gli IP speciali?
- subnet.0 -> network/subnet ID: identifica tutta la subnet e quindi ovviamente non può essere utilizzato su nessun dispositivo. Proprio il subnet ID permette di ridurre drasticamente le entry della tabella di inoltro rappresentando solo le coppie subnet-ID - porta-ID (non è comunque sufficiente)
- tutti 1 -> limited broadcast: broadcast limitato a tutti i dispositivi della stessa rete FISICA
- subnet + tutti 1 ->dirette broadcast: il traffico è inviato a tutti i dispositivi appartenenti a una stessa subnet (LOGICA); spesso in realtà i router bloccano anche questo tipo di traffico come fanno nel limited broadcast
- 127.altro (altro spesso sono tutti 1) -> loopback: indica quel traffico che, arrivato nel nodo, deve solo essere processato dal nodo stesso e poi tornare indietro
Portabilità di indirizzi MAC e IP
Il nostro punto di partenza sono gli idirizzi MAC: a ogni dispotivo è stato assegnato un indirizzo MAC dal costruttore. Il modo in cui viene composto non crea alcuna gerarchia e questo permette di spostare un dispositivo da una rete all’altra e assicuragli sempre un indirizzo UNIVOCO -> MAC UNIVOCO
L’indirizzo IP invece usa un approccio gerarchico e crea la gerarchia sulla base della subnet a cui il nodo è collegato (e infatti c’è la subnet part). Questo rende gli indirizzi non portabili: per cambiare la subnet bisogna cambiare anche la rete fisica e quindi l’indirizzo.
Cos’è l’ARP?
Address Resolution Protocol: serve per avere gli indirizzi di destinazione se mancano
Qual è di fatto la differenza tra indirizzo MAC e IP?
- IP: serve per capire quale tipo di comunicazione, diretta o indiretta, bisogna effettuare
- MAC: serve per realizzare la comunicazione effettiva.
Sono necessari l’uno all’altro.
Com’è fatta una tabella ARP?
si hanno come entry i campi (IP, MAC, TTL) dove TTL è il Time To Live dopo il quale (tipicamente 20 minuti) la entry viene cancellata.
Come viene riempita la tabella ARP?
Supponiamo che $A$ voglia mandare un pacchetto a $E$, ma che l’indirizzo MAC di $E$ non sia nella tabella ARP di $A$:
\item ARP request: $A$ chiede a tutta la rete in broadcast, e quindi anche a $E$, l’indirizzo di $E$
\item ARP reply: $E$ le risponde in unicast con il suo indirizzo MAC
\item $A$ salva la nuova entry
\end{enumerate}
Di quale strato fa parte l’ARP?
né del 3 nè del 2 infatti viene disegnato in mezzo perchè è un protocollo accessorio PERÒ usa i PACCHETTI e non i datagram
Esempio di funzionamento di una rete IP completa
pagina 70
Quali tipi di indirizzamenti IP esistono?
classful, classless e subnetting
Come funziona il classful addressing?
Ci sono le classi A, B, C, D, E
- A: la parte di host ha 24 bit e il primo byte inizia con il bit 0 -> primo byte va da 0 a 127
- B: 16 e 16. il primo byte inizia con 1-0 e appartiene a 128-191
- C: 24 e 8. Primo byte inizia con 1-1-0 quindi da 192 a 223
- D: primi 4 bit sono 1110 e poi ci sono indirizzi broadcast negli aaltri bit -> 224-239
- E: 1-1-1-1 e poi indirizzi non ancor usati -> 240-255
Per cosa sta VLSM?
Variable Lenght Subnet Masking
Come funziona l’indirizzamento IP subnetting?
- parte dal classful addressing
- prende una rete di una classe e divide gli indirizzi in subnet
- una subnet viene definita mediante una mask
- la subnet mask è una stringa di 32 bit che ha 1 nella network part e 0 nella host part
Creare una rete da 512 dispositivi partendo dall’indirizzo 136.23.6.0
2^9 -> 9 zeri nella mask e quindi 255.255.254.0
Cos’è il CIDR?
Classless Inter domain routing -> classless addressing
Come funziona il classless addressing? Quali sono le netmask valide nell’ultimo byte e nel terzo? (MANCA)
non si parte da reti più grandi per crearne di più piccole ma si prendono direttamente gli indirizzi di cui si ha bisogno
si può utilizzare per esempio 200.23.16.0 con netmask 255.255.254.0
Come vengono forniti gli indirizzi IP?
- se l’approccio è classful: vengono forniti da un provider che, per grarantirne l’univocità, si interfaccia con organizzazioni mondiali alle quali chiede di fornire una rete con le caratteristiche richieste dal cliente
- se l’approccio è classless: l’organizzazione può direttamente assegnare un certo numero di indirizzi al provider (in numero dipendente dal mercato che il provider si presuppone avrà) che poi li gestirà a suo piacere.
Ecco perchè l’indirizzamento gerarchico non prevede l’approccio classful
Come fa A a capire se B è nella sua stessa rete?
avviene un AND bit a bit tra ip di A e netmask di A, stessa cosa per B e i risultati vengono confrontati. se sono uguali allora sono nella stessa rete
Come fa un router a selezionare la porta di output corretta?
- prende l’indirizzo IP di destinazione del pacchetto
- fa un and bit a bit tra quell’indirizzo e tutte le subnet mask delle sue porte
- il risultato che produce l’indirizzo di destinazione è quello corretto
cosa succede se quando si cercano i match in una routing table ci sono più risultati corretti?
Longest Prefix Matching
viene considerato quello con prefisso più lungo (se ho /23 e /20 viene usata la entry con /23)
Quali tipi di routing table esistono?
- direct routes: sono quelle relative alle reti direttamente connesse al router ovvero le reti all’interno delle quali tutti i dispostivi possono essere raggiunti dal router mediante meccanismi di livello 2
- static routes: relative a dispositivi non direttamente connessi; vengono configurate a mano
- dynamic routes: relative a dispositivi non direttamente connessi; vengono configurate automaticemnte dai protocolli di routing
Esempio di direct routes
pagina 76
Come fa un utente a ottenere un indirizzo IP collegandosi a una rete?
DHCP: Dynamic Host Configuration Protocol
Di che livello è il DHCP ma a cosa è destinato specialmente?
protocollo di livello applicazione destinato a livello rete perchè stabilisce indirizzi ip degli host
Come funziona il DHCP?
c’è un DHCP server con cui un host scambia 4 MESSAGGI (livello applicazione) che hanno un tempo di vita ben definito
- DHCP DISCOVER: l’host manda una richiesta broadcast (dest: 255.255.255.255) da un indirizzo di source unspecified 0.0.0.0. Per poter viaggiare sulla rete questi campi devono essere messi in una trama di livello 2 insieme agli indirizzi MAC destinazione e sorgente che saranno rispettivamente FFF…FFF (broadcast) e il MAC del client.
Tramite il broadcast, si vuole scoprire dove si trova il server DHCP che sarà l’unico a processare effettivamente la richiesta (tutti gli altri la scarteranno) e ad offrire l’indirizzo. - DHCP offer: dal server al client, indica l’indirizzo del server (src) ma la destinazione è ancora broadcast perchè il client non ha ancora effettivamente un indirizzo. Si tratta di DHCP offer perchè il server, con il campo yaddir, offre un indirizzo al client. Potrebbero esserci più server e quindi più offer e per questo il client non può subito usare ciò che gli è arrivato.
- DHCP request: il client vuole trasmettere a tutta la rete l’indirizzo scelto e infatti la destinazione è broadcast.
- DHCP ACK: La request arriva anche al server che aveva mandato l’offerta che poi è stata scelta, che a questo punto la conferma di nuovo in broadcast, si informa tutta la rete dell’assegnazione (yaddir) (transaction ID).
-> TUTTO IN BROADCAST
Cosa fornisce il DHCP?
Il DHCP non fornisce solo indirizzi IP ma tutto ciò che serve a un nodo per comunicare con un altro (netmask, next hop, ecc.).
L’uso del DHCP è utile anche per il \textit{riuso degli indirizzi} per quelle situazioni in cui gli utenti cambiano continuamente.
Cos’è l’ICANN e cosa fa?
Internet Corporation for Assigned Names and Numbers
- fornire indirizzi
- gestire DNS
- assegnare i nomi di dominio
- risolvere le dispute
Cosa vuol dire avere un IP privato?
Se un IP privato vuole mandare del traffico a Internet può farlo (il routing si fa guardando la destinazione e non la sorgente), ma essere un IP privato significa che quell’IP non si troverà mai tra gli indirizzi di routing in un router e che quindi non sarà possibile inviare una rispposta a tale indirizzo.
Due reti private possono utilizzare gli stessi IP perchè in ogni caso non si parleranno mai
Quali sono le reti private?
- 1 di classe A: da 10.0.0.0 a 10.255.255.255
- 16 di classe B: da 176.16.0.0 a 172.31.255.2255
- 256 di classe C: da 192.168.0.0 a 192.168.255.255
Se le reti casalinghe sono private, come fanno a comunicare con l’esterno?
NAT Network address translation
Come funziona il NAT?
- utilizza il Default Gateway per sostituire l’indirizzo IP sorgente del pacchetto diretto verso la rete pubblica con un IP pubblico; in questo modo la risposta potrà essere instradata verso il DG che memorizza le sostituzioni apportate.
- Viene utilizzato uno stesso indirizzo IP di outgoing per tutti i dispositivi di una stessa rete privata, a cui sono associate porte di livello 4 distinte e scelte randomicamente.
- Anche le porte come gli indirizzi IP vengono sostituite e ricordate per poi restituire la risposta
- Se la sostituzione non serve più viene cancellata in modo tale da poter essere riutilizzata.
Come funziona il NAT in una rete P2P? MANCA
Cos’è il DNS?
Domain Name System
- sistema di livello applicazione come il DHCP ma molto utile nel livello rete
- è trasparente all’utente
- serve per mappare i nomi dei server negli indirizzi IP
Come funziona il DNS?
c’è una gerarchia di server:
1. Root DNS servers: ce ne sono 13 a livello mondiale distribuiti in varie regioni e tutti insieme devono essere il punto di ingresso della gerarchia. Pur essendo in zone diverse devono fornire gli stessi puntatori ai TLD server e quindi devono mantenersi allineati. In generale l’informazione è estremamente dinamica, ma in cima alla gerarchia è quasi statica (i .com, .it, ecc. non cambiano o quasi). L’unico tipo di dinamicità è l’aggiunta di nuovi domini di primo livello, ma comunque è una modifica saltuaria. Non hanno nelle loro memorie i mapping tra nomi e indirizzi IP, ma hanno solo i “puntatori”, ovvero indirizzi IP, ai server sottostanti (TLD server). Quando arriva una richiesta a un root server esso non fornisce la risposta diretta ma il puntatore al server TLD opportuno.
- Top Level Domain servers - TLD servers: sono i server responsabili dei domini di primo livello (top level), ovvero \textit{.com, .it, .org, ecc.}. Per esempio l’organizzazione che gestisce i TLD che si occupano del \textit{.com} è la Network Solutions.
A loro volta i TLD server forniscono il puntatore ai server sottostanti. - Authoritative DNS servers: hanno il controllo sui domini di secondo livello, come \textit{amazon.com, pbs.org, ecc}. Essi forniscono effettivamente il mapping. $\$
Esistono anche domini di livelli più bassi rispetto agli autoritativi.
Cosa sono i local DNS server e quali sono le loro caratteristiche?
I local server non fanno parte della gerarchia e infatti vengono utilizzati come proxy, ovvero come punto di ingresso alla gerarchia DNS. Hanno il compito di mantenere una cache in modo tale che possa rispondere subito alla richiesta senza inviarla al root
Come possono essere le richieste DNS?
iterative o ricorsive. con le iterative tutte le risposte tornano al proxy che le rimanda nel punto giusto
come si accede alla gerarchia DNS?
tramite i local dns server che sono proxy
dove si trovano i local dns server?
nella rete del provider. accorcia la risposta alle query mediante la cache che mantiene
come fanno le cache a rimanere allineate?
le cache devono rimanere allineate con le cache del livello autoritativo. in realtà anche lì le info sono molto statiche. la soluzione è l’utilizzo del TTL per cui dopo un certo tempo la richiesta viene automaticamente ri-inoltrata e quindi aggiornata
com’è fatta una tabella DNS?
pagina 82
Com’è fatto un pacchetto DNS?
non c’è differenza tra aurei e response ma vengono identificate da 16 bit di identificazione che linkano domande e risposte
flags:
- uno per domanda/risposta
- uno per chiedere la ricorsione
- uno per dire che la risposta è autoritaria e non è stata trovata in cache
campi:
- campo richiesta con i campi della tabella dns
- stessa cosa per risposta
- un campo per la risposta autoritativa
- un campo addizionale
Con che protocollo si controllano gli IP?
Internet Control Message Protocol ICMP
Cos’è l’ICMP?
Internet Control Message Protocol
Serve per comunicare informazioni di livello rete
Uno dei messaggi è l’Eco request che un host può mandare a un altro host per controllare che l’ip funzioni -> ecco reply
Com’è fatto il pacchetto ICMP?
prevede i campi tipo, codice e 8 byte per gli errori con per esempio checksum e sequence Number
Quali sono degli esempi di type-code per i messaggi icmp e cosa vogliono dire?
figura pagina 83
Il DNS può essere usato in tutti i tipi di rete?
In server client sì, in P2P no perchè gli indirizzi IP cambiamo continuamente e non ci sono server fissi