IPアドレスとは
コンピューターネットワークにおいてその通信相手を識別するには、それぞれの機器(インターフェイス)を見分けるための識別子なるもの−つまりアドレスが必要になります。これらはデータリンク層では16進数で表されるMACアドレスがあり、さらにはルータやホストを識別するためのパケットの経路制御のためにあるネットワーク層のIPアドレスがあります。
通信を行うルータやホストPCであればこのIPアドレスを必ず設定しなければなりません。
IPアドレスは32ビットの2進数で表されます。LANやインターネット環境などのIPネットワーク上において通信をする場合にはこのIPアドレスをそれぞれのホストに割り当てる必要があります。
二進数
0,1,10,11,100、 ・・・・ といった1と0だけで表示がされ1より上は一行繰り上がって表示される数値の表現方法であり、コーディングなどをする際にはある程度知っておいたほうがよい知識になります。 それぞれの桁はビットと呼ばれ、たとえば8ビットであれば1バイトなどと呼ばれたりします。
それぞれの位置に対して重みをかける数の割り振り
以下のように対応しています。
たとえば11010101(8ビットの表示)を10進数に変換するには、それぞれの桁の1(ビット)が表示されたところを下のテーブル表のように対応した数字を加算していけば10進法に変換することができます。
1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
---|---|---|---|---|---|---|---|
128 |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
=(128×1) + (64×1) + (32×0) + (16×1) + (8×0) + (4×1) + (2×0) + (1×1)
=128 + 64 + 16 + 4 + 1
=213
上記のテーブル表において上の2進数の数字(0 or 1)を下に対応している数字にかけて、そしてそれを全体に渡って加算すれば10進数に変換できるという仕組みになっています。
10進数から2進数への変換の方法
10進数をn進数に変換するには、10進数をnで割って、その余りを求めることを繰り返し、そしてその余りを並べることによってn進数が出来上がります。以下の計算図は10進数の“213”を2進数に変換していく過程になります。

変換する進数(2)で割っていき、その余りを下から並べていきます。
なので213を2進数変換すれば“110100101”となります。
その他の10進数から2進数への変換
次に10進数の100を2進数に変換してみましょう。
100を2進数変換していった場合、8ケタで表現できるはずの2進数が7ケタだけ出てきます。
こうした場合左の図のように先頭部分に“0”を付け足してそれを補います。
このようにしたら先ほどと同じように左下から右、さらには下から上へ0、または1を並べていけば求める2進数が決まります。
IPアドレス
IPアドレスとはたとえば192.168.1.1のように4つの番号をドットで区切って表されます。1つの番号は8ビットで表示されるため0〜255のいずれかになります。つまり8ビットの最小の値は00000000=0で最大値は11111111=255となるためです。
合計32ビットの表示になります。また8ビットのことをオクテッドと呼ぶこともあります。
IPアドレス
2進数 |
00000000. 00000000. 00000000. 00000000 〜 11111111. 11111111. 11111111. 11111111 |
---|---|
10進数 |
0. 0. 0. 0 〜 255. 255. 255. 255 |
この場合、左から1バイトづつを第1オクテッド、第2オクテッド、第3オクテッド、第4オクテッドといいます。
IPアドレスのクラス
IPアドレスは最初の1バイトによってクラス分けされており、各クラスによってネットワーク部とホスト部が決定されます。
ネットワークアドレスは通信できるグループの値であり、この数字が異なるIPアドレス間では通信ができないようになっています。
またホストアドレスは端末1つ1つにに与える数字となります。同一のネットワークアドレスは一つの固有アドレスのホストアドレスしか存在してはなりません。
IPアドレスのクラスは次のようになっています。
クラスA 1. 0. 0. 0 〜 127. 255. 255. 255
ネットワーク |
ホスト |
ホスト |
ホスト |
---|
127. 0. 0. 0 〜 127. 255. 255. 255 の範囲はループバックアドレスといわれているもので、この部分のIPアドレスはホストアドレスとして使用できないようになっています。
クラスB 128. 0. 0. 0 〜 191. 255. 255. 255
ネットワーク |
ネットワーク |
ホスト |
ホスト |
---|
クラスC 192. 0. 0. 0 〜 223. 255. 255. 255
ネットワーク |
ネットワーク |
ネットワーク |
ホスト |
---|
クラスD 224. 0. 0. 0 〜 239. 255. 255. 255
クラスE 240. 0. 0. 0 〜 254. 255. 255. 255
例えば、クラスCのIPアドレスにおいて次のような 192. 168. 1. 1 と 192. 168. 1. 2 は第3オクテッド部分のビットが同じであるために互いに通信が可能ですが、192. 168. 1. 1 と 192. 168. 2. 2 は第3オクテッドのネットワークアドレスが異なるために通信ができません。
余談になりますがクラスCの192.168.〜の呼び方は「ヒトクニ イロハ」などと言ったりします。
使用できないIPアドレス
IPアドレスには、プライベートIPアドレスがありインターネット上で使用できないことになっています。
クラスA |
10. 0. 0. 0〜 10. 255. 255. 255 |
---|---|
クラスB |
172. 16. 0. 0〜172. 31. 255. 255 |
クラスC |
192. 168. 0. 0〜 192. 168. 255. 255 |
ipconfigコマンド
自分のPCに割り当てられているIPアドレスをコマンドプロンプトを使って調べてみましょう。
コマンドプロンプトは、“プログラム”の中の“アクセサリ”の中に入っています。
またはウインドウズ画面左下の「ここに入力して検索」というところでcmdと打ってみます。
クリックするか、またはcmdと入力してEnterをすると次のような真っ黒のウインドウが出てきます。
この画面上において次のように入力します。
C:\>ipconfig
今自分が使っているPCのローカルIPアドレスやMACアドレス、サブネット、デフォルトゲートウェイなどのネットワークの情報、さらには周辺インターフェイスなどの諸元が表示されます。
さらに詳しい情報を知りたい場合は次のように入力します。
C:\>ipconfig /all
右のような表示がされ、IPアドレスやMACアドレス以外の情報も見ることができます。
pingコマンド
pingとは主にネットワーク疎通用に用いられるコマンドになります。ネットワークにつながっている機器であればIPアドレスがあるはずなのでこのIPアドレスを使ってpingを打てばその疎通確認ができます。
左の画面のように“arp -a”と打ち込んでEnterを押します。
C:\>arp -a
すると右の画面のようにARPエントリが表示されるのでその中の192.168.179.2(これは自動的に割り振られたプリンタのIPアドレス)に対してpingを打ちます。
次のように打ち込みます。
C:\>ping 192.168.179.2
ping到達が数回繰り返されて次のように表示されます。
補遺
上記の同一LAN内(192.168.179.〜)において、表示されているIPであるにもかかわらずping応答がないのは7から10にバージョンが上がった際のセキュリティポリシーの変更が原因である可能性が高いです。その場合ドメイン、プライベート、パブリックのファイアウォールを有効にしたままpingを通すにはファイアウォールの詳細設定を変更する必要があります。
そしてそれらはLAN上のみではなくグローバル上(インターネット)でも確認ができます。
ドメインによるIPアドレスの確認
インターネット上の、たとえばホームページなどは一般的にはそのアドレスはURLを意味しますが、それは一意的に表示させるためにマッピングしているものなので基本的にそのホームページにもIPアドレスがきちんと付与されています。
それを実際に確認してみましょう。
例えば次のようにしてgoogleのドメインに対してpingを飛ばしてみると、
C:\>ping google.com
以下のような表示がされます。
この時点においてgoogleのIPアドレスは[173.194.38.100]となっていることがわかります。
IPアドレス関連ページ
- サブネットマスクの計算
- サブネットマスクとは、IPアドレスのネットワークアドレスとホストアドレスを識別するための数値で、このサブネットマスクを使うことによってネットワークを細分化して効率よく使用することが可能になります。
- ワイルドカードマスク
- ワイルドカードマスクとはビットの進行がサブネットマスクの逆になったものになります。右から順に1ビットを増やしていきます。1がついたところは自由にビットを組み替えることができます。