홍카나의 공부방

[컴퓨터 네트워크] 15. DNS 개요 본문

Computer Network

[컴퓨터 네트워크] 15. DNS 개요

홍문관카페나무 2023. 5. 4. 17:32

Domain Name System

  • DNS는 네트워크에서 사용하는 시스템으로, 도메인 이름을 기반으로 IP 주소를 알려주는 시스템이다.

 

Domain Name?

출처 : https://velog.io/@jisoolee11/%EB%8F%84%EB%A9%94%EC%9D%B8-%EB%84%A4%EC%9E%84%EC%9D%B4%EB%9E%80

 

  • 도메인 이름이란 이름+확장자 구조로 사용자들이 원하는 웹 사이트에 방문하기 위해 웹 브라우저에 입력하는 주소를 의미하며, 고유 값이다.
  • 우리가 20.200.245.247과 같은 IP주소를 외우는 것보다는 naver <- 이러한 이름을 기억하기 쉽기 때문에, 도메인 이름이라는 개념을 도입하게 되었다. 
  • 만약 https://www.wix.com을 웹 브라우저에 입력하게 되면, 웹 브라우저에게 https 프로토콜을 사용하여 wix.com이라는 도메인에 속한 호스트 중 이름이 www인 호스트를 찾고 싶다!라고 이야기 하는 셈.

 

 

DNS의 구조

  • DNS는 Tree 구조의 분산 구조형 데이터베이스인데, 아래와 같은 계층적 구조를 가지고 있다.

https://velog.io/@jisoolee11/%EB%8F%84%EB%A9%94%EC%9D%B8-%EB%84%A4%EC%9E%84%EC%9D%B4%EB%9E%80

 

  • 최상단 계층은 Root Domain으로, IANA에서 해당 서버의 주소를 직접 확인할 수도 있다.
  • 그 아래에는 탑레벨 도메인으로, 도메인 이름의 가장 오른쪽 부분을 담고 있다.
  • 그 아래에는 차상위 도메인으로, 탑레벨 도메인 앞에 오는 이름을 담고 있다. google, naver, github.. 등등 브랜드나 웹사이트를 나타내는 단어를 담고 있다.
  • 서브 도메인은 도메인 이름에 추가하는 접두사이다. 자체 계층이 필요한 영역을 관리한다.

 

 

 

DNS 요청과 응답 과정

  • 첫 번째로 client host에서 https://www.naver.com 을 입력한다고 가정하자.
  • 그러면 client가 설정한 DNS 서버 IP주소로 위 도메인 네임의 IP 주소를 얻고자 하는 요청을 보낸다. ( ISP가 KT라면 KT의 DNS 서버 주소는 168.126.63.1~2번이다. )
  •  DNS는 요청에 응답하여 IP주소를 client로 전송한다. 같은 ISP에 속하는 DNS라면 그만큼 응답이 빠를 확률이 높고, 타 ISP에 속한 DNS (예시로 구글 dns)라면 응답이 그만큼 느릴 확률이 높다.

cache된 Domain name의 예시

  • 이때 client는 PC 메모리에 DNS 이름과 IP 주소를 저장한다. 이를 DNS Cache라고 한다.
  • 이후 네이버 웹 서버와 HTTPS 통신을 진행한다.
  • 추후 네이버와 또 통신을 시도할 때, 캐시 된 정보가 있으면 DNS 요청을 굳이 거치지 않는다.
  • 만약 DNS가 네이버 주소 요청을 최초로 받아서 IP 주소를 저장하지 않고 있다면, 그때서야 Root DNS에 질의하여 IP 주소를 구해오는 것이다. Root DNS에게 요청한 뒤, -> '.com'을 담당하는 서버 -> 'naver'를 담당하는 서버에게 각각 하위 도메인에 대한 정보를 요청하면서 결과적으로 www.naver.com 주소를 가져오게 된다.

 

반응형