Switch Ethernet Smart ji bo Planet Earth

Switch Ethernet Smart ji bo Planet Earth
"Hûn dikarin bi çend awayan çareseriyek biafirînin (pirsgirêkek çareser bikin, lê rêbaza herî biha û/an populer her gav ne ya herî bi bandor e!"

Preamble

Nêzîkî sê sal berê, di pêvajoya pêşvebirina modelek dûr a ji bo vegerandina daneya karesatê de, ez rastî astengiyek hatim ku tavilê nehate dîtin - nebûna agahdariya di derbarê çareseriyên nû yên orîjînal de ji bo virtualkirina torê di çavkaniyên civakê de. 

Algorîtmaya ji bo modela pêşkeftî bi vî rengî hate plan kirin: 

  1. Bikarhênerek dûr a ku bi min re têkilî danî, ku komputera wî carekê red kir ku boot bike, peyama "dîska pergalê nehate dîtin/ne formatkirin" nîşan dide, wê bi karanîna USB-ya jiyanê bar dike. 
  2. Di dema pêvajoya bootkirinê de, pergal bixweber bi torgilokek herêmî ya ewledar ve girêdide, ku ji bilî xwe qereqola xebatê ya rêveberê, di vê rewşê de laptopek, û nodek NAS-ê jî dihewîne. 
  3. Dûv re ez girêdidim - an ji bo vejandina dabeşên dîskê, an jî ji bo derxistina daneyan ji wir.

Di destpêkê de, min ev model bi karanîna serverek VPN-ê li ser routerek herêmî ya di torgilokek di bin kontrola min de, dûv re li ser VDS-ek kirêkirî bicîh kir. Lê, wekî ku pir caran diqewime û li gorî qanûna yekem a Chisholm, heke baran bibare, tora peydakiroxa Înternetê dê têk biçe, wê hingê nakokiyên di navbera saziyên karsaziyê de dê bibe sedem ku pêşkêşkarê karûbarê "enerjiyê" winda bike...

Ji ber vê yekê, min biryar da ku pêşî hewceyên bingehîn ên ku amûra pêdivî ye ku pêdivî ye, formule bikim. Ya yekem desentralîzasyon e. Ya duyemîn, ji ber ku min çend USB-yên jiyanê yên weha hene, her yek ji wan xwedan torgilokek veqetandî ye. Welê, ya sêyemîn, girêdana bilez a bi torê ya cîhazên cihêreng û rêveberiya wan a hêsan, di nav de ku laptopa min jî bibe qurbana qanûna ku li jor hatî destnîşan kirin.

Li ser vê yekê û min du meh û nîv li ser lêkolîna pratîkî ya gelek vebijarkên ne pir maqûl derbas kir, min, li ser xeter û xetereya xwe, biryar da ku amûrek din ji destpêkek ku wê demê ji min re nenas bi navê ZeroTier biceribînim. Ya ku ez paşê qet poşman nebûm.

Di van betlaneyên Sersalê de, hewl da ku fêm bikim ka rewşa naverokê ji wê kêliya bîranînê ve hatî guhertin, min ji bo peydabûna gotarên li ser vê mijarê vekolînek hilbijartî kir, ku Habr wekî çavkanî bikar anî. Ji bo pirsa "ZeroTier" di encamên lêgerînê de tenê sê gotar hene ku behsa wê dikin, û ne yek yek bi kêmanî ravekek kurt heye. Û ev yek tevî ku di nav wan de wergera gotarek heye ku ji hêla damezrînerê ZeroTier, Inc. bi xwe ve hatî nivîsandin. - Adam Ierymenko.

Encam dilşikestî bûn û min hişt ku ez dest bi axaftina ZeroTier bi hûrgulî bikim, "lêgerên" nûjen xilas bike ku neçin heman riya ku min girt.

Îcar tu çi yî?

Pêşdebir ZeroTier ji bo gerstêrka Erdê wekî guhezkarek Ethernet-a jîr bi cih dike. 

"Ew hîpervisorek torê ya belavkirî ye ku li ser torgilokek gerdûnî ya peer-to-peer (P2P) ewledar a krîptografî hatî çêkirin. Amûrek mîna guhezek SDN-ya pargîdanî, ku ji bo organîzekirina torên virtual li ser yên laşî, hem herêmî û hem jî gerdûnî, hatî çêkirin, bi şiyana girêdana hema hema her serîlêdan an cîhazek ve hatî çêkirin.

Ev bêtir ravek kirrûbirrê ye, naha li ser taybetmendiyên teknolojîk.

▍ Kernel: 

ZeroTier Network Hypervisor motorek virtualîzasyona torê ya serbixwe ye ku torgilokek Ethernet, mîna VXLAN-ê, li ser tora peer-to-peer (P2P) ya şîfrekirî ya gerdûnî dişibîne.

Protokolên ku di ZeroTier de têne bikar anîn orîjînal in, her çend di xuyangê de bi VXLAN û IPSec-ê re dişibin hev û ji du qatên têgihî veqetandî, lê ji nêz ve girêdayî ne: VL1 û VL2.

Girêdana belgekirinê

▍VL1 qatek veguhastina peer-to-peer (P2P) ya bingehîn e, celebek "kabloya virtual".

"Navenda daneya gerdûnî pêdivî bi kabloyek 'dorpêkek gerdûnî' heye."

Di torên kevneşopî de, L1 (OSI Layer 1) kabloyên rastîn an radyoyên bêtêl ên ku daneyan hildigirin û çîpên cîhaza transceiverê ya laşî ku wê modul dikin û hilweşînin vedibêje. VL1 torgilokek peer-to-peer (P2P) ye ku heman tiştî dike, şîfrekirin, verastkirin, û hîleyên din ên torê bikar tîne da ku li gorî hewcedariyê kabloyên virtual organîze bike.

Digel vê yekê, ew viya bixweber, zû û bêyî tevlêbûna bikarhêner ku girêkek ZeroTier nû dide destpêkirin dike.

Ji bo gihîştina vê yekê, VL1 bi heman rengî pergala navê domainê tê organîze kirin. Di dilê torê de komek serverên root ên pir berdest hene, ku rola wan mîna ya serverên navê root DNS-ê ye. Heya nuha, serverên bingehîn (gerstêrkî) ​​di bin kontrola pêşdebiran de ne - ZeroTier, Inc. û wekî xizmetek belaş têne pêşkêş kirin. 

Lêbelê, gengaz e ku hûn serverên root yên xwerû (luns) biafirînin ku destûrê didin we:

  • kêmkirina girêdayîbûna bi binesaziya ZeroTier, Inc. Girêdana belgekirinê
  • zêdekirina hilberînê bi kêmkirina derengiyan; 
  • Ger pêwendiya Înternetê winda bibe wekî normal xebata xwe bidomînin.

Di destpêkê de, nod bêyî girêdanên rasterast bi hev re têne destpêkirin. 

Her peer li ser VL1 xwedan navnîşek ZeroTier a 40-bit (10 hexadecimal) yekta ye, ku, berevajî navnîşanên IP-yê, nasnameyek şîfrekirî ye ku agahdariya rêvekirinê dihewîne. Ev navnîşan ji beşa giştî ya cotê mifteya giştî/taybet tê hesibandin. Navnîşana girêkek, mifteya giştî û mifteya taybet bi hev re nasnameya wê ava dikin.

Member ID: df56c5621c  
            |
            ZeroTier address of node

Ji bo şîfrekirinê, ev sedemek ji bo gotarek cuda ye.

Girêdana belgekirinê

Ji bo sazkirina danûstendinê, heval pêşî pakêtan dişînin "jor" dara serverên root, û her ku ev pakêt di nav torê re derbas dibin, ew di rê de dest bi afirandina rêgezên kanalên pêşeroj dikin. Dar bi berdewamî hewl dide ku "bi serê xwe hilweşe" da ku xwe ji bo nexşeya rê ya ku ew hildigire xweşbîn bike.

Mekanîzmaya avakirina pêwendiya peer-to-peer wiha ye:

Switch Ethernet Smart ji bo Planet Earth

  1. Node A dixwaze pakêtekê ji Node B re bişîne, lê ji ber ku ew riya rasterast nizane, ew dişîne jorîn ji Node R (heyv, servera root ya bikarhêner).
  2. Ger girêka R rasterast bi girê B-yê re têkiliyek hebe, ew pakêtê li wir dişîne. Wekî din, berî ku bigihîje kokên gerstêrkan pakêtê dişîne jor.Rokên gerstêrk bi hemî girêkan dizanin, ji ber vê yekê pakêt dê di dawiyê de bigihîje girêka B heke serhêl be.
  3. Node R di heman demê de peyamek bi navê "rendezvous" ji girê A re dişîne, tê de îşaretên ka ew çawa dikare bigihîje girê B. Di vê navberê de, servera root, ku pakêtê dişîne girê B, "rendezvous" dişîne û jê agahdar dike ka ew çawa dikare. gihîştina girê A.
  4. Nêzên A û B peyamên xwe yên randevûyê distînin û hewl didin ku peyamên ceribandinê ji hev re bişînin da ku hewl bidin ku NAT an dîwarên agir ên dewletî yên ku di rê de rû didin têk bibin. Ger ev kar bike, wê hingê têkiliyek rasterast tê saz kirin, û pakêt êdî paş û paş ve naçin.

Ger pêwendiyek rasterast nekare were saz kirin, dê têkilî bi releyê bidome, û hewildanên girêdana rasterast dê berdewam bikin heya ku encamek serketî were bidestxistin. 

VL1 di heman demê de ji bo sazkirina girêdana rasterast xwedan taybetmendiyên din jî hene, di nav de vedîtina peer LAN, pêşbîniya portê ji bo derbasbûna IPv4 NAT-a sîmetrîk, û nexşeya portê ya eşkere bi karanîna uPnP û/an NAT-PMP heke li ser LAN-ya laşî ya herêmî hebe.

→ Girêdana belgekirinê

▍VL2 bi fonksiyonên rêveberiya SDN-ê re protokolek virtualîzasyona torê ya Ethernet-a VXLAN-ê ye. Jîngeha ragihandinê ya naskirî ji bo OS û sepanan...

Berevajî VL1, afirandina torên VL2 (VLAN) û girêdana girêkan bi wan re, û her weha rêvebirina wan, beşdarî rasterast ji bikarhênerê hewce dike. Ew dikare vê yekê bi karanîna kontrolkerek torê bike. Di eslê xwe de, ew nodek ZeroTier bi rêkûpêk e, ku fonksiyonên kontrolker bi du awayan têne kontrol kirin: an rasterast, bi guheztina pelan, an jî, wekî ku pêşdebir bi tundî pêşniyar dike, bi karanîna API-yek çapkirî bikar bînin. 

Ev rêbaza birêvebirina torên virtual ZeroTier ji bo kesê navîn ne pir hêsan e, ji ber vê yekê çend GUI hene:
 

  • Yek ji pêşdebirker ZeroTier, ku wekî çareseriyek cloudê giştî ya SaaS bi çar plansaziyên abonetiyê peyda dibe, di nav de belaş, lê di hejmara cîhazên birêvebirî û asta piştgiriyê de sînordar e.
  • Ya duyemîn ji pêşdebirek serbixwe ye, di fonksîyonê de hinekî hêsankirî ye, lê wekî çareseriyek çavkaniyek vekirî ya taybet ji bo karanîna li ser bingehê an li ser çavkaniyên ewr heye.

VL2 li ser VL1 tête bicîh kirin û ji hêla wê ve tê veguheztin. Lêbelê, ew şîfrekirin û pejirandina xala dawiya VL1 mîras digire, û di heman demê de bişkojkên xwe yên asimetrîk jî bikar tîne da ku pêbaweriyê îmze bike û verast bike. VL1 dihêle hûn VL2 bicîh bikin bêyî ku hûn li ser topolojiya torê ya laşî ya heyî xeman bikin. Ango, pirsgirêkên bi girêdan û karbidestiya rêvekirinê pirsgirêkên VL1 ne. Girîng e ku meriv fêm bike ku di navbera torên virtual VL2 û rêyên VL1 de têkiliyek tune. Mîna pirrengkirina VLAN-ê di LANek têlkirî de, du girêkên ku gelek endametiyên torê parve dikin dê dîsa jî di navbera wan de yek rêyek VL1 (kabloya virtual) hebe.

Her tora VL2 (VLAN) ji hêla navnîşana torê ya ZeroTier ya 64-bit (16 hexadecimal) ve tête nas kirin, ku navnîşana ZeroTier ya 40-bit ya kontrolker û hejmarek 24-bit ku tora ku ji hêla wê kontrolker ve hatî afirandin ve nas dike.

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

Dema ku nodek tevlê torê dibe an nûvekirinek veavakirina torê daxwaz dike, ew peyamek daxwaza veavakirina torê (bi rêya VL1) ji kontrolkerê torê re dişîne. Dûv re kontrolker navnîşana VL1 ya nodê bikar tîne da ku wê li ser torê bibîne û sertîfîkayên guncan, pêbawer û agahdariya vesazkirinê jê re bişîne. Ji nihêrîna torên virtual VL2, navnîşanên VL1 ZeroTier dikarin wekî jimareyên portê li ser guhezek gerdûnî ya mezin a gerdûnî werin hesibandin.

Hemî pêbaweriyên ku ji hêla kontrolkerên torê ve ji bo girêkên endam ên torgilokek diyarkirî têne derxistin bi mifteya veşartî ya kontrolker ve têne îmze kirin da ku hemî beşdarên torê karibin wan verast bikin. Di pêbaweriyê de îşaretên demjimêran hene ku ji hêla kontrolker ve hatî çêkirin, rê dide berhevdana têkildar bêyî ku bigihîje demjimêra pergala herêmî ya mêvandar. 

Pêbawerî tenê ji xwediyên xwe re têne derxistin û dûv re ji hevalên ku dixwazin bi girêkên din ên li ser torê re têkilî daynin têne şandin. Ev dihêle ku torê bi pîvanên pir mezin ve bibe bêyî ku hewce bike ku mîqdarên mezin ên pêbaweriyê li ser nokan veşêre an bi berdewamî bi kontrolkerê torê re têkilî daynin.

Tora ZeroTier bi navgîniya pergala weşana/abonetê ya hêsan ve belavkirina pirreng piştgirî dike.

Girêdana belgekirinê

Dema ku girêkek bixwaze weşanek pirzimanî ji bo komek belavkirina taybetî werbigire, ew endametiya wê komê ji endamên din ên tora ku pê re danûstandinê dike û ji kontrolkerê torê re reklam dike. Dema ku girêkek bixwaze multicastek bişîne, ew di heman demê de xwe digihîne cache ya weşanên dawî û dem bi dem weşanên din daxwaz dike.

Weşanek (Ethernet ff: ff: ff: ff: ff: ff) wekî grûpek pirreng tê hesibandin ku hemî beşdar beşdarî wê dibin. Ew dikare di asta torê de bête asteng kirin da ku ger ne hewce be trafîkê kêm bike. 

ZeroTier guhezek Ethernet-a rastîn emil dike. Ev rastî rê dide me ku em pêk bînin Di asta girêdana daneyê de torgilokên virtual ên hatine afirandin bi torên Ethernet ên din re (LAN-ya têlkirî, WiFi, balafirgeha paşîn a virtual, hwd.) re hevber kirin - bi karanîna pirek Ethernet a birêkûpêk.

Ji bo ku wekî pirek tevbigerin, divê kontrolkerê torê mêvandarek weha destnîşan bike. Ev nexşe ji ber sedemên ewlehiyê tête bicîh kirin, ji ber ku mêvandarên torê yên normal nahêlin ku seyrûseferê ji çavkaniyek ji bilî navnîşana MAC-a xwe bişînin. Nodên ku wekî piran têne destnîşan kirin di heman demê de modek taybetî ya algorîtmaya pirzimanî bikar tînin, ku di dema aboneyên komê û dubarekirina hemî seyrûsefera weşanê û daxwazên ARP de bi wan re bi tundî û armancdartir tevdigere. 

Guhestina di heman demê de xwedan şiyana afirandina torên gelemperî û ad-hoc, mekanîzmayek QoS û edîtorek qaîdeyên torê ye.

▍Node:

ZeroTier One karûbarek e ku li ser laptopan, sermaseyan, pêşkêşkeran, makîneyên virtual û konteyneran tê xebitandin ku bi navgîniya portek torê ya virtual ve, mîna xerîdarek VPN, girêdanên bi torgilokek virtual peyda dike. 

Dema ku karûbar hate saz kirin û dest pê kirin, hûn dikarin bi navnîşanên wan ên 16-hejmarî bi torên virtual ve girêdin. Her tora li ser pergalê wekî portek torê ya virtual xuya dike, ku mîna portek Ethernet-a birêkûpêk tevdigere.

ZeroTier One niha ji bo OS û pergalên jêrîn heye.

Pergalên Xebatê:

  • microsoft Windows - Sazkerê MSI x86/x64
  • MacOS - Sazkerê PKG
  • Apple iOS - App Store
  • Android - Play Store
  • Linux - DEB / RPM
  • FreeBSD - Pakêta FreeBSD

NAS:

  • NAS
  • QNAP NAS
  • WD MyCloud NAS

Yên din:

  • Docker - pelê docker
  • OpenWRT - port civakê
  • Bicîhkirina sepanê - SDK (libzt)

Ji bo kurtkirina hemî jorîn, ez ê bala xwe bidim ku ZeroTier amûrek hêja û bilez e ji bo berhevkirina çavkaniyên weya laşî, virtual an ewr di nav torgilokek herêmî ya hevpar de, bi şiyana dabeşkirina wê li VLAN û nebûna yek xalek têkçûnê. .

Ew ji bo beşa teorîkî ya di forma gotara yekem de li ser ZeroTier ji bo Habr - dibe ku ew hemî be! Di gotara din de, ez plan dikim ku di pratîkê de çêkirina binesaziyek torê ya virtual li ser bingeha ZeroTier destnîşan bikim, ku VDS bi şablonek GUI-ya çavkaniya vekirî ya taybet dê wekî kontrolkerek torê were bikar anîn. 

Xwendevanên delal! Ma hûn teknolojiya ZeroTier di projeyên xwe de bikar tînin? Heke ne, hûn kîjan amûran bikar tînin ku çavkaniyên xwe torê bikin?

Switch Ethernet Smart ji bo Planet Earth

Source: www.habr.com

Add a comment