알쓸잡.. 도메인 루트 RFC 1034

RFC 1034 – Domain Names – Implementation and Specification

쿠버네티스 설정을 하다 노드를 못찾는 경우가 발생해서 조사 중에 도메인의 마지막에 . 을 추가하라는 내용을 봤습니다.
쿠버네티스 특유의 문법인가 했는데 RFC 에 정의되어 있네요.

아래 내용으로 ".(dot)은 루트를 의미하고, 도메인 이름 끝에 항상 붙는다."것을 알 수 있습니다.

When a user needs to type a domain name, the length of each label is
omitted and the labels are separated by dots (".").  Since a complete
domain name ends with the root label, this leads to a printed form which
ends in a dot.  We use this property to distinguish between:

- a character string which represents a complete domain name
    (often called "absolute").  For example, "poneria.ISI.EDU."

- a character string that represents the starting labels of a
    domain name which is incomplete, and should be completed by
    local software using knowledge of the local domain (often
    called "relative").  For example, "poneria" used in the
    ISI.EDU domain.

Relative names are either taken relative to a well known origin, or to a
list of domains used as a search list.  Relative names appear mostly at
the user interface, where their interpretation varies from
implementation to implementation, and in master files, where they are
relative to a single origin domain name.  The most common interpretation
uses the root "." as either the single origin or as one of the members
of the search list, so a multi-label relative name is o

그래서 크롬에서 www.google.com. , www.amazon.com. 을 주소창에 입력 해보니 redirect 해서 . 이 없는 주소로 갑니다.
그런데 www.naver.com. , www.daum.net. 을 하니까 안되네요.
이유는 모르겠지만 구현이 다른 것을 사용했겠지요.

암튼 별것 아니고 알아도 쓸모 없을 수는 있겠지만 재밌는 경험이었습니다.

쿠버네티스에서 경험

쿠버네티스 내부(Pod)의 DNS 설정 파일(/etc/resolv.conf)을 보면 보통 이렇게 되어 있습니다.

1
2
search staging.svc.cluster.local svc.cluster.local cluster.local
options ndots:5

만약 점 없이 valkey.staging.svc.cluster.local이라고만 입력하면, 리졸버(DNS 클라이언트)는 이것이 "완전한 주소"인지 "상대 주소"인지 확신하지 못해서 search 목록에 있는 도메인들을 뒤에 붙여가며 시도를 해봅니다.

1
2
3
4
valkey.staging.svc.cluster.local + .staging.svc.cluster.local (실패)
valkey.staging.svc.cluster.local + .svc.cluster.local (실패)
... (여러 번 재시도 후)
마지막에 valkey.staging.svc.cluster.local. (성공)

이 과정에서 불필요한 DNS 쿼리가 발생하고, **타임아웃이나 오류(Name or service not known)**가 발생할 수 있습니다.

마지막에 점(.)을 찍으면: "이건 완성된 주소니까 뒤에 아무것도 붙이지 말고 바로 찾아!"라고 지시하는 것이 되어, 한 번에 정확하게 찾아갑니다.

RFC 1034 요약 by LLM

핵심 구조

  1. 도메인 네임 시스템
    • 문자열 → 레이블 (길이 ≤63)
    • 레벨별 트리 구조 (예: sub.example.com.)
  2. Zone File Format
    • 주석(#), 인클루드($INCLUDE) 등
    • RRSets(같은 레코드 집합) – 예: www IN A 192.0.2.1
  3. Resource Record Types
    • A, NS, CNAME, SOA, MX, TXT, PTR, HINFO, RP, MB/MG, MR, NULL, WKS, X25, ISDN, RT, NSAP, …
  4. Name Server Operation
    • Query : TYPE, Class, ID, Flags 등
    • Response : RRSets, Authority, Additional sections
    • Caching Rules (TTL, REFRESH, RETRY, EXPIRE, MINIMUM)
  5. Zone Maintenance
    • Serial number handling – INCREMENT on change
    • Refresh/Retry/Expire intervals (RFC 1034 규정)

핵심 정의 예시

도메인 이름 문자열
1
2
example.com.          ; 루트 이하 최상위
sub.example.com. ; 하위 레벨
  • 각 레이블은 0~63자, 전체 길이 ≤255 (마지막 ‘.’ 포함).
  • .(dot)은 루트를 의미하고, 도메인 이름 끝에 항상 붙는다.
Zone File 예시
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

$TTL 86400
@ IN SOA ns1.example.com. hostmaster@example.com. (
2024010100 ; serial
7200 ; refresh (2h)
1200 ; retry (20m)
3600000 ; expire (100d)
86400 ) ; minimum

@ IN NS ns1.example.com.
@ IN NS ns2.example.com.

ns1 IN A 192.0.2.1
ns2 IN A 192.0.2.2

www IN CNAME example.com.
mail IN MX 10 mail.example.com.

왜 여전히 중요할까?

이유 비고
기초 문서 DNS는 오늘날 가장 널리 쓰이는 분산 도메인 시스템. RFC 1034+RFC 1035 는 그 기초를 정의한 두 번째 문서이다.
호환성 대부분의 DNS 서버( BIND, PowerDNS, NSD 등) 는 이 RFC 를 기준으로 구현된다.
법적/표준화 IETF DataTracker 페이지는 “Status: Obsolete” 를 표시하지만, 실제 운영에서는 여전히 참조 대상이다.
추가 문서와의 연계 예를 들어, RFC 2181(도메인 네임 레코드 명명법), RFC 2136(도메인 네임 시스템 확장) 등은 이 기준 위에 추가 규정이 붙는다.

#### 관련 참고문서

  • RFC 1035 “Domain Names – Implementation and Specification” (같은 문서의 동반전문). 함께 읽으면 완전한 DNS 사양을 이해할 수 있다.
  • RFC 2181 “A Mechanism for Name System Security” (DNSSEC) – 보안 확장.
  • RFC 2136 “The Domain Names (DN) Extension Protocol” – NAPTR 레코드 등 추가 기능.
  • RFC 1034, RFC 1035 IETF DataTracker 페이지에서 각 문서의 최신 상태와 버그 리포트 확인 가능.

알쓸잡.. 도메인 루트 RFC 1034
https://kimjj81.github.io/2025/11/26/알쓸잡-도메인-루트-RFC-1034/
Author
김 정진
Posted on
November 26, 2025
Licensed under