データリンク層の制御とプロトコルとは?CSMA/CD・ARP・PPPを基礎から理解しよう
はじめに
OSI基本参照モデルの第2層が、
データリンク層(Data Link Layer)
です。
データリンク層では、同じ通信媒体を複数の機器で利用するときに、
「誰が、いつデータを送信するのか」
を制御する必要があります。
このような制御をメディアアクセス制御と呼びます。
今回は、
メディアアクセス制御
├─ CSMA/CD
├─ トークンパッシング
└─ TDMA
関連する主なプロトコル・技術
├─ ARP
├─ RARP
├─ PPP
└─ PPPoE
Ethernet
└─ IEEE 802.3
を中心に見ていきます。
1. メディアアクセス制御とは
複数のコンピュータが同じ通信媒体を共有している場合、全員が好きなタイミングでデータを送ると通信が衝突する可能性があります。
そこで、
複数の機器が通信媒体を利用するときの送信方法を制御する
必要があります。
これを**メディアアクセス制御(Media Access Control)**といいます。
代表的な方式として、
- CSMA/CD
- トークンパッシング方式
- TDMA方式
があります。
2. CSMA/CD
CSMA/CDは、
Carrier Sense Multiple Access with Collision Detection
の略です。
従来の共有型・半二重Ethernetで利用されるアクセス制御方式です。
簡単にいうと、
通信路が空いていることを確認してから送信し、衝突した場合は再送する方式
です。
3. CSMA/CDの流れ
CSMA/CDでは、
① 通信路を確認する
↓
② 空いていれば送信する
↓
③ 衝突が発生したか確認する
↓
④ 衝突したら送信を中止する
↓
⑤ 一定の規則に基づくランダムな時間待つ
↓
⑥ 再送する
という流れになります。
複数の端末が同時に送信して信号が衝突することを、
コリジョン(Collision)
と呼びます。
現在一般的なスイッチを利用した全二重Ethernetでは衝突が発生しないため、通常CSMA/CDは利用されません。
4. トークンパッシング方式
**トークンパッシング方式(Token Passing)**では、
トークンと呼ばれる送信権を持っている端末だけがデータを送信する
という方法を利用します。
イメージすると、
端末A
↓
端末B ← トークン
↓
端末C
↓
端末D
のようにトークンを順番に渡していきます。
トークンを持っている端末だけが送信できるため、
基本的にデータの衝突が発生しない
という特徴があります。
一方で、送信したい端末もトークンが回ってくるまで待つ必要があります。
5. CSMA/CDとトークンパッシング
違いを整理すると、
| CSMA/CD | トークンパッシング | |
|---|---|---|
| 送信方法 | 空いていれば送信 | トークンを持つ端末が送信 |
| 衝突 | 発生する可能性あり | 基本的に発生しない |
| 送信権 | 競争して取得 | 順番に取得 |
つまり、
CSMA/CD
→ 空いてる?じゃあ送る!
トークンパッシング
→ 送信権が来たから送る!
という違いです。
6. TDMA方式
**TDMA(Time Division Multiple Access)**は、
時間を分割して、それぞれの端末に通信できる時間を割り当てる方式
です。
日本語では時分割多元接続と呼ばれます。
例えば、
時間 →
| A | B | C | A | B | C |
のように、通信時間を区切ります。
時間1
→ 端末A
時間2
→ 端末B
時間3
→ 端末C
と利用する時間を分けることで、複数の端末で通信媒体を共有します。
7. 3つの方式を整理する
CSMA/CD
→ 通信路を確認して空いていれば送信
→ 衝突したら再送
トークンパッシング
→ トークンを持つ端末だけ送信
TDMA
→ 端末ごとに利用する時間を分割
ポイントは、
複数の端末で同じ通信媒体をどう共有するか
という問題に対して、それぞれ異なる方法で制御していることです。
8. ARP
**ARP(Address Resolution Protocol)**は、
IPv4アドレスから対応するMACアドレスを調べるためのプロトコル
です。
例えば、
192.168.1.10
というIPアドレスの端末へEthernetでデータを送りたいとします。
しかし、Ethernet上でフレームを届けるにはMACアドレスが必要です。
そこでARPを利用します。
IPアドレス
192.168.1.10
↓
ARP
↓
MACアドレス
00:11:22:33:44:55
という対応関係を調べます。
9. ARPの流れ
ARPでは概念的に、
PC-A
「192.168.1.10を持っている人、
MACアドレスを教えて!」
↓
ARP Request
↓
ネットワーク内へ問い合わせ
を行います。
対象の端末は、
「192.168.1.10は私です。
MACアドレスは○○です」
↓
ARP Reply
と応答します。
取得した対応関係は一定時間、
ARPキャッシュ
として保存されます。
10. RARP
**RARP(Reverse Address Resolution Protocol)**は、
MACアドレスからIPアドレスを取得するためのプロトコル
です。
ARPとは逆方向です。
ARP
IPアドレス
↓
MACアドレス
に対して、
RARP
MACアドレス
↓
IPアドレス
となります。
ただし、現在ではIPアドレスなどの設定情報を取得する仕組みとしてDHCPなどが一般的に利用されており、RARPは歴史的な技術として理解しておけば十分です。
11. PPP
**PPP(Point-to-Point Protocol)**は、
2つの機器を1対1で接続するポイントツーポイント通信で利用されるデータリンク層のプロトコル
です。
機器A
│
│ PPP
│
機器B
PPPでは、
- 接続の確立
- 認証
- ネットワーク層プロトコルに関する設定
などを行えます。
PPPの認証方式としては、
PAP
や
CHAP
などがあります。
12. PPPoE
**PPPoE(PPP over Ethernet)**は、
Ethernet上でPPPを利用するための技術
です。
名前をそのまま分解すると、
PPP
over
Ethernet
↓
Ethernet上でPPPを使う
となります。
インターネット接続サービスなどで利用されてきた方式です。
PPP
→ 1対1の通信で利用するプロトコル
PPPoE
→ PPPをEthernet上で利用
と整理しておきましょう。
13. IEEE 802.3
IEEE 802.3は、
Ethernetに関するIEEEの規格
です。
Ethernetでは、通信速度や物理媒体などによってさまざまな規格があります。
例えば、
| 規格例 | 通信速度 |
|---|---|
| 10BASE-T | 10Mbps |
| 100BASE-TX | 100Mbps |
| 1000BASE-T | 1Gbps |
| 10GBASE-T | 10Gbps |
などがあります。
14. Ethernet規格の名前
例えば、
1000BASE-T
を見てみましょう。
1000
↓
1000Mbps = 1Gbps
BASE
↓
ベースバンド方式
T
↓
ツイストペアケーブル
という意味があります。
同じように、
100BASE-TX
100
→ 100Mbps
BASE
→ ベースバンド
TX
→ ツイストペアケーブルを使用する規格
となります。
試験では、Ethernet規格の名称から通信速度や伝送媒体を判断する問題が出ることがあります。
15. 全体を整理する
今回の内容は、大きく3つに分けると分かりやすくなります。
① メディアアクセス制御
CSMA/CD
→ 空いていれば送信
トークンパッシング
→ トークンを持っていれば送信
TDMA
→ 時間を分けて送信
② 主なプロトコル・技術
ARP
→ IPv4アドレスからMACアドレス
RARP
→ MACアドレスからIPアドレス
PPP
→ ポイントツーポイント
PPPoE
→ Ethernet上でPPP
③ Ethernet
IEEE 802.3
→ Ethernetの規格
100BASE-TX
→ 100Mbps
1000BASE-T
→ 1Gbps
10GBASE-T
→ 10Gbps
この3つに分けて覚えておけば整理しやすくなります。
16. まとめ
この記事で覚えること
- メディアアクセス制御は通信媒体を利用する方法を制御する
- CSMA/CDは通信路を確認してから送信する
- CSMA/CDでは衝突を検出すると再送する
- 現在一般的な全二重Ethernetでは通常CSMA/CDは利用しない
- トークンパッシングではトークンを持つ端末だけが送信する
- TDMAでは通信時間を分割して利用する
- ARPはIPv4アドレスからMACアドレスを調べる
- RARPはMACアドレスからIPアドレスを取得する
- PPPはポイントツーポイント通信のプロトコル
- PPPoEはEthernet上でPPPを利用する
- IEEE 802.3はEthernetの規格
- 100BASE-TXは100Mbps
- 1000BASE-Tは1Gbps
- 10GBASE-Tは10Gbps
🍯 はちみつメモ
「どうやって通信媒体を使う?」がCSMA/CD・トークンパッシング・TDMA。「IPとMACをどう対応させる?」がARP・RARP。「1対1でどう接続する?」がPPP。「Ethernetの規格は?」がIEEE 802.3。役割ごとに分けると覚えやすい。