DNS와 동작 방식

Haiseong Jeong·2022년 10월 14일
1
post-thumbnail

전화번호부

도메인 이름 시스템(DNS)은 사람이 읽을 수 있는 도메인 이름을 머신이 읽을 수 있는 IP 주소로 변환한다. DNS는 도메인과 IP 간의 매핑을 관리하여 마치 전화번호부와 같은 기능을 한다. DNS 서버는 도메인을 IP 주소로 변환하여 사용자를 어떤 서버에 연결할 것인지를 제어한다. 이 요청을 쿼리라고 부른다.

구성요소

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

도메인 네임 스페이스는 DNS가 저장 및 관리하는 계층적인 구조를 의미한다. 최상위에 Root DNS 서버가 존재하고, 하위에 인터넷에 연결된 모든 노드가 연속해서 이어진 계층 구조로 구성되어 있다.
블로그 설명 참고

2)네임 서버(Name Server)

도메인 주소를 관리하기 위해 사용하는 DNS 전용 서버이다. 문자열로 표현된 도메인 이름을 실제 컴퓨터가 통신할 때 사용하는 IP 주소로 변환시키기 위해서는 도메인 네임 스페이스의 트리 구조에 대한 정보가 필요하며, 이러한 정보를 가지고 있는 서버를 네임 서버라고 한다.

3) 리졸버(Resolver)

DNS 클라이언트의 요청을 네임 서버로 전달하고 네임 서버로부터 도메인 이름과 IP 주소를 받아 클라이언트에게 제공하는 기능을 수행한다.

DNS의 동작 방식

  1. 도메인 주소가 주소창에 입력된다. 도메인 주소를 Local DNS에 전달하게 된다.
  2. 도메인 주소의 IP 주소가 무엇인지 요청한다.
  3. Local DNS는 Root DNS에 도메인 주소를 보내고 이에 맞는 IP 주소를 요청하게 된다. Root DNS에서 도메인을 관리하는 서버에 대한 정보를 받는다. Root DNS는 IP 주소를 저장하는 것이 아니라, ".com"의 서버에 대한 정보만 가지고 있다. 고로 해당 ".com" 서버에 대한 정보를 Local DNS에 보낸다.
  4. ".com" 서버로 접근해 다시 도메인 주소를 보낸다. 3에서 얻은 ".com" 서버에 도메인 주소를 보내 IP 주소를 요청한다. ".com" 서버는 진짜 IP 주소를 가진 네임 서버의 정보를 반환한다. ".com" 서버 또한 진짜 IP 주소를 가진 것이 아니라 진짜 IP 주소를 가진 네임 서버의 정보를 가지고 있는 것이다. 고로, Local DNS에 네임 서버 정보를 반환한다.
  5. 네임 서버에 도메인 주소를 보낸다. 진짜 IP 주소를 가진 네임 서버에 도메인 주소를 보내고 IP 주소를 요청한다.
  6. 네임 서버로부터 IP 주소를 받는다. 네임 서버로부터 진짜 IP 주소를 Local DNS에 전달 받게 된다. IP 주소 정보가 실제 컴퓨터에 응답된다. IP 주소가 브라우저에 도착한다.
  7. 브라우저가 IP 주소로 HTTP 요청을 보낸다.
  8. 해당 IP 서버가 브라우저에서 렌더링 할 웹 페이지를 보낸다.
profile
나는 개발자다. 5000만큼 코딩한다.

0개의 댓글