Dopo tanto tempo, riprendo a scrivere questi "tutorial" sulle reti
Oggi non parliamo di IP, o meglio, non solo: aggiungiamo il
MAC AddressCos'è? Piuttosto semplice:
un numero (un grosso numero! 48 bit per l'esattezza) che identifica una scheda di rete.
Che sia una scheda Ethernet, WiFi, Bluetooth e che sia installata su un PC, un router, un cellulare, un tablet o quello che vi pare, ha un indirizzo MAC.
Come l'IP identifica una macchina a
livello software (e tenete bene a mente la parola livello, perché nel prossimo articolo approfondirò, direi doverosamente, i vari layer o strati o livelli di astrazione presenti in una rete), l'indirizzo MAC la identifica a livello hardware, e per questo è anche detto
indirizzo fisico.
In teoria, viene
assegnato durante la fabbricazione fisica della scheda di rete, in pratica su molti modelli può essere modificato via software anche se questo secondo molti va contro la filosofia che c'è dietro...
L'applicazione pratica per eccellenza la analizzeremo in un prossimo articolo riguardante il protocollo TCP (prevedo che sarà il #5 o il #6), ora cercheremo invece di capire cosa significano le parole
Broadcast,
Anycast,
Multicast,
Unicast.
BroadcastIniziamo dal broadcasting.
Il concetto è molto semplice: inviare un pacchetto a tutte le macchine collegate in una determinata sottorete. Che può essere la nostra rete locale, una rete aziendale, la rete di una città (N.B. non applicabile in Italia, visto che qui siamo indietro di tipo 20 anni e non abbiamo la minima idea di cosa sia un rete), Internet.
Ok, fate finta che io non abbia detto Internet, visto che di fatto NON potete mandare un pacchetto in broadcast su Internet. Perché? Perché verrebbe filtrato al primo nodo che c'è tra te e il tuo ISP, visto che mandare un pacchetto a tutte le macchine collegate su Internet gli costerebbe più di quanto paghi ogni mese per la tua flat.
Dopo questo
breve (doveva esserlo
) discorso introduttivo, passiamo alla pratica.
In teoria (e poi vedremo la pratica in una lezione sull'hardware di rete) in una sottorete, i pacchetti vengono ricevuti da tutti i PC e presi in considerazione solo dai veri destinatari.
Mandare un pacchetto in broadcast è semplice, si può fare in due modi:
- Impostando il MAC Address al suo valore più alto FF:FF:FF:FF:FF:FF
- Impostando l'IP Address al suo valore più alto (
relativamente alla maschera di sottorete)
Un utilizzo tipico di questa tecnica è l'UPnP: in pratica quando tutte le macchine in una rete ogni "tot" tempo si annunciano alle altre tramite pacchetti in broadcast. Una potrebbe dire "io ho una stampante e posso condividerla con voi", un'altra "io ho un disco rigido condiviso a cui potete accedere".
Invece di dover configurare le macchine manualmente, inserendo magari l'indirizzo IP o il nome del computer a cui è collegata una stampante di rete, il computer stesso annuncia che lui ha una stampante di rete e gli altri PC si configurano di conseguenza. Geniale, no?
AnycastNon mi dilungherò molto sull'Anycasting, vista la complessità della sua implementazione.
Sappiate solo che un pacchetto mandato in Anycast arriverà a una di un insieme di macchine a cui è destinato, tipicamente quella più "vicina" (= facilmente raggiungibile).
Uno degli utilizzi di Anycast in particolare permette il funzionamento di Internet: la distribuzione di carico sui root server DNS.
MulticastIl Multicast è un meccanismo molto particolare. Infatti, non è chi invia che decide chi riceverà il pacchetto, ma è chi si "registra" che deciderà che vuole riceverlo.
Non c'è uno standard per implementare questo meccanismo, ma molto spesso, in una rete IP si fa in questo modo:
Viene scelta una classe di indirizzi IP (diversa da quella già usata per la sottorete vera e propria), su cui le schede di rete si mettono in ascolto (e qui tra l'altro vediamo come più reti IP possano coesistere sullo stesso hardware e addirittura sullo stesso cavo).
I pacchetti vengono inviati in
broadcast (tramite IP) su quella rete, e verranno ricevuti (o meglio, presi in considerazione) solo dalle schede di rete configurate per riceverli.
UnicastTenerlo per ultimo è stata in un certo senso una "trollata" (
).
Questo è il tipo di pacchetto che inviamo più comunemente! Un pacchetto destinato a una sola macchina in rete, identificata dal suo indirizzo IP.
[devo ancora sistemare qualche cosa, soprattutto la formattazione]Edited by ‡ (dd) - 2/2/2013, 11:45