Multicast perusteet Ins (YAMK) Karo Saharinen 20.04.2016
Lyhenteitä Multicastissä Lyhenne PIM PIM-SM PIM-DM MC ASM SSM RP BSR IGMP UC (S,G) Selite Protocol Independent Multicast PIM Sparse Mode PIM Dense Mode Multicast Any Source Multicast Source Specific Multicast Rendezvous Point Bootstrap Router Internet Group Management Protocol Unicast (Source, Group)
Liikennetyypit Unicast 4 x tietovuo Lähde: JNCIA study guide, Sivu 375
Liikennetyypit Broadcast
Liikennetyypit Multicast Muodostaa jakelupuun, jonka juuri alkaa Cabernet -reitittimeltä 1 x tietovuo Tietovuo kopioidaan 3 -rajapintaan Lähde: JNCIA study guide, Sivu 377
Multicast Hyödyt Kaistan säästö Yksi liikenne vuo koko verkossa, vaikka useampia vastaanottajia Lähiverkossa vain liikennevuosta kiinnostuneet vastaanottavat paketteja Viive laskee Haitat Yksi liikennevuo kuormittaa reititintä vähemmän kuin useampi Lisää tiedonsiirtoverkon monimutkaisuutta uusilla protokollilla (Insinööri joutuu vähän miettimään)
Multicast Layer 3 toiminnallisuus IPv4 & IPv6 ominaisuus IPv4 osoiteavaruudesta varattu multicastille 224.0.0.0/4 eli 224.0.0.0 239.255.255.255 Binäärinä 1110xxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx IPv6 osoiteavaruudessa varattu multicastille FF00::/8 Ei viitsi kirjoittaa binäärinä 128bittiä
Multicast IPv4 Tarkempaa allokointia RFC 3171 224.0.0.0-224.0.0.255 (224.0.0/24) Local Network Control Block 224.0.1.0-224.0.1.255 (224.0.1/24) Internetwork Control Block 224.0.2.0-224.0.255.0 AD-HOC Block 224.1.0.0-224.1.255.255 (224.1/16) ST Multicast Groups 224.2.0.0-224.2.255.255 (224.2/16) SDP/SAP Block 224.252.0.0-224.255.255.255 DIS Transient Block 225.0.0.0-231.255.255.255 RESERVED 232.0.0.0-232.255.255.255 (232/8) Source Specific Multicast (SSM) Block 233.0.0.0-233.255.255.255 (233/8) GLOP Block 234.0.0.0-238.255.255.255 RESERVED 239.0.0.0-239.255.255.255 (239/8) Administratively Scoped Block - Tätä tulette toivottavasti käyttämään harjoitustyössänne - Verrattavissa IPv4:n private addressingiin unicastissa
Multicast ja Ethernet Miten kytkimet ymmärtävät IP-multicast osoitteita? Nehän kytkevät Ethernet MAC-osoitteiden perusteella Multicast IP-osoite käännetään Multicast Ethernet MACosoitteeksi
Multicast IP to MAC -muunnos Ethernet osoiteallokointi 01-00-5E-xx-xx-xx varattu IPv4 Multicastille 23 bittiä 33-33-xx-xx-xx-xx varattu IPv6 Multicastille 32bittiä Hmm! Eikö meillä ollut IPv4:ssä mahdollisuus varata 28bittiä multicastille? The 5-bit difference between the multicast group address and the Ethernet MAC address results in 32 possible address overlaps. In the scope of 268,435,456 possible multicast group addresses, the chance of an overlap occurring on a single Ethernet network is about 0.00001 percent. - JNCIA Study Guide, Sivu 383
Multicast Nyt tiedämme osoitteistuksen periaatteita L3 ja L2 tasolla Miten laitteet tietävät kuka tilaa multicastia ja mistä tiedämme kuka lähettää? Laitteiden pitää viestiä toisilleen Viestiminen tapahtuu käyttäen sovittuja protokollia L3 PIM Protocol Independent Multicast L2 / L3 IGMP Internet Group Management Protocol
IGMP (Internet Group Management Protocol) Asiakaskoneet käyttävät IGMP:tä rekisteröityäkseen Multicast-reitittimelle ja liittyäkseen tiettyyn multicast ryhmään (group) IGMP versio 2 yleisimmin käytetty vaikka versio 3 on jo olemassa - Versio 3 tuo tuen Source Specific Multicast:lle (SSM) IGMP on L3 protokolla - Vaikka sillä tilataan lähiverkkoon Ethernet Multicast MAC osoitteella oleva multicast stream - Reititin lähettää tietyin ajoin IGMP Query, jolla kysellään mihin ryhmiin asiakaskoneet haluavat liittyä (tai ylläpitää jäsenyyttään), - Asiakas voi lähettää IGMP Join viestin, jolla liitytään ryhmään omatoimisesti
IGMP (Internet Group Management Protocol) Vain yksi jäsenyys vaaditaan multicast-ryhmältä, jotta multicast liikenne ohjataan lähiverkkoon Huomatkaa, että yhteen lähiverkkoon voi olla useampi Multicast-välittäjä (Querier) Lähde: Karo IGMP Saharinen Configuration Guide, Cisco Systems
IGMP snooping Multicast liikenne on varustettu MAC-osoitteella, joka ei löyty kytkimen kytkentätaulusta - DST MC MAC liikennettä kohdellaan broadcast liikenteenä IGMP snooping lisää kytkimeen ominaisuuden, jolla se kuuntelee verkon IGMP viestintää Tarpeen mukaan lisää DST MC MAC-osoitteet kytkentätauluunsa - Yksi DST MC MAC voi sijaita useammassa portissa, koska multicast
PIM (Protocol Independent Multicast) IGMP toimi työaseman ja reitittimen välillä PIM toimii reitittimien välillä ja on verrattavissa Unicast reititysprotokolliin, kuten OSPF ja EIGRP PIM reitittää multicast liikennettä - Opimme kuitenkin hetken päästä, että PIM tarvitsee taustalle toimivan Unicast reitityksen - Reititys notaatio on (S, G), eli (Source, Group) esim. - (*, 239.1.1.1) Kuuntelee vain kanavaa 239.1.1.1 mistä tahansa (*) -lähteestä - (192.168.1.1, 239.1.1.1) Kuuntelee kanavaa 239.1.1.1 lähteestä 192.168.1.1
PIM (Protocol Independent Multicast) PIM muodostaa Multicast jakelupuita (Distribution Trees) - Source Tree - Jokaiselle Multicast lähteelle (source) muodostuu oma jakelupuu (tree) - Shared Tree - Jokainen Multicast lähde käyttää yhtä jakelupuuta, jonka juuri on RP (Rendezvous Point) Ikävästi PIM terminologiassa Source ja Shared Tree:lle periaatteille tulee vielä uudet termit - Source Tree = PIM Dense Mode (PIM-DM) - Dense = Tiheä, eli oletetaan multicast-vastaanottajia on paljon - Shared Tree = PIM Sparse Mode (PIM-SM) - Sparse = Harva, eli oletetaan multicast-vastaanottajia on vähän
PIM ja Source Tree Yksinkertaisin multicast-jakelupuu on lähettäjäperusteinen puu Tälläinen puu on usein ns. lyhimmän polun puu (eng. Shortest Path Tree) Puunjuuri alkaa Multicast lähetyksen lähteeltä (source) - Puurakenteita on verkossa lähettäjien määrän verran Lähde: PIM Configuration Guide, Cisco Systems
PIM ja Shared Tree Verkkoon valitaan Multicast lähetysten solmupiste (RP), jolta vedetään Multicast lähetys - Kaikkien solmujen pitää olla tietoinen solmupisteestä Multicast lähetys kierrätetään RP-pisteen kautta (reititin D), joka sen jälkeen jakelee lähetyksen eteenpäin - Puu ei käytä lyhintäpolkua verkon lävitse Lähde: PIM Configuration Guide, Cisco Systems
PIM (Protocol Independent Multicast) PIM Dense Mode - Työntää (push) Multicast liikennettä väkisin, jokaiselle rajapinnalle - Reitittimien pitää kieltäytyä multicast lähetyksestä (PIM prune viestillä) - Jos heillä ei ole IGMP/PIM tilaajaa PIM Sparse Mode - Multicast-liikenne pitää vetää (pull) RP pisteeltä PIM Join viesteillä - Multicast liikennettä ei välitetä ilman pyyntöä - Tietoturvallisempaa Tietenkin vähemmän multicastistä tietävät saavat PIM Dense Moden toimimaan - koska koko verkko työnnetään (väkisin) täyteen multicastia (ei hyvä) - Ei tarvitse valita ja tiedottaa RP pisteestä verkossa
PIM ja silmukanesto PIM tukeutuu unicast reititysprotokollaan estääkseen multicast liikenteessä silmukat Toiminnallisuutta kutsutaan Reverse Path Forwarding tarkastukseksi (RPF) - Vastaanottaessa Multicast liikennettä tietystä SRC IP:stä - Reititin tarkastaa lähettäisikö se Unicast liikennettä takaisinpäin (reverse) kyseiseen source-ip:seen Tarkastukseen tarvitaan Unicast-reititystaulu Jos Multicast Source IP:tä ei löydy Unicast-reititystaulusta - Liikenne tiputetaan - Aiheuttaa hyvin mielenkiintoisia ongelmatilanteita reitityksessä esim. Salauksen kanssa
PIM ja silmukanesto Lähde: PIM Configuration Guide, Cisco Systems
PIM RP ja BSR RP (Rendezvous Point) oli verkon solmukohta, joka pitää valita sparsemode:ssa BSR (BootStrap Router) on RP:n mainostaja - BSR pitää yllä rekisteriä verkon eri RP pisteistä BSR -reitittimiä ja RP -reitittimiä voi olla useampia ja ne voivat olla eri fyysisissä pisteissä verkkoa - Ei haluta, että verkko sulaa, jos yksi laite menee rikki
aliverkoitus_multicast.pdf Tähän väliin katsellaan hieman esimerkkiä
PIM & IGMP konfigurointi Reitittimellä pitää varmistaa, että multicast reititys on käynnissä - R(config)# ip multicast-routing Jokaiseen multicast-rajapintaan pitää ottaa käyttöön PIM ja sen haluttu käyttömalli - R(config-if)# ip pim dense-mode - tai - R(config-if)# ip pim sparse-mode
PIM & IGMP konfigurointia Verkossa pitää määrittää BSR reititin (voi tehdä useammalle) - R(config)# ip pim bsr-candidate <rajapinta> <hash-lenght> <priority> Verkossa pitää määrittää RP reititin - R(config)# ip pim rp-candidate <rajapinta> priority <priority> Kytkimet tulevat tietoiseksi IGMP viestinnästä komennolla - SW(config)# ip igmp snooping
Multicast reititystaulu (S,G) Mikä on RP kyseiselle ryhmälle Mistä MC tulee Minne MC menee
IGMP jäsenyydet (S,G) Tilaaja Rajapinta
Aiheesta lisää opinnäytetöinä SIMULTANEOUS ENCRYPTION AND DISTRIBUTION OF IPV4 MULTICAST IN TWO DIFFERENT ENCRYPTION PRODUCTS JAMK (YAMK) MULTICAST-REITITYKSEN SUUNNITTELU SPIDERNET- LABORATORIOYMPÄRISTÖSSÄ JAMK (AMK) JUNIPER MULTICAST SPIDERNET-VERKKOLABORATORIOSSA JAMK (AMK) Ryhmälähetysten suojaus sisällönjakeluverkoissa JYU (Pro gradu)