본문 바로가기

네트워크/네트워크 기본

IPv4와 IPv6 간의 주소 전환 기술

◈ IPv4 주소가 고갈됨에 따라 향후 IPv6 로의 전환이 불가피하겠지만, 한 순간에 전세계에서 사용 중인 IPv4를 IPv6로 변경한다는 것은 불가능하다. 따라서, IPv4 에서 IPv6의 전환에 있어서 오랜시간 공존할 수 밖에 없을 것이고 이를 위해서 IPv4와 IPv6 간의 전환 기술이 필요하게 된다. 이러한 전환 기술은 크게 다음과 같은 3가지로 분류 될 수 있다.

  ● Dual Stack(듀얼스택)
     - 시스템에서 IPv4와 IPv6 프로토콜을 동시에 지원하는 기술.
     - 디바이스와 상관없이 운영체제의 커널단에 소프트웨어 형태로 구현.
     - IPv4 와 IPv6 노드와 직접 통신할 수 있어야 하기 때문에 DNS에서 IPv4의 A 레코드 및 IPv6의 AAAA레코드 처리가 동시에 가능해야 한다.


  ● Tunneling (터널링)
      - 기존의 IPv4의 터널링과 마찬가지로 두 호스트 사이에 가상의 Tunnel을 생성하여 통신을 하게 되는 데, 이 때에 두 호스트 사이의 전송 경로에서 사용하는 방식이 두 호스트와 다른 버전의 IP 방식(가령 IPv6의 호스트 간의 통신 경로가 IPv4 주소를 사용하고 있는 경우)일 때 호스트 간의 Tunnel을 생성하여 통신을 가능하게 하는 방식이다. 
      - IPv4 와 IPv6의 전환 기술에서의 터널링은 다음의 두가지로 방식으로 분류할 수 있다.
        1. Configured Tunnel(설정/수동 터널링)

        2. Automatic Tunnel(자동 터널링)
      
      - Tunneling 기술의 문제
        1. Tunnel의 양단간의 장비는 반드시 두 개의 프로토콜을 지원하는 장비(Dual Stack)이어야 한다.
        2. Tunnel의 양단간의 장비에서는 반드시 변환 프로토콜 번호를 허용해야 하기 때문에 보안상 문제가 발생한다.
              * IPv6의 프로토콜이 41번이므로, Tunnel 양단 장비에서 41번 프로토콜을 허용해야 터널링 구성 가능
        3. Tunneling에 의한 패킷 크기 증가로 패킷의 분할될 수 있으며 이는 장비의 부하량을 증가 시킨다.
        4. PAT가 지원되는 사설 네트워크 환경에서는 터널링 기술을 사용할 수 없다.
              * Teredo 터널 사용 시 PAT 환경에서도 가능함
       

  ● Address Translation (주소 변환)

      -  IPv6와 IPv4 간의 주소 전환 장비를 이용하여, 기존의 IPv4에서 사용되던 NAT 기술과 마찬가지로 IPv6와 IPv4 간의 Address Table을 생성하여 양단간의 통신이 가능하도록 한다. 
      - 이러한 기술은 IPv4 패킷과 IPv6의 패킷에서 IPv4 헤더와 IPv6 헤더를 제외한 상위 계층은 동일한 구조로 생성되어 있기 때문에 IPv4, IPv6 헤더 부분을 전환하며 그대로 데이터를 전송할 수 있게 한다. 다만, 상위 계층의 패킷에 IP정보가 포함된 프로토콜이 포함된 경우에는 동작 과정이 더 복잡하고 제한적으로 동작할 수 있다. (DNS, FTP 등)
      - 주소 전환 프로토콜 계층에 따라서 다음의 3가지로 분류할 수 있다.
        1. SIIT(Stateless Ip/Icmp Translation)

        2. TRT(Transport relay Translator)


        3. ALG(Application Level Gateway)