ネットワーク アドレス

はじめに

第34章はじめに

このビデオでは、この章で説明するトピックの概要を簡単に説明します。


学習目標
この章の終わりまでに、次のことができるようになります。

異なる種類であるIPv4アドレスとIPv6アドレスを区別できます。
ネットマスクの役割を理解できます。
使用しているシステムにおいて、ホスト名の取得、設定、および変更ができます。


ネットワーク アドレス

IPアドレス
IPアドレスは、インターネット上のノードを一意に識別するために使用されます。これらはISP（Internet Service Providers）へ申請すれば登録されます。

IPアドレスは、ネットワーク上でシステムを識別する番号です。2種類あります。

クリックして各ボックスを展開し、2種類のIPアドレスについて学習します。

IPアドレスの種類

IPv4
IPv4は、4オクテットで構成される32ビット アドレスです（1オクテットは8ビットまたは1バイトです）。

例：148.114.252.10

IPv6
IPv6は、8つの16ビット オクテット ペアで構成される128ビット アドレスです。

例：2003:0db5:6123:0000:1f4f:0000:5529:fe23

いずれの場合も、予約済みのアドレスがあります。今、最も一般的に使用されているので、IPv4にもう少し焦点を当てます。

IPアドレス


IPv4アドレスの種類
クリックして各ボックスを展開し、IPv4アドレスの種類について学習します。

IPv4アドレスの種類

ユニキャスト
特定のホストに関連付けられたアドレス。140.211.169.4や64.254.248.193のようになります。

ネットワーク
ホスト部分がすべて2進数のゼロに設定されているアドレス。例：192.168.1.0 （後で説明しますが、ホスト部分は最後の1〜3オクテットで表すことができます。ここでは、最後のオクテットのみです。）

ブロードキャスト
特定のネットワークの各メンバに対して通信するアドレス。172.16.255.255、148.114.255.255、192.168.1.255のように、ホスト部分はすべて1ビットに設定されます。（ホスト部分は、最初の2つの例では最後の2オクテットであり、3番目の例では最後のオクテットのみです。）

マルチキャスト
特定の複数のノードに対して通信するアドレス。アドレス224.0.0.2は、マルチキャスト アドレスの例です。特定のマルチキャスト アドレスを認識するように設定されたノードだけが、そのマルチキャスト グループへのパケットを解釈します。


予約済みアドレス
特定のアドレスとアドレス範囲は、特別な目的のために予約されています。

クリックして各ボックスを展開し、予約アドレスの詳細をご覧ください。

予約済みアドレスの例

127.x.x.x
ループバック インターフェイス用に予約されています。xは0 <= x <= 254の範囲の値です。通常、127.0.0.1と表されます。

0.0.0.0
まだ自分のアドレスを保有していないシステムによって使用されます。DHCPやBOOTPなどのプロトコルは、サーバーと通信しようとするときにこのアドレスを使用します。

255.255.255.255
内部使用のために予約されている汎用ブロードキャスト プライベート アドレスです。これらのアドレスは、誰にも割り当てられたり登録されたりすることはありません。通常、これらはルーティングできません。

その他の予約済みアドレス
予約されたアドレス範囲の他の例として、

10.0.0.0 - 10.255.255.255
172.16.0.0 - 172.31.255.255
192.168.0.0 - 192.168.255.255
などがあります。
これらにはそれぞれ目的があります。たとえば、なじみのあるアドレス範囲の192.168.x.xは、プライベート ネットワーク内のローカル通信にのみ使用されます。

IPv4とIPv6の両方の予約済みアドレスの長い説明は、Reserved IP addressesのウィキペディアのページで確認できます。


IPv6アドレスの種類
クリックして各ボックスを展開し、IPv6vアドレスの種類について学習します。

IPv6アドレスの種類

ユニキャスト
パケットは1つのインターフェイスに配信されます。パケットの到着範囲には以下があります。

リンクローカル：全てのインターフェイスに自動的に割り当てられます。ルーティングはできません。
グローバル：全てのIPv6ネットワークで一意となるように、動的または手動で割り当てられます。ルーティングできます。
ドキュメントの閲覧用などに予約されます。

マルチキャスト
パケットは複数のインターフェイスに対して配信されます。

エニーキャスト
パケットは、複数のインターフェイスに配信され、（ルーティング距離の観点から）最も近いインターフェイスに配信されます。

IPv4射影アドレス
IPv4アドレスが埋め込まれたIPv6アドレス。たとえば、::FFFF:a.b.c.d/96

さらに、IPv6には、::1/128のように　loインターフェイスに割り当てられるループバックなどの特別な種類のアドレスがあります。


IPv4アドレス クラス
歴史的に見て、IPアドレスはいくつかのクラスに分類されています。クラスA、B、Cは、アドレスのネットワーク部分とアドレスのホスト部分を区別するために使用されます。これはルーティングの目的で使用されます。

クラスAのアドレスは、アドレスのネットワーク部分に8ビット、ホスト部分に24ビットを使用します。クラスBのアドレスは、ネットワーク部分に16ビット、ホスト部分に16ビットを使用し、クラスCのアドレスはネットワーク部分に24ビット、ホスト部分に8ビットを使用します。

クラスDのアドレスは、マルチキャストに使用されます。クラスEのアドレスは現在使用されていません。

表：アドレス クラス

ネットワーク クラス　　最高次数のオクテット レンジ　　備考
A	0-127 	ネットワーク数は128、1ネットワークあたり最大16,777,214のホストに対応、127.x.x.x はループバック用に予約
B 	128-191 ネットワーク数は16,384、1ネットワークあたり最大65,534のホストに対応
C 	192-223 ネットワーク数は2,097,152、1ネットワークあたり最大254のホストに対応
D 	224-239	マルチキャスト アドレス
E 	240-255	予約済みアドレス範囲


ネットマスク
これまで見てきたように、ネットマスクはネットワーク部分に使用されるアドレスの値とホスト部分に使用される値を決定するために使用されます。また、ネットワークとブロードキャスト アドレスの決定にも使用されます。

表：アドレス クラスとネットマスク

ネットワーク クラス　10進数　16進数　2進数
A	255.0.0.0	ff:00:00:00	11111111 00000000 00000000 00000000
B	255.255.0.0	ff:ff:00:00	11111111 11111111 00000000 00000000
C	255.255.255.0	ff:ff:ff:00	11111111 11111111 11111111 00000000
 

ネットワーク アドレスは、ネットマスクとIPアドレスで計算（AND演算）することにより取得されます。同じメディアを介して接続し同じネットワーク アドレスを共有するノード群を構成するローカル ネットワークを定義できる点でも、ネットワーク アドレスは興味深いです。同じネットワーク上のすべてのノードは、お互いを直接見ることができます。

例えば以下のように使います。

172.16.2.17 ip address
&255.255.0.0 netmask
-----------------
172.16.0.0 network address


ホスト名の取得と設定
ホスト名は、ネットワーク上のデバイスを識別してネットワーク上の他の要素と区別するために使用されるラベルです。歴史的に見ると、これはノード名とも呼ばれていました。

DNSにより、ホスト名にピリオド（ドット）とドメイン名が追加されるため、ホスト名がantjeのマシンはantje.linuxfoundation.orgの完全修飾ドメイン名（FQDN）を持つことができます。

通常、ホスト名はインストール時に設定され、後からいつでも変更できます。

現在のホスト名の確認は次のように簡単にできます。

$ hostname
wally

ホスト名を変更するには、パラメータの指定とroot権限が必要です。

$ sudo hostname lumpy
lumpy

現在のホスト名は、ほとんどのLinuxディストリビューションで/etc/hostnameに常に保存されています。

したがって、このコマンドでホスト名を変更しても恒久的に変更されるわけではありません。システムを再起動すると、変更前のホスト名に戻ります。恒久的な変更を行うには、/etcディレクトリ ツリー内の構成ファイルを変更する必要があります。これは、systemdというデーモンが実行するhostnamectlユーティリティを使用すると適切に行えます。

ホスト名の恒久的な変更（再起動後も変更を維持）は、次のように簡単に行うことができます。

$ sudo hostnamectl set-hostname MYPC

大多数のディストリビューションでは、「pretty」クラスのホスト名はどこにも使用しません。

ほとんどすべてのLinuxシステムでは、ファイル/etc/hostnameを（rootになって）編集し、新しい名前を付けることができます。

$ hostnamectl
  Static hostname: c8
        Icon name: computer-desktop
          Chassis: desktop
       Machine ID: ce0c82382a8a4c80bbd6931a917a2f1c
          Boot ID: 1c06c8bb4f8243fd9ff32e3c9081e604
 Operating System: Red Hat Enterprise Linux 8.0 (Ootpa)
      CPE OS Name: cpe:/o:redhat:enterprise_linux:8.0:GA
           Kernel: Linux 5.3.1
     Architecture: x86-64

以下を使えば、使用方法のメッセージを表示できます。

$ hostnamectl --help
hostnamectl [OPTIONS...] COMMAND ...
Query or change system hostname

-h --help               Show this help
--version               Show package version
--no-ask-password       Do not prompt for password
-H --host=[USER@]HOST   Operate on remote host
-M --machine=CONTAINER  Operate on local container
--transient             Only set transient hostname
--static                Only set static hostname
--pretty                Only set pretty hostname

Commands:
status               Show current hostname settings
set-hostname NAME    Set system hostname
set-icon-name NAME   Set icon name for host
set-chassis NAME     Set chassis type for host
set-deployment NAME  Set deployment environment for host
set-location NAME    Set location for host


知識チェック

「第34章 - ネットワーク アドレス」を完遂しました。おめでとうございます。このクイズに答えて、これまでに学んだ概念の理解度をチェックしてください。

クイズ開始

問題 34.1
IPアドレスが同じクラスにある場合、ネットマスクは重要ではありません。アドレスが192.168.1.10と192.168.1.100のホスト間の通信では、ネットマスク設定は無視されます。True or False?

A. True
B. False

問題 34.2
IPv4にはIPv6よりも多くのアドレスがあります。True or False?

A. True
B. False

問題 34.3
192.168.128.255は、ネットマスクが255.255.255.0に設定されている場合は、ローカル ネットワーク上のホストの有効なIPアドレスです。True or False?

A. True
B. False

