DNS 서버란? DNS 서버에 대해 알려 드리겠습니다. 개인형 DNS 서버를 구축하기로 마음 먹고 DNS 서버가 어떻게 인터넷에서 동작하는지 학습하면서 해당 글을 정리합니다.
DNS 란 무엇일까?
DNS(Domain Name System)는 사용자가 숫자로 된 IP 대신 인터넷 도메인 이름과 검색 가능한 URL로 웹사이트에 접속하는 것을 가능하게 합니다.
예를 들어 220.233.222.67 대신 www.giveinfos.com 에 접속할 수 있게 만들어줍니다.
DNS 서버를 간단하게 말하면 인터넷에 있는 전화번호부라고 설명 드리겠습니다.
우리가 실생활에서 지인의 전화번호를 입력하는 대신 단축 번호 혹은 이름을 입력해서 전화 할 수 있는 것처럼 DNS 서버가 해당하는 도메인에 IP 주소를 알려주는 것입니다.
퍼블릭 DNS
퍼블릭 DNS 서비스는 대개 인터넷 서비스 제공업체(ISP)나 대형 기업에 의해 제공됩니다.
이러한 서비스는 모든 사용자에게 무료로 제공되며, 사용자가 도메인 이름을 해석하는 데 사용할 수 있습니다.
가장 대표적인 퍼블릭 DNS 서비스로는 구글의 Google Public DNS와 클라우드플레어의 1.1.1.1이 있습니다.
프라이빗 DNS (시놀로지 DNS)
프라이빗 DNS는 기업의 내부 네트워크, 학교, 대학교, 정부 기관 등에서 자주 사용됩니다.
이러한 조직들은 보안 및 네트워크 관리를 강화하기 위해 자체 프라이빗 DNS를 운영하거나 관리하는 경우가 많습니다.
뿐만 아니라, 개인이 DNS 서버를 구축해서 본인 입맛에 맞게 구축도 가능합니다. 저는 시놀로지 DNS 를 구축해서 이용하고 있습니다.
도메인을 통해 IP 알아오는 과정
인터넷의 모든 장치들은 고유의 MAC 어드레스와 IP 어드레스를 가지고 있습니다.
예로 네이버의 도메인은 naver.com 이지만 IP 어드레스는 223.130.200.236 입니다.
사용자가 URL을 브라우저에 도메인을 입력
사용자가 웹 브라우저의 주소 표시줄에 도메인을 입력하면, 웹 브라우저는 해당 도메인에 대한 IP 주소를 찾아야 합니다.
도메인 조회(Domain Resolution)
먼저, 사용자가 입력한 도메인이 DNS(Domain Name System)에 등록되어 있는지 확인합니다.
DNS는 도메인 이름을 IP 주소로 변환하는 역할을 합니다. 이를 통해 웹 브라우저는 해당 도메인에 대한 IP 주소를 얻습니다.
서버 연결(Connection to Server)
웹 브라우저는 DNS를 통해 얻은 IP 주소로 서버에 연결을 시도합니다.
해당 서버는 요청된 도메인에 대한 콘텐츠를 운영하고 있습니다.
콘텐츠 로드(Content Loading)
서버와의 연결이 성공하면, 웹 브라우저는 서버로부터 HTML, CSS, JavaScript 및 기타 자원을 요청합니다.
서버는 요청된 자원을 클라이언트(웹 브라우저)에게 보냅니다.
웹 브라우저는 받은 자원을 해석하고 화면에 표시합니다.
사용자와 상호작용(Interaction)
사용자는 웹 페이지 상에서 링크를 클릭하거나 양식을 작성하고 제출할 수 있습니다.
이러한 상호작용은 웹 브라우저가 서버에 추가 요청을 보내거나 기존 페이지를 다시 불러오게 할 수 있습니다.