Gall dau safle gyrraedd ei gilydd yn berffaith drwy unicast a dal i ymddwyn fel pe na bai un ohonynt yn gweld cyhoeddiad darganfod yr argraffydd, y ffrwd IPTV neu guriad calon y clwstwr. Nid twnnel wedi torri yw hyn; y gwahaniaeth rhwng cyrchfan a grŵp yw hyn. Mae dosbarthu multicast angen model aelodaeth, cyflwr anfon ymlaen ar hyd y llwybr, a rhyngwyneb sy’n fodlon cludo’r traffig, ac nid oes yr un ohonynt yn dod o lwybr unicast. Cerdded o grŵp y cymhwysiad i un derbynnydd sy’n gweithio yw’r llwybr byrraf at ateb.

Dechreuwch â’r grŵp a’r cymhwysiad

Gofynnwch pa gyfeiriad grŵp y mae’r cymhwysiad yn ei ddefnyddio a beth yw pwrpas y traffig. Mae protocol darganfod sy’n cyhoeddi gwasanaethau, ffrwd ffrydio, a phecynnau helo protocol llwybro yn dri phroblem wahanol gyda thri ateb derbyniol gwahanol. Mae’r cyfeiriad grŵp ei hun yn dweud y cwmpas wrthych: nid yw cyfeiriadau ym mloc rheoli’r rhwydwaith lleol wedi eu bwriadu i gael eu hanfon ymlaen oddi ar y cyswllt gan lwybro cyffredin, ac mae cymwysiadau sy’n eu defnyddio fel arfer yn tybio un parth darlledu. Mae ffrwd ffrydio ar grŵp â chwmpas byd-eang yn ddyluniad gwahanol i brotocol darganfod sy’n disgwyl i bob dyfais glywed pob ymholiad, a dim ond yr ail sy’n poeni am faint y parth darlledu.

Penderfynwch ai’r gwasanaeth neu’r mecanwaith darganfod yw’r gofyniad, oherwydd mae’r atebion hynny’n gwahaniaethu mewn cost o faint trefn. Mae un yn gofyn am gyfeiriad nad yw’n newid; mae’r llall yn gofyn am parth darlledu wedi ei estyn dros gyswllt rhwydwaith eang gyda phopeth sy’n dilyn o hynny.

Mae darganfod lleol i fod i stopio

Mae Multicast DNS fel y’i disgrifir yn RFC 6762 wedi ei ddylunio o amgylch un cyswllt: mae ymholiadau’n mynd i grŵp sefydlog, mae ymatebion yn cael eu hanfon i’r un grŵp, ac mae’r protocol yn dibynnu ar bob cyfranogwr yn clywed pawb. Nid yw llwybryddion yn anfon y traffig hwnnw ymlaen yn ddiofyn, ac mae hynny’n benderfyniad dylunio, nid yn esgeulusad. Mae’r ffin yn bodoli fel na all dyfais mewn un adeilad gyhoeddi ei hun yn ddi-hid mewn un arall. Mae twnnel sy’n ymddangos fel pe bai’n trwsio darganfod drwy gludo’r grŵp ym mhobman wedi dileu’r ffin honno ar gyfer pob cymhwysiad, nid yn unig yr un a oedd angen cymorth.

Mae atlifwyr ac adlewyrchwyr yn bodoli, a gwasanaethau gwirioneddol ydynt gyda chanlyniadau gwirioneddol: mae pob enw a gyhoeddir ar un safle yn dod yn weladwy ar y llall, gan gynnwys enwau dyfeisiau sy’n nodi pobl neu offer. Os mai’r gwir ofyniad yw bod gwasanaeth penodol yn ddarganfyddadwy, cofnod gwasanaeth a gyhoeddir yn y DNS fel arfer yw’r newid llai, ac mae’n datgelu un enw yn lle ffrwd ohonynt.

Tri pheth sydd eu hangen ar multicast a lwybrwyd

Mae multicast a lwybrwyd angen tri pheth yn gweithio gyda’i gilydd: derbynyddion sy’n ymuno â’r grŵp, llwybryddion sy’n cynnal cyflwr anfon ymlaen ar ei gyfer, a thwnnel sy’n trin cyfeiriadau’r grŵp fel traffig i’w gludo. Bydd twnnel â pholisi nad yw ond yn rhestru isrwydweithiau unicast yn gollwng traffig y grŵp ar y ffin amgryptio, a dyna pam mai tawelwch yn aml yw’r symptom cyntaf yn hytrach na gwall. Mae rhyngwyneb sy’n seiliedig ar lwybrau, fel twnnel GRE neu VTI, yn cludo’r hyn y bydd y tabl llwybro yn ei anfon iddo, sy’n gwneud y grŵp yn gyrhaeddadwy unwaith y bydd cyflwr multicast yn bodoli.

Gallu cyrraedd y ffynhonnell yw’r ail hanner. Mae protocolau llwybro multicast fel PIM yn adeiladu coed dosbarthu drwy wirio bod y llwybr yn ôl i’r ffynhonnell yr un disgwyliedig, felly mae llwybr unicast sy’n pwyntio i rywle arall yn torri’r goeden hyd yn oed pan fo aelodaeth y grŵp yn gywir. Nid yw gosod llwybr ar gyfer y derbynnydd yn gwneud dim i’r gwiriad hwnnw, a dyma’r camgymeriad sy’n cynhyrchu ping sy’n gweithio a ffrwd sy’n methu. Gwiriwch lwybr dychwelyd y ffynhonnell yn gyntaf, yna ychwanegwch aelodaeth, a dim ond wedyn edrychwch ar y cymhwysiad.

ip maddr show dev tun0
ip mroute show
ss -gnu | grep 239.255.0.10
ip route get 10.20.5.20

Mae’r ddau linell gyntaf yn dangos yr hyn ymunodd y gwesteiwr ag ef a’r hyn mae’r cnewyllyn yn ei anfon ymlaen, mae’r drydedd yn dangos aelodaeth y cymhwysiad ei hun, a’r olaf yn dangos y llwybr unicast y bydd y gwiriad llwybr gwrthdro yn ei ddefnyddio. Mae eu darllen gyda’i gilydd yn gwahaniaethu cymhwysiad na ymunodd erioed oddi wrth rwydwaith na anfonodd ymlaen erioed.

Profwch hyn gydag un ffynhonnell ac un derbynnydd

Cyn cyffwrdd â chyfluniad, cadarnhewch fod y cymhwysiad yn gweithio ar un segment. Os yw’n methu’n lleol, nid llwybro multicast yw’r broblem ac ni fydd unrhyw newid twnnel yn helpu. Yna ailadroddwch gydag un derbynnydd ar draws y twnnel a gwyliwch y pecynnau ar ddwy ochr y ffin amgryptio.

tcpdump -ni tun0 -c 10 'ip multicast'
tcpdump -ni eth0 -c 10 'ip multicast and host 239.255.0.10'

Mae pecynnau sy’n weladwy y tu mewn i’r twnnel ond yn absennol y tu allan yn pwyntio at amgapsiwleiddio neu bolisi; mae pecynnau sy’n weladwy ar y ddwy ochr heb gynnydd yn y cymhwysiad yn pwyntio at aelodaeth y derbynnydd neu rwymedigaeth y cymhwysiad. Cadwch y dalgylchoedd yn fyr ac wedi eu hidlo, gan fod dalgylch multicast eang ar segment prysur yn sŵn yn bennaf.

Dewiswch gyfeiriad gwasanaeth pan fo angen y gwasanaeth yn unig

Mae darganfod yn bodoli i ddod o hyd i rywbeth sy’n symud. Nid oes angen darganfod ar weinydd ag enw sefydlog, ac mae cyfeiriad wedi’i nodi mewn DNS preifat yn ateb gwir gwestiwn y defnyddiwr heb estyn parth darlledu dros gyswllt rhwydwaith eang. Mae’r un rhesymeg yn berthnasol i argraffyddion, offer a gwasanaethau gwe mewnol. Mae enw yn y DNS yn gyrhaeddadwy o bob safle sydd ei angen tra nad yw’n cyhoeddi dim i’r safleoedd nad oes ei angen, ac mae’n parhau i weithio pan fo’r ddyfais yn cael ei disodli gan un â chyfeiriad gwahanol.

Pan fo protocol yn wirioneddol angen multicast, cyfyngwch ef i’r grŵp a’r safleoedd sydd ei angen, nodwch pam, ac ailymwelwch â’r penderfyniad pan fydd y cymhwysiad yn newid. Mae estyn darganfod ym mhobman yn hawdd unwaith, ac yn anodd ei ddadwneud ar ôl blwyddyn o ddyfeisiau sy’n dibynnu arno’n dawel.

Erthyglau cysylltiedig