Sei sulla pagina 1di 2

Applicazione:

- HTTP, DNS, SMTP, MIME, POP3, IMAP, FTP

Trasporto:
UDP, TCP (stop and wait, go back n, selective repeat),

Rete:
IPv4, IPv6, DHCP, NAT, RIP, OSPF, BGP (e, i), IGMP, ICMP

Collegamento:
PPP, MAC (FTDMA, TDMA, CDMA, ALOHA (puro, slotted), CSMA/CD e CA), Ethernet (usa
CSMA/CD)

Ampiezza di banda:
- Intervallo frequenze.
- Quanti bps può trasmettere un link.

Bit rate: capacità di una rete di trasferire dati.


Throughput: capacità effettivta di una rete di trasferire dati.
Latenze:
- Elaborazione del nodo: tempo per controllo errori ed elaborazione di un
pacchetto.
- Tempo di accodamento: quanto un pacchetto attende di essere trasmesso.
(len(pacchetto)*tasso di arrivo)/rate se circa 0 poco ritardo, 1 rit
consistente, > 1 aiuto.
- Tempo di trasmissione: len(pacchetto)/rate, tempo di immissione del
pacchetto.
- Tempo di propagazione: len(link)/rate tempo di propagazione di un bit sul
collegamento.
- Prodotto rate*ritardo = massima quantità di bit su un link.

Calcolo bit influenzati da rumore: rate * tempo di rumore.

Dimensione massima finestre dati X bit per il numero di sequenza:


- Stop and wait, sono entrambe (invio e ricezione) di 1, nSeq è 1 o 0.
- Go back n, la finestra di invio è al massimo (2^X)-1, eicezione sempre 1.
- Selective repeat sono entrambe massimo 2^(X-1).

Calcolo di utilizzo del canale a livello di trasporto:


Data velocità (R), RTT e dimensione pacchetti (D):
1- Calcolo rate * ritardo (C) per vedere quanti bit posso mettere massimo sul
canale.
Per calcolarlo si deve fare R * RTT.
- Stop and wait mette un pacchetto alla volta, utilizza D/C.
- Selective repeat con M bit per nSeq ha una finestra di 2^(M-1) quindi usa
il canale
2^(M-1) * D / C
- Go Back N con M bit per nSeq ha una finestra di (2^M)-1 quindi usa il
canale
(2^M)-1 * D / C.

Calcolo timeout per livello trasporto (IGNORO RTT PER PACCHETTI RISPEDITI):
SampleRTT = RTT
EstimatedRTT[t+1] = EstimatedRTT[t]*(1-alfa) + alfa*SampleRTT[t+1]
(uso la notazione con le [] per indicare che è scritto in pedice).

Controllo congestione:
- Slow start = CWND a 1 MSS, +1 pacchetto inviato per ogni ACK ricevuto,
cresce exp fino a ssthresh
- Cong. avoidance = se si arriva a sshtresh o si perde un pacchetto
(timeout), si incrementano
linearmente i pacchetti inviati (quando viene ACKata tutta la finestra di
invio). Questo fino a
un timeout o ai 3 ACK duplicati. Poi si setta sshtresh = CWND / 2 e CWND = 1.
- Fast recovery non la so ciao.

Dato che ogni volta che un nodo aggiorna il suo vettore di distanza lo invia ai
vicini,
vediamo un problema che può capitare.
Abbiamo i nodi X, A, B
X --1-- A --1-- B Quindi A per andare in X ci mette 1 e B per andare in X 2.
Si rompe il collegamento tra A e X e viene messo a 16.
B invia il suo vettore distanza ad A che dice, io ho 16 per arrivare a X, ma
passando per B
ci metto 3 (1 per arrivarci e lui ha 2 come costo). Aggiorna il suo vettore delle
distanze
e lo invia a B. B lo vede e dice "porca troia adesso A ci mette 3 per raggiungere
X,
mi aggiorno e metto che ci metto 4", e continuo così fino all'infinito.
Il problema è che B notifica A di un percorso che passa per A stesso, ma A non può
accorgersi
di questa cosa con il singolo vettore di distanza.
Come risolviamo?

Split horizon:
Invio solo parte del vettore e non invio al nodo A l'informazione su come
raggiungere X,
se ritengo che per raggiungere X passo per A (elimino riga X dalla tabella).

Poisoned reverse:
Metto a infinito il costo del percorso che passa attraverso il vicino a cui sto
inviando
il vettore. Nel caso di prima nella cella di X metto il valore infinito quando B
invia
il vettore ad A.

Tempo di vulnerabilità:
-ALOHA puro = 2 * Tempo trasmissione.
-Slotted ALOHA = Tempo di trasmissione.
-CSMA/CD = Tempo di propagazione.

Maschera e indirizzo di rete:


Il numero degli indirizzi del blocco è N = NOT(maschera)+1
Primo indirizzo del blocco = qualsiasi indirizzo del bloccco AND maschera
Ultimo indirizzo del blocco = qualsisi indirizzo del blocco OR maschera

Dato indirizzo IP e la sua maschera di rete, come faccio a sapere a che blocco
appartiene?
Se il prefisso è lungo multiplo di 8 bit tipo: a.b.c.d/24, gli indirizzi sono da
a.b.c.0 a a.b.c.255.
Se non ho multiplo di 8 bit tipo a.b.c.d/26, dobbiamo vedere rappresentazione
binaria di d.
Se d = 10xyznls allora gli indirizzi degli host vanno da 10000000 (128) a
10111111(191).

Potrebbero piacerti anche