フローテーブル
フローテーブル
OpenFlowは、SDN(Software-Defined Networking)の標準的なプロトコルで、ネットワークデバイスの制御面を分離し、ネットワークの柔軟性、可視性、管理性を向上させることを目的としています。
OpenFlowスイッチは、フローテーブルと呼ばれる、パケットを処理するための情報を格納するテーブルを持っています。フローテーブルには、転送パケットに関するルールが含まれています。これらのルールに従って、スイッチはパケットを処理し、正しいポートに転送することができます。
フローテーブルは、以下のような情報を持っています。
- フローのマッチング条件
パケットの送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号、プロトコルなどの情報に基づいて、パケットをフローにマッチングさせます。 - アクション
フローにマッチングする場合に実行されるアクション。アクションには、パケットの転送先ポート、QoS(Quality of Service)の設定、セキュリティの適用などが含まれます。
OpenFlowスイッチは、パケットが到着した際に、最初にフローテーブル内のルールに従ってパケットを処理します。もしパケットがフローテーブル内のどのルールにもマッチングしない場合は、スイッチはコントローラにパケットを送信し、コントローラは新しいルールを生成してフローテーブルに追加することができます。これにより、フローテーブルを動的に更新することができ、ネットワークの柔軟性を向上させることができます。
また、フローテーブルには、複数のフローが定義されている場合、どのフローを優先するかを定義することもできます。これをフローテーブルエントリーの優先度と呼びます。優先度は、フローにマッチするための条件が複数ある場合に使用され、複数のフローが同時にマッチングする場合にどのフローを優先して実行するかを指定するために使用されます。
OpenFlowスイッチは、複数のフローテーブルをサポートすることができます。これにより、異なるフローの種類に対して異なるフローテーブルを使用することができます。たとえば、転送パケットのルーティングに使用されるフローテーブルと、セキュリティに関連するフローテーブルを分けることができます。
最後に、OpenFlowスイッチには、フローテーブルのエントリー数に制限がある場合があります。エントリー数が制限されると、フローテーブルがいっぱいになると、新しいフローを追加することができなくなります。したがって、ネットワーク管理者は、必要なフローテーブルのサイズを見積もり、必要に応じてフローテーブルのサイズを調整する必要があります。
以上が、OpenFlowのフローテーブルについての簡単な説明です。