Multicast Johdanto Ryhmien hallinta Reititys Reaaliaikaiset siirto- ja hallintaprotokollat Resurssien varaus Sessioiden hallinta 1
Johdanto Tietoverkoissa voidaan lähettää kolmella eri tavalla Unicast Broadcast Multicast Broadcastia ja multicastia varten tarvitaan erityisiä ryhmäosoitteita 2
Unicast 3
Broadcast 4
Multicast 5
Protokollat Ryhmien hallinta Reititys Reaaliaikaiset siirto- ja hallintaprotokollat Resurssien varaus Sessioiden hallinta 6
Ryhmien hallinta 1. Ryhmäosoitteet 2. Mekanismi, jolla ryhmiin liitytään 3. Reititysprotokollat 4. Lähetettävän datan luonti ja hallinta 7
Ryhmäosoitteet IPv4: Luokka D IPv6: osoitteet 224.0.0.0-239.255.255.255 näistä 244.0.0.0-244.0.0.255 varattu reititystä ym. varten liput: neljäs bitti kertoo onko reitti pysyvä scope: kuinka laaja ryhmä on 8
IPv4 vs. IPv6 9
Ryhmiin liittyminen Kaksi vaihtoehtoa A) Tietokone liittyy haluamaansa ryhmään B) Reititin kertoo ryhmistä ja pyytää liittymään Jälkimmäisessä tapauksessa käytetään Internet Group Management Protocol (IGMP) protokollaa 10
IGMP-protokollan käyttö 11
Reititys Reititin tietää seuraavan kohteen reititystaulun avulla Reitittimet vaihtavat keskenään tietoja ja päivittävät reititystauluja Kaksi perusmenetelmää: Etäisyysvektori - Distance Vector Yhteyden tila - Link Status 12
Reititystaulu 13
Distance Vector Reititin kertoo naapureille etäisyydet muihin reitittimiin Helppo laskea Toimii huonosti, jos yhteydet katkeilevat usein Skaalaantuu huonosti 14
Toiminta 15
Link Status Etäisyyksien sijasta lähetetään tiedot yhteyksistä muihin reitittimiin Vastaanottava reititin päivittää tiedot käytettävistä olevista yhteyksistä Reitit lasketaan Dijkstran lyhyimmän polun algoritmilla Menetelmä skaalaantuu paremmin 16
Multicast-reititys Myös multicast-reitityksessä ylläpidetään reititystauluja Lisäksi pitää rakentaa multicast-puut Myös dynaamiset ryhmien muutokset pitää hallita Multicast-puihin liittyy ja poistuu jatkuvasti jäseniä Nykyään on ongelmana myös skaalattavuus 17
Harvennus Tärkein tehtävä on Multicast-puiden harvennus (Pruning) Puusta poistetaan oksat, joissa ei ole lehtiä (asiakkaita) 18
Harvennus 19
Tulvinta Tulvinta (Flooding) on helpoin tapa rakentaa multicast-puita Multicast-paketit tulvivat kaikkiin reittimen ulosmenoportteihin Reititin lähettää paketit eteenpäin, jos se ei ole nähnyt pakettia aikaisemmin Turhat oksat voidaan myöhemmin karsia 20
Karsinta 21
Multicast-reititysprotokollat Distance-Vector Multicast Routing Protocol (DVMRP) Multicast Extension to Open Shortest Path First (MOSPF) Protocol Independent Multicast (PIM) 22
DVMRP Distance-Vector Multicast Routing Protocol (DVMRP) perustuu RPM -algoritmiin Alkuperäinen MBone-reititysprotokolla Helppo toteuttaa Ei skaalaannu hyvin Toimii vain Distance-Vector -reititysprotokollien kanssa 23
MOSPF Multicast Extension to Open Shortest Path First (MOSPF) perustuu link-state -protokollaan Multicast-paketit tulvivat vain lähialueelle Solmujen välille rakennetaan normaalisti puu Puusta karsitaan multicast-versio 24
MOSPF:n ominaisuudet Reagoi nopeasti Puiden laskenta raskasta Toimii vain Link-State -protokollien kanssa 25
PIM Protocol Independent Multicast (PIM) on riippumaton unicast-reititysprotokollasta Näistä yleisin on PIM-SM Dense Mode (PIM-DM) Sparse Mode (PIM-SM) Bidirectional PIM PIM Source Specific Multicast Kaksi viimeistä ovat sen harvinaisempia versioita 26
PIM-DM Sopii multicast-verkkoihin, joissa on paljon vastaanottajia (tiheä) Lähettäjä lähettää aluksi broadcastlähetyksenä Ne vastaanotttajat, jotka eivät halua lähetystä lähettävät karsinta-viestin (prune) Myös reititin karsitaan, jos kaikki sen vastaanottajat ilmoittavat karsinnasta 27
PIM-SM Laaja multicast-verkko, jossa on vähän vastaanottajia (harva) Vastaanottaja liittyy multicast-puuhun IGMP Join-viestillä Lähin reititin välittää liittymispyynnöt eteenpäin Liittymispyyntö välitetään lähimmälle kohtaamispisteelle (Rendezvous Point) Jokaisella verkkotunnuksella (domain) on vain yksi kohtaamispiste 28
Reaaliaikaiset siirtoprotokollat Protokollaperhe Real-Time Transport Protocol (RTP) Real-Time Control Protocol (RTCP) Real-Time Streaming Protocol (RTSP) Sopivat yleensä jatkuva-aikaisen median siirtoon - ei pelkästään multicastia varten 29
Protokollien väliset suhteet RTSP RSVP RTP/ RTCP Reliable Multicast UDP TCP IP 30
RTP Real-Time Transport Protocol (RTP) sekvenssien numerointi aikaleimat eri kuormien identifiointi Toimii yleensä UDP:n päällä Ei takaa luotettavaa siirtoa - eikä QoS ominaisuuksia 31
RTP ja muut protokollat Application Media Conference control RTCP RTP UDP Signaling IPX IP Ethernet AAL5 ATM ST-II 32
RTCP Real-Time Control Protocol (RTCP) ohjaa RTP yhteyksiä Tehtävät: 1. Välittää informaatio RTP-yhteyden ominaisuuksista (QoS-parametrit) 2. Välittää tietoa RTP-yhteyden lähettäjästä 3. Rajoittaa ohjaustiedon määrän (5%) 4. Välittää tietoa itse sessiosta 33
RTSP Real-Time Streaming Protocol (RTSP) muodostaa ja hallinnoi reaaliaikaisia siirtoyhteyksiä Toimii hyvin yhteen RTP ja RTCPprotokollien kanssa Tekee osittain samoja asioita kuin HTTPprotokolla 34
RTSP - Toiminta Workstation Web browser Media Player HTTP GET SETUP PLAY Web Server Multimedia Server RTP video RTP audio PAUSE TEARDOWN 35
Sessioiden hallinta Tarjolla olevia multicast yhteyksiä pitää jotenkin mainostaa Tarvitaan hakemistopalveluja Käytössä on kolme protokollaa SDP, SAP ja SIP 36
SDP Session Description Protocol (SDP) välittää tietoa tarjolla olevista sessioista ja niiden asetuksista Kyse on formaatista, jossa tiedot ilmoitetaan Käytössä on kolme parametriluokkaa: Session kuvaus Ajan kuvaus Median kuvaus 37
SDP esimerkki v=0 o=jdoe 2890844526 2890842807 IN IP4 10.47.16.5 s=sdp Seminar i=a Seminar on the session description protocol u=http://www.example.com/seminars/sdp.pdf e=j.doe@example.com (Jane Doe) c=in IP4 224.2.17.12/127 t=2873397496 2873404696 a=recvonly m=audio 49170 RTP/AVP 0 m=video 51372 RTP/AVP 99 a=rtpmap:99 h263-1998/90000 38
SAP Session Annoucement Protocol (SAP) välittää sessioiden kuvaukset eri hakemistoihin Ilmoitukset lähetetään multicastlähetyksinä Yleensä tiedot välitetään kuitenkin joko sähköpostilistojen tai www-sivujen avulla 39
SIP Session Initation Protocol (SIP) käytetään, kun halutaan kutsua vain tietyt osapuolet mukaan sessioon Kutsuttavat voivat olla henkilöitä tai "robotteja" Robotteja ovat VOD-palvelimet, videokamerat ym. Hakemistopalveluja voidaan käyttää myös henkilöiden etsinnässä 40
Yhteyden luominen R. Sparks, SIP Basics and Beyond, ACM Queue, March 2007, pp. 22-33. SIP-yhteyden luomiseen käytetään yleensä SIP-proxya Itse kommunikaatio tapahtuu suoratoiston avulla suoraan osapuolten välillä 41
Kohtaaminen R. Sparks, SIP Basics and Beyond, ACM Queue, March 2007, pp. 22-33. Kohtaamisessa käytetään kiinteää osoitetta Address of Record (AoR) SIP-asiakas voi ilmoittaa tämän hetkisen osoitteensa SIPproxylle 42
Haarautumien R. Sparks, SIP Basics and Beyond, ACM Queue, March 2007, pp. 22-33. Haarautuminen mahdollistaa useamman SIPasiakkaan käytön yhtä aikaa 43
SIP URI -osoitteet R. Sparks, SIP Basics and Beyond, ACM Queue, March 2007, pp. 22-33. request-uri: kutsuttava to-uri: kohdeosoite from-uri: lähdeosoite contact URI: kutsuja 44
Soitonsiirto R. Sparks, SIP Basics and Beyond, ACM Queue, March 2007, pp. 22-33. SIP mahdollistaa myös soitonsiirron toiselle vastaanottajalle Jean on laittanut Philin puhelun pitoon ja soittanut välipuhelun Robertille 45
Globally Routable Useragent URI (GRUU) Seuraavaksi Jean haluaa siirtää Robertin puhelun Philille Ongelmana on selvittää mihin Robertin SIPasiakkaseen Philin pitäisi ottaa yhteyttä R. Sparks, SIP Basics and Beyond, ACM Queue, March 2007, pp. 22-33. 46