Dispensa reti computer

Dispensa reti computer

 

 

Dispensa reti computer

Introduzione alla trasmissione dati

Definiamo, per prima cosa, il significato di "dati", di "informazioni": identifichiamo la natura di ciò che viene trasmesso.

   L'informazione è una rappresentazione simbolica di una certa quantità di eventi e/o situazioni. Gli eventi possono riferirsi non solo alla realtà dei fenomeni fisici, ma anche a tutto ciò che l'uomo è in grado di concepire, ipotizzare ed esprimere. Le situazioni comprendono i legami e le dinamiche che correlano fra loro gli eventi.

   In generale possiamo affermare che è informazione tutto ciò che può essere correttamente espresso attraverso una procedura di sintesi e mediante una certa quantità di simboli idonea a consentire la ricostruzione del significato primitivo.

   La precedente definizione, che proviene dall'informatica, consente di stabilire un limite a cosa può essere trasmesso, che risulta coincidere con quanto può essere codificato.  Alcune informazioni sono codificabili in modo quasi spontaneo, come per esempio i testi, per i quali è sufficiente una tabella del tipo di quella ASCII; in altri casi, le informazioni devono subire un processo di analisi e successivamente di sintesi, per poter essere efficacemente espresse per mezzo di un codice.

   La corretta identificazione e la successiva codifica dell'informazione,  costituisce il presupposto fondamentale delle comunicazioni.

MODELLO DI COMUNICAZIONE

 

   Lo schema precedente si riferisce al caso generale: per molti tipi di comunicazione alcuni passi potranno risultare superflui o non applicabili o trasparenti.

   La sequenza sopra riportata, con gli opportuni adattamenti, sembra la stessa di quella utilizzata dall'uomo per leggere, ricordare ed esprimere, per comunicare, la realtà che lo circonda: non ci sono riferimenti a strumenti particolari, dato che il lavoro di elaborazione potrebbe essere quello effettuato dal cervello umano, mentre la trasmissione e la ricezione sono affidati agli organi sensoriali e di espressione come occhi (immagini), orecchi e bocca (suoni).

  •    Per le operazioni affidate alle macchine, possiamo aggiornare lo schema in un modo che evidenzia le manipolazioni effettuate da dispositivi che, nel nostro caso, sono fondamentalmente costituiti o gestiti da computer di varia potenza.

 

MODELLO DI ELABORAZIONE

 

I sensori ed i trasduttori possono essere di tipo elettromeccanico (es.: Fine-corsa, Tastiere, ecc.), di tipo ottico (es.: Scanner, fotocellule), ecc..

 

   Gli schemi precedenti sono validi per qualsiasi tipo di informazione?

   L'informatica insegna che ci sono due tipi di informazioni: il primo tipo è costituito dai dati.

   I dati sono informazioni di tipo "statico", in quanto non si modificano nel tempo.  Sono caratterizzati dalle seguenti proprietà:

 

  *  inalterabilità

  *  rappresentano entità singole o raggruppate

  *  la loro codifica si ottiene per mezzo di tabelle

  *  la ripetitività  è superflua

 

 

INFORMAZIONI DI TIPO “DATO”

 

 -  Messaggio

 -  Testo

 -  Documento

 -  Immagine (Foto, disegno, animazione, grafico ecc.)

 -  Peso (numero)

-  Distanza

-  Suono

La rappresentazione dei dati può seguire una strutturazione più o meno avanzata, tuttavia non comprende gli eventuali aspetti operativi e relazioni logiche che entrino nel merito dell'uso che dei dati stessi possa essere fatto.

Esiste un secondo tipo di informazione, diverso dai dati, che è in grado di identificare non gli oggetti, le entità, gli eventi, ma i loro legami logici, le relazioni dinamiche che li coinvolgono. Mediante tale tipo di informazione, che prende il nome di "procedura" (in informatica: "programmi") è possibile, attraverso un lavoro di analisi, sintesi e codifica (quest'ultima di tipo simile a quella utilizzata dai dati),  rappresentare non il prodotto delle attività, ma le attività stesse: "come", "quando" e "cosa" fare per raggiungere un particolare risultato.

 

La divisione delle informazioni in due tipi è importante per lo studio delle telecomunicazioni in quanto la classificazione, in dati e procedure, di tutto quanto viene trasmesso costituisce il primo passo per la comprensione del livello di servizio da richiedere.

   Il servizio offerto dalle telecomunicazioni può essere erogato con un'aggiunta di valore  (VAS) direttamente proporzionale all'efficacia con cui l'informazione viene prelevata dal mittente, trasportata e infine resa disponibile al destinatario.

   Efficacia significa: efficienza, affidabilità, esattezza, correttezza, rapidità e, ai livelli di servizio più elevati, assicurare la comprensibilità delle informazioni scambiate.

CLASSIFICAZIONE DELLE INFORMAZIONI

Occuparsi della comprensibilità END-TO-END, implica la necessità di entrare nel merito del "contenuto" dell'informazione trasmessa, tenere conto, in qualche modo, del suo significato.

  

L'immagine di un servizio "scalabile" su vari livelli limitrofi di prestazioni differenziate risulta particolarmente realistica: attualmente i servizi di rete offerti sono adeguatamente classificabili secondo una scalatura che prevede alcuni (7 nel modello OSI= Open System Interconnection) livelli relativi ad altrettante funzioni. I livelli sono rappresentati in modo sovrapposto a formare una "pila"  nella quale lo strato, o livello, inferiore, il più basso, corrisponde al servizio meno qualificato ( ad esempio la semplice connessione fisica), mentre l'ultimo, il più elevato (il settimo nel modello OSI), identifica il livello che è in grado di dialogare direttamente con l'utente nel particolare ambiente applicativo di quest'ultimo. I cinque livelli intermedi, che si trovano fra il primo ed il settimo, si occupano ciascuno di un compito particolare, come sarà dettagliatamente riportato nel capitolo dei protocolli  e degli standard e, in particolare, del modello di riferimento OSI (Open System Interconnection) al quale verrà dedicato uno spazio adeguato all'importanza dell'argomento.

SISTEMA DI COMUNICAZIONE

 

 

Nel prossimo capitolo, quando inizieremo ad occuparci delle trasmissioni, non sarà immediatamente necessario distinguere fra i tipi di informazione; in seguito saranno affrontati argomenti che riguardano i livelli avanzati dei servizi di rete e occorrerà ricordare la classificazione sopra riportata. In tutti i casi, qualunque sia il tipo di informazione da trasmettere e il servizio da erogare, il primo passo da superare rimane quello della "codifica". Il problema è costituito dal fatto che non esiste una sola regola di codifica valida in tutti i casi, ma tante quante sono le tipologie di informazioni, cosa ben nota a chi conosce un po' di informatica.

 

 

Il significato dei termini utilizzati nel prospetto è il seguente:

 

INFORMAZIONI:         Dati e procedure

 

CODIFICA:                   meccanismo associativo che permette la rappresentazione delle informazioni mediante una sequenza di

                                                    bytes.

 

ELABORAZIONE:      trattamento dell'informazione codificata per mezzo di un computer o di un'apparecchiatura per le comunicazioni.

 

Nello schema è stato riportato un collegamento fra il blocco della SELEZIONE DEL TIPO DI CODIFICA (linea tratteggiata) e il corrispondente blocco SELEZIONE DEL TIPO DI DECODIFICA, per sottolineare che al sistema di codifica usato deve corrispondere il reciproco sistema di decodifica

 

Definizione di networking

Una rete per TLC è costituita da un insieme di apparati in grado di svolgere un certo numero di funzioni indispensabili per il trasferimento dell’informazione. Il modello di rete a cui possiamo fare riferimento, quando ci occupiamo delle funzioni supportate da un sistema di comunicazione, è il seguente:

 

Trasduzione: Il segnale sorgente deve essere opportunamente trattato (conversione, codifica, adattamento ecc.) per renderlo idoneo ad essere  trasmesso. In ricezione il segnale viene convertito nella tipologia originale in modo da renderne possibile l’impiego da parte del destinatario.

Ogni rete usa un particolare tipo di trasduttore: nella fonia tradizionale il trasduttore converte la vibrazione acustica in segnale elettrico analogico, mentre in tutte le altre reti il segnale che trasporta l’informazione è trasformato in un segnale digitale.

 La funzione di trasduzione è realizzata dal dispositivo di utente che si occupa anche del rilevamento del segnale: il trasduttore per la fonia è inserito nell’apparecchio telefonico.

 

 

Trasmissione/Ricezione:  Per superare le distanze che separano i vari apparati di rete, il segnale elettrico viene amplificato in modo da conservare integra l’informazione trasportata nonostante l’inevitabile degrado causato dalle linee e dai dispositivi attraversati. Quando è previsto, il trasmettitore si occupa di modulare ed eventualmente multiplare i segnali. Anche l’eventuale codifica di linea è generalmente compresa nel trasmettitore.

 

 

Commutazione:  La commutazione è la principale funzione svolta da una rete di TLC e consiste nella selezione ed assegnazione provvisoria dei circuiti necessari alla realizzazione della connessione fra due punti. Quando un utente chiede di comunicare con un altro, la centrale di commutazione seleziona, se disponibili, i circuiti e le risorse indispensabili alla connessione e li assegna, per tutta la durata della conversazione, al collegamento instaurato; al termine della connessione, le risorse liberate saranno rese disponibili per altri utente che ne faranno richiesta.

La funzione di commutazione comporta un’ottimizzazione particolamente importante  in quanto consente una enorme riduzione del numero di risorse di cui dotare le centrali per soddifare le connesioni fra utenti.

Esistono commutatori di varie tipologie e la loro tecnologia ha subito, nel corso degli anni, una notevole evoluzione.

 

 

                                 

Segnalazione:  Prima, durante ed al termine di una comunicazione, è necessario che gli organi ed i dispositivi coinvolti si scambino le informazioni  utili all’identificazione e all’erogazione dei servizi richiesti. Per esempio, il chiamante segnala alla centrale telefonica il suo desiderio di comunicare con un certo utente. Tali informazioni, così come tutte le altre che vengono scambiate fra utente e centrale e fra centrale e centrale, devono rispondere a protocolli e regole comuni: gli standard della segnalazione. Tutti i moderni servizi che oggi le centrali telefoniche rendono disponibili, vengono attivati, controllati e gestiti per mezzo di opportune segnalazioni fra gli organi di centrale e la periferia.

 

Gestione: Una rete di TLC è dotata di un sistema per il controllo ed il management (CGM: Centro di Gestione e Manutenzione) che ha il compito di provvedere a tutte le necessità degli impianti come instradamento e routing, distribuzione, ripartizione e trabocco, manutenzione, analisi e prevenzione, riparazione, gestione dei guasti e delle anomalie da degrado, implementazione, fino ad arrivare alla tariffazione, ai rilevamenti statistici e alle proiezioni. La maggior parte delle attività gestionali viene eseguita automaticamente, ma alcune operazioni che richiedono un intervento decisionale devono essere supportate dall’operatore.

 

Introduzione agli Ambienti di rete

Reti di telecomunicazioni

La parola telecomunicazione unisce la radice di origine greca tele (lontano) con il verbo latino comunicare e significa trasmissione di informazioni a distanza.

Trasmettere informazioni a distanza, superando il limite fisico dei nostri sensi, è da sempre un obiettivo dell'uomo, si pensi ad esempi quali la comunicazione tramite luce riflessa da specchi nelle navi da guerra (già utilizzata dagli antichi romani) o la comunicazione con segnali di fumo degli indiani d'america.

Nei tempi moderni si è imparato ad utilizzare i segnali elettromagnetici per la comunicazione a distanza e gli sviluppi della tecnologia nel campo delle comunicazioni elettriche e dell'elettronica hanno permesso la nascita delle moderne telecomunicazioni.

Una volta che risultino disponibili strumenti per la telecomunicazione, emergono una serie di altri problemi legati all'organizzazione del sistema che si rende necessario per garantire accesso a questo servizio a grandi popolazioni di utenti (siano essi esseri umani o calcolatori). Questi sistemi complessi sono le reti di telecomunicazioni.

Alcune importanti date nella storia delle reti di telecomunicazioni sono:

• 1835: viene varato il sistema telegrafico, si può considerare l'inizio delle moderne telecomunicazioni;

• 1846: viene inventata da Siemens la telescrivente, il primo terminale automatico;

• 1866: viene posato il primo cavo transatlantico telegrafico;

• 1876: viene brevettato da Graham Bell il telefono;

• 1885: nasce la radio con il primo esperimento di Guglielmo Marconi;

• 1887: vengono inventate (Strowger) le prime centrali telefoniche automatiche;

• 1956: viene posato il primo cavo transatlantico telefonico;

• 1969: viene realizzata la prima rete di calcolatori, ARPAnet, che poi diventerà

Internet.

Si tenga poi presente che la trasmissione dei segnali elettrici a grande distanza presenta numerosi problemi di carattere tecnico, per cui è molto importante l'ausilio offerto dall'elettronica. A questo proposito due date fondamentali sono:

• 1904: Hartley inventa il triodo e nasce l'elettronica;

• 1947: Shottky inventa il transistor allo stato solido.

Vale la pena sottolineare che sia Hartley sia Shottky lavoravano per la stessa società di telecomunicazioni statunitense (Bell System).

Vantaggi di un ambiente di rete

 

Il calcolatore elettronico è uno strumento avente lo scopo di elaborare e gestire informazioni. Tali elaborazioni vengono generalmente effettuate sfruttando risorse interne al calcolatore; il processore, le memorie volatili (RAM), le memorie di massa (dischi rigidi, nastri, eccetera). L'interazione fra utente umano e calcolatore, al fine di comandare e/o ottenere i risultati di queste elaborazioni avviene tramite interfacce quali monitor, tastiera, stampante, eccetera, che possono anch'esse essere considerate parte delle risorse a disposizione del calcolatore.

Avere una rete di telecomunicazioni fra calcolatori ha l'ovvio vantaggio di permettere lo scambio di informazioni fra gli utenti dei calcolatori stessi, come e-mail, documenti ed immagini, eccetera, ma offre anche la possibilità di realizzare una condivisione delle risorse di un calcolatore con tutti gli altri nella rete.

Tramite una rete di calcolatori è possibile avere accesso a risorse, siano esse di elaborazione, di memorizzazione, di stampa o quant'altro che altrimenti potrebbero non essere disponibili per tutti, per ragioni di costo, di complessità, eccetera. Per questo con la progressiva diffusione dei calcolatori si è sempre più sentita la necessità della interconnessione in rete degli stessi, al fine di aumentarne le funzionalità e quindi l'utilità. La rete di calcolatori può quindi essere visto come una sorta di calcolatore esteso che, tramite le funzioni di comunicazione, fa di un insieme di calcolatori isolati un sistema integrato che rende disponibili ad una più vasta popolazione di utenti una serie di risorse.

Ambienti Client/Server e Peer-to-Peer

Nelle reti di calcolatori fino ad oggi tipicamente si è sempre utilizzata una comunicazione di tipo client/server. Con questi termini si intende che alcuni calcolatori ben identificabili detti server mettano a disposizione informazioni e servizi a cui gli altri calcolatori della rete accedono con modalità opportune. Un tipico esempio è il WWW in cui i server mettono a disposizione dei client pagine di testo, immagini, eccetera, che siano reperibili e visualizzabili tramite i normali browser (Internet Explorer, Netscape, Opera, eccetera).

Questo modello di dialogo è di tipo asimmetrico nel senso che i due soggetti partecipanti alla comunicazione svolgono funzioni diverse: il server mette a disposizione le informazioni, il client le reperisce e le rende consultabili localmente dall'utente. Per svolgere questa funzione i server devono essere sempre disponibili, quindi sempre accessi, sempre connessi alla rete e sempre pronti ad accettare nuove comunicazioni.

Inoltre i server devono essere opportunamente configurati al fine di salvaguardare il più possibile l'integrità delle informazioni e del servizio.

Più di recente si sono sviluppati sulla rete Internet dei servizi di comunicazione che utilizzano un diverso modello di dialogo, detto peer-to-peer. Ciò che cambia è la modalità di fornitura e di reperimento delle informazioni. In pratica il server smette di esistere e tutti i calcolatori connessi alla rete possono contemporaneamente agire come server e/o come client. Nel dialogo peer-to-peer si perde quindi la nozione di server e tutti i calcolatori possono allo stesso tempo rendere disponibili informazioni e reperirne dagli altri. In questo caso esistono ancora alcuni calcolatori che svolgono funzione di server solamente per le funzioni di centralizzazione degli indici di informazioni disponibili. Tramite questi indici i singoli computer possono scoprire chi metta a disposizione certe informazioni sulla rete e collegarsi direttamente a questi per  il loro reperimento. Il dialogo relativo alle informazioni vere e proprie è quindi semprediretto fra il fornitore ed il fruitore di informazioni senza l'intermediazione di un server. I server per l'indicizzazione sono necessari in quanto i singoli calcolatori possono collegarsi e scollegarsi alla rete di dialogo. I singoli calcolatori una volta collegati in rete si connettono a questi server per comunicare quali informazioni loro rendano disponibili e per conoscere quali informazioni siano già disponibili e presso chi. Il primo esempio eclatante di servizio utilizzante un dialogo peer-to-peer è il famoso sistema Napster per la distribuzione di brani musicali che tanta risonanza ha avuto anche sui mezzi di comunicazione a seguito della battaglia legale per la tutela dei diritti d'autore con le case discografiche.

Sicurezza di un ambiente di rete

Una rete di calcolatori, oltre ad offrire i vantaggi descritti precedentemente, pone un importante problema legato alla sicurezza del sistema informatico.

Le problematiche di sicurezza di un sistema informatico sono state discusse estensivamente in un precedente modulo; qui ci limitiamo ad accennare quali siano i problemi prettamente legati all'ambiente di rete.

La connessione in rete di un calcolatore implica che la rete venga utilizzata per scambiare dati con altri calcolatori e per fornire servizi (server di stampa, server Internet, eccetera). Le problematiche di sicurezza tipiche di questo scenario sono quindi legate alla riservatezza della comunicazione e al mantenimento dell'integrità dei servizi.

Per quanto riguarda la riservatezza della comunicazione, è necessario evitare:

• che i dati relativi ad una particolare comunicazione fra calcolatori possano essere intercettati e letti, anche senza interromperne il normale flusso (sniffing), in quanto questi dati possono essere di tipo sensibile (password, dati personali, numero di carta di credito, eccetera);

• che un calcolatore possa comportarsi in modo malevole prendendo il posto di un altro calcolatore, ad esempio assumendone gli indirizzi di rete (spoofing),sostituendosi ad esso nella comunicazione con  altri al fine di appropriarsi di dati sensibili o per l'uso di servizi a lui non permessi.

 

Per quanto riguarda invece l'integrità dei servizi è necessario garantirsi dall'eventualità che utenti malevoli, utilizzando la rete di calcolatori possano interferire con il normale funzionamento di sistemi server. Un esempio di questo tipo, che ha avuto particolare rilevanza anche sulla stampa, è relativo agli attacchi ai server Internet di grandi enti, non avente lo scopo di attentare alla sicurezza dei dati, ma semplicemente di interferire con il normale funzionamento dei server (rendere impossibile l'uso della posta elettronica o dei server Web, eccetera).

Struttura, funzioni e modo di trasferimento di una rete

Una rete di telecomunicazioni è un sistema che si compone di:

• apparati terminali con cui si interfaccia direttamente l'utente finale del servizio di telecomunicazione (spesso l'essere umano);

linee di collegamento che permettono fisicamente la trasmissione a distanza delle informazioni sotto forma di segnali elettromagnetici;

nodi di rete che svolgono le funzioni necessarie a garantire il corretto trasferimento delle informazioni all'interno della rete.

Una rete di comunicazione deve svolgere quattro fondamentali funzioni:

Trasmissione: trasferimento fisico del segnale da punto a punto o da un punto a molti punti.

Commutazione: reperimento delle risorse all'interno della rete necessarie per realizzare un opportuno trasferimento delle informazioni.

Segnalazione: scambio di informazioni fra utente e rete oppure internamente alla rete necessario per il corretto funzionamento della comunicazione e della rete stessa.

Gestione: tutto ciò che concerne il mantenimento delle funzioni della rete; riconfigurazione di fronti a guasti o cambiamenti strutturali, allacciamento di nuovi utenti, tariffazione, eccetera.

Una rete di telecomunicazioni è caratterizzata da un modo di trasferimento, cioé dalla modalità con cui avviene il trasferimento delle informazioni al suo interno. Il modo di trasferimento è, a sua volta, caratterizzato da:

schema di multiplazione: modalità con cui le unità informative condividono le linee di collegamento;

modalità di commutazione: come si realizza la funzione di commutazione;

architettura dei protocolli: la suddivisione delle funzioni di comunicazione e la loro distribuzione fra gli apparati di rete.

Topologie di rete

Una rete di telecomunicazioni può essere rappresentata con un grafo, ossia una struttura logica, composta da nodi e da archi.

I nodi sono gli elementi che raccolgono i dati e li instradano verso la loro destinazione, sono quindi posti in corrispondenza dei terminali e degli apparati che svolgono la funzione di commutazione. Possiamo suddividere quindi i nodi in nodi di accesso quando si tratta di terminali e ad essi sono connessi degli utilizzatori o dei fornitori di servizi, e nodi di transito quando ad essi non sono connessi gli utenti ma solo altri nodi di transito o nodi di accesso.

I rami sono gli elementi che permettono il trasferimento dei dati da un'estremità all'altra, sono posti in corrispondenza degli apparati che svolgono la funzione di multiplazione e con i sistemi trasmissivi di linea.

Tipologie di collegamento

Esistono varie tipologie di collegamenti fra terminali o nodi di una rete:

Punto-punto: due nodi comunicano fra loro agli estremi del collegamento.

Punto-multipunto: un nodo può comunicare con tanti altri.

Multicast: un nodo trasmette allo stesso tempo ad un sottoinsieme dei nodi della rete.

Broadcast: un nodo trasmette allo stesso tempo a tutti i nodi della rete.

Inoltre su di una linea di collegamento fra i terminali A e B il flusso di informazioni può essere di tipo:

monodirezionale o simplex: A invia dati a B;

monodirezionale alternato o half duplex: A invia informazioni a B, quando A tace B può inviare informazioni ad A e viceversa;

bidirezionale o full duplex: A e B possono contemporaneamente inviare informazioni all'altro.

Mezzi di trasmissione

I mezzi fisici utilizzati per la trasmissione dei dati sono di tre tipi:

• mezzi elettrici (cavi); si usa l'energia elettrica per trasferire i segnali sul mezzo;

• mezzi wireless (onde radio); in questo caso si sfruttano onde elettromagnetiche;

• mezzi ottici (LED, laser e fibre ottiche); con le fibre ottiche si usa la luce.

I parametri prestazionali di questi mezzi sono:

larghezza di banda; serve per determinare quanti bit al secondo è possibile trasferire;

affidabilità; ogni mezzo presenta una certa probabilità di errore nella trasmissione;

prestazioni; determinano la distanza massima in un collegamento;

caratteristiche fisiche; a seconda del mezzo si usano fenomeni diversi per la trasmissione, occorre perciò sfruttare tecnologie differenti.

I mezzi elettrici più usati sono fondamentalmente il cavo coassiale e il doppino. Il doppino è il mezzo più vecchio e comune dei due. Consiste di due fili intrecciati ad elica tra loro, e può essere sia schermato (STP - Shielded Twisted Pair) che non schermato (UTP - Unshielded Twisted Pair). Il doppino viene utilizzato all'inizio per le connessioni terminali nella telefonia, cioé per quel tratto che va dall'apparecchio alla centrale. Una versione del STP con più avvolgimenti e un migliore isolamento viene usato per il traffico dati su lunghe distanze. Il cavo coassiale è composto da un conduttore centrale ricoperto di isolante, all'esterno del quale vi è una calza metallica. Il coassiale era usato per lunghe tratte telefoniche ma è stato sostituito dalla fibra ottica, ora rimane in uso per la televisione via cavo e per l'uso in reti locali.

Le fibre ottiche sono costituite da un sottilissimo cilindro centrale in vetro (core), circondato da uno strato di vetro esterno (cladding), con un diverso indice di rifrazione e da una guaina protettiva. Le fibre ottiche sfruttano il principio della deviazione che un raggio di luce subisce quando attraversa il confine fra due materiali diversi (core e cladding nel caso delle fibre). La deviazione dipende dagli indici di rifrazione dei due materiali. Oltre un certo angolo, il raggio rimane intrappolato all'interno del materiale.

Le fibre ottiche hanno delle prestazioni eccellenti, possono raggiungere velocità di trasmissioni pari a 50.000 Gb/s, ossia 50 terabit al secondo con un bassissimo tasso d'errore. Le distanze massime per un collegamento di questo tipo sono di circa 30 kilometri, per collegamenti di lunghezza maggiore si introducono ripetitori e amplificatori lungo la tratta.

La trasmissione senza fili si effettua su diverse lunghezze d'onda, e sono le onde radio, microonde, raggi infrarossi, luce visibile e ultravioletti. Il comportamento di questo mezzo dipende dalla lunghezza d'onda e dalla banda utilizzata, le prestazioni possono variare ampiamente.

Classificazione delle reti in base alla distanza

La storia delle reti di telecomunicazioni ha visto nascere diverse soluzioni a problemi di tipo eterogeneo, che vanno dalla necessità di comunicare a grande distanza tramite il telegrafo o il telefono, fino alla possibilità di interconnettere tra loro computer residenti nella stessa stanza o edificio.

Questa diversità di problematiche ha comportato tradizionalmente una classificazione delle reti sulla base della distanza coperta dalle reti stesse:

LAN - Local Area Network o reti locali: tipicamente sono reti private per l'interconnessione di computer ed altri apparati appartenenti ad un unico ente o azienda;

MAN - Metropolitan Area Network o reti metropolitane: possono essere reti private o pubbliche e fornire servizi di vario tipo in ambito urbano, 13 dall'interconnessione di computer, alla telefonia, alla TV via cavo;

WAN - Wide Area Network o reti geografiche: in passato erano le reti dei grandi gestori tipicamente pubblici che fornivano servizi e connettività a livello nazionale; oggi, dopo la deregulation, possono anche appartenere a privati ed offrire connettività a livello mondiale.

La differenza tra questi tre tipi di reti in termini di distanza coperta è rappresentata nella tabella seguente:

Area coperta Distanza Tipo di rete

Stanza 10 metri LAN

Edificio 100 metri LAN

Campus 1 kilometro LAN

Città 10 kilometri MAN

Area metropolitana 100 kilometri MAN

Stato o Nazione 1.000 kilometri WAN

Continente 5.000 kilometri WAN

Pianeta 10.000 kilometri WAN

 

Gli standard e le reti di comunicazione

Per lo sviluppo delle telecomunicazioni risultano fondamentali gli standard, che definiscono delle serie di regole secondo cui i sistemi e le reti di telecomunicazioni devono operare. Grazie agli standard è possibile che reti di amministrazioni o paesi diversi possano interconnettersi (si pensi alla rete telefonica con la teleselezione internazionale), che i terminali di utente continuino a funzionare anche in reti diverse (si pensi alla radio, alla televisione, al telefono cellulare) e così via.

La problematica della definizione e negoziazione degli standard ha quindi accompagnato da sempre il mondo delle reti di telecomunicazioni.

L'ente internazionale che istituzionalmente si occupa dell'emanazione di questi standard è l'International Telecommunication Union (ITU), nato nel 1865 e rimasto sempre operativo da allora.

L'ITU (http://www.itu.int) emana delle Raccomandazioni che sono standard per la realizzazione di sistemi e reti di telecomunicazioni.

Nonostante sia certamente un soggetto importante nello scenario della standardizzazione delle telecomunicazioni l'ITU non è l'unico ente che emana o ha emanato standard. Altri enti pubblici e privati si sono occupati di queste problematiche e sono stati, a vario titolo promotori di standard:

ISO - http://www.iso.org;

ETSI: - http://www.etsi.org;

IEEE - http://www.ieee.org;

EIA - http://www.eia.org;

IETF - http://www.ietf.org;

Reti di calcolatori

Storicamente le prime reti di calcolatori vengono sviluppate negli anni '70.L'esperimento pilota, finanziato dall'agenzia statunitense DARPA, prende il nome diARPAnet e nasce ufficialmente nel 1969.

A questa esperienza seguono, nel corso degli anni '70, numerose implementazioni di reti di calcolatori, molte delle quali di tipo proprietario, cioè sviluppate da un solo costruttore ed incompatibili con sistemi di altri costruttori. Alcune tra le più note furono DECnet della Digital, SNA di IBM e XNS della Xerox.

La caratteristica fondamentale di queste reti è quella di essere sistemi chiusi, ossia sostanzialmente incapaci di comunicare fra loro. Una volta che un utente decide di adottare una di queste reti è legato al relativo produttore, che è l'unico fornitore di apparati compatibili con la rete installata. Questo fenomeno detto di captivity, limita molto le scelte dell'utente, che è costretto a seguire l'evoluzione e le scelte tecnologiche del tipo di rete che ha scelto.

Al contrario sarebbe auspicabile che queste reti fossero sistemi aperti, ossia tali che qualunque calcolatore fosse in grado di comunicare con qualunque altro indipendentemente dalla sua architettura e dal suo costruttore. Un sistema aperto ha infatti alcuni importanti vantaggi:

• favorire la diffusione delle reti di calcolatori tramite l'interconnessione delle reti esistenti;

• rendere possibile agli utenti e ai costruttori di reti approvvigionarsi da qualunque produttore, favorendo la concorrenza.

Modello di comunicazione a strati

Per realizzare reti di calcolatori che siano sistemi aperti è necessario:

• delineare un modello di riferimento per la comunicazione fra calcolatori che sia base comune di questi sistemi;

• giungere alla definizione di standard universalmente accettati che specifichino in modo preciso le funzioni che sono necessarie per realizzare la comunicazione.

La comunicazione fra calcolatori di tipo diverso è in generale un problema abbastanza complesso. Per semplificare la progettazione dal punto di vista tecnico di una rete di calcolatori risulta quindi conveniente suddividere il problema complessivo in una serie di sottoproblemi ben confinati, chiarendo poi come essi debbano interagire.

Questo tipo di approccio è stato sostanzialmente comune a tutte le implementazioni di reti di calcolatori, anche quando queste si presentavano come sistemi chiusi.

I vantaggi che si hanno nell'operare un approccio a strati sono:

• riduzione della complessità nella costruzione di architetture protocollari introducendo livelli di astrazione;

• indipendenza per l'operatività e le strutture interne di ogni strato; ogni strato deve compiere un compito diverso dagli altri e la sua struttura non è vincolata da quella degli altri livelli;

• interazione tramite servizi; i livelli sono disposti a pila, uno sopra l'altro. Ogni livello fornisce servizi al livello superiore e usufruisce di servizi dal livello sottostante, comunicando tramite la loro interfaccia;

• facilità di attuare cambiamenti su uno strato senza alterare i restanti; gli strati interagiscono tra loro tramite servizi, essendo quindi indipendenti tra loro possono essere modificati nel tempo con nuove tecnologie senza che questo richieda interventi negli altri strati;

• possibilità di utilizzare differenti protocolli per compiti specifici con complessità più trattabile; potendo scegliere le modalità di funzionamento e il livello su cui operare le funzioni di commutazione e di multiplazione, si possono ottimizzare alcuni aspetti del modo di trasferimento.

Due livelli di pari grado posti su due calcolatori differenti comunicano tra loro tramite protocollo, mentre due livelli adiacenti della stessa macchina comunicano tra loro tramite interfaccia. L'obiettivo di un livello è quello di servire servizi al livello superiore nascondendo a questo il modo in cui i servizi sono realizzati.

Modello ISO-OSI

Nei primi anni '80 l'ISO promuove un'azione volta alla definizione di un modello di riferimento a strati e di una serie di standard per protocolli e interfacce atti a realizzare dei sistemi aperti. Questo lavoro prende il nome di Open System Interconnection o OSI.

L'ISO-OSI (Open System Interconnection) Reference Model ha lo scopo di:

• fornire uno standard per la connessione di sistemi aperti;

• fornire una base comune per lo sviluppo di nuovi standard per l'interconnessione di sistemi;

• fornire un modello rispetto a cui confrontare le architetture di rete.

Il modello OSI non definisce di per sé dei protocolli specifici di comunicazione, non può essere considerato quindi come un'architettura di rete. Il numero di livelli che compongono il modello strutturale è stato scelto in modo da associare una specifica funzionalità per livello, senza presentare funzionalità ridondanti su più livelli.

OSI è costituito da 7 livelli:

strato fisico; ha come compito principale effettuare il trasferimento fisico delle cifre binarie tra i due sistemi in comunicazione;

strato di collegamento (data link); la sua funzione fondamentale è quella di rivelare e recuperare gli errori trasmissivi che potrebbero essersi verificati durante il trasferimento fisico;

strato di rete (network); rende invisibile allo strato superiore il modo in cui sono utilizzate le risorse di rete per la fase di instradamento;

strato di trasporto (transport); fornisce le risorse per il trasferimento trasparente di informazioni;

strato di sessione (session); assicura la possibilità di instaurare un colloquio tra due sistemi;

strato di presentazione (presentation); è interessato alla sintassi e alla semantica delle informazioni da trasferire;

strato di applicazione (application); ha lo scopo di fornire ai processi residenti nei due sistemi in comunicazione i mezzi per accedere all'ambiente OSI.

 

Modello Internet

La rete Internet si è sviluppata al di fuori dal modello ISO-OSI e presenta una struttura solo parzialmente aderente al modello OSI.

L'architettura di rete Internet Protocol Suite nota anche come architettura TCP/IP, è una architettura composta da 4 strati:

• strato di accesso alla rete (network access layer); comprende le funzioni che nel modello OSI sono comprese negli strati fisico, di collegamento e parte di quello di  rete, non è specificato nell'architettura, perché prevede di utilizzare quelli delle varie piattaforme hardware e conformi agli standard;

• strato Internet Protocol (IP); è collocabile nella parte alta dello strato di rete del modello OSI, è di tipo senza connessione e best effort, si occupa di instradare e di controllo di congestione;

• strato di trasporto (TCO o UDP); corrisponde al livello di trasporto del modello OSI, ed è implementato in due versioni, TCP (Transmission Control Protocol) che è un protocollo con connessione ed affidabile, e UDP (User Datagram Protocol) che è senza connessione e non affidabile;

• strato di applicazione (application protocol); nell'architettura Internet non sono previsti gli strati di sessione e di presentazione, ma solo quello di applicazione; questo strato contiene i protocolli utilizzati poi dai programmi residenti sulle macchine. I protocolli utilizzati in questo strato sono FTP (File Transfer Protocol - per il trasferimento dei file), POP (Post Office Protocol) e SMTP (Simple Mail Transfer Protocol) per la posta elettronica, Telnet per il terminale virtuale, http (HyperText Transfer Protocol - per le pagine Web), DNS (Domain Name Service - per convertire nomi alfanumerici in indirizzi IP), NNTP (News Network Transfer Protocol - trasferimento articoli dei newsgroup)

WAN: tecnologie

Caratteristiche delle WAN:

 

 

    Velocità di trasmissione inizialmente modesta ma in rapida crescita

 

    Flessibilità, affidabilità, molteplicità di soluzioni

 

    Collegabilità tra apparecchiature eterogenee

 

    Rese disponibili da Carrier pubblici

 

 Definizione di rete geografica

I collegamenti che attraversano il suolo pubblico o che, a causa della distanza fra gli estremi, non possono essere limitati ad aree di proprietà privata esclusiva, sono realizzati mediante il supporto di linee appartenenti alle reti geografiche.

La rete telefonica nazionale (PSTN = Public Switched Telephone Network) costituisce l’esempio più diffuso e consolidato di WAN (WAN= Wide Area Network) anche se il meno dotato di tecnologie avanzate.

Se la voce è il tipo di informazione tradizionale, oggi il mercato richiede, in misura continuamente crescente, il servizio di trasmissione dati.

 

Fra le applicazioni già affermate ed altre emergenti elenchiamo:

                                      

  • Inoltro ordini
  • Consultazione banche dati e cataloghi
  • Telebanking
  • Trasferimento dati di archivi centrali
  • Back-up remoto per sicurezza
  • Data & voice su circuiti dedicati
  • Teleconferenza
  • Telemarketing propositivo e interattivo
  • TeleVetrina (Internet)
  • Televendita – E-Commerce
  • E-business

Tipologie di traffico ed evoluzione dei servizi.

Le tipologie applicative e le richieste del mercato sono fortemente orientate verso l’interattività e la multimedialità. Di conseguenza l’offerta dei Carrier risulta sempre più ricca di servizi caratterizzati da prestazioni in continua crescita: maggiore larghezza di banda, velocità sempre più alte, protocolli di livello superiore si accompagnano a soluzioni ad hoc e personalizzabili sulle specifiche necessità del cliente.

La fonia, servizio centrale di tipo monolitico dello storico gestore di Monopolio, ed ancora oggi perno volumetrico delle telecomunicazioni, è oggetto di offerta differenziata e scolpita sulle molteplici occasioni e situazioni di mercato in uno scenario in cui la caduta del monopolio e la nascita di alternative nell’offerta dei servizi ha comportato, per lo meno, un caleidoscopico proliferare di soluzioni.

Se la trasmissione della voce si sta differenziando in termini di tecnologie impiegate, le comunicazioni che hanno per oggetto i dati sono in forte aumento in termini di volume. La T.D. si sta manifestando come una richiesta differenziata di servizi da calibrare secondo la tipologia specifica del traffico, in modo da raggiungere una soluzione ottimizzata nel rapporto prezzo/prestazioni.

Inoltre la tipologia delle tecniche per la T.D. comportano una inesorabile convergenza delle comunicazioni verso una situazione in cui dati e voce costituiranno due applicazioni per le quali la differenza comporterà non un’alternativa di rete ma una diversificazione di trattamento all’interno della stesso servizio di rete.

Le tipologie di traffico tradizionali rimangono ancora valide ed utili alla ricerca della soluzione ottimale:

 

  • On line – interattivo
  • Batch

 

 In corrispondenza di ciascuna delle precedenti tipologie si ricercano le tecniche di gestione del traffico, realizzate dai vari protocolli, in grado di rispondere nella misura più adeguata alle particolari esigenze dei dati da trasportare. Tali tecniche di gestione del traffico di rete sono riconducibili a tre tipologie di trattamento:

 

  • Commutazione di circuito
  • Commutazione di pacchetto
  • Multiplazione

La commutazione di circuito è una procedura ormai limitata quasi esclusivamente alla PSTN.

 

La commutazione di pacchetto è in forte crescita e propone continuamente soluzioni innovative ed in grado di sfruttare adeguatamente le nuove tecnologie disponibili.

 

La multiplazione trova largo impiego nelle dorsali e nelle linee punto a punto dedicate e/o appartenenti a reti pubbliche dotate di grande capacità di carico e di elevata banda.

 

Le tecnologie di trasporto

Le tecnologie di trasporto delle reti geografiche sono tutte basate sul trattamento di un segnale digitale, ad eccezione della PSTN che rimane l’unica rete che, in periferia, gestisce un segnale analogico.

La prevalenza del segnale digitale non è soltanto dovuta alla necessità di trasportare dati, originariamente digitali, ma soprattutto alla possibilità, specifica dei dati digitali, di poter fornire un elementare quanto efficace metro di valutazione del rapporto qualità/prezzo relativamente ai servizi offerti.

 

PSTN (Public Switched Telephone Network)

 

 

Esistono molti tipi di WAN che si differenziano per tecnologie, prestazioni e servizi offerti.

Oltre a Telecom Italia, che ha monopolizzato fino ad oggi il mercato delle reti per la fonia e per dati, da qualche anno esistono alternative di carrier privati che propongono soluzioni concorrenziali per il servizio di trasporto delle informazioni.

 

Le reti a commutazione di pacchetto x25

La rete a commutazione di pacchetto è una delle prime reti digitali introdotte sul mercato italiano e oggi presente ed interconnessa in tutta l’Europa. Le sue caratteristiche sono:

 

  • Velocità da 2.400 a 64.000 bit/sec
  • Altissima affidabilità
  • Circuiti diretti e commutati (PVC e SVC)
  • Tariffazione a volume e a tempo (SVC)
  • Bassi costi di impianto e di esercizio
  • Grande diffusione
  • Non adatta per applicazioni interattive o multimediali on line

 

Forniscono il servizio X25, oltre alla Telecom Italia (Itapac), altri carrier privati come Intesa, Sprint, Cable & Wireless, Infostrada, Albacom, BT.

Per attivare una connessione alla rete X25 occorre, oltre ad un contratto con un Carrier, una scheda X25 da inserire in uno slot libero del P.C., oppure, per i servizi a bassa velocità, un modem.

Formazione dei flussi numerici PCM.

 

L’evoluzione delle applicazioni dalla semplice fonia alle comunicazioni multimediali è parallela al passaggio delle tecniche analogiche ai sistemi digitali ed al trattamento numerico del segnale.

L’elemento di convergenza delle tecnologie trasmissive è costituito dalle tecniche PAM-PCM-TDM, che consentono il trattamento omogeneo di tutti i segnali a prescindere dalla loro forma sorgente.

 

Il segnale analogico continuo che identifica il messaggio da trasmettere, viene trasformato, mediante una procedura di campionamento (PAM: Pulse Amplitude Modulation)  in una serie di impulsi discreti. L'operazione di campionamento consiste nel  prelevare il valore del segnale originale un certo numero di volte ad istanti prefissati.

 

La legge di Shannon (1948) stabilisce che, affinché non si abbia degrado del segnale originale, occorre che la frequenza di campionamento sia almeno doppia della larghezza di banda del segnale e della sua massima frequenza.

Nel caso dei canali telefonici la larghezza di banda è quella delimitata dalle frequenze 300-3400 Hz.

In un secondo vengono eseguiti 8000 campionamenti sul segnale analogico, più che sufficienti a garantire l’integrità dei campioni del segnale fonico (sarebbe sufficiente un campionamento alla frequenza di 6800 Hz). La frequenza di campionamento è di 8 kHz (come prescritto dal CEPT per le comunicazioni telefoniche).

 

 

CAMPIONAMENTO

 

 

Se il numero dei valori ammessi per le ampiezze campionate è limitato, si parla di segnale "quantizzato".  I livelli di ampiezza consentiti prendono il nome di "livelli quantici", mentre "quanto" è la differenza fra due livelli quantici adiacenti.

Il numero dei livelli quantici utilizzati è pari a 256. Si hanno complessivamente 128 livelli positivi e 127 livelli negativi.

 

La "quantizzazione"  si chiama lineare se i quanti sono tutti uguali, altrimenti la quantizzazione viene definita non lineare.

 

Il quantizzatore associa ad ogni campione il valore del livello quantico più vicino, scelto fra i 256 livelli disponibili.

 

Infine, il codificatore associa ad ogni valore quantizzato una serie di bit. Per quantizzare 256 valori diversi sono sufficienti 8 bit ( 28 = 256) per cui all’uscita del codificatore avremo un byte per ogni campione del segnale originale.

 

Per ottimizzare il rapporto segnale/disturbo (S/D) tenendo conto del variare delle ampiezze del segnale analogico, conviene adottare una distribuzione non lineare dei valori di quantizzazione. In USA è adottata una variazione logaritmica della distribuzione (legge "Bell" o "µ"), mentre in Europa la distribuzione segue un andamento parzialmente lineare e parzialmente logaritmico (legge "A", adottata e normalizzata dal CEPT).

 

La legge  A, che descrive il modo  di variare della distribuzione dei valori di quantizzazione, viene chiamata "legge di compressione" (companding law).

 

con fc  = 8 Khz frequenza di campionamento

 

Il campione occupa solo una parte dei 125 m sec: le tecniche di multiplazione PAM utilizzano il tempo di trama residuo per inserire 30+2 canali, secondo lo standard europeo normalizzato dal CCITT e dal CEPT.

 

Il segnale in uscita dal quantizzatore è costituito da impulsi binari di ampiezza uguale.

Un flusso primario PCM è costituito da 30+2 canali che sono contenuti nello stesso tempo di trama. Ogni canale occupa uno slot chiamato  ITn con n che va da 0 a 31.

 Per formare il flusso PCM il sistema di codifica inserisce nel tempo di trama due parole di allineamento:

 

parola A: 10011011

parola B: 11S11111   (con S bit di allarme di fuori sincronismo)

 

La parola A viene inserita nelle trame pari mentre la B nelle trame dispari.

 

Il segnale PCM codificato è di tipo NRZ (No Return to Zero) che non ha un valore medio nullo. Occorre quindi introdurre una codifica di linea AMI o HDB3

FORMAZIONE DI UN FLUSSO PCM

 

In uscita dal codificatore, ogni campione quantizzato è rappresentato da un byte (codifica ad 8 bit). La codifica del segnale è generalmente NRZ (No Return to Zero) eventualmente bifase differenziale. Prima di essere trasmesso, il segnale verrà adattato e definitivamente codificato dal codificatore di linea le cui funzioni dipendono dalle particolari caratteristiche del mezzo trasmissivo utilizzato.

 

FLUSSI NUMERICI NORMALIZZATI

 

 

LIVELLO

DENOM.

EUROPEA

VELOCITA' Kbit/sec

N. CANALI

a 64 Kbit/sec

 

 

 

 

DM0

 

64  

1

DM1

E1

2.048

30

DM2

E2

8.448

120

DM3

E3

34.368

480

DM4

E4

139.264

1920

DM5

E5

565.148

7680

 

 

 

Il CCITT (oggi ITU-T) ha definito a suo tempo 6 livelli identificativi di altrettanti flussi con velocità compresa fra 64 Kbit/sec e 565 Mbit/sec, strutturabili con un certo numero di canali per voce o per dati.

 

Negli Stati Uniti ed in Giappone l’organizzazione dei livelli di multiplazione è leggermente diversa in quanto il numero di canali a 64 Kbit/sec che costituiscono il flusso primario non è 30 ma 24: tale flusso è chiamato T1 per distinguerlo dall’europeo E1.

 

Apparati di rete: Modulazione e multiplazione

l modem

 

Nello schema generale di una connessione sono presenti i tre elementi fondamentali, il DTE (Data Terminal Equipment) il DCE (Data Communication Equipment) e la rete.

Lo schema può essere considerato valido per rappresentare qualunque connessione, indipendentemente dalle scelte operate in fatto di dispositivi e reti.

 Il DTE è generalmente costituito da un terminale, un personal computer, un server, un host.

Il DCE è l’adattatore per la connessione fra terminale (DTE) e la particolare rete che si intende utilizzare. Uno dei DTE più diffusi è il modem.

I modem sono dispositivi che rendono possibile il passaggio dei dati nella rete analogica PSTN. Il principio che sta alla base del loro funzionamento è costituito dal processo di modulazione in cui i dati costituiscono il segnale modulante (modem= MODulazione DEModulazione).

L’elemento differenziatore che ne definisce anche la principale prestazione è la velocità di trasmissione: attualmente i modem per la rete analogica (chiamati modem in banda fonica) possono raggiungere la velocità massima di 56 Kbit/sec (racc. V90). In realtà le velocità effettive raggiungibili sono funzione della qualità del rilegamento di utente e delle centrali attraversate, che spesso riducono notevolmente la prestazione teorica.

Il modem effettua anche altre operazioni studiate per  migliorare le funzioni di connessione, come la compressione dei dati (secondo lo standard V42) e il controllo dell’errore (V42 bis).

Con riferimento al modello OSI, le funzioni ed i protocolli implementati dai modem si collocano al primo e secondo livello (fisico) della torre.

 

Vengono impropriamente chiamati modem anche i DCE per la connessione con reti digitali, come per esempio, ISDN. In questi ultimi, tuttavia, non esiste lo stadio di modulazione, in quanto il segnale mantiene sempre una struttura digitale.

 La velocità di un modem per rete ISDN è tipica di 64 Kbit/sec. e, in tal caso, si tratta di una velocità reale.

 

I collegamenti punto a punto che usano la rete PDH/SDH, che un tempo Telecom chiamava CDN (Collegamenti Diretti Numerici), necessitano di appositi DCE che dipendono dalla velocità di linea prescelta.

Le prestazioni sono coerenti con quelle offerte dal supporto di rete: le velocità disponibili per i collegamenti numerici, oggi arrivano a 2 Mbit/sec, ma in breve tempo dovrebbero entrare nel mercato velocità notevolmente superiori (144 Mbit e oltre).

 

E’ possibile effettuare connessioni punto a punto attraverso la rete Frame Relay con lo stesso hardware (e opportuno software) che consente l’allacciamento alla rete ISDN.

 

TECNICHE DI MODULAZIONE

 

 

La rete PSTN non è adatta al trasferimento di segnali digitali, per cui è necessario utilizzare una tecnica che consenta di trasformare i segnali digitali dei computer in segnali analogici. Tale tecnica, simile a quella delle radiocomunicazioni, è la modulazione. Un segnale caratterizzato da una frequenza prefissata viene impiegato come portante. I dati digitali costituiscono il segnale modulante.

Un segnale analogico è caratterizzato da tre grandezze fondamentali:

 

  • Frequenza
  • Ampiezza
  • Fase

 

La frequenza misura quante volte il segnale oscilla nell’unità di tempo e si misura in Hz: 1 Hz = 1 oscillazione al secondo.

 

L’ampiezza corrisponde al valore massimo raggiunto dalla tensione del segnale elettrico e si misura in Volt.

 

La fase è il ritardo (o l’anticipo) del segnale rispetto al segnale di riferimento e si misura in gradi.

 

I metodi utilizzati per la modulazione prevedono la modifica di una delle tre grandezze di un segnale analogico, o più di una.

 

 

 

Tali metodi sono:

 

    Modulazione di Ampiezza (AM o ASK)

    Molto sensibile all'attenuazione/amplificazione o ai disturbi, non fornisce un valido metodo di trasmissione per lunghe distanze.

 

    Modulazione di frequenza (FM o FSK)

    È più immune a distorsioni o disturbi, ma le caratteristiche del mezzo possono diminuire eccessivamente le frequenze usabili. Solitamente è usato dai modem a bassa velocità.

 

    Modulazione di Fase (PSK)

    Molto resistente ai disturbi, può essere base per metodi di auto sincronismo (self-clocking).

 

  • Quadrature Amplitude Modulation (QAM)
  • Modulazione di ampiezza di due portanti in quadratura, ma può essere considerato come una modulazione contemporanea di fase e di ampiezza di una portante.

Viene usata per i modem a velocità da 9.600 a 19.200 bit/sec.

ISDN (Integrated Services Digital Network)

 

ISDN costituisce  l’evoluzione dei servizi voce e dati. E’ una rete con funzionamento e trattamento del segnale completamente sotto forma digitale ed è in grado di fornire tutti i più avanzati servizi di comunicazione.

 

Il contratto per l’accesso base al servizio (disponibile attualmente solo presso Telecom Italia) comprende due canali a 64 Kbit/sec ciascuno, utilizzabili sia per fonia che per dati.

 

Principali servizi:

 

 

  • Comunicazioni in Fonia (voce)
  • Fax gruppo IV
  • Sessione a pacchetto X25
  • Video telefonia
  • Identificazione chiamante
  • Gruppo chiuso di utenti

Le tariffe dipendono dal tempo e dalla distanza e sono paragonabili a quelle della PSTN in teleselezione.

Per l’allacciamento occorre un dispositivo per la terminazione della linea (NT = Network Terminal) e apparecchiature dotate di interfaccia ISDN.

 

 

ISDN (Integrated System Digital Network) consiste in un insieme di reti interconnesse, ognuna delle quali conserva il proprio funzionamento, e dove l'elemento comune, che identifica anche il supporto alle comunicazioni è costituito da un insieme di protocolli, previsti dal modello di riferimento OSI (raccomandazioni della serie I.xxx del CCITT), che consentono alle informazioni di raggiungere la destinazione finale seguendo percorsi diversificati ed eterogenei. Qualunque informazione come dati, immagini e suoni digitalizzati, può circolare nella rete alla velocità di 64 kbit/sec.

 

Evoluzione spontanea delle reti di comunicazione tradizionali quando la commutazione passa dalla tecnologia elettromeccanica ed analogica ad elettronica e numerica, il sistema ISDN rappresenta il livello massimo dell'integrazione e dell'efficienza quando anche i segnali da trasmettere assumono la forma digitale.  Rispetto ai sistemi analogici, le tecniche digitali offrono superiori prestazioni, migliore efficienza, riduzione dei costi, maggiore affidabilità, ottimizzazione delle prestazioni.

Le modalità di ingresso alla rete ISDN prevedono solo due tipi di accesso: base e primario e il punto di ingresso alla rete si trova in una centrale numerica del sistema telefonico generale della PSTN opportunamente attrezzata con i necessari moduli di interfaccia e il software di controllo per il  protocollo.

 

Per il collegamento fra la centrale e la sede di utente è sufficiente il normale doppino telefonico (UTP: Unshielded Twisted Pair) per l'accesso base e due coppie per l'accesso primario. Il tipo di cablaggio permette un rapido ed economico allacciamento degli utilizzatori alla rete ISDN, tuttavia occorre tener presente che le centrali di commutazione telefonica, per espletare il servizio, devono essere di tipo numerico, come sopra accennato, e situate ad una  distanza non superiore a due-tre chilometri dalla borchia di utente.

 

L'accesso base è costituito da due canali di tipo B, caratterizzati da una  velocità di 64 Kbit/sec, oltre ad un canale di servizio, identificato come canale D, in cui i dati viaggiano alla velocità di 16 Kbit/sec. Nell'accesso primario i canali di tipo B sono 30 ( anche se è possibile stipulare contratti per un numero inferiore) oltre al canale D. Nell'accesso primario  il canale D ha una velocità di 64 Kbit/sec come i canali di tipo B.

 

L'aspetto più significativo della rete ISDN è costituito dal fatto che, diversamente da quanto avviene in tutte le altre reti, dove le segnalazioni di controllo seguono lo stesso percorso dei dati di utente, esiste un canale dedicato alle informazioni di servizio e di segnalazione diverso da quello utilizzato dai dati.  Tutto quanto si riferisce alle modalità di instaurazione della connessione, la sua gestione e, in chiusura, al suo abbattimento, così come le segnalazioni utili al controllo della trasmissione, utilizza esclusivamente il canale D, mentre i canali B sono riservati al passaggio delle informazioni dell'utente.

Le applicazioni.

 

Alla rete ISDN possiamo collegare qualsiasi apparecchiatura, dotata di interfaccia specifica per BUS tipo "S" direttamente, oppure, tramite apposito adattatore (TA: Terminal Adaptor, v. fig.1).  Le prestazioni sono esaltate dalla velocità di 64 Kbit/sec utilizzabile per le comunicazioni.



Il telefono digitale è il dispositivo più immediato, anche se non in grado di sfruttare convenientemente le opportunità della rete ISDN. Si tratta di un telefono dotato di tastiera e display a 2 righe per 20 caratteri, completo di convertitore analogico/digitale e digitale/analogico per la conversione dei segnali e fornito di interfaccia ISDN su bus "S".  E' possibile comunicare con qualsiasi altro abbonato alla rete ISDN o alla PSTN e sono disponibili funzioni locali come la ripetizione ultimo numero selezionato, con possibilità di verifica e eventuale correzione, rubrica telefonica con selezione abbreviata, visualizzazione di durata della conversazione.

La voce viene digitalizzata e codificata nella banda fonica tipica (300-3400 Hz) di larghezza 3100 Hz  secondo la regola specificata dalla legge A. Sono previste (ma non ancora disponibili) anche codifiche relative ad ampiezze di banda superiori (7,1 kHz e 15 kHz).

 

Il videotelefono è l'applicazione che introduce una novità nel tradizionale collegamento voce. In ISDN vengono usati  entrambi i canali B  per il trasporto del segnale audio e delle immagini.

 

Il telefax gruppo IV (raccomandazione  T5 del CCITT) che può sfruttare la velocità di 64 Kbit/sec con cui i tempi di trasmissione si riducono a meno di un quarto rispetto al fax gruppo III.

 

Trasmissione dati ad alta velocità : 64 Kbit/sec sui canali B singoli e 128 Kbit/sec  utilizzando entrambi i canali dell'accesso base in un unico flusso. Fino a 2048 bit non strutturati su accesso primario.

 

Commutazione di pacchetto

Collegamenti con attraversamento di reti a commutazione di pacchetto (Itapac) per i quali è stato preventivamente stipulato il relativo contratto per l'accesso. Il costo della sessione è formato dalla somma delle tariffe vigenti nelle singole reti attraversate. E' possibile comunicare con altri utenti di reti a commutazione di pacchetto come Itapac.

 

 

ADSL

 

Il servizio xDSL

 

La tecnologia Digital Subscriber Line (DSL) impiega la normale linea telefonica, costituita dal doppino (UTP), per il trasporto di dati ad alta velocità.

Il termine xDSL identifica una famiglia di connessioni appartenenti alla stessa categoria tecnologica quali: ADSL, SDSL (Symmetrical DSL), HDSL (High-bit rate DSL), RADSL (Rate Adaptive DSL) e VDSL (Very-high-bit rate DSL).

Le linee xDSL sono dedicate in connessione punto a punto, tra utente e Carrier fornitore del servizio, realizzate con doppino di rame in loop locale fra la centrale del Network Service Provider  e il sito utente ("last mile"), oppure   su loop locali creati all'interno di intranet o cablaggi strutturati interamente presso l'utilizzatore.   

 

 

Asymmetric Digital Subscriber Line (ADSL)

 

La tecnologia ADSL è asimmetrica. La banda disponibile per il download (dal provider all'utente) è maggiore di quella assegnata all'upload; è la situazione ideale per alcune applicazioni che sono caratterizzate proprio dall'asimmetria dei carichi come, ad esempio, la navigazione in Internet. Il collegamento è sempre attivo, per cui non occorre effettuare la chiamata.


Le velocità previste per ADSL arrivano a 8,448 (6,1 in USA) Mbps in download, e a 640 kbps in upload (vedi Figura). Attualmente sono disponibili linee ADSL 128/640 Kbps.

 

Caratteristiche di ADSL

 

Una connessione ADSL è formata da una linea UTP a ciascuna estremità della quale sono allacciati adattatori per linea  ADSL  in grado di creare tre canali, due digitali ed uno analogico:

 

  1. un canale digitale ad alta velocità per il download
  2. un canale digitale a media velocità per l'upload (duplex)
  3. un canale analogico telefonico standard per la fonia in banda base sezionato mediante filtri dai due precedenti canali digitali in modo da garantire un funzionamento autonomo al servizio di telefonia.    

  

I due canali digitali possono essere demultiplati per creare più canali a velocità inferiore.

 

Gli adattatori per linee ADSL forniscono servizi conformi ai flussi numerici normalizzati secondo gli standard PDH:  T1 (per il Nord America = 1.544 Mbps) e E1 (per l'Europa = 2.048 Mbps.)

 

Le velocità massime raggiungibili per il download  dipendono  da vari fattori, come la lunghezza e la qualità della linea, la presenza di segnali di disturbo e interferenze, ecc.. 

 

Velocità canale principale - downstream:

                                                                 N  x  2.048 kbps  (N=2m)

 

Velocità canale duplex:

                                                                 16, 64, 128, 256, 640 Kbps

 

Con il metodo della cancellazione dì eco alla upstream viene assegnata una banda in parte sovrapposta  a quella riservata al downstream; la separazione delle due bande viene effettuata dalla cancellazione d'eco, una tecnica utilizzata anche nei modem V32 e V34.

 

In entrambi i casi l' ADSL riserva una banda di 4 kHz per il servizio telefonico situata nella zona delle basse frequenze.

 

Tecnologia ADSL

 

Per creare canali multipli, gli adattatori ADSL possono usare due tecniche per dividere in più canali la banda disponibile di una linea telefonica:

 

  1. FDM (frequency-division multiplexing)
  2. Cancellazione d'eco.

 

La FDM assegna una banda per il canale dati in un senso (upstream) e un'altra banda per il secondo canale dati (downstream).

Inoltre la banda riservata al downstream viene divisa con una tecnica TDM (time-division multiplexing) in uno o più canali ad alta velocità ed anche la seconda banda (upstream),  viene divisa in uno o più canali a bassa velocità.

 

Tecnologia ADSL

 

Per creare canali multipli, gli adattatori ADSL possono usare due tecniche per dividere in più canali la banda disponibile di una linea telefonica:

 

  1. FDM (frequency-division multiplexing)
  2. Cancellazione d'eco.

 

La FDM assegna una banda per il canale dati in un senso (upstream) e un'altra banda per il secondo canale dati (downstream).

Inoltre la banda riservata al downstream viene divisa con una tecnica TDM (time-division multiplexing) in uno o più canali ad alta velocità ed anche la seconda banda (upstream),  viene divisa in uno o più canali a bassa velocità.

 

I canali creati con le sopracitate tecniche vengono utilizzati per trasmettere blocchi di dati corredati di procedure per la correzione d'errore.

 

 

Standard ed Enti per l' ADSL

 

L'ANSI (American National Standards Institute), con il gruppo di lavoro denominato T1E1.4, ha approvato uno standard  ADSL per velocità fino a 6.1 Mbps (ANSI Standard T1.413). L'europeo ETSI (European Technical Standards Institute) ha fornito un contributo allegato al documento T1.413 per le corrispondenze con la nromativa europea.  Il T1.413 prevede una sola interfaccia per terminale di linea.

Il gruppo T1E1.4 prevede di introdurre nello standard una interfaccia multiplexata ai terminali di linea corredata dei necessari protocolli per la configurazione e la gestione.  .

 

Il Forum ATM e il Digital Audio-Visual Council (DAVIC) hanno entrambi riconosciuto  ADSL come un protocollo di trasmissione fisico per UTP (physical-layer transmission protocol for UTP media) (UTP = Unshielded Twisted Pair – doppino  non schermato).

 

Il Forum ADSL è stato fondato nel Dicembre del 1994 con lo scopo di promuovere e diffondere l'ADSL. Il forum ha più di 200 membri, rappresentanti di service providers, costruttori di apparecchiature e di semiconduttori di tutto il mondo.

 

Sono allo studio le seguenti sezioni:

 

•ATM over ADSL (incluso trasporto e aspetti architetturali end-to-end)

 

•Packet over ADSL (lavori già completati)

 

•CPE/CO (customer premises equipment/central office) -  configurazioni e interfaccia

 

•Operatività

 

•Network management

 

•Testing e interoperabilità

 

Protocolli di comunicazione

La famiglia di protocolli TCP/IP

Si è già visto che la rete Internet adotta un modello a strati simile all'ISO-OSI ma con soli quattro strati: Accesso, Internet, Trasporto e Applicazione. Lo standard TCP/IP definisce una famiglia di protocolli che lavorano negli strati Internet e Trasporto, i più importanti dei quali sono Internet Protocol (IP) e Transmission Control Protocol (TCP).

 

La famiglia di protocolli TCP/IP

 

La rete Internet e la famiglia di protocolli TCP/IP nascono per l'Internetworking, tecnica che consente di far comunicare reti differenti nascondendo i dettagli hardware di ognuna. In generale si può dire che Internet è una grande rete di reti: i computer, chiamati host, sono distribuiti su tutto il territorio coperto da Internet (che oggi coincide con quasi tutta la parte abitata del globo terrestre) e sono collegati a reti di tipo diverso, che a loro volta sono interconnesse tramite dispositivi, chiamati router, capaci di adattarsi a qualunque tipo di struttura fisica e topologica delle varie reti.

 

Esempio di Internetworking tramite router

 

Nessuna specifica è fornita per gli strati sotto IP, in quanto relativi alla singola sottorete di appartenenza degli host o router. IP svolge funzioni di rete e instradamento dei pacchetti (tipici dello strato 3 OSI), mentre TCP svolge le funzioni di controllo della connessione end-to-end (relativi allo strato 4 OSI). Lo strato di applicazione definisce programmi e protocolli utilizzati per fornire servizi all'utente, quali la navigazione sul Web, la posta elettronica, il trasferimento di file e molti altri.

 

Il protocollo di rete IP

Il collante che tiene insieme la rete Internet è il protocollo di livello rete, comunemente chiamato IP (Internet Protocol). A differenza dei vecchi protocolli di livello rete, il protocollo IP è stato progettato tenendo in mente le problematiche di Internetworking. Il compito del protocollo IP è quello di fornire una modalità best-effort (cioè senza garanzie di affidabilità) per trasportare dei datagrammi (pacchetti) IP dall'origine alla destinazione senza preoccuparsi se le macchine si trovino nella stessa rete o se ci siano altre reti tra le due macchine. Il protocollo IP fornisce i seguenti servizi:

• trasmissione di un datagramma host-to-host, grazie ad un opportuno schema di indirizzamento;

• funzioni di routing, cioè di corretto instradamento delle informazioni attraverso nodi intermedi;

• frammentazione e riassemblaggio dei datagrammi.

Il protocollo, essendo best-effort, non fornisce:

controllo di flusso;

controllo d'errore;

controllo di sequenza.

I router in rete elaborano il pacchetto fino al livello IP, per conoscere quale sia l'indirizzo di destinazione; attraverso la tabella di instradamento viene quindi deciso su quale interfaccia di rete inviare il pacchetto. La tabella di instradamento è il risultato dell'esecuzione di un particolare algoritmo di routing (statico o dinamico, centralizzato o distribuito). Nella rete Internet sono utilizzati sia protocolli di tipo Distance Vector (RIP) che di tipo Link State (OSPF).

IP supporta le operazioni di frammentazione e riassemblaggio dei datagrammi: il termine frammentazione indica un'operazione in cui una PDU (in questo caso il datagramma IP) viene suddivisa o segmentata in unità più piccole. Questa funzione è necessaria perché non tutte le reti adottano la stessa dimensione per le PDU. Senza l'impiego della frammentazione, sarebbe più complicato gestire le incompatibilità tra le dimensioni delle PDU di diverse reti. IP risolve il problema fissando regole di frammentazione per i router e regole di riassemblaggio nell'host destinazione.

 

Schema di indirizzamento IP

L'indirizzamento IP è parte integrante del processo di instradamento dei messaggi sulla rete. Gli indirizzi IP, che devono essere univoci nell'ambito di tutta la rete Internet, sono lunghi 32 bit (4 byte) e sono espressi scrivendo i valori decimali di ciascun byte separati dal carattere punto (notazione dotted decimal). Un indirizzo IP ha la seguente struttura:

 

Struttura dell'indirizzo IP divisa in Net-ID e Host ID

 

Il Net-ID identifica la rete, mentre l'Host-ID identifica l'host all'interno della rete. L'indirizzo con i bit relativi alla parte di host posti a zero risulta essere l'indirizzo della rete in cui si trova l'host, mentre quello con i bit di host posti tutti a uno indica l'indirizzo broadcast di quella rete, cioè quello usato per inviare pacchetti a tutti gli host della rete. Quindi il numero di host possibili in una certa rete è pari alla dimensione dello spazio di indirizzamento della parte di host-id diminuita di 2 unità. Ad esempio:

• indirizzo IP = 132.125.18.36;

net-ID = 132.125;

host-ID = 18.36;

• indirizzo della rete = 132.125.0.0;

• indirizzo broadcast = 132.125.255.255;

• indirizzi possibili = da 132.125.0.1 a 132.125.255.254;

• numero di host possibili = (256x256) - 2 = 65.534.

Non sono i nodi ad avere un indirizzo IP, bensì le interfacce. Quindi se un nodo ha tre interfacce (ad esempio un router), esso ha tre indirizzi IP. Gli indirizzi IP sono univoci a livello mondiale e sono assegnati da un'unica autorità (in realtà l'autorità assegna al gestore di una rete un indirizzo di rete; sarà poi il gestore a decidere quali indirizzi di quella rete assegnare alle proprie macchine). Inoltre, l'indirizzo IP non identifica l'host in quanto tale, ma la connessione di un host alla relativa rete. Di conseguenza, se una macchina host viene spostata in un'altra rete, il suo indirizzo deve essere cambiato.

 

Classi di indirizzi IP

In base al numero di bit assegnati a net-ID e host-ID, gli indirizzi IP sono suddivisi in cinque classi:

Classe A - Utili per reti che hanno un numero cospicuo di host. Il campo host-ID è di 24 bit, pertanto possono essere identificati circa 16 milioni di host per ogni rete di questo tipo. Sette bit sono dedicati al net-ID, per un massimo di 128 reti di classe A.

Classe B - Sono utilizzati per reti di dimensioni intermedie. Il net-ID è di 14 bit, per cui si possono avere al massimo circa 16.000 reti di classe B, ciascuna con una dimensione massima di circa 65.000 indirizzi (host-ID da 16 bit).

Classe C - Sono utilizzati per numerose reti con pochi host. Le reti di classe C contengono meno di 256 host (host-ID da 8 bit) e sono individuate da 21 bit nell'ID di rete.

Classe D - Sono riservati al multicasting, cioé all'indirizzamento di gruppi di host.

Classe E - Sono riservati per usi futuri.

Lo spazio di indirizzamento va partizionato tra le varie classi di indirizzi, in modo che non vi siano sovrapposizioni tra classi diverse. Questo si ottiene fissando, per ogni classe, particolari configurazioni nel primo byte.

 

Le cinque classi di indirizzi IP

Corrispondenza tra indirizzi IP e indirizzi MAC

Si è visto come nell'ambito della rete Internet ciascun host, per poter essere raggiungibile, debba essere connesso tramite un'interfaccia di rete a cui è assegnato un indirizzo IP univoco. L'interfaccia di rete (modem, scheda Ethernet, eccetera) a sua volta implementa un protocollo di livello 2 che dipende dal tipo di rete fisica a cui la macchina è connessa. Si è visto anche che, nel caso di reti LAN, l'interfaccia deve avere un indirizzo univoco anche a livello MAC, che è cablato nella circuiteria stessa della scheda di rete. Inoltre, un host in una LAN deve incapsulare il datagramma IP in un pacchetto MAC e quindi inviarlo ad un host o ad un router nella LAN stessa: per fare ciò è necessario conoscere l'indirizzo MAC del destinatario. Nasce così l'esigenza di porre in corrispondenza biunivoca l'indirizzo MAC e l'indirizzo IP di un'interfaccia di rete.

Per effettuare questa operazione, lo standard TCP/IP fornisce un protocollo di risoluzione degli indirizzi chiamato Address Resolution Protocol (ARP), che gestisce la traduzione degli indirizzi IP in indirizzi fisici e nasconde questi ultimi agli strati superiori. Generalmente, ARP funziona con tabelle di mappatura, definite cache ARP, che forniscono la corrispondenza tra un indirizzo IP e un indirizzo fisico. In una LAN, ARP prende l'indirizzo IP di destinazione e cerca l'indirizzo fisico corrispondente nella cache ARP: se lo trova lo restituisce al richiedente. Se l'indirizzo richiesto non viene reperito nella cache ARP, il modulo ARP effettua una trasmissione broadcast sulla rete: questa prende il nome di richiesta ARP (ARP request) e contiene l'indirizzo IP richiesto. Di conseguenza, se una delle macchine che ricevono la richiesta riconosce il proprio indirizzo IP nel messaggio di ARP, restituisce una risposta ARP (ARP reply) all'host richiedente. Il frame contiene l'indirizzo fisico dell'host interrogato. Quando riceve questo frame, l'host richiedente inserisce l'indirizzo nella propria cache ARP: i datagrammi che verranno successivamente inviati a questo particolare indirizzo IP potranno essere tradotti nell'indirizzo fisico accedendo alla cache.

 

Funzionamento del protocollo ARP

 

Le informazioni presenti nella cache di una stazione hanno un tempo di vita che è legato alla specifica implementazione e configurazione del TCP/IP, ma comunque dell'ordine di grandezza dei minuti. Il motivo della temporaneità di tali informazioni è legato al fatto che la corrispondenza tra indirizzi IP e MAC deve essere dinamica e può variare nel tempo (ad esempio a causa di una sostituzione della scheda di rete o di un cambiamento di indirizzo IP).

A volte risulta utile effettuare l'operazione inversa, cioè risalire all'indirizzo IP a partire dall'indirizzo Ethernet; tali funzionalità sono assicurate dal protocollo RARP (Riverse Address Resolution Protocol).

 

Il protocollo di trasporto TCP

Il Transmission Control Protocol (TCP) è stato progettato al fine di offrire alle applicazioni un servizio end-to-end, orientato alla connessione e perfettamente affidabile, tenendo conto che la rete sottostante (IP) non è affidabile. Il TCP accetta dal livello superiore messaggi di lunghezza illimitata, li segmenta in pacchetti di piccole dimensioni e li invia incapsulandoli in datagrammi. Le funzioni svolte dal protocollo TCP sono:

• controllo di errore;

controllo di flusso;

• controllo di sequenza;

• multiplazione delle connessioni su un singolo indirizzo di rete.

TCP riceve i dati a flussi dai protocolli di strato superiore che li inviano a byte, uno alla volta; quando arrivano allo strato TCP, i byte vengono raggruppati in segmenti TCP, che vengono quindi passati a IP per essere trasmessi alla destinazione successiva. La lunghezza dei segmenti è determinata da TCP.

Le funzionalità del protocollo TCP vengono garantite mediante la numerazione dei datagrammi e l'invio di messaggi di riscontro (acknowledgment) da parte della destinazione ogniqualvolta viene ricevuto correttamente il giusto datagramma della sequenza. Nel caso di connessioni interattive bidirezionali si usa la tecnica del piggybacking (acknowledgment contenuto nelle risposte). Inoltre, i numeri di sequenza servono a TCP per il riordinamento dei segmenti ricevuti, qualora questi giungano alla destinazione finale in ordine errato. TCP adotta una tecnica di riconoscimento globale, che comprende tutti i byte fino al numero di riconoscimento meno uno. Il modulo TCP ricevente può anche eseguire il controllo del flusso dei dati del mittente, molto utile per evitare la perdita di dati per superamento della capacità del buffer e l'eventuale saturazione della macchina ricevente. Il meccanismo si basa sull'emissione di un valore di finestra alla stazione trasmittente, la quale può inviare un numero specificato di byte all'interno di tale finestra; al raggiungimento di questo numero, la finestra viene chiusa e l'entità trasmittente deve interrompere l'invio dei dati.

Poiché TCP è un protocollo che opera in modalità orientata alla connessione, ogni trasmissione di dati deve essere preceduta da una fase di attivazione della connessione e seguita da una fase di rilascio.

 

Multiplazione e socket

Compito di TCP è anche quello di distinguere tra i diversi programmi applicativi e i diversi utenti che fanno uso di uno stesso sistema, quindi di uno stesso indirizzo IP.

Per questo si è stabilito che ogni sistema contenga un insieme di punti di destinazione TCP chiamati porte. Ogni porta è identificata da un intero positivo, che rappresenta un'applicazione attiva nello strato superiore. L'indirizzo completo di un'applicazione su Internet è quindi dato dall'insieme di indirizzo IP e porta TCP ed è denominato socket; ad esempio:

• indirizzo IP = 132.125.18.35;

• porta TCP = 80;

socket = 132.125.18.35:80.

Il numero di porta è contenuto nell'intestazione del segmento TCP, mentre l'indirizzo IP è contenuto nell'intestazione del pacchetto IP. Questo significa che tutte le sessioni di comunicazione in atto tra due specifici sistemi useranno lo stesso indirizzo IP di sorgente e lo stesso indirizzo IP di destinazione; saranno perciò distinte solo a livello TCP e individuabili tramite la coppia porta sorgente e porta destinazione. Ne segue che queste sessioni sono multiplate su un'unica coppia di indirizzi IP, ovvero su un unico canale IP di comunicazione. In TCP, quindi, una connessione è identificata da una coppia di socket, relativa ai due processi che hanno stabilito la connessione. Ad esempio una connessione tra la porta 1029 dell'host 132.125.18.36 e la porta 80 dell'host 132.125.18.35 sarà identificata dalla coppia (132.125.18.36:1029,132.125.18.35:80). Grazie a tale meccanismo, un indirizzo di porta di un sistema può supportare connessioni multiple; la porta 80 dell'host 132.125.18.35 potrebbe gestire contemporaneamente le seguenti connessioni (ed anche altre):

 

Connessione di diversi client con lo stesso server tramite socket TCP

Well-knows ports

Tipicamente le applicazioni in Internet seguono un modello del tipo client/server, in cui alcuni applicativi server mettono a disposizione determinati servizi che gli applicativi client richiedono connettendosi ad essi attraverso TCP/IP. Per identificare i processi applicativi server, sono stati definiti dei numeri di porta ben noti (well-known ports); per richiedere un certo servizio, un applicativo client deve aprire una connessione con la macchina di destinazione sulla ben nota porta server che individua quel particolare servizio. Un client FTP, ad esempio, per connettersi ad un server FTP, deve conoscere e indicare l'indirizzo IP dell'elaboratore remoto e il numero della porta associata al servizio

Le porte sono individuate da un numero intero rappresentato con 16 bit. Questo spazio di numerazione è diviso in due gruppi:

• da 0 a 1023 è lo spazio riservato per le porte privilegiate o well known ports, che servono per indirizzare un certo servizio;

• lo spazio da 1024 a 65535 è lasciato libero per le porte utenti, cioè quelle scelte dall'applicativo client come porta sorgente.

Nella tabella seguente vengono riportati i numeri di porta di alcuni tra i servizi più noti:

Numero porta Nome Tipo di servizio

21 FTP trasferimento file

22 SSH terminale virtuale criptato

23 TELNET terminale virtuale in chiaro

25 SMTP invio posta elettronica

53 DOMAIN server DNS

80 HTTP server Web

110 POP accesso posta elettronica

Protocollo IP e collegati

 

Introduzione

Il collante che tiene insieme la rete Internet è il protocollo di livello rete, comunemente chiamato IP (Internet Protocol). A differenza dei vecchi protocolli di livello rete, il protocollo IP è stato progettato tenendo in mente le problematiche di internetworking. Il compito del protocollo IP è quello di fornire una modalità best-effort per trasportare dei datagrammi (pacchetti) IP dall'origine alla destinazione senza preoccuparsi se le macchine si trovino nella stessa rete o se ci siano altre reti tra le due macchine.

La comunicazione in Internet avviene nel seguente modo: il livello di trasporto gestisce le informazioni in forma di data stream che vengono frammentati in datagrammi a livello di rete. Risulta quindi fondamentale comprendere la modalità con cui viene costruito un pacchetto IP.

Tale sezione presenta i seguenti argomenti all'interno del capitolo relativo al pacchetti IP:

formato del pacchetto IP;

problemi di indirizzamento;

classi di indirizzi A, B, C, D;

netmask e valori possibili;

indirizzi privati e indirizzi pubblici;

logical IP subnet.

La sicurezza delle connessioni ad Internet sta divenendo sempre più importante, in questa sezione vengono illustrate le principali tecniche che consentono di avere un accesso sicuro alla rete. Come noto, la suite di protocolli TCP/IP è in realtà un insieme abbastanza complesso di molteplici protocolli. Nella parte finale di questa sezione vengono presentati alcuni protocolli, che insieme a più noti protocolli TCP e IP, giocano un ruolo fondamentale all'interno della rete Internet (per esempio i protocolli NAT e PAT, i quali tra l'altro consentono di risolvere il problema della carenza di indirizzi

pubblici).

La sezione relativa alle soluzioni e ai protocolli correlati contiene le seguenti sezioni:

protocolli correlati a IP e loro impiego;

ICMP;

ARP/RARP.

 


Formato del pacchetto IP

Il protocollo IP

 

Protocollo IP

 

Quando un'applicazione invia dei dati, utilizzando l'architettura TCP/IP, i dati vengono mandati verso il basso attraverso tutti i livelli della pila protocollare fino ad essere trasmessi dal livello fisico. Ogni livello aggiunge delle informazioni di controllo, preponendo degli header (ed a volte aggiungendo anche dei trailer) ai dati che riceve. I dati d'utente, ai quali viene preposta un'intestazione (header) dallo strato di applicazione, vengono passati al protocollo dello strato di trasporto (in questo caso si tratta del protocollo TCP, sebbene il funzionamento sia del tutto analogo nel caso si utilizzi UDP): quest'ultimo esegue varie operazioni e aggiunge un'intestazione alla PDU che gli è stata inviata. L'unità di dati prende ora il nome di segmento. Lo strato di trasporto fornisce quindi il segmento allo strato di rete, che presta anch'esso servizi specifici e aggiunge un'intestazione. Questa unità (che la terminologia di Internet definisce ora datagramma) viene passata ai livelli inferiori, dove lo strato di collegamento dati aggiunge la propria intestazione e una coda (trailer); l'unità di dati (che ora prende il nome di trama) viene poi trasmessa in rete dallo strato fisico. In figura è mostrato un esempio di imbustamento dei dati, nell'ipotesi che la sottorete sia una LAN di tipo Ethernet.

Il pacchetto IP

 

Pacchetto IP

 

Il protocollo IP fornisce i seguenti servizi:

• trasmissione di un datagram host-to-host (indirizzamento);

• funzioni di routing;

• frammentazione e riassemblaggio dei datagram.

Il protocollo non fornisce:

controllo di flusso;

controllo d'errore;

controllo di sequenza.

 

I router in rete elaborano il pacchetto fino a livello IP, per vedere quale sia l'indirizzo di destinazione; attraverso la tabella di instradamento viene deciso su quale interfaccia inviare il pacchetto. IP supporta le operazioni di frammentazione: il termine di frammentazione indica un'operazione in cui una PDU viene suddivisa o segmentata in unità più piccole. Questa funzione è necessaria perché non tutte le reti adottano la stessa dimensione per le PDU. Senza l'impiego della frammentazione, un router sarebbe incaricato di gestire le incompatibilità tra le dimensioni delle PDU delle diverse reti. IP risolve il problema fissando regole di frammentazione per i router e regole di riassemblaggio nell'host ricevente.

 

I campi del pacchetto IP

Il campo versione identifica la versione del protocollo IP del pacchetto; quella oggi in uso prevalente è IPv4, sebbene ci si stia indirizzando verso l'uso della versione IPv6 (denominata anche IPng, IP next generation).

Il campo lunghezza dell'intestazione (IHL) contiene 4 bit impostati a un valore che indica la lunghezza dell'intestazione dei datagrammi. La lunghezza è misurata in parole di 32 bit; solitamente, un'intestazione senza opzioni di qualità del servizio (QoS) è costituita da 20 byte (quindi 20 * 8 = 160 bit, ovvero 5 raggruppamenti da 32); di conseguenza il valore del campo della lunghezza è di norma 5.

Il campo tipo di servizio (TOS) può essere utilizzato per classificare i pacchetti e offrire un servizio differenziato (QoS). Il campo lunghezza totale specifica la lunghezza totale del datagramma IP. Si misura in byte e comprende la lunghezza dell'intestazione e dei dati. IP sottrae il campo lunghezza dell'intestazione dal campo lunghezza totale, per calcolare le dimensioni del campo dati. La lunghezza massima possibile per un datagramma è di 65.535 byte.

Il protocollo IP utilizza tre campi nell'intestazione per controllare la frammentazione e il riassemblaggio dei datagrammi. Questi sono il campo identificatore, flag e scostamento del frammento. Il campo identificatore serve all'host ricevente per designare in modo univoco ciascun frammento di un datagramma proveniente dall'indirizzo di origine.

Il campo flag contiene i bit che determinano se il datagramma può essere frammentato: in caso affermativo, uno dei bit può essere impostato in modo tale da determinare se il frammento è l'ultimo del datagramma.

Il campo scostamento del frammento contiene un valore che specifica la posizione relativa del frammento nel datagramma originale; il valore si misura in unità di otto byte. Il parametro tempo di durata (TTL, Time To Live) serve per misurare il tempo di presenza di un datagramma in rete. Ogni router quando riceve un pacchetto controlla questo campo, e lo scarta se il valore TTL è uguale a zero; prima di inoltrare nuovamente il pacchetto, il campo TTL viene diminuito di una unità. Il campo TTL indica quindi il numero di tratti che il pacchetto può attraversare, e può essere usato dai router per evitare che i pacchetti entrino in cicli infiniti, ma anche da un host per limitare la durata della presenza di segmenti in rete.

Il campo protocollo serve per identificare il protocollo dello strato immediatamente superiore a IP che deve ricevere il datagramma. È simile al campo tipo, presente nella trama Ethernet.

Il campo checksum dell'intestazione viene utilizzato per rilevare eventuali errori che possono essersi verificati nella sola intestazione. I controlli non vengono eseguiti sul flusso dei dati dell'utente. Se da un lato ciò consente di usare un algoritmo di checksum piuttosto semplice, in quanto non deve operare su molti byte, dall'altro richiede che un protocollo di livello superiore esegua un controllo degli errori sui dati dell'utente.

IP trasporta due indirizzi nel datagramma: l'indirizzo di origine e l'indirizzo di destinazione, che conservano lo stesso valore per tutto il trasferimento.

Il campo opzioni serve per identificare vari servizi supplementari.

Il campo riempimento può essere utilizzato per far sì che l'intestazione del datagramma sia allineata ad una delimitazione precisa di 32 bit.

Infine il campo dati contiene i dati dell'utente. La combinazione dei dati e dell'intestazione non può superare 65.535 byte.

Protocolli di trasporto in Internet

 

TCP - Transmission Control Protocol

 

Segmento TCP/UDP e datagramma IP

 

Il Transmission Control Protocol (TCP) è stato progettato al fine di offrire un servizio end-to-end perfettamente affidabile alle applicazioni, tenendo conto che la rete sottostante (IP) non è affidabile. Il TCP accetta dal livello superiore messaggi di lunghezza illimitata, li segmenta in pacchetti di piccole dimensioni e li invia in datagrammi.

Il protocollo è descritto nelle Request For Comments (RFC) 793 ed è successivamente ampliato a causa di alcune bug fixes: RFC 1122. Se ne trova anche una estensione: RFC 1323.

Le funzioni svolte dal protocollo TCP sono:

controllo di errore;

controllo di flusso;

controllo di sequenza;

multiplexing delle connessioni su un singolo indirizzo di rete.

TCP riceve i dati a flussi dai protocolli di strato superiore che li inviano a byte, uno alla volta; quando arrivano allo strato TCP, i byte vengono raggruppati in segmenti TCP, che vengono quindi passati a IP per essere trasmessi alla destinazione successiva. La lunghezza dei segmenti è determinata da TCP. Le funzionalità del protocollo TCP vengono garantite mediante la numerazione dei datagrammi e l'invio di messaggi di riscontro (acknowledgment) da parte della destinazione ogniqualvolta viene ricevuto correttamente il giusto datagramma della sequenza. Nel caso di connessioni interattive bidirezionali si usa la tecnica piggybacking (acknowledgment contenuto nelle risposte). Inoltre, i numeri di sequenza servono a TCP per il risequenziamento dei segmenti, qualora questi giungano alla destinazione finale in ordine errato. TCP adotta una tecnica di riconoscimento globale, che comprende tutti i byte fino al numero di riconoscimento meno uno. Il modulo TCP ricevente può anche eseguire il controllo del flusso dei dati del mittente, molto utile per evitare la perdita di dati per superamento della capacità del buffer e l'eventuale saturazione della macchina ricevente. Il meccanismo si basa sull'emissione di un valore di finestra alla stazione trasmittente, la quale può inviare un numero specificato di byte all'interno di tale finestra; al raggiungimento di questo numero, la finestra viene chiusa e l'entità trasmittente deve interrompere l'invio dei dati. Ogni trasmissione di dati deve essere preceduta da una fase di attivazione della connessione e seguita da una fase di rilascio.

 

TCP - Multiplazione

Compito di TCP è quindi anche quello di distinguere tra i diversi programmi applicativi e i diversi utenti che fanno uso di uno stesso sistema. Come avviene per UDP, si è stabilito che ogni sistema contenga un insieme di punti di destinazione chiamati porte. Anche in TCP, ogni porta è identificata da un intero positivo. L'indirizzo di un utente di strato TCP è denominato porta, mentre l'indirizzo completo nell'insieme dei protocolli TCP e IP è denominato socket ed è costituito dalla coppia:

• porta@IP_Address.

La componente port è contenuta nell'intestazione dell'unità di dati di TCP, mentre la componente IP_Address è contenuta nell'intestazione dell'unità dati di IP. Questo significa che tutte le sessioni di comunicazione in atto tra due specifici sistemi useranno lo stesso indirizzo IP di sorgente e lo stesso indirizzo IP di destinazione; saranno perciò distinte solo allo strato TCP. Ne segue che queste sessioni sono multiplate su un unico indirizzo IP, ovvero su un unico canale IP di comunicazione (non su una connessione IP; in questo caso la definizione di multiplazione va usata con cautela dal momento che IP è un protocollo senza connessione).

 

TCP - Connessione

Come per UDP esistono dei numeri di porta ben noti (well known port), ma a differenza di UDP, alla stessa porta può corrispondere più di un processo. Tale maggiore complessità deriva dal fatto che TCP è un protocollo con connessione. In TCP una connessione è identificata da una coppia di socket, relativa ai due processi che hanno stabilito la connessione.

 

Esempio di connessione

 

Ad esempio una connessione tra la porta 2772 dell'host 197.2.7.2 e la porta 80 dell'host 151.80.4.1 sarà identificata dalla coppia:

• 2772@197.2.7.2, 80@151.77.4.1.

Grazie a tale meccanismo, un indirizzo di porta di un sistema può supportare connessioni multiple; la porta 2772 dell'host 197.2.7.2 potrebbe gestire contemporaneamente le seguenti connessioni (ed anche altre):

• 2772@197.2.7.2, 80@151.77.4.5;

• 2772@197.2.7.2, 80@165.20.2.3

 

Applicazioni per TCP

Al livello più alto della pila di protocolli si pongono gli applicativi, che possono utilizzare come livello di trasporto UDP o TCP a seconda delle necessità. Poiché UDP è un protocollo di tipo connection-less (non prevede controllo di flusso o recupero di errore), questo non è consigliabile con applicativi per il trasferimento dati, come FTP o HTTP, ma può essere utile, grazie al ridotto overhead, per applicativi che usano pacchetti di piccole dimensioni, nonché per gli applicativi real-time in cui è inutile la ritrasmissione di pacchetti errati. I più comuni protocolli applicativi sono i seguenti:

Telnet;

FTP;

DNS;

Posta elettronica:

• formato dei messaggi (RFC 822, MIME);

• trasferimento dei messaggi (SMTP, POP3, IMAP);

HTTP;

PROXY;

 

Telnet

Telnet è un protocollo che permette ad un utente di collegarsi, tramite elaboratore locale, ad un qualsiasi altro elaboratore remoto connesso alla rete. La connessione viene attivata facendo seguire al comando telnet il nome del calcolatore remoto o il suo indirizzo. Da quel momento in poi, tutti i caratteri battuti sulla tastiera sono inviati all'elaboratore remoto e le risposte da questo generate sono visualizzate sullo schermo locale. Il calcolatore locale è reso trasparente dal programma telnet e si opera come se si fosse direttamente connessi all'elaboratore remoto.

Quando ci si scollega dall'elaboratore remoto, il programma telnet termina e ci si trova nuovamente a dialogare con il sistema operativo dell'elaboratore locale.

Normalmente il programma telnet include degli emulatori per i terminali più diffusi (esempio: Digital VT100 e IBM 3270). Telnet è specificato dalle RFC 854 e 855. Alternativamente al telnet è possibile utilizzare il comando rlogin che ha funzionalità analoghe.

 

FTP

[FTP è specificato nel RFC 959]

Il File Transfer Protocol (FTP) è una specifica di protocollo applicativo che permette ad un utente collegato ad un calcolatore, di trasferire file da e verso un altro elaboratore. La sicurezza è gestita tramite la richiesta all'utente di fornire uno username ed una password validi presso l'elaboratore remoto.

FTP gestisce la rappresentazione dei dati in maniera automatica di file di testo tra elaboratori con codifiche dei caratteri diverse (ad esempio quando si ha a che fare con diversi sistemi operativi e quindi diverse strutture di file e diverso set di caratteri).

Telnet risolve i problemi di eterogeneità forzando entrambe le macchine a lavorare con uno stesso standard: i caratteri scambiati sono codificati con NVT ASCII.

 

FTP

 

FTP differisce dalle altre applicazioni perché usa due connessioni TCP per trasferire un file: una connessione di controllo sulla porta 21, in uso durante tutto il trasferimento del file e che serve per passare i comandi del client e le risposte del server (in particolare per inizializzare il trasferimento di un file), e una connessione per i dati, che è creata ogni volta che va trasferito un file. FTP supporta un limitato set di tipi di file e di strutture di memoria: per trasferire un file la macchina client e quella server devono inizializzarsi e fare delle scelte per le opzioni previste.

Per decidere come un file deve essere trasferito e memorizzato, la macchina client e quella server devono fare una scelta per un formato comune di rappresentazione e trasmissione dei dati ed in particolare:

 

Tipo di file

file ASCII, è trasferito con codifica NVT ASCII e necessita per chi trasmette la conversione dal formato locale in ASCII e per chi riceve la conversione opposta; viene inviata la fine di ogni linea, quindi in ricezione si fa una scansione dei byte in attesa del carriage return; è usato per trasferire file di testo;

file immagine o binario, trasferito come un flusso continuo di bit; è usato di solito per trasferire file binari;

Struttura

file come flusso continuo di byte, senza nessuna struttura interna;

file organizzato con una struttura a record, usato per i file di testo;

file organizzato per pagine, in cui si trasmette una pagina alla volta, con numero di pagina che permette al ricevitore di memorizzarle in modo casuale;

Modo di trasmissione

stream, cioé come flusso continuo di bit; per un file senza struttura, la fine del file viene individuata dalla chiusura della connessione, mentre per un file con struttura a record, una speciale sequenza di due byte indica la fine dei record e del file;

• a blocchi, con file trasferito a blocchi ognuno preceduto da un header. La combinazione delle precedenti opzioni dà le possibili combinazioni nel trasferimento e memorizzazione dei file. La scelta più comune in ambiente Unix è come tipo di file ASCII o binario, senza struttura e modo di trasmissione stream.

I comandi e le repliche che il client e il server FTP si scambiano sul canale di controllo sono codificati in NVT ASCII. I comandi che il client può inviare al server sono circa 30; i più importanti sono riportati nella tabella. Le repliche del server sono costituite da un numero di tre cifre usato dal client per individuare il tipo di risposta, e da un commento per l'utente. Esempi di reply sono: 200 Command OK, 331 Username OK password required, eccetera.

 

Comando Descrizione

ABOR annulla (abort) il precedente comando FTP e ogni trasferimento di dati LIST filelist elenca (list) file e directory

PASS password password sul server

PORT n1, n2, n3, n4, n5, n6 client IP address (nl.n2.n3.n4) e port (n5 x 256 + n6)

QUIT logoff dal server

RETR filename ottieni (retrieve, get) un file

STOP filename immagazzina (store, put) un file

SYST server returns system type

TYPE type specifica il tipo di file: A per ASCII, I per image

USER username usename sul server

TFTP (Trivial FTP) è una versione semplificata di FTP usata normalmente per downloading di software e specificata nel RFC 1350.

 

DNS

[Il DNS è specificato negli RFC 1035, 883 e 882]

 

Esempio di DNS

 

I programmi raramente si riferiscono agli host, alle mailbox e ad altre risorse mediante i loro indirizzi di rete IP e tantomeno tramite numeri binari. Sarà preferibile rivolgersi ai sistemi tramite stringhe, come ad esempio utente@dominio. Tuttavia, gli apparati di rete dispongono della sola nozione di indirizzo binario, quindi è necessario un meccanismo che consenta di convertire le stringhe in indirizzi di rete.

Il Domain Name Server (DNS) è una base di dati distribuita e replicata per gestire principalmente la corrispondenza tra nomi e indirizzi IP. DNS si avvale di una struttura gerarchica ad albero per stabilire i nomi. La radice è la voce di massimo livello ed è anche il nodo genitore rispetto ai livelli inferiori di un albero. L'albero è costituito da rami, che collegano i nodi.

Le etichette dei nodi dello stesso livello nell'albero devono essere completamente univoche e distinte: ciò significa che l'etichetta deve essere un nome unico e inconfondibile nel livello di nodo specifico.

Ogni dominio, identificato da un nome univoco, controlla ed ha la responsabilità dell'allocazione dei domini nel suo comprensorio. Per creare un nuovo dominio, è necessaria l'autorizzazione del dominio nel quale questo verrà incluso. Una volta che il nuovo dominio è stato creato e registrato, esso può creare a sua volta dei sottodomini senza aver bisogno di richiedere l'autorizzazione a nessuno dei domini superiori.

com: Organizzazioni commerciali (hp.com, sun.com ...);

edu: Organizzazioni educative (berkeley.edu, purdue.edu ...);

gov: Organizzazioni governative (nasa.gov, nsf.gov ...);

mil: Organizzazioni militari (army.mil, navy.mil ...);

net: Organizzazione di gestione reti (nsf.net ...);

org: Organizzazioni non commerciali (eff.org ...);

int: Organizzazioni internazionali (nato.int ...);

country-code: Codice di due caratteri per indicare una nazione.

Lo spazio dei nomi è diviso in diversi domini di massimo livello (top-level domains), tra i quali distinguiamo dei top-level domain generici (generic domains) e dei top-level domain geografici (country domains). Almeno in teoria, un unico name server potrebbe contenere l'intero DNS database e rispondere a tutte le interrogazioni che lo riguardano. In realtà, questo server sarebbe così sovraccarico da essere inutilizzabile.

Inoltre, se per qualsiasi motivo questo si guastasse, l'intera Internet si non disporrebbe più del servizio dei nomi.

Non è pensabile quindi che tutte le traduzioni indirizzo IP - name_address siano contenute all'interno di un unico database o siano decise da una sola organizzazione. Il sistema è organizzato invece con la modalità di database distribuito e con il meccanismo della delegation: una società o università, proprietaria di una rete, viene delegata per scegliere le traduzioni IP address - name address come vuole, e si impegna a mettere a disposizione un server DNS che, quando viene interrogato dall'esterno, possa fare queste traduzioni, che quindi sono conosciute solo su quel server.

 

Posta elettronica

[Standard per la formazione di messaggio è specificato nel RFC 822]

La posta elettronica è uno dei servizi più consolidati ed usati nelle reti. In Internet è in uso da circa 20 anni, e prima del WWW era senza dubbio il servizio più utilizzato. Un servizio di posta elettronica, nel suo complesso, consente di effettuare le seguenti operazioni:

• comporre un messaggio;

• spedire il messaggio (a uno o più destinatari);

• ricevere messaggi da altri utenti;

• leggere i messaggi ricevuti;

• stampare, memorizzare, eliminare i messaggi spediti o ricevuti.

Di norma, un messaggio ha un formato ben preciso. In Internet un messaggio ha un formato (definito nell'RFC 822) costituito da un header e da un body, separati da una linea vuota. L'header è a sua volta costituito da una serie di linee, ciascuna relativa a una specifica informazione (identificata da una parola chiave che è la prima sulla linea); alcune informazioni sono:

To: indirizzo di uno o più destinatari.

From: indirizzo del mittente.

Cc: indirizzo di uno o più destinatari a cui si invia per conoscenza.

Bcc: blind Cc: gli altri destinatari non sanno che anche lui riceve il messaggio.

Subject: argomento del messaggio.

Sender: chi materialmente effettua l'invio (ad esempio nome della segretaria).

Il body contiene il testo del messaggio, in caratteri ASCII. L'ultima riga contiene solo un punto, che identifica la fine del messaggio. Gli indirizzi di posta elettronica in Internet hanno la forma: username@hostname dove username è una stringa di caratteri che identifica il destinatario, e hostname è un nome DNS oppure un indirizzo IP. Ad esempio, frodo@hobbit.cring.it.

La posta elettronica viene implementata in Internet attraverso la cooperazione di due tipi di sottosistemi:

Mail User Agent (MUA);

Mail Transport Agent (MTA).

Il primo permette all'utente finale di:

• comporre messaggi;

• consegnarli a un MTA per la trasmissione;

• ricevere e leggere messaggi;

• salvarli o eliminarli.

Il secondo si occupa di:

• trasportare i messaggi sulla rete, fino alla consegna a un MTA di destinazione;

• rispondere ai MUA dei vari utenti per consegnare loro la posta arrivata;

• in questa fase l'MTA richiede ad ogni utente una password per consentire l'accesso ai messaggi.

SMTP, POP3 e IMAP

[SMTP è specificato nel RFC 821]

[POP3è specificato nel RFC 1225]

Esiste la definizione di due protocolli per la posta elettronica:

SMTP (Simple Mail Transfer Protocol) per il trasporto dei messaggi: dal MUA di origine ad un MTA; fra vari MTA, da quello di partenza fino a quello di destinazione;

POP3 (Post Office Protocol versione 3) per la consegna di un messaggio da parte di un MTA al MUA di destinazione.

Il Simple Mail Transfer Protocol (SMTP) è probabilmente l'applicativo più importante del TCP/IP. Esso permette di inviare posta elettronica agli utenti della rete.

Ogni utente è identificato dalla sintassi 'Utente@Elaboratore' e non è richiesta alcuna autorizzazione per poter inviare un messaggio di posta elettronica. Il procedimento di invio avviene in batch, riprovando più volte sino a quando l'elaboratore remoto non diventa raggiungibile. L'utente remoto viene avvisato dell'arrivo di un nuovo messaggio.

Recentemente sono stati introdotti altri protocolli più sofisticati, quali IMAP (Interactive Mail Acces Protocol, RFC 1064) e DMSP (Distributed Mail System Protocol, RFC 1056), il cui supporto però non è ancora molto diffuso nel software disponibile agli utenti.

 

SMTP

 

Inoltre, non è detto che il primo MTA consegni i messagi direttamente all'MTA di destinazine. È possibile che le macchine siano configurate in modo da trasferire i messaggi attraverso un certo numero di server SMTP intermedi.

Se un host, tipicamente un PC, non è collegato direttamente ad Internet (ad esempio, nel caso di accesso remoto tramite un Internet provider), esso utilizza un mail server per inviare e ricevere messaggi di posta elettronica. POP3 consente di prelevare i messaggi di posta e memorizzarli sul PC locale, per poi poterli leggere (consultazione off-line). Un protocollo più sofisticato è IMAP (Interactive Mail Access Protocol). Esso, a differenza di POP3, consente all'utente di leggere i messaggi direttamente dal server, senza doverli quindi prelevare e memorizzare sul proprio PC (consultazione on-line).

Infine, vanno citate due significative estensioni di funzionalità della posta elettronica:

• possibilità di inviare messaggi di posta contenenti informazioni di qualunque tipo (per esempio programmi eseguibili, immagini, filmati, suoni, eccetera) attraverso lo standard MIME (Multipurpose Internet Mail Extension, RFC 1341 e 1521);

• possibilità di inviare messaggi corredati di firma digitale o crittografati, attraverso lo standard in via di definizione S/MIME (Secure/MIME, RFC 1847).

 

HTTP

[HTTP 1.0 è specificato nel RFC 1945]

[HTTP 1.1 è specificato nel RFC 2616]

Il protocollo Hypertext Transfer Protocol (HTTP) è la base del World Wide Web (WWW). Un Web client, chiamato comunemente browser, comunica con un Web server usando una o più connessioni TCP. La well-known port per indirizzare sul server il servizio è la 80.

HTTP è il protocollo usato dal client e dal server per lo scambio di messaggi attraverso connessioni TCP. I documenti che il server invia al client possono essere immagini, file di testo o documenti di tipo HTML (HyperText Markup Language).

HTTP è un protocollo semplice: il client stabilisce una connessione TCP con il server sulla porta 80, fa una richiesta e aspetta il documento di risposta, che in genere contiene puntatori (hypertext link) ad altri file; questi possono risiedere sullo stesso server o su altri. Il server indica la fine del documento chiudendo la connessione.

Per poter richiedere un certo servizio da un determinato host della rete, si usa un URL (Uniform Resource Locator). Il formato per URL è:

scheme://hostname[:port]/directory/file

dove scheme individua il tipo di servizio richiesto, hostname è il nome della macchina server; segue la directory di appartenenza e il nome del file.

Esempi di schemi sono:

• http: per un file su Web server (protocollo HTTP);

• ftp: per un file su ftp server (protocollo FTP);

• telnet: per una connessione su un servizio basato su telnet.

Esempi di URL sono:

• http://info.cern.ch/;

• http://www.ietf.org/;

• ftp://ftp.nis.garr.it/.

Quando un client effettua una richiesta invia diverse informazioni:

• il metodo (cioè il comando) che si chiede al server di eseguire;

• il numero di versione del protocollo HTTP in uso;

• l'indicazione dell'oggetto al quale applicare il comando;

• varie altre informazioni, fra cui:

• il tipo di client;

• i tipi di dati che il client può accettare.

I metodi definiti in HTTP sono:

GET: richiesta di ricevere un oggetto dal server;

HEAD: richiesta di ricevere la sola parte head di una pagina HTML;

PUT: richiesta di mandare un oggetto al server;

POST: richiesta di appendere sul server un oggetto a un altro;

DELETE: richiesta di cancellare sul server un oggetto;

LINK e UNLINK: richieste di stabilire o eliminare collegamenti fra oggetti del

server.

In proposito, si noti che il metodo che si usa più frequentemente è GET; POST ha il suo più significativo utilizzo in relazione all'invio di dati tramite form; HEAD si usa quando il client vuole avere delle informazioni per decidere se richiedere o no la pagina; PUT, DELETE, LINK, UNLINK non sono di norma disponibili per un client, tranne che in quei casi in cui l'utente sia abilitato alla configurazione remota (via Web) del server Web.

Ad esempio, supponiamo che nel file HTML visualizzato sul client vi sia un'ancora:

<A HREF="http://pippo.net/pluto/minnie/index.html"> ..... </A>

e che l'utente attivi tale link. A tal punto il client:

• chiede al DNS l'indirizzo IP di pippo.net;

• apre una connessione con pippo.net, porta 80;

• invia la sua richiesta.

Essa è costituita da un insieme di comandi (uno per ogni linea di testo) terminati con una linea vuota:

GET /pluto/minnie/index.html HTTP/1.0: metodo, URL e versione protocollo;

User-agent: Mozilla/3.0: tipo del client;

Host: 160.10.5.43: indirizzo IP del client;

Accept: text/html: client accetta pagine HTML;

Accept: image/gif: client accetta immagini;

Accept: application/octet-stream: client accetta file binari qualunque;

If-modified-since: data e ora: inviare il documento solo se è più recente della data specificata.

La risposta del server è articolata in più parti, poiché il client non può sapere in che modo dovrà gestire le informazioni che gli arriveranno. Si consideri ad esempio il fatto che non si può mostrare sotto forma di testo un'immagine o un file sonoro, e dunque si deve informare il client sulla natura dei dati che gli arriveranno prima di iniziare a spedirglieli.

Per questo motivo la risposta consiste di 3 parti:

• una riga di stato, che indica quale esito ha avuto la richiesta (tutto ok, errore, eccetera);

• delle metainformazioni che descrivono la natura delle informazioni che seguono;

• le informazioni vere e proprie (ossia, l'oggetto richiesto).

La riga di stato, a sua volta, consiste di tre parti:

• Versione del protocollo HTTP;

• Codice numerico di stato;

• Specifica testuale dello stato.

Tipici codici di stato sono:

Esito Codice numerico Specifica testuale

Tutto ok 200 OK

Documento spostato 301 Moved permanently

Richiesta di autenticazione 401 Unauthorized

Richiesta di pagamento 402 Payment required

Accesso vietato 403 Forbidden

Documento non esistente 404 Not found

Errore nel server 500 Server error

SYST server returns system type OK

Dunque, ad esempio, si potrà avere:

HTTP/1.0 200 OK

Le metainformazioni comunicano al client ciò che deve sapere per poter gestire correttamente i dati che riceverà. Sono elencate in linee di testo successive alla riga di stato e terminano con una linea vuota. Tipiche metainformazioni sono:

Server: ... : identifica il tipo di server;

Date: ... : data e ora della risposta;

Content-type: ... : tipo dell'oggetto inviato;

Content-length: ... : numero di byte dell'oggetto inviato;

Content-language: ... : linguaggio delle informazioni;

Last-modified: ... : data e ora di ultima modifica;

Content-encoding: ... : tipo di decodifica per ottenere il content;

Il Content-type si specifica usando lo standard MIME (Multipurpose Internet Mail Exchange), nato originariamente per estendere la funzionalità della posta elettronica.

Un tipo MIME è specificato da una coppia:

MIME type/MIME subtype

Vari tipi MIME sono definiti, e molti altri continuano ad aggiungersi. I più comuni sono:

Type/Subtype Estensione Tipologia delle

informazioni

text/plain .txt, .java testo

text/html .html, .htm pagine HTML

image/gif .gif immagini gif

image/jpeg .jpeg, .jpg immagini jpeg

audio/basic .au suoni

video/mpeg .mpeg filmati

application/octet-stream .class, .cla, .exe programmi eseguibili

application/postscript .ps documenti Postscript

x-world/x-vrml .vrml, .wrl scenari 3D

Il server viene configurato associando alle varie estensioni i corrispondenti tipi MIME. Quando gli viene chiesto un file, deduce dall'estensione e dalla propria configurazione il tipo MIME che deve comunicare al client.

Se la corrispondenza non è nota, si usa quella di default (tipicamente text/html), il che può causare errori in fase di visualizzazione. Anche la configurazione del client (in merito alle applicazioni helper) si fa sulla base dei tipi MIME. Tornando al nostro esempio, una richiesta del client quale:

GET /products/toasters/index.html HTTP/1.0

User-agent: Mozilla/3.0

eccetera

riceverà come risposta dal server (supponendo che non ci siano errori) le metainformazioni, poi una riga vuota e quindi il contenuto del documento (in questo caso una pagina HTML costituita di 6528 byte):

HTTP/1.0 200 OK

Server: NCSA/1.4

Date: Tue, july 4, 1996 19:17:05 GMT

Content-type: text/html

Content-length: 6528

Content-language: en

Last-modified: Mon, july 3, 1996 15:05:35 GMT

________________________________________<----- notare la riga vuota

<HTML>

<HEAD>

...

<TITLE>...</TITLE>

...

</HEAD>

<BODY>

...

</BODY>

</HTML>

Sulla base di quanto detto finora, si possono fare alcune osservazioni:

• il protocollo HTTP è molto semplice, essendo basato su interazioni che prevedono esclusivamente l'invio di una singola richiesta e la ricezione della relativa risposta;

• questa semplicità è insieme un punto di forza e di debolezza:

• di forza perché è facilissimo, attraverso la definizione di nuovi tipi MIME e di corrispondenti funzioni sui client, estendere le tipologie di informazioni gestibili (il server non entra nel merito di ciò che contengono i file: si limita a consegnare i dati che gli vengono richiesti, senza preoccuparsi della loro

semantica);

• di debolezza perché queste estensioni di funzionalità talvolta mal si adattano alla concezione originaria (stateless) del protocollo, come ad esempio è il caso delle transazioni commerciali.

Server software

Principali funzioni dei componenti software di un server di rete

Un server è composto principalmente da un sistema operativo, protocolli e moduli di rete e il supporto di programmi server e servizi.

Il sistema operativo

Le caratteristiche essenziali di un sistema operativo orientato alla gestione di ambienti distribuiti di rete sono la multiprogrammazione e la multiutenza.

Un sistema operativo multiprogrammato è in grado di eseguire più programmi contemporaneamente mediante algoritmi di gestione dei processi. Questa peculiarità è fondamentale per consentire ai client di utilizzare una moltitudine di programmi e servizi residenti sul server. La capacità di gestire più utenti consente una maggiore sicurezza del sistema unita possibilità di regolare permessi di accesso alle risorse.

Protocolli di rete

Il sistema operativo comprende inoltre moduli che implementano i protocolli di rete, possono essere integrati nel kernel oppure essere caricati o installati su richiesta. (Ad esempio moduli del kernel di Linux o l'installazione dei protocolli nella rete per i sistemi Windows).

Programmi server e servizi

Tutte le funzionalità server solitamente sono demandate a programmi specifici, denominati programmi server. Tali programmi vanno configurati e impostati secondo le esigenze della rete in cui operano, occorrono perciò buone conoscenze di base sia del sistema operativo in uso, sia delle reti e dei protocolli di rete utilizzati.

I programmi server installati implementano soltanto il lato server nell'architettura client/server necessaria per il funzionamento del servizio. Di solito, dipendentemente delle risorse del sistema (velocità di calcolo e spazio disco e banda disponibile), si integrano più programmi server sulla stessa macchina, dando luogo a sistemi concentrati di servizi di rete.

 

Confronto tra le funzioni dei principali sistemi operativi di rete

Esistono attualmente disponibili sul mercato o liberamente reperibili su Internet una grande quantità di sistemi operativi con implementazioni e funzionalità orientate alle reti.

Tra i sistemi maggiormente diffusi di tipo open source citiamo GNU/Linux: disponibile in una moltitudine di distribuzioni è implementazione libera e open source del sistema UNIX. La famiglia di sistemi BSD come OpenBSD, NetBSD, FreeBSD sono implementazioni open source derivate da BSD UNIX, la versione di UNIX sviluppata alla Berkeley Univesity.

Tra i sistemi operativi commerciali troviamo implementazioni del sistema UNIX come Digital UNIX (Digital), Tru64 (Compaq), HP-UX (HP), AIX (IBM) e Solaris (Sun). Windows NT/2000 e XP sono implementazioni del sistema Windows prodotto da Microsoft per le reti.

Tuttavia, per la generalità degli argomenti trattati e per la preponderante diffusione in ambienti scolastici presentiamo le configurazioni e le descrizioni dei sistemi operativi: GNU/Linux RedHat e Microsoft Windows 2000. Per le diverse versioni e varianti di questi sistemi operativi e per sistemi simili come struttura e funzionalità rimandiamo alle descrizioni ed ai manuali relativi. Vedremo le loro principali strutture e funzionalità.

 

 

Installazione e configurazione di driver per periferiche di rete

Per quanto riguarda Windows2003, come per tutti i sistemi Microsoft, l'installazione dei driver per le periferiche di rete è abbastanza semplice e occorre semplicemente eseguire il programma di installazione fornito in dotazione con la scheda di rete stessa.

Se non si disponesse del driver relativo o se lo si ritenesse obsoleto di solito si contatta il sito del produttore dell'hardware.

Per quanto riguarda i sistemi Linux è necessario caricare nel kernel l'opportuno modulo contenente il driver. Alcuni kernel hanno già compilato all'interno i principali driver di rete cosicché siano disponibili al momento dell'installazione, in questo caso non occorre fare nulla e all'avvio del sistema sarà disponibile il dispositivo relativo all'hardware installato.

In caso contrario ogni specifico hardware ha un proprio modulo incluso nella distribuzione dei sorgenti del kernel. È bene consultare gli HOW-TO relativi al driver in questione per poter fornire le opzioni specifiche al momento del caricamento.

Dopo aver caricato il modulo opportuno il dispositivo è utilizzabile e pronto per essere configurato.

 

Interfacciamento con la rete - Configurazione di una interfaccia di rete

Il comando generalmente utilizzato negli script di avvio per configurare ed attivare una interfaccia di rete è:

# ifconfig

Non sempre il suo utilizzo è obbligatorio: ad esempio le interfacce di rete associate ai link PPP (ppp0, ppp1, ...) vengono attivate direttamente dal demone pppd che sovrintende alla connessione. Se il comando ifconfig viene usato senza parametri, permette di ottenere lo stato delle diverse interfacce attive sulla macchina:

# ifconfig

eth0 Link encap:Ethernet HWaddr 00:60:97:AC:34:A4

inet addr:193.43.98.1 Bcast:193.43.98.255 Mask:255.255.255.0

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:440578 errors:0 dropped:0 overruns:0 frame:0

TX packets:2363317 errors:0 dropped:0 overruns:0 carrier:0

collisions:503318 txqueuelen:100

Interrupt:12 Base address:0x6400

ppp0 Link encap:Point-to-Point Protocol

inet addr:213.255.24.25 P-t-P:213.255.6.251 Mask:255.255.255.255

UP POINTOPOINT RUNNING NOARP MTU:1500 Metric:1

RX packets:93509 errors:0 dropped:0 overruns:0 frame:0

TX packets:101886 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:30

lo Link encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

UP LOOPBACK RUNNING MTU:3924 Metric:1

RX packets:122056 errors:0 dropped:0 overruns:0 frame:0

TX packets:122056 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

In questo caso nel sistema sono presenti l'interfaccia di loopback (lo), una scheda Ethernet (eth0) ed un collegamento PPP (ppp0). I valori presenti nell'output di ifconfig hanno il seguente significato:

Link encap: il tipo di interfaccia (Ethernet denota che si tratta di una interfaccia Ethernet, mentre Point-to-Point Protocol che si sta utilizzando il PPP).

HWaddr: nel caso di schede Ethernet, contiene l'indirizzo MAC della scheda.

Inet addr: l'indirizzo IP associato alla interfaccia. Nel caso di collegamento punto-a-punto viene indicato anche l'indirizzo presentato all'altro capo della connessione (P-t-P).

Bcast: l'indirizzo di broadcast (ha senso solo nel caso di interfacce col parametro BROADCAST attivo).

Mask: la netmask associata alla interfaccia (nel caso di collegamenti punto-a-punto fra due macchine, essa vale 255.255.255.255).

Flags: le caratteristiche dell'interfaccia e lo stato della stessa. Nell'esempio, l'interfaccia eth0 risulta attualmente attiva (UP RUNNING), collegata ad un medium capace di trasmettere pacchetti IP in broadcast (BROADCAST) ed in multicast (MULTICAST) e con dimensione massima dei pacchetti trasmissibili (MTU) pari a 1500 bytes. Il parametro NOARP nel caso della interfaccia Punto-a-punto indica che su questa interfaccia non viene gestito il protocollo ARP. Il campo Metric viene infine utilizzato per definire la priorità della interfaccia nelle decisioni di routing.

• Statistiche: le ultime linee indicano delle statistiche sui pacchetti (frame) trasmessi e ricevuti e su eventuali errori.

A proposito del campo flags è doveroso fare due brevi richiami:

Le interfacce ethernet, oltre a ricevere i pacchetti IP destinati al proprio indirizzo (unicast), ricevono anche i pacchetti con destinatario l'indirizzo di broadcast della rete.

In questo modo è possibile spedire un pacchetto di dati in modo che venga ricevuto da tutte le macchine presenti su uno stesso segmento di rete.

In aggiunta è possibile configurare l'interfaccia per ricevere anche i pacchetti destinati ad un gruppo chiuso di macchine (MULTICAST). Tale funzionalità viene sfruttata ad esempio per realizzare trasmissioni multimediali verso più utenti senza dover realizzare un collegamento dedicato per ogni macchina.

Il parametro MTU indica la massima dimensione di un pacchetto trasmissibile su una determinata interfaccia. Le interfacce Ethernet hanno in ogni caso un valore di MTU pari a 1500, imposto dall'hardware e derivante dalla dimensione dei frame Ethernet. Eventuali pacchetti di dati di dimensioni maggiori della MTU possono essere comunque trasmessi, ma prima devono essere deframmentati ed in seguito riassemblati (tali operazioni vengono gestite automaticamente dallo stack IP del sistema operativo).

Per configurare manualmente una interfaccia Ethernet si utilizza il comando:

ifconfig eth0 <ip_address> altri_parametri ...

Questo comando assegna un indirizzo IP all'interfaccia e la attiva. Se non vengono esplicitamente specificati dei valori, per gli altri vengono utilizzati dei valori di default.

La netmask e l'indirizzo di broadcast vengono calcolati automaticamente in base alla classe dell'indirizzo. Ad esempio se l'indirizzo appartiene ad una rete di classe C, la netmask viene posta a 255.255.255.0.

Un esempio di configurazione della interfaccia eth0 è il seguente:

ifconfig eth0 192.168.1.2 netmask 255.255.255.0 broadcast 192.168.1.255 up

Per maggiori dettagli e per le altre opzioni utilizzabili nel comando ifconfig si faccia riferimento alla pagina del manuale in linea.

Una volta configurata l'interfaccia è necessario creare un opportuno percorso di  instradamento (route) verso gli indirizzi della rete raggiungibili mediante essa.

Nelle versioni recenti di Linux il kernel crea automaticamente tale route quando si configura l'interfaccia. In caso contrario è possibile farlo a mano mediante il comando route:

route add -net 192.168.1.0 netmask 255.255.255.0 dev eth0

Le nuove versioni di route sono in grado di calcolare automaticamente eventuali valori non specificati e l'interfaccia da utilizzare nel caso non la si indichi nella linea di comando, pertanto si può semplificare il comando precedente in:

route add -net 192.168.1.0

Impartendo a mano i comandi di configurazione appena visti, essi non vengono salvati. Occorre pertanto inserirli all'interno di un file di inizializzazione del sistema. A meno di situazioni particolari, di solito non è necessario usare esplicitamente il comando ifconfig o creare a mano un file di avvio, in quanto la sequenza di operazioni necessarie viene svolta al boot da uno degli script di inizializzazione del sistema (in /etc/rc.d). Nelle distribuzioni moderne di Linux esistono degli strumenti di configurazione che permettono una gestione semplice della configurazione delle interfacce di rete.

Purtroppo i meccanismi usati non sempre sono standard fra le varie distribuzioni di Linux.

 

Interfacciamento con la rete - Indirizzamento con DHCP

In una rete contenente un numero elevato di nodi risulta macchinoso assegnare manualmente gli indirizzi IP a ciascuna macchina. La maggior parte delle distribuzioni di Linux offrono la possibilità di configurare una interfaccia di rete utilizzando i protocolli BOOTP (Boot Protocollo) oppure DHCP (Dynamic Host Configuration Protocol), che consentono di centralizzare l'assegnazione degli indirizzi attraverso l'uso di un apposito server.

Allo scopo viene utilizzato il demone dhcpcd, il quale si occupa di richiedere al server l'indirizzo. Ad esso è associato un periodo di validità (lease), scaduto il quale il demone, che pertanto deve rimanere attivo, si occupa di richiedere un nuovo indirizzo.

Poiché al momento del boot la macchina non dispone ancora di un indirizzo IP, la richiesta al server viene fatta mediante un frame Ethernet spedito in modalità broadcast.

Mediante BOOT o DHCPD è possibile ottenere anche altri tipi di informazioni, ad esempio il nome della macchina o del dominio di appartenenza e gli indirizzi dei server DNS da utilizzare per la risoluzione dei nomi. I dati ottenuti da dhchcp per le diverse interfacce vengono salvati in un file /etc/dhcpc/dhcpcd-<nome_interfaccia>.info.

Quando dhcpcd ottiene dei dati da un server, esso esegue lo script /etc/dhcpc/dhcpcd-eth0.exe, che contiene i comandi necessari a riconfigurare l'interfaccia con il nuovo indirizzo e ad aggiornare il sistema con i valori ricevuti.

Per ulteriori informazioni si faccia riferimento al DHCP Mini HOWTO.

 

Interfacciamento con la rete - IP aliasing

Mediante ifconfig è anche possibile assegnare alla stessa interfaccia fisica più indirizzi IP. Tale funzione è supportata ad esempio nel caso delle schede Ethernet, per le quali è possibile creare delle interfacce logiche denominate ethN: M (ad esempio: eth0:1, eth0:2, ...) con indirizzi diversi.

Questo permette di gestire servizi virtuali che rispondano ad indirizzi diversi sulla stessa macchina. Ad esempio è possibile configurare un server Web in modo che presenti pagine diverse a seconda dell'indirizzo utilizzato per accedervi.

Per configurare un indirizzo IP secondario su una interfaccia Ethernet si utilizza il comando ipconfig con la seguente sintassi:

ifconfig eth0:1 192.168.1.23 netmask 255.255.255.0 up

Se non esiste già, è necessario ricordarsi di creare una route verso l'indirizzo della nuova interfaccia:

route add 192.168.1.23 dev eth0:1

 

Configurare il routing per la gestione dei pacchetti di una rete locale verso Internet

L'operazione di routing consiste nelle decisioni che il kernel deve intraprendere per selezionare l'interfaccia di rete mediante cui inviare un pacchetto IP destinato ad un determinato indirizzo: ad esempio un pacchetto destinato ad una macchina appartenente allo stesso segmento di rete ethernet di una delle interfacce del sistema viene spedito direttamente al destinatario.

Nel caso il destinatario non sia raggiungibile direttamente, il pacchetto di dati può essere dato in consegna ad un router che si occupi del suo inoltro. Questo dispone di una interfaccia sulla stessa rete della macchina e di una interfaccia su un'altra rete. In questo modo, passando per uno o più router, è possibile far giungere il pacchetto IP alla destinazione desiderata. Se nella rete locale non esiste una router attraverso cui è possibile raggiungere la macchina destinataria di un pacchetto, questo viene scartato.

Generalmente viene definito un router a cui spedire tutti i pacchetti non recapitabili attraverso altre strade, che prende anche il nome di default gateway.

Per default, nelle versioni del kernel di Linux superiori alla 2.2, il forwarding di pacchetti IP, ovvero il passaggio per una macchina di pacchetti generati da altre macchine e non diretti ad essa, non è abilitato.

Volendo utilizzare il proprio sistema come un router, il forwarding deve essere attivato in modo esplicito mediante il seguente comando:

echo 1 > /proc/sys/net/ipv4/ip_forward

Si tratta di un esempio significativo di come sia possibile utilizzare il proc filesystem per modificare il funzionamento del kernel a run time. Altri esempi di tuning del kernel sono documentati nel file net/TUNABLE fornito con i sorgenti del kernel di Linux.

Nei sistemi Windows si può abilitare la stessa funzione accedendo a Start ->Impostazioni -> Pannello di controllo -> Strumenti di amministrazione -> Servizi ->Routing e Accesso remoto. Selezionando le Proprietà con il tasto destro del mouse ed abilitando il modo Automatico nella casella Tipo di Avvio.

Per rendere effettive le modifiche apportate, cliccare il pulsante Applica. Nel caso più banale la decisione sull'instradamento viene effettuata semplicemente confrontando l'indirizzo di destinazione del pacchetto con il contenuto di una tabella di routing statico. In reti complesse è possibile utilizzare uno dei protocolli di routine dinamico (RIP, OSPF e BGP4, ...) oppure utilizzare le funzioni di filtraggio di pacchetti interne al kernel, per decidere i percorsi in base a criteri più complessi, come la porta TCP o UDP sorgente o di destinazione, il tipo di protocollo oppure la qualità di servizio desiderata (QoS).

 

Fonte: https://docentinrete.files.wordpress.com/2012/03/dispensa-reti-teoria.doc

Sito web da visitare: https://docentinrete.files.wordpress.com

Autore del testo: non indicato nel documento di origine

Il testo è di proprietà dei rispettivi autori che ringraziamo per l'opportunità che ci danno di far conoscere gratuitamente i loro testi per finalità illustrative e didattiche. Se siete gli autori del testo e siete interessati a richiedere la rimozione del testo o l'inserimento di altre informazioni inviateci un e-mail dopo le opportune verifiche soddisferemo la vostra richiesta nel più breve tempo possibile.

 

Dispensa reti computer

 

 

I riassunti , gli appunti i testi contenuti nel nostro sito sono messi a disposizione gratuitamente con finalità illustrative didattiche, scientifiche, a carattere sociale, civile e culturale a tutti i possibili interessati secondo il concetto del fair use e con l' obiettivo del rispetto della direttiva europea 2001/29/CE e dell' art. 70 della legge 633/1941 sul diritto d'autore

Le informazioni di medicina e salute contenute nel sito sono di natura generale ed a scopo puramente divulgativo e per questo motivo non possono sostituire in alcun caso il consiglio di un medico (ovvero un soggetto abilitato legalmente alla professione).

 

Dispensa reti computer

 

"Ciò che sappiamo è una goccia, ciò che ignoriamo un oceano!" Isaac Newton. Essendo impossibile tenere a mente l'enorme quantità di informazioni, l'importante è sapere dove ritrovare l'informazione quando questa serve. U. Eco

www.riassuntini.com dove ritrovare l'informazione quando questa serve

 

Argomenti

Termini d' uso, cookies e privacy

Contatti

Cerca nel sito

 

 

Dispensa reti computer