1.18k likes | 1.39k Views
IP Multicast: architettura e protocolli. - Taschin Antonio -. Sommario. Introduzione al multicast Routing interno Altri protocolli multicast Routing esterno. Introduzione al Multicast. Cos’è il multicast Storia MBone Il Multicast nell’ISO/OSI Comandi. Cos’è il multicast.
E N D
IP Multicast: architettura e protocolli - Taschin Antonio -
Sommario • Introduzione al multicast • Routing interno • Altri protocolli multicast • Routing esterno Taschin Antonio
Introduzione al Multicast Cos’è il multicast Storia MBone Il Multicast nell’ISO/OSI Comandi
Cos’è il multicast • Tante connessioni separate • quante sono le richieste • Utilizzare il broadcast La tecnologia multicast, è un processo che trasmette le informazioni da una sorgente a più destinazioni con un unico flusso di dati, invece di usarne molteplici. Taschin Antonio
Scenari di applicazione • Videoconferenze, video on demand • Quotazioni in borsa, distribuzione di listini e cataloghi in tempo reale • Training, teledidattica • Distribuzione di software • Possibilità di sfruttare Internet per trasmissioni di tipo televisivo Taschin Antonio
Storia • Stanford University primi anni 80 • Steve Deering e Vsystem • Agosto 1989 RFC1112 • Dicembre 1991 “Multicast routing in a Datagram Network” Taschin Antonio
MBone rete virtuale sperimentale di router multicast, costruita sopra la struttura standard di Internet • mrouted protocollo di routing DVMRP • Tunnel Taschin Antonio
Storia di MBone • Primi anni 90 • Darpa Testbed Network (DARTNet) • MIT,SRI, ISI, BBN, varie università • 1992 IETF meeting a San Diego Taschin Antonio
Gli indirizzi multicast Insieme di zero o più host identificato da un singolo indirizzo IP di classe D 224.0.0.0 – 239.255.255.255 Taschin Antonio
…riassumendo • Indirizzi IP Multicast • Classe D — caratterizata dai 4 bit più alti (1110)=(224.0.0.0) • Range da 224.0.0.0 a 239.255.255.255 • Well known addresses stabiliti dallo IANA • Per usi riservati da 224.0.0.0 a 224.0.0.255 • 224.0.0.1—all systems on subnet • 224.0.0.2—all routers on subnet • 224.0.0.13 – all PIM routers • “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 Taschin Antonio
Le applicazioni in MBone Sessione Trasmissione di dati in MBone • Session Announcement Protocol • Session Description Protocol • Session Initiation Protocol Taschin Antonio
Session Announcement Protocol (SAP) • Per annunciare una sessione multicast e la sua descrizione • Sessioni Gloobal Scope 224.2.127.254 • 224.2.128.0 – 224.2.255.255 • Sessioni Administrative Scope indirizzo più alto • Porta 9875 Taschin Antonio
Cancellazione di una sessione • Explicit Timeout • Implicit Timeout • Explicit Deletion Taschin Antonio
Tool di MBone • SDR (Session Directory) • VIC (Video Conferencing Tool) • RAT e VAT (Robust e Visual Audio Tool) • WB Taschin Antonio
Livello 2: Multicast Ethernet Indirizzo Ethernet 48bit 6 campi da 2 cifre esadecimali • Esempio: • L’indirizzo AB-CD-EF-04-26-45 • la cifra AB (171 in notazione decimale) è dispari. L’indirizzo multicast viene riconosciuto dalla prima cifra esadecimale dell’indirizzo. • Pari unicast • Dispari multicast Taschin Antonio
…esempio • L’indirizzo AB-CD-EF-04-26-45 • la cifra AB (10101011) è dispari. • Livello 1: • Ogni singolo byte viene trasferito autonomamente • dal più significativo • Ogni bit del byte viene trasferito dal meno significativo il primo bit che esce dalla scheda di rete è un 1 mappare gli indirizzi della classe D con indirizzi Ethernet che generino fisicamente un livello alto di tensione all'inizio. Taschin Antonio
Multicast su Ethernet (livello 2) RFC1112 01-00-5E-00-00-00 32 Bits 23 Bits 239.255.0.1 01-00-5e-7f-00-01 24 Bits 24 Bits 48 Bits Taschin Antonio
Indirizzo Multicast Ethernet • HEX 01 00 5E - 23 bit - • BIN 0000 0001 0000 0000 0101 1110 0xxx xxxx xxxx xxxx xxxx xxxx • | | • Multicast Bit 0 = Internet Multicast Taschin Antonio
Sovrapposizione di indirizzi 32 Bits 28 Bits 1110 239.255.0.1 5 Bits Lost 01-00-5e-7f-00-01 25 Bits 23 Bits 48 Bits Taschin Antonio
Sovrapposizione di indirizzi 32 – Indirizzi IP Multicast 224.1.1.1 224.129.1.1 225.1.1.1 225.129.1.1 . . . 238.1.1.1 238.129.1.1 239.1.1.1 239.129.1.1 1 - Multicast MAC Address 0x0100.5E01.0101 Taschin Antonio
Sovrapposizione di indirizzi 32 – Indirizzi IP Multicast 224.0.0.x 224.129.0.x 225.0.0.x 225.129.0.x . . . 238.0.0.x 238.129.0.x 239.0.0.x 239.129.0.x 1 - Multicast MAC Address 0x0100.5E00.00xx Taschin Antonio
Perché • Primi anni 90 Steve Deering • IEEE 16 consecutivi OUI (Organizational Unique Identifier) Taschin Antonio
Il concetto di Gruppo • Insieme di zero o più host identificato da un indirizzo di classe D • Associarsi o Abbandonare • Non è statico ma dinamico • Non è necessario essere membri di un gruppo per inviare dati a quel gruppo • Per ricevere i dati però bisogna essere membri del gruppo Taschin Antonio
IGMP Internet Group Management Protocol • IGMPv1 RFC1112 obsoleto • IGMPv2 RFC2236 in uso • IGMPv3 bozza Taschin Antonio
Pachetto IGMPv1 • Version • in questo campo viene specificata la versione dell’IGMP • Type • esistono due tipi di messaggi IGMP: • 1 = Host Membership Query. • 2 = Host Membership Report. • Unused • 0 quando viene spedito • Checksum • Group Address Taschin Antonio
IGMPv1 • Membership Query 224.0.0.1 ALL-SYSTEMS.MCAST.NET • Membership Report 224.0.0.2 ALL-ROUTERS.MCAST.NET • Leave Group Taschin Antonio
224.1.1.1 H2 H3 H1 Report IGMPv1 IGMPv1—Associarsi a un gruppo • Per associarsi a un gruppo un PC manda un pacchetto IGMP report all’indirizzo 224.1.1.1 con TTL 1 Taschin Antonio
Membership Query all’indirizzo 224.0.0.1 IGMPv1 — Membership Queries H2 H3 H1 • 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 MulticastRouter Taschin Antonio
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 Taschin Antonio
H3 H3 Query a 224.0.0.1 Query a 224.0.0.1 IGMPv1 — Abbandonare un gruppo 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 Taschin Antonio
IGMPv2 • RFC 2236 • group-specific query • Il router si assicura che non ci sia più nessun interessato al gruppo prima di cessare il forwarding di quel traffico multicast • Leave group message • Gli host possono inviare questo messaggio per abbandonare il gruppo Taschin Antonio
IGMPv2 • Querier election mechanism • Viene selezionato il router con l’indirizzo IP minore. • Query-interval response time • Viene impostato il massimo tempo nel quale un host può rispondere • Compatibilità con IGMPv1 Taschin Antonio
Pacchetto IGMPv2 • Type • 0x11 Membership Query: ci sono due sottotipi di messaggi: • General Query: utilizzato per conoscere quali gruppo hanno dei partecipanti in una particolare rete. • Group-Specific Query: utilizzato per conoscere se un particolare gruppo ha dei partecipanti in una particolare rete. • 0x12 Membership Report usato per la compatibilità con la versione 1. • 0x16 Membership Report per la versione 2. • 0x17 Leave Group: Abbandono del gruppo
Pacchetto IGMPv2 Max Response Time questo campo è significativo solo nei messaggi di tipo Membership Query e specifica il tempo massimo consentito prima di inviare un report di risposta. Il tempo è misurato in unità da 1/10 di secondo. Negli altri messaggi, questo campo, è settato a zero da coloro che trasmettono e ignorato da chi riceve.
224.1.1.1 Report IGMPv2—Unirsi a un gruppo 1.1.1.10 1.1.1.11 1.1.1.12 H2 H3 H1 • Il PC che sta per unirsi a un gruppo invia un messaggio IGMP al gruppo di cui vuol far parte H3 H1 1.1.1.1 router Taschin Antonio
router>show ip igmp group IGMP Connected Group Membership gruppo Address Interface Uptime Expires Last Reporter 224.1.1.1 Ethernet0 6d17h 00:02:31 1.1.1.11 IGMPv2—Unirsi a un gruppo 1.1.1.10 1.1.1.11 1.1.1.12 H2 H3 H1 H3 H1 1.1.1.1 router Stato IGMP nel router Taschin Antonio
Query Query IGMPv2—Querier Election 1.1.1.10 1.1.1.11 1.1.1.12 H2 H3 H1 1.1.1.2 1.1.1.1 IGMP Non-Querier IGMP Querier IGMPv2 router_b router • Inizialmente tutti i router inviano una Query • Il router con il più basso indirizzo IP viene eletto querier • Gli altri router diventano “Non-Queries” Taschin Antonio
IGMPv2—Querier Election Quale router? router>show ip igmp interface e0 Ethernet0 is up, line protocol is up Internet address is 1.1.1.1, subnet mask is 255.255.255.0 IGMP is enabled on interface Current IGMP version is 2 CGMP is disabled on interface IGMP query interval is 60 seconds IGMP querier timeout is 120 seconds IGMP max query response time is 10 seconds Inbound IGMP access group is not set Multicast routing is enabled on interface Multicast TTL threshold is 0 Multicast designated router (DR) is 1.1.1.1 (this system) IGMP querying router is 1.1.1.1 (this system) Multicast groups joined: 224.0.1.40 224.2.127.254 Taschin Antonio
224.1.1.1 224.1.1.1 224.1.1.1 H2 H3 H1 X X Suppressed Report Suppressed Query IGMPv2—Mantenere un gruppo 1.1.1.10 1.1.1.11 1.1.1.12 • Il router invia le query periodiche 1.1.1.1 IGMPv2 • Solo un unico membro per gruppo risponde con un report • Gli altri membri sopprimono l’invio del report Taschin Antonio
router>sh ip igmp group IGMP Connected Group Membership Group Address Interface Uptime Expires Last Reporter 224.1.1.1 Ethernet0 6d17h 00:02:31 1.1.1.11 IGMPv2—Abbandonare un gruppo 1.1.1.10 1.1.1.11 1.1.1.12 H2 H3 H1 1.1.1.1 router Stato IGMP nel router Taschin Antonio
224.1.1.1 224.1.1.1 H2 H2 Report a 224.1.1.1 Leave Msg 224.0.0.2 #1 #3 Group Specific Query to 224.1.1.1 #2 IGMPv2—Abbandonare un gruppo 1.1.1.10 1.1.1.11 1.1.1.12 H3 H1 • H2 lascia il gruppo ed invia un Leave message 1.1.1.1 router • Il router invia il solito Group specific query • Uno dei membri rimasti risponde • Il gruppo resta attivo Taschin Antonio
router>sh ip igmp group IGMP Connected Group Membership Group Address Interface Uptime Expires Last Reporter 224.1.1.1 Ethernet0 6d17h 00:01:47 1.1.1.12 IGMPv2—Abbandonare un gruppo 1.1.1.10 1.1.1.11 1.1.1.12 H2 H3 H1 1.1.1.1 router Stato IGMP nel router Taschin Antonio
224.1.1.1 H3 Leave M 224.0.0.2 #1 Group Specific Query to 224.1.1.1 #2 IGMPv2—Abbandonare un gruppo 1.1.1.10 1.1.1.11 1.1.1.12 H2 H3 H1 1.1.1.1 router • L’ultimo membro rimasto invia un Leave message • Il router invia il solito Group specific query • Il router non riceve nessun report • Il gruppo va in time out Taschin Antonio
router>sh ip igmp group IGMP Connected Group Membership Group Address Interface Uptime Expires Last Reporter IGMPv2—Abbandonare un gruppo 1.1.1.10 1.1.1.11 1.1.1.12 H2 H3 H1 1.1.1.1 router Stato IGMP nel router Taschin Antonio
Comandi Taschin Antonio
In dettaglio • ip multicast-routing • Default: Disabled • Command Mode: Global • Cisco IOS Release 10.0. • ip multicast ttl-threshold <ttl> • Default: 0 • Command Mode: Interface • Cisco IOS Release 11.0. Taschin Antonio
In dettaglio • ip multicast rate-limit {in | out} [video | whiteboard] [group-list access-list] [source-list access-list] kbps • Default: NC • Command Mode: Interface • Cisco IOS Release 11.0. • ip igmp access-group <access-list-number> <version> • Default: tutti i gruppi sono permessi • Command Mode: Interface • Cisco IOS Release 10.0. Taschin Antonio
In dettaglio • ip igmp join-group <group-address> • ip igmp query-interval <seconds> • ip igmp query-max-response-time <seconds> • ip igmp query-timeout <seconds> • ip igmp static-group <group-address> Taschin Antonio
In dettaglio • ip sdr cache-timeout <minuti> • ip sdr listen • mrinfo • mstat • mtrace Taschin Antonio