本記事は James Kurose, Keith Ross 著 Computer Networking: A Top-Down Approach (6th Edition) の教科書を基にまとめた内容です。
1. ネットワークコア
ネットワークコアは、エンドシステム同士を接続する**パケットスイッチ**と**リンク**のメッシュである。データ転送方式には大きく2つがある:
- **パケット交換(Packet Switching)**
- **回線交換(Circuit Switching)**
2. パケット交換(Packet Switching)
2.1 基本概念
アプリケーション層のメッセージを小さなデータの塊である**パケット(packet)**に分割して送信する。各パケットは通信リンクとパケットスイッチ(ルーター、リンク層スイッチ)を経由して宛先に到達する。
2.2 蓄積転送(Store-and-Forward Transmission)
ほとんどのパケットスイッチは**蓄積転送**方式を使用する。
> スイッチが出力リンクへパケットの最初のビットを送信する**前に**、パケット全体を受信しなければならない。
送信元(Source) ルーター 宛先(Destination)
| | |
|==== パケット1 ===>| |
| |==== パケット1 ===>|
|==== パケット2 ===>| |
| |==== パケット2 ===>|
伝送遅延の計算
パケットサイズが `L` ビット、伝送率が `R` bpsの場合:
- 1つのリンクを通過するのにかかる時間:`L/R` 秒
- `N` 個のリンクを通過する総伝送遅延:`N * L/R` 秒(蓄積転送のため)
**例**:パケットサイズ `L = 10,000 bits`、伝送率 `R = 2 Mbps`、リンク2つ
総遅延 = 2 * (10,000 / 2,000,000) = 0.01秒 = 10ms
2.3 キューイング遅延とパケット損失
各パケットスイッチは複数のリンクに接続されており、各リンクに対して**出力バッファ(output buffer)**または**出力キュー(output queue)**を維持する。
┌──────────────────────────┐
入力 ────>│ 出力キュー(バッファ) │────> 出力リンク
リンク │ [pkt3][pkt2][pkt1] ──> │ (R bps)
└──────────────────────────┘
↑ キューイング遅延発生!
キューイング遅延(Queuing Delay)
パケットが出力リンクへの送信を待つ時間である。ネットワークの混雑度に依存する。
パケット損失(Packet Loss)
バッファ空間は有限であるため、到着したパケットが満杯のキューに遭遇すると**パケットドロップ(drop)**が発生する。これが**パケット損失**である。
シナリオ:バッファサイズ = 3パケット
時点1: [pkt1][pkt2][pkt3] → バッファ満杯
時点2: pkt4到着 → バッファ超過 → pkt4ドロップ!
2.4 フォワーディングテーブルとルーティング
パケットが宛先に到達するためには、ルーターが適切な出力リンクを選択しなければならない。
1. 各エンドシステムは**IPアドレス**を持つ
2. 送信者はパケットヘッダに**宛先IPアドレス**を含める
3. ルーターは**フォワーディングテーブル(forwarding table)**を参照して出力リンクを決定する
4. フォワーディングテーブルは**ルーティングプロトコル**によって自動的に設定される
パケットヘッダ:宛先IP = 121.7.106.83
ルーターフォワーディングテーブル:
┌─────────────────┬────────────┐
│ アドレス範囲 │ 出力リンク │
├─────────────────┼────────────┤
│ 121.7.0.0/16 │ リンク2 │
│ 200.23.0.0/16 │ リンク3 │
│ その他 │ リンク0 │
└─────────────────┴────────────┘
→ リンク2へフォワーディング
3. 回線交換(Circuit Switching)
3.1 基本概念
通信を開始する**前に**、送信者と受信者の間に**専用回線(dedicated circuit)**を設定する。
従来の電話ネットワークが代表的な回線交換ネットワークである。
回線交換の過程:
1. 接続設定(回線予約)
2. データ転送(専用リソース使用)
3. 接続解除(回線返却)
核心的な特徴
- 接続期間中**一定の伝送率を保証**する
- リソースが予約されるため**キューイング遅延がない**
- リソースが使用されていなくても他の接続が使用できない(リソース浪費の可能性)
3.2 FDM(周波数分割多重化)
周波数帯域を複数の**周波数バンド**に分割し、各接続に割り当てる。
周波数
^
│ ┌────────┐
│ │ユーザー4│ バンド4
│ ├────────┤
│ │ユーザー3│ バンド3
│ ├────────┤
│ │ユーザー2│ バンド2
│ ├────────┤
│ │ユーザー1│ バンド1
│ └────────┘
└──────────────────> 時間
- 各接続は割り当てられた周波数バンドのみを使用
- FMラジオ局がFDMの良い例
- 一般的なバンド幅:4 kHz(電話ネットワーク)
3.3 TDM(時分割多重化)
時間を一定の長さの**フレーム**に分割し、各フレームを固定数の**タイムスロット**に分けて各接続に割り当てる。
フレーム1 フレーム2 フレーム3
┌──┬──┬──┬──┐ ┌──┬──┬──┬──┐ ┌──┬──┬──┬──┐
│S1│S2│S3│S4│ │S1│S2│S3│S4│ │S1│S2│S3│S4│
└──┴──┴──┴──┘ └──┴──┴──┴──┘ └──┴──┴──┴──┘
──────────────────────────────────────────> 時間
S1: ユーザー1のスロット、S2: ユーザー2のスロット、...
- 各接続は各フレーム内の自分のタイムスロット中のみデータ送信
- 伝送率:リンク伝送率が `R` でスロット数が `N` の場合、各接続の伝送率は `R/N`
4. パケット交換 vs 回線交換の比較
4.1 定量的な比較例
リンク容量:`1 Mbps`
| 方式 | 同時ユーザー数 |
| --------------------------------- | -------------- |
| 回線交換(各100 kbps) | 10人 |
| パケット交換(平均10%アクティブ) | 35人以上可能 |
なぜパケット交換がより多くのユーザーを収容できるのか
ユーザーが `100 kbps` でデータを生成するが、全時間の10%しかアクティブでないと仮定する。
- **回線交換**:アクティブかどうかに関係なく各ユーザーに `100 kbps` を予約 → 最大10人
- **パケット交換**:35人のユーザー中、同時に11人以上がアクティブになる確率は0.0004未満
パケット交換の統計的多重化(Statistical Multiplexing):
35人のユーザー、各10%のアクティブ確率
同時アクティブユーザー数の期待値 = 35 * 0.1 = 3.5人
→ 1 Mbpsリンクで十分対応可能
4.2 メリット・デメリット比較
| 基準 | パケット交換 | 回線交換 |
| ---------------------- | ---------------------- | ---------------------- |
| リソース効率 | 高い(統計的多重化) | 低い(リソース予約) |
| 実装の複雑さ | 低い | 高い(接続設定が必要) |
| 遅延保証 | 保証不可 | 一定の遅延を保証 |
| 混雑時 | パケット損失、遅延増加 | 接続拒否 |
| バースト的トラフィック | 適切に処理 | 非効率的 |
4.3 結論
今日のインターネットは**パケット交換**方式を使用している。
- バースト(bursty)トラフィックに対してより効率的
- よりシンプルでコスト効率が良い
- ただし、リアルタイムサービス(音声、映像)のQoS保証はまだ課題
5. ネットワークのネットワーク(A Network of Networks)
5.1 ISP階層構造の発展
エンドシステムはアクセスISPを通じてインターネットに接続する。では、アクセスISP同士はどのように接続されるのか。
構造1:すべてのアクセスISPを1つのグローバルISPに接続
アクセスISP ─┐
アクセスISP ─┼── グローバルISP
アクセスISP ─┘
非現実的:1つのISPが全世界をカバーしなければならない
構造2:複数のグローバルISPが競争
アクセスISP ── グローバルISP A ── IXP ── グローバルISP B ── アクセスISP
- **IXP(Internet Exchange Point)**:ISP同士がトラフィックを交換するポイント
構造3:多階層構造
アクセスISP ── 地域ISP ── Tier-1 ISP ── 地域ISP ── アクセスISP
5.2 現代のインターネット構造
┌─────────────────────┐
│ Tier-1 ISP │
│ (AT&T, NTT等) │
└──────┬──────┬───────┘
│ IXP │
┌────────────┤ ├────────────┐
│ │ │ │
┌────┴────┐ ┌───┴───┐ ┌────┴────┐
│地域ISP │ │地域ISP│ │地域ISP │
└────┬────┘ └───┬───┘ └────┬────┘
│ │ │
┌────┴────┐ ┌───┴───┐ ┌────┴────┐
│アクセス │ │アクセス│ │アクセス │
│ ISP │ │ ISP │ │ ISP │
└─────────┘ └───────┘ └─────────┘
主要な構成要素
- **Tier-1 ISP**:全世界をカバーする最上位ISP(約12社)
- **IXP**:ISP間の直接トラフィック交換ポイント(全世界600以上)
- **ピアリング(Peering)**:同じ階層のISP間の無精算トラフィック交換
- **コンテンツプロバイダネットワーク**:Google、Microsoftなどが自社ネットワークを構築
Googleのネットワーク戦略:
┌────────────────────────────────┐
│ Googleデータセンター(全世界) │
│ 自社プライベートネットワークで接続│
│ Tier-1、IXPに直接接続 │
│ → 中間ISPコスト削減 │
│ → サービス品質を直接制御 │
└────────────────────────────────┘
6. まとめ
ネットワークコアの核心比較:
パケット交換 回線交換
────────── ────────
蓄積転送 専用回線設定
キューイング遅延発生 キューイング遅延なし
統計的多重化 FDM / TDM
パケット損失の可能性 リソース浪費の可能性
今日のインターネット 従来の電話ネットワーク
7. 確認問題
パケットスイッチが出力リンクへ最初のビットを送信する前に、パケットの**すべてのビットを受信完了**しなければならない伝送方式である。これにより、各リンクを通過するたびに `L/R` 秒の伝送遅延が追加される。
パケットスイッチの出力バッファ(キュー)空間が有限であるためである。到着率が出力リンクの伝送率を超えるとパケットがキューに溜まり、キューが満杯になると新しく到着するパケットが**ドロップ(drop)**される。
**統計的多重化(statistical multiplexing)**のおかげである。すべてのユーザーが同時にデータを送信するわけではないため、パケット交換はリソースを事前に予約せず必要な時だけリンクを使用する。これにより、同じリソースでより多くのユーザーを収容できる。
현재 단락 (1/146)
本記事は James Kurose, Keith Ross 著 Computer Networking: A Top-Down Approach (6th Edition) の教科書を基にまとめた内容...