
DNS는 사람이 읽기 쉬운 도메인 이름을 네트워크가 목적지를 찾는 데 사용하는 주소 정보와 연결하는 분산형 시스템이다.
도메인 이름과 IP 주소는 무엇이 다를까? DNS가 인터넷 주소를 찾는 과정
phori24.com 같은 도메인 이름과 숫자로 된 IP 주소의 역할 차이, DNS의 계층 구조, 최상위 도메인과 루트 존, 도메인이 IP로 연결되는 기본 원리를 ICANN·IANA 기준으로 설명합니다.
웹 브라우저에 phori24.com 같은 주소를 입력하면 우리는 특정 사이트로 이동합니다. 그런데 인터넷 장비가 실제로 데이터를 전달할 때는 사람이 읽기 쉬운 도메인 이름만으로 목적지를 처리하는 것이 아닙니다. 네트워크에는 IP 주소라는 숫자 기반 주소 체계가 있고, 도메인 이름과 필요한 주소 정보를 연결해 주는 Domain Name System, 즉 DNS가 작동합니다.
ICANN은 DNS를 사람이 인터넷을 쉽게 탐색할 수 있도록 도와주는 시스템으로 설명합니다. 인터넷에 연결된 장치는 IP 주소를 사용하지만 숫자 중심의 주소는 사람이 기억하기 어렵기 때문에, icann.org 같은 문자 기반 도메인 이름을 사용할 수 있도록 DNS가 연결 역할을 합니다. 흔히 “인터넷의 전화번호부”라고 비유하는 이유입니다.
하지만 이 비유만으로는 도메인, IP 주소, DNS가 각각 무엇인지 정확히 구분하기 어렵습니다. 특히 개인 도메인을 블로그나 홈페이지에 연결할 때 세 개념을 혼동하면 “도메인을 샀는데 왜 사이트가 바로 열리지 않는지”, “서버를 바꾸었는데 도메인은 그대로 쓸 수 있는지” 같은 문제를 이해하기 어렵습니다.
도메인 이름은 사람이 사용하는 인터넷 이름이다
도메인 이름은 점으로 구분되는 문자 기반 이름입니다. ICANN은 icann.org처럼 두 개 이상의 텍스트 구간이 점으로 나뉜 구조를 예로 듭니다. 사람이 기억하고 입력하기 쉬우며 회사, 기관, 개인의 인터넷 서비스를 식별하는 데 사용됩니다.
도메인은 계층 구조를 가집니다. whois.icann.org를 예로 들면 가장 오른쪽의 org가 최상위 도메인(TLD), 그 왼쪽의 icann이 그 아래 단계의 도메인, whois가 다시 하위 단계가 됩니다. 오른쪽에서 왼쪽으로 갈수록 더 구체적인 이름이 붙는 구조라고 이해하면 쉽습니다.
한국에서 흔히 보는 .kr도 최상위 도메인의 한 종류입니다. IANA 루트 존 데이터베이스는 .kr을 대한민국의 country-code top-level domain으로 기록하고 있습니다. 반면 .com, .org처럼 특정 국가가 아닌 범용 목적의 최상위 도메인도 존재합니다.
IP 주소는 도메인 이름과 같은 것일까
도메인 이름과 IP 주소는 같은 정보를 두 방식으로 표시한 것처럼 설명되기도 하지만 정확히는 역할이 다릅니다. IP 주소는 네트워크에서 장치나 인터페이스를 식별하고 데이터가 목적지로 전달되는 데 필요한 주소 체계이고, 도메인 이름은 사람이 서비스를 찾기 쉽게 만든 이름 체계입니다.
ICANN은 인터넷의 장치가 IP 주소를 가지며, DNS가 사람이 기억하기 쉬운 도메인 이름을 관련 IP 주소와 연결한다고 설명합니다. 따라서 도메인은 그 자체로 서버의 물리적 위치를 의미하지 않습니다. DNS 설정을 바꾸면 같은 도메인 이름이 다른 서버의 주소를 가리키도록 변경할 수 있습니다.
이 특성은 웹사이트 이전에서 매우 중요합니다. 서버를 교체하더라도 방문자에게 새 도메인을 알려 줄 필요 없이 DNS 레코드를 변경해 기존 이름이 새로운 서비스 위치를 가리키도록 할 수 있습니다. 도메인 이름과 서버 주소가 분리되어 있기 때문에 가능한 일입니다.
브라우저에 도메인을 입력하면 어떤 일이 시작될까
사용자가 브라우저에 도메인을 입력하면 기기는 해당 이름과 연결된 주소 정보를 알아내야 합니다. 이 과정을 DNS 조회라고 부릅니다. 사용자 기기가 모든 인터넷 도메인의 정보를 직접 가지고 있을 수는 없기 때문에 DNS는 여러 서버와 계층 구조를 통해 정보를 찾습니다.
실제 DNS 조회에는 캐시, 재귀 리졸버, 루트 서버, 최상위 도메인 서버, 권한 있는 네임서버 등 여러 요소가 참여할 수 있습니다. 사용자가 매번 이 과정을 직접 볼 필요는 없지만 기본 흐름은 “이 이름을 담당하는 쪽이 어디인지 단계적으로 찾아가 최종 주소 정보를 얻는 과정”으로 이해할 수 있습니다.
한 번 찾은 결과는 일정 기간 캐시에 저장될 수 있습니다. 그래서 같은 사이트에 다시 접속할 때 매번 처음부터 모든 단계를 반복할 필요가 줄어듭니다. 반대로 DNS 설정을 바꾼 직후 세계 모든 사용자에게 동시에 새 값이 보이지 않을 수 있는 이유도 캐시와 분산 구조에 있습니다.
DNS에서 ‘루트’는 무엇을 뜻할까
DNS는 계층형 시스템이고 가장 위에는 루트 존(root zone)이 있습니다. IANA는 DNS 루트 존을 이름 계층의 최상위 수준으로 설명하며 .com, .kr, .org 같은 최상위 도메인의 위임 정보를 관리합니다.
루트가 모든 개별 홈페이지 주소를 직접 저장하는 것은 아닙니다. 대신 각 최상위 도메인을 누가 관리하고 그 정보를 어디에서 찾을 수 있는지에 대한 위임 정보를 제공합니다. 다시 말해 거대한 인터넷 주소록을 한 서버에 몰아넣는 구조가 아니라 책임을 계층적으로 나누는 방식입니다.
IANA의 Root Zone Database를 보면 현재 위임된 다양한 최상위 도메인과 유형, 관리기관을 확인할 수 있습니다. .kr처럼 국가 코드 도메인도 있고 .com 같은 generic TLD도 있습니다. DNS가 국제적으로 작동하려면 이 최상위 계층의 정보가 일관되게 유지되어야 합니다.
도메인을 구입하면 IP 주소도 내 것이 될까
도메인을 등록하는 것과 IP 주소를 할당받는 것은 별개의 일입니다. 도메인 등록자는 일정 기간 특정 도메인 이름을 사용할 권리를 갖고, 그 도메인의 DNS 설정을 통해 웹 서버나 이메일 서비스 등에 연결할 수 있습니다. 반면 실제 서버 주소는 호스팅 회사나 인터넷 사업자의 네트워크 환경에서 제공될 수 있습니다.
따라서 웹호스팅 회사를 바꾸면 IP 주소가 달라질 수 있지만 도메인은 계속 유지할 수 있습니다. 새 서버 정보를 DNS에 반영하면 됩니다. 반대로 같은 서버 하나가 여러 도메인 이름의 웹사이트를 제공하는 것도 가능합니다.
이 구조는 도메인과 IP가 일대일 대응하지 않을 수 있다는 뜻입니다. 하나의 도메인이 여러 주소를 사용할 수도 있고, 하나의 주소에서 여러 도메인 서비스를 처리할 수도 있습니다. DNS의 목적은 단순한 “이름 하나 = 숫자 하나” 표를 만드는 데만 있지 않습니다.
DNS 레코드는 모두 IP 주소만 저장할까
DNS에는 여러 종류의 레코드가 존재합니다. 웹 접속을 위한 주소 정보뿐 아니라 다른 이름으로 연결하는 정보, 이메일 서버 위치, 서비스 검증에 필요한 값 등 다양한 데이터를 저장할 수 있습니다. 그래서 개인 도메인을 블로그 서비스에 연결할 때도 서비스 제공자가 요구하는 DNS 레코드 유형과 값을 정확히 설정해야 합니다.
사용자 입장에서는 “도메인만 샀는데 왜 사이트가 연결되지 않지?”라는 상황이 생길 수 있습니다. 도메인 등록과 DNS 연결 설정이 별도의 단계이기 때문입니다. 등록한 이름이 어떤 서버나 서비스로 가야 하는지 DNS에 올바르게 지정해야 실제 접속이 이루어집니다.
또 네임서버 자체를 다른 사업자로 지정할 수도 있습니다. 이 경우 도메인 등록기관과 DNS 정보를 실제로 관리하는 업체가 서로 다를 수 있습니다. 도메인 관련 서비스를 이용할 때 등록기관, 레지스트리, DNS 호스팅, 웹호스팅의 역할을 구분하면 설정을 이해하기 쉬워집니다.
`.kr` 같은 최상위 도메인은 누가 관리할까
IANA의 .kr 위임 기록에는 대한민국의 ccTLD 관리기관으로 한국인터넷진흥원(KISA)이 표시되어 있습니다. IANA는 DNS 루트 존에서 최상위 도메인의 관리 주체와 기술적 위임 정보를 조정하고 공개합니다.
여기서 ICANN이나 IANA가 전 세계의 모든 개별 도메인을 직접 판매하는 것은 아닙니다. DNS 생태계에는 레지스트리와 등록기관 등 여러 역할이 존재합니다. 최상위 도메인마다 관리 구조가 있고 사용자는 등록 서비스를 제공하는 기관을 통해 원하는 도메인을 신청합니다.
따라서 .com 도메인과 .kr 도메인이 같은 웹브라우저에서 똑같이 열리더라도 배후의 등록·관리 정책은 다를 수 있습니다. 도메인 이름의 가장 오른쪽 부분을 보면 어느 최상위 도메인 체계 아래에 있는지 알 수 있습니다.
도메인을 바꾸지 않고 서버만 바꿀 수 있는 이유
DNS의 장점 가운데 하나는 사람이 사용하는 이름과 실제 서비스 위치를 분리할 수 있다는 것입니다. 회사가 서버를 교체하거나 클라우드 사업자를 변경해도 고객에게 새로운 숫자 주소를 알릴 필요가 없습니다. 기존 도메인의 DNS 설정만 새로운 환경에 맞게 변경하면 됩니다.
이것은 브랜드와 서비스 지속성 측면에서도 중요합니다. 웹사이트 주소는 명함, 검색 결과, 문서, 이메일 등에 오랫동안 노출될 수 있습니다. 서버가 바뀔 때마다 도메인까지 변경해야 한다면 수많은 링크와 안내를 수정해야 합니다. DNS는 이름은 유지하면서 기술 인프라를 바꿀 수 있는 유연성을 제공합니다.
다만 DNS 변경이 즉시 모든 곳에 반영된다고 가정해서는 안 됩니다. 리졸버와 기기에 기존 정보가 캐시되어 있을 수 있기 때문에 변경 전후 값이 일정 시간 함께 보이는 상황이 생길 수 있습니다. 사이트 이전을 계획할 때 DNS의 캐시 특성을 고려하는 이유입니다.
DNS가 있으면 보안 문제도 자동으로 해결될까
DNS는 이름과 주소 정보를 연결하는 핵심 인프라이지만 기본 DNS만으로 모든 보안 문제가 해결되는 것은 아닙니다. ICANN은 DNS 데이터의 위조 문제를 줄이기 위한 기술로 DNSSEC를 설명합니다. DNSSEC는 공개키 암호기술 기반의 디지털 서명을 사용해 DNS 데이터의 출처와 무결성을 검증할 수 있도록 설계되었습니다.
여기서 DNSSEC는 웹사이트의 모든 통신 내용을 암호화하는 HTTPS와 같은 기술이 아닙니다. 서로 다른 문제를 해결합니다. DNSSEC는 DNS 응답이 신뢰할 수 있는 출처에서 왔는지 확인하는 데 초점을 두고, HTTPS는 웹 통신의 암호화와 서버 인증 등에 사용됩니다.
따라서 “도메인 연결이 되었으니 사이트 보안도 끝났다”는 식으로 이해해서는 안 됩니다. 도메인, DNS, 인증서, 웹서버 보안은 서로 연결되지만 각각 역할이 다릅니다.
도메인 계층을 오른쪽부터 읽으면 구조가 보인다
도메인 이름은 왼쪽부터 읽는 일반 문장과 달리 관리 계층을 이해할 때는 오른쪽부터 보는 것이 편합니다. example.kr이라면 가장 오른쪽의 .kr이 최상위 도메인이고, example은 그 아래에서 등록한 이름입니다. 여기에 blog.example.kr처럼 이름이 더 붙으면 blog는 다시 하위 단계가 됩니다.
이 구조가 중요한 이유는 DNS가 한 기관이 모든 이름을 직접 관리하는 중앙 목록이 아니기 때문입니다. 루트는 최상위 도메인에 대한 위임 정보를 제공하고, 각 최상위 도메인의 관리 체계는 그 아래 이름을 담당합니다. 다시 하위 도메인을 운영하는 조직은 자신의 영역 안에서 필요한 이름을 추가할 수 있습니다. 계층마다 책임을 나눔으로써 전 세계의 방대한 도메인을 분산해 관리할 수 있습니다.
따라서 www, blog, mail 같은 앞부분은 최상위 도메인과 같은 종류의 값이 아닙니다. 모두 점으로 구분되어 보이지만 DNS 계층에서 위치와 관리 주체가 다릅니다. 도메인 설정 화면에서 “루트 도메인”, “서브도메인”, “호스트 이름” 같은 용어가 나오는 이유도 이 계층 구조와 관련됩니다.
개인 도메인을 서비스에 연결할 때 무엇을 확인해야 할까
도메인을 구입한 뒤 블로그나 홈페이지 서비스에 연결하는 과정은 크게 세 가지를 구분하면 이해하기 쉽습니다. 첫째, 도메인 등록 상태가 유효해야 합니다. 둘째, 해당 도메인의 DNS가 어느 서비스로 연결될지 올바르게 설정되어야 합니다. 셋째, 실제 웹서비스 쪽에서도 그 도메인을 자신의 사이트 주소로 받아들이도록 설정되어 있어야 합니다.
세 단계 가운데 하나만 빠져도 주소가 예상대로 열리지 않을 수 있습니다. 예를 들어 도메인은 정상 등록되어 있어도 DNS 값이 이전 서버를 가리키면 새 서비스로 접속되지 않습니다. DNS는 새 서버를 향해도 서비스 제공자가 해당 도메인을 등록하지 않았다면 정상적인 웹페이지를 보여 주지 못할 수 있습니다. HTTPS를 사용한다면 해당 도메인에 맞는 인증서 준비도 별도로 필요합니다.
이 때문에 “도메인이 존재한다”와 “웹사이트가 정상 연결된다”는 같은 상태가 아닙니다. 문제가 생겼을 때 등록 상태, DNS 위임과 레코드, 서비스의 도메인 연결 설정을 단계별로 나누어 확인하면 원인을 훨씬 빨리 찾을 수 있습니다.
도메인 이름·DNS·IP 주소를 한 번에 구분하면
세 개념을 가장 간단히 정리하면 다음과 같습니다. 도메인 이름은 사람이 기억하기 쉬운 인터넷상의 이름입니다. IP 주소는 네트워크에서 데이터가 목적지를 찾아가는 데 사용하는 주소 체계입니다. DNS는 도메인 이름을 필요한 주소와 서비스 정보에 연결해 주는 분산형 계층 시스템입니다.
예를 들어 사용자가 phori24.com을 입력하면 도메인 이름을 사용한 것입니다. 기기와 DNS 인프라는 이 이름에 연결된 정보를 찾아 실제 서버와 통신할 수 있도록 돕습니다. 서버를 바꾸더라도 도메인 이름은 유지하고 DNS 설정을 변경할 수 있습니다.
이 차이를 알면 개인 도메인을 블로그에 연결할 때 보이는 “기본 도메인”, “개인 도메인”, “DNS 설정 확인”, “보안 인증서 발급” 같은 항목도 훨씬 이해하기 쉬워집니다. 이름을 등록하는 단계, 이름이 어느 서비스로 향할지 정하는 단계, 실제 웹서비스가 응답하는 단계가 서로 분리되어 있기 때문입니다.
인터넷 주소는 단순히 브라우저 주소창에 보이는 한 줄의 문자열이 아닙니다. 사람이 다루는 이름과 네트워크가 사용하는 주소, 그리고 둘을 연결하는 국제적인 분산 시스템이 함께 작동한 결과입니다.
참고자료
'인터넷과 데이터' 카테고리의 다른 글
| 파일 확장자와 MIME 타입은 무엇이 다를까? 브라우저가 파일 형식을 판단하는 기준 (0) | 2026.08.16 |
|---|