120 likes | 250 Views
Dato. Frammento. Frammento. Header. Header. Header. Ethernet trailer. Ethernet trailer. Ethernet header. Ethernet header. Frammentazione. Problema Cosa succede se un pacchetto è piu grande della dimensione massima di un frame?. Soluzione
E N D
Dato Frammento Frammento Header Header Header Ethernet trailer Ethernet trailer Ethernet header Ethernet header 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). 1 2
Collo di bottiglia interno (1) All’interno dello host mittente sono necessarie delle operazioni di copia per portare il dato da trasmettere: • dallo spazio di memoria dell’applicazione a quello del kernel del sistema operativo (dove opera il software di rete); • 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 (2) 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.
FF00 Dato applicazione FF00 AD00 Header software di rete Ethernet trailer FF00 AD00 Ethernet header scheda Ethernet trailer Dato Header Ethernet header Tecniche Gather-write • Il software di rete riceve dall’applicazione dei puntatori, cioè gli indirizzi del dato e dello header, e li copia nella scheda. • La scheda ricompone il frame subito prima di mandarlo (gather-write), usando gli indirizzi per un accesso DMA o inviando 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) • Proprietà prefisso • Gli indirizzi degli host posti sulla stessa rete locale devono avere uno stesso 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.
FINE Condizioni di instradabilità (2) • 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.