1.IPv4枯渇の問題
■IPv4の現状
IPv4は2の32乗なので約43億。おおよそ、世界の人口に一致する。設計当時は、世界中の人に、一人一つのIPアドレスがあれば十分だろうという考え方があった。
携帯向けのインターネットが普及することにより、IPv4は確実になくなる。
では、どうするか?
IPv4をIPv6に完全移行することは不可能にちかい。移行作業の煩雑さもあるが、そもそもIPv6対応の機器に総取替えするのか?また、自分だけはIPv6にしても、通信する相手がv6に対応していなければ意味がない。
IPv4を利用する場合
NATを利用する。すでに払いだしているIPv4のIPアドレスのうち、真に必要なIP以外は返却させる。しかし、この方法ではわずか半年程度の延命にしかならないだろうと考えられている。
以下が総務省の報告書。
(旧リンク)http://www.soumu.go.jp/menu_news/s-news/2008/pdf/080617_2_bt1.pdf
■IPv4アドレスが枯渇することによる問題
ITの発展は、企業や経済の発展に大きく寄与してきた。しかし、IPアドレスは約43億個しかなく、2011年には枯渇すると言われている。IPアドレスが枯渇することで、新たなサービスが提供できなくなるなど、ITの発展に影響がでる。つまり、日本の経済発展にも影響がでる。
また、枯渇した状態でサービスを提供するには、色々と無理が発生する。少しでも余ったIPアドレレスを運用しようとするとルーティングテーブルが膨大になったり、無理やりサービス提供するために特別な装置を入れたりするなどである。さらに、IPv4とIPv6の同時運用もともなって、サービス提供者の運用コストが劇的に増えるかもしれない。
■IPv4枯渇に対する対策
①IPアドレスの節約・・・NAT/NAPT
②IPアドレスの最適化・・・不要なIPの返却と再割当
③新プロトコルの活用・・・IPv6
①と②はIPv4の延命策であるため、恒久対策ではない。
金と労力がかかるが③の案がいずれは必要になるだろう。
■IPv6移行への問題
・技術者不足の問題
・対策費(コスト)の問題
また、明確な方針や指針が固まっていない現実があると思う。
■世界の状況
IPv4アドレスが不足している中国などに加え、IPv4アドレスに比較的余裕があるアメリカにおいても、IPv6への移行は進んでいる。
日本では、NTT東西の地域IP網ではIPv6によるサービス提供がなされている。ただ、これはインターネット網ではない。
「インターネットの円滑なIPv6 移行に関する調査研究会 報告書」を参照
(旧リンク) http://www.soumu.go.jp/menu_news/s-news/2008/pdf/080617_2_bt1.pdf
2.IPv4枯渇対策技術
いろいろな技術が増えているが、各メーカによる実装の違いもあり、乱立感が否めない。
軸となる技術を3つ、簡単に紹介する
❶CGN
CGNはすでにたくさん使われている。モバイル系の通信の場合は、ほとんどがCGNにより、プライベートアドレスが割り当てられていることであろう。
❷DS-Lite(Dual stack Lite)
任天堂のゲーム機として覚えると忘れないだろう。残念ながら、今は生産終了のようだ。
・インターネット網のみをIPv6とし、それ以外の家庭や企業、サーバ群はIPv4のまま。実はこれで十分なんだ。家庭や企業、サーバはIPv6にするメリットはない。面倒なだけだ。一方、インターネット網はIPv4が枯渇しているから、IPv6にするしかない。
・技術的には、IPv4のパケットをIPv6網に流す。NATするのではない。IPsecと同様に、IPv4パケットをIPv6パケットでカプセル化する。
・IPsecと同様と考えれば、当然ながら、両端に装置が必要である。
❸464XLAT
・DS-Liteと同じく、網のみがIPv6で、それ以外はIPv4
・仕組みは464という名前の通りで、IPv4→IPv6→IPv4のNATをする。IPv4ヘッダをIPv6ヘッダに書き換え、また元に戻す。
・IPv4のアドレスは32ビットだが、IPv6は128ビットと大きい。そこで、IPv6のアドレスの中に、該当するIPv4のアドレスを埋め込んでしまう。この仕組みは646ならできない。
Interop H25.6.14にて、IPアドレス枯渇対策がまとめられていた。
かなりシンプルにまとめられているので、いい資料だと思う。
3.IPv4とIPv6の相互通信
◆IPv4インターネットとIPv6インターネット
これは別物である。両者はルータで接続されている。その間はNAT(NAT-PT)される?
◆v4とv6での通信
残念ながら、v4とv6の互換性は無い。
相互通信の方法は以下の3つ
1)デュアルスタック(IPv4とv6の両方のIPアドレスを保有する。)
2)NAT(アドレス変換)
3)トンネリング(IPv4でIPv6をトンネリングまたはその逆)
・IPv6をv4へカプセル化する方法は、6to4としてRFC化されている。
・IPv6のアドレスには、IPv4のアドレスが最初から埋め込まれている。
・例えば、IPv4のアドレスが1.1.1.5であれば、IPv6のアドレスは2002:0101:0105:で始まる。2002は6to4では固定。それ以降はIPv4アドレスそのまま
◆IPv4とIPv6の共存
可能である。同一のLAN(同一ケーブル)上に両方のプロトコルを共存
できる。イーサネットヘッダのタイプフィールドを見て、IPv4かIPv6かを判断する。
◆IPv6のサイトにはIPv4からアクセスできないのはなぜ?
・いや、アクセスできる場合も多い。
・IPv4とIPv6は全く別のプロトコルである。IPv4とホスト系の通信が全く異なるのと同じだ。よって、IPv4のPCからホストへ通信することはできず、通信するには、ホストをIPv4対応にしてIPv4で通信する必要がある。
・また、ルーティングテーブルも全く別物
・疑問。IPv4とIPv6のインターネットはルータでつながっていて、そこでNAT(NAT-PT)すればつながる気もする。
→IPv4とIPv6は直接通信できないので、変換するトランスレータ(ヘッダを変換するものやProxyサーバのように中継(代理)応答するものがあるだろう。)が必要になる。しかし、別プロトコルであるので、完全に変換はできない。アプリケーションごとにチューニングしたトランスレータを準備する必要がでるだろう。特に、256ビットのIPv6を32ビットのIPv4にするには、どうしても無理が出る。
ただ、IPv4とIPv6はプロトコルの違いから、アプリケーションによっては通信できないものもある。
4.6to4
過去問(H25秋FE午後問3)を見てみましょう。
過去問(H25秋FE午後問3) |
---|
IPv6を導入することによってIPv4アドレスの枯渇問題は回避できるが,インターネットにつながる世界中のシステムや機器が一斉にIPv6に変更されるということは期待できず,長い時間を掛けて移行が行われると考えられる。そこで, IPv4からIPv6への移行期間中に二つのバージョンが共存する手段として様々な技術が開発されている。そのうちの一つがトンネル方式であり,送信元と宛先の間に異なるIPバージョンが存在するとき,元のIPバージョンのパケットを異なるIPバージョンのパケットにカプセル化し,異なるIPバージョンのネットワークを通過させる方式である。トンネル方式を実現する方法は幾つかあり,6to4と呼ばれる技術もその一つである。 6to4では, IPv4のグローバルアドレスが必要である。6to4で使用するIPv6アドレスの最初の16ビットは,必ず2002である。続いてIPv4のグローバルアドレスをそのまま付けた[ b ]ビットがIPv6アドレスのプレフィックスとなる。例えば,IPv4グローバルアドレスが203.0.113.128の場合, IPv6アドレスのプレフィックスは,[ c ]/[ b ]となる。 |
↓
↓
↓
↓
↓
bであるが、最初の16ビット+IPv4のアドレス32ビットを足すと48ビットです。
cですが、「IPv4のグローバルアドレスをそのまま付け」とあります。
・(10進数)203
→(2進数)11001011
→(16進数)cb
・(10進数)0
→(2進数)00000000
→(16進数)00
・(10進数)113
→(2進数)01110001
→(16進数)71
・(10進数)128
→(2進数)10000000
→(16進数)80
▼正解は以下です。
b 48
c 2002:cb00:7180::
5.CGN(Carrier-Grade NAT)
IPv4の枯渇に対応する技術で、ラージスケールNAT(LSN:Large Scale NAT)とも言われる。
IPアドレス不足を補うため、各家庭や企業ではグローバルIPアドレス1つをNATすることで、複数のPCからインターネットへのアクセスを可能にしている。技術的にはNAT、NAPTを利用している。
この技術を、各家庭や企業単位ではなく、プロバイダ単位で実行すればIPアドレス不足に対応できるという考えである。現に、CATVでは一部利用されている。
通常、一般家庭ではサーバを公開することがないため、ほとんどのケースで対応できるであろう。
しかし、サーバを公開するパターンやNATでは対応できないアプリケーションを使う場合には対応できない。また、常にNATを使用することから、プロバイダ側の処理スペックの問題、(ISPと家庭で)多段にNATするので、割り当てをルール化しないとつながらないケースもでてくる。
また、NATするにも、ルータ側でセッション情報を保持(管理)する必要があるため、ある程度セッション数の制限が必要になるだろう。某大手通信事業者などの実験によると、Webアクセスでページが欠落したり、オンラインゲームが正常に動かないなどの問題が発生するという。
一時的な延命策であるが、モバイルのキャリアなどでは大規模に利用されているようだ。モバイル利用者にグローバルIPを渡すのは無理なのだろう。
CGNのIPアドレス範囲は100.64.0.0/100が使われるように定められたと思う。
シェアードアドレスを使わずに、全部プライベートIPアドレスでもいいと思います。
素直な疑問ですよね。プライベートIPアドレスをプロバイダが管理できればそれも可能だと思います。しかし、プライベートIPアドレスは、顧客が自由に好きなIPアドレスを設定できるのが利点です。ですから,上記の図において、シェアードアドレスの部分をプライベートIPアドレスにすると、顧客宅のプライベートIPアドレスと重複する危険があるのです。重複すれば、正常に通信が行えません。
シェアードアドレスはRFCで100.64.0.0/10と決められています。これを使えば、顧客宅のプライベートIPアドレスと重複することなく利用できます。