1 / 57

MULTICAST in INTERNET

Multicast. Gian Paolo Rossi. MULTICAST in INTERNET. C.so di laurea in Informatica Reti di Calcolatori II a.a. 2003-2004. “When you think you have an adequate protocol design, just say the word ‘multicast’” Dave Clark. Multicast. Gian Paolo Rossi. Multicast - perche’ ?. Applicazioni

cheng
Download Presentation

MULTICAST in INTERNET

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Multicast Gian Paolo Rossi MULTICAST in INTERNET C.so di laurea in Informatica Reti di Calcolatori IIa.a. 2003-2004 “When you think you have an adequate protocol design, just say the word ‘multicast’” Dave Clark

  2. Multicast Gian Paolo Rossi Multicast - perche’ ? Applicazioni la disponibilita’ di una rete multicast-enabled semplifica lo sviluppo delle nuove applicazioni su piattaforma Internet Rete “…multicast is a requirement, not an option, if the Internet is going to scale…” (rif.IETF) Ottimizza l’uso di risorse sui link, sui router, sulle stazioni sorgenti,…. Network management L’astrazione di un gruppo di destinazioni in rete consente di gestire con una azione piu’ apparati di rete

  3. bgmp Border Gateway Multicast Protocol Forwarding and Control Element Separation forces Inter-Domain Multicast Routing Inter-Domain Routing idmr IS-IS for IP Internets Mobile Ad-hoc Networks Multicast Gian Paolo Rossi idr IP Routing for Wireless/Mobile Hosts Multicast Source Discovery Protocol isis Open Shortest Path First IGP Protocol Independent Multicast manet Routing Information Protocol Source-Specific Multicast mobileip UniDirectional Link Routing Virtual Router Redundancy Protocol msdp ospf pim rip ssm udlr vrrp IETF – Routing Area www.ietf.org www-irtf.org www.ipmulticast.com

  4. Multicast Gian Paolo Rossi Multicast - il modello [RFC 1112] receiver [join/leave] [multicast] sender G una o piu’ stazioni sorgente che spediscono secondo uno stile IP il sender non conosce la membership di G, ma solo il suo indirizzo multicast join e leave libere da parte dei membri del gruppo specifica da end-system, il modello non dice come la rete fornisce il multicast

  5. Multicast Gian Paolo Rossi Indirizzi Multicast 0 1 2 3 31 IPv4 Class D 1110 Multicast Group ID 28 bits Uso del campo TTL (Hop-Limit in IPv6) per definire lo ‘scope’ del pacchetto multicast 224.0.0.0 - riservato 224.0.0.1 a 224.0.0.255 riservato routing e protocolli di basso livello per discovery/maintenance della topologia di rete 224.0.0.1 all-hosts group nella subnet 224.0.0.2 all-routers group nella subnet 224.0.1.1 riservato protocollo NTP 224.0.1.0 a 238.255.255.255 dinamicamente assegnati ad applicazioni mcast 239.0.0.0 a 239.255.255.255riservati per ‘administrative scoping’ senza TTL

  6. Best-effort [ftp://www.video.ja.net/mice/mrouted/Linux/] Applicazioni one-to-many Applicazioni many-to-many Applicazioni many-to-one Multicast API Reliable multicast protocol In Linux, il multicast e’ programmabile attraverso setsockopt () getsockopt () TCP UDP IP IGMP Routing multicast switching Multicast Gian Paolo Rossi Architettura per il Multicast

  7. Multicast Gian Paolo Rossi Applicazioni 1toM Distribuzione audio/video programmata una o piu’ sorgenti e richiesta di banda relativamente alta. Spesso piu’ flussi sono sincronizzati e hanno diverse priorita’ Push media aggiornamento di informazioni dinamiche quali previsioni meteo, sport, news. Applicazioni “drip-feed” a banda relativamente limitata Caching contenuti web, file eseguibili, o update di file distribuiti a siti di replicazione o caching Announcements network time, programmi multicast, distribuzione chiavi, configuration updates Monitoring traffico CBR o a burst per rilevazione sensori, quotazione titoli o altri dati RT

  8. Multicast Gian Paolo Rossi Applicazioni MtoM Conferenza multimediale streaming audio/video e whiteboard. Data stream con diverse priorita’ e problemi di coordinamento e gestione Sincronizzazione risorse aggiornamento di copie replicate di database Collaborazione e lavoro coordinato workflow e editing di documenti condivisi Chat groups conferenze text-based con possibilita’ di avatars di ogni speaker in ambiente simulato Distributed Interactive Simulation (DIS) multicast di info descrittive per il rendering distribuito di oggetti di simulazione Giochi distribuiti sostanzialmente DIS con funzioni di chat line [MiMaze su Mbone, Quake] Jam sessions encoded audio condiviso (eg. Musica)

  9. Multicast Gian Paolo Rossi Applicazioni Mto1 Resource discovery multicast come astrazione dell’IP per fornire query con clausola anycast per eleggere l’host in grado di fornire il servizio o quello ad accesso piu’ vicino Data collection raccolta di dati da un gruppo distribuito di sensori Auctions schema di relazione fra inserzionista e gli interessati che spediscono la proposta di acquisto

  10. Multicast Gian Paolo Rossi Requisiti di banda Push media caching distribuzione a/v announcements monitoring 1toM Resource discovery data collection auctions auctions Mto1 Chat group collaboration conferencing sincronizzazione risorse DIS giochi distribuiti jam sessions MtoM limitata media alta banda

  11. Multicast Gian Paolo Rossi Tolleranza sul ritardo monitoring distribuzione a/v Push media announcements caching 1toM data collection auctions Resource discovery Mto1 DIS Chat group conferencing sincronizzazione risorse jam sessions collaboration giochi distribuiti distance learning MtoM delay tolerance limitata media alta

  12. Applicazioni one-to-many Applicazioni many-to-many Applicazioni many-to-one Infrastruttura di rete multicast-enabled Multicast Gian Paolo Rossi Applicazioni multicast Active Theatre - EMULive Imaging ICAST Broadcaster/Recorder CU-seeMe - White Pine Precept IP/TV e StreamWatch Applicazioni one-to-many Applicazioni many-to-many Applicazioni many-to-one

  13. Applicazioni one-to-many Applicazioni many-to-many Applicazioni many-to-one Infrastruttura di rete multicast-enabled Multicast Gian Paolo Rossi Applicazioni multicast Proshare - Intel RealAudio/Video/Server - RealNetw. ShowMe TV - SUN NetMeeting - Microsoft StarBurst Omnicast Applicazioni one-to-many Applicazioni many-to-many Applicazioni many-to-one

  14. Multicast Gian Paolo Rossi Arrivano le appliancies(accadeva nel 2001…) Ad esempio: arriva la Internet Radio. Suono digitale in formato MP3, modem per ISDN o commutata, piattaforma RealNetworks G2, circa 300$ Kerbango.com e AudioRamp.com per suonare MP3: Winamp per conversione, player Adaptec EasyCD

  15. Multicast Gian Paolo Rossi Sicurezza Le applicazioni multicast non differiscono da quelle unicast per le loro esigenze in termini di sicurezza: autenticazione utente, data integrity, data e user privacy. Inoltre, i requisiti includono: controllo di CHI puo’ spedire ad un gruppo controllo di CHI puo’ ricevere assicurare che il dato generato da un utente autenticato non sia alterato controllare se sender o altri receiver conoscono l’identita’ dei receiver QUANDO, COME e a CHI distribuire le chiavi QUANDO, COME e PERCHE’ le chiavi sono revocate Secure Multicast Research Group (SMUG) IRTF http://www.ipmulticast.com/community/smug/ ftp://ietf.org/internet-drafts/draft-ietf-aft-mcast-fw-traversal-01.txt - SOCK v5 http://www.epm.ornl.gov/tildedunigan/gkm.html - Group Key Mngt.

  16. Multicast Gian Paolo Rossi Architettura per il Multicast QoS e CoS Manage ment Applicazioni one-to-many Applicazioni many-to-many Applicazioni many-to-one RTSP Reliable multicast protocol RTCP RTP RSVP UDP TCP IP IGMP Routing multicast switching

  17. Multicast Gian Paolo Rossi Reliable multicast Caching distribuzione a/v push media monitoring 1toM data collection auctions polling Mto1 Collaboration conferencing sincronizzazione risorse chat group DIS giochi MtoM loss tolerance limitata media alta

  18. Multicast Gian Paolo Rossi Reliable Multicast problemi simili a quelli dovuti a receiver eterogenei per raccolta NACKs possibilita’ di graduare loss-rate in funzione dei requisiti soluzioni proprietarie in commercio - non esiste uno standard requisiti diversi sull’ordine di consegna scalabilita’ burstiness dei dati, delay tolerance, real-time standardizzazione di diversi protocolli per soddisfare diversi requisiti focus attuale dell’IRTF su controllo congestione RFC 2357 “IETF criteria for evaluating Reliable Multicast Transport and Application Protocols” ReliableMulticastResearchGroup RMRG IRTF, M.Handley e A.Mankin (USC/ISI); www.tascnets.com/mist/doc/mcpCompare.html - confronto fra diversi protocolli research.ivv.nasa.gov/RMP/links.html - reliable multicast links

  19. Multicast Gian Paolo Rossi Problema del feedback La presenza di receiver eterogenei richiede spesso di adottare tecniche di controllo sul flusso dei dati trasferiti. L’uso di UDP impone la gestione del controllo del canale a livello applicativo. Il risultato per le applicazioni a/v puo’ essere migliore attraverso l’uso di tecniche di encoding a livelli o separazione dei flussi Nel caso di gruppi numerosi l’implosione dei feedback sulla sorgente va controllata. • shared learning con uso di timer • local recovery sfruttando scope o TTL

  20. Multicast Gian Paolo Rossi Reliable Multicast GlobalCast Reliable Multicast - www.gcast.com e-cast Reliable Multicast software - www.lucent.com StarBurst Multicast - www.starburstcom.com inoltre, www.tibco.com, www.probita.com alcune applicazioni: THE BOX, Toys’R US, GM

  21. Multicast Gian Paolo Rossi MFTP Multicast File Transfer Protocol Pass 1 File source Blocco 1 Blocco 2 Blocco 3 Blocco 4 receiver ack/nack ack/nack ack/nack ack/nack Pass 2 source Blocco 1 Blocco 2 Blocco 3 Blocco 4 receiver Blocco1 frame 251 Blocco 2 frame 288 Blocco 2 frame 295 Blocco 4 frame 37 Blocco 4 frame 185

  22. Manage ment Applicazioni one-to-many Applicazioni many-to-many Applicazioni many-to-one RTSP RTSP Reliable multicast protocol RTCP RTCP RTP RTP RSVP UDP IP IGMP Routing multicast switching Multicast Gian Paolo Rossi RTP, RTCP e RTSP

  23. Multicast Gian Paolo Rossi RTP [RFC 1889] RTP fornisce un servizio end-to-end di consegna dati ad un gruppo di receiver in modo da rispettare in ricezione il formato ed il timing tipico di trasmissioni stream-based. Si appoggia ad UDP per le funzioni tipiche di trasporto. Ogni medium di una sessione multimediale viaggia su una sessione RTP separata. timestamp Payload type Source-ID marker sequence Sender Receiver N RTP router RTP trsl mix A B [translator e mixer]

  24. Multicast Gian Paolo Rossi RTCP [RFC 1889] RTCP e’ il protocollo che controlla il trasferimento dati su una sessione RTP. RTCP e’ attivo anche in assenza di traffico dati. Definisce 5 tipi di pacchetto: sender report, receiver report, source description, bye, app. Il protocollo svolge le seguenti 3 funzioni principali: Feedback alla applicazione - report statistici sono generati sia dalle stazioni sender che receiver per fornire alla applicazione informazioni sulla qualita’ della trasmissione Identificazione della sorgente RTP - RTCP trasferisce il nome canonical (CNAME) di ogni partecipante per membership e per identificare flussi dalla stessa sorgente su diverse sessioni RTP Controllo trasmissione RTCP - il traffico di controllo RTCP viene adattato in funzione del traffico di sessione e del #partecipanti

  25. Multicast Gian Paolo Rossi RTP-RTCP applicazione applicazione Playback buffer Playback buffer RTP/RTCP RTP/RTCP Internet Piu’ flussi RTP, possono essere integrati in ricezione usando le informazioni contenute nell’header RTP e usando un buffer di dimensioni opportune per compensare i problemi di rete. Il controllo RTCP mantiene la membership di gruppo e consente di monitorare i singoli media. Un ricevente puo’ decidere di selezionare un solo medium in funzione delle risorse di cui dispone.

  26. Multicast Gian Paolo Rossi RTP/RTCP Usano porte UDP contigue, #pari RTP e dispari superiore RTCP RTP v2 e’ maturo per supportare la maggior parte di payload mediali Alcuni tool di network monitoring possono non parsare ancora RTP Vendors/prodotti che utilizzano RTP/RTCP: esempi MS NetShow, Precept IP/TV, QuickTime TV Apple, vic e vat (public domain di MBone), ICAST Broadcaster e Viewer, RealAudio/Video/Media, UCL Robust-Audio Tool (RAT) Precept StreamWatch - consente di configurare viewer per diversi stream allo scopo di monitoraggio e management

  27. Multicast Gian Paolo Rossi RTSP RTSP fornisce il controllo remoto di server multimediali. Definisce il framework per ricevere uno o piu’ media, anche da server diversi, ma si appoggia a RTP per il trasporto e la consegna dei diversi stream. HTTP GET Web Browser Web Server session description SET UP Media Player Media Server PLAY RTP audio/video-RTCP PAUSE TEARDOWN

  28. Multicast Gian Paolo Rossi RTSP <session> <group> <track src=“rtsp://audio.mtv.com/movie”> <track src=“rtsp://video.mtv.com/movie”> </group> </session> Ogni media stream e’ identificato da un RTSP URL che puo’ identificare server diversi. Il server mantiene un identificatore per ogni sessione e, poiche’ lo stream di fatto viaggia con un protocollo separato, il server deve anche mantenere un session state per associare la sessione RTSP con un dato stream. Il client puo’ contemporaneamente aprire sessioni con altri media server.

  29. Multicast Gian Paolo Rossi Session Management MultipartyMultimediaSessionControl WG-IETF (MMUSIC) Conference Setup&Discovery Conference Control SDP SCCP CCCP SAP SIP RSVP UDP TCP IP

  30. Multicast Gian Paolo Rossi Session Management SDP fornisce un formato per descrivere una sessione di conferenza. Si appoggia ad altri protocolli per la diffusione della descrizione “SDP”, V.Jacobson, M.Handley, draft-ietf-mmusic-sdp-04.txt, 1997. SAP diffonde periodicamente i descrittori di conferenza all’indirizzo multicast 224.2.127.254, UDP port 9875 “SAP”, draft-ietf-mmusic-sap-01.txt, 1998 SIP e’ utilizzato per invitare persone o media-server ad una conferenza “SIP”, E.Shooler, M.Handley, draft-ietf-mmusic-sip-04.txt, 1997 SCCP fornisce application e membership control, floor e network management in sessioni con moderatore designato che deve dare permesso di join ad un nuovo membro “SCCP”, draft-ietf-mmusic-sccp-03.txt, 1998

  31. Multicast Gian Paolo Rossi Session Management sdr - University College of London , piattaforma UNIX, basato su SDP mice.ed.ac.uk/mice/archive/sdr.html mmcc - USC Information Science Institute, piattaforma UNIX, serve ad orchestrare sessioni multipunto di teleconferenza con distribuzione chiavi in sessioni confidenziali, precedente a sdr mice.ed.ac.uk/mice/archive/mmcc.html multikit - Live Networks, Inc., piattaforma UNIX e Windows95+, e’ di base un browser SDP con la caratteristica di supportare viste posizionali di una directory (ogni entry della directory puo’ essere collocata a specifiche coordinate dello schermo per creare mappe attive) www.lvn.com/multikit

  32. Manage ment Applicazioni one-to-many Applicazioni many-to-many Applicazioni many-to-one RTSP Reliable multicast protocol RTCP RTP RSVP UDP TCP IP IGMP Routing multicast switching switching Multicast Gian Paolo Rossi Multicast Routing e LAN Switching

  33. router IGMP routing update router router LAN 2 IGMP report IGMP report IGMP query IGMP query (TTL=1, all-host group) LAN 1 LAN 3 Group member Group member Group member Multicast Gian Paolo Rossi IGMP v1 [in IPv6 le funzioni di IGMP sono incorporate in ICMP] Un router non deve conoscere la membership. E’ sufficiente conoscere l’esistenza di un membro di gruppo

  34. Multicast Gian Paolo Rossi Pruning router router router router router router IGMP query Group Member Group Member Group Member

  35. Multicast Gian Paolo Rossi IGMP v2 IGMP v2 introduce una procedura di elezione del router querier per ogni LAN. In v1 veniva eletto dal protocollo di routing con politiche spesso diverse. Group-Specific Query - introdotto per consentire queries da parte di un router ad un gruppo specifico e non all’indirizzo all-host sulla subnet (224.0.0.1). Leave-Group - introdotto per ridurre la latenza di leave. Viene inoltrato al gruppo all-routers (224.0.0.2) Quando un router riceve un messaggio di Leave-Group, utilizza il messaggio Group-Specific Query per verificare se si trattava dell’ultimo membro del gruppo. “IGMP, Version 1”, RFC 1112; “IGMP, Version 2”, RFC 2236; “IGMP, Version 3”,draft-ietf-idmr-igmp-v3-03.txt, feb.1999

  36. router Multicast Packet switch LAN 2 LAN 1 Group member Multicast Gian Paolo Rossi Multicast LAN Switching

  37. router Multicast Packet switch IGMP Report LAN 2 LAN 1 Group member Multicast Gian Paolo Rossi IGMP Snooping Snooping di query/report IGMP e di pacchetti di routing per id.le porte del router. Upgrade graduale.

  38. router Multicast Packet switch GMRP Report GMRP-capable NIC driver LAN 2 LAN 1 Group member Multicast Gian Paolo Rossi GMRP - Layer 2 Switching Tabella e filtri IEEE 802.1p servizi per Traffic Class (CoS) e Multicast Filtering IEEE 802.1Q std. che definisce estensioni alla frame Ethernet per propagare attraverso le reti VLAN info

  39. Multicast Gian Paolo Rossi Mapping di Indirizzi Multicast Indirizzi IP-multicast in Classe D, liberi da 224.0.1.0 a 239.255.255.255. Lo IANA ha assegnato una porzione di 23 (LO) bit nel IEEE-802 MAC multicast address space. Tutti gli indirizzi Ethernet nello spazio IANA iniziano con 01-00-5E (hex). 0 7 8 15 23 31 IP address Class D 1110 Low-order 23 bit del multicast addr. copiato nell’Ethernet addr. unused 00000001 00000000 01011110 0 48-bit Ethernet Address

  40. Multicast Gian Paolo Rossi Multicast Routing Manage ment Applicazioni one-to-many Applicazioni many-to-many Applicazioni many-to-one RTSP Reliable multicast protocol RTCP RTP RSVP UDP TCP IP IGMP Routing multicast switching switching

  41. Multicast Gian Paolo Rossi Protocolli di Multicast Routing Ogni protocollo per il multicast costruisce un albero di consegna. L’albero collega i router che hanno riceventi per un dato gruppo nelle sottoreti one-hop. Due sono gli approcci possibili: Protocolli Dense Mode - costruiscono l’albero dei cammini minimi che collega la/e sorgente/i di traffico multicast a tutti i riceventi del gruppo. A questa categoria appartengono i protocolli DVMRP, MOSPF, PIM-DM Protocolli Sparse Mode - costruiscono un albero condiviso da tutte le sorgenti che collega un nodo core, radice dell’albero, a tutte le destinazioni di un gruppo. A questa categoria appartengono i protocolli CBT, PIM-SM

  42. router router router router router router FLOOD & PRUNE Multicast Gian Paolo Rossi Dense Mode Reverse Path Multicasting router sorgente sorgente router router router router router router router Group Member Group Member Group Member

  43. router router sorgente sorgente sorgente sorgente router router router router router router router router router router router router router Group Member Group Member Group Member Group Member Group Member Group Member Multicast Gian Paolo Rossi Dense Mode Reverse Path Multicasting Soft-state con flooding periodico

  44. Multicast Gian Paolo Rossi Dense Mode Progettato pensando a sottoreti con elevata densita’ di Group Members Non adatto a membership sparse Difficolta’ a scalare e uso inefficiente di banda per via del flooding Costo elevato sui router nel caso di molti gruppi e molte sorgenti Buona distribuzione del carico multicast sulla rete Periodi di inconsistenza in funzione del tempo di refresh dell’albero

  45. Multicast Gian Paolo Rossi Shared Tree Rete di connessione Rete di connessione router core router sorgente sorgente router router router router router router Multicast incapsulato in pacchetti unicast router router router router router router router Group Member Group Member Group Member Group Member Group Member Group Member

  46. Multicast Gian Paolo Rossi Shared Tree Migliore scalabilita’ rispetto a Dense Mode. Solo i router sull’albero mantengono uno stato Explicit join sul core rende il protocollo piu’ efficiente Puo’ usare flooding per il controllo, ma i dati sono instradati sull’albero Collo di bottiglia sul nodo core che e’ anche possibile point-of-failure Elezione core con Auto-RP (PIM) o al bootstrap Il cammino fra sorgente e destinazioni puo’ non essere ottimo

  47. Multicast Gian Paolo Rossi DVMRP [RFC 1075] CARATTERISTICHE Il primo protocollo di routing multicast Incorpora il protocollo unicast distance-vector Dense-Mode Implicit-join DEPLOYMENT Il protocollo piu’ implementato e disponibile Usato in Mbone, grande esperienza e sperimentazione Supporta tunneling Il candidato ideale per le prime esperienze di test-bed Improbabile implementazione in IPv6 Ogni router, anche quelli pruned, mantiene uno stato sull’albero di distribuzione

  48. Multicast Gian Paolo Rossi MOSPF [RFC 1584] CARATTERISTICHE Estensione multicast del protocollo OSPF Crea alberi shortest path di distribuzione centrati sulla sorgente Eredita da OSPF la buona scalabilita’ e adattivita’ Piu’ adatto a routing in Dense-Mode Esplicit-join DEPLOYMENT Il protocollo puo’ operare in domini di routing OSPF Adatto a casi con poche coppie (sorgente,gruppo) contemporanee Non supporta tunneling Meno implementazioni rispetto a DVMRP Sara’ disponibile anche con IPv6

  49. Multicast Gian Paolo Rossi PIM-SM [RFC 2117] CARATTERISTICHE Indipendente dal protocollo unicast Shared tree con rendez-vous point Il flusso di distribuzione e’ unidirezionale (da RP) Si puo’ convertire in source-based con explicit join Sparse-Mode Explicit-join DEPLOYMENT Il protocollo e’ installabile in congiunzione a qualsiasi protocollo unicast Adatto all’uso su WAN, anche se le prime esperienze sono state fatte su LAN Puo’ essere portato a IPV6 PIM sparse-dense-mode specificati per regioni separate

  50. The multicast backbone, H.Eriksson, CACM, Vol.8, 1994 Multicast Gian Paolo Rossi MBone Multicast-capable router (mrouted) DVMRP Multicast-enabled network Tunnel unicast

More Related