Skip to content

필사 모드: [コンピュータネットワーク] 04. プロトコル階層とサービスモデル

日本語
0%
정확도 0%
💡 왼쪽 원문을 읽으면서 오른쪽에 따라 써보세요. Tab 키로 힌트를 받을 수 있습니다.
원문 렌더가 준비되기 전까지 텍스트 가이드로 표시합니다.

本記事は James Kurose, Keith Ross 著 Computer Networking: A Top-Down Approach (6th Edition) の教科書を基にまとめた内容です。

1. プロトコル階層化の必要性

インターネットは非常に複雑なシステムである。多数のアプリケーション、様々なエンドシステム、パケットスイッチ、リンク、プロトコルが存在する。

この複雑さを管理するために**階層化(layering)**を使用する。

1.1 航空旅行の比喩

航空旅行も複数の階層に分けることができる:

出発地 目的地

────── ──────

チケット購入 手荷物受取

↓ ↑

手荷物預け 手荷物引取

↓ ↑

搭乗ゲート 降機ゲート

↓ ↑

離陸 着陸

↓ ↑

航路飛行 ─────────────────────> 航路飛行

各階層は自分の機能を実行し、下位階層のサービスを利用する。

1.2 階層化の利点

- **モジュール化**:各階層の内部実装を独立に変更可能

- **複雑さの管理**:全体システムを小さな部分に分けて理解

- **柔軟性**:ある階層のプロトコルを別のものに交換可能

2. インターネットプロトコルスタック(5層モデル)

┌─────────────────┐

│ アプリケーション層 │ Application Layer

├─────────────────┤

│ トランスポート層 │ Transport Layer

├─────────────────┤

│ ネットワーク層 │ Network Layer

├─────────────────┤

│ リンク層 │ Link Layer

├─────────────────┤

│ 物理層 │ Physical Layer

└─────────────────┘

2.1 アプリケーション層(Application Layer)

ネットワークアプリケーションとアプリケーション層プロトコルが存在する階層である。

- **HTTP**:Web文書の要求と転送

- **SMTP**:メール転送

- **FTP**:ファイル転送

- **DNS**:ドメイン名をIPアドレスに変換

アプリケーション層の情報パケットを**メッセージ(message)**と呼ぶ。

2.2 トランスポート層(Transport Layer)

アプリケーション層のメッセージをエンドシステム間で配信する。

- **TCP**:コネクション指向、信頼性のある転送、輻輳制御、フロー制御

- **UDP**:コネクションレス、信頼性のない転送、最小限のサービス

トランスポート層のパケットを**セグメント(segment)**と呼ぶ。

TCPサービス:

✓ 信頼性のあるデータ配信(再送)

✓ フロー制御(受信者の過負荷防止)

✓ 輻輳制御(ネットワークの過負荷防止)

UDPサービス:

✓ 高速な転送(オーバーヘッド最小)

✗ 信頼性保証なし

✗ フロー/輻輳制御なし

2.3 ネットワーク層(Network Layer)

あるホストから別のホストへ**データグラム(datagram)**を配信する。

- **IPプロトコル**:データグラムのフィールド定義、アドレス体系

- **ルーティングプロトコル**:送信元から宛先までの経路決定

ネットワーク層のパケットを**データグラム(datagram)**と呼ぶ。

ネットワーク層の2つの核心機能:

1. フォワーディング(Forwarding):パケットを適切な出力リンクへ移動

2. ルーティング(Routing):送信元-宛先間の経路決定

> IPプロトコルは1つしかないため、ネットワーク層は一般に**IP層**とも呼ばれる。

2.4 リンク層(Link Layer)

ネットワーク層が送信元から宛先までの経路を決定するが、実際にあるノードから次のノードへデータグラムを配信するのは**リンク層**の役割である。

- **イーサネット(Ethernet)**

- **WiFi(802.11)**

- **PPP**

リンク層のパケットを**フレーム(frame)**と呼ぶ。

経路:A → R1 → R2 → R3 → B

リンク層の役割:

A --[イーサネット]--> R1 --[WiFi]--> R2 --[PPP]--> R3 --[イーサネット]--> B

各区間(リンク)ごとに異なるリンク層プロトコルを使用できる。

2.5 物理層(Physical Layer)

リンク層がフレーム単位でデータを配信するのに対し、物理層はフレーム内の**個々のビット**を1つのノードから次のノードへ移動させる。

- 実際の電気信号、光信号、無線信号を扱う階層

- 媒体(銅線、光ファイバー、無線)によりプロトコルが異なる

3. OSI 7層モデルとの比較

ISOが提案した**OSI(Open Systems Interconnection)**モデルは7つの階層で構成される。

OSI 7層 インターネット5層

────────── ────────────

アプリケーション層 ─┐

プレゼンテーション層─┤── アプリケーション層

セッション層 ─┘

トランスポート層 ──── トランスポート層

ネットワーク層 ──── ネットワーク層

データリンク層 ──── リンク層

物理層 ──── 物理層

プレゼンテーション層(Presentation Layer)

- データ圧縮、暗号化、データ形式変換

- インターネットモデルではアプリケーションが直接処理

セッション層(Session Layer)

- データ交換の同期化、チェックポインティング、回復

- インターネットモデルではアプリケーションが直接処理

> インターネットプロトコルスタックでは、プレゼンテーション/セッション層の機能が必要な場合、**アプリケーション開発者**が直接実装する。

4. カプセル化(Encapsulation)

4.1 カプセル化のプロセス

各階層は上位階層から受け取ったデータに自分の**ヘッダ情報**を追加する。

アプリケーション: [メッセージ]

トランスポート: [Ht|メッセージ] ← セグメント

ネットワーク: [Hn|Ht|メッセージ] ← データグラム

リンク: [Hl|Hn|Ht|メッセージ] ← フレーム

物理: 01011001010110... ← ビット

| 階層 | PDU(Protocol Data Unit) | 追加されるヘッダ |

| ---------------- | ------------------------- | ---------------------- |

| アプリケーション | メッセージ(Message) | - |

| トランスポート | セグメント(Segment) | トランスポート層ヘッダ |

| ネットワーク | データグラム(Datagram) | ネットワーク層ヘッダ |

| リンク | フレーム(Frame) | リンク層ヘッダ |

4.2 全体のカプセル化フロー

送信元ホスト ルーター 宛先ホスト

┌──────────┐ ┌──────────────┐ ┌──────────┐

│アプリケーション│ │ │ │アプリケーション│

├──────────┤ │ │ ├──────────┤

│トランスポート│ │ │ │トランスポート│

├──────────┤ ├──────────────┤ ├──────────┤

│ネットワーク │ │ ネットワーク │ │ネットワーク │

├──────────┤ ├──────────────┤ ├──────────┤

│ リンク │ │ リンク │ │ リンク │

├──────────┤ ├──────────────┤ ├──────────┤

│ 物理 │ │ 物理 │ │ 物理 │

└──────────┘ └──────────────┘ └──────────┘

ホスト:5つの階層すべてを実装

ルーター:下位3階層のみ実装(ネットワーク、リンク、物理)

スイッチ:下位2階層のみ実装(リンク、物理)

5. ネットワークセキュリティの基礎

5.1 初期のインターネットとセキュリティ

初期のインターネットは信頼できる少数のユーザーのみが使用することを前提に設計された。そのため、セキュリティは元の設計に含まれていなかった。

今日、ネットワークセキュリティは不可欠であり、以下のような脅威が存在する。

5.2 主要なネットワークセキュリティの脅威

マルウェア(Malware)

マルウェアの種類:

├── ウイルス(Virus):ユーザーの操作で感染

├── ワーム(Worm):自動的にネットワークを通じて伝播

├── トロイの木馬(Trojan):正常なソフトウェアに偽装

└── ボットネット(Botnet):感染したコンピュータのネットワーク

サービス拒否攻撃(DoS:Denial of Service)

ネットワーク、ホスト、またはインフラを正規ユーザーが使用できなくする攻撃である。

DoS攻撃の3つのタイプ:

1. 脆弱性攻撃:特定の脆弱性を利用

2. 帯域幅洪水:大量のパケットでリンクを飽和

3. 接続洪水:半開き接続(half-open)を大量生成

**DDoS(Distributed DoS)**:複数の送信元から同時に攻撃

ボットネットPC1 ──┐

ボットネットPC2 ──┼──> 攻撃対象サーバー(過負荷)

ボットネットPC3 ──┤

... ──┘

パケットスニッフィング(Packet Sniffing)

共有メディア環境で通過するパケットのコピーを傍受する行為である。

共有メディア(WiFi等):

A ──────────────── B

└── スニッファー(パケット盗聴器)

すべてのパケットのコピーを受信

IPスプーフィング(IP Spoofing)

偽の送信元IPアドレスを持つパケットを生成し、他のユーザーになりすます攻撃である。

攻撃者が送信元IPを偽造:

実際のIP:192.168.1.100

偽造IP:10.0.0.1(信頼されたホスト)

サーバーはパケットが信頼されたホストから来たと誤認

5.3 セキュリティの重要原則

ネットワークセキュリティの核心要素:

├── 機密性(Confidentiality):送受信者のみが内容を理解

├── 完全性(Integrity):転送中のデータ改ざんを検出

├── 認証(Authentication):相手の身元確認

└── 可用性(Availability):サービスが常に利用可能

6. まとめ

インターネットプロトコルスタックの要約:

階層 PDU 核心プロトコル 役割

────── ────── ──────────── ──────

アプリケーション メッセージ HTTP,SMTP,DNS ネットワークアプリケーション

トランスポート セグメント TCP, UDP エンドツーエンドデータ配信

ネットワーク データグラム IP ホスト間ルーティング

リンク フレーム イーサネット,WiFi 隣接ノード間配信

物理 ビット - ビットの物理的転送

カプセル化の核心:

- 各階層は上位階層のPDUを**ペイロード(payload)**として扱い、自分のヘッダを追加する

- 受信側では各階層が自分のヘッダを除去し上位階層に渡す(**デカプセル化**)

7. 確認問題

| 階層 | PDU |

| ---------------- | ------------------------ |

| アプリケーション | メッセージ(Message) |

| トランスポート | セグメント(Segment) |

| ネットワーク | データグラム(Datagram) |

| リンク | フレーム(Frame) |

| 物理 | ビット(Bit) |

ルーターは下位**3階層**(物理、リンク、ネットワーク)を実装する。ルーターはIPデータグラムのヘッダを確認してフォワーディング決定を行うためネットワーク層まで必要だが、トランスポート層とアプリケーション層は実装しない。

**プレゼンテーション(Presentation)層**と**セッション(Session)層**である。

- プレゼンテーション層:データ圧縮、暗号化、形式変換を担当

- セッション層:データ交換の同期化、チェックポインティングを担当

インターネットではこれらの機能が必要な場合、アプリケーション開発者が直接実装する。

현재 단락 (1/168)

本記事は James Kurose, Keith Ross 著 Computer Networking: A Top-Down Approach (6th Edition) の教科書を基にまとめた内容...

작성 글자: 0원문 글자: 5,021작성 단락: 0/168