「IPv6(アイピーブイシックス・アイピーブイロク)」の意味や使い方 わかりやすく解説 Weblio辞書 (original) (raw)

IPv6のロゴ

Internet Protocol Version 6(インターネット プロトコル バージョン6)、IPv6(アイピーブイ6、アイピーバージョン6)は、Internet Protocolの一種で、OSI参照モデルにおいてネットワーク層に位置付けられる通信プロトコルである。

これまで主流だったIPv4では使用可能なIPアドレスが約 232(約43億 = 4.3×109)個であったが、IPv6では約 2128(約340 = 3.4×1038)個使用可能となっており、これが大きな特徴の一つである[1]。実際、ISPの一般向けIPv4接続サービスはアドレスをひとつだけ割り当てるものが主流だったが、IPv6接続サービスでは/48〜/64の大きさのアドレスブロックが割り当てられることが多い。IPv4のアドレス数はバケツ1個分の砂粒の数しかないが、IPv6のアドレス数は地球1個分の砂粒の数に相当するとの例えがあるほどであり、IPv6への移行により潤沢なアドレスが利用可能となった[2]

背景と推移

IPv6が誕生した背景には、IPv4IPアドレス枯渇問題がある[3]

1980年代までは、米国内を中心に、Class A (/8)、Class B (/16)、Class C (/24) などの単位で各組織にIPアドレスを割り振っていた。1990年代に入り、インターネットの国際化と、参加組織の増大によって、Class BのIPv4アドレスが不足する恐れが出てきた。IPアドレスの数が有限である以上、根本的な解決策が必要となることは自明であり、その解決策として検討された最終成果がIPv6である。

しかし、新しいプロトコルであるIPv6を開発し普及させるには時間がかかるため、短期的な対策であるIPv4の延命として、1994年のプライベートアドレス (RFC 1918) の導入と前後して、CIDR (RFC 4632)・NAT (RFC 2663) ・Proxy(プロキシ)など、プライベートアドレスを使用するLANとグローバルアドレスを使用するWANとを使い分けることでIPv4アドレスを節約し有効活用する取り組みが行われた[4]

一部には、IPv4アドレス枯渇には、既存の回避策で対応可能であるとIPv6の必要性を疑問視する声もあった。しかし、国際的なインターネットの爆発的な普及と、携帯電話スマートフォンなどのインターネット利用機器が急速に増加したことにより、新たなIPアドレスの需要が、運用の改善や新たな回避策によるIPアドレスの供給を上回っており、限界に達しようとしている。また、回避策による弊害も顕著になってきており、インターネットの新たな利用形態の普及を阻害している。

現在は、IPv6は運用に目途が立って徐々に普及しつつあり、IPv4とIPv6を併用しつつIPv6へ移行することが課題になっている。

IPv6開発の推移

IPv6への対応

現状と展望

IPv6は、ゆっくりながらも普及が進んでいる。Googleの統計[7]によると、IPv6によるアクセス数は増加傾向にある。全体のアクセス数に対する割合として、2014年10月で5%程度、2016年10月で14%程度、2020年9月で30%程度(日本では35%程度、最も普及しているベルギーで52%程度)になっている。日本での普及率は2024年に50%となった[8]

一般家庭でIPv6を利用するには、複数のレベルでIPv6対応がなされている必要があり、大きく分けると、ISPによりIPv6接続が提供されていること、利用するインターネット上のサービスがIPv6接続に対応していること、ルーターなどのインターネット接続に利用する機器がIPv6に対応していること、そして通信するホストがIPv6接続に対応していること、などとなる[9]

このうちオペレーティングシステム (OS) やアプリケーションなどのソフトウェア[注 1]は、細かい差異こそあれ、既にIPv6への対応を終えているものが多い。

また、通信経路となるISPによるIPv6の対応は、NTTフレッツ 光ネクストIPv6 IPoE接続サービスの登場や、移動体通信事業者によるモバイルインターネットサービスのIPv6化がなされたこと[10]により、普及が進んでいる。

インターネット上の各々のサービスサイト(ウェブサイトなど)はGoogleなど海外サービスを中心にIPv6対応が進みつつあるが、日本のサービスの多くは未だIPv6での接続に対応しておらず、提供が最も遅れている分野である。

ソフトウェアやインターネット上のサービスのIPv6対応は、IPv6と従来のIPv4の両方が利用可能という形で行われ、接続相手の利用可能なIPのバージョンにより、どちらを利用するか(自動的に)選択するようにするのが一般的である(IPv4との相互運用を参照)。

今後は、IP放送・IPテレビ電話IP電話IoTなどのエンドユーザサービスへのIPv6の採用が進むことが想定され(一部は展開されている)、そのようなIP上の専用サービスがIPv6の普及の牽引役となることも期待されている。一方で強力なキラーアプリケーションの不在も指摘されている。

ISPのIPv6対応

日本国内では、一部のISP(接続業者、ホスティングサーバ業者)によって商用・実験サービスが開始されているほか、NTT東日本及びNTT西日本によって、一部のフレッツ網で利用されている。また、日本国内におけるISP各社の対応については、インターネットプロバイダー協会 (JAIPA)「ISPのIPv6対応について」でまとめられている。

OSのIPv6対応

パソコンやサーバ向けのオペレーティングシステム (OS) は、Microsoft WindowsLinuxをはじめとしてほとんどのものがIPv6に対応している。しかしIoT機器などで使われる組み込み向けのOSなど、一部にはIPv6に対応していないOSもある。

アプリケーションのIPv6対応

一般のユーザーが利用するアプリケーションは、IPv6への対応を完了しているものが多い。

Windowsでの例を挙げると、OS付属のアプリケーションではMicrosoft Edge, Internet Explorer, Microsoft 管理コンソール, Windows Media Player, Windows PowerShell, リモートデスクトップ接続など、また、telnet, ftpなどのコマンドラインアプリケーションで、サードパーティ製品では、Mozilla FirefoxOperaのほか、Apache HTTP ServerMeadowTera TermPuTTYFFFTP、NextFTPなどでIPv6が利用可能である。

macOSでは、標準のネットワークライブラリがIPv6に対応しており、これを使用している多くのアプリケーションでIPv6が利用可能である。10.3まではSafariは独自のネットワークライブラリを利用しているため、IPv6の対応は不完全であったが、10.4以降は完全に動作している。

プログラムによるIPv6サポート

IPv6をアプリケーションで利用するためのプログラムは、IPv4でのプログラムと比べて大きな違いがあるものではない。

ネットワークを利用するプログラムではソケットを利用することが多く、通常のIPv4プログラミングでsocketを作成するときには

s = socket(AF_INET, SOCK_STREAM, 0);

のように、アドレスファミリ部をIPv4固定で指定することが多いが、一つのサイトがIPv4とIPv6の両プロトコルに対応している場合や、どちらに対応しているのか事前にはわからないことを考慮すると、DNSで一つの名前を検索した後、列挙された複数のプロトコルのアドレスに対して順番にconnectを試みる必要がある。

アドレスを検索する際は、IPv4のみを前提としているgethostbyname() や、socket同様にアドレスファミリ固定であるgethostbyname2() などではなく、getaddrinfo() を利用する。

以上をまとめると、典型的なソケットを作成するCのコードは以下のようになる。

struct addrinfo hints, *res, *res0; int error, s;

memset(&hints, 0, sizeof(hints)); hints.ai_family = PF_UNSPEC; hints.ai_socktype = SOCK_STREAM; /* TCPの場合 */ if ((error = getaddrinfo("ホスト名", "サービス名", &hints, &res0)) != 0) return -1;

s = -1; for (res = res0; res != NULL; res = res->ai_next) { if ((s = socket(res->ai_family, res->ai_socktype, res->ai_protocol)) == -1) continue; if (connect(s, res->ai_addr, res->ai_addrlen) == 0) break; close(s); s = -1; }

freeaddrinfo(res0);

if (s == -1) { /* Could not connect / } else { / Success */ }

この手法はIPv6のみならず、別のIPプロトコルが登場した場合にも有効な手法で、プロトコル独立プログラミングなどと呼ばれる。

なお、ここで示した方法は、getaddrinfo() によって返されるアドレスファミリの順に接続を試みるので、AAAAレコードより先にAレコードを返すようなgetaddrinfo() では、IPv6による通信が行われない可能性もある。

IPv6導入による得失

メリット

一般に言われているIPv6導入によるメリットとしては以下のようなものが挙げられている。

デメリット

既存のIPv4と共存させる必要があることから、次のようなデメリットや課題が発生する。

IPv6 のアドレス

IPv6 のアドレス構造

IPv4とIPv6の最も大きな違いは、そのネットワークアドレスの長さにある。従来までのIPv4が32ビットであったのに対し、IPv6は128ビットである[17]

IPv6のアドレスは、前半部(プレフィックス,ネットワークID)と後半部(インタフェースID)に分けられて管理される[18]。インタフェースIDは、一意性を得るためにMACアドレスなどから生成されるModified EUI-64フォーマットが使用されることが多いが、プライバシー上の懸念がある[注 4]ため、一意性およびプライバシーの双方を満たす仕様への変更が推奨されている(RFC 7217RFC 7721RFC 8064)。サーバでは手動で静的に設定されることも多い[_要出典_]。

アドレスの一意性は、最終的にはDuplicate Address Detection (DAD) という仕組みで保証される[19]

IPv6 のアドレス表記

従来のIPv4では、アドレスの値を8ビット単位でドット(.)で区切り、十進法で表記する[20]

[例] 192.0.2.1

IPv6では、128ビットを表記する際、IPv4と同様の表記では冗長になりすぎるため、アドレスの値を16ビット単位でコロン(:)で区切り、十六進法で表記する[21]

[例] 2001:0db8:bd05:01d2:288a:1fc0:0001:10ee

この方法でも、まだ冗長であるため、以下のルールが適用される場合がある[22]

[例] 2001:0db8:0020:0003:1000:0100:0020:0003 = 2001:db8:20:3:1000💯20:3

[例1] 2001:0db8:0000:0000:1234:0000:0000:9abc = 2001:db8:🔢0:0:9abc [例2] 2001:0db8:0000:0000:0000:0000:0000:9abc = 2001:db8::9abc

上記のルール (RFC 4291) では同じIPv6アドレスに複数の表記が許容されることになる。

アドレスの表記を唯一に統一し単純化するためのルール (RFC 5952) も存在し[25]、同RFCのセクション4に従うと、以下のようになる。

その他、アドレスの種類によっては、以下のような特殊な表記が用いられることがある。

[例] ::ffff:192.0.2.1

[例1] fe80::0123:4567:89ab:cdef**%4** [例2] fe80::0123:4567:89ab:cdef**%fxp0**

また、サブネットマスク2001:0db8:9abc::**/48**のように表記される。この場合、先頭から48ビット (2001:0db8:9abc) がネットワークアドレス部である。ただし、IPv4と異なり、グローバルアドレスのエンドユーザーへの割り当て単位が通常は /48 か /64 であることから、通常目にするサブネットマスクは /48 か /64 であり、あまり意識することはない。これより大きい単位(/32 や /16 など)のサブネットマスクは、IPv6のアドレス体系、ルーティングおよびISPに対する割り振りなどの議論の際に登場する。

Webブラウザのアドレスバーへの入力など、URLのホストパートをIPv6アドレスで指定するときは、例えば::1ならば[::1]のように半角角括弧でくくる。 (RFC 3986)

IPv6アドレスの種類

IPv6には、以下の3種類のアドレスがある。

ユニキャストアドレス

一つのインタフェースに付与されているIPアドレス。一つのインタフェースを識別する。一つのコンピュータに多くのインタフェース(LANボードなど)が実装されている場合は、インタフェースの数だけユニキャストアドレスを持つことになる。

マルチキャストアドレス

複数のノードに割り当てられるアドレス。このアドレス宛てに送信されたパケットは、複製されてこのアドレスに参加しているノードに配送される。ffxx:: で始まるアドレス。返信にはユニキャストアドレスが指定される。送信元がマルチキャストアドレスのパケットをルータは中継してはならない。

なお、IPv6にはブロードキャストアドレスというものは存在しないが、必要な場合は、オールノードマルチキャストアドレス (ff02::1など) を使う。

エニーキャストアドレス

一つのアドレスが複数のノードに割り当てられているという点ではマルチキャストと似ているが、エニーキャストの場合は「そこに属しているノードの中で、ネットワーク上で一番近いノードのどれか一つのみに配送される」という点が異なる。

さらに、パケットの到達範囲(スコープ)によって、上記のアドレスそれぞれに対しリンクローカルスコープとグローバルスコープのアドレスが存在する。

リンクローカルスコープ

あるリンクでのみ一意なアドレス[27]。このスコープ宛てのパケットはルータを越えて配送されることはない。

グローバルスコープ

全IPv6で一意なアドレス。

以前はサイトローカルスコープというものもあったが、ほとんど使われないまま廃止された。

IPv6ノードのネットワークインタフェースには、必ずリンクローカルアドレス(link‐local address)が付与される[28]。これは fe80:: というプレフィックスと、インタフェースIDとから生成されるのが通常であるが、そのリンク内で一意であれば手動で設定してもかまわない。

特殊なアドレス

0:0:0:0:0:0:0:0

未定義アドレス (Unspecified Address) として定義されている[29]。一般的には 0 を省略して :: と表記される。このアドレスはノードにまだアドレスが割り当てられていないことを意味し、ノードに割り当てられることはない[29]。ノードの初期化段階において、アドレスの重複をチェックする場合などに送信元アドレスとして使用される。

0:0:0:0:0:0:0:1

ループバックアドレスとして定義されている[30]。一般的には 0 を省略して ::1 と表記される。IPv4では 127.0.0.0/8 の範囲の任意のアドレスをループバックアドレスとして使用できるが、IPv6 ではこのアドレスに限られる。ループバックアドレスであるため、このアドレスをインターフェイスに割り当てることはできない。

使用されているアドレス

IPv6を利用していて通常目にするアドレスは、グローバルユニキャストアドレスかリンクローカルユニキャストアドレスである。IPv6のアドレス空間については、<#IPv6アドレス空間>参照。

グローバルユニキャストアドレス

ルータを超えて、インターネット上で通信可能なアドレスで、グローバルアドレスとも呼ばれる。IPv4におけるグローバルIPアドレスに相当する。IANAが割り振りを管理しており、RIR単位での割り振りは、IPv6 Global Unicast Address Assignmentsで公開されている。現在は、 RFC 3587 により、アドレスの先頭3bitが001であるアドレスのみIANAが割り振りを行っている。

128ビットの内訳

長さ 説明
nビット グローバルID(グローバル・ルーティング・プレフィックス)
64-nビット サブネットID
64ビット インターフェイスID

(グローバル・ルーティング・プレフィックスは、IANA、RIRおよびNIRからISPなどのLIRに割り振られたものの中から、ISPなどのLIRがエンドユーザに割り当てられたものを使用する。)

このうち、特定の用途に使用されているものとしては、以下のものがある。

アドレス 説明
2001::/32 Teredo (RFC 4380)
2001:2::/48 BMWG (RFC 5180) ※ルータでは中継されない
2001:10::/28 ORCHID (RFC 4843) ※ルータでは中継されない
2002::/16 6to4 (RFC 3056) ※Historical (RFC 7526)
2001:db8::/32 文書作成用アドレス空間 (RFC 3849) ※ルータでは中継されない。マニュアルなどの文書中のみで利用するIPアドレス例示用で、実存のアドレスではない事が保証されている。なお、このアドレスを含むネットブロック2001:c00::/23はAPNICに割り当てられている。

リンクローカルユニキャストアドレス (RFC 4291)

各ネットワークインターフェース毎に、初期化時に自動生成し、LANの同一セグメント内でのみ有効なアドレス。IPv6のルータでは中継されないため、インターネット上とのホストとの通信には使用できない。プレフィックスは常に fe80::/64となる。

128ビットの内訳

長さ 説明
10ビット プレフィックス (1111111010)
54ビット 0固定
64ビット インターフェイスID

ユニークローカルユニキャストアドレス (RFC 4193)

IPv4におけるプライベートIPアドレスと同様に、ローカルでの使用向けに使われるアドレス。

fd00::/8 アドレスの一部をランダムに生成して使用する。完全な一意性は保証されないものの、異なる組織でアドレスが重複する可能性は低い。

128ビットの内訳

長さ 説明
7ビット プレフィックス (1111110)
1ビット L(1=局所的な割り当て、0は現在未定義)
40ビット グローバルID(乱数)
16ビット サブネットID
64ビット インターフェイスID

(グローバルIDは、各ネットワーク単位で乱数を用いて決定することになっている。国際機関で一意に管理されている値ではないため、ユニークローカルユニキャストアドレスはローカルアドレスであってグローバルアドレスとしては運用できない。)

IPv6 アドレス割当のまとめ[31][32]

アドレス 割り当て IPv4 の相当する割り当て
:: (アドレス未定義を示す) 0.0.0.0
::1 ループバック 127.0.0.0/8
::/96 IPv4互換アドレス(廃止
::ffff:0:0/96 IPv4射影アドレス
64:ff9b::/96 IPv6移行技術 (RFC 6052)
64:ff9b:1::/48 IPv6移行技術 (RFC 8215)
100::/64 Discard-Only Address Block (RFC 6666)
2000::/3 グローバルユニキャストアドレス グローバルアドレス
2001::/23 Protocol Assignments (RFC 2928)
2001::/32 Teredo
2001:1::1/128 Port Control Protocol Anycast (RFC 7723)
2001:1::2/128 Traversal Using Relaysaround NAT Anycast (RFC 8155)
2001:2::/48 Benchmarking (RFC 5180)
2001:3::/32 Automatic Multicast Tunneling (RFC 7450)
2001:4:112::/48 AS112-v6 (RFC 7535)
2001:5::/32 EID Space for LISP (RFC 7954)[注 14]
2001:10::/28 ORCHID(廃止
2001:20::/28 ORCHIDv2 (RFC 7343)
2001:db8::/32 文書記述用アドレスプレフィックス
2002::/16 6to4 ※Historical[33]
2620:4f:8000::/48 RFC 7534
3ffe::/16 6bone - IPv6 の実装実験用(廃止
3fff::/20 文書記述用アドレスプレフィックス (RFC 9637)
fc00::/7 ユニークローカルユニキャストアドレス プライベートアドレス
fc00::/8 集中管理
fd00::/8 ローカル管理
fe80::/10 リンクローカルユニキャストアドレス 169.254.0.0/16 (APIPA)
fec0::/10 サイトローカルユニキャストアドレス(廃止 プライベートアドレス
ff00::/8 マルチキャストアドレス 224.0.0.0/4
ff01::/16 ノードローカル
ff01::1 全ノード
ff01::2 全ルーター
ff02::/16 リンクローカル
ff02::1 全ノード
ff02::2 全ルーター
ff02::4 DVMRPルーター
ff02::5 OSPFIGP
ff02::6 OSPFIGP指定ルーター
ff02::7 STルーター
ff02::8 STホスト
ff02::9 RIPルーター 224.0.0.9 (RIPv2)
ff02::a EIGRPルーター
ff02::b 移動エージェント
ff02::c SSDP(英語版
ff02::d 全PIMルーター
ff02::e RSVPカプセル化
ff02::1:1 リンク名
ff02::1:2 全DHCPエージェント
ff02::1:3 LLMNR(英語版 224.0.0.252
ff05::/16 サイトローカル
ff05::2 全ルーター
ff05::1:3 全DHCPサーバー
ff05::1:4 全DHCPリレー
ff05::1:c SSDP(英語版 239.255.255.250
ff0e::/16 グローバル
ff0e::c SSDP(英語版

プロトコル

ヘッダ

IPv6のヘッダ構造

IPv6のヘッダはIPv4ではあまり使われなかったものが廃止されるなど簡略化されているが、アドレス長が長くなっているので、ヘッダ長はIPv4の20バイトから40バイトに増加している。

また、様々なオプションがエクステンションヘッダとして定義され、これは前のヘッダが次のヘッダのタイプを示すことで数珠つなぎにすることが可能となっている。 また使用する順番がほぼ固定されている。主に送信元や中継のルータが使用するオプションは前の方に、到着したルータやノードに対してのオプションは最後の方に定義される。

IPv6で定義されているエクステンションヘッダは次の通り。

ホップバイホップオプション

途中通過するルータで処理されるオプションが格納されているヘッダ[34]

宛先オプション

最終あて先ノードで処理されるオプションが格納されているヘッダ[35]

経路ヘッダ

途中通過する経路のIPアドレスを格納したヘッダ。ソース・ルーティングに使用される。IPv4のルーティングヘッダとほぼ同じ。

フラグメントヘッダ

フラグメント情報を格納するヘッダ。IPv6では途中のルータがフラグメントを分割・再構成することはなく、送信元でのみ行われる。送信・受信の各ホストで経路MTU探索 (Path MTU Discovery) を行い、送信するパケットのサイズを調整する。

認証ヘッダ

IPsec AHの認証データを格納するヘッダ

ペイロード暗号化ヘッダ

IPsec ESPの情報を格納するヘッダ。暗号化されたパケットは、IPヘッダとこのESPヘッダ以外は暗号化される。

近隣探索 (Neighbor Discovery)

IPv4 では通信相手の IPアドレス からその MACアドレスを取得するために ARP を用いていたが、IPv6 では近隣探索 (Neighbor Discovery) という方法が用いられる[36]

これは、ICMP の IPv6 版である ICMPv6 の枠組み(NDP、Neighbor Discovery)を用いてアドレス解決する[36]。アドレス解決をしたいノードペイロードに解決したいアドレスを格納して、マルチキャストアドレスに IPv4 の ARP request に相当する Neighbor Solicitation (NS) パケットを送信し、それに答えるべきノードは、Target linklayer address option に自ノードの MAC アドレスを格納した Neighbor Advertisement (NA) を送信してアドレス解決を行う。RFC 4861 で規定されている。

アドレス自動設定

IPv6ではDHCPを用いなくてもルータさえあればアドレスの自動設定が可能となっている (RFC 4862)。これをステートレスアドレス自動設定 (Stateless Address Autoconfiguration、SLAAC)と言う。

ルータは自分の接続しているネットワークに対し、定期的にあるいは要請に基づいて、そのネットワークに関する情報を送信している[37]。これはルータ広告(Router advertisement; RA)と言い、近隣探索プロトコルの中で規定されている。ルータ広告に含まれるプレフィックス情報と一意のインタフェースIDを用いて、IPv6ホストはグローバルアドレスを生成する。同時に、そのIPv6ホストは受信したRAを送信したルータをデフォルト経路に設定することで、グローバルIPv6ネットワークへの接続性も確保できる。

しかし、この仕組みでは名前解決のためのDNSサーバのアドレスを取得することはできないため、それにはDHCPv6など別の仕組みが必要になる。

DHCPv6サーバから自動的にIPが割り当てられるものは、どのPCがどのIPアドレスかがDHCPサーバに記録されているので、ステートフルアドレス自動設定と呼ばれる。一方、この「ステートレスアドレス自動設定」はルータからIPが割り当てられるが、どのPCにどのIPが割り当てられたかをルータ自身は知らない。状況を知らないのでステートレスなのである。

IPv4との相互運用

IPv4との互換性

概念的にはIPv4とIPv6はほぼ同等と言えるが、実際のパケットフォーマットは完全に異なる上、IPアドレス空間の大きさも違うため、1対1対応はできない。そのため、IPv6ノードとIPv4ノードが互いに直接通信することはできない[38]。そのため、IPv6とIPv4との通信用にいくつかの仕組み、プロトコルが提案されている。

また、IPv6/IPv4トランスレータと呼ばれる装置によって、プロトコル変換を行う方法がある[39]。例えば、Proxy方式では、OSI参照モデルで上位層であるアプリケーション層でプロトコル変換を行うことで、ネットワーク層であるIPプロトコルの違いを隠蔽している。これにより、利用者からみた場合、IPv4のプライベートアドレスが使用されているLAN内から、IPv4/IPv6に関係なくURLで、インターネット上のサイトにアクセスできるように見える。

トンネリング

IPv6のネイティブな接続を提供しているISPはまだ少ない。 そのため、IPv4パケット上にIPv6パケットをカプセル化して通すトンネリング技術を使い、既存のIPv4インフラを利用してIPv6を提供するISPもある。 トンネリングに用いられる技術には以下のようなものがある。

  1. IPv4のネットワーク上でIPv6のパケットを搬送するためのトンネリング
  2. IPv6のネットワーク上でIPv4のパケットを搬送するためのトンネリング

Windowsでの留意事項

Windowsでは、6over4, Teredo, ISATAP, 6to4のみがOSとしてサポートされている。他の方式を使用するには、サードパーティ製のソフトウェアを追加する必要がある。

Windowsでは、IPv6のグローバルアドレスが設定されていない場合、Microsoftが無償提供しているTeredoによる接続サービスによるトンネリングを自動設定する。

Windowsでは、IPv4のグローバルアドレスが設定されている場合、Microsoftが無償提供している6to4による接続サービスによるトンネリングを自動設定する。

Windows Vista以降による接続では、ホスト名で通信相手を指定した場合にIPv6で通信できない場合がある。これは、ホスト名のアドレス解決においてホストにリンク ローカル アドレスまたは Teredo アドレスしか割り当てられていない場合、DNSクライアントサービスはIPv4用のAレコードに関するクエリだけを送信するためIPv6アドレスが取得できないためである。この場合、ホスト名では通信対象のIPv6アドレスを特定できず、URLで直接IPv6アドレスを指定したりしない限り、指定した相手にIPv6で通信することはない[40]

UNIX系OSでの留意事項

基本的にカーネルの版数やディストリビューション、パッケージの構成に依存するため、どの方式のトンネリングが使用できるかは明示できない。Linuxの場合、ディストリビュータによるサポート範囲では、6over4、ISATAP、6to4程度である場合がある。

実際の導入と方式

実際にIPv6ネットワークを新たに導入する場合は、既存のIPv4空間との通信と併存両立させるために、ISPとユーザー側の双方でIPv6対応設備機器の追加、更新が必要となる。なお、端末、サーバー、OS、アプリケーションなどの対応についてはIPv6への対応を参照。

エンドユーザ向けのルーターなどのCPEについては、既存のルーターが持っていることが多いIPv6ブリッジ機能[注 15]だけでは対応できない方式が多く、CPE機器の更新が必要になる場合も多い。

なお、IPv6とIPv4を共存させる方式として、以下のようなものがある。ただし、どの方式によるかは接続するプロバイダや通信環境などに依存する部分が多い。

6rd方式、および、その派生方式

6rd (IPv6 rapid deployment) は、RFC 3056で標準化されているIPv6/IPv4トンネリング技術である6to4を土台として設計された方式である。基本的には途中のIPv4空間にIPv6の信号を流すためのトンネルを設定する形である。2011年4月時点でのIPv6 over IPv4の文脈上で「IPv6接続サービス」として提供されているものは、この方式が多い。

流れとしてはエンドユーザ (v6) →6rd対応ルータ(v4トンネル入口)→v4網→リレールータ(v4トンネル出口)→v6網 となる

導入は比較的容易であり、エンドユーザ側については、設定変更やIPv6の接続用アプリケーションの追加のみで対応できる。しかし、IPv4網内にIPv6信号をトンネリングさせる関係上、各端末にIPv4のグローバルアドレスを割り当てるため、使用するIPv4のIPアドレスの数は減らず、IPv4のIPアドレス枯渇問題を解決することにはならない。ISPが用意しているIPv4のIPアドレスの在庫が枯渇した時点で、新規にユーザを増やすことができなくなる。

類似の方式としては、 RFC 4380 で標準化されているTeredoがある。Teredoについては、Microsoftが、Windowsのユーザ向けに無償提供しているIPv6接続サービスをデフォルトで使用できるようにしていることから、潜在的普及率は高い。ただし、Windows Vista以降による接続では、ホスト名のアドレス解決においてホストにリンク ローカル アドレスまたは Teredo アドレスしか割り当てられていない場合、DNSクライアントサービスはIPv4用のAレコードに関するクエリだけを送信するためIPv6アドレスが取得できず、URLで直接IPv6アドレスを指定したりしない限り、指定した相手にIPv6で通信することはない[40]

IPv6とIPv4のデュアルスタック (DS) +NAT444方式、および、その派生方式

IPv6については、そのまま接続し、IPv4については複数階層のNAPT (NAT444 : (NAT444 with ISP Shared Address)) を経由する方式である。イメージとしては、現在のルータなどを使った複数端末のIPv4接続で使用しているNAPTを複数回行って、接続に使用するIPv4のIPアドレスを節約しようとするものである。

IPv4についての流れはエンドユーザ(v4プライベート)→ユーザNAPT(v4グローバル共有)→ISPNAPT(v4グローバル単独)→v4網 となる

複数の端末で、IPv4のグローバルアドレスを共有する関係上、端末当たりのセッション数が制限され、アプリケーションが正常に利用できない場合がある。また、プロバイダ側で管理する通信ログの扱いが煩雑であり、負担が大きい。IPv4による通信では、多段NATとなるため、エンドユーザー間でのP2Pによる直接通信は不可能となる。

導入に関しては、比較的容易である。特に、IPv6ブリッジ機能があるルーターを使用している場合には、エンドユーザ側については、設定変更やIPv6の接続用アプリケーションの追加のみで対応できる場合がある。

DS-Lite (Dual-stack lite) 方式や、SAM (Stateless Address Mapping) 方式、および、それらの派生方式

IPv4/IPv6トンネリング技術であるIPv4 over IPv6トンネルを土台として設計された方式である。イメージは6rd方式とは逆に、途中のIPv6空間にIPv4の信号を流すためのトンネルを設定する形である。大雑把には、ユーザ側で行うIPv4のプライベート - グローバルアドレス変換をISP側に移し、さらにIPv6も共存させる形になる。

DS-Liteの場合、IPv4についての流れはエンドユーザ(v4プライベート)→ユーザ接続装置(v6トンネル入口)→v6網→ISPNAPT(v6トンネル出口・v4グローバル共有変換)→v4網 となる。

SAMの場合、IPv4についての流れはエンドユーザ(v4プライベート)→ユーザ接続装置(v6トンネル入口・v4グローバル共有変換)→v6網→ISPNAPT(v6トンネル出口)→v4網 となる。

v4グローバル共有変換部分で、ユーザ単位で使用可能なポートの範囲を制限することで、IPv4アドレスの共有を行う。NAPTの階層を複数にする代わりに、単段のNAPTを分割使用するイメージになる。そのため、エンドユーザ向けのルーターなどのCPEは既存のものが使用できず、該当する方式に対応したものに変更する必要がある。前記DS+NAT444方式同様、複数の端末で、IPv4のグローバルアドレスを共有するため、端末当たりのセッション数が制限され、アプリケーションが正常に利用できない場合がある。プロバイダ側で管理する通信ログの扱いが煩雑であり、負担が大きい。しかしながら、IPv4による通信では、NAPTが単段であるため、通信相手に制限があるが、UPnPなどを利用したP2Pによる直接通信は可能になる。

日本のNTTのフレッツ網におけるIPv6

NTT東日本西日本)のフレッツ網は、実運用されているIPv6のネットワークとしては2023年現在で約2363万 回線[41]を有する世界最大級のネットワークである。フレッツ網におけるIPv6の適用の詳細については、上記項目を参照。

脚注

注釈

  1. ^ ミドルウェアやサービスコンポーネントを含む
  2. ^ 石の定義は「2mm以上の岩石」であり、地球表面から人類が到達した最大深度約6000 mまでの体積は約31億 km3なので、人類が地球上で観測しうる石の数は最大でも1.988×1027個程度となり、IPv6アドレスの総数約3.40×1038個よりも遥かに少ない。
  3. ^ ユリウス年(1年は正確に365.25日 = 3155万7600秒)で計算した場合。
  4. ^ a b Modified EUI-64の使用はセキュリティとプライバシーの観点からRFC 8064にて非推奨とされた。
  5. ^ NICを交換するか、あるいは利用端末を廃棄するまでの間
  6. ^ 接続ネットワークを変えたとしても(なお、固定利用とモバイル利用で状況が相異なる)、インターフェイスIDが不変のため、追跡可能
  7. ^ セキュリティについてはファイアウォールIPSUTMなどで確保すべきであり、匿名性に頼るべきではないとの主張もある。[_要出典_]
  8. ^ 匿名アドレスとも言う。生成した一時アドレスは数時間 - 数日程度の有効期限を定め、超過した場合は廃棄し新しいアドレスを生成する。使い捨ての一時的なアドレスと言う主旨である。
  9. ^ 携帯電話ネットワーク(LTEなど)に接続した場合を言う。スマートフォンからWi-Fiアクセスポイントに接続した場合は、固定利用の場合に準ずる。
  10. ^ 古い携帯端末では一時アドレスに対応していない場合がある。
  11. ^ フレッツ光ネクスト (NGN) 経由、各種トンネル経由、フレッツ以外のネイティブ事業者、その他によって相異なる
  12. ^ 固定利用の場合には、プレフィックスが半固定となるため、ユーザーCPEを概ね識別、特定可能となる。プレフィックスが変動するタイミングは不定であり、周期的に変更される事もあれば、ISPを全面的に乗り換えするまで同一と言う事も有り得る。
  13. ^ ただし、IPv4においても半固定のIPアドレスをユーザーに割り当てるISPにおいては同様の問題が生ずる。
  14. ^ 2019年9月まで有効
  15. ^ IPv6のパケットを解釈せず単に通過させるだけの機能を言う

出典

  1. ^ 小川 2018, pp. iii, 3–4.
  2. ^インターネットのIPv4アドレス枯渇対応について”. 総務省. 2024年11月10日閲覧。
  3. ^ 小川 2018, p. 3.
  4. ^ 小川 2018, pp. 3–4.
  5. ^The IP Addressing Issue”. 2013年12月14日閲覧。
  6. ^ 小川 2018, p. 32.
  7. ^ a bIPv6利用統計”. 2014年11月19日閲覧。
  8. ^ついに国内のIPv6利用率が50%超え、IPv4のままでは何がまずい?”. 日経BP. 2024年5月31日閲覧。
  9. ^ 小川 2018, pp. 40–43.
  10. ^ 安力川幸司,伊藤孝史,泉川晴紀 (2017年11月13日). “スマートフォンへのIPv6導入に向けた取り組み”. 2021年6月12日閲覧。
  11. ^ a b 小川 2018, p. 39.
  12. ^ a b 小川 2018, p. 87.
  13. ^CIDR REPORT”. 2014年10月12日時点のオリジナルよりアーカイブ。2014年10月28日閲覧。
  14. ^ a b https://www.nic.ad.jp/ja/newsletter/No54/0800.html
  15. ^国内スマホユーザーを“IPv6デフォルト化”する計画が明らかに、携帯キャリア大手3社が2017年夏ごろ対応開始”. 2017年4月11日閲覧。
  16. ^IIJ: IIJ「フレッツ・シリーズ」対応サービス”. 2017年4月11日閲覧。
  17. ^ 小川 2018, p. 37.
  18. ^ 小川 2018, p. 38.
  19. ^ 小川 2018, pp. 153–156.
  20. ^ 小川 2018, p. 56.
  21. ^ 小川 2018, p. 57.
  22. ^ 小川 2018, pp. 57–58.
  23. ^ a b 小川 2018, p. 58.
  24. ^ 小川 2018, p. 59.
  25. ^ 小川 2018, pp. 59–60.
  26. ^ a b c 小川 2018, p. 60.
  27. ^ 小川 2018, p. 66.
  28. ^ 小川 2018, p. 70.
  29. ^ a b 小川 2018, p. 63.
  30. ^ 小川 2018, p. 64.
  31. ^Internet Protocol Version 6 Address Space”. 2017年5月4日閲覧。
  32. ^IANA IPv6 Special-Purpose Address Registry”. 2017年5月4日閲覧。
  33. ^ (RFC 7526)
  34. ^ 小川 2018, p. 94.
  35. ^ 小川 2018, p. 95.
  36. ^ a b 小川 2018, pp. 101, 122.
  37. ^ 小川 2018, p. 114-116.
  38. ^ 小川 2018, p. 47.
  39. ^IPv6/IPv4トランスレータとは”. 2011年2月18日閲覧。
  40. ^ a bWindows Vistaでのドメインネームシステムクライアントの動作”. 2011年2月26日閲覧。
  41. ^FTTHの上期純増数は41.6万件、2003年度以降で過去最低 ≪ プレスリリース”. 株式会社MM総研. 2024年5月9日閲覧。

参考文献

関連項目

外部リンク

IPv6アドレス空間

Internet Protocol version 6
一般 IPv6 IPv6アドレス IPv6パケット Mobile IPv6
経緯 IPv6の展開(英語版World IPv6 Launch オペレーティングシステムのIPv6対応の比較 IPv6トンネルブローカー一覧(英語版フレッツ網におけるIPv6
IPv4 to IPv6 トピックス IPアドレス枯渇問題 IPv6移行技術
関連プロトコル DHCPv6 ICMPv6 近隣探索プロトコル Secure Neighbor Discovery(英語版Multicast Listener Discovery Site Multihoming by IPv6 Intermediation(英語版
カテゴリ
テレコミュニケーション
通信 通信工学 無線工学 電波工学 交換工学 トラヒック理論 電磁気学 マクスウェルの方程式 電磁波 電波/光波 周波数/波長 アンテナ(空中線)空中線電力 実効輻射電力(ERP) 電離層 電波伝播 ダイバーシティ MIMO 情報理論 シャノン=ハートレーの定理 最尤復号 誤り訂正 変調方式 標本化定理 フーリエ変換 電信 電気通信 モールス符号 探照灯信号 光通信 光ファイバ 光無線通信 可視光通信 イーサネット(IEEE802.3)インターネット・プロトコル IPv4 IPv6 TCP/IP OSI参照モデル WWW HTTP HTML ストリーミング
有線電気通信/有線放送 電話 IP電話 Skype ISDN 公衆交換電話網 インターネット パソコン通信 ADSL WAN LAN FTTx FTTH PON ケーブルテレビ IP放送 インターネット放送 ネットテレビ/ネットラジオ radiko 電気通信事業 電気通信事業者 電気通信役務 基礎的電気通信役務 キャプテンシステム
無線通信/放送 携帯電話 1G 2G 3G 3.5G 3.9G 4G 5G 6G 移動体通信 衛星電話 放送局 テレビ テレビ局 テレビネットワーク ラジオ ラジオ局 ラジオネットワーク 無線局 業務無線 アマチュア無線 識別信号 コールサイン Q符号 RSTコード SINPOコード フォネティックコード 無線LAN IEEE802.11 Wi-Fi Bluetooth 通信衛星 放送衛星
歴史 Telecommunications symbol ビーコン 放送(英語版コンピュータネットワーク ドラム通信 電信 ファクシミリ 回光通信機 ハイドロリックテレグラフ(英語版インターネット マスメディア 携帯電話 光無線通信 オプティカルテレグラフィ フォトフォン プリペイド式携帯電話 ラジオ(英語版無線電話 衛星通信 狼煙 電報 電話 電話特許論争 テレビ(英語版通信技術の年表 海底ケーブル ビデオ会議 テレビ電話
人物 アレクサンダー・グラハム・ベル ニコラ・テスラ マイケル・ファラデー ジェームズ・クラーク・マクスウェル ハインリヒ・ヘルツ ラルフ・ハートレー クロード・シャノン エドウィン・アームストロング ジョン・ロジー・ベアード ティム・バーナーズ=リー ジャガディッシュ・チャンドラ・ボース ヴィントン・サーフ クロード・シャップ リー・ド・フォレスト フィロ・ファーンズワース レジナルド・フェッセンデン イライシャ・グレイ インノチェンツォ・マンゼッチ(英語版グリエルモ・マルコーニ アントニオ・メウッチ アレクサンドル・ポポフ ヨハン・フィリップ・ライス カミーユ・ティソ(英語版アルフレッド・ヴェイル チャールズ・ホイートストン ウラジミール・ツヴォルキン ハリー・ナイキスト
伝送媒体 伝送路 光による通信 有線 同軸ケーブル 光ファイバー 光通信 電話回線 無線 電磁波 電波 マイクロ波 光無線通信
スイッチング ノード 交換機 (回線交換 パケット通信) 電話交換機
多重化 空間分割 周波数分割 時分割 波長分割 偏光分割(英語版符号分割
ネットワーク(英語版 ARPANET BITNET 移動体通信ネットワーク コンピュータネットワーク FidoNet NGN 通信機器 テレックス