Razpošiljanje (multicast - LUSY · Naslavljanje IPv4 imena razpošiljavalnih skupin so dejansko...

Preview:

Citation preview

Razpošiljanje(multicast)

Razpošiljanje  Načininaslavljanja:

  unicast(tradicionalno):pošiljanjeenemuciljnemuIPnaslovu(unikatenvInternetu/lokalnemuomrežju)

  broadcast:naslavljanje"vsehprejemnikov"vpodomrežju(npr.iskanjeusmerjevalnikaalistrežnika,nujnosporočilo);nedostavljapaketovizvenomrežja

  Kakoposlatisamoizbraniskupininaslovov,tudiizvenlokalnegaomrežja?  multicastnaslavljanje(razpošiljanje)omogočadostavoskupinamnegledenamejepodomrežij

  IGMP(InternetGroupManagementProtocol)seuporabljazaupravljanjesskupinami

2

Razpošiljanje

3

Razpošiljanje‐primer

Poslatiželimo4od6računalnikovvomrežju.Kako?

1.   unicast:potrebujemo6kopijistegapaketa,večkratnopošiljanjeobremenjujemedij

2.  broadcast:naslovivseračunalnike,filtriranjepravihprejemnikovprepustimoprotokolomnavišjimplastem.

3.  multicast:pošljemo"posebnemu"naslovu",kipredstavljaSKUPINOprejemnikov,kiposlušapakete,naslovljenenatanaslov

  podobnokotbroadcast:paketdobijovsi  vendar:filtriranjeseizvedenaomrežnemnivoju‐

IP(včasihlahkotudinapovezavnemnivoju)

4

Razpošiljanje:usmerjanjepaketov   broadcastpaketovusmerjevalnikineposredujejo(dobilibijihvsi!),torejostajajo

znotrajlokalnegaomrežja

  usmerjanjeprirazpošiljanjujepraktično:ensampaketusmerjevalnikirazmnožijoinposredujejosamoprekotistihvmesnikov,kjersoposlušateljipaketa.Imeskupineje32bitnoštevilo(skoraj).

  Izziviprotokola:  odkrivanje,kjesoprejmenikipaketa,  razpošiljanjezahtevadodatnodelo:usmerjevalniprotokoli,posredovanjeinformacije

oposlušateljih,  razpošiljalninaslovineoblikujejo(pod)mrež‐>maskaima32bitov.Vusmerjevalnih

tabelahzatozahtevajoposebnevnose  izziv:lahkoimajotudivečposebnihvnosov,zakaj?

  varnost:prisluškovalecselahkonaročinaposlušanjepaketovinpostanelegitimniprejemnik

  kajnarediti,česamoenprejemnikjavi,danidobilpaketa?

5

Razpošiljanje

naročanjenamulticastpromet(IGMP)

multicastusmerjanje(PIM)

6

Aplikacijerazpošiljanja  pošiljanjevelikihdatotekprekoomrežja(glavniurad

podružnicam)–zanesljiviprenos.  nadgradnjaprogramskeopremevvelikemomrežju  datastreaming(npr.pošiljanjepodatkovodelnicam

vsemfinančnimdružbam)  audio/videostreaming  videonazahtevo(spremljanjeTVprograma)  izvedbakonferenc(pomislek:boljšauporaba

konferenčnegacentra,kiodloča,kdolahkogovoriinčigavepaketeposredovatidrugim)  izziv:premisli,kakoizgledaizvedbakonferencez

multicastpristopom  aplikacijevrealnemčasuzRTP,kiseuporabljaza

zagotaljanjetekočeinkakovostnedostavevokoljih,kjerseuporabljarazpošiljanje

7

8

NaslavljanjeIPv4   imenarazpošiljavalnihskupinsodejanskoposebejrezerviraniIPv4naslovi:

224.0.0.0 - 239.255.255.255 (razredD)  Posebninasloviznotrajtegaobsega:

Razponnaslovov Opis

224.0.0.0 - 224.0.0.255 Rezerviranozaznane(“well‐known”)multicastnaslove

224.0.0.1 Vsisistemi(vmesnikiinusmerjevalniki)

224.0.0.2 Vsiusmerjevalniki

224.0.1.0 - 238.255.255.255 Globalnimulticastnaslovi(dosegljivivinternetu)

239.0.0.0 - 239.255.255.255 Lokalnimulticastnaslovi(lokalnoomrežje)

9

NaslavljanjeIPv6

1.)imerazpošiljevalneskupineje128‐bitnoštevilo–IPv6naslov,kisepričnezFF

2.)FF02::1(linklocal:vsiVMESNIKI)3.)FF02::2(linklocal:vsiUSMERJEVALNIKI)4.)StrukturaIPv6naslova:

10

Preslikavavpovezavnenaslove  EthernetinFDDIokvirjiuporabljajo48bitnenaslove.Naslovi01‐00‐5e‐00‐00‐00do

01‐00‐5e‐ff‐ff‐ffpredstavljajonasloverazpošiljevalnihskupin.  Predpona01‐00‐5epomenirazpošiljevalniokvir,naslednjibitje0,ostalih23bitov

tvoriimerazpošiljevalneskupine.

  kersoIPrazpošiljevlaninaslovidolgi28spremenljivihbitov,preslikavanienolična!Vokvirsevstavisamo23manjpomembnihbitov.Topomeni,dasepo32(25)naslovovzdružujevisTnaslovnadrugiplasT.  izziv:kajmoratorejpoče0usmerjevalnik?

  Omrežnaplastodloča,alisodatagramipomembnizasprejemaline.

11

12

ProtokolIGMP  mrežniprotokoljeIPv4paketuinštevilkaprotokolaje2  RFC2236,InternetGroupManagementProtocol,Version2,RFC3376,

InternetGroupManagementProtocol,Version3  obvezno:poiščiteganaspletutergapreberite–literatura!  izziv:poiščitešeostaleRFCdokumente,kiseukvarjajozIGMP

  IGMPskrbizaupravljanjestem,kdosoprejemnikirazpošiljanihsporočil.Omogoča:  pridružitevskupini  izstopizskupine  zaznavanjedrugihvmesnikovvskupini

13

ProtokolIGMP  IGMPkomunikacijapotekamedodjemalceminnajbližjim

razpošiljevlanimusmerjevalnikom

  napodlagiprotokolaIGMPusmerjevalnikidobijonalogopovezatisevstrukturorazpošiljevalnegadrevesa

14

VerzijeIGMPObstajajoverzijeIGMPv1,v2inv3.

  IGMPv1:Vmesnikiselahkopridružijoskupinam.Sporočilazaizstopneobstajajo.Usmerjevalnikiuporabljajomehanizemspretekomčasa,daodkrivajoskupine,kizavmesniknisozanimive.

  IGMPv2:Dodanasporočilazaizstopizskupine.Stemomogočitevhitrejšegasporočanjausmerjevalnikuoprekinitvidostavenepotrebnegaprometa.

  IGMPv3:Večjespremembevprotokolu.VmesnikilahkodoločijoSEZNAMdrugihvmesnikov,odkoderželijoprejematipromet.Prometodostalihvmesnikovomrežjeblokira).

15

ProtokolIGMP

Dejanje IGMPsporočilo IPDes2na2onAddress IGMPGroupAddress

pridruži2seželimskupini GroupMembershipReport naslovskupine naslovskupine

Kdovseječlandoločeneskupine? GroupMembershipQuery naslovskupine naslovskupine

katereskupineobstajajo? GroupMembershipQuery vsivmesniki(224.0.0.1) 0.0.0.0

semčlanskupine,okaterisepoizveduje,želimseodzva2,dasemčlan GroupMembershipReport naslovskupine naslovskupine

zapus22želimskupino GroupLeaveReport vsiusmerjevalniki(224.0.0.2)naslovskupine

  KakozIGMPudejanitiupravljanjesskupinami?

16

ProtokolIGMP  IGMPsporočilojedolgo8zlogov

  type‐tipsporočila:  17 (0x11): Group Membership Query (odkrivanje članov skupine)   18 (0x12): Group Membership Report IGMP v1 (objava prejemnika)   22 (0x16): Group Membership Report IGMP v2 (objava prejemnika)   34 (0x22): Group Membership Report IGMP v3 (objava prejemnika)

  23 (0x17): Leave Group Report IGMP v2 (objava, da je prejemnik zapustil skupino)

  responsetime‐čas,vkateremsemoraprejemnikklicaIGMPGroupMembershipQuery,odzvati

  checksum‐kontrolnavsota(nepokrivaIPglave)  multicastgroupaddress‐IPv4naslovrazpošiljevalneskupine

17

ProtokolIGMP  Posebnosporočilo:IGMPv3GroupMembershipreport

  Type=0x22  odgovorivsehvmesnikovvskupinisozbranivistempaketu  vmesnikčakanaodgovoredrugihprejemnikovvskupini,predenodgovorisam

  posebnaoblikapaketatorejomogočiizogibanjepodvojenemumulticastprometu

18

ProtokolIGMP:prijavanavir  zapridružitevskupini,sepošljeGMRsporočilozvrednostjoTTL=1(dostava

samonajbližjemuusmerjevalniku)  usmerjevalnikevidentiradamoraskupinskepaketeposredovatinovemu

naročniku(kako?povezavnirazpošiljevalninaslov/kopijedatagramovnaIPnaslov)

  usmerjevalniksporočisosednjimusmerjevalnikom,daimanoveganaročnika.Čebivsakusmerjevalniksporočilenakonaprej,pridedoproblema‐paketibiseposredovalinavzkrižnoprekovsehpovezavvomrežju.Rešitve:  uporabljaseRPLalgoritem(ReversePathLookup):zavržemovse

multicastpakete,kipridejoodusmerjevalnikov,kinepovezujejozizvorompaketaponajbližjipoti

  usmerjevalnikiimajoposebneusmerjevalneprotokolezamulticastpromet:npr.protokolPIM‐SM(ProtocolIndependentMulticast‐SparseMode)

19

Reversepathlookup:primer

12

3 4

56

7

8

XY

ZC

B

A

zavrže

zavrže20

ProtokolMLD  MulticastListenerDiscovery,RFC2710,MulticastListenerDiscovery

(MLD)forIPv6  obvezno:poiščiteganaspletutergapreberite–literatura!  izziv:poiščiterazlikemedMLDinIGMP  izziv:kajpasobivanjeIGMP(IPv4)inMLD(IPv6)?

21

ProtokolMLD  DejanskojeprotokolzaIPv6zarazpošiljanjeinimaenako

funkcionalnostkotIGMP

22

ProtokolIGMPinMLD  MLD:

  IGMP:

23

0 1 2 3

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Type | Code | Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Maximum Response Delay | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| | + +

| | + Multicast Address +

| | + +

| | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

0 1 2 3

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Type | Max Resp Time | Checksum |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Group Address |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

24

Razpošiljanjeprometa   paketisegibljejovoblikirazpošiljevalnegadrevesa  drevolahkooptimizirarazličnekriterije:

  slika1:skupnadolžinapoti(številohopov)vsehdatagramov  slika2:najkrajšapotzavsakdatagramposebej(minimalnovpetodrevo)

skupaj8hopov,datagrampotuje6hopov

skupaj9hopov,datagrampotuje5hopov

25

UsmerjanjemulTcast  Nalogausmerjanja:najtidrevopovezav,kipovezujevseusmerjevalnike

vistirazpošiljevalniskupini  Zakomunikacijomedusmerjevalnikipotrebujemorazpošiljevalne

usmerjevalnealgoritme(delujejonaomrežniplasti),kotso:PIM,DVMRP,MOSFPinBGP.

kakordečeusmerjevalnikepovezaTvskupnodrevo?

26

Dverešitviiskanjarazpošiljevalnegadrevesa  uporabaenegasamegadrevesazavseusmerjevalnikezausmerjanje

razpošiljevalnegaprometasedoločienosamodrevo(group‐sharedtree)‐slikalevo

  določitevločenegadrevesazavsakegaudeležencavskupini(source‐basedtree);zaNčlanovskupineimamotorejNdreves(zavsakorazpošiljevalnoskupino)‐slikadesno

ločenodrevozaA(modro)indrevozaB(roza)

skupnodrevo

27

Določanjeskupnegadrevesa(group‐shared)1.  iskanjedrevesazminimalnoskupnoceno(uporabljaseSteinerjevalgoritem

zavpetadrevesa,problemjeNPpoln),slikalevoali

2.  določitevcentralnegavozlišča"rendez‐vouzpoint"(kakousmerjatidonjegajeznanoizpravilzaunicastusmerjanje);usmerjevalniksepridružidrevesu,konapotidocentralnegavozliščanaletinaprvovozlišče,kiježevdrevesu,slikadesno

minimalnaskupnacena

Ejecentralnovozlišče

28

Določanjedrevesposameznihpošiljateljev(source‐based)

1.  Iskanjedrevesanajkrajšihpotivgrafu(uporabaalgoritmaDijkstra,kiiščedrevonajkrajšihpovezavgledenapodanozačetnovozlišče),slikalevo

-  usmerjevalnikimorajopoznatistanjavsehpovezav(link‐state)

ali2.  UporabaRPL(ReversePathLookup):nesprejemosporočilod

usmerjevalnikov,kinisonanajbližjipotidoizvorasporočila,slikadesno

29

30

Usmerjevalniprotokoli  skrbijozaoglaševanjeskupinvomrežju  delimojihgledepo2kriterijih(2x2=4skupine)

1.  razpršeno/gosto(sparse‐mode/dense‐mode)  sparse‐mode:posameznavozliščazahtevajovključitevvdrevo(pullprincip)  dense‐mode:razpošiljanepaketerazpošljemopovsemomrežju,

usmerjevalnikiseodjavljajo,česonepotrebni(pushprincip).Tudvanačina:  broadcastandprune(uporabapruneingraftsporočil);strukturaseobčasno

reinicializira  domain‐wideporočila(usmerjevalnikizbroadcastomprijavljajoodjemalcena

promet)

2.  intra(znotrajdomene)/interdomain(meddomenami)

31

Usmerjevalniprotokoli

Protokol Načindelovanja vrstadrevesa Vrsta

PIM‐SM sparse skupno znotrajinmeddomenami

PIM‐DM dense posamezno znotrajdomen

CBT sparse skupno znotrajinmeddomenami

MOSPF dense posamezno znotrajdomen

BGMP dense posamezno znotrajdomen

DVMRP dense posamezno znotrajinmeddomenami

  obstajapovezavamednačinomdelovanjainvrstodrevesa,kigaprotokolgradi

32

PIM‐SM(ProtocolIndependentMul0cast‐SparseMode)  PIM‐DM:dense‐mode,posameznodrevo  PIM‐SM:sparse‐mode,skupnodrevo,včasihposamezno

  izziv:preberiRFC4601ingapreuči

  protokolaPIM‐SMinPIM‐DMstaprimernazausmerjevalnike,kižeizvajajounicastusmerjanje.Staneodvisnaodunicastprotokola

  sporočilauporabljajoIPmrežniprotokolsštevilkoprotokolaprotokola103

  sporočilamedusmerjevalnikisounicastalimulticastnanaslov224.0.0.13(vsiPIMusmerjevalniki)

33

DelovanjePIM‐SM

vzpostavitevarhitekture

• kandidatnizagonski(bootstrap)usmerjevalniki(c‐BSR)oznanijosvojoprisotnost(tipsporočilaBOOTSTRAP)inizberejoglavnizagonskiusmerjevalnikBSR• kandidatnicentralni(rendezvouz)usmerjevalniki(c‐RP)oznanijoprisotnostBSRusmerjevalniku(tipsporočilaCANDIDATE‐RP‐ADVERTISEMENT)• BSRizberedokončnicentralniusmerjevalnik(RP)zavsakoskupinoinjihoznanissporočilitipaBOOTSTRAP

pošiljanjepodatkov

• PIM‐SMusmerjevalnikisezaznajoinvzdržujejokomunikacijossporočiliHELLO• vmesnik,kipošiljapodatkenaskupinskinaslov,razpošljedatagramnalokalnisegmentmreže• izbraniusmerjevalniknamreži(designatedrouter)enkapsuliradatagramvtipsporočilaREGISTERingapošljeRP• RPdekapsuliradatagramingarazpošljeporazpošiljevalnemdrevesu

vzdrževanjenaročnine

• kadarRPzazna,davskupininivečprejemnikov,pošljesporočiloREGISTER‐STOPvsemizbranimusmerjevalnikom• kadarsenoviuporabnikželipridružitiskupini,pošljesporočiloJOIN/PRUNEsseznamomvsehželenihskupinindovoljenihprejemnikov

34

Oblikapaketa‐vsebinaglave

  Glavadolga32bitov  version=2  tip:

vrednost pomen

0 hello

1 register

2 registerstop

3 join/prune

4 bootstrap

5 assert

6candidate‐rp‐adverTsement

GLAVA

paket2paHELLO

35

OblikapaketaPIM‐SM‐paketHELLO

  namenjenvzdrževanjupovezavmedusmerjevalniki  vprimeru,daseizbraniusmerjevalnikzapošiljanjemulticastprometa

neodzove,seizberedrugi  paketvsebujemnožicoTLVvrednosti,

kotsonpr.potekčasa,vkateremjepričakovanodgovor

36

OblikapaketaPIM‐SM‐paketREGISTERinREGISTER‐STOP

  sporočiloREGISTERnosivsebinomulticastsporočiladocentralnegausmerjevalnika(unicast)  B(borderrouter)‐sporočiloprišlo

usm.,kijeneposrednopovezanzvmesnikom,

  N(null)‐paketjeprazen,zavzpostavitevpovezanosti

  sporočiloREGISTERSTOPpošljecentralniusmerjevalnikizbranemuusmerjevalniku,znjimsporočinajnepošiljasporočil(prejemnikovni/sporočiladobivažeoddrugje)

37

OblikapaketaPIM‐SM‐JOIN/PRUNE

  omogočaprejemniku,daseprijavi/odjaviodprejemanjamulTcastprometa

  PIM‐SMimaNumberofPrunedsourcesenak0(keruporabljaskupnodrevo)

  Poljazaprijavo/odjavo:  EncodedJoinSourceAddress  EncodedPrunedSourceAddress

38

Drugiusmerjevalniprotokoli

 MOSPF  MulticastOSPF  imadodanoleposebnooblikopaketa,kioznanjamulticastpromet

  izziv:poiščiRFCdokumente,kiopisujejoMOSPFinjihpreberi!

  DVMRP  DistanceVectorMulticastRoutingProtocol  prenašasegavIGMPpaketih(tip13)

  izziv:preberiRFC1075inproučidelovanjetegaprotokola

39

MBONE  povezavaomrežij,zmožnihmulticastprometa

  sprvaznotrajinterneta,tvorilesogadelovnepostajezvirtualnimipovezavami

  izziv:preberiRFC2715

  1995:MBONEvsebuje901usmerjevalnikov(uporabljaseDVMRP)injev20državah

  1999:4178usmerjevalnikov,uporabljasevseboljRTP,ponudnikistoritevpostajajopreobremenjeni

  IETFustanovidelovnoskupinoMBONEDznalogo,davzpostavimulticastusmerjanjeprekocelegainterneta(razvojprotokolaMSDP:MulticastSourceDiscoveryProtocol)

  izziv:preberiRFC1112,kajjetoAnySourceMulticastarhitektura(ASM)?

40

Naslednjičgremonaprej!

  avtentikacija,avtorizacijainbeleženje‐AAA!

41