アプリ版:「スタンプのみでお礼する」機能のリリースについて

IPアドレスの事で質問です


2つのIPアドレスが同一のネットワークであるか判定するという問題です。
ーーーーーーーーーーーーーー
255.255.255.240と同じネットワークである組み合わせはどれか

それぞれのIPアドレスとサブネットマスクをAND演算した結果が同じネットワークアドレスになれば同一のネットワークに属していることになります。


192.168.1.17と192.168.1.29

[192.168.1.17]
後半8ビットは00010000 です。

[192.168.1.29]
29 AND 240=00011101 AND 11110000=00010000

ネットワークアドレスが同じになるため2つのIPアドレスは同一ネットワークに所属します


何故AND演算をすれば同一のネットワークに属していると分かるのでしょうか?

A 回答 (2件)

> 何故AND演算をすれば同一のネットワークに属していると分かるのでしょうか?



???
IPv4のIPアドレスは32ビットですが、この内容は前半(左側)のネットワーク部と、それ以降(の左側)のホスト部からな成ります。

ネットワーク部とは具体的にはネットマスク(サブネットマスク)が掛かった部分です。
つまりIPアドレスとネットマスク(サブネットマスク)をAND演算して得られた結果がネットワーク部の値ということになります。

大変失礼ながら質問者様はIPv4のIPアドレスの構造とそれを使った通信の基本的な仕組みを全く理解されておられないようです。
教科書を該当部分を読み直されるか、以下の解説の先頭から「スコープ」あたりままでをよく読んで理解されるとよいと思います。

https://ja.wikipedia.org/wiki/IP%E3%82%A2%E3%83% …

以下のページのIPv4の説明部に置かれているPDFファイルの内容が基礎中の基礎を丁寧かつ容量よくまとめていてわかりやすいかもしれません。

https://www.nic.ad.jp/ja/ip/admin-basic.html
    • good
    • 0

> 何故AND演算をすれば同一のネットワークに属していると分かるのでしょうか?



そういう作りになっているから、というのが本音ですが、
とりあえず、サブネットマスクとは何か? がわかれば理解できると思います。

まず、理解してほしいのは、サブネットマスクを二進数で表した場合に「1」の部分がネットワーク部になります。「0」の部分がホスト部になります。(ここが全て)
サブネットマスクは 最も左から「1」が並び、途中で「0」になり最後まで「0」になる。
途中に「101」の様に「0」になったあと「1」に戻ることはありません。

サブネットマスクの表記方法として、
192.168.1.240/28
の様にネットワーク部のビット数だけ表す方法もあります。

それと、テキストに良く書いてある「アドレスクラス」のことは忘れてください。事実上使われていませんし、サブネットマスクを考える場合には混乱の元です。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!