Chapter05 OSI参照モデルとは_"後編データリンク層"

筆者が大学の講義で手に入れた情報をクラウド上(note上)に残すために書いています。講義ノートに近いものです。せっかくインプットしたので、アウトプットしときたいという目的も含まれています。

その道のプロではありません。誤情報が含まれていたり、厳密さに欠けている可能性があります。

データリンク層の説明です。
前編を見ていない人は前編からの続きで見ると分かりやすいと思います。

データリンク層の目的

LAN内の特定の相手にデータを送る
複数のコンピュータのデータ通信の「衝突」を回避する

前回は特定の相手にデータを送ると言う部分にフォーカスしていたので、今回は衝突の回避と言う部分から説明していきます。



データの衝突

同時にデータ通信が発生すると、送信データが壊れてしまう恐れがある

スクリーンショット 2020-02-04 0.04.16

物理の波の授業で見たようなことが起こります

スクリーンショット 2020-02-04 0.04.27


メディアアクセス制御

Media Access Control : MAC

衝突を回避する方法
一か八かで適当
確認
例 CSMA/CD(イーサネット)
順番
例 トークンパッシング
時刻(スケジューリング)
例 TDMA(携帯電話)
信号機設置
例 USB,Bluetooth
立体交差
例 回線交換(電話)


CSMA/CD


CSMA/CD(Carrier Sense Multiple Access with Collision Detection)

データ通信が行われているかどうかを確認し、通信がなければ送信を試みる方式
・衝突が起きたらランダムな時間を待って、データを再送信する

CSMA/CDにおける衝突検知方法

フレームの先頭64bitのプリアンブルを使って、検知する

プリアンブルは必ず「101010....1011」となっている。

衝突があった場合、先頭64bitが変な形になる。

そうやって検知する。

わりと単純なシステム。


CAMA/CD方式の動作原理

ex : AがBにデータを送信する際、CがDにデータを送りたい場合

スクリーンショット 2020-02-04 0.18.43

1 : Cは回線中にデータが流れているかどうかを監視
2 : Aのデータ送信終了を検知後、Cはデータを送信開始

ここで2ケース考えてみる

ケース1
3 : Cの他にデータを同時に送信しようとするPCがない場合

Cは無事にDにデータを送信できる。

ケース2
3 : Cと同時にEもデータを送信しようとしている場合

CとEが同時にデータを送信開始

スクリーンショット 2020-02-04 0.23.23

4 : データが衝突し、破滅

スクリーンショット 2020-02-04 0.23.34

5 : C(とE)は衝突を検知し、ジャム信号を送信

スクリーンショット 2020-02-04 0.27.06

ジャム信号
衝突が発生したことを知らせる信号
「1010...10」の32bit
6 : ジャム信号送信後、
CとEはそれぞれランダムな時間待機し、再度データ送信

このランダムな時間をバックオフタイムと呼ぶ
コンピュータごとに異なる時間
再送信のタイミングはCが最初かEが最初かわからない

CSMA/CD方式の欠点

LANに接続するノードが多いと衝突が多発
待ち時間が増大
実効的なデータ通信速度の低下
1つのノードが送信した信号はLAN内すべてのノードに届くのが前提
無線LANなどで使えない
高速通信やLANの物理的距離が長い場合に不向き
10ギガビットイーサネットでは使わない


CSMA/CA

Carrier Sense Multiple Access with Collision Avoidance

衝突の回避

・無線LANにおけるMAC方式
・基本方針 : 電波が使われていない場合、ランダム時間待ってから、フレームを送信

スクリーンショット 2020-02-04 0.34.41

線路が使われていない場合、直ちにフレームを送信

CSMA/CAの動作原理

ex : Aがアクセスポイント(AP)にフレームを送信
1 : Aは空中の電波状態を確認
他のPCが電波を発してい事を確認
2 : Aはランダムな時間待機後、フレームの送信開始

2の最中、BがAPにフレームの送信を試みる時の動作

3 : Bは空中の電波状態を確認
他のPCが電波を発している。待機。

スクリーンショット 2020-02-04 0.38.51

4 : APはAからのデータを受信完了
5 : APは無線LAN内のすべてのノードにデータ受信完了を通知
(ACK信号という)

スクリーンショット 2020-02-04 0.40.25

6 : ACKを受信したBはランダム時間待機し、フレーム送信開始

CSMA/CAの特徴

ACK信号による衝突の確認
送信者はACK信号が帰ってこなかった場合、衝突が発生したと飯田でき、フレームを再送可能
ACK信号を送受信する事でデータ送信完了の通知が可能
信頼性を高めることができる
全体のスループット(待ち時間も含めた平均データ伝送量)がCAMA/CDより低い
隠れ端末問題


他のMAC

CAMA/CR
(Carrier Sense Multiple Access with Collision Resolution)
自動車内のネットワークCAN(Controller Area Network)で用いられるMAC
同時にフレームが送信sなれた時、衝突すると信号が「0」になる性質を利用
特徴
CAN内のノードの識別子が小さい方が伝送の優先度が高い
トークンパッシング
「トークン」と呼ばれる、回線使用権データを持っているノードがフレームを伝送できる方式
リング状のネットワークで用いられる

スクリーンショット 2020-02-04 0.48.40

特徴
一定時間待てば確実にデータを送信できる
回線のどこかで故障があると、回線使用権データを送付できず、全ノードがデータを送れなくなることがある
TDMA
Time Division Multiple Access
各ノードのデータ送信権を時間ごとに分ける方式
特徴
トークンパッシングと似ている。
ノードの障害が全体に影響しない
時刻の動機が必要
ポーリング
LAN内の1つのノードがリーダーとなり、
他のノードのデータの出力を指示する方式
USB,Bluetoothで使われている
特徴
リーダーとなるノードの負荷が大きい
リーダーがLANから離脱すると通信ができなくなる
CDMA
Code Division Multiple Access
携帯電話の通信で用いられていた方法
各ノードに個別のコードを割当、
複数ノードから同時に送られてきたデータから対象の符号を使い、そのノードからのデータのみを取り出す方法


この記事が気に入ったらサポートをしてみませんか?