Passa ai contenuti principali

Reti: Il TCP-IP Parte 1


I Protocolli di Rete
I protocolli sono degli standard che specificano le modalità in cui avviene il trasferimento di informazioni da una macchina ad un'altra. Essi specificano le modalità di rappresentazione dei dati, le tecniche per la rivelazione degli errori e i meccanismi di acknowledgment per i pacchetti che vengono trasmessi.
Con il termine TCP/IP non si intende esclusivamente il protocollo di trasmissione TCP con aggiunto il protocollo di rete IP, ma una intera famiglia di protocolli che comprende anche UDP, ICMP, ARP, RARP ed altro.

Da questa famiglia sono escluse applicazioni quali:
  • posta elettronica (E-mail)
  • trasferimento di file (FTP)
  • emulazione di terminale remota (TELNET).

Il TCP/IP, al contrario dei molti standard diventati successivamente protocolli, è nato inizialmente come protocollo e solo successivamente si è evoluto tanto da diventare uno standard.. 

Il Modello a Strati (Layers)
Il modello a strati è una rappresentazione dei sistemi di rete che permette di separare le diverse funzionalità in strati di protocolli, permettendo di analizzarli più facilmente.
Tale modello è fondamentale per poter disegnare l'architettura software strutturata in più livelli ognuno dei quali, con i suoi vari protocolli, tratta una determinata parte delle problematiche di trasmissione.
Il concetto di stratificazione si basa su un principio che afferma che lo strato ennesimo alla stazione di destinazione deve ricevere un pacchetto perfettamente identico a quello che è uscito dallo stesso livello della stazione di origine.
I due principali esempi di modelli a strati sono rappresentati da:
  • l'Open System Interconnection (OSI) dell'ISO
  • il TCP/IP

Si può rappresentare il software di una macchina come costituito da diversi strati, ognuno dei quali svolge una propria specifica funzionalità.
Uno strato, in questa rappresentazine, comunica unicamente con lo strato immediatamente superiore o inferiore e lo fa tramite delle interfacce standard, all'interno dello strato stesso la comunicazione può avvenire in una qualunque modalità
Per poter comunicare da uno strato n ad uno strato n-2 (n+2) bisogna necessariamente passare attraverso uno strato intermedio n-1 (n+1).
Mandare un messaggio da un programma di una macchina ad un programma su un'altra significa trasferire il messaggio attraverso tutti i vari strati fino al livello di rete e, tramite l'hardware, raggiungere l'altra macchina, quindi risalire gli strati software in successione fino al livello di applicazione dell'utente di destinazione.
In particolare il software TCP/IP è organizzato in quattro livelli più un quinto costituito dal supporto fisico vero e proprio. La figura seguente mostra i quattro livelli: 

Application Layer
Nel livello più alto, l'utente esegue i programmi applicativi che permettono di accedere ai servizi disponibili attraverso Internet; tale livello riguarda tutte le chiamate e le opzioni dei vari programmi. Questo livello, inn sintesi, gestisce l'interazione tra utente e macchina.
Un determinato programma applicativo interagisce con uno dei protocolli del livello di trasporto per inviare o ricevere dati, quindi li passa al livello di trasporto nella forma richiesta.

Tranport Layer
Lo scopo primario del livello di trasporto è quello di consentire la connessione in rete fra due utenze, cioè permettere la comunicazione tra un livello applicativo ed un altro; questa comunicazione viene definita anche "end-to-end".
Il flusso di dati viene diviso in pacchetti, con una lunghezza di circa 500 byte. Questi vengono passati, insieme all'indirizzo di destinazione, allo strato sottostante. Il livello di trasporto deve accettare dati da molti utenti contemporaneamente e deve, inoltre, smistare i pacchetti che gli arrivano da sotto ai vari programmi, quindi utilizzare dei codici ad hoc per indicare le porte.
Le procedure di trasporto dei pacchetti aggiungono ad ogni singolo pacchetto alcuni bit in più atti a codificare, tra l'altro, i programmi sorgente e destinazione.
Il livello di trasporto può regolare il flusso di informazioni e può, nel caso del TCP e a differenza dell'UDP, definire un trasporto che sia affidabile, con la sicurezza che i dati arrivino alla destinazione senza errori e nella sequenza corretta mediante un meccanismo di acknowledgement e ritrasmissione.

Internet Layer (IP)
Questa tipologia di livello gestisce la comunicazione tra una macchina ed un'altra.
Accetta la richiesta di inoltro di un pacchetto da un livello di trasporto legato all'identificazione della macchina alla quale il pacchetto deve giungere.
Si definisce come IP (internet protocol) e crea il datagramma di base della rete. In sintesi riceve e trasferisce senza garanzie i pacchetti, che gli arrivano dal livello superiore, verso la macchina di destinazione.
Accetta i pacchetti TCP, li spezzetta e li incapsula nei datagramma di base IP, riempie gli header necessari ed usa l'algoritmo di routing per decidere a chi deve mandare lo specifico pacchetto.
Il livello Internet gestisce anche i datagrammi in ingresso e verifica la loro validità. Inoltre utilizza l'algoritmo di routing per decidere se il datagramma deve essere inoltrato a destinazione  o processato a livello locale; in questo caso il software elimina l'header del datagramma e sceglie con quale protocollo di trasporto gestirà poi il pacchetto. In tale fase non solo si effettua la funzione di instradamento, ma viene effettuata la verifica della validità dei pacchetti ricevuti. Questo livello gestisce i messaggi ICMP in ingresso ed uscita.

Network Interface Layer
Il quarto strato consiste in una interfaccia di rete che accetta il datagramma IP e lo trasmette, tramite incapsulamento in appositi frame.


Il pacchetto, se necessario, può attraversare altre macchine intermedie (router) prima di giungere alla destinazione e in queste penetra solo i due strati più bassi dell'interfaccia di rete e del datagramma base IP.
Uno dei vantaggi di questa separazione è che diventa possibile sostituire una componente senza includere le altre nel processo.

Fine della prima parte...

Commenti

Post popolari in questo blog

Computer Olivetti: Il modello M24

L' Oli­vet­ti M24 fu il primo per­so­nal com­pu­ter della Oli­vet­ti Ita­lia nato come clone del PC IBM . Per que­sto mo­ti­vo ebbe gran­de suc­ces­so sia in Italia che nei mercati internazionali. A dif­fe­ren­za del pre­ce­den­te prodotto di Olivetti, l' M20 , che adot­ta­va in­ve­ce un si­ste­ma ope­ra­ti­vo proprietario sviluppato dalla Oli­vet­ti. Era qualitativamente superiore al PC IBM , che adot­ta­va il pro­ces­so­re i8088 con clock a 4,7 MHz , un processore a 16 bit ma c on un bus dati di 8 bi t. L 'Olivetti M24 , invece adot­ta­va il microprocessore i8086, con una ve­lo­ci­tà di clock di 8 MHz ma con un bus dati di 16 bit . Inoltre  si po­te­va­no in­cre­men­tar­ne le pre­sta­zio­ni di­mi­nuen­do la ve­lo­ci­tà di re­fresh della me­mo­ria via soft­ware. Fu pro­dot­to a par­ti­re dal 1983 e co­sta­va circa s ei mi­lio­ni di lire alla data del gen­na­io 1986, equi­va­len­ti a circa € 6.600  del 2008; ve­ni­va for­ni­to a cor­re­do un ma­nua­le uten­te , l...

Inizio dell'era informatica in Italia

L’inizio dell’informatica in Italia Olivetti ELEA 9002 Premessa I primi calcolatori elettronici vengono installati in Italia verso la metà degli anni ‘50. Si tratta di prototipi di fabbricazione straniera, che vengono utilizzati per calcoli scientifici e tecnici. Nel 1955 si avviano due iniziative dirette a realizzare queste macchine autonomamente nel nostro Paese. La prima ha luogo presso l’ Università di Pisa , dove inizia la progettazione di un calcolatore elettronico pisano ( CEP ), con lo scopo primario di fare esperienza e formare competenze nel settore. La seconda avviene a opera della Olivetti . In quello stesso anno, infatti, l’azienda crea un laboratorio per realizzare un elaboratore di grandi dimensioni, con cui entrare nel nuovo e promettente mercato dell’informatica. Il risultato fu una macchina di avanguardia ( ELEA ), di cui vennero fabbricati e installati circa 180 esemplari. Nel 1964 , a causa di difficoltà finanziarie, l’Olivetti cedette la Div...

Lo ZX Spectrum - il mio Primo Computer

Il 23 aprile 1982 Clive Sinclair ( Sinclair Research ) presentarono lo ZX Spectrum . Il piccolo Home Computer era destinato a diventare un punto di riferimento per l’informatica e per l’industria videoludica. Lo ZX Spectrum riuscì a fare concorrenza al famosissimo Commodore 64 , grazie anche al suo prezzo notevolmente più basso. Chi acquistava un ZX Spectrum aveva un computer a 8-bit, dotato di CPU Zilog Z80A da 3,5MHz, RAM di serie da 16KB espandibili fino a un massimo di 128KB e un display con risoluzione massima di 256×192 pixel. caratteristiche che "fanno tenerezza" oggi, nel 2012, ma che nel 1982 decretarono il successo di questa piattaforma, una delle più ambite sul mercato, grazie a un processo d’ingegnerizzazione veramente valido che ne conteneva il costo.