UN PO' DI TEORIA
Lan è l'acronimo di "LOCAL AREA NETWORK".
Sta ad indicare, come dice il nome stesso, una rete localizzata
in un'area geografica limitata (che sia essa una stanza,
un ufficio, un palazzo). Fondamentalmente, una LAN serve
a far dialogare tra di loro due o più computer. Una
volta che i computer sono connessi tra loro tramite LAN,
è possibile scambiare dati da un computer all'altro.
Cio' rende possibile ad esempio utilizzare stampanti poste
su computer diversi da quello su cui si stampa, aprire files
che risiedono su un computer diverso dal proprio, e, all'occorrenza,
anche giocare in modalità multiplayer nei giochi
che lo supportano.
Esistono diversi tipi di protocolli di rete. Un protocollo
è lo "standard", il "linguaggio"
cioè che utilizzano computer diversi per dialogare
tra loro. Cerco di semplificare al massimo il concetto con
un esempio: Immaginate di essere in un pub con un inglese,
un tedesco, un greco ed un marocchino. Se ognuno parlasse
nella sua lingua, nessuno ci capirebbe una mazza, e ognuno
passerebbe la serata a parlare tra se e se, senza che gli
altri riuscirebbero a capire quello che sta dicendo. Se
invece all'inizio della serata ci si mettesse d'accordo,
e si dicesse "ok, parliamo inglese per tutta la serata,
visto che tutti più o meno lo masticano", ecco
che anche persone di nazionalità diverse, con diverse
culture e di lingua diversa, riuscirebbero a comunicare
ed a chiacchierare allegramente tra di loro. Ecco, un protocollo
di rete, semplificando di molto il discorso, è più
o meno questo: un linguaggio "convenzionale",
che possa essere capito da tutti gli appartenenti alla rete,
indipendentemente dal loro sistema operativo, per potersi
comprendere a vicenda.
In questa sede andremo ad esplicare (molto molto superficialmente
e con parole semplici) il funzionamento di uno dei più
diffusi protocolli di comunicazione, lo stesso che viene
utilizzato anche su internet: il protocollo TCP/IP. La stragrande
maggioranza dei giochi che oggi consentono di giocare in
modalita' multiplayer, si "appoggiano" proprio
su implementazioni basate sul TCP/IP. Esistono ad onor del
vero anche giochi (oramai una minima parte) che poggiano
il loro sistema multiplayer sul protocollo IPX, ma vedremo
piu' avanti che la configurazione del protocollo IPX, una
volta appresi i concetti di rete e del protocollo TCP/IP,
e' davvero banale.
Perche' al giorno d'oggi viene preferito il TCP/IP per i
giochi in multiplayer? Beh, prima di tutto perche' e' lo
standard "de facto". Secondo, perche' e' lo stesso
protocollo che viene utilizzato su internet. In questo modo,
se i dati da scambiare durante una partita rientrano nell'ordine
di poche centinaia di bytes, il gioco sara' fruibile in
modalita' multiplayer anche su internet con un normale modem
56k (ed e' cosi' per un gran numero di giochi), visto che
con il TCP/IP a livello logico non c'e' differenza tra giocare
su internet o giocare in una lan. Lo scambio dati tra i
pc infatti avviene esattamente allo stesso modo, eccezion
fatta per quanto riguarda l'instradamento dei pacchetti,
visto che su lan la comunicazione avviene direttamente tra
i pc, su internet i pacchetti vengono instradati attraverso
dei router che li fanno viaggiare lungo la rete fino a farli
arrivare a destinazione. Inoltre un altro dei vantaggi del
protocollo TCP/IP rispetto ad altri protocolli come l'IPX
o il NETBEUI di Microsoft, o l'APPLETALK di Apple, è
che è oramai un protocollo supportato nativamente
da tutti i sistemi operativi più comuni. Linux, Windows,
Mac-Os, Unix: tutti questi sistemi operativi riescono a
"dialogare" tra di loro proprio grazie ad implementazioni
basate sul protocollo TCP/IP.
COSA E' L'IP?
TCP sta per Transport Control Protocol. IP sta per internet
Protocol. Ora, visto che questo non e' un documento che
vuole avere la pretesa di farvi diventare degli esperti
di reti, direi che possiamo accantonare tranquillamente
il ruolo ed il funzionamento del TCP. E' invece il caso
di spiegare un attimo cosa e' l'IP, perche' sapere questo
ci sara' necessario per configurare la nostra lan .Semplificando
di molto, il concetto è veramente banale: ogni computer
ha un "indirizzo" che gli viene assegnato. un
po' come succede per le vie e le piazze di casa nostra.
Dato un determinato indirizzo, il postino è capace
di rintracciarci e venire sotto casa nostra a portarci le
lettere indirizzate a noi, perché è stato
fissata a monte una convenzione: quella di identificare
le strade delle nostre città con dei nomi, e di assegnare
un numero univoco alle diverse case situate sulla stessa
strada. Se io trovo scritto su una lettera "via Tiburtina
1024, Roma" non ho possibilità di errore: a
Roma c'è UNA SOLA via Tiburtina, così come
ci sarà solo una casa a cui corrisponde il numero
1024. Abbastanza semplice, no? Ecco, i PC funzionano più
o meno allo stesso modo: ognuno ha un indirizzo che lo identifica
in modo univoco sulla rete. L'indirizzo, detto anche "IP
ADDRESS" o più comunemente "IP", è
composto da 4 gruppetti di 8 bit l'uno, separati tra di
loro da un punto, nella forma XXX.XXX.XXX.XXX. Un bit, come
saprete, può assumere valore 0 o 1. un gruppetto
di 8 bit (detto anche Byte) può quindi rappresentare
tutte le possibili combinazioni del variare dei valori di
ciascun bit del gruppetto, ad esempio 10100000 o 01011100
e cosi via. Le combinazioni possibili non sono poi tantissime,
per la precisione sono 256. Per rappresentare in formato
decimale quindi lo stato che possono avere gli 8 bit, si
ricorre ad un numero decimale compreso tra 0 e 255. Ad esempio,
0 rappresenta gli 8 bit settati a "00000000",
1 rappresenta "00000001", e cosi via, fino ad
arrivare a 255 che rappresenta lo stato del byte impostato
a "11111111".
Ricapitolando, l'IP è composto da un insieme di 4
cifre (ogni cifra rappresenta in decimale lo stato degli
8 bit di quel gruppo) che possono assumere un valore compreso
tra 0 e 255. Quindi 123.101.222.254 è un indirizzo
IP valido. 411.202.109.356 NON E' un indirizzo IP
valido, in quanto sia la prima che l'ultima cifra non sono
una rappresentazione corretta dello stato degli 8 bit rispettivamente
del primo e del quarto byte, in quanto il valore supera
il numero 255.
CLASSI DI IP, IP PUBBLICI E IP PRIVATI
A questo punto abbiamo capito cosa è un'IP. Introduciamo
allora anche un'altro concetto: quello di classe di indirizzi
IP e quello di IP pubblici e IP privati
Semplificando di molto il discorso (altrimenti rischierei
di diventare troppo tecnico e soprattutto troppo noioso)
vi basterà sapere che esistono diverse classi di
indirizzi IP, utilizzate per diversi scopi. Questo per un
semplice motivo; abbiamo detto che l'IP di un computer è
come l'indirizzo delle case, deve essere diverso per ogni
casa, altrimenti i nostri postini non ci capirebbero più
niente! Immaginate una città dove ci sono 4 via Tiburtina,
con 4 "Via Tiburtina numero 1024". Il postino
che vedrebbe una lettera così indirizzata, presso
quale delle quattro case dovrebbe recarsi? Allo stesso modo,
quando ci connettiamo ad internet, ogni computer deve essere
identificato in modo UNIVOCO. Quando ci connettiamo al nostro
provider, il suo server si occupa di assegnarci automaticamente
un'IP PUBBLICO, e da quale momento in poi, fino a quando
non ci disconnettiamo, quell'indirizzo identificherà
il nostro computer sulla rete DELL'INTERO PIANETA. Proprio
così, se noi in quel momento stiamo utilizzando quell'IP,
nessun'altro nel mondo all'infuori di noi potrà usarlo,
fino a che, disconnettendosi, il nostro computer dirà
al server "ok, mi sto sconnettendo, ora l'indirizzo
è libero e può essere usato dal prossimo che
si collega". I provider infatti hanno a loro disposizione
una intera fascia di indirizzi IP (ad esempio da 151.132.210.1
a 151.132.210.255) e a rotazione li assegnano a chi si collega.
Capirete che amministrare questa cosa non è semplice,
visto che va organizzata su scala planetaria.
Per questo motivo sono state riservate, per convenzione,
delle classi di indirizzi IP alle reti LAN. Ora, non fa
niente se io a casa mia ho una rete LAN di classe 192.168.1.x,
e un'altra persona sotto casa mia ha una LAN con la stessa
classe di indirizzi IP. Le LAN, proprio perchè LOCAL
area network, sono aree locali, e non sono in contatto tra
di loro. La classe che viene comunemente usata per una lan
di piccole dimensioni, è la 192.168.0.x
LA SUBNET MASK
Ci manca ancora un piccolissimo concetto prima di iniziare
a configurare la nostra LAN: La Subnet Mask. Immaginate
sempre il nostro famoso postino che riceve una lettera che
gli dice "via tiburtina 1024, Roma". Se ipotizziamo
per assurdo che il nostro postino non abbia uno stradario,
e che non sappia dove sia via Tiburtina, dovrà girare
tutta la città, per vedere se riesce a trovarla.....La
ricerca però potrebbe durare ore..... Se invece ricevesse
una lettera con "Via Tiburtina 1024 - 00100 Roma",
sempre ipotizzando per assurdo che egli conosca invece benissimo
le associazioni quartieri-CAP, andrebbe spedito nel luogo
di destinazione, impiegando poco tempo a consegnare la lettera,
in quanto il CAP gli fa capire subito in che zona della
città si trova via Tiburtina.
Ecco, la subnet mask è proprio una specie di CAP:
In pratica fa capire al computer quale è la sua "zona
di appartenenza". Ogni pc si preoccupera' cosi' di
recapitare i pacchetti autonomamente se il destinatario
e' un pc compreso nel suo stesso segmento di rete, o di
affidarli ad un gateway, che provvedera' poi ad instradarli
verso la corretta destinazione, se il destinatario dei pacchetti
e' esterno al suo segmento di rete.
Il meccanismo della subnet mask è abbastanza semplice:
è sempre rappresentato nel formato XXX.XXX.XXX.XXX,
sempre da 4 gruppi di 8 bit ciascuno, ma che stavolta hanno
una diversa funzione: indicano cioè quali BIT dell'indirizzo
appartengono alla SUBNET (per subnet si intende proprio
SOTTORETE: In effetti una LAN è un segmento di rete,
e può essere divisa a sua volta in diversi segmenti)
e quanti invece appartengono all'indirizzo IP. Prendiamo
ad esempio la seguente coppia IP/Subnet Mask:
IP 192.168.0.1
Subnet Mask:255.255.255.0
Cosa ci dice la subnet mask impostata in questo modo? Ci
dice semplicemente che TUTTI E 8 i bit del primo gruppo
(il valore 255 rappresenta tutti i bit impostati ad 1, ricordate?)
rappresentano la Subnet (e pertanto non possono variare),
TUTTI E 8 i bit del secondo gruppo rappresentano la Subnet,
e anche tutti e 8 i bit del terzo gruppo. Invece, nessun
bit del quarto gruppo (la quarta cifra infatti è
0) rappresenta la subnet, pertanto quel byte è utilizzato
interamente per rappresentare i diversi indirizzi della
rete LAN.
Una rete così composta, potrà avere quindi
al massimo 256e cioè tutti i numeri compresi tra
192.168.0.0 e 192.168.0.255 (i numeri .0 e .255 pero' sono
riservati ad altre funzionalita'). In pratica, quello che
cambia, è solo L'ULTIMO byte, che deve essere NECESSARIAMENTE
DIVERSO per ogni computer.
Avendo una subnet così impostata, il nostro computer
capira' subito che si trova in una rete composta al massimo
da 256 hosts. Cio' significa che se tentassimo di inviare
pacchetti ad un ipotetico pc con indirizzo IP 192.168.0.68,
il nostro pc provvedeebbe da solo a spedire i pacchetti
al destinatario, sapendo che e' un pc che si trova sul suo
stesso segmento di rete. Se invece tentassimo di spedire
pacchetti ad un ipotetico indirizzo 190.1.253.34, il nostro
pc scarterebbe i pacchetti in uscita (o al massimo, se e'
stato impostato, li affiderebbe al default gateway per l'instradamento)
in quanto sa che quel pc NON appartiene al suo segmento
di rete, e quindi non potrebbe essere raggiunto in modo
diretto.