「IPアドレス」「IPネットワークアドレス」の違い
PHPで書かれた「アクセス解析」コードを見ているのですが、IPアドレス部分に関して内容が理解できせん。何をしようとしている(と予想できる)か、教えて下さい
■前提
・IPアドレスの一番下の桁を0にして保存しています
・「123.45.678.93」→「123.45.678.0」
・「220.30.220.912」→「220.30.220.0」
■質問1
・ホスト部を0にしているので、「IPネットワークアドレス」を保存している、という理解で合っているでしょうか?
・算出方法。ビット(「IPアドレス」✕「サブネットマスク」) … long2ip( ip2long( $_addr ) & ip2long( $_mask ) );
■質問2
・またこの際、算出結果が、'0.0.0.0'だったら空を返す、という条件が入っているのですが、ビット(「IPアドレス」✕「サブネットマスク」) は、'0.0.0.0'になったりするのでしょうか?
■質問3
・IPネットワークアドレス自体、よく分からないのですが、例えば、「192.168.1.0」=「192.168.1.XXX ネットワークそのもの」、と言う理解で合っているでしょうか?
・つまり、アクセス解析時に、「192.168.1.0」を登録することは、「192.168.1.1」「192.168.1.2」も全て同じアクセスとみなす、ということを意味するのでしょうか?
■質問4
・「IPアドレス」と、「IPネットワークアドレス」って、何が違うのでしょうか?
・例えば、同じ「192.168.1.2」でも、所属する「IPネットワークアドレス」によって、異なる対象を指す、ということなのでしょうか?
・それは、「サブネットマスク」を見なければ分からない、ということなのでしょうか?
・もし、そうだとすると、所属が違うだけで、同じ「IPアドレス」はたくさん存在するのでしょうか?