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 domni e sottodomni. 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 sottodomni (e possibilmente alcuni hosts), viene amministrato dall'autorit… centrale consentendo ai sottodomni 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. *** fine della puntata *** 73 --Gus i0ojj