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か所以上あるなら一番前の方を省略
- 大文字小文字?
- 小文字
how to IPv6アドレスのプレーン化¶
#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