Abbiamo iniziato questo capitolo considerando il collegamento come un cavo fisico che connette due host. Studiando i protocolli ad accesso multiplo abbia visto che bari host possono essere connessi da un cavo condiviso, che può essere uno spettro radio o un altro mezzo. In questo caso possiamo considerare il collegamento in modo un po' più astratto come un canale, piuttosto che un cavo.
Studiando ethernet abbiamo visto che il mezzo di interconnessione potrebbe essere una complessa infrastruttura commutata. Gli host hanno mantenuto la visione che il mezzo di interconnessione fosse un canale a livello di collegamento che connette due o più host.
Tramite le VLAN abbiamo visto che un host ignora il fatto che un host sia nello stesso segmento LAN o si trovi in un segmento raggiungibile tramite una LAN commutata e geograficamente estesa.
Nel caso di una connessione via modem in dial-up tra due host, il collegamento che connette gli host è una rete telefonica, ma dal punto di vista del livello di collegamento di Internet, la connessione dial-up è vista come un semplice cavo. In questo senso Internet è una rete telefonica virtuale.
MPLS è un protocollo che utilizzala la commutazione di pacchetto ed è una rete a circuito virtuale. Ha propri formati di pacchetto e propri metodi di invio.
Dal punto di vista di Internet MPLS può essere vista sia come una rete telefonia sia come una rete Ethernet commutata sia come qualsiasi collegamento che interconnette dispositivi IP.
MPLS adotta la nozione di circuito virtuale utilizzando etichette di lunghezza fissa.
L'obiettivo non era abbandonare l'infrastruttura IP in favore di una basata su etichette di lunghezza fissa e su canali virtuali, ma migliorare l'inoltro di pacchetti selettivamente etichettati con un router che sceglie un inoltro basato su etichetta, quando possibile, invece che IP.
MPLS ha un campo aggiuntivo tra il livello IP e quello di collegamento: etichetta, exp, S, TTL.
Risulta evidente che tale frame è leggibile solo da router che implementano MPLS.
Un router MPLS non ha necessità di estrarre l'indirizzo di destinazione e di eseguire un controllo del prefisso più lungo nella tabella di inoltro.
Nella figura sopra i router da R1 fino a R4 sono MPLS, mentre R5 e R6 sono router IP standard. R1 ha avvertito R2 e R3 che può stabilire un percorso verso A e che invierà ad A un frame ricevuto usando un'etichetta MPLS 6.
Il router R3 ha avvertito R4 che può stabilire un percorso verso A e D e che i frame che arrivano con etichetta MPLS 10 e 12 devono essere inviati a quelle destinazioni.
R2 ha anche avvertito R4 che può raggiungere A e che un frame ricevuto con etichetta MPLS 8 verrà inoltrato verso quella destinazione. Notiamo che R4 si trova ora in una posizione interessante, disponendo di due percorsi MPLS per raggiungere A: attraverso l'interfaccia 0 con etichette MPLS 10 in uscita e attraverso l'interfaccia 1 con etichetta MPLS 8.
MPLS è una forma di ingegneria del traffico che migliora la commutazione dei pacchetti, e inoltre l'inoltro di pacchetti in percorsi che non sono "coperti" da IP e sono invece resi disponibili da collegamenti MPLS.
MPLS potrebbe anche essere utilizzato per implementare reti private virtuali.
Negli ultimi anni grandi aziende come Amazon, Facebook e Google, il cui business è dedicato a Internet, hanno costruito enormi data center ognuno dei quali ospita centinaia di migliaia di host.
Ogni data center ha una sua rete data center network, che interconnette tra loro gli host e interconnette il data center con Internet. In questa argomentazione forniremo una breve introduzione alle reti dei data center per applicazioni di cloud computing.
Gli host nei data center sono generalmente calcolatori dotati solo di CPU, memoria e spazio su disco. La forma più tipica in cui si trovano in commercio oggi prende il nome di blade.
Gli host vengono riposti all'interno di armadi chiamati rack, ognuno può ospitare tra i 20 e i 40 blade. Associato a ogni rack vi è uno switch (posto in cima al rack, per abitudine) chiamato TOR (top of rack) switch. Ogni host nella rack ha una scheda di rete che lo connette al suo TOR switch e ogni TOR switch ha porte addizionali che possono essere connesse ad altri switch.
La rete dei data center supporta due tipi di traffico:
La figura mostra un data center con topologia gerarchica.
I data center forniscono in contemporanea diversi servizi. All'interno del data center le richieste vengono prima dirette ad un load balancer (bilanciatore del carico) il cui compitopè la distribuzione delle richieste agli host del data center. Un grande data center ne ha anche più di uno. Quando un load balancer riceve una richiesta per un'applicazione, inoltra la richiesta a uno degli host che può gestirla. Un host per processare tale richiesta può rivolgersi ad altri host del data center. Dopo averla processata, l'host invia la risposta al load balancer che la trasmette al client che l'aveva effettuata.
Il load balancer fornisce anche un servizio simile al NAT.
Per un piccolo data center ospitante poche migliaia di host potrebbe essere sufficiente una rete con un boarder router, un load balancer e qualche decina di rack, tutti interconnessi con un singolo switch. Tuttavia, quando sono presenti molti più host, può essere necessaria una struttura gerarchica di router e switch (come quella mostrata in figura sopra).
In cima alla gerarchia vi è un boarder router che si connette ai router di accesso (in figura solo due, ma potrebbero essere molti), vi sono poi, più in basso, tre livelli di switch (il terzo è rappresentato dal TOR switch). Tutti i collegamenti in genere utilizzano dei cavi in fibra o in rame.
Con tale gerarchia un data center si può estendere anche per diversi chilometri.
Dato che non si vuole avere problemi di interruzione del servizio, i data center utilizzando degli apparati di rete ridondanti (non mostrati nella figura).
Gli host sono partizionati in piccole sotto reti per localizzare il traffico broadcast di ARP.
Sebbene l'architettura appena descritta risolve il problema della scalabilità, soffre di una limitata capacità di comunicazione da host a host. Per capire la limitazione consideriamo ancora la figura sopra e si supponga che ogni host si connetta al proprio TOR switch con un collegamento da 1Gbps, mentre i collegamenti tra switch sono di 10Gbps. Due host nello stesso rack sfruttano sempre tutta la banda di 1Gbps, in quanto sono limitati solo dalla velocità delle loro schede di rete. Tuttavia, se ci sono simultaneamente nella rete del data center molti flussi di traffico, il tasso trasmissivo tra due host in rack differenti può essere molto minore.
Si consideri un traffico consistente di 40 flussi simultanei tra 40 coppie di host in rack diversi.
In particolare si supponga che ognuno dei 10 host nel rack 1 invii un flusso a 1 host corrispondente nel rack 5.
Allo stesso modo vi sono 10 flussi simultanei tra coppie di host nei rack 2 e 6.
Nei rack 3 e 7 e nei rack 4 e 8.
La figura mostra la situazione per i rack 1 e 5, ovviamente si immagini che tali connessioni passano per lo switch B (guarda l'immagine sopra):
Se ogni flusso condivide in modo paritario la capacità del collegamento con gli altri flussi, i 40 flussi che attraversano il collegamento da 10 Gbps tra A e B (vedi switch di primo livello e secondo livello in figura) riceveranno solo
Per ridurre i costi dei data center e migliorare le prestazioni di throughput e ritardo, sono sempre alla ricerca di nuove tecniche.
Una di questa consiste in nuove architetture di interconnessione e nuovi protocolli di rete che superano le limitazioni delle tradizionale progettazione gerarchica.
Una possibilità è implementare una topologia completamente connessa.
Ogni switch di primo livello è connesso ad ogni switch del secondo livello.
Riconsiderando l'esempio di prima (dei 40 flussi) e la topologia mostrata in figura, adesso dagli switch di secondo livello a quelli di primo vi sono 4 percorsi, che forniscono una capacità aggregata di 40Gbps e migliorando di conseguenza le prestazioni.
Altra caratteristica di questa topologia è la flessibilità: la comunicazione tra coppie di rack non connessi allo stesso TOR switch è logicamente equivalente, indipendentemente dalla loro posizione nel data center. Un'altra tendenza sono i data center modulari (MDC).
In un container viene costruito un mini data center. All'interno di del container non vengono lasciati spazi vuoti, essendo difficile da manutenere. Il container nel tempo si degrada in prestazioni, quando molte componenti si rompono l'intero container viene sostituito.
Quando si usano topologie altamente connesse, uno dei problemi maggiori risulta essere la progettazione degli algoritmi di instradamento tra gli switch.
Vengono utilizzati variazioni di instradamenti casuali o vengono installate più scede di rete in ogni host connettendo ogni host a più switch a basso costo e lasciare che gli host instradino in modo intelligente il traffico tra gli switch.