Una Soluzione di NAT Traversal per un sistema di comunicazione
Transcript
Una Soluzione di NAT Traversal per un sistema di comunicazione
Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica Una soluzione di NAT Traversal per un sistema di comunicazione VOIP per una PMI tesi di laurea Una Soluzione di NAT Traversal per un sistema di comunicazione VOIP per una PMI 2005-2006 relatore Ch.mo prof. Massimo Ficco correlatore Ch.mo prof. Giuseppe Cinque candidato Vincenzo Golia D’Augè Matr. 831/106 Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica Una soluzione di NAT Traversal per un sistema di comunicazione VOIP per una PMI Contesto e contributo Contributo: Una soluzione di NAT Traversal da applicare ad un’architettura di servizi di comunicazione tramite VOIP per una piccola media impresa. I servizi sono: Fonia: es. chiamata vocale Dati: es. trasferimento file, instant messanging Video: es. videoconferenza Presenza: reperibilità di un utente Contesto: Il lavoro di questa tesi fa parte di un progetto più ampio denominato progetto “PESICA”. Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica Una soluzione di NAT Traversal per un sistema di comunicazione VOIP per una PMI Concetti generali sul NAT Il NAT (Network (Network Address Translator) Translator) è definito nella RFC 3022 Effettua la traduzione di indirizzi fra domini differenti Il NAT garantisce la trasparenza del routing fra domini Modifica gli indirizzi IP e/o i porti dei pacchetti Mantiene informazioni di stato relativamente al mapping fra domini in apposite tabelle Consente la connessione di un insieme di hosts ad Internet utilizzando un unico indirizzo IP Vantaggi: Permette di risparmiare indirizzi IP Rafforza la sicurezza Non è necessario cambiare gli indirizzi della rete privata per accedere ad Internet Svantaggi: Viola il principio “end “end to end t” argument” argument E’ richiesto uno specifico supporto hardware , q p il Alcuni p protocolli,tra cui quelli per VOIP ed il peer to peer, peer, non funzionano correttamente Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica Una soluzione di NAT Traversal per un sistema di comunicazione VOIP per una PMI Il NAT ed il VOIP Problema: I protocolli Voice Over Ip (SDP,H.323,SIP,RTP) senza supporto hardware non funzionano attraverso il NAT Caratteristiche che il NAT viola: non traduce indirizzi specifici di un dominio o informazioni sui porti nel payload payload.. sessione di controllo, per es. SIP, H.323 e RTSP. Il NAT in genere non conosce il protocollo ed il concetto di sessione per quel protocollo. Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica Una soluzione di NAT Traversal per un sistema di comunicazione VOIP per una PMI L’architettura L architettura software del sistema Architettura di rete: Protocollo di segnalazione SIP (Session Internet Protocol) Protocol) Protocollo RTP per trasferimento dati Software Server per la gestione del protocollo SIP: (SIP E t ) SER (SIP Express R Router Router) Architettura di sistema: Sistema operativo Linux Debian DBMS MySQL Server Web APACHE Server HTTP XCAP Middleware PHP Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica Una soluzione di NAT Traversal per un sistema di comunicazione VOIP per una PMI Analisi comparativa delle soluzioni di NAT Traversal STUN UDP/TCP HOLE PUNCHING MEDIAPROXY RTP PROXY Non integrato nativamente in SER Non integrato nativamente in SER Integrato nativamente in SER Integrato nativamente in SER Non funziona con NAT simmetrico Non funziona con NAT simmetrico Funziona con qualsiasi tipo di NAT Funziona con qualsiasi tipo di NAT Necessita di essere configurato nei clients Non necessita di nessuna configurazione aggiuntiva gg Non necessita di nessuna configurazione aggiuntiva gg Non necessita di nessuna configurazione aggiuntiva gg Semplice architettura client-server Architettura complessa Architettura complessa Architettura complessa I client non devono supportare t RTP simmetrico I client non devono supportare t RTP simmetrico I client non devono supportare t RTP simmetrico I client devono supportare t RTP simmetrico Da q queste caratteristiche la soluzione che meglio g si adatta al progetto p g è Mediaproxy p y Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica Una soluzione di NAT Traversal per un sistema di comunicazione VOIP per una PMI Mediaproxy Soluzione di AG Projects Formato da tre componenti: Mediaproxy.so Proxy dispatcher Proxy server Risiede sulla stessa macchina di SER g g Configurato nel file ser.cfg Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica Una soluzione di NAT Traversal per un sistema di comunicazione VOIP per una PMI Utilizzo dei servizi Requisiti: Creazione di un account mediante l’utilizzo dell’interfaccia web Utilizzo: Configurazione di un client SIP (Linphone,Kphone,Eyebeam,Windows Messenger) e conseguente accesso con autenticazione a SER Download automatico della contact list tramite XCAP Scelta da parte dell’utente del servizio da utilizzare Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica Una soluzione di NAT Traversal per un sistema di comunicazione VOIP per una PMI Test della piattaforma con Mediaproxy I test sono stati effettuati per i servizi di chiamata e videochiamata con client SIP differenti istallati su vari tipi di terminali (PC,Notebook,PDA) Software utilizzati per la diagnostica del test: Ethereal Session.py Rtpgenerator.py e fakeconversation.py Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica Una soluzione di NAT Traversal per un sistema di comunicazione VOIP per una PMI Conclusioni e sviluppi futuri Ricerca ed applicazione pp di una soluzione di NAT Traversal ad un’architettura di servizi integrati di comunicazione su rete IP per una PMI Problematiche affrontate: Analisi comparativa delle soluzioni di NAT Traversal offerte dal mercato Installazione e configurazione di Mediaproxy Testing della nuova architettura software Sviluppi futuri: Rendere interoperabile tale architettura con la rete PSTN Asterisk Migliorare il servizio di presenza permettendo di supportare non solo gli stati online ed offline ma anche altri stati come per es. non p , p etc.etc. al computer,occupato