IETF가 2024년 10월 RFC 9660 "The DNS Zone Version (ZONEVERSION) Option"을 제안 표준(Proposed Standard)으로 발행했습니다. 이 문서는 DNS 클라이언트가 요청하면 권한(authoritative) DNS 서버가 응답과 함께 "이 응답이 어느 버전의 영역(zone)에서 나왔는지"를 알려 주는 EDNS(0) 옵션을 정의합니다. 이번 명세에서 정의한 버전 형식은 SOA 레코드의 SERIAL 값 하나입니다. 응답 데이터와 영역 버전을 한 응답에 함께 받을 수 있어서, 애니캐스트(IP anycast)나 여러 백엔드로 운영하는 환경에서 모니터링과 장애 분석이 쉬워집니다.
무엇이 발표되었나
- 문서: RFC 9660, 저자 H. Salgado, M. Vergara, D. Wessels. 인터넷 표준 트랙(Standards Track) 문서입니다.
- 옵션: 새 EDNS(0)(RFC 6891) 옵션 ZONEVERSION을 정의하며, 옵션 코드(OPTION-CODE)는 19입니다.
- 동작 방식: 질의에서는 OPTION-LENGTH를 0으로 보내 영역 버전을 요청합니다. 응답에서는 OPTION-LENGTH가 OPTION-DATA의 길이(옥텟 단위)입니다.
- 버전 형식: 이 명세는 SOA SERIAL만 정의합니다. 영역 데이터를 SOA SERIAL이 아닌 방식(관계형 데이터베이스나 자체 방식 등)으로 배포하는 경우에 대비해, 다른 형식은 향후 명세에서 정의할 수 있게 했습니다. 영역 운영자가 쓸 수 있는 사설 용도(Private Use) 코드 포인트도 할당했습니다.
- 성격: 이름 서버 식별자(NSID) 옵션(RFC 5001)과 비슷합니다. NSID가 응답을 만든 "서버"를 알려 준다면, ZONEVERSION은 응답을 만든 "영역의 버전"을 알려 줍니다.
배경도 원문에 나와 있습니다. DNS는 동기화가 즉시 이뤄질 수 없어서 데이터가 느슨하게 일관(loosely coherent, RFC 3254)될 수 있습니다. 그래서 같은 시점에 받은 응답이라도 다른 권한 서버의 데이터와 어긋날 수 있습니다. 게다가 애니캐스트나 부하 분산 백엔드를 쓰면 두 번의 질의가 같은 서버로 간다는 보장이 없습니다. 레코드를 조회한 뒤 SOA를 따로 조회해도 두 응답이 같은 서버, 같은 버전에서 왔다고 확신할 수 없습니다. ZONEVERSION은 데이터와 버전을 하나의 응답에 함께(atomically) 담아 이 문제를 줄입니다.
영향 범위
- 구현은 선택 사항(OPTIONAL)입니다. 클라이언트와 이름 서버 모두 지원하지 않아도 표준을 어기는 것이 아닙니다.
- 이름 서버가 권한 응답을 줄 때만 쓰도록 설계했습니다. 재귀 리졸버가 캐시에서 답하는 경우는 대상이 아닙니다.
- 홉 간(hop-to-hop) 통신용이며 전달되지 않습니다(not transitive). 리졸버를 거친 응답에서 권한 서버의 영역 버전을 그대로 받을 수 있다고 기대해서는 안 됩니다.
운영자가 할 일
당장 바꿔야 할 설정은 없습니다. 다만 다음을 검토할 만합니다.
- 권한 DNS 서버를 애니캐스트나 여러 노드로 운영한다면, 사용 중인 서버 소프트웨어와 모니터링 도구가 ZONEVERSION을 지원하는지 확인합니다.
- 영역 변경이 모든 노드에 반영됐는지 점검하는 절차에서 NSID와 함께 쓰면, 어느 서버가 어느 버전으로 응답했는지 한 번의 질의로 확인할 수 있습니다.
- SOA SERIAL을 쓰지 않는 자체 배포 방식을 운영한다면 사설 용도 코드 포인트 사용을 검토할 수 있습니다.
원문: https://www.rfc-editor.org/info/rfc9660
원문을 한국어로 번역·요약한 글입니다. 정확한 내용은 원문을 확인해 주세요. AI의 도움을 받아 작성하고 담당자가 검토했습니다.