# フロー制御

### 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 制御フレーム が使われます。

- MAC 制御フレーム

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

- フロー制御 処理フロー

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

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

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

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

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

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

フロー制御(MAC 制御フレームの送受信) の有効・無効の設定は flowcontrol コマンドを使用します。
システムと送受信LAN/SFP ポート単位で設定可能で、工場出荷時は無効となっています。
各ポートでフロー制御を有効にする際は、システムでフロー制御を有効にする必要があります。
スタック機能が有効な場合を除き、システムでフロー制御を有効にした際に テールドロップ機能が無効化 されます。
Qos機能を有効にしているとき、 フロー制御を有効にすることはできません 。
スタック機能を有効にしているとき、 Pauseフレームの受信のみ 可能です。

#### 3.2. バックプレッシャー

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

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

### 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. 関連文書

特になし

Search result
No more search results.
There are no topics that match your search query.