Ethernetの仕様 (MAC)

イーサネットのMAC(Media Access Control)についてまとめます。規格書ではClause 2,3に記載されています。

Claause 2.2.3 Overview of interactions

MACクライアントからは、MA_DATA.request, MA_DATA.indicationが見える。

Clause 2.3.1 MA_DATA.request

2.3.1.1 Function

MACクライアントが単一のピアもしくは複数のピア(グループアドレス時)にデータを送る。

2.3.1.2 Semantics of the service primitive

MA_DATA.requestには、destination_address, source_address, mac_service_data_unit, frame_check_sequenceが渡される。

destination_addressは個々のあるいはグループMACアドレス。 これからMACフレームの先頭に付加するDAフィールドが決まる。

source_addressは存在する場合、個々の(individual)MACアドレスを指定する。 source_addressが指定されていない場合、ローカルMACサブレイヤーが、自身に対応する値を挿入する。

mac_servie_data_unitからは、データユニットの長さを決定できる。

frame_check_sequenceが存在する場合、フレームチェックシーケンスを指定する(3.2.9参照) frame_check_sequenceが存在しない場合、MACサブレイヤが計算し、フレームの最後に付加する。

Clause MA_DATA.indication

2.3.2.1 Function

MACサブレイヤからMACクライアント(グループアドレス時には複数クライアント)へデータを転送する。

2.3.2.2 Semantics of the service primitifve

MA_DATA.indicationには、destination_address, source_address, mac_service_data_unit, frame_check_sequence, reception_statusが渡される。

frame_check_sequenceはオプション。reception_statusはステータス情報をMACクライアントに渡す。

2.3.2.3 When generated

MA_DATA.indicationは、受信したフレームが正しい形式で、エラーがなく、送付先アドレスがこのMACを指定している場合のみ、MACクライアントに渡される。

Clause 3 Media Access Control (MAC) frame and packet specifications

Clause 2で定義されているMAC Service specificationは、あくまで論理的なもので、 実際のEthernetのパケットへの対応は本節で規定している。

MACフレームは3種類

  • 基本フレーム
  • Q-タグ付きフレーム
  • エンベロープフレーム

“Packet format”

点線の領域については、サイズは固定されていない。4.4節で最小、最大サイズが規定されているが、 これは図のFRAMEの部分のサイズのこと。

Clause 3.2 Elements of the MAC frame and packet

Clause 3.2.1 Preamble field

PLS回路が受信パケットに同期できるようにするための7オクテットのフィールド。

Clause 3.2.2 Start Frame Delimiter (SFD) field

SFDフィールドは10101011固定。MACフレームはSFDの直後から開始する。

Clause 3.2.3 Address fields

MACフレームは送信先アドレス、送信元アドレスをこの順番で含む。

送信先アドレスの最初のビット(LSB)はアドレスタイプ指定ビットで、0は個別アドレス、 1はグループアドレス。送信元アドレスのLSBは0固定。

2番目のビットはグローバル管理アドレスか否かを示す。0でグローバル管理アドレス、 1でそれ以外。ブロードキャストの場合も1になる。

Clause 3.2.6 Length/Type field

一番目のオクテットの値が1500d(0x5DC)以下であるとき、MAC Client Data fieldに含まれるバイト数を意味する。 一番目のオクテットの値が1536d(0x600)以上であるとき、MACクライアントプロトコルの型を意味する。

このどちらの場合も、MAC Client Data fieldの長さがプロトコルで要求されている最小値よりも短い場合、 Pad fieldがMAC Client Data fieldの後、FCSの前に付加される。

Clause 3.2.9 Frame Check Sequence (FCS) field

32bit CRC値はMACフレームの送信先アドレス、送信元アドレス、Length/Typeフィールド、Mac Client Data、Padの値で計算する。

comments powered by Disqus