Swichi ya Smart Ethernet kwa Sayari ya Dunia

Swichi ya Smart Ethernet kwa Sayari ya Dunia
"Unaweza kuunda suluhisho (kutatua tatizo) kwa njia kadhaa, lakini njia ya gharama kubwa zaidi na/au maarufu sio yenye ufanisi zaidi kila wakati!"

Kuelezea

Takriban miaka mitatu iliyopita, katika mchakato wa kuendeleza mfano wa kijijini kwa ajili ya kurejesha data ya maafa, nilikutana na kikwazo kimoja ambacho hakikuonekana mara moja - ukosefu wa taarifa kuhusu ufumbuzi mpya wa awali wa virtualization ya mtandao katika vyanzo vya jumuiya. 

Algorithm ya muundo uliotengenezwa ilipangwa kama ifuatavyo: 

  1. Mtumiaji wa mbali ambaye aliwasiliana nami, ambaye kompyuta yake mara moja ilikataa kuwasha, akionyesha ujumbe "diski ya mfumo haijatambuliwa / haijapangiliwa," hupakia kwa kutumia maisha ya USB. 
  2. Wakati wa mchakato wa boot, mfumo huunganisha moja kwa moja kwenye mtandao wa ndani wa kibinafsi salama, ambayo kwa kuongeza yenyewe ina kituo cha kazi cha msimamizi, katika kesi hii laptop, na node ya NAS. 
  3. Kisha mimi huunganisha - ama kufufua sehemu za diski, au kutoa data kutoka hapo.

Hapo awali, nilitekeleza mtindo huu kwa kutumia seva ya VPN kwenye kipanga njia cha ndani kwenye mtandao ulio chini ya udhibiti wangu, kisha kwenye VDS iliyokodishwa. Lakini, mara nyingi hutokea na kwa mujibu wa sheria ya kwanza ya Chisholm, ikiwa mvua inanyesha, mtandao wa mtoa huduma wa mtandao utapungua, basi migogoro kati ya mashirika ya biashara itasababisha mtoa huduma kupoteza "nishati" ...

Kwa hiyo, niliamua kwanza kuunda mahitaji ya msingi ambayo chombo muhimu lazima kikidhi. La kwanza ni kugatua madaraka. Pili, ikizingatiwa kuwa nina USB kadhaa za maisha, kila moja ina mtandao tofauti wa pekee. Kweli, tatu, uunganisho wa haraka kwenye mtandao wa vifaa mbalimbali na usimamizi rahisi wao, ikiwa ni pamoja na ikiwa kompyuta yangu ya mkononi pia itaanguka kwa sheria iliyotajwa hapo juu.

Kulingana na hili na baada ya kutumia miezi miwili na nusu juu ya utafiti wa vitendo wa chaguzi kadhaa zisizofaa sana, mimi, kwa hatari yangu mwenyewe na hatari, niliamua kujaribu zana nyingine kutoka kwa mwanzo usiojulikana kwangu wakati huo unaoitwa ZeroTier. Ambayo sikujutia baadaye.

Wakati wa likizo hizi za Mwaka Mpya, nikijaribu kuelewa ikiwa hali ya maudhui imebadilika tangu wakati huo wa kukumbukwa, nilifanya ukaguzi wa kuchagua kuhusu upatikanaji wa makala kuhusu mada hii, nikitumia Habr kama chanzo. Kwa swali "ZeroTier" katika matokeo ya utafutaji kuna makala tatu tu zinazoitaja, na hakuna hata moja yenye maelezo mafupi. Na hii licha ya ukweli kwamba kati yao kuna tafsiri ya makala iliyoandikwa na mwanzilishi wa ZeroTier, Inc. mwenyewe. - Adam Ierymenko.

Matokeo yalikuwa ya kukatisha tamaa na kunisukuma kuanza kuzungumza juu ya ZeroTier kwa undani zaidi, kuokoa "watafutaji" wa kisasa kutoka kwa kufuata njia ile ile niliyochukua.

Kwa hivyo wewe ni nini?

Msanidi anaiweka ZeroTier kama swichi ya akili ya Ethaneti kwa sayari ya Dunia. 

"Ni kiboreshaji cha mtandao kilichosambazwa kilichojengwa juu ya mtandao salama wa kimataifa wa peer-to-peer (P2P). Zana sawa na swichi ya SDN ya shirika, iliyoundwa kupanga mitandao pepe juu ya ile halisi, ya ndani na ya kimataifa, yenye uwezo wa kuunganisha karibu programu au kifaa chochote.

Haya ni maelezo zaidi ya uuzaji, sasa kuhusu vipengele vya kiteknolojia.

▍ Kernel: 

ZeroTier Network Hypervisor ni injini ya uboreshaji ya mtandao inayosimama pekee ambayo huiga mtandao wa Ethaneti, sawa na VXLAN, juu ya mtandao wa kimataifa uliosimbwa wa peer-to-peer (P2P).

Itifaki zinazotumiwa katika ZeroTier ni asili, ingawa zinafanana kwa sura na VXLAN na IPSec na zinajumuisha tabaka mbili tofauti kimawazo, lakini zinazohusiana kwa karibu: VL1 na VL2.

β†’ Unganisha kwa nyaraka

▍VL1 ni safu ya msingi ya usafiri ya peer-to-peer (P2P), aina ya "kebo pepe".

"Kituo cha data cha kimataifa kinahitaji 'kabati la kimataifa' la kuunganisha."

Katika mitandao ya kawaida, L1 (Tabaka la OSI 1) hurejelea nyaya halisi au redio zisizotumia waya ambazo hubeba data na chip za kifaa cha kupitisha data ambacho huirekebisha na kuipunguza. VL1 ni mtandao wa peer-to-peer (P2P) ambao hufanya jambo lile lile, kwa kutumia usimbaji fiche, uthibitishaji, na mbinu zingine za mtandao kupanga nyaya pepe inavyohitajika.

Aidha, hufanya hivyo moja kwa moja, haraka na bila ushiriki wa mtumiaji kuzindua node mpya ya ZeroTier.

Ili kufikia hili, VL1 imepangwa sawa na mfumo wa jina la kikoa. Katika moyo wa mtandao kuna kikundi cha seva za mizizi zinazopatikana sana, ambazo jukumu lake ni sawa na seva za jina la mizizi ya DNS. Kwa sasa, seva kuu za mizizi (za sayari) ziko chini ya udhibiti wa msanidi programu - ZeroTier, Inc. na hutolewa kama huduma ya bure. 

Walakini, inawezekana kuunda seva za mizizi maalum (luns) ambazo hukuruhusu:

  • kupunguza utegemezi kwa miundombinu ya ZeroTier, Inc.; Unganisha kwa nyaraka
  • kuongeza tija kwa kupunguza ucheleweshaji; 
  • endelea kufanya kazi kama kawaida ikiwa muunganisho wa Mtandao utapotea.

Hapo awali, nodi zinazinduliwa bila uhusiano wa moja kwa moja kwa kila mmoja. 

Kila rika kwenye VL1 lina anwani ya kipekee ya 40-bit (10 hexadecimal) ZeroTier, ambayo, tofauti na anwani za IP, ni kitambulisho kilichosimbwa kwa njia fiche ambacho hakina maelezo ya uelekezaji. Anwani hii inakokotolewa kutoka sehemu ya umma ya ufunguo wa umma/faragha. Anwani ya nodi, ufunguo wa umma, na ufunguo wa faragha kwa pamoja huunda utambulisho wake.

Member ID: df56c5621c  
            |
            ZeroTier address of node

Kuhusu usimbaji fiche, hii ni sababu ya makala tofauti.

β†’ Unganisha kwa nyaraka

Ili kuanzisha mawasiliano, wenzao kwanza hutuma pakiti "juu" kwenye mti wa seva za mizizi, na pakiti hizi zinaposafiri kupitia mtandao, huanzisha uundaji wa random wa njia za mbele njiani. Mti hujaribu kila wakati "kuanguka yenyewe" ili kujiboresha kwa ramani ya njia inayohifadhi.

Utaratibu wa kuanzisha muunganisho wa rika-kwa-rika ni kama ifuatavyo:

Swichi ya Smart Ethernet kwa Sayari ya Dunia

  1. Node A inataka kutuma pakiti kwa Node B, lakini kwa kuwa haijui njia ya moja kwa moja, inaituma juu kwa Node R (mwezi, seva ya mizizi ya mtumiaji).
  2. Ikiwa nodi R ina muunganisho wa moja kwa moja na nodi B, inapeleka pakiti hapo. Vinginevyo, hutuma pakiti juu ya mkondo kabla ya kufikia mizizi ya sayari. Mizizi ya sayari inajua kuhusu nodi zote, hivyo pakiti hatimaye itafikia nodi B ikiwa iko mtandaoni.
  3. Node R pia hutuma ujumbe unaoitwa "rendezvous" kwa nodi A, iliyo na vidokezo juu ya jinsi inavyoweza kufikia nodi B. Wakati huo huo, seva ya mizizi, ambayo hupeleka pakiti kwa nodi B, hutuma "mikutano" kuijulisha kuhusu jinsi inaweza. nodi ya kufikia A.
  4. Nodi A na B hupokea ujumbe wao wa kukutana na kujaribu kutuma ujumbe wa majaribio kwa kila mmoja katika jaribio la kukiuka NAT au ngome za serikali zinazopatikana njiani. Ikiwa hii inafanya kazi, basi uunganisho wa moja kwa moja umeanzishwa, na pakiti hazirudi tena na kurudi.

Ikiwa uunganisho wa moja kwa moja hauwezi kuanzishwa, mawasiliano yataendelea kwa njia ya relay, na majaribio ya uunganisho wa moja kwa moja yataendelea hadi matokeo ya mafanikio yanapatikana. 

VL1 pia ina vipengele vingine vya kuanzisha muunganisho wa moja kwa moja, ikiwa ni pamoja na ugunduzi wa programu rika wa LAN, ubashiri wa bandari kwa ajili ya utengamano wa IPv4 NAT linganifu, na uwekaji ramani wazi wa bandari kwa kutumia UPnP na/au NAT-PMP ikiwa inapatikana kwenye LAN halisi ya ndani.

β†’ Unganisha kwa nyaraka

▍VL2 ni itifaki ya uboreshaji ya mtandao inayofanana na VXLAN yenye vipengele vya usimamizi vya SDN. Mazingira ya kawaida ya mawasiliano kwa OS na programu...

Tofauti na VL1, kuunda mitandao ya VL2 (VLAN) na nodes za kuunganisha kwao, pamoja na kuzisimamia, inahitaji ushiriki wa moja kwa moja kutoka kwa mtumiaji. Anaweza kufanya hivyo kwa kutumia mtawala wa mtandao. Kimsingi, ni nodi ya kawaida ya ZeroTier, ambapo kazi za mtawala zinasimamiwa kwa njia mbili: ama moja kwa moja, kwa kubadilisha faili, au, kama msanidi anapendekeza sana, kwa kutumia API iliyochapishwa. 

Njia hii ya kudhibiti mitandao ya ZeroTier sio rahisi sana kwa mtu wa kawaida, kwa hivyo kuna GUI kadhaa:
 

  • Moja kutoka kwa msanidi ZeroTier, inayopatikana kama suluhisho la SaaS la wingu la umma na mipango minne ya usajili, ikijumuisha bila malipo, lakini imepunguzwa katika idadi ya vifaa vinavyodhibitiwa na kiwango cha usaidizi.
  • Ya pili inatoka kwa msanidi huru, aliyerahisishwa kwa kiasi fulani katika utendakazi, lakini inapatikana kama suluhisho la kibinafsi la rasilimali huria kwa matumizi ya msingi au kwenye rasilimali za wingu.

VL2 inatekelezwa juu ya VL1 na inasafirishwa nayo. Hata hivyo, inarithi usimbaji fiche na uthibitishaji wa sehemu ya mwisho ya VL1, na pia hutumia vitufe vyake vya ulinganifu kutia sahihi na kuthibitisha vitambulisho. VL1 hukuruhusu kutekeleza VL2 bila kuwa na wasiwasi kuhusu topolojia iliyopo ya mtandao. Hiyo ni, matatizo ya muunganisho na ufanisi wa njia ni matatizo ya VL1. Ni muhimu kuelewa kwamba hakuna uhusiano kati ya mitandao ya VL2 na njia za VL1. Sawa na kuzidisha kwa VLAN katika LAN yenye waya, nodi mbili zinazoshiriki uanachama mwingi wa mtandao bado zitakuwa na njia moja tu ya VL1 (kebo pepe) kati yao.

Kila mtandao wa VL2 (VLAN) unatambuliwa na anwani ya mtandao ya 64-bit (16 hexadecimal) ya ZeroTier, ambayo ina anwani ya 40-bit ZeroTier ya kidhibiti na nambari ya biti 24 inayotambulisha mtandao ulioundwa na kidhibiti hicho.

Network ID: 8056c2e21c123456
            |         |
            |         Network number on controller
            |
            ZeroTier address of controller

Wakati nodi inapojiunga na mtandao au kuomba sasisho la usanidi wa mtandao, hutuma ujumbe wa ombi la usanidi wa mtandao (kupitia VL1) kwa kidhibiti cha mtandao. Kisha kidhibiti hutumia anwani ya nodi ya VL1 kuipata kwenye mtandao na kuituma vyeti, vitambulisho na maelezo yanayofaa ya usanidi. Kwa mtazamo wa mitandao pepe ya VL2, anwani za VL1 ZeroTier zinaweza kuzingatiwa kama nambari za bandari kwenye swichi kubwa ya mtandaoni ya kimataifa.

Vitambulisho vyote vinavyotolewa na vidhibiti vya mtandao kwa nodi za wanachama wa mtandao fulani hutiwa saini na ufunguo wa siri wa kidhibiti ili washiriki wote wa mtandao waweze kuzithibitisha. Kitambulisho kina mihuri ya muda inayotolewa na kidhibiti, ikiruhusu ulinganisho wa jamaa bila kufikia saa ya mfumo wa ndani wa mwenyeji. 

Vitambulisho hutolewa kwa wamiliki wao tu na kisha kutumwa kwa wenzao ambao wanataka kuwasiliana na nodes nyingine kwenye mtandao. Hii inaruhusu mtandao kufikia ukubwa mkubwa bila hitaji la kuweka akiba ya kiasi kikubwa cha vitambulisho kwenye nodi au kuwasiliana na kidhibiti mtandao kila mara.

Mitandao ya ZeroTier inasaidia usambazaji wa matangazo mengi kupitia mfumo rahisi wa kuchapisha/kujisajili.

β†’ Unganisha kwa nyaraka

Wakati nodi inataka kupokea matangazo mengi ya kikundi fulani cha usambazaji, inatangaza uanachama katika kikundi hicho kwa wanachama wengine wa mtandao inaowasiliana nao na kwa kidhibiti cha mtandao. Wakati nodi inataka kutuma onyesho anuwai, wakati huo huo hufikia akiba yake ya machapisho ya hivi majuzi na mara kwa mara huomba machapisho ya ziada.

Matangazo (Ethernet ff: ff: ff: ff: ff: ff) inachukuliwa kama kikundi cha utangazaji anuwai ambapo washiriki wote wanajiandikisha. Inaweza kuzimwa katika kiwango cha mtandao ili kupunguza trafiki ikiwa haihitajiki. 

ZeroTier huiga swichi halisi ya Ethaneti. Ukweli huu unatuwezesha kutekeleza kuchanganya mitandao ya mtandao iliyoundwa na mitandao mingine ya Ethernet (LAN ya waya, WiFi, ndege ya nyuma ya kawaida, nk) katika ngazi ya kiungo cha data - kwa kutumia daraja la kawaida la Ethernet.

Ili kufanya kazi kama daraja, kidhibiti cha mtandao lazima kiteue mwenyeji kama hivyo. Mpango huu unatekelezwa kwa sababu za usalama, kwa kuwa wapangishi wa kawaida wa mtandao hawaruhusiwi kutuma trafiki kutoka kwa chanzo kingine isipokuwa anwani zao za MAC. Nodi zilizoteuliwa kama madaraja pia hutumia hali maalum ya algoriti ya utangazaji anuwai, ambayo huingiliana nazo kwa ukali zaidi na kwa kulenga wakati wa usajili wa kikundi na urudufishaji wa trafiki yote ya utangazaji na maombi ya ARP. 

Kubadili pia kuna uwezo wa kuunda mitandao ya umma na ad-hoc, utaratibu wa QoS na mhariri wa sheria za mtandao.

▍Njia:

ZeroTier One ni huduma inayoendeshwa kwenye kompyuta za mkononi, kompyuta za mezani, seva, mashine pepe na kontena zinazotoa miunganisho kwenye mtandao pepe kupitia lango la mtandao pepe, sawa na mteja wa VPN. 

Baada ya huduma kusakinishwa na kuanza, unaweza kuunganisha kwenye mitandao pepe kwa kutumia anwani zao zenye tarakimu 16. Kila mtandao unaonekana kama mlango pepe wa mtandao kwenye mfumo, ambao unafanya kazi kama mlango wa kawaida wa Ethaneti.

ZeroTier One kwa sasa inapatikana kwa OS na mifumo ifuatayo.

Mfumo wa Uendeshaji:

  • Microsoft Windows - Kisakinishi cha MSI x86/x64
  • MacOS - Kisakinishi cha PKG
  • Apple iOS - Hifadhi ya Programu
  • Android - Duka la Google Play
  • Linux - DEB/RPM
  • FreeBSD - Kifurushi cha FreeBSD

NAS:

  • Synology NAS
  • QNAP NAS
  • WD MyCloud NAS

Wengine:

  • Docker - faili ya docker
  • OpenWRT - bandari ya jamii
  • Upachikaji wa programu - SDK (libzt)

Kwa muhtasari wa yote hapo juu, ningegundua kuwa ZeroTier ni zana bora na ya haraka ya kuchanganya rasilimali zako za kimwili, za kawaida au za wingu kwenye mtandao wa kawaida wa ndani, na uwezo wa kuigawanya katika VLAN na kutokuwepo kwa hatua moja ya kushindwa. .

Hiyo ndiyo yote kwa sehemu ya kinadharia katika umbizo la makala ya kwanza kuhusu ZeroTier for Habr - pengine ndiyo yote! Katika makala inayofuata, ninapanga kuonyesha kwa vitendo uundaji wa miundombinu ya mtandao halisi kulingana na ZeroTier, ambapo VDS iliyo na template ya GUI ya chanzo cha kibinafsi itatumika kama mtawala wa mtandao. 

Ndugu wasomaji! Je, unatumia teknolojia ya ZeroTier katika miradi yako? Ikiwa sivyo, unatumia zana gani kuunganisha rasilimali zako?

Swichi ya Smart Ethernet kwa Sayari ya Dunia

Chanzo: mapenzi.com

Kuongeza maoni