요약
- RFC 6020은 레지스트리의 모든 YANG 모듈 및 서브모듈 이름과 모든 XML 네임스페이스가 고유해야 한다고 규정했습니다. 그러나 IANA의 확립된 실무는 같은 모듈 이름과 네임스페이스 아래에 연속된 개정판을 유지해 왔습니다.
- Qin Wu가 공동 집필한 RFC 9890이 이 문구를 수정했습니다. 고유성은 최초 버전에 적용되며, 개정판은 최초 이름을 유지해야 하고, 모듈 개정판은 최초 XML 네임스페이스를 유지해야 합니다.
- 안정적으로 등록된 정체성이 개정판들을 서로 교체 가능하게 만들지는 않습니다. 개정 날짜, 선택된 소스, 구현 테스트, 관찰된 배포 결과는 서로 다른 주체가 관리하는 별개의 증빙으로 남습니다.
2026년 9월 1일 기준, IANA YANG 모듈 이름 레지스트리에는ietf-yang-types라는 이름의 행이 세 개 있었습니다. 하나는 2010-09-24용 날짜가 붙은 YANG 파일을, 다른 하나는 2013-07-15 개정판을, 또 다른 하나는 2025-12-22 개정판을 가리켰습니다. 세 행 모두 XML 네임스페이스urn:ietf:params:xml:ns:yang:ietf-yang-types를 공유했습니다.
RFC 6020의 원래 문구를 문자 그대로 읽으면 이는 불가능해 보였습니다. 14절은 레지스트리의 모든 모듈 및 서브모듈 이름이 “MUST be unique(고유해야 한다)”고 명시했고, 모든 XML 네임스페이스도 고유해야 한다고 말했습니다. 그러나 반복된 행들은 우연히 경합한 청구가 아니었습니다. 그것은 하나의 모듈 정체성에 대한 편집 역사였습니다.
RFC 9890은 2025년 10월 이 모순을 해소했습니다. Andy Bierman, Mohamed Boucadair, Qin Wu가 집필한 여섯 페이지 표준 트랙 문서는 새로운 레지스트리 운영 방식을 발명하지 않았습니다. 모듈과 그 개정판을 관리하는 데 이미 사용되던 실무를 규격이 그대로 서술하도록 규칙을 바꾼 것입니다.
이 수정은 지나치기 쉬울 만큼 작습니다. 동시에 기술 레지스트리가 무엇을 위한 것인지 시험하는 깔끔한 사례이기도 합니다.
낡은 문장은 잘못된 단위를 서술하고 있었다
고유성은 시스템이 무엇을 고유하게 만들지 정한 이후에만 의미가 있습니다. 최초 모듈 이름은 정체성 부여입니다. 이후의 개정판은 그 정체성 안에서의 새로운 편집 상태입니다. 둘을 같은 종류의 사건으로 다루면 거짓 충돌이 생깁니다.
RFC 9890은 이 경계를 정확히 다시 씁니다. 최초 모듈 및 서브모듈 버전의 이름은 고유해야 합니다. 최초 모듈 버전의 XML 네임스페이스는 고유해야 합니다. 이후 모든 모듈·서브모듈 개정판은 최초 이름을 사용해야 하고, 모든 모듈 개정판은 최초 XML 네임스페이스를 사용해야 합니다.
이 구분은 두 가지 성질을 동시에 보호합니다. 최초 고유성은 서로 무관한 규격이 같은 공개 식별자를 차지하는 것을 막습니다. 개정 연속성은 하나의 규격이 정의가 바뀔 때마다 정체성을 바꾸는 것을 막습니다. 레지스트리가 둘 다 강제하려면 개정판에게 최초 등록처럼 행동할 것을 요구하는 일을 멈춰야 합니다.
그래서 “중복”은 위험한 대시보드 라벨입니다. 같은 이름의 세 행은 데이터 오염, 경합하는 세 개의 최초 청구, 또는 하나의 승인된 계보 안에서 날짜가 다른 세 개 개정판 중 어느 것이라도 될 수 있습니다. 문자열 일치만으로는 판단할 수 없습니다. 기록에는 사건 유형, 개정 날짜, 소스 문서, 네임스페이스가 필요합니다.
같은 규율은 YANG 밖에서도 적용됩니다. 어떤 사건이 생성인지, 갱신인지, 개정인지, 이전인지, 복구인지 모른 채 반복 식별자를 거부하는 통제는 데이터베이스를 깔끔하게 보이게 하면서, 보호하려던 연속성을 오히려 깨뜨릴 수 있습니다.
개정판은 정체성을 유지하지, 의미를 유지하지 않는다
새 규칙은 반대 방향으로 잘못 읽힐 수도 있습니다. 개정판이 같은 이름과 네임스페이스를 유지해야 한다면, 성급한 독자는 그것들이 서로 교체 가능하다고 가정할 것입니다. RFC 7950은 이 추론이 왜 실패하는지 보여 줍니다.
YANG 1.1은revision문장을 모듈의 편집 개정 이력으로 서술합니다. 인자는 날짜입니다. 공개된 모든 편집 변경은 역시간 순서의 맨 앞에 새 날짜 문장을 추가해야 하며, 권장 파일명은 안정적인 모듈 이름에 선택적@revision-date를 결합합니다.
이 구조는 두 가지를 동시에 말합니다. 여전히 같은 이름의 모듈이며, 그리고 반드시 같은 정의는 아니라는 것입니다. 정체성 연속성은 “어느 계보인가”에 답하고, 날짜는 “어느 편집 상태인가”에 답합니다. 어느 답도 다른 답을 대신할 수 없습니다.
임포트는 이 차이를 운영적으로 만듭니다. 임포트에revision-date가 포함되면 참조되는 정의는 그 지정된 개정판에서 오며, 해당 개정판이 존재하지 않으면 오류입니다. 날짜가 없으면 RFC 7950에 따라 어떤 개정판이 선택되는지 정의되지 않습니다. 서로 다른 프리픽스를 쓴다면 같은 모듈의 여러 개정판을 임포트할 수도 있습니다.
따라서 변하지 않는 네임스페이스는 업그레이드 정책이 될 수 없습니다. 어느 개정판이 번들에 포함됐는지, 어느 벤더가 어떤 동작을 구현했는지, 스키마 변경이 안전한지를 운영자에게 알려 줄 수 없습니다. 나머지 증거 사슬이 계속 보이도록 둔 채, 공개 정체성만 안정적으로 유지합니다.
날짜는 장식이 아니라 선택자다
ietf-yang-types의 IANA 행들은 이 메커니즘을 구체적으로 보여 줍니다. 2010년 행은 RFC 6021을 가리키고, 2013년 행은 RFC 6991, 2025년 행은 RFC 9911을 가리킵니다. 이름과 네임스페이스는 변하지 않지만, 날짜가 붙은 파일과 문서적 근거는 바뀝니다.
ietf-yang-types만 저장하는 자산 목록은 세 개의 편집 상태를 하나로 뭉갭니다. 그것들을ietf-yang-types-v1,-v2,-v3로 다시 짓는 목록은 레지스트리가 부여하지 않은 정체성을 낳습니다. 충실한 기록은 두 축을 모두 담습니다. 안정적인 정체성과, 날짜가 붙은 개정입니다.
운영자에게는 날짜 이상의 것이 필요합니다. 유용한 증빙은 모듈 이름, 네임스페이스, 개정 날짜, 파일 다이제스트, 소스 RFC, 패키지 또는 펌웨어 버전, 검증 결과, 배포 관찰을 연결합니다. 날짜는 의도한 텍스트를 고르고, 다이제스트는 정확한 바이트를 식별하고, 패키지 매니페스트는 무엇이 출하되었는지, 테스트는 구현이 무엇을 수용했는지, 관찰은 실제 시스템이 무엇을 했는지 말합니다.
어떤 항목도 중복이 아닙니다. 벤더가 같은 이름의 모듈 파일을 조용히 교체하면, 날짜와 다이제스트가 그 치환을 드러냅니다. 두 제품이 같은 개정판을 주장하면서 다르게 파싱하면, 적합성 증빙이 둘을 구분합니다. 검증된 빌드가 프로덕션에 도달하지 못했다면, 배포 상태가 실험실 증빙이 실제 주장이 되는 것을 막습니다.
레지스트리의 역할은 좁다
RFC 9890은 YANG 모듈 이름 레지스트리에서 이름을 할당할 때의 권위 있는 참조로 자신을 추가합니다. 그리고 이 변경이 새로운 운영이나 관리 가능성 요구를 만들지 않으며, 새로운 보안 위험이나 증가한 위험도 만들지 않는다고 말합니다.
이 절제가 중요합니다. 레지스트리의 공통 기능은 충돌 방지와 계보 기록입니다. 최초 모듈 정체성이 이미 할당되었음을 말할 수 있고, 날짜가 붙은 개정판이 같은 이름과 네임스페이스에 속함을 기록할 수 있습니다. 그러나 YANG 모델의 품질, 파서의 정확성, 두 개정판 간 호환성, 배포의 판단력을 인증할 수는 없습니다.
Lu Heng의 최소 최초 규격은 여기서 유용한 설계 시험을 제공합니다. 참여자들이 반드시 공유해야 하는 것만 중앙화하라는 원리입니다. 생태계에는 정체성 질문에 대한 공통 답이 필요합니다. 최초 이름과 네임스페이스가 충돌하면 조율이 손상되기 때문입니다. 그러나 IANA가 벤더의 업그레이드 시점을 고르고, 로컬 임포트 그래프를 승인하고, 운영자의 서비스 리스크를 받아들이는 일은 필요 없습니다.
여기서 지역화된 미래 의사결정이 자연스럽게 따라 옵니다. 개정판은 모든 구현이 즉시 채택하도록 강제하지 않고도 공개·등록될 수 있습니다. 벤더는 패키징하고, 도구는 선택하고, 운영자는 서로 다른 일정으로 도입할 수 있습니다. 공개 정체성은 이 결정들 사이에서 이식 가능하게 남고, 결정은 그것을 내린 당사자에게 귀속됩니다.
Qin Wu의 공로는 맥락이지 운영 권한이 아니다
RFC 9890은 Andy Bierman과 Mohamed Boucadair와 함께 화웨이(Huawei) 소속 Qin Wu를 세 명의 저자 가운데 하나로 표기합니다. 공식 IETF Datatracker는 같은 공개 정체성 아래 방대한 RFC 기록을 연결합니다. 이것만으로 Qin Wu를 네트워크 관리와 YANG에 관한 오랜 표준화 실무 안에 놓기에 충분합니다.
그러나 공동 저자를 그 규칙의 소유자로 만들기에는 충분하지 않습니다. RFC는 IETF 절차와 합의를 대표합니다. IANA는 레지스트리를 관리합니다. 규격 저자는 개정판을 쓰고, 도구·제품 팀은 그것을 구현하며, 네트워크 운영자는 무엇을 프로덕션에 넣을지 결정하고 그 결과를 감당합니다.
이 구분은 형식적 겸손이 아닙니다. 자신이 통제하지 않는 시스템의 책임이 잘못된 사람에게 돌아가는 것을 막습니다. 레지스트리 실수는 레지스트리 절차의 몫이고, 파서 결함은 구현 사슬의 몫이며, 부실하게 테스트된 배포는 승인한 당사자의 몫입니다. RFC 저자의 이름은 출처 증명이지 양도 가능한 운영 위임장이 아닙니다.
Qin Wu의 기여는 좁게 읽을 때 더 유용합니다. 이 문서는 레지스트리가 이미 의존하던 정체성 실무와 서면 규칙이 모순되는 것을 멈추도록 돕습니다. 다른 주체들이 자기 선택과 책임을 유지할 수 있을 만큼 공개 경계를 명확히 정의합니다.
서면 정책이 작동 중인 실무를 따라잡을 때
러닝 코드 우선 원리는 소프트웨어가 수행하는 모든 동작을 그것만으로 정당하게 만들지 않습니다. 나쁜 실무도 널리 퍼질 수 있습니다. 어떤 구현은 편리하면서도 상호 운용성이나 보안 성질을 위반할 수 있습니다. 실무는 조율 규칙이 존재하는 이유와 대조하여 시험되어야 합니다.
RFC 9890은 이 좁은 시험을 통과합니다. 개정판이 최초 이름과 네임스페이스를 유지하는 것이 최초 고유성을 약화시키지 않습니다. 오히려 레지스트리가 편집 변경마다 새 정체성을 날조하지 않고도 개정 이력을 표현할 수 있게 합니다. 이 실무는 고유성 경계와 참조의 연속성을 모두 보존합니다.
이 수정은 표준이 책임 있게 변하는 방식도 보여 줍니다. 문서는 낡은 규칙을 상태 내고, 모순의 이름을 밝히고, 대체 문구를 공개하고, 그것이 다루는 레지스트리를 가리킵니다. 불일치를 편집 정리 뒤로 숨기지 않습니다. 이후 검토자는 어떤 규범 문장이 옮겨졌는지 정확히 볼 수 있습니다.
그런 기록은 낡은 문장이 언제나 다른 것을 뜻했다고 주장하는 것보다 낫습니다. 규격은 오래 지속되고 범위가 한정된 실무가 자기 텍스트 속 잘못된 추상을 드러냈음을 인정할 때 신뢰를 얻습니다.
다음 업데이트를 견디는 개정 증빙 만들기
최초 할당부터 시작합니다. 모듈 또는 서브모듈 이름, 모듈 네임스페이스, 할당 문서, 레지스트리 타임스탬프입니다. 이를 명시적으로 최초 버전으로 표시합니다. 고유성 검사는 이 계층에서 수행해야 하며, 이후 모든 행을 무차별 대상으로 삼아서는 안 됩니다.
각 개정판에 대해 변하지 않는 정체성 항목과 함께 개정 날짜, 정확한 파일 URL, 다이제스트, 소스 RFC, 선행 개정판을 기록합니다. 도구가 개정판을 명시적으로 선택했는지, 아니면 정의되지 않은 기본 선택을 받아들였는지도 남깁니다. 생략된revision-date는 의도적인 선택과 같은 증거가 아닙니다.
그 다음 사슬을 소프트웨어로 확장합니다. 파서와 버전, 검증 출력, 모듈을 포함한 패키지나 펌웨어, 임포트 그래프, deviations, 활성화된 기능을 기록합니다. 그 기록을 스테이징 테스트, 프로덕션 승인, 배포 범위, 관찰된 오류, 롤백 결과와 연결합니다.
대시보드는 단계마다 다른 동사를 써야 합니다. IANA는등록했다. RFC는규격화했다. 패키지는포함했다. 파서는수용했다. 벤더는지원한다. 운영자는배포했다. 서비스는계속되었거나 실패했다. 하나의 초록 상태가 다음 단계를 대변해서는 안 됩니다.
결과는 관료적 과잉이 아닙니다. RFC 9890이 보호하는 두 가지, 즉 하나의 안정적인 공개 정체성과 그 아래 이루어지는 모든 변경에 대한 정직한 가시성을 얻는 데 필요한 최소한의 증거입니다.
출처
- https://www.rfc-editor.org/rfc/rfc9890.html
- https://www.rfc-editor.org/rfc/rfc6020.html
- https://www.rfc-editor.org/rfc/rfc7950.html
- https://www.iana.org/assignments/yang-parameters/
- https://datatracker.ietf.org/person/Qin%20Wu
- https://www.ietf.org/lib/dt/media/photo/Qin_Wu-IAB_kPeDhyO.PNG
- https://heng.lu/running-code-primary-the-patch-needed-to-preserve-the-internet-original-design/
- https://heng.lu/minimum-initial-specification-localized-future-decision-voluntary-adoption-internet-coordination-system/
- https://heng.lu/on-the-agency-problem-at-the-core-of-internet-governance/
회원 브리핑
프로필 심층 컨텍스트
올바른 멤버십 등급으로 로그인하면 전체 브리핑과 출처 노트를 볼 수 있습니다.
Strategic Circle 전용
Strategic Circle
모든 독자에게 공개됩니다. 가입 후 로그인하면 프로필 브리핑를 열람할 수 있습니다.
Strategic Circle 가입하기Leadership Alliance 전용
Leadership Alliance
자격을 갖춘 IP 자산 소유자 및 운영진을 위한 콘텐츠입니다. 로그인하면 Leadership Alliance 브리핑을 열람할 수 있습니다.
Leadership Alliance 가입하기





