ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
IP とは
IP(Internet Protocol)はインターネットの基盤プロトコルで、OSI 参照モデルのネットワーク層(第3層)、TCP/IP モデルのインターネット層に位置します。パケットを宛先 IP アドレスまで届けるのが役割で、世界中のルーターはこの IP ヘッダの宛先アドレスを見て次のホップを決めます。
IP 自体はコネクションレス(接続を維持しない)かつ非信頼(到達保証なし)。順序保証・再送・フロー制御はTCP や上位プロトコルが担当します。
IPv4 と IPv6
| 項目 | IPv4 | IPv6 |
|---|---|---|
| アドレス長 | 32 bit | 128 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
クラスフルアドレス(旧来)
| クラス | 範囲 | 用途 |
|---|---|---|
| A | 0.0.0.0 〜 127.255.255.255 | 大規模ネットワーク |
| B | 128.0.0.0 〜 191.255.255.255 | 中規模 |
| C | 192.0.0.0 〜 223.255.255.255 | 小規模 |
| D | 224.0.0.0 〜 239.255.255.255 | マルチキャスト |
| E | 240.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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| フィールド | 意味 |
|---|---|
| Version | IP のバージョン(4 または 6) |
| IHL | ヘッダ長(4 byte 単位) |
| TTL | Time 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) |
| ARP | IP → MAC アドレス解決(IPv4) |
| NDP | 近隣探索(IPv6 版 ARP) |
| DHCP | IP アドレスの動的割り当て |
| 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 — プライベート ↔ グローバル変換
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- 【PHPエラー】Object of class stdClass could not be converted to string 2026-09-07 07:46:04
- Julia Genie ローカル開発サーバ起動完全ガイド 2026-09-07 07:46:04
- Laravel 記事一覧55件|環境構築・ルーティング・DB・エラー対処 2026-09-07 07:45:13
- Javaの定数 2026-09-07 07:45:13
- Spring Framework 記事一覧31件|DI・設定・例外の対処 2026-09-07 07:45:13
- Oracle DROP USERでユーザー削除|CASCADE・接続中ユーザーの対処 2026-09-07 07:45:13
- Linux whichコマンドの使い方|絶対パス取得とtype・command -vの違い 2026-09-07 07:45:13
- SQLとは|DDL・DMLとリレーショナルデータベース操作の基本 2026-09-07 07:45:13
- NetBeansでTomcatを起動する手順|サーバ登録・ポート・トラブル対処 2026-09-07 07:45:13
- hostnameコマンドの使い方|Windows・Linux・macOSでホスト名確認 2026-09-07 07:45:13
- HTML video要素の使い方|source・自動再生・muted・playsinline 2026-09-07 07:45:13
- Laravelルートグループ|prefix・middleware・nameで一括管理 2026-09-07 07:45:13
- JPEG(.jpg/.jpeg)画像形式の完全ガイド — 仕様・マジックナンバー・他形式との比較・EXIF 2026-09-07 07:45:13
- Linuxで複数ファイルの文字列を一括置換|find・sed・xargsの安全手順 2026-09-07 07:45:13
- HTML a要素の使い方|href・target・rel noopenerのセキュリティ 2026-09-07 07:45:13
コメントを削除してもよろしいでしょうか?