---
title: "CSMA/CDとは？衝突検出と再送の仕組み【基本情報技術者試験】"
description: "CSMA/CDを「通信路が空いているか確認し、衝突を検出したら待って再送する方式」として整理し、CSMA/CA、トークンパッシング、TDMAとの違いをFE科目A向けに解説します。"
last_modified_at: "2026-07-27"
canonical_url: "https://stemtazoo.github.io/fe/csma-cd/"
section: "fe"
---

## まず結論

CSMA/CDとは、**複数の端末が同じ通信路を共有するときに、通信路が空いているかを確認して送信し、衝突を検出したら待って再送する方式**です。

基本情報技術者試験では、次の流れで見分けます。

```text
通信路が空いているか確認
↓
空いていれば送信
↓
衝突を検出
↓
ランダムな時間待つ
↓
再送
```

特に重要なのは、**空きを確認するだけではなく、衝突後の待機と再送まで含む**ことです。

## 直感的な説明

CSMA/CDは、複数人が同じ会話の場で発言する状況に似ています。

```text
誰かが話しているか確認する
↓
誰も話していなければ話し始める
↓
同時に話し始めたら衝突
↓
いったんやめる
↓
少し時間をずらして話し直す
```

複数の端末が同じ通信路を使うため、送信前に確認しても、ほぼ同時に送信を始めれば衝突することがあります。

そのため、CSMA/CDでは衝突を検出した後に送信を中止し、少し待ってから再送します。

## 定義・仕組み

CSMA/CDは、**Carrier Sense Multiple Access with Collision Detection**の略です。

| 用語 | 意味 |
|---|---|
| Carrier Sense | 通信路が使用中か確認する |
| Multiple Access | 複数の端末が同じ通信路を共有する |
| Collision Detection | 衝突を検出する |

### 基本動作

1. 送信前に通信路を確認する
2. 空いていれば送信を開始する
3. 衝突が起きたら送信を中止する
4. ランダムな時間だけ待つ
5. 再度、通信路を確認して送信する

待ち時間をずらすのは、衝突した端末が同じタイミングで再送し、再び衝突するのを避けるためです。

### 衝突は完全には防げない

CSMA/CDは、衝突を完全に防ぐ方式ではありません。

```text
端末A：通信路は空いている
端末B：通信路は空いている
↓
ほぼ同時に送信
↓
衝突
```

そのため、名称にもあるように、**衝突の検出**が重要です。

## 科目Aでどう出る？

科目Aでは、複数の送信方式の説明からCSMA/CDを選ぶ問題が出ます。

### 選択肢を切る判断表

| 問題文の表現 | 選ぶ方式 |
|---|---|
| 通信路の空きを確認し、衝突後に再送する | CSMA/CD |
| トークンを持つ端末だけが送信する | トークンパッシング |
| 決められた時間枠だけ送信する | TDMA |
| 無線LANで衝突を避ける | CSMA/CA |
| 中央装置が順番に送信を許可する | ポーリング |

### 試験中の判断手順

```text
通信路の空きを確認するか
↓
衝突を検出するか
↓
待ってから再送するか
```

この3点がそろっていれば、CSMA/CDと判断できます。

## どんな場面で使う？

CSMA/CDは、従来の共有型Ethernetで使われてきた方式です。

複数の端末が1本の通信路を共有する環境では、同時送信による衝突を考える必要があります。

一方、現在の一般的なスイッチングハブを使った全二重通信では、端末ごとに通信路が分かれており、衝突が起こりにくいため、CSMA/CDの出番は小さくなっています。

FE試験では、現在の利用状況よりも、**方式の特徴と他方式との違い**を判断できることが重要です。

## よくある誤解・混同

### 通信路を確認するので、衝突は起きない

誤りです。

複数の端末がほぼ同時に「空いている」と判断すると、衝突が起こります。

```text
確認
→ 送信
→ 衝突検出
→ 待機
→ 再送
```

までが一連の動作です。

### CSMA/CDとCSMA/CAは同じ

異なります。

```text
CSMA/CD
→ 衝突したことを検出する

CSMA/CA
→ 衝突をできるだけ避ける
```

一般に、CSMA/CDは共有型Ethernet、CSMA/CAは無線LANと結び付けて整理します。

### トークンパッシングと同じ

異なります。

トークンパッシングは、特殊な制御情報であるトークンを受け取った端末だけが送信します。

```text
トークンあり
→ 送信できる

トークンなし
→ 送信できない
```

CSMA/CDでは、トークンを使いません。

### 時間枠を割り当てる方式である

誤りです。

時間枠を割り当てるのはTDMAです。

```text
CSMA/CD
→ 空きを確認して送信

TDMA
→ 決められた時間枠で送信
```

## まとめ（試験直前用）

- CSMA/CDは、通信路が空いているか確認して送信する方式
- 衝突したら送信を中止し、ランダムな時間待って再送する
- 衝突を完全に防ぐのではなく、衝突を検出する
- トークンを使うのはトークンパッシング、時間枠を使うのはTDMA
- CSMA/CAは衝突回避、CSMA/CDは衝突検出
