요약

  • IESG는 스테이트풀 NAT64 명세 개정판 16을 인터넷 표준으로 승인했지만, 승인된 본문은 엔드포인트 매핑과 인바운드 필터링을 의도적으로 분리해 둡니다.
  • 운영자는 매핑 동작, 필터링 정책, 관찰된 결과를 서로 다른 사실로 기록해야 합니다. 안정적인 외부 튜플의 증거는 보안 경계의 증거가 아닙니다.

변경 검토는 안심시키는 흐름으로 시작됩니다. 한 엔지니어가 하나의 IPv6 주소와 포트에서 여러 IPv4 목적지로 흐름을 연다. 바인딩이 유지되는 동안 모든 흐름은 동일한 외부 IPv4 주소와 포트를 받습니다. 구현체는 승인된 스테이트풀 NAT64 명세가 변환기가 제공하도록 요구하는 동작인 엔드포인트 독립 매핑을 입증한 셈입니다.

그런데 검토는 한 발 더 나아갑니다. 이 결과를 보안 열에 그대로 복사하여, 요청하지 않은 IPv4 트래픽은 변환기를 되돌아 통과할 수 없다는 증거로 삼습니다. 접촉하지 않은 발신지에서 온 패킷은 하나도 테스트하지 않았습니다. 필터링 설정은 읽지 않았습니다. 변환기가 해당 트래픽에 대해 엔드포인트 독립 필터링을 썼는지, 주소 의존 필터링을 썼는지, 아니면 필터링을 쓰지 않았는지 아무도 기록하지 않았습니다. 유효한 매핑 테스트가 무효한 접근 제어 결론으로 승격된 것입니다.

이 구분이 지금 더 중요한 이유는 명세가 익숙한 실무에서 표준 대장으로 옮겨지고 있기 때문입니다. 2026년 9월 4일, IESG는Stateful NAT64: Network Address and Protocol Translation from IPv6 Clients to IPv4 Servers의개정판 16을 승인하여 인터넷 표준으로 지정하고 RFC 편집자에게 STD 103 아래 배치를 요청했습니다. 공지는 이 문서가 RFC 6146을 폐기(obsoletes)하며 스테이트풀 NAT64가 널리 구현·배포되었다고 밝힙니다. 주요 논쟁도 확인되지 않았다고 명시합니다.

승인이 곧 최종 출판은 아닙니다. 이 글의 기준 시점 기준으로Datatracker 기록은 개정판 16을 RFC 편집자 대기열에 두고 있으며, 저자 입력이 필요해 출판이 보류 중으로 표시됩니다.문서 이력은 이 초안이 어떻게 그 상태에 도달했는지를 기록합니다. 완성된 사실로 인쇄할 수 있는 대체 RFC 번호는 없었습니다.

또한 이 사건을 패킷 동작의 갑작스러운 변화로 팔아넘겨서도 안 됩니다. 승인 공지는 에라타 4756과 8416의 처리를 편집적·명확화 성격으로 규정합니다.개정판 16의 부록 A는 두 에라타 모두 프로토콜적 함의가 없다고 말합니다. 기존의RFC 6146은 후속 문서가 출판될 때까지 역사적 기준선으로 남습니다. 따라서 유용한 거버넌스 질문은 “IETF가 새로 만든 방화벽은 무엇인가?”가 아니라 “운영자가 실제로 무엇을 설정했고, 그 답을 뒷받침하는 증거는 무엇인가?”입니다.

매핑은 표현(representation)에 관한 질문에 답한다

스테이트풀 NAT64는 번역 상태를 유지하여 IPv6 전용 클라이언트를 IPv4 서버에 연결합니다. TCP와 UDP에서 전송 주소는 IP 주소와 포트의 조합입니다. 변환기는 내부 IPv6 전송 주소를 외부 IPv4 전송 주소와 연결하여 반환 패킷을 발기자에게 되돌려 번역할 수 있게 합니다.

엔드포인트 독립 매핑은 재사용에 관한 규칙입니다. 동일한 IPv6 발신 주소와 포트가 바인딩 기간 중 서로 다른 IPv4 목적지로 보내더라도, 변환기는 동일한 외부 IPv4 주소와 포트를 재사용합니다.RFC 4787은 UDP NAT 동작에 대해 같은 구분을 두었습니다: 매핑 선택은 NAT의 보안 속성을 결정하지 않으며, 필터링이 그렇게 합니다.RFC 5382는 이 원칙을 TCP로 가져와, 외부 피어는 NAT의 보안 정책에 종속된 경우에만 학습된 매핑을 사용할 수 있다고 말합니다.

이 재사용은 애플리케이션 투명성과 통과(traversal)를 지원합니다. 어떤 대화에서 학습한 공개 튜플이 다른 대화에서도 유용할 수 있는지 애플리케이션에 알려 줍니다. 그러나 되돌아 보내는 것이 허용되는 IPv4 발신지를 지정하지도, 기본 거부 규칙을 설정하지도, 설치된 필터가 의도된 설정과 일치함을 증명하지도 않습니다.

승인된 NAT64 본문은 이를 직접 말합니다: 변환기는 엔드포인트 독립 매핑을 제공해야 하지만, 보안 속성은 주소 매핑 동작이 아니라 필터링 동작과 필터링 설정에 의해 결정됩니다. 이 두 행을 하나로 합친 컴플라이언스 워크시트는 명세의 명시적 구분을 폐기하는 셈입니다.

필터링은 기존 상태를 통과할 수 있는 것이 무엇인지 결정한다

IPv6 호스트가 매핑을 만들었다고 가정해 봅시다. 초안이 설명하듯, 필터링이 없으면 매핑된 외부 전송 주소를 향한 모든 IPv4 노드의 패킷은 NAT64 기능을 통과해 내부로 전달될 수 있습니다. 매핑은 필요한 상태이지만 발신지 승인은 아닙니다.

필터링을 활성화하면 매핑 모드를 바꾸지 않고도 결과가 달라집니다. 동적 주소 의존 필터는 IPv6 호스트가 이전에 접촉한 IPv4 주소에서 오는 반환 트래픽만 허용할 수 있습니다. 명시적 거부 또는 기본 거부 정책은 다른 패킷을 폐기할 수 있습니다. 따라서 엔드포인트 독립 매핑은 더 좁은 유효 도달 규칙과 공존할 수 있습니다.

여기에는 진짜 선택이 있습니다. 보편적 우열이 아닙니다. UDP에 대해 RFC 4787은 애플리케이션 투명성이 최우선일 때 엔드포인트 독립 필터링을, 더 높은 엄격성이 최우선일 때 주소 의존 필터링을 권고하며, 이 동작을 관리자가 설정 가능하도록 허용합니다. TCP에 대해 RFC 5382도 유사한 절충을 두고 TCP 필터링이 UDP 필터링과 다를 수 있음을 밝힙니다. “그 장비는 준수한다”는 말만으로는 특정 프로토콜과 인터페이스가 어떤 옵션을 쓰는지 알 수 없습니다.

ICMP는 추가 주의가 필요합니다.RFC 5508은 TCP와 UDP가 포트를 쓰는 자리에 ICMP Query 식별자를 사용합니다. 개정판 16은 에라타 4756을 해소하면서, 문제의 TCP/UDP 처리에 상응하는 주소 의존 필터링 규칙이 ICMP에는 없음을 명확히 했습니다. 하나의 UDP 라벨을 TCP와 ICMP에 복사해 붙인 테스트 스위트는 정갈한 출력을 내면서도 실제 설정은 아무것도 서술하지 않을 수 있습니다.

정적 바인딩은 증거의 모호함이 부르는 대가를 드러낸다

이 구분은 정적 매핑 주변에서 더 선명해집니다. 보안 섹션은 5-튜플에만 근거한 필터링이 일부 정적 매핑 사례에서 추측 가능할 수 있다고 경고합니다. 변환기는 TCP 시퀀스 번호를 추적해 SYN과 FIN의 순서를 검증할 수 있지만, 그것은 선택적 추가 방어입니다. 정적 매핑의 존재, 그리고 올바른 번역 결과조차도, 그 방어가 존재하는지에 대해서는 그 자체로 아무것도 말하지 않습니다.

스테이트풀 번역은 유한한 자원도 다룹니다. IPv4 전송 주소, 바인딩·세션 테이블, 조각 메모리, 링크 용량은 소모될 수 있습니다. 명세는 조각 저장소 제한과 수명 방어를 적용할 때 어느 인터페이스가 인터넷을 향하는지 결정하는 문제를 논의합니다. 이 결정은 방향과 정책에 의존합니다. “EIM 통과”라고만 적힌 스크린샷은 어느 쪽이 외부로 취급되었는지, 어떤 패킷이 상태를 만들었는지, 그 상태가 얼마나 유지되었는지, 승인되지 않은 발신지가 그것으로 무엇을 할 수 있었는지 보여주지 못합니다.

운영 지침이 이 격차를 지우지는 않습니다.RFC 7269는 NAT64의 배포 경험, 고가용성, 보안을 다루고,RFC 8683은 추가 배포 지침을 모읍니다. 둘 다 운영 맥락을 넓히지만, 어느 쪽도 튜플 재사용을 방화벽 증명서로 바꾸지 않습니다.

두 결정을 하나의 검증 가능한 증표에 담아라

운영자가 이 구분을 지키기 위해 새 프로토콜을 발명할 필요는 없습니다. 더 나은 기록이 필요할 뿐입니다. 매핑·필터링 결정 증표는 변환기와 소프트웨어 버전, 인터페이스 방향, 프로토콜, 매핑 모드, 필터링 모드, 기본 동작, 바인딩이 정적인지·동적인지·PCP로 생성되었는지, 바인딩·세션 타이머, 정책 버전과 승인자, 자원 상한, 예외 만료를 식별해야 합니다.

증표는 다음으로 의도와 관찰을 연결해야 합니다. 하나의 테스트는 동일한 내부 튜플이 여러 목적지에 걸쳐 기대된 외부 튜플을 받는다는 것을 증명합니다. 별도의 양성·음성 테스트는 어떤 IPv4 발신지가 그 매핑을 사용할 수 있는지 보여줍니다. 설치된 규칙 출력, 카운터, 알람은 플랫폼이 실제로 무엇을 수용했는지 확립합니다. 변경 이벤트는 그 증거가 여전히 유효한 이유를 설명합니다.

이 기록은 장비 전체를 인증하지 않습니다. 검토에서 살아남을 수 있는 더 작은 명세를 만듭니다: 이 버전, 이 인터페이스, 이 프로토콜에서 변환기는 상태를 이렇게 재사용했고, 이러한 인바운드 결정을 예외와 함께 이렇게 집행했다는 것입니다. 소프트웨어 업그레이드, 정책 변경, 페일오버, 타이머 변경 또는 새 정적 바인딩은 증표의 해당 부분을 만료시킵니다.

The Policy Mirror는 규칙이 어디에서 힘을 얻는지를 묻습니다. 이 사례에서 매핑은 튜플 할당에서 힘을 얻고, 필터링은 인바운드 결정 경로에서 힘을 얻습니다.Running-Code Primacy는 둘을 하나로 뭉뚱그린 라벨이 아니라 각각이 작동했다는 증거를 요구합니다.Reality, Not Advocacy는 마지막 한계를 정합니다: 승인된 표준은 선택과 동작을 확립할 뿐, 어떤 이름 붙은 배포가 올바른 선택을 했다는 증명은 아닙니다.

출처