NNCPオンラむンおよび怜閲されたストアアンドフォワヌド䞭毒の治療

この蚘事では、むンタヌネット䞊のデヌタのアクセス可胜性、怜閲の乱甚、および完党な監芖ずいう憂鬱な状況の問題を提起しおいたす。 圓局や䌁業が責任を負いたすか どうする 独自の゜ヌシャルネットワヌクを䜜成し、匿名化ネットワヌクに参加し、メッシュネットワヌクずストアアンドフォワヌド゜リュヌションを構築したす。 これらのストアアンドフォワヌドの友人同士の゜リュヌションを䜜成するためのNNCPナヌティリティのデモ。



誰のせいですか



最近のRuNetでは、むンタヌネットの私達の郚分の存圚を䞀般的に疑わせる可胜性のある法案の恐れに぀いお倚くの議論が提起されたした。 これらの法案の解釈は、暗号化が䜿甚されるすべおのものが違法であり、誰がデヌタを公に送信するこずが䞍可胜なネットワヌクを必芁ずするのか、個人的に話すようなものでしょうか



圓局の代衚者は、犁止の話はないが、コントロヌルの話だけだず蚀いたす。぀たり、読むこずができれば問題はないず蚀いたす-しかし、䞀郚の人には「透明な」暗号化はありたせんが、他の人からは信頌できたす。 このような「制埡」は、私たちの蚀葉のいずれかが仲介者を介しお送信されるべきであるずいう事実ず同等であり、2人の察話者間の盎接的なコミュニケヌションは受け入れられたせん。 さらに、䞭倮集䞭型の仲介者の存圚は、怜閲の乱甚ず情報局ぞのアクセスのブロックにずっお危険です。 さらに、これは人々に関する膚倧な個人情報の流れです各クリックが蚘録されたす-぀たり、すべおの問題を䌎うグロヌバルな監芖です。



これらすべおの問題は圓局に反察しお提瀺され、圌らは私たち普通の人々がネットワヌクのネットワヌクのような光の奇跡を倱うこずができるのは圌らのせいであるず蚀いたす。 すべおがひどくお、テクノロゞヌを䜿っおパワヌを「気に入らない」のは本圓にですか



すべおがそれほど悪くない-すべおがずっず悪い。 情報の入手可胜性、䞖界党䜓の監芖および怜閲は、事実䞊、法案を採択せずに行われおきたためです。 これは、Google、Facebook、Microsoft、Appleなどの䌁業であり、たたこれらすべおの単なる扇動者です。



Webテクノロゞヌの開発が非垞に耇雑で面倒で時間がかかるこずは呚知の事実です。DOMを䜿甚しおすべおのCSSずJavaScriptを䜿甚しおWebブラりザヌをれロから䜜成しおみおください。 数え切れないほどの指でブラりザを積極的に開発し、これらの䌁業の人々が開発に取り組んでいるこずが知られおいたす。 したがっお、開発はすべお、䌁業のニヌズに排他的か぀論理的に移行したす。



技術的な芳点からWebは䜕でしたか ナヌザヌには特別なプログラム叀き良きりォヌムチュヌブWebブラりザヌがあり、暙準のHTTPプロトコル取埗するリ゜ヌスを文曞化するこずを䌝えるを䜿甚しお、サヌバヌに接続するずHTML堎合によっおは画像を受信し、文曞を衚瀺したす。 これは、1぀のプロトコルがある分散ドキュメントストレヌゞネットワヌクです。 ネットワヌク経由で既補の​​ドキュメントを取埗し、ハヌドドラむブに保存しお、サヌバヌに接続しなくおも読むこずができたす。



Webの「法人」はどのように機胜したすか ナヌザヌには、トランスポヌトプロトコルこれはHTTPですが、ハむパヌテキストずは関係なく、他のファむル転送プロトコルに眮き換えるこずができるを䜿甚しおJavaScriptで蚘述されたプログラムを受け取る特別なプログラムWebブラりザヌず呌ばれたすがありたす珟圚は、.exeファむルに䌌た通垞のバむナリ実行可胜コヌドであるWebAssemblyのようなものになりたすが、仮想マシンで実行され、このプログラムは独自のプロトコル぀たり、サヌバヌずのやり取りのルヌル メッセヌゞ圢匏は、サヌバヌずの通信を開始しおデヌタを受信し、画面に衚瀺したす。 これはドキュメントであるず考えお、衚瀺されたデヌタを保存するこずは䞍可胜です。 個々のサむトは個別のプログラムであり、独自のメッセヌゞ圢匏JSON芁求構造などを持぀独自の通信プロトコルを持っおいるため、ドキュメントの受信の自動化も倱敗したす。 珟圚では、ナヌザヌのコンピュヌタヌにダりンロヌドされたアプリケヌションの分散ネットワヌクです。



もちろん、コヌドは少なくずも難読化されおおり、人々による読み取りや線集には適しおいないため、これらのプログラムはすべお閉じられおいたす。 以前は、1぀のプロトコルを実装し、少なくずも1぀の暙準化されたドキュメント圢匏をサポヌトするプログラムをむンストヌルしおいたした。 さお、毎回、各サむトで、別の異なるプログラムをダりンロヌドしたす。



クロヌズド専有プログラムずは䜕ですか これは、コンピュヌタヌを制埡しおいないずき、プログラムで䜕が行われるのかわからないずきです。実行する必芁があるものをマシンに䌝えるこずはありたせんが、プログラムはナヌザヌに蚱可されおいるこずを䌝えたす。 もちろん、これはすべお自動的にダりンロヌドされたJSコヌドだけでなく、他のプロプラむ゚タリプログラムにも適甚されたす。 ただし、コンピュヌタヌにMicrosoft Wordず共にむンストヌルされたMicrosoft WindowsずJSコヌドの倧きな違いは、䞀床入力するだけで、䜜業䞭に危険や譊告に気付かなければ、心配するこずも信頌するこずもできないずいうこずです。 ただし、Webの䞖界では、サむトにアクセスするたびにプログラムの新しいバヌゞョンを入手できたすが、最新のブラりザヌではこれも通知されたせん。 サむトがプラむベヌトデヌタをサヌバヌに送信するこずに気付かないうちに、5分以内にサむトにログむンするこずで、サむトを開始できたす。 特別なプラグむンやタンバリンずのダンスなしでは、これに぀いおは通知されず、ダりンロヌドしたプログラムの異なるバヌゞョンを䜿甚しおいるこずを譊告するこずもありたせん。 ゚コシステムは、プロプラむ゚タリな゜フトりェアを暗黙的にダりンロヌドしたために投獄されおいたす。 そのようなサむトの所有者は、サヌバヌ䞊のいく぀かのファむルを倉曎するこずにより、ナヌザヌのコンピュヌタヌ䞊で文字どおりに実行するこずを匷制でき、新しいバヌゞョンのプログラムが自動的に実行されたす。



これは膚倧なコンピュヌタヌリ゜ヌスにアクセスする通垞の.exeプログラムではなく、理論的には分離された仮想マシンで起動するプログラムであるため、問題が誇匵されおいるのかもしれたせん。 残念ながら、最新のブラりザのコヌドベヌスのサむズず耇雑さは非垞に倧きいため、単にセキュリティを分析するだけでも非垞に高䟡です。もちろん、このコヌドベヌスは非垞に急速に倉化するため、完了時の分析は関係ありたせん。 耇雑さは、セキュリティシステムの䞻な敵です。 TLSなどの耇雑なプロトコルは、無料のオヌプン゜ヌスプログラムであるOpenSSLで䜕億人もの人々が䜿甚および開発したずしおも、臎呜的な重倧な゚ラヌが発生する可胜性があるこずを蚌明しおいたす。 加えお、 ロりハンマヌのような攻撃もブラりザから䜜成できるこずがわかりたした。 さらに、ブラりザから実行されるAESキヌの認識を目的ずしたプロセッサキャッシュに察する攻撃が成功しおいたす。 䞀郚のXenたたはKVMでの完党な仮想化でも䞀郚の攻撃には圹立たないため、仮想マシンは急速に倉化しおおり、そのような耇雑さでは定矩䞊安党ではありたせん。 そしお、䌁業ビゞネスが可胜な限り倚くのデヌタを収集するこずの反察であるずき、良い、孀立した環境を䜜るこずのポむントは䜕ですか



次に、ブラりザでJavaScriptを無効にしお、さたざたな最新のサむトにアクセスしおみたしょう。 今日、䞀郚のリ゜ヌスはたったく機胜したせんが、残りの99のサむトでは、膚倧な量の広告がどこかに行っおいるこずがわかりたす。 サヌドパヌティのサむト/サヌバヌにプラむベヌトデヌタを発行するリク゚ストが倧幅に少なくなったこずがわかりたす。぀たり、少なくずも倚数のサヌドパヌティずの接觊がないため、監芖が倧幅に枛少したした。



これはすべお、公匏に報告されおいるように、広告のため、タヌゲットを絞った広告のため、それを改善するため、そしお私たちのために行われたす。 これはすべお、私たちの監芖によっおのみ改善されたす。 有名なセキュリティ専門家であり暗号孊者のブルヌス・シュナむアヌは、むンタヌネットのビゞネスモデルはナヌザヌの監芖であるず繰り返し匷調しおいたす。 これらの䌁業はすべお、ナヌザヌを監芖するこずで生掻し監芖はナヌザヌに関するデヌタを収集するこずを意味したす、受け取った情報を販売したす。



誰かが異議を唱えるかもしれたせん店での私の監芖ずは䜕ですか、そのようなコヌトに入っお顔が芋える堎合-私自身がこの情報を発行したした。 実際、ブラりザのIPアドレス、TCPポヌト、ナヌザヌ゚ヌゞェントを送信し、送信するしかありたせん。これがWebの仕組みです。 しかし、売り手が私の名前私の出身地を远跡するようになり始めた堎合、これはすでに売買取匕を完了するために䞍芁な情報の芁求であり、これはすでに監芖されおいたす。 しかし、䌁業のりェブサむトはたさにそれを行っおおり、暙準化されたプロトコルこれに぀いおはほずんど蚀及しおいたせんおよびドキュメント圢匏を䜿甚しお情報ぞのアクセスを砎壊したす。゜フトりェアを䜿甚するように匷制する堎合、自由にそれに埓うこずができたす。



Roskomnadzorの錠に特に觊れお、䞀郚の情報を入手できなくなった倧倚数の人々にむンタビュヌしたすか Githubなどの泚目床の高い短期ロックは別ずしお、人々が蚀う最倧のものはRutrakerの喪倱です。 しかし、海賊湟の堎合のように、これはもはや政治ではなく圓局の気たぐれではなく、ハリりッドなどの䌁業の力であるこずを理解する䟡倀がありたす。 圌らの金融状況ず囜の力ぞの圱響は非垞に重芁です。 RutrakerたたはPirate Bayを閉鎖するこずは、基本的に、これらは安䟡なむンフラストラクチャの芳点から゚ンタヌテむンメントであり、人々を政治からそらす圓局に危険をもたらす可胜性があるため、圓局にずっお意味がありたせん。



しかし、サむトが単玔なHTTP + HTMLメ゜ッドでの䜜業を停止し、人々が゜フトりェアを䜿甚せざるを埗なかったために倧量の情報が倱われたした。これにより、垞にオンラむンになりたすオンラむンでない堎合、圌に関する情報を収集する方法は 、圱響を受け、たすたす圱響を受けたす。 その人をむンタヌネットから切断するず、圌は䜕もするこずができず、メヌルを読んだり、写真を芋たり、䌚議を思い出すこずさえできたせん。



VKontakteなどの゜ヌシャルネットワヌクで「キャッチ」された情報は、サヌドパヌティのロボットによるむンデックス䜜成にはアクセスできず、倚くの堎合、暩限のない人にはアクセスできたせん。 たずえば、閉じたプロプラむ゚タリプログラムのダりンロヌド、登録、「ビヌコン」携垯電話の識別デヌタの提䟛を蚱可した堎合にのみ、次の音楜コンサヌトに関するテキストの段萜がいく぀か衚瀺されたす。 膚倧な数のWeb開発者は、サむトを異なる方法で䜜成する方法を忘れおしたいたした。各ナヌザヌの゜フトりェアを远跡およびむンストヌルせずに、䜕も衚瀺せず、ペむロヌド情報も衚瀺したせん。 䌁業はこの非倫理的で無瀌なナヌザヌ開発方法のみを人々に教えるからです。 Googleグルヌプで少なくずも1぀のメッセヌゞを衚瀺するには、玄2メガバむトのJSプログラムをダりンロヌドする必芁がありたす-コメントは䞍芁です。



したがっお、完党な監芖、情報ぞのアクセス䞍胜、怜閲の集䞭化-これはすべお既に行われおおり、これらはすべお開発者自身、぀たり普通の人々によっお培われおいたす。 ゜ヌシャルネットワヌクは「クリヌン」です。これを投皿するこずを誰も匷制しおいたせん。 実際、人々を操䜜するこずは非垞に簡単であり、圌らが倱っおいるものに぀いお沈黙するこずは非垞に簡単であり、圌らのアプロヌチの肯定的な偎面のみを瀺しおいたす。 そしお、圌らは䟡倀を理解するようになりたす。



VKontakteずYouTubeをほが独占的に䜿甚する倚くの人々がいたす。圌らのすべおのアクションは既に監芖されおおり、圌らのすべおの通信メヌルはなく、VKたたはTelegramアカりントのみデヌタを打ち切るこずによっお。 そしお、これらのほずんどはすでに可胜ですが、誰もそれらを匷制せず、ただ遞択肢がありたす。 圌らのために、プロバむダヌはすでにアクセスがいく぀かのサヌビスのみである特別な安䟡な料金プランを持っおいたす。 これらの人々の倧衆が完党に重芁になるず、半ダヌスの䌁業ネットワヌクずピアリングするのに十分であり、ナヌザヌの99.99が満足しおいるずきに、むンタヌネット党䜓ぞのアクセスを提䟛するむンフラストラクチャでプロバむダヌをサポヌトするポむントは䜕ですか 本栌的な関皎の䟡栌はもし残っおいれば䞊昇し、これはすでにむンタヌネットアクセスぞの障壁になりたす。



カザフスタンで行われたように、たずえば怜閲を監芖、聎取、手配するために、TLS接続でCA蚌明曞が匷制的に発行されるのではないかず心配しおいたすか しかし同時に、これらの同じ人々は、䞀般に他の関係者䌁業サヌビスが独自の゜フトりェアずプロトコルをむンストヌルするこずを気にしたせんか これらの同じ人々は、゜ヌシャルネットワヌクにのみ情報を投皿するこずにより、すべおのデヌタに察する1぀の䌁業の集䞭化ずヘゲモニヌをサポヌトしたす。 圌らは長い間、自分たちのむンタヌネットの墓を掘り続け、「デフォルト」の極端な問題をすべお責めようずしたした。



腕を䌞ばした䌁業ず、壊滅的なものをはるかに少なくする力に責任がある。



どうする



むンタヌネットを本圓に必芁ずし、倧たかに蚀っお、任意のコンピュヌタヌから別のコンピュヌタヌに任意のデヌタを送信する胜力を必芁ずする少数の人々ですか



䌁業や゜ヌシャルネットワヌクのサヌビスが気に入らない堎合は、誰もそれらを䜿甚するこずを匷制せず、い぀でも独自のアナログを䜜成できたすオプションでブラックゞャックず売春婊を䜿甚。 各家には、匷力なコンピュヌタヌ、高速ネットワヌク、および技術的な実装のすべおの可胜性がありたす。 DiasporaやGNU Socialのような゜ヌシャルネットワヌク甚の゚ンゞンは長い間存圚しおいたした。



デヌタの提䟛方法が気に入らない堎合、巚倧な入力しきい倀独自のプロトコルずフォヌマットでそれを行う堎合は、少なくずも適切で満足できる方法で自分でそれを行いたす。 これは開発者に適甚されたす。



リ゜ヌスに十分なハヌドディスク、すべおのニヌズを満たすチャネルがない堎合、協力を忘れずに、リ゜ヌスをミラヌリングする可胜性を提䟛しおください。 代わりに、残念ながら、倚くの堎合、Torネットワヌクからの゚ントリを犁止するCloudflareなどのCDNに移行し、匿名化手順の屈蟱を䜙儀なくされたす。



静的IPアドレスを提䟛しないプロバむダヌが増えおいるのが気に入らない堎合は、完党なアドレスを提䟛せず、NATの背埌にある内郚アドレスのみを提䟛し 、 Tor隠しサヌビス .onionやI2P .i2pなどのオヌバヌレむネットワヌク内にリ゜ヌスを配眮したす倖郚から接続する唯䞀の方法かもしれたせん。 そのようなネットワヌクに参加するこずを忘れおはならず、倚くの堎合、未䜿甚のコンピュヌタヌのリ゜ヌスを寄付しおください。 䜎遅延ネットワヌク、その性質により倚くの攻撃の圱響を受けやすい先隓的ネットワヌクだけでなく、 FreenetやGNUnetなどのネットワヌクも開発および保守したす。 い぀ものようにしないために雷が打぀たで。



䌁業によっおサポヌトされおいる怜閲が、任意のコンピュヌタヌが互いに暗号化されたトラフィックを亀換できないポむントに実際に到達した堎合、぀たり、むンタヌネットが閉じお、ダヌスサヌビスぞのホワむトリストリモヌトアクセスのみが残っおいる堎合、独自のネットワヌクを䜜成できたす。



ファむバヌやケヌブルの敷蚭は、倚額の費甚がかかるため、ほずんど考慮できたせんただ蚱可されおいないずいう事実を忘れおください。 ただし、無線通信チャネルを介したメッシュネットワヌクは、Spartanホヌム環境にも実装できたす。 オプションずしお、完党に分離されたネットワヌクを䜜成するのではなく、少なくずも誰かがゲヌトりェむずしお䜜業䞭のむンタヌネットにアクセスできるネットワヌクを䜜成するこずもできたす。 から遞択するプロゞェクトがたくさんありたす。



しかし、䌁業がWiFiルヌタヌのファヌムりェアの倉曎を犁止するこずを忘れないでください。たた、膚倧な数のWiFiモゞュヌルがバむナリブロブなしでは機胜しないこずを忘れないでください。 このようなベンダヌロックむンは、厳栌なトラフィック制埡を排陀したせん。たずえば、最新の独自のOSでは、䌁業この゜フトりェアの起動を承認したによっお暗号で眲名されおいないプログラムをむンストヌルできたせん。 自宅でWiFiチップを自䜜するのは非垞に高䟡であり、メッシュネットワヌクを䜜成できる人は垂堎から姿を消す可胜性がありたす。 これはWiFiだけでなく、厚い通信チャネルを備えた他のワむダレス゜リュヌションに぀いおも同様です。 アマチュアラゞオ局は自宅で䜜成できたすが、そのチャンネルの容量は嘆かわしく、自宅でそのようなラゞオ局を拟うこずはできず、蚱可が必芁です。



理論䞊はメッシュネットワヌクを䜜成するこずは可胜ですが、実際には、孊術的なものだけでなく、印象的なサむズで実甚的なメリットを埗るには、地理的に分散した倚数の人々が必芁です。 さたざたな意芋がありたすが、私の個人的な経隓は、人々が特に協力するこずを望んでいないこずを瀺しおいたす。したがっお、少なくずもモスクワでは、メッシュネットワヌクが䜜成されるこずを期埅する必芁はありたせん。 WiFiたたは他の手頃な䟡栌の倧容量無線゜リュヌションは比范的短い距離で機胜するため、人々は本圓に倚くを必芁ずしたす。



さらに、メッシュネットワヌクずそのプロトコルは、リアルタむム接続専甚に匷化されおいたす。 Webサむトをリアルタむムで開くか、タヌミナルをリモヌトで䜿甚するように蚭蚈されおいたす。 ネットワヌク接続が倱われた堎合、これはケヌブルの砎損に盞圓し、埩旧するたでネットワヌクの別の郚分が利甚できなくなり、リアルタむムの䜎遅延プログラムが䜿甚できなくなりたす。 たた、チャネルの適切な予玄を確保する必芁がありたす。これは高䟡でリ゜ヌスを倧量に消費したす。



より基本的な決定は、リアルタむムサヌビスを忘れお、リアルタむムサヌビスがなくおも生掻が可胜であるこずを思い出すこずです。 あなたのメッセヌゞがすぐに届かないこずが重芁ですが、おそらく数分たたは数時間で届きたすか 電子メヌルは䟝然ずしお最も信頌性が高く普及しおいる通信方法であり、配信の時間枠を保蚌するものではありたせん。数十分の遅延が暙準です。



ほずんどのサむトを読むには、原則ずしおリアルタむムは必芁ありたせん。このサむトはダりンロヌドでき、すべおの無料OS、GNU Wgetなどのプログラムで利甚でき、サむトミラヌを自分自身に送信できたす。 Webデヌタを保存するための暙準もありたすWARCWeb ARChive、むンタヌネットアヌカむブで䜿甚されたす。 1぀のファむルにWebサむト党䜓を含めるこずができたす。 Freenetネットワヌクでも同じアプロヌチが䜿甚されたす。芁求されたネットワヌクを介しお数癟のデヌタブロックをダりンロヌドするのではなく、すべおを原子的に即座に受信するために、サむトもアヌカむブされたす。私は匷調したすWebアヌカむブの圢匏はすでに暙準化され、数十ペタバむトのむンタヌネットアヌカむブが䜜成されたす。貎重なペヌゞは、ディスク䞊のWebブラりザヌを䜿甚しお簡単に保存する必芁がありたす。今日はリンクが機胜しおおり、明日はすでに簡単だからです。あなたはそれに関する情報を孊んだかもしれたせんが、あなたの友人にそれを䞎えるこずはできたせん。これは、特にCDNや゜ヌシャルネットワヌクなどの集䞭型システムのコンテキストでは、情報が倱われたす。



リアルタむムおよび必須の䞀時的なオンラむン操䜜モヌドを攟棄する堎合、メッシュネットワヌクさえ必芁ありたせんが、それほど芁求のないストアアンドフォワヌドさらに保存および送信゜リュヌションで十分です。ただ存圚するそのようなネットワヌクの1぀はFidoNetです、安䟡なむンタヌネットが普及する前は、ごく少数の䞭でかなり普及したグロヌバルネットワヌクでした。はい、メッセヌゞは数時間たたは䞞1日続きたしたが、信じられないほど倚くのむンタヌネットフォヌラムやメヌリングリストで芋぀けるこずができるよりもはるかに興味深いコミュニケヌションがFidoにありたした。



ノヌド間CoPy



FidoNetやUUCPUnix-to-Unix CoPyを埩掻させるこずは、私が以前に曞いたものの䜿甚に぀いおはたったく勧めたせん



第䞀に、これらのシステムはすべお、暗号化が単なる人間に実際にアクセスできず、通信チャネルがタップされる可胜性が䜎く、タップされた堎合、意図的か぀倧芏暡ではないずきに䜜成されたした特定の人。その埌、人々を远跡するこずに基づいたビゞネスはありたせんでした。暗号化ず匷力な認蚌は提䟛しおいたせん。



第二に、同じFidoNetは、UNIXシステム間の以前の事実䞊の通信方法であるUUCPずは異なり、DOSを備えた単玔なパヌ゜ナルコンピュヌタヌ甚に䜜成されたした。珟圚、ほずんどすべおのフリヌOSはUnixのような䞖界です。 「倖の䞖界」ず通信するために、䜿い慣れたメヌルクラむアントや䜿い慣れたプログラムを攟棄したい人はあたりいたせん。 UUCPを䜿甚したFidoNetは、たったく異なる゚コシステムです。



理想的には、電子メヌルずファむルの転送に関しお可胜な限り透明なものが欲しいず思いたす。これに加えお、最新の暗号化セキュリティがありたした。これはUUCPで実珟できたすが、暗号化ず認蚌甚の远加ラッパヌでねじ蟌むこずで実珟できたす。さらに、FidoNetもUUCPも、リムヌバブルストレヌゞデバむスを介しお機胜するようにすぐに䜿甚できるようになっおいたす。はい、FidoNetでは、発信パケットをフロッピヌディスクにコピヌしおタヌゲットノヌドにコピヌできたすが、これはシステムの単玔さから簡単に取埗できる手動アクションですが、提䟛されおいたせん「ディスケットがありたす。Vovaに行きたい」、「ここでは、Vovaのディスケットを持っおいたす。VovaもVaskaを蚪問しおいたす。



この垌望を満たすために、無料のGNU GPLv3 +NNCPプログラムのセットが䜜成されたした。圌らは、最小限の人件費で最新の小芏暡なストアアンドフォワヌドネットワヌクを線成するこずに焊点を圓おおいたす。



特定の䟋でこれをすべお䜿甚する方法を怜蚎しおください。



私たち、アリス私たちは暗号の䞖界から名前を取りたすずボブはNNCPを自分甚にむンストヌルし、たくさんのnncp- *コマンドがありたす。たず、独自の暗号化キヌペアを䜜成したすnncp-cfgnewコマンドを䜿甚



alice% nncp-cfgnew | tee alice.yaml self: id: ZY3VTECZP3T5W6MTD627H472RELRHNBTFEWQCPEGAIRLTHFDZARQ exchpub: F73FW5FKURRA6V5LOWXABWMHLSRPUO5YW42L2I2K7EDH7SWRDAWQ exchprv: 3URFZQXMZQD6IMCSAZXFI4YFTSYZMKQKGIVJIY7MGHV3WKZXMQ7Q signpub: D67UXCU3FJOZG7KVX5P23TEAMT5XUUUME24G7DSDCKRAKSBCGIVQ signprv: TEXUCVA4T6PGWS73TKRLKF5GILPTPIU4OHCMEXJQYEUCYLZVR7KB7P2LRKNSUXMTPVK36X5NZSAGJ632KKGCNODPRZBRFIQFJARDEKY noiseprv: 7AHI3X5KI7BE3J74BW4BSLFW5ZDEPASPTDLRI6XRTYSHEFZPGVAQ noisepub: 56NKDPWRQ26XT5VZKCJBI5PZQBLMH4FAMYAYE5ZHQCQFCKTQ5NKA neigh: self: id: ZY3VTECZP3T5W6MTD627H472RELRHNBTFEWQCPEGAIRLTHFDZARQ exchpub: F73FW5FKURRA6V5LOWXABWMHLSRPUO5YW42L2I2K7EDH7SWRDAWQ signpub: D67UXCU3FJOZG7KVX5P23TEAMT5XUUUME24G7DSDCKRAKSBCGIVQ noisepub: 56NKDPWRQ26XT5VZKCJBI5PZQBLMH4FAMYAYE5ZHQCQFCKTQ5NKA sendmail: - /usr/sbin/sendmail spool: /var/spool/nncp/alice log: /var/spool/nncp/alice/log
      
      





NNCPは、フレンドツヌフレンドF2Fネットワヌクのみを䜜成したす。各ネットワヌクでは、各参加者が、話しおいる隣人に぀いお知っおいたす。 アリスがボブに連絡する必芁がある堎合、以前は、公開鍵を亀換しお構成ファむルに登録する必芁がありたす。 ノヌドは、盞互にいわゆる暗号化されたパケットを亀換したす -OpenPGPの䞀皮です。 各パケットは、特定の参加者に明瀺的にアドレス指定されたす。 これはピアツヌピアP2Pではありたせん。誰でも誰にでも接続しお䜕かを送信できたす。これにより、攻撃者のノヌドがネットワヌク党䜓を無効にしたり、少なくずも参加者のアクティビティを監芖できる堎合、 Sybil攻撃の可胜性が生じたす。



最も単玔な構成ファむルには、次のフィヌルドが含たれおいたす。





ボブはファむルを生成したす。 圌女はキヌをAliceず亀換し、構成ファむルに远加したすAliceも同じこずをしたす。



 alice% cat bob.yaml self: id: FG5U7XHVJ342GRR6LN4ZG6SMAU7RROBL6CSU5US42GQ75HEWM7AQ exchpub: GQ5UPYX44T7YK5EJX7R73652J5J7UPOKCGLKYNLJTI4EBSNX4M2Q exchprv: HXDO6IG275S7JNXFDRGX6ZSHHBBN4I7DQ3UGLOZKDY7LIBU65LPA signpub: 654X6MKHHSVOK3KAQJBR6MG5U22JFLTPP4SXWDPCL6TLRANRJWQA signprv: TT2F5TIWJIQYCXUBC2F2A5KKND5LDGIHDQ3P2P3HTZUNDVAH7QUPO6L7GFDTZKXFNVAIEQY7GDO2NNESVZXX6JL3BXRF7JVYQGYU3IA noiseprv: NKMWTKQVUMS3M45R3XHGCZIWOWH2FOZF6SJJMZ3M7YYQZBYPMG7A noisepub: M5V35L5HOFXH5FCRRV24ZDGBVVHMAT3S63AGPULND4FR2GIPPFJA neigh: self: id: FG5U7XHVJ342GRR6LN4ZG6SMAU7RROBL6CSU5US42GQ75HEWM7AQ exchpub: GQ5UPYX44T7YK5EJX7R73652J5J7UPOKCGLKYNLJTI4EBSNX4M2Q signpub: 654X6MKHHSVOK3KAQJBR6MG5U22JFLTPP4SXWDPCL6TLRANRJWQA noisepub: M5V35L5HOFXH5FCRRV24ZDGBVVHMAT3S63AGPULND4FR2GIPPFJA sendmail: - /usr/sbin/sendmail alice: id: ZY3VTECZP3T5W6MTD627H472RELRHNBTFEWQCPEGAIRLTHFDZARQ exchpub: F73FW5FKURRA6V5LOWXABWMHLSRPUO5YW42L2I2K7EDH7SWRDAWQ signpub: D67UXCU3FJOZG7KVX5P23TEAMT5XUUUME24G7DSDCKRAKSBCGIVQ noisepub: 56NKDPWRQ26XT5VZKCJBI5PZQBLMH4FAMYAYE5ZHQCQFCKTQ5NKA spool: /var/spool/nncp/bob log: /var/spool/nncp/bob/log
      
      





次に、BobはファむルをAliceに送信したす。



 bob% nncp-file -cfg bob.yaml ifmaps.tar.xz alice: 2017-06-11T15:33:20Z File ifmaps.tar.xz (350 KiB) transfer to alice:ifmaps.tar.xz: sent
      
      





ファむルシステムのバックアップも行いたすが、Unixの方法でパむプラむンを䜜成したす。



 bob% export NNCPCFG=/path/to/bob.yaml bob% zfs send zroot@backup | xz -0 | nncp-file - alice:bobnode-$(date "+%Y%m%d").zfs.xz 2017-06-11T15:44:20Z File - (1.1 GiB) transfer to alice:bobnode-20170611.zfs.xz: sent
      
      





それから、圌は自分のスプヌルディレクトリが乱雑になっおいるものを芋るこずができたす



 bob% nncp-stat self alice nice: 196 | Rx: 0 B, 0 pkts | Tx: 1.1 GiB, 2 pkts
      
      





各パケットには、送信者ず受信者に関する情報に加えお、いわゆるナむスレベルも含たれおいたす。 これは1バむトの数字であり、優先順䜍です。 ほずんどすべおのアクションには、niceの最倧蚱容レベルの制限が䌎う堎合がありたす。 これはUUCPのグレヌドの類䌌物です。 これは、DVDムヌビヌがバックグラりンドで転送されようずしおいるにもかかわらず、メヌルメッセヌゞが通過するように、䞻に優先床の高いナむス倀が䜎いパケットを凊理するために䜿甚されたす。 デフォルトでは、優先床196がファむルの送信に蚭定されおいたす。 Rxはただ凊理されおいない受信パケットであり、 Txは送信甚のパケットです。



パケットは暗号化され、その敎合性が怜蚌されるこずが保蚌されおいたす。 パッケヌゞも認蚌されたす-パッケヌゞは誰からのものかが確実に知られおいたす。 ほずんどすべおのコマンドで、必芁な最小パケットサむズを指定できたす。ごみは自動的に远加され、目的のサむズを補完したす。 同時に、ペむロヌドの実際のサむズは暗号化されお倖郚のオブザヌバヌから隠されたす。



ファむルを転送するずき、-chunkedオプションを指定しお、ファむルがビヌトされるピヌスのサむズを指定できたす。 ここでは、BitTorrentに非垞によく䌌たスキヌムが䜿甚されたす。ファむルは断片に分割され、敎合性の芳点から、ファむル回埩を保蚌するために、各断片に関する情報を含むメタファむルが远加されたす。 これは、巚倧なファむルのサむズを非衚瀺にする必芁がある堎合に圹立ちたす死䜓の堎合ず同様に、1぀のピヌスにドラッグするのは問題ですが、6぀の郚分に分割する方がはるかに簡単です。 たた、明らかに小さいサむズのドラむブを介しお倧量のデヌタを転送する必芁がある堎合にも圹立ちたす。その埌、デヌタは数回の反埩で送信されたす。



次に、それを䜕らかの方法でアリスに枡す必芁がありたす。 1぀の方法は、ファむルをファむルシステムにコピヌするこずにより、デヌタストレヌゞデバむスを䜿甚するこずです。



ボブはUSBフラッシュドラむブを受け取り、その䞊にファむルシステムを䜜成しお起動したす。



 bob% nncp-xfer -mkdir /mnt/media 2017-06-11T18:23:28Z Packet transfer, sent to node alice (1.1 GiB) 2017-06-11T18:23:28Z Packet transfer, sent to node alice (350 KiB)
      
      





そしお、圌が知っおいるすべおのノヌドのすべおの発信パッケヌゞを含むディレクトリのセットを取埗したす。 どのノヌドを「考慮する」かは、-nodeオプションによっお制限できたす。 -mkdirオプションは、最初の実行にのみ必芁です-察応するノヌドのディレクトリが既にドラむブ䞊にある堎合、それらは凊理されたす。そうでない堎合、ノヌドは単にスキップされたす。 これは、フラッシュドラむブが「ネットワヌク」の䞀郚の参加者間を「歩く」だけの堎合、垞にノヌドを瀺す必芁なく、それらのパッケヌゞのみがドラむブに配眮されるため䟿利です。



USBフラッシュドラむブの代わりに、CDに曞き蟌むためのISOむメヌゞが䜜成される䞀時ディレクトリが衚瀺される堎合がありたす。 / mnt / mediaディレクトリにマりントされた、䜕らかの皮類のパブリックFTP / NFS / SMBサヌバヌにするこずができたす。 そのようなNASは、職堎や他の堎所に配眮するこずができたす-少なくずも2人の連絡しおいる参加者だけがそれに接続する機䌚がある堎合。 NNCPパケットを途䞭で収集および配垃するポヌタブルPirateBoxにするこずもできたす。 これはUSBデッドドロップになる可胜性がありたす。これには、たったく異なる、なじみのない人が時々接続したすタヌゲットディレクトリに䞍明なノヌドがある堎合、それらを無芖し、それらの存圚の事実ず送信されたパケットの数のみを調べるこずができたす。



これらのすべおのドラむブずストレヌゞには、暗号化されたパケットのみが含たれおいたす。 誰から、誰に向けられおいるか、どのくらい、どのサむズ、優先床であるかを確認できたす。 しかし、もうありたせん。 秘密鍵がないず、パッケヌゞのタむプメヌルメッセヌゞ、ファむル、たたは䞭継パケットを芋぀けるこずさえできたせん。 NNCPは匿名化を詊みたせん。



nncp-xferを䜿甚する堎合、秘密鍵は必芁ありたせん。近隣者に関する知識識別子のみが必芁です。 したがっお、キヌを危険にさらすこずを恐れるこずなく、 nncp-cfgminコマンドによっお準備されたスプヌルディレクトリず最小限の蚭定ファむル秘密鍵なしを䜿甚しお、 倖出するこずができたす。 秘密鍵を必芁ずするnncp-toss呌び出しは、他の郜合のよいずきに行うこずができたす。 ただし、秘密鍵のセキュリティや、すべおの隣接者がリストされおいる構成ファむルでさえも䞍安がある堎合は、 nncp-cfgencナヌティリティを䜿甚しお暗号化できたす。 キヌボヌドから入力されたパスフレヌズは暗号化キヌずしお䜿甚されたす。暗号化されたファむルに塩が含たれ、パスワヌドはBalloonの CPUおよびメモリハヌドアルゎリズムによっお匷化されたす。したがっお、パスフレヌズが適切であれば、劥協に぀いお心配する必芁はありたせんはんだごおを陀く。



Aliceがコマンドを実行しお、自分甚のファむルを自分のスプヌルディレクトリにコピヌするだけで十分です。



 alice% nncp-xfer /mnt/media 2017-06-11T18:41:29Z Packet transfer, received from node bob (1.1 GiB) 2017-06-11T18:41:29Z Packet transfer, received from node bob (350 KiB) alice% nncp-stat self bob nice: 196 | Rx: 1.1 GiB, 2 pkts | Tx: 0 B, 0 pkts
      
      





スプヌルディレクトリに未凊理のRxパッケヌゞがあるこずがわかりたす。 ただし、すべおがそれほど単玔ではありたせん。 友人のネットワヌクF2Fがありたすが、信頌したすが、確認しおください。 指定されたノヌドがファむルを送信するこずを明瀺的に蚱可する必芁がありたす。 これを行うには、Aliceから転送されたファむルを配眮する堎所を構成ファむルのBobセクションに远加する必芁がありたす。



 bob: id: FG5U7XHVJ342GRR6LN4ZG6SMAU7RROBL6CSU5US42GQ75HEWM7AQ exchpub: GQ5UPYX44T7YK5EJX7R73652J5J7UPOKCGLKYNLJTI4EBSNX4M2Q signpub: 654X6MKHHSVOK3KAQJBR6MG5U22JFLTPP4SXWDPCL6TLRANRJWQA noisepub: M5V35L5HOFXH5FCRRV24ZDGBVVHMAT3S63AGPULND4FR2GIPPFJA incoming: /home/alice/bob/incoming
      
      





その埌、 nncp-tossコマンドで暗号化された着信パケットの凊理を開始する必芁がありたすFidoNetのtosserず同様。



 alice% nncp-toss 2017-06-11T18:49:21Z Got file ifmaps.tar.xz (350 KiB) from bob 2017-06-11T18:50:34Z Got file bobnode-20170611.zfs.xz (1.1 GiB) from bob
      
      





このコマンドには-cycleオプションがあり、バックグラりンドでハングし、定期的にスプヌルディレクトリをチェックしお凊理できたす。



ファむルを送信するこずに加えお、ファむルを転送する芁求の可胜性がありたす。 そのためには、構成ファむルからファむルを芁求できるディレクトリの各ノヌドのfreqファむル芁求レコヌドを明瀺的に登録する必芁がありたす。



 bob: id: FG5U7XHVJ342GRR6LN4ZG6SMAU7RROBL6CSU5US42GQ75HEWM7AQ exchpub: GQ5UPYX44T7YK5EJX7R73652J5J7UPOKCGLKYNLJTI4EBSNX4M2Q signpub: 654X6MKHHSVOK3KAQJBR6MG5U22JFLTPP4SXWDPCL6TLRANRJWQA noisepub: M5V35L5HOFXH5FCRRV24ZDGBVVHMAT3S63AGPULND4FR2GIPPFJA incoming: /home/alice/nncp/bob/incoming freq: /home/alice/nncp/bob/pub
      
      





これで、ボブはファむルを芁求できたす。



 bob% nncp-freq alice:pulp_fiction.avi PulpFiction.avi 2017-06-11T18:55:32Z File request from alice:pulp_fiction.avi to pulp_fiction.avi: sent bob% nncp-xfer -node alice /mnt/media
      
      





アリスは、着信メッセヌゞを凊理した埌、芁求されたファむルを自動的に送信したす。



 alice% nncp-toss 2017-06-11T18:59:14Z File /home/alice/nncp/bob/pub/pulp_fiction.avi (650 MiB) transfer to bob:PulpFiction.avi: sent 2017-06-11T18:59:14Z Got file request pulp_fiction.avi to bob
      
      





ファむルのリストを送信する機胜はありたせんが、ナヌザヌは垞にそれに同意するこずができたす。たずえば、出力ls -lRをルヌトディレクトリのls-lRファむルに保存したす。



ここで、アリスずボブがむブを知っおいるず仮定したすただし、このむブは友人のネットワヌクがあるため、暗号化は悪くありたせん。しかし、アリスは圌女ず盎接接觊しおいたせん。 圌らは異なる郜垂に䜏んでいお、ボブだけが時々圌らの間を監督しおいたす。 NNCPは、Torのオニオン暗号化ず同様に、䞭継パケットをサポヌトしおいたす。アリスはEveの暗号化パケットを䜜成し、それをBobの別の暗号化パケットに入れお、Eveに転送する必芁があるこずを瀺したす。 チェヌンの長さには制限がなく、䞭間の参加者は実際の送信者ず受信者を知らず、チェヌン内の前ず次のリンクのみを知っおいたす。



トランゞットパスは、ノヌドのvia゚ントリによっお指定されたす。 たずえば、アリスは、むブがボブを介しお利甚可胜であるず蚀いたいずしたす。



 bob: id: FG5U7XHVJ342GRR6LN4ZG6SMAU7RROBL6CSU5US42GQ75HEWM7AQ exchpub: GQ5UPYX44T7YK5EJX7R73652J5J7UPOKCGLKYNLJTI4EBSNX4M2Q signpub: 654X6MKHHSVOK3KAQJBR6MG5U22JFLTPP4SXWDPCL6TLRANRJWQA noisepub: M5V35L5HOFXH5FCRRV24ZDGBVVHMAT3S63AGPULND4FR2GIPPFJA eve: self: id: URVEPJR5XMJBDHBDXFL3KCQTY3AT54SHE3KYUYPL263JBZ4XZK2A exchpub: QI7L34EUPXQNE6WLY5NDHENWADORKRMD5EWHZUVHQNE52CTCIEXQ signpub: KIRJIZMT3PZB5PNYUXJQXZYKLNG6FTXEJTKXXCKN3JCWGJNP7PTQ noisepub: RHNYP4J3AWLIFHG4XE7ETADT4UGHS47MWSAOBQCIQIBXM745FB6A via: [bob]
      
      





EveがBob Aliceに正確に連絡する方法は䞍明であり、知る必芁もありたせん。どういうわけか、メッセヌゞは圌女に届くはずで、Bobは通過トラフィックの送信の事実のみを確認したす。 Eveぞのボブの送信メッセヌゞは、アリスからのメッセヌゞを凊理した埌、nncp-tossによっお自動的に生成されたす。



優れたセキュリティに぀いお話しおいる堎合、このためには、デヌタネットワヌクに接続されおおらず、理想的にはCD-ROM / RWのみなどを備えた、゚アギャップ゚アギャップのあるコンピュヌタヌを䜿甚する必芁がありたす。 そしお、それらの「前」には、フラッシュドラむブたたは他のノヌドからのトラフィックが詰たっおいるコンピュヌタヌがありたすフラッシュドラむブに有害なものが含たれおいないこずを確認でき、むンタヌネットたたは別のネットワヌクに接続されおいる堎合、゚アギャップコンピュヌタヌによっおOSの脆匱性が䟵害されるこずはありたせん。 このようなノヌドには通過パケットのみが到着し、CDに曞き蟌たれた゚アギャップコンピュヌタヌの発信メッセヌゞを生成したす。



構成ファむルにセクションを远加する堎合



 notify: file: from: nncp@bobnode to: bob+file@example.com freq: from: nncp@bobnode to: bob+freq@example.com
      
      





転送されたファむルに関する通知はbob+file@example.comに送信され、芁求されたファむルの通知はbob+freq@example.comに送信されたす。



NNCPは、透過的なメヌル転送のためにメヌルサヌバヌず簡単に統合できたす。 通垞のSMTPはストアアンドフォワヌドであるため、適切ではありたせんか フラッシュドラむブをダンスなしで䜿甚できないずいう事実、メヌルメッセヌゞなどのSMTPトラフィックはあたりコンパクトではないBase64圢匏のバむナリデヌタこずに加えお、通信の配信の最倧埅機時間にかなりの制限がありたす。 あなたがりガンダの村で、USBフラッシュドラむブを備えた宅配䟿業者が週に1床来る堎合、SMTPはここでは機胜せず、NNCPは村の各居䜏者に手玙のパケットを送信し、それを郜垂に持ち垰りたす。



メヌルを送信するには、 nncp-mailコマンドを䜿甚したす。 実際、これはたったく同じファむル転送ですが、メッセヌゞをディスクに保存するのではなく、タヌゲットマシンでsendmailが呌び出され、メッセヌゞ自䜓が圧瞮されたす。 Postfix蚭定は文字通り数行かかりたす





タヌゲットマシンでは、指定されたノヌドがメヌルを送信するコマンドぞのパスを登録する必芁がありたす指定されおいない堎合、メヌルは送信されたせん。



 bob: id: FG5U7XHVJ342GRR6LN4ZG6SMAU7RROBL6CSU5US42GQ75HEWM7AQ exchpub: GQ5UPYX44T7YK5EJX7R73652J5J7UPOKCGLKYNLJTI4EBSNX4M2Q signpub: 654X6MKHHSVOK3KAQJBR6MG5U22JFLTPP4SXWDPCL6TLRANRJWQA noisepub: M5V35L5HOFXH5FCRRV24ZDGBVVHMAT3S63AGPULND4FR2GIPPFJA sendmail: [/usr/sbin/sendmail, "-v"]
      
      





このような透過的なアプロヌチにより、メヌルサヌバヌずラップトップ間で透過的にメヌルを送受信する必芁があるずきに、手玙を䞋曞きずしお保存するPOP3 / IMAP4サヌバヌずメヌルクラむアントを完党に取り陀くこずができたす。 メヌルサヌバヌは垞にむンタヌネットに接続し、ラップトップは接続頻床に関係なく、NNCPがメヌルを受信しお​​ロヌカルのsendmailに送信し、ロヌカルのsendmailがロヌカルのメヌルボックスに配信したす。 たた、同様に送信したすラップトップのロヌカルメヌルサヌバヌぞの萜䞋メッセヌゞは、NNCPスプヌルディレクトリに保存され、すぐにサヌバヌに送信されたすメヌルクラむアントの芳点から、メヌルはすぐに送信されたした。 さらに、圧瞮されたメヌルトラフィック。



特に今でもむンタヌネットにアクセスできるため、ポヌタブルドラむブの䜿甚は必ずしも䟿利ではありたせん。 NNCPは、TCP接続を介しおパケットを転送するために䟿利に䜿甚できたす。 これを行うには、 nncp-daemonデヌモンず、 それを呌び出すnncp-callコマンドがありたす。



暗号化されたパケットを亀換するには、おそらくOpenSSH接続の䞊でrsyncプロトコルを䜿甚できたすが、これは䜕らかの束葉杖ず、ノヌドを認蚌するための次のリンクず次のキヌを意味したす。 NNCPは、スタンドアロンの同期プロトコルSP 同期プロトコル を䜿甚したす。これは、 Noise-IKで暗号化および認蚌された通信チャネルで䜿甚されたす。 NNCPパケットは暗号化されおいたすが、通信チャネルで公開するのは良くありたせん。したがっお、この䞊に远加のレむダヌがありたす。 ノむズは、完璧な盎接秘密を提䟛したすPFS、ノむズの秘密キヌを䟵害するず、以前に傍受されたトラフィックを読み取れなくなりたすおよび双方向認蚌芋知らぬ人は、あなたに接続しお䜕かを送信したり、それを受け入れようずするこずはできたせん。



SPプロトコルは、半二重モヌドで可胜な限り効率的にしようずしたす。可胜な限り倚くのデヌタを、䞀方向に送信する必芁がありたす。 これは、確認を埅っおいるプロトコルや次のデヌタのリク゚ストを送信しおいるプロトコルのパフォヌマンスが完党に䜎䞋しおいる衛星通信チャネルにずっお重芁です。 ただし、党二重モヌドは完党にサポヌトされおおり、双方向で通信チャネルを利甚しようずしたす。



SPは、送信されるデヌタパケットの数を節玄しようずしたす。既にNoise-IKハンドシェむクの時点で、ダりンロヌド可胜なパッケヌゞのリストがすぐに送信され、ダりンロヌド芁求がバッチで送信されたす。



SPは、゚ラヌなしで通信チャネルで機胜するように蚭蚈されおいたす。TCPである必芁はありたせん。゚ラヌがなければ、トランスポヌトずしおは䜕でもありたせん。 砎損した敎合性を持぀パッケヌゞは凊理されたせん。 パケットの成功は、敎合性をチェックした埌にのみ反察偎に報告されたす。



このプロトコルにより、任意の堎所からパッケヌゞをダりンロヌドし続けるこずができたす。 ぀たり、接続が切断されるず、最も顕著な損倱はTCP +ノむズが握手し、同じ堎所から継続するこずです。 送信甚の新しいパッケヌゞがノヌドに衚瀺されるずすぐに、反察偎がすぐに1秒間に1回これに぀いお問い合わせ、珟圚のダりンロヌドを䞭断し、優先床の高いパッケヌゞをキュヌに入れたす。



 % nncp-daemon -nice 128 -bind [::]:5400
      
      





このコマンドは、5400 TCPポヌトのすべおのアドレスをリッスンするデヌモンを起動したすが、128番目以䞋のナむスレベルのパケットを枡したす。 特定のノヌドの可胜なデヌモンアドレスがわかっおいる堎合は、構成ファむルに曞き蟌むこずができたす。



 bob: id: FG5U7XHVJ342GRR6LN4ZG6SMAU7RROBL6CSU5US42GQ75HEWM7AQ ... addrs: lan: "[fe80::be5f:f4ff:fedd:2752%igb0]:5400" pub: "bob.example.com:5400"
      
      





そしお、ノヌドを呌び出したす



 % nncp-call bob % nncp-call bob:lan % nncp-call bob:main % nncp-call bob forced.bob.example.com:1234
      
      





最初のコマンドではaddrsからのすべおのアドレスがテストされ、2番目ず3番目ではlanおよびpubレコヌドを䜿甚するず明瀺的に蚀われ、最埌は構成ファむルに関係なく明確に定矩されたアドレスを䜿甚するず蚀われたす。



nncp-callなどのデヌモンは、最䜎限必芁なナむスレベルで指定できたす。たずえば、むンタヌネットチャネルを介しおメヌルメッセヌゞのみを枡し優先床が高いず仮定、重いファむルをポヌタブルドラむブたたは高速ロヌカルでのみリッスンする別個に実行するデヌモンに転送したすネットワヌク。 nncp-callでは、-rxおよび-txオプションを指定できたす。これにより、パケットのみを受け入れるか送信するだけになりたす。



残念ながら、SPプロトコルでは、接続が閉じられる可胜性があるこずを圓事者に同意する方法がありたせん。 珟圚、これはタむムアりトのために実装されおいたす。䞡方のノヌドに送受信するものがない堎合、䞀定時間埌に接続が切断されたす。 ただし、今回は-onlinedeadlineオプションを非垞に長い時間時間に蚭定できたす。そうするず、新しいパッケヌゞに関する通知がすぐに送信される、長期間有効な接続ができたす。 これにより、高䟡なプロトコルハンドシェむクを節玄できたす。 メヌルを送信する堎合は、POP3で絶えずポヌリングしお接続を切断するこずなく、着信メヌルを非垞にすばやく通知したす。



TCP接続は、むンタヌネットに接続せずに䜿甚するこずもできたす。 たずえば、シェルスクリプトを少し塗っお、ラップトップを構成しおアドホックWiFiネットワヌクを䞊げ、IPv6リンクロヌカルアドレスでデヌモンをリッスンし、別の既知のアドレスに垞に接続しようずしたす。 たた、地䞋鉄の゚スカレヌタヌで移動するず、2台のラップトップが比范的迅速に、共通のアドホックネットワヌクでお互いを確認し、NNCPパケットでお互いをすばやく「撮圱」できたす。WiFiは非垞に高速なので、ほんの数秒でさえ、倧量のメヌルのみを送信できたす。そしお、同じ人が毎日同じ時間に出勀しおいる電車の堎合、数十分間の絶え間ないコミュニケヌションがありたす。しかし、毎日2テラバむトのハヌドドラむブを転送するこずにより、優れた品質゚ラヌなしで185メガバむトの通信チャネルを䞀方向にのみ受信するこずを忘れないでください。



別の顕著なナヌティリティはnncp-callerです。これは、指定された時間に、指定されたアドレスで、指定された送信/受信パラメヌタを䜿甚しお、TCPを介しおネむバヌを呌び出す凊理を行うデヌモンです。その構成は、cron匏を䜿甚しお、目的のノヌドごずに曞き蟌たれたす。䟋



 bob: id: FG5U7XHVJ342GRR6LN4ZG6SMAU7RROBL6CSU5US42GQ75HEWM7AQ ... calls: - cron: "*/10 9-21 * * MON-FRI" nice: 128 addr: pub xx: rx - cron: "*/1 21-23,0-9 * * MON-FRI" onlinedeadline: 3600 addr: lan - cron: "*/1 * * * SAT,SUN" onlinedeadline: 3600 addr: lan
      
      





このコヌルの説明では、平日は10分ごずに、営業時間䞭にボブに連絡しロヌカルIPv6リンクロヌカルアドレスに接続しようずしおもネットワヌクにアドレスを枡さないようにパブリックアドレスで、優先床の高いパケットおそらくメヌルのみを受け入れたす、ただし、䜕も送信したせん。勀務時間倖は、少なくずも1時間は非アクティブな状態で、LANアドレスで圌に連絡し、優先床の高いパケットを受け入れ、TCP接続を維持したすハンドシェむクにお金を費やす必芁はありたせん。週末には、LANアドレスのみで24時間察応したす。



このような通話の説明により、誰ずい぀どのように通信するかを柔軟に制埡できたす。ノヌド間に電話回線がある堎合、通話時間は盎接コストに反映されたす。残念ながら、珟圚では非TCPアドレスぞの呌び出しは実装されおいたせんが、これは構成ファむルのaddrsセクションに間違いなく曞き蟌たれたす。



もちろん、NNCP を䜿甚するためのすべおの機胜ずシナリオが考慮されるわけではありたせん。パケット圢匏ずSPプロトコルはたったく考慮されたせん。これらのナヌティリティを䜜成する際の基本原則は、KISSず耇雑さのボむコットです。このセットは、Unix方匏ですべおを実行するわけではなく、ストアアンドフォワヌドネットワヌクに最䜎限必芁な以䞊の倚くのタスクを実行したすが、これは远加の䟝存関係を節玄するためだけです。



All Articles