Network/컴퓨터 네트워크

[4] CH2 애플리케이션 계층

Return 2021. 10. 31. 21:25

DNS : Domain Name System 

 

people : 여러가지 식별자 

Internet host , router : IP주소(32bit) datagram의 전달 주소 / " host name " (www.naver.com) : 기억하기 용이하게 사람들이 사용 

Domain Name System : 분산 database 계층구조를 가짐 , 응용 계층 프로토콜 

 

Q) IP주소와 hostname사이의 mapping?

 

  DNS 서비스 

- Hostname과 IP주소 사이의 변환 

- Host aliasing : Canonical(정식) hostname , Alias(별칭) hostname : 기억하기 용이 

- Mail server aliasing 

- 부하(load) 분산 - 중복(replicated) web server들 : 여러 IP 주소가 한 canonical hostname에 mapping 됨 

 

  DNS 왜 중앙집중화 하지 않는가?

- 중앙 집중화된 server의 고장 >> internet 정지 

- 트랙픽량 과다 

- 중앙 집중적 database client가 멀리 떨어진 경우 > 심각한 지연 

- 유지 관리 복잡 : 갱신이 너무 빈번히 발생 

 

  계층화된 분산 Database 

 

예 : Client는 www.amazon.com의  의 IP 주소를 알고자 한다. 

- Client는 root server에 문의하여 com DNS server를 찾는다. 

- Client는 com DNS server에 문의하여 amazon.com DNS server를 찾는다. 

- Client는 amazon.com DNS server에 문의하여 www.amazon.com의  의 IP주소를 알아낸다. 

 

  TLD & 책임(Authoritative) Servers

- Top-level domain(TLD) server : com,org,net,edu등 // top-level 국가 domains : kr,uk등 

- 책임(Authoritative) DNS server : 기관의 DNS server , 기관의 server들의 hostname - IP mapping 제공 , 기관이나 ISP가 유지 관리 

 

  Local Name Server 

- DNS 계층 구조에 포함되지는 않음 

- 각 ISP는 하나의 local name server를 가짐 ( 'default name server' )라고 불린다 

- Host가 DNS 질의(query)를 시작하면 이 질의는 local DNS server로 전달된다. 

    proxy처럼 기능 

    Local DNS server가 계층화된 DNS server들에게 질의사항을 전달 

 

  DNS name 찾기 예 

- Host(cis.poly.edu)는 gala.cs.umass.edu의 IP주소를 얻고자 함 

 

  반복 질의 

- 질의를 받은 server는 접속해야 할 server의 이름을 알려준다. "나는 이름을 모른다. 여기 이 server에게 물어봐라 " 

  재귀적 질의 

- 접속된 name server에게 name해석의 부하를 넘김 

 

 

 

  DNS Caching 

- 어떤 name server가 mapping을 학습하면 이를 caching이라 한다. 

- cache 내용은 일정시간이 자나면 사라진다. 

- TLD server들의 정보는 일반적을 local name server에 cahing 된다.

- 그리하여 root name server의 방문율을 줄인다. 

 

 

  DNS record 

- DNS : 분산 database는 resource records(RR)를 저장한다. 

               RR format : ( name , value , type , ttl )

 

- Type = A                                                                 - Type = CNAME 

name : hostname                                                             name : alias name 

value : IP Address                                                             value : canonical name 

 

- Type = NS                                                               - Type = MX 

name : domain(예:foo.com)                                                name : alias name 

value : 이 domain을 위한 잭임 name server의 hostname           value : mail server의 name 

 

  DNS protocol

- query & reply message ( 동일한 message 형식을 지님 ) 

 

- Message header 

Identification : 16 bit , 이 query에 대한 reply message도 동일한 사용 

flags : query or reply , recursion desired , recursion available , reply is authoritative 

 

EX) 'answers'는 mail server의 canonical hostname을 포함하고 'additional info'에는 해당 ip주소를 제공하는 type A record를 포함. 

 

 

  DNS에 record 삽입하기 

- ex) 'Network Utopia' 새로 시작 

- networkuptopia.com을 DNS 등록기관에 등록 

책임 name server의 name과 IP주소를 제공 

등록기관은 다음 두개의 RR을 com TLD server에 삽입 

 

책임 name server에 ~com을 위한 Type = A record와 networkutopia.com의 mail server를 위한 type MX record를 생성