๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
ComputerScience ๐Ÿ“š/์ปดํ“จํ„ฐ๋„คํŠธ์›Œํฌ

[๋„คํŠธ์›Œํฌ] ์ฝ˜ํ…์ธ  ๋ถ„๋ฐฐ ๋„คํŠธ์›Œํฌ(CDN)

by dkswnkk 2022. 5. 8.

 

์„œ๋ก 

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

์ด๋ฒˆ ๊ฒŒ์‹œ๊ธ€์—์„œ๋Š” ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๊ฑฐ์˜ ๋Œ€๋ถ€๋ถ„์˜ ๋น„๋””์˜ค ์ŠคํŠธ๋ฆฌ๋ฐ ํšŒ์‚ฌ๋“ค์ด ์ด์šฉํ•˜๋Š” ์ฝ˜ํ…์ธ  ๋ถ„๋ฐฐ ๋„คํŠธ์›Œํฌ(Contents Distribution Network, CDN)์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

์ฝ˜ํ…์ธ  ๋ถ„๋ฐฐ ๋„คํŠธ์›Œํฌ(Contents Distribution Network, CDN)

CDN์€ ๋‹ค์ˆ˜์˜ ์ง€์ ์— ๋ถ„์‚ฐ๋œ ์„œ๋ฒ„๋“ค์„ ์šด์˜ํ•˜๋ฉฐ, ๋น„๋””์˜ค ๋ฐ ๋‹ค๋ฅธ ํ˜•ํƒœ์˜ ์›น ์ฝ˜ํ…์ธ  ๋ฐ์ดํ„ฐ์˜ ๋ณต์‚ฌ๋ณธ์„ ์ด๋“ค ๋ถ„์‚ฐ ์„œ๋ฒ„์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ์ตœ์„ ์˜ ์„œ๋น„์Šค์™€ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜(user experience)์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋Š” ์ง€์ ์˜ CDN ์„œ๋ฒ„๋กœ ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค. CDN์€ ์ฝ˜ํ…์ธ  ์ œ๊ณต์ž๊ฐ€ ์†Œ์œ ํ•œ ์‚ฌ์„ค CDN์ผ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์˜ˆ๋ฅผ ๋“ค์–ด ์œ ํŠœ๋ธŒ์˜ ๋น„๋””์˜ค๋Š” ๊ตฌ๊ธ€์˜ CDN์„ ํ†ตํ•ด ๋ถ„๋ฐฐ๋ฉ๋‹ˆ๋‹ค. ๋˜๋Š” ์ œ 3์ž๊ฐ€ ์šด์˜ํ•˜๋Š” CDN์„ ํ†ตํ•ด ๋‹ค์ˆ˜์˜ ์ฝ˜ํ…์ธ  ์ œ๊ณต์ž๊ฐ€ ์„œ๋น„์Šคํ•  ์ˆ˜ ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. Akamai, Limelight, ๊ทธ๋ฆฌ๊ณ  Level-3๊ฐ€ ์ œ 3์ž๊ฐ€ ์šด์˜ํ•˜๋Š” CDN์— ์†ํ•ฉ๋‹ˆ๋‹ค.

CND์€ ์ผ๋ฐ˜์ ์œผ๋กœ ์„œ๋ฒ„์˜ ์œ„์น˜์— ๋Œ€ํ•ด ๋‹ค์Œ ๋‘ ๊ฐ€์ง€ ์ฒ ํ•™ ์ค‘ ํ•˜๋‚˜๋ฅผ ์ฑ„์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ข…๋ฅ˜ ํŠน์ง• ์žฅ๋‹จ์ 
Enter Deep ์„œ๋ฒ„ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์„ธ๊ณ„ ๊ณณ๊ณณ์˜ ์ ‘์† ๋„คํŠธ์›Œํฌ์— ๊ตฌ์ถ•ํ•จ์œผ๋กœ์จ ISP์˜ ์ ‘์† ๋„คํŠธ์›Œํฌ๋กœ ๊นŠ์ˆ™์ด ๋“ค์–ด๊ฐ€๋Š” ๊ฒƒ์ด๋‹ค. - ์„œ๋ฒ„๋ฅผ ์ตœ๋Œ€ํ•œ ์‚ฌ์šฉ์ž ๊ฐ€๊นŒ์ด์— ์œ„์น˜์‹œ์ผœ ์‚ฌ์šฉ์ž๊ฐ€ CDN ์„œ๋ฒ„ ์‚ฌ์ด์˜ ๋งํฌ ๋ฐ ๋ผ์šฐํ„ฐ ์ˆ˜๋ฅผ ์ค„์ด๊ณ , ์‚ฌ์šฉ์ž๊ฐ€ ๊ฒฝํ—˜ํ•˜๋Š” ์ง€์—ฐ ์‹œ๊ฐ„ ๋ฐ ์ฒ˜๋ฆฌ์œจ์„ ํ–ฅ์ƒ์‹œํ‚จ๋‹ค.
- ๊ณ ๋„๋กœ ๋ถ„์‚ฐ๋œ ์„ค๊ณ„๋กœ ์ธํ•ด ์„œ๋ฒ„ ํด๋Ÿฌ์Šคํ„ฐ๋ฅด ์œ ์ง€ ๊ด€๋ฆฌํ•˜๋Š” ๋น„์šฉ์ด ์ปค์ง„๋‹ค.
Bring Home ๋ณด๋‹ค ์ ์€ ์ˆ˜์˜ ํ•ต์‹ฌ ์ง€์ ์— ํฐ ๊ทœ๋ชจ์˜ ์„œ๋ฒ„ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ตฌ์ถ•ํ•˜์—ฌ ISP๋ฅผ Home์œผ๋กœ ๊ฐ€์ ธ์˜ค๋Š” ๊ฐœ๋…์ด๋‹ค. - Enter Deep ๋ฐฉ์‹์— ๋น„ํ•ด ์œ ์ง€ ๋ฐ ๊ด€๋ฆฌ ๋น„์šฉ์ด ์ค„์–ด๋“ค์ง€๋งŒ ์‚ฌ์šฉ์ž๊ฐ€ ๋Š๋ผ๋Š” ์ง€์—ฐ์‹œ๊ฐ„๊ณผ ์ฒ˜๋ฆฌ์œจ์€ ์ƒ๋Œ€์ ์œผ๋กœ ๋‚˜๋น ์ง„๋‹ค.

์„œ๋ฒ„ ํด๋Ÿฌ์Šคํ„ฐ์˜ ์œ„์น˜๊ฐ€ ์ •ํ•ด์ง€๋ฉด CDN์€ ์ฝ˜ํ…์ธ ์˜ ๋ณต์‚ฌ๋ณธ์„ ์ด๋“ค ํด๋Ÿฌ์Šคํ„ฐ์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. CDN์€ ๊ฐ ํด๋Ÿฌ์Šคํ„ฐ๋งˆ๋‹ค ๋ชจ๋“  ๋น„๋””์˜ค์˜ ๋ณต์‚ฌ๋ณธ์„ ์ „๋ถ€ ์œ ์ง€ํ•  ํ•„์š”๋Š” ์—†๋Š”๋ฐ, ์ด๋Š” ์–ด๋–ค ๋น„๋””์˜ค๋Š” ์ธ๊ธฐ๊ฐ€ ๊ฑฐ์˜ ์—†๊ฑฐ๋‚˜ ์ผ๋ถ€ ํŠน์ • ๊ตญ๊ฐ€์—์„œ๋งŒ ์ธ๊ธฐ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ CND์€ ํด๋Ÿฌ์Šคํ„ฐ์— ๋Œ€ํ•ด Push ๋ฐฉ์‹์ด ์•„๋‹Œ Pull ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์–ด๋–ค ์‚ฌ์šฉ์ž๊ฐ€ ์ง€์—ญ ํด๋Ÿฌ์Šคํ„ฐ์— ์—†๋Š” ๋น„๋””์˜ค๋ฅผ ์š”์ฒญํ•˜๋ฉด, ํ•ด๋‹น ๋น„๋””์˜ค๋ฅผ ์ค‘์•™ ์„œ๋ฒ„๋‚˜ ๋‹ค๋ฅธ ํด๋Ÿฌ์Šคํ„ฐ๋กœ๋ถ€ํ„ฐ ์ „์†ก๋ฐ›์•„ ์‚ฌ์šฉ์ž์—๊ฒŒ ์„œ๋น„์Šคํ•˜๋Š” ๋™์‹œ์— ๋ณต์‚ฌ๋ณธ์„ ๋งŒ๋“ค์–ด ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

์ธํ„ฐ๋„ท ์บ์‹œ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ €์žฅ ๊ณต๊ฐ„์ด ๊ฐ€๋“ ์ฐจ๋ฉด ์ž์ฃผ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ๋น„๋””์˜ค ๋ฐ์ดํ„ฐ๋Š” ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค.

 

CND ๋™์ž‘

CND์„ ๊ตฌ์ถ•ํ•˜๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐฉ์‹์— ๋Œ€ํ•ด ์•Œ์•˜์œผ๋‹ˆ, ์ด์ œ CDN์˜ ๊ตฌ์ฒด์ ์ธ ๋™์ž‘์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ํ˜ธ์ŠคํŠธ์˜ ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ URL์„ ์ง€์ •ํ•จ์œผ๋กœ์จ ํŠน์ • ๋น„๋””์˜ค์˜ ์žฌ์ƒ์„ ์š”์ฒญํ•˜๋ฉด CDN์€ ๊ทธ ์š”์ฒญ์„ ๊ฐ€๋กœ์ฑ„๊ณ  ์•„๋ž˜์™€ ๊ฐ™์€ ํ–‰๋™์„ ํ•ฉ๋‹ˆ๋‹ค.

  1. ๊ฐ€๋กœ์ฑˆ ์‹œ์ ์—์„œ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๊ฐ€์žฅ ์ ๋‹นํ•œ CDN ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์„ ํƒํ•˜๊ณ ,
  2. ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ํ•ด๋‹น ํด๋Ÿฌ์Šคํ„ฐ์˜ ์„œ๋ฒ„๋กœ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

์กฐ๊ธˆ๋งŒ ๋” ์ž์„ธํžˆ ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์„ ๊ฐ€๋กœ์ฑ„๊ณ  ๋‹ค๋ฅธ ๊ณณ์œผ๋กœ ์—ฐ๊ฒฐํ•˜๋Š” ์ ˆ์ฐจ์— ๋Œ€ํ•ด ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

NetCinema๋ผ๋Š” ์ฝ˜ํ…์ธ  ์ œ๊ณต์ž๊ฐ€ KingCDN์ด๋ผ๋Š” CDN ์—…์ฒด๋ฅผ ์ด์šฉํ•ด ๋น„๋””์˜ค๋ฅผ ๊ณ ๊ฐ์—๊ฒŒ ๋ถ„๋ฐฐํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ์‹œ๋‹ค. NetCinema์˜ ์›น ํŽ˜์ด์ง€์—๋Š” ๊ฐ ๋น„๋””์˜ค๊ฐ€ "video"๋ผ๋Š” ๋ฌธ์ž์—ด๊ณผ ๊ณ ์œ ํ•œ ID๋ฅผ ํฌํ•จํ•˜๋Š” URL์„ ํ• ๋‹น๋ฐ›์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋ธ”๋ž™ํ•‘ํฌ ๋ฎค์ง๋น„๋””์˜ค๋Š” http://video.netcinema.com/6Y7B23V ๋ผ๋Š”URL์„ ํ• ๋‹น๋ฐ›์Šต๋‹ˆ๋‹ค. ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด 6๋‹จ๊ณ„์˜ ๊ณผ์ •์ด ์ผ์–ด๋‚ฉ๋‹ˆ๋‹ค.

DNS๋Š” ์‚ฌ์šฉ์ž ์š”์ฒญ์„ CDN ์„œ๋ฒ„๋กœ ๋ณด๋‚ธ๋‹ค.

  1. ์‚ฌ์šฉ์ž๊ฐ€ NetCinema์˜ ์›นํŽ˜์ด์ง€๋ฅผ ๋ฐฉ๋ฌธํ•œ๋‹ค.
  2. ์‚ฌ์šฉ์ž๊ฐ€ http://video.netcinema.com/6Y7B23V ๋งํฌ๋ฅผ ํด๋ฆญํ•˜๋ฉด, ์‚ฌ์šฉ์ž์˜ ํ˜ธ์ŠคํŠธ๋Š” video.netcinema.com์— ๋Œ€ํ•œ DNS query๋ฅผ ๋ณด๋‚ธ๋‹ค.
  3. ์‚ฌ์šฉ์ž์˜ ์ง€์—ญ DNS ์„œ๋ฒ„(LDNS)๋Š” ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์˜ "video"๋ฌธ์ž์—ด์„ ๊ฐ์ง€ํ•˜๊ณ ๋Š”, ํ•ด๋‹น query๋ฅผ Netcinema์˜ ์ฑ…์ž„ DNS ์„œ๋ฒ„๋กœ ์ „๋‹ฌํ•œ๋‹ค. NetCinema ์ฑ…์ž„ DNS ์„œ๋ฒ„๋Š” ํ•ด๋‹น DNS query๋ฅผ KingCDN์œผ๋กœ ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด IP ์ฃผ์†Œ ๋Œ€์‹ ์— KingCDN์˜ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„(์˜ˆ: a1105.kingcdn.com)์„ LDNS์—๊ฒŒ ์•Œ๋ ค์ค€๋‹ค.
  4. ์ด ์‹œ์ ๋ถ€ํ„ฐ DNS query๋Š” KingCDN์˜ ์‚ฌ์„ค DNS ๊ตฌ์กฐ๋กœ ๋“ค์–ด๊ฐ€๊ฒŒ ๋œ๋‹ค. ์‚ฌ์šฉ์ž์˜ LDNS๋Š” a1105.kingcdn.com์— ๋Œ€ํ•œ ๋‘ ๋ฒˆ์งธ query๋ฅผ ๋ณด๋‚ด๊ณ  ์ด๋Š” kingCDN์˜ DNS์— ์˜ํ•ด KingCDN ์ฝ˜ํ…์ธ  ์„œ๋ฒ„์˜ IP ์ฃผ์†Œ๋กœ ๋ณ€ํ™˜๋˜์–ด LDNS์—๊ฒŒ ์‘๋‹ต๋œ๋‹ค. ์ด๋•Œ, ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ฝ˜ํ…์ธ ๋ฅผ ์ „์†ก๋ฐ›๊ฒŒ ๋  ์„œ๋ฒ„๊ฐ€ ๊ฒฐ์ •๋œ๋‹ค.
  5. LDNS๋Š” ์ฝ˜ํ…์ธ ๋ฅผ ์ œ๊ณตํ•  CND ์„œ๋ฒ„์˜ IP ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉ์ž ํ˜ธ์ŠคํŠธ์—๊ฒŒ ์•Œ๋ ค์ค€๋‹ค.
  6. ํด๋ผ์ด์–ธํŠธ๋Š” KingCND ์„œ๋ฒ„์˜ IP ์ฃผ์†Œ๋ฅผ ์–ป๊ณ  ๋‚˜๋ฉด, ํ•ด๋‹น IP ์ฃผ์†Œ๋กœ ์ง์ ‘ TCP ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•˜๊ณ  ๋น„๋””์˜ค์— ๋Œ€ํ•œ HTTP Get ์š”์ฒญ์„ ์ „์†กํ•œ๋‹ค.

๋Œ“๊ธ€