Indice
1 Introduzione 4
1.1 Cosa `e il VOIP . . . 5
1.1.1 Protocolli Internet . . . 6
1.2 Sistemi gi`a in uso per riconoscere il traffico VOIP . . . 8
1.2.1 VoIPong . . . 8
1.2.2 Wireshark . . . 9
1.2.3 Soluzioni software e soluzioni hardware . . . 10
2 Il Protocollo RTP 12 2.1 RTP . . . 15 2.2 RTCP . . . 19 2.2.1 Tipi di pacchetti RTCP . . . 20 2.3 Riconoscimento . . . 27 3 Design 30 3.1 Algoritmo per il riconoscimento di traffico RTP . . . 30
3.1.1 Parsing . . . 32
3.1.2 Pre-filtraggio . . . 34
INDICE INDICE
3.1.3 Elaborazione dati . . . 35
3.1.4 Pacchetti RTCP . . . 37
3.2 Implementazione dell’algoritmo in hardware . . . 38
3.3 NetFPGA . . . 41
3.3.1 Comunicazione tra moduli . . . 46
3.3.2 Module Header . . . 48
3.3.3 Register pipeline . . . 50
3.3.4 Simulazione . . . 51
3.3.5 Implemetazione . . . 52
3.4 Utilizzo delle risorse della scheda . . . 52
3.4.1 Tempo di arrivo dei pacchetti . . . 54
3.4.2 SRAM . . . 56
3.5 Sistema di memorizzazione dati . . . 57
3.5.1 Accesso alla SRAM . . . 58
3.5.2 Gestione SRAM . . . 59
3.5.3 Mappatura della memoria . . . 61
3.5.4 Calcolo dell’indirizzo in SRAM . . . 63
3.6 Struttura Design Hardware . . . 66
3.6.1 Moduli di prefiltraggio . . . 66
3.6.2 Moduli di inoltro dei pacchetti . . . 69
3.6.3 Moduli di riconoscimento ed elaborazione dati . . . 72
3.7 Software . . . 82
3.7.1 NTP Synchronization . . . 83
3.7.2 CLI . . . 83
INDICE INDICE 4 Prove Sperimentali 86 4.1 Riconoscimento Pacchetti . . . 87 4.2 Falsi positivi . . . 88 4.3 Pacchetti persi . . . 89 4.4 Jitter . . . 90 4.5 Ritardo end-to-end . . . 92 5 Conclusioni 96 3