4.    Le reti

Come premessa a quanto seguirà, vi è in questo primo paragrafo una breve descrizione delle associazioni che si occupano di indicare degli standard nell'informatica, in particolare nel settore dei collegamenti fra computer, e, in termini più generali, delle reti di computer (network).

4.1.          Associazioni per gli standard

4.1.1.               ANSI

ANSI (American National Standards Institute) è una organizzazione su base volontaria fondata nel 1918 che raggruppa più di 1.300 membri, comprese le maggiori compagnie di computer. ANSI ha lo scopo di stabilire standards per l'industria dei computer. Ad esempio, ANSI C è la versione del linguaggio C approvata da un comitato ANSI.

Oltre ai liguaggi di programazione, ANSI stabilisce standards per un ampia fascia di aree tecniche, dalle specifiche elettriche ai protocolli di comunicazione, quali FDDI il maggior insieme di protocolli per trasmettere datai tramite cavi in fibra ottica.

4.1.2.               ISO

ISO (International Organization for Standardization) è un acronimo, ma è anche la parola greca iso (ίσος), che significa uguale. Fondata nel 1946, ISO è una organizzazione internazionale, formata dagli organi nazionali di standardizzazione di oltre 75 paesi. Ad esempio, ANSI è un membro di ISO. ISO ha definito molti importanti standard per computer, il più significativo, e conosciuto, dei quali è OSI (Open Systems Interconnection), che delinea l'architettura per la progettazione delle reti.

4.1.3.               IEEE

IEEE (Institute of Electrical and Electronics Engineers) è una organizzazione di ingegnieri, scienziati, e studenti. IEEE sviluppa standard per le industrie dei computer ed elettronica. Lo standard IEEE 802 per le reti locali è forse il più conosciuto e diffuso standard di questa associazione.

4.1.4.               ITU e CCITT

CCITT (Comité Consultatif International Téléphonique et Télégraphique) è una organizzazione per gli standard di comunicazione. I principali standard sviluppati riguardano i collegamenti per i fax. CCITT è una branca di ITU (International Telecommunication Union) che dal 1947 è una agenzia delle Nazioni Unite.


4.2.          Modelli logici e fisici delle reti

Una rete di computer è un insieme di computer, ed altri dispositivi, collegati fra di loro al fine di condividere delle risorse [1] quali informazioni, stampanti, servizi di fax, collegamenti, posta elettronica, Data Base, ecc….

Si distinguono diverse tipologie di rete, in funzione della dislocazione dei computer appartenenti alla rete:

   ·     LAN (Local Area Network): i computer sono in un'area limitata, di solito un edificio.

   ·     MAN (Metropolitan Area Network): i computer sono in edifici distinti ma in un'area ristretta.

   ·     WAN (Wide Area Network): non ci sono limitazioni geografiche nella dislocazione dei computer.

La distinzione di tipo riflette la tecnologia utilizzata per il collegamento e le velocità (e i costi) di collegamento.

I sistemi in rete sono connessi via cavo o via radiotrasmissione; la connessione via cavo (doppino telefonico, cavo coassiale, fibra ottica),  può essere:

   ·       a bus: ogni computer è collegato ad uno o due computer.

   ·        a stella: tutti i computer sono collegati ad un apparato centrale.

   ·        ad anello

Si definisce protocollo l'insieme di regole e segnali che i computers nella rete utilizzano per comunicare. Uno dei più diffusi protocolli per LAN è Ethernet. Un altro protocollo è  l'IBM token-ring.

Storicamente il tipo di collegamento era legato al modo in cui i dati erano diffusi nella rete, cioè al protocollo di trasmissione,  La tendenza attuale è di utilizzare o la radiotrasmissione o la configurazioni a stella.

I modelli logico organizzativi di una rete sono:

   ·    reti peer-to-peer: ogni postazione può mettere a disposizione alcune delle proprie risorse agli altri computer. E' adatta per reti di modeste dimensioni.

   ·    reti client/server: uno o più computer (server) sono dedicati per fornire servizi ai computer in rete.

   ·    Reti virtuali: sottoreti logicamente chiuse "ritagliate"  da reti pù ampie. Come esempio una rete che unisce gli uffici di una società ovunque siano sul territorio, utilizzando i collegamenti forniti da società di telecomunicazione.

Anche in reti basate su server una postazione può mettere a disposizione alcune delle proprie risorse agli altri computer in rete.

4.2.1.               Internet

E' una rete che connette milioni di computers in tutto il mondo. Internet è senza centro per scelta architetturale. Ogni computer Internet computer, è detto host, ed è independente. Ogni responsabile di un host sceglie quali servizi e quali dati, ed eventualmente sotto quali condizioni, rendere disponibili alla comunità Internet. Questa voluta anarchia funziona molto bene.

4.3.          Protocolli di collegamento

Protocollo è un termine generico che indica l'insieme delle procedure e delle informazioni necessarie affinchè due processi (due programmi, due calcolatori, …) possano scambiarsi dei dati in modo corretto, cioè senza perdita di informazioni e senza  ricevere informazioni errate.

Un esempio di protocollo di scambio di dati é quello fra il calcolatore e la stampante [2] , il " dialogo"  avviene con l'ausilio di una serie di caratteri speciali (v. Figura 3‑1 ):

   ·             La stampante riceve i dati dal calcolatore (un pacchetto), racchiusi fra due caratteri particolare STX (Start TeXt) e ETX (End TeXt). 

   ·             Se i dati sono stati ricevuti correttamente la stampante risponde con il carattere ACK (ACKnowlegment) altrimenti risponde con NACK ( No ACKnowlegment). In questo caso il calcolatore rimanda i dati.

   ·             Se la stampante non ha finito di stampare, informa il calcolatore di sospendere l'invio di dati, tramite il carattere DC3 (Data Control 3); per comunicare la disponibilità a ricevere, invia al calcolatore il carattere DC4 (Data Control 4).

Il protocollo calcolatore – stampante è un semplice protocollo diretto, di tipo punto a punto; in altri casi il protocollo non è diretto, è cioè su un mezzo, rete locale, etere, ecc…, sul quale ci sono più emittenti e riceventi, e il percorso dei dati può avvenire per vie diverse. Il protocollo deve quindi contenere l'indirizzo del mittente e del destinatario e il numero di sequenza del pacchetto.

4.3.1.               OSI il modello dei protocolli di collegamento

OSI (Open System Interconnection), è uno standard ISO che definisce i protocolli di comunicazione fra sistemi. OSI ha individuato, nel trasferimento di dati, 7 livelli di trattamento che questi possono subire nel passaggio dal programma di trasmissione fino al mezzo fisico su cui sono trasportati, in modo figurato si parla di 7 strati che i dati devono attraversare.

Applicazione
(strato 7)

A questo livello agiscono i programmi dell'utlizzatore. Sono stati standardizzati diversi programmi di utilizzo comune quali SMTP  (Simple Mail Transfer Protocol), FTP (File Transfer Protocol), HTTP, (HyperText Transfer Protocol) ecc..

Presentazione
(strato 6)

Questo strato, poco utilizzato, è preposto all'eventuale trascodifica dei dati se questi arrivano da sistemi diversi  (da codifica EBCDIC ad ASCII e viceversa), oppure alla cifratura o decifratura dei dati.

Sessione
(strato 5)

Strato in pratica poco utilizzato, il suo scopo è di coordinare il dialogo fra le applicazioni

Trasporto
(strato 4)

E' lo strato che assicura il trasporto affidabile dei dati

Network
(strato 3)

Lo strato provvede l'inoltro dei pacchetti di dati verso la loro destinazione.

Data Link
(strato 2)

Gestisce gli errori dello strato fisico sottostante. Raggruppa i bit in insiemi (frame), aggiungendo bit di testa, di coda e bit di controllo (checksum). Se il checksum non è corretto, il ricevente richiede il rinvio. E' suddiviso in due sottostrati: LLC (Logical Link Contro) dedicato al controllo del flusso dei dati e MAC (Medium Access Control) che controlla l'accesso concorrente al mezzo trasmissivo, da parte delle stazioni in rete.

Fisico
(strato 1)

Questo strato trasporta il flusso di informazioni come segnale elettrico, onda di luce o segnale radio attraverso verso i sistemi di ricezione, quindi trasforma ed invia con una certa velocità, i bit, in funzione del mezzo di trasporto. Esempi di protocolli che contengono questo livello sono: Fast Ethernet, RS232 , X21, e ATM.

Tabella 4‑1

Lo standard OSI ha visto la luce in una realtà in cui già esistevano dei collegamenti; c'e' stata una generica adesione al modello OSI da parte dei produttori, ma, a parte i protocolli del settimo strato, X.400 e X.500 (posta elettronica e indirizzario), OSI non ha avuto un riscontro in prodotti effettivi; tuttavia i sistemi di comunicazione reali aderiscono parzialmente al modello OSI nel senso che mancano certi strati, in genere il quinto ed il sesto, e altri sono accorpati; resta comunque intatta l'importanza teorica e didattica dello standard.

Nella tabella sottostante OSI è confrontato con l'insieme dei protocolli INTERNET

PROTOCOLLO OSI

INTERNET SUITE

Applicazione
(strato 7)

Applicazione

Presentazione
(strato 6)

 

Sessione
(strato 5)

 

Trasporto
(strato 4)

Trasporto

Network
(strato 3)

Internet

Data Link
(strato 2)

Host-to-network

Fisico
(strato 1)

Tabella 4‑2

4.3.2.               HTML e XML

HTML (HyperText Markup Language), nonostante il nome non è un linguaggio, ma un modo di fornire indicazioni su come presentare un documento ipertestuale, cioè un documento che può essere scorso sequenzialmente, ma anche seguendo dei percorsi particolari. I comandi HTML (tag) sono generalmente accoppiati, in quanto racchiudono una parte di documento di cui forniscono indicazioni stilistiche, ed hanno la forma: <comando> e </comando>. Un documento HTML, o come più correntemente si dice una pagina HTML ha la seguente struttura:

<HTML>
    <HEAD>
      <TITLE>
        Titolo della pagina
      </TITLE>
    </HEAD>
    <BODY  eventuali opzioni per colore di fondo o immagine di fondo>
      Testo, immagini, form
      <B>grassetto</B>
      <I>italico</I>
      <CENTER>CENTRATO</CENTER>
      <P>Inizio paragrafo (a capo)
    </BODY>
</HTML>

Alcuni elementi stilistici sono esposti nella struttura.

Nella pagina si possono inserire anche tabelle, immagini e collegamenti o link.I link sono individuati dat tag <A> (Anchor):

<A>HREF=collegamento</A>

collegamento può essere o un un URL  (Uniform Resource Locator), cioè un  indirizzo Internet, o un riferimento interno al documento; in questo caso nel punto riferito si trova il tag <A>:

<A>NAME=collegamento</A>

L'interazione con l'utilizzatore, anzi il navigatore, si ottiene con il tag <FORM>. All'interno del tag si possono inserire i tag <INPUT>, in cui il sottoparametro TYPE indica quale oggetto inserire: TEXT, RADIO, SUBMIT; o <SELECT> per inserire liste da cui scegliere. Esempio:

...
<FORM METHOD=POST>
    <SELECT>
      <OPTION>COBOL</OPTION>
      <OPTION>BASIC></OPTION>
      <OPTION>FORTRAN></OPTION>
    </SELECT>
    <INPUT TYPE=SUBMIT>
</FORM>
...

XML (eXtended Markup Language) è una estensione di HTML, ed ha lo scopo di permettere lo scambio di documenti fra organizzazioni diverse, per superare le differenze dei sistemi informativi: ad esempio l'azienda A invia una pagina XML con un ordine di acquisto all'azienda B, che risponde con una pagina XML con la bolla e la fattura. Qui di seguito un esempio di XML.

<?xml version=”1.0”?>
<company name=”Condor Informatque”>
    <employees>
        <employee id=”1”>Jean Valjean</employee>
        <employee id=”2”>Joe Condor</employee>
    </employees>
</company>
 
 
 [1]  In una rete di computer   vi sono in genere anche altri dispositivi quali stampanti, apparati per connettere altre reti, ecc...

 [2]  Si può anche utilizzare un protocollo di tipo fisico, basato su segnali elettrici. I primi collegamenti  avvenivano tramite

cavi con 25 fili, di cui due per i dati ed i restanti con varie funzioni di protocollo (protocollo seriale).  Il protocollo

 parallelo usa la stessa caveria, ma trasferisce un carattere alla volta, con notevole aumento della velocità di trasferimento.