🌐 ネットワーク層の主要な要素
ネットワーク層は、IP(Internet Protocol)を主軸とし、IPアドレスによるノードの識別、ICMPによる制御・エラー通知、そしてルーターとルーティングテーブルによる最適な**経路制御(ルーティング)**を担います。
重要ポイント
1. IP (Internet Protocol)
- 役割: パケット配送、経路制御、フラグメント化。
- エンドツーエンド通信: パケットが送信元(端)から最終の宛先(端)まで届けられること。
- ベストエフォート: パケット送信のために最大限努力はするが、通信の確実性(到達保証や順序保証)はしないこと。
IPヘッダの構成(IPv4)
| 項目名 | 意味 | ビット数 |
|---|
| バージョン | IPv4なら4、IPv6なら6 | 4bit |
| ヘッダ長 | IPヘッダの長さ | 4bit |
| サービスタイプ(ToS) | 優先度指定 | 8bit |
| パケット長 | パケット全体の長さ(ヘッダ+データ) | 16bit |
| 識別子 | 分割されたパケットを識別 | 16bit |
| フラグ | 分割の有無を指定 | 3bit |
| フラグメントオフセット | 分割パケットの順序を示す | 13bit |
| TTL(Time To Live) | パケットの寿命(ルータ通過ごとに1減る) | 8bit |
| プロトコル | 上位層(TCP=6, UDP=17など) | 8bit |
| チェックサム | ヘッダエラー検出用 | 16bit |
| 送信元IPアドレス | 送信元の識別 | 32bit |
| 宛先IPアドレス | 宛先の識別 | 32bit |
- IPヘッダの最小サイズ: オプションを含まない場合、上記12種類のフィールドの合計は $4 \times 5 = 20$ バイト(ヘッダ長フィールドの値が5のため)。
IPv6
| 項目 | IPv4 | IPv6 |
| アドレス長 | 32ビット | 128ビット |
| アドレス数 | 約 $4.3 \times 10^9$ 個(43億個) | 約 $3.4 \times 10^{38}$ 個 |
| 表記法 | 8ビット(1オクテッド)毎に区切った10進数表記 | 16ビット毎に区切った16進数表記 |
はい、ネットワーク層に関するブログの構成案に基づいた内容ですね。いくつか記載が抜けている箇所や、より詳細な説明が必要な箇所について追記し、情報を整理します。
🌐 ネットワーク層の主要な要素
ネットワーク層は、IP(Internet Protocol)を主軸とし、IPアドレスによるノードの識別、ICMPによる制御・エラー通知、そしてルーターとルーティングテーブルによる最適な**経路制御(ルーティング)**を担います。
1. IP (Internet Protocol)
- 役割: パケット配送、経路制御、フラグメント化。
- エンドツーエンド通信: パケットが送信元(端)から最終の宛先(端)まで届けられること。
- ベストエフォート: パケット送信のために最大限努力はするが、通信の確実性(到達保証や順序保証)はしないこと。
IPヘッダの構成(IPv4)
| 名称 | 意味 | ビット数 | 追記/詳細 |
| バージョン | IPv4 (4) か IPv6 (6) かを示す。 | 4ビット | |
| ヘッダ長 | IPヘッダ全体の長さ(32ビットワード単位)。 | 4ビット | 最小は5(20バイト)。 |
| サービスタイプ (TOS) | パケットの優先度や品質を指定する。 | 8ビット | DiffServではDSCP (6ビット)として使用。 |
| パケット長 | パケット全体の長さ(ヘッダ+データ)をバイトで示す。 | 16ビット | 最大 $2^{16} – 1 = 65,535$ バイト。 |
| 識別子 | フラグメント化されたデータが元は同じパケットであることを示すための番号。 | 16ビット | |
| フラグ | データの分割(フラグメント化)を許可するか、これ以上分割されたものかを示す。 | 3ビット | Don’t Fragment (DF), More Fragment (MF) など。 |
| フラグメントオフセット | 分割されたデータが元のパケットのどの位置にあるかを示す。 | 13ビット | 8バイト単位での相対位置。 |
| 生存時間 (TTL) | パケットが経由できるルーターの最大数(ホップ数)。ルーターを経由するたびに1ずつ減らされ、0になるとパケットは破棄される。ルーティングループを防ぐ。 | 8ビット | |
| プロトコル | IPヘッダの次に来るトランスポート層のプロトコルを識別する番号(例:TCPは6、UDPは17、ICMPは1)。 | 8ビット | |
| チェックサム | ヘッダ部のエラーを検査する値。 | 16ビット | データ部ではなくヘッダ部のみが対象。 |
| 送信元IPアドレス | 送信元のIPアドレス。 | 32ビット | 4バイト。 |
| 宛先IPアドレス | 送信先のIPアドレス。 | 32ビット | 4バイト。 |
| オプション | セキュリティなどの追加情報(可変長、必須ではない)。 | 可変 | |
- IPヘッダの最小サイズ: オプションを含まない場合、上記12種類のフィールドの合計は $4 \times 5 = 20$ バイト(ヘッダ長フィールドの値が5のため)。
2. ICMP (Internet Control Message Protocol)
- 役割: ネットワーク間の疎通確認やエラー通知を行う。
ICMPメッセージの構成
| フィールド | 意味 | ビット数 |
| タイプ | メッセージの種類(例:エコー要求は8)。 | 8ビット |
| コード | メッセージの詳細(例:到達不能の具体的な理由)。 | 8ビット |
| チェックサム | メッセージ全体のエラー検査。 | 16ビット |
| データ(オプション) | タイプとコードに応じた情報(例:エコー要求のデータ、元のIPヘッダなど)。 | 可変 |
ICMPメッセージのタイプ例
- 0: エコー応答 (Echo Reply)
- 3: 到達不可 (Destination Unreachable)
- 8: エコー要求 (Echo Request)
- 11: 時間経過 (Time Exceeded)
- 疎通確認コマンド:
ping [宛先IPアドレス]
ICMPv6
- 役割: エラー通知と情報伝達(特に近隣ノードとの情報交換)。
- 近隣探索プロトコル (NDP): IPv6特有のプロトコルで、主にアドレス自動設定と**レイヤ2アドレス解決(ARPに相当)**を行う。
- アドレス自動設定(SLAAC): ルーターから受け取ったプレフィックスと自身のMACアドレスからインターフェースIDを作成し、グローバルユニキャストアドレスを自動設定する(ステートレス)。
- レイヤ2アドレス解決: **NS(近隣要請)とNA(近隣広告)**メッセージを用いて、IPアドレスとMACアドレスの対応(ARPの役割)を解決する。
3. IPアドレス(IPv4)
- 役割: ネットワーク層において、各ノード(機器)を論理的に識別するための住所。
- 構成: 32ビットで、ネットワーク部(所属するネットワーク)とホスト部(ネットワーク内のノード)で構成される。
アドレスクラス(クラスフルアドレス)
ネットワーク部とホスト部を固定的に区切る方法。
| クラス | ネットワーク部 | ホスト部 | 第1オクテッドの範囲 | 特徴 |
| A | 8ビット | 24ビット | 1〜126 | 大規模ネットワーク |
| B | 16ビット | 16ビット | 128〜191 | 中規模ネットワーク |
| C | 24ビット | 8ビット | 192〜223 | 小規模ネットワーク |
| D | – | – | 224〜239 | マルチキャストアドレス |
| E | – | – | 240〜255 | 予約されたアドレス |
ネットワークアドレスとブロードキャストアドレス
- ネットワークアドレス: ホスト部がすべて「0」。同一のネットワークを識別するために使用される。
- ブロードキャストアドレス:ホスト部がすべて「1」。同一ネットワーク内のすべての宛先へパケットを送るために使用される。
- ホストアドレスの数: $2^h – 2$ ($h$: ホスト部のビット数。ネットワークアドレスとブロードキャストアドレスを除くため-2)
サブネット化
- サブネット化: 1つのネットワークを複数の小さなネットワークに分割し、ブロードキャストドメインを小さくして負荷を軽減するための技術。
- サブネット部: IPアドレスのホスト部の一部を削って、新たなネットワーク識別子として割り当てた部分。
- サブネットの数: $2^s$ ($s$: サブネット部に割り当てられたビット数)
- サブネットマスク: ネットワーク部(サブネット部含む)を**「1」、ホスト部を「0」**で表した32ビットの値。
- プレフィックス表記 (CIDR): IPアドレス/ネットワーク部のビット数。
- 例: 192.168.1.1、255.255.0.0 は192.168.0.0/16(ネットワーク部のビット数が16)
4. IPv6
| 項目 | IPv4 | IPv6 |
| アドレス長 | 32ビット | 128ビット |
| アドレス数 | 約 $4.3 \times 10^9$ 個(43億個) | 約 3.4 × 10^{38} 個 |
| 表記法 | 8ビット(1オクテッド)毎に区切った10進数表記 | 16ビット毎に区切った16進数表記 |
IPv6アドレスの種類
- ユニキャストアドレス (1対1):
- グローバルユニキャストアドレス: インターネット上で一意。
- 構造: グローバルルーティングプレフィックス (ISPなどから割当) + サブネットID (ユーザー側で分割) + インターフェースID (64ビット、ホスト部に相当)。
- リンクローカルユニキャストアドレス: 同一サブネット内でのみ有効。
fe80::/10で始まる。
- ユニークローカルユニキャストアドレス: インターネットに接続しない異なるサブネット間で利用。
- マルチキャストアドレス (1対n): 複数のノードに同時に送信。
ff00::/8で始まる。ブロードキャストはこの一種。
- エニーキャストアドレス (1対最近隣): 複数のノードに同じアドレスを設定し、そのうち最も近い(ルーティングコストが低い)1ノードに送信。
IPv4とIPv6の比較
| 項目 | IPv4 | IPv6 |
|---|
| アドレス長 | 32bit | 128bit |
| アドレス数 | 約43億 | 約3.4×10³⁸ |
| 表記形式 | 10進数(例:192.168.0.1) | 16進数(例:2001:db8::1) |
| 通信形式 | 主にユニキャスト | ユニキャスト・マルチキャスト・エニーキャスト |
2. ICMP (Internet Control Message Protocol)
- 役割: ネットワーク間の疎通確認やエラー通知を行う。
ICMPメッセージの構成
| フィールド | 意味 | ビット数 |
|---|
| タイプ | メッセージの種類 | 8bit |
| コード | 詳細情報 | 8bit |
| チェックサム | エラーチェック | 16bit |
| データ | オプション情報 | 可変長 |
2-3. 主なタイプ番号
| タイプ | 名称 | 内容 |
|---|
| 0 | エコー応答 | pingの返信 |
| 3 | 宛先到達不可 | ルートが存在しない等 |
| 8 | エコー要求 | pingの送信 |
| 11 | 時間超過 | TTLが0になった場合 |
3. IPアドレス
3-1. 役割
ネットワーク上の各機器を論理的に識別するための「住所」。
構成は次の2部からなります。
- ネットワーク部:ネットワークを特定
- ホスト部:ネットワーク内の機器を特定
全体は32ビット(IPv4の場合)。
3-2. アドレスクラス(クラスフル方式)
| クラス | ネットワーク部 | ホスト部 | 第1オクテット範囲 | 用途 |
|---|
| A | 8bit | 24bit | 1〜126 | 大規模ネットワーク |
| B | 16bit | 16bit | 128〜191 | 中規模ネットワーク |
| C | 24bit | 8bit | 192〜223 | 小規模ネットワーク |
| D | – | – | 224〜239 | マルチキャスト用 |
| E | – | – | 240〜255 | 予約用 |
3-4. ネットワークアドレスとブロードキャストアドレス
| 種類 | 説明 |
|---|
| ネットワークアドレス | ホスト部が全て「0」 |
| ブロードキャストアドレス | ホスト部が全て「1」 |
| リミテッドブロードキャスト | 同一ネットワーク内全宛先へ |
| ダイレクトブロードキャスト | 他ネットワーク宛ての全ホストへ |
3-5. サブネット化
- 目的:ネットワークを細かく分けて負荷分散・管理効率化を図る。
- サブネット数の計算式:
サブネット化
- サブネット化: 1つのネットワークを複数の小さなネットワークに分割し、ブロードキャストドメインを小さくして負荷を軽減するための技術。
- サブネット部: IPアドレスのホスト部の一部を削って、新たなネットワーク識別子として割り当てた部分。
- サブネットの数: $2^s$ ($s$: サブネット部に割り当てられたビット数)
- サブネットマスク: ネットワーク部(サブネット部含む)を**「1」、ホスト部を「0」**で表した32ビットの値。
- プレフィックス表記 (CIDR): IPアドレス/ネットワーク部のビット数。
- 例: 192.168.1.1、255.255.0.0 は192.168.0.0/16(ネットワーク部のビット数が16)
コメント