CDN이란? 넷플릭스 끊김이 거의 없는 이유
- Network
- 2023. 3. 21.
넷플릭스는 전 세계에 고화질 영상 스트리밍 서비스를 제공하고 있지만 끊김이 거의 없습니다. 네트워크는 물리적인 거리에 영향을 받는데 어떻게 쾌적할 수 있을까요? 사용자에게 물리적으로 가까운 곳에 일종의 복제 서버를 두기 때문입니다. 이 개념이 CDN입니다.
CDN이란?
CDN(Content Delivery Network)은 다양한 위치에 배치된 서버의 분산 네트워크입니다. 사용자가 물리적으로 가까운 서버에서 리소스를 사용하도록 함으로써 응답 속도를 빠르고 쾌적하게 하기 위해 사용됩니다. CDN에서 서로 다른 지역에 분산된 네트워크의 물리적 위치를 PoP(Point of Presence)라고 부릅니다.
CDN을 사용하면 사용자의 응답 대기 시간을 줄일 수 있고, 트래픽이 급증할 때 로드가 분산되는 효과를 얻을 수 있습니다. 원본 서버의 부하와 사용량을 줄임으로써 호스팅, 인프라 비용을 줄이는데 도움이 될 수 있습니다. DDoS 공격 등으로부터도 보호할 수 있는 보안 기능을 제공하기도 합니다.
CDN을 서비스하는 회사로는 Akamai Technologies, Cloudflare, Amazon CloudFront, Fastly 등이 있습니다.
예시) 넷플릭스가 사용하는 CDN
넷플릭스는 오픈 커넥트(Open Connect)라는 자체 CDN을 운영하고 있습니다. 이는 전 세계에 넷플릭스를 서비스하더라도 끊김을 최소화하면서 운영할 수 있는 동력이 되는 것입니다.
예를 들어, 넷플릭스는 콘텐츠를 오픈 커넥트 서버로 수집하고 캐싱합니다. 원본 서버에 있는 콘텐츠의 복사본이 물리적으로 다른 지역에 있는 오픈 커넥트 서버에 저장되는 개념입니다.
만약 한국에서 넷플릭스를 보면 넷플릭스는 서버, 네트워크 상태, 사용자와의 근접성 등을 고려해서 최선의 오픈 커넥트 서버를 결정합니다. 그리고 해당 오픈 커넥트 서버는 사용자의 장치로 스트리밍 됩니다.
사설망에서 CDN을 잘 쓰지 않는 이유
사설망을 사용하는 회사에서도 CDN을 사용할 수는 있습니다. 성능, 안정성, 보안 측면에서 도움이 될 수 있습니다. 그러나 사용하는 경우가 많지는 않습니다. CDN은 지리적으로 넓게 서비스할 때 효과적인데, 조직의 사설망의 경우 그 범위가 좁은 편입니다. 또 시스템에 대한 사용자 수가 항상 일정 수준으로 정해져 있기 때문에 CDN의 필요성이 상대적으로 떨어집니다.
'Network' 카테고리의 다른 글
FIN_WAIT_1, FIN_WAIT_2, TIME_WAIT 상태란? (0) | 2023.04.08 |
---|---|
NFS(Network File System) 서버란? (0) | 2023.04.01 |
네트워크 타임아웃(Timeout)이 필요한 이유 (0) | 2023.03.15 |
프록시 서버란? (feat. 피들러가 세션 수집하는 원리) (0) | 2023.03.11 |
서버 이중화 active-active대신 active-standby 사용하는 이유 (0) | 2023.02.13 |