È corretto supporre che gli ASIC per le interfacce router o switch supereranno l'uso di una CPU x86 per tutta l'elaborazione dei pacchetti che risentiranno notevolmente degli interruzioni della CPU?
È difficile dire specificamente se gli interrupt sono una limitazione, poiché non stiamo nominando CPU, sistemi operativi o modelli di router specifici in questa parte della tua domanda. Nel complesso, è una generalizzazione sicura che le CPU per scopi generici non possono toccare le prestazioni di commutazione dei pacchetti di un ASIC ben progettato. Quando dico prestazioni, sto parlando di metriche RFC 2544 , come la velocità di inoltro dei pacchetti al secondo (NDR), la velocità effettiva e la latenza.
Questo non vuol dire che non c'è posto per un router basato su CPU; solo che le nostre esperienze di vita ci dicono che una CPU non può cambiare i pacchetti così rapidamente come un ASIC o FPGA. Le mie conclusioni sul fatto che ASIC / FPGA siano più veloci di una CPU multi-core sembrano essere rafforzate da queste domande e risposte su Electronics.SE .
Prestazioni del bus PCI
So che le velocità del bus x86 impongono i massimi teorici alla commutazione della larghezza di banda, specialmente quando le velocità superano 1 Gbps.
Non sono sicuro a quali restrizioni di autobus ti riferisci qui, ma le informazioni che hai potrebbero essere in qualche modo obsolete. Al giorno d'oggi il bus PCI Express utilizzato nella maggior parte dei sistemi è ben al di sopra dei 10 Gbps.
PCIe 2.0 utilizza uno schema di codifica 8b / 10b che lo penalizza di circa il 20% per l'overhead di codifica della corsia PCI; prima di quella penalità di codifica, PCIe 2.0 offre 4 Gbps di larghezza di banda grezza per corsia. Tuttavia, anche con una penalità del 20% 8b / 10b, PCIe 2.0 x8 (8 corsie PCIe) sporge di oltre 25 Gbps; in questo modo è possibile eseguire facilmente un singolo adattatore 10GE a velocità di linea bidirezionale su una scheda PCIe 2.0 x8.
PCIe 3.0 (utilizzato nei chipset Intel Ivy Bridge) utilizza la codifica 128b / 130b, che migliora notevolmente l'efficienza del bus PCI e raddoppia la larghezza di banda per corsia. Quindi una scheda PCIe 3.0 x8 potrebbe fornire 63 Gbps (8.0 * 8 * 128/132). Non c'è nulla da starnutire; puoi impacchettare in sicurezza due 10GE a velocità di linea su un singolo montante con tali tassi di prestazione.
Prestazioni Cisco vs Vyatta
Avvertenza: sto usando materiale di marketing fornito dal fornitore per tutti i confronti ...
- In che modo la velocità di commutazione ASIC Catalyst 6500 Sup2T, ad esempio, si confronta con le velocità di commutazione realistiche x86 che si trovano su sistemi operativi o SDN generali?
Questo è un po 'impegnativo perché confronteremo un sistema di commutazione completamente distribuito (Sup2T) con un sistema di commutazione centralizzata (Vyatta), quindi fai attenzione a interpretare i risultati.
- Sup2T può inoltrare fino a 60Mpps con velocità senza drop con funzionalità abilitate . Riferimento: White paper sull'architettura Catalyst 6500 Sup2T . Si noti che questo è solo un sistema Sup2T nudo senza DFC (Distributed Forwarding Cards). Nota 1
- Ho trovato i risultati dei test RFC 2544 per l'inoltro di Vyatta 5600 fino a una velocità di non caduta di 20,58 Mpps e 70 Mpps se è possibile accettare alcune cadute. Il throughput NDR era di 72 Gbps. Riferimento: Vyatta 5600 vRouter Performance Test (SDN Central) . Per visualizzare il rapporto completo è necessaria la registrazione SDN Central.
- In che modo la velocità di commutazione di Cisco 7200VXR-NPE-G2, ad esempio, si confronta con la stessa ...
Il Vyatta lancia un NPE-G2 fuori dall'acqua, dal punto di vista delle prestazioni; l'NPE-G2 può fare fino a 2Mpps in base al foglio dati Cisco NPE-G2 . Questo non è davvero un paragone equo, nonostante l'età di NPE-G2, rispetto a un nuovissimo sistema Intel 10-Core ricco di schede 10GE.
Come si confrontano le latenze tipiche di router o switch rispetto ai sistemi operativi generali che svolgono la stessa funzione?
Questa è una domanda fantastica. Questo documento indica che Vyatta ha latenze più elevate, ma mi piacerebbe vedere questo tipo di test fatto contro le CPU della serie Intel E5.
Sommario
Riepilogo di un confronto fianco a fianco tra Sup2T e Brocade Vyatta 5600:
- Sup2T: IPDR 4 NDR 60Mpps con funzionalità (come ACL)
- Vyatta e Intel E5: fino a 20Mpps IPv4 NDR senza funzionalità o 70Mpps se puoi accettare un numero ridotto di drop.
La Sup2T vince ancora secondo me, in particolare quando guardi cosa ottieni con la Sup2T (scala distribuita a 720Mpps, MPLS, innumerevoli MIB, commutazione Layer2 e Layer3, ecc ...).
Se tutto ciò che ti interessa sono le prestazioni di commutazione non elaborate, puoi ottenere numeri di prestazioni rispettabili da una CPU x86. Tuttavia, nelle reti reali, spesso non si tratta solo di chi ha i migliori numeri di drag-race; la maggior parte delle persone deve preoccuparsi delle funzionalità (vedi: Quando devo concentrarmi su ciascun valore per la valutazione dell'interruttore? ). Un grande fattore da considerare è il numero di funzionalità disponibili e il modo in cui si integrano con il resto della rete.
Vale anche la pena esaminare la fattibilità operativa dell'utilizzo di sistemi basati su x86 nella propria azienda. Non ho usato Brocade + Vyatta da solo, ma potevano fare un lavoro decente costruendo buoni comandi per lo spettacolo e supportando gli hook nella scatola. Se effettivamente supportano abbastanza funzionalità e il loro sistema si adatta bene nelle reti reali , allora provaci se è quello che ti piace.
Tuttavia, se qualcuno va a buon mercato e costruisce solo un box Linux + bird
/ quagga
+ ACLs + qos, non vorrei essere il ragazzo che supporta quella soluzione. Ho sempre sostenuto che la comunità open source fa un ottimo lavoro innovando, ma la sostenibilità dei loro sistemi impallidisce rispetto ai principali fornitori di rete (Arista / Cisco / Force10 / Juniper). Basta guardare iptables
e tc
vedere quanto è complicato fare una CLI. Occasionalmente rispondo alle domande di persone che guardano all'output di ip link show
o ifconfig
che vengono cancellate perché i contatori di pacchetti non sono corretti; in genere i principali fornitori di rete fanno un lavoro molto migliore testando i loro contatori, rispetto a quello che vedo nei driver NIC di Linux.
Note finali :
Nota 1 Nessuno a cui importa delle prestazioni acquisterebbe mai un Sup2T e non riuscirebbe a popolare il telaio con DFC. Il Sup2T può passare a 60Mpps, ma uno chassis caricato con DFC scala a 720Mpps.
Nota 2 Il test Vyatta è stato eseguito su Intel E5-2670v2 a doppio processore e 10 core a 2,5 Ghz per core; se contiamo un singolo core come due core virtuali (cioè hyper-threading), si tratta di un totale di 40 core per la commutazione di pacchetti. Vyatta è stato configurato con schede NIC Intel x520-DA2 e ha utilizzato Brocade Vyatta versione 3.2.