ネットワークフロー制御とは
ネットワークフロー制御は、通信ネットワークがネットワーク上のトラフィックの輻輳を管理するための手段です。 回線ベースのネットワークと、インターネットで使用されるようなパケット交換ネットワークの両方で、さまざまな手法を使用できます。 ネットワークは、フロー制御技術を使用することで、全体的なサービス品質を向上させ、通信が切断される頻度を減らすことができます。
特定のタイプのデジタル通信用の時分割多重ネットワークなどの回路ネットワークは、通常、通信専用の回路を使用します。 これらの場合、ネットワークは、利用可能なすべてのチャネルを帯域幅に利用できない可能性があります。 他のトラフィックが送信されるのを待っている間にチャネルがアイドル状態になっている場合、ネットワークフロー制御技術を実装して、利用可能な通信回路の配列のバランスをとることができます。
このような回線ネットワークでは、適切なネットワークフロー制御のために、接続アドミッション制御(CAC)として知られる技術が使用されます。 アルゴリズムを使用して、ネットワークを観察し、利用可能なリソースを利用できるかどうかを判断します。 一般に、アルゴリズムは、必要なサービスの種類、満たす必要があるサービスの品質、ピークレートや持続可能なレートなどの他のトラフィック情報など、特定の変数の評価に応じて、回路の使用を許可するように機能します。 欠点の1つは、一部のCACメソッドも利用可能な回線に優先順位を付け、それにより時々の高優先順位接続のために一部の回線を予約します。
パケット交換ネットワークでは、ネットワークのタイプまたは利用可能なソフトウェアまたはハードウェアに応じて、無数の可能なネットワークフロー制御技術を実装できます。 ほとんどの場合、パケット交換ネットワークは、何らかの種類のバッファを使用します。これは、送信者から受信したデータパケットをキャプチャするためのストレージメカニズムです。 パケットはバッファに入り、受信者アプリケーションは使用のためにそれらを引き出します。 送信側の送信が、受信側がバッファからのデータを処理する能力よりも速い場合、急速にいっぱいになる可能性があります。
伝送制御プロトコル(TCP)ネットワークでは、ネットワークフロー制御は、ウィンドウスケーリングと呼ばれる手法で処理できます。 TCP接続中に行われる3方向ハンドシェイクにより、受信者のウィンドウサイズに関する情報を伝達できます。 このようにして、受信者は送信者に使用可能なバッファルームの量を知らせることができるため、送信者が大量のデータを送信することを回避できます。
推奨される標準232(RS-232)通信項目では、シリアル化されたネットワークのネットワークフロー制御を扱うための規定についても説明しています。 RS-232では、ソフトウェアベースのソリューションまたはハードウェアベースのソリューションに分類されます。 このソフトウェア手法は、XON-XOFFフロー制御とも呼ばれます。XON信号は、データを受信できることを宣言する受信者によって送信され、バッファーがいっぱいになるとXOFFになります。 通信信号が不良な場合、エラーが発生する可能性があります。これにより、送信者はXOFF信号を適切に受信できず、受信者にパケットをプッシュし続けることがあります。 また、フロー制御信号は、データ通信と同じチャネルを介して送信され、少量の帯域幅を消費します。
一方、ハードウェアベースのネットワークフロー制御は、追加の物理回線を実装するという追加費用を払ってはるかに信頼性が高くなります。 この場合、個別の伝送制御ラインがセットアップされます。1つは送信要求(RTS)ラインと呼ばれ、もう1つは送信許可(CTS)ラインと呼ばれます。 送信側はRTS回線を介して送信する意図を通知し、受信者はCTS回線を介して受信する能力を通知します。