View
5
Download
0
Category
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
Recommended