ํ์ผ, ์ด๋ฉ์ผ, ์ ์ฅ ํ ์ ๋ฌ(store-and-forward) ๋ช ๋ น์ ์์ ํ๊ฒ ์ ์กํ๋ ์ ํธ๋ฆฌํฐ ์ธํธ์ธ ๋ ธ๋ ๊ฐ ๋ณต์ฌ(NNCP)๊ฐ ์ถ์๋์์ต๋๋ค. NNCP๋ POSIX ํธํ ์ด์ ์ฒด์ ๋ฅผ ์ง์ํฉ๋๋ค. ์ด ์ ํธ๋ฆฌํฐ๋ Go ์ธ์ด๋ก ์์ฑ๋์์ผ๋ฉฐ GPLv3 ๋ผ์ด์ ์ค์ ๋ฐ๋ผ ๋ผ์ด์ ์ค๊ฐ ๋ถ์ฌ๋ฉ๋๋ค.
์ด ์ ํธ๋ฆฌํฐ๋ ์์ ํ ํ์ผ ์ ์ก, ํ์ผ ์์ฒญ, ์ด๋ฉ์ผ ๋ฐ ๋ช ๋ น ์คํ ์์ฒญ์ ์ํ ์ ์ ๋ผ์ฐํ ๊ธฐ๋ฅ์ ๊ฐ์ถ ์๊ท๋ชจ P2P(์์ญ ๊ฐ ๋ ธ๋) ๋คํธ์ํฌ ๊ตฌ์ถ์ ์ง์ํ๋๋ก ์ค๊ณ๋์์ต๋๋ค. ์ ์ก๋๋ ๋ชจ๋ ํจํท์ ์ข ๋จ ๊ฐ ์ํธํ๋๋ฉฐ, ํผ์ด์ ์๋ ค์ง ๊ณต๊ฐ ํค๋ฅผ ์ฌ์ฉํ์ฌ ๋ช ์์ ์ผ๋ก ์ธ์ฆ๋ฉ๋๋ค. ๋ชจ๋ ์ค๊ฐ ํจํท์๋ Onion ์ํธํ(Tor์ ์ ์ฌ)๊ฐ ์ ์ฉ๋ฉ๋๋ค. ๊ฐ ๋ ธ๋๋ ํด๋ผ์ด์ธํธ ๋๋ ํธ์คํธ ์ญํ ์ ์ํํ ์ ์์ต๋๋ค. ์๋ฒ ํธ์ ๋ฐ ํด๋ง ๋์ ๋ชจ๋ธ์ ๋ชจ๋ ์ฌ์ฉํฉ๋๋ค.
NNCP๋ ์์ ์ธ๊ธํ ์ํธํ ๋ฐ ์ธ์ฆ ๊ธฐ๋ฅ ์ธ์๋ ํ๋กํผ ๋์คํฌ ๋คํธ์ํฌ์ ๋ฌผ๋ฆฌ์ ์ผ๋ก ๊ฒฉ๋ฆฌ๋(์์ด๊ฐญ๋) ์ปดํจํฐ๊ฐ ์์ ํ์ง ์์ ๋ก์ปฌ ๋ฐ ๊ณต์ฉ ๋คํธ์ํฌ์ ์ฐ๊ฒฐ๋ ์ ์๋๋ก ๊ธฐ๋ณธ์ ์ผ๋ก ์ง์ํ๋ค๋ ์ ์์ UUCP ๋ฐ FTN(FidoNet Technology Network) ์๋ฃจ์ ๊ณผ ์ฐจ๋ณํ๋ฉ๋๋ค. ๋ํ NNCP๋ UUCP์ ๋ง์ฐฌ๊ฐ์ง๋ก ๊ธฐ์กด ์ด๋ฉ์ผ ์๋น์ค์์ ์์ฌ์ด ํตํฉ์ ์ ๊ณตํฉ๋๋ค. ์๋ฒPostfix ๋ฐ Exim๊ณผ ๊ฐ์ ๊ฒ๋ค์ ๋๋ค.
NNCP์ ์ ์ฉ ๊ฐ๋ฅํ ๋ถ์ผ๋ก๋ ์ธํฐ๋ท ์ฐ๊ฒฐ์ด ๋๊ธด ๊ธฐ๊ธฐ๋ก ๋ฉ์ผ์ ์ก์์ ํ๋ ์์คํ , ๋ถ์์ ํ ๋คํธ์ํฌ ์ฐ๊ฒฐ ํ๊ฒฝ์์์ ํ์ผ ์ ์ก, ๋ฌผ๋ฆฌ์ ๋งค์ฒด๋ฅผ ํตํ ๋์ฉ๋ ๋ฐ์ดํฐ์ ์์ ํ ์ ์ก, MitM ๊ณต๊ฒฉ์ผ๋ก๋ถํฐ ๋ณดํธ๋๋ ๊ฒฉ๋ฆฌ๋ ๋ฐ์ดํฐ ์ ์ก ๋คํธ์ํฌ ๊ตฌ์ถ, ๋คํธ์ํฌ ๊ฒ์ด ๋ฐ ๊ฐ์ ์ฐํ ๋ฑ์ด ์์ต๋๋ค. ๋ณตํธํ ํค๋ ๋คํธ์ํฌ ๋๋ ๋ฌผ๋ฆฌ์ ๋งค์ฒด๋ฅผ ํตํด ํจํค์ง๊ฐ ์ ๋ฌ๋๋ ๊ฒฝ๋ก์ ๊ด๊ณ์์ด ์์ ์์๊ฒ๋ง ์ ๊ณต๋๋ฏ๋ก, ์ 3์๊ฐ ์ ์ก ๋ด์ฉ์ ๊ฐ๋ก์ฑ๋๋ผ๋ ๋ด์ฉ์ ์ฝ์ ์ ์์ต๋๋ค. ๋ํ, ๋์งํธ ์๋ช ์ ํตํ ์ธ์ฆ์ ๋ค๋ฅธ ๋ฐ์ ์๋ฅผ ์ฌ์นญํ์ฌ ํ์ ์ ์ก์ ํ๋ ๊ฒ์ ํ์ฉํ์ง ์์ต๋๋ค.
์ด์ ๋ด์ค(๋ฒ์ 8.8.0)์ ๋น๊ตํ์ ๋ NNCP 5.0.0์ ํ์ ์ฌํญ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- BLAKE2b ํด์ ๋์ , BLAKE3 ํด์๋ฅผ ์ฌ์ฉํ๋ ์์ MTH: ๋จธํด ํธ๋ฆฌ ๊ธฐ๋ฐ ํด์ฑ(Merkle Tree-based Hashing)์ ์ฌ์ฉํ์ฌ ํ์ผ์ ๋ฌด๊ฒฐ์ฑ์ ๊ฒ์ฌํฉ๋๋ค. ์ด๋ฅผ ํตํด ์ํธํ๋ ํจํค์ง ๋ถ๋ถ์ ๋ฌด๊ฒฐ์ฑ์ ๋ค์ด๋ก๋ ์ค์ ์ง์ ๊ณ์ฐํ ์ ์์ผ๋ฉฐ, ๋์ค์ ์ฝ์ ํ์๊ฐ ์์ต๋๋ค. ๋ํ ๋ฌด๊ฒฐ์ฑ ๊ฒ์ฌ์ ๋ฌด์ ํ ๋ณ๋ ฌํ๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
- ์๋ก์ด ์ํธํ ํจํท ํ์์ ๋ฐ์ดํฐ ํฌ๊ธฐ๋ฅผ ๋ฏธ๋ฆฌ ์ ์ ์๋ ๊ฒฝ์ฐ ์คํธ๋ฆผ ์นํ์ ์ ๋๋ค. ์ธ์ฆ๋ ํฌ๊ธฐ๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ก ์ข ๋ฃ๋ฅผ ์๋ฆฌ๋ ์ ํธ๋ ์ํธํ๋ ์คํธ๋ฆผ์ ๋ฐ๋ก ์ ๋ฌ๋ฉ๋๋ค. ์ด์ ์๋ ์ ์ก๋ ๋ฐ์ดํฐ์ ํฌ๊ธฐ๋ฅผ ํ์ธํ๋ ค๋ฉด ์์ ํ์ผ์ ์ ์ฅํด์ผ ํ์ต๋๋ค. ๋ฐ๋ผ์ "nncp-exec" ๋ช ๋ น์์ "-use-tmp" ์ต์ ์ด ์์ ํ ๋ถํ์ํด์ก๊ธฐ ๋๋ฌธ์ ์ญ์ ๋์์ต๋๋ค.
- BLAKE2b KDF ๋ฐ XOF ํจ์๋ ์ํธํ ๊ธฐ๋ณธ ์์์ ์๋ฅผ ์ค์ด๊ณ ์ฝ๋๋ฅผ ๋จ์ํํ๊ธฐ ์ํด BLAKE3๋ก ๋์ฒด๋์์ต๋๋ค.
- ์ด์ "ff02::4e4e:4350" ์ฃผ์๋ก ๋ฉํฐ์บ์คํธ๋ฅผ ํตํด ๋ก์ปฌ ๋คํธ์ํฌ์ ๋ค๋ฅธ ๋ ธ๋๋ฅผ ๊ฐ์งํ๋ ๊ฒ์ด ๊ฐ๋ฅํด์ก์ต๋๋ค.
- ๋ฉํฐ์บ์คํธ ๊ทธ๋ฃน(FidoNet ์์ฝ ์ปจํผ๋ฐ์ค๋ ์ ์ฆ๋ท ๋ด์ค๊ทธ๋ฃน๊ณผ ์ ์ฌ)์ด ๋ฑ์ฅํ์ฌ ํ๋์ ํจํท์ ์ฌ๋ฌ ๊ทธ๋ฃน ๊ตฌ์ฑ์์๊ฒ ์ ์กํ ์ ์๊ฒ ๋์๊ณ , ๊ฐ ๊ตฌ์ฑ์์ ํด๋น ํจํท์ ๋ค๋ฅธ ์๋ช ์๋ค์๊ฒ๋ ์ค๊ณํฉ๋๋ค. ๋ฉํฐ์บ์คํธ ํจํท์ ์ฝ์ผ๋ ค๋ฉด ํค ์์ ์์์ผ ํ์ง๋ง(๊ทธ๋ฃน์ ๊ตฌ์ฑ์์ด์ด์ผ ํจ), ์ค๊ณ๋ ๋ชจ๋ ๋ ธ๋์์ ์ํํ ์ ์์ต๋๋ค.
- ํจํท ์์ ์ ๋ํ ๋ช ์์ ํ์ธ ์๋ต ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. ์ก์ ์๋ ์์ ์๋ก๋ถํฐ ํน๋ณํ ํ์ธ ์๋ต(ACK) ํจํท์ ๊ธฐ๋ค๋ฆฌ๋ฉด์ ์ ์ก ํ ํจํท์ ์ญ์ ํ ์ ์์ต๋๋ค.
- Yggdrasil ์ค๋ฒ๋ ์ด ๋คํธ์ํฌ์ ๋ํ ๋ด์ฅ ์ง์: ์จ๋ผ์ธ ๋ฐ๋ชฌ์ ํ์ฌ Yggdrasil ๊ตฌํ์ ์ฌ์ฉํ์ง ์๊ณ ๋ ์์ ํ ๋ ๋ฆฝ ๋คํธ์ํฌ ์ฐธ์ฌ์ ์ญํ ์ ํ ์ ์์ผ๋ฉฐ, ๊ฐ์ ๋คํธ์ํฌ ์ธํฐํ์ด์ค์์ IP ์คํ๊ณผ ์๋ฒฝํ๊ฒ ์๋ํ ์ ์์ต๋๋ค.
- ๊ตฌ์กฐํ๋ ์ค(RFC 3339) ๋์ , ๋ก๊ทธ๋ GNU Recutils ์ ํธ๋ฆฌํฐ์ ํจ๊ป โโ์ฌ์ฉํ ์ ์๋ recfile ๋ ์ฝ๋๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- ์ ํ์ ์ผ๋ก, ์ํธํ๋ ํจํท ํค๋๋ฅผ "hdr/" ํ์ ๋๋ ํฐ๋ฆฌ์ ๋ณ๋์ ํ์ผ๋ก ์ ์ฅํ ์ ์์ผ๋ฉฐ, ์ด๋ฅผ ํตํด ZFS์ ๊ฐ์ ๋์ฉ๋ ๋ธ๋ก ํ์ผ ์์คํ ์์ ํจํท ๋ชฉ๋ก ์์ ์๋๋ฅผ ํฌ๊ฒ ํฅ์์ํฌ ์ ์์ต๋๋ค. ์ด์ ์๋ ํจํท ํค๋๋ฅผ ๊ฒ์ํ๋ ค๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก ๋์คํฌ์์ 128KB ๋ธ๋ก๋ง ์ฝ์ด์ผ ํ์ต๋๋ค.
- ์๋ก์ด ํ์ผ์ ๊ฒ์ฌํ ๋๋ kqueue์ inotify ์ปค๋ ํ์ ์์คํ ์ ์ ํ์ ์ผ๋ก ์ฌ์ฉํ ์ ์์ผ๋ฉฐ, ์ด๋ฅผ ํตํด ์์คํ ํธ์ถ์ ์ค์ผ ์ ์์ต๋๋ค.
- ์ ํธ๋ฆฌํฐ๋ ์ด๋ฆฐ ํ์ผ์ ๊ฐ์๊ฐ ์ ๊ณ , ๋ซ์๋ค๊ฐ ๋ค์ ์ฌ๋ ๋น๋๋ ์ค์ด๋ญ๋๋ค. ์ด์ ์๋ ํจํค์ง ์๊ฐ ๋ง๊ธฐ ๋๋ฌธ์ ์ด๋ฆฐ ํ์ผ์ ์ต๋ ๊ฐ์์ ์ ํ์ด ์์์ต๋๋ค.
- ๋ง์ ํ์ด ๋ค์ด๋ก๋/์ ๋ก๋, ํจํค์ง ๋ณต์ฌ ๋ฐ ์ฒ๋ฆฌ(ํฌ์ฒ) ๋ฑ์ ์์ ์งํ ์ํฉ๊ณผ ์๋๋ฅผ ๋ณด์ฌ์ฃผ๊ธฐ ์์ํ์ต๋๋ค.
- "nncp-file" ๋ช ๋ น์ ๋จ์ผ ํ์ผ๋ฟ๋ง ์๋๋ผ ๋๋ ํ ๋ฆฌ๋ ์ ์กํ ์ ์์ผ๋ฉฐ, ํด๋น ๋ด์ฉ์ ๋ฐ๋ก pax ์์นด์ด๋ธ๋ก ์์ฑํ ์ ์์ต๋๋ค.
- ์จ๋ผ์ธ ์ ํธ๋ฆฌํฐ๋ ๋ณ๋์ "nncp-toss" ๋ฐ๋ชฌ์ ์์ํ์ง ์๊ณ ๋ ํจํค์ง๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ๋ค์ด๋ก๋ํ ํ ์ฆ์ ํ ์ค ํ๋ก์ธ์ค๋ฅผ ํธ์ถํ ์ ์์ต๋๋ค.
- ๋ค๋ฅธ ์ฐธ๊ฐ์์๊ฒ ์จ๋ผ์ธ ํตํ๋ฅผ ํ๋ ๊ฒ์ ํ์ด๋จธ๊ฐ ์ด๋ฒคํธ๋ฅผ ํธ๋ฆฌ๊ฑฐํ ๋๋ฟ๋ง ์๋๋ผ ์คํ ๋๋ ํ ๋ฆฌ์ ๋ฐ์ ํจํท์ด ๋ํ๋ ๋๋ ์ ํ์ ์ผ๋ก ๋ฐ์ํ ์ ์์ต๋๋ค.
- ๊ธฐ์กด์ ์ง์๋๋ FreeBSD์ GNU/Linux ์ธ์๋ NetBSD์ OpenBSD OS์์๋ ๊ธฐ๋ฅ์ด ๋ณด์ฅ๋ฉ๋๋ค.
- "nncp-daemon"์ UCSPI-TCP ์ธํฐํ์ด์ค์ ์๋ฒฝํ๊ฒ ํธํ๋ฉ๋๋ค. ์ง์ ๋ ํ์ผ ์ค๋ช ์(์: "NNCPLOG=FD:4" ์ค์ )์ ๋ก๊น ํ ์ ์๋ ๊ธฐ๋ฅ๊ณผ ํจ๊ป, daemontools์ ์ ์ฌํ ์ ํธ๋ฆฌํฐ์์ ์คํํ๊ธฐ์ ๋งค์ฐ ํธ๋ฆฌํฉ๋๋ค.
- ํ๋ก์ ํธ ์ด์ ๋ธ๋ฆฌ๊ฐ ์์ ํ ๋ฆฌ๋ ์์คํ ์ผ๋ก ์ด์ ๋์์ต๋๋ค.
์ถ์ฒ : opennet.ru
