プリエンプションは、分割した最初のフレームを「開始フラグメント」、その後に幾つかの「継続フラグメント」が続き、最後に「最終フラグメント」になる構造だ。開始/複数の継続/最終フラグメントを順序を含め識別するコードを埋め込み、誤った再構成が起きないように工夫している。しかし、最も厄介な問題はフレーム消失やビット反転などのエラーだ。
開始フラグメント/継続フラグメント/最終フラグメントについて説明する。標準イーサネットのフレーム構造とフラグメントフレーム構造の全体図は、図1 をご覧いただきたい。緑色は標準イーサネットに変更を加えていない部分、茶色部はプリエンプション(フラグメント)で追加された部分で、青色のMACアドレスから白のデータ部は一切手を加えていない。

開始フラグメント
開始フラグメントは、標準イーサネットフレームを分割した最初のフラグメントだ。図2 「開始フラグメント」の様に、フレーム間ギャップとプリアンブルは標準イーサネットと同じだ。プリアンブルと宛先 MAC アドレス以降のデータ部を区切るデータパターンは、従来の SFD (Start Frame Delimiter)から SMD(Start mPacket Delimiter)と名前を変えた。開始フラグメントを示す、SMD(SMD-Sx) の値は 0xE6、0x4C、0x7F または 0xB3 だ。どの値を選択するかは後ほど説明する。
次に来るデータ部は、標準イーサネットの先頭から少なくとも60バイト以上の長さで、最後に4バイトの CRC 演算部(FCS)が付く。CRC 演算部は名前を mCRC と変え、演算式は同じだが下位2バイト(16ビット)がビット反転している。演算の範囲は標準イーサネットと同様、データ部の先頭(宛先 MAC アドレス)から最終データまでだ。
標準イーサネット機器は、プリアンブルとデータ部の境界パターン(SMD)が変わったことで、データ部の先頭を認識でないため、開始フラグメントを「ノイズ」と判断し、内部に取り込まない。仮にフレームとして認識できたとしても、最後の mCRC は標準の FCS とは異なるため、エラーとして廃棄する。つまり、開始フラグメントを誤って標準イーサネット機器に送信しても、廃棄されるため影響はない。

継続フラグメント
継続フラグメントは、2番目以降のフラグメントだ。図3 「継続フラグメント」のように、フレーム間ギャップは変わらないが、プリアンブルは1バイト短く6バイトになった。長さは変わったが、データパターンは従来と変わらず 0x55(01010101)だ。次に SMD と新たにフラグメントカウンタが1バイト追加された。標準イーサネットでは、プリアンブルと SFD を合わせた先頭部の長さは8バイトだ。継続フラグメントは、フラグメントカウンタを1バイト追加し、プリアンブルを1バイト短縮することで、先頭部の長さを同じ8バイトに調整した。
40年以上に渡り、クロック同期をとるプリアンブルは7バイトだった。IEEE はついにプリアンブルの短縮に踏み切った。Ethernet TSN で追加されたフラグメントフレームは、既設の標準イーサネット機器では物理層でフレームとして認識できないかエラーとして廃棄されることを狙っているため、クロック同期に失敗してもフレームは廃棄され問題は起きない。
継続フラグメントを示す SMD(SMD-Cx) の値は 0x61、0x52、0x9E または 0x2A だ。開始フラグメントの SMD-Sx と値が異なる。どの値を選択するかは後ほど説明する。
SMD の次がフラグメントカウンタだ。受信デバイスが正しい順番で再構成するために、フラグメントカウンタは 0/1/2/3 の4つの状態を繰り返すようになっている。例えば、S(開始)→0 →1 →2 →3 →0 →1 →2 →3 →0 →1 ・・・だ。しかし、1バイトのフラグメントカウンタの値が、0x00/0x01/0x02/0x03 と変わるのではなく、0xE6/0x4C/0x7F/0xB3 と8ビットを使った値になる。
SMD-Sx、SMD-Cx と同様に、フラグメントカウンタも単純な 0/1/2/3 ではなく不思議な値だ。図3 を見ていただきたい。フラグメントフレームの先頭部のデリミターとフラグメントカウンタは、エラー検出を行う CRC 演算の対象外だ。CRC 演算の対象はデータ部に限られている。デリミタとフラグメントカウンタに 0x00/0x01/0x02/0x03 を使用すると、たった1ビットの反転で、開始/継続/最終フラグメントの識別や、継続フラグメントの順序が識別できなくなる。伝送路上のエラーに非常に弱い構造になってしまう。この弱点をカバーするために、比較的ビット反転などのエラーに強く、エラー検出できるコードが割り当てられている。これは「ハミングの距離」と呼ばれる数学の論理を使っているが、これは後ほど概要を説明する。
次に来るデータ部は、標準イーサネットの先頭から少なくとも60バイト以上の長さで、最後に4バイトの CRC 演算部が付く。開始フラグメントと同じように、CRC 演算部(FCS)は名前を mCRC と変え、演算式は同じだが下位2バイト(16ビット)がビット反転している。演算の範囲は標準イーサネットと同様、データ部の先頭(宛先 MAC アドレス)から最終データまでだ。

最終フラグメント
図4 の様に、「継続フラグメント」と「最終フラグメント」のフレーム間ギャップからフラグメントカウンタまでは全く同じ作りだ。唯一の違いは、最後の CRC 演算部だ。継続フラグメントは mCRC で下位2バイトが反転しているが、最終フラグメントは分割前イーサネットフレームの CRC 演算部(FCS)がコピーされ、下位2バイトは反転していない。最終フラグメントの判断は、フラグメント単位の mCRC 演算とフレーム全体の CRC 演算(FCS)の両方の演算を行い、FCS と一致すれば「最終フラグメント」と判断することになる。
フラグメント総数を、フラグメントのヘッダ情報に追加すれば、継続フラグメントの順序と最終フラグメントの識別は容易にできる。しかし、新たな領域を追加することになる。IEEE は領域を増やさず、 CRC 演算部で代用する道を選んだ。
イーサネット機器が登場してから既に40年以上が経過し、100Mbps の登場からも30年以上が経過している。フラグメント総数を付加するために、「プリアンブル+SFD 」を拡張した場合、既設機器との互換性確認は極めて困難だったのではないだろうか。

Ethernet TSN
-
3.Ethernet TSN
Ethernet TSN(1)イーサネットの歴史〜 LAN と基幹網の主役になるイーサネット・フィールドネットワークの変遷
LAN と基幹網の主役になるイーサネット イーサネットは、登場以来競争の歴史だ(図1)。1980年2月 IEEE802 規格が正式に決まり、イーサネットは始まった。IEEE802 の名称はこの会議の開催日に由来する。登場 […] -
3.Ethernet TSN
Ethernet TSN(2)Ethernet TSN の狙い
Ethernet TSN の狙いは明確だ。インターネットや各種クラウドサービスから、IoT の様々なデバイスまでをシームレスにカバーすることだ(図1 参照)。 しかし、Ethernet TSN が新たな産業用イーサネット […] -
3.Ethernet TSN
Ethernet TSN(3)キーポイント:時分割多重の概要
Ethernet TSN のキーポイントは、サイクル時間や遅延時間に敏感な制御データ、伝送帯域に敏感な映像や音声などのストリーミングデータと再送を許容できる Best Effort データの混在を実現することだ。もちろん […] -
3.Ethernet TSN
Ethernet TSN(4)時分割多重における時刻精度
【1】1マイクロ秒以下の時刻精度 時分割多重を実現するためには、スイッチなどの伝送装置や、システム構成によっては送受信ノードの時刻同期が必要だ。同じ時刻に全てのスイッチやノードが、一斉に時間帯を切り替えることで時分割多重 […] -
3.Ethernet TSN
Ethernet TSN(5)時分割多重における時刻基準と配信経路
【2】BMCA/【3】クロックドメイン 通信機器やノードの時刻同期をとる前に、必要なことが2つある。時刻同期の基準時間となる「グランドマスタ(GM)」の選択と、時刻同期の配信経路を確定しクロックドメイン(時刻同期の範囲) […] -
3.Ethernet TSN
Ethernet TSN(6)時分割多重における時刻同期メカニズム
【4】第2層 PTP メッセージ/【5】Peer-to-Peer メカニズム/【6】2ステップクロック BMCA で時刻基準となる 「GM」 が決定し、時刻同期をとる領域である「クロックドメイン」と時刻情報の「配信経路」 […] -
3.Ethernet TSN
Ethernet TSN(7)GPS 四方山話!?
カーナビでおなじみの位置情報を提供する衛星を「GPS」とか「GPS衛星」と一般的には呼んでいる。しかし、GPS は米国が打ち上げた衛星のことだ。米国はいち早く、軍用や航空機・船舶等の航法支援用として衛星を打ち上げ、サービ […] -
3.Ethernet TSN
Ethernet TSN(8)時分割多重におけるプリエンプションの概要
工場や物流現場の様々な機械やロボットを期待通りに動かすためには「ハード・リアルタイム」が欠かせない。Ethernet TSN は、ハード・リアルタイムを実現する基本的な仕組みとして、時刻同期による時分割多重を導入した。一 […] -
3.Ethernet TSN
Ethernet TSN(9)プリエンプション機能追加と従来機器との互換性
イーサネットフレームの変更は久しぶりだ。1988年に IEEE802.1Q-1988 に VLAN が追加されて以来だ。VLAN 追加での一番の懸念事項は、フレーム長が4バイト長くなり長さ制限でフレームが廃棄される恐れが […] -
3.Ethernet TSN
Ethernet TSN(10)プリエンプション機能追加と各フラグメント
プリエンプションは、分割した最初のフレームを「開始フラグメント」、その後に幾つかの「継続フラグメント」が続き、最後に「最終フラグメント」になる構造だ。開始/複数の継続/最終フラグメントを順序を含め識別するコードを埋め込み […] -
3.Ethernet TSN
Ethernet TSN(11)プリエンプション機能追加
開始フラグメント、継続フラグメントと最終フラグメントの構造はお話しした。開始フラグメントの SMD-Sx 、SMD-Cx とFragment Count の8ビットの不思議な数値について説明する。 SMD-Sx 図1 の […] -
3.Ethernet TSN
Ethernet TSN の QoS(1)IntServ(イントサーブ)
Ethernet TSN の QoS 体系での位置づけは図1 のようになっていて、優先制御と帯域制御を組み合わせることで、リアルタイム性を実現している。優先制御は SPQ(Strict Priority Queueing […] -
3.Ethernet TSN
Ethernet TSN の QoS(2)Ethernet AVB 登場
従来のアナログ AV 機器は、ほぼ全ての機器を 1対1 でケーブル接続することが常識だ。しかも、ケーブルやコネクタ規格はインタフェースごとに異なるため、オーディオ機器の背面には多くのコネクタがあり、様々なケーブルが這いま […] -
3.Ethernet TSN
Ethernet TSN の QoS(3)IEEE 802.1Qat:SRP / 配信手順
SRP(Stream Reservation Protocol:ストリーム予約プロトコル)は、ストリームの配信経路を確定し、経路上のスイッチやエンドステーション(映像表示装置など)の帯域確保と最悪時の遅延時間の確認を行う […] -
3.Ethernet TSN
Ethernet TSN の QoS(4)IEEE 802.1Qat:SRP / MSRP 動作とストリーム配信の可否判断
ネットワーク構成を単純化したモデルで、改めて MSRP の動作と Talker と Listener が送信する各種パラメータを説明したい。 図1 はMSRP 説明モデルで、次の要素からできている。全ての要素には MSR […] -
3.Ethernet TSN
Ethernet TSN の QoS(5)IEEE 802.1Qat:SRP / MSRP 属性
Asking、Advertise、Ready メッセージを交換することで、Talker/Listener 間の帯域や遅延時間などの QoS リソース確保を行うことはすでに説明した。これら以外にも、Talker/Liste […] -
3.Ethernet TSN
Ethernet TSN の QoS(6)その他時間帯の QoS:SPQ(絶対優先)
Ethernet TSN は、ハードリアルタイムが必要な工作機械などの制御データとその他のデータの時間帯を分けている。制御データが収まる「CDT専用時間帯」は、従来のフィールドバス同様に厳密なタイミングやデータ量設計を行 […] -
3.Ethernet TSN
Ethernet TSN の QoS(7)その他時間帯の QoS:Credit Based Shaper(帯域制御)
CBS( Credit Based Shaper)の基本動作原理は、リーキーバケットモデルだ。図1 の様に、蛇口から注いだ水がバケツの穴から常に一定量漏れ出すモデルだ。さらに細かく分類すれば「 Leaky bucket […] -
3.Ethernet TSN
Ethernet TSN の QoS(8)全体動作検証
Ethernet TSN は、制御データを確実に伝送する「CDT 専用時間帯」と、プロトコル制御データ(gPTP、SRP 等)、映像ストリームやファイルなどの Best Effort データを伝送する「その他時間帯」に分 […]