Realizzazione di un proxy H.323 basato su di un Media Controller e sul packet filter Linux

Tesi di laurea in Ingegneria delle Telecomunicazioni svolta presso il Pointercom con la collaborazione del Laboratorio Telematico del Dipartimento Info-Com - Universita' di Roma La Sapienza da Emanuele Toti

Indice dei contenuti



Introduzione

Il presente lavoro è la risposta ad un'esigenza ben precisa venutasi a creare nell'ambito della telefonia su reti IP.

VoIP è una tecnologia che rende possibile il trasporto della voce su reti per dati, attraverso il protocollo Internet: su questa piattaforma vengono trasportati simultaneamente voce e dati, e i servizi dei tradizionali PBX vengono espletati da computers.

L'uso di questa tecnologia è particolarmente indicato in ambito "business": a parte le comodità dell'utente finale (si può iniziare una chiamata telefonica con un clic del mouse, serve un solo indirizzo per ricevere voce, email o fax, etc.) permette dei costi di manutenzione molto ridotti, e offre la possibilità di aggiornare i sistemi con molta facilità. In più, le chiamate effettuate sulla rete interna sono a costo zero.

La telefonia su IP fa uso dello standard H.323. Secondo tale standard i terminali, siano essi client software o telefoni IP, vengono identificati su una rete tramite il loro indirizzo IP: i pacchetti che vanno da un terminale all'altro hanno nella loro intestazione l'indirizzo sorgente e quello di destinazione.

In ambito industriale la maggior parte delle aziende ha una propria rete per dati; a causa della scarsità di indirizzi IP la stragrande maggioranza di tali reti ha uno spazio di indirizzamento interno "privato", le cui caratteristiche sono specificate nella RFC 1918 (in breve: esiste un pool di indirizzi disponibile per l'uso in qualunque rete privata).

Facendo uso di NAT o PAT queste LAN possono raggiungere la rete "pubblica" facendo uso di pochi, se non addirittura un solo indirizzo IP "pubblico".

I dispositivi NAT o PAT sono in grado di accedere solo alle intestazioni dei pacchetti, agendo sugli indirizzi di sorgente o destinazione e "correggendoli" mascherando i pacchetti provenienti dalla rete privata con un indirizzo pubblico.

Purtroppo il funzionamento dell'H.323 prevede l'incapsulamento di alcuni indirizzi nei messaggi di protocollo: i dispositivi NAT e PAT non hanno accesso a tali messaggi, e non possono "correggerli".

Una chiamata tra un terminale su rete pubblica e uno su rete privata non può funzionare, dato che i pacchetti diretti ai terminali di rete privata hanno nella loro intestazione un indirizzo privato: gli indirizzi privati sono non univoci, e i router di Internet non sanno come instradarli.

Nell'ottica di un'integrazione delle reti per dati con la telefonia su IP, questo porta a un problema non risolvibile se non con l'aggiunta di un elemento all'architettura della rete.

La soluzione realizzata consiste in un proxy H.323, da affiancare ad un gatekeeper, e da installare su una macchina che abbia sia un indirizzo privato sia uno pubblico.

Nel caso di una comunicazione tra endpoint attestati su reti che non abbiano diretta visibilità reciproca (non solo una rete pubblica e una privata, ma anche due reti private con spazi di indirizzamento differenti), il proxy interviene, facendosi carico dell'inoltro a destinazione della segnalazione e del controllo di chiamata, oltre che dei pacchetti RTP che trasportano i media, siano essi audio o video, o entrambi.

L'unico vincolo è l'obbligatorietà della registrazione al gatekeeper degli endpoint che vogliano comunicare: ogni endpoint raggiungerà il gatekeeper attraverso un indirizzo a lui direttamente visibile. Ovviamente il gatekeeper dovrà funzionare in modalità routed.

Il meccanismo usato per realizzare tutto questo si basa sulla capacità del kernel Linux di fare Destination Nat e Source Nat per i pacchetti IP, TCP e UDP.

Il presente lavoro è stato realizzato in collaborazione con la Pointercom S.p.A., solution provider per telefonia IP, come elemento fondamentale di un'architettura di rete che permetta lo scambio di contenuti multimediali in un ambito che include la rete Internet, LAN aziendali e le reti commutate, in modo completamente trasparente all'utente terminale.

Il lavoro è suddiviso in cinque capitoli: nel primo viene descritta in generale l'architettura H.323, i suoi componenti, i motivi che hanno portato al successo di tale standard; nel secondo viene esposto il problema da risolvere; nel terzo viene analizzato in maggior dettaglio il protocollo H.245, descritta la situazione di partenza e gli strumenti usati; nel quarto viene esposta la soluzione implementata e si esamina il funzionamento del prodotto realizzato in varie situazioni reali; infine nel quinto e ultimo capitolo si espongono i problemi ancora da risolvere, le possibilità di upgrade e i vantaggi derivati dall'approccio scelto per la soluzione del problema.



Glossario dei termini

ACF Admission Confirm

ALG Application Level Gateway

API Application Program Interface

ARJ Admission Reject

ARQ Admission Request

ASN.1 Abstract Syntax Notation one

ATM Asynchronous Transfer Mode

BCF Bandwidth Change Confirmation

BER Basic Encoding Rule

B-ISDN Broadband Integrated Services Digital Network

BRJ Bandwidth Change Reject

BRQ Bandwidth Change Request

CLC H.245 closeLogicalChannel message

CLC ACK H.245 closeLogicalChannel Acknowledge message

DCF Disengage Confirmation

DNS Domain Name System

DRQ Disengage Request

GCF Gatekeeper Confirmation

GK Gatekeeper

GRJ Gatekeeper Reject

GRQ Gatekeeper Request

GSTN General Switched Telephone Network

GW Gateway

HTTP Hypertext Transfer Protocol

ID Identifier

IP Internet Protocol

IPX Internetwork Protocol Exchange

IRQ Information Request

IRR Information Request Response

ISDN Integrated Services Digital Network

ITU-T International Telecommunication Union  Telecommunication

Standardization Sector

LAN Local Area Network

LCF Location Confirmation

LRJ Location Reject

LRQ Location Request

MC Multipoint Controller

MCS Multipoint Communications System

MCU Multipoint Control Unit

MG Media Gateway

MGC Media Gateway Controller

MP Multipoint Processor

MTU Maximum Transmission Unit

NAT Network Address Translation

N-ISDN Narrow-band Integrated Services Digital Network

OLC H.245 openLogicalChannel message

OLC ACK H.245 openLogicalChannel Acknowledge message

PAT Port Address Translation

PBN Packet Based Network

PDU Packet Data Unit

PER Packet Encoding Rule

PRI Primary Rate Interface

QCIF Quarter CIF

QOS Quality of Service

RAS Registration, Admission and Status

RCF Registration Confirmation

RFC Request For Comments

RIP Request in Progress

RRJ Registration Reject

RRQ Registration Request

RTCP Real Time Control Protocol

RTP Real Time Protocol

SCN Switched Circuit Network

TCP Transport Control Protocol

TSAP Transport layer Service Access Point

UCF Unregister Confirmation

UDP User Datagram Protocol

URJ Unregister Reject

URQ Unregister Request

 

 





Page hosted at Laboratorio Telematico at Info-Com
Last Update ven gen 31 18:03:32 CET 2003