IPアドレス・ネットマスクの変換・チェック・統合・除外を簡単に。

Google or AdMax Promotion (ipvtop)

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」をクリックします。

cal_netip_st01

01_IPアドレスの数値入力とAnd

 

Andのクリックをしたら、次にサブネットマスクの数値を入力しますが、
サブネットマスクもこの場合は負数の為、
計算から負数を入力します。

一旦別の計算をさせるために[(]をクリックします。

[(]をクリックするとすぐ上の部分に[(=1]と表示されます。
この時点で一旦値は0表示になりますが、計算結果は保持されています。

cal_netip_st02

02_「(」を利用して別の計算開始

 

これは、(1+2)x(3+4)のように、
先に計算をさせたい部分の入力を現在行っていて、
1つのカッコ内の入力をしているという意味です。

 

ここで「-8」の入力を行います。

「0-8=」と入力し、「-8」を入力します。

cal_netip_st03

03_サブネットマスクの数値入力

この場合は-8が表示されることなく、自動的に「)」が行われ、
[(=1]の表示が消えて、計算結果が表示されます。

計算結果は「-1062731528」となります。
※AND演算ですので普通の算術演算の結果にはなりません。

cal_netip_st04

04_計算結果の表示

 

[2進]をクリックして、計算結果のビットパターンを表示します。

cal_netip_st05

05_2進数・ビットパターンの確認

 

尚、ビットパターンは区切らないと見にくいので、

[表示]-[桁区切り]を選択して、ビットを区切った表示にすることができます。

区切ったら表示窓で右クリックをして[コピー]を選択します。

cal_netip_st06

06_桁区切りの利用と値のコピー

 

コピーした値が以下の値です。

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にリセットしています。

これによって、各オクテット部分のビットを数値に戻してみます。

  1. 11000000:192
  2. 10101000:168
  3. 00000000:0
  4. 11111000:254248

 

電卓にビット文字列を8bitごとに貼りつけて個々の値を求めます。
※以下は第4オクテット部の算出例

cal_netip_st07

07_得た値を8bit単位で数値化

 

それぞれの値を求めます。

cal_netip_st08

08_全オクテットの繰り返し

 

これで、ネットワークIPアドレスは、

192.168.0.248」であることが計算で求められました。

このようにしてWindows電卓を利用すると、
スマートとは言えませんが、ネットワークIPを求めることも可能です。

2015/02/18追記

ネットワークIPアドレスの計算自体は難しくはありません。
ですが、間違えやすい計算を手計算でやるのも不安です。
以下ではネットワークIPの算出ツールをご紹介しています。

 

求めたネットワークの情報がより詳しく必要であれば、
以下のツールでも確認することができます。

 

 

補足

ちなみにこの場合、11000000.10101000.00000000.11111000 は、
ネットワーク部が最上位ビットから29桁までになりますので、

192.168.0.248/29  として、CIDR表記にすることもできます。
※リンクをクリックするとCIDRの範囲を確認できます。


プロモーション

Google or AdMax Promotion (ipvpos)

公開日:
最終更新日:2015/02/18

AdMax Promotion

サイト内コンテンツ
すべて展開 | すべて省略

Google or AdMax Promotion (ipvlink)

QRコードからもこのURLを開けます。