Il modem è un dispositivo che permette a un computer di comunicare con un altro computer tramite la linea telefonica.

I modem possono essere:

Interni: Sono costituiti di una sola scheda che trova posto all'interno del computer. Per il collegamento alla linea telefonica necessitano solo di un sottile cavo telefonico. Con un secondo cavo (non obbligatorio) si potrebbe collegare il modem all'apparecchio telefonico. Hanno il vantaggio di non richiedere un eccessivo numero di cavi penzolanti dal tavolo. Hanno una seriale propria che potrebbe provocare conflitti di IRQ.

Un modem e le sue spie


Esterni: L'aspetto esteriore è quello di una piccola scatola, di ingombro variabile (mediamente 15 cm è la dimensione massima), con un piccolo display che contiene varie spie luminose indicanti le modalità di funzionamento. Sono necessari tre cavi di collegamento: il primo lo collega alla linea telefonica, il secondo alla porta seriale del computer e il terzo all'alimentatore. Per il collegamento all'apparecchio telefonico può essere necessario un quarto cavo (opzionale). Di solito i modem esterni sono preferiti da utenti esperti perché offrono i vantaggi di indicare sempre (tramite le spie) il modo di funzionamento e di non dar luogo a conflitti hardware con altri dispositivi. Inoltre, si possono resettare facilmente spegnendoli e riaccendendoli, cosa particolarmente utile quando si bloccano. Hanno un costo di poco superiore (20 o 30 mila lire) a quelli interni.

Schema dei collegamenti

Dal punto di vista delle modalità di funzionamento, i modem seguono dei protocolli unificati. Questi prevedono, fra le altre cose, la velocità di trasmissione in bit per secondo (bps). Due modem, per poter comunicare fra loro devono usare lo stesso protoccollo. I protocolli più diffusi sono:
V21 300 bps sia in trasmissione sia in ricezione; questo protocollo è ormai in disuso.
 
V22 1200 bps sia in ricezione sia in trasmissione.
 
V22bis 2400 bps sia in ricezione sia in trasmissione; è ancora usato nella rete Itapac (come anche il V22).
Tutti i modem in commercio possiedono i suddetti protocolli.
V23 1200 bps in ricezione e 75 bps in trasmissione, o il contrario. È usato quasi solo dal Videotel della Telecom. Non tutti i modem possiedono questo protocollo.
 
V32bis 14400 bps. Corrisponde a una velocità di trasmissione di circa 1600 caratteri al secondo. Questi modem erano il meglio di quanto offriva il mercato fino al 1994.
 
V34 28800-33600 bps (oltre 3000 caratteri al secondo). Fino al gennaio 1998 era il meglio fra i protocolli standard. Questo protocollo richiede l'uso di una seriale bufferizzata (con un buffer di ricezione fornito, ad esempio, dal chip 16550AFN), detta anche seriale intelligente, che viene fornita normalmente con i computer della classe Pentium. I modem interni, che hanno una seriale propria, possiedono già questo chip per le alte velocità. Questo protocollo non va confuso con il V.fast.Class che consente velocità di 28.800 bps, ma non è unificato e non è compatibile con il V34; quindi non permette il collegamento con un altro modem che usa il più diffuso protocollo V34.
 
V90 57600 bps (oltre 7000 caratteri al secondo). È il protocollo più recente (gennaio '98). Da non confondere con il protocollo X2, che è un protocollo non standard della US Robotics, e nemmeno con il 56flex (protocollo non standard della Rockwell) che consentono la stessa velocità. Questa velocità in realtà è puramente teorica, in quanto le linee telefoniche non la consentono. È da considerare già un'ottima prestazione riuscire a effettuare un collegamento alla velocità di circa 48000-52000 bps.
 
Con altri protocolli di trasmissione si possono avere compressione dei dati e correzione degli errori (V42bis e MNP5). La maggior parte dei modem veloci ha la possibilità di trasmettere e ricevere fax, sia alla normale velocità dei comuni fax (9600 bps, class 1), sia alla velocità di 14.400 bps (class 2).



Comandi del modem

Il modem si collega a una porta seriale del computer e viene comandato con un linguaggio particolare: "i comandi AT", così chiamati perchè iniziano sempre con queste due lettere (abbreviazione di "attenzione").

I comandi più importanti sono:
Zn (n = 0-1). Richiama le impostazioni contenute nei due registri interni. Se il numero n viene omesso, viene assunto pari a 0. Il normale comando di inizializzazione del modem è ATZ, seguito da una pausa di un paio di secondi.
 
DnN (n = 'T' oppure 'P') e N è un numero telefonico. Effettua una chiamata al numero N. La chiamata viene effettuata a toni se n è la lettera T, oppure a impulsi se n è la lettera P. Se la n viene omessa, la chiamata viene effettuata in base alla configurazione corrente del modem. Ad esempio: ATDT1234567 compone il numero telefonico 1234567 a toni.
 
Fn (n = 0-?) predispone il modem a un protocollo.
 
En (n = 0-1) con n = 0 elimina l'eco, al contrario con n = 1 l'eco è attivo. Con eco si intende che tutto ciò che viene inviato al modem viene ritrasmesso al computer affinché se ne possa avere traccia sullo schermo.
 
Xn (n = 0-?) controlla diverse variabili. Ad esempio: X3 non controlla il segnale della linea prima di comporre il numero; X4 controlla sia il segnale della linea sia l'eventuale "occupato" (busy) dopo la composizione del numero. Per i modem non omologati in Italia è necessario dare il comando X3 prima della composizione del numero.
 
Hn (n = 0-1) con n = 0 si abbatte la connessione. Al contrario con n = 1
 
Se non viene specificato il valore di n, il modem lo considera = 0.
L'elenco completo dei comandi supportati dal modem può essere controllato solo sul manuale del modem.

La maggior parte dei comandi AT possono essere inviati con lo stesso comando. Ad esempio:

ATF0E0X3DT1234567
Questo comando predispone il modem al riconoscimento automatico del protocollo (F0), elimina l'eco (E0), non controlla il segnale della linea (X3) e chiama a toni il numero 1234567. Il comando ATZ non può essere abbinato ad altri comandi.

Ad esempio, da DOS, se si vuole inizializzare il modem e comporre un numero telefonico si possono usare i seguenti comandi (sfruttando la redirezione):

ECHO ATZ > COM2
ECHO ATD12345678 > COM2
I comandi DOS non consentono una completa gestione del modem. È necessario un programma apposito chiamato "programma di comunicazione". Ce ne sono alcuni molto semplici, come quelli forniti insieme al sistema operativo, e altri molto più complessi e potenti: Telix, Procomm, ZOC.



Caratteristiche di un programma di comunicazione

Un programma di comunicazione permette di collegarsi tramite una normale linea telefonica (linea commutata) a un altro computer, con il quale si possono scambiare dati o programmi.

Il programma si occupa completamente del controllo del modem, lasciando all'utente il solo compito di scegliere il numero da chiamare, fra quelli contenuti in un'apposita lista. Si occupa, inoltre, di controllare i dati provenienti dal computer remoto e di mostrarli all'utente. Tutto ciò che arriva dal computer remoto può essere automaticamente memorizzato in un apposito file (file di log) che può essere controllato con più calma quando il collegamento viene terminato.

Prima della connessione debbono essere impostati anche i parametri di comunicazione della seriale, cioè il numero di bit che compongono un dato (7 o 8), il controllo di parità sul dato trasmesso (un controllo molto semplice sulla correttezza del dato ricevuto) e il numero di bit di stop (0-2, cioè il numero di bit che vengono accodati ai bit di dati). Il parametri da impostare dipendono dalle impostazioni del computer remoto e solitamente sono: 8N1 (8 bit di dati, nessuna parità, 1 bit di stop) oppure 7E1 (7 bit di dati, parità Even cioè dispari, 1 bit di stop).

Il collegamento al computer remoto può essere effettuato manualmente, scrivendo sulla finestra del terminale, ad esempio, i seguenti comandi:

ATZ(invio)
ATDT1234567(invio)
Il collegamento può, inoltre, essere completamente automatizzato anche senza la presenza dell'operatore, tramite appositi programmini (script).

Benché un programma di comunicazione consenta anche il collegamento al computer di un altro utente, magari situato in un'altra città, di solito il collegamento avviene con una banca dati (termine con cui, impropriamente, viene tradotta in italiano la parola inglese "bbs", acronimo di bullettin board system) che mette a disposizione le più disparate informazioni.

Programma di comunicazione

Il collegamento non presenta particolari esigenze quando si devono scambiare dati in formato testo: un eventuale errore di trasmissione può, di solito, essere riconosciuto e corretto da parte dell'utente. Quando invece è necessario scambiare file binari, è importante che non avvenga il pur minimo errore. Un programma in cui anche un solo byte risulti errato non è in grado di funzionare correttamente.

Quando avviene un errore di trasmissione, il computer deve essere in grado di riconoscerlo e richiedere che venga ritrasmessa la parte errata. Per trasmettere i file binari si usano, perciò, alcune procedure particolari, chiamate "protocolli di trasmissione", con cui vengono effettuati i controlli richiesti e la eventuale ritrasmissione delle parti errate.

Di protocolli ce ne sono molti: Kermit, CIS-B, Xmodem, Ymodem, YmodemG, Zmodem. L'Xmodem è un protocollo semplice, nato con i primi PC e che trasmette pacchetti molto piccoli sui quali non effettua un controllo accurato. Lo Zmodem è sicuramente il più evoluto ed è quello che dovrebbe essere sempre usato quando è possibile; fra le sue caratteristiche: il resume del download (un download che non è andato a buon fine viene ripreso dal punto in cui era terminato), il pacchetto di dimensioni variabili, a seconda dello stato della linea. L'YmodemG è il più veloce, ma interrompe il trasferimento del file al primo errore. Utenti esperti iniziano il download con l'YmodemG e, in caso di errore, effettuano il resume con lo Zmodem.

Oltre a mettere a disposizione file binari, una banca dati offre anche molti altri servizi, quali:

caselle postali elettroniche che permettono di scambiare messaggi con altri utenti che si servono della stessa bbs.
aree di discussione sui più svariati argomenti: politica, arte, cinema, letteratura, tecnica, scienza...
chat, cioè dialoghi in diretta con altri utenti collegati nello stesso momento.
annunci.