Introduzione 1 Capitolo 1 Network Processor 5
1.1 Evoluzione Storica 5
1.2 Caratteristiche 8
1.2.1 Costi e flessibilità dei Network Processor 9 1.2.2 Scalabilità dei Network Processor 10 1.2.3 Kernel dei network Processor 11 1.3 Architetture dei Network Processor 12 1.4 Network Processor Intel IXP2400 15 1.4.1 Modello Intel IXP2400 16
1.4.2 Intel X-Scale 17
1.4.3 Microengine 18
1.4.3.2 Registri 23 1.4.3.3 Segnalazione 26 1.4.4.4 Local Memory 27 1.4.4.5 CAM e CRC 28 1.4.4 Memorie 29 1.4.5 MSF 31 1.4.6 SHaC 31
1.4.7 Intel IXA Portability Framework 32
1.4.8 IXA SDK 34
1.4.9 Developer’ Workbench 35
1.4.10 Radisys ENP-2611 36
Capitolo 2 Modelli di traffico 39 2.1 Classificazione dei modelli 40
2.2 Situazione odierna 42 2.3 Modellizazione e Markovianità 44 2.4 Principali modelli 46 2.4.1 On/Off Model 47 2.4.2 CBR Model 48 2.4.3 Poisson Model 48 2.4.4 IPP Model 49 2.4.5 MMPP Model 50 2.4.6 MMF Model 52
2.4.7 M/G/∞ Model 53
2.4.8 POO Model 56
2.5 Modelli regressivi 57
2.5.1 AutoRegressive Models 57 2.5.2 Discrete AutoRegressive Models 58 2.5.3 Autoregressive Moving Avarage Models 59 2.5.4 AutoRegressive I. Moving Avarage Models 60
2.5.5 TES Models 60
Capitolo 3 Generatori sviluppati su NP 61
3.1 Pktgen 61
3.1.1 Packet Generator 64
3.1.1.1 Traffico CBR 67
3.1.1.2 Traffico Burst 68
3.1.2 Core Controller 69
3.1.3 The Graphical Interface 70
3.1.4 Prestazioni 73
3.2 IXPktgen 75
3.2.1 Analisi del codice sorgente dei microengine 79
3.2.2 Prestazioni 83
Capitolo 4 BRUNO 85
4.2 BRUTE 86 4.2.1 Precisione del timer 87
4.2.2 Socket 88
4.2.3 Algoritmo di scheduling 90 4.2.4 Architettura del generatore 94
4.2.4.1 Il Parser 95 4.2.4.2 Traffic Engine 96 4.2.4.3 T-Module 96 4.2.4.4 Modelli implementati 97 4.3.4.5 Prestazioni 99 4.3 BRUNO 100 4.3.1 Struttura generale 101 4.3.2 Soluzioni architetturali 102 4.3.3 Load Balancer 104 4.3.3.1 Thread pari 105 4.3.3.2 Thread dispari 106 4.3.3.3Considerazione sui ritardi del sistema 110 4.3.3.4 Considerazioni sulla correzione 113 4.3.3.5 Con siderazioni generali sul LB 117
4.3.4 Traffic Generator 122
4.3.5 TX 126
Capitolo 5 Prove sperimentali 129 5.1 Prima prova 130 5.2 Seconda prova 133 5.3 Terza prova 135 5.4 Quarta prova 137 5.5 Quinta prova 149 5.6 Sesta prova 141 5.7 Settima prova 143
5.8 Confronti prestazionali: BRUNO con e senza E.R. 145 5.9 Confronti tra BRUNO e AX4000 149