ネットワークに関する質問です。
サブネットマスクについて、ipアドレスのネットワーク部を示すものであり、
ネットワーク部は一つのサブネットを示すもの、ホスト部はそのサブネットの中で個々のホストを区別するものだという理解をしています。
そこで、サブネットマスク/32をしばしば見かけるのですが、これはどういう意味でしょうか?
そのサブネットに一つしかホストが存在しないという意味でしょうか。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答5件
0
ベストアンサー
/32
は IPの範囲を表していていますが「個数が1個のIPアドレスの範囲」という意味合いになるかと思います。
ルーターなどのソフトウェアでは、あるIPが その範囲内かどうかをプログラムで判定しますが、そういった際に使用される表現です。
計算方法の例
例えば IPアドレス 192.168.123.253
が、192.168.123.0/24
の範囲内かどうかは次のように求めます。
擬似コード
ip_address = `192.168.123.253` ip_range = `192.168.123.0` subnet_mask = `255.255.255.0` if ( ip_address AND subnet_mask ) == ip_range => この真偽値は TRUE (=範囲内)
/24
は IPアドレス表現だと255.255.255.0
になります。- IPアドレス
192.168.123.253
と255.255.255.0
の論理積を求めると192.168.123.0
になります。 192.168.123.0/24
のアドレス部分と等しいため範囲内だと判定されます。
同じ計算を 192.168.123.0
~ .255
の IP 全てに対して行っても、すべて 192.168.123.0
という結果になり、これらすべてが 192.168.123.0/24
の範囲内であると判定されます。
** /32 の場合の例**
/32
は255.255.255.255
になります192.168.123.253
と255.255.255.255
の論理積は192.168.123.253
になります。
/32
の場合は、IPアドレスが何であれ必ず同じ値になります。これは、/32
は すべてのビットが 1
なので、論理積と求めると、必ず IPアドレスと同じ値になるためです。
192.168.123.253
-> 11000000 10101000 01111011 11111101
... (A)
255.255.255.255
-> 11111111 11111111 11111111 11111111
... (B)
(A) AND (B) = 11000000 10101000 01111011 11111101
= 192.168.123.253
※(A)と等しい
以上から、192.168.123.253/32
の範囲を満たすIPアドレスは 192.168.123.253
のみであり、/32
は、完全に一致する1個のIPアドレスを意味しています。
投稿2020/10/30 20:34
編集2020/11/02 09:03総合スコア1455
0
サブネットマスク/32
そもそも論ですが、「/32」のような表記は、それ自体がサブネットマスクというわけではありません。CIDRと呼ばれ、単にアドレス範囲を示すだけの用途で使われることもあります。
投稿2020/10/30 12:01
総合スコア145930
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
X.X.X.X/XX という表現は、CIDR(lassless Inter-Domain Routing)と呼ばれる可変長サブネットマスクのプレフィックスを表現するものです。
当然ですが、上記の意味合いなので /31 や /32 といった記述は現実的ではありません。
ただ、/32 に関しては、慣例的にホストを示すことに使用されます。
業界の慣例なので、あまり深く考えず「そういうもの」として覚えてしまうのが良いです。
蛇足
他にも、/24 を「クラス C 一つ」と呼んだり、結構初学者殺しの慣例の多い表現ですw
投稿2020/11/02 10:24
編集2020/11/02 10:25退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
サブネットマスクについて、ipアドレスのネットワーク部を示すものであり、
ネットワーク部は一つのサブネットを示すもの、ホスト部はそのサブネットの中で個々のホストを区別するものだという理解をしています。
その理解はお勧めしません。
例えば、この teratail.com のサイトのIPアドレス(の1つ)が 34.120.225.12 ですが、このサブネットマスクが何か分かるでしょうか? (反語)
少なくとも私は知りませんし、知る必要もありません。
あくまでIPアドレスはそれ自身が「通信相手を識別するためのID」だからです。
ではサブネットは何かと言うと、「自分が通信相手をどの塊で分類するか」のためのものです。
その塊をまとめて識別するのがネットワークアドレスであり、192.168.1.0/24 と言った場合は、「192.168.1.1~192.168.1.254を一塊として扱いますよ」と「自分が」見做しているということです。
※この場合 192.168.1.255 はブロードキャストアドレスという特殊なアドレスになるのでちょっと置いておきます
つまり、相手ではなく「自分」の都合で決まるものであり、同一の通信相手であっても考える人によって異なるサブネットになりうるのです。
※もちろん、とは言え自分の所属するネットワーク上の位置を無視して、勝手にサブネットを考えるわけにもいかず、環境に縛られることにはなりますが。特に、自分の持つIPアドレスについては。
ここまで来れば
そこで、サブネットマスク/32をしばしば見かけるのですが、これはどういう意味でしょうか?
の意味は難しくないかと思います。
その人なり機器が、1アドレス毎バラバラの管理単位として相手を区別している、ということであって、世の中に1つしかホストがないネットワークがある、という意味ではありません。
投稿2020/10/30 13:50
総合スコア1681
0
おそらく何らかの設定ファイルの記述ではないでしょうか。
xxx.yyy.zzz.www/20
だと「対象のIPアドレスとxxx.yyy.zzz.wwwの上位20ビットが同一なら~~する」というような意味で、/32
だと「32ビット全体が一致したら~~~する」という事になります。
サブネットアドレスの表示の場合も、「通信相手のIPアドレスとxxx.yyy.zzz.wwwの上位20ビットが同一なら自分と同一サブネット内と判断する」ということでそれの一般化です。
投稿2020/10/30 12:55
編集2020/10/30 12:56総合スコア85766
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/02 09:59