IPv6プロキシ
IPv6プロキシは、利用者に代わってウェブサイトに接続する際にIPv6アドレスを使います。アドレスはコロンで区切られた数字と英字で構成され、例えば2001:db8::42のように表記されます。ウェブサイトには、このアドレスがリクエストの送信元として見えます。
2つのIPバージョンの違いは、IPv4プロキシとIPv6プロキシの比較で説明しています。ここでは、IPv6アドレスの表記と、そのアドレスを使うプロキシについて知っておきたい点を解説します。
IPv6とIPv6プロキシとは
IPv6はInternet Protocol version 6の略です。ネットワーク上の機器間でデータを送るための規則を定めています。データはパケットという小さな単位で送られます。各パケットには送信元と宛先のIPアドレスが含まれ、ネットワーク機器はそれを基にデータの出所と送り先を判断します。
IPv6アドレスは、サーバーのネットワークカードなど、機器のネットワークインターフェースに割り当てられます。1つのインターフェースに複数のアドレスを設定できます。アドレスは変更できるため、IPアドレスと機器の対応は永続的ではありません。
プロキシを使うと、アプリケーションはまずプロキシへリクエストを送ります。プロキシはウェブサイトに接続し、受け取った応答をアプリケーションに返します。IPv6プロキシは、この接続にIPv6アドレスを使います。ウェブサイトはそのアドレスを記録したり、アクセス規則と照合したり、訪問者の国を推定したりすることがあります。
IPv6アドレスの構造
IPv6アドレスを省略せずに書くと、4桁の16進数が8組並び、各組はコロンで区切られます。例は2001:0db8:0000:0000:0000:0000:0000:0042です。図では各組を分けて示しています。
16進数では、数字の0–9と英字のa–fの計16種類の記号を使います。英字は十から十五までの数を表すため、この表記では英字も数の桁として扱います。全体で1つの数値アドレスを表しており、国や事業者の名前をつづったものではありません。
ビットは、ゼロか一のどちらかを表す2進数の1桁です。16進数の1桁は4ビットに相当するため、4桁の1組は16ビットです。8組で合計128ビットになります。各組に入る値は0000からffffまでです。コロンは組を読みやすく区切るための記号で、128ビットには含まれません。
プロキシリストでは通常、短縮表記のアドレスが使われます。決まった規則に従い、一部のゼロを省略します。アドレス自体は変わりません。画面上にすべてが表示されなくても、16ビットの組が8つあることに変わりはありません。
短縮表記とポート番号
最初の規則は、各組の先頭のゼロを省くことです。例えば0db8はdb8に、0042は42に、0000は1つの0になります。例のアドレスは2001:db8:0:0:0:0:0:42と書けます。組の途中や末尾のゼロは省けません。省くと数値が変わってしまいます。
2つ目の規則は、ゼロだけの組が連続する部分を二重コロン::に置き換えることです。この例では5組が連続しているため、2001:db8::42と書けます。1つのアドレスで二重コロンを使えるのは1回だけです。複数回使うと、それぞれの位置で何組を省略したのかソフトウェアが判断できなくなります。
短縮するときは、ゼロの組が最も長く続く部分を選びます。同じ長さの部分が複数ある場合は、先に現れる部分を省略します。表記をそろえるため、標準では小文字を推奨し、ゼロの組が1つだけの場合は二重コロンで置き換えないとしています。大文字も有効で、同じ数値を表します。そのため、完全表記と短縮表記、大文字と小文字が異なる表記が、同じIPアドレスを指すことがあります。
IPv6アドレスにポートを添えるときは、アドレスを角括弧で囲み、その後にポートを記します。例は[2001:db8::42]:8080です。括弧によってアドレスとそのコロンの終わりが分かり、ポートを区別して読めます。
角括弧内がIPv6アドレスで、8080がポート番号です。1台のサーバーで複数のサービスを提供でき、ポートはどのサービスに接続するかを示します。プロキシの場合は、クライアント接続を受け付けるポートです。ポートも角括弧もIPv6アドレスそのものには含まれません。プロトコルまで指定した文字列は、例えばhttp://[2001:db8::42]:8080となります。アプリケーションにアドレスとポートの入力欄が別々にある場合は、その形式に従って分けて入力してください。
IPv6アドレスが非常に多い理由
128ビットで表せるアドレスは2128個、約3.4 × 1038個です。これは可能な組み合わせの総数です。すべてをインターネット上で使えるわけではなく、特別な用途に予約されている範囲もあります。
ネットワーク事業者は大きなIPv6アドレス範囲の割り当てを受け、その一部を顧客に割り当てます。プロキシ事業者は、大量の未使用アドレスを確保できる場合があります。その範囲から、プロキシ利用者に提供するアドレスの集合であるプールを作ります。追加のIPが必要になれば、同じ範囲から取り出せます。
この豊富な供給により、事業者はプールを拡大しやすくなり、誰も使ったことのないアドレスを提供しやすくなります。IP単価を低く抑えることも可能です。ただし、プロキシを動かすにはサーバーとネットワーク接続が必要です。余っているアドレスがハードウェアやインターネット回線の代わりになるわけではありません。
事業者はどこからIPv6アドレスを得るのか
地域インターネットレジストリは、ネットワーク事業者などのインターネット参加者にアドレス範囲を分配します。プロキシ事業者は、ホスティング会社、サーバーをインターネットに接続する通信事業者、または自社ネットワーク用にレジストリから範囲を取得できます。割り当て時の条件に従って使う必要があります。
その範囲には、ネットワーク間でデータを運ぶ経路、つまりルーティングも必要です。ネットワーク機器が、ウェブサイトからの応答をそのアドレスを使うプロキシサーバーへ届けなければなりません。経路が正しく設定されていなければ、プロキシはウェブサイトとデータをやり取りできません。IPv6アドレスを無作為に生成してリストにしても動作しません。事業者に割り当てられ、そのネットワーク経由で到達できるアドレスである必要があります。
1台のサーバーに多数のIPv6アドレスを設定できます。プロキシソフトウェアは、ウェブサイトへの接続を開く際に送信元アドレスを選びます。同じTCP接続で送るリクエストは、同じ送信元アドレスを使い続けます。新しい接続で使うアドレスは、サービスの設定によって決まります。したがって、異なるIPが千個あっても、サーバーが千台あるとは限りません。すべてのアドレスが1台の機器上で動き、1本のインターネット回線を共有していることもあります。
IPv6という表示だけでは、誰がそのネットワークを運用しているかは分かりません。IPv6アドレスは、データセンター、家庭向けインターネット事業者、組織、携帯通信事業者などが使っています。ネットワークの種類や国は、個々の提供内容を確認してください。アドレスの形式だけでは、どちらも判断できません。
IPv6プロキシの料金を決めるもの
事業者は、サーバーと回線の費用を負担し、プロキシを設定・監視して、顧客をサポートします。未使用のIPv6アドレスが豊富でも、これらの費用は発生します。1台のサーバーで大きなプールを処理する場合は、費用を多数のIPに分散できます。長いアドレスリストを比較的安く提供できるのは、このためです。
料金体系は、固定IPリスト、通信量、リクエスト数、プールへのアクセスなど、事業者によって異なります。費用を見積もるには、プランに何が含まれ、何が追加料金になるのかを知る必要があります。IP単価だけでは、実際の作業にかかる総費用はほとんど分かりません。
アドレス数とプロキシの処理性能は別のものです。同じサーバーにIPを千個追加しても、プロセッサーが速くなったり、回線帯域が広がったりはしません。同時に処理できるリクエスト数は、ハードウェア、回線、プランの制限によって決まります。応答時間は、ウェブサイトまでの距離や、途中のネットワークにも左右されます。
そのため、IP数の多いパッケージは、異なるアドレスを必要としつつ、リクエスト数は比較的少ない作業に向く場合があります。多数のリクエストを同時に処理するには、十分なサーバーとネットワークの容量が必要です。パッケージを選ぶときは、IP数と処理可能な負荷を別々に評価してください。
ウェブサイトやアプリケーションとの互換性
プロキシがIPv6でウェブサイトに接続するには、ウェブサイトにIPv6アドレスがあり、そのアドレスで接続を受け付けている必要があります。通常、そのアドレスは、ドメイン名とIPアドレスを対応付けるDNSに登録されます。IPv6ではAAAAレコードを使います。DNSレコードがあるだけでは不十分です。ウェブサイトのサーバーが稼働し、プロキシ事業者のネットワークからIPv6で到達できる必要があります。
IPv4にしか対応していないウェブサイトへは、IPv6アドレスから直接接続できません。一部の事業者は、そうしたサイトへのIPv4接続を提供しています。その場合、リクエストはIPv4アドレスで転送され、ウェブサイトに見えるのもそのIPv4アドレスです。この機能があるかは事業者に確認してください。IPv6アドレスが千個あっても、IPv4アドレスが千個になるわけではありません。使えるIPv4アドレス数は、事業者が提供する内容によります。
ウェブサイトでは、トップページ、アカウントへのログイン、アプリケーションがデータを要求するAPIに、別々のドメインを使う場合があります。例えば、トップページはIPv6に対応していても、ログインサーバーはIPv4だけに対応していることがあります。IPv6でしか接続できないプロキシでは、トップページを開けてもログインは完了できません。1ページを開けただけでは、ほかのリクエストも動くとは分からないため、アプリケーションが実行する一連の操作全体をテストしてください。
アプリケーションが宛先サイトのアドレスをプロキシにどう渡すかも重要です。HTTPとSOCKS5はプロキシプロトコルの名前であり、それだけで個々のプロキシがIPv6でサイトに接続できるとは確認できません。ドメイン名を渡す場合、プロキシはDNSでIPv6アドレスを調べられますが、両方があるとIPv4を選ぶこともあります。IPv4アドレスだけを渡すと、そのアドレスへの接続を要求することになります。IPv6を明示的にテストするには、IPv6を選ぶサービス設定を使うか、対応していれば宛先のIPv6アドレスを渡し、宛先から見えるアドレスを確認してください。
アプリケーションに入力するアドレスと、ウェブサイトに見えるアドレスは異なる場合があります。例えば、アプリケーションはIPv4でプロキシに接続し、プロキシはIPv6でウェブサイトに接続します。この方式なら、自分のネットワークがIPv6に対応していなくてもIPv6プロキシを使えます。プロキシ自体への接続用としてIPv6アドレスしか提供されない場合は、アプリケーションと自分のネットワークもIPv6に対応している必要があります。
新しいアドレス、ネットワークの評判、制限
IPv6アドレスの豊富さにより未使用のアドレスを提供できますが、特定のアドレスが新しいことの証明にはなりません。以前ほかの顧客に提供したIPを割り当てる場合もあり、事業者自身の割り当て記録に、その範囲の過去の利用が含まれていないこともあります。未使用のアドレスであれば、そのアドレス自体に前の利用者のリクエスト履歴はありません。ただし、周囲のネットワークの履歴は別の問題です。
ウェブサイトは、個々のIPと、それが属するネットワークの両方を考慮することがあります。例えば、未使用のアドレスでも、同じデータセンターのほかのアドレスが、そのサイトへ迷惑なリクエストを送っていた可能性があります。この場合、個々のIPに履歴がなくても、サイトに信頼される保証はありません。
アドレス範囲全体がブロックされることもあります。サイトが事業者の範囲をブロックしている場合、その範囲内の別のIPに切り替えても解決しません。同じ理由から、すべてのアドレスに個別のリクエスト上限が与えられるとも限りません。サイトがアドレス群に共通の上限を設ける場合があります。
「クリーンなIP」といううたい文句には、販売者による説明が必要です。特定のブロックリストで確認していても、使いたいサイトには独自の制限があるかもしれません。確認したリストに載っていなくても、特定のサイトでは使えないことがあります。
IPv6プールが大きいというだけで、評判が悪いとは判断できません。アドレス数、過去の利用、所属ネットワークは、それぞれ別に考える必要があります。1つの範囲から提供されるのか、複数のネットワークからなのかを事業者に確認し、必要なサイトでテストしてください。
