Ethernet LAN - Flow Control



 ◆ フロー制御

 スイッチでは、受信フレームを一度は共有のバッファメモリに格納し、MACアドレステーブルを使い
 宛先MACアドレスを見て必要な宛先に送信されます。その後、そのフレームはメモリから消去されます。

 複数のフレームが多数同時に送信されてきても、それらは全てバッファメモリに蓄えられて、順次送信
 されていきますが、メモリ容量を超えるフレームはバッファされず破棄されてしまいます。それにより
 TCP通信では再送処理が発生してしまうので、再送処理のためにタイムラグが発生してアプリの応答が
 悪くなります。この問題を回避するために、
フロー制御ではバッファメモリがあふれる前にフレームが
 送信されてくるのを防ぐことができます。フロー制御の動作は全二重通信、半二重通信とで異なります。




 ◆ 半二重通信 ( half duplex ) におけるフロー制御

 フロー制御方式として
バックプレッシャ機能を採用しています。スイッチ上のバッファメモリがあふれ
 そうになると、スイッチは
ジャム信号を送信します。これにより送り手は CSMA/CD に従い、ランダム
 な時間を待機してから再度フレームを送信するようになります。


    



 ◆ 全二重通信 ( full duplex ) におけるフロー制御

 フロー制御方式として
IEEE802.3xフロー制御を採用しています。スイッチ上のバッファメモリがあふれ
 そうになると、スイッチは
PAUSEフレームを送信します。これにより送り手は指定された時間だけ待機
 してから再度フレームを送信するようになります。ただしバッファに余裕ができた場合はスイッチから
 PAUSE解除フレームを送信するようになり、その場合すぐに再度フレームを送信できるようになります。


      



        




 ◆ 参考:推奨の設定 ( 固定設定 or Auto設定 ) はどちら?

 以上が全二重通信と半二重通信、オートネゴシエーション機能、フロー制御についての解説となります。
 さて、ネットワークの構築作業において通信モード不一致(一方が固定設定、もう一方がAuto設定)を
 発生させないことはとても大切なことです。ここでは通信モードの不一致を発生させないための術を紹介。

 CiscoのWebサイトでも紹介されている通り推奨設定(固定設定 or Auto設定)というものはありません。
 つまり、両方の機器が固定設定のパターン、両方の機器がAuto設定のパターンのどちらでも正しく動作
 します。しかし、以下の通信モードの組み合わせは非常に安定しており
当方の設計ポリシーも以下です。

機器のタイプ Auto or 固定 理由
NW機器 ⇔ NW機器 Auto ⇔ Auto IEEE802.3uによる自動の最適化の結果を確認できるため
スイッチ ⇔ PC間 Auto ⇔ Auto クライアントPCのNICのデフォルト設定がAutoであるため
スイッチ ⇔ サーバ間 サーバ側にあわせる ただし、どちらでも良い場合は、Auto設定にしています
NW機器 ⇔ ONU ONU側にあわせる 既にキャリアで設定している状態に合わせざるをえないため


 私の設計ポリシーと言っていますが同じように実装しているネットワークエンジニアは多いと思います。
 前回に申し上げた通り、通信モードの不一致を発生させたままユーザに引き渡すと障害報告書の提出は
 避けられませんので、自分のなかで一貫した通信モードのポリシーを決めておくことは重要なことです。

 そして、ここからがポイントとなります。自分で制御できないONUなどのキャリア機器、外部ベンダーの
 導入機器と接続する場合、相手側が「固定設定にする」と決まった場合でも、当方は必ずAutoに設定して
 IEEE802.3uによる最適化の結果を見るようにします。もし、こちらの機器が「半二重」になれば、相手側
 の機器は間違いなく「固定設定」であることを確認できます。それが確認できてから固定設定にしています。

 そして「全二重」になった場合は、相手側が間違えているか、両者の認識違いがあったことを確認する
 ことができます。サーバと接続する場合も同じでとにかくAutoにしてステータス結果を確認しています。
 そうすることで、相手側のミスもつぶせます。簡単なことですが、通信モード不一致の最高の回避策です。



イーサネット(Ethernet)LAN

ネットワークエンジニアとして

Copyright (C) 2002-2024 ネットワークエンジニアとして All Rights Reserved.