Date: 01 Apr 00 14:53:00 GMT
From: [email protected]
To: tutti@ita
Subject: xNOS/TCPIP e reti

Path: IK5MEP!IK5CKL!IW5BFZ!IK2QCA!IK1MAP!I1YLM!IK1ZNW!IT9LCP!IW9CNZ!IW8PHV

From: [email protected]
To : TUTTI@ITA

Ciao a tutti,

ho cercato di mettere insieme una serie di concetti e di
definizioni che forniscono una base di partenza per futuri
sviluppi della nostra rete 'radioamatoriale'. Ogni concetto viene
presentato usando un linguaggio (spero) elementare e nella quasi
totalità degli elementi vengono forniti i riferimenti alle
specifiche ufficiali nelle quali i singoli argomenti sono trattati
in modo estremamente rigoroso e quindi utili per un eventuale
ulteriore approfondimento. Data l'attualità della materia, il
seguente scritto potrà essere utile ai nostri ragazzi (o a quelli
di vicini e conoscenti) che hanno intrapreso o stiano per
intraprendere lo studio delle reti di comunicazione: siate
quindi generosi e stampatene una copia per loro, li farete felici.
In quanto a noi OM i giochi sono aperti anche in questo campo:
sono disponibile per qualsiasi iniziativa di studio od
implementazione inerente alla materia.
73
--Gus i0ojj

------------------------------cut here-------------------------------

1. xNOS - Concetti di riferimento per l'utente.

1.1 Prefazione


Se state per utilizzare xNOS in radio, è necessario un TNC
esterno che supporti il modo KISS. Altrimenti, andrà bene un modem
(interno o esterno). Se si vuole usare con una scheda Ethernet o
altri dispositivi non standard, cosi come: G8BPQ, The-Node, il
protocollo KISS, si possono usare i drivers packet della FTP
Software forniti per vari tipi di hardware. A proposito del KISS
implementato sui TNCs: quelli della AEA (pk-87,88,232) hanno una
implementazione difettosa del protocollo KISS, e qualche volta si
inceppano e devono essere azzerati manualmente. In aggiunta essi
non possono produrre pacchetti 'Unnumbered Information' (UI) che
contengono pi 256 bytes di dati. Perciò se siete in possesso di
un AEA, è necessario mantenere il parametro MTU sotto 256 (come
spiegato più avanti). I TNCs della Kantronics possono gestire fino
a 1024 bytes, mentre il TNC2 sembra non avere limiti e mostra
un'eccellente capacit nelle operazioni in modo KISS.


1.2 Requisiti Utente


Data la complessità di questo programma ed il grande numero di
funzioni che esso può eseguire,è necessario che l'utente abbia
una certa familiarità con i protocolli Internet. Per l'uso in
packet radio,è anche necessario che l'utente abbia qualche
conoscenza base del livello link (2 OSI) del protocollo AX.25,
della rete NET/ROM e dei protocolli di trasferimento. Per una
descrizione dettagliata dell'AX.25, si potrà fare riferimento al
manuale ARRL; per NET/ROM si legga il manuale di riferimento
dell'utente per capire il significato dei vari parametri.
Nell'appendice (spero di prossima elaborazione) verrà data una
descrizione delle operazioni TCP/IP sulle reti NET/ROM. E' anche
necessario che all'utente siano familiari i concetti base del
sistema operativo MS-DOS, come la struttura dei direttori e le
variabili di ambiente. Lungo tutta questa sintesi, questi concetti
vengono dati per scontati e non veranno discussi oltre.


1.3. TCP/IP

Ambiente e protocolli Internet

Questo scritto vuole fornire alcune conoscenze di base
sull'ambiente Internet ed uno sguardo allo schema di
indirizzamento così come viene descritto dettagliatamente negli
RFCs (Internet Requests for Comments).


1.3.1. Termini Internet

Può essere utile familiarizzare con i seguenti termini Internet
via via che vengono usati in questo documento.

Cliente (client)
Un computer o un processo che accede ai dati, servizi, o risorse
di un altro computer o processo sulla rete.

Host
Un computer che è collegato alla rete Internet e che può
comunicare con altri hosts Internet. L'host locale per un
particolare utente è il computer sul quale stà lavorando.
Un host remoto (o straniero) è qualsiasi altro host sulla rete.
Dal punto di vista della rete di comunicazione, gli hosts sono
'sorgente' e 'destinazione' di pacchetti. Un qualsiasi host può
essere un cliente, un servitore, o entrambi. Su di una rete
Internet, un host viene identificato dal suo nome ed indirizzo.

Rete (Network)
La combinazione di due o più hosts ed i collegamenti in atto tra
loro. Una rete fisica è l'hardware che costituisce la rete. Una
rete logica è l'organizzazione astratta sovrapposta su tutta o
parte di una o più reti. La rete Internet è un esempio di rete
logica.

Pacchetto (Packet)
Il blocco costituito dall'informazione di controllo ed i dati
per una transazione tra un host e la sua rete. I pacchetti sono il
mezzo di scambio usato dai processi per inviare e ricevere dati
attraverso le reti Internet. Essi vengono inviati da una sorgente
ad una destinazione.

Porta (socket)
Un punto di connessione logica per un processo. I dati vengono
trasmessi tra i processi attraverso le porte o sockets. Ogni porta
fornisce code di dati per l'invio e la ricezione degli stessi.
Inoltre ognuno ha un numero proprio Internet basato a seconda di
come viene impiegato. Una porta particolare viene identificata con
un indirizzo di socket (porta) Internet, che è la combinazione
di indirizzo di host Internet ed un numero di porta.

Processo
Un programma che stà girando. Un processo è l'elemento attivo di
un computer. Terminali, files ed altri dispositivi di
Input/Output comunicano l'un l'altro attraverso processi. In
questo modo la comunicazione di rete diviene una comunicazione
interprocesso, cioè comunicazione tra processi.

Protocollo
Un insieme di regole per la gestione di comunicazioni ai livelli
fisici e logici. I protocolli spesso usano altri protocolli per
fornire servizi. Per esempio, un protocollo del livello
connessione (liv. 2 OSI) usa un protocollo del livello trasporto
(liv. 4 OSI) per trasportare pacchetti che mantengano una
connessione tra due hosts.

Servitore (server)
Un computer o processo che fornisce dati, servizi o risorse che
possono essere raggiunte da altri computers o processi sulla rete.


RFC
Protocolli ufficiali di Internet.


1.3.2. L'ambiente Internet

L'ambiente Internet consiste di hosts organizzati in reti
logiche che usano la tecnologia della commutazione a pacchetto
(cioè i dati vengono trasferiti in pacchetti). Questi hosts
vengono connessi a reti fisiche che possono o non usare la
tecnologia della commutazione di pacchetto. Le reti logiche, a
turno possono essere interconnesse attraverso host-gateways.
Quindi i pacchetti possono essere instradati tra hosts che sono su
differenti reti attraverso uno o più host-gateways. Ad ogni host
Internet viene assegnato almeno un host-name Internet che viene
usato quando si immettono comandi. Questi hosts possono o non
essere assegnati ad un dominio. Un dominio è costituito di un
gruppo di hosts, o sottodominio, sotto la stessa autorità
amministrativa. Ai domini vengono assegnati nomi simbolici. I nomi
di hosts devono essere unici entro un dominio. Se non vengono
usati domini, i nomi di hosts devono essere unici entro la rete
locale. Ad ogni host Internet viene anche assegnato almeno un
indirizzo unico. Questo indirizzo di 32 bit viene usato da IP
(Internet Protocol) e dai protocolli di livelli più alti. Nel caso
di hosts-gateway, può essere assegnato più di un indirizzo, quindi
ogni interfaccia sulla rete Internet avrà un indirizzo unico
proprio. I pacchetti vengono instradati tra hosts usando gli
indirizzi Internet di altri hosts coinvolti nel trasporto dei
pacchetti. Gli indirizzi Internet sono costituiti da un numero di
rete ed un indirizzo locale. Un unico numero ufficiale viene
assegnato ad ogni rete locale quando si connette ad altre reti
Internet. Comunque, se non c'è intenzione di collegare una rete
locale ad altre reti Internet, può essere assegnato qualsiasi
numero che sia conveniente per l'uso locale. Idealmente, tutti gli
hosts che sono sulla stessa rete, per scambiarsi pacchetti
direttamente dovrebbero aver lo stesso numero di rete. Comunque,
hosts su differenti reti fisiche possono anche avere lo stesso
numero di rete. In questo caso, parte dell'indirizzo locale può
essere usato localmente come numero di sottorete ed a tutti gli
hosts che si affacciano sulla stessa rete fisica viene dato lo
stesso numero di sottorete. Una 'route' (rotta) definisce un
tragitto per l'invio di pacchetti attraverso la rete Internet
verso un indirizzo su un'altra rete. Una rotta non definisce
l'indirizzo completo, ma solo il segmento d'indirizzo da un host
ad un host-gateway che possa inoltrare pacchetti verso una data
destinazione. L'host processa pacchetti in partenza ed in arrivo
per la rete. I processi agli strati software (livelli OSI) più
alti generalmente inviano dati ad una procedura del protocollo o
ad un processo. Il protocollo fa a blocchi questi dati (e
possibilmente li frammenta in blocchi più piccoli di quelli
ricevuti) ed aggiunge una testata, che contiene l'informazione di
controllo del protocollo per il blocco di dati. Questo può allora
inviare il pacchetto ad un protocollo di livello più basso, che
aggiunge la propria testata (e può ulteriormente frammentare i
dati). Questa combinazione di una testata ed un blocco di dati è
un 'pacchetto'. Da notare che un pacchetto per un protocollo di
livello più alto può diventare un blocco di dati per un protocollo
di livello più basso. Eventualmente, i pacchetti vengono inviati a
processi IP, che li trasmettono attraverso la rete fisica verso un
host in connessione. Questi pacchetti possono passare attraverso
parecchi hosts-gateway prima che raggiungano il processo IP
sull'host di destinazione. Alla destinazione, viene rimossa la
testata del pacchetto, ed i dati di questo (possibilmente
riassemblato in pacchetti più grandi) vengono inviati al
protocollo o processo appropriato. Vari protocolli supportano la
comunicazione tra processi, fornendo un flusso di dati in uno o
due sensi sulla connessione logica tra processi su hosts
differenti. Un processo in ambiente Internet può avere connessioni
logiche con parecchi altri processi e, se necessario, può trattare
ognuno dei processi connessi indipendentemente. Ogni connessione
logica nell'ambiente Internet viene assegnata ad una porta o
socket ad un capo della connessione ed una all'altro capo. Un
processo può avere una porta in uso per tutte le connessioni, o
può avere un numero di porte, ciascuna assegnata ad una sola
connessione. Per tenere traccia di queste, ogni porta Internet su
di un host ha un numero Internet che è unico per quell'host. Una
porta particolare su di uno specifico host viene identificata con
un indirizzo di socket Internet, il quale è la combinazione
dell'indirizzo Internet e del numero di porta. Poichè ogni
indirizzo Internet è unico ed ogni porta attiva su di un host ha
il suo numero unico, ogni indirizzo socket è unico. Questo
significa anche che ogni connessione tra porte Internet è
identificata in modo inequivocabile poichè entrambi i capi della
connessione logica a loro volta vengono identificati in modo
unico. Mentre IP è responsabile del trasporto individuale dei
pacchetti a livello di rete (liv. 3 OSI), i protocolli al livello
trasporto (liv. 4 OSI), creano e mantengono queste connessioni tra
porte Internet. Si possono avere due tipi di connessioni logiche
tra hosts: connessioni 'datagrammi' e 'stream'. Il primo di
questi, cioè la connessione datagrammi, è supportata dal
Protocollo Datagrammi Utente (UDP) ed è orientata alla transazione
(cioè, ogni pacchetto viene inviato come transazione o messaggio
individuale). Poichè UDP è stato progettato per essere un
protocollo molto semplice e veloce, esso non assicura una consegna
dei pacchetti affidabile. Qualsiasi affidabilità deve essere
affidata ai protocolli di livello più alto. Per esempio, il
Protocollo di Trasferimento File Triviale (TFTP) * utilizza UDP
per i trasferimenti e fornisce un certo grado di affidabilità
richiedendo messaggi di conferma per ogni blocco di dati inviati a
destinazione. Il secondo tipo di connessione logica, connessione
stream, viene supportata dal Protocollo di Controllo della
Trasmissione (TCP) e consente ad un messaggio di abbracciare più
di un pacchetto. Questo protocollo consente un flusso di dati
asincrono tra hosts con il pieno controllo di questo flusso fino a
destinazione, assicurando nel contempo che i dati vengano
consegnati correttamente, in sequenza, e completamente. Comunque,
questa affidabilità viene acquisita al prezzo di un maggiore
lavoro del protocollo stesso (overhead).


1.3.3. Protocolli


-Internet Protocol (IP) - Protocollo Internet
-Address Resolution Protocol (ARP) - Risoluzione degli indirizzi
-Internet Control Message Protocol (ICMP) - Messaggi di control-
lo

Protocolli al livello Trasporto (liv. 4 OSI) Internet:

-User Datagram Protocol (UDP) - Datagrammi utente
-Trasmission Control Protocol (TCP) - Controllo della trasmis-
sione

Protolli al livello Applicazione (dal liv. 5 OSI in sù):

-Domain Name Protocol (DOMAIN) - Nomi di Dominio
-Host Name Server Protocol (NAMESERVER) - Servitore di nomi di
hosts
-Telnet Protocol (TELNET) - Tastiera-tastiera
-Trivial File Transfer Protocol (TFTP) - Trasferimento di files
triviale (semplice) *
-File Transfer Protocol (FTP) - Trasferimento di files
-Network File System (NFS) - File system di rete *
-Remote Procedure Call (RPC) - Procedure di chiamate remote *
-Post Office Protocol (POP3) - Ufficio postale
-Simple Mail Transfer Protocol (SMTP) - Trasferimento posta e-
lettronica
-Time Protocol (TIME) - Tempo *
-Quote of the Day Protocol (QUOTE) - Analisi e prove rete *
-Finger Protocol (FINGER) - Informazione utente
-Whois Protocol (NICNAME) - Informazione utenti nel sistema *
-Remote Printing Protocol - Stampa remota *
-Remote Command Execution Protocol - Esecuzione remota di coman-
di *
-Routing Information Protocol (RIP) - Informazione sugli instra-
damenti di rete
-External Data Representation (XDR) - Rappresentazione di dati
esterni *

(*) Da notare che i protocolli appena introdotti che sono
accompagnati da un asterisco, non sono generalmente implementati
nelle versioni xNOS proprio perchè il NOS è orientato
principalmente per operare in 'packet radio'.

Internet Protocol (IP).
IP viene usato dai protocolli dello strato (livello) Trasporto
(liv.4 OSI) come meccanismo base per l'invio di pacchetti da un
host ad un altro. IP usa i protocolli della rete locale (Local
Area Network), della rete geografica (Wide Area Network), e quello
delle linee seriali (noto anche come SLIP o datagrammi IP) per
trasportare pacchetti al più vicino gateway od host destinazione.
Gli hosts sorgente e destinazione vengono identificati da
indirizzi di 32 bit. IP provvede all'indirizzamento universale
degli hosts attraverso la rete Internet.
IP non fornisce i mezzi per una comunicazione affidabile perchè
esso non richiede conferme (acknowledgements) di avvenuta consegna
dei datagrammi da entrambi l'host che invia, l'host ricevente, o
l'host intermediario. IP non provvede nemmeno al controllo degli
errori per i dati e non attua la ritrasmissione o il controllo del
flusso (di dati). I protocolli dei livelli più alti devono
implementare le proprie procedure di affidabilità se richiedono
una comunicazione affidabile. IP effettua la frammentazione ed al
riassemblaggio di grossi pacchetti, quando necessario.
Per ulteriori informazioni riguardanti IP, vedere RFC 791,
Internet Protocol, DARPA Internet Program protocol specification.

Address Resolution Protocol (ARP).

Il Protocollo di Risoluzione degli Indirizzi (ARP) dinamicamente
prende nota degli indirizzi Internet (logici) e degli indirizzi
(hardware) fisici sulle reti locali (nel caso di una stazione
packet l'indirizzo fisico è il nominativo della stazione, per una
scheda rete Ethernet l'indirizzo fisico è il numero che installate
con i commutatori a levetta o a ponticelli, per un modem
potrebbe essere il numero telefonico, etc.). Ovvero ARP mette
insieme e distribuisce le informazioni di cui ha preso nota su di
una tabella (tabella ARP) per tradurre gli indirizzi Internet in
indirizzi per i vari adattatori di comunicazione.
ARP non è direttamente utilizzato dall'utente. Quando
un'applicazione invia un pacchetto Internet su una interfaccia, il
sistema richiede l'appropriato indirizzo ad ARP che a sua volta
consulta la tabella; se l'informazione richiesta non è disponibile
(cioè non presente nella mappa) viene inviato un pacchetto ARP che
vedranno tutte le stazioni (broadcast) sull'interfaccia richiesta
verso l'host sulla rete locale.
Quando un host che supporta ARP riceve un pacchetto di richiesta
ARP, l'host prende nota degli indirizzi IP e fisici del sistema
richiedente, e se necessario registra l'informazione nella propria
tabella. Se l'indirizzo IP dell'host ricevente non corrisponde
all'indirizzo richiesto, l'host scarta il pacchetto di richiesta.
Se l'indirizzo IP corrisponde, l'host che lo riceve invia un
pacchetto di risposta al sistema richiedente. Quest'ultimo
registra (in tabella) la nuova indicazione e trasmette tutti i
pacchetti Internet pendenti.
Per ulteriori informazioni su ARP, si veda RFC 826, Un
Protocollo per la risoluzione degli indirizzi Ethernet.

Internet Control Message Protocol (ICMP).

Il Protocollo Internet dei Messaggi di Controllo (ICMP) viene
usato quando un gateway o host di destinazione ha neccessità di
comunicare con l'host sorgente. ICMP è il meccanismo usato per
ottenere un riscontro su i problemi nell'ambiente di
comunicazione. L'uso di ICMP non garantisce che un pacchetto IP
venga consegnato in modo affidabile o che un messaggio ICMP sarà
consegnato all'host sorgente quando un pacchetto IP non è arrivato
in maniera corretta. ICMP usa il supporto base di IP come se fosse
un protocollo di livello più alto sebbene esso sia effettivamente
parte integrate di IP stesso.
Per ulteriori informazioni riguardanti ICMP vedi RFC 792,
Internet Control Message Protocol, DARPA Internet Program Protocol
specification.

User Datagram Protocol (UDP).

Il Protocollo per Datagramma Utente (UDP) fornisce una procedura
per programmi al livello di applicazione (liv. 5 OSI) per l'invio
di messaggi ad altri programmi con un'interazione minima del
protocollo. Come IP, UDP è orientato alla transazione e non offre
garanzie della consegna del datagramma o copia di protezione. UDP
in aggiunta ha la capacità di specificare i numeri di porta
sorgente e destinazione.
Per ulteriori informazioni circa UDP, vedasi RFC 768, User
Datagram Protocol.

Trasmission Control Protocol (TCP).

Il Protocollo di Controllo di Trasmissione (TCP) fornisce un
modo di comunicazione affidabile a flusso tra hosts Internet. TCP
è stato progettato per garantire che i dati non vengano
danneggiati, persi, duplicati, o consegnati in disordine al
processo ricevente. Il processo ricevente ha anche il controllo
sulla velocità alla quale esso riceve i dati.
Per ulteriori informazioni circa TCP, si veda RFC 793,
Transmission Control Protocol, DARPA Internet Program Protocol
Specification.

Domain Name Protocol (DOMAIN).

Il Protocollo Nomi di Dominio (DOMAIN) permette ad uno o più
hosts di agire come server dei nomi per altri hosts entro
un'autorità amministrativa. Domain consente alla rete locale di
assegnare nomi di hosts nella loro autorità amministrativa
indipendentemente dai nomi presenti nelle altre. Questa
caratteristica rende Domain il protocollo di risoluzione dei nomi
Internet preferito. Domain può utilizzare entrambi TCP o UDP come
protocollo di livello trasporto sottostante.
Per ulteriori informazioni circa Domain, si veda RFC 1035,
Domain Names, implementazione e specifica.

Host Name Server Protocol (NAMESERVER).

Il Protocollo NAMESERVER consente ad un host di agire come
server dei nomi per altri hosts entro la sua rete. Nameserver
richiede che UDP sia il protocollo del livello trasporto
sottostante. Esso richiede anche che tutti i nomi di hosts
ufficiali nella rete Internet siano unici ed immagazzinati in un
singolo database. A causa di questa restrizione, Domain viene
preferito come protocollo di risoluzione dei nomi nella comunità
Internet.
Per ulteriori informazioni circa NAMESERVER, si veda IEN 116,
In- ternet Name Server.

Telnet Protocol (TELNET).

Il Protocollo Telnet fornisce un metodo standard per
interfacciare dispositivi terminali e processi orientati a
terminale l'un l'altro. Esso fornisce una generale capacità
bidirezionale di comunicazione di bytes da 8 bit. Telnet presume
che TCP sia il protocollo sottostante, ed è in grado di attuare
comunicazioni full-duplex (correntemente bidirezionali) ed invia
dati sia con caratteri 7 bit NETASCII e sia come 8 bit di dati
binari.
Telnet viene comunemente usato dai programmi di emulazione di
terminale che consentono di accedere ad un host remoto. Comunque
esso è stato progettato per comunicazioni terminale-terminale
(linking) e processo-processo (calcolo distribuito). Telnet viene
anche usato da altri protocolli, per esempio FTP lo utilizza
quando stabilisce una connessione di controllo.
Per ulteriori informazioni, si veda RFC 854, Telnet Protocol
Specification.

Trivial File Transfer Protocol (TFTP). *

Il Protocollo di Trasferimento di Files Triviale (TFTP) è un
semplice protocollo come dichiara il suo stesso nome. Esso è
sprovvisto della maggior parte delle caratteristiche di sicurezza
di FTP nel fatto che non è fornito di autenticazione di utente
(parola chiave, password). TFTP è stato progettato solo per
leggere e scrivere files (o posta) da e verso un server remoto;
esso non ha capacità di cambiare direttori (directory).
Per ulteriori informazioni circa TFTP, si veda RFC 783, Il
protocollo TFTP.

File Transfer Protocol (FTP).

Il Protocollo di Trasferimento Files (FTP) è stato progettato
per trasferire dati tra hosts non simili. Esso usa TCP come
protocollo del livello trasporto sottostante ed apre due
connessioni di cui una di controllo ed una dati, tra l'utente ed
il server FTP. La connessione di controllo usa il protocollo
Telnet per passare comandi e rispondere, mentre la connessione
dati trasferisce appunto dati in entrambi i formati: 7 bit
NETASCII o 8 bit binari.
FTP consente alcune operazioni come: fare la lista, cambiare,
creare, rimuovere direttori remoti, e trasferire files multipli in
una singola richiesta. FTP provvede alla sicurezza richiedendo
informazioni dall'utente con relativo account agli hosts
forestieri.
Per ulteriori informazioni circa FTP, si veda RFC 959, File
Transfer Protocol.

Network File System (NFS). *

Il Protocollo "File System" di Rete (NFS), che viene proposto da
Sun Microsystems, Inc., fornisce un accesso remoto trasparente per
condividere file-system (struttura di files e direttori che viene
attaccata logicamente ad un indirizzario utente, di solito
utilizzata in sistemi multiprocesso e multiutente come Unix/Xenix)
attraverso la rete. Con NFS, un computer può operare su files che
risiedono su diversi servers ed architetture di questi attraverso
una varietà di sistemi operativi. Le chiamate al file locale
vengono convertite in richieste del protocollo NFS, e vengono
inviate al sistema server sulla rete. Quest'ultimo riceve la
richiesta, attua l'operazione reale sul file-system, ed invia
indietro una risposta al cliente.
NFS opera in uno stile trasparente che usa chiamate a procedure
remote (RPC) costruite in cima alle strutture di XDR
(rappresentazione di dati esterni). Il protocollo RPC fornisce i
parametri di versione ed autenticazione da scambiare per la
sicurezza sulla rete.
Per ulteriori informazioni su NFS si veda RFC 1094, NFS: Network
File Sytem Protocol Specification.

Remote Procedure Call (RPC4). *

Il Protocollo di Procedura a Chiamate Remote (RPC) che viene
proposto dalla Sun Microsystems, Inc., viene usato da NFS e
fornisce una interfaccia orientata alle procedure per servizi su
host remoto.
Per ulteriori informazioni circa RPC, si veda RFC 1057, RPC :
Remote Procedure Call Protocol Specification Version 2.

Post Office Protocol Version 3 (POP3).

Il Protocollo Ufficio Postale versione 3 consente ad una
macchina locale di accedere a posta elettronica su di un server
mailbox remoto. POP3 richiede un protocollo di livello trasporto
(liv. 4 OSI) che provveda ad un flusso di dati affidabile come
TCP.
Per ulteriori informazioni circa POP3, si veda RFC 1939, RPC :
Post Office Protocol Version 3 (POP3).

Simple Mail Transfer Protocol (SMTP).

Il Semplice Protocollo di Trasferimento di Posta (SMTP) viene
usato per consegnare posta elettronica da una macchina locale ad
un server mailbox. Il formato della posta stessa viene definito in
RFC 822," Standard del formato dei messaggi di testo della rete
Internet ARPA. Entro la comunità Internet, SMTP richiede TCP come
protocollo del livello trasporto.
Per ulteriori informazioni circa SMTP, si veda RFC 821, Simple
Mail Transfer Protocol.

Time Protocol (TIME). *

Il Protocollo Tempo (TIME) fornisce, indipendentemente dal
luogo, la data ed il tempo leggibile presso la macchina collegata.
Esso può usare entrambi UDP e TCP come protocollo del livello
trasporto sottostante. Il server del tempo invia al cliente il
numero di secondi dalle 24,00 del primo gennaio dell'anno 1900
UTC.
Per ulteriori informazioni circa TIME, si veda RFC 868, Time
Protocol.

Quote of the Day Protocol (QUOTE). *

Il Protocollo Quote of the Day viene usato per fare osservazioni
(debug) su una rete. Un pacchetto inviato al server Quote, risulta
di ritorno in un breve messaggio. Tutti i dati inviati nel
pacchetto al server Quote vengono scartati ed inutilizzati. Questo
protocollo può essere implementato usando entrambi UDP o TCP al
livello trasporto sottostante. Non c'è una sintassi specifica
per il messaggio di ritorno. L' RFC raccomanda che sia limitato ai
caratteri ASCII stampabili, carriage return, spazio, e linefeed
e che la lunghezza sia inferiore a 512 caratteri.
Per ulteriori informazioni circa QUOTE, si veda RFC 865, Quote
of the Day Protocol.

Finger Protocol (FINGER).

Il Protocollo Finger (FINGER) fornisce una interfaccia ai
programmi Name e/o Finger che girano su macchine attraverso
Internet. In generale, questi programmi inviano un bollettino
sullo stato corrente del sistema o su una particolare persona che
ha un accesso (account). Il suo protocollo di livello trasporto
TCP.
Per ulteriori informazioni circa Finger si veda RFC 1288,
NAME/FINGER.

Nicname/Whois Protocol (NICNAME). *

Il Protocollo Nicname/Whois (NICNAME) fornisce una interfaccia
al servizio Nicname/Whois al centro informazioni di rete,
NIC.DDN.MIL, e agli altri servers attraverso la comunità Internet.
Il suo protocollo di livello trasporto è TCP.
Per ulteriori informazioni circa NICNAME, si veda RFC 954,
NICNAME/WHOIS.

Remote Printing Protocol. *

Il comando di spooler stampa finale LPR fornisce un protocollo
che consente ad un host di agire come server di stampa remota per
altri hosts. Il server LPR accetta richieste solo per quegli hosts
autorizzati ad usarlo. Un host è autorizzato se è listato nel file
relativo sul server. Sfortunatamente, solo quelli forniti di nome
vengono gestiti, perciò si devono assegnare nomi a tutti i PC a
cui si desidera permettere l'uso della linea di stampa spooler.

Remote Command Execution Protocol. *

I Comandi Utente REXEC e RSH forniscono un protocollo di
esecuzione di comando remoto, che permetta agli utenti di eseguire
comandi su un host straniero compatibile.

Routing Information Protocol (RIP).

Il server di instradamento (routing) usa una variante del
Routing Information Protocol Xerox NS per tenere dinamicamente
traccia delle rotte e, quindi, delle voci nella tabella relativa
nel kernel (interno del sistema operativo, in questo caso
TCP/IP).

1.3.4. Nomi ed Indirizzi

Per convenienza dell'utente, i protocolli Internet consentono
l'uso di nomi simbolici. Comunque, al livello protocollo, questi
nomi devono essere tradotti in indirizzi Internet. I paragrafi
seguenti spiegheranno come il programma di rete TCP/IP traduce i
nomi in indirizzi e le convenzioni Internet per l'assegnazione
degli stessi agli hosts sulla rete.


1.3.4.1. Traduzione dei nomi (name resolution).

Quando un processo riceve un nome simbolico e necessita di
tradurlo (resolve) nell'indirizzo Internet, esso richiama una
procedura di risoluzione. Il metodo usato da tale procedura per
risolvere il nome dipende da come l'host locale è stato
configurato. Questo, a sua volta, dipende dal modo in cui è
organizzata la rete cioè: in rete piatta o rete dominio.
In una rete piatta, tutti gli hosts nella rete vengono
amministrati da una autorità centrale. Questo forma di rete
richiede che tutti gli hosts all'interno di questa abbiano un
unico nome (host-name), di conseguenza in una grande rete ciò crea
un grosso carico sull'autorità centrale. Così era organizzata la
rete ARPA (ARPANET) e la comunità Internet in generale. Comunque,
il carico amministrativo è divenuto così grande che la comunità
Internet si è riorganizzata in reti dominio.
In una rete 'dominio', gruppi di hosts vengono amministrati
separatamente entro tre strutture gerarchiche di domini e
sottodomini. In questo caso è necessario che i nomi degli hosts
siano unici solo nel dominio locale, e solo il dominio di origine,
il quale è costituito da sottodomini (e possibilmente alcuni
hosts), viene amministrato dall'autorità centrale consentendo ai
sottodomini si essere amministrati localmente.


Nomi Internet

Il Protocollo Internet fornisce degli standards per l'uso di
nomi simbolici per hosts e domini. Questi standards ed i metodi
usati dal programma TCP/IP per stabilire questi nomi, vengono
descritti qui di seguito.

Nomi di Host

Per convenienza dell'utente, ad ogni host sulla rete Internet
vengono assegnati uno o più nomi. Questi nomi sono lunghi al
massimo 32 caratteri sensibili alle maiuscole e non possono
contenere all'interno spazi. A seconda di come la rete locale
traduce i nomi di hosts in indirizzi Internet, questi vengono
associati ad uno o più indirizzi Internet.
In ambiente server (di nomi di dominio), il nome di host
inserito nel file di configurazione deve essere il nome ufficiale
dell'host, proprio come l'indicazione ricevuta dal server dei
nomi. Generalmente, tale nome è quello completo di dominio
dell'host nella forma:
host.sottodominio.sottodominio.dominio_principale.

Nomi di dominio

In una rete di domini, a ciascuno di essi viene dato un nome
locale. Il protocollo Dominio specifica che tale nome deve essere
meno di 64 caratteri in lunghezza e che venga specificato in modo
pieno per un host nella forma con: nome dell'host prima, seguito
da un punto (.), seguito da una serie di nomi di dominio locali
separati da punti, e alla fine con il dominio principale (radice)
che viene specificato da un punto alla fine. In aggiunta, un nome
di dominio completo specificato per un host (incluso i punti),
deve essere meno di 255 caratteri in lunghezza. Comunque, se un
host straniero è nel dominio locale, esso può essere specificato
con il solo nome proprio.


1.3.4.3. Indirizzi Internet

Il protocollo Internet fornisce degli standards per
l'assegnazione degli indirizzi alle reti, sottoreti, hosts,
porte logiche (sockets); inoltre per l'uso di speciali indirizzi
adatti ad emissioni verso tutte le stazioni (broadcast) e per la
comunicazione interna del programma (loopback). Questi standards
ed i metodi usati dal programma TCP/IP per stabilire questi
indirizzi vengono descritti nelle sezioni seguenti.
Per i dettagli sulle assegnazioni specifiche degli indirizzi, si
veda RFC 1010 (Assigned numbers).

Indirizzi IP

Il Protocollo Internet (IP) usa un campo indirizzo di 32 bit a
due sezioni. La prima parte del campo contiene l'indirizzo di
rete; la seconda parte contiene l'indirizzo locale. Ci sono
quattro tipi di campo indirizzo: classe A,B,C,D, a seconda di come
sono allocati i bit.
La figura seguente rappresenta un indirizzo classe A. Esso ha un
numero di rete a 7 bit ed un indirizzo locale di 24 bit. L'ordine
di bit più alto (più a sinistra) è a 0. Siccome un numero di
rete formato di tutti zeri viene riservato per fare broadcast
sulla rete locale, ed il numero di rete 127 viene riservato per
il loopback locale, ci sono 126 possibili reti di classe A.


ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ 32 bit ³
ÃÄÄÄÂÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³ 0 ³ 1234567 ³ 890123456789012345678901 ³
ÃÄÄÄÅÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³ 0 ³ rete ³ indirizzo locale ³
ÀÄÄÄÁÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ


La figura successiva rappresenta un indirizzo di classe B. Esso
ha un numero di rete a 14 bit ed un indirizzo locale di 16 bit. Il
bit più in alto (più a sinistra) sono 1 e 0. Ci sono 16.384
possibili reti di classe B.


ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ 32 bit ³
ÃÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³ 01 ³ 23456789012345 ³ 6789012345678901 ³
ÃÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³ 10 ³ rete ³ indirizzo locale ³
ÀÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ


La seguente figura rappresenta un indirizzo di classe C. Esso ha
un numero di rete di 21 bit ed un indirizzo locale di 8 bit. I tre
bit più in alto (più a sinistra) sono 1 1 e 0. Ci sono 2.097
possibili reti di classe C.


ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ 32 bit ³
ÃÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ´
³ 012 ³ 345678901234567890123 ³ 45678901 ³
ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄ´
³ 110 ³ rete ³indir.loc.³
ÀÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÙ


Segue ancora una figura che rappresenta un indirizzo di classe
D. Le reti di classe D vengono usate come indirizzi multicast ed i
quattro bit più a sinistra sono 1 1 1 e 0.


ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ 32 bit ³
ÃÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³ 0123 ³ 4567890123456789012345678901 ³
ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³ 1110 ³ Indirizzo multicast ³
ÀÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

Una notazione comunemente usata per gli indirizzi di host
Internet è la notazione decimale con punti, che divide indirizzi
di 32 bit in quattro campi da 8 bit. Il valore di ogni campo viene
specificato come numero decimale ed i campi vengono separati da
punti (per esempio 010.002.000.052, oppure 10.2.0.52).

Comunemente si troverà la notazione decimale con punti come di
seguito:

Classe A nnn.lll.lll.lll
Classe B nnn.nnn.lll.lll
Classe C nnn.nnn.nnn.lll

dove 'nnn' rappresenta parte o tutto del numero di rete ed 'lll'
rappresenta parte o tutto dell'indirizzo locale.

Gli indirizzi Internet possono essere anche specificati in
formato ottale di quattro campi. In tale formato, i campi
vengono separati da virgole. I seguenti indirizzi in ottale ed in
decimale con punti sono equivalenti:


Ottale ³ Decimale con punti
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ-
300,11,310,2 ³ 192.9.200.2


Indirizzi Broadcast

Il 'programma' TCP/IP può inviare dati a tutti gli hosts sulla
rete locale, oppure a tutti gli hosts su tutte le reti
direttamente collegate. Tali trasmissioni vengono chiamate
(messaggi) broadcasts.
Per inviare i dati in modo broadcast a tutti gli hosts su tutte
le reti direttamente collegate, vengono impiegati UDP ed IP, e
l'indirizzo destinazione nella testata IP viene messo a
X'0xFFFFFFFF'. Per mandare i dati in modo broadcast a tutti gli
hosts sulla rete specifica, l'indirizzo locale, che è parte
dell'indirizzo IP, viene messo a 0.


Indirizzi di Sottorete

La capacità del programma TCP/IP rende possibile dividere una
singola rete in reti logiche multiple (subnets). Per esempio, una
organizzazione può avere un singolo indirizzo di rete Internet che
è noto agli utenti fuori di essa, tuttavia configura la sua rete
internamente in dipartimenti. Servono cosi meno indirizzi di rete
Internet mentre viene accresciuta la capacità di instradamento
locale.
Come spiegato prima sotto il paragrafo Indirizzi IP, il campo
indirizzo Internet standard ha due parti: un indirizzo di rete
ed un indirizzo locale. Per rendere possibile le sottoreti
(subnets), l'indirizzo locale, che è parte dell'indirizzo
Internet, viene diviso in numero di sottorete o maschera (mask) ed
ha un numero di host, per esempio:

numero_di_rete numero_di_sottorete numero_di_host


dove:

numero_di_rete è l'indirizzo Internet per la rete.
numero_di_sottorete è un campo di larghezza costante per una
data rete.
numero_di_host è un campo che è largo almeno un bit.

Se la larghezza del campo numero_di_sottorete è 0, la rete non è
organizzata in sottoreti, e quindi l'indirizzamento viene fatto
con l'indirizzo di rete Internet (numero_di_rete).

La figura seguente rappresenta un indirizzo di rete classe B con
un campo di sottorete largo 6 bit :


ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ 32 bit ³
ÃÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄ´
³ 01 ³ 23456789012345 ³ 678901 ³ 2345678901 ³
ÃÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄ´
³ 10 ³ Rete ³sottoret³ host ³
ÀÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÙ

I bit che identificano la sottorete vengono specificati da una
maschera e, perciò, non è richiesto che siano adiacenti
nell'indirizzo. Comunque, è generalmente desiderabile che i bit di
sottorete siano contigui e situati come i bit più significanti
dell'indirizzo locale.

Torna all'inizio Home