Servizi Internet multimediali Appunti di Sistemi A cura del prof. ing. Mario Catalano F.Castiglione 1 F. Castiglione
Applicazioni Elastiche Un utente umano attende informazioni da un server; Preferibile un basso ritardo endto-end (non essenziale); Perdite di pacchetti recuperate dal protocollo di trasporto, a scapito del ritardo end-to-end; Richiesta una bassa banda istantanea; Se ci sono risorse cercano di usarle, altrimenti possono attendere. Multimediali Due utenti umani interagiscono ai capi della rete; E essenziale un basso ritardo (un pacchetto in ritardo equivale ad un pacchetto perso); Robuste perdite tolleranti di pacchetti; Banda richiesta elevata; Ogni applicazione richiede una quantità minima di risorse: se è presente, l applicazione funziona altrimenti non funziona. www.itimedi.it 2
Applicazioni multimediali Fare lo streaming di un file significa mandare in uscita un flusso continuo di informazioni audio e video. Si possono definire tre principali classi di streaming : Streaming di audio e video memorizzati: Il client richiede file audio o video compressi che sono memorizzati sui server. Streaming di audio e video real-time uno a molti: E simile alla tradizionale diffusione radio televisiva, a eccezione che la trasmissione avviene su internet. Permettono ad un utente di ricevere dal vivo trasmissioni radio o televisive diffuse da qualsiasi parte del mondo. Audio e video real-time interattivi: Permette alle persone di utilizzare audio e video per comunicare in tempo reale. L audio interattivo real-time è simile al servizio telefonico tradizionale a commutazione di circuito, per questo viene spesso chiamato telefono Internet. Con il video interattivo real-time, detto anche video conferenza, gli individui possono comunicare tra loro mediante immagini e voce. www.itimedi.it 3
Streaming di audio e video memorizzati Nello streaming audio/video, i client richiedono file audio/video compressi che sono residenti sui server; Su richiesta al client, il server indirizza un file al client attraverso l invio del file in un socket; Il file è prima suddiviso in segmenti, e i segmenti incapsulati con speciali intestazioni adatte per il traffico audio/video; Quando il client inizia a ricevere i file audio/video richiesti, esso comincia a riprodurli, di solito, entro pochi secondi; Gli audio/video in memoria possono risiedere: - su un server Web che consegna gli audio/video al client HTTP; - su uno streaming server di audio/video che consegna gli audio/video al client su protocolli non HTTP. www.itimedi.it 4
Il Server Web invia audio/video al browser 1) L host dell utente stabilisce una connessione TCP con il server Web e invia una richiesta http per Client Browser Web Media player Server Server Web con file audio l oggetto; 2) Dopo aver ricevuto una richiesta, il server Web inserisce il file audio in un messaggio di risposta HTTP e restituisce questo messaggio nella connessione TCP; 3) Il browser del client esamina il tipo di contenuto del messaggio di risposta e avvia il corrispondente media player, e passa il file al media player; 4) Il media player riproduce quindi il file audio/video. www.itimedi.it 5
Il Server Web invia audio/video direttamente al media player Client 1) L utente clicca su un hyperlink per un file audio/video; 2) L yperlink punta su un meta file che contiene l URL del vero file audio/video. Il messaggio di risposta http che incapsula il meta file comprende una linea di intestazione tipo del contenuto che indica la specifica applicazione audio/video; Browser Web 2 Metafile Media player 1 3 Server Server Web con file audio 3) Il browser del client esamina la linea di intestazione tipo del contenuto del messaggio di risposta, lancia il media player associato e passa l intero corpo del messaggio di risposta (il meta file) al media player; 4) Il media player imposta una connessione TCP direttamente con il server HTTP. Il media player invia un messaggio di richiesta HTTP per il file audio/video nella connessione TCP; 5) Il file audio/video è inviato all interno di un messaggio di risposta http al media player. Il media player estrae lo stream del file audio/video. www.itimedi.it 6
L approccio streaming Browser Web 1 Richiesta HTTP per la presentazione del file di descrizione Server Web Presentazione del file di descrizione 2 Media player 3 File audio/video richiesto e inviato Server di streaming Il browser del client riceve il meta file con la descrizione del file multimedia streaming; Il browser lancia il player e gli passa il meta file; Il player contatta il server; Il server manda in streaming l audio e il video. www.itimedi.it 7
IP Multicast La tecnologia IP Multicast: trasmissione di dati che riproduce su Internet il modello di broadcasting delle trasmissioni radiofoniche e televisive. prevede la trasmissione di una sola copia di ciascun pacchetto IP ad un gruppo di client identificato da un singolo indirizzo IP di destinazione. Vantaggio trasmettere i dati sulla rete in modo più efficiente abbassando i costi di trasmissione di servizi audio e video: 1. si riduce il costo dell HW 2. e la larghezza di banda non deve crescere in misura direttamente proporzionale al numero degli utenti collegati www.itimedi.it 8
Applicazioni Real-Time in Internet Trasferimenti dati, distribuzione/aggiornamenti di software Broadcast media (continuous media), audio, video, trasmissioni di tipo televisivo Applicazioni condivise, teleconferenza, Aggiornamento di dati in tempo reale, quotazioni di borsa, distribuzione di listini Localizzazione di risorse (Server, stampanti, ) Giochi interattivi www.itimedi.it 9
Come si può fare? Unicast Una copia di ogni pacchetto ad ogni partecipante. Semplice da implementare ma i problemi aumentano al crescere del numero di interlocutori. Ha grossi problemi per quello che riguarda l'occupazione di banda. Broadcast L'applicazione puo' mandare un pacchetto a un indirizzo broadcast. Tecnica è meno semplice però si deve fermare il broadcast a livello di LAN per prevenire i cosidetti broadcast storms oppure mandare il broadcast dovunque. (cioè spendere gran parte delle risorse di rete magari per un piccolo numero di utenti). www.itimedi.it 10
Classi di Applicazione Streaming Clients richiedono files audio/video al server e direzionano i dati ottenuti dalla rete alla corrispondente applicazione (helper). Riproduzione continuata. Interattivo: utente può controllare le operazioni (pausa, resume, avanti veloce, riavvolgi, etc.) Ritardo: dalla richiesta del client fino al playback possono intercorrere da 1 a 10 secondi. In alcune applicazioni è richiesta la memorizzazione completa prima del playback www.itimedi.it 11
Classi di Applicazione Real-Time Unidirezionale: Simile alle stazioni TV e Radio, ma trasmesse sulla rete Non interattivo, solo ascolto o visione, oppure interattivo in seguito a memorizzazione Real-Time Interattivo: Conversazione telefonica o video conferenza Requisiti sul ritardo più stringenti di Streaming e Real-Time unidirezionale Video: < 150 msec accettabile Audio: < 150 msec buono, < 400 msec accettabile www.itimedi.it 12
Indirizzi di classe D Insieme di zero o più host identificato da un singolo indirizzo IP di classe D 0.0.0.0 127.255.255.255 128.0.0.0 191.255.255.255 192.0.0.0 223.255.255.255 224.0.0.0 239.255.255.255 240.0.0.0 247.255.255.255 www.itimedi.it 13
Gruppi Multicast Elemento base del multicast è quindi il concetto di gruppo Rappresenta l associazione fra un insieme di trasmettitori ed un insieme di ricevitori. Il gruppo non è Statico ma Dinamico Associarsi (join) Abbandonare (leave) Nella pratica un gruppo nasce nel momento in cui il primo elemento si aggrega, e termina la sua esistenza quando tutti gli elementi si sono dissociati. www.itimedi.it 14
Internet Group Management Protocol (IGMP) Concettualmente ha due fasi 1. Un host si unisce ad un gruppo con un messaggio IGMP all indirizzo di tutti gli host. I gateway multicast propagano l informazione di appartenenza dell host al gruppo ad altri gateway multicast in tutta l internet 2. Poiché l appartenenza ad un gruppo è dinamica, i gateway multicast locali interrogano periodicamente gli host di un gruppo per verificarne lo stato di appartenenza. Se un gruppo viene lasciato da tutti gli host di appartenenza iniziale, il gateway multicast cessa di annunciare l appartenenza al gruppo agli altri gateway. www.itimedi.it 15
IGMP: Associarsi a un gruppo H1 H2 224.1.1.1 H3 Report IGMPv1 Per associarsi a un gruppo un PC manda un pacchetto IGMP report all indirizzo 224.1.1.1 con TTL 1 www.itimedi.it 16
IGMP: Membership Queries H1 H2 H3 IGMPv1 Multicast Router Membership Query all indirizzo 224.0.0.1 Periodicamente il router invia un pacchetto IGMP di Membership Query all indirizzo 224.0.0.1 per aggiornare la tabella dei gruppi multicast attivi www.itimedi.it 17
224.1.1.1 X H1 224.1.1.1 H2 224.1.1.1 X H3 Soppresso #3 Report #2 Soppresso #3 IGMPv1 Query a 224.0.0.1 #1 #1 Router manda periodicamente la Membership Query #2 Solo un membro per gruppo invia il report #3 Gli altri membri non inviano nulla www.itimedi.it 18
IGMP: Abbandonare un gruppo H1 H2 H3 IGMPv1 Query a 224.0.0.1 Il router invia periodicamente i pacchetti IGMP Il PC lascia il gruppo senza segnalarlo Il router continua ad inviare le query periodiche Il router non riceve nessun report per quel determinato gruppo Il gruppo va in time out www.itimedi.it 19
La telefonia su IP network Potenziale riduzione in termini significativi del costo delle comunicazioni vocali a lunga distanza. In più : video conferencing application sharing (eg. white-boarding) www.itimedi.it 20
La qualità del servizio (QoS, Quality of Service) Il problema fondamentale della comunicazione vocale su una rete come Internet è che la gestione dei pacchetti da parte del protocollo IP destinatario comporta una ricomposizione di questi nell ordine originale (errori di trasmissione e/o ritardi vari rallentano il processo). Per applicazioni classiche (posta elettronica) non è un problema. Ma per applicazioni di telefonia questo può provocare un degradamento notevole nella qualità di conversazione. www.itimedi.it 21
La qualità del servizio In generale, che tipo di qualità nella comunicazione si possono aspettare gli utenti di VoIP? Questo dipende in parte dalla velocità della connessione ad Internet che ciascun lato possiede e in parte dal traffico complessivo della rete. www.itimedi.it 22
Grado di rispondenza Il grado di rispondenza della voce trasmessa rispetto alla voce naturale di chi parla. Se certi pacchetti vocali risultano ritardati oltre una certa soglia, la qualità dell informazione risulterà compromessa (distorsione del messaggio vocale). TCP/IP, in sostanza, non garantisce agli utenti la trasmissione di un certo numero di dati in un preciso periodo di tempo. Le prestazioni della rete possono fluttuare di momento in momento. A volte i dati sono trasmessi immediatamente, a volte subiscono ritardi o non sono inviati affatto. www.itimedi.it 23
RSVP: un protocollo per VoIP La qualità nel campo della telefonia IP presenta dei notevoli margini di miglioramento. Il protocollo RSVP (Resource Reservation Setup Protocol) della Cisco, ad esempio, è progettato per riservare una certa porzione di banda proprio per le applicazioni che richiedono delle risposte in tempo reale quali quelle di VoIP. Ciascun Router che supporta tale protocollo ha la capacità difatti di riconoscere una priorità nei pacchetti che instrada, distinguendo tra quelli urgenti (real-time packets) e quelli meno, agendo così di conseguenza. www.itimedi.it 24
Videoconferenza La videoconferenza è un metodo di comunicazione online che permette a due o più persone dislocate in luoghi diversi di comunicare tramite audio e video. Permette nel contempo lo scambio di documenti in formato elettronico. Utente 1 Videoconferenza punto-punto IP IP o ISDN ISDN www.itimedi.it 25 Utente 2
Fine? F.Castiglione 26 F. Castiglione