OpenFlowコントローラとOpenFlowスイッチ間のやりとり

OpenFlowコントローラとOpenFlowスイッチ間のやりとり

OpenFlowコントローラとOpenFlowスイッチ間のやり取りは、 やり取りの開始や終了など、その目的や送受信の状況などの シーケンスが決められています。

やり取りされるメッセージも、情報の追加や削除、 変更などの種類によって規定されています。

このときにOpenFlowコントローラとOpenFlowスイッチ間で やり取りされるメッセージの通信経路を「OpenFlowチャネル」と呼ばれています。

OpenFlowチャネルは、不正アクセスや情報の盗聴、 改ざんなどセキュリティの確保がとても重要になります。

OpenFlowメッセージ

OpenFlowでは、OpenFlowコントローラとOpenFlowスイッチ間で 情報をやり取りする際に利用するメッセージが規定されています。

OpenFlowでは以下の3つのメッセージ・タイプがあります。

Controller-to-Switchメッセージ

OpenFlowコントローラからOpenFlowスイッチに対して発行されるメッセージで、 その要求メッセージに対してOpenFlowスイッチが応答を返すものと 返さないものがあります。

Controller-to-Switchメッセージ

Asynchronousメッセージ

OpenFlowスイッチからOpenFlowコントローラに対して 送信される発行されるメッセージ

Asynchronousメッセージ

Symmetricメッセージ

OpenFlowコントローラとOpenFlowスイッチ間でやり取りするメッセージ

Symmetricメッセージ

今回の3つのメッセージのうち、「Controller-to-Switchメッセージ」について 解説していきます。

Controller-to-Switchメッセージ

Controller-to-Switchメッセージには以下のようなメッセージがあります。

Featuresメッセージ

OpenFlowスイッチの機能や特徴の問い合わせに使用するメッセージ。 各ポートやポートに接続された装置、スイッチがサポートする機能などを パラメータとして指定します。 OpenFlowコントローラから、Features Requestメッセージを送信し、 受信したOpenFlowスイッチは、ポート情報やOpenFlowスイッチの 機能情報などをFeatures Replyメッセージで返信します。

Featuresメッセージ

Configurationメッセージ

OpenFlowスイッチの設定情報の取得や設定を行う場合に使用するメッセージ

Modify-Stateメッセージ

OpenFlowスイッチのフローテーブルのフローエントリへの追加、変更、 削除(Modify flow entry)や、物理ポートの状態変更(Modify port)、 メーター情報(QoS機能)の変更(Modify meter)などを 実行するためのメッセージ。

操作の種類(追加、変更、削除)や条件、動作指示などを パラメータとして指定します。 このメッセージを受信したOpenFlowスイッチは、 指示に従ってフローエントリを更新します。

Modify-Stateメッセージ

Read-Stateメッセージ

フローエントリのCountersで蓄積している統計情報や フローエントリに関する情報を収集するためのメッセージ。 このメッセージを受信したOpenFlowスイッチは、 フローエントリに蓄積した統計情報をRead-State Replyメッセージとして、 OpenFlowコントローラに返信します。

Read-Stateメッセージ

Packet-outメッセージ

OpenFlowスイッチの指定したポートからパケットを 送信させるために使用するメッセージ

Barrierメッセージ

コントローラ側の要求に対する処理完了の 確認に用いられるメッセージ OpenFlowコントローラから、OpenFlowスイッチ上で これまで受信したメッセージ処理が完了したか確認するために、 Barrier Requestメッセージを送信します。 メッセージを受信したOpenFlowスイッチは、 これまで受信したメッセージ処理が完了したことを伝えるために、 Barrier Replyメッセージを送信します。

Role-Requestメッセージ

OpenFlowコントローラが複数存在する場合に、 マスターとスレーブの入れ替え等の変更を行うときに使用するメッセージ

Asynchronous-Configurationメッセージ

OpenFlowコントローラが複数存在する場合に、 どのタイプの非同期メッセージがOpenFlow チャンネル上で 送信されるかを制御したい場合に使用するメッセージ。

この機能を使うことで、コントローラごとに それぞれ異なるメッセージを受け取ることができます。

関連記事

メールマガジン

ネットワ-ク初心者のみなさま。
ネットワークの基礎知識を疎かにすることは
大変危険です!!

「初心者にも理解できるネットワーク技術」

これを読めばネットワークの基礎が分かる!!
ネットワーク関連の仕事に就きたいとお考えの学生の方や、ネットワークに興味があって転職を考えている社会人の方、まずは登録してみてください。

もちろん無料です!!

↓メールマガジン購読はこちら↓

メールアドレス: