【ITニュース解説】CompTIA Network+ N10-009 Notes: A Simple Guide to IPv4
2025年09月05日に「Dev.to」が公開したITニュース「CompTIA Network+ N10-009 Notes: A Simple Guide to IPv4」について初心者にもわかりやすいように丁寧に解説しています。
ITニュース概要
IPv4は、ネットワーク上の機器を識別し通信するためのプロトコル。32ビットのアドレスはネットワーク部とホスト部で構成され、サブネットマスクで区別。アドレスは2進数から10進数に変換され、ネットワークを分割するサブネット化も重要。WindowsやLinuxでのIP設定方法も解説。
ITニュース解説
IP (Internet Protocol) は、異なるコンピュータネットワーク同士が通信し、より大きなネットワーク (インターネットワーク) を形成するための基盤となるプロトコルだ。離れたネットワークにあるデバイス宛のデータパケットは、ネットワーク間の経路を作成するルータなどのシステムを経由して転送される必要がある。
IPv4 アドレスは、ネットワークとネットワーク内の個々のデバイス (ホスト) を一意に識別するために使用される。データリンク層 (OSI モデルの第 2 層) では、ネットワークインタフェースは MAC アドレスによって識別され、これはローカルなデータフレームの配信にのみ使用される。ネットワーク層 (第 3 層) では、IP アドレスがデータの正しい宛先への転送に使用され、ネットワーク ID とホスト ID の 2 つの情報を提供する。ネットワーク ID は、同じ IP ネットワーク上のすべてのホストで共有される番号で、ホスト ID は、ネットワーク内の特定のデバイスを一意に識別する番号だ。
IPv4 アドレスは 32 ビット長で、通常は 8 ビットずつの 4 つのグループ (オクテット) に分割され、各オクテットはドットで区切られた 10 進数で表現される (ドット付き 10 進表記)。例えば、バイナリの 11000110001100110110010000000001 は、198.51.100.1 と表現される。バイナリと 10 進数の変換は重要で、バイナリは 2 を底とする数値体系であり、各桁は 2 の累乗の値を持つ。10 進数への変換は、バイナリで 1 が立っている桁の値を足し合わせることで行う。例えば、11000110 は 128 + 64 + 4 + 2 = 198 となる。逆に 10 進数からバイナリへの変換は、10 進数を構成する 2 の累乗を見つけ、対応する桁に 1 を立てる。理論上、IPv4 アドレスは 0.0.0.0 から 255.255.255.255 までの値を取りうるが、一部のアドレスは特別な用途のために予約されている。
IPv4 では、ネットワーク ID とホスト ID を区別するために 32 ビットのネットワークマスク (ネットマスク) が使用される。マスクは、ホスト ID 部分を「隠し」、ネットワーク ID のみを明らかにする。マスク内の 1 は、IP アドレスの対応するビットがネットワーク ID の一部であることを示す。マスク内の 1 は常に連続している必要がある。ネットワーク ID を見つけるには、IP アドレスとネットワークマスクに対して AND 演算を行う。AND 演算では、両方のビットが 1 の場合にのみ結果が 1 になる。ネットワークマスクは、ドット付き 10 進表記の代わりに、プレフィックス (スラッシュ) 表記で記述することもできる。プレフィックスは、マスク内の 1 のビット数を表し、例えば /24 は、24 ビットが 1 に設定されたマスクを示す。
サブネット化は、大規模なネットワークをより小さく管理しやすいサブネットワーク (サブネット) に分割する技術だ。サブネットを作成するには、IP アドレスのホスト部分からビットを「借りて」サブネットアドレスとして使用する。これにより、ホスト ID に使用できるビット数が減り、各サブネットで使用できるホストアドレスの数が少なくなる。重要なのは、インターフェース上の IP アドレスには 1 つのマスクのみが適用されることだ。外部ネットワークは、ネットワーク全体を元のネットワーク ID (例: 198.51.100.0/24) でアドレッシングする。ネットワーク内のホストは、より長いサブネットマスクを使用してサブネットを区別する。有効な IPv4 マスクの各 10 進オクテットは、0, 128, 192, 224, 240, 248, 252, 254, 255 のいずれかの値になる。
サブネット化の目的は、ホスト数の少ないより小さなブロードキャストドメインを作成することだ。サブネットを設計する上での鍵は、必要なサブネット数とサブネットあたりのホスト数の適切なバランスを見つけることだ。マスクに追加するビットごとに、使用可能なホストアドレスの数はほぼ半分になる。/24 ネットワーク (ネットワーク ID に 24 ビット) には、ホスト ID に 8 ビットがあり、最大 2^8 - 2 = 254 台の使用可能なホストをサポートする。/28 ネットワーク (ネットワーク ID に 28 ビット) には、ホスト ID に 4 ビットしかなく、最大 2^4 - 2 = 14 台の使用可能なホストをサポートする。使用できないアドレスは、ネットワークアドレス (すべてのホストビットが 0) とブロードキャストアドレス (すべてのホストビットが 1) の 2 つだ。ブロードキャストは、ネットワークまたはサブネット上のすべてのホストに送信されるパケットだ。ブロードキャストアドレスは、常にネットワークまたはサブネット内の最後のアドレスだ。
ホストが別のデバイスと通信する場合、まず宛先がローカルネットワーク上にあるかどうかを確認する。これは、自身の IP アドレスと宛先 IP アドレスのネットワーク ID を比較することによって行う。ネットワーク ID が一致する場合、ホストは宛先が同じローカルネットワーク上にあり、パケットを直接送信する。ネットワーク ID が一致しない場合、ホストは宛先が別のネットワーク上にあることを認識し、パケットをデフォルトゲートウェイに送信する。デフォルトゲートウェイは、リモートネットワークへのパスが設定されたルータだ。ルータは、自身のルーティングテーブルを使用してパケットの最適なパスを決定する。ルータがパスを見つけられない場合、パケットを破棄してホストに通知する。デフォルトゲートウェイの IP アドレスは、使用可能なホストアドレスのいずれかになる可能性があるが、慣例として、サブネット内の最初または最後の使用可能なアドレスが使用される。
すべてのネットワークアダプタには、IP アドレス、サブネットマスク、デフォルトゲートウェイが必要だ。通常、DNS (Domain Name System) サーバのアドレスも設定され、これによりドメイン名 (例: google.com) が IP アドレスに変換される。IP 構成は、静的 (手動で割り当てる) または動的 (DHCP を使用してサーバによって自動的に割り当てる) にすることができる。Windows では、GUI (ネットワーク接続アプレットまたは Windows 設定) またはコマンドプロンプトツール netsh を使用してインターフェースを構成できる。Linux では、インターフェース名は eth0、eth1 などとなることが多い。構成はディストリビューションによって異なり、永続的な構成 (リブート後も保持される構成) は実行中の構成とは異なる。近年では、多くのディストリビューションで NetworkManager または systemd-networkd が使用されている。Ubuntu の場合は Netplan が使用される。