フロー制御

フロー制御

1. 機能概要

スイッチングハブは、受信したフレームを一度メモリに蓄積してから中継処理を行います。
多くのフレームが同時に送られてきたことで中継処理が間に合わない状態(輻輳状態)になり、蓄積可能なメモリ容量を超えてしまうと、中継対象のフレームが破棄されてしまいます。
本製品は、このような輻輳状態を防ぐ機能として、以下の2つを提供します。

  • ポートが全二重で動作している場合 : IEEE 802.3x フロー制御を有効にすることができます。

  • ポートが半二重で動作している場合 : バックプレッシャー機能が常に有効になります。

2. 用語の定義

ビット時間

10BASE のネットワークでは 10Mbps であるため、1 ビット時間 = 100nsec となる。
同様に、100BASE では 10nsec、1000BASE では 1nsec となる。

ジャム信号

データの送信と受信を同時に行うことができない半二重通信では、データの衝突が発生する可能性がある。
送信側の端末は、データ送信中に衝突の発生を監視しており、衝突を検出すると、送信を停止してジャム信号を送信する。ジャム信号送信後はランダムな待ち時間待機し、再度送信処理を行う。
なお、IEEE では、ジャム信号について定義されていないが「10101010101010101010101010101010」のように、1 と 0 が交互に 32 個並んだビット列になっていることが多い。

3. 機能詳細

3.1. IEEE 802.3x フロー制御

全二重通信の場合、IEEE802.3x オプションの MAC 制御プロトコルを使用することができます。
フロー制御には、下図の MAC 制御フレーム が使われます。

image

フロー制御では、規制開始閾値と規制解除閾値をもとに、以下の動作を行います。

  • フロー制御 処理フロー
    image

本製品は、MAC 制御フレーム送信側、受信側のどちらにもなることができ、それぞれ以下の動作を行います。

  • MAC 制御フレーム送信時の処理

    • パケットバッファにフレームが蓄積され、規制開始しきい値を超えたとき、中断時間 65535 の PAUSE フレームを送信します。

    • パケットバッファの溢れが解消され、規制解除しきい値を下回ったとき、中断時間 0 の PAUSE フレームを送信します。

  • MAC 制御フレーム受信時の処理

    • 中断時刻 1 ~ 65535 の PAUSEフレームを受信すると、対応した ビット時間 が経過する、または、中断時刻 0 の PAUSE フレームを受信する、のいずれかを満たすまで、送信処理を中断します。

フロー制御(MAC 制御フレームの送受信) の有効・無効の設定は flowcontrol コマンドを使用します。
システムと送受信LAN ポート単位で設定可能で、工場出荷時は無効となっています。
各ポートでフロー制御を有効にする際は、システムでフロー制御を有効にする必要があります。
システムでフロー制御を有効にした際に テールドロップ機能が無効化 されます。
パケットバッファはポート間で共有されており、規制開始しきい値、規制解除しきい値は、パケットバッファ使用状況に応じて動的に変化します。 (変更することはできません)

3.2. バックプレッシャー

本製品は、LANポートの受信バッファがあふれそうになると、 ジャム信号 を送信します。
これにより送り手は、CSMA/CD に従い、ランダムな時間を待機してから再度フレームを送信するようになります。
LANポートが 半二重 で動作している場合、 バックプレッシャー機能は常に有効 になります。

  • バックプレッシャー 処理フロー
    image

4. 関連コマンド

関連コマンドについて、以下に示します。
詳細は、コマンドリファレンスを参照してください。

操作項目 操作コマンド

フロー制御(IEEE 802.3x PAUSEの送受信)の設定(システム)

flowcontrol

フロー制御(IEEE 802.3x PAUSEの送受信)の設定(インターフェース)

flowcontrol

フロー制御の動作状態の表示

show flowcontrol

5. コマンド実行例

LAN ポート #1 のフロー制御を有効にする。
機能を有効にした後、フロー制御の動作状況を確認する。

Yamaha(config)#flowcontrol enable
Yamaha(config)#interface port1.1
Yamaha(config-if)#flowcontrol both
Yamaha(config-if)#end
Yamaha#show flowcontrol port1.1
Port        FlowControl       RxPause TxPause
---------   -----------       ------- -------
port1.1     Both                    0      64

6. 注意事項

特になし

7. 関連文書

特になし