관리 메뉴

너와 나의 스토리

[CH.2] Application - DNS 본문

Computer Networks/이론

[CH.2] Application - DNS

노는게제일좋아! 2019. 10. 3. 22:32
반응형

DNS: domain name system

  • people: 많은 식별자
    • SSN, name, passport #
  • internet host, routers:
    • IP 주소 (32bit)- datagrams 주소 지정을 위해 사용
    • name 예: www.yahoo.com
  • 어떻게 IP 주소와 name을 매핑할까?
  • DNS:
    • 많은 name 서버의 계층 구조로 구현된 분산 데이터 베이스
    • application-layer protocol: hosts, name servers는 names를 확인(resolve)하기 위해 통신
      • application layer protocol로 구현된 핵심 인터넷 기능

 

DNS: services, structure

  • DNS services
    • hostname을 IP 주소로 변환해줌
    • host aliasing(별명같은 느낌)
      • canonical, alias names
      • canonical names => cname
    • mail server aliasing
    • load distribution
      • 복제된 웹 서버: 많은 IP 주소는 하나의 이름에 대응된다.
    • centralize DNS 장단점
      • 단점
        • single point of failure 하나가 무너지면 그 서비스가 다 destroy
        • traffic volume
        • distant centralized database  거리가 먼 사람은 느릴 수도 있음
        • doesnt't sacle! 규모가 커지지 않음 -> scaleability 불가
          • 계층화로 해결할 수 있음
      • 장점
        • maintennance 
        • 한쪽에서 관리하니까 관리는 쉬움
        • 최적의 결과를 낼 수 있음

 

 

DNS: a distributed, hierarchical database

클라이언트가 www.amazon.com의 의 IP를 원한다. 1st approx

  • 클라이언트가 루트 서버를 쿼리하여 com DNS 서버를 찾는다.
  • 클라이언트가 .com DNS 서버를 쿼리하여 amazon.com DNS 서버를 얻는다.
  • 클라이언트는 amazon.com DNS 서버를 쿼리하여 www.amazon.com의 의 IP 주소를 얻는다.

 

 

DNS: root name servers

  • resolve되지 않는 이름의 root name server가 연결
  • root name server:
    • 인터넷의 DNS 루트 영역의 name server다. 
    • 루트 영역의 레코드 요청에 직접 답하고, 적절한 최상위 도메인(TLD)에 대한 권한 있는 name server 목록을 반환하여 다른 요청에 응답한다.
    • root name server는 인터넷 호스트 간의 통신에 사용되는 IP주소로 인간의 판독 가능한 호스트 이름을 번역(resolving)하는 첫 번째 단계이기 때문에 인터넷 인프라의 중요한 부분이다.

 

 

TLD, authoritative servers

  • top-level domain (TLD) servers:
    • com, org, net, edu, aero, jobs, museums 및 모든 top-level country domains 예: uk, fr, ca, jp
    • .com TLD용 서버를 유지 관리하는 네트워크 솔루션
  • authoritative DNS servers:
    • 조직 자체의 DNS 서버, 조직의 명명된 호스트에 대한 권한있는 호스트 이름 대 IP 매핑 제공
    • 조직이나 서비스 제공 업체가 유지할 수 있다.
    • 권한있는 서버는 해당 영역의 권한이다. DNS의 다른 name server에서 뭐리하고 쿼리된다. 다른 name server로부터 응답으로 받은 데이터는 캐시된다. 신뢰할 수 있는 서버는 캐시된 데이터에 대한 권한이 없다

 

 

Local DNS name server

  • 계층 구조에 엄격하게 속하지 않는다.
  • 각 ISP에는 하나의 "default name server"라는 것을 가진다.
  • 호스트가 DNS 쿼리를 만들면 쿼리가 로컬 DNS 서버로 전송된다.
    • 최근 name-address 변환 쌍인 로컬 캐시를 가짐
    • proxy 역할을 하며 쿼리를 계층 구조로 전달

 

 

DNS name resolution example

  • cis.poly.edu의 호스트는 gaia.cs.umass.edu의 IP 주소를 원한다고 하자.

 

iterated query:

  • 접속한 서버가 접속할 서버 이름으로 연결

1. local DNS 서버한테 해당 도메인의 IP 주소를 아니? 물어봄

2. local DNS server가 root DNS server한테 물어봤는데 모른다고 하면

4,6. TLD DNS 서버한테 물어보고 그래도 모르면 authoritative DNS 서버한테 물어봄

 

 

  • 단점: local DNS가 너무 바쁨
  • 장점: local DNS가 데이터를 많이 가지고 있어 빠르게 받을 수 있음 

 

 

 

 

 

 

 

 

 

recursive query:

  • 연결할 수 있는 name server에 name 확인 부담을 줌
  • DNS 클라이언트가 최종 응답이 클라이언트에 반환될 때까지 후속 DNS 서버를 쿼리하도록 설정된 DNS 서버로부터 정보를 요청할 때 발생

1. local DNS 서버한테 해당 도메인의 IP 주소를 아니? 물어봄

2. local DNS server가 root DNS server한테 물어봤는데 모르면

4. root DNS server가 TLD DNS 서버한테 물어보고 그래도 모르면

5. TLD DNS 서버가 authoritative DNS 서버한테 물어봄

 

 

 

 

 

 

DNS: caching, updating records

  • DNS name server가 한 번 요청된 DNS 요청을 TTL만큼 메모리에 저장하여 뒀다가, 똑같은 요청이 들어오면 신속히 처리할 수 있도록 하는 기능
  • name server가 일단 매핑을 배우면 캐시 매핑을 한다.
    • 일정 시간(TTL) 후 캐시 항목은 사라진다.
    • 일반적으로 local name servers에 캐시된 TLD 서버
  • 캐시된 항목은 최신 버전이 아닐 수 있음
    • name host가 IP 주소를 변경하는 경우 모든 TTL이 만료될 때까지 인터넷 전체에 알려지지 않을 수 있다.
  • 제안된 IETF 표준 업데이트/알림 

 

 

 

 

 

 

출처: 위키 백과

출처: [Computer Networking: A Top Down Approach, 6th edition]

 

반응형
Comments