TCP/IPの仕組み(IPアドレスとMACアドレス) TOPへ
■ 通信の基本はアドレス
通信するには宛先が必要ですから、アドレスの仕組みを正しく理解する必要があります。
各階層によって仕組みが違いますので注意してください。
プロトコルについてはRFC[アール・エフ・シー]という文書で定義されています。
■ MACアドレス [ マックアドレス ] (L2:データリンク層)
NIC(Network Interface Card)[ ニック ]に製造段階で焼き付けられています。変更は出来ません。世界に一意で同じMACアドレスは存在しません。
NIC = LANボード、LANカードの事です。
パソコンがMACアドレスを持っている訳ではありません。
MACアドレスの例) 00-A0-C9-E2-A9-00 (48bitで16進数で表記します)
前半の24bit(例:00-A0-C9)がメーカーの識別に用いられます。
後半の24bit(例:E2-A9-48)が各NICの識別に用いられます。
このMACアドレスは架空のアドレスです。
※どのメーカーかは下記のサイトで調べられます。
http://standards.ieee.org/regauth/oui/index.shtml
例えば上記の例はintelだと判ります。
00-A0-C9 (hex) INTEL CORPORATION - HF1-06
ちなみにMACアドレスを2進数で表記すると下記のようになります。
0000 0000 1010 0000 1100 1001 1110 0010 1010
1100 0000 0000
■ IPアドレス [ アイピーアドレス ] (L3:ネットワーク層)
NIC(Network Interface Card)にソフト的に設定します。原則として世界に一意です(例外は後述します)
実務上ではIPアドレスで宛先やホストを識別しますので、ネットワークで最も重要なアドレスです。
IPアドレスの例) 210.24.20.12 (32bitで10進数で表記します。)
11010010.00011000.00010100.00001100 (2進数)
このIPアドレスは架空のアドレスです。
■ IPアドレスのクラス
□ IPアドレスはクラスという概念でわけられます。
表 2.1
| クラスA | 0.0.0.0 〜 127.255.255.255 | |
| クラス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 〜 255.255.255.255 | (実験用) |
クラスDとEは通常は使用しませんので、覚えなくていいです。
上記の例) 210.24.20.12 はクラスCのIPアドレスだと判ります。
□ IPアドレスは「ネットワークアドレス」と「ホストアドレス」から成ります。
クラスCの場合は上位3オクテットがネットワークアドレスで、下位1オクテットがホストアドレスになります。
オクテット = IPアドレスの8bitずつの区切り
つまりこの例では
ネットワークアドレス:210.243.20
ホストアドレス :12
ということになります。
表 2.2
| ネットワークアドレス | ホストアドレス | |||
| クラスA | 上位1オクテット | 20 | 下位3オクテット | 10.122.128 |
| クラスB | 上位2オクテット | 160.128 | 下位2オクテット | 25.128 |
| クラスC | 上位3オクテット | 210.232.24 | 下位1オクテット | 128 |
各ホストアドレスのうち、最初と最後は予約されていますので、パソコンには使えません。
正確には2進数表記でホスト部分が「全て0」又は「全て1」のアドレスです。
例)210.243.20.0 11010010.00011000.00010100.00000000
(ネットワークアドレス)
210.243.20.255 11010010.00011000.00010100.11111111
(ブロードキャストアドレス)
ブロードキャストアドレス= ネットワーク内の全アドレス宛
よって各クラスにおけるネットワークとホストの使用可能数は以下のようになります。
表 2.3
| ネットワーク数 | ホスト数 | |
| クラスA | 255 | 16,777,214個(2の24乗-2) |
| クラスB | 65,536 | 65,534個(2の16乗-2) |
| クラスC | 16,777,216 | 254個(2の 8乗-2) |
■ グローバルアドレスとプライベートアドレス
● グローバルアドレス
世界に一意。通常はこれです。
● プライベートアドレス
組織内で自由に使えるアドレス。当然同じアドレスはそこら中で使われています。
そのかわりインターネット上では使用出来ません。
インターネット上のルータはプライベートアドレスのパケットは無条件に破棄してしまいます。
表 2.4
| クラス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 |
● ループバックアドレス
自分自身を宛先とするアドレス。ネットワークには出て行かない。
127.0.0.0〜127.255.255.255
通常は 127.0.0.1 を使用します。
また localhost というアドレスは 127.0.0.1 と同義です。
■ サブネットマスク
IPアドレスは枯渇しています。(足りなくなっています)。そこで限られたアドレスを有効に使う手段としてサブネットマスクという手法を編み出しました。
前述のクラスBのネットワークでは65534個のホストが接続可能ですが、実際には1000個しか必要なかったとします。すると残りの64534個が無駄になります。そこでクラスの中を更に細かくネットワークアドレスを区切ろうというのがサブネットマスクです。
サブネットマスクの例) 255.255.252.0
サブネットマスクの使用例)
150.124.31.24 というクラスBのアドレスについて考えます。
表 2.5
| IPアドレス | ネットワークアドレス | 使用出来るホスト数 |
| 150.124.31.24 | 150.124.0.0 | 65,534個 |
このままだとネットワークはひとつしか扱えません。
もしA社がホスト1000台の支店を9つ持っていた場合、クラスBのネットワークアドレスを9個取得する必要があります。
表 2.6
| ネットワークアドレス | 使用できるホスト数 | 実際に使用するホスト数 |
| 150.124.0.0 | 65,534個 | 1,000個 |
| 150.125.0.0 | 65,534個 | 1,000個 |
| 150.126.0.0 | 65,534個 | 1,000個 |
| 150.127.0.0 | 65,534個 | 1,000個 |
| 150.128.0.0 | 65,534個 | 1,000個 |
| 150.129.0.0 | 65,534個 | 1,000個 |
| 150.130.0.0 | 65,534個 | 1,000個 |
| 150.131.0.0 | 65,534個 | 1,000個 |
| 150.132.0.0 | 65,534個 | 1,000個 |
クラスBをこんなに取得できればいいのですが、なかなか難しいかもしれません。
また1支店あたり 64,534個 × 9= 580,806個 ものアドレスを無駄に遊ばせています。
これをサブネットマスクで分割した場合には
表 2.7
| IPアドレス | ネットワークアドレス | サブネットマスク |
| 150.124.31.24 | 150.124.0.0 | 255.255.252.0 |
これを2進数で表記して論理積(AND)演算を行います。
10010110. 01111100. 00011111. 00011000 (2進数)
11111111. 11111111. 11111100. 00000000 (サブネットマスク)
----------------------------------------------------
10010110. 01111100. 00011100. 00000000 (ネットワークアドレス)
論理積(AND)演算=情報処理の計算方法で算数とは異なる
0 + 0 = 0, 1
+ 0 = 0, 1 + 1 = 1 となる
表 2.8
| ネットワークアドレス | 使用できるホスト数 | 実際に使用するホスト数 |
| 150.124.0.0 | 1,022個 | 1,000個 |
| 150.124.28.0 | 1,022個 | 1,000個 |
| 150.124.56.0 | 1,022個 | 1,000個 |
| 150.124.84.0 | 1,022個 | 1,000個 |
| 150.124.112.0 | 1,022個 | 1,000個 |
| 150.124.140.0 | 1,022個 | 1,000個 |
| 150.124.168.0 | 1,022個 | 1,000個 |
| 150.124.196.0 | 1,022個 | 1,000個 |
| 150.124.224.0 | 1,022個 | 1,000個 |
| 150.124.252.0 | 1,022個 | 1,000個 |
このように10個のネットワークに使用する事が出来ます。
つまり1つのクラスBアドレス(150.124.0.0)で9つの支店全てを賄えます。
各支店は1022個のうち1000個のアドレスを使用している状態で、無駄なくIPアドレスを利用出来ます。
<補足>表2.8のネットワークアドレスが 0
〜 252 で終わっている事に注目してください。
これがサブネットマスクで指定した範囲に相当します。
サブネットマスクの表記法は二通りあります。
@150.124.31.24
255.255.252.0
A150.124.31.24 / 22
Aはサブネットマスクの先頭22bitが「1」である事を示しています。
つまり 11111111.11111111.11111100.00000000 です。
これは 255.255.252.0 と同義です。
TOPへ