Peer-to-peer VPNil on endiselt kesksed sõltuvused
Otsene andmetee võrdsete vahel võib endiselt vajada registreerimist, avastamist ja releed. Võrrelge neid kolme tööd eraldi, enne kui nimetate VPNi detsentraliseerituks.
Peer-to-peer kirjeldab, kuidas rakenduste paketid liiguvad, ja ei midagi muud. Võrdsed pidid endiselt üksteist leidma, tõestama, kes nad on, ja mõnikord toetuma releele, kui otsest teed ei saanud luua. Need on kolm eraldi teenust ja juurutus võib olla andmete jaoks peer-to-peer, olles kõige muu jaoks täiesti tsentraliseeritud. Disainide võrdlemine tähendab nende tööde võrdlemist, mitte noolt diagrammil.
Diagramm ilma keskse edastusnooleta võib varjata registreerimisasutust, avastamisteenust ja releed, mis kõik on operatiivsed sõltuvused.
Otsene tee, ühine juhtimistasand
Kaks masinat, mis vahetavad pakette otse, võivad endiselt sõltuda ühisest asutusest, mis nende sertifikaadid väljastas, ja teenusest, mis ütles kummale, kus teine asub. Kumbki roll ei edasta rakendusliiklust, mistõttu topoloogiajoonis jätab need välja. Kui see asutus või teenus on maas, võivad olemasolevad sessioonid jätkuda, samal ajal kui uus võrdne ei saa liituda. Erinevus sessiooni alustamise ja jätkamise vahel on esimene küsimus, mida iga disaini kohta küsida.
Joonistage iga töö eraldi, isegi kui üks host teeb neid kõiki. Muidu näitab joonis detsentraliseeritud andmetasandit ja varjab operatiivset tegelikkust, et iga uus võrdne vajab samu kahte teenust.
Avastamine, usaldus ja relee on kolm tööd
Nebula disain on kasulik näide, sest selle dokumentatsioon hoiab neid lahus. Hostid kannavad identiteedi sertifikaate, tuletornid vastavad küsimusele kus ja aitavad NAT-ist läbi pääseda, ning releed edastavad liiklust, kui otsest teed ei saa luua. Relee roll on teadlikult tuletorni rollist eraldatud, nii et kättesaadav tuletorn ei taga, et antud paar saab rääkida. Teised tooted tõmbavad piirid mujale, mistõttu on see näide, mitte mall.
Kavandatava juurutuse jaoks kirjutage üles toetatud varuvariant paarile, mis ei saa otse ühenduda. Ebaõnnestunud augutorkamine on üks andmepunkt ühe võrgu kohta, mitte tõestus, et kaks NAT-i taga olevat võrdset ei saa kunagi kohtuda; vastupidine väide, et otsene ühendus töötab mis tahes poliitika korral, on sama põhjendamata.
Mille peal iga sõltuvus ebaõnnestub
Hinnake nelja juhtumit eraldi, kui testitav sõltuvus pole saadaval: olemasolev võrdsete liiklus, täiesti uus võrdse ühendus, võrdne, mille lõpp-punkt muutus, ja äsja tühistatud juurdepääs. Igaüks toetub erinevatele teenustele ja ebaõnnestub erinevalt. Olemasolevad sessioonid võivad avastamiskatkestuse üle elada, samal ajal kui tühistatud võti lükatakse endiselt tagasi, ja uus võrdne võib ebaõnnestuda põhjustel, millel pole edastamisega midagi pistmist. Testige neid ükshaaval, selle asemel et ühest järeldada.
Ühendus, mis elab üle ühe katkestuse, ei tõesta piiramatut sõltumatust. See tõestab, et teie põhjustatud katkestus polnud see, mis selle tee katkestab, mis on endiselt kasulik teave, eeldusel et kirjutasite üles, mida põhjustasite.
Küsige, millise katkestuse üle elate
Sarnaselt kõlavad nõuded viivad erinevate disainideni. Ühe edastuskitsaskoha vältimine ei ole sama, mis müüja majutatud juhtimistasandi vältimine, ja kumbki ei vasta sellele, et jätkatakse tööd koordinaatori maasoleku ajal. Nimetage, millist neist kolmest juurutus peab täitma, ja kontrollige seejärel vastavust. Disain, mis täidab esimese ja ebaõnnestub teises, on tavaline ega ole ebaaus, kui keegi ei nimeta seda täielikult detsentraliseerituks.
Kirjutage üles, kes haldab avastamist, usaldust ja releesid, ja kuidas igaüht neist asendatakse. See kirje võimaldab järgmisel inimesel vastata tõelisele küsimusele: milliseid tõrkeid see võrk üle elab ja kes haldab olekut, mis jääb jagatuks?
Sõna detsentraliseeritud teenib oma koha välja, kui see need tõrked nimetab. Ilma selle loendita kirjeldab see diagrammi, mitte süsteemi.