こんなツール,使っています
SDNのプログラマブルデータプレーンによるネットワーク主導型TCPフロー制御調和手法
こんなツール,
使っています
Summery Software Defined Networking(SDN)技術の一つであるプログラマブルデータプレーンによってネットワーク内で任意のパケット処理を実装できるようになった.ネットワーク内では,一つの端末では得られない,競合する通信フローの情報が容易に把握できるため,プログラマブルデータプレーンでその情報を活用して任意の新しいパケット制御を実現できれば,端末のみでは難しかった競合フローを直接的に意識した通信制御の実現が期待できる.本研究では,アプリ要求を意識したTCPフローの競合制御に着目する.一般的なTCPでは,競合フローとのスループットの公平性のみを目指すが,実際にはアプリ要求との不一致が生じる.つまり,競合フロー間でスループットが公平であっても,一方のアプリ要求には過剰,若しくは不足する,といった非効率な資源利用状態に陥る.この不一致解消には,アプリ要求と競合関係を理解し,スループットに意図的な傾斜を付ける制御が必要となる.本稿では,プログラマブルデータプレーンとその開発言語のP4を解説し,上記の制御の実現に向けた初期検討として,競合する2フローのTCPスループットを事前に定義したアプリ要求に合わせて調和させるTCPフロー制御調和手法を試作する.
Key Words TCPフロー制御,制御調和,P4,プログラマブルデータプレーン,Software Defined Networking
1
はじめに
ネットワークをソフトウェアで制御可能にするSoftware Defined Networking(SDN)が広く知られるようになった.一般的なネットワークは,ネットワークスイッチ(以降,「スイッチ」)を用いて,スイッチに事前実装された固定のネットワーク機能のみを用いて構成されている.これに対して,1990年代からの任意の機能をネットワーク内機器に埋め込み,パケット転送途中で実行するアクティブネットワークの研究を起点に,スイッチの通信制御機能を分割・分離してそれぞれをプログラマブルにするSDNの研究が現在まで活発に行われている(1).
近年用いられるSDNのスイッチの概念図を図1に示す.スイッチはコントロールプレーンとデータプレーンによって構成される.コントロールプレーンはIP層の経路制御や,データリンク層のMACアドレスの学習と学習結果に基づく送信先の物理ポートの決定などの意思決定の役割を担い,データプレーンはコントロールプレーンからの指示に従ってMACアドレスの書換えや,物理ポートへのパケット送出等のパケット処理実行の役割を担う.従来のスイッチでは,このコントロールプレーンとデータプレーンはハードウェアに統合された上で専用機能として実装される.これに対して,SDNではコントロールプレーンとデータプレーン間で情報や命令を交換する方法(インタフェース)を規定し,そのインタフェースに従う限り,コントロールプレーンとデータプレーンを自由に選択できるようになった.またSDNは,スイッチごとにコントロールプレーンを導入する分散形と,複数のコントロールプレーンを一つに集約して複数のデータプレーンを一括制御する集中形に分類される.SDN技術の一つであるOpenFlow(2)の登場により,集中形のコントロールプレーンが主に使われるようになった(図1右側).データプレーンごとに独立して意思決定していた分散形に対して,集中形では複数のデータプレーン,つまりネットワーク全域で一貫した意思決定が可能となった.
OpenFlowではコントロールプレーン/データプレーンのインタフェースと,そのインタフェースを介し
†
奈良先端科学技術大学院大学,生駒市
Nara Institute of Science and Technology, Ikoma-shi, 630-0192 Japan
††
九州工業大学,飯塚市
Kyushu Institute of Science and Technology, Iizuka-shi, 820-8502 Japan