主に自分用。IPアドレス関連の知識でなにかわからなくなったり、忘れてしまった際に真っ先に帰ってこれる場所として書いた。 Show
主に参考にしたソースは以下。
1. IPアドレスの基礎1-1. IPアドレスとは何かPCやサーバなど、TCP/IPで通信する機器を識別するためのアドレスのこと。 1-2. IPアドレスの長さと表記方法現在の主流であるIPv4において、IPアドレスは 32ビットの正整数値 で表される。
しかし、このままでは人間にはわかりづらいので、 8ビットずつ4組に分けて、その境目にドットを入れて10進数で表記する。
1-3. IPアドレスはNICに設定されるIPアドレスは「ホスト」に対してではなく、NIC(ネットワークインターフェースカード)ごとに割り当てられる。 (図)IPアドレスはNICに割り当てられる 1-4. 割り当てできないIPアドレスIPアドレスの中にはホストに割り振ることができないアドレスが存在する。 1-4-1. ネットワークアドレスネットワーク自体を表すアドレスのこと。
1-4-2. ブロードキャストアドレスそのネットワーク内の全てのホストにデータを送信するために使われるアドレスのこと。 以下のIPアドレスは全てブロードキャストアドレスである。
1-4-3. ループバックアドレス自分自身を示すIPアドレスのこと。 2. IPアドレスの構成IPアドレスは32ビットでひとかたまりというわけではなく、 ネットワーク部とホスト部に分けられている。 (図)IPアドレスはネットワーク部とホスト部から構成される 住所に喩えると、ネットワーク部は「東京都」のような地域エリアを表し、ホスト部は個々の家を表す。 2-1. ネットワーク部とホスト部の識別方法上述のとおり、IPアドレスはネットワーク部とホスト部とから構成されている。 これには、歴史的に以下の2種類の区別方法が存在している。 クラスによる分類は初期のIPでの区別方法であり、現在はサブネットマスクによる分類方法が主流になっている。 そのため、基本的にはサブネットマスクによる区別方法で考えれば良い。 3. クラスフルアドレスクラスフルアドレスでは、IPアドレスはA〜Eの5種類のクラスに分類されている。
(図)IPアドレスのクラス 先頭ビット列をみるか、10進数のアドレス範囲を見れば対象のIPアドレスがどのクラスかわかる。そして、クラスがわかればネットワーク部とホスト部が必然的にわかるようになっている。 クラスフルアドレスはわかりやすい。 3-1. クラスフルアドレスの問題点クラスフルアドレスの問題点は大雑把すぎて無駄が多くなってしまうところにある。 4. サブネットマスク先にも述べたが、
クラスレスアドレスの現在、IPアドレスはネットワーク部とホスト部の切れ目が定まっていない。 サブネットマスクを用いることで、ネットワーク部とホスト部の切れ目を自由に決めることができるようになる。クラスフルアドレスでは8ビット(クラスA)、16ビット(クラスB)、24ビット(クラスC)のいずれかでしかネットワーク部とホスト部の切れ目を設定できなかったが、この縛りがなくなるわけである。 4-1. サブネットマスクの構成サブネットマスクは、IPアドレス同様に32ビットの正整数値になる。 例えば、クラスCのように先頭24ビットがネットワーク部で残り8ビットをホスト部にしたい場合、サブネットマスクは以下。
これを10進数にすると 先頭26ビットをネットワーク部にしたい場合は以下。
これを10進数にすると ※ 余談 4-2. サブネットマスクの表記方法現在、サブネットを表すには2つの表記方法が存在する。 1. IPアドレスと別にサブネットマスクをそのまま記述する
2. CIDR表記 4-3. ネットワークアドレスの求め方クラスフルアドレスの場合はクラスがわかればネットワークアドレスが簡単に特定できたが、サブネットマスクを用いるクラスレスアドレスの場合はそうはいかなくなる。 クラスレスアドレスのネットワークアドレスは、IPアドレスとサブネットマスクを2進数に変換し、AND演算 をすると導き出される。 例えば、以下のIPアドレスとサブネットマスクを設定された端末があったとして、この端末が所属するネットワークアドレスを求めたいとしよう。
この場合、以下のような計算をして求める。
そしてこれらをAND演算する。
これを10進数に変換する。
上のような計算を経て、この端末が所属するネットワークアドレスは ちなみに、クラスフルアドレスの場合は計算不要で簡単に求めることができる。 4-4. 例:サブネットマスクでどの程度アドレスの無駄を省けるか例として、500台のホストが接続できるネットワークを構築したいとする。 4-4-1. クラスフルアドレスの場合まず、クラスCは1ネットワークにホストが254台しか繋ぐことができないので、クラスBを使うことになる。クラスBは1ネットワークに65534台のホストを繋ぐことができるので要件を満たせる。 4-4-2. サブネットマスクを使う場合サブネットマスクを使う場合、ネットワーク部とホスト部の区切りを自由に決めることができる。 少し極端な例だが、サブネットマスクを使った場合、クラスフルアドレスと比較して65034-10で 65024 ものホストアドレスの無駄を省くことができている。 4-5. サブネットマスクの効果を体感する20160207追記:この章(4-5)は誤りを含んでいる可能性があります。確認中...。ぱっと見(クラスフルアドレス的には)、同一ネットワークに属しているように見えるIPアドレスも実際は別ネットワークに属しているということがある。 4-5-1. 例: サブネットマスクの値が異なる端末1と端末2があったとして、それぞれ以下のIPアドレスを持っていたとする。
結論から言うと、端末2➔端末1への通信は可能だが、端末1➔端末2の通信はできない状態にある。 それぞれのネットワークアドレス(2進数)
ホストに割り当てられるIPアドレスの範囲は、ネットワークアドレスとして使われていないビット部分になるので以下のようになる。 割り当て可能なIPアドレス
端末1が所属するネットワークで割り当て可能なIPアドレスは192.168.1.1 ~ 192.168.1.126なので、端末2の192.168.1.200というIPアドレスは端末1にとっては別のネットワークのIPアドレスに見えている。そのため、通信ができなくなっていた。 4-5-2. 例: サブネットマスクの値が同じ端末1と端末2があったとして、それぞれ以下のIPアドレスを持っていたとする。
例1同様、この端末たちも別ネットワークに属しているので通信ができない状態にある。 それぞれのネットワークアドレス(2進数)
右端の数値が異なることがわかると思う。 割り当て可能なIPアドレス
端末1にとって、端末2のIPアドレスが別のネットワークのものである。同様に、端末2にとっても端末1のIPアドレスは別ネットワークのものになっている。そのため、双方からの通信ができなくなっていた。 4-5-3. つまり..クラスフルアドレスのように、同一ネットワークにあるのかを見た目ですぐに判断できないことが多いので、2進数に変換して上のような計算を行う必要がある。 5. グローバルアドレスとプライベートアドレスIPアドレスにはグローバルアドレスとプライベートアドレスという区分けが存在する。 5-1. プライベートアドレスの範囲プライベートアドレスは以下のように範囲が定められている。
■ 参考
Private IPアドレスの範囲は?IPv4プライベートアドレス範囲(RFC1918): 10.0.0.0〜10.255.255.255(24ビットブロック) 172.16.0.0〜172.31.255.255(20ビットブロック) 192.168.0.0〜192.168.255.255(16ビットブロック)
IPアドレスの許容範囲は?IPアドレスの範囲は0.0.0.0から255.255.255.255までですが、範囲によって用途が定められています。
クラスIPアドレスの範囲は?範囲はクラスAからCに分けられており、クラスAは10.0.0.0~10.255.255.255 (10.0.0.0/8)、クラスBは172.16.0.0~172.31.255.255 (172.16.0.0/12)、クラスCは192.168.0.0~192.168.255.255 (192.168.0.0/16)となる ...
|