IPアドレス・サブネットマスクからネットワークアドレスの値を求める
Windows電卓のプログラマモードを利用することで、
IPアドレスを入力し値を計算に利用することができます。
ここではIPアドレスとサブネットマスクの値を利用して、
ネットワークのネットワークIPアドレスを求める手順をご紹介します。
2015/02/14:訂正
一部、記載と画像に誤りがありましたので訂正致します。
今日はバレンタインですね、皆さん素敵な一日を。
IPアドレス・サブネットマスクからネットワークアドレスの値を求める
IPアドレスの値を入力する過程で循環シフトを利用した入力と、
算術シフトを用いた入力の双方をご紹介しました。
こうしてWindows電卓上でIPアドレスの値を入力することで、
ビットパターンを確認することができるだけでなく、
実際に計算をしてネットワークアドレスを求めることもできます。
計算例のIPアドレス
今回求める例として利用するIPアドレス、サブネットマスクは、
以下の値を利用します。
値 | アドレス | 数値 | ビットパターン |
---|---|---|---|
IP | 192.168.0.254 | -1062731522 | 11000000.10101000.00000000.11111110 |
サブネット | 255.255.255.248 | -8 | 11111111.11111111.11111111.11111000 |
ネットワークIP | 192.168.0.248 | -1062731528 | 11000000.10101000.00000000.11111000 |
※スマホではビットパターンは表示されないことがあります。
行をタップして展開してください。
赤文字のネットワークIPアドレスを求める計算を行います。
尚、計算前はネットワークアドレスのすべての情報は知らないものとします。
(サブネットマスクが248なら・・・って言うのは知らないこととします)
計算の準備
計算の準備段階として、IPアドレスとサブネットマスクの
数値を確認しておきます。
上記でご紹介したIPアドレスからの計算を行って、
ビットパターンに変換する直前に電卓に表示されている、
10進数の数値化した値をそれぞれ覚えておきます(コピーしておく)
この場合、
192.168.0.254が、-1062731522 です。
255.255.255.248が、-8 です。
表中の数値はその手順から計算したものです。
2015/02/18追記
そんなWindows電卓のまどろっこしい計算がしたくないという方向けに、
値の計算ツールを以下でご紹介しています。
計算の開始
Windows電卓をプログラマモードで開き、
[10進]・[Dword]を選択します。
次にIPアドレスの数値を入力しますが、
IPアドレスが負数の場合にはWindows電卓では負数の入力ができません。
その為、「0-1062731522=」を計算し、
「-1062731522」を表示します。
IPアドレスの値が表示されたら「And」をクリックします。
Andのクリックをしたら、次にサブネットマスクの数値を入力しますが、
サブネットマスクもこの場合は負数の為、
計算から負数を入力します。
一旦別の計算をさせるために[(]をクリックします。
[(]をクリックするとすぐ上の部分に[(=1]と表示されます。
この時点で一旦値は0表示になりますが、計算結果は保持されています。
これは、(1+2)x(3+4)のように、
先に計算をさせたい部分の入力を現在行っていて、
1つのカッコ内の入力をしているという意味です。
ここで「-8」の入力を行います。
「0-8=」と入力し、「-8」を入力します。
この場合は-8が表示されることなく、自動的に「)」が行われ、
[(=1]の表示が消えて、計算結果が表示されます。
計算結果は「-1062731528」となります。
※AND演算ですので普通の算術演算の結果にはなりません。
[2進]をクリックして、計算結果のビットパターンを表示します。
尚、ビットパターンは区切らないと見にくいので、
[表示]-[桁区切り]を選択して、ビットを区切った表示にすることができます。
区切ったら表示窓で右クリックをして[コピー]を選択します。
コピーした値が以下の値です。
1100 0000 1010 1000 0000 0000 1111 1000
通常のドット区切りに変換し、IPアドレス・サブネットマスクと比べます。
AND演算ですので、両方に1が立っている部分のみが、
結果のビットにセットされます。
ちょうど、1×1=1 , 1×0=0 , 0x1=0という掛け算と同じです。
双方が1は青色、IPアドレスに1が立っていて、0になった部分を赤とします。
11000000.10101000.00000000.11111110(IPアドレス:192.168.0.254)
11111111.11111111.11111111.11111000(サブネットマスク:255.255.255.248)
11000000.10101000.00000000.11111000(ネットワークアドレス:???)
サブネットマスクの概念はまさにこの動作で、
サブネットマスクで指定した連続した1の立っている部分までは、
ネットワーク部としてそのまま利用し、
サブネットマスクに0が立っている部分は、
ホスト部としてIPアドレスの値を0にリセットしています。
これによって、各オクテット部分のビットを数値に戻してみます。
- 11000000:192
- 10101000:168
- 00000000:0
- 11111000:
254248
電卓にビット文字列を8bitごとに貼りつけて個々の値を求めます。
※以下は第4オクテット部の算出例
それぞれの値を求めます。
これで、ネットワークIPアドレスは、
「192.168.0.248」であることが計算で求められました。
このようにしてWindows電卓を利用すると、
スマートとは言えませんが、ネットワークIPを求めることも可能です。
2015/02/18追記
ネットワークIPアドレスの計算自体は難しくはありません。
ですが、間違えやすい計算を手計算でやるのも不安です。
以下ではネットワークIPの算出ツールをご紹介しています。
求めたネットワークの情報がより詳しく必要であれば、
以下のツールでも確認することができます。
補足
ちなみにこの場合、11000000.10101000.00000000.11111000 は、
ネットワーク部が最上位ビットから29桁までになりますので、
192.168.0.248/29 として、CIDR表記にすることもできます。
※リンクをクリックするとCIDRの範囲を確認できます。
本サイトで公開しているツールについては、
十分にテストは行っておりますが個人で作成している為、
潜在的なバグがないとは言い切れません。
その為、ツールを用いた結果については十分検証の上ご利用ください。
当サイトおよび、管理人は如何なる損害もその責を負いません。
当サイト内のコンテンツおよび画像において、
出典・引用の外部著作権者の明記がないものは、
すべて管理人による著作物です。
当サイトでご紹介しておりますコンテンツの著作権の放棄は致しません。
サイト内コンテンツを引用される際にはご連絡は不要です。
ただし、出典元として当サイト(個別記事)へのリンクをお願いいたします。
申し訳ございませんが、無断転載、複製をお断りさせて頂いております。
コンテンツを有益であると感じていただけましたら非常に光栄です。
ありがとうございます。
公開日:
最終更新日:2019/06/20