Il
sottostrato Media Access Control |
Il
Media Access Control è il più basso dei
due sottostrati in cui è stato diviso lo strato del
collegamento dati. Questo sottostrato fornisce laccesso
simultaneo allo strato fisico da parte delle schede di rete
dei vari host connessi. Esso dialoga direttamente con la scheda
di rete ed è responsabile di eventuali errori di trasferimento
dati tra due computer della rete.
Il
nome completo è TCP/IP Internet Protocol Suite
ed è un insieme di protocolli di trasmissione, i cui
due principali sono appunto il TCP (Transmission Control Protocol)
e lIP (Internet Protocol). Nel capitolo 1 (per la precisione
nel paragrafo 1.9) è stata descritta a grandi linee
la creazione e lintroduzione sul mercato del TCP/IP.
Visione
a strati e raffronto con il modello OSI |
Tra
il modello di riferimento OSI a sette strati ed il modello
TCP/IP a quattro strati, si possono fare i seguenti confronti:
- Il modello stratificato TCP/IP unifica lo strato fisico
a quello del collegamento dati del modello OSI, nello strato
della rete TCP/IP. Non fa distinzione tra le schede di rete
in senso fisico ed i loro driver e questo permette di implementare
il TCP/IP in qualunque topologia di rete;
- Lo strato Internet del modello TCP/IP corrisponde allo strato
della rete del modello di riferimento OSI. Entrambi si occupano
dei servizi di indirizzamento ed instradamento;
- Lo strato del trasporto in tutti e due i modelli permette
che si stabiliscano sessioni di comunicazione da un capo allaltro
tra due host;
- Lo strato della sessione del modello TCP/IP combina gli
strati della sessione, della presentazione e dellapplicazione
del modello OSI. Il modello TCP/IP comprende tutte le questioni
che riguardano la rappresentazione dei dati e il mantenimento
delle sessioni nellambito delle definizioni di una applicazione.
Lo
strato di interfaccia con la rete |
Lo
strato della rete infila sul cavo le cornici (frame) in partenza
e toglie dal cavo quelle in arrivo. Il formato utilizzato
da queste cornici dipende dalla topologia di rete implementata.
Lo strato della rete aggiunge un preambolo all'inizio della
cornice, nonché un controllo ciclico di ridondanza
(cyclical redundancy check, CRC) per assicurare
che i dati non si danneggino durante il transito. Quando la
cornice arriva a destinazione, il valore CRC é ricalcolato
per determinare se i dati hanno subito qualche danno lungo
il loro cammino.
Se la cornice arriva intatta, viene trasmessa al livello superiore
nel modello a strati della rete; se invece essa é danneggiata,
a questo punto viene scartata e si rende necessaria una nuova
spedizione da parte dellhost mittente.
Lo
strato Internet svolge tre funzioni principali: l'indirizzamento,
la suddivisione in pacchetti e l'instradamento. L'Internet
Protocol (IP) risiede in questo strato dell'insieme stratificato
di protocolli TCP/IP. IP offre la consegna di informazioni
senza connessione e non garantita.
Questo significa che il protocollo IP non svolge alcun controllo
o misurazione per assicurarsi che l'host destinatario abbia
ricevuto con successo le informazioni.
I pacchetti possono andare perduti o arrivare non in sequenza.
Quando le informazioni arrivano dallo strato del trasporto,
il protocollo IP vi aggiunge un'intestazione che contiene
le seguenti notizie:
Indirizzo IP dell'origine: indirizzo IP assegnato all'host
mittente;
Indirizzo IP della destinazione: indirizzo IP assegnato
all'host destinatario (vedremo cos'é un indirizzo IP
nel paragrafo 2.8):
Protocollo del trasporto: il protocollo usato dallo strato
del trasporto é immagazzinato all'interno dell'intestazione
IP. In questo modo, quando il diagramma arriva al sistema
dell'host, lo strato Internet sa se trasferirlo utilizzando
il protocollo TCP o il protocollo UDP;
Somma di controllo (checksum): assicura che i dati
che arrivano a questo strato non si siano danneggiati durante
il transito;
Tempo di durata in vita (Time-to-live, TTL): ogni volta
che il datagramma attraversa un router, il TTL diminuisce
di un valore pari almeno a uno. Quando il TTL raggiunge il
valore zero, il datagramma si sgancia dalla rete.
Lo strato Internet determina anche come instradare un datagramma
verso un host destinatario.
Se si suppone che l'host dell'IP destinatario si trovi sullo
stesso segmento di rete, il diagramma viene inviato direttamente
all'host bersaglio.
Se invece determina che l'host destinatario si trova su un
segmento di rete remoto, IP usa la tabella di instradamento
dell'host mittente per individuare la strada migliore per
raggiungere la rete su cui si trova l'host remoto.
Se nella tabella di instradamento non esiste un percorso esplicito,
l'host all'origine impiega il suo gateway predefinito (il
router preferito che un host utilizza per instradare il traffico
verso segmenti di rete remoti) per inviare il diagramma all'host
remoto. Altri processi che avvengono nello strato Internet
sono la frammentazione ed il riassemblaggio.
A volte, quando le informazioni sono trasferite tra i segmenti
di rete, questi possono non servirsi della stessa topologia
di rete. La topologia di rete del ricevente può non
lavorare con la medesima dimensione del datagramma che usa
la rete dell'host mittente.
In questo caso, IP scompone i dati in pezzi più piccoli.
Quando i dati arrivano all'host destinatario, i pezzi più
piccoli vengono riassemblati,nel pacchetto dati originale.
Al momento della frammentazione dei dati, in ciascun pacchetto
distinto vengono apposte le seguenti informazioni:
Flag: il bit di flag del frammento nell'intestazione
IP di ciascun frammento di pacchetto é impostato in
modo da indicare che i dati sono stati suddivisi. Sull'ultimo
frammento di pacchetto il bit di flag non é impostato,
poiché a seguire non vi sono altri frammenti;
ID del frammento: quando un datagramma é
spezzettato in porzioni più piccole, lID del
frammento identifica tutti i pezzi da cui era composto in
origine. Questa informazione serve al client per potere poi
riassemblare il datagramma;
Offset del frammento: quando le porzioni più
piccole si riassemblano in un singolo datagramma, loffset
del frammento determina lordine in cui i frammenti si
devono sistemare.
Lo
strato del trasporto fornisce una comunicazione da un capo
allaltro tra gli host utilizzando le porte. Nel modello
a strati del TCP/IP, si trovano i seguenti due protocolli
con il compito di trasportare i dati:
- Trasmission Control Protocol (TCP)
- User Datagram Protocol (UDP)
Il TCP si occupa delle comunicazioni orientate alla connessione
su una rete TCP/IP.
Quando due host comunicano utilizzando il protocollo TCP,
bisogna che tra i due si stabilisca una sessione. Questo avviene
perché ciascun host possa determinare il numero sequenziale
successivo che laltro host utilizzerà. Una connessione
TCP garantisce un livello di attendibilità.
Le trasmissioni si servono di numeri sequenziali e di conferme
per assicurarsi che lhost destinatario riceva con successo
i dati. Se infatti non riceve uno specifico segmento, può
richiedere allhost mittente di inviarlo una seconda
volta.
Nella
figura qui sopra, lhost sulla sinistra ha segmentato
un pacchetto dati in 5 pezzi più piccoli. Invia i primi
due allhost sulla destra, il quale, al momento della
ricezione, dà una conferma che linvio ha avuto
successo. Quindi lhost sulla sinistra invia i due frammenti
successivi (il 3 ed il 4).
Per qualche ragione, lhost sulla destra riceve solo
il terzo frammento. Lhost sulla sinistra invia di nuovo
il frammento 4 ed insieme il frammento 5. Al momento della
ricezione, lhost destinatario dà la conferma
per entrambi i frammenti. Ora può riassemblare i dati
nel loro formato originale.
|