Download - Content Delivery Network 과 DNS
Content Delivery Network 과 DNS
왜 CDN 인가 ?
• Contents server 를 customer 에 가까운 위치에 둔다 .– 적은 홉 (hop) 수
• 이점– 데이터를 가져오는
시간을 줄인다 .– TCP 의 성능을 높인다 .– 망 대역을 효율적으로
사용한다 .– DDOS 공격에 대한 보호
originalcontentserver
localcontentserver
Global CDN • 인터넷 생태계
– CP(content provider)– 망 사업자 (ISP 포함 )– CDN
• 여러 global CDN 업체들이 경쟁• 많은 web service 업체들은 CDN 을 통해 서비스
제공
CDN 의 과제
• 어떻게 local content server 는 original content server 와 동일한 데이터를 갖도록 할 것인가 ?(cache synchronization)– Static contents 와 dynamic contents
• 어떻게 customer 에게 optimal(local) content server 의 IP 주소를 알려 줄 것인가 ?
5
DNS: Root name servers• DNS 계층의 최상위에 위치하여 local DNS 서버에게 TLD 도메인
서버의 주소를 알려 준다 .
13 root name servers worldwideb USC-ISI Marina del Rey, CA
l ICANN Los Angeles, CA
e NASA Mt View, CAf Internet Software C. Palo Alto, CA (and 36 other locations)
i Autonomica, Stockholm (plus 28 other locations)
k RIPE London (also 16 other locations)
m WIDE Tokyo (also Seoul, Paris, SF)
a Verisign, Dulles, VAc Cogent, Herndon, VA (also LA)d U Maryland College Park, MDg US DoD Vienna, VAh ARL Aberdeen, MDj Verisign, ( 21 locations)
6
TLD and Authoritative Servers
• Top-level domain (TLD) servers:– com, org, net, edu 등 , 그리고 kr, jp, uk
와 같은 top-level 국가 도메인을 담당하는 서버
• 예를 들면 com TLD 서버는 com 도메인의 서버 주소를 갖고 있다 .
• authorative DNS servers: – 특정 기관의 DNS 서버로서 그 기관의
네트워크에 접속된 모든 호스트들의 주소를 갖고 있다 .
DNS 서비스의 예• 호스트 (cis.poly.edu) 가
호스트 (gaia.cs.umass.edu)의 IP 주소를 찾을 때 ,– 1 과 2: cis.poly.edu 의 local
network 에 있는 도메인 서버(dns.poly.edu) 는 root 도메인 서버에 묻는다 .
– 3: root 서버는 edu 도메인 서버의 주소를 알려준다 .
– 4: edu 도메인 (TLD) 의 서버에 묻는다 .
– 5: edu 도메인 서버는 cs.umass.edu 도메인 서버의 주소를 알려준다 .
– 6 과 7: cs.umass.edu 도메인 서버에 물어서 최종적으로 gaia.cs.umass.edu 의 주소를 받는다 .
requesting hostcis.poly.edu
gaia.cs.umass.edu
root DNS server
local DNS serverdns.poly.edu
1
23
4
5
6
authoritative DNS serverdns.cs.umass.edu
78
TLD DNS server
8
DNS recordsDNS 서버는 다음과 같은 resource records (RR) 를 data base 로 갖고 있다 .
• Type=NS– Name: domain (e.g.
foo.com)– Value: 이 도메인의
authoritative name server 의 IP 주소
RR format: (name, value, type, ttl)
Type=A Name: hostname Value: IP address
Type=CNAME Name: “canonical” (the real)
name 의 또 다른 이름 Value: canonical name
Type=MX Value: name 과 연관된 메일
서버의 이름
9
DNS 메시지 (1)DNS protocol : query 와 reply 메시지 , 동일한 message format
사용
메시지 헤더
identification: 16 bit # for query, reply to query uses same #
flags: query or reply recursion desired recursion available reply is authoritative
10
DNS 메시지 (2)
Name, type fields for a query
RRs in responseto query
records forauthoritative servers
additional “helpful”info that may be used
CDN 의 DNS 예 (1)
1. 사용자는 www.example.com 을 입력
2. DNS 서버는 optical Akamai 서버의 IP 주소를 리턴
3. Brower 는 HTML 을 요청4. Akamai 서버는 요청한 content 를
구성
5. Akamai 서버는 Akamized HTML 을 리턴
6. Browser 는 content 내 object 를 다운로드하는데 최적의 Akamai 서버의 IP 주소를 얻음
7. 최적의 Akamai 서버로부터 object 다운로드
CDN 의 DNS 예 (2)
CDN 트래픽 비교
Inbound : original web server 에서부터 Akamai 서버로 가는 트래픽Outbound: Akamai 서버로부터 사용자로 가는 트래픽