Broadcast Address(廣播地址)是專門用于同時向網絡中所有工作站進行發送的一個地址,在使用TCP/IP 協議的網絡中,主機標識段host ID 為全1 的IP 地址為廣播地址,廣播的分組傳送給host ID段所涉及的所有計算機.
網絡廣播地址計算方法:
1)IP地址與子網掩碼進行“位與”運算,得到網絡地址
2)子網掩碼“取反”運算,然后與網絡地址進行“位或”運算,得到廣播地址
PHP實例代碼如下:
- //ip地址轉換廣播地址
- private function ip2broadcast($ip,$mask){
- $ipSplit = explode('.',$ip);
- $maskSplit = explode('.',$mask);
- $broadcast = null;
- for ($i=0; $i < 4; $i++) {
- $ipBin = sprintf("%b",$ipSplit[$i]);
- while((8-strlen($ipBin))>0) $ipBin = "0".$ipBin;
- $maskBin = sprintf("%b",$maskSplit[$i]);
- while((8-strlen($maskBin))>0) $maskBin = "0".$maskBin;
- $broadcastBin = null;//m.survivalescaperooms.com
- for ($j=0; $j < 8; $j++) {
- $broadcastBin .= (!intval(substr($maskBin, $j , 1))) |
- (intval(substr($ipBin, $j , 1)) & intval(substr($maskBin, $j , 1)));
- }
- if ($i>0) $broadcast .= ".";
- $broadcast .= bindec($broadcastBin);
- }
- return $broadcast;
- }
新聞熱點
疑難解答