Kwa nini multicast haivuki VPN bila mpango
Ufikivu ni suala la unicast. Pitia kikundi, wigo wake, hali ya usambazaji na njia moja kutoka chanzo kimoja hadi mpokeaji mmoja kabla ya kuongeza daraja au kipitishio.
Maeneo mawili yanaweza kufikia kila mmoja kikamilifu kwa unicast na bado yawe na tabia kana kwamba moja hayavioni tangazo la ugunduzi la printa, mtiririko wa IPTV au mpigo wa moyo wa nguzo. Hii si handaki iliyovunjika; hii ni tofauti kati ya lengwa na kikundi. Uwasilishaji wa multicast unahitaji modeli ya uanachama, hali ya usambazaji kando ya njia na kiolesura kilicho tayari kubeba trafiki, na hakuna hata moja inayotoka kwenye njia ya unicast. Kutoka kikundi cha programu hadi mpokeaji mmoja anayefanya kazi ni njia fupi zaidi kuelekea jibu.
Anza na kikundi na programu
Uliza ni anwani gani ya kikundi ambayo programu inatumia na trafiki ni ya nini. Itifaki ya ugunduzi inayotangaza huduma, mtiririko wa utiririshaji na pakiti za salamu za itifaki ya uelekezaji ni matatizo matatu tofauti yenye majibu matatu tofauti yanayokubalika. Anwani ya kikundi yenyewe inasema wigo: anwani zilizo katika kizuizi cha udhibiti cha mtandao wa ndani hazikusudiwi kusambazwa nje ya kiungo na uelekezaji wa kawaida, na programu zinazozitumia kwa kawaida huchukulia kikoa kimoja cha matangazo. Mtiririko wa utiririshaji kwenye kikundi cha wigo wa kimataifa ni muundo tofauti na itifaki ya ugunduzi inayotarajia kila kifaa kisikie kila swali, na ya pili pekee inajali ukubwa wa kikoa cha matangazo.
Amua kama hitaji ni huduma au utaratibu wa ugunduzi, kwa sababu majibu hayo yanatofautiana kwa gharama kwa daraja moja. Moja inaomba anwani isiyobadilika; nyingine inaomba kikoa cha matangazo kilichopanuliwa juu ya kiungo cha eneo pana pamoja na kila kitu kinachofuata.
Ugunduzi wa ndani unapaswa kusimama
Multicast DNS kama ilivyoelezwa katika RFC 6762 imeundwa kuzunguka kiungo kimoja: maswali huenda kwa kikundi kisichobadilika, majibu hutumwa kwa kikundi hicho hicho, na itifaki inategemea kila mshiriki kusikia kila mtu. Vipanga njia hazisambazi trafiki hiyo kwa msingi, na hiyo ni uamuzi wa muundo na si upungufu. Mpaka upo ili kifaa cha jengo moja kisiweze kujitangaza kirahisi katika jingine. Handaki inayoonekana kurekebisha ugunduzi kwa kubeba kikundi kila mahali imeondoa mpaka huo kwa kila programu, si kwa ile iliyohitaji msaada pekee.
Virudufu na viakisi vipo, na ni huduma halisi zenye matokeo halisi: kila jina linalotangazwa katika eneo moja huonekana katika lingine, ikiwa ni pamoja na majina ya vifaa yanayotambulisha watu au vifaa. Ikiwa hitaji la kweli ni kwamba huduma fulani ipatikane, rekodi ya huduma iliyochapishwa katika DNS kwa kawaida ni mabadiliko madogo zaidi, na hufichua jina moja badala ya mtiririko wao.
Mambo matatu ambayo multicast iliyoelekezwa inahitaji
Multicast iliyoelekezwa inahitaji mambo matatu yanayofanya kazi pamoja: wapokeaji wanaojiunga na kikundi, vipanga njia vinavyodumisha hali ya usambazaji kwa ajili yake, na handaki inayochukulia anwani za kikundi kama trafiki ya kubebwa. Handaki yenye sera inayoorodhesha subnet za unicast pekee itaangusha trafiki ya kikundi kwenye mpaka wa usimbaji fiche, na ndiyo sababu dalili ya kwanza mara nyingi ni ukimya na si hitilafu. Kiolesura kinachotegemea njia, kama handaki la GRE au VTI, hubeba kile ambacho jedwali la uelekezaji linatuma ndani yake, jambo linalofanya kikundi kufikika mara tu hali ya multicast ipo.
Ufikivu wa chanzo ni nusu ya pili. Itifaki za uelekezaji wa multicast kama PIM hujenga miti ya usambazaji kwa kuthibitisha kwamba njia ya kurudi kwa chanzo ndiyo inayotarajiwa, hivyo njia ya unicast inayoelekeza mahali pengine huvunja mti hata wakati uanachama wa kikundi ni sahihi. Kuweka njia kwa mpokeaji hakufanyi chochote kwa uthibitisho huo, na hili ndilo kosa linalozalisha ping inayofanya kazi na mtiririko unaoshindikana. Thibitisha kwanza njia ya kurudi ya chanzo, kisha ongeza uanachama, na hapo ndipo uangalie programu.
ip maddr show dev tun0
ip mroute show
ss -gnu | grep 239.255.0.10
ip route get 10.20.5.20
Mistari miwili ya kwanza inaonyesha kile mwenyeji alijiunga nacho na kile kerneli inasambaza, ya tatu inaonyesha uanachama wa programu yenyewe, na ya mwisho njia ya unicast ambayo ukaguzi wa njia ya kinyume utatumia. Kuzisoma pamoja hutofautisha programu ambayo haikujiunga kamwe na mtandao ambao haukusambaza kamwe.
Thibitisha kwa chanzo kimoja na mpokeaji mmoja
Kabla ya kugusa usanidi, thibitisha kwamba programu inafanya kazi kwenye sehemu moja. Ikishindikana ndani ya nchi, uelekezaji wa multicast si tatizo na hakuna mabadiliko ya handaki yatakayosaidia. Kisha rudia kwa mpokeaji mmoja kupitia handaki na uangalie pakiti pande zote mbili za mpaka wa usimbaji fiche.
tcpdump -ni tun0 -c 10 'ip multicast'
tcpdump -ni eth0 -c 10 'ip multicast and host 239.255.0.10'
Pakiti zinazoonekana ndani ya handaki lakini hazipo nje yake zinaonyesha ufungashaji au sera; pakiti zinazoonekana pande zote mbili bila maendeleo ya programu zinaonyesha uanachama wa mpokeaji au uunganishaji wa programu. Weka rekodi fupi na zilizochujwa, kwa sababu rekodi pana ya multicast kwenye sehemu yenye shughuli nyingi ni kelele zaidi.
Chagua anwani ya huduma unapohitaji huduma pekee
Ugunduzi upo ili kupata kitu kinachosogea. Seva yenye jina thabiti haihitaji ugunduzi, na anwani iliyoandikwa katika DNS ya faragha hujibu swali halisi la mtumiaji bila kupanua kikoa cha matangazo juu ya kiungo cha eneo pana. Hoja hiyo hiyo inatumika kwa printa, vifaa na huduma za wavuti za ndani. Jina katika DNS linafikika kutoka kila eneo linalohitaji wakati halitangazi chochote kwa maeneo yasiyohitaji, na linaendelea kufanya kazi wakati kifaa kinabadilishwa na kingine chenye anwani tofauti.
Itifaki inapohitaji multicast kwa kweli, iweke kwa kikundi na maeneo yanayohitaji, andika kwa nini, na upitie uamuzi tena wakati programu inabadilika. Kupanua ugunduzi kila mahali ni rahisi mara moja, na ni vigumu kuubatilisha baada ya mwaka wa vifaa vinavyotegemea kimya kimya.