780 likes | 937 Views
Filippo Castiglione, IAC – CNR, Roma. Servizi Internet avanzati. IP multicast, VoIP, Video Conferenza. Argomenti. Argomenti. Cos’è l’IP Multicast?. La tecnologia IP Multicast :
E N D
Filippo Castiglione, IAC – CNR, Roma Servizi Internet avanzati IP multicast, VoIP, Video Conferenza
Cos’è l’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: • si riduce il costo dell’HW • e lalarghezzadi banda non deve crescere in misura direttamente proporzionale al numero degli utenti collegati
Storia • Stanford University primi anni 80 • Steve Deering (progetto Vsystem) • Agosto 1989: Host Extensions for IP Multicasting (RFC-1112) • Dicembre 1991: Multicast routing in a Datagram Network
Unicast vs multicast Trasmissionediretta a amolte destinazioni.
Applicazioni Real-Time in Internet • – Trasferimenti dati, e.g. • distribuzione/aggiornamenti di software • – Broadcastmedia (continuous media), e.g. • audio, • video, i.e. trasmissioni di tipo televisivo • – Applicazioni condivise, e.g. • whiteboard (testo), • teleconferenza, • teledidattica • – Aggiornamento di dati in tempo reale, e.g. • quotazioni di borsa, • distribuzione di listini • – Localizzazione di risorse (Server, stampanti, …) • – Giochi interattivi
Caratteristiche • Una certa tolleranza al ritardo • Una certa tolleranza alla perdita di pacchetti
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. (i.e. spendere gran parte delle risorse di rete magari per un piccolo numero di utenti).
In altre parole … • Tante connessioni separate quante sono le richieste (unicast) • Utilizzare il broadcast H5 H4 H7 H6 Multicast realizzato con l’invio di più pacchetti unicast Multicast realizzato con l’invio di un singolo pacchett duplicato nei router
Come si può fare? • Multicast • Una copia del pacchetto al gruppo di host che vogliono riceverlo. • Puo' essere implementato sia al livello data-link che al network layer. • Ethernet e FDDI, supportano indirizzi unicast, multicast e broadcast. • Il Token Ring supporta l'indirizzamento multicast però usa una tecnica diversa. • Ci sono diversi parametri da definire da parte del livello rete per comunicazioni multicast.
Classi di Applicazione Multimediale • Tre classi di applicazioni: • Streaming • Real-Time Unidirezionale • Real-Time Interattivo
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 (ex: Napster, Gnutella)
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
Indirizzamento Multicast • Se si usa un singolo pacchetto duplicato all’occorrenza dai router come si specifica al router il gruppo di indirizzi (cioè quali host devono ricevere una copia del pacchetto)? • Bisogna che tale pacchetto trasporti l’indirizzo di tutte le destinazioni? • No, è meglio astrarre l’indirizzo delle destinazioni da un ben definito indirizzo di gruppo (indirizzo multicast)
Indirizzamento Multicast Ci deve essere un indirizzo di livello rete che è utilizzato per comunicare con un gruppo di host piuttosto che con uno solo. Si sono riservati gli indirizzi di classe D (con i bit più significativi pari a 1110).
Indirizzi 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 Insieme di zero o più host identificato da un singolo indirizzo IP di classe D
Indirizzamento Multicast • In più ci deve essere un meccanismo di mapping per questi indirizzi nel data-link layer: • Ethernet prende i 32 bit del multicast address e vi aggiunge un prefisso per arrivare ai 48 bit del MAC address (RFC 1112) MAC = Media Access Control (IEEE 802)
Incapsulamento Ethernet Indirizzo IP 32 bit Indirizzo Ethernet 48 bit L’indirizzo Ethernet viene riconosciuto dalla prima cifra esadecimale RFC1112 01-00-5E + 24 bits IP addr • 32 bit totali • 4 fissi • 5non usati • 23 caratterizzano l’indirizzo più gruppi Multicast possono essere mappati con lo stesso indirizzo Ethernet!
Conversione da multicast IP a multicast Ethernet MAC=Media Access Control
Well known addresses • Well known addresses stabiliti dallo IANA • Per usi riservati da 224.0.0.0 a 224.0.0.255 • 224.0.0.1 — tutti gli host in una LAN • 224.0.0.2 — tutti i routers in una LAN • 224.0.0.13 – tutti I router PIM (Protocol Independent Multicast) • http://www.iana.org/assignments/multicast-addresses • Altri indirizzi utilizzati dinamicamente: • Global scope: 224.0.1.0 – 238.255.255.255 • Limited Scope: 239.0.0.0 –239.255.255.255 • Site-local scope: 239.255.0.0/16 • Organization-local scope:239.192.0.0/16 Esercizio: Leggere http://www.iana.org/assignments/multicast-addresses
Indirizzamento Multicast • Due sono quindi gli aspetti significativi: • La gestione dei gruppi • La disseminazione dell’informazione (routing vero eproprio.)
IGMP Internet Group Management Protocol • IGMPv1 RFC1112, obsoleto • IGMPv2 RFC2236, in uso • IGMPv3 bozza
Internet Group Management Protocol (IGMP) • IGMP impiega datagrammi IP per trasportare messaggi • Usato dai gateway multicast e dagli host per gestire l’informazione di appartenenza ad un gruppo multicast
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 glielementi si sono dissociati.
Internet Group Management Protocol (IGMP) • Concettualmente ha due fasi • 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 • 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.
Pachetto IGMPv1 Version: la versione dell’IGMP Unused: 0 quando viene spedito Checksum • Type: due tipi di messaggi IGMP • Host Membership Query. • Host Membership Report. Group Address
Per associarsi a un gruppo un PC manda un pacchetto IGMP report all’indirizzo 224.1.1.1 con TTL 1 IGMPv1: Associarsi a un gruppo 224.1.1.1 H2 H3 H1 Report IGMPv1
Periodicamente il router invia un pacchetto IGMP di Membership Query all’indirizzo 224.0.0.1 per aggiornare la tabella dei gruppi multicast attivi IGMPv1: Membership Queries Membership Query all’indirizzo 224.0.0.1 H2 H3 H1 IGMPv1 MulticastRouter
IGMPv1 H2 H3 H1 224.1.1.1 224.1.1.1 224.1.1.1 X X Soppresso Soppresso Report #3 #3 #2 Query a 224.0.0.1 #1 Router manda periodicamente la Membership Query #1 Solo un membro per gruppo invia il report #2 Gli altri membri non inviano nulla #3 IGMPv1
IGMPv1: Abbandonare un gruppo H3 H3 Query a 224.0.0.1 Query a 224.0.0.1 H2 H1 IGMPv1 • 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
Routing Multicast • Un “gruppo”, in genere, è sparso su un insieme di LAN. Quindi si deve avere un piano di instradamento per raggiungere tutti gli elementi del gruppo • Un router intermedio, deve tradurre l’indirizzo multicast in una lista di reti cui inviare. • Quando un router è connesso a una LAN che supporta il multicast deve tradurre l’indirizzo IP in un indirizzo multicast locale • I router devono scambiarsi due tipi di informazioni: • quali reti contengono membri del gruppo • come calcolare l’albero di raggiungibilità minima tra un trasmettitore e i ricevitori
Il Problema della Raggiungibilita` S R1 R5 D1 R2 R6 D5 LAN 1 R4 D2 D3 D4 Le mappe non possono essere costruite localmente ma devono essere basate su un minimum spanning tree che parte dalla radice
Routing multicast Un ruolo primario di questo albero è di assicurarsi che esiste solo una coppia di ogni pacchetto in ogni sottorete. La IETF (Internet Engineering Task Force) sta sviluppando degli standard per questi meccanismi. Ci sono più standard disponibili per traffico IP Multicast
Distance Vector Multicast Routing Protocol DVMRPè il più vecchio protocollo di routing che è stato usato per il multicast. DVMRP supporta vari tipi di reti, incluse Ethernet, LAN.Può anche funzionare attraverso router che non sono multicast-capable. Tuttavia, è stato considerato una soluzione intermedia mentresoluzioni "realmente" multicast vengono sviluppate.
Protocolli di routing • MSDP • Multicast Source Discovery Protocol • MBGP • Multicast Border Gateway Protocol Multicast geografico
Applicazioni VoIP
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)
Il suono • Da 16 Hz a 20KHz • È un segnale continuo quindi analogico • Il campionamento (e.g. 44125 Hz) • La quantizzazione, cioè i livelli di informazione (e.g. 256 = 8 bits) CD Audio 44125 Hz cioè 44125 intervalli al secondo
Un esempio • Memorizzare il parlato con campionamento a 8 bit e con una frequenza di 60000 Hz, è necessario • 60000 x 8 bit = 460 Kbyte circa • per una canzone con campionamento a 16 bit e con una frequenza di 50000 Hz,per un minuto è necessario • 60 x 50000 x 2 byte = 12 MB
La telefonia su IP network Per capire il fenomeno della telefonia Internet è necessario prendere confidenza con i principi fondamentali che stanno dietro Internet e con le principali differenze di IP rispetto alla rete telefonica (PSTN = Public Switched Telephon Network).
PSTN • La rete telefonica (PSTN) è una rete a commutazione di circuito ottimizzata per le comunicazioni vocali in sincrono e in tempo reale con una qualità di servizio garantita (QoS:Quality of Service). • Quando una sessione di comunicazione viene iniziata, si stabilisce un circuito fra la parte chiamante e quella chiamata. • La PSTN garantisce la qualità del servizio (QoS) dedicando alla conversazione un circuito full-duplex con una larghezza di banda 64KHz. • Tale larghezza di banda rimane inalterata indipendentemente dal fatto che le parti siano in conversazione attiva o in silenzio. • Dato che la larghezza di banda è costante, il costo di una chiamata è strettamente basato sulla distanza e sul tempo.
La rete a commutazione di pacchetto • Internet, invece, è una rete a commutazione di pacchetto ed è sempre stata usata per applicazioni dove una QoS variabile poteva essere un parametro tollerabile (e-mail, ftp, …). • Le reti a commutazione di pacchetto non dedicano un circuito tra le parti in conversazione e perciò non possono garantire la qualità del servizio. • Per come sono strutturati i protocolli di comunicazione e per come è stata concepita Internet, il meccanismo primario di costo per un’applicazione di telefonia IP non è né la distanza né il tempo ma l’ampiezza di banda usata nella comunicazione. • In ogni caso, tale costo è trasparente all’utente finale. Il servizio a tali utenti è infatti fornito solitamente dagli ISP (Internet Service Providers) che gestiscono direttamente il costo delle connessioni.
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.
La qualità del servizio (QoS, Quality of Service) 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.
La qualità del servizio (QoS, Quality of Service) • Ci sono due fondamentali caratteristiche che determinano la qualità di VoIP: • Il tempo di latenza (Latency). • Tale grandezza misura il ritardo che intercorre dal momento che certe parole sono pronunciate da un lato al momento che queste sono effettivamente sentite dall’altro lato. • Spesso gli utenti di VoIP rapportano tale latenza ai ritardi che le normali telefonate subiscono quando parte del circuito è fatto da collegamenti satellitari. • La latenza è qualcosa a cui gli utenti possono in genere abituarsi e compensare di conseguenza.
La qualità del servizio (QoS, Quality of Service) • Il grado di rispondenza della voce trasmessa rispetto alla voce naturale di chi parla. • Se certi pacchetti vocali risultano ritardati oltre una certa soglia, il software di telefonia IP cercherà in genere di interpolare i dati mancanti tramite i contenuti dei pacchetti adiacenti. • Naturalmente, più il software ricorre a questa tecnica interpolativa, più 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.
La qualità del servizio (QoS, Quality of Service) 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. Molti studiosi di Internet, sostengono che la proliferazione di grandi quantità di banda a basso costo renderà lo sviluppo di RSVP e, più in generale, la discussione su QoS, del tutto irrilevante.
Formati Audio Grafici Video
Formati Audio • Real Audio • QuickTime • Microsoft Wave [estensione: WAV] • MPEG Audio [estensione: MP3] • Audio Interchange[estensione: AIF/AIFF] • Microsoft NetShow [estensione: ASF] • Yamaha SoundVQ [estensione: VQF]