セキュリティの話 <IPアドレス>
ここでの情報は、本やインターネットで調べたものです。
内容が間違っていないように注意したつもりですが、
私が勘違いをしている可能性も多分に有ります。
もし、間違いに気付かれた場合はexcelsior@tokutoku.or.jpへのメールか、
または掲示板でお聞かせください。
●IPアドレスとは?
乱暴な説明で申し訳ありません。わかりやすく単純であることを優先しました。
詳しい説明は書籍などでお調べください。
IPアドレスとは物理的な接続に依存しない論理的なアドレスで、
インターネットワーク上で一意にホストを識別するのに用いられるものです。
で、結局のところIPアドレスが何かというと、家の住所のようなものです。
例えば、"××県 ○○市 △△町 12番地34"という住所があった場合を考えましょう。
××県の中に"12番地34"は一件ではないでしょうが、○○市、△△町と場所を絞っていけます。
そして、最後に12番地の家のブロックのなかで、34番の家だとわかります。
こうして、一件の家を特定できます。もちろん、全く同じ住所があってはいけません。
家を特定するためには、住所は固有のものでなければならないのです。
これに対して、IPアドレスは32bitのビット列でコンピュータを特定できます。
例えば、以下のようなビット列だとします。8bitごとに"."が入っています。
00001111 . 10101010 . 00000111 . 00000001
このままではわかり難いので、普通は8bit組で10進数にして表記します。
15 . 170 . 7 . 1
この値は世界中で、同じものを使うことはできません。
この値を使って、コンピュータは各々を識別して通信を行っているのです。
●ネットワークアドレスとホストアドレス
上で述べたように、IPアドレスは住所に例えることができます。
そして、住所では市町村名などで家々を一つの集団としてみなせるように、
IPアドレスでも、一定の台数のパソコンを一つの集団とみなすことができます。
この区分をネットワークアドレス・ホストアドレスといいます。
例えば、A から F までの名前を付けた6台のパソコンがあったとします。
その場合、以下のようにIPを付ければ3台ずつの2組に分けることができます。
(勝手にIPを自分で決めていいの? という話は後でします)
┌---------------------------------┐
| |
| A [128.5.0.1] D [128.5.1.1] |
| B [128.5.0.2] E [128.5.1.2] |
| C [128.5.0.3] F [128.5.1.3] |
| |
└---------[128.5.x.x Group]-------┘
この場合、上二桁[128.5]までが、ネットワークアドレスとなり、
下二桁[0.1]などの残り部分がホストアドレスとなります。
つまり、ネットワークアドレス単位で、1つのグループを構成するのです。
●アドレスクラス
上の桁のどこまでをネットワークアドレスとみなすかによって、5つのクラスに分類
できます。これによって、ネットワーク数とホスト数の上限が決まります。
IPアドレスの構成で赤い文字は固定値を、橙色の文字はネットワークアドレスを、
緑の文字はホストアドレスを表します。
・クラスA
| IPアドレス範囲 | 1.x.x.x - 127.x.x.x |
| ネットワークアドレス | 上位8bit |
| ネットワーク数 | 126まで |
| ホスト数 | 16777214 (= 2 ^ 3 - 2)まで |
| IPアドレスの構成 |
| 0 | _ | _ | _ | _ | _ | _ | _ | |
_ | _ | _ | _ | _ | _ | _ | _ | |
_ | _ | _ | _ | _ | _ | _ | _ | |
_ | _ | _ | _ | _ | _ | _ | _ | |
|
・クラスB
| IPアドレス範囲 | 128.0.x.x - 191.255.x.x |
| ネットワークアドレス | 上位16bit |
| ネットワーク数 | 16384まで |
| ホスト数 | 65534まで |
| IPアドレスの構成 |
| 1 | 0 | _ | _ | _ | _ | _ | _ | |
_ | _ | _ | _ | _ | _ | _ | _ | |
_ | _ | _ | _ | _ | _ | _ | _ | |
_ | _ | _ | _ | _ | _ | _ | _ | |
|
・クラスC
| IPアドレス範囲 | 192.0.0.x - 223.255.255.x |
| ネットワークアドレス | 上位24bit |
| ネットワーク数 | 2097152まで |
| ホスト数 | 254まで |
| IPアドレスの構成 |
| 1 | 1 | 0 | _ | _ | _ | _ | _ | |
_ | _ | _ | _ | _ | _ | _ | _ | |
_ | _ | _ | _ | _ | _ | _ | _ | |
_ | _ | _ | _ | _ | _ | _ | _ | |
|
・クラスD
| IPアドレス範囲 | 224.0.0.0 - 239.255.255.255 |
| ネットワークアドレス | -なし- |
| ネットワーク数 | - |
| ホスト数 | - (割り当てない) |
| 備考 | マルチキャスト通信に使用する。 |
| IPアドレスの構成 |
| 1 | 1 | 1 | 0 | _ | _ | _ | _ | |
_ | _ | _ | _ | _ | _ | _ | _ | |
_ | _ | _ | _ | _ | _ | _ | _ | |
_ | _ | _ | _ | _ | _ | _ | _ | |
|
・クラスE
| IPアドレス範囲 | 240.0.0.0 - 247.255.255.255 |
| ネットワークアドレス | - |
| ネットワーク数 | - |
| ホスト数 | - |
| 備考 | 実験用。将来のために予約 |
| IPアドレスの構成 |
| 1 | 1 | 1 | 1 | 0 | _ | _ | _ | |
_ | _ | _ | _ | _ | _ | _ | _ | |
_ | _ | _ | _ | _ | _ | _ | _ | |
_ | _ | _ | _ | _ | _ | _ | _ | |
|
早い話が[ 接続可能台数 = 2 ^ ホストアドレスのbit数 - 2]
[ ネットワーク数 = 2 ^ ネットワークアドレスのbit数 ] です。
ただし、ホストアドレスのビットが全て"0"だと、ホストが属するネットワークを示し
ホストアドレスのビットが全て"1"はブロードキャスト用に予約されていますので、
使用することはできません。
また、[127.x.x.x]は、ループバック用に使用されるので、これも使用できません。
●サブネットマスク
さて、IPアドレスの範囲によってネットワークアドレスが決定することはすでに述べましたが、
次のような構成を考えてみましょう。
┌――------------------------------------------――┐
| ┌-----------------┐ ┌-----------------┐ |
| | | | | |
| | A [128.5.1.1] | | D [128.5.2.1] | |
| | B [128.5.1.2] | | E [128.5.2.2] | |
| | C [128.5.1.3] | | F [128.5.2.3] | |
| | | | | |
| └[128.5.1.x Group]┘ └[128.5.2.x Group]┘ |
| |
└―------------―[128.5.x.x Group]―-------------―┘
つまり、128.5.1.x と 128.5.2.x を基準にグループを作ったのです。
上の3桁[128.5.1]をネットワークアドレスとして使用することで、
1つのネットワークを複数のサブネットに分割しました。
しかし、このままでは以下のようなグループとみなされてしまいます。
┌---------------------------------┐
| |
| A [128.5.0.1] D [128.5.1.1] |
| B [128.5.0.2] E [128.5.1.2] |
| C [128.5.0.3] F [128.5.1.3] |
| |
└---------[128.5.x.x Group]-------┘
このように、IPアドレスだけではグループを適切に作れません。
このため、どこまでがネットワークアドレスかを示さなければならないのです。
そのためにサブネットマスクというものを使います。
さて、ここでIPアドレスは32bitのビット列であることを思い出してください。
上記の128.5.x.xは、以下のようなビット列になります。
| 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | |
_ | _ | _ | _ | _ | _ | _ | _ | |
_ | _ | _ | _ | _ | _ | _ | _ | |
[128.5.x.x]
次に、ネットワークアドレスとみなされる部分を"1"。
ホストアドレスとみなされる部分を"0"としてビット列にしてみましょう。
つまり、ネットワークアドレスの部分を"1"でマスクしてやるのです。
| 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
[255.255.x.x]
ちなみに、↑を10進数に直すとこのようになります。
255.255.0.0
しかし今、構成したいグループは[128.5.1.x]や[128.5.2.x]です。
つまり、上二バイトではなく三バイトをネットワークアドレスにしなければなりません。
これを上の例と同様に"1"と"0"のビット列にすれば以下のようになります。
| 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
[255.255.255.x]
このようにして、最初のサブネットマスク[255.255.0.0]を拡張して、
[255.255.255.0]にすることで[128.5.1.x]や[128.5.2.x]を
別のネットワークとして認識させることができます。
ただし、この分割はLAN内部で論理的に分割されているだけです。
そのため、外部からは1つのネットワークとして認識されます。
これによってネットワークアドレスの浪費を防ぐことができるのです。
┌――――--------------------------------------------―――┐
| ┌-----------------┐ ┌-----------------┐ |
| | | | | |
| | A [128.5.1.1] | | D [128.5.2.1] | |
| | B [128.5.1.2] |- [ルータ] -| E [128.5.2.2] | |
| | C [128.5.1.3] | | | F [128.5.2.3] | |
| | | | | | |
| └[128.5.1.x Group]┘ | └[128.5.2.x Group]┘ |
| | |
└―――-------------―[128.5.x.x Group]―--------------――┘
|
Windowsでこの設定を行うには、「コントロールパネル」の
「ネットワークとダイアルアップ接続」から設定できます。
適当な接続の「プロパティ」を開いて「インターネットプロトコル(TCP/IP)」
の「プロパティ」をさらに開くと以下のような画面になります。
(↓はWindows2000の画面ですが、他のOSでも設定画面が異なるだけで基本は同じです)
おそらく、初期設定の「IPアドレスを自動的に取得する」がONになっている
かと思いますが、家庭内などでLANを構築する場合には、これを手動で設定して
パソコン各々に固有のIPを割り振り、グループ化することができます。
家庭では254台もパソコンを接続しないでしょうから、
サブネットマスクは[255.255.255.0]で十分でしょう。
ゲートウェイにはルータのIPを入れればOKです。
"セキュリティ"のページに戻る
トップページに戻る
左側にフレームのINDEXが表示されていなければクリック!