<?xml version='1.0' encoding='utf-8' standalone='yes'?>
<root domanda="Che differenze ci sono tra hub, switch e router? Quale conviene usare?" lastedit="1196119552" lasteditor="marco" lastupdate="1196119552" number="134" owner="marco" type="faq">
  <args>
    <arrayitem value="reti" />
    <arrayitem value="tecno" />
  </args>
  <note></note>
  <relateds>
    <arrayitem value="206" />
    <arrayitem value="124" />
    <arrayitem value="136" />
    <arrayitem value="122" />
    <arrayitem value="143" />
  </relateds>
  <risposta>&lt;p&gt;Il classico pacchetto di rete che viaggia ha una struttura di questo tipo:&lt;/p&gt;

&lt;p&gt;+-----------------------------------------------------------------------+&lt;br /&gt;
| incapsulamento &amp;nbsp;+---------------------------------------------------+ |&lt;br /&gt;
| ethernet &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;| incapsulamento &amp;nbsp; &amp;nbsp; &amp;nbsp; +--------------------------+ | |&lt;br /&gt;
| (MAC address) &amp;nbsp; | TCP/IP (IP address) &amp;nbsp;| protocollo (ad es. http) | | |&lt;br /&gt;
| &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;| e informazione &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | | |&lt;br /&gt;
+-----------------+----------------------+--------------------------+-+-+&lt;/p&gt;

&lt;p&gt;Un &lt;b&gt;hub&lt;/b&gt; è un semplice &lt;b&gt;accentratore&lt;/b&gt; di rete, è una sorta di accentratore &quot;elettrico&quot; dove i segnali presenti su tutta la linea vengono mescolati assieme; collegati ad un hub tutte le sk di rete sentono tutto il traffico presente sulla LAN, come se il collegamento fosse realizzato in 10base2 (coassiale).&lt;br /&gt;
In una simile situazione qualunque protocollo proprietario passerà ovunque, e un malintenzionato (ma molto bravo) potrebbe rimanere listening sulla sk di rete e monitorare l'intera attività di rete.&lt;br /&gt;
Le collisioni sul traffico di rete (con conseguenti ritrasmissioni e rallentamenti) saranno tanto più frequenti quanti più computer sono connessi alla rete, e tutti i computer subiranno i rallentamenti dovuti a queste collisioni.&lt;/p&gt;

&lt;p&gt;Uno &lt;b&gt;switch&lt;/b&gt;, invece, effettua una &lt;b&gt;commutazione di pacchetto&lt;/b&gt; ethernet (attraverso l'analisi del frame ethernet): all'interno di uno switch viene costruita una mappa dei diversi dispositivi collegati e dei loro MAC address (indirizzi fisici delle sk di rete), dopodiché i pacchetti ethernet in arrivo da una macchina vengono reinviati solo alla macchina con il MAC address di destinazione (gli altri non vendono attività in rete).&lt;br /&gt;
In pratica con uno switch si ha più una LAN classica, ma n tronconi di LAN ognuno diretto ad una macchina, con lo switch al centro che li separa e li reindirizza.&lt;br /&gt;
In pratica uno switch a n porte ha fino a n/2 canali di comunicazione distinti a piena banda disponibile per ogni canale, inoltre permette di utilizzare la modalità &quot;full duplex&quot; delle schede di rete (che possono inviare e ricevere allo stesso tempo, raddoppiando così la velocità massima raggiungibile quando sono in corso scambi bidirezionali tra due macchine).&lt;br /&gt;
Le collisioni saranno comunque limitate, perché lo scambio di pacchetti avviene sempre e solo tra due macchine (e solo quelle due macchine vedranno le collisioni e ne subiranno i rallentamenti).&lt;/p&gt;

&lt;p&gt;Gli &lt;b&gt;hub 10/100&lt;/b&gt; (i cosiddetti &quot;hub switching&quot;) hanno due bus interni, uno a 10 e uno a 100.&lt;br /&gt;
Quando si collega un computer all'hub 10/100 in base alla velocità supportata dal computer (e quindi dalla sua scheda di rete) l'hub collegherà l'host al bus a 10 o al bus a 100.&lt;br /&gt;
In alcuni modelli molto economici di hub 10/100 i due bus interni non comunicano tra loro, quindi si ottiene lo sgradito effetto che gli host a 10 non &quot;vedono&quot; gli host a 100 e viceversa.&lt;br /&gt;
Negli hub 10/100 più &quot;seri&quot; esiste un &quot;bridge&quot; interno (in pratica uno switch a due porte) che mette in comunicazione il bus a 10 con quello a 100, e in questo modo i due hub (10 e 100) possono comunicare. Possiamo considerare dunque un hub di questo tipo come se si trattasse di due distinti hub (uno a 10 ed uno a 100) connessi da uno switch: le collisioni e la velocità totale saranno comunque limitate nelle singole sezioni (10 e 100) come in qualsiasi hub.&lt;/p&gt;

&lt;p&gt;Il &lt;b&gt;router&lt;/b&gt; lavora come lo switch, ma ad un livello più alto: invece di analizzare il pacchetto (frame) ethernet ricava l'indirizzo di destinazione dal &lt;b&gt;protocollo&lt;/b&gt; in uso, ad es. TCP/IP o IPX/SPX (e quindi il router deve supportare espressamente il protocollo in uso, tipicamente TCP/IP).&lt;br /&gt;
Un router, a differenza di uno switch, può essere usato per connettere tra di loro (in modo trasparente) LAN diverse che hanno classi di indirizzi IP diversi: il router stesso viene informato delle strade (route) che i pacchetti devono seguire a seconda delle diverse destinazioni di IP address.&lt;br /&gt;
Molti router hanno anche possibilità ulteriori (NAT, port mapping, DHCP), e di fatto un router può essere considerato come un computer dedicato, con due distinte interfacce di rete (anzi, spesso è esattamente così).&lt;br /&gt;
Un router ha tipicamente due sole porte, da collegare alle reti che mette in comunicazione (sebbene esistano router che, su una di queste porte, hanno un hub incorporato); l'uso di un router in una LAN è tipicamente limitato a LAN di grandi dimensioni e fisicamente distinte, con classi IP diverse nelle diverse sezioni della LAN come nel caso di LAN distinte (interconnesse in una WAN) o di collegamenti verso internet di una intera LAN (in questo caso la scheda di rete &quot;esterna&quot; del router potrebbe essere rappresentata da un modem, da un TA ISDN o da altro ancora).&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;b&gt;Conviene usare uno switch invece di un hub?&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Situazione tipo: rete di quattro computer (A, B, C e D) a 100Mbit/sec&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Utilizzando uno switch&lt;/b&gt;: con un protocollo indirizzato punto-punto come il TCP/IP la trasmissione dati A-&amp;gt;B va a 100Mbit/sec, mentre contemporaneamente B-&amp;gt;A va a 100Mbit/sec e allo stesso modo C-&amp;gt;D e D-&amp;gt;C vanno a 100Mbit/sec.&lt;br /&gt;
Ogni troncone ha questa velocità, e nessuno vede traffico che non lo riguardi avendo la piena banda a propria disposizione. Se collisioni ci sono riguardano solo una trasmissione di pertinenza della macchina che la riceve o trasmette (ci sono dunque diversi &quot;domini di collisione&quot;, e nessuno subisce le conseguenze/ritardi di collisioni che non lo riguardano).&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Utilizzando un hub&lt;/b&gt;, invece, il traffico totale sarebbe limitato dalla capacità interna (totale) dell'hub di 100Mbit.&lt;br /&gt;
Nel caso descritto sopra (quattro comunicazioni in corso: A&amp;lt;-&amp;gt;B e C&amp;lt;-&amp;gt;D) ogni trasmissione potrebbe quindi contare su un massimo teorico di 25Mbit/sec, dividendo la banda.&lt;br /&gt;
Ma il massimo sarebbe, appunto, teorico: in una simile situazione le collisioni della rete sarebbero molto elevate (unico dominio di collisione), e quindi le ritrasmissioni conseguenti rallenterebbero notevolmente tutto il traffico di rete.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Allora lo switch conviene sempre?&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Ci sono dei possibili svantaggi ad usare uno switch al posto di un hub: certi segnali ethernet non sono diretti da macchina a macchina, e sono detti &quot;&lt;b&gt;broadcast&lt;/b&gt;&quot;.&lt;br /&gt;
Alcuni protocolli (NetBEUI, DHCP, ddp) fanno uso dei segnali broadcast, e senza di quelli non funzionano.&lt;br /&gt;
Perché uno switch supporti questi segnali di broadcast deve essere &quot;istruito&quot; a farlo, e gli switch più comuni (come ad esempio un ottimo 3com 10/100 unmanaged) riconoscono e lasciano passare (ovvero propagano su tutti i tronconi di rete) il DHCP, spesso anche il NetBEUI ma &lt;b&gt;non il ddp&lt;/b&gt;.&lt;br /&gt;
Alcuni switch, più cari, possono riconoscerlo; ma spesso occorre pagare a parte l'aggiornamento, oltre al prezzo più alto in partenza per lo switch.&lt;/p&gt;

&lt;p&gt;Il problema ormai quasi più non si pone, ma una volta AppleTalk come protocollo si basava su ddp, sebbene ormai Mac OS X supporti solo &quot;AppleTalk over IP&quot; (anche noto come &quot;afpovertcp&quot;).&lt;br /&gt;
Ma alcune stampanti che supportavano AppleTalk su Ethernet la supportano solo &quot;over ddp&quot;, e non over TCP/IP (la LaserWriter con Ethernet già non avevano più questo limite), e di conseguenza collegate ad uno switch potevano non funzionare. Questo fatto si verificava solo con alcuni switch in combinazione con alcune vecchie stampanti collegate allo switch con un adattatore (&lt;i&gt;transceiver&lt;/i&gt; o &lt;i&gt;bridge&lt;/i&gt;) LocalTalk&amp;lt;-&amp;gt; ethernet, non con le stampanti che nascono ethernet.&lt;/p&gt;

&lt;p&gt;Ad esempio collego alla rete (tramite switch) una Personal LaserWriter NT &lt;b&gt;utilizzando un bridge LocalTalk/EtherTalk&lt;/b&gt; della Farallon: questa stampante semplicemente non viene vista, perché le dichiarazioni e richieste di dispositivo AppleTalk che questa stampante supporta sono solo dei broadcast &lt;b&gt;ddp&lt;/b&gt;, che come detto non passano lo switch (a meno che, come accade per il NetBEUI sotto Windows, lo switch non possa far passare il broadcast del ddp, e sia stato istruito a farlo, come era il caso di alcuni Netopia).&lt;/p&gt;

&lt;p&gt;Se è possibile collegare queste stampanti (direttamente in USB o tramite hub che viene poi connesso allo switch) ad un computer che le condivide in rete (come un server MacOS X o linux per stampanti su hub, o un MacOS 9 o successivo per stampanti USB), allora si può considerare la possibilità di utilizzare uno switch, apprezzandone i vantaggi in termini di prestazioni (nettamente superiori).&lt;/p&gt;</risposta>
</root>
