본문으로 이동

NAT64

위키백과, 우리 모두의 백과사전.

NAT64는 네트워크 주소 변환(NAT)의 한 형태를 사용하여 IPv6와 IPv4 호스트 간의 통신을 용이하게 하는 IPv6 전환 메커니즘이다. NAT64 게이트웨이는 IPv4와 IPv6 프로토콜 사이의 변환기 역할을 하며,[1] 이 기능을 위해 적어도 하나의 IPv4 주소와 32비트 주소 공간을 포함하는 하나의 IPv6 네트워크 세그먼트가 필요하다. 이 서비스에 예약된 "잘 알려진 접두사(well-known prefix)"는 64:ff9b::/96이다.

IPv6 클라이언트는 통신하고자 하는 IPv4 주소를 IPv6 네트워크 세그먼트의 호스트 부분에 내장하여 IPv4 내장 IPv6 주소를 생성하고(이 때문에 IPv6 네트워크 세그먼트에 32비트 주소 공간이 필요함), 결과 주소로 패킷을 보낸다. NAT64 게이트웨이는 IPv6와 IPv4 주소 간의 매핑을 생성하며, 이는 수동으로 설정하거나 자동으로 결정될 수 있다.[2]

작동 원리

[편집]
Image
NAT64 및 DNS64

단순한 NAT64 설치는 각각 IPv4 네트워크와 IPv6 네트워크에 연결된 두 개의 인터페이스를 가진 게이트웨이로 구성될 수 있다. IPv6 네트워크의 트래픽은 게이트웨이를 통해 라우팅되며, 게이트웨이는 두 네트워크 간에 패킷을 전송하기 위해 필요한 모든 변환을 수행한다. 그러나 IPv6 주소 공간이 IPv4 주소 공간보다 훨씬 크기 때문에 변환은 대칭적이지 않으며,[3] 따라서 일대일 주소 매핑은 불가능하다. 게이트웨이는 IPv6-IPv4 주소 매핑을 유지하며, 이는 자동 알고리즘(비상태형 매핑)을 통해 구축되거나 IPv6 네트워크의 첫 번째 패킷이 NAT64 게이트웨이에 도달할 때 특수한 수동 변환(상태형 매핑)을 통해 구축될 수 있다.

비상태형(stateless) 변환은 원격의 IPv4 전용 클라이언트가 IPv6 전용 서버에 접속할 수 있도록 해당 서버 앞에 NAT64 변환기를 배치할 때 적합하다.[4] 상태형(stateful) 변환은 클라이언트 측이나 서비스 제공자 측에 배포하기에 적합하며, IPv6 전용 클라이언트 호스트가 원격의 IPv4 전용 노드에 접속할 수 있게 해준다.

일반적으로 NAT64는 IPv6 호스트가 통신을 시작할 때 사용하도록 설계되었다. 정적 주소 매핑을 포함한 일부 메커니즘을 통해 그 반대의 시나리오도 가능하다.[5]

모든 유형의 자원을 NAT64로 이용할 수 있는 것은 아니다. SIP 및 SDP, FTP, WebRTC, MSN 및 IPv4 리터럴(literal) 주소를 포함하는 기타 모든 콘텐츠는 제외되지만, 듀얼 스택 웹 프록시를 사용하면 IPv6 전용 클라이언트가 URL에 IPv4 리터럴이 포함된 웹 페이지에도 접속할 수 있다. 그러나 NAT64를 사용하는 464XLAT는 IPv6 전용 연결을 통해 이러한 프로토콜을 사용할 수 있게 해준다.[6] SIP와 FTP의 경우, 애플리케이션 계층 게이트웨이를 사용하거나 PREFIX64 확장이 포함된 포트 제어 프로토콜을 사용하여 문제를 해결할 수도 있다.[7]

구현

[편집]

각주

[편집]
  1. ↑ C. Bao; C. Huitema; M. Bagnulo; M. Boucadair; X. Li (October 2010). IPv6 Addressing of IPv4/IPv6 Translators. Internet Engineering Task Force. ISSN 2070-1721. RFC 6052. https://tools.ietf.org/html/rfc6052. Proposed Standard. Updates RFC 4291.
  2. ↑ M. Bagnulo; P. Matthews; I. van Beijnum (April 2011). Stateful NAT64: Network Address and Protocol Translation from IPv6 Clients to IPv4 Servers. Internet Engineering Task Force. ISSN 2070-1721. RFC 6146. https://tools.ietf.org/html/rfc6146. Proposed Standard.
  3. ↑ Mavrin, Alex. “NAT64 power and limitations”. 《Blog article》. 2014년 1월 8일에 원본 문서에서 보존된 문서. 2014년 1월 6일에 확인함.
  4. ↑ “NAT64 Address Translation”. 2024년 7월 30일에 원본 문서에서 보존된 문서. 2026년 5월 29일에 확인함.
  5. ↑ “NAT64 Technology: Connecting IPv6 and IPv4 Networks” (영어). 《Cisco》. 2020년 11월 12일에 원본 문서에서 보존된 문서. 2021년 1월 12일에 확인함.
  6. ↑ M. Mawatari; M. Kawashima; C. Byrne (April 2013). 464XLAT: Combination of Stateful and Stateless Translation. Internet Engineering Task Force. ISSN 2070-1721. RFC 6877. https://tools.ietf.org/html/rfc6877. Informational.
  7. ↑ M. Boucadair (May 2014). Discovering NAT64 IPv6 Prefixes Using the Port Control Protocol (PCP). Internet Engineering Task Force. RFC 7225. https://tools.ietf.org/html/rfc7225. Proposed Standard.
  8. ↑ “Introduction to Jool”. 《Jool》. 2026년 1월 11일에 확인함.
  9. ↑ “package: jool-tools-netfilter”. 《OpenWrt wiki》. 2024년 4월 4일에 확인함.
  10. ↑ Palardy, Andrew. “Tayga- Simple, no-fuss NAT64 for Linux”. 2025년 6월 18일에 확인함.
  11. ↑ “Supporting IPv6 DNS64/NAT64 Networks”. 2017년 3월 27일. 2024년 4월 4일에 확인함.
  12. ↑ “Configuring Stateful NAT64 for Handling IPv4 Address Depletion”. 2024년 4월 4일에 확인함.
  13. ↑ “Understand and Configure NAT64”. 2024년 4월 4일에 확인함.
  14. ↑ “ipfw(8), FreeBSD Manual Pages”. FreeBSD. 2025년 3월 21일에 확인함.