ことなかれblog 備忘録

何事もなく無事でありますように

Ethernetのクロック偏差

○ethernetのクロック偏差

検証構成を複数台のEth機器で構成し、テスタを使ってaging試験をした。
どれもワイヤレートなEth機器なので、テストケースのLink 1Gbps fullrateを
テスタから流したんだんけど、・・・・パケlossが発生する。

この原因がehternetのクロック偏差です。

そもそもな話ですが、ethernetってSonet,SDH等のようにクロックを同期しているわけではないですが、
それぞれ自分勝手なクロックにしたがって通信(送受信)しています。
で、この誤差がクロック偏差です。

802.3/ethernetでは、

・125Mhzのクロック信号で、 ・±100ppm の誤差を許容しています。 *(ppmはparts per millionで0.01%)

と規定されています。 なので、隣接機器同士で最大200ppm(0.02%)の誤差が生まれてしまいます。 よって理論上は、fullrateの99.98%までしか許容できません。 そもそも、クロック差異がある時点でlossなしでパケット受け取れないんではないかとかんがえますが、 ある程度までバッファで許容して転送します。バッファがあふれそうになると、 IFG(Inter Frame Gap)で調整します。 *ここからFrame Formatの復習

*ethernetのframe format +-------+-------+-----+------------------+-----+ |dst-mac|src-mac|type | data | FCS | +-------+-------+-----+------------------+-----+ <- 6 -> <- 6 -> < 4 > <- 46~15000 -> < 4 > <---byte <- 64 ~ 1518 byte ->

64~1518byteのehternet frameです。 (ちなみにMTUはehternet frameでいうところのdata部分のことです。) これは、Layer2の範囲なので、Layre1のframeがつきます。

*L1送信 Frame <--- L1 ---> < ----------------- L2 --------------------> +--------+---+-------+-------+-----+------------------+-----+ |preamble|SFD|dst-mac|src-mac|type | data | FCS | +--------+---+-------+-------+-----+------------------+-----+ <- 7 -> <1> <- 64 ~ 1518 -> <---byte

このFrameをクロックにしたがって送信しますが、 Frameの送信間隔を96bit(12byte分)時間以上あけることにきめられています。 これがIFG(Inter Frame Gap)です。 IFGは12byte分とられていますが、受信側では、最低5byteあればいいよ。とされています。 この差分を使って調整します。 <おまけ> ユーザの立場で試験する場合、fullrateの99.4-7%くらいで試験することがおおいようです。 単体試験ならば、わざと、fullrateを流して、loss率を比べることで、バッファの大きさを比較することも可能です。 あわせてlatencyについても評価できます。

Categorised as: Ethernet



コメントを残す

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>