Switsh Ethernet Clyfar ar gyfer Planet Earth

Switsh Ethernet Clyfar ar gyfer Planet Earth
“Gallwch chi greu datrysiad (datrys problem) mewn sawl ffordd, ond nid y dull drutaf a/neu boblogaidd yw’r mwyaf effeithiol bob amser!”

Rhagarweiniad

Tua thair blynedd yn ôl, yn y broses o ddatblygu model anghysbell ar gyfer adfer data trychineb, deuthum ar draws un rhwystr na sylwyd arno ar unwaith - y diffyg gwybodaeth am atebion gwreiddiol newydd ar gyfer rhithwiroli rhwydwaith mewn ffynonellau cymunedol. 

Cynlluniwyd yr algorithm ar gyfer y model datblygedig fel a ganlyn: 

  1. Mae defnyddiwr o bell a gysylltodd â mi, y gwrthododd ei gyfrifiadur unwaith gychwyn, gan arddangos y neges “disg system heb ei ganfod / heb ei fformatio,” yn ei lwytho gan ddefnyddio USB bywyd. 
  2. Yn ystod y broses gychwyn, mae'r system yn cysylltu'n awtomatig â rhwydwaith lleol preifat diogel, sydd yn ogystal â'i hun yn cynnwys gweithfan y gweinyddwr, yn yr achos hwn gliniadur, a nod NAS. 
  3. Yna rwy'n cysylltu - naill ai i adfywio'r rhaniadau disg, neu i dynnu data oddi yno.

I ddechrau, gweithredais y model hwn gan ddefnyddio gweinydd VPN ar lwybrydd lleol mewn rhwydwaith o dan fy rheolaeth, yna ar VDS ar rent. Ond, fel sy'n digwydd yn aml ac yn ôl cyfraith gyntaf Chisholm, os bydd hi'n bwrw glaw, bydd rhwydwaith y darparwr Rhyngrwyd yn mynd i lawr, yna bydd anghydfodau rhwng endidau busnes yn achosi i'r darparwr gwasanaeth golli “ynni”...

Felly, penderfynais yn gyntaf lunio'r gofynion sylfaenol y mae'n rhaid i'r offeryn angenrheidiol eu bodloni. Y cyntaf yw datganoli. Yn ail, o ystyried bod gennyf sawl USB bywyd o'r fath, mae gan bob un ohonynt rwydwaith ynysig ar wahân. Wel, yn drydydd, cysylltiad cyflym â'r rhwydwaith o ddyfeisiau amrywiol a rheolaeth syml ohonynt, gan gynnwys rhag ofn i'm gliniadur hefyd ddioddef y gyfraith a grybwyllir uchod.

Yn seiliedig ar hyn ac ar ôl treulio dau fis a hanner ar ymchwil ymarferol i nifer o opsiynau nad oeddent yn addas iawn, penderfynais, ar fy mherygl a’m risg fy hun, roi cynnig ar declyn arall o fusnes newydd nad oedd yn hysbys i mi ar y pryd o’r enw ZeroTier. A dwi byth yn difaru nes ymlaen.

Yn ystod y gwyliau Blwyddyn Newydd hyn, gan geisio deall a yw'r sefyllfa gyda chynnwys wedi newid ers y foment gofiadwy honno, cynhaliais archwiliad dethol o argaeledd erthyglau ar y pwnc hwn, gan ddefnyddio Habr fel ffynhonnell. Ar gyfer yr ymholiad “ZeroTier” yn y canlyniadau chwilio dim ond tair erthygl sy'n sôn amdano, ac nid un un sydd â disgrifiad byr o leiaf. A hyn er gwaethaf y ffaith bod yn eu plith gyfieithiad o erthygl a ysgrifennwyd gan sylfaenydd ZeroTier, Inc. ei hun. - Adam Ierymenko.

Roedd y canlyniadau’n siomedig ac wedi fy ysgogi i ddechrau siarad am ZeroTier yn fwy manwl, gan arbed “ceiswyr” modern rhag gorfod mynd yr un llwybr a gymerais.

Felly beth wyt ti?

Mae'r datblygwr yn gosod ZeroTier fel switsh Ethernet deallus ar gyfer y blaned Ddaear. 

“Mae'n oruchwylydd rhwydwaith gwasgaredig wedi'i adeiladu ar ben rhwydwaith cyfoedion-i-gymar (P2P) byd-eang sy'n ddiogel yn cryptograffig. Offeryn tebyg i switsh SDN corfforaethol, wedi'i gynllunio i drefnu rhwydweithiau rhithwir dros rai ffisegol, yn lleol ac yn fyd-eang, gyda'r gallu i gysylltu bron unrhyw raglen neu ddyfais.”

Mae hwn yn fwy o ddisgrifiad marchnata, nawr am y nodweddion technolegol.

▍ Cnewyllyn: 

Mae ZeroTier Network Hypervisor yn beiriant rhithwiroli rhwydwaith annibynnol sy'n efelychu rhwydwaith Ethernet, tebyg i VXLAN, ar ben rhwydwaith byd-eang wedi'i amgryptio rhwng cyfoedion (P2P).

Mae'r protocolau a ddefnyddir yn ZeroTier yn wreiddiol, er eu bod yn debyg o ran ymddangosiad i VXLAN ac IPSec ac yn cynnwys dwy haen ar wahân yn gysyniadol, ond sy'n perthyn yn agos: VL1 a VL2.

Dolen i ddogfennaeth

Mae ▍VL1 yn haen gludo sylfaenol rhwng cyfoedion (P2P), math o “gebl rhithwir”.

“Mae angen ‘cwpwrdd byd-eang’ o geblau ar ganolfan ddata fyd-eang.”

Mewn rhwydweithiau confensiynol, mae L1 (OSI Haen 1) yn cyfeirio at y ceblau gwirioneddol neu'r radios diwifr sy'n cario data a'r sglodion dyfais traws-gyrru ffisegol sy'n ei fodiwleiddio a'i ddadfododi. Rhwydwaith cyfoedion-i-gymar (P1P) yw VL2 sy'n gwneud yr un peth, gan ddefnyddio amgryptio, dilysu, a thriciau rhwydweithio eraill i drefnu ceblau rhithwir yn ôl yr angen.

Ar ben hynny, mae'n gwneud hyn yn awtomatig, yn gyflym a heb gynnwys y defnyddiwr yn lansio nod ZeroTier newydd.

I gyflawni hyn, trefnir VL1 yn debyg i'r system enwau parth. Wrth wraidd y rhwydwaith mae grŵp o weinyddion gwraidd sydd ar gael yn fawr, y mae eu rôl yn debyg i rôl gweinyddwyr enw gwraidd DNS. Ar hyn o bryd, mae'r prif weinyddion gwraidd (planedol) o dan reolaeth y datblygwr - ZeroTier, Inc. ac yn cael eu darparu fel gwasanaeth rhad ac am ddim. 

Fodd bynnag, mae'n bosibl creu gweinyddwyr gwraidd arferol (luns) sy'n caniatáu ichi:

  • lleihau dibyniaeth ar seilwaith ZeroTier, Inc.; Dolen i ddogfennaeth
  • cynyddu cynhyrchiant trwy leihau oedi; 
  • parhau i weithio fel arfer os collir y cysylltiad Rhyngrwyd.

I ddechrau, mae nodau'n cael eu lansio heb gysylltiadau uniongyrchol â'i gilydd. 

Mae gan bob cymar ar VL1 gyfeiriad ZeroTier unigryw 40-bit (10 hecsadegol), sydd, yn wahanol i gyfeiriadau IP, yn ddynodwr wedi'i amgryptio nad yw'n cynnwys unrhyw wybodaeth llwybro. Cyfrifir y cyfeiriad hwn o ran gyhoeddus y pâr allwedd cyhoeddus/preifat. Mae cyfeiriad nod, allwedd gyhoeddus, ac allwedd breifat gyda'i gilydd yn ffurfio ei hunaniaeth.

Member ID: df56c5621c  
            |
            ZeroTier address of node

O ran amgryptio, mae hwn yn rheswm dros erthygl ar wahân.

Dolen i ddogfennaeth

Er mwyn sefydlu cyfathrebu, mae cyfoedion yn gyntaf yn anfon pecynnau “i fyny” y goeden o weinyddion gwraidd, ac wrth i'r pecynnau hyn deithio trwy'r rhwydwaith, maent yn cychwyn creu sianeli ymlaen ar hap ar hyd y ffordd. Mae'r goeden bob amser yn ceisio “llewygu ar ei phen ei hun” er mwyn optimeiddio ei hun ar gyfer y map llwybr y mae'n ei storio.

Mae'r mecanwaith ar gyfer sefydlu cysylltiad cymar-i-gymar fel a ganlyn:

Switsh Ethernet Clyfar ar gyfer Planet Earth

  1. Mae Node A eisiau anfon pecyn i Node B, ond gan nad yw'n gwybod y llwybr uniongyrchol, mae'n ei anfon i fyny'r afon i Node R (lleuad, gweinydd gwraidd y defnyddiwr).
  2. Os oes gan nod R gysylltiad uniongyrchol â nod B, mae'n anfon y pecyn ymlaen yno. Fel arall, mae'n anfon y pecyn i fyny'r afon cyn cyrraedd y gwreiddiau planedol.Mae'r gwreiddiau planedol yn gwybod am bob nod, felly bydd y pecyn yn cyrraedd nod B yn y pen draw os yw ar-lein.
  3. Mae Nod R hefyd yn anfon neges o'r enw "rendezvous" i nod A, sy'n cynnwys awgrymiadau ar sut y gall gyrraedd nod B. Yn y cyfamser, mae'r gweinydd gwraidd, sy'n anfon y pecyn ymlaen i nod B, yn anfon "rendezvous" yn ei hysbysu sut y gall nod cyrraedd A.
  4. Mae nodau A a B yn derbyn eu negeseuon rendezvous ac yn ceisio anfon negeseuon prawf at ei gilydd mewn ymgais i dorri unrhyw NAT neu waliau tân urddasol y deuir ar eu traws ar hyd y ffordd. Os yw hyn yn gweithio, yna sefydlir cysylltiad uniongyrchol, ac nid yw pecynnau'n mynd yn ôl ac ymlaen mwyach.

Os na ellir sefydlu cysylltiad uniongyrchol, bydd cyfathrebu yn parhau trwy gyfnewid, a bydd ymdrechion cysylltu uniongyrchol yn parhau hyd nes y ceir canlyniad llwyddiannus. 

Mae gan VL1 nodweddion eraill hefyd ar gyfer sefydlu cysylltedd uniongyrchol, gan gynnwys darganfod cyfoedion LAN, rhagfynegiad porthladd ar gyfer croesi IPv4 NAT cymesur, a mapio porthladdoedd penodol gan ddefnyddio uPnP a/neu NAT-PMP os yw ar gael ar y LAN ffisegol lleol.

→ Dolen i ddogfennaeth

Mae ▍VL2 yn brotocol rhithwiroli rhwydwaith Ethernet tebyg i VXLAN gyda swyddogaethau rheoli SDN. Amgylchedd cyfathrebu cyfarwydd ar gyfer OS a chymwysiadau...

Yn wahanol i VL1, mae creu rhwydweithiau VL2 (VLANs) a chysylltu nodau â nhw, yn ogystal â'u rheoli, yn gofyn am gyfranogiad uniongyrchol gan y defnyddiwr. Gall wneud hyn gan ddefnyddio rheolydd rhwydwaith. Yn ei hanfod, mae'n nod ZeroTier rheolaidd, lle mae swyddogaethau'r rheolydd yn cael eu rheoli mewn dwy ffordd: naill ai'n uniongyrchol, trwy newid ffeiliau, neu, fel y mae'r datblygwr yn ei argymell yn gryf, gan ddefnyddio API cyhoeddedig. 

Nid yw'r dull hwn o reoli rhwydweithiau rhithwir ZeroTier yn gyfleus iawn i'r person cyffredin, felly mae yna sawl GUI:
 

  • Un gan y datblygwr ZeroTier, ar gael fel datrysiad cwmwl cyhoeddus SaaS gyda phedwar cynllun tanysgrifio, gan gynnwys am ddim, ond yn gyfyngedig o ran nifer y dyfeisiau a reolir a lefel y gefnogaeth
  • Daw'r ail gan ddatblygwr annibynnol, sydd wedi'i symleiddio rhywfaint o ran ymarferoldeb, ond sydd ar gael fel datrysiad ffynhonnell agored preifat i'w ddefnyddio ar y safle neu ar adnoddau cwmwl.

Mae VL2 yn cael ei weithredu ar ben VL1 ac yn cael ei gludo ganddo. Fodd bynnag, mae'n etifeddu amgryptio a dilysu pwynt terfyn VL1, ac mae hefyd yn defnyddio ei allweddi anghymesur i lofnodi a gwirio tystlythyrau. Mae VL1 yn caniatáu ichi weithredu VL2 heb boeni am dopoleg y rhwydwaith ffisegol presennol. Hynny yw, mae problemau gyda chysylltedd ac effeithlonrwydd llwybro yn broblemau VL1. Mae'n bwysig deall nad oes cysylltiad rhwng rhwydweithiau rhithwir VL2 a llwybrau VL1. Yn debyg i amlblecsio VLAN mewn LAN â gwifrau, dim ond un llwybr VL1 (cebl rhithwir) fydd gan ddau nod sy'n rhannu aelodaeth rhwydwaith lluosog rhyngddynt o hyd.

Mae pob rhwydwaith VL2 (VLAN) yn cael ei nodi gan gyfeiriad rhwydwaith ZeroTier 64-did (16 hecsadegol), sy'n cynnwys cyfeiriad ZeroTier 40-did y rheolydd a rhif 24-did yn nodi'r rhwydwaith a grëwyd gan y rheolydd hwnnw.

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

Pan fydd nod yn ymuno â rhwydwaith neu'n gofyn am ddiweddariad cyfluniad rhwydwaith, mae'n anfon neges cais cyfluniad rhwydwaith (trwy VL1) i reolwr y rhwydwaith. Yna mae'r rheolydd yn defnyddio cyfeiriad VL1 y nod i ddod o hyd iddo ar y rhwydwaith ac anfon y tystysgrifau, tystlythyrau a gwybodaeth ffurfweddu priodol ato. O safbwynt rhwydweithiau rhithwir VL2, gellir meddwl am gyfeiriadau VL1 ZeroTier fel rhifau porthladd ar switsh rhithwir byd-eang enfawr.

Mae'r holl gymwysterau a gyhoeddir gan reolwyr rhwydwaith i nodau aelod rhwydwaith penodol wedi'u llofnodi ag allwedd gyfrinachol y rheolydd fel y gall holl gyfranogwyr y rhwydwaith eu gwirio. Mae gan y tystlythyrau stampiau amser a gynhyrchir gan y rheolydd, sy'n caniatáu cymhariaeth gymharol heb orfod cyrchu cloc system leol y gwesteiwr. 

Rhoddir tystlythyrau i'w perchnogion yn unig ac yna'n cael eu hanfon at gyfoedion sydd am gyfathrebu â nodau eraill ar y rhwydwaith. Mae hyn yn galluogi'r rhwydwaith i raddfa i feintiau enfawr heb yr angen i storio llawer iawn o gymwysterau ar nodau neu gysylltu â rheolwr y rhwydwaith yn gyson.

Mae rhwydweithiau ZeroTier yn cefnogi dosbarthu aml-ddarllediad trwy system cyhoeddi/tanysgrifio syml.

Dolen i ddogfennaeth

Pan fydd nod yn dymuno derbyn darllediad aml-ddarllediad ar gyfer grŵp dosbarthu penodol, mae'n hysbysebu aelodaeth yn y grŵp hwnnw i aelodau eraill o'r rhwydwaith y mae'n cyfathrebu â nhw ac i reolwr y rhwydwaith. Pan fydd nod yn dymuno anfon aml-ddarllediad, mae'n cyrchu ei storfa o gyhoeddiadau diweddar ar yr un pryd ac yn gofyn am gyhoeddiadau ychwanegol o bryd i'w gilydd.

Mae darllediad (Ethernet ff:ff:ff:ff:ff:ff) yn cael ei drin fel grŵp aml-ddarlledwr y mae pob cyfranogwr yn tanysgrifio iddo. Gellir ei analluogi ar lefel rhwydwaith i leihau traffig os nad oes ei angen. 

Mae ZeroTier yn efelychu switsh Ethernet go iawn. Mae'r ffaith hon yn ein galluogi i gyflawni cyfuno'r rhwydweithiau rhithwir a grëwyd gyda rhwydweithiau Ethernet eraill (LAN gwifrau, WiFi, awyren gefn rhithwir, ac ati) ar lefel cyswllt data - gan ddefnyddio pont Ethernet rheolaidd.

Er mwyn gweithredu fel pont, rhaid i reolwr y rhwydwaith ddynodi gwesteiwr fel y cyfryw. Gweithredir y cynllun hwn am resymau diogelwch, gan na chaniateir i westeion rhwydwaith arferol anfon traffig o ffynhonnell heblaw eu cyfeiriad MAC. Mae nodau sydd wedi'u dynodi'n bontydd hefyd yn defnyddio dull arbennig o'r algorithm aml-ddarlledu, sy'n rhyngweithio â nhw yn fwy ymosodol ac wedi'u targedu yn ystod tanysgrifiadau grŵp ac atgynhyrchu'r holl draffig darlledu a chais ARP. 

Mae gan y switsh hefyd y gallu i greu rhwydweithiau cyhoeddus ac ad-hoc, mecanwaith QoS a golygydd rheolau rhwydwaith.

▍ Nod:

Sero Haen Un yn wasanaeth sy'n rhedeg ar liniaduron, byrddau gwaith, gweinyddwyr, peiriannau rhithwir a chynwysyddion sy'n darparu cysylltiadau â rhwydwaith rhithwir trwy borthladd rhwydwaith rhithwir, yn debyg i gleient VPN. 

Unwaith y bydd y gwasanaeth wedi'i osod a'i gychwyn, gallwch gysylltu â rhwydweithiau rhithwir gan ddefnyddio eu cyfeiriadau 16 digid. Mae pob rhwydwaith yn ymddangos fel porthladd rhwydwaith rhithwir ar y system, sy'n ymddwyn yn union fel porthladd Ethernet rheolaidd.

Mae ZeroTier One ar gael ar hyn o bryd ar gyfer yr OS a'r systemau canlynol.

OS:

  • Microsoft Windows - gosodwr MSI x86/x64
  • MacOS - gosodwr PPG
  • Apple iOS - Siop app
  • Android — Store Chwarae
  • Linux - DEB/RPM
  • FreeBSD - Pecyn FreeBSD

NAS:

  • Synology NAS
  • QNAP NAS
  • WD MyCloud NAS

Eraill:

  • Docker - ffeil docwr
  • OpenWRT - porthladd cymunedol
  • Ymgorffori ap - SDK (libzt)

I grynhoi pob un o'r uchod, byddwn yn nodi bod ZeroTier yn arf rhagorol a chyflym ar gyfer cyfuno eich adnoddau ffisegol, rhithwir neu gymylau yn rhwydwaith lleol cyffredin, gyda'r gallu i'w rannu'n VLANs ac absenoldeb un pwynt methiant. .

Dyna ni ar gyfer y rhan ddamcaniaethol yn fformat yr erthygl gyntaf am ZeroTier ar gyfer Habr - dyna'r cyfan mae'n debyg! Yn yr erthygl nesaf, rwy'n bwriadu dangos yn ymarferol greu seilwaith rhwydwaith rhithwir yn seiliedig ar ZeroTier, lle bydd VDS gyda thempled GUI ffynhonnell agored preifat yn cael ei ddefnyddio fel rheolydd rhwydwaith. 

Annwyl ddarllenwyr! Ydych chi'n defnyddio technoleg ZeroTier yn eich prosiectau? Os na, pa offer ydych chi'n eu defnyddio i rwydweithio'ch adnoddau?

Switsh Ethernet Clyfar ar gyfer Planet Earth

Ffynhonnell: hab.com

Ychwanegu sylw