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