Di Marco Calisti, Antonio Cuomo, Rocco Mazzeo e Francesco Pacilio.

Slides:



Advertisements
Presentazioni simili
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA
Advertisements

3 ottobre 2000Consiglio Nazionale delle Ricerche Progetto Biblio MIME 1 Consiglio Nazionale delle Ricerche Area di Ricerca di Bologna Istituto per le Applicazioni.
Gli ipertesti del World Wide Web Funzionamento e tecniche di realizzazione a cura di Loris Tissìno (
CONCLUSIONE - Nucleo (o Kernel) Interagisce direttamente con lhardware Interagisce direttamente con lhardware Si occupa dellesecuzione.
Informatica Modulo 6 – Voce via internet. VoIP Con Voice over IP (Voce tramite protocollo Internet), acronimo VoIP, si intende una tecnologia che rende.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità A1 Introduzione a Java.
Informatica e Telecomunicazioni
ISA Server 2004 Enterprise Edition Preview. ISA Server 2004.
Il Sistema Operativo.
Introduzione alle Reti di Prossima Generazione
Web Services.
Java2 Esercitazioni del corso di Sistemi Informativi Marina Mongiello
1C2GRUPPO : HELPING1. 1C2GRUPPO : HELPING2 Una rete può essere definita un insieme di nodi dislocati in posti differenti, capace di consentire la comunicazione.
Reti Informatiche.
IL NOSTRO LABORATORIO. Di INFORMATICA..
1 Basi di dati e Web Prof. Stefano Paraboschi Prof. Barbara Pernici.
Open Source per Piccole e Medie Imprese Economia Aziendale - AA Prof. Romano Boni VoIP e Linux Formai Beatrice Roma, 11 gennaio 2010.
Progetto realizzato da: Francesco Seccia Matr Marco Spinelli Matr
Argomenti avanzati di sistemi informativi A Coreografia e orchestrazione dei web services Quattrocchi Salvatore Matr
1 Programmazione ad oggetti in Java E.Mumolo, DEEI
Perché.Net e non più COM/DCOM ? Superamento dei problemi di COM: Richiede una infrastruttura "non semplice" da ogni applicazione (ad esempio Class Factory.
Introduzione ai PLC.
Struttura dei sistemi operativi (panoramica)
La Riflessione computazione Elisa Ferrando. Cos è la Riflessione La Riflessione Sistema riflessivo Sistema computazionale.
CAPITOLO 2 INTRODUZIONE AL LINGUAGGIO JAVA E ALL'AMBIENTE HOTJAVA.
memoria gestita staticamente:
JAIN SIP Sviluppo di applicazioni SIP in Java Esercitazione 2.
ADSL VOIP Voice Over IP.
Distributed File System Service Dario Agostinone.
Meteo Service Corso di Reti di Calcolatori LS Casarini Stefano matr
Corso di Informatica per Giurisprudenza Lezione 7
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
Introduzione a C#.
Università Politecnica delle Marche
Guida IIS 6 A cura di Nicola Del Re.
Modulo 1 - Hardware u.d. 3 (syllabus – 1.3.5)
U N INFRASTRUTTURA DI SUPPORTO PER SERVIZI DI FILE HOSTING Matteo Corvaro Matricola Corso di Reti di Calcolatori LS – Prof. A. Corradi A.A.
Servizi Grid ed agenti mobili : un ambiente di sviluppo e delivering
Sistemi Informativi sul Web
FASTVID RENTALS: CONCLUSIONI I PUNTI DI FORZA DEL PROGETTO, GLI SVILUPPI FUTURI 1.
Le reti di calcolatori ©Apogeo 2004.
Reti di calcolatori LS Manni Tiziano  IT e nuovi scenari applicativi …  … portabilità dei dati …  … condivisione dati …  … disponibilità.
Threads.
Reti di Calcolatori ed Internet Fabio Massimo Zanzotto.
L’architettura a strati
Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di.
RETI DI CALCOLATORI Domande di riepilogo Prima Esercitazione.
Progetto RE.VE.N.GE. CORBA REliable and Versatile News delivery support for aGEncies Realizzazione del Sistema di Consegna UNIVERSITA’ DEGLI STUDI DI BOLOGNA.
Creato da Riccardo Nuzzone
Nemesi Creazione e pubblicazione di una rivista online tramite l’utilizzo di Java Message Service.
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
MCSA Mobile Code System Architecture Infrastruttura a supporto della code mobility Pierfrancesco Felicioni Reti di Calcolatori L.S. 2005/2006.
Reti di computer Condivisione di risorse e
Progetto di Ingegneria del Web Anno Accademico 2007/2008 Stefano Pigiani Bruno Ricci Marco Ruzzon.
MUSE 2 WIFI MUSic Everywhere with WIFI presentazione di Pierangeli Diego Membri del gruppo: Bambini Stefano Bergamini Andrea Pierangeli Diego AA 2006/2007.
SIP Session Initiation Protocol
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
Servizi continui su rete IEEE – Music Everywhere Presentazione di Alberto Mercati Reti di Calcolatori LS.
Progetto RE.VE.N.GE. MQ REliable and VErsatile News delivery support for aGEncies Sistema di Distribuzione Reti di Calcolatori LS – Prof. Antonio Corradi.
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 3 -Instradamento statico Ernesto Damiani Lezione 2 – ICMP.
Hattrick Stadium Corso di Reti di Calcolatori LS Anno Accademico 2005/2006 Dolif Emilano matr
Progetto MUSE MUSic Everywhere Presentazione di Leardini Francesco Reti di calcolatori LS.
Informatica Lezione 8 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
Applicazione Presentazione Sessione Trasporto Rete Data link Fisico OSI Processo / Applicazione Trasporto Rete- Internet Interfaccia di.
Implementazioni di un analizzatore di protocollo Esistono quattro fondamentali tradeoff per la realizzazione di un analizzatore di protocollo:  Analisi.
1 Il livello transport. Concetti fondamentali - Canale logico e canale fisico 2 Quando un segnale deve essere trasmesso, viene inviato su un Canale, cioè.
Scenari di Connessione NTC (1/3)  L’ NTC consente l’accesso remoto alle piattaforme NA distribuite per la rete;  Può lavorare con diverse architetture.
EmuPro Università degli Studi del Sannio Facoltà di Ingegneria Corso di Laurea Specialistica in Ingegneria Informatica Misure su Reti di Calcolatori Professore:
Transcript della presentazione:

di Marco Calisti, Antonio Cuomo, Rocco Mazzeo e Francesco Pacilio

Outline Introduzione Voice over IP Controllo delle chiamate e segnalazioni Session Initiation Protocol Messaggi SIP Architettura analizzatore Interfaccia utente Servlet Engine Parser XML Data Access Object Sipana Sviluppi futuri Demo

Introduzione Analizzatore di protocollo di alto livello per lanalisi e testing di conversazione VOIP Decodifica dei messaggi Filtri sulle conversazioni e sui messaggi Implementazione post-processing Definizione e esecuzione di test Analisi off-line dei risultati

Voice over IP Voice over IP è una tecnologia che rende possibile effettuare una conversazione telefonica sfruttando una connessione internet o una qualsiasi rete dedicata che utilizza il protocollo IP Le informazioni vocali, codificate in forma digitale, vengono formattate in pacchetti e instradati sulla rete nel momento in cui avviene la comunicazione

Voice over IP - Vantaggi Costi ridotti Soprattutto per chiamate su lunga distanza La sola infrastruttura richiesta è una rete IP Nuove funzionalità avanzate Riduzione della banda utilizzata I pacchetti vengono trasmesso solo in presenza di comunicazione Portabilità del numero telefonico

Voice over IP - Svantaggi E necessario garantire livelli accettabili di QoS Comunicazione real-time Sicurezza della comunicazione Eredità i problemi di sicurezza delle comunicazioni su rete IP Localizzazione geografica delle chiamate molto complessa Difficoltà di inoltrare le chiamate alle centrali più vicine

Controllo delle chiamate e segnalazioni Gestiscono le informazioni che coinvolgono le telefonate Selezione del numero Segnali di libero o occupato Chiamate multiple Definiscono linterfaccia tra la rete IP con la numerazione telefonica e con la rete telefonica tradizionale

Session Initiation Protocol Protocollo del livello applicativo per la gestione delle sessioni di comunicazione tra due o più entità (User Agent) Assicura la creazione, la modifica e la terminazione di una sessione Non è integrato verticalmente E necessario lutilizzo di altri protocolli per la creazione di unarchitettura completa Non fornisce servizi ma primitive per implementare servizi

Session Initiation Protocol – User Agent Entità logica associata ad un endpoint User Agent Client: entità che inizializza una sessione User Agent Server: entità che risponde ad una sessione UAC User Agent Client User Agent UAS User Agent Server User Agent UAC User Agent Client UAS User Agent Server Proxy Server Register Inizializza sessione Risposta

Messaggi SIP I messaggi sono di due tipi Messaggi di richiesta: INVITE: invito a partecipare ad una sessione e negoziare i parametri ACK: conferma che lUAC ha ricevuto una risposta finale ad una richiesta BYE: indica l'abbandono della sessione da parte di un utente CANCEL: annulla una richiesta OPTIONS: richiede informazioni sullo stato di un server REGISTER: registra l'indirizzo di uno User Agent all'interno di un server Messaggi di risposta PROVISIONAL: la richiesta è stata ricevuta ed è in esecuzione SUCCESS: la richiesta ha avuto successo REDIRECTION: la richiesta deve essere re diretta ad un nuovo indirizzo REQUEST FAILURE: la richiesta non è andata a buon fine SERVER FAILURE: il server non riesce a processare la richiesta GLOBAL FAILURE: nessun server può elaborare la richiesta

Messaggio SIP - Struttura Struttura messaggio SIP Start Line method URL SIP/2.0SIP/2.0 status reason Header Fields Via: SIP/2.0/ protocol host: port From: user To: user Call-ID: Cseq: seq#method Content-Length: length of body Content-Type: media type of body Header: parameter; par1=value ; ……. Blank line Message Body V = 0 O = origin_user timestamp timestamp IN IP4 host C = IN IP4 media destination address T = 0 M = media type port RTP/AVP payload types

Architettura analizzatore

Interfaccia utente

Servlet Tecnologia Java per la creazione di applicazione web Vengono inizializzate alla prima richiesta Ogni nuova richiesta si traduce in una chiamata a un metodo della servlet Mantengono in modo molto semplice e efficiente le sessioni Consentono la gestione delle eccezioni, lutilizzo dinamico della memoria Utilizzano i meccanismi di protezioni forniti dai web container

FSMServlet Definisce la logica per la gestione delle FSM (Finite State Machine) Creazione nuova FSM Creazione nuovo stato Creazione nuova transizione Memorizzazione FSM Cancellazione FSM

MessageServlet Definisce la logica per la gestione della simulazione Selezione conversazioni Selezioni messaggi di una conversazione Selezione FSM Run simulazione

Engine Componente core del simulatore Dato uninsieme di messaggi relativi ad una comunicazione ed una o più FSM consente di eseguire il processo di analisi della comunicazione Lanalisi della comunicazione può essere eseguita in un unico run oppure è possibile analizzare ogni messaggio, singolarmente

Engine - Run

Engine – Finite State Machine Una Finite State Machine è un modello di comportamento composto da un numero finito di stati, transizioni tra gli stati e azioni. Una transizione può essere associata ad una condizione che ne regola leffettuazione. Le azioni possono essere funzione dellinput e delluscita, macchina di Mealy, associate allingresso in uno stato, macchina di Moore, alluscita da uno stato o ad una transizione.

Engine – Finite State Machine (2) Nel nostro formalismo: Stati e transizioni rispecchiano le definizioni classiche Linput è costituito dalla sequenza di messaggi selezionata Le condizioni permettono di esprimere vincoli di transizione basati sui messaggi in ingresso Le azioni sono associate alle transizioni La potenza espressiva è arricchita dalla presenza di uno storage in cui è possibile salvare valori (nelle azioni) e recuperarli (nelle condizioni)

Engine – Specifica delle condizioni (1) Per la specifica delle condizioni è stata definita una grammatica context-free di tipo LL(1) e il relativo interprete La definizione include un insieme di condizioni elementari che consentono di esprimere vincoli sul tipo di messaggio, sul valore degli header e sul tempo Gli operatori di confronto sono uguaglianza (==) e disuguaglianza (!=) per valori di testo e numerici operatori, = per i valori numerici Queste tipologie elementari possono essere arbitrariamente combinate con gli operatori &&, ||, ! E possibile esprimere precedenza con le parentesi ()

Engine – Specifica delle condizioni (2) Le condizioni semplici rientrano nelle seguenti tipologie: Tipo del messaggio: messageKind constantValue Valore di un header del messaggio: messageField[Nome del campo] oppure messageField[fieldName] readField[varName] dove varName è un campo salvato nello storage da unazione Tempo trascorso dal messaggio immediatamente precedente: time constantValue Tempo trascorso da uno dei messaggi precedenti: timeDiff[varName] constant value dove varName è un valore di tempo salvato nello storage da un azione e timeDiff è la differenza tra il valore corrente e quello salvato

Engine – Specifica delle azioni Anche per la specifica delle azioni è stata definita una grammatica context-free di tipo LL(1) e il relativo interprete Ad ogni transizione è possibile associare una sequenza di azioni, separate da ; Attualmente esistono 2 tipologie di azione: saveField[fieldName, varName] consente di salvare nella variabile di storage varName il campo fieldName del messaggio corrente saveTimer[varName] consente di salvare nella variabile di storage varName il valore temporale associato al messaggio corrente

Engine – Design Le grammatiche delle condizioni e della azioni sono state definite di tipo LL(1) per poter implementare dei semplici parser a discesa ricorsiva Tali scelte implementative rendono larchitettura estendibile

Parser Xml Componente del simulatore che gestisce la persistenza delle FSM in file XML Lettura FSM Memorizzazione FSM

FSM.xml e FSM.dtd

Data Access Object Design pattern utilizzato per astrarre e incapsulare gli accessi alle sorgenti dati Consente di leggere e memorizzare i dati

Sipana

Sviluppi futuri Graphical User Interface per la definizione delle FSM e generazione automatica dellXML Estensione multiprotocollo

Demo Creazione di una FSM per applicazione di un test Selezione di una conversazione Selezione dei messaggi di una conversazione Selezione delle FSM da eseguire Avvio testing Report stato del testing