1. CND 이란?
- 컨텐츠를 효율적으로 전달하기 위해 여러 노드들을 사용하는 네트워크
- CND을 사용하면 분산된 환경을 만드는 것 : 쉽게 말하면 파일 전송 대행 서비스
- 결론
- CDN 파일을 대신 전송해 주는 서비스
- 사용자가 요청한 파일을 대신 응답 해 주는 서비스
- 그외
- 사용하지 안항도 웹 서비스 구성 및 운영 가능
- 이벤트와 같이 일시적 사용자가 급증 할 경우, 요청 및 트래픽 처리를 위해서는 사전에 충분한 인프라 구성 필요
- 이 인프라를 상시 유지하는 건 비효율적
- 사용하는 이유
- 기원 : CDN은 미국에서 시작하여 지역이 넓어 유저와 가까운 곳에서 서비스를 지원하기 위해
- 사용하는 산업군
- 이미지 서비스 : 상시 꾸준한 트래픽의 퍼포먼스 향상
- 미디어 트래픽: VOD 트래픽
- 게임 다운로드 : 게임 트래픽 처리
- 파일 로드
2. 우리나라의 CDN 사용 이유
- IX(internet Exchange) : kt, skt 이런 인터넷들의 교차점, 각 회사의 ISP를 연결하는데 예전에는 이곳에서 병목현상이 많았다.
- 우리나라는 이런 문제를 해결하기 위해 CDN이 들어왔다.
- 토플로지를 구성해서 각 ISP를 연결해서 문제상황을 줄이고 안정적으로 대처
3. CDN 기본 원리
- CDN = DNS + HTTP + Cache
- CDN의 기본 구조
- User(사용자) <> CDN(컨텐츠 전송 서버) <> Origin(컨텐츠가 저장된 서버)
- CDN은 캐시 서버로 운영
4. Cache 서버
- Cache hit, Cache miss
- Cache Hit : 캐시 서버에 있어서 오리진에 요청없이 바로 유저에게 준다
- Cache Miss : 캐시 서버에 없어서 오리진에 달라고 한다음에 저장후 유저에 넘김, 최초 사용자의 경우 발생
- CDN 에서의 POP(Point of presence) : 회선이 상호 접속하는 위치에 둔 데이터 저장소
- 안정성을 위해서 당연히 multi pop 운영
5. CDN 품질 보장 구간
User - ISP - IX - IDC -Origin
last mile - middle mile - first mile
- CDN에서 last mile 구간은 케어가 안된다. 사람이 몰리거나, 지하주차장, 빠른 이동 등
6. IMS(If - Modified-Since : content 유효 기간이 만료된 경우 Request와 Response의 http 내용
- 캐시서버에 있지만 유효기간이 지난 데이터를 서버에 유효 인증만 보내서 같으면 보내고 변경됬으면 새로 받아서 보내준다.
- 그렇다면 유효기간 까지는 재검증을 안한다는건데, 그래서 Purge가 나왔다.
7. 성능 검증
- Respone Time
- RT = DNS Lookup+ TCP Connection + Time To First Byte + Contents Download
- HTTPS 의 경우에는
- TCP Connection 과 TTFB사이에 인증 확인 단계도 있다.
8. 1차 캐시
- 1차 캐시 (Shiled, Middle Cache, Parnet Cache)
- origin 보호를 위해 Origin으로 요청을 최소화 하기 위한 Layer 구성
9. Mulit CDN
- 대규모 트래픽 관리
- 대규모 트래픽이 필요한 경우 단인 CDN Provider 로는 한계 발생
- 여러 CDN Provider 의 Capacity를 하나의 Capacity 로 관리하여 대규모 트래픽 처리
- 가용성 확대
- 단일 CDN Provider 구성의 경우, 장애에 대한 리스크 존재
- CDN Provider 의 이중화를 통한 가용성 확대
- Provider 별 다양한 정책관리
- CDN Provider 별 Usage 및 가격 정책이 각자 다름으로 인한 관리 복잡성 증가
- CDN Provider 별 POP Coverage 의 차이로 다음 음영 지역 발