IPv6例示アドレスがわかりにく過ぎる

2014/8/28-1

現時点におけるIPv6がIPv4よりも明らかに劣る部分があります。ドキュメンテーションなどで利用するための例示用IPv6アドレスが「2001:db8::/32」しか存在しない点です。

2001:db8::/32の空間は膨大ですが、全ての例で前半が同じになってしまうので、恐ろしくわかりにくいです。一方で、IPv4の例示用IPアドレスは、TEST-NET-1から3までの3種類が存在します。例示アドレスを正しく使って文章を書くとき、IPv4の方がIPv6よりも明らかに例示が分かり易くなるのです。

ただでさえ、IPv6はIPv4よりも複雑で理解しにくいプロトコルなのに、例示アドレスが見分けにくいので技術文書が余計にわかりにくくなってしまいがちです。

IPv4とIPv6の例示アドレスの違い

さて、どういうことか見てみましょう。たとえば、IPv4でのルーティングを解説するときに次のような図を描いたとします。TEST-NET-1(192.0.2.0/24)、TEST-NET-2(198.51.100.0/24)、TEST-NET-3(203.0.113.0/24)を使って3つの異なるネットワークが表現されています。

次に、IPv6でのルーティングを解説するときの例を見てみましょう。IPv6例示アドレスは2001:db8::/32のひとつだけなので、2001:db8:1::/48、2001:db8:2::/48、2001:db8:3::/48の3つを使ってみました。

このように、「え?何コレ?何で違う組織同士が同じIPv6アドレス空間を使ってるの?」と誤認させたり、「うーん。一見同じように見えてイミフ」みたいに思われる図が出来上がるわけです。恐ろしくわかりにくいです。(「例示用AS番号がわかりにく」という話もあると思いますが、今回はout of scopeということで)

3ffe::/16と5f00::/8が、かつては6bone用に割り振られたものの、現在はIANAに返却されているので(参考)、再度割り振りされることはなさそうだと判断したうえで、「2001:db8::/32だけだとわかりにくいし、とりあえず5f00::/8とか3ffe::/16を使ってしまえ!」といったワイルドな考え方もありますが、現時点におけるRFCに従った技術文章を書こうと思うと、IPv6例示アドレスである2001:db8::/32を分割して使う以外の選択肢は無いわけです。

RIRからの寄付という過去の経緯

これまで、様々な特殊用途IPアドレスが「RIRからの寄付」という形をとっています。

たとえば、IPv6例示アドレスである2001:db8::/32は、APNICのポリシー議論を経たうえでIETFで2004年にRFC 3849になっています(参考)。APNICからの寄付なのです。

IPv4のTEST-NET-2とTEST-NET-3がRFC 5735によって追加されたのが2010年ですが、それらもIPv6例示アドレス同様にAPNICからの寄付という形になっています。

例示アドレスではありませんが、ISP等が内部ネットワークで利用できるShared IPv4 Address(RFC 6598)は、ARINからの寄付という形でした。

このように、RIRからの寄付という形を取る前例があるのですが、新しいIPv6例示アドレスを既にある2001:db8::/32と異なるわかりやすいものにするには、APNIC以外のRIRに割り振りされたIPv6アドレス空間からの寄付である方が良いかも知れません。IANAからAPNICへ割り振りされたIPv6アドレスの多くが「2001」から始まり、2001:db8::/16と見分けにくいためです(2400:0000::/12もありますが)。

最後に

「IPv6の問題点を語るなら、もうちょっと本質的な部分を突けよ」といったツッコミもあろうかと思いますが、文章執筆を本業とするライターの私にとっては、例示用IPv6アドレスが糞過ぎるのは結構身近なんですよね。。。

そもそも、IPv6例示アドレスも2004年にできたものであり、10年前に追加されたばかりの仕組みです。無いものは作れば良いというのがインターネットの良い点であり、RIRでの議論を経てそれがRFCになればIPv6例示アドレスが増える未来もあり得るわけです。

ということで、IPv6例示用アドレスが追加されることを願って止まない今日この頃です。(川村さんがんばって!!!)

プロフェッショナルIPv6解説動画シリーズ再生リスト

動画で学ぶ「プロフェッショナルIPv6」を作っています。 もしよろしければご覧ください。お楽しみいただければ幸いです!