Vrstniško omrežje opisuje, kako potujejo paketi aplikacij, in nič več. Vrstniki so morali še vedno najti drug drugega, dokazati, kdo so, in se včasih zateči k posredovalniku, ko neposredne poti ni bilo mogoče zgraditi. To so tri ločene storitve, in uvedba je lahko vrstniška za podatke, medtem ko je za vse drugo popolnoma centralizirana. Primerjati zasnove pomeni primerjati te naloge, ne puščice na diagramu.

Diagram brez osrednje puščice posredovanja lahko skrije registracijski organ, storitev odkrivanja in posredovalnik, ki so vse operativne odvisnosti.

Neposredna pot, skupna krmilna ravnina

Dva računalnika, ki si neposredno izmenjujeta pakete, sta lahko še vedno odvisna od skupnega organa, ki je izdal njuna potrdila, in od storitve, ki je vsakemu povedala, kje je drugi. Nobena od obeh vlog ne posreduje prometa aplikacij, zato ju risba topologije izpusti. Ko ta organ ali storitev ni dosegljiva, se obstoječe seje lahko nadaljujejo, medtem ko se nov vrstnik ne more pridružiti. Razlika med začetkom seje in njenim nadaljevanjem je prvo vprašanje, ki ga je treba zastaviti vsaki zasnovi.

Narišite vsako nalogo ločeno, tudi ko vse opravlja en sam gostitelj. Sicer risba prikazuje decentralizirano podatkovno ravnino in skriva operativno resničnost, da vsak nov vrstnik potrebuje isti dve storitvi.

Odkrivanje, zaupanje in posredovalnik so tri naloge

Zasnova Nebula je koristen primer, ker njena dokumentacija te stvari ločuje. Gostitelji nosijo potrdila za identiteto, svetilniki odgovarjajo na vprašanje kje in pomagajo pri prehodu NAT, posredovalniki pa posredujejo promet, ko neposredne poti ni mogoče vzpostaviti. Vloga posredovalnika je namerno ločena od vloge svetilnika, zato dosegljiv svetilnik ne obljublja, da se lahko določen par pogovarja. Drugi izdelki meje rišejo drugje, zato je to primer in ne predloga.

Za predlagano uvedbo zapišite podprto rezervno pot za par, ki se ne more povezati neposredno. Neuspešno prebijanje luknje je ena podatkovna točka o enem omrežju, ne dokaz, da se dva vrstnika za NAT nikoli ne moreta srečati; nasprotna trditev, da neposredna povezljivost deluje pod kakršno koli politiko, je prav tako neutemeljena.

Na čem vsaka odvisnost odpove

Ocenite štiri primere ločeno, medtem ko preizkušena odvisnost ni na voljo: obstoječi promet med vrstniki, povsem nova vrstniška povezava, vrstnik, katerega končna točka se je spremenila, in dostop, ki je bil pravkar preklican. Vsak se opira na druge storitve in odpove drugače. Obstoječe seje lahko preživijo izpad odkrivanja, medtem ko je preklican ključ še vedno zavrnjen, in nov vrstnik lahko odpove iz razlogov, ki nimajo nič skupnega s posredovanjem. Preizkusite jih posamično, namesto da sklepate iz enega.

Povezava, ki preživi en sam izpad, ne vzpostavi neomejene neodvisnosti. Vzpostavi, da izpad, ki ste ga povzročili, ni bil tisti, ki prekine to pot, kar je še vedno koristna informacija, če ste zapisali, kaj ste povzročili.

Vprašajte, kateri izpad preživite

Zahteve, ki zvenijo podobno, vodijo v različne zasnove. Izogniti se enemu ozkemu grlu posredovanja ni isto kot izogniti se krmilni ravnini, gostovani pri ponudniku, in nobeno od tega ne ustreza nadaljevanju delovanja, medtem ko koordinator ni dosegljiv. Poimenujte, katero od teh treh mora uvedba izpolniti, in nato preverite preslikavo. Zasnova, ki izpolni prvo in odpove pri drugi, je pogosta in ni nepoštena, dokler je nihče ne imenuje popolnoma decentralizirane.

Zapišite, kdo upravlja odkrivanje, zaupanje in posredovalnike, in kako se vsak nadomesti. Ta zapis omogoča naslednji osebi, da odgovori na resnično vprašanje: katere okvare to omrežje preživi in kdo vzdržuje stanje, ki ostaja skupno?

Beseda decentralizirano si zasluži svoje mesto, ko poimenuje te okvare. Brez tega seznama opisuje diagram in ne sistema.

Sorodni članki