DNS (Domain Name System)

김우진·2021년 11월 5일
0

network

목록 보기
7/8

이 글은 이고잉님의 생활코딩 WEB2-Domain Name System 강의에 추가로 구글링 한 피망 IT님의 피방 IT Tistory 링크 정보를 정리한 글입니다.

DNS가 나오게 된 배경

컴퓨터 한대 한대를 Host라고 하면 이 Host끼리 통신을 하려면 각 집에 주소가 있듯이 컴퓨터 마다 고유의 주소가 필요하다. 이를 IP address라 한다. 처음에는 이 IP address로 다른 컴퓨터들과 통신할 수 있는 것만으로도 만족을 했지만, 점차 IP address를 외워야 하는 것 역시 불만으로 바뀌었다. 이에 Jon Postel, Paul Mockapetris 두분이서 Domain Name System 즉, DNS를 만들었다.

DNS 구성 요소

도메인 네임 스페이스 (Domain Name Space)

  • DNS가 저장, 관리하는 계층적 구조를 의미
  • 최상위 루트 = DNS 서버
  • 하위 노드 = 인터넷에 연결된 모든 노드
  • 각 레벨(Top, Second, Third ... Level Domain)은 그 하위 도메인에 관한 정보를 관리하는 구조를 가진다.

네임 서버(Name Server)

  • 문자열로 표현된 도메인 이름을 실제 컴퓨터가 사용할 수 있는 숫자로 표현된 IP 주소로 변환하기 위한 도메인 네임 스페이스 트리 구조에 대한 정보를 담고 있는 서버
  • 도메인 이름을 IP 주소로 변환하는 것을 네임 서비스라 한다.
  • 리졸버(Resolver)로부터 요청 받은 도메인 이름에 대한 IP 정보를 다시 리졸버로 전달해주는 역할을 수행한다.

리졸버(Resolver)

  • DNS 클라이언트의 요청을 네임 서버로 전달하고 네임 서버로부터 도메인 이름과 IP 주소를 받아 클라이언트에게 제공
  • 수많은 네임 서버에 접근하여 사용자로부터 요청 받은 도메인의 IP 정보를 조회하는 기능 수행

스터브 리졸버(Stub Resolver)

  • 리졸버의 대부분의 기능을 DNS 서버에 구현하고, 클라이언트 호스트에는 단순한 기능만을 지닌 리졸버를 구현한 것을 스터브 리졸버라 한다.
  • 스터브 리졸버는 네임 서버로 DNS 질의를 전달하고 최종 결과를 응답 받아 웹 브라우저로 전달하는 인터페이스 기능만을 수행한다.

DNS 동작 방식

1~3) Root DNS 서버는 전체 FQDN 정보는 알지 못해 자신의 하위 Domain인 COM DNS 서버의 주소를 알려준다.

4~5) 이를 수신한 Local DNS 서버는 다시 Iterative Query를 사용하여 com DNS 서버에 정보를 요청하고, com DNS 서버도 자신의 하위 레벨 Domain인 naver.com의 DNS 서버 주소를 알려준다.

6~7) 4,5와 동일한 방법으로 서버에게 요청하고 naver.com DNS 서버는 www.naver.com에 대한 IP 서버 주소를 알려준다.

8) Local DNS 서버는 www.naver.com에 대한 IP주소를 수신 후 자신의 DNS Cache에 등록하고 해당 정보를 요청했던 Client에게 응답메세지로 답변한다.

FQDN(Full Qualified Domain Name: 정규화된 도메인 이름)

네트워크상에서 컴퓨터 시스템을 지칭하는 하나의 완전한 이름이다.
DNS의 서버 이름을 hostname + domain name으로 표현한다.

Host name : 실제 서버에 주어진 컴퓨터의 이름 (www.naver)
Domain name: 논리적인 그룹(.com)

출처

  1. 이고잉님의 생활코딩 : WEB2-Domain Name System
  2. 피방 IT님의 blog : DNS (Domain Name System)란?

0개의 댓글