Keluaran Node-to-Node CoPy (NNCP), satu set utiliti untuk memindahkan fail, e-mel dan arahan dengan selamat untuk pelaksanaan dalam mod stor-dan-forward. Menyokong operasi pada sistem pengendalian yang serasi dengan POSIX. Utiliti ditulis dalam Go dan diedarkan di bawah lesen GPLv3.
Utiliti ini direka bentuk untuk membantu membina rangkaian rakan-ke-rakan rakan kecil (berpuluh-puluh nod) dengan penghalaan statik untuk pemindahan fail, permintaan fail, e-mel dan permintaan pelaksanaan arahan yang selamat. Semua paket yang dihantar disulitkan dari hujung ke hujung dan disahkan secara eksplisit menggunakan kunci awam rakan yang diketahui. Penyulitan Onion (seperti Tor) digunakan pada semua paket perantaraan. Setiap nod boleh bertindak sebagai klien atau hos. pelayan dan gunakan kedua-dua model tingkah laku tolak dan tinjauan pendapat.
NNCP berbeza daripada penyelesaian UUCP dan FTN (FidoNet Technology Network), selain penyulitan dan pengesahan yang dinyatakan di atas, dengan menyediakan sokongan sedia ada untuk rangkaian liut dan komputer yang diasingkan secara fizikal (tertutup) daripada rangkaian tempatan dan awam yang tidak selamat. NNCP juga mempunyai penyepaduan mudah (seperti UUCP) dengan perkhidmatan e-mel semasa. pelayan, seperti Postfix dan Exim.
Bidang permohonan yang mungkin untuk NNCP termasuk mengatur penghantaran/menerima mel ke peranti tanpa sambungan tetap ke Internet, memindahkan fail dalam keadaan sambungan rangkaian yang tidak stabil, memindahkan jumlah data yang sangat besar pada media fizikal dengan selamat, mewujudkan rangkaian penghantaran data terpencil yang dilindungi daripada Serangan MitM, memintas penapisan rangkaian dan pengawasan. Memandangkan kunci penyahsulitan hanya berada di tangan penerima, tidak kira sama ada paket dihantar melalui rangkaian atau melalui media fizikal, pihak ketiga tidak boleh membaca kandungannya, walaupun bungkusan itu dipintas. Sebaliknya, pengesahan tandatangan digital tidak membenarkan mencipta mesej rekaan di bawah samaran pengirim lain.
Antara inovasi NNCP 8.8.0, berbanding berita sebelumnya (versi 5.0.0):
- Daripada cincangan BLAKE2b, apa yang dipanggil MTH: Pencincangan berasaskan Merkle Tree, yang menggunakan cincang BLAKE3, digunakan untuk menyemak integriti fail. Ini membolehkan anda mengira integriti bahagian paket yang disulitkan semasa memuat turun, tanpa memerlukan ia dibaca pada masa hadapan. Ini juga membolehkan penyelarasan tanpa had semakan integriti.
- Format paket yang disulitkan baharu adalah mesra penstriman sepenuhnya apabila saiz data tidak diketahui terlebih dahulu. Isyarat penyempurnaan pemindahan, dengan saiz yang disahkan, masuk terus ke dalam strim yang disulitkan. Sebelum ini, untuk mengetahui saiz data yang dipindahkan, perlu menyimpannya ke fail sementara. Jadi arahan "nncp-exec" telah kehilangan pilihan "-use-tmp" kerana ia sama sekali tidak perlu.
- Fungsi BLAKE2b KDF dan XOF telah digantikan dengan BLAKE3 untuk mengurangkan bilangan primitif kriptografi yang digunakan dan memudahkan kod.
- Kini adalah mungkin untuk mengesan nod lain pada rangkaian tempatan melalui multicasting ke alamat "ff02::4e4e:4350".
- Kumpulan berbilang siaran telah muncul (sama dengan persidangan gema FidoNet atau kumpulan berita Usenet), membenarkan satu paket menghantar data kepada berbilang ahli kumpulan, di mana setiap satu juga menyampaikan paket itu kepada penandatangan yang lain. Membaca paket multicast memerlukan pengetahuan tentang pasangan kunci (anda mesti secara eksplisit menjadi ahli kumpulan), tetapi penyampaian boleh dilakukan oleh mana-mana nod.
- Kini terdapat sokongan untuk pengesahan eksplisit penerimaan paket. Pengirim tidak boleh memadamkan paket selepas menghantar, menunggu sehingga ia menerima paket ACK khas daripada penerima.
- Sokongan terbina dalam untuk rangkaian tindanan Yggdrasil: daemon dalam talian boleh bertindak sebagai peserta rangkaian bebas sepenuhnya, tanpa menggunakan pelaksanaan Yggdrasil pihak ketiga dan tanpa bekerja sepenuhnya dengan timbunan IP pada antara muka rangkaian maya.
- Daripada rentetan berstruktur (RFC 3339), log menggunakan entri fail semula, yang boleh digunakan dengan utiliti GNU Recutils.
- Secara pilihan, pengepala paket yang disulitkan boleh disimpan dalam fail berasingan dalam subdirektori "hdr/", dengan ketara mempercepatkan operasi pengambilan senarai paket pada sistem fail dengan saiz blok yang besar, seperti ZFS. Sebelum ini, untuk mendapatkan semula pengepala paket memerlukan membaca hanya blok 128KiB dari cakera secara lalai.
- Menyemak fail baharu secara pilihan boleh menggunakan kqueue dan menginformasikan subsistem kernel, membuat lebih sedikit panggilan sistem.
- Utiliti menyimpan lebih sedikit fail yang dibuka dan menutup serta membukanya semula dengan lebih jarang. Dengan sejumlah besar pakej, sebelum ini adalah mungkin untuk menghadapi had pada bilangan maksimum fail terbuka.
- Banyak pasukan mula menunjukkan kemajuan dan kelajuan operasi seperti memuat turun/memuat naik, menyalin dan memproses (lempar) pakej.
- Perintah "nncp-file" boleh menghantar bukan sahaja fail tunggal, tetapi juga direktori, mencipta arkib pax dengan kandungannya dengan cepat.
- Utiliti dalam talian boleh secara pilihan segera memanggil melontar selepas pakej berjaya dimuat turun, tanpa menjalankan daemon nncp-toss yang berasingan.
- Panggilan dalam talian kepada peserta lain secara pilihan boleh berlaku bukan sahaja apabila pemasa dicetuskan, tetapi juga apabila paket keluar muncul dalam direktori kili.
- Memastikan kebolehkendalian di bawah NetBSD dan OpenBSD OS, selain daripada FreeBSD dan GNU/Linux yang disokong sebelum ini.
- "nncp-daemon" serasi sepenuhnya dengan antara muka UCSPI-TCP. Ditambah dengan keupayaan untuk log masuk ke deskriptor fail tertentu (contohnya dengan menetapkan "NNCPLOG=FD:4"), ia adalah mesra sepenuhnya untuk dijalankan di bawah utiliti seperti daemontools.
- Pemasangan projek telah dipindahkan sepenuhnya ke sistem buat semula.
Sumber: opennet.ru
