IPアドレスとは?

IPで通信をする際には、IPアドレスを使って宛先や送信元が識別されます
IPアドレスは、IPヘッダの宛先IPアドレスと送信元IPアドレスに記載されています。

IPアドレスがないとデータは送信先に届きません

郵便物を送るためには住所が必要なように、
IPパケットを送るためにはIPアドレスが必要なのです。

IPアドレスは32ビットの整数値で表される

IPv4のIPアドレスの場合、32ビットの整数値で表されます。
そして、このIPアドレスはコンピューターの内部では2進数で処理されるため以下のようになります。

10101100000101000000000100000001

とってもわかりにくいですよね!?

まず、人間にもわかりやすくするために、
32ビットのIPアドレスを8ビットごとの4角組に分け、間にピリオドを打ちます

10101100.00010100.00000001.00000001

それでも全然わかりにくいですね???
次にそれぞれのピリオドで区切られた数を10進数に置き換えます

1×2⁷ + 1×2⁵ + 1×2³ + 1×2² = 172
1×2⁴ + 1×2² = 20
1×2⁰ = 1
1×2⁰ = 0
↓
172.20.1.1

これでかなり人間にもわかりやすくなりました。
この「172.20.1.1」が我々がよく目にするIPアドレスになります。

IPアドレスはNICに割り当てられる

IPアドレスはホストごとではなくNICごとに1つ以上のIPアドレスが割り当てられます

  • 🔵 NICとは?
  • ネットワークインターフェースカードの略である。
  • LANに接続するためのカードです。
  • コンピュータが異なる機器や装置の間を接続して通信するために必要なものです

IPアドレスにはネットワーク部とホスト部がある

IPアドレスにはネットワーク部ホスト部があります。

192.168.128     .10          /24
(ネットワーク部)  (ホスト部)       (ネットワーク部の位置情報)

上記ネットワーク部はデータリンクのセグメントごとに値が割り当てられます。
IPが属しているネットワークを識別するための値です。

さらに、ネットワーク内のコンピュータを識別するときはホスト部を使用します。
ホストとはそれぞれのコンピュータなどの機器のことを指します。
ホスト部はセグメント内で同じ値にならないように設定します。

このように、ネットワーク部とホスト部を設定する事によって、
接続されているネットワークで、同一のIPアドレスが存在しなくなります。
IPアドレスはユニーク(ただ一つのIPアドレス)な存在になると言えます。

IPアドレスのクラス

IPアドレスには「A,B,C,D」の4つのクラスに加え、
クラスEという未使用のクラスをあわせて5つのクラスに分類されています。

このクラスという分類はIPアドレスの値をカテゴリに分類したものです。

ではその分類方法とはどのようなものなのでしょうか?

クラスA

IPアドレスの先頭1ビットが「0」で始まる場合のクラスです。

00000000.0000000.00000000.00000000
〜
01111111.00000000.00000000.00000000

これを10進数に置き換えた場合 0.0.0.0〜127.0.0.0
になります。

先頭から8ビットがネットワーク部で、それ以下の24ビットはホスト部になります。
これがクラスAの範囲です。

クラスB

クラスBはIPアドレスの先頭2ビットが「10」で始まる場合のクラスです。

10000000.00000000.00000000.00000000
〜
10111111.11111111.00000000.00000000

これを10進数に置き換えた場合 128.0.0.0〜191.255.0.0
になります。

先頭から16ビットがネットワーク部になり、それ以下の16ビットはホスト部になります。
これがクラスBの範囲です。

クラスC

クラスCはIPアドレスの先頭3ビットが「110」で始まる場合のクラスです。

11000000.00000000.00000000.00000000
〜
11011111.11111111.11111111.00000000

これを10進数に置き換えた場合 192.0.0.0〜223.225.225.0
になります。

先頭から24ビットがネットワーク部になり、それ以下の16ビットはホスト部になります。
これがクラスCの範囲です。

クラスD

クラスDはIPアドレスの先頭4ビットが「1110」で始まる場合です。

11100000.00000000.00000000.00000000
〜
11101111.11111111.11111111.11111111

これを10進数に置き換えた場合 224.0.0.0〜239.225.225.225
になります。

このクラスDは後ほど説明するマルチキャストに使用されます。
先頭から32ビットまでがネットワーク部になります。
クラスDにはホスト部はなく、クラスDはIPマルチキャストに使用されます。

サブネットマスク

ここまでIPアドレスのクラスについて説明してきましたが、
現在IPアドレスを使用する際にはクラスによるネットワーク部とホスト部の区別に加え、
サブネットマスクと呼ばれる識別子が導入されました。

これは、クラスごとに決まる、ホスト部をサブネットワークアドレス部として使い、
複数の物理ネットワークに分割する仕組みです。

サブネットマスクを使用することによって、
クラスによる区切りに縛られず、ネットワーク部を拡張することが出来ます。

IPアドレスが

172.20.100.52 /26

の場合、26が先頭から何ビット目までがネットワーク部なのかを表します。
サブネットマスクも32ビットの数値で表すことが出来ます。

255.255.255.192 

の場合、先頭から26ビットが1になり、残りが0になります。

11111111.11111111.11111111.11000000

このサブネットマスクの0になる部分がホスト部になります。

CIDR(サイダー)

簡単に言えば、クラスを使用せずに、IPアドレスを振り分け、経路情報の収集を行う技術です。

この技術が導入された背景にはクラスBのIPアドレスの不足があります。
クラスでのIPアドレスの割当では、クラスAは全世界で128以下しか割り当てられない、
クラスCは接続できるホストが254台以下になるため、多くの組織はクラスBを求めるようになりました。

その結果として、クラスBが不足し、配布し尽くしてしまう可能性が出てきました。

そこで登場したのはCIDRによるIPアドレスの配布です。

CIDRではクラスによるIPアドレスの区別を廃止し、任意のビット長でIPアドレスを配布するようになりました。
経路情報の収集については以下の記事を参考にしてみてください。

ブロードキャストアドレス

同一のホストに接続された全てのホストにパケットを送信します。

ブロードキャストアドレスにするためにはホスト部のビットを全て1にします。

IPマルチキャスト

特定のグループに属する全てのホストに対してパケットを送信する方法です。

その特徴を生かして、映像や音声のストリーミング再生に利用されています。
今需要が高まっているテレビ会議のシステムもマルチキャスト機能が使われています。

IPマルチキャストのアドレスは224.0.0.0から239.255.255.255までの範囲になります。

まとめ

IPアドレスの仕組みと役割についてまとめてみました。

すこしでも参考になれば幸いです!😊

» Rintaro@Space (@Space____Tech) | Twitter

参考文献

マスタリングTCP/IP入門編第5版