본문 바로가기

CS/컴퓨터 네트워크

10. DNS

 

 

* DNS

domain name server

- 디바이스가 인터넷에 연결할 때 ip로 위치를 찾아가는데, 그 ip의 호칭과 ip주소를 바인딩하는 역할

- distribute : 모든 ip와 dns의 바인딩을 기억하는 것이 아니라, 특정 지역의 특정 서버를 사용

- 어플리케이션 레이어 프로토콜. 서비스를 하지는 않고 어플리케이션도 아니지만 어플리케이션 레이어에 위치

- internet core function 같지만 어플리케이션 레이어에 구현되어있음

 

* centralize DNS 가 아닌 distribute DNS를 사용하는 이유

- centralize는 트래픽 양이 많고, 멀리 있으면 속도가 느림, 데이터베이스가 방대해서 유지보수가 어려움

- 확장성이 안좋아서 decentralize

 

* 확장성 해결 방법은 distribute의 hierarchial database

 

- root dns가 하나 있고 여러개로 나누면 유지보수 용이

 

*TLD

- top level domain 서버 : com, org, net, edu, jobs, museums, 등 그리고 나라 도메인 uk, kr, ca 등

- autoritative dns 서버 : 기관이나 서버에서 관리하는 하위에 있는 것들

 

* 로컬 dns 

- 제일 아래 로컬 dns는 학교나 회사

- default name server라고도 함

- 로컬까지 찾아가서 이름과 ip를 매핑하고 로컬에서 로컬서버로 가서 캐시 등을 바꾸는 등 proxy역할을 함

 

* DNS name resolution

-iterated query:

  host의 요청으로 local DNS가 ip를 찾을 때 없으면 root DNS로 가고, 거기에 도 없으면 TLD, authoritative 다 가봄

  로컬 DNS 서버가 프록시같은 역할을 함. 계속 이터레이터 방식으로 진행

 

- recursive query :

  스택을 이용해서 물어 물어 물어보고 스택을 푸는 방식으로 돌아와서 호스트한테 ip가 돌아오게 됨

  로컬 dns의 로드가 줄어들게 됨

 

* DNS : caching, updating records

- 캐시 매핑 : 보통 dns와 ip에 있는 정보는 캐시로 저장되고 하루 정도 있다가 없어짐

- IEFT 표준 2136

'CS > 컴퓨터 네트워크' 카테고리의 다른 글

12. 트랜스포트 레이어  (0) 2020.04.14
11. P2P  (0) 2020.04.07
9. SMTP, POP3, IMAP  (0) 2020.04.07
8. FTP  (0) 2020.04.07
7. Web, HTTP  (0) 2020.04.07