네임서버 이해하기
네임서버와 DNS의 관계
개발을 하다보면 DNS와 네임서버라는 용어를 자주 마주치게 된다. 그리고 관련 업무를 해야하는 상황이 종종 생기곤 한다. 하지만 실제 네트워크가 주 분야가 아닌 나에게 늘 혼란을 주곤 했다. 그래서 개념을 다시 잡기 위해 정리를 하려고 한다.
이 두 개념은 밀접하게 연관되어 있지만 동일한 것은 아니다. DNS(Domain Name System)는 도메인 이름을 IP 주소로 변환해주는 전체 시스템을 의미한다. 네임서버는 이 DNS 시스템을 구성하는 핵심 요소 중 하나일 뿐이다. 따라서 네임서버 또한 도메인 이름을 IP 주소로 변환해주는 역할을 담당한다.
이는 마치 우체국 시스템과 개별 우체국의 관계와 비슷하다. DNS가 전체 우편 시스템이라면, 네임서버는 특정 지역의 우편을 처리하는 개별 우체국이라고 할 수 있다.
네임서버의 역할과 중요성
네임서버는 특정 도메인에 대한 권한 있는 정보를 제공한다. 도메인을 구매하면 호스팅 업체가 제공하는 네임서버 주소를 받게 되는데, 이는 마치 “이 도메인에 대한 모든 정보는 이 서버에서 관리합니다”라고 선언하는 것과 같다. 네임서버는 해당 도메인의 IP 주소뿐만 아니라, 메일 서버 정보, 하위 도메인 정보 등 도메인과 관련된 모든 정보를 관리하고 제공한다.
DNS 서버 종류
도메인 이름을 IP 주소로 변환하는 과정은 여러 단계를 거치는 정교한 시스템으로 구성되어 있다. 사용자가 웹 브라우저에 도메인 이름을 입력하면, 가장 먼저 ISP 업체(통신사)가 제공하는 로컬 DNS 서버에 문의를 하게 된다. 이는 마치 우리가 무언가를 찾을 때 가장 가까운 동네 우체국에 먼저 물어보는 것과 같다.
ISP(Internet Service Provider)
ISP(Internet Service Provider)는 인터넷 서비스 제공업체를 의미하며, 개인이나 기업이 인터넷에 연결할 수 있도록 네트워크 서비스를 제공하는 회사이다. 우리나라에는SK 브로드밴드
,KT
,LGU+
가 있다.
주요 역할은 다음과 같다.
- 고객이 인터넷에 접속할 수 있도록 물리적 연결(광케이블, DSL, 5G 등)을 제공한다.
- 사용자에게 공인 IP 주소를 할당하여 인터넷에서 데이터 송수신이 가능하도록 한다.
- 자체 DNS 서버를 운영하여 도메인 이름을 IP 주소로 변환하는 서비스를 제공한다.
DNS 서버는 크게 로컬 DNS 서버
, 루트 DNS 서버
, 최상위 도메인(TLD) 관리 서버
, 등록된 도메인 업체의 네임서버
로 나눌 수 있다.
로컬 DNS 서버
로컬 DNS 서버는 ISP(인터넷 서비스 제공자)에서 제공하는 DNS 서버를 말한다. 사용자가 웹 브라우저에 도메인을 입력하면, 최초 ISP의 DNS 서버(로컬 DNS 서버)에 요청을 보낸다. 우리가 Window나 Linux 서버에 등록하는 168.126.63.1, 168.126.63.2(KT DNS 서버 주소) IP 들이 바로 ISP DNS 서버 주소이다.
ISP DNS 서버는 캐시된 정보를 보유하고 있을 수 있어, 도메인에 매핑된 IP 주소를 응답하는 역할
을 한다.
만약 요청한 도메인에 대한 정보가 없다면, 로컬 DNS 서버는 다른 DNS 서버에 문의하여 IP 주소를 알아내는 역할
도 한다.
루트 DNS 서버
루트 DNS 서버에는 최상위 도메인(TLD) 네임서버의의 정보를 관리한다.
이 서버는 도메인 정보를 직접 등록하고 관리 하지 않고, 로컬 DNS 서버에서 요청청한 도메인의 최상위 DNS 서버의 위치를 제공해주는 역할
을 한다.
약간 더 자세한 루트 DNS 서버
루트 DNS 서버는 전 세계적으로 분산되어 있으며, 13개의 루트 서버 이름 세트(A~M)가 존재한다. 이 서버들은 여러 기관과 조직에서 관리한다.
관리 기관 ICANN (국제 인터넷 주소 관리 기구)은 루트 DNS 서버 시스템의 정책과 구조를 총괄하는 곳이다.
13개의 루트 서버는 각기 다른 기관이 운영한다. 예시:
- A 루트 서버: Verisign (미국)
- B 루트 서버: USC-ISI (미국)
- F 루트 서버: ISC (Internet Systems Consortium)
- K 루트 서버: RIPE NCC (유럽)
각 루트 서버는 Anycast 기술을 사용해 여러 복제 서버를 전 세계적으로 분산 배치해 놓았다. 실제로 1,000개 이상의 루트 서버 복제본이 존재한다.
최상위 도메인(TLD, Top-Level Domain) 관리 서버(TLD 네임서버)
최상위 도메인(TLD)을 관리하는 서버는 ICANN(국제 인터넷 주소 관리 기구)에서 승인한 TLD 네임서버를 의미한다.
TLD 네임서버는 실제 IP와 도메인을 관리하지 않는다.
요청한 도메인을 실제로 관리하는 권한 있는 네임서버(Authoritative Nameserver)의 위치를 알려주는 역할
을 담당하는 서버이다.
.com
도메인: Verisign에서 운영..org
도메인: Public Interest Registry(PIR)에서 운영..kr
도메인: 한국인터넷진흥원(KISA)에서 관리.
도메인이 등록된 네임서버
주로 도메인은 웹 호스팅 업체(등록 대행사)를 통해 등록한다. 국내에는 가비아, 카페24, 닷네임코리아, 후이즈 등이 있다. 이 업체들은 ICANN 또는 해당 TLD 관리 기관으로부터 인증받은 공식 등록 대행사(Registrar)를 의미한다.
웹 호스팅 업체는 도메인이 등록하면 네임서버 주소를 발급해 준다. 이를 권한 있는 네임서버(Authoritative Nameserver)라 부른다. 보통 두 개 이상의 네임서버를 제공하는데, 이는 한 서버가 문제가 생겼을 때를 대비한 안전장치이다. 이렇게 생성된 네임서버는 TLD 관리 기관에 등록 과정을 거친다.
TLD 관리 기관에 전달된 네임 서버 정보는 최상위 도메인(TLD)을 관리하는 레지스트리(Registry)에 기록된다. 레지스트리(Registry)는 각 TLD의 데이터를 관리하는 중앙 데이터베이스를 말한다.
즉 사용자가 도메인 등록 과정에서 생성된 네임서버(NS 레코드) 정보는 TLD 기관의 레지스트리에 기록되고,
TLD 네임서버는 이렇게 추가된 도메인의 권한 있는 네임서버 위치를 알려주는 역할
을 담당한다.
.com
도메인은 Verisign에서 관리..kr
도메인은 한국인터넷진흥원(KISA)에서 관리.
DNS 탐색 과정
로컬 DNS 서버는 요청받은 도메인에 대한 정보를 찾기 위해 다음과 같은 DNS 탐색 과정을 거친다.
1. 로컬 DNS 서버 캐시 확인
사용자가 웹 브라우저에 도메인을 입력하면, 로컬 DNS 서버는 먼저 자신의 캐싱 데이터베이스에서 해당 도메인의 IP 주소를 검색한다.
만약 캐싱된 정보가 있다면, IP 주소를 사용자에게 응답하고 탐색 과정을 종료한다.
캐싱된 정보가 없다면, 다음 단계로 진행하여 루트 DNS 서버에 문의한다.
2. 루트 DNS 서버에 문의
로컬 DNS 서버는 DNS 계층 구조의 최상위에 위치한 루트 DNS 서버에 요청을 보낸다.
루트 DNS 서버는 해당 도메인의 최상위 도메인(TLD)(예: .com, .org, .kr)을 관리하는 TLD 네임서버의 위치를 알려준다.
여기서 IP 주소가 아니라 TLD 네임서버 정보를 반환받는다.
3. TLD 네임서버에 문의
로컬 DNS 서버는 루트 서버로부터 받은 TLD 네임서버로 요청을 보낸다.
TLD 네임서버는 요청받은 도메인의 네임서버(NS 레코드) 정보를 반환한다.
네임서버는 해당 도메인의 세부 정보를 관리하는 권한 있는 네임서버의 위치를 가리킨다.
4. 권한 있는 네임서버에 문의
로컬 DNS 서버는 TLD 네임서버로부터 받은 네임서버에 최종 요청을 보낸다.
이 네임서버(웹 호스팅 업체의 네임서버)는 요청받은 도메인의 최종 IP 주소를 반환한다.
5. 결과 캐싱 및 응답
로컬 DNS 서버는 권한 있는 네임서버에서 받은 IP 주소를 캐싱하여 이후 동일 요청 시 빠르게 응답할 수 있도록 저장한다.
캐싱된 IP 주소를 사용자에게 반환하여, 브라우저가 해당 IP 주소로 연결을 시도한다.
네임서버는 DNS 시스템의 핵심 구성 요소로, 도메인 이름과 관련된 모든 정보를 관리하고 제공하는 중요한 역할을 한다. 도메인 소유자는 네임서버 설정을 통해 자신의 도메인이 어떻게 동작할지 제어할 수 있으며, 이는 웹사이트, 이메일 등 모든 인터넷 서비스의 기초가 된다. 네임서버의 동작 원리를 이해하는 것은 효율적인 도메인 관리와 안정적인 서비스 운영을 위한 첫걸음이라 할 수 있다.
댓글남기기