Telemat Lab's home page


Copyright © 1986 Universita' di Firenze. All rights reserved.

Free license available.




INTERNET & APPLICATIONS


di: D. Mariano e C. Guadalupi


Transmission Control Protocol/Internet Protocol

home pageIndicePrec.Succ.










Introduzione



I protocolli sono gli standard che specificano come avvengono i trasferimenti da una macchina ad un'altra. Essi specificano come sono rappresentati i dati, le tecniche per la rivelazione d'errore e il meccanismo di acknowledgment per i pacchetti trasmessi. Infine tali protocolli rendono invisibile all'utente l'hardware sottostante durante una qualsiasi sessione di lavoro.
Per TCP/IP non si intende solo il protocollo di trasmissione TCP ed il protocollo di rete IP, ma una famiglia di protocolli comprendente anche l'UDP, l'ICMP, l'ARP, il RARP ed altri, da cui però sono escluse le applicazioni quali la posta elettronica (E-mail) , il trasferimento di file (FTP) e l'emulazione di terminale remota (TELNET).
Il TCP/IP, al contrario di molti standards diventati in seguito protocolli, è nato prima come protocollo e successivamente è stato affinato per farlo diventare uno standard, effettuando prove "sul campo"; è in qualche modo uno standard "cooperativo".




Modelli a strati



Il modello a strati è una comoda rappresentazione dei sistemi di rete che permette concettualmente di separare le diverse funzionalità in strati di protocolli, permettendo così di studiare più facilmente i protocolli di rete.
L'idea della stratificazione è fondamentale per poter disegnare l'architettura software strutturata in livelli, ognuno dei quali con i suoi vari protocolli, tratta una parte specifica dei problemi di trasmissione.
Il concetto di stratificazione poggia su un principio basilare il quale, in sostanza, afferma che lo strato ennesimo alla stazione destinazione deve ricevere un pacchetto identico a quello che è uscito dal medesimo livello alla stazione sorgente. I due principali esempi di modelli stratificati sono rappresentati dal Open System Interconnection (OSI) dell'ISO e dal TCP/IP. Si può pensare al software di una macchina come costituito da tanti strati ognuno dei quali svolge una funzionalità specifica propria.
Inoltre è importante sottolineare che uno strato comunica soltanto con uno strato immediatamente superiore od inferiore, tramite delle interfacce standard, mentre all'interno dello strato la comunicazione può avvenire in un qualunque modo; per poter comunicare da uno strato n ad uno strato n-2 (n+2) bisogna necessariamente passare attraverso lo strato intermedio n-1 (n+1).
Concettualmente, mandare un messaggio da un programma su una macchina ad un programma su un'altra, significa trasferire tale messaggio giù attraverso tutti i vari strati fino al livello di rete e, tramite l'hardware, raggiungere l'altra macchina, risalire gli strati software in successione fino al livello di applicazione dell'utente destinazione.
In particolare il software TCP/IP è organizzato concettualmente in quattro livelli più un quinto costituito dal supporto fisico vero e proprio. La figura mostra i quattro livelli:




Da notare che se necessario il pacchetto può attraversare altre macchine intermedie (router) prima di giungere a destinazione, ma in queste penetra solo i due strati più bassi dell'interfaccia di rete e del datagramma base IP.
Uno dei vantaggi più significativi di questa separazione concettuale è che diventa possibile, entro certi termini, sostituire una parte senza disturbare necessariamente le altre, cosicché ricerca e sviluppo possono procedere concorrentemente su ognuno dei tre livelli.




Confronto tra TCP/IP e ISO/OSI (ex: X.25)




La prima differenza tra i due modelli sta nel numero di strati, in particolare, sette per l'OSI e cinque per internet. Esistono due sottili ma importanti differenze fra lo schema a strati dell'internet e quello del X.25 che è il più famoso protocollo aderente alla normative ISO. La prima riguarda l'affidabilità del servizio di trasporto dati e la seconda la localizzazione dell'autorità e controllo.
Nel modello X.25 il software del protocollo verifica l'integrità dei dati ad ognuno dei primi quattro livelli (escluso ovviamente il livello fisico di rete). In particolare, i livelli due e tre, cioè del link e del network, includono oltre al checksum un meccanismo di "timeout and retransmission", mentre il livello quattro del transport realizza l'affidabilità finale detta "end-to-end". Questo crea dei problemi, poiché ogni operazione di checksum mette in rete un ack ed ogni volta che si eccede il timeout viene duplicato un pacchetto, tutte queste operazioni sono ripetute ad ogni nodo attraversato anche se di passaggio (nel senso che vi si penetra solo al livello minimo, cioè di link).
Al contrario, nell'internet l'affidabilità è solamente un problema "end-to-end", infatti il livello di trasporto, e quindi la destinazione e la sorgente, è l'unico a gestire le ritrasmissioni e gli ack; i nodi di passaggio sono pressoché trasparenti anche se in effetti, hanno la capacità di buttar via i pacchetti se sono corrotti o se i buffer sono pieni.




Protocolli: Multiplexing e Demultiplexing



In generale, il multiplexing ed il demultiplexing sono tecniche largamente usate per sfruttare meglio il mezzo trasmissivo. Ad esempio, il TDMA permette di trasmettere più canali multiplexati, sfruttando un unico supporto fisico, salvo demultiplexare i canali stessi a destinazione.
In particolare, una rete non usa un singolo protocollo per adempiere ai molteplici compiti della trasmissione, ma, piuttosto, si basa su quella che potremmo definire una famiglia di protocolli. In pratica nei sistemi di comunicazione si usa una tecnica di multiplexing e demultiplexing per distinguere fra i vari protocolli ad uno stesso livello gerarchico.
Quando si spedisce un messaggio, il computer sorgente include dei bit in più per codificare il tipo di messaggio, il processo che lo ha generato ed il protocollo usato. Alla destinazione finale, la macchina demultiplexa i codici e guida così l'informazione verso la giusta procedura.



La figura illustra come il software del Network Interface Layer usa il frame type per scegliere la procedura che gestirà il frame in arrivo; in particolare, un frame fisico può contenere un datagramma IP, un ARP o un RARP.
A sua volta l'Internet Layer demultiplexa un datagramma IP che può contenere un ICMP, un UDP, un pacchetto TCP oppure un VMTP, come mostrato in figura:








Ultimo aggiornamento: 11 Novembre 1996



Telemat Lab's home page

home pageIndicePrec.Succ.




Explore the TELEMAT Site !!!

WORK IN PROGRESS by D. Mariano e C. Guadalupi