OpenFlow
OpenFlowによって、ネットワーク・コントローラーがネットワーク・パケットの経路(どのネットワーク・スイッチを経由するか)を決定することが可能となる。つまり、コントローラーとスイッチの機能を分離・独立させることができる。フォワーディングからコントロールを分離することで、アクセス制御リスト (ACL) 及びルーティング・プロトコルを使う方法よりも洗練されたトラフィック管理が可能となる。また、OpenFlowは、スイッチ群を異なるベンダー製品で構成することも可能にする。通常はベンダーによって独自のインターフェースやスクリプト言語が用いられているが、これらを単一でオープンなプロトコルを用いて遠隔制御・管理することを可能にする。OpenFlowはSoftware Defined Networking (SDN) を実現する技術として発明された。OpenFlow APIは、転送の抽象化の一例である。
OpenFlowは、パケット・マッチングのルールとアクションを追加・修正・削除するなど、レイヤ3スイッチのパケット・フォワーディング・テーブルを遠隔で管理することを可能とする。こうして、ルーティングをコントローラーによって定期的または随時に決定し、構成可能な寿命を持つルールとアクションへと翻訳することができる。 このルールとアクションは次にスイッチのフロー・テーブルに展開され、マッチしたパケットがスイッチへワイヤー・スピードでルールで定められた期間に実際にフォワーディングされる。そして、コントローラーは、単一または複数のスイッチに関するフロー・テーブルのルールを修正するか、スイッチとコントローラの間のトラフィックの構造的なフローを妨げるために新たなルールを展開するか決定をすることができる。