ウェブサイト検索

LFCA: ネットワークで 2 進数と 10 進数を学ぶ – パート 10


LFCA シリーズのパート 9 では、IP アドレス指定の基本について説明しました。 IP アドレス指定をより深く理解するには、2 つのタイプの IP アドレス表現、2 進数10 進数ドットの 4 進数表記にさらに注意を払う必要があります。前述したように、IP アドレスは 32 ビットの 2 進数であり、通常は読みやすいように 10 進数形式で表されます。

バイナリ形式では、数字 10 のみが使用されます。これは、コンピュータが理解できる形式であり、データはネットワーク経由で送信されます。

ただし、アドレスを人間が判読できるようにするためです。これはドット付き 10 進数形式で伝達され、後でコンピューターがバイナリ形式に変換します。前述したように、IP アドレスは 4 オクテットで構成されます。 IP アドレス 192.168.1.5 を分析してみましょう。

ドット 10 進数形式では、192 が最初のオクテット、168 が 2 番目のオクテット、1 が 2 番目のオクテットです。 3 番目、そして最後の5 は 4 番目のオクテットです。

バイナリ形式では、IP アドレスは次のように表されます。

11000000		=>    1st Octet

10101000		=>    2nd Octet

00000001		=>    3rd Octet

00000101		=>    4th Octet

バイナリでは、ビットはオンまたはオフになります。 「オン」ビットは1で表され、オフビットは0で表されます。 10 進数形式では、

10 進数を得るには、すべての 2 進数の 2 乗の合計が実行されます。以下の表は、オクテット内の各ビットの位置の値を示しています。たとえば、10 進数値 1 は 2 進数値の 00000001 に相当します。

より良い形式では、次のように表すこともできます。

2º	=	1	=	00000001

2¹	=	2	=	00000010

2²	=	4	=	00000100

2³	=	8	=	00001000

2⁴	=	16	=	00010000

2⁵	=	32	=	00100000

2⁶	=	64	=	01000000

2⁷	=	128	=	10000000

ドット付き 10 進数形式の IP アドレスを 2 進数に変換してみましょう。

10 進数形式から 2 進数形式への変換

192.168.1.5 の例を見てみましょう。 10 進数から 2 進数に変換するには、左から右に変換します。テーブル内のすべての値について、IP アドレスの 10 進数値からテーブル内の値を引いてもらえますかという質問をします。答えが「はい」の場合は、「1」を書き留めます。答えが「いいえ」の場合は、ゼロを入力します。

最初のオクテットである192から始めましょう。 192 から 128 を引くことができますか?答えは大きく「はい」です。そこで128 に相当する1 を書きます。

192-128 = 64

64 から 64 を引くことができますか?答えは「はい」です。もう一度、64 に対応する 1 を書き留めます。

64-64=0 10 進数値を使い果たしたので、残りの値に 0 を割り当てます。

したがって、10 進数の 192 は 2 進数の 11000000 に変換されます。下の表の 1 に対応する値を加算すると、 最終的には192になります。つまり128 + 64=192 となります。当然ですよね?

2 番目のオクテット、168 に進みましょう。 168 から 128 を引くことはできますか? はいです。

168-128 = 40

次に、40から64を引くことができますか?いいえ。したがって、0 を割り当てます。

次の値に進みます。 40から32を引くことはできますか?はい。値 1 を割り当てます。

40 - 32 = 8

次に、8から18を引くことができますか?いいえ。 0を割り当てます。

次に、8から8を引くことができますか?はい。値 1 を割り当てます。

8-8 = 0

10 進数値を使い果たしたので、示されているように、 はテーブル内の残りの値に 0 を割り当てます。

最終的に、10 進数の 168 は 2 進数形式の 10101000 に変換されます。もう一度、下の行の 1 に対応する 10 進数値を合計すると 168 になります。 つまり128 + 32 + 8=168 となります。

3 番目のオクテットには 1 があります。テーブル内で 1 から完全に減算できる唯一の数値は 1 です。そのため、テーブル上の値 1 を 1 に割り当て、示されているように前にゼロを追加します。

したがって、10 進数の 1 は 2 進数の 00000001 に相当します。

最後に 5 があります。表から、5 から完全に減算できる唯一の数値は 4 から始まります。左側のすべての値には 0 が割り当てられます。

5から4を引くことはできますか?はい。 1から4を割り当てます。

5-4 = 1

次に、2から1を引くことができますか?いいえ。値 0 を割り当てます。

最後に、1から1を引くことはできますか?はい。 1 を割り当てます。

10 進数の 5 は、2 進数の00000101 に対応します。

最終的には次のような変換が得られます。

192	=>	 11000000

168 	=>	 10101000

1       =>	  00000001

5       =>	  00000101

したがって、192.168.1.5 はバイナリ形式で 11000000.10101000.00000001.00000101 に変換されます。

サブネットマスク/ネットワークマスクについて

TCP/IP ネットワーク内のすべてのホストは一意の IP アドレスを持つ必要があると前述しましたが、ほとんどの場合、この IP アドレスはDHCP プロトコルを使用してルーターによって動的に割り当てられます。 DHCP プロトコル (動的ホスト構成プロトコル) は、IP ネットワーク内のホストに IP アドレスを動的に割り当てるサービスです。

しかし、IP のどの部分がネットワーク セクション用に予約されており、どのセクションがホスト システムで使用可能であるかをどのように判断するのでしょうか?ここでサブネット マスクまたはネットワーク マスクが登場します。

サブネットは、ネットワークのネットワーク部分とホスト部分を区別する IP アドレスの追加コンポーネントです。 IP アドレスと同様に、サブネットは 32 ビットのアドレスであり、10 進数または 2 進数のいずれかで記述することができます。

サブネットの目的は、IP アドレスのネットワーク部分とホスト部分の間に境界を引くことです。 IP アドレスの各ビットに対して、サブネットまたはネットマスクによって値が割り当てられます。

ネットワーク部分の場合、ビットをオンにして値 1 を割り当てます。ホスト部分の場合、ビットをオフにして値 0 を割り当てます。したがって、1 に設定されたすべてのビットは、次のことを表す IP アドレスのビットに対応します。すべてのビットが 0 に設定されている場合、ネットワーク部分はホスト アドレスを表す IP のビットに対応します。

一般的に使用されるサブネット マスクはクラス C サブネット、つまり255.255.255.0 です。

次の表は、ネットワーク マスクを 10 進数と 2 進数で示しています。

これで、ネットワークの要点シリーズのパート 2 が終了します。 10 進数から 2 進数への IP 変換、サブネット マスク、および IP アドレスの各クラスのデフォルトのサブネット マスクについて説明しました。