martedì 10 marzo 2015

Lezione di Reti di Telecomunicazioni: gli Switch e le sue funzionalità

Nel contesto odierno, la maggior parte dei vendor presente sul mercato degli switch propone un portafoglio prodotto molto vasto, costituito spesso da svariate decine di modelli di switch. È quindi importante capire quali sono gli elementi principali che differenziano i diversi modelli, per comprenderne il posizionamento. Inoltre, questi stessi elementi possono fare da linee guida per individuare le esigenze dei clienti.

Di seguito, vengono riportati i principali elementi da tenere in considerazione nella scelta di uno switch:
• Numero di porte: è l’elemento basilare da considerare nella scelta di un modello di switch piuttosto di un altro. A volte, nella descrizione del dispositivo, i produttori distinguono tra:
  1. Downlink ports: si intendono le porte sulle quali verranno collegati gli endpoint quali pc, telefoni, stampanti, ecc…Vengono anche definite porte utente, proprio per il fatto che sono predisposte a fornire connettività agli utenti della LAN. Tipicamente, gli switch sono dotati di 8, 16, 24, 48 porte di down link, a 100 o 1000 Mbps.
  2. Uplink ports: si intendono le interfacce che trasportano il traffico generato dalle porte utente verso il backbone della rete, il data center che ospita i server e i relativi servizi forniti agli utenti della LAN. Tipicamente, gli switch sono dotati di 2 o 4 porte di uplink, che possono essere on-board oppure installabili attraverso schede di espansione in alloggiamenti predisposti, con connettività a 1, 10, 40 Gbps in rame (solo nel caso di 1Gbps) o in fibra.
• Gestibilità: si tratta di un altro elemento molto importante in quanto determina il grado di “controllabilità e configurabilità” di uno switch da parte dell’amministratore di rete. Esistono sostanzialmente tre tipologie di switch:
  1. Unmanaged (o non gestiti): questi switch non possono essere configurati nè monitorati da parte dell’amministratore di rete. Il fatto che non siano configurabili non permette di assegnare loro un indirizzo IP, di configurare VLAN per distinguere, ad esempio, tra traffico voce e traffico dati, e così via. La mancanza di monitoraggio impedisce all’amministratore di rete di verificare se lo switch è effettivamente operativo o meno. Questi svantaggi portano gli switch unmanaged ad avere un posizionamento molto basso rispetto a modelli simili ma gestibili.
  2. Web-managed (o smart switches): questi switch sono configurabili in maniera piuttosto semplice (da qui il termine smart) attraverso un’interfaccia web. Molto spesso però, le caratteristiche configurabili sono limitate rispetto a quanto si può fare con gli switch completamente gestibili. Non è possibile accedere all’apparato attraverso riga di comando (CLI, command line interface). Gli apparati web-managed sono in genere monitorabili in maniera standard attraverso l’attivazione del protocollo SNMP.
  3. Fully managed (o gestibili): questi switch, come suggerisce il nome stesso, sono completamente monitorabili e configurabili (ovviamente nei limiti delle funzionalità consentite dal software). La maggior parte delle configurazioni, soprattutto se complesse, viene eseguita attraverso CLI; molto spesso, comunque, anche gli apparati completamente gestibili sono dotati di un’interfaccia web per facilitare il compito di configurazione. Il fatto che siano completamente gestibili, permette di attivare (attraverso il protocollo SNMP) una serie di monitoraggi sullo stato dell’apparato: non solo se l’apparato è funzionante o meno, ma anche, per esempio, se CPU e memoria sono utilizzate oltre limiti prefissati, se parti hardware come ventole o alimentatori non stanno funzionando correttamente, e così via.
• Layer 2, 2+, 3: si tratta di un altro elemento decisivo nella scelta dello switch più adatto, legato a un aspetto esclusivamente software che indica se lo switch è in grado di gestire indirizzi IP e di fare routing (instradamento di pacchetti) tra reti diverse ad esso connesse. A grandi linee (l’argomento verrà approfondito più avanti), le differenze sostanziali tra le diverse tipologie di switch sono:
  1. Layer 2: uno switch di questo tipo gestisce l’instradamento dei frame su base MAC address, quindi senza “guardare” l’indirizzo IP sorgente e destinazione della comunicazione. Questo comporta che lo switch non sia in grado di instradare pacchetti tra reti diverse (o tra VLAN diverse), perché non ha capacità di routing. Tipicamente, gli switch di accesso (cioè quelli che collegano gli endpoint della LAN: pc, telefoni, e così via) sono di livello 2, perché il loro compito è semplicemente quello di inviare le richieste degli utenti verso un livello superiore, che invece si occuperà d gestire anche la parte di instradamento
  2. Layer 3: gli switch di livello 3 sono paragonabili ai router, in quanto sono in grado di gestire i pacchetti fino ad analizzarne l’indirizzo IP e prendendo decisioni di routing sulla base di questa informazione. Queste decisioni sono prese consultando le cosidette tabelle di routing che vengono costruite attraverso l’attivazione di protocolli di routing, come ad esempio OSPF, RIP, BGP (nel caso di collegamenti verso reti esterne come Internet), ecc…Questa capacità permette allo switch di instradare i pacchetti da una rete all’altra, o da una VLAN all’altra. Tipicamente, gli switch di livello 3 si trovano a livello di distribuzione, dove arriva il traffico proveniente dal livello di accesso che deve essere instradato all’interno o all’esterno della LAN.
  3. Layer 2+ (o Layer 3 Lite): si tratta di switch molto simili a switch di livello 3, ma con caratteristiche di routing limitate rispetto a questi. Ad esempio, di solito gli switch Layer 2+ supportano solamente rotte statiche piuttosto che tutti i protocolli di routing sopra citati dei Layer 3 “puri”.
• Capacità di stacking: il fatto che uno switch supporti funzionalità di stacking è un elemento importante nella scelta del modello da considerare. Lo stacking (nelle macchine di fascia alta a chassis, spesso definito clustering) permette di “impilare” più switch tra di loro in modo che gli n switch impilati risultino all’amministratore come un’unica entità, e quindi configurabili e gestibili come se fossero un unico switch. Ad esempio, mettendo in stack due switch da 48 porte, l’amministratore non dovrà preoccuparsi di gestirli e configurarli separatamente, ma si troverà a gestire e configurare un solo switch da 96 porte. Lo stack può essere fatto attraverso le stesse porte dello switch (a 1 o 10Gbps) con un cavo dedicato, oppure attraverso schede apposite da installare su quei modelli di switch che dispongono di slot di espansione. Riassumendo, le caratteristiche significative delle macchine stackable sono:
  1. La possibilità di “impilare” varie macchine.
  2. La possibilità di gestirle assieme come fossero una.
  3. La possibilità di realizzare sistemi tolleranti ai guasti (se si rompe una macchina, le altre continuano a funzionare e allo stesso modo se una porta non funziona se ne collega un’altra).
 Prestazioni: le prestazioni di uno switch vengono tipicamente misurate attraverso due parametri, che sono:
  1. Switching capacity: si tratta della capacità complessiva dello switch di trasferire dati e la si misura in termini di Gigabit per secondo (Gbps). Tale capacità è influenzata dal numero di porte e dalla velocità di trasferimento dati di queste porte. Ad esempio, uno switch da 24 porte Gigabit avrà una switching capacity di 48Gbps, calcolata in questo modo: ogni porta ha una velocità di trasferimento dati pari a 1Gbps bidirezionali (ricezione e trasmissione); considerando tutte le 24 porte, lo switch ha una capacità pari a (1Gbps+1Gbps)*24 = 48Gbps. In altre parole, la switching capacity è calcolata considerando la capacità di tutte le porte di trasmettere in wire speed bidirezionalmente.
  2. Forwarding rate: indica il numero di frame che uno switch è in grado di instradare al secondo (viene infatti misurato in termini di Mpps – Mega packet per second). È un parametro fortemente influenzato dalla capacità di calcolo del dispositivo e quindi, a differenza della switching capacity che è calcolabile a partire dal numero e dal tipo di porte, deve essere dichiarato dal produttore come frutto di test di misurazioni di laboratorio con switch “scarico” (senza alcun servizio attivo).
 Caratteristiche di ridondanza: oltre alla capacità di stacking, che di per sé rappresenta un elemento di affidabilità e resilienza, altre caratteristiche che possono garantire ridondanza a uno switch sono:
  1. Alimentatori ridondati: uno degli elementi che può essere ridondato è l’alimentazione elettrica. Avere due o più alimentatori consente allo switch, in caso di guasto di uno degli stessi, di continuare ad essere operativo.
  2. Ventole ridondate: anche il sistema di ventilazione può essere ridondato, inserendo una serie di ventole aggiuntive per garantire un maggiore livello di raffreddamento, ma anche ridondanza nel caso uno o più ventole si guastino.
  3. Processori ridondati: tipicamente le macchine di fascia medio-alta (soprattutto chassis) sono dotati di alloggiamenti per ospitare schede di processamento aggiuntive, che aumentino le capacità di forwarding dello switch e che garantiscano ridondanza in caso di fault.
• Hot-swap: molto spesso, soprattutto quando si parla di apparati di fascia medio-alta (in particolare chassis), viene richiesto che le parti di ricambio siano hot-swappable, cioè che sia possibile inserire una nuova scheda/componente o sostituirne una esistente senza dover necessariamente spegnere l’apparato. La motivazione è piuttosto evidente: essendo macchine particolarmente critiche per l’attività della LAN, potrebbero essere operative anche nelle ore notturne, quando di solito si eseguono interventi di manutenzione di questo tipo, e quindi si rende necessaria la possibilità di cambiare componenti senza dover spegnere l’apparato.

Lezione di Reti di Telecomunicazioni: i Router e le sue funzionalità

Rispetto alla complessità che spesso accompagna la scelta degli switch, i router sono caratterizzati da un numero inferiore di variabili da considerare al momento della selezione. 

Di seguito, vengono riportati i principali elementi da tenere in considerazione nella scelta di un router:
• Modularità: è possibile distinguere tra router a configurazione fissa e router modulari. Tipicamente, i primi sono router entry-level che forniscono una singola tipologia di connettività; di solito, all’aumentare della modularità del router, aumenta anche il suo prezzo. Scegliere un router modulare garantisce scalabilità e flessibilità, in quanto l’aggiunta di un nuovo elemento (come, ad esempio, una nuova connettività) potrebbe non richiedere il cambio di apparato (se l’apparato non è già “saturo”, con tutti gli slot occupati).

• Connettività: la funzione principale di un router è quella di fornire connettività WAN. È quindi importante conoscere a priori quali sono le connettività supportate da un apparato. La connettività può essere fornita attraverso un’interfaccia installata on-board sul router, oppure attraverso schede esterne da installare su router modulari.
• Backup e load balancing: il backup può essere fornito sullo stesso apparato della connettività principale oppure su un secondo apparato, a seconda dei requisiti di ridondanza espressi dal cliente. Infatti, nel primo caso, in caso di guasto del dispositivo, entrambe le connessioni non saranno operative (ed è richiesto l’utilizzo di un router modulare per supportare entrambe le connessioni sullo stesso apparato); nel secondo caso, invece, oltre a garantire una ridondanza in termini di link, viene fornita ridondanza anche in termini di apparato. Quando si parla di connettività di backup si intende un link tipicamente con bandwidth inferiore rispetto a quello primario (ad esempio: hdsl primario, adsl backup; adsl primario, isdn backup) che viene utilizzato (o attivato nel caso di collegamenti dial-up come isdn) solamente nel momento in cui il link primario non è più disponibile.
Diverso è il discorso relativo al load balancing: fisicamente occorre ancora prevedere due connettività sullo stesso apparato oppure due apparati distinti, ma in questo caso i due link lavorano insieme, e non in modo mutuamente esclusivo come succede per il backup. Chiaramente, questo permette di aumentare la banda, arrivando a sommare le bandwidth dei due (o più) collegamenti. Di solito, il load balancing è una caratteristica abilitabile via software, e va quindi verificato che la versione di software installato sul router supporti tale funzionalità.
• Prestazioni: le prestazioni di un router vengono tipicamente misurate attraverso il forwarding rate, cioè quel parametro che indica il numero di pacchetti che un router è in grado di instradare al secondo (viene infatti misurato in termini di Kpps – Kilo packet per second).
• Interfacce LAN: sebbene sia concepito per fare altro (fornire connettività e collegare diverse reti tra loro), un router è in grado di svolgere le stesse funzioni che caratterizzano uno switch (con prestazioni molto inferiori). Per questo motivo, molto spesso i router sono dotati di interfacce LAN (on-board o su schede aggiuntive), cioè porte Ethernet in rame o fibra a 100/1000Mbps, sulle quali è possibile collegare apparati LAN quali pc e telefoni. In ogni caso, proprio perché le prestazioni di switching sono nettamente inferiori rispetto a uno switch vero e proprio, di solito il router viene utilizzato esclusivamente per fornire connettività; la LAN viene poi collegata a una o più porte Ethernet presenti sul router per garantire accesso alla rete a tutti gli utenti.
• Funzionalità software: ad oggi, è raro trovare un apparato che faccia solamente routing. Molto spesso, invece, tali dispositivi sono in grado di operare anche a mo di firewall (seppure con funzionalità limitate rispetto a firewall dedicati) e/o di centralino. È quindi importante identificare se il router richiesto debba implementare anche tali funzionalità aggiuntive, che spesso vengono abilitate via licenza software.

Individuare una congestione di rete



Nel corso delle mie attività lavorative odierne, ho incontrato questo fenomeno in molti casi. Tra i più comuni segnali di congestione della rete si possono evidenziare i seguenti:
Maggiore ritardo sulla rete
Tutte le reti sono caratterizzate da una capacità di trasporto dei dati limitata. Quando il carico è leggero, il tempo medio che intercorre tra il tentativo di invio di un pacchetto di dati da parte di un computer e l’invio effettivo sulla LAN è abbastanza breve. Se molti utenti cercano di collegarsi e di comunicare, il
ritardo medio aumenta e fa sembrare la rete “più lenta”, perché, rispetto a condizioni di carico leggere, ci vuole più tempo per inviare la stessa quantità di dati. 
In casi estremi, in presenza di un pesante carico di rete, le appli-cazioni possono anche bloccarsi. Il computer può scollegarsi, le applicazioni o il sistema operativo cadere e il sistema richiedere un riavvio. Non va comunque dimenticato che il livello prestazionale delle applicazioni dipende anche da altri fattori (per
esempio la velocità dei computer e le prestazioni del disco).

Elevato utilizzo della rete
Quando si cerca di determinare un livello di utilizzo accettabile, si devono considerare molte variabili, compreso il numero di stazioni presenti sulla LAN, il comportamento del software o dell’applicazione e gli schemi di traffico sulla rete. In altre paro-le, ci si deve chiedere se il traffico principale si registra tra gli utenti e il server locale o se gli utenti escono dai propri segmenti di rete provocando la congestione. Per la maggior parte degli ambienti aziendali i seguenti livelli di utilizzo possono diventare un metodo empirico per determinare se una LAN Ethernet sta raggiungendo il proprio carico massimo:
  • 20 percento della capacità totale, rilevata come media di una giornata lavorativa di otto ore;
  • 30 percento, come media dell’ora peggiore della giornata;
  • 50 percento, come media dei peggiori 15 minuti della giornata.
Utenti insoddisfatti
Le velocità di rete sono in parte soggettive: per misurare il livello di congestione della LAN, in ultima analisi, si può verificare semplicemente se gli utenti riescono a svolgere il proprio lavoro in modo efficiente. Se gli utenti non sono soddisfatti delle 
prestazioni della rete, il problema esiste, anche se le statistiche indicano che la rete funziona bene. Ovviamente l’insoddisfazione degli utenti è meno indicativa se il computer che utilizzano è obsoleto e influenza così la sensazione di scarse prestazioni rilevata dalle persone.
Quindi un buon design di rete dipende dal giusto bilanciamento tra client e server. Idealmente, i client dovrebbero trovarsi nella stessa rete dei server a cui accedono più di frequente. Ciò può essere semplicemente il risultato di un collegamento di client e server allo stesso dispositivo (hub), ma può essere anche ottenuto in modo ‘virtuale’, tramite il software di rete, in modo tale che gli utenti dell’area di un edificio possono trovarsi negli stes-si segmenti logici della rete di un server situato all’estremità opposta dello stesso edificio. Questo accorgimento permette di minimizzare il carico della dorsale di rete che trasporta il traffico tra i segmenti. Ecco un’ottima regola empirica. In un ambiente di rete medio/piccolo, progettato adeguatamente, l’80 percento del traffico su un determinato segmento deve essere di tipo locale (ad esempio, verso un server dello stesso gruppo di lavoro) e non più del 20 percento può, all’occorrenza, muoversi sulla dorsale, verso altri segmenti o “sottoreti”. La congestione della dorsale indica che gli schemi di traffico non rispondono alla regola dell’80-20. In tal caso, invece di aggiungere switch o di poten-ziare gli hub, può essere più semplice migliorare le prestazioni
della rete in uno dei seguenti modi:
  • Spostare le risorse (per esempio applicazioni, programmi, file da un server all’altro) per mantenere il traffico locale all’interno di un gruppo di lavoro.
  • Spostare gli utenti (‘virtualmente’, tramite specifiche software, se non è possibile fisicamente) in modo tale che i gruppi di lavoro riflettano meglio gli schemi di traffico effettivi.
  • Aggiungere server per consentire agli utenti di accedervi local-mente senza attraversare la dorsale.
Dopo essersi assicurati un design di rete e una collocazione delle risorse migliori, il passo successivo riguarda la scelta della la tecnologia più adatta alle proprie esigenze. Quindi una domanda spontanea, soprattutto nell'attività di PreSales è: "Come aumentare le prestazioni di rete? La maggior parte delle LAN nascono come Ethernet condivise con tutti gli utenti su un unico segmento. Ovviamente, se aumenta il numero di utenti collegati alla rete e se inviano file sempre più grandi, il carico di traffico aumenta. Rispetto agli hub tradizionali da 10 Mbps, gli hub e gli switch Fast Ethernet (velocità: 100 Mbps) migliorano immediatamente e drasticamente le prestazioni. Aggiungere questi dispositivi alla rete è come aumentare il limite di velocità (nel caso di un hub Fast Ethernet) e, con uno switch, aggiungere anche corsie a un’autostrada. La prestazione di rete, però dipende anche da un'altra variabile, ossia dalle dimensioni del traffico e della sua tipologia:
Molti file piccoli
Per un traffico sostenuto di piccoli file (messaggi di posta elet-tronica frequenti o stampe di documenti word), la congestione è tra il client e il server. Per le installazioni esistenti la segmentazione della rete con uno switch Ethernet (10 Mbps su tutte leporte, eccettuate una o due porte più veloci) rappresenta la soluzione più conveniente. Ciò significa avere connessioni a 10 Mbps per porta con i computer e una connessione veloce da 100Mbps per l’accesso al server.

Pochi file grandi
Il traffico “congestionato” con il trasferimento di grandi file e l’uso di applicazioni ad alto consumo di larghezza di banda da parte di alcuni utenti richiede un approccio diverso. Un gruppo di tecnici che utilizza programmi CAD può essere un esempio di traffico sporadico con trasferimento di grandi file. In tal caso, una velocità di 10 Mbps richiede lunghi tempi di invio ed è quindi meglio optare per switch che offrano tutte le porte ad alta velocità (100 Mbps). Ovviamente le schede di rete dei computer connessi a tali porte dovranno anche esse essere a 100Mbps per sfruttare questa “autostrada” più ampia e veloce per il trasferimento dei dati.

Molti file grandi
Anche per un traffico sostenuto di grandi file, come nel caso dei backup di rete, gli switch Fast Ethernet costituiscono la soluzione migliore. Essi possono infatti aumentare la velocità delle transazioni, riducendo l’impatto sulla dorsale e minimizzando la congestione del traffico. Inoltre gli switch Fast Ethernet permettono di segmentare la LAN (dividerla in segmenti, “sottoreti” più piccole) e di assegnare a ogni segmento un collegamento di rete specifico. Questo è un indubbio vantaggio perchè consente flessibilità e adattabilità della rete, ermettendo di creare sottogruppi di utenti e di connetterli con velocità adeguate alle loro necessità. Alcuni switch possono anche avere una o più porte a 1000 Mbps (si parla in questo caso di Gigabit Ethernet, ed è facile immaginare che in futuro se ne parlerà sempre di più).Combinando switch e hub, è possibile a questo punto ipotizza-re una LAN con una connessione ultraveloce al server o alla dorsale aziendale (a 1000 Mbps), connessioni veloci a 100 Mbps per alcuni utenti molto esigenti in fatto di uso della rete e connessioni più lente a 10 Mbps verso hub cui si connettonopiccoli gruppi di lavoro con poche esigenze di networking.