网络广播地址计算方法:
(1)IP地址与子网掩码进行“位与”运算,得到网络地址
(2)子网掩码“取反”运算,然后与网络地址进行“位或”运算,得到广播地址
02 |
private function ip2broadcast( $ip , $mask ){ |
03 |
$ipSplit = explode ( '.' , $ip ); |
04 |
$maskSplit = explode ( '.' , $mask ); |
06 |
for ( $i =0; $i < 4; $i ++) { |
07 |
$ipBin = sprintf( "%b" , $ipSplit [ $i ]); |
08 |
while ((8- strlen ( $ipBin ))>0) $ipBin = "0" . $ipBin ; |
10 |
$maskBin = sprintf( "%b" , $maskSplit [ $i ]); |
11 |
while ((8- strlen ( $maskBin ))>0) $maskBin = "0" . $maskBin ; |
14 |
for ( $j =0; $j < 8; $j ++) { |
15 |
$broadcastBin .= (! intval ( substr ( $maskBin , $j , 1))) | |
16 |
( intval ( substr ( $ipBin , $j , 1)) & intval ( substr ( $maskBin , $j , 1))); |
19 |
if ( $i >0) $broadcast .= "." ; |
20 |
$broadcast .= bindec ( $broadcastBin ); |
(责任编辑:最模板) |