Torna alla pagina di Sistemi per l'elaborazione delle informazioni
:: Sistemi per l'elaborazione delle informazioni ::
Lezione 4 Ottobre 2007
Ethernet VS Telefono
Ethernet parte dal piccolo e si può estendere con bridge, switch etc. L'estensione tuttavia non è infinita, per vari motivi: Ethernet resta sempre una rete privata e locale.
Il Telefono invece è pubblico, non perché appartenga allo stato (beh, adesso non più), ma perché è utilizzabile da tutti ovunque proprio a livello di tecnologia.
Le reti locali sono locali, e i problemi nascono quando si vuole cercare di interconnetterle. Ethernet stessa non basta più a questo scopo. Occorre quindi uno strumento software che permetta il recapito del payload attraverso più reti. Questo strumento software è l' Internetworking Protocol, cioè l' IP.
Il vantaggio di uno strumento software è che può funzionare con Data Link diversi, rendendo di fatto possibile la connessione tra reti diverse tra loro. Si tratta di software che opera al livello 3. Da notare che ci sono anche altri software che fanno cose simili, sempre a livello 3, come per esempio il NetBEUI della Microsoft.
Lo standard ISO prevedeva i 7 livelli: application, presentation, session, transport, network, datalink, physical media. Il livello application deve occuparsi dell'interfaccia utente, il livello presentation del rendering dei dati, il session della capacità di raggruppare blocchi diversi in sessioni uniche.
Queste tre funzioni ora sono state accorpate dalle applicazione in un colpo solo, non sono più nettamente distinte, sono eseguite comunque ma non in moduli separati.
TCP
TCP = Transmission Control Protocol.
Ripeto: il TCP lavora a livello 3, quindi i suoi vari header etc. etc. per la scheda Ethernet sono puro payload.
Il TCP inserisce nel payload delle informazioni che servono per il recapito di interrete, cioè inviare pacchetti (adesso sono pacchetti, non più frames) tra reti diverse. Come ci si potrebbe aspettare, usa un header.
L'header è composto da due parti:
- IP
- TCP o UDP
Vedremo poi a che cosa si riferiscono in dettaglio queste sigle.
In generale, comunque, si può ben vedere che viene sovrapposto uno schema di indirizzamento allo schema fisico dei MAC Address delle schede di rete. Perché si è scelto di fare così? In fondo, ogni scheda ha un suo indirizzo fisico garantito diverso da quello di ogni altra scheda, perché mai utilizzare un altro schema di indirizzamento?
La ragione è semplice, e deriva proprio dal fatto che il MAC è legato fisicamente alla scheda. Nel caso che io trasferisca la mia scheda di rete da un computer A ad un computer B, la scheda si porterebbe dietro il suo indirizzo, e se un eventuale mittente comunicasse a quell'indirizzo convinto di parlare ad A, parlerebbe invece a B. Altro caso: mi si rompe la scheda di rete, la cambio, e gli altri non mi trovano più.
Per ovviare a questo problema occorrerebbe una specie di mappa completa e complessiva che associa un MAC ad un certo computer, e ogni rete dovrebbe mantenere questa mappa.
Ma gli inventori del TCP/IP hanno pensato ad un sistema più conveniente, che mi permette di capire immediatamente dall'indirizzo se il computer appartiene alla rete locale oppure no. Magia nera.
IP versione 4
La IETF è la Internet Engineering Task Force. Si tratta di gruppi di volontari che operano su vari livell, e i volontari operano a titolo personale.
Pubblicano le RFC, ovvero Request for Comments, che in teoria sono delle proposte alle quali si risponde, poi in realtà non risponde nessuno:) Nelle RFC si spiega in modo formale come funziona un pezzo di Internet. La cosa bella e geniale è che queste RFC sono rese pubbliche e liberamente accessibili da tutti senza alcun costo aggiuntivo. Questa è stata una grande mossa: tutti quanti hanno potuto implementare da subito le specifiche pubblicate nelle varie RFC, e questo ha portato ad una grande diffusione del protocollo stesso. E' sempre meglio poter essere indipendenti da aziende monopolistiche.
Gli IP Address sono numeri di 32 bit, in genere organizzati in 4 cifre decimali che vanno da 0 a 254, e si tratta di indirizzi assegnati ad una scheda.
Il pacchetto è il blocco che viene inserito nel frame del DataLink. Tra i vari campi (to do), c'è il campo lunghezza pacchetto, che è di 16 bit, e quindi il pacchetto può essere lungo al massimo 64 kbyte.
Ma come, se il frame Ethernet è lungo 1.5 kbyte! Come fa a starci?
E infatti non ci sta. Beh, innanzitutto l'header è di 40 byte, quindi ci sta nel payload di un frame Ethernet. E questa è già una condizione di integrità: l'header deve almeno starci nel payload del frame, altrimenti il TCP/IP sarebbe del tutto inutile.
I restanti 64kbyte vengono frammentati in più frames. Ogni frame conterrà nell'header un campo offset che mi dice a quale punto del pacchetto quel frame corrisponde, e avrà attivata la flag che mi dice pacchetto frammentato. Ecco perché l'header di livello 3 deve starci nel payload di livello 2: altrimenti tutte queste indispensabili informazioni sulla frammentazione andrebbero perse! Certo, se il payload di livello 2 è piccolo, ovvero appena più grande dell'header di livello 3, succede che l'overhead di protocollo diventa immenso...
Torna alla pagina di Sistemi per l'elaborazione delle informazioni