ホームページ >バックエンド開発 >PHPチュートリアル >IPv6のアドレス範囲を確認する方法

IPv6のアドレス範囲を確認する方法

WBOY
WBOYオリジナル
2016-06-13 13:24:011322ブラウズ

ipv6のアドレス範囲の見方
ipv6のアドレス範囲の見方がわかりません。 例えば、次の2つのアドレス範囲はどのアドレスからどのアドレスまでを指しているのでしょうか?
2406:6200::|32
240e:100::|24
IP ライブラリは通常別々に配置されるのはなぜですか? 同じテーブルに配置すると問題が発生しますか?

-----解決策---------
これらはすべて 16 進数 , 2 で表されます各バイト:.

:: は、次のものがすべて 0 であることを意味します。

mysql は引き続き操作でき、16 進数解除、部分文字列、置換は必要に応じて異なります。
------解決策------
IP アドレスは文字列に基づいて比較できます。範囲内の各 IP を計算するには、gmp/bc を直接使用できます。PHP について話しています。必要であれば、例を書いていただけますか。
------解決策------------------

PHP コード
[ユーザー:root 時刻:09:54:16 パス:/home/liangdong/php]$ php ip.php
2406:6200:0000:0000:0000:0000:0000:0000[ユーザー:root 時刻:09:54:17 パス:/home/liangdong/php]$ cat ip.php
<?php
$ipv6_start = "2406:6200::";
$ipv6_end = "240e:100::";

// 読みやすいように拡張された ipv6 形式
$bin_start = inet_pton($ipv6_start);
$bin_end = inet_pton($ipv6_end);
$start = unpack('H*0', $bin_start)[0];
$start = str_split($start, 4);
$start = implode(":", $start);
エコー $start;

/* 多数の操作として、開始と終了のすべての IP アドレスをトラバースできます
$start = gmp_init($start, 16);
$end = unpack('H*0', $bin_end)[0];
$end = gmp_init($end, 16);
echo gmp_strval($start, 16);
*/
?>
<br><font color="#e78608">------解決策---------</font><br>
話し合う

PHP コード
[ユーザー:root 時刻:09:54:16 パス:/home/liangdong/php]$ php ip.php
2406:6200:0000:0000:0000:0000 : 0000:0000[ユーザー:root 時刻:09:54:17 パス:/home/liangdong/php]$ cat ip.php
$ipv6_start = "2...

------解決策------------------
2400:ff00::|32

2400:ff00:0000:0000:0000:0000:0000:0000
-
2400:ff00:0000:0000:0000:0000: からである必要があります。 ffff:ffff
の後の CIDR は桁数で、32 ビットは ffff:ffff


です。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。