4. Il livello rete Flashcards

1
Q

Quali sono le due funzioni principali del livello di rete?

A

Le due operazioni principali del livello di rete sono l’inoltro(forwarding), che è un operazione locale a scala locale, che sposta il pacchetto da un ingresso del router ad un’uscita. La seconda operazione è l’instradamento(routing), che è un operazione a locale a scala globale, che determina il percorso che un pacchetto deve seguire(viene calcolata da algoritmi di routing).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Spiega le differenze tra data plane e control plane.

A

Il data plane è una funzione locale in ogni router, che determina come inoltrare un datagramma da una porta di arrivo a una porta di uscita del router(funzione di forwarding). Il Control plane è una logica globale di rete, che determina come instradare un datagramma in un percorso end-to-end, cioè dall’host mittente all’host destinatario.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Descrivi l’architettura di un router in generale.

A

Dunque possiamo dividere il router in due parti: la parte di software, che ha il compito di routing, gestione e control plane e la parte di hardware che ha il compito d inoltro e data plane.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Qual’è il compito di un sistema di commutazione all’interno di un router e quali sono le diverse strutture possibili?

A

Il sistema di commutazione utilizza i valori nei campi dell’ header livello 3, trova la porta di uscita corretta usando la tabella di inoltro nella porta di ingresso. L’obbiettivo è non introdurre ritardi ulteriori, prendendo una decisione alla stessa velocità con cui la porta di ingresso riceve dati, perché questo creerebbe accodamento nel buffer. In parole povere i sistemi di commutazione trasferiscono i pacchetti dall’ingresso del router all’uscita appropriata. Ci sono tre strutture tipo(a memoria, a bus e a matrice).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Definisci la commutazione a memoria, a bus e a matrice.

A

La commutazione a memoria veniva usata nelle prime generazioni di router e di fatto la commutazione è controllata dalla CPU, che copia i pacchetti nella memoria del computer.
Nella commutazione a bus si usa un bus dati condiviso interno al router per trasmettere i datagrammi dagli ingressi alle uscite.
Nella commutazione a matrice, il router utilizza una struttura hardware con un’interconnessione a matrice che collega direttamente le porte di ingresso alle porte di uscita.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Spiega che cos’è l’accodamento alle porte di ingresso e cosa può provocare. Spiega anche che cos’è il blocco “head-of-line”HOL

A

Un commutatore più lento della velocità complessiva delle porte di ingresso causa accodamenti agli ingressi(ritardi, ma anche perdite dovute all’ overflow dei buffer). Blocco “head-of-line” HOL: un datagramma accodato al primo posto della coda impedisce a quelli successivi di avanzare.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Cosa succede invece se l’accodamento avviene alle porte di uscita?

A

In questo caso, se i datagrammi arrivano dal commutatore più in fretta di quanto le porte di uscita possano smaltirli, i datagrammi potrebbero essere scartati se le memorie si riempiono.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Che cosa sono i meccanismi di scheduling nei router e a che cosa servono?

A

I meccanismi di scheduling servono a scegliere quale pacchetto trasmettere prima su un link. Uno dei possibili meccanismi è il FIFO(first-in-first-out), dove si inviano i pacchetti in ordine di arrivo nella coda. In questo caso la politica di scarto i caso di coda piena può essere o tail drop o priority drop o random drop.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Per cosa sta MTU e cosa succede se due reti hanno due MTU diversi?

A

Ciascun tipo di hardware specifica un limite di dati che una trasmissione può trasportare(Maximum Transmission Unit), quindi ciascun datagramma deve contenere al più un numero di Byte pari alla MTU. Se il router trova un datagramma da una rete con MTU più grande e deve mandarlo ad una rete con un MTU minore, dovrà frammentare il datagramma e inviare ogni frammento indipendentemente dagli altri(il flag nell’ header indica se un datagramma è un frammento o no e il campo offset specifica come concatenarli).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Quando un router frammenta il datagramma perché ci sono reti con MTU diverse, che è che riassembla il datagramma?

A

Il router che riceve i frammenti non li riassembla, ma li inoltra avanti come pacchetti qualsiasi, poi alla fine la destinazione finale raccogli e riassembla i frammenti.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

La frammentazione è quindi una buona strategia o no?

A

La frammentazioni a livello IP può causare molti problemi e per questo è praticamente disabilitata in Internet, alcuni router nemmeno la implementano e IPv6 non la consente più. La prima ragione per questa decisione è la sicurezza, possono esserci attacchi per ingannare il firewall e mandare dati illeciti o anche attacchi di DDos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Introduci in maniera più formale gli indirizzi IP.

A

Un indirizzo IP è un stringa di 32 bit associata ad un’interfaccia(connessione tra l’host o il router e il collegamento fisico, ad esempio gli host può essere il wifi o l’ethernet) di rete. Ogni interfaccia ha almeno un indirizzo IP. Quando si invia un pacchetto su Internet il software che implementa i protocolli di rete lato mittente deve specificare il proprio indirizzo IP e l’indirizzo IP del ricevitore, che serve al router per prendere decisioni sul inoltro e instradamento del pacchetto.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Quale la notazione degli indirizzi IP?

A

Ogni sezione da 8 bit è espressa come un intero decimale, quindi la gamma di indirizzi va da 0.0.0.0 fino a 255.255.255.255. Inoltre gli indirizzi IP sono generalmente divisi in due parti:
- prefisso: identifica la rete alle quale l’host è allacciato(NetID)
- suffisso: identifica un interfaccia di rete allacciata a quella rete(HostID)
I prefissi sono coordinati a livello globale per non avere duplicati, mentre gli suffissi possono essere assegnati localmente.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Come distinguere NetID e HostID?

A

In passato avvenivano assegnazioni statiche, però lo spazio degli indirizzi fu presto esaurito. Fu creata un autorità per l’assegnazione degli indirizzi, la ICANN. La ICANN non assegna gli indirizzi direttamente, invece autorizza i registrar a farlo e poi i registrar consentono agli ISP di accaparrarsi “blocchi” di indirizzi, quindi per ottenere un prefisso di rete per sé, bisogna contattare un ISP.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Che cos’è l’indirizzamento classless e quale sono le differenze con quello che utilizza le classi?

A

Nell’indirizzamento a classi la suddivisione tra prefisso e suffisso è fissa, invece nell’indirizzamento classless, la suddivisione tra questi due è completamente arbitraria.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Quando si utilizza l’indirizzamento classless, come facciamo a riconoscere il limite tra prefisso e suffisso?

A

La soluzione è memorizzare 32 bit dove gli unici bit a 1 sono quelli del prefisso. In IP questa informazione si chiama subnet mask. Il punto è che la maschera permette di estrarre il prefisso da un indirizzo con un AND logico bit-a-bit.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Quale è la notazione dell’indirizzo IP nella CIDR(Classless Inter-Domain Routing)?

A

Nella notazione CIDR possiamo sintetizzare i gruppi di 8 bit in un numero decimale da 0 a 255 e alle fine aggiungiamo un /m, dove m indice il numero di bit uguali a 1 nella maschera. Ad esempio: 193.185.15.199/26

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Come funzione l’inoltro con CIDR?

A

Quando riceve un datagramma, un router deve decidere su quale interfaccia inoltrarlo. L’interfaccia usata dipende dall’indirizzo IP di destinazione e al corrispondenza viene identificata usando la netmask. Se ci sono elementi con netmask diverse, si usa quella più lunga. Se invece non c’è corrispondenza allora si usa un valore di default, che di solito è un router che si suppone sappia come inoltrare ulteriormente il datagramma.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Che cosa sono gli indirizzi IP privati e come fanno gli host con questi indirizzi a mandare pacchetti verso Internet?

A

Gli indirizzi IP privati non escono dalla rete, sono sempre univoci all’interno di una rete privata. Per comunicare con l’internet, utilizzano una proxy, che ha un indirizzo pubblico e uno privato e “media” la connessione per applicazioni specifiche, altrimenti si utilizza anche il NAT.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Che cos’è il NAT e come funziona?

A

Il NAT(Network Address Translation) è una tecnologia utilizzata per mappare indirizzi IP privati di una rete locale su un unico indirizzo IP. Questo permette ai dispositivi di una rete privata di accedere a Internet condividendo un unico indirizzo pubblico. Questa è una soluzione controversa, perché viola l’architettura a livelli, perché NAT è un router e non dovrebbe cambiare le porte.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Che cosa sono gli indirizzi IP speciali?

A

Ci sono alcuni tipi di indirizzi IP “speciali” che non vengono mai assegnati agli host. Ad esempio gli indirizzi che denotano tutta la rete, gli indirizzi broadcast(di una rete e locale), “questo computer”, indirizzi loopback, indirizzi multicast, indirizzi IP link-locali, indirizzi IP per i routerC

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Come si chiude il cerchio per comprendere il viaggio di un pacchetto dal mittente A al destinatario B?

A

Dunque il datagramma IP viene incapsulato in un frame(pacchetto di livello2), per poter trasmettere il frame, bisogna inserire l’indirizzo di livello 2 di sorgente e destinazione(MAC address). Il MAC address è un identificativo assegnato a ogni scheda di rete di un dispositivo, utilizzato per comunicare all’interno di una rete locale(LAN).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Quale è il principio dell’ARP?

A

L’ARP(Address Resolution Protocol) serve se l’host destinatario di un datagramma IP si trova sulla mia rete e voglio inviargli il pacchetto direttamente. Se l’indirizzo IP del destinatario è uguale a C, il mittente invia in broadcast una richiesta che richiede l’indirizzo MAC che corrisponde all’indirizzo IP C. La richiesta raggiunge tutti gli host sulla rete e l’host con indirizzo IP C risponde.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Come viene incapsulato un messaggio ARP?

A

I messaggi ARP sono interpretati come dati da trasportare e quindi incapsulati nel payload del frame. Nell’ header del frame c’è un tipo Type, che identifica il tipo di dati trasportati, in questo caso identifica che stiamo trasportando un messaggio ARP.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Che cos'è il proxy ARP?
Il proxy ARP è una tecnica in cui un dispositivo di rete, come un router, risponde a una richiesta ARP per un indirizzo IP che non appartiene direttamente alla sua rete. In pratica, il router finge di essere il destinatario, fornendo il proprio indirizzo MAC address in risposta e poi inoltra i pacchetti al vero destinatario. Questo è utile per connettere dispositivi in reti diverse senza configurazioni avanzate.
26
Che cos'è l'ICMP(Internet Control Message Protocol) e a che cosa serve?
L'ICMP(Internet control message protocol) è un protocollo partner di IP, che viene usato per notificare errori alla sorgente di un datagramma. ICMP e IP sono interdipendenti, perché IP ha bisogno di ICMP per segnalare errori e ICMP si serve di IP per trasportare i messaggi.
27
Che messaggi può trasportare l'ICMP?
L'ICMP può trasportare due classi di messaggi: quelli usati per segnalare errori e quelli usati per recuperare informazioni. Ad esempio Echo Request/Reply(usati dal comando ping) sono usati per restituire un messaggio con i campi selezionati. I contenuti ICMP vengono trasportati come dati in un datagramma.
28
Che cos'è DHCP(Dynamic Host Configuration Protocol) e a che cosa serve?
Il DHCP(Dynamic Host Configuration Protocol) consente di assegnare un indirizzo IP a un host quando questo si accende, in maniera del tutto automatica. Inoltre permette di liberare indirizzi quando non utilizzati, affinché possano essere assegnati ad altri host. La procedura è la seguente: - L'host invia un messaggio DHCP discover - Il server DHCP risponde con un messaggio DHCP offer - L'host richiede un indirizzo IP con un messaggio DHCP request - Il server DHCP invia un messaggio DHCP ack.
29
Cosa sono i prestiti DHCP?
L'indirizzo IP fornito da DHCP rimane valido per un tempo limitato. Quando il prestito finisce, il server rimette l'indirizzo IP in un insieme di indirizzi utilizzabili. A quel punto, il client può decidere di cambiare indirizzo IP o negoziare un'estensione del prestito. Normalmente, DHCP approva tutte le estensioni.
30
Che connessione di trasporto utilizza DHCP e perche?
DHCP utilizza UDP, perché DHCP è progettato per essere robusto a perdite e duplicati, infatti se non c'è nessuna risposta dal server, l'host ritrasmette la richiesta, invece se arriva una risposta duplicata, l'host ignora la copia extra.
31
Cosa succede se invece non c'è nessun DHCP?
Si disabilità il client DHCP di un host e si configura l'indirizzo IP manualmente. Si sceglie casualmente un indirizzo IP, si cerca se esiste un interfaccia di rete con questo indirizzo IP(tramite ARP), se la si trova si riprova con un altro indirizzo casuale, altrimenti l'host si tiene l'indirizzo.
32
Che cos'è IPv6 e quali sono le ragioni dietro al suo design?
IPv6 è una tipologia di indirizzo IP di 128 bit in notazione esadeciamle, che è stata fatta per ampliare la quantità di indirizzi disponibili prima che quelli di IPv4 finissero. Inoltre il formato dell' header velocizza l'elaborazione dei datagrammi.
33
Quali sono le novità nel formato del datagramma IPv6 rispetto a quello di IPv4?
Il formato del datagramma IPv6 ha un flow label, che è un etichetta per tutti i datagrammi nello stesso flusso(non ben definito), ha un campo priority che identifica la priorità dei datagrammi che fanno parte dello stesso flusso. Inoltre non c'è più il checksum.
34
Come avviene la transizione da IPv4 a IPv6, visto che non tutti i router possono essere aggiornati simultaneamente.
La risposta è tunneling, ovvero i datagrammi IPv6 viaggiano come dati incapsulati dentro datagrammi IPv4.
35
Che cosa sono i protocolli di routing?
L'obiettivo dei protocolli di routing è di determinare "buoni" percorsi da un mittente a un destinatario, attraverso una rete di router. Un percorso viene definito come una sequenza di router attraversati da un datagramma per giungere all'host di destinazione.
36
Come viene definito un buon percorso di routing?
Un buon percorso di routing viene definito in base al costo più basso, più veloce e meno congestionato.
37
Quali sono le diverse caratteristiche degli algoritmi di routing?
Gli algoritmi di routing possono basarsi su informazioni globali(ad esempio tipologia della rete e costi dei link) o distribuite(i router conoscono i router ai quali sono collegati e il costo dei link verso di essi). Inoltre possono essere statici(i percorsi cambiano molto poco) o dinamici(le rotte cambiano più frequentemente).
38
Che cos'è l'algoritmo di Dijkstra?
L'assunzione è di sapere la tipologia di rete e i costi dei link noti a tutti i nodi. L'output dell'algoritmo è il percorso a costo minimo da un nodo a tutti gli altri nodi. Inoltre l'algoritmo è iterativo, quindi dopo k iterazioni, si conosce il percorso a cost minimo verso almeno k destinazioni.
39
Che cosa sono gli AS(Autonomous Systems) in internet?
Internet è formata da molte sottoreti, idealmente ogni sottorete dovrebbe essere amministrativamente autonoma e capace di collegarsi a tutte le altri reti. La soluzione è organizzare i router in AS, ovvero un gruppo di router sotto lo stesso controllo amministrativo. Esistono l'Intra-AS routing e l'Inter AS routing.
40
Che cos'è l'Intra AS routing?
L'Intra AS routing si basa sul protocollo OSPF(Open Shortest Path First), che è un protocollo di routing basato su link state. Usa datagrammi IP e implementa tre procedure: - Protocollo di "Hello": messaggi di mantenimento, che controllano i link funzionanti e quindi verificano quali nodi sono vicini - Protocolli di "Exchange": usato per informare i vicini che si sono appena "conosciuti" sulla tipologia di rete nota al momento - protocollo di "Flooding": informa tutti i router di un cambio nello stato dei link.
41
Spiega che cos'è l'OSPF gerarchico.
L'OSPF gerarchico viene usato in reti con molti router. C'è una gerarchia a due livelli: dorsale("backbone") e reti di area. I nodi conoscono la topologia di rete solo all'interno della propria area, e uno shortest path verso le altre aree.
42
Che cos'è l'algoritmo di routing con "distance vector"?
L'algoritmo di routing con "distance vector" è un algoritmo distribuito, che non richiede la conoscenza della topologia di rete, ma richiede soltanto che ogni nodo di rete conosca i propri vicini e il costo dei link verso questi vicini. L'algoritmo di base usato per questo tipo di routing è Bellman-Ford.
43
Come funziona l'algoritmo di Bellman-Ford?
L'algoritmo di Bellman-Ford trova i percorsi a costo minimo da un nodo sorgente a tutti gli altri aggiornando iterativamente le distanze per ogni collegamento, anche in presenza di costi negativi.
44
Definisci il count-to-infinity.
Il count-to-infinity è un problema di routing a distanza, in cui i router aggiornano le loro tabelle di instradamento in modo errato, causano un aumento infinito del costo verso una destinazione non più raggiungibile.
45
Quali sono le soluzioni possibili al problema del count-to-infinity?
Le possibili soluzioni sono il massimo numero di Hop per la propagazione dei DV(distance vector), come ad esempio 15 hop. Un'altra possibile soluzione è lo Split Horizon, che quando un nodo manda aggiornamenti a un vicino, omette le rotte apprese da quel vicino. Un altra soluzione invece è il Poison Reverse è un aggiornamento dello Split Horizon.
46
Qual'è il protocollo per routing intra-AS?
Il RIP(Routing Information Protocol) è un protocollo che implementa distance vector. I vantaggi sono che è semplice da implementare e gestire, mentre i svantaggi sono la convergenza lenta e la dimensione di rete limitata.
47
Come funziona il RIP(Routing Information Protocol)?
Il cost dei link è il numero di hop e ogni 30 secondi RIP invia i distance vector(DV), usa UDP.
48
Cosa succede se accade un guasto sul collegamento?
Se un router non riceve notizie dal suo vicino per 180s, allora il nodo adiacente/il collegamento viene considerato guasto. RIP modifica la tabella d'instradamento locale e propaga l'informazione mandando annunci ai router vicini
49
Come funziona la tabella d'instradamento RIP?
Un processo chiamato routed esegue RIP, ossia mantiene le informazioni d'instradamento e scambia i messaggi con i processi routed nei router vicini. Poiché RIP viene implementato come un processo a livello di applicazione, può inviare e ricevere messaggi su una socket standard e utilizzare un protocollo di trasporto standard.
50
Che cos'è BGP e quale è il suo scopo.
BGP(Border Gateway Protocol) serve per far parlare i router di bordo tra loro per realizzare questa connessione tra diversi AS.
51
Che cos'è quindi l'inter-AS networking?
L'inter-AS networking significa che gli AS comunicano tra loro per condividere info di raggiungibilità. Ogni AS decide autonomamente i propri punti di ingresso e uscita. Ogni AS può anche decidere di condividere informazioni con alcuni vicini ma non con altri.
52
Che cos'è un Transit AS?
Un Transit AS è un AS che non condivide informazioni sulla propria rete, ma fa solo da tramite.
53
Come funziona il BGP(Border Gateway Protocol)?
Di fatto, è l'unico protocollo standard per comunicare informazioni di raggiungibilità per le reti. BGP è un Path Vector Protocol ed essendo le relazioni tra AS complicate , lo è anche BGP per potersi adattare. Il principio chiave è la liberà amministrativa per ogni AS, che: - può decidere se pubblicizzare info di raggiungibilità per le proprie reti - può decidere di ritrarre la raggiungibilità di qualunque propria rete - può decidere di offrire o meno transito verso altri AS in ogni momento.
54
Come funziona effettivamente la connessione tra diversi AS?
Ogni AS ha un certo numero di router detti "BGP speaker". BGP possono parlare attraverso una connessione TCP tra loro. Una volta connessi, due BGP speaker possono scambiarsi informazioni di raggiungibilità. Le informazioni condivise includono non la raggiungibilità di un certo prefisso, ma anche il percorso per raggiungerlo.
55
Quali sono le diverse interconnessioni tra AS?
Le interconnessioni tra AS possono essere client-provider, dove il client paga il provider per ottenere raggiungibilità, o peer, dove due nodi hanno una relazione di peering nel momento in cui condividono tutte le proprie conoscenze di raggiungibilità.
56
Ci sono delle regole tra le interconnessioni tra AS?
Ci son le policies, che sono una specie di contratti che controllano le interconnessioni tra AS. Le policies in pratica controllano ciò che sono abilitato a condividere con un certo vicino e cosa no. CI sono le Ingress Policies(politiche applicate alle rotte che voglio importare nel mio sistema) e le Egress Policies(politiche applicate alle rotte prima che vengano esportate).
57
Che cosa il best path BGP?
Il best path in BGP è diverso dal best path in OSPF o RIP, in cui si preferiva il percorso più breve, o comunque con costo minore. Il concetto di preferito in BGP è vago e dipende tanto dalle policies degli AS. Ogni speaker BGP condivide solamente il proprio best path per raggiungere una destinazione. I best path vengono solitamente installati nelle routing tabel del router che fa da speaker BGP.
58
Quali sono i 4 messaggi BGP e che cosa fanno?
I 4 messaggi BGP sono: - open: usato per aprire una nuova connessione con un altro nodo BGP - notification: usato per condividere errori - keepAlive: usato per mantenere attiva la connessione - update: usato per inoltrare conoscenza.
59
Che cosa fa il commando withdraw in BGP?
Un withdraw è l'azione di rimozione di una rotta. All'interno di un pacchetto di update vi è una sezione apposita per le rotte che vengono cancellate. Si effettua un withdraw quando no vi è più nessun percorso disponibile verso un certo AS.
60