ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
ネットワーク層とは
ネットワーク層 (Network Layer) は OSI 参照モデルの第 3 層 (L3) に位置し、データを発信元から宛先まで適切な経路で運ぶ役割を持ちます。下のデータリンク層が「隣の機器まで」を担当するのに対し、ネットワーク層は複数のネットワークをまたいだエンドツーエンド配送を担当します。
主な役割
| 機能 | 説明 |
|---|---|
| 論理アドレッシング | IP アドレスで送信元・宛先を識別 |
| ルーティング | 最適経路の選択。ルーターの仕事 |
| フォワーディング | 受信したパケットを次の経路へ転送 |
| フラグメンテーション | MTU を超えるパケットを分割 |
| 輻輳制御 (一部) | ICMP source quench 等 (現代は TCP 側) |
代表的なプロトコル
| プロトコル | 用途 |
|---|---|
| IPv4 | 主要なネットワーク層プロトコル。32 ビットアドレス |
| IPv6 | 次世代 IP。128 ビットアドレス |
| ICMP | エラー通知・ping / traceroute で使用 |
| ICMPv6 | IPv6 用の ICMP。近隣探索 (NDP) も含む |
| ARP | IP → MAC 解決。厳密には L2.5 だが L3 と密結合 |
| OSPF / IS-IS | 動的ルーティングプロトコル (IGP) |
| BGP | AS 間ルーティング (EGP) |
| IPsec | IP の暗号化・認証 |
OSI と TCP/IP の対応
「第 3 層」と言ったとき、OSI モデルとTCP/IP モデルで番号付けが違う点に注意が必要です。
| OSI (7 層) | TCP/IP (4 層) | 代表プロトコル |
|---|---|---|
| L7 アプリケーション | アプリケーション層 | HTTP / SMTP / DNS |
| L6 プレゼンテーション | TLS / 文字コード変換 | |
| L5 セッション | セッション維持 | |
| L4 トランスポート | トランスポート層 | TCP / UDP |
| L3 ネットワーク | インターネット層 | IP / ICMP |
| L2 データリンク | ネットワークインターフェース層 | Ethernet / Wi-Fi |
| L1 物理 | ケーブル / 電気信号 |
OSI でネットワーク層 = L3、TCP/IP でインターネット層。役割はほぼ同じです。
パケットの構造 (IPv4 ヘッダ)
ネットワーク層が扱うデータ単位はパケットと呼ばれます。先頭に IP ヘッダを付けて運びます。
| フィールド | サイズ | 意味 |
|---|---|---|
| Version | 4 bit | IP バージョン (4 / 6) |
| IHL | 4 bit | ヘッダ長 (32bit ワード単位) |
| TOS / DSCP | 8 bit | サービス種別 (QoS) |
| Total Length | 16 bit | パケット全体長 |
| Identification | 16 bit | フラグメント識別 |
| Flags / Offset | 3+13 bit | フラグメント制御 |
| TTL | 8 bit | 生存時間 (ホップ数) |
| Protocol | 8 bit | 上位プロトコル (6=TCP, 17=UDP, 1=ICMP) |
| Header Checksum | 16 bit | ヘッダのチェックサム |
| Source Address | 32 bit | 送信元 IP アドレス |
| Destination Address | 32 bit | 宛先 IP アドレス |
ルーティングの基本
ルーターはルーティングテーブルを持ち、宛先 IP アドレスを見て次に転送すべきインターフェース (next hop) を決定します。
$ ip route show # Linux でルーティングテーブル表示
default via 192.168.1.1 dev eth0
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100
10.0.0.0/8 via 192.168.1.1 dev eth0
# Windows
> route print
| ルーティング方式 | 説明 |
|---|---|
| 静的ルーティング | 管理者が手動で設定 |
| 動的ルーティング | OSPF / BGP 等で自動学習 |
| デフォルトルート | マッチするルートがないときの宛先 (0.0.0.0/0) |
| ロンゲストマッチ | 最も長いプレフィクスにマッチするルートを採用 |
主な機器
| 機器 | 説明 |
|---|---|
| ルーター | 異なるネットワーク間のパケット転送 |
| L3 スイッチ | ルーティング機能を持つスイッチ。LAN 内で多用 |
| ファイアウォール | L3〜L7 でフィルタリング |
| ロードバランサー (一部) | L4/L7 LB と並んで L3 DSR 構成もある |
ICMP — 診断とエラー通知
ICMP (Internet Control Message Protocol) は IP の補助プロトコル。ping / traceroute / 到達不能通知などで使われます。
$ ping example.com
PING example.com (93.184.216.34): 56 data bytes
64 bytes from 93.184.216.34: icmp_seq=0 ttl=56 time=15.2 ms
$ traceroute example.com
1 192.168.1.1 0.5 ms
2 10.0.0.1 2.1 ms
3 100.64.0.1 10.5 ms
...
関連用語
| 用語 | 意味 |
|---|---|
| MTU | 1 パケットに載せられる最大バイト数 (Ethernet: 1500) |
| フラグメンテーション | MTU を超えるパケットの分割 |
| NAT | プライベート IP とグローバル IP の変換 |
| サブネット | IP 範囲をマスクで分割 |
| CIDR | サブネットマスクを /24 等で表記 |
| AS | 自律システム。BGP の単位 |
FAQ
Q: ARP は L2 と L3 のどっち?
A: IP (L3) と MAC (L2) のマッピングをする境界的なプロトコル。L2.5 と呼ばれることが多い。OSI 厳密には L2 寄りだが、L3 と密結合。
Q: L3 スイッチとルーターの違い
A: 機能はほぼ同じだが、L3 スイッチはASIC で高速ルーティングに特化、ルーターは WAN プロトコル / NAT / VPN 等の機能が豊富。LAN 内は L3 スイッチ、WAN 接続はルーターが定番。
Q: IPv6 とは?
A: アドレス枯渇対策の次世代 IP。128 ビットアドレス (2128 ≅ 3.4×1038)。NAT 不要、ヘッダがシンプル、IPsec 標準など多くの改善点。
関連
- OSI 参照モデルの各層 (L1 物理 〜 L7 アプリケーション)
- TCP / UDP (L4 トランスポート)
- Ethernet / MAC アドレス (L2 データリンク)
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子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アノテーションとは
最近更新/作成されたページ
- 【django】ログイン 認証機能 2026-09-08 03:22:09
- MySQL ERROR 1063 Incorrect column specifier for column|原因と直し方 2026-09-08 03:11:09
- 【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
- Wi-Fi とは|規格と世代(Wi-Fi 4〜7)・周波数帯・CSMA/CA・WPA3 NEW 2026-09-07 07:45:13
- set コマンドでシェルオプションと位置パラメータを操作 | bash 2026-09-07 07:45:13
- JPEG(.jpg/.jpeg)画像形式の完全ガイド — 仕様・マジックナンバー・他形式との比較・EXIF 2026-09-07 07:45:13
- UE5 Get Overlapping Actorsで特定クラスだけ処理|Class Filter・Cast To 2026-09-07 07:45:13
- Linuxで特定拡張子のファイルを再帰削除|find -deleteの安全手順 2026-09-07 07:45:13
- Django CBVでテンプレートに値を渡す|get_context_data・extra_context 2026-09-07 07:45:13
- Linuxで複数ファイルの文字列を一括置換|find・sed・xargsの安全手順 2026-09-07 07:45:13
- Laravelルートグループ|prefix・middleware・nameで一括管理 2026-09-07 07:45:13
- Linux whichコマンドの使い方|絶対パス取得とtype・command -vの違い 2026-09-07 07:45:13
- Linux catコマンドの使い方|行番号表示・複数ファイル連結 2026-09-07 07:45:13
- unable to execute 'gcc': No such file or directory 2026-09-07 07:45:13
コメントを削除してもよろしいでしょうか?