์˜คํ”ˆ P2P ํŒŒ์ผ ๋™๊ธฐํ™” ์‹œ์Šคํ…œ Syncthing 1.2.0 ์ถœ์‹œ

๋„์ž… ์ž๋™ ํŒŒ์ผ ๋™๊ธฐํ™” ์‹œ์Šคํ…œ ์ถœ์‹œ ๋™๊ธฐํ™” 1.2.0, ๋™๊ธฐํ™”๋œ ๋ฐ์ดํ„ฐ๋Š” ํด๋ผ์šฐ๋“œ ์Šคํ† ๋ฆฌ์ง€์— ์—…๋กœ๋“œ๋˜์ง€ ์•Š๊ณ , ํ”„๋กœ์ ํŠธ์—์„œ ๊ฐœ๋ฐœํ•œ BEP(๋ธ”๋ก ๊ตํ™˜ ํ”„๋กœํ† ์ฝœ) ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋™์‹œ์— ์˜จ๋ผ์ธ์— ๋‚˜ํƒ€๋‚  ๋•Œ ์‚ฌ์šฉ์ž ์‹œ์Šคํ…œ ๊ฐ„์— ์ง์ ‘ ๋ณต์ œ๋ฉ๋‹ˆ๋‹ค. ๋™๊ธฐํ™” ์ฝ”๋“œ๋Š” Go๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ ๋ฐฐํฌ์ž ๋ฌด๋ฃŒ MPL ๋ผ์ด์„ผ์Šค์— ๋”ฐ๋ผ. ๊ธฐ์„ฑํ’ˆ ์–ด์…ˆ๋ธ”๋ฆฌ ์ค€๋น„๋œ Linux, Android, Windows, macOS, FreeBSD, Dragonfly BSD, NetBSD, OpenBSD ๋ฐ Solaris์šฉ.

ํ•œ ์‚ฌ์šฉ์ž์˜ ์—ฌ๋Ÿฌ ์žฅ์น˜ ๊ฐ„ ๋ฐ์ดํ„ฐ ๋™๊ธฐํ™” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๊ฒƒ ์™ธ์—๋„ Syncthing์„ ์‚ฌ์šฉํ•˜๋ฉด ์ฐธ๊ฐ€์ž ์‹œ์Šคํ…œ ์ „์ฒด์— ๋ฐฐํฌ๋˜๋Š” ๊ณต์œ  ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ๋Œ€๊ทœ๋ชจ ๋ถ„์‚ฐ ๋„คํŠธ์›Œํฌ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์œ ์—ฐํ•œ ์•ก์„ธ์Šค ์ œ์–ด ๋ฐ ๋™๊ธฐํ™” ์˜ˆ์™ธ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋งŒ ์ˆ˜์‹ ํ•˜๋Š” ํ˜ธ์ŠคํŠธ๋ฅผ ์ •์˜ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํ˜ธ์ŠคํŠธ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€๊ฒฝํ•ด๋„ ๋‹ค๋ฅธ ์‹œ์Šคํ…œ์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ ์ธ์Šคํ„ด์Šค์—๋Š” ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ง€์›๋จ ์—ฌ๋Ÿฌ ๋ชจ๋“œ ๋ณ€๊ฒฝ๋œ ๋ฐ์ดํ„ฐ์˜ ์ด์ „ ๋ฒ„์ „์„ ๋ณด์กดํ•˜๋Š” ํŒŒ์ผ ๋ฒ„์ „ ๊ด€๋ฆฌ.

๋™๊ธฐํ™” ์‹œ ํŒŒ์ผ์€ ๋…ผ๋ฆฌ์ ์œผ๋กœ ๋ธ”๋ก์œผ๋กœ ๋ถ„ํ• ๋˜๋ฉฐ, ์ด๋Š” ์‚ฌ์šฉ์ž ์‹œ์Šคํ…œ ๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•  ๋•Œ ๋ถ„ํ• ํ•  ์ˆ˜ ์—†๋Š” ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค. ์ƒˆ ์žฅ์น˜์— ๋™๊ธฐํ™”ํ•  ๋•Œ ์—ฌ๋Ÿฌ ์žฅ์น˜์— ๋™์ผํ•œ ๋ธ”๋ก์ด ์žˆ๋Š” ๊ฒฝ์šฐ BitTorrent ์‹œ์Šคํ…œ์˜ ์ž‘๋™๊ณผ ์œ ์‚ฌํ•˜๊ฒŒ ๋ธ”๋ก์ด ๋‹ค๋ฅธ ๋…ธ๋“œ์—์„œ ๋ณต์‚ฌ๋ฉ๋‹ˆ๋‹ค.
๋” ๋งŽ์€ ์žฅ์น˜๊ฐ€ ๋™๊ธฐํ™”์— ์ฐธ์—ฌํ• ์ˆ˜๋ก ๋ณ‘๋ ฌํ™”๋กœ ์ธํ•ด ์ƒˆ ๋ฐ์ดํ„ฐ ๋ณต์ œ๊ฐ€ ๋” ๋น ๋ฅด๊ฒŒ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋ณ€๊ฒฝ๋œ ํŒŒ์ผ์„ ๋™๊ธฐํ™”ํ•˜๋Š” ๋™์•ˆ์—๋Š” ๋ณ€๊ฒฝ๋œ ๋ฐ์ดํ„ฐ ๋ธ”๋ก๋งŒ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์ „์†ก๋˜๋ฉฐ, ์ด๋ฆ„ ๋ณ€๊ฒฝ์ด๋‚˜ ์ ‘๊ทผ ๊ถŒํ•œ ๋ณ€๊ฒฝ ์‹œ์—๋Š” ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋งŒ ๋™๊ธฐํ™”๋ฉ๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ ์ „์†ก ์ฑ„๋„์€ TLS๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ˜•์„ฑ๋˜๋ฉฐ ๋ชจ๋“  ๋…ธ๋“œ๋Š” ์ธ์ฆ์„œ ๋ฐ ์žฅ์น˜ ์‹๋ณ„์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋กœ๋ฅผ ์ธ์ฆํ•˜๋ฉฐ SHA-256์€ ๋ฌด๊ฒฐ์„ฑ์„ ์ œ์–ดํ•˜๋Š” โ€‹โ€‹๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋กœ์ปฌ ๋„คํŠธ์›Œํฌ์—์„œ ๋™๊ธฐํ™” ๋…ธ๋“œ๋ฅผ ๊ฒฐ์ •ํ•˜๋ ค๋ฉด ๋™๊ธฐํ™”๋œ ์žฅ์น˜์˜ IP ์ฃผ์†Œ๋ฅผ ์ˆ˜๋™์œผ๋กœ ์ž…๋ ฅํ•  ํ•„์š”๊ฐ€ ์—†๋Š” UPnP ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ ๊ตฌ์„ฑ ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง์„ ์œ„ํ•ด ๋‚ด์žฅ๋œ ์›น ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์ œ๊ณต๋˜๋ฉฐ, CLI ํด๋ผ์ด์–ธํŠธ ๋ฐ GUI Syncting-GTK, ๋™๊ธฐํ™” ๋…ธ๋“œ ๋ฐ ์ €์žฅ์†Œ๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๋„๊ตฌ๋ฅผ ์ถ”๊ฐ€๋กœ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋™๊ธฐํ™” ๋…ธ๋“œ๋ฅผ ๋” ์‰ฝ๊ฒŒ ์ฐพ์œผ๋ ค๋ฉด ๊ฐœ๋ฐœ ์ค‘ ๋…ธ๋“œ ๊ฒ€์ƒ‰ ์กฐ์ • ์„œ๋ฒ„, ์‹คํ–‰ํ•  ๋Œ€์ƒ
์ค€๋น„ ์ค€๋น„๋œ Docker ์ด๋ฏธ์ง€.

์˜คํ”ˆ P2P ํŒŒ์ผ ๋™๊ธฐํ™” ์‹œ์Šคํ…œ Syncthing 1.2.0 ์ถœ์‹œ

์ƒˆ ๋ฆด๋ฆฌ์Šค์—์„œ:

  • ๋„์ž… ๊ธฐ๋ฐ˜์˜ ์ƒˆ๋กœ์šด ์ „์†ก ํ”„๋กœํ† ์ฝœ QUIC (๋น ๋ฅธ UDP ์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ) ๋ฐ NAT(์ฃผ์†Œ ๋ณ€ํ™˜๊ธฐ)๋ฅผ ํ†ตํ•œ ์ „๋‹ฌ ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์—ฐ๊ฒฐ ์„ค์ •์„ ์œ„ํ•œ ๊ธฐ๋ณธ ํ”„๋กœํ† ์ฝœ๋กœ๋Š” TCP๊ฐ€ ์—ฌ์ „ํžˆ ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค.
  • ์น˜๋ช…์ ์ธ ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ ๊ฐœ์„  ๋ฐ ์ถ”๊ฐ€ ์ž๊ธˆ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ๋ฌธ์ œ ๋ณด๊ณ ์„œ๋ฅผ ์ž๋™์œผ๋กœ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ๋ณด๊ณ ์„œ ์ „์†ก์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์œผ๋ฉฐ ์„ค์ •์—์„œ ๋น„ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ถ”๊ฐ€ ํŠน๋ณ„ ์˜ต์…˜. ์ถฉ๋Œ ๋ณด๊ณ ์„œ์˜ ๋ฐ์ดํ„ฐ์—๋Š” ํŒŒ์ผ ์ด๋ฆ„, ๋กœ๊ทธ ๋ฐ์ดํ„ฐ, ์žฅ์น˜ ์‹๋ณ„์ž, ํ†ต๊ณ„ ๋ฐ ๊ธฐํƒ€ ๊ฐœ์ธ ๋ฐ์ดํ„ฐ๊ฐ€ ํฌํ•จ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ํŒŒ์ผ ์ฝ˜ํ…์ธ ๋ฅผ ์ธ๋ฑ์‹ฑํ•˜๊ณ  ์ „์†กํ•  ๋•Œ ์ž‘์€ ๊ณ ์ • ๋ธ”๋ก(128KiB) ์‚ฌ์šฉ์ด ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋Œ€๋‹ค ๋‹ค์–‘ํ•œ ํฌ๊ธฐ์˜ ํฐ ๋ธ”๋ก๋งŒ;
  • ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์ •์˜๋œ ๊ฐ ์ฃผ์†Œ์— ๋Œ€ํ•œ ๋งˆ์ง€๋ง‰ ์—ฐ๊ฒฐ ์˜ค๋ฅ˜ ํ‘œ์‹œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • WebUI์—์„œ ํ…Œ์ด๋ธ” ์—ด์˜ ๋ ˆ์ด์•„์›ƒ์€ ์ข์€ ํ™”๋ฉด์—์„œ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ํ‘œ์‹œ๋˜๋„๋ก ์ตœ์ ํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ˜ธํ™˜์„ฑ์„ ์†์ƒ์‹œํ‚ค๋Š” ๋ณ€๊ฒฝ์ด ์ด๋ฃจ์–ด์กŒ์Šต๋‹ˆ๋‹ค. ์ƒˆ ๋ฆด๋ฆฌ์Šค๋Š” Syncthing 0.14.45 ๋ฐ ์ด์ „ ๋ฒ„์ „์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ํ˜ธ์ŠคํŠธ์™€ ํ˜ธํ™˜๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€