IPアドレス・ICMPの深掘り学習_01_IPアドレスの基礎と構造
IPアドレスの基礎と構造
📌 この文書で学べること
- IPアドレスの基本概念とネットワーク層での位置づけ
- IPv4/IPv6の構造と特徴
- グローバルIPとプライベートIPの違いと使い分け
- IPアドレスの内部構造(ネットワーク部/ホスト部、クラス分類)
- サブネット化とCIDR表記の実践的な理解
- ルーターの役割とIPアドレスの実践的な確認方法
1. IPアドレスの基礎
IPアドレスとは
IPアドレスは、ネットワーク上の機器を識別するための インターネット上の住所 のようなものです。
役割:
- データ通信の送信元・送信先を識別
- ルーターがデータを正しい宛先に届けるための情報
- ネットワーク構成を論理的に管理
重要な特性:
- IPアドレスはNIC(ネットワークインターフェイスカード)に割り当てられる
- 1台のコンピューターが複数のIPアドレスを持つことは可能
- 同一ネットワーク内でIPアドレスは重複不可
ネットワーク層での位置づけ
IPアドレスは、OSI参照モデルの 第3層(ネットワーク層) で動作します。
ネットワーク層では異なるネットワーク間の通信を実現します。
ネットワーク層の機能:
- パケットのルーティング(経路選択)
- 論理アドレス(IPアドレス)の管理
- ネットワーク間の相互接続
現代のネットワーク層で使用される主要プロトコル:
- IP (Internet Protocol): データのやり取りに使用
- ICMP (Internet Control Message Protocol): トラブルシューティング(ping、traceroute等)に使用
2. IPv4とIPv6
IPv4
形式:
192.168.1.1
特徴:
| 項目 | 詳細 |
|---|---|
| 構成 | 4つのオクテット(0〜255の数字)をドット(.)で区切る |
| ビット数 | 32ビット(4バイト) |
| 表現形式 | 10進数表記(内部は2進数) |
| 例 |
192.168.21.22, 10.0.0.1
|
2進数との対応:
192.168.1.1 (10進数)
↓
11000000.10101000.00000001.00000001 (2進数)
各オクテットは8ビット(0〜255)であり、4つで32ビットを構成します。
IPv6
形式:
2001:0db8:85a3:0000:0000:8a2e:0370:7334
特徴:
| 項目 | 詳細 |
|---|---|
| 構成 | 8つのブロック(16進数)をコロン(:)で区切る |
| ビット数 | 128ビット(16バイト) |
| 表現形式 | 16進数表記 |
| 省略記法 | 連続する0000は::で省略可能 |
省略例:
2001:0db8:0000:0000:0000:0000:0000:0001
↓
2001:db8::1
進数についての補足
| 進数 | 使用文字 | 基数 | 用途 |
|---|---|---|---|
| 2進数 | 0, 1 | 2 | コンピューター内部表現、IPv4内部 |
| 10進数 | 0〜9 | 10 | 日常生活、IPv4表記 |
| 16進数 | 0〜9, A〜F | 16 | IPv6表記、MACアドレス |
3. IPアドレスの種類:グローバルとプライベート
概要
IPアドレスは使用される場所によって2種類に分類されます。
WANかLANで分かれるイメージです。
| 特徴 | グローバルIP(WAN) | プライベートIP(LAN) |
|---|---|---|
| 用途 | インターネット通信 | 組織内ネットワーク |
| 一意性 | インターネット上で唯一 | ネットワーク内で唯一(他ネットワークと重複可) |
| 接続性 | インターネット直接接続 | インターネット直接接続不可 |
| 割り当て | ISPからレンタル(動的) | ネットワーク管理者が設定 |
| 管理団体 | IANA, APNIC, JPNICなど | 各組織が独自管理 |
プライベートIPアドレスの範囲
プライベートIPアドレスとして使用できる範囲はRFC 1918で厳密に規定されています。
この範囲外のプライベートIPを使用すると通信が正常に動作しません。
| クラス | IPアドレス範囲 | ネットワーク数 | ホスト数/ネットワーク | 用途 |
|---|---|---|---|---|
| クラスA |
10.0.0.0 〜 10.255.255.255
|
1個 | 約1677万 | 大規模ネットワーク |
| クラスB |
172.16.0.0 〜 172.31.255.255
|
16個 | 約65,000 | 中規模ネットワーク |
| クラスC |
192.168.0.0 〜 192.168.255.255
|
256個 | 254 | 小規模ネットワーク(家庭・小企業) |
ネットワーク構成のイメージ

4. IPアドレスの内部構造
ネットワーク部とホスト部
IPアドレスは2つの部分に分かれています。
192.168. 1. 10
↑ ↑ ↑
ネットワーク部 ホスト部
| 部分 | 役割 | 例え |
|---|---|---|
| ネットワーク部 | どのネットワークに属するか | 郵便番号・都道府県 |
| ホスト部 | ネットワーク内のどの機器か | 番地・建物名 |
クラス分類(クラスフルアドレス)
IPv4をクラスA・B・Cに分類します。
| クラス | 先頭ビット | ネットワーク部 | ホスト部 | ネットワーク数 |
|---|---|---|---|---|
| A | 0 | 8ビット | 24ビット | 126個 |
| B | 10 | 16ビット | 16ビット | 約16,000個 |
| C | 110 | 24ビット | 8ビット | 約200万個 |
アドレス範囲:
- クラスA:
1.0.0.0〜126.255.255.255 - クラスB:
128.0.0.0〜191.255.255.255 - クラスC:
192.0.0.0〜223.255.255.255
5. サブネット化とCIDR表記
サブネット化の必要性
クラスフルアドレスでは、ネットワークサイズを柔軟に調整できませんでしたが、
サブネット化により、ネットワークをより細かく分割できるようになりました。
サブネットマスク
サブネットマスクは、ネットワーク部とホスト部の境界 を定義します。
仕組み:
- 2進数で「1」が連続する部分がネットワーク部
- 「0」の部分がホスト部
例:
IPアドレス: 192.168.1.10
サブネットマスク: 255.255.255.0
2進数表記:
IPアドレス: 11000000.10101000.00000001.00001010
サブネットマスク: 11111111.11111111.11111111.00000000
ネットワーク部(24ビット) ホスト部(8ビット)
CIDR表記(プレフィックス)
サブネットマスクを簡潔に表現する方法です。
形式:
192.168.1.0/24
/24は「先頭24ビットがネットワーク部」を意味します。
CIDR表記とサブネットマスクの対応:
| CIDR | サブネットマスク | ネットワーク部 | ホスト部 |
|---|---|---|---|
| /8 | 255.0.0.0 | 8ビット | 24ビット |
| /16 | 255.255.0.0 | 16ビット | 16ビット |
| /24 | 255.255.255.0 | 24ビット | 8ビット |
利用可能ホスト数の計算:
2^(ホスト部ビット数) - 2
※ -2する理由:
- ネットワークアドレス(ホスト部が全て0)
- ブロードキャストアドレス(ホスト部が全て1)
実践例:サブネット分割
シナリオ:
192.168.1.0/24のネットワークを4つのサブネットに分割する
計算:
- 4つのサブネット → 2² = 4 → 2ビット必要
- 元の/24に2ビット追加 → /26
結果:
| サブネット | ネットワークアドレス | 範囲 | ブロードキャスト | 利用可能ホスト数 |
|---|---|---|---|---|
| 1 | 192.168.1.0/26 | 192.168.1.1 〜 192.168.1.62 | 192.168.1.63 | 62 |
| 2 | 192.168.1.64/26 | 192.168.1.65 〜 192.168.1.126 | 192.168.1.127 | 62 |
| 3 | 192.168.1.128/26 | 192.168.1.129 〜 192.168.1.190 | 192.168.1.191 | 62 |
| 4 | 192.168.1.192/26 | 192.168.1.193 〜 192.168.1.254 | 192.168.1.255 | 62 |
6. ルーターの役割
ルーターとは
ネットワーク層で動作し、パケットを適切な宛先に転送する機器です。
主な機能:
- パケットのルーティング(経路選択)
- 異なるネットワーク間の接続
- NAT/NAPTによるアドレス変換
- ファイアウォール機能
ルーティングテーブル
ルーターは ルーティングテーブル(ルートテーブル) を参照してパケットの転送先を決定します。
ルーティングテーブルの例:
| 宛先ネットワーク | サブネットマスク | ゲートウェイ | インターフェース | メトリック |
|---|---|---|---|---|
| 0.0.0.0 | 0.0.0.0 | 192.168.1.1 | eth0 | 1 |
| 192.168.1.0 | 255.255.255.0 | 0.0.0.0 | eth0 | 0 |
| 10.0.0.0 | 255.0.0.0 | 192.168.1.254 | eth0 | 10 |
読み方:
-
0.0.0.0/0:デフォルトゲートウェイ(該当しない全ての宛先) -
192.168.1.0/24:直接接続されたネットワーク -
10.0.0.0/8:別のルーター経由でアクセス
動作の流れ:
- パケットの宛先IPアドレスを確認
- ルーティングテーブルで最も一致する経路を検索(ロンゲストマッチ)
- 該当するゲートウェイ/インターフェースに転送
7. IPアドレス確認方法
コマンド例
自分のIPアドレスを確認:
# Linux/Mac
ip addr show
ifconfig
# Windows
ipconfig
# グローバルIPを確認
curl ifconfig.me
curl ipinfo.io
ルーティングテーブルを確認:
# Linux/Mac
ip route show
netstat -rn
# Windows
route print
特定のホストへの経路を確認:
traceroute google.com # Linux/Mac
tracert google.com # Windows
サブネット計算ツール:
# ipcalcのインストール(Linux)
sudo apt install ipcalc
# 使用例
ipcalc 192.168.1.0/24
8. ループバックアドレス
自分自身のコンピュータを指す特別なIPアドレスです。
| プロトコル | アドレス | ホスト名 |
|---|---|---|
| IPv4 | 127.0.0.1 | localhost |
| IPv6 | ::1 | localhost |
特徴:
- パケットは物理的なネットワークから外に出ない(OS内部で完結)
- ネットワーク接続がなくても通信可能
主な用途:
- 自己診断(
ping 127.0.0.1でネットワーク機能をテスト) - ローカル開発(
http://localhost:8080でWebアプリをテスト) - セキュリティ(サービスを外部から隠蔽)
9. まとめ
重要ポイント
-
IPアドレスの役割
- ネットワーク上の機器を識別する「住所」
- ネットワーク層(第3層)で動作
- IPとICMPがネットワーク層の主要プロトコル
-
IPv4とIPv6
- IPv4: 32ビット、約43億個(枯渇問題あり)
- IPv6: 128ビット、事実上無限(次世代標準)
-
グローバルIPとプライベートIP
- グローバルIP: インターネット上で一意
- プライベートIP: 組織内ネットワークで使用(RFC 1918で範囲規定)
- 適切な使い分けが重要
-
IPアドレスの構造
- ネットワーク部(どのネットワークか)
- ホスト部(ネットワーク内のどの機器か)
- クラス分類(A/B/C)は旧方式
-
サブネット化とCIDR
- サブネットマスクでネットワークを柔軟に分割
- CIDR表記(/24など)が現代の標準
- ネットワーク設計の自由度向上
-
ルーターの役割
- ルーティングテーブルでパケット転送
- サブネット設定の実体
- ネットワーク構成の要
参考資料
-
『マスタリングTCP/IP 入門編』
- 著者: 井上 直也, 村山 公保, 竹下 隆史, 荒井 透, 苅田 幸雄
- 出版社: オーム社
- 発行年: 2019年
-
『ネットワーク技術の教科書』
- 著者: 長谷 和幸
- 出版社: アイテック
- 発行年:2022年
-
『体験しながら学ぶネットワーク技術入門』
- 著者:みやた ひろし
- 出版社:SBクリエイティブ
- 発行年:2024/1/13
-
RFC 791(Internet Protocol)
-
RFC 1918(Address Allocation for Private Internets)
-
RFC 4632(Classless Inter-domain Routing - CIDR)
Discussion