- Authors

- Name
- Youngju Kim
- @fjvbn20031
本記事は James Kurose, Keith Ross 著 Computer Networking: A Top-Down Approach (6th Edition) の教科書を基にまとめた内容です。
- 1. ネットワークコア
- 2. パケット交換(Packet Switching)
- 3. 回線交換(Circuit Switching)
- 4. パケット交換 vs 回線交換の比較
- 5. ネットワークのネットワーク(A Network of Networks)
- 6. まとめ
- 7. 確認問題
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 フォワーディングテーブルとルーティング
パケットが宛先に到達するためには、ルーターが適切な出力リンクを選択しなければならない。
- 各エンドシステムはIPアドレスを持つ
- 送信者はパケットヘッダに宛先IPアドレスを含める
- ルーターは**フォワーディングテーブル(forwarding table)**を参照して出力リンクを決定する
- フォワーディングテーブルはルーティングプロトコルによって自動的に設定される
パケットヘッダ:宛先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. 確認問題
Q1. 蓄積転送(Store-and-Forward)とは?
パケットスイッチが出力リンクへ最初のビットを送信する前に、パケットのすべてのビットを受信完了しなければならない伝送方式である。これにより、各リンクを通過するたびに L/R 秒の伝送遅延が追加される。
Q2. パケット損失はなぜ発生するのか?
パケットスイッチの出力バッファ(キュー)空間が有限であるためである。到着率が出力リンクの伝送率を超えるとパケットがキューに溜まり、キューが満杯になると新しく到着するパケットが**ドロップ(drop)**される。
Q3. パケット交換が回線交換より効率的な理由は?
**統計的多重化(statistical multiplexing)**のおかげである。すべてのユーザーが同時にデータを送信するわけではないため、パケット交換はリソースを事前に予約せず必要な時だけリンクを使用する。これにより、同じリソースでより多くのユーザーを収容できる。