루트 네임서버

루트 네임서버는 DNS 이름 공간의 최상위에서 각 확장자의 네임서버를 알려 주는 서버입니다. a부터 m까지 13개 이름으로 운영됩니다.

작성

루트 네임서버(root nameserver)는 DNS 이름 공간의 최상위인 루트 존에 답하는 서버이며, "이 확장자는 어느 네임서버에 물어야 하는가"를 알려 주는 역할만 합니다. .kr을 물으면 .kr 레지스트리의 네임서버 목록을, .com을 물으면 .com 네임서버 목록을 돌려줍니다. 개별 도메인의 A 레코드나 MX 레코드는 루트에 없습니다.

13개 이름과 실제 인스턴스

루트 네임서버의 이름은 a.root-servers.net부터 m.root-servers.net까지 13개입니다. 13이라는 숫자는 초기 DNS 응답 한 개에 담을 수 있는 크기 제한에서 비롯된 값입니다. 각 이름은 서로 다른 기관이 운영하며, 실제로는 애니캐스트(anycast) 방식으로 전 세계 수백 개 인스턴스가 같은 IP 주소를 함께 광고합니다. 질의를 보내면 네트워크 경로상 가까운 인스턴스가 받아 답하므로, 지리적으로 멀리 있는 조직이라도 응답 지연이 크지 않고 특정 지역의 장애가 전체로 번지지 않습니다.

조회 경로에서의 위치

단계묻는 대상받는 답
1루트 네임서버.kr 네임서버 목록
2.kr 레지스트리 네임서버example.co.kr의 네임서버 목록
3example.co.kr의 권한 네임서버A, MX, TXT 등 실제 레코드 값

리졸버가 루트에 묻는 것은 캐시가 비어 있을 때뿐입니다. 루트의 응답에 붙는 TTL은 길게 잡혀 있어, 한 번 받아 두면 같은 확장자의 질의는 한동안 2단계부터 시작합니다. 그래서 실제 인터넷 트래픽에서 루트로 가는 질의의 비중은 크지 않습니다. gTLD와 국가 코드 도메인 모두 같은 경로를 따릅니다.

루트 힌트

리졸버는 루트 서버의 주소를 스스로 조회할 수 없습니다. 루트를 물으려면 루트의 주소를 이미 알고 있어야 하기 때문입니다. 그래서 13개 이름과 IP 주소를 적어 둔 루트 힌트(root hints) 파일을 리졸버 소프트웨어가 내장하고 있고, 시작할 때 이 목록 중 하나에 접속해 최신 루트 NS 정보를 받아 갱신합니다. 루트 힌트는 IANA가 공개하며 주소가 바뀌는 일은 드뭅니다. 직접 리졸버를 운영하지 않는다면 신경 쓸 필요가 없습니다.

실무에서 알아둘 것

  • 도메인이 연결되지 않는 원인이 루트인 경우는 사실상 없습니다. 점검은 권한 네임서버의 응답과 위임 정보부터 봅니다. 확인 방법은 DNS 조회 도구에 정리되어 있습니다.
  • 네임서버를 바꾸는 작업은 2단계, 즉 레지스트리의 위임 기록을 고치는 일입니다. 절차는 네임서버 변경 방법을 참고하세요.
  • 루트 존은 DNSSEC으로 서명되어 있고, 여기서 시작하는 신뢰 사슬이 하위 확장자와 도메인으로 이어집니다. 도메인 쪽 설정은 DS 레코드 항목에서 다룹니다.

자주 묻는 질문

13개는 이름의 수이고 실제 서버 대수는 아닙니다. 각 이름은 애니캐스트로 전 세계 수백 곳에 같은 주소로 복제되어 있어, 한 지역이 멈춰도 질의는 다른 인스턴스로 갑니다. 국내에서 조회하면 대개 가까운 인스턴스가 응답합니다.

없습니다. 루트는 .kr, .com 같은 확장자의 네임서버 위치만 알려 줍니다. 개별 도메인의 위임 정보는 해당 확장자 레지스트리가, 실제 레코드 값은 그 도메인의 권한 네임서버가 가지고 있습니다.

직접 리졸버를 운영할 때 루트 힌트 파일과 DNSSEC 신뢰 앵커를 최신 상태로 두는 정도입니다. 대부분의 DNS 소프트웨어는 이 값을 기본 포함하고 패키지 업데이트로 갱신하므로, 도메인 관리자가 따로 손댈 일은 없습니다.