NNCP 8.8.0-ի թողարկում, ֆայլեր/հրամաններ պահեստավորման և փոխանցման ռեժիմում փոխանցելու կոմունալ ծառայություններ

Node-to-Node CoPy-ի (NNCP) թողարկումը, որը ֆայլերի, էլ.փոստի և հրամանների անվտանգ փոխանցման համար նախատեսված կոմունալ ծառայությունների փաթեթ է պահեստավորման և փոխանցման ռեժիմում կատարման համար: Աջակցում է POSIX-ի հետ համատեղելի օպերացիոն համակարգերի աշխատանքին: Կոմունալ ծառայությունները գրված են Go-ում և բաշխվում են GPLv3 լիցենզիայի ներքո:

Կոմունալ ծառայությունները կենտրոնացած են օգնելու ստեղծել ընկեր-ընկերոջ փոքր ցանցեր (տասնյակ հանգույցներ)՝ ստատիկ երթուղիներով՝ ֆայլերի անվտանգ փոխանցման, ֆայլերի հարցումների, էլ. փոստի և հրամանների հարցումների համար: Բոլոր փոխանցված փաթեթները կոդավորված են (վերջից մինչև վերջ) և բացահայտորեն վավերացվում են ընկերների հայտնի հանրային բանալիների միջոցով: Սոխի կոդավորումը (ինչպես Tor-ում) օգտագործվում է բոլոր միջանկյալ փաթեթների համար: Յուրաքանչյուր հանգույց կարող է հանդես գալ և՛ որպես հաճախորդ, և՛ սերվեր և օգտագործել ինչպես push, այնպես էլ հարցումների վարքագծի մոդելներ:

NNCP-ի և UUCP-ի և FTN-ի (FidoNet Technology Network) լուծումների միջև տարբերությունը, ի լրումն վերոհիշյալ գաղտնագրման և իսկորոշման, հանդիսանում է անապահով տեղական և անապահով լոկալից ֆիզիկապես մեկուսացված (օդային բացթողումներով) ցանցերի և համակարգիչների անսպասելի աջակցությունը: հանրային ցանցեր. NNCP-ն ունի նաև հեշտ ինտեգրում (UUCP-ի հետ հավասար) ընթացիկ փոստային սերվերների հետ, ինչպիսիք են Postfix-ը և Exim-ը:

NNCP-ի կիրառման հնարավոր ոլորտներն են՝ առանց ինտերնետին մշտական ​​կապի սարքերի փոստ ուղարկելու/ստանալու կազմակերպումը, անկայուն ցանցային կապի պայմաններում ֆայլերի փոխանցումը, ֆիզիկական մեդիայի վրա շատ մեծ քանակությամբ տվյալների անվտանգ փոխանցումը, տվյալների փոխանցման մեկուսացված ցանցերի ստեղծումը՝ պաշտպանված: MitM-ի հարձակումները՝ շրջանցելով ցանցի գրաքննությունն ու հսկողությունը: Քանի որ գաղտնազերծման բանալին գտնվում է միայն ստացողի ձեռքում, անկախ նրանից, թե փաթեթը առաքվում է ցանցով, թե ֆիզիկական կրիչներով, երրորդ կողմը չի կարող կարդալ բովանդակությունը, նույնիսկ եթե փաթեթը կալանված է: Իր հերթին թվային ստորագրության նույնականացումը թույլ չի տալիս այլ ուղարկողի քողի տակ հորինված հաղորդագրություն ստեղծել:

NNCP 8.8.0-ի նորամուծությունների թվում նախորդ նորությունների համեմատ (տարբերակ 5.0.0).

  • BLAKE2b հեշի փոխարեն, այսպես կոչված MTH: Merkle Tree-ի վրա հիմնված Hashing-ը, որն օգտագործում է BLAKE3 հեշը, օգտագործվում է ֆայլերի ամբողջականությունը ստուգելու համար: Սա թույլ է տալիս հաշվարկել փաթեթի գաղտնագրված մասի ամբողջականությունը հենց ներբեռնման ժամանակ՝ առանց հետագայում այն ​​կարդալու պահանջի: Սա նաև թույլ է տալիս ամբողջականության ստուգումների անսահմանափակ զուգահեռականացում:
  • Նոր կոդավորված փաթեթի ձևաչափը լիովին հարմար է հոսքի համար, երբ տվյալների չափը նախապես անհայտ է: Փոխանցման ավարտի ազդանշանը վավերացված չափով անցնում է անմիջապես կոդավորված հոսքի ներսում: Նախկինում փոխանցված տվյալների չափը պարզելու համար անհրաժեշտ էր դրանք պահել ժամանակավոր ֆայլում։ Այսպիսով, «nncp-exec» հրամանը կորցրել է «-use-tmp» տարբերակը, քանի որ այն բոլորովին անհարկի է:
  • BLAKE2b KDF և XOF գործառույթները փոխարինվել են BLAKE3-ով՝ նվազեցնելու օգտագործվող գաղտնագրային պարզունակների քանակը և պարզեցնելու կոդը:
  • Այժմ հնարավոր է տեղական ցանցի այլ հանգույցներ հայտնաբերել «ff02::4e4e:4350» հասցեով բազմակի հեռարձակման միջոցով:
  • Հայտնվել են Multicast խմբեր (որպես FidoNet echo կոնֆերանսների կամ Usenet լրատվական խմբերի), որը թույլ է տալիս մեկ փաթեթին տվյալներ ուղարկել խմբի մի քանի անդամների, որտեղ յուրաքանչյուրը նաև փոխանցում է փաթեթը մնացած ստորագրողներին: Multicast փաթեթի ընթերցումը պահանջում է բանալիների զույգի իմացություն (դուք պետք է բացահայտորեն խմբի անդամ լինեք), բայց փոխանցումը կարող է կատարվել ցանկացած հանգույցի կողմից:
  • Այժմ աջակցություն կա փաթեթի ստացման հստակ հաստատման համար: Ուղարկողը կարող է չջնջել փաթեթը ուղարկելուց հետո՝ սպասելով, մինչև այն ստանա ստացողից հատուկ ACK փաթեթ:
  • Ներկառուցված աջակցություն Yggdrasil ծածկույթի ցանցին. առցանց դևոնները կարող են հանդես գալ որպես ցանցի լիարժեք անկախ մասնակիցներ՝ առանց երրորդ կողմի Yggdrasil-ի ներդրումներն օգտագործելու և առանց վիրտուալ ցանցի ինտերֆեյսի IP փաթեթի հետ ամբողջությամբ աշխատելու:
  • Կառուցվածքային տողերի փոխարեն (RFC 3339), մատյանն օգտագործում է recfile գրառումներ, որոնք կարող են օգտագործվել GNU Recutils կոմունալ ծրագրերի հետ։
  • Ընտրովի, գաղտնագրված փաթեթների վերնագրերը կարող են պահվել առանձին ֆայլերում «hdr/» ենթագրքում՝ զգալիորեն արագացնելով փաթեթների ցուցակի որոնման գործողությունները մեծ բլոկի չափսերով ֆայլային համակարգերում, ինչպիսին է ZFS-ը: Նախկինում, փաթեթի վերնագրի առբերումը պահանջում էր լռելյայնորեն կարդալ միայն 128 ԿԲ բլոկ սկավառակից:
  • Նոր ֆայլերի առկայությունը ստուգելը կարող է կամայականորեն օգտագործել kqueue և inotify միջուկի ենթահամակարգերը՝ կատարելով ավելի քիչ համակարգային զանգեր:
  • Կոմունալ ծառայություններն ավելի քիչ բաց ֆայլեր են պահում և ավելի քիչ հաճախակի փակում ու վերաբացում դրանք: Փաթեթների մեծ քանակով նախկինում հնարավոր էր սահմանափակվել բաց ֆայլերի առավելագույն քանակով:
  • Շատ թիմեր սկսեցին ցույց տալ գործողությունների առաջընթացը և արագությունը, ինչպիսիք են փաթեթների ներբեռնումը/բեռնումը, պատճենումը և մշակումը (նետում):
  • «nncp-file» հրամանը կարող է ուղարկել ոչ միայն առանձին ֆայլեր, այլև դիրեկտորիաներ՝ անմիջապես ստեղծելով pax-ի արխիվ՝ դրանց բովանդակությամբ:
  • Առցանց կոմունալ ծառայությունները կարող են կամայականորեն անմիջապես կանչել փաթեթների շպրտում փաթեթը հաջողությամբ ներբեռնելուց հետո՝ առանց առանձին «nncp-toss» դեյմոն գործարկելու:
  • Մեկ այլ մասնակցի առցանց զանգը կարող է կամայականորեն տեղի ունենալ ոչ միայն ժմչփի գործարկման ժամանակ, այլ նաև, երբ ելքային փաթեթը հայտնվում է կծիկի գրացուցակում:
  • Ապահովում է գործունակությունը NetBSD և OpenBSD OS-ի ներքո՝ ի լրումն նախկինում աջակցվող FreeBSD-ի և GNU/Linux-ի:
  • «nncp-daemon»-ը լիովին համատեղելի է UCSPI-TCP ինտերֆեյսի հետ: Համակցված ֆայլի որոշակի նկարագրիչ մուտք գործելու հնարավորության հետ (օրինակ՝ «NNCPLOG=FD:4» դնելով), այն լիովին հարմար է աշխատել daemontools-ի նման կոմունալ ծրագրերի ներքո:
  • Նախագծի հավաքումն ամբողջությամբ փոխանցվել է ռեդո համակարգին:

Source: opennet.ru

Добавить комментарий