前書き
- ifconfig叩いてみて「ふーん」で終わらせてしまっていたため、
記事を書く練習も兼ねて私のIPアドレスについてまとめることにした。
私のIPアドレス
コマンドを打って取得できたもの~ % ifconfig |grep inet
inet 127.0.0.1 netmask 0xff000000
inet6 〜〜〜〜
〜〜〜
inet 192.168.1.21 netmask 0xffffff00 broadcast 192.168.1.255
-
127.0.0.1 ・・・ローカルループバックアドレス
- 0xff000000 ・・・サブネットマスク
-
192.168.1.21 ・・・私のPCのIPアドレス
- 0xffffff00 ・・・サブネットマスク
-
192.168.1.255 ・・・ブロードキャストアドレス
####サブネットマスクがまさかの16進数表記だったので、10進数に変換する。
127.0.0.1 ・・・ローカルループバックアドレス
255.0.0.0 ・・・サブネットマスク
127.0.0.1 /8 ・・・CIDR表記
192.168.1.21 ・・・私のPCのIPアドレス
255.255.255.0 ・・・サブネットマスク
192.168.1.21 /24 ・・・・・・CIDR表記
####ネットワークアドレスを求める
ネットワークアドレスを求めるためにそれぞれ2進数に変換してAND演算する
011111111 00000000 00000000 00000001 ・・・ローカルループバックアドレス
111111111 00000000 00000000 00000000 ・・・サブネットマスク
↓AND演算
011111111 00000000 00000000 00000000
↓
127.0.0.0 ・・・ネットワークアドレス
11000000 10101000 00000001 00010101 ・・・私のPCのIPアドレス
11111111 11111111 11111111 00000000 ・・・サブネットマスク
↓AND演算
11000000 10101000 00000001 00000000
↓
192.168.1.0 ・・・ネットワークアドレス
###ちなみに
クラスフルアドレスでは、IPアドレスはA〜Eの5種類のクラスに分類されている。
IPアドレスの先頭1~4ビットまでのビット列の組み合わせによって、どのクラスに属するかを判別することができる。
5つのクラスのうち、ユーザに割り当てられるクラスはA~Cの3つだけ。
参照:(https://qiita.com/mogulla3/items/efb4c9328d82d24d98e6)
こちらのサイトによるとクラスフルアドレスに該当するので、上記の面倒な計算をしなくても簡単にネットワークアドレスが求められた模様・・・。