【基本情報】IPアドレスについて

こんばんわ。あんみつです。

今日はIPアドレスの基礎知識について纏めます。

はじめに

本記事はコンピュータの基礎知識を勉強している方に向けたの記事です。
以下についてはある程度知っている前提です。

・ビットとバイト
・10進数と2進数

IPアドレスの基本知識

IPアドレスとは

IPアドレスとは、簡単に言うとネットワーク上のアドレス(住所)のことです。
TCP/IPで通信するパソコンやサーバーを一意に識別するために割り当て、使用します。

IPアドレスの表記方法

IPアドレスは、IPv4では以下のような32ビットの二進数の数字列として表記されます。

00101111 10110001 01011011 00111110

ただ、これでは読みづらいので以下のように8ビットずつ4つに区切って十進数で表記されるのが一般的です。

47.177.91.62

この十進数での表記方法を「ドットデシマルノーテーション」と呼びます。

IPアドレスの構成

ネットワーク部とホスト部

IPアドレスは前半のネットワーク部後半のホスト部と2つに分かれています。

例)
47.177.91.62
192.168.128.1

ネットワーク部がエリア 「○○県○○市○○区○○」
ホスト部が特定の家「○○丁目○○-○○」を示しているイメージです。

クラスフルアドレスとクラスレスアドレス

IPアドレス32ビットのうちどこからどこまでがネットワーク部でどこからどこまでがホスト部なのかはIPアドレスによって異なります

その区別方法には以下2種類があります。

現在の主流は②クラスレスアドレス(サブネットマスクによる分類)です。

①クラスフルアドレス

先頭の1~4ビット目までの組み合わせによってネットワークアドレス長(ネットワーク部の範囲)や用途を5つのクラスに分類します。

【クラスA】
範囲0.0.0.0127.255.255.255
00000000 00000000 00000000 00000000
01111111 11111111 11111111 11111111
先頭ビット(固定):0
ネットワークアドレス長:8ビット
ホストアドレス長:24ビット
割り当て可能ホスト数:16777214個

【クラスB】
範囲128.0.0.0191.255.255.255
10000000 00000000 00000000 00000000
10111111 11111111 11111111 11111111
先頭ビット(固定):10
ネットワークアドレス長:16ビット
ホストアドレス長:16ビット
割り当て可能ホスト数:65534個

【クラスC】
範囲192.0.0.0223.255.255.255
11000000 00000000 00000000 00000000
110
11111 11111111 11111111 11111111
先頭ビット(固定):110
ネットワークアドレス長:24ビット
ホストアドレス長:8ビット
割り当て可能ホスト数:254個

【クラスD】 ※IPマルチキャスト用
範囲224.0.0.0 ~ 239.255.255.255
(11100000 00000000 00000000 00000000
~ 1110
1111 11111111 11111111 11111111
先頭ビット(固定):1110
ネットワークアドレス長:-
ホストアドレス長:-
割り当て可能ホスト数:-

【クラスE】 ※研究用
範囲240.0.0.0 ~ 255.255.255.255
(11110000 00000000 00000000 00000000
~ 1111
1111 11111111 11111111 11111111
先頭ビット(固定):1111
ネットワークアドレス長:-
ホストアドレス長:-
割り当て可能ホスト数:-

 

クラスフルアドレスでは、先頭のビット列のルールさえ知っておけばそのIPアドレスがどのクラスに所属するかがわかります。

②クラスレスアドレス(サブネットマスク)

前述のクラスフルアドレスはわかりやすいですが、
無駄なIPアドレスが生まれやすくなってしまうという問題点がありました。

ネットワーク部が同じコンピュータは同一リンクに接続していることになります。
クラスA所属のIPアドレスだと、ひとつのネットワークに 16777214台(約1600万)のホスト(PCやサーバー)を繋げることができますが、ズバリこんなに使いません

そうなると、使われないホスト、つまりIPアドレスがたくさん生まれてしまいます。

そしていよいよインターネットの普及につれ、ネットワークアドレスが不足する事態となりました。

そこで、この無駄を大きく削減する仕組み「サブネットマスクによる分類」が登場しました。

サブネットマスクは、ネットワーク部を1ホスト部を0で表現する32ビットの正数値です。

例えば30台のホストを繋げたいネットワークの場合、
サブネットマスクを
255.255.255.224
11111111 11111111 11111111 11100000

としておけばホスト部は5ビット分(31台)で済みます。
この場合、上位27ビットはネットワーク部として利用可能になります。

例)

IPアドレス:
47.177.91.62
00101111 10110001 01011011 00111110
サブネットマスク:
255.255.255.224
11111111 11111111 11111111 11100000

IPアドレス:
47.177.91.60
00101111 10110001 01011011 00111100
サブネットマスク:
255.255.255.224
11111111 11111111 11111111 11100000

上記は同じネットワークに所属する2種類のIPアドレスですが、
上位の27ビット目までがネットワーク部として扱えることになります。

00101111 10110001 01011011 001 ←ネットワーク部

割り当てできないIPアドレス

IPアドレスには決まりとして使用用途が固定されているものが存在します。

ネットワークアドレス

ネットワーク自体を表すアドレスです。
そのIPアドレスが所属するネットワーク部だけを残して、ホスト部のビットをすべて0にしたものがネットワークアドレスとなります。

例)

IPアドレス:
47.177.91.62
00101111 10110001 01011011 00111110
サブネットマスク:
255.255.255.224
11111111 11111111 11111111 11100000

のネットワークアドレスは、
47.177.91.32
00101111 10110001 01011011 00100000
になります。

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

対象となるネットワーク内のすべてのホストにデータを送信するために使われるアドレスです。
ネットワークアドレスの逆で、ホスト部のビットをすべて1にしたものがブロードキャストアドレスです。

上記の例では、
47.177.91.63
00101111 10110001 01011011 00111111
がブロードキャストアドレスとなります。

ループバックアドレス(localhost)

自分自身を示す特別なIPアドレスです。

上位8ビットが127(01111111)で始まるものは実はループバックアドレスとして予約されており、
IPv4では127.0.0.1がループバックアドレスと定められています。

サブネットマスクの表記

サブネットマスクの表記方法には以下の2種類があります。

IPアドレスとサブネットマスクをそのまま表記

今まで例で記載してきた以下のような表記方法です。

IPアドレス:
47.177.91.62
サブネットマスク:
255.255.255.224

CIDR表記

以下のように、IPアドレスの後ろに「/ ネットワーク部のビット数」を付けることをCIDR表記といいます。

47.177.91.62 / 27

ちなみにCIDRはClassless Inter-Domain Routingの略で、「サイダー」と読みます。

おわりに

いかがでしたでしょうか。

極力大事なことのみに絞ったつもりですが、情報量が多く、複雑になってしまったかもしれません。
よくわからない!といったご意見やご指摘等がございましたら、コメントや問い合わせ、Twitterなどでお気軽にご連絡ください。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA