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アドレス」はたくさん存在するのでしょうか?
No.4ベストアンサー
- 回答日時:
> 「IPアドレス」と「IPネットワークアドレス」って何が違うのでしょうか?
電話番号の全長,と,電話番号の市外局番部分,の違いです。
http://okwave.jp/qa/q6740201.html の私の回答No.3
今回のご質問や補足を読むかぎり,質問者は「192.168.1.XXX ネットワークそのもの」(192.168.1という共通する市外局番部分をもつホスト群)という考え方を理解なさっているように思います。
> 「ネットマスク」値は、'255.255.255.0'固定になってました
そうなんです。TCP/IP通信において,192.168.1.2 というような「送信元のIPアドレス」は送信先にも送られますが,「送信元のネットマスク」は送信されないのです。
そのプログラムの作者は「上位3オクテット(24bit長)が共通のホスト群,を十把一絡げにしてアクセス解析しよう」と割り切ったわけで,本当の送信元のネットマスクが255.255.255.0である保証はありません。
> 全て「192.168.1.0」からのアクセスと読み替えて
> 処理するようなことって、あるのでしょうか?
現代のインターネット接続では,たいていの場合,IPアドレスは変化しますから。とくにモバイル環境でのインターネット接続ではそうだと思います。同一プロバイダからのアクセスである,同一通信キャリアからのアクセスである,という大まかなくくりで解析しようというそのプログラムの作者の方針じゃないでしょうか。
みなさん回答ありがとうございました。
特に、下記部分が参考になりましたー
・「No.1」さん
>掛け算ではないでしょう。論理積でしょうね
・「No.3」さん
>ネットマスクが255.255.255.0(プレフィックス長/24)の空間と仮定すれば、あっています
・「No.4さん」
>同一プロバイダからのアクセスである,同一通信キャリアからのアクセスである,という大まかなくくりで解析しようというそのプログラムの作者の方針じゃないでしょうか
No.3
- 回答日時:
■質問1の回答
ネットマスクがわからないと判断できないと思います。
「ホスト部を0にしている」と判断した理由は何ですか?
ネットマスクが255.255.255.0(プレフィックス長/24)の空間と仮定すれば、
あっていますが、ネットマスクの情報がありません。
プログラムを書いた本人(仕様)しか判らないことだと思いますが、
これだけでは、単にIPアドレスを伏せるため0に置き換えている
(IPアドレスの一番下の桁を0にしている)だけで、それ以上の意味が
ないとも考えられます。
■質問2の答え
単純な二進数の論理積f計算ですから、$_addr か $_maskの値が0の時になると思います。
■質問3の答え
ここでは、IPネットワークアドレスとはネットワーク部のことを言っているのだと思います。
文脈の前後がないため断定はできません。
ネットマスクカがわからないとどこまでがネットワーク部かわからないため、判断できません。
もし、255.255.255.0(プレフィックス長/24) であれば、192.168.1.0/24 という表現が、
ネットワーク全体を表します。
IPv4アドレスは、32ビットの数値です。これを判りやすいように8ビット単位(10進数0~255の値)で
ピリオドで区切った表現が、IPv4アドレスの表現方法です。
■質問4の答え
ネットワークアドレスよって、異なる対象を指すことはありません。
ネットマスク(プレフィックス長)というのは、ネットワークを分割して考えるためのものだと
思ってください。
ネットマスク(プレフィックス長)がわからないと、192.168.1.0がネットワーク部の部分なのか
判断できません。
192.168.1.2のIPアドレスにおいて、
ネットマスク255.255.255.0(プレフィックス長/24)ならば、192.168.1.0/24の空間なので、
192.168..1.0 は、ネットワーク部だと判断できます。
192.168.1.0はネットワークアドレス(ネットワーク部)であり、ネットワーク全体を現す。
192.168.1.255はブロードキャストアドレスであり、この2つを除いた
192.168.1.1~192.168.1.254までが利用できる。
ネットマスク255.255.254.0(プレフィックス長/23)ならば、192.168.0.0/23の空間なので、
192.168.0.0はネットワークアドレス(ネットワーク部)であり、ネットワーク全体を現し、
192.168.1.255はブロードキャストアドレスであり、この2つを除いた
192.168.0.1~192.168.0.255, 192.168.1.0~192.168.1.254までが利用できる。
この場合、192.168.0.0がネットワークアドレスであり、192.168.1.0は、単なるIPアドレス
(ユニキャストアドレス)になります。
なお、必ず最後が0になるとは限りません。
IPアドレス 192.168.1.130で、ネットマスク255.255.255.128(プレフィックス長/25)のとき、
ネットワークアドレスは、192.168..1.128/25となります。
(このとき、192.168.1.130のホスト部は2になります)
この辺りは、IPアドレスというより、単なる二進数演算で理解できる内容になります。
アドバイス
IPアドレスを理解していないのに、プログラムについて、わからないまま質問してしまい、
質問内容自体が発散して(あれもこれも解らないと質問を一度にたくさん行なっている)
と思います。
IPアドレスがわからないまま、自分なりの間違った解釈・思い込みで質問をしているように
見受けられますので、、まず、IIPアドレスの勉強から始められたほうがよいかと思います。
これがよいかどうかわかりませんが、wikipediaのIPアドレスあたりは見たほうがよいかも
しれません。
http://ja.wikipedia.org/wiki/IP%E3%82%A2%E3%83%8 …
この回答への補足
回答ありがとうございます。
>「ホスト部を0にしている」と判断した理由は何ですか?
「IPアドレス一番下の桁を0にする」箇所が、
「IPアドレス」「ネットマスク」ビット演算子の論理積、だっただめです。
今、改めて確認したら、「ネットマスク」値は、'255.255.255.0'固定になってました
一般的に、アクセス解析する際、アクセス元IPを、「192.168.1.1」「192.168.1.2」と個別判断せず、
全て「192.168.1.0」からのアクセスと読み替えて処理するようなことって、あるのでしょうか?
自分の中では、アクセスされたIP毎に、「192.168.1.1」「192.168.1.2」と保存されると思っていたのに、
このコードでは、「192.168.1.1」「192.168.1.2」でアクセスされた場合も、内部処理して「192.168.1.0」IPからアクセスされたと読み替え、IP保存しているので、なんでかな、と思い、質問してみましたー
No.2
- 回答日時:
>・「220.30.220.912」→「220.30.220.0」
と書いていることで ネットワークの理解が足りないことを 証明しています
復習してください
「IPアドレス」「IPネットワークアドレス」に違いなどありません
アドレスの意味の解釈に違いがあるだけです
No.1
- 回答日時:
>■質問1
>・ホスト部を0にしているので、「IPネットワークアドレス」を保存している、という理解で合っているでしょうか?
「『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」も全て同じアクセスとみなす、ということを意味するのでしょうか?
サブネットマスクが255.255.255.0、別の言い方をすれば24ビットマスク、別の表記をすれば/24であるならば、合っています。
>■質問4
>・「IPアドレス」と、「IPネットワークアドレス」って、何が違うのでしょうか?
IPアドレスは個々のホストのIPv4でのL3での識別子であって、IPネットワークアドレスってのはIPアドレスの集合体です。この2つが出てくる場合、大筋、L2レベルの範囲で到達可能な範囲を指していることが多いようです。
>・例えば、同じ「192.168.1.2」でも、所属する「IPネットワークアドレス」によって、異なる対象を指す、ということなのでしょうか?
そうです。
>・それは、「サブネットマスク」を見なければ分からない、ということなのでしょうか?
そうです。
>・もし、そうだとすると、所属が違うだけで、同じ「IPアドレス」はたくさん存在するのでしょうか?
サブネットマスクは無関係です。IPアドレスが勝手に使われている例は多々あるでしょう。特にプライベートIPアドレスでは重複している例は多いでしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
いつもマスクをしてる人が初め...
-
御配慮いただけたらと思います...
-
IPアドレスの表記について
-
隣の席の人の香水が苦手です・...
-
電車で隣にタバコ臭い人
-
マスク美人ではなくマスク外し...
-
スーパーなんかで 帽子にマスク...
-
バイト先の女の子がマスクを取...
-
女子でこのレベルのケツアゴっ...
-
マスクしてると睨んでるように...
-
マスクなし生活になったのにマ...
-
マスクを外している人が多い中...
-
美少年ですか?w 海外でめちゃ...
-
彼氏にマスク下を見せたことが...
-
混ぜるな危険をしてしまいました
-
コロナ禍で彼氏が出来ました。 ...
-
ノーマスクの人と鼻からマスク...
-
マスクをして話していた男性が...
-
超絶不細工な18歳女です ドラッ...
-
口臭と騒音のマナー違反
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
いつもマスクをしてる人が初め...
-
なぜコロナが去った今でもマス...
-
マスク美人ではなくマスク外し...
-
いつもマスクしてた女性がマス...
-
彼氏にマスク下を見せたことが...
-
女子でこのレベルのケツアゴっ...
-
IPアドレスの表記について
-
隣の席の人の香水が苦手です・...
-
マスクを外している人が多い中...
-
マスク美人(詐欺師)本人の弁解...
-
ゴムマスクでなりすまししてる...
-
未だマスクマスクって言うのは...
-
バイト先に帽子を被ってマスク...
-
超絶不細工な18歳女です ドラッ...
-
混ぜるな危険をしてしまいました
-
気になる女性がマスクを取ろう...
-
クリッピングマスクかけたつも...
-
私はマスクをしていると可愛い...
-
コロナ禍で彼氏が出来ました。 ...
-
電車で隣にタバコ臭い人
おすすめ情報