정의
콘텐츠 전송 네트워크(CDN)는 영상이나 이미지 같은 데이터를 세계 곳곳의 서버에 미리 복사해 두는 기술이에요. 누군가 접속하면 원래 서버 대신 그 사람과 가까운 서버가 파일을 내려 줘요. 데이터가 오가는 거리가 짧아지니 기다리는 시간이 크게 줄어요.
동네 창고에 미리 갖다 놓아요
택배를 떠올려 볼게요. 지구 반대편 공장에서 물건을 하나하나 부치면 며칠이 걸려요. 하지만 같은 물건을 동네 창고에 미리 쌓아 두면 주문한 지 얼마 지나지 않아 받을 수 있어요.
인터넷도 사정이 비슷해요. 바다 건너 서버에서 영상을 곧장 받아 오면 데이터가 해저 케이블을 타고 먼 길을 왕복해야 해요. 신호가 아무리 빨라도 거리가 멀면 오가는 데 시간이 걸려요.
그래서 서비스 회사들은 인기 있는 파일을 세계 곳곳의 서버에 미리 복사해 둬요. 서울에서 접속하면 서울 근처 서버가, 파리에서 접속하면 파리 근처 서버가 대신 답해요. 이렇게 흩어 놓은 창고 하나하나를 사용자 가까이에 놓인 가장자리 서버라고 불러요.
덕분에 해외 영상도 버튼을 누르자마자 재생돼요. 파일이 바다를 건너온 것이 아니라 옆 동네에서 온 것이니까요.
손님이 한꺼번에 몰려도 버텨요
인기 드라마가 공개되는 순간을 떠올려 보세요. 같은 시간에 수백만 명이 같은 영상을 눌러요. 원래 서버 한 곳이 이 요청을 혼자 받아 내면 금세 숨이 차요.
복사본을 여러 곳에 흩어 두면 이야기가 달라져요. 접속은 각 지역 서버로 나뉘어 들어가고, 원래 서버는 그중 일부만 상대하면 돼요. 감당해야 할 짐을 잘게 쪼개는 셈이에요.
이 구조는 공격을 막는 데도 쓰여요. 한꺼번에 접속을 퍼부어 서비스를 멈추게 하려는 시도가 있어도, 세계에 흩어진 서버들이 나눠 받으면 견디기 쉬워져요. 원래 서버의 주소가 밖으로 잘 드러나지 않는 점도 도움이 돼요.
그래서 원본 서버를 손님 앞에 직접 세우지 않는 것이 이 방식의 큰 이점이에요. 매장 앞에 계산대를 여럿 두어 본사 사무실이 붐비지 않게 하는 것과 닮았어요.
조금 더 정확히 말하면
조금 더 정확히 말하면 이 기술이 인터넷 자체를 빠르게 만들지는 않아요. 데이터가 지나는 길이 넓어지는 것이 아니라, 오가야 하는 거리가 짧아지는 것뿐이에요. 그래서 거리 때문에 생기던 기다림이 주로 줄어들어요.
가까운 서버에 사본이 없을 때도 있어요. 아무도 찾지 않던 파일이라면 그 서버가 원본 서버에 한 번 다녀와야 해요. 이 첫 요청은 평소보다 느리고, 대신 그 뒤로는 사본이 남아 빨라져요.
장바구니 내용처럼 사람마다 다른 정보는 미리 복사해 둘 수 없어요. 이런 요청은 결국 원본 서버까지 다녀와야 해요. 그래서 이 기술은 여러 사람이 똑같이 받아 가는 덩치 큰 공통 파일에서 가장 크게 힘을 발휘해요.
원본이 바뀌었는데 사본이 그대로 남으면 지난 화면이 보이기도 해요. 그래서 사본에 유효 기간을 걸어 두거나 파일 이름을 바꿔 새 사본을 받게 하는 방법을 함께 써요.
흔한 오해
CDN을 쓰면 내가 쓰는 인터넷 속도 자체가 빨라진다.
회선이 넓어지는 것은 아니에요. 데이터가 오가는 거리가 짧아져서 기다리는 시간이 줄어드는 것이에요.
CDN을 붙이면 원래 서버는 더 이상 필요 없다.
사본을 만들어 줄 원본은 그대로 필요해요. 사람마다 다른 정보나 처음 요청받는 파일은 원본 서버가 맡아 처리해요.
일상에서 만나요
해외 영상 서비스에서 새 회차를 눌렀을 때 국내 통신망 안의 서버가 영상을 대신 내려 줘요.
여러 사이트가 함께 쓰는 웹 글꼴과 이미지가 어디서 접속하든 비슷하게 빨리 뜨는 것도 같은 원리예요.
그러니까 한마디로
인기 있는 파일을 세계 곳곳에 미리 복사해 두고 접속한 사람과 가까운 서버가 내려 주어, 기다림과 서버 부담을 함께 줄이는 기술이에요.