Huney

応用情報(AP) / ネットワーク

データリンク層の制御とプロトコルとは?CSMA/CD・ARP・PPPを基礎から理解しよう

データリンク層で利用されるメディアアクセス制御について、CSMA/CD、トークンパッシング、TDMA、ARP、RARP、PPP、PPPoE、IEEE 802.3を初心者向けに解説します。

読了時間:約9分
  • #ネットワーク
  • #データリンク層
  • #CSMA/CD
  • #ARP
  • #RARP
  • #PPP
  • #PPPoE
  • #IEEE 802.3
  • #応用情報技術者試験

データリンク層の制御とプロトコルとは?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。役割ごとに分けると覚えやすい。