์ต๋ช ์ Tor ๋คํธ์ํฌ ๊ฐ๋ฐ์๋ Rust๋ก ์์ฑ๋ Tor ํด๋ผ์ด์ธํธ๋ฅผ ๊ฐ๋ฐํ๋ Arti ํ๋ก์ ํธ์ ์ฒซ ๋ฒ์งธ ์์ ๋ฆด๋ฆฌ์ค(1.0.0)๋ฅผ ๋ง๋ค์์ต๋๋ค. 1.0 ๋ฆด๋ฆฌ์ค๋ ์ผ๋ฐ ์ฌ์ฉ์๊ฐ ์ฌ์ฉํ๊ธฐ์ ์ ํฉํ ๊ฒ์ผ๋ก ํ์๋์์ผ๋ฉฐ ๊ธฐ๋ณธ C ๊ตฌํ๊ณผ ๋์ผํ ์์ค์ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ, ์ ์ฉ์ฑ ๋ฐ ์์ ์ฑ์ ์ ๊ณตํฉ๋๋ค. ๋ค๋ฅธ ์ ํ๋ฆฌ์ผ์ด์ ์์ Arti ๊ธฐ๋ฅ์ ์ฌ์ฉํ๊ธฐ ์ํด ์ ๊ณต๋๋ API๋ ์์ ํ๋์์ต๋๋ค. ์ฝ๋๋ Apache 2.0 ๋ฐ MIT ๋ผ์ด์ผ์ค์ ๋ฐ๋ผ ๋ฐฐํฌ๋ฉ๋๋ค.
์ฒ์์๋ SOCKS ํ๋ก์๋ก ์ค๊ณํ ํ ๋ค๋ฅธ ์๊ตฌ ์ฌํญ์ ๋ง๊ฒ ์กฐ์ ํ C ๊ตฌํ๊ณผ ๋ฌ๋ฆฌ Arti๋ ์ฒ์์๋ ๋ค์ํ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ฌ์ฉํ ์ ์๋ ๋ชจ๋์ ๋ด์ฅํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํํ๋ก ๊ฐ๋ฐ๋์์ต๋๋ค. ๋ํ ์ ํ๋ก์ ํธ๋ฅผ ๊ฐ๋ฐํ ๋ ๊ณผ๊ฑฐ์ ๋ชจ๋ Tor ๊ฐ๋ฐ ๊ฒฝํ์ด ๊ณ ๋ ค๋๋ฏ๋ก ์๋ ค์ง ์ํคํ ์ฒ ๋ฌธ์ ๋ฅผ ๋ฐฉ์งํ๊ณ ํ๋ก์ ํธ๋ฅผ ๋์ฑ ๋ชจ๋ํ๋๊ณ ํจ์จ์ ์ผ๋ก ๋ง๋ญ๋๋ค.
Tor๋ฅผ Rust๋ก ๋ค์ ์์ฑํ ์ด์ ๋ ๋ฉ๋ชจ๋ฆฌ์ ์์ ํ ์ธ์ด๋ฅผ ์ฌ์ฉํ์ฌ ๋ ๋์ ์์ค์ ์ฝ๋ ๋ณด์์ ๋ฌ์ฑํ๋ ค๋ ์๊ตฌ ๋๋ฌธ์ด์์ต๋๋ค. Tor ๊ฐ๋ฐ์์ ๋ฐ๋ฅด๋ฉด ์ฝ๋๊ฐ "์์ ํ์ง ์์" ๋ธ๋ก์ ์ฌ์ฉํ์ง ์์ผ๋ฉด ํ๋ก์ ํธ์์ ๋ชจ๋ํฐ๋งํ๋ ๋ชจ๋ ์ทจ์ฝ์ ์ค ์ต์ ์ ๋ฐ์ด Rust ๊ตฌํ์์ ์ ๊ฑฐ๋ฉ๋๋ค. Rust๋ ๋ํ ์ธ์ด์ ํํ๋ ฅ๊ณผ ์ด์ค ํ์ธ ๋ฐ ๋ถํ์ํ ์ฝ๋ ์์ฑ์ ์๊ฐ์ ๋ญ๋นํ์ง ์๋๋ก ํ๋ ์๊ฒฉํ ๋ณด์ฅ์ผ๋ก ์ธํด C๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๋ณด๋ค ๋ ๋น ๋ฅธ ๊ฐ๋ฐ ์๋๋ฅผ ๋ฌ์ฑํ๋ ๊ฒ์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
์ฒซ ๋ฒ์งธ ๋ฒ์ ์ ๊ฐ๋ฐ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํ์ผ๋ก Rust ์ธ์ด์ ์ฌ์ฉ์ด ์ ๋นํ๋์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ๊ฐ ๋จ๊ณ์์ C์ ์ ์ฌํ ๊ฐ๋ฐ๋ณด๋ค Rust ์ฝ๋์์ ๋ฐ์ํ ์ค๋ฅ๊ฐ ๋ ์ ๋ค๋ ์ฌ์ค์ด ํ์ธ๋์์ต๋๋ค. ๊ฐ๋ฐ ํ๋ก์ธ์ค ์ค์ ํ๋ฉดํ๋ ์ค๋ฅ๋ ์ฃผ๋ก ๋ ผ๋ฆฌ ๋ฐ ์๋ฏธ๋ก ๊ณผ ๊ด๋ จ์ด ์์์ต๋๋ค. ์ผ๋ถ ์ฌ๋๋ค์ด ๋จ์ ์ผ๋ก ์ง์ ํ ๊ณผ๋ํ๊ฒ ์๊ตฌ๋๋ Rustc ์ปดํ์ผ๋ฌ๋ ์ค์ ๋ก ์ถ๋ณต์ผ๋ก ํ๋ช ๋์์ต๋๋ค. ์ฝ๋๊ฐ ์ปดํ์ผ๋๊ณ ํ ์คํธ๋ฅผ ํต๊ณผํ๋ฉด ์ ํ์ฑ์ ๊ฐ๋ฅ์ฑ์ด ํฌ๊ฒ ๋์์ง๊ธฐ ๋๋ฌธ์ ๋๋ค.
์๋ก์ด ๋ณ์ข ์ ๋ํ ์์ ์ ํตํด ๊ฐ๋ฐ ์๋์ ์ฆ๊ฐ๋ ํ์ธ๋์์ต๋๋ค. ์ด๋ ๊ธฐ์กด ํ ํ๋ฆฟ์ ๊ธฐ๋ฐ์ผ๋ก ๊ธฐ๋ฅ์ด ์ฌํ๋์๋ค๋ ์ฌ์ค๋ฟ๋ง ์๋๋ผ Rust์ ๋ ํํ์ ์ธ ์๋ฏธ ์ฒด๊ณ, ํธ๋ฆฌํ ํจ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฐ Rust์ ์ฝ๋ ๋ณด์ ์ฌ์ฉ์ผ๋ก ์ธํด ๋ฐ์ํฉ๋๋ค. ๋ฅ๋ ฅ. ๋จ์ ์ค ํ๋๋ ๊ฒฐ๊ณผ ์ด์ ๋ธ๋ฆฌ์ ํฌ๊ธฐ๊ฐ ํฌ๋ค๋ ๊ฒ์ ๋๋ค. ํ์ค Rust ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์์คํ ์ ์ ๊ณต๋์ง ์์ผ๋ฏ๋ก ๋ค์ด๋ก๋์ฉ์ผ๋ก ์ ๊ณต๋๋ ํจํค์ง์ ํฌํจ๋์ด์ผ ํฉ๋๋ค.
1.0 ๋ฆด๋ฆฌ์ค๋ ์ฃผ๋ก ํด๋ผ์ด์ธํธ ์ญํ ์ ๊ธฐ๋ณธ ์์ ์ ์ค์ ์ ๋ก๋๋ค. ๋ฒ์ 1.1์์๋ ์ฐจ๋จ์ ์ฐํํ๊ธฐ ์ํ ํ๋ฌ๊ทธ์ธ ์ ์ก ๋ฐ ๋ธ๋ฆฌ์ง ์ง์์ ๊ตฌํํ ๊ณํ์ ๋๋ค. ๋ฒ์ 1.2๋ ํผ์ก ์ ์ด ํ๋กํ ์ฝ(RTT Congestion Control) ๋ฐ DDoS ๊ณต๊ฒฉ ๋ฐฉ์ง์ ๊ฐ์ ์ด๋์ธ ์๋น์ค ๋ฐ ๊ด๋ จ ๊ธฐ๋ฅ์ ์ง์ํ ๊ฒ์ผ๋ก ์์๋ฉ๋๋ค. C ํด๋ผ์ด์ธํธ์์ ํจ๋ฆฌํฐ ๋ฌ์ฑ์ 2.0 ๋ธ๋์น์์ ๊ณํ๋์ด ์์ผ๋ฉฐ, ๋ค์ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ์ฝ๋์์ Arti๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํ ๋ฐ์ธ๋ฉ๋ ์ ๊ณตํ ๊ฒ์ ๋๋ค.
ํฅํ ๋ช ๋
๋์ ์์
์ ๋ฆด๋ ์ด ๋ฐ ๋๋ ํฐ๋ฆฌ ์๋ฒ๋ฅผ ์คํํ๋ ๋ฐ ํ์ํ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ ๋ฐ ์ค์ ์ ๋ ๊ฒ์
๋๋ค. Rust ์ฝ๋๊ฐ C ๋ฒ์ ์ ์์ ํ ๋์ฒดํ ์ ์๋ ์์ค์ ๋๋ฌํ๋ฉด ๊ฐ๋ฐ์๋ Arti์๊ฒ Tor์ ์ฃผ์ ๊ตฌํ ์ํ๋ฅผ ๋ถ์ฌํ๊ณ C ๊ตฌํ ์ ์ง๋ฅผ ์ค๋จํ ๊ณํ์
๋๋ค. C ๋ฒ์ ์ ์ํํ ๋ง์ด๊ทธ๋ ์ด์
์ ์ํด ๋จ๊ณ์ ์ผ๋ก ํ์ง๋ ์์ ์
๋๋ค.
์ถ์ฒ : opennet.ru