IPv6めも ****************** Contents: .. contents:: .. toctree:: :glob: :maxdepth: 1 IPv6アドレスについて  --------------------------------- IPv6アドレスの正規化 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ RFC5952(A Recommendation for IPv6 Address Text Representation)にて定義されている。 http://www.slideshare.net/koyhoge/ipv6php に分かり易いスライドがある。 これによると以下の通りの実装となる。 フィールド内の0省略 """"""""""""""""""""""""" * 各フィールドの"0"は省略できる 2001:0db8 -> 2001:db8 "::"による省略 """""""""""""""""""" * 0000を::で省略できる * 連続した0000は::で省略できる * 「一番省略できる」ところを省略すること * 2か所以上あるなら一番前の方を省略 大文字小文字? """""""""""""""" 小文字 IPv6アドレスのプレーン化 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: c $ php -r "echo bin2hex(inet_pton('ff02::1'));" ff020000000000000000000000000001 ipv6calcを使いIPv6アドレスをplain表示か正規化する ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :: ipv6calc --showinfo -q -m 2001:db8::1 | grep "^IPV.=" | cut -d '=' -f2 2001:0db8:0000:0000:0000:0000:0000:0001 ipv6calc --showinfo -q -m 192.168.0.1 | grep "^IPV.=" | cut -d '=' -f2 192.168.0.1 ipv6calc -q 2001:db8::1 2001:db8::1 ipv6calc -q 2001:0db8:0000:0000:0000:0000:0000:0001 2001:db8::1 ipv6calc -q 192.168.000.1