Unità didattica “Il protocollo TCP/IP”

                                                                               Home Page

Sommario

·        Premessa

·        Contenuti

·        Prerequisiti

·        Obiettivi specifici

·        Mezzi - Spazi - Tempi

·        Metodi

·        Verifica e Valutazione

·        Recupero

·        Esempio di test di verifica

Premessa

L’Unità Didattica (U.D.) che programmerò sarà “il Protocollo TCP/IP” che fa parte del modulo “Internet e il protocollo TCP/IP” da realizzare nel II° quadrimestre di una V classe di un Istituto Tecnico Industriale.

La Rete concettuale di questo modulo è:

 

Torna al sommario

Contenuti

I contenuti previsti dall’U.D. “Il Protocollo TCP/IP” sono:

·        Confronto tra l’architettura Internet e il modello OSI

·        Il protocollo TCP/IP

·        Frammentazione dei datagrammi

·        L’instradamento dei datagrammi

 

Torna al sommario

Prerequisiti

·        Conoscere le componenti delle reti

·        Conoscere il modello ISO/OSI

·        Saper cosa è Internet

 

Torna al sommario

Obiettivi specifici

Obiettivi cognitivi

·        Capire le differenze tra il modello OSI e l’architettura di Internet

·        Comprendere le funzioni del protocollo TCP

·        Comprendere le funzioni del protocollo IP

 

Torna al sommario

Mezzi – Spazi - Tempi

Mezzi

·        Libro di testo

·        Dispense riguardanti argomenti mancanti o poco approfonditi

Spazi

·        Aula

Tempi

·        3 ore di lezione

·        2 ore verifica

 

Torna al sommario

Metodi e tecniche di insegnamento

Riporto brevemente, a titolo esemplificativo, alcune delle modalità e scansioni che utilizzerò nell’U.D. di cui si è scritto sopra.

Nella prima lezione riprendo i concetti del modello OSI e lo confronto con l’architettura Internet.

Quando due sistemi sono fisicamente connessi fra loro, per realizzare la comunicazione vengono utilizzati dei protocolli ben definiti. Un protocollo, come gia visto, non è altro che un insieme di regole e convenzioni che tutti i partecipanti alla comunicazione sono obbligati a rispettare in modo che questa avvenga in modo corretto. Vista la loro complessità essi sono progettati sfruttando il modello ISO/OSI.

Nessuna rete è realizzata esattamente come indicato dal modello OSI, nemmeno i protocolli TCP/IP, adottati dalla rete Internet, seguono in ogni dettaglio questo standard.

Di fatto l’architettura di Internet si differenzia dal modello ISO/OSI: a differenza di quest’ultimo, non si tratta di un’architettura generale, in quanto non fu definita come uno standard, ma nacque con lo scopo di permettere l’interazione tra più computer, secondo un orientamento verso un uso immediato del prodotto.

La principale differenza rispetto all’architettura OSI sta nel fatto che non vengono implementate le funzionalità, tipiche in ambiente OSI, dei livelli di sessione e di presentazione. Di conseguenza nell’architettura Internet i processi applicativi poggiano direttamente sul livello di trasporto con il protocollo TCP.

Di seguito vengono illustrate le corrispondenze tra i livelli del modello ISO/OSI e l’architettura di Internet.

·        Livello fisico: si occupa della trasmissione di bit lungo il canale di comunicazione. In Internet si utilizzano a questo livello le normali linee telefoniche e per collegamenti veloci li linee ISDN.

·        Livello di collegamento dati: esso svolge il compito di organizzare i dati di input in frame di dati, passandoli poi al livello fisico (il livello inferiore), ed elaborare i dati ricevuti in risposta dal ricevente. A questo livello Internet sfrutta la tecnologia della commutazione di pacchetto: ogni pacchetto ha incorporato un indirizzo IP che consente di attivare questa politica.

·        Livello di rete: compito principale è determinare il modo in cui i pacchetti verranno instradati verso la destinazione. Internet usa l’instradamento dinamico distribuito, cioè l’host o gateway che riceve un pacchetto non indirizzato ad esso prende le decisioni su come instradarlo nuovamente, in quanto adeguato alla struttura e alle dimensioni della rete stessa. Di pertinenza di questo livello è la parte IP del protocollo TCP/IP. Infatti l’IP (Internet Protocol), come vedremo più avanti, si occupa dei datagrammi che il TCP ha formato gestendone l’instradamento: essi contengono l’indirizzo di destinazione e di provenienza, che sono considerati indipendenti l’uno dall’altro; il corretto assemblaggio degli stessi in pacchetti viene gestito ai livelli superiori della rete.

·        Livello di trasporto: questo strato si occupa di suddividere i dati provenienti dai livelli superiori; a questo livello si colloca il protocollo TCP (Transmission Control Protocol) che ha il compito di rendere possibile e sicura la comunicazione tra una coppia di processi su computer distinti attaccati a reti di computer differenti ma interconnesse. Il protocollo TCP è normalmente associato al protocollo IP del livello inferiore, è fornisce un servizio orientato alla connessione, affidabile e full-duplex. Orientato alla connessione significa che prima di iniziare la comunicazione, i due processi stabiliscono un interconnessione logica tra loro, ed hanno quindi impressione di disporre di un canale dedicato, mentre in realtà il flusso dei dati può avvenire su una rete ha commutazione di pacchetto condivisa tra più utenti. La tipologia full-duplex permette il flusso contemporaneo dei pacchetti in entrambe le direzioni. E’ affidabile in quanto garantisce che i datagrammi giungano al ricevente nello staesso ordine in cui sono stati trasmessi dal mittente e privi di errori.

·        Livello di sessione: questo livello stabilisce una sessione tra i due processi coinvolti, cioè un’effettiva connessione logica che utilizza i canali fisici dei livelli inferiori. A questo livello appartengono i protocolli di accesso alla rete: i sistemi di login, le assegnazioni di password e i diritti di accesso alle risorse hardware e software della rete. Nell’architettura Internet tali protocolli coincidono con quelli definiti per l’accesso a tale sistema operativo.

·        Livello di presentazione: a questo livello appartengono la semantica e sintassi delle informazioni, si definiscono le modalità per potere interpretare i dati scambiati tra i vari sistemi che possono usare rappresentazioni diverse tra loro. In Internet si usano il linguaggio HTML ( HyperText Markup Language), linguaggio con strumenti per la realizzazione di ipertesti, e linguaggi più evoluti quali Java e ActiveX che servono per realizzare non solo ipertesti, ma applicazioni interattive.

·        Livello di applicazione: un utente della rete accede attraverso un insieme di interfacce e protocolli di alto livello che vengono forniti da questo ultimo strato del modello. In Internet i principali protocolli di questo livello sono HTTP (HyperText Transport Protocol) protocollo per la trasmissione di file ipertestuali e FTP (File Transport Protocol) protocollo per la stramissione di file tra due sistemi.

Nella seconda lezione, attraverso un esempio, cercherò di far comprendere meglio il funzionamento del sistema che si basa sul protocollo di comunicazione TCP/IP.

Si consideri il particolare problema applicativo dell’invio di posta elettronica, che implica problematiche di instradamento, traffico e frammentazione. Il servizio di posta elettronica (livello di applicazione nel modello OSI) permette agli utenti di comporre determinati messaggi e spedirli verso sistemi di altri utenti anche differenti da quello sorgente, dove verranno memorizzati in opportune caselle postali (mailbox) dove rimangono a disposizione dell’utente destinatario.

L’espletamento di questo servizio in ambiente Internet viene effettuato attraverso un particolare protocollo che si chiama SMTP (Simple Mail Tansfer Protocol). Tale protocollo mette a disposizione dell’utente, e più in particolare dell’applicazione di gestione di posta elettronica, le funzioni per interagire sia con i livelli OSI inferiori sia con il file system del sistema operativo. Quindi tale software utilizza il protocollo TCP per contattare i moduli OSI incaricati di assicurarsi che l’intero messaggio arrivi correttamente a destinazione; per questo il messaggio è spezzettato in datagrammi che vanno singolarmente spediti.

Il protocollo TCP deve frequentemente servirsi del livello OSI inferiore, il cui protocollo in Internet è IP, con la funzione di instradare i datagrammi.

Quindi il protocollo TCP deve suddividere i messaggi in datagrammi, deve controllare che tutti giungano a destinazione e in modo corretto, eventualmente richiedendo la ritrasmissione di quelli persi, e deve gestire le funzioni riassemblamento. I due protocolli sono indipendenti, ma siccome sono presenti entrambi, di norma sono integrati in un unico software; infatti si parla di protocollo TCP/IP.

Consideriamo ora il messaggio che il mittente (sender) desidera inviare al destinatario (target); nello schema ogni punto è un byte del messaggio stesso:

Il protocollo TCP in generale deve suddividere il messaggio in datagrammi, in quanto è di solito di dimensioni rilevanti; la dimensione di ogni datagramma è definita in funzione delle caratteristiche della rete che collega il mittente al destinatario:

In testa ad ogni datagramma, che nello schema è costituito da tre punti, viene inserita una intestazione chiamata header. Il protocollo TCP utilizza 20 byte, ovvero 160 bit per ogni header, come riportato nello schema seguente:

·        SOURCE PORT (porta sorgente) indica la porta del nodo sorgente attraverso la quale passano i dati inviati.

·        DESTINATION PORT (porta destinazione) è la corrispondente porta del sistema destinatario.

E’ importante definire queste due porte perché in generale un sistema informatico contiene più di una porta dedicata alle connessioni con l’esterno.

·        SEQUENZE NUMBER (numero di sequenza) è il numero di sequenza di ogni datagramma che consente al nodo di poterli ricevere anche in ordine sparso, e soprattutto di poter stabilire se manca qualche datagramma che deve essere considerato perso.

·        In particolare, per assicurare il nodo mittente che il destinatario possiede tutti i datagrammi nella corretta sequenza, quest’ultimo deve poter spedire al mittente l’ACKNOWLEDGMENT NUMBER (numero di corretta ricezione), cioè il riscontro di datagramma ricevuto.

·        DATA OFFSET indica quanti blocchi di 32 bit ci sono prima dei dati; poiché dopo l’header ci può essere un blocco di opzioni di lunghezza variabile, questo byte stabilisce in pratica il punto dove cominciano i dati a partire dall’inizio dell’header.

·        RESERVED byte riservato per contenere dati di controllo sulla struttura dell’intestazione.

·        WINDOW (finestra) il sistema destinatario ha una capacità limitata di memori fisica, e quindi deve comunicare al nodo mittente la quantità di memoria ancora disponibile per l’immagazzinamento dei datagrammi.

·        CHECKSUM (numero di controllo) è la somma di tutti i bit componenti il datagramma; se durante il trasferimento dei dati qualcosa non viene ricevuto correttamente, il valore del checksum cambia e viene quindi richiesto dal destinatario di ritrasmettere il messaggio.

·        URGENT (urgente) sfruttando questi bit, sia il nodo sorgente che il nodo destinatario possono inviare all’altro un determinato byte che ha la priorità di trasmissione su tutti gli altri; con questa procedura si inviano messaggi urgenti, quali per esempio l’ordine e la necessità di bloccare la comunicazione per un qualsiasi evento che lo richieda.

Nello schema che segue è rappresentata la struttura del messaggio da inviare, dopo la frammentazione e l’aggiunta dell’header ad ogni segmento:

La serie di datagrammi che il TCP ha formato viene passata alle istruzioni proprie del protocollo IP per individuare il corretto percorso che i datagrammi dovranno seguire per arrivare al destinatario. Il percorso viene deciso dinamicamente, in quanto un eventuale interruzione di un nodo sulla rete non deve compromettere la spedizione del messaggio. Per questo motivo il protocollo IP aggiunge anch’esso ad ogni datagramma un header, della dimensione di 20 byte, con la seguente struttura:

·        VERSION numero che identifica la versione del protocollo che si sta utilizzando, indispensabile per consentire ai gateway di effettuare le eventuali conversioni nel passaggio da una sotto rete ad un’altra.

·        TYPE OF SERVICE tipo di servizio richiesto

·        TOTAL LENGTH lunghezza totale del datagramma (lunghezza massima 65.536 byte)

·        IDENTIFICATION numero di identificazione del mittente

·        FLAGS E FRAGMENT OFFSET (segnali binari e distanza di frammentazione) consentono di suddividere il datagramma in unità più piccole, denominate MTU (Maximum Transfer Unit), per consentire il suo passaggio in reti che prevedono frame di lunghezza minore rispetto a quella del datagramma. Il protocollo utilizzerà gli stessi campi per procedere alla ricostruzione del datagramma.

·        TIME TO LIVE (tempo di vita) indica da quanto tempo un datagramma è presente in rete; se rimane troppo a lungo esso viene cancellato. Questo semplice meccanismo consente di non congestionare la rete con informazioni che per qualsiasi ragione (es. caduta della linea telefonica) non arrivano al destinatario.

·        PROTOCOL NUMBER (numero di protocollo) comunica al destinatario quale tipo di protocollo è stato applicato sul datagramma per una corretta interpretazione da parte di chi lo riceve; questo è importante in quanto la stessa struttura hardware di rete può essere utilizzata per la gestione contemporanea di più protocolli di comunicazione.

·        CHECKSUM (controllo) è un numero che rappresenta la somma dei bit presenti nel datagramma; il checksum del livello IP funziona allo stesso modo di quello al livello TCP, ma è da esso distinto per ottenere un doppio controllo.

·        SOURCE INTERNET ADDRESS (indirizzo Internet del mittente) è l’indirizzo che identifica univocamente il mittente in rete Internet; è costituito da un numero di 32 bit (per esempio 132.254.51.12)

·        DESTINATION INTERNET ADDRESS (indirizzo Internet del destinatario) è l’indirizzo anch’esso univoco del destinatario.

Con questi due indirizzi si individuano mittente e destinatario attraverso la quale passano i datagrammi.

Con l’aggiunta anche dell’header del livello IP la sequenza dei byte da trasmettere assume la seguente configurazione schematica:

Nella terza lezione parlerò prima della frammentazione dei datagrammi e quindi di come avviene la connessione di più reti in ambiente Internet, in particolare dell’instradamento dei datagrammi. Un datagramma ha una lunghezza che può raggiungere al massimo 64K byte; poiché il protocollo TCP/IP è indipendente dalle caratteristiche hardware e software dei protocolli a più basso livello, potrebbe capitare che i datagrammi non siano compatibili con i frame da inviare fisicamente lungo la rete. quindi il protocollo impone che il gateway coinvolto provveda a suddividere il datagramma in frammenti compatibili con i frame della rete fisica da attraversare, a ciascuno dei quali viene associato un offset in modo da poter ricostruire il datagramma completo all’uscita della rete.

A questo punto parlerò dell’instradamento dei datagrammi. Internet utilizza la commutazione di pacchetto, ognuno dei quali ha incorporato l’indirizzo IP; questo è composto da 4 byte suddivisi in diversi campi che consentono, in fase di instradamento, di determinare la rete di appartenenza (net-id) e la posizione dell’host all’interno di tale rete (host-id). Ogni host (computer o gateway) che riceve un pacchetto non indirizzato ad esso deve prendere una decisione di instradamento (instradamento dinamico distribuito). Si possono presentare due casi, a secondo che il trasmettitore e il ricevente appartengono alla stessa struttura di rete (net-id uguale) oppure a reti diverse.

Nel primo caso il trasmettitore costruisce, a partire dal datagramma, uno o più frammenti compatibili con le caratteristiche della rete da attraversare e li immette nella rete stessa.

Nel secondo caso, invece, il trasmettitore partendo dall’indirizzo IP del ricevente deve individuare il gateway verso cui inoltrare il datagramma; questo avviene consultando una tabella che associa a ogni gateway presente sulla rete un insieme di net-id.

Verifica e Valutazione

La fase di valutazione dell’apprendimento è strettamente legata alle fasi di verifica. La valutazione sarà di due tipi: formativa e sommativa.

La valutazione formativa avrà lo scopo di osservare, rilevare, verificare le attività degli allievi per porgere gli aiuti ed i sostegni necessari al conseguimento degli obiettivi o per variare gli interventi, così da renderli commisurati alla possibilità dei singoli. Utilizzerò uno strumento di osservazione del processo di apprendimento dei singoli alunni attraverso una tabella basata sulla griglia di valutazione decisa nel consiglio di classe, dove nelle colonne verranno indicati gli obiettivi dell’U.D. e nelle righe il cognome e nome degli alunni.

Riporto un esempio della griglia di osservazione per la seguente U.D.

Il protocollo TCP/IP

Cognome e nome

Obiettivi cognitivi

Capire le differenze tra il modello OSI e l’architettura di Internet

Comprendere le funzioni del protocollo TCP

Comprendere le funzioni del protocollo IP

Paolo Rossi

 

L2

L1

Giovanni Verdi

 

 

 

Mario Neri

 

 

L3

L’efficacia dell’intervento didattico, quindi, sarà costantemente monitorata attraverso domande frequenti, esercizi svolti alla lavagna e in gruppo, controllo quotidiano dei compiti svolti a casa, test strutturati e interrogazioni.

Nel caso gli obiettivi specifici non risultassero adeguatamente raggiunti da un numero elevato di alunni elaborerò opportune attività di recupero. Queste saranno realizzate principalmente mediante una rilettura attenta degli argomenti già visti. Si potrebbero inoltre, creare dei gruppi eterogenei per un confronto tra i ragazzi che non hanno raggiunto gli obiettivi e i ragazzi che invece hanno capito l’argomento.

La valutazione sommativa avverrà al termine della Unità Didattica; questa sarà utile per dare un giudizio complessivo che terrà conto dell’iter formativo e della maturazione realmente acquisita da ogni singolo alunno, sia in riferimento alle competenze disciplinari acquisite che alle capacità di analisi e di elaborazione conquistate. Gli strumenti per la verifica sommativa saranno:

Ø      Interrogazione;

Ø      Verifica scritta di tipo tradizionale.

In accordo con quanto deciso nel consiglio di classe, ho deciso di attenermi di massima per la verifica sommativa ad una suddivisione della classe in cinque fasce o livelli di conoscenze ed abilità: una fascia di Ottimo che comprende i voti nove/otto; una di Discreto per il voto sette; una di Sufficiente per il voto sei; una di Insufficiente per il cinque; una di Gravemente Insufficiente che comprende i voti quattro/tre.

 

Torna al sommario

Prova strutturata

1) Facendo un raffronto con il modello OSI, il protocollo IP a quale strato può essere paragonato?

 

a) a livello di collegamento

1

b) a livello di rete

1

c) al livello di trasporto

1

 

 

2) Facendo un raffronto con il modello OSI, il protocollo TCP a quale strato può essere paragonato?

 

a) a livello fisico

1

b) a livello di rete

1

c) al livello di trasporto

1

 

 

4) Che cosa è un datagramma?

 

 

 

3) A cosa serve il “CHECKSUM” del header di un datagramma a livello di protocollo TCP

 

a) Serve per sapere se durante il trasferimento dei dati qualcosa non viene ricevuta correttamente

1

b) Serve per saper se il destinatario è pronto a ricevere il datagramma

1

c) Serve al mittente per saper quanta memoria fisica ha a disposizione il destinatario

1

 

 

5) Come viene realizzato il livello di applicazione in ambiente Internet

 

 

 

6) Che cosa significa che in Internet si usa un instradamento distribuito?

 

a) l’instradamento del pacchetto avviene in base ad informazioni predeterminate

1

b) Ogni host che riceve un pacchetto non indirizzato ad esso deve prendere una decisione di instradamento

1

c) Viene assegnato un canale ad ogni datagramma che deve essere inviato

1

 


Cerca nel web, nel sito, nei siti amici cerca
Google