
このスイッチのデータシート「カットスルー レイテンシ」は 300ns と指定されています。「カットスルー レイテンシ」とは具体的に何を意味しますか?
それは...ですか:
- パケットの先頭エントリとパケットの末尾エグジット間の時間差ですか?
- パケットの先頭のエントリとパケットの先頭の終了との間の時間の差ですか?
- 他に何かありますか?
答え1
スイッチには、主に 2 つの転送戦略が用意されています。
- フレームをバッファに完全に受信し、宛先アドレスを評価し、バッファから宛先にフレームを送信する
- フレームのヘッダーをバッファに受信し、宛先アドレスを評価して転送を決定し、データが到着するとフレームを宛先に送信し始める
最初のものは一般にストアアンドフォワードと呼ばれ、2番目はカットスルーと呼ばれます。すでに述べたように、これらのシナリオのそれぞれで「レイテンシ」には多くの定義があるかもしれませんが、主にこれら2つが使用され、RFC 1242 (セクション 3.8):
- 先入先出遅延、つまり特定のフレームの最初のバイトの受信から送信までの時間
- 後入先出レイテンシ、つまり最後のフレームバイトの受信から最初のフレームバイトの送信までの時間
RFC 2544 セクション 26.2 で暗黙的に定義されているエンドツーエンドのレイテンシを測定するための last-out-last-received 方式もありますが、これがベンダーのデータシートに記載されることはほとんどありません。
ジュニパーの2012年のホワイトペーパー「レイテンシー: すべての数値が同じように測定されるわけではない」(その後、Juniper のサイトから削除されたため、サードパーティからのみ入手可能)、また、他の多くの情報源では、カットスルー レイテンシは実際には先入れ先出しレイテンシであると示唆されています。
数字で考えてみましょう。スイッチが転送の決定を下すには、少なくともイーサネット フレームの宛先 MAC アドレスを受信する必要があります。イーサネット ヘッダーを考えると、これはフレームの最初の 14 バイト (112 ビット) を取得することを意味します。
10^9 ビット/秒の速度では、これは 112 ns となり、300 ns の遅延で転送の決定に 188 ns が残ります。
したがって、FM4224 のギガビット インターフェイスの場合、先入れ先出しのレイテンシ測定を想定すると、数値は妥当に見えます。ただし、明らかに、Intel は数値に独自の定義を選択している可能性があります。明確な説明を求めるには、十分な知識を持つ担当者に問い合わせる必要があります。