1.

IP(Internet Protocol)とは|IPv4とIPv6・ルーティングの基本

編集
この記事の要点
  • IP(Internet Protocol)ネットワーク層(OSI 第3層、TCP/IP 第2層)でパケットを宛先まで届けるプロトコル
  • 主流は IPv4(32bit)IPv6(128bit)の 2 種類。IPv4 アドレス枯渇のため IPv6 への移行が進む
  • IP はコネクションレス・非信頼のプロトコル — 順序保証や再送はTCP が担う
  • 主な役割は アドレッシング(宛先指定)、ルーティング(経路選択)、フラグメント化(MTU を超えるパケット分割)
  • IP ヘッダには 送信元/宛先 IP、TTL、プロトコル番号(TCP=6, UDP=17, ICMP=1)などが含まれる

IP とは

IP(Internet Protocol)はインターネットの基盤プロトコルで、OSI 参照モデルのネットワーク層(第3層)TCP/IP モデルのインターネット層に位置します。パケットを宛先 IP アドレスまで届けるのが役割で、世界中のルーターはこの IP ヘッダの宛先アドレスを見て次のホップを決めます。

IP 自体はコネクションレス(接続を維持しない)かつ非信頼(到達保証なし)。順序保証・再送・フロー制御はTCP や上位プロトコルが担当します。

IPv4 と IPv6

項目IPv4IPv6
アドレス長32 bit128 bit
表記192.168.1.1(10進ドット区切り)2001:db8::1(16進コロン区切り)
アドレス総数約 43 億約 340 澗(3.4 × 1038
ヘッダ長可変(20〜60 byte)固定 40 byte
フラグメント化ルーター/送信元送信元のみ
セキュリティオプション(IPsec)必須(IPsec 標準)
NAT必須に近い原則不要

IPv4 アドレスの構造

IPv4 アドレスは 32bit を 8bit ずつ 4 つに区切り、10 進数で表記します。

192.168.1.10
 |   |   |  |
 8b  8b  8b 8b   (各オクテット 0-255)

二進数表記:
11000000.10101000.00000001.00001010

クラスフルアドレス(旧来)

クラス範囲用途
A0.0.0.0 〜 127.255.255.255大規模ネットワーク
B128.0.0.0 〜 191.255.255.255中規模
C192.0.0.0 〜 223.255.255.255小規模
D224.0.0.0 〜 239.255.255.255マルチキャスト
E240.0.0.0 〜 255.255.255.255実験用

現在はCIDR(Classless Inter-Domain Routing)が主流で、192.168.1.0/24 のようにプレフィックス長で区切ります。

プライベート IP アドレス

範囲用途
10.0.0.0/8大規模 LAN
172.16.0.0/12中規模 LAN
192.168.0.0/16家庭・小規模 LAN

プライベート IP はそのままインターネットに出られないため、NAT でグローバル IP に変換されます。

IPv4 ヘッダの構造

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version|  IHL  |Type of Service|         Total Length          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         Identification        |Flags|     Fragment Offset     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Time to Live |    Protocol   |        Header Checksum        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       Source Address                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                    Destination Address                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                    Options                    |    Padding    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
フィールド意味
VersionIP のバージョン(4 または 6)
IHLヘッダ長(4 byte 単位)
TTLTime To Live。ルーターを通過するたびに -1。0 で破棄
Protocol上位プロトコル(TCP=6, UDP=17, ICMP=1)
Source/Dest Address送信元 / 宛先 IP アドレス
Identification / Flags / Fragment Offsetフラグメント化に使う

IPv6 アドレスの構造

IPv6 は 128bit を 16bit ごとに 8 つに区切り、16 進数で表記。連続する 0 は :: で省略できます。

2001:0db8:0000:0000:0000:ff00:0042:8329
↓ 省略形
2001:db8::ff00:42:8329

ルーティングの基本

ルーターはルーティングテーブルを見て、宛先 IP に最も近いネクストホップへパケットを転送します。最長一致(Longest Match)でエントリを選びます。

# Linux でのルーティングテーブル確認
ip route show
# default via 192.168.1.1 dev eth0
# 192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.10

# Windows
route print

主要な関連プロトコル

プロトコル役割
ICMP診断・エラー通知(ping / traceroute)
ARPIP → MAC アドレス解決(IPv4)
NDP近隣探索(IPv6 版 ARP)
DHCPIP アドレスの動的割り当て
DNSドメイン名 → IP の解決
NATプライベート IP ↔ グローバル IP 変換

NAT の仕組み(IPv4 の延命策)

IPv4 アドレス枯渇への対応として、家庭やオフィスでは1 つのグローバル IP を多数のプライベート IP で共有する NAT が使われます。

[192.168.1.10] ─┐
[192.168.1.11] ─┼─ NAT ルーター(203.0.113.5) ── インターネット
[192.168.1.12] ─┘

具体的にはポート番号も併用する NAPT(PAT)が一般的です。

動作確認コマンド

# 自分の IP アドレスを確認
ip addr show          # Linux
ipconfig              # Windows
ifconfig              # macOS / 旧 Linux

# 疎通確認
ping 8.8.8.8

# 経路確認
traceroute 8.8.8.8    # Linux / macOS
tracert 8.8.8.8       # Windows

# グローバル IP の確認
curl ifconfig.me

FAQ

Q: なぜ IPv6 への移行が遅い?
A: NAT で IPv4 が延命できているのと、IPv4 / IPv6 の両方を運用する Dual Stack のコストが理由。ただしモバイル網やクラウドでは IPv6 ネイティブも増えています。

Q: IP と TCP / UDP の関係は?
A: IP は「住所に荷物を届ける」役、TCP / UDP は「荷物の中身(ポート別の配送)」を担います。IP の上に TCP / UDP が乗ります。

関連

  • TCP — 信頼性のあるトランスポート層プロトコル
  • UDP — 高速・非信頼のトランスポート層プロトコル
  • ICMP — IP 上のエラー通知 / 診断
  • サブネットマスク / CIDR — IP アドレスの分割
  • DHCP — IP の自動割り当て
  • DNS — ドメイン名 → IP の解決
  • NAT / NAPT — プライベート ↔ グローバル変換
編集
Post Share
子ページ

子ページはありません

同階層のページ
  1. IP
  2. ARP
  3. ICMP

最近更新/作成されたページ