Sophie

Sophie

distrib > Mandriva > 9.1 > i586 > by-pkgid > f1098342ec4a2b28475e34123ce17201 > files > 724

howto-html-it-9.1-0.5mdk.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<TITLE>Linux NET-3-HOWTO, Linux Networking.: Informazioni generali sul networking di Linux.</TITLE>
<LINK HREF="NET-3-HOWTO-5.html" REL=next>
<LINK HREF="NET-3-HOWTO-3.html" REL=previous>
<LINK HREF="NET-3-HOWTO.html#toc4" REL=contents>
</HEAD>
<BODY>
<A HREF="NET-3-HOWTO-5.html">Avanti</A>
<A HREF="NET-3-HOWTO-3.html">Indietro</A>
<A HREF="NET-3-HOWTO.html#toc4">Indice</A>
<HR>
<H2><A NAME="s4">4. Informazioni generali sul networking di Linux.</A></H2>

<P>
<H2><A NAME="ss4.1">4.1 Una breve storia dello sviluppo del supporto di rete nel kernel Linux.</A>
</H2>

<P>Sviluppare partendo da zero un'implementazione della pila di protocolli tcp/ip
dalle prestazioni buone quanto le altre implementazioni esistenti non &egrave;
stato un lavoro semplice. La decisione di non basarsi su una delle
implementazioni esistenti &egrave; stata presa in un momento in cui sembrava
che le implementazioni esistenti sarebbero finite sotto una licenza pi&ugrave;
restrittiva a causa della sentenza di U.S.L., e quando c'era tanto entusiasmo
da volerlo fare diversamente dagli altri e magari anche meglio di quello che
era stato gi&agrave; fatto.
<P>Il primo volontario che ha guidato lo sviluppo del codice di rete nel kernel
&egrave; stato Ross Biro <CODE>&lt;biro@yggdrasil.com></CODE>. Ross ha implementato un
insieme di funzionalit&agrave; semplice ed incompleto ma usabile per la maggior
parte dei bisogni. Queste procedure erano distribuite insieme ad un driver per
la scheda di rete WD-8003. Questo fu sufficiente a far s&igrave; che molte
persone iniziassero a provare e sperimentare il software, e alcuni riuscirono
pure a connettere delle macchine ad internet con questa configurazione. Ma nel
frattempo la richiesta di software di rete da parte della comunit&agrave; Linux
stava crescendo, cos&igrave; che a un certo punto la domanda pressante che
gravava su Ross ed il suo coinvolgimento personale in termini di tempo
superarono a suo giudizio i vantaggi che ne derivavano. Ross lasci&ograve;
quindi il suo posto alla guida del gruppo di programmatori. Gli sforzi di Ross
per far partire il progetto e la responsabilit&agrave; che si era preso di
produrre davvero qualcosa di utile nonostante la situazione fosse controversa,
sono state le cose che hanno catalizzato tutto il lavoro futuro, e sono state
perci&ograve; una componente essenziale del successo del prodotto attuale.
<P>Orest Zborowski <CODE>&lt;obz@Kodak.COM></CODE> ha scritto la prima interfaccia di
programmazione per i socket BSD all'interno del kernel Linux. Questo &egrave;
stato un grande passo in avanti, e ha permesso di far funzionare sotto Linux
molte delle applicazioni di rete esistenti senza cambiamenti notevoli.
<P>All'incirca nel medesimo momento Laurence Culhane
<CODE>&lt;loz@holmes.demon.co.uk></CODE> ha sviluppato i primi driver per supportare
il protocollo SLIP all'interno di Linux. Questo ha permesso a molte persone che
non avevano accesso a reti di tipo Ethernet di provare il nuovo software di
rete.
Ancora una volta, qualcuno prese questo driver e lo mise al lavoro per
collegarsi ad Internet. Questa possibilit&agrave; diede a molti un'idea delle
possibilit&agrave; che si sarebbero potute realizzare se Linux avesse avuto un
supporto di rete completo, ed accrebbe il numero di utenti che provavano ed
usavano il software esistente.
<P>Un'altra persona che ha lavorato attivamente nel compito di costruire il
supporto per la rete &egrave; stata Fred van Kempen,
<CODE>&lt;waltje@uwalt.nl.mugnet.org></CODE>.
Dopo un periodo di incertezza che aveva seguito l'abbandono di Ross dalla
posizione di coordinatore dello sviluppo, Fred aveva offerto il suo tempo e
le sue capacit&agrave; e aveva accettato il ruolo senza alcuna opposizione.
Fred aveva dei piani ambiziosi per la direzione che il software di rete di
Linux avrebbe dovuto prendere, e si prepar&ograve; a progredire in queste
direzioni. Fred ha prodotto una serie di programmi di rete chiamati `NET-2'
che molte persone sono state in grado di usare proficuamente (il codice `NET'
era quello di Ross). Fred ha introdotto un certo numero di innovazioni
nell'agenda dello sviluppo, come l'interfaccia dinamica per le periferiche, il
protocollo AX.25 per le radio amatoriali e un'implementazione del networking
progettata pi&ugrave; modularmente.
Il codice NET-2 di Fred fu usato da un numero molto elevato di entusiasti, ed
il loro numero cresceva in continuazione mentre si diffondeva la voce che
questa implementazione funzionava bene. Il software di rete a questo punto
esisteva ancora sotto forma di un ampio numero di modifiche da applicare alla
distribuzione ufficiale del kernel, non essendo ancora stato incluso in tale
distribuzione.
I documenti NET-FAQ e successivamente NET-2-HOWTO descrivevano la procedura
(allora abbastanza complessa) per avere tutto quanto funzionante. L'impegno di
Fred era volto allo sviluppo di innovazioni all'implementazione di rete
convenzionale e questo gli prendeva tempo. La comunit&agrave; di utenti stava
diventando impaziente aspettando qualcosa che funzionasse in modo affidabile e
che soddisfacesse l'80% degli utenti. Come era successo con Ross, la pressione
su Fred come coordinatore del progetto crebbe considerevolmente.
<P>Alan Cox <CODE>&lt;iialan@www.uk.linux.org></CODE> propose una soluzione al problema
che avrebbe dovuto risolvere le controversie. Egli propose di prendere il
codice NET-2 di Fred e di sistemarlo, rendendolo affidabile e stabile
cos&igrave; da soddisfare gli utenti impazienti, nel contempo avrebbe
alleggerito la pressione su Fred permettendogli di continuare il suo lavoro.
Alan si mise a far ci&ograve; con un certo successo e la sua versione del
codice di rete per Linux prese il nome di `Net-2D(ebugged)'. Il codice
funzionava in maniera affidabile in molte configurazioni comuni e la base degli
utenti era contenta. Alan chiaramente aveva idee e capacit&agrave; proprie da
mettere nel progetto e in molte delle discussioni relative alla direzione che
il codice NET-2 stava prendendo. Si svilupparono allora due diverse scuole di
pensiero nella comunit&agrave; Linux: una che seguiva la filosofia "farlo
funzionare subito, migliorarlo in seguito" e un'altra che diceva "farlo meglio
subito". Linus fece la parte dell'arbitro e incluse il codice di Alan nella
distribuzione ufficiale del kernel. Questo pose Fred in una posizione
difficile. Ogni sviluppo innovativo avrebbe mancato della larga base di utenti
che testassero ed usassero attivamente il codice, e questo avrebbe significato
un rallentamento e certe difficolt&agrave; nello sviluppo. Fred continu&ograve;
a lavorare per un breve periodo e alla fine abbandon&ograve;, cos&igrave; Alan
si trov&ograve; ad essere il nuovo leader dello sviluppo del supporto di rete
nel kernel di Linux.
<P>Donald Becker <CODE>&lt;becker@cesdis.gsfc.nasa.gov></CODE> ha rivelato presto le
sue capacit&agrave; negli aspetti di pi&ugrave; basso livello del networking, e
ha prodotto un grosso campionario di driver per schede di rete: quasi tutte
quelle incluse nei kernel attuali sono state sviluppate da Donald. Ci sono
state altre persone che hanno contribuito in maniera significativa, ma il
lavoro di Donald &egrave; stato notevole, per cui merita una menzione
particolare.
<P>Alan ha continuato a migliorare il codice NET-2-Debugged per un certo tempo,
mentre lavorava nell'implementazione di alcune delle cose nella lista delle
priorit&agrave; che non erano ancora state affrontate.
Prima che il sorgente del kernel <CODE>1.3.*</CODE> diventasse maturo, il codice di
rete nel kernel era passato alla distribuzione NET-3, sulla quale sono basate
le versioni attuali. Alan ha lavorato su molti aspetti del codice di rete e ha
migliorato il codice in molte direzioni con l'aiuto di un certo numero di altre
persone di talento nella comunit&agrave; Linux. Alan ha prodotto i dispositivi
di rete dinamici e le prime implementazioni standard di AX.25 e IPX.
Alan ha continuato a giocare col codice, ristrutturandolo e migliorandolo
lentamente fino allo stato in cui si trova oggi.
<P>Il supporto per PPP &egrave; stato aggiunto da Michael Callahan
<CODE>&lt;callahan@maths.ox.ac.uk></CODE> e Al Longyear
<CODE>&lt;longyear@netcom.com></CODE>. Anche questa &egrave; stata un'innovazione
significativa per aumentare il numero di persone che usano Linux attivamente
nel networking.
<P>Jonathon Naylor <CODE>&lt;jsn@cs.nott.ac.uk></CODE> ha contribuito migliorando in
maniera significativa il codice AX.25 di Alan, aggiungendo il supporto per i
protocolli NetRom e Rose. La capacit&agrave; di usare AX.25, NetRom e Rose
&egrave; un fatto significativo in se, poich&eacute; nessun altro sistema
operativo pu&ograve; vantare il supporto nativo per tutti questi protocolli.
<P>Naturalmente, ci sono state altre centinaia di persone che hanno contribuito
significativamente allo sviluppo del software di rete per Linux. Alcune di
queste le incontrerete pi&ugrave; avanti nelle sezioni relative alle singole
tecnologie, altre persone hanno fornito moduli, driver, correzioni di errori,
suggerimenti, risultati di test e supporto morale. In ognuno di questi casi
ciascuno pu&ograve; dire di aver giocato la sua parte e di avere offerto quello
che poteva. Il codice di rete del kernel &egrave; un esempio eccellente dei
risultati che si possono ottenere dallo stile di lavoro anarchico della
comunit&agrave; Linux. Se questo non vi ha ancora meravigliato, lo far&agrave;
presto: lo sviluppo non si &egrave; fermato.
<P>
<H2><A NAME="ss4.2">4.2 Dove trovare altre informazioni riguardo al Networking in Linux</A>
</H2>

<P>Ci sono vari posti in cui si possono trovare delle buone informazioni
riguardo all'uso delle reti in Linux.
<P>Alan Cox, il coordinatore attuale del codice di rete nel kernel, ha una pagina
WWW che contiene informazioni sullo stato attuale e sul nuovo sviluppo del
supporto di rete per Linux. La sua pagina &egrave;:
<A HREF="http://www.uk.linux.org/NetNews.html">www.uk.linux.org</A>.
<P>Un'altra risorsa interessante &egrave; un libro scritto da Olaf Kirch,
intitolato "<CODE>Network Administrators Guide</CODE>". &Egrave; un lavoro del 
<A HREF="http://sunsite.unc.edu/LDP/">Linux Documentatation Project</A>
e pu&ograve; essere letto interattivamente presso
<A HREF="http://sunsite.unc.edu/LDP/LDP/nag/nag.html">Network Administrators Guide, versione HTML</A>. Oppure pu&ograve;
essere scaricato tramite ftp in vari formati dall'archivio ftp dell'LDP su
<A HREF="ftp://sunsite.unc.edu/pub/Linux/docs/LDP/network-guide/">sunsite.unc.edu LDP ftp archive</A>.
Il libro di Olaf &egrave; molto completo e fornisce una buona panoramica di
alto livello della configurazione di rete sotto Linux.
<P>Esiste un newsgroup dedicato alla rete e argomente connessi nella
gerarchia di gruppi relativi a Linux. &Egrave;:
<A HREF="news:comp.os.linux.networking">comp.os.linux.networking</A><P>C'&egrave; una mailing list alla quale ci si pu&ograve; iscrivere, nella quale
si possono chiedere informazioni a proposito del networking sotto Linux.
Per iscriversi occorre mandare un messaggio di posta elettronica:
<BLOCKQUOTE><CODE>
<PRE>
To: majordomo@vger.rutgers.edu
Subject: anything at all
Message:

subscribe linux-net
</PRE>
</CODE></BLOCKQUOTE>
<P>Nelle varie reti IRC si trovano spesso dei canali <CODE>#linux</CODE> sui quali si
possono trovare persone in grado di rispondere a domande sull'argomento.
<P>Ogni volta che si presenta un problema bisogna ricordare di includere
il maggior numero possibile di dettagli riguardo ai problemi.  In
particolare, occorre includere la versione del software che si sta
usando, in particolare la versione del kernel, la versione dei
programmi come <EM>pppd</EM> e <EM>dip</EM>, e la natura esatta del problema
che si &egrave; verificato. Questo vuol dire prendere nota della
sintassi esatta di ogni messaggio di errore ricevuto, e di tutti i
comandi che si stanno invocando.
<P>
<H2><A NAME="ss4.3">4.3 Dove trovare informazioni di rete non correlate a Linux</A>
</H2>

<P>Per chi sta cercando informazioni introduttive e pratiche sul networking
tcp/ip in genere, io raccomando di dare un'occhiata ai seguenti documenti:
<P>
<DL>
<DT><B>tcp/ip introduction</B><DD><P>questo documento esiste sia in
<A HREF="ftp://athos.rutgers.edu/runet/tcp-ip-intro.doc">versione testo</A> sia in 
<A HREF="ftp://athos.rutgers.edu/runet/tcp-ip-intro.ps">versione postscript</A>.
<DT><B>tcp/ip administration</B><DD><P>questo documento esiste sia in
<A HREF="ftp://athos.rutgers.edu/runet/tcp-ip-admin.doc">versione testo</A> sia in
<A HREF="ftp://athos.rutgers.edu/runet/tcp-ip-admin.ps">versione postscript</A>.
</DL>

Per chi sta cercando informazioni pi&ugrave; dettagliate su tcp/ip raccomando
caldamente:
<P>
<BLOCKQUOTE>
<EM>Internetworking with TCP/IP, Volume 1: principles,
 protocols and architecture</EM>, by Douglas E. Comer, ISBN
 0-13-227836-7, Prentice Hall publications, Third Edition,
 1995.
</BLOCKQUOTE>
<P>[tradotto in italiano per Jackson Libri N.d.T.]
<P>Per chi vuole imparare come scrivere applicazioni di rete in un ambiente
compatibile a Unix, raccomando altrettanto caldamente:
<P> 
<BLOCKQUOTE>
<EM>Unix Network Programming</EM>, by W. Richard Stevens,
 ISBN 0-13-949876-1, Prentice Hall publications, 1990.
</BLOCKQUOTE>
<P>Una seconda edizione di questo libro sta per apparire sugli scaffali delle
librerie; la nuova edizione &egrave; composta da tre volumi:
<A HREF="http://www.phptr.com/">sito web di Prentice-Hall</A> per ulteriori informazioni.
<P>
<P>Si pu&ograve; anche provare a guardare nel newsgroup
<A HREF="news:comp.protocols.tcp-ip">comp.protocols.tcp-ip</A>.
<P>
<P>Una fonte importante di informazione prettamente tecnica riguardo a
Internet e alla suite di protocolli tcp/ip sono gli RFC. RFC &egrave;
un acronimo che significa `Request For Comment' ed &egrave; il modo
convenzionale per pubblicare e documentare gli standard sui protocolli
Internet. Ci sono svariati archivi di RFC, molti di questi sono siti ftp
mentre altri forniscono accesso via WWW con un motore di ricerca che
permette di cercare le parole chiave in un database associato agli RFC.
<P>Un possibile luogo ove trovare gli RFC &egrave; il
<A HREF="http://pubweb.nexor.co.uk/public/rfc/index/rfc.html">database RFC di Nexor</A>.
<P>
<HR>
<A HREF="NET-3-HOWTO-5.html">Avanti</A>
<A HREF="NET-3-HOWTO-3.html">Indietro</A>
<A HREF="NET-3-HOWTO.html#toc4">Indice</A>
</BODY>
</HTML>