์ง„์ •ํ•œ ์ธํ„ฐ๋„ท ์ฑ„๋„ ์š”์•ฝ - OpenMPTCPRouter

์ง„์ •ํ•œ ์ธํ„ฐ๋„ท ์ฑ„๋„ ์š”์•ฝ - OpenMPTCPRouter

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

๋น„๋””์˜ค ๋ฐฉ์†ก์„ ์œ„ํ•œ ๊ฐ’๋น„์‹ผ ์ƒ์—…์šฉ ์†”๋ฃจ์…˜์ด ์žˆ์ง€๋งŒ ๊ทธ๋Ÿฌํ•œ ์žฅ์น˜์˜ ๊ฐ€๊ฒฉ์€ ํ‚ฌ๋กœ๋ฒ…์— ๋‹ฌํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ธฐ์‚ฌ์—์„œ๋Š” ๋ฌด๋ฃŒ ์˜คํ”ˆ ์†Œ์Šค OpenMPTCPRouter ํŒจํ‚ค์ง€๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•˜๊ณ  ์ฑ„๋„ ํ•ฉ์‚ฐ์— ๋Œ€ํ•œ ๋„๋ฆฌ ์•Œ๋ ค์ง„ ํ†ต๋…์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

์ฑ„๋„ ํ•ฉ์‚ฐ์— ๋Œ€ํ•œ ์˜คํ•ด

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

IP ์—ฐ๊ฒฐ ์ˆ˜์ค€์—์„œ ๊ท ํ˜• ์กฐ์ •

์ด๋Š” ์—ฌ๋Ÿฌ ์ธํ„ฐ๋„ท ์ฑ„๋„์„ ๋™์‹œ์— ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ์ €๋ ดํ•˜๊ณ  ์ธ๊ธฐ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ๋‹จ์ˆœํ™”๋ฅผ ์œ„ํ•ด ๊ฐ๊ฐ ๋„คํŠธ์›Œํฌ์—์„œ ์‹ค์ œ IP ์ฃผ์†Œ๋ฅผ ์ œ๊ณตํ•˜๋Š” 3๊ฐœ์˜ ์ธํ„ฐ๋„ท ๊ณต๊ธ‰์ž๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด ๋ชจ๋“  ๊ณต๊ธ‰์ž๋Š” ๋‹ค์ค‘ WAN ๊ธฐ๋Šฅ์„ ์ง€์›ํ•˜๋Š” ๋ผ์šฐํ„ฐ์— ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” mwanXNUMX ํŒจํ‚ค์ง€, mikrotik, ubiquiti ๋˜๋Š” ๊ธฐํƒ€ ๊ฐ€์ •์šฉ ๋ผ์šฐํ„ฐ๊ฐ€ ํฌํ•จ๋œ OpenWRT์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์˜ต์…˜์€ ๋” ์ด์ƒ ๋“œ๋ฌผ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์ƒํ™ฉ์„ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•˜๊ธฐ ์œ„ํ•ด ๊ณต๊ธ‰์ž๊ฐ€ ๋‹ค์Œ ์ฃผ์†Œ๋ฅผ ์ œ๊ณตํ–ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

WAN1 โ€” 11.11.11.11
WAN2 โ€” 22.22.22.22
WAN2 โ€” 33.33.33.33

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

์ง„์ •ํ•œ ์ธํ„ฐ๋„ท ์ฑ„๋„ ์š”์•ฝ - OpenMPTCPRouter
์—ฐ๊ฒฐ ์ˆ˜์ค€์—์„œ ๊ท ํ˜•์„ ์กฐ์ •ํ•  ๋•Œ ๊ฐ TCP ์—ฐ๊ฒฐ์€ ๋ณ„๋„์˜ ๊ณต๊ธ‰์ž๋ฅผ ํ†ต๊ณผํ•ฉ๋‹ˆ๋‹ค.

์ด ๊ท ํ˜• ์กฐ์ • ๋ชจ๋“œ๋Š” ์ข…์ข… ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ฌธ์ œ๋ฅผ ์•ผ๊ธฐํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋งŽ์€ ์‚ฌ์ดํŠธ์—์„œ๋Š” ์ฟ ํ‚ค์™€ ํ† ํฐ์„ ํด๋ผ์ด์–ธํŠธ์˜ IP ์ฃผ์†Œ์— ์—„๊ฒฉํ•˜๊ฒŒ ๋ฐ”์ธ๋”ฉํ•˜๊ณ , ๊ฐ‘์ž๊ธฐ ๋ณ€๊ฒฝ๋˜๋ฉด ์š”์ฒญ์ด ๊ฑฐ๋ถ€๋˜๊ฑฐ๋‚˜ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์‚ฌ์ดํŠธ์—์„œ ๋กœ๊ทธ์•„์›ƒ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ํด๋ผ์ด์–ธํŠธ-์€ํ–‰ ์‹œ์Šคํ…œ ๋ฐ ์—„๊ฒฉํ•œ ์‚ฌ์šฉ์ž ์„ธ์…˜ ๊ทœ์น™์ด ์žˆ๋Š” ๊ธฐํƒ€ ์‚ฌ์ดํŠธ์—์„œ ์ข…์ข… ์žฌํ˜„๋ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ๊ฐ„๋‹จํ•œ ์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค. VK.com์˜ ์Œ์•… ํŒŒ์ผ์€ IP์— ์—ฐ๊ฒฐ๋œ ์œ ํšจํ•œ ์„ธ์…˜ ํ‚ค๋ฅผ ํ†ตํ•ด์„œ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ด๋Ÿฌํ•œ ๋ฐธ๋Ÿฐ์‹ฑ์„ ์‚ฌ์šฉํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ๋Š” ์š”์ฒญ์ด ๊ณต๊ธ‰์ž๋ฅผ ํ†ต๊ณผํ•˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ์ข…์ข… ์˜ค๋””์˜ค๋ฅผ ์žฌ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์„ธ์…˜์ด ๋ฌถ์—ฌ ์žˆ์Šต๋‹ˆ๋‹ค.

์ง„์ •ํ•œ ์ธํ„ฐ๋„ท ์ฑ„๋„ ์š”์•ฝ - OpenMPTCPRouter
ํ† ๋ ŒํŠธ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•  ๋•Œ ์—ฐ๊ฒฐ ์ˆ˜์ค€ ๋ฐธ๋Ÿฐ์‹ฑ์€ ๋ชจ๋“  ์ฑ„๋„์˜ ๋Œ€์—ญํญ์„ ํ•ฉ์‚ฐํ•ฉ๋‹ˆ๋‹ค.

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

ํ•˜๋‚˜์˜ ๋‹จ์ผ TCP ์—ฐ๊ฒฐ์€ ํ•ญ์ƒ ํ•˜๋‚˜์˜ ๊ณต๊ธ‰์ž๋งŒ ํ†ต๊ณผํ•œ๋‹ค๋Š” ์ ์„ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, HTTP๋ฅผ ํ†ตํ•ด ํ•˜๋‚˜์˜ ๋Œ€์šฉ๋Ÿ‰ ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œํ•˜๋ฉด ๊ณต๊ธ‰์ž ์ค‘ ํ•˜๋‚˜๋ฅผ ํ†ตํ•ด ์—ฐ๊ฒฐ์ด ์ด๋ฃจ์–ด์ง€๋ฉฐ, ์ด ๊ณต๊ธ‰์ž์™€์˜ ์—ฐ๊ฒฐ์ด ๋Š์–ด์ง€๋ฉด ๋‹ค์šด๋กœ๋“œ๋„ ๋Š์–ด์ง‘๋‹ˆ๋‹ค.

์ง„์ •ํ•œ ์ธํ„ฐ๋„ท ์ฑ„๋„ ์š”์•ฝ - OpenMPTCPRouter
ํ•˜๋‚˜์˜ ์—ฐ๊ฒฐ์€ ํ•ญ์ƒ ํ•˜๋‚˜์˜ ์ธํ„ฐ๋„ท ์ฑ„๋„๋งŒ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ด๋Š” ์˜์ƒ๋ฐฉ์†ก์—์„œ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋‹ค. ์ŠคํŠธ๋ฆฌ๋ฐ ๋น„๋””์˜ค๋ฅผ ์ผ์ข…์˜ ์กฐ๊ฑด๋ถ€ Twitch๋กœ ๋ฐฉ์†กํ•˜๋Š” ๊ฒฝ์šฐ ๋น„๋””์˜ค ์ŠคํŠธ๋ฆผ์ด ํ•˜๋‚˜์˜ IP ์—ฐ๊ฒฐ ๋‚ด์—์„œ ๋ฐฉ์†ก๋˜๊ธฐ ๋•Œ๋ฌธ์— IP ์—ฐ๊ฒฐ ์ˆ˜์ค€์—์„œ ๊ท ํ˜•์„ ์กฐ์ •ํ•ด๋„ ํŠน๋ณ„ํ•œ ์ด์ ์ด ์ œ๊ณต๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ WAN 3 ๊ณต๊ธ‰์ž๊ฐ€ ํŒจํ‚ท ์†์‹ค์ด๋‚˜ ์†๋„ ๊ฐ์†Œ ๋“ฑ ํ†ต์‹  ๋ฌธ์ œ๋ฅผ ๊ฒช๊ธฐ ์‹œ์ž‘ํ•˜๋ฉด ์ฆ‰์‹œ ๋‹ค๋ฅธ ๊ณต๊ธ‰์ž๋กœ ์ „ํ™˜ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋ฐฉ์†ก์„ ์ค‘๋‹จํ•˜๊ณ  ๋‹ค์‹œ ์—ฐ๊ฒฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ง„์ •ํ•œ ์ฑ„๋„ ํ•ฉ์‚ฐ

์‹ค์ œ ์ฑ„๋„ ํ•ฉ์‚ฐ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ชจ๋“  ๊ณต๊ธ‰์ž๋ฅผ ํ†ตํ•ด ์กฐ๊ฑด๋ถ€ Twitch์— ๋Œ€ํ•œ ํ•˜๋‚˜์˜ ์—ฐ๊ฒฐ์„ ๋™์‹œ์— ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๊ณต๊ธ‰์ž ์ค‘ ํ•˜๋‚˜๋ผ๋„ ์ค‘๋‹จ๋˜๋”๋ผ๋„ ์—ฐ๊ฒฐ์ด ์ค‘๋‹จ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์•„์ง ์ตœ์ ์˜ ์†”๋ฃจ์…˜์ด ์—†๋Š” ๋†€๋ผ์šธ ์ •๋„๋กœ ์–ด๋ ค์šด ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์€ ์ด๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์‚ฌ์‹ค์กฐ์ฐจ ๋ชจ๋ฆ…๋‹ˆ๋‹ค!

์ด์ „ ๊ทธ๋ฆผ์—์„œ ์šฐ๋ฆฌ๋Š” ์กฐ๊ฑด๋ถ€ Twitch ์„œ๋ฒ„๊ฐ€ ํ•˜๋‚˜์˜ ์†Œ์Šค IP ์ฃผ์†Œ์—์„œ๋งŒ ๋น„๋””์˜ค ์ŠคํŠธ๋ฆผ์„ ์ˆ˜์‹ ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ๊ธฐ์–ตํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์–ด๋–ค ๊ณต๊ธ‰์ž๊ฐ€ ํƒˆ๋ฝํ–ˆ๋Š”์ง€, ์–ด๋–ค ๊ณต๊ธ‰์ž๊ฐ€ ์ž‘๋™ํ•˜๋Š”์ง€์— ๊ด€๊ณ„์—†์ด ํ•ญ์ƒ ์ผ์ •ํ•ด์•ผ ํ•จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ๋‹ฌ์„ฑํ•˜๋ ค๋ฉด ๋ชจ๋“  ์—ฐ๊ฒฐ์„ ์ข…๋ฃŒํ•˜๊ณ  ํ•˜๋‚˜๋กœ ๊ฒฐํ•ฉํ•˜๋Š” ํ•ฉ์‚ฐ ์„œ๋ฒ„๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์ง„์ •ํ•œ ์ธํ„ฐ๋„ท ์ฑ„๋„ ์š”์•ฝ - OpenMPTCPRouter
ํ•ฉ์‚ฐ ์„œ๋ฒ„๋Š” ๋ชจ๋“  ์ฑ„๋„์„ ํ•˜๋‚˜์˜ ํ„ฐ๋„๋กœ ํ†ตํ•ฉํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ์—ฐ๊ฒฐ์€ ํ•ฉ์‚ฐ ์„œ๋ฒ„ ์ฃผ์†Œ์—์„œ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค.

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

์ƒ์—…์šฉ ์†”๋ฃจ์…˜

์ด ๋ฌธ์ œ๋Š” ๋ผ์ด๋ธŒ ์ด๋ฒคํŠธ๋ฅผ ๋ฐฉ์†กํ•˜๊ณ  ๊ณ ํ’ˆ์งˆ ์ธํ„ฐ๋„ท์— ์ ‘์†ํ•  ์ˆ˜ ์—†๋Š” ์‚ฌ๋žŒ๋“ค์„ ์˜ค๋žซ๋™์•ˆ ๊ดด๋กญํ˜€ ์™”์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ž‘์—…์—๋Š” ๋ช‡ ๊ฐ€์ง€ ์ƒ์šฉ ์†”๋ฃจ์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Teradek์€ USB ๋ชจ๋Ž€ ํŒฉ์ด ์‚ฝ์ž…๋˜๋Š” ๊ดด๋ฌผ ๊ฐ™์€ ๋ผ์šฐํ„ฐ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

์ง„์ •ํ•œ ์ธํ„ฐ๋„ท ์ฑ„๋„ ์š”์•ฝ - OpenMPTCPRouter
์ฑ„๋„ ํ•ฉ์‚ฐ ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ ๋น„๋””์˜ค ๋ฐฉ์†ก์šฉ ๋ผ์šฐํ„ฐ

์ด๋Ÿฌํ•œ ์žฅ์น˜์—๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ HDMI ๋˜๋Š” SDI๋ฅผ ํ†ตํ•ด ๋น„๋””์˜ค ์‹ ํ˜ธ๋ฅผ ์บก์ฒ˜ํ•˜๋Š” ๊ธฐ๋Šฅ์ด ๋‚ด์žฅ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ผ์šฐํ„ฐ์™€ ํ•จ๊ป˜ ์ฑ„๋„ ํ•ฉ์‚ฐ ์„œ๋น„์Šค ๊ตฌ๋…๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋น„๋””์˜ค ์ŠคํŠธ๋ฆผ ์ฒ˜๋ฆฌ, ํŠธ๋žœ์Šค์ฝ”๋”ฉ ๋ฐ ์ถ”๊ฐ€ ์ค‘๊ณ„๋„ ํŒ๋งค๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์žฅ์น˜์˜ ๊ฐ€๊ฒฉ์€ ๋ชจ๋Ž€ ์„ธํŠธ์™€ ๋ณ„๋„์˜ ์„œ๋น„์Šค ๊ฐ€์ž…์„ ํฌํ•จํ•˜์—ฌ 2๋‹ฌ๋Ÿฌ๋ถ€ํ„ฐ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค.

๋•Œ๋กœ๋Š” ๊ฝค ๋ฌด์„ญ๊ฒŒ ๋ณด์ž…๋‹ˆ๋‹ค.

์ง„์ •ํ•œ ์ธํ„ฐ๋„ท ์ฑ„๋„ ์š”์•ฝ - OpenMPTCPRouter

OpenMPTCPRouter ์„ค์ •

ํ”„๋กœํ† ์ฝœ MP-TCP (MultiPath TCP)๋Š” ์—ฌ๋Ÿฌ ์ฑ„๋„์„ ํ†ตํ•ด ๋™์‹œ์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ฐœ๋ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๊ทธ์˜ iOS๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค WiFi์™€ ์…€๋ฃฐ๋Ÿฌ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์›๊ฒฉ ์„œ๋ฒ„์— ๋™์‹œ์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋‘ ๊ฐœ์˜ ๊ฐœ๋ณ„ TCP ์—ฐ๊ฒฐ์ด ์•„๋‹ˆ๋ผ ๋™์‹œ์— ๋‘ ์ฑ„๋„์„ ํ†ตํ•ด ์„ค์ •๋œ ํ•˜๋‚˜์˜ ์—ฐ๊ฒฐ์ด๋ผ๋Š” ์ ์„ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ์ž‘๋™ํ•˜๋ ค๋ฉด ์›๊ฒฉ ์„œ๋ฒ„๋„ MPTCP๋ฅผ ์ง€์›ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

OpenMPTCPR๋ผ์šฐํ„ฐ ์ง„์ •ํ•œ ์ฑ„๋„ ์š”์•ฝ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ์˜คํ”ˆ ์†Œ์Šค ์†Œํ”„ํŠธ์›จ์–ด ๋ผ์šฐํ„ฐ ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค. ์ €์ž๋Š” ํ”„๋กœ์ ํŠธ๊ฐ€ ์•ŒํŒŒ ๋ฒ„์ „ ์ƒํƒœ์ด์ง€๋งŒ ์ด๋ฏธ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๋งํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ธํ„ฐ๋„ท์— ์žˆ๋Š” ํ•ฉ์‚ฐ ์„œ๋ฒ„์™€ ์—ฌ๋Ÿฌ ์ธํ„ฐ๋„ท ๊ณต๊ธ‰์ž ๋ฐ ํด๋ผ์ด์–ธํŠธ ์žฅ์น˜ ์ž์ฒด๊ฐ€ ์—ฐ๊ฒฐ๋˜๋Š” ๋ผ์šฐํ„ฐ(์ปดํ“จํ„ฐ, ์ „ํ™”)์˜ ๋‘ ๋ถ€๋ถ„์œผ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ์ •์˜ ๋ผ์šฐํ„ฐ๋Š” Raspberry Pi, ์ผ๋ถ€ WiFi ๋ผ์šฐํ„ฐ ๋˜๋Š” ์ผ๋ฐ˜ ์ปดํ“จํ„ฐ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ์„ ์œ„ํ•œ ๊ธฐ์„ฑ ์–ด์…ˆ๋ธ”๋ฆฌ๊ฐ€ ์žˆ์–ด ๋งค์šฐ ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

์ง„์ •ํ•œ ์ธํ„ฐ๋„ท ์ฑ„๋„ ์š”์•ฝ - OpenMPTCPRouter
OpenMPTCPRouter ์ž‘๋™ ๋ฐฉ์‹

์š”์•ฝ ์„œ๋ฒ„ ์„ค์ •

ํ•ฉ์‚ฐ ์„œ๋ฒ„๋Š” ์ธํ„ฐ๋„ท์— ์œ„์น˜ํ•˜๋ฉฐ ํด๋ผ์ด์–ธํŠธ ๋ผ์šฐํ„ฐ์˜ ๋ชจ๋“  ์ฑ„๋„์—์„œ ํ•˜๋‚˜๋กœ ์—ฐ๊ฒฐ์„ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค. ์ด ์„œ๋ฒ„์˜ IP ์ฃผ์†Œ๋Š” OpenMPTCPRouter๋ฅผ ํ†ตํ•ด ์ธํ„ฐ๋„ท์— ์•ก์„ธ์Šคํ•  ๋•Œ ์™ธ๋ถ€ ์ฃผ์†Œ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

์ด ์ž‘์—…์—์„œ๋Š” Debian 10์˜ VPS ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

ํ•ฉ์‚ฐ ์„œ๋ฒ„ ์š”๊ตฌ ์‚ฌํ•ญ:

  • MPTCP๋Š” OpenVZ ๊ฐ€์ƒํ™”์—์„œ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ์ž์‹ ๋งŒ์˜ Linux ์ปค๋„์„ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์„œ๋ฒ„๋Š” ํ•˜๋‚˜์˜ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜์—ฌ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค. ์Šคํฌ๋ฆฝํŠธ๋Š” mptcp๋ฅผ ์ง€์›ํ•˜๋Š” ์ปค๋„๊ณผ ํ•„์š”ํ•œ ๋ชจ๋“  ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. Ubuntu ๋ฐ Debian์šฉ ์„ค์น˜ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

wget -O - http://www.openmptcprouter.com/server/debian10-x86_64.sh | sh

์„ฑ๊ณต์ ์ธ ์„œ๋ฒ„ ์„ค์น˜์˜ ๊ฒฐ๊ณผ์ž…๋‹ˆ๋‹ค.

์ง„์ •ํ•œ ์ธํ„ฐ๋„ท ์ฑ„๋„ ์š”์•ฝ - OpenMPTCPRouter

๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ €์žฅํ•˜๋ฉด ํด๋ผ์ด์–ธํŠธ ๋ผ์šฐํ„ฐ๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ  ์žฌ๋ถ€ํŒ…ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์„ค์น˜ ํ›„ SSH๋ฅผ ํฌํŠธ 65222์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์„ ๋ช…์‹ฌํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์žฌ๋ถ€ํŒ… ํ›„ ์ƒˆ ์ปค๋„๋กœ ๋ถ€ํŒ…ํ–ˆ๋Š”์ง€ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

uname -a 
Linux test-server.local 4.19.67-mptcp

๋ฒ„์ „ ๋ฒˆํ˜ธ ์˜†์— mptcp๋ผ๋Š” ๋ฌธ๊ตฌ๊ฐ€ ํ‘œ์‹œ๋˜์–ด ์žˆ๋Š”๋ฐ, ์ด๋Š” ์ปค๋„์ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์„ค์น˜๋˜์—ˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

ํด๋ผ์ด์–ธํŠธ ๋ผ์šฐํ„ฐ ์„ค์ •

์— ํ”„๋กœ์ ํŠธ ์›น์‚ฌ์ดํŠธ Raspberry Pi, Banana Pi, Lynksys ๋ผ์šฐํ„ฐ ๋ฐ ๊ฐ€์ƒ ๋จธ์‹ ๊ณผ ๊ฐ™์€ ์ผ๋ถ€ ํ”Œ๋žซํผ์—์„œ๋Š” ๊ธฐ์„ฑ ๋นŒ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
openmptcprouter์˜ ์ด ๋ถ€๋ถ„์€ OpenWRT๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉฐ LuCI๋ฅผ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ์‚ฌ์šฉํ•˜๋ฉฐ OpenWRT๋ฅผ ์ ‘ํ•ด๋ณธ ์‚ฌ๋žŒ์ด๋ผ๋ฉด ๋ˆ„๊ตฌ์—๊ฒŒ๋‚˜ ์นœ์ˆ™ํ•ฉ๋‹ˆ๋‹ค. ๋ฐฐํฌํŒ์˜ ๋ฌด๊ฒŒ๋Š” ์•ฝ 50MB์ž…๋‹ˆ๋‹ค!

์ง„์ •ํ•œ ์ธํ„ฐ๋„ท ์ฑ„๋„ ์š”์•ฝ - OpenMPTCPRouter

ํ…Œ์ŠคํŠธ ๋ฒค์น˜๋กœ์„œ ์ €๋Š” Raspberry Pi์™€ ๋‹ค์–‘ํ•œ ์šด์˜์ž(MTS ๋ฐ Megafon)๊ฐ€ ํฌํ•จ๋œ ์—ฌ๋Ÿฌ USB ๋ชจ๋Ž€์„ ์‚ฌ์šฉํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. SD ์นด๋“œ์— ์ด๋ฏธ์ง€๋ฅผ ์“ฐ๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๋ ค๋“œ๋ฆด ํ•„์š”๋Š” ์—†์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ฒ˜์Œ์— Raspberry Pi์˜ ์ด๋”๋„ท ํฌํŠธ๋Š” ๊ณ ์ • IP ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” LAN์œผ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. 192.168.100.1. ์ฑ…์ƒ ์œ„์˜ ์ „์„ ์„ ๋งŒ์ง€์ž‘๊ฑฐ๋ฆฌ๋Š” ๊ฒƒ์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด Raspberry Pi๋ฅผ WiFi ์•ก์„ธ์Šค ํฌ์ธํŠธ์— ์—ฐ๊ฒฐํ•˜๊ณ  ์ปดํ“จํ„ฐ์˜ WiFi ์–ด๋Œ‘ํ„ฐ๋ฅผ ๊ณ ์ • ์ฃผ์†Œ๋กœ ์„ค์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. 192.168.100.2. DHCP ์„œ๋ฒ„๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฏ€๋กœ ๊ณ ์ • ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด์ œ ์›น ์ธํ„ฐํŽ˜์ด์Šค์— ๋กœ๊ทธ์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค 192.168.100.1

์ฒ˜์Œ ๋กœ๊ทธ์ธํ•˜๋ฉด ์‹œ์Šคํ…œ์—์„œ ๋ฃจํŠธ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์„ค์ •ํ•˜๋ผ๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋˜๋ฉฐ, ๋™์ผํ•œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋กœ SSH๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ง„์ •ํ•œ ์ธํ„ฐ๋„ท ์ฑ„๋„ ์š”์•ฝ - OpenMPTCPRouter
LAN ์„ค์ •์—์„œ ์›ํ•˜๋Š” ์„œ๋ธŒ๋„ท์„ ์„ค์ •ํ•˜๊ณ  DHCP ์„œ๋ฒ„๋ฅผ ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ณ„๋„์˜ DHCP ์„œ๋ฒ„์™€ ํ•จ๊ป˜ USB ์ด๋”๋„ท ์ธํ„ฐํŽ˜์ด์Šค๋กœ ์ •์˜๋œ ๋ชจ๋Ž€์„ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ์„ค์น˜๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ถ”๊ฐ€ ํŒจํ‚ค์ง€. ์ ˆ์ฐจ๋Š” ์ผ๋ฐ˜ OpenWRT์—์„œ ๋ชจ๋Ž€์„ ์„ค์ •ํ•˜๋Š” ๊ฒƒ๊ณผ ๋™์ผํ•˜๋ฏ€๋กœ ์—ฌ๊ธฐ์„œ๋Š” ๋‹ค๋ฃจ์ง€ ์•Š๊ฒ ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ์œผ๋กœ WAN ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฒ˜์Œ์— ์‹œ์Šคํ…œ์€ ๋‘ ๊ฐœ์˜ ๊ฐ€์ƒ ์ธํ„ฐํŽ˜์ด์Šค WAN1๊ณผ WAN2๋ฅผ ์ƒ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ฆฌ์  ์žฅ์น˜๋ฅผ ํ• ๋‹นํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ œ ๊ฒฝ์šฐ์—๋Š” USB ๋ชจ๋Ž€ ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

์ธํ„ฐํŽ˜์ด์Šค ์ด๋ฆ„๊ณผ์˜ ํ˜ผ๋™์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด SSH๋ฅผ ํ†ตํ•ด ์—ฐ๊ฒฐํ•˜๋Š” ๋™์•ˆ dmesg ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

๋ชจ๋Ž€ ์ž์ฒด๊ฐ€ ๋ผ์šฐํ„ฐ ์—ญํ• ์„ ํ•˜๊ณ  DHCP ์„œ๋ฒ„๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‚ด๋ถ€ ๋„คํŠธ์›Œํฌ ๋ฒ”์œ„์˜ ์„ค์ •์„ ๋ณ€๊ฒฝํ•˜๊ณ  DHCP ์„œ๋ฒ„๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” ๋‘ ๋ชจ๋Ž€ ๋ชจ๋‘ ๋™์ผํ•œ ๋„คํŠธ์›Œํฌ์—์„œ ์ฃผ์†Œ๋ฅผ ๋ฐœ๊ธ‰ํ•˜๊ณ  ์ด๋กœ ์ธํ•ด ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

OpenMPTCPRouter์—์„œ๋Š” WAN ์ธํ„ฐํŽ˜์ด์Šค ์ฃผ์†Œ๊ฐ€ ์ •์ ์ด์–ด์•ผ ํ•˜๋ฏ€๋กœ ๋ชจ๋Ž€์šฉ ์„œ๋ธŒ๋„ท์„ ๋งŒ๋“ค๊ณ  ์‹œ์Šคํ…œ โ†’ openmptcprouter โ†’ ์ธํ„ฐํŽ˜์ด์Šค ์„ค์ • ๋ฉ”๋‰ด์—์„œ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” ํ•ฉ์‚ฐ ์„œ๋ฒ„ ์„ค์น˜ ์ค‘์— ์–ป์€ IP ์ฃผ์†Œ์™€ ์„œ๋ฒ„ ํ‚ค๋ฅผ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ง„์ •ํ•œ ์ธํ„ฐ๋„ท ์ฑ„๋„ ์š”์•ฝ - OpenMPTCPRouter

์„ค์ •์ด ์„ฑ๊ณตํ•˜๋ฉด ์ƒํƒœ ํŽ˜์ด์ง€์— ๋น„์Šทํ•œ ๊ทธ๋ฆผ์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ๋ผ์šฐํ„ฐ๊ฐ€ ํ•ฉ์‚ฐ ์„œ๋ฒ„์— ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ์—ˆ๊ณ  ๋‘ ์ฑ„๋„ ๋ชจ๋‘ ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•˜๊ณ  ์žˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ง„์ •ํ•œ ์ธํ„ฐ๋„ท ์ฑ„๋„ ์š”์•ฝ - OpenMPTCPRouter

๊ธฐ๋ณธ ๋ชจ๋“œ๋Š” Shadowsocks + mptcp์ž…๋‹ˆ๋‹ค. ์ด๋Š” ๋ชจ๋“  ์—ฐ๊ฒฐ์„ ์ž์ฒด์ ์œผ๋กœ ๋ž˜ํ•‘ํ•˜๋Š” ํ”„๋ก์‹œ์ž…๋‹ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” TCP๋งŒ ์ฒ˜๋ฆฌํ•˜๋„๋ก ๊ตฌ์„ฑ๋˜์–ด ์žˆ์ง€๋งŒ UDP๋„ ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ง„์ •ํ•œ ์ธํ„ฐ๋„ท ์ฑ„๋„ ์š”์•ฝ - OpenMPTCPRouter

์ƒํƒœ ํŽ˜์ด์ง€์— ์˜ค๋ฅ˜๊ฐ€ ์—†์œผ๋ฉด ์„ค์ •์ด ์™„๋ฃŒ๋œ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ผ๋ถ€ ๊ณต๊ธ‰์ž์˜ ๊ฒฝ์šฐ ํŠธ๋ž˜ํ”ฝ ๊ฒฝ๋กœ๋ฅผ ๋”ฐ๋ผ mptcp ํ”Œ๋ž˜๊ทธ๊ฐ€ ๋Š์–ด์ง€๋Š” ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ทธ๋Ÿฌ๋ฉด ๋‹ค์Œ ์˜ค๋ฅ˜๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

์ง„์ •ํ•œ ์ธํ„ฐ๋„ท ์ฑ„๋„ ์š”์•ฝ - OpenMPTCPRouter

์ด ๊ฒฝ์šฐ MPTCP๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๋‹ค๋ฅธ ์ž‘๋™ ๋ชจ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—.

๊ฒฐ๋ก 

OpenMPTCPRouter ํ”„๋กœ์ ํŠธ๋Š” ์ฑ„๋„ ํ•ฉ์‚ฐ ๋ฌธ์ œ์— ๋Œ€ํ•œ ์œ ์ผํ•œ ๊ฐœ๋ฐฉํ˜• ์ข…ํ•ฉ ์†”๋ฃจ์…˜์ผ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋งค์šฐ ํฅ๋ฏธ๋กญ๊ณ  ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋ชจ๋“  ๊ฒƒ์€ ๋‹จ๋‹จํžˆ ๋‹ซํ˜€ ์žˆ๊ณ  ๋…์ ์ ์ด๊ฑฐ๋‚˜ ์ผ๋ฐ˜ ์‚ฌ๋žŒ์ด ์ดํ•ดํ•  ์ˆ˜ ์—†๋Š” ๋ณ„๋„์˜ ๋ชจ๋“ˆ์ž…๋‹ˆ๋‹ค. ํ˜„์žฌ ๊ฐœ๋ฐœ ๋‹จ๊ณ„์—์„œ๋Š” ํ”„๋กœ์ ํŠธ๊ฐ€ ์•„์ง ๋งค์šฐ ์กฐ์žกํ•˜๊ณ  ๋ฌธ์„œํ™”๊ฐ€ ๋งค์šฐ ์—ด์•…ํ•˜๋ฉฐ ๋งŽ์€ ์‚ฌํ•ญ์ด ์„ค๋ช…๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋™์‹œ์— ๊ทธ๊ฒƒ์€ ์—ฌ์ „ํžˆ โ€‹โ€‹์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๊ณ„์† ๋ฐœ์ „ํ•˜์—ฌ ์ฑ„๋„์„ ์ ์ ˆํ•˜๊ฒŒ ๊ฒฐํ•ฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€์ •์šฉ ๋ผ์šฐํ„ฐ๊ฐ€ ์ถœ์‹œ๋˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

์ง„์ •ํ•œ ์ธํ„ฐ๋„ท ์ฑ„๋„ ์š”์•ฝ - OpenMPTCPRouter

Instagram์—์„œ ๊ฐœ๋ฐœ์ž๋ฅผ ํŒ”๋กœ์šฐํ•˜์„ธ์š”

์ง„์ •ํ•œ ์ธํ„ฐ๋„ท ์ฑ„๋„ ์š”์•ฝ - OpenMPTCPRouter

์ถœ์ฒ˜ : habr.com

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