IL PROTOCOLLO TCP/IP

 

Panoramica sul TCP/IP

Terminologia

L'IP crea una singola rete logica

Interoperabilità

Struttura di base

Flusso dei dati

Indipendenza di una rete fisica

Due interfacce di rete

 

Panoramica sul TCP/IP

 

   Il termine generico "TCP/IP" usualmente dice tutto e niente,

   relativamente ai protocolli specifici di TCP ed IP.

   Essi possono includere altri protocolli, applicazioni e vari mezzi

   fisici.

   Esempi di questi protocolli sono: UDP, ARP e ICMP.

   Esempi di queste applicazioni sono: TELNET, FTP ed rcp.

   Il termine più appropriato è allora "tecnologia internet".

   Una rete che usa la tecnologia internet viene detta una "internet".

 

Struttura di Base

 

   Per comprendere questa tecnologia occorre prima comprendere la seguente

   struttura logica:


 

                  Figura 1.  Nodo Base di una rete TCP/IP

 

   Questa è la struttura logica dei protocolli a strati sui computer di una  

   internet. 

   Ciascun computer che vuole comunicare usando la tecnologia internet

   segue questa struttura logica.

   Si tratta di una struttura che determina il comportamento del computer

   sulla internet.

   I rettangoli rappresentano il trattamento che subiscono i dati quando

   attraversano il computer e le linee che collegano i rettangoli mostrano

   il percorso seguito dai dati. 

   La linea orizzontale in basso rappresenta il cavo Ethernet; il "o" è

   il transceiver.

   La "*" rappresenta l’indirizzo IP mentre la "@" rappresenta l’indirizzo

   Ethernet.

   Capire questa struttura logica è essenziale per la comprensione della

   tecnologia Internet e ciò è lo scopo di questa guida.

 

Terminologia

 

   Il nome di una unità di dati che fluisce attraverso una internet è

   dipendente dalla pila di protocolli che viene attraversata.

   In breve: su una Ethernet viene chiamato “frame Ethernet”; fra il

   driver Ethernet ed il modulo IP viene chiamato “pacchetto IP”; fra il

   modulo IP ed il modulo UDP viene chiamato “datagramma UDP”; fra il

   modulo IP ed il modulo TCP viene chiamato “segmento TCP” (o più

   generalmente, “messaggio di trasporto”); da e verso una applicazione di

   rete viene invece chiamato “messaggio di applicazione”.

 

   Queste definizioni però sono imprecise.  Le attuali definizioni variano

   da una pubblicazione all’altra. Più precise definizioni possono essere 

   comunque trovate nell’RFC 1122, sezione 1.3.3.

 

   Un driver è un programma che comunica direttamente con l’interfaccia

   hardware di rete. Un modulo è un programma che comunica con un driver,

   con le applicazioni di rete, o con altri moduli.

 

   I termini driver, modulo, frame Ethernet, pacchetto IP, datagramma UDP,

   messaggio TCP e messaggio di applicazione, sono usati in modo

   appropriato in tutta questa guida.

 

Flusso dei Dati

 

   Seguiamo il flusso dei dati attraverso la pila dei protocolli mostrata

   in Figura 1.  Per una applicazione che usa il TCP (Transmission Control

   Protocol), i dati passano attraverso i moduli applicazione e TCP.

   Per le applicazioni che usano l’UDP (User Datagram Protocol), i dati

   passano fra i moduli applicazione e UDP.  L’FTP (File Transfer Protocol)

   è una tipica applicazione che usa il TCP.  La sua pila di protocolli in

   questo esempio è FTP/TCP/IP/ENET.  L’SNMP (Simple Network Management

   Protocol) è una applicazione che usa l’UDP.  La sua pila di protocolli

   in questo esempio è SNMP/UDP/IP/ENET.

 

   Il modulo TCP, quello UDP, ed il driver Ethernet sono dei mux-demux n-a-

   1.

   Nella veste di multiplexer n-a-1 essi funzionano da deviatori da vari

   input ad un output.

   Nella veste di demultiplexer 1-to-n essi funzionano da deviatori da un

   input ad uno fra vari output a secondo del campo “type” nel “protocol

   header”.

Figura 2.  n-a-1 multiplexer ed 1-a-n de-multiplexer

 

   Se un frame Ethernet sale nel driver Ethernet, il pacchetto può

   proseguire verso il modulo ARP (Address Resolution Protocol) oppure

   verso il modulo IP (Internet Protocol) a seconda del valore del campo

   type field” del frame Ethernet.

  

   Se un pacchetto IP sale nel modulo IP, il percorso dell’unità di dati

   verso i moduli TCP o UDP, viene determinato dal valore del campo

   protocol type” nell’IP header.

 

   Se il datagramma UDP sale nel modulo UDP, il messaggio di applicazione

   viene passato ad un applicativo di rete in base al campo “port number

   dello “UDP header”.  Se il messaggio TCP sale nel modulo TCP, il

   messaggio di applicazione viene passato ad un applicativo di rete in

   base al campo “port number” del “TCP header”.

 

   Il multiplexing è invece più semplice poiché da ogni punto di partenza

   vi è un solo percorso verso il basso; ciascun modulo di protocollo

   aggiunge una propria informazione nell’header in modo che il pacchetto

   possa essere de-multiplexato sul computer destinazione.

 

   I dati che, a partire dal livello applicativo, passano da TCP o UDP

   convergono sul modulo IP e vengono mandati giù verso il driver della

   interfaccia di rete.

 

   Anche se la tecnologia internet supporta molti differenti mezzi fisici

   di rete, la Ethernet viene usata in tutti gli esempi in questa guida,

   vista la sua larghissima diffusione sotto IP. Il computer in Figura 1

   possiede una singola connessione Ethernet.  L’indirizzo Ethernet a 6-

   byte è univoco a livello mondiale per ogni interfaccia Ethernet e si

   trova sul lato basso delle interfacce del driver Ethernet.

 

   Il computer possiede altresì un indirizzo IP di 4-byte.  Questo

   indirizzo si trova sul lato basso delle interfacce del modulo IP. 

   L’indirizzo IP deve essere unico per una internet.

Figura 4.  multiplexer n-a-m e de-multiplexer m-a-n

 

   Esso realizza questo multiplexaggio in una o l’altra direzione per

   accogliere i dati entranti ed uscenti.  Un modulo IP collegato a più di

   una interfaccia di rete è molto più complesso che nel nostro esempio

   originale per il fatto che può effettuare il passaggio dei dati fra

   queste interfacce. 

   I dati possono infatti arrivare su una rete ed essere trasmessi su

   un’altra.

            Figure 5.  Esempio di forwarding di un pacchetto IP

 

   Il processo di trasmissione di un pacchetto IP su un’altra rete viene

   chiamato "forwarding" del pacchetto IP.  Un computer dedicato al solo

   forwarding dei pacchetti IP viene chiamato "IP-router".

 

   Come potete notare dalla figura, sull’IP router, il pacchetto IP

   forwardato non interessa i moduli TCP ed UDP.  In effetti, varie

   implementazioni di IP-router non possiedono i moduli TCP e UDP.

 

L’IP Crea una Singola Rete Logica

 

   Il modulo IP è fondamentale per il successo della tecnologia internet.

   Ogni modulo o driver aggiunge il proprio “header” al messaggio che lo

   attraversa  scendendo la pila di protocolli verso il mezzo fisico.  Ogni modulo

   o driver toglie il corrispondente header dal messaggio quando esso

   risale la pila di protocolli, verso gli applicativi.  L’header IP

   contiene l’indirizzo IP, in modo da costruire una singola rete logica

   a partire da diverse reti fisiche.

   Questa interconnessione di reti fisiche è la fonte del nome: “Internet”. 

   Un insieme di reti fisiche interconnesse, tale da limitare il range di

   un pacchetto IP viene chiamata "internet".

 

Indipendenza di una Rete Fisica

 

   L’IP nasconde alle applicazioni il sottostante hardware di rete.  Se voi

   inventate una nuova rete fisica, potete porla in servizio implementando

   un nuovo driver, sotto il modulo IP, tale da connetterla ad internet. 

   In questo modo, le applicazioni di rete restano intatte e non soggette

   ai cambiamenti nella tecnologia dell’hardware.

 

Interoperabilità

 

   Se due computer possono comunicare su una internet, si dice che possono

   "interoperare"; se una implementazione della tecnologia internet è

   buona, si dice che possiede "interoperabilità".  Gli utilizzatori di

   computer “general-purpose” beneficiano della installazione di una

   internet a causa

   della interoperabilità fra i computer sul mercato.  Generalmente, quando

   comprate un computer, esso interoperabilirà.  Se non può farlo, e se non

   si può aggiungere questa capacità, esso occuperà una rara e speciale

   nicchia di mercato.

   Ciascun computer di una internet conosce i propri indirizzi IP ed

   Ethernet.

 

Due Interfacce di Rete

 

   Se un computer è connesso a 2 separate Ethernet la sua struttura sarà

   Come quella mostrata nella Figura 3.


 

             Figura 3.  Nodo di rete TCP/IP su 2 Ethernet

 

   Notate che questo computer possiede 2 indirizzi Ethernet e 2 indirizzi

   IP.  Sono visti con questa struttura i computer che possiedono più di una, ed

   anche non dello stesso tipo, interfacce fisiche; in essi il modulo IP è

   sia un multiplexer n-a-m che un de-multiplexer m-a-n.