Infra Engineer

【CCNA連載】イーサネット④
2020.10.31
Lv1

【CCNA連載】イーサネット④

Ethernetでのデータのやりとり

前回はMACアドレスやLAN内のトポロジについて説明しました。
今回はEthernetでのデータのやり取りについて説明します。

フレームフォーマット

イーサネットではMACアドレスを使用して通信相手を識別するため
データをやり取りする際には、宛先や送信元の情報としてMACアドレスをデータのどこかにつける必要があります。
OSI参照モデルのところで説明したように各層ではその層で必要なデータがヘッダとして付与されます。Ethernetでは相手を識別するためのMACアドレスがその必要なデータとなります。
L2とL1を網羅するEthernetでは上位層からのデータにMACアドレスが格納されたEthernetヘッダというものを付加してフレームを作成します。
次はEthernetフレームの構造(フレームフォーマット)について見てみましょう。
Ethernetにはいくつかのフレームの構造(フォーマット)があります。
DEC、Intel、Xeroxによって開発されたEthernetⅡ(DIX形式)やIEEEで策定されたIEEE802.3などがあるですが、
一般的に使用されているのはEthernetⅡ形式です。
ここではEthernetⅡ形式についてとりあげます。
EthernetⅡのフレームフォーマットは以下のようになります。

・プリアンブル
通信する際に同期を取るために使用される部分です。
・宛先MACアドレス
通信する宛先のMACアドレスとなります。
・送信元MACアドレス
通信する送信元のMACアドレスとなります。
・タイプ
上位層であるネットワーク層のプロトコルを表す値が入っています。いずれ出てきますがネットワーク層のプロトコルでIPを使用しているなら
IPを表す0x0800といった値が入ります。フレームを受け取った相手はこの値を確認することでネットワーク層のどのプロトコルを使用しているのか、
つまりデータ部分に入っているものをどのプロトコルとして扱えばよいかがわかります。
・データ
データ部分にはネットワーク層のPDUが入っています。IPパケットなどです。
・FCS
受信したフレームに誤りがないかチェックするために使われます。

それぞれのサイズを加算すれば最大サイズが出せるのですが、このときプリアンブルは含めないため、イーサネットフレームの
最大サイズは1518バイトとなります。

参考
LANではEthernet II形式が多くCCNAの試験でもそちらのフレームフォーマットの方が問われることが多いのですがIEEE802.3フレームフォーマットが
全く使われていないわけではありません。
パケットキャプチャといってネットワーク内を流れているパケットの中身をみることができるツールなどで見てみると
IEEE802.3が流れていることが確認できることがあります。
STP(CCNAの範囲内なので後にでてきます)というプロトコルのフレームなどです。

フレームの流れ

Ethernetで通信する際の動作について見てみましょう。

通信する際には、通信したい宛先のMACアドレスを宛先MACアドレスのフィールドに格納し、送信元は自身のMACアドレスを付与します。
ネットワーク層の所で説明しますが、一般的にLAN内ではIPというネットワーク層のアドレスを使用するため、タイプフィールドには0x0800が入ります。
データ部分には送信したいデータがつけられ、FCSにはエラーチェック用のCRCという値が入ります。
このようなフレームが送信元から送信されることになります。
フレームを受け取った相手は、CRCの計算をしてエラーがなく、そのフレームが自身宛であれば処理します。
エラーがあった場合は破棄されます。