Lezione 2 – Protocolli del livello
di rete
Sistemi di elaborazione dell’informazione
Modulo 2 - Protocolli di rete TCP/IP
Unità didattica 1 - Protocolli di rete
Ernesto Damiani
Frammentazione
Problema
Cosa succede se un pacchetto è piu grande della dimensione
massima di un frame?
Soluzione
Il software di rete frammenta il pacchetto e aggiunge nello header un
numero di frammento che permetterà di ricomporre il pacchetto
originale alla destinazione.
Le applicazioni mittente e destinataria non si accorgono di nulla (a
parte il rallentamento dovuto alle operazioni di frammentazione).
Dato
Ethernet
Frammento 2
trailer
Header
Ethernet
header
Header
Ethernet
Frammento 1
trailer
Header
Ethernet
header
Collo di bottiglia interno
(1)
All’interno dello host mittente sono necessarie delle
operazioni di copia per portare il dato da trasmettere:
1. dallo spazio di memoria dell’applicazione a quello del
kernel del sistema operativo (dove opera il software di
rete);
2. e poi dallo spazio d’indirizzamento del kernel alla scheda
di rete.
Le operazioni di copia:
• sono trasferimenti di dati tra zone di memoria RAM eseguiti
dalla CPU;
• avvengono alla velocità b del bus interno dell’host, che può
essere inferiore alla velocità di trasmissione B del frame
Ethernet in rete.
Collo di bottiglia interno
Il bit rate del collo di bottiglia interno è:
• b è il bit rate del bus di sistema;
•
k (solitamente 2) è il numero delle operazioni di copia
richieste per inviare un dato.
Problema
Se B>
non stiamo sfruttando appieno la rete.
Un host con un bus interno PCI con bit rate di picco a 1056
Mbyte/s e k=2 ha un collo di bottiglia a 4.24 Gbit/sec, troppo
basso per una connessione Ethernet a 5 Gbit/sec.
(2)
Tecniche Gather-write
1. Il software di rete riceve
dall’applicazione dei
puntatori, cioè gli indirizzi
del dato e dello header, e li
copia nella scheda.
FF00
FF00
Dato
applicazione
AD00
Header
software
di rete
Ethernet
2. La scheda ricompone il
trailer
FF00 AD00
frame subito prima di
Ethernet
scheda
mandarlo (gather-write),
header
usando gli indirizzi per un
accesso DMA o inviando Ethernet
Ethernet
Dato
Header
trailer
header
un’interrupt.
frame ricomposto
• Si risparmia la prima copia e la seconda avviene sempre al
peak rate del bus interno dell’host (PCI = 1056 Mbit/sec).
• Si può fare anche in lettura (scatter-read).
Indirizzi software
(1)
L’intestazione che il software di rete aggiuge ai
dati da trasmettere dipende dal protocollo.
CARATTERISTICHE:
• contiene sempre un indirizzo software
(tipicamente, una sequenza di 32 bit) che
identifica il destinatario;
• l’indirizzo è specificato dall’applicazione mittente,
che di solito lo chiede all’utente.
ATTENZIONE: NON è l’indirizzo Ethernet a 48 bit.
Indirizzi software
(2)
• L’indirizzo Ethernet identifica una specifica
scheda hardware.
• L’indirizzo software identifica un’interfaccia
software che viene usata dai programmi di un
host per comunicare con altre applicazioni su
altri host.
– Più interfacce software possono coesistere sulla
stessa scheda di rete.
– L’indirizzo software viene deciso in fase di
configurazione di un host e può essere cambiato;
– L’indirizzo Ethernet - almeno in teoria - si stabilisce
in fase di produzione della scheda.
Recapito
(1)
Problema
• L’applicazione mittente specifica l’indirizzo software
del destinatario nello header del pacchetto.
• La scheda di rete ha bisogno dell’indirizzo Ethernet
della scheda del destinatario per inviare il frame che
contiene il pacchetto.
Come fa il software di rete a determinare
l’indirizzo Ethernet corretto?
Recapito
(2)
Possibili soluzioni
• Usare come indirizzo software a 32 bit una
sottosequenza di quello Ethernet, che
sappiamo essere a 48 bit.
Soluzione non usata nella pratica: perché?
• Creare su tutti gli host della rete locale delle
tabelle di traduzione tra indirizzi software e
indirizzi Ethernet.
È possibile usare il broadcast Ethernet per la costruzione e
l’aggiornamento delle tabelle di traduzione?
Instradabilità
Protocolli non instradabili
Permettono di comunicare solo alle applicazioni in esecuzione
sui computer di una stessa rete locale.
Protocolli instradabili
Permettono di raggiungere interlocutori posti su altre reti
locali, purché connesse a quella dove si trova il mittente
tramite dispositivi di interconnessione detti instradatori o
router.
Permettono di creare delle inter-reti, infrastrutture di
comunicazione composte da più reti locali collegate da router.
Il più noto esempio d'inter-rete è Internet, l'inter-rete
pubblica estesa a tutto il mondo.
Condizioni di instradabilità
(1)
Gli indirizzi degli host posti sulla stessa rete
locale devono avere uno stesso prefisso.
Proprietà prefisso
• Rende possibile il test del prefisso
Se gli indirizzi del mittente e destinatario hanno lo stesso
prefisso, il mittente traduce l’indirizzo del destinatario in
indirizzo Ethernet e poi usa il recapito Ethernet per inviare il
frame a destinazione; altrimenti manda il frame a un router.
• Consente l’instradamento
I router devono conoscere solo il percorso verso la rete a cui
l’host di destinazione appartiene e non verso ogni specifico
host destinatario.
Condizioni di instradabilità
• Gli indirizzi Ethernet non sono instradabili,
come quelli del protocollo originale delle reti
Microsoft (NetBEUI).
• Infatti, guardando una coppia di indirizzi
Ethernet non c’è modo di sapere se i
corrispondenti host sono sulla stessa rete
locale o meno.
ATTENZIONE! I protocolli IP/SPX (Novell) e TCP/IP
(standard di Internet) hanno indirizzi instradabili.
FINE
(2)
Scarica

Lezione 1