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