IPv6 프록시
IPv6 프록시는 사용자를 대신해 웹사이트에 연결할 때 IPv6 주소를 사용합니다. 주소는 콜론으로 구분된 숫자와 문자로 이루어지며 2001:db8::42처럼 표시할 수 있습니다. 웹사이트에는 이 주소가 요청의 출발지로 보입니다.
두 IP 버전의 차이는 IPv4 프록시와 IPv6 프록시에서 다룹니다. 여기서는 IPv6 주소 표기와 이를 사용하는 프록시에 대해 알아야 할 사항을 설명합니다.
IPv6와 IPv6 프록시란?
IPv6는 Internet Protocol version 6의 약자입니다. 네트워크에서 기기 간 데이터를 전송하는 규칙을 정합니다. 데이터는 패킷이라는 작은 단위로 이동합니다. 각 패킷에는 송신자와 수신자의 IP 주소가 들어 있어 네트워크 장비가 데이터의 출발지와 보낼 곳을 알 수 있습니다.
IPv6 주소는 서버의 네트워크 카드 같은 기기의 네트워크 인터페이스에 할당됩니다. 인터페이스 하나가 여러 주소를 가질 수 있습니다. 주소는 바뀔 수 있으므로 IP가 기기 하나에 영구적으로 묶여 있지는 않습니다.
프록시를 사용하면 애플리케이션이 먼저 프록시로 요청을 보냅니다. 프록시는 웹사이트에 연결하여 응답을 받고 애플리케이션에 돌려줍니다. IPv6 프록시는 이때 IPv6 주소를 사용합니다. 웹사이트는 그 주소를 기록하거나 접근 규칙과 대조하거나 방문자의 국가를 추정하는 데 사용할 수 있습니다.
IPv6 주소의 구조
IPv6 주소의 전체 표기는 16진수 네 자리로 된 그룹 여덟 개입니다. 콜론으로 그룹을 구분합니다. 2001:0db8:0000:0000:0000:0000:0000:0042. 그림은 각 그룹을 따로 보여 줍니다.
16진수는 숫자 0–9와 문자 a–f, 총 열여섯 기호를 사용합니다. 문자는 10부터 15까지의 값을 나타내므로 이 표기에서 숫자 자리로 취급됩니다. 이 자리들이 모여 수치 주소를 이루며 국가나 제공업체 이름을 적은 것은 아닙니다.
비트는 0 또는 1인 이진 숫자입니다. 16진수 한 자리가 4비트이므로 네 자리 그룹은 16비트입니다. 여덟 그룹은 총 128비트입니다. 각 그룹의 값은 0000부터 ffff까지입니다. 콜론은 그룹을 읽기 쉽게 구분하며 128비트에 포함되지 않습니다.
프록시 목록에는 보통 축약된 주소가 표시됩니다. 정해진 규칙에 따라 일부 0을 생략합니다. 주소 자체는 그대로입니다. 화면에 모두 표시하지 않아도 여전히 16비트 그룹 여덟 개로 이루어져 있습니다.
축약 주소와 포트 번호
첫 규칙은 각 그룹 앞부분의 0을 제거하는 것입니다. 예를 들어 0db8은 db8로, 0042는 42로, 0000은 하나의 0으로 바뀝니다. 예시 주소는 이제 2001:db8:0:0:0:0:0:42입니다. 그룹 중간이나 끝의 0은 없애면 값이 바뀌므로 유지해야 합니다.
두 번째 규칙은 연속된 0 그룹을 이중 콜론 ::으로 바꾸는 것입니다. 예시에는 이런 그룹이 다섯 개 연속되므로 2001:db8::42로 쓸 수 있습니다. 이중 콜론은 주소에 한 번만 사용할 수 있습니다. 그렇지 않으면 각 위치에 몇 그룹이 생략되었는지 소프트웨어가 판단할 수 없습니다.
축약할 때는 가장 길게 연속되는 0 그룹을 선택합니다. 길이가 같은 부분이 여럿이면 첫 번째를 줄입니다. 표준은 일관된 표기를 위해 소문자를 권장하고 단일 0 그룹은 이중 콜론으로 바꾸지 않도록 합니다. 대문자도 유효하며 같은 값을 나타냅니다. 따라서 전체 표기, 축약 표기, 대소문자가 다른 표기가 모두 같은 IP 주소를 가리킬 수 있습니다.
IPv6 주소 옆에 포트를 쓰려면 주소를 대괄호로 감싸고 뒤에 포트를 붙입니다. [2001:db8::42]:8080. 대괄호는 주소와 그 안의 콜론이 끝나는 지점을 보여 주므로 포트를 별도로 읽을 수 있습니다.
대괄호 안의 텍스트가 IPv6 주소이고 8080은 포트 번호입니다. 서버는 여러 서비스를 실행할 수 있으며 포트는 연결할 서비스를 식별합니다. 프록시에서는 클라이언트 연결을 받는 포트입니다. 포트와 대괄호 모두 IPv6 주소의 일부가 아닙니다. 프로토콜을 명시한 전체 문자열은 http://[2001:db8::42]:8080처럼 쓸 수 있습니다. 애플리케이션에 주소와 포트 입력란이 분리되어 있으면 요구 형식에 맞게 따로 입력하세요.
IPv6 주소가 많은 이유
128비트로 가능한 주소 수는 2128개, 약 3.4 × 1038개입니다. 가능한 조합의 총수입니다. 일부 범위는 특수 용도로 예약되므로 모두 인터넷에서 사용할 주소는 아닙니다.
네트워크 운영자는 큰 IPv6 범위를 받아 일부를 고객에게 할당합니다. 프록시 제공업체는 방대한 미사용 주소를 보유할 수 있습니다. 자신의 범위로 프록시 사용자에게 제공하는 주소 집합인 풀을 구성합니다. IP가 더 필요하면 같은 범위에서 가져올 수 있습니다.
이 공급 여유 덕분에 제공업체는 풀을 확장하고 아무도 쓰지 않은 주소를 발급하기가 더 쉽습니다. IP당 낮은 가격도 가능해집니다. 다만 작동하는 프록시에는 여전히 서버와 네트워크 접속이 필요합니다. 남는 주소가 하드웨어나 인터넷 연결을 대신하지는 못합니다.
제공업체의 IPv6 주소 확보 경로
지역 인터넷 등록기관은 네트워크 운영자와 다른 인터넷 참여자에게 주소 범위를 배분합니다. 프록시 제공업체는 호스팅 회사, 서버를 인터넷에 연결하는 운영자 또는 자체 네트워크용 등록기관에서 범위를 확보할 수 있습니다. 할당받은 조건에 따라 주소를 사용해야 합니다.
범위에는 네트워크 간 데이터 이동 경로인 라우팅도 필요합니다. 네트워크 장비가 웹사이트 응답을 그 주소를 사용하는 프록시 서버로 전달해야 합니다. 경로를 올바르게 설정하지 않으면 웹사이트와 데이터를 주고받을 수 없습니다. 임의 생성한 IPv6 주소 목록은 작동하지 않습니다. 주소가 제공업체에 할당되어 있고 그 네트워크로 도달할 수 있어야 합니다.
서버 한 대가 많은 IPv6 주소를 가질 수 있습니다. 프록시 소프트웨어는 웹사이트 연결을 열 때 출발지 주소를 선택합니다. 같은 TCP 연결의 요청은 그 출발지 주소를 유지하며, 새 연결의 주소는 서비스 설정에 달려 있습니다. 따라서 서로 다른 IP 천 개가 서버 천 대를 뜻하지 않습니다. 모두 한 장비에서 동작하고 인터넷 연결 하나를 공유할 수 있습니다.
IPv6라는 표시로는 누가 네트워크를 운영하는지 알 수 없습니다. 데이터센터, 가정용 인터넷 제공업체, 조직, 이동통신사가 모두 사용합니다. 네트워크 유형과 국가는 해당 상품에서 확인하세요. 주소 형식만으로는 어느 것도 알 수 없습니다.
IPv6 프록시 비용을 결정하는 요소
제공업체는 서버와 연결 비용을 부담하고 프록시를 설정하며 모니터링하고 고객을 지원합니다. 미사용 IPv6 주소가 많아도 이런 비용은 남습니다. 서버 하나가 큰 풀을 처리하면 여러 IP에 비용을 나눌 수 있습니다. 긴 주소 목록이 비교적 저렴할 수 있는 이유입니다.
제공업체는 고정 IP 목록, 트래픽 전송량, 요청 수 또는 풀 접속권 등으로 과금할 수 있습니다. 비용을 추정하려면 요금제에 포함된 항목과 추가 비용을 알아야 합니다. IP당 가격만으로 작업의 전체 운영 비용을 알기는 어렵습니다.
주소 수와 프록시 성능은 다릅니다. 같은 서버에 IP 천 개를 추가해도 프로세서가 빨라지거나 네트워크 대역폭이 늘지 않습니다. 처리 가능한 동시 요청 수는 하드웨어, 연결, 요금제 한도에 달려 있습니다. 응답 시간은 웹사이트까지의 거리와 중간 네트워크에도 영향을 받습니다.
따라서 IP가 많은 패키지는 서로 다른 주소가 필요하지만 요청은 비교적 적은 작업에 적합할 수 있습니다. 많은 요청을 동시에 처리하려면 충분한 서버 및 네트워크 용량이 필요합니다. 패키지 선택 시 IP 수와 처리할 수 있는 작업량을 따로 평가하세요.
웹사이트 및 애플리케이션 호환성
프록시가 IPv6로 웹사이트에 접속하려면 웹사이트에 IPv6 주소가 있고 그 주소의 연결을 받아야 합니다. 주소는 보통 도메인 이름을 IP 주소와 연결하는 DNS에 등록됩니다. IPv6는 AAAA 레코드를 사용합니다. DNS 레코드만으로는 부족합니다. 웹사이트 서버가 작동하고 제공업체 네트워크에서 IPv6로 도달할 수 있어야 합니다.
웹사이트가 IPv4로만 작동하면 프록시는 IPv6 주소에서 직접 접속할 수 없습니다. 일부 제공업체는 그런 사이트에 IPv4 접속을 제공합니다. 요청을 IPv4 주소로 전달하므로 웹사이트에는 그 주소가 보입니다. 이 옵션이 있는지 제공업체에 확인하세요. IPv6 주소 천 개가 IPv4 주소 천 개로 바뀌지는 않으며 사용 가능한 IPv4 수는 제공업체의 공급에 달려 있습니다.
웹사이트는 홈페이지, 계정 로그인, 애플리케이션의 데이터 요청 API에 별도 도메인을 사용할 수 있습니다. 예를 들어 홈페이지는 IPv6를 지원하지만 로그인 서버는 IPv4만 지원할 수 있습니다. IPv6로만 웹사이트에 접속하는 프록시는 홈페이지를 열어도 로그인을 완료할 수 없습니다. 한 페이지가 열린다고 다른 요청도 작동하는 것은 아니므로 애플리케이션의 전체 동작 순서를 시험하세요.
애플리케이션이 웹사이트 주소를 프록시에 전달하는 방식도 중요합니다. HTTP와 SOCKS5는 프록시 프로토콜이며 이름만으로 특정 프록시의 IPv6 목적지 접속을 확인할 수 없습니다. 도메인 이름을 보내면 프록시가 DNS로 IPv6를 조회할 수 있지만 둘 다 있으면 IPv4를 선택할 수 있습니다. IPv4 주소만 보내면 그 주소로의 연결을 요청합니다. IPv6를 구체적으로 시험하려면 IPv6 선택 설정을 사용하거나 지원되는 경우 목적지 IPv6를 전달하고 목적지에 보이는 주소를 검증하세요.
애플리케이션에 입력한 주소와 웹사이트에 보이는 주소는 다를 수 있습니다. 예를 들어 애플리케이션은 프록시에 IPv4로 연결하고 프록시는 웹사이트에 IPv6로 연결합니다. 따라서 자체 네트워크에 IPv6 연결이 없어도 IPv6 프록시를 사용할 수 있습니다. 제공업체가 프록시 접속용으로 IPv6 주소만 제공한다면 애플리케이션과 네트워크도 IPv6를 지원해야 합니다.
새 주소, 네트워크 평판과 제한
풍부한 IPv6 공급은 미사용 주소를 제공할 여지를 만들지만 특정 주소가 새것임을 증명하지는 않습니다. 제공업체가 전에 다른 고객에게 발급한 IP를 줄 수 있고, 자체 할당 기록에는 범위의 더 이른 사용이 없을 수 있습니다. 한 번도 쓰지 않은 주소라면 개별 IP에 이전 사용자의 요청 이력이 없습니다. 주변 네트워크의 이력은 별개의 문제입니다.
웹사이트는 개별 IP와 소속 네트워크를 모두 고려할 수 있습니다. 예를 들어 미사용 주소가 속한 데이터센터의 다른 주소들이 이미 그 사이트에 원치 않는 요청을 보냈을 수 있습니다. 이 경우 개별 IP에 이력이 없어도 웹사이트의 신뢰를 보장하지 못합니다.
주소 범위 전체가 차단될 수도 있습니다. 웹사이트가 제공업체의 범위를 차단했다면 같은 범위의 다른 IP로 바꾸어도 해결되지 않습니다. 같은 이유로 주소마다 개별 요청 허용량이 있다고 가정할 수 없습니다. 사이트가 주소 집단에 공통 한도를 적용할 수 있습니다.
“깨끗한 IP”라는 약속에는 판매자의 설명이 필요합니다. 특정 차단 목록을 검사했어도 필요한 웹사이트에는 자체 제한이 있을 수 있습니다. 검사한 목록에는 없어도 특정 웹사이트에서 작동하지 않을 수 있습니다.
IPv6 풀이 크다는 사실만으로 평판이 나쁘다는 뜻은 아닙니다. 주소 수, 과거 사용, 소속 네트워크는 별도로 고려해야 합니다. 하나의 범위인지 여러 네트워크에서 발급하는지 문의하고 필요한 웹사이트에서 시험하세요.
