Ethernet

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のパケットへの対応は本節で規定している。

Ethernetの仕様

イーサネットの仕様についての調査メモ。10Gb/s, 40Gb/sあたりを中心に調査。随時更新します。

規格書はIEEE Std 802.3と呼ばれている。無料でダウンロード可能です。 下記ではPCS/PMAについても仕様を読み解いていますが、 大手FPGAベンダ(Xilinx, Intel)の10G対応トランシーバを内蔵したFPGAでは、 10G Base-RのPCS/PMAについては無料のIPコアを使用できます(参考1, 参考2)。 これらのIPコアとMACの間は、XGMIIが使われます。但し、Ethernetの仕様書のようにDDRではなくSDR動作のため、64bit幅です(156.25MHz)。

802.3uで100Mb/s動作が規定された。802.3zで1000Mb/s動作が規定された。 802.3baで40Gb/s, 100Gb/sが追加された。

802.3-2018の構成は次の通り

Section One: Clause 1から20まで、Annex AからHまでと4A。10Mb/sとMAC、 フレームフォーマットについて。

Section Two: Clause 21から33までとAnnex 22Aから33Eまで。100Mb/sについて。

Section Three: Clause 34から43までとAnnex 36Aから43Cまで。1Gb/sについて。

Section Four: Clause 44から55までとAnnex 44Aから55Bまで。10Gb/sについて。

Section Five: Clause 56から77までとAnnex 57Aから76Aまで。

Section Six: Clause 78から95までとAnnex 83Aから93Cまで。Energy-Efficient Ethernet, LLDP, TLV. Clause 80から95までは40Gb/s, 100Gb/s動作の一般的情報と物理層。 Clause 90は時刻同期プロトコル。

Section Seven: Clause 96から115とAnnex 97Aから115A。

Section Eight: Clause 116から126とAnnex 119Aから120E。200Gb/s, 400Gb/s, 2.5Gb/s, 5Gb/sについて。

ということで、Section Four, Sixあたりを重点的に読む。また、MACについてはClause 2-4で定義されている。