Kāpēc daudzraide nešķērso VPN bez plāna
Sasniedzamība ir vienraides jautājums. Pirms tilta vai retranslatora pievienošanas izstaigājiet grupu, tās tvērumu, pārsūtīšanas stāvokli un vienu ceļu no viena avota līdz vienam uztvērējam.
Divas vietas var lieliski sasniegt viena otru ar vienraidi un tomēr uzvesties tā, it kā viena no tām neredzētu printera atklāšanas paziņojumu, IPTV straumi vai klastera sirdsdarbību. Tas nav salauzts tunelis; tā ir atšķirība starp galamērķi un grupu. Daudzraides piegādei vajadzīgs dalības modelis, pārsūtīšanas stāvoklis visā ceļā un saskarne, kas gatava pārvadāt datplūsmu, un neviens no tiem nenāk no vienraides maršruta. Iet no lietojumprogrammas grupas līdz vienam strādājošam uztvērējam ir īsākais ceļš līdz atbildei.
Sāciet ar grupu un lietojumprogrammu
Jautājiet, kādu grupas adresi lieto lietojumprogramma un kam datplūsma ir domāta. Atklāšanas protokols, kas paziņo pakalpojumus, straumēšanas plūsma un maršrutēšanas protokola sveiciena paketes ir trīs dažādas problēmas ar trim dažādām pieņemamām atbildēm. Pati grupas adrese pasaka tvērumu: adreses vietējā tīkla vadības blokā nav paredzētas parastai maršrutēšanai pārsūtīt ārpus saites, un lietojumprogrammas, kas tās izmanto, parasti pieņem vienu apraides domēnu. Straumēšanas plūsma uz grupu ar globālu tvērumu ir cits projekts nekā atklāšanas protokols, kas sagaida, ka katra ierīce dzirdēs katru vaicājumu, un tikai otrajam rūp apraides domēna lielums.
Izlemiet, vai prasība ir pakalpojums vai atklāšanas mehānisms, jo šīs atbildes atšķiras izmaksās par lielumu kārtu. Viena prasa adresi, kas nemainās; otra prasa apraides domēnu, kas paplašināts pāri plaša apgabala tīkla saitei ar visu, kas no tā izriet.
Vietējā atklāšana ir paredzēta apstāties
RFC 6762 aprakstītais Multicast DNS ir veidots ap vienu saiti: vaicājumi iet uz fiksētu grupu, atbildes tiek sūtītas tai pašai grupai, un protokols paļaujas uz to, ka katrs dalībnieks dzird visus. Maršrutētāji šo datplūsmu pēc noklusējuma nepārsūta, un tas ir projektēšanas lēmums, nevis pārskatīšanās. Robeža pastāv tāpēc, lai ierīce vienā ēkā nevarētu vienkārši pieteikt sevi citā. Tunelis, kas šķietami labo atklāšanu, pārvadājot grupu visur, ir atcēlis šo robežu katrai lietojumprogrammai, ne tikai tai, kurai vajadzēja palīdzību.
Atkārtotāji un atstarotāji pastāv, un tie ir īsti pakalpojumi ar īstām sekām: katrs vienā vietā paziņotais nosaukums kļūst redzams otrā, tostarp ierīču nosaukumi, kas identificē cilvēkus vai aprīkojumu. Ja īstā prasība ir, lai konkrēts pakalpojums būtu atrodams, DNS publicēts pakalpojuma ieraksts parasti ir mazākās izmaiņas, un tas atklāj vienu nosaukumu, nevis nosaukumu straumi.
Trīs lietas, kas vajadzīgas maršrutētai daudzraidei
Maršrutētai daudzraidei vajadzīgas trīs lietas, kas darbojas kopā: uztvērēji, kas pievienojas grupai, maršrutētāji, kas uztur tai pārsūtīšanas stāvokli, un tunelis, kas grupas adreses uzskata par pārvadājamu datplūsmu. Tunelis ar politiku, kas uzskaita tikai vienraides apakštīklus, izmetīs grupas datplūsmu šifrēšanas robežā, un tāpēc pirmais simptoms bieži ir klusums, nevis kļūda. Uz maršrutiem balstīta saskarne, piemēram, GRE vai VTI tunelis, pārvadā to, ko tajā sūta maršrutēšanas tabula, un tas padara grupu sasniedzamu, tiklīdz pastāv daudzraides stāvoklis.
Avota sasniedzamība ir otrā puse. Daudzraides maršrutēšanas protokoli, piemēram, PIM, veido izplatīšanas kokus, pārbaudot, vai ceļš atpakaļ uz avotu ir gaidītais, tāpēc vienraides maršruts, kas norāda citur, salauž koku arī tad, kad grupas dalība ir pareiza. Maršruta instalēšana uztvērējam šai pārbaudei neko nedod, un tā ir kļūda, kas dod strādājošu ping un neizdevušos straumi. Vispirms pārbaudiet avota atgriešanās ceļu, pēc tam pievienojiet dalību un tikai tad skatieties uz lietojumprogrammu.
ip maddr show dev tun0
ip mroute show
ss -gnu | grep 239.255.0.10
ip route get 10.20.5.20
Pirmās divas rindas parāda, kam resursdators ir pievienojies un ko kodols pārsūta, trešā parāda pašas lietojumprogrammas dalību, bet pēdējā vienraides ceļu, ko izmantos apgrieztā ceļa pārbaude. To lasīšana kopā atšķir lietojumprogrammu, kas nekad nav pievienojusies, no tīkla, kas nekad nav pārsūtījis.
Pierādiet to ar vienu avotu un vienu uztvērēju
Pirms pieskaraties konfigurācijai, pārliecinieties, ka lietojumprogramma darbojas vienā segmentā. Ja tā neizdodas lokāli, daudzraides maršrutēšana nav problēma un nekādas tuneļa izmaiņas nepalīdzēs. Pēc tam atkārtojiet ar vienu uztvērēju pāri tunelim un vērojiet paketes abās šifrēšanas robežas pusēs.
tcpdump -ni tun0 -c 10 'ip multicast'
tcpdump -ni eth0 -c 10 'ip multicast and host 239.255.0.10'
Paketes, kas redzamas tuneļa iekšpusē, bet trūkst ārpusē, norāda uz iekapsulēšanu vai politiku; paketes, kas redzamas abās pusēs bez lietojumprogrammas progresa, norāda uz uztvērēja dalību vai lietojumprogrammas piesaisti. Turiet ierakstus īsus un filtrētus, jo plašs daudzraides ieraksts noslogotā segmentā galvenokārt ir troksnis.
Izvēlieties pakalpojuma adresi, ja nepieciešams tikai pakalpojums
Atklāšana pastāv, lai atrastu kaut ko tādu, kas kustas. Serverim ar stabilu nosaukumu atklāšana nav vajadzīga, un privātā DNS dokumentēta adrese atbild uz lietotāja īsto jautājumu, nepaplašinot apraides domēnu pāri plaša apgabala tīkla saitei. Tā pati loģika attiecas uz printeriem, ierīcēm un iekšējiem tīmekļa pakalpojumiem. Nosaukums DNS ir sasniedzams no katras vietas, kurai tas vajadzīgs, neko nepaziņojot vietām, kurām tas nav vajadzīgs, un tas turpina darboties, kad ierīce tiek aizstāta ar citu ar citu adresi.
Kad protokolam patiešām vajadzīga daudzraide, ierobežojiet to ar grupu un vietām, kurām tā vajadzīga, dokumentējiet kāpēc, un pārskatiet lēmumu, kad lietojumprogramma mainās. Atklāšanas paplašināšana visur ir vienreiz viegla, un pēc gada ar ierīcēm, kas klusi no tās atkarīgas, to ir grūti atsaukt.