[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP5800019B2 - 通信経路制御システム、経路制御装置、通信経路制御方法および経路制御プログラム - Google Patents

通信経路制御システム、経路制御装置、通信経路制御方法および経路制御プログラム Download PDF

Info

Publication number
JP5800019B2
JP5800019B2 JP2013519290A JP2013519290A JP5800019B2 JP 5800019 B2 JP5800019 B2 JP 5800019B2 JP 2013519290 A JP2013519290 A JP 2013519290A JP 2013519290 A JP2013519290 A JP 2013519290A JP 5800019 B2 JP5800019 B2 JP 5800019B2
Authority
JP
Japan
Prior art keywords
packet
packet transfer
rule
route
path control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013519290A
Other languages
English (en)
Other versions
JP2014502794A (ja
Inventor
暢彦 伊藤
暢彦 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2013519290A priority Critical patent/JP5800019B2/ja
Publication of JP2014502794A publication Critical patent/JP2014502794A/ja
Application granted granted Critical
Publication of JP5800019B2 publication Critical patent/JP5800019B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、通信経路の制御を行う通信経路制御システム、経路制御装置、通信経路制御方法および経路制御プログラムに関する。
近年、オープンフロー(OpenFlow)という技術が提案されている(非特許文献1,2参照)。オープンフローは、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化等を行う技術である。
オープンフローを用いて通信が行われるネットワーク(以下、オープンフローネットワークと記す。)では、オープンフロースイッチおよびオープンフローコントローラが用いられる。オープンフロースイッチは、パケット転送装置として機能する。また、オープンフローコントローラは、経路制御装置として機能する。
オープンフロースイッチは、オープンフローコントローラとの通信に用いられるセキュアチャネルを備え、オープンフローコントローラからセキュアチャネルを介して適宜追加または書き換えの指示が行われるフローテーブルの内容に従って動作する。
図15は、フローテーブルの内容を示す説明図である。フローテーブルには、フローごとに、パケットヘッダとの照合に用いられるマッチングルール(ヘッダフィールド)と、フロー統計情報(Counters)と、パケットに対する処理内容を定義したアクション(Actions)とを含む組が定義される。
例えば、オープンフロースイッチは、パケットを受信すると、フローテーブルから受信パケットのヘッダ情報に適合するマッチングルールを含むエントリを検索する。検索の結果、受信パケットに適合するエントリが見つかった場合、オープンフロースイッチは、フロー統計情報(Counters)を更新する。また、この場合、オープンフロースイッチは、受信パケットに対して、該当するエントリのアクションフィールドに定義された処理内容(指定ポートからのパケット送信、フラッディング、廃棄等)を実施する。
一方、フローテーブルを検索した結果、受信パケットに適合するエントリが見つからなかった場合、オープンフロースイッチは、セキュアチャネルを介して、オープンフローコントローラに対して受信パケットを転送する。このようにして、オープンフロースイッチは、そのパケットに対する処理内容を問い合わせる。例えば、オープンフロースイッチは、オープンフローコントローラに対して、受信パケットの送信元および送信先に基づいたパケットの経路の決定を依頼し、決定されたエントリを受け取ってフローテーブルを更新する。このように、オープンフロースイッチは、フローテーブルに格納されたエントリを処理規則として用いることでパケットの転送を行う。
なお、オープンフローコントローラは、パケットを処理するたびに更新されるフロー統計情報(Counters)を収集する機能も備えている。この機能のことを、可視化機能とも言う。
また、特許文献1には、コントローラによって制御されるフローテーブルに基づいてスイッチがパケットを転送するシステムが記載されている。特許文献1に記載されたシステムは、スイッチがフローテーブルに存在しないパケットを受け取るとそのパケットをコントローラに転送する。そして、スイッチがフローテーブルに存在するパケットを受け取ると、上記システムは、そのフローテーブルの内容に基づいてパケットを転送する。
図16は、オープンフローネットワークにおけるパケットの流れの一例を示す説明図である。以下、図16を用いて、特許文献1、非特許文献1,2に記載されたネットワークにおけるパケットの流れを説明する。
まず、外部端末310が外部端末320宛てに、最初のデータパケットを送信すると、このデータパケットは、外部端末320に接続されたパケット転送装置210に送信される(ステップS901)。パケット転送装置210は、パケットを受信すると、フローテーブルから、そのパケットのヘッダ情報に適合するマッチングルール(照合規則、マッチングキーと記すこともある。)を含むエントリを検索する。
しかし、受信したパケットは最初のパケットであるため、フローテーブルに該当するエントリは存在しない。そこで、パケット転送装置210は、受信したパケットをバッファリングしてから、経路制御装置(コントローラ)100に対して、新規フローを検出したことを示す制御メッセージ(以下、新規フロー検出通知メッセージ、Packet−Inメッセージと記すこともある。)を送信する(ステップS902)。
このPacket−Inメッセージには、フローの識別に必要な情報(例えば、MAC(Media Access Control)アドレス、IP(Internet Protocol)アドレス、ポート番号(それぞれ送信元と宛先の両方含む))と、パケットの受信ポートを示す情報が含まれる。
ここでは、パケット転送装置210が受信したパケットをバッファリングして、フローの識別に必要な情報を経路制御装置(コントローラ)100に送信することを想定している。なお、パケット転送装置210は、受信したパケットそのものを経路制御装置(コントローラ)100に送信する場合もある。
経路制御装置(コントローラ)100は、Packet−Inメッセージを受信すると、受信したメッセージから新規エントリの照合規則(マッチングキー)を作成し、そのエントリに適用するタイマー値を決定する。照合規則として作成する情報は、例えば、図15に例示する「InPort」〜「TCP/UDP src port」の情報である。
さらに、経路制御装置(コントローラ)100は、受信したメッセージに基づいて、宛先である外部端末320の位置確認を行い、外部端末310から外部端末320へのパケット転送経路を計算する。ここでは、転送経路を計算した結果、パケット転送装置210→パケット転送装置220→パケット転送装置230の順でパケットを転送する転送経路が計算されたものとする。
次に、経路制御装置(コントローラ)100は、新規エントリの照合規則(マッチングキー)と一致するパケットに対して、計算された転送経路に従って転送することを規定したアクションおよびタイマー値を設定したエントリを、各パケット転送装置210〜230ごとに作成する。そして、経路制御装置(コントローラ)100は、作成したエントリを、FlowModメッセージを用いて、各パケット転送装置210〜230に通知する(ステップS903)。ここで、FlowModメッセージとは、コントローラがスイッチに対してフローの登録や変更、削除を要求する際に用いられるメッセージである。各パケット転送装置210〜230は、FlowModメッセージを受信すると、フローテーブルに受信したエントリを設定する。
エントリの設定が完了すると、パケット転送装置210は、設定されたエントリに従ってバッファリングしてあるパケットをパケット転送装置220に転送する(ステップS904−1)。このパケットが転送される転送経路上のパケット転送装置220,230には、既にエントリの設定が行われている。そのため、このパケットは、パケット転送装置220、パケット転送装置230の順で転送され、外部端末320に届くことになる(ステップS904−2、ステップS904−3)。
以後、外部端末310から外部端末320宛てにパケットが送信される場合、そのパケットは、転送経路に従って、パケット転送装置210→パケット転送装置220→パケット転送装置230の順に転送され(ステップS905−1〜S905−4)、外部端末320に到着する。
再表WO2008/095010号
Nick McKeown、外7名、"OpenFlow: Enabling Innovation in Campus Networks"、[online]、[平成22年7月6日検索]、インターネット〈URL:http://www.openflowswitch.org/documents/openflow-wp-latest.pdf〉、2008年3月14日 "OpenFlow Switch Specification" Version 1.0.0. (Wire Protocol 0x01) [平成22年7月6日検索]、インターネット〈URL:http://www.openflowswitch.org/documents/openflow-spec-v1.0.0.pdf〉、2009年12月31日
上述の通り、オープンフローネットワークでは、オープンフロースイッチがデータパケットを受信する。そして、そのパケットに対するエントリがフローテーブルに見つからなかった場合、オープンフロースイッチは、セキュアチャネルを介して、オープンフローコントローラに受信パケットを転送する。このようにして、オープンフロースイッチは、データパケットに対するアクションを問い合わせる。なお、この問い合わせのことを、Packet−Inと記すこともある。
そして、オープンフローコントローラは、受信パケットの送信元および送信先を示す情報に基づいて、そのパケットに対する経路を決定する。オープンフローコントローラは、決定した経路情報(以下、FlowModと記すこともある。)を、TCP(Transmission Control Protocol )やSSL(Secure Sockets Layer)などで構築されるセキュアチャネルを用いて、該当する経路上の全てのオープンフロースイッチに送信する。
すなわち、オープンフローネットワークは、オープンフローコントローラとオープンフロースイッチが制御メッセージをやり取り(送受信)することでデータパケットを宛先に到達させるネットワークであると言える。そのため、フローが増加すると、オープンフローコントローラとオープンフロースイッチとの間で送受信される制御メッセージも増加するため、ネットワークの帯域を圧迫する可能性がある。
図17は、オープンフローネットワークにおけるパケットの流れの他の例を示す説明図である。経路制御装置100がパケット転送装置からPacket−Inメッセージを受信し、転送経路の計算を行うステップS201−1〜ステップS202までの処理は図16に示すステップS901〜ステップS902の処理と同様である。
経路制御装置(コントローラ)100は、転送経路の計算が完了すると、新規エントリの照合規則(マッチングキー)と一致するパケットに対して、計算された転送経路に従って転送することを規定したアクションおよびタイマー値を設定したエントリを、各パケット転送装置210〜230ごとに作成する。そして、経路制御装置(コントローラ)100は、作成したエントリを、FlowModメッセージを用いて、各パケット転送装置210〜230に通知する(ステップS203−1、ステップS203−2、ステップS203−3)。
ここで、各パケット転送装置210〜230に作成されたエントリを通知する際、パケット転送装置210に対するFlowModメッセージ(ステップS203−1で送信したFlowModメッセージ)と、パケット転送装置230に対するFlowModメッセージ(ステップS203−3で送信したFlowModメッセージ)が各パケット転送装置に到着するものとする。一方、パケット転送装置220に対するFlowModメッセージ(ステップS203−2で送信したFlowModメッセージ)がネットワークの輻輳によるパケットロスや遅延等によりパケット転送装置220に到着しなかったとする。
パケット転送装置210は、FlowModメッセージを受信して、フローテーブルへのエントリの設定を完了すると、設定されたエントリに従ってバッファリングしてあるパケットをパケット転送装置220に転送する(ステップS201−2)。パケット転送装置220は、パケット転送装置210からデータパケットを受信すると、そのパケットのヘッダ情報に適合する照合規則(マッチングキー)を含むエントリをフローテーブルから検索する。しかし、パケット転送装置220へのFlowModメッセージは到着しておらず、該当するエントリはフローテーブルに存在しない。そこで、パケット転送装置220は、受信したパケットをバッファリングしてから、経路制御装置(コントローラ)100に対して、新規フロー検出通知メッセージ(Packet−Inメッセージ)を送信する(ステップS204)。
経路制御装置(コントローラ)100は、Packet−Inメッセージを受信すると、受信した情報に基づいて、新規エントリの照合規則(マッチングキー)を作成し、そのエントリに適用するタイマー値を決定する。照合規則として作成する情報は、例えば、図15に例示する「InPort」〜「TCP/UDP src port」の情報である。さらに、経路制御装置(コントローラ)100は、受信した情報に基づいて、宛先である外部端末320の位置確認を行い、外部端末310から外部装置320へのパケット転送経路を計算する。ここでは、転送経路を計算した結果、パケット転送装置220からパケット転送装置230の順でパケットを転送する転送経路が計算されたものとする。
次に、経路制御装置(コントローラ)100は、新規エントリの照合規則(マッチングキー)と一致するパケットに対して、計算された転送経路に従って転送することを規定したアクションおよびタイマー値を設定したエントリを各パケット転送装置220,230ごとに作成する。そして、経路制御装置(コントローラ)100は、作成したエントリを、FlowModメッセージを用いて、各パケット転送装置220,230に通知する(ステップS205−1、ステップS205−2)。
パケット転送装置220,230は、FlowModメッセージを問題なく受信すると、フローテーブルに受信したエントリを設定する。このようにエントリが設定されることで、外部端末320がデータパケットを受信できる。
しかし、パケット転送装置230がステップS203−3で受信したFlowModメッセージと、ステップS205−2で受信したFlowModメッセージとは、同じデータパケットに対するエントリであるため、同一内容のメッセージになる。つまり、パケット転送装置230は、経路制御装置100から同一内容のメッセージを2度受信することになる。
このように重複した制御パケットが送受信されることは、ネットワークの使用効率を低下させる可能性がある。図17および図16に示す例では、外部端末310と外部端末320との間のパケット転送装置は3台である。しかし、外部端末間のパケット転送装置の台数が増加するに従って(すなわち、ホップ数が増加するに従って)、不要な制御パケットがさらに増大する可能性がある。このような送受信が行われた場合、ネットワークにインパクトを与え、ネットワークの使用効率を低下させるおそれがある。
そこで、本発明は、通信経路の制御に用いられるパケットの量を削減できる通信経路制御システム、経路制御装置、通信経路制御方法および経路制御プログラムを提供することを目的とする。
本発明による通信経路制御システムは、パケットの転送方法を規定したルールであるパケット転送ルールに基づいて受信したパケットを転送するパケット転送装置と、パケット転送ルールの適用をパケット転送装置に指示することによりパケットの通信経路を制御する経路制御装置とを備え、パケット転送装置が、受信したパケットに対する処理内容を経路制御装置に問い合わせる処理内容問合せ手段を含み、経路制御装置が、パケット転送装置からパケットに対する処理内容の問い合わせを受信したときに、パケットに応じて決定されるパケット転送ルールを適用させるパケット転送装置を、そのパケットに対する処理内容の問い合わせが初めてか否かに基づいて決定するパケット転送装置決定手段を含むことを特徴とする。
本発明による経路制御装置は、パケットの転送方法を規定したルールであるパケット転送ルールに基づいて受信したパケットを転送するパケット転送装置からパケットに対する処理内容の問い合わせを受信したときに、パケットに応じて決定されるパケット転送ルールを適用させるパケット転送装置を、そのパケットに対する処理内容の問い合わせが初めてか否かに基づいて決定するパケット転送装置決定手段を備えたことを特徴とする。
本発明による通信経路制御方法は、パケットの転送方法を規定したルールであるパケット転送ルールに基づいて受信したパケットを転送するパケット転送装置が、パケットの通信経路を制御する経路制御装置へ受信したパケットに対する処理内容を問い合わせ、経路制御装置が、パケット転送装置からパケットに対する処理内容の問い合わせを受信したときに、パケットに応じて決定されるパケット転送ルールを適用させるパケット転送装置を、そのパケットに対する処理内容の問い合わせが初めてか否かに基づいて決定することを特徴とする。
本発明による経路制御プログラムは、コンピュータに、パケットの転送方法を規定したルールであるパケット転送ルールに基づいて受信したパケットを転送するパケット転送装置からパケットに対する処理内容の問い合わせを受信したときに、パケットに応じて決定されるパケット転送ルールを適用させるパケット転送装置を、そのパケットに対する処理内容の問い合わせが初めてか否かに基づいて決定するパケット転送装置決定処理を実行させることを特徴とする。
本発明によれば、通信経路の制御に用いられるパケットの量を削減できる。
本発明の第1の実施形態における通信経路制御システムの例を示すブロック図である。 パケット転送装置の例を示すブロック図である。 第1の実施形態における経路制御装置の例を示すブロック図である。 経路制御装置の動作の例を示すフローチャートである。 第2の実施形態における経路制御装置の例を示すブロック図である。 オープンフローネットワークにおけるパケットの流れの一例を示す説明図である。 本発明の第1の実施例における通信経路制御システムの例を示す説明図である。 経路制御装置の動作の例を示すフローチャートである。 処理規則を通知するパケット転送装置を決定する動作の例を示す説明図である。 ネットワークトポロジ情報の例を示す説明図である。 オープンフローネットワークにおけるパケットの流れの例を示す説明図である。 パケット転送装置を決定する動作の例を示す説明図である。 本発明による通信経路制御システムの最小構成の例を示すブロック図である。 本発明による経路制御装置の最小構成の例を示すブロック図である。 フローテーブルの内容を示す説明図である。 オープンフローネットワークにおけるパケットの流れの一例を示す説明図である。 オープンフローネットワークにおけるパケットの流れの一例を示す説明図である。
以下、本発明の実施形態を図面を参照して説明する。
実施形態1.
図1は、本発明の第1の実施形態における通信経路制御システムの例を示すブロック図である。本実施形態における通信経路制御システムは、経路制御装置100と、パケット転送装置210〜230と、外部端末310〜320とを備えている。ただし、パケット転送装置および外部端末の台数は、図1に例示する台数に限定されない。パケット転送装置は、1台または2台であってもよく、4台以上であってもよい。また、外部端末の台数は3台以上であってもよい。
パケット転送装置210〜230は、パケットを受信した際に、所定のルールに基づいてそのパケットを転送する装置である。なお、このルールのことを、パケット転送ルールと記すこともある。パケット転送装置は、例えば、ルータやスイッチなどにより実現される。
図2は、パケット転送装置210の例を示すブロック図である。なお、パケット転送装置220〜230もパケット転送装置210と同様の構成であるため、説明を省略する。パケット転送装置210は、制御メッセージ送受信部211と、フローテーブル記憶部212と、パケット処理部213とを備えている。
制御メッセージ送受信部211は、経路制御装置100と通信する機能を備えている。すなわち、制御メッセージ送受信部211は、経路制御装置100と制御メッセージの送受信を行う。
フローテーブル記憶部212は、フローテーブルを記憶する。フローテーブルには、フローごとに、パケットヘッダとの照合に用いられるマッチングルール(ヘッダフィールド)と、フロー統計情報(Counters)と、パケットに対する処理内容を定義したアクション(Actions)とを含む組が定義される。以下、この組のことを処理規則(フローエントリ)と記すこともある。フローテーブルには、例えば、図15に例示する情報が含まれる。
パケット処理部213は、フローテーブルに記憶されたアクションに基づいて、受信したパケットを処理する。具体的には、パケット転送装置210がパケットを受信すると、パケット処理部213は、フローテーブル記憶部212に記憶されたフローテーブルから、受信パケットに適合する照合規則(マッチングキー)を含む処理規則(フローエントリ)を検索する。検索の結果、受信パケットに適合するフローエントリが見つかった場合、パケット処理部213は、受信パケットに対して、該当するフローエントリのアクションフィールドに定義された処理内容(例えば、指定ポートからのパケット送信、フラッディング、廃棄等)を実施する。
一方、受信パケットに適合するエントリがフローテーブルに見つからなかった場合、パケット処理部213は、経路制御装置100に対して、新規フローを検出したことを示す制御メッセージ(すなわち、新規フロー検出通知メッセージ)を送信し、そのパケットに対する処理内容の問い合わせを行う。
経路制御装置100は、自身が管理するネットワークの経路制御を行う装置である。具体的には、経路制御装置100は、パケット転送装置にパケット転送ルールの適用を指示することにより、パケットの通信経路を制御する装置である。本実施形態では、経路制御装置100は、パケット転送装置210〜230を管理対象としている。図3は、経路制御装置100の例を示すブロック図である。経路制御装置100は、制御メッセージ送信先決定部101と、トポロジ管理部102と、経路・アクション計算部103と、パケット転送装置通信部104と、制御メッセージ処理部105と、端末位置記憶部106とを備えている。
パケット転送装置通信部104は、経路制御装置100がパケット転送装置210〜230と通信を行う機能を備えている。すなわち、パケット転送装置通信部104は、パケット転送装置210〜230とパケットの送受信を行う。
トポロジ管理部102は、パケット転送装置通信部104を介して収集されたパケット転送装置210〜230の接続関係に基づいてネットワークトポロジ情報を作成し、作成したトポロジ情報を記憶する。なお、トポロジ情報とは、パケット転送装置が他の装置と接続する接続形態を示す情報であると言える。トポロジ管理部102は、例えば、パケット転送装置210〜230が保持している経路表の情報を収集し、その経路表に基づいてネットワークトポロジ情報を作成する。ただし、ネットワークトポロジ情報の作成方法は、これらの方法に限定されない。また、トポロジ管理部102は、他の経路制御装置100からネットワークトポロジ情報を受信し、そのネットワークトポロジ情報を記憶するようにしてもよい。
端末位置記憶部106は、外部端末の位置情報を記憶する。端末位置記憶部106には、例えば、IPアドレスなどの位置情報をデータベースとして記憶しておく。端末位置記憶部106には、予め管理者等が外部端末の位置情報を記憶させておいてもよく、経路制御装置100が他の経路制御装置から位置情報を受信するたびに、その位置情報を端末位置記憶部106に記憶させてもよい。端末位置記憶部106は、例えば、磁気ディスク等により実現される。
経路・アクション計算部103は、処理規則(フローエントリ)として、パケット転送装置210〜230に実行させるアクションおよびパケットの転送経路を計算する。具体的には、経路・アクション計算部103は、端末位置記憶部106に記憶された位置情報から送信端末と宛先端末の位置を特定し、トポロジ管理部102が管理するネットワークトポロジ情報をもとに、パケットの転送経路を計算する。また、経路・アクション計算部103は、そのパケットに対して転送経路上のパケット転送装置に実行させる処理(アクション)を決定する。アクションの決定方法には、任意の方法を用いることができる。経路・アクション計算部103は、例えば、転送経路が計算できた場合に、パケットを転送するというアクションを実行させると決定してもよい。また、経路・アクション計算部103は、予め定めた種類のパケットに対しては、廃棄する、所定の装置に転送するなど、所定のアクションを実行させると決定するようにしてもよい。
制御メッセージ送信先決定部101は、経路・アクション計算部103が計算した経路上のパケット転送装置の中から、処理規則(フローエントリ)を通知すべきパケット転送装置を決定する。具体的には、制御メッセージ送信先決定部101は、パケット転送装置から受信したパケットに対する処理内容の問い合わせが初めてか否かに基づいて、フローエントリを通知する(適用させる)パケット転送装置を決定する。
制御メッセージ処理部105は、パケット転送装置210〜230から受信した制御メッセージを解析して、経路制御装置100内の該当する処理手段に制御メッセージを引き渡す。例えば、パケット転送装置210〜230から新規フロー検出通知メッセージを受信した場合、制御メッセージ処理部105は、新しい処理規則(フローエントリ)の作成を経路・アクション計算部103に依頼する。
制御メッセージ送信先決定部101と、トポロジ管理部102と、経路・アクション計算部103と、パケット転送装置通信部104と、制御メッセージ処理部105とは、プログラム(経路制御プログラム)に従って動作するコンピュータのCPUによって実現される。例えば、プログラムは、経路制御装置100の記憶部(図示せず)に記憶され、CPUは、そのプログラムを読み込み、プログラムに従って、制御メッセージ送信先決定部101、トポロジ管理部102、経路・アクション計算部103、パケット転送装置通信部104および制御メッセージ処理部105として動作してもよい。また、制御メッセージ送信先決定部101と、トポロジ管理部102と、経路・アクション計算部103と、パケット転送装置通信部104と、制御メッセージ処理部105とは、それぞれが専用のハードウェアで実現されていてもよい。
次に、本実施形態における通信経路制御システムの動作を図16を用いて説明する。
外部端末310がデータパケットをパケット転送装置210に送信し、パケット転送装置210がそのパケットを受信すると(ステップS901)、パケット処理部213は、そのパケットのヘッダ情報に適合する照合規則(マッチングキー)を含むエントリをフローテーブルから検索する。しかし、受信したパケットは最初のパケットであるため、フローテーブルに該当するエントリは存在しない。そこで、パケット処理部213は、受信したパケットをバッファリングしてから、経路制御装置100に対して、新規フロー検出通知メッセージを送信する(ステップS902)。
この新規フロー検出通知メッセージには、フローの識別に必要な情報(例えば、MACアドレス、IPアドレス、ポート番号(それぞれ送信元と宛先の両方含む))と、パケットの受信ポートを示す情報が含まれる。
ここでは、パケット転送装置210が受信したパケットをバッファリングして、フローの識別に必要な情報を経路制御装置100に送信することを想定している。ただし、パケット転送装置210は、受信したパケットそのものを経路制御装置100に送信してもよい。
ここで、経路制御装置100が新規フロー検出通知メッセージを受信したときの動作を説明する。図4は、経路制御装置の動作の例を示すフローチャートである。
経路制御装置100がパケット転送装置210から新規フロー検出通知メッセージを受信すると(図4におけるステップS1501)、経路・アクション計算部103は、該当パケットの経路を計算し、その経路上に存在する各パケット転送装置のアクションを決定する(ステップS1502)。次に、制御メッセージ送信先決定部101は、経路上に存在するパケット転送装置の中から、アクションの内容を含む処理規則を通知するパケット転送装置を宛先として決定する(ステップS1503)。
具体的には、制御メッセージ送信先決定部101は、新規フロー検出通知メッセージを受信した際、その通知メッセージを送信したパケット転送装置が外部端末からみて最初のパケット転送装置であるか否かを判定する。制御メッセージ送信先決定部101は、例えば、ネットワークトポロジ情報を参照し、新規フロー検出通知メッセージに含まれるパケット転送装置の識別子と、そのパケット転送装置がデータパケットを受信したポートのポート番号とをもとに、そのデータパケットをパケット転送装置に送信する装置が、外部端末であるか否かを決定してもよい。
新規フロー検出通知メッセージを送信したパケット転送装置がデータパケットの送信端末からみて最初のパケット転送装置の場合、制御メッセージ送信先決定部101は、経路・アクション計算部103が計算した経路上の全パケット転送装置に対して、処理規則を通知すると決定する。一方、その装置が最初のパケット転送装置でない場合、制御メッセージ送信先決定部101は、新規フロー検出通知メッセージを送信したパケット転送装置に対してのみ処理規則を通知すると決定する。そして、制御メッセージ送信先決定部101は、決定した通知先に処理規則を送信する(ステップS1504)。
各パケット転送装置210〜230が経路制御装置100から処理規則を受信すると、制御メッセージ送受信部211は、フローテーブルに受信したエントリを設定する。そして、パケット処理部213は、設定されたエントリに従って、バッファリングしてあるパケットをパケット転送装置220に転送する(図16におけるステップS904−1)。このパケットが転送される転送経路上のパケット転送装置220,230には、既にエントリの設定が行われている。そのため、このパケットは、パケット転送装置220,230の順で転送され、外部端末320に届くことになる(ステップS904−2、ステップS904−3)。
以上のように、本実施形態によれば、パケット転送装置の制御メッセージ送受信部211が、受信したパケットに対する処理内容を経路制御装置100に問い合わせる。そして、経路制御装置100の制御メッセージ送信先決定部101が、パケット転送装置からパケットに対する処理内容の問い合わせを受信したときに、パケットに応じて決定されるパケット転送ルールを適用させるパケット転送装置を、そのパケットに対する処理内容の問い合わせが初めてか否かに基づいて決定する。
具体的には、制御メッセージ送信先決定部101は、問い合わせを行ったパケット転送装置がパケットを転送する経路上の最初のパケット転送装置であるか否かに基づいてパケット転送ルールを適用させるパケット転送装置を決定する。このような構成により、通信経路の制御に用いられるパケットの量を削減できる。すなわち、オープンフローコントローラからオープンフロースイッチへの冗長な制御パケットの送信を回避できるため、ネットワーク使用効率の向上、オープンフローコントローラでの制御パケット送信負荷の軽減、および、オープンフロースイッチでの制御パケットの処理負荷の軽減が期待できる。
実施形態2.
次に、第2の実施形態における通信経路制御システムについて説明する。第2の実施形態における通信経路制御システムも、図1に例示するように、経路制御装置100と、パケット転送装置210〜230と、外部端末310〜320とを備えている。
経路制御装置100は、第1の実施形態と同様、自身が管理するネットワークの経路制御を行う装置である。本実施の形態では、パケット転送装置210〜230を管理対象としている。ただし、第2の実施形態における経路制御装置100は、第1の実施形態における経路制御装置100に対して、機能をさらに追加した装置である。
図5は、第2の実施形態における経路制御装置100の例を示すブロック図である。第2の実施形態における経路制御装置100は、制御メッセージ送信先決定部101と、トポロジ管理部102と、経路・アクション計算部103と、パケット転送装置通信部104と、制御メッセージ処理部105と、端末位置記憶部106と、フローエントリ記憶部107と、フローエントリ管理部108とを備えている。
すなわち、第2の実施形態における経路制御装置100は、フローエントリ記憶部107とフローエントリ管理部108の機能が追加されている点において、第1の実施形態における経路制御装置100と異なる。
パケット転送装置通信部104は、経路制御装置100がパケット転送装置210〜230と通信を行う機能を備えている。
トポロジ管理部102は、パケット転送装置通信部104を介して収集されたパケット転送装置210〜230の接続関係に基づいてネットワークトポロジ情報を作成し、作成した情報を記憶する。なお、トポロジ情報の作成方法および記憶方法は、第1の実施形態と同様である。また、端末位置記憶部106は、外部端末の位置情報を記憶する。なお、端末位置記憶部106が記憶する情報は、第1の実施形態と同様である。端末位置記憶部106は、例えば、磁気ディスク等により実現される。
経路・アクション計算部103は、処理規則(フローエントリ)として、パケット転送装置210〜230に実行させるアクションおよびパケットの転送経路を計算する。具体的には、経路・アクション計算部103は、トポロジ管理部102が管理するネットワークトポロジ情報と、端末位置記憶部106に記憶された位置情報から、送信端末と宛先端末の位置を特定し、パケットの転送経路を計算する。また、経路・アクション計算部103は、そのパケットに対して転送経路上のパケット転送装置210〜230に実行させる処理(アクション)を決定する。
制御メッセージ送信先決定部101は、経路・アクション計算部103が計算した経路上のパケット転送装置の中から、処理規則(フローエントリ)を通知すべきパケット転送装置を決定する。具体的には、制御メッセージ送信先決定部101は、後述するフローエントリ管理部108の判定結果に基づいて、パケット転送装置から受信したパケットに対する処理内容の問い合わせが初めてか否かに基づいて、フローエントリを通知する(適用させる)パケット転送装置を決定する。
制御メッセージ処理部105は、パケット転送装置210〜230から受信した制御メッセージを解析して、経路制御装置(コントローラ)100内の該当する処理手段に制御メッセージ情報を引き渡す。例えば、パケット転送装置210〜230から新規フロー検出通知メッセージ(Packet−In)を受信した場合、制御メッセージ処理部105は、新しい処理規則(フローエントリ)の作成を経路・アクション計算部103に依頼する。
フローエントリ記憶部107は、フローエントリを記憶する。具体的には、フローエントリ記憶部107に、フローエントリをデータベースとして記憶しておく。フローエントリ記憶部107は、例えば、磁気ディスク等により実現される。フローエントリ記憶部107は、図15に例示するように、照合規則(マッチングルール)、アクション(タイマー値を含む)、および、フロー統計情報を含む処理規則(フローエントリ)を記憶する。
フローエントリ管理部108は、ノード(パケット転送装置)から受信した情報に基づいて照合規則(マッチングキー)を作成する。さらに、フローエントリ管理部108は、経路・アクション計算部103が計算したフローエントリをフローエントリ記憶部107に記憶させる。その際、フローエントリ管理部108は、そのフローエントリが既にフローエントリ記憶部107に記憶されているか否かを判定する。そのフローエントリが既にフローエントリ記憶部107に記憶されている場合、フローエントリ管理部108は、受信したパケットに対する処理内容の問い合わせが初めてでないと判定する。一方、そのフローエントリがフローエントリ記憶部107に記憶されていない場合、フローエントリ管理部108は、受信したパケットに対する処理内容の問い合わせが初めてであると判定する。フローエントリ管理部108は、その判定結果を制御メッセージ送信先決定部101に通知する。
また、フローエントリ管理部108は、パケット転送装置210〜230からの処理規則(フローエントリ)の追加または更新要求に応じて処理規則(フローエントリ)をフローテーブル記憶部212に設定する指示を行う。
制御メッセージ送信先決定部101と、トポロジ管理部102と、経路・アクション計算部103と、パケット転送装置通信部104と、制御メッセージ処理部105と、フローエントリ管理部108とは、プログラム(経路制御プログラム)に従って動作するコンピュータのCPUによって実現される。また、制御メッセージ送信先決定部101と、トポロジ管理部102と、経路・アクション計算部103と、パケット転送装置通信部104と、制御メッセージ処理部105と、フローエントリ管理部108とは、それぞれが専用のハードウェアで実現されていてもよい。
パケット転送装置210〜230は、第1の実施形態と同様、パケットを受信した際に、所定のルールに基づいてそのパケットを転送する装置である。また、第2の実施形態におけるパケット転送装置210〜230の構成は、図2に例示する構成と同様である。すなわち、第2の実施形態におけるパケット転送装置210も、制御メッセージ送受信部211と、フローテーブル記憶部212と、パケット処理部213とを備えている。
制御メッセージ送受信部211は、経路制御装置100と通信する機能を備えている。
フローテーブル記憶部212は、フローテーブルを記憶する。第1の実施形態と同様、フローテーブルには、フローごとに、パケットヘッダとの照合に用いられるマッチングルール(ヘッダフィールド)と、フロー統計情報(Counters)と、パケットに対する処理内容を定義したアクション(Actions)とを含む組が定義される(図15参照)。
パケット処理部213は、フローテーブル記憶部212から、受信パケットに適合する照合規則(マッチングキー)を含む処理規則(フローエントリ)を検索し、その処理規則(フローエントリ)のアクションフィールドに記述された処理内容(例えば、特定のポートへの転送、フラッディング、廃棄など)を実行する。
次に、本実施形態における通信経路制御システムの動作を説明する。図6は、オープンフローネットワークにおけるパケットの流れの一例を示す説明図である。
外部端末310がデータパケットをパケット転送装置210に送信し、パケット転送装置210がそのパケットを受信すると(ステップS1401)、パケット処理部213は、そのパケットのヘッダ情報に適合する照合規則(マッチングキー)を含むエントリをフローテーブルから検索する。しかし、受信したパケットは最初のパケットであるため、フローテーブルに該当するエントリは存在しない。そこで、パケット処理部213は、受信したパケットをバッファリングしてから、経路制御装置100に対して、新規フロー検出通知メッセージを送信する(ステップS1402)。
この新規フロー検出通知メッセージには、フローの識別に必要な情報(例えば、MACアドレス、IPアドレス、ポート番号(それぞれ送信元と宛先の両方含む))と、パケットの受信ポートを示す情報が含まれる。
ここでは、パケット転送装置210が受信したパケットをバッファリングして、フローの識別に必要な情報を経路制御装置100に送信することを想定しているが、パケット転送装置210は、受信したパケットそのものを経路制御装置100に送信してもよい。
ここで、経路制御装置100が新規フロー検出通知メッセージを受信したときの動作を図4を用いて説明する。
経路制御装置100がパケット転送装置210から新規フロー検出通知メッセージを受信すると(図4におけるステップS1501)、経路・アクション計算部103は、該当パケットの経路を計算し、その経路上に存在する各パケット転送装置のアクションを決定する(ステップS1502)。次に、経路制御装置100では、経路上に存在するパケット転送装置の中から、アクションの内容を含む処理規則を通知するパケット転送装置を宛先として決定する処理が行われる(ステップS1503)。
まず、フローエントリ管理部108は、新規フロー検出通知メッセージの中から、フローを識別する情報を抽出する。そして、フローエントリ管理部108は、そのフローに対するエントリをフローエントリ記憶部107に登録する際、そのフローエントリが既にフローエントリ記憶部107に記憶されているか否かを判定する。
そのフローエントリが既にフローエントリ記憶部107に記憶されている場合、制御メッセージ送信先決定部101は、新規フロー検出通知メッセージを送信したパケット転送装置に対してのみ処理規則を通知すると決定する。一方、そのフローエントリがフローエントリ記憶部107に記憶されていない場合、制御メッセージ送信先決定部101は、経路・アクション計算部103が計算した経路上の全パケット転送装置に対して、処理規則を通知すると決定する。そして、制御メッセージ送信先決定部101は、決定した宛先に対して、処理規則を通知する(ステップS1504)。
各パケット転送装置210〜230が経路制御装置100から処理規則を受信すると、制御メッセージ送受信部211は、フローテーブルに受信したエントリを設定する。そして、パケット処理部213は、設定されたエントリに従って、バッファリングしてあるパケットをパケット転送装置220に転送する(図6におけるステップS1404−1)。このパケットが転送される転送経路上のパケット転送装置220,230には、既にエントリの設定が行われている。そのため、このパケットは、パケット転送装置220,230の順で転送され、外部端末320に届くことになる(ステップS1404−2、ステップS1404−3)。以後、外部端末310から外部端末320宛てにパケットが送信される場合、そのパケットは、転送経路に従って、パケット転送装置210→パケット転送装置220→パケット転送装置230の順に転送され(ステップS1405−1〜S1405−4)、外部端末320に到着する。
以上のように、本実施形態によれば、制御メッセージ送信先決定部101が、処理内容の問い合わせが行われたパケットに対応するパケット転送ルールがフローエントリ記憶部107に記憶されているか否かに基づいて、パケット転送ルールを適用させるパケット転送装置を決定する。このような構成によっても、通信経路の制御に用いられるパケットの量を削減できる。
以下、具体的な実施例により本発明を説明するが、本発明の範囲は以下に説明する内容に限定されない。第1の実施例は、本発明の第1の実施形態における通信経路制御システムに対応する。
図7は、本発明の第1の実施例における通信経路制御システムの例を示す説明図である。第1の実施例における通信経路制御システムは、2台の外部端末310,320と、外部端末間に3台のパケット転送装置210〜230と、このネットワークを制御する経路制御装置100とを含む。なお、各パケット転送装置210〜230の側に記載された1桁の番号が各装置におけるポート番号を示し、各パケット転送装置210〜230に付与された3桁の番号が、各装置の識別子を示すものとする。
第1の実施例では、オープンフローネットワークを想定した通信経路制御システムについて説明する。経路制御装置100は、処理規則(フローエントリ)を通知すべきパケット転送装置を決定する機能をオープンフローコントローラに具備した装置に相当する。また、パケット転送装置は、オープンフロースイッチに相当する。以下、第1の実施例における通信経路制御システムの動作を、図16を用いて説明する。
外部端末310がデータパケットをパケット転送装置210に送信し、パケット転送装置210がそのパケットを受信すると(ステップS901)、パケット処理部213は、そのパケットのヘッダ情報に適合する照合規則(マッチングキー)を含むエントリをフローテーブルから検索する。しかし、受信したパケットは最初のパケットであるため、フローテーブルに該当するエントリは存在しない。そこで、パケット処理部213は、受信したパケットをバッファリングしてから、経路制御装置100に対して、新規フロー検出通知メッセージ(Packet−Inメッセージ)を送信する(ステップS902)。
このPacket−Inメッセージには、フローの識別に必要な情報(例えば、MACアドレス、IPアドレス、ポート番号(それぞれ送信元と宛先の両方含む))と、パケットの受信ポートを示す情報が含まれる。
ここでは、パケット転送装置210が受信したパケットをバッファリングして、フローの識別に必要な情報を経路制御装置100に送信することを想定している。ただし、パケット転送装置210は、受信したパケットそのものを経路制御装置100に送信してもよい。
ここで、経路制御装置100がPacket−Inメッセージを受信したときの動作を説明する。図8は、経路制御装置の動作の例を示すフローチャートである。
経路制御装置100がパケット転送装置210からPacket−Inメッセージを受信すると(ステップS301)、経路・アクション計算部103は、該当パケットの経路を計算し、その経路上に存在するパケット転送装置のアクションを決定する(ステップS302)。次に、制御メッセージ送信先決定部101は、経路上のパケット転送装置の中から、宛先として、アクションの内容を含む処理規則を通知するパケット転送装置の宛先を決定する(ステップS303)。そして、制御メッセージ送信先決定部101は、決定した宛先に対してFlowModを通知する(ステップS304)。
図9は、処理規則を通知するパケット転送装置を決定する動作の例を示す説明図である。以下、図9を用いて、ステップS303の内容を詳しく説明する。
制御メッセージ送信先決定部101は、Packet−Inメッセージを受信した際、そのPacket−Inメッセージを送信したパケット転送装置がデータパケットを送信する外部端末からみて最初のパケット転送装置であるか否かを判定する。本実施例では、Packet−Inメッセージを送信したパケット転送装置の識別子と、Packet−Inメッセージから特定されるポート番号のうち、パケット転送装置がデータパケットを受信したポート(以下、Input Portと記すこともある)の番号とを使用して上記判定を行うものとする(ステップS401)。なお、判定の方法は、本実施例で説明するパケット転送装置の識別子とポート番号とを用いた判定方法に限定されるものではない。Packet−Inメッセージを送信したパケット転送装置がデータパケットの送信端末からみて最初のパケット転送装置であるか否かが判定できる方法であれば、他の方法であってもよい。
図7に例示する通信経路制御システムにおいて、パケット転送装置210の識別子は「210」、Input Portは「1」である。ここで、トポロジ管理部102が図7に例示する経路制御装置100の識別子とポート番号からネットワークトポロジ情報を計算し、その情報を保持しているものとする。図10は、トポロジ管理部102が計算したネットワークトポロジ情報の例を示す説明図である。図10に示す例では、四角の記号が外部端末を示し、丸の記号がパケット転送装置を示す。また、四角または丸の下側に記載された3桁の番号が装置の識別子を示し、四角または丸の左右側に記載された1桁の番号がポート番号を示す。
制御メッセージ送信先決定部101は、トポロジ管理部102にアクセスし(ステップS402)、パケット転送装置の接続先が他のパケット転送装置か否かを判断する(ステップS403)。ここでは、制御メッセージ送信先決定部101は、図10に例示するネットワークトポロジ情報から、識別子が「210」で識別される装置のポート番号「1」に接続された装置を確認する。図10に示す例では、パケット転送装置210のポート番号「1」のポートに接続された装置は外部端末310である。よって、制御メッセージ送信先決定部101は、パケット転送装置210に隣接している装置が外部端末310であることがわかる(ステップS403におけるN)。したがって、制御メッセージ送信先決定部101は、経路・アクション計算部103が計算した経路上に存在する全てのパケット転送装置に処理規則(経路情報)を通知する(ステップS405)。
一方、パケット転送装置210に隣接している装置が他のパケット転送装置であった場合(ステップS403におけるY)、制御メッセージ送信先決定部101は、Packet−Inメッセージを送信したパケット転送装置に対してのみ処理規則を通知することになる(ステップS404)。なお、パケット転送装置に隣接している装置が他のパケット転送装置であった場合の処理については後述する。
制御メッセージ送信先決定部101は、FlowModメッセージの送り先を決定すると、パケット転送装置210〜230に対してFlowModメッセージを送信する(図16におけるステップS903)。パケット処理部213は、設定されたエントリに従って、バッファリングしてあるパケットをパケット転送装置220に転送する(図16におけるステップS904−1)。このパケットが転送される転送経路上のパケット転送装置220,230には、既にエントリの設定が行われている。そのため、このパケットは、パケット転送装置220,230の順で転送され、外部端末320に届くことになる(ステップS904−2、ステップS904−3)。
次に、図9におけるステップS404の処理が行われる状況(すなわち、パケット転送装置へデータパケットを送信した装置が他のパケット転送装置であった場合の処理)を説明する。図11は、オープンフローネットワークにおけるパケットの流れの例を示す説明図である。
まず、外部端末310が外部端末320宛てに最初のデータパケットを送信すると、このデータパケットは、外部端末320に接続されたパケット転送装置210に送信される(ステップS1301−1)。パケット転送装置210がパケットを受信すると、パケット処理部213は、フローテーブルから、そのパケットのヘッダ情報に適合する照合規則(マッチングキー)を含むエントリを検索する。
しかし、受信したパケットは最初のパケットであるため、フローテーブルに該当するエントリは存在しない。そこで、制御メッセージ送受信部211は、受信したパケットをバッファリングしてから、経路制御装置(コントローラ)100に対して、新規フロー検出通知メッセージ(Packet−Inメッセージ)を送信する(ステップS1302)。
このPacket−Inメッセージには、フローの識別に必要な情報(例えば、MACアドレス、IPアドレス、ポート番号(それぞれ送信元と宛先の両方含む))と、パケットの受信ポートを示す情報が含まれる。
ここでは、パケット転送装置210が受信したパケットをバッファリングして、フローの識別に必要な情報を経路制御装置(コントローラ)100に送信することを想定している。ただし、制御メッセージ送受信部211は、受信したパケットそのものを経路制御装置(コントローラ)100に送信してもよい。
経路制御装置(コントローラ)100がPacket−Inメッセージを受信すると、経路・アクション計算部103は、受信したメッセージから新規エントリの照合規則(マッチングキー)を作成し、そのエントリに適用するタイマー値を決定する。照合規則として作成する情報は、例えば、図15に例示する「InPort」〜「TCP/UDP src port」の情報である。
さらに、経路・アクション計算部103は、受信したメッセージに基づいて、宛先である外部端末320の位置確認を行い、外部端末310から外部端末320へのパケット転送経路を計算する。ここでは、転送経路を計算した結果、パケット転送装置210→パケット転送装置220→パケット転送装置230の順でパケットを転送する転送経路が計算されたものとする。
次に、経路・アクション計算部103は、新規エントリの照合規則(マッチングキー)と一致するパケットに対して、計算された転送経路に従って転送することを規定したアクションおよびタイマー値を設定したエントリを、各パケット転送装置210〜230ごとに作成する。そして、制御メッセージ送信先決定部101は、作成したエントリを、FlowModメッセージを用いて、各パケット転送装置210〜230に通知する(ステップS1303−1、ステップS1303−2、ステップS1303−3)。
ここで、各パケット転送装置210に対するFlowModメッセージ(ステップS1303−1で送信したFlowModメッセージ)と、パケット転送装置230に対するFlowModメッセージ(ステップS1303−3で送信したFlowModメッセージ)が各パケット転送装置に到着するものとする。一方、パケット転送装置220に対するFlowModメッセージ(ステップS1303−2で送信したFlowModメッセージ)がネットワークの輻輳によるパケットロスや遅延等によりパケット転送装置220に到着しなかったとする。
パケット転送装置210がFlowModメッセージを受信し、パケット処理部213がフローテーブルへのエントリの設定を完了すると、パケット処理部213は、設定されたエントリに従ってバッファリングしてあるパケットをパケット転送装置220に転送する(ステップS1301−2)。パケット転送装置220がパケット転送装置210からデータパケットを受信すると、パケット転送装置220のパケット処理部213は、そのパケットのヘッダ情報に適合する照合規則(マッチングキー)を含むエントリをフローテーブルから検索する。しかし、パケット転送装置220へのFlowModメッセージは到着しておらず、該当するエントリはフローテーブルに存在しない。そこで、パケット転送装置220の制御メッセージ送受信部211は、受信したパケットをバッファリングしてから、経路制御装置(コントローラ)100に対して、新規フロー検出通知メッセージ(Packet−Inメッセージ)を送信する(ステップS1304)。
経路制御装置(コントローラ)100がPacket−Inメッセージを受信すると、経路・アクション計算部103は、受信した情報に基づいて、新規エントリの照合規則(マッチングキー)を作成し、そのエントリに適用するタイマー値を決定する。照合規則として作成する情報は、例えば、図15に例示する「InPort」〜「TCP/UDP src port」の情報である。さらに、経路・アクション計算部103は、受信した情報に基づいて、宛先である外部端末320の位置確認を行い、外部端末310から外部装置320へのパケット転送経路を計算する。ここでは、転送経路を計算した結果、パケット転送装置220からパケット転送装置230の順でパケットを転送する転送経路が計算されたものとする。
次に、制御メッセージ送信先決定部101は、FlowModの送り先を決定する。送り先を決定する処理を、図9を用いて説明する。
経路・アクション計算部103が経路の計算をした後、制御メッセージ送信先決定部101は、そのPacket−Inメッセージを送信したパケット転送装置がデータパケットを送信する外部端末からみて最初のパケット転送装置であるか否かを判定する。本実施例では、Packet−Inメッセージを送信したパケット転送装置の識別子と、Packet−Inメッセージから特定されるポート番号のうち、パケット転送装置がデータパケットを受信したポートの番号とを使用して、上記判定を行うものとする(ステップS401)。なお、判定の方法は、本実施例で説明するパケット転送装置の識別子とポート番号とを用いた判定方法に限定されるものではない。Packet−Inメッセージを送信したパケット転送装置がデータパケットの送信端末からみて最初のパケット転送装置であるか否かが判定できる方法であれば、他の方法であってもよい。
図7に例示する通信経路制御システムにおいて、パケット転送装置220の識別子は「220」、Input Portは「1」である。ここで、トポロジ管理部102が図7に例示する経路制御装置100の識別子とポート番号からネットワークトポロジ情報を計算し、その情報を保持しているものとする。また、トポロジ管理部102が計算したネットワークトポロジ情報が、図10に例示する内容であるものとする。
制御メッセージ送信先決定部101は、トポロジ管理部102にアクセスし(ステップS402)、パケット転送装置の接続先がパケット転送装置か否かを判断する(ステップS403)。具体的には、制御メッセージ送信先決定部101は、図10に例示するネットワークトポロジ情報から、識別子が「220」で識別される装置のポート番号「1」に接続された装置を確認する。図10に示す例では、パケット転送装置220のポート番号「1」のポートに接続された装置はパケット転送装置210である。よって、制御メッセージ送信先決定部101は、パケット転送装置220に隣接している装置がパケット転送装置210であることがわかる(ステップS403におけるY)。したがって、制御メッセージ送信先決定部101は、Packet−Inメッセージを送信したパケット転送装置220に対してのみ処理規則を通知する(ステップS404)。
オープンフローネットワークは、パケット転送装置にデータパケットが到着した際に、そのパケット転送装置が経路制御装置に経路の問い合わせを行い、経路制御装置がそのパケットに対するアクションをパケット転送装置に通知することで、データパケットを目的の装置に到着させることができるネットワークである。そのため、パケット転送装置220が外部端末でない装置(すなわち、パケット転送装置。本実施例では、パケット転送装置210。)からデータパケットを受信するということは、経路制御装置100が、そのデータパケットに対するFlowModを既にパケット転送装置220に送信していることを意味する。
また、既にFlowModをパケット転送装置220に送信しているにもかかわらず、パケット転送装置220からの問い合わせが発生することがある。その理由として、経路制御装置100からのFlowModメッセージがパケット転送装置210からのデータパケットが到着する前に届いたこと、または、経路制御装置100からのFlowModメッセージが損失したことが挙げられる。よって、経路制御装置100は、転送経路上に存在する全てのパケット転送装置に経路情報を送信する必要はなく、パケット転送装置220にのみ、再度経路情報を送信すればよいことになる。
したがって、制御メッセージ送信先決定部101は、図11に例示するように、パケット転送装置220に対してのみFlowModを送信する(図11におけるステップS1305−1)。パケット処理部213は、設定されたエントリに従ってバッファリングしてあるパケットをパケット転送装置230に転送する(ステップS1301−3)。そして、このパケットは、パケット転送装置230に転送され、外部端末320に届くことになる(ステップS1301−4)。
以上のように、本実施例では、制御メッセージ送信先決定部101が、Packet−Inを送信したパケット転送装置と、パケット転送装置がデータパケットを受信したポート番号の情報をもとに、トポロジ管理部102のネットワークトポロジを参照して、パケット転送装置がデータパケットを受信したポートの接続先を確認する。
パケットを受信したポートにパケット転送装置が接続されていれば、経路制御装置100が経路上のパケット転送装置に対して、以前にFlowModメッセージを送信しているということがわかるからである。つまり、この場合、経路制御装置100は、Packet−Inを送信したパケット転送装置に対してのみ、FlowModメッセージを送信すればよい。一方、パケットを受信したポートにパケット転送装置でない端末(例えば、外部端末)が接続されていれば、経路制御装置100が経路上の全パケット転送装置に対して、FlowModメッセージを送信すればよい。
このように、経路制御装置100が、Packet−Inを送信したパケット転送装置に応じてFlowModの宛先装置を決定することで、経路制御装置100からパケット転送装置への冗長な制御パケットの送信を回避できる。また、このような構成により、ネットワーク使用効率の向上、経路制御装置での制御パケット送信負荷の軽減、および、パケット転送装置での制御パケットの処理負荷の軽減が期待できる。
次に、本発明の第2の実施例について説明する。第2の実施例は、本発明の第2の実施形態における通信経路制御システムに対応する。
本発明の第2の実施例では、経路制御装置100にフローエントリを保持するデータベース(すなわち、フローエントリ記憶部107)を作成し、そのデータベースに、問い合わせを受けたフローに対する経路情報の有無で新規フローか否かを判断する。
すなわち、本発明の第1の実施例における通信経路制御システムでは、トポロジ情報を用いて新規フローか否かを判断している。一方、本発明の第2の実施例における通信経路制御システムでは、フローエントリのデータベースを用いて新規フローか否かを判断している点において、第1の実施例における通信経路制御システムと異なる。
なお、第2の実施例も、第1の実施例と同様、オープンフローネットワークを想定した通信経路制御システムについて説明する。すなわち、オープンフローコントローラは、第2の実施形態における経路制御装置100に相当する。言い換えると、経路制御装置100は、処理規則(フローエントリ)を通知すべきパケット転送装置を決定する機能をオープンフローコントローラに具備した装置に相当する。また、オープンフロースイッチは、第1の実施形態および第2の実施形態におけるパケット転送装置に相当する。
以下、本発明の第2の実施例における通信経路制御システムを、図1を用いて説明する。すなわち、第2の実施例における通信経路制御システムも、2台の外部端末310,320と、外部端末間に3台のパケット転送装置210〜230と、このネットワークを制御する経路制御装置100とを含む。また、第2の実施例における通信経路制御システムの動作を、図16を用いて説明する。
外部端末310がデータパケットをパケット転送装置210に送信し、パケット転送装置210がそのパケットを受信すると(ステップS901)、パケット処理部213は、そのパケットのヘッダ情報に適合する照合規則(マッチングキー)を含むエントリをフローテーブルから検索する。しかし、受信したパケットは最初のパケットであるため、フローテーブルに該当するエントリは存在しない。そこで、パケット処理部213は、受信したパケットをバッファリングしてから、経路制御装置100に対して、新規フロー検出通知メッセージ(Packet−Inメッセージ)を送信する(ステップS902)。
このPacket−Inメッセージには、フローの識別に必要な情報(例えば、MACアドレス、IPアドレス、ポート番号(それぞれ送信元と宛先の両方含む))と、パケットの受信ポートを示す情報が含まれる。
ここでは、パケット転送装置210が受信したパケットをバッファリングして、フローの識別に必要な情報を経路制御装置100に送信することを想定している。ただし、パケット転送装置210は、受信したパケットそのものを経路制御装置100に送信してもよい。
ここで、経路制御装置100がPacket−Inメッセージを受信したときの動作を図8を用いて説明する。
経路制御装置100がパケット転送装置210からPacket−Inメッセージを受信すると(ステップS301)、経路・アクション計算部103は、該当パケットの経路を計算し、その経路上に存在するパケット転送装置のアクションを決定する(ステップS302)。次に、制御メッセージ送信先決定部101は、経路上のパケット転送装置の中から、宛先として、アクションの内容を含む処理規則を通知するパケット転送装置の宛先を決定する(ステップS303)。そして、制御メッセージ送信先決定部101は、決定した宛先に対してFlowModを通知する(ステップS304)。
制御メッセージ送信先決定部101が宛先として決定したパケット転送装置に経路情報を通知したあと、フローエントリ管理部108は、フローエントリ記憶部107に経路情報を登録する。なお、パケット転送装置において処理規則が削除された場合、経路制御装置100では、フローエントリ記憶部107からそのフローに対する経路情報を削除してもよい。
図12は、処理規則を通知するパケット転送装置を決定する動作の例を示す説明図である。以下、図12を用いて、パケット転送装置の宛先を決定するステップS303の内容を詳しく説明する。
まず、経路制御装置100がPacket−Inを受信すると、フローエントリ管理部108は、データパケットを特定する要素(ヘッダ領域)を抽出する(ステップS1201)。例えば、5タプル(tuple)でフローが区別される場合、フローエントリ管理部108は、データパケットの5タプルの内容(tuple)を確認する。
次に、フローエントリ管理部108は、フローエントリ記憶部107を参照し、そのフローに対するフローエントリが存在しているか確認する(ステップS1202)。確認した結果、フローエントリがフローエントリ記憶部107に存在していない場合(ステップS1202におけるN)、それは、新規フローであることを意味する。そこで、制御メッセージ送信先決定部101は、経路・アクション計算部103が計算した経路上の全パケット転送装置に対して、処理規則を通知すると決定し、決定した通知先に処理規則を送信する(ステップS1204)。
一方、フローエントリがフローエントリ記憶部107に存在していた場合(ステップS1202におけるY)、制御メッセージ送信先決定部101は、Packet−Inメッセージを送信したパケット転送装置に対してのみ処理規則を通知することになる(ステップS1203)。なお、フローエントリがフローエントリ記憶部107に存在していた場合の処理については後述する。
こうして、制御メッセージ送信先決定部101は、FlowModメッセージの送り先を決定すると、パケット転送装置210〜230に対してFlowModメッセージを送信する(図16におけるステップS903)。
パケット処理部213は、設定されたエントリに従って、バッファリングしてあるパケットをパケット転送装置220に転送する(図16におけるステップS904−1)。このパケットが転送される転送経路上のパケット転送装置220,230には、既にエントリの設定が行われている。そのため、このパケットは、パケット転送装置220,230の順で転送され、外部端末320に届くことになる(ステップS904−2、ステップS904−3)。
次に、図12におけるステップS1203の処理が行われる状況(すなわち、受信したパケットが新規フローでない場合の処理)を図11を用いて説明する。
まず、外部端末310が外部端末320宛てに、最初のデータパケットを送信すると、このデータパケットは、外部端末320に接続されたパケット転送装置210に送信される(ステップS1301−1)。パケット転送装置210がパケットを受信すると、パケット処理部213は、フローテーブルから、そのパケットのヘッダ情報に適合する照合規則(マッチングキー)を含むエントリを検索する。
しかし、受信したパケットは最初のパケットであるため、フローテーブルに該当するエントリは存在しない。そこで、制御メッセージ送受信部211は、受信したパケットをバッファリングしてから、経路制御装置(コントローラ)100に対して、新規フロー検出通知メッセージ(Packet−Inメッセージ)を送信する(ステップS1302)。
このPacket−Inメッセージには、フローの識別に必要な情報(例えば、MACアドレス、IPアドレス、ポート番号(それぞれ送信元と宛先の両方含む))と、パケットの受信ポートを示す情報が含まれる。
ここでは、パケット転送装置210が受信したパケットをバッファリングして、フローの識別に必要な情報を経路制御装置(コントローラ)100に送信することを想定している。ただし、制御メッセージ送受信部211は、受信したパケットそのものを経路制御装置(コントローラ)100に送信してもよい。
経路制御装置(コントローラ)100がPacket−Inメッセージを受信すると、経路・アクション計算部103は、受信したメッセージから新規エントリの照合規則(マッチングキー)を作成し、そのエントリに適用するタイマー値を決定する。照合規則として作成する情報は、例えば、図15に例示する「InPort」〜「TCP/UDP src port」の情報である。
さらに、経路・アクション計算部103は、受信したメッセージに基づいて、宛先である外部端末320の位置確認を行い、外部端末310から外部端末320へのパケット転送経路を計算する。ここでは、転送経路を計算した結果、パケット転送装置210→パケット転送装置220→パケット転送装置230の順でパケットを転送する転送経路が計算されたものとする。
次に、経路・アクション計算部103は、新規エントリの照合規則(マッチングキー)と一致するパケットに対して、計算された転送経路に従って転送することを規定したアクションおよびタイマー値を設定したエントリを、各パケット転送装置210〜230ごとに作成する。そして、制御メッセージ送信先決定部101は、作成したエントリを、FlowModメッセージを用いて、各パケット転送装置210〜230に通知する(ステップS1303−1、ステップS1303−2、ステップS1303−3)。
ここで、各パケット転送装置210に対するFlowModメッセージ(ステップS1303−1で送信したFlowModメッセージ)と、パケット転送装置230に対するFlowModメッセージ(ステップS1303−3で送信したFlowModメッセージ)が各パケット転送装置に到着するものとする。一方、パケット転送装置220に対するFlowModメッセージ(ステップS1303−2で送信したFlowModメッセージ)がネットワークの輻輳によるパケットロスや遅延等によりパケット転送装置220に到着しなかったとする。
パケット転送装置210がFlowModメッセージを受信し、パケット処理部213がフローテーブルへのエントリの設定を完了すると、パケット処理部213は、設定されたエントリに従ってバッファリングしてあるパケットをパケット転送装置220に転送する(ステップS1301−2)。パケット転送装置220がパケット転送装置210からデータパケットを受信すると、パケット転送装置220のパケット処理部213は、そのパケットのヘッダ情報に適合する照合規則(マッチングキー)を含むエントリをフローテーブルから検索する。しかし、パケット転送装置220へのFlowModメッセージは到着しておらず、該当するエントリはフローテーブルに存在しない。そこで、パケット転送装置220の制御メッセージ送受信部211は、受信したパケットをバッファリングしてから、経路制御装置(コントローラ)100に対して、新規フロー検出通知メッセージ(Packet−Inメッセージ)を送信する(ステップS1304)。
経路制御装置(コントローラ)100がPacket−Inメッセージを受信すると、経路・アクション計算部103は、受信した情報に基づいて、新規エントリの照合規則(マッチングキー)を作成し、そのエントリに適用するタイマー値を決定する。照合規則として作成する情報は、例えば、図15に例示する「InPort」〜「TCP/UDP src port」の情報である。さらに、経路・アクション計算部103は、受信した情報に基づいて、宛先である外部端末320の位置確認を行い、外部端末310から外部装置320へのパケット転送経路を計算する。ここでは、転送経路を計算した結果、パケット転送装置220からパケット転送装置230の順でパケットを転送する転送経路が計算されたものとする。
次に、経路制御装置(コントローラ)100は、FlowModの宛先を決定する。まず、経路制御装置100がPacket−Inを受信すると、フローエントリ管理部108は、データパケットを特定する要素(ヘッダ領域)を抽出する(図12におけるステップS1201)。例えば、5タプル(tuple)でフローが区別される場合、フローエントリ管理部108は、データパケットの5タプルの内容(tuple)を確認する。
次に、フローエントリ管理部108は、フローエントリ記憶部107を参照し、その5タプルについて識別したフローに対するフローエントリが存在しているか確認する(ステップS1202)。確認した結果、フローエントリがフローエントリ記憶部107に存在している場合(ステップS1202におけるY)、それは、新規フローでないことを意味する。そこで、制御メッセージ送信先決定部101は、新規フロー検出通知メッセージを送信したパケット転送装置に対してのみ処理規則を通知すると決定し、決定した通知先に処理規則を送信する(ステップS1203)。
こうして、制御メッセージ送信先決定部101は、図11に例示するように、パケット転送装置220に対してのみFlowModを送信する(図11におけるステップS1305−1)。パケット処理部213は、FlowModメッセージを受信すると、設定されたエントリに従ってバッファリングしてあるパケットをパケット転送装置230に転送する(ステップS1301−3)。そして、このパケットは、パケット転送装置230に転送され、外部端末320に届くことになる(ステップS1301−4)。
次に、本発明の最小構成を説明する。図13は、本発明による通信経路制御システムの最小構成の例を示すブロック図である。本発明による通信経路制御システムは、パケットの転送方法を規定したルールであるパケット転送ルールに基づいて受信したパケットを転送するパケット転送装置80(例えば、パケット転送装置210〜230)と、パケット転送ルールの適用をパケット転送装置80に指示することによりパケットの通信経路を制御する経路制御装置90(例えば、経路制御装置100)とを備えている。
パケット転送装置80は、受信したパケットに対する処理内容(例えば、アクション)を経路制御装置90に問い合わせる処理内容問合せ手段81(例えば、制御メッセージ送受信部211)を含む。
経路制御装置90は、パケット転送装置80からパケットに対する処理内容の問い合わせを受信したときに、パケットに応じて決定されるパケット転送ルールを適用させるパケット転送装置80を、そのパケットに対する処理内容の問い合わせが初めてか否かに基づいて決定するパケット転送装置決定手段91(例えば、制御メッセージ送信先決定部101)を含む。
そのような構成により、通信経路の制御に用いられるパケットの量を削減できる。
また、パケット転送装置決定手段91が、問い合わせを行ったパケット転送装置が、他の装置に対して通信を行う端末装置(例えば、外部端末310)がデータパケットを送信する経路上の最初のパケット転送装置であるか否かに基づいてパケット転送ルールを適用させるパケット転送装置を決定してもよい。
また、経路制御装置90が、パケット転送装置に設定しているパケット転送ルールを記憶するパケット転送ルール記憶手段(例えば、フローエントリ記憶部107)を含んでいてもよい。そして、パケット転送装置決定手段91(例えば、制御メッセージ送信先決定部101、フローエントリ管理部108)が、処理内容の問い合わせが行われたパケットに対応するパケット転送ルールがパケット転送ルール記憶手段に記憶されているか否かに基づいてパケット転送ルールを適用させるパケット転送装置を決定してもよい。
また、経路制御装置90が、パケット転送装置が他の装置と接続する接続形態を示す情報であるトポロジ(例えば、ネットワークトポロジ)を記憶するトポロジ記憶手段(例えば、端末位置記憶部106)を含んでいてもよい。そして、パケット転送装置決定手段91が、パケットの処理内容について問い合わせを行ったパケット転送装置が経路上の最初のパケット転送装置であるか否かを、トポロジとパケットに含まれる情報のうち問い合わせが行われたパケット転送装置の識別子およびその問い合わせを受信した受信ポートの識別子(例えば、Input port)とに基づいて判断し、その判断結果に基づいてパケット転送ルールを適用させるパケット転送装置を決定してもよい。
また、パケット転送装置決定手段91が、パケットに対する処理内容の問い合わせが初めての場合に、他の装置に対して通信を行う端末装置(例えば、外部端末310)により送信されるデータパケットの経路上における全てのパケット転送装置にパケット転送ルールを適用させると決定し、問い合わせが初めてではない場合に、その問い合わせを行ったパケット転送装置に対してパケット転送ルールを適用させると決定してもよい。
また、図14は、本発明による経路制御装置の最小構成の例を示すブロック図である。図14に例示する経路制御装置は、図13に例示する経路制御装置90の内容と同様である。このような構成によっても、通信経路の制御に用いられるパケットの量を削減できる
以上、実施形態及び実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。すなわち、本発明は、上述の実施例に限定されず、要旨を逸脱しない範囲で当業者により適宜変更され得る。
この出願は、2010年12月13日に出願された日本特許出願2010−277204を基礎とする優先権を主張し、その開示の全てをここに取り込む。
本発明は、通信経路の制御を行う通信経路制御システムに好適に適用される。
100 経路制御装置
101 制御メッセージ送信先決定部
102 トポロジ管理部
103 経路・アクション計算部
104 パケット転送装置通信部
105 制御メッセージ処理部
106 端末位置記憶部
107 フローエントリ記憶部
108 フローエントリ管理部
210〜230 パケット転送装置
211 制御メッセージ送受信部
212 フローテーブル記憶部
213 パケット処理部
310,320 外部端末

Claims (10)

  1. パケットの転送方法を規定したルールであるパケット転送ルールに基づいて受信したパケットを転送するパケット転送装置と、
    前記パケット転送ルールの適用を前記パケット転送装置に指示することによりパケットの通信経路を制御する経路制御装置とを備え、
    前記パケット転送装置は、
    受信したパケットに対する処理内容を前記経路制御装置に問い合わせる処理内容問合せ手段を含み、
    前記経路制御装置は、
    前記パケット転送装置からパケットに対する処理内容の問い合わせを受信したときに、前記パケットに応じて決定されるパケット転送ルールが適用されるパケット転送装置を、当該パケットに対する処理内容の問い合わせが初めてか否かに基づいて決定するパケット転送装置決定手段を含む
    ことを特徴とする通信経路制御システム。
  2. パケット転送装置決定手段は、問い合わせを行ったパケット転送装置が、他の装置に対して通信を行う端末装置がデータパケットを送信する経路上の最初のパケット転送装置であるか否かに基づいてパケット転送ルールを適用させるパケット転送装置を決定する
    請求項1記載の通信経路制御システム。
  3. 経路制御装置は、パケット転送装置に設定しているパケット転送ルールを記憶するパケット転送ルール記憶手段を含み、
    パケット転送装置決定手段は、処理内容の問い合わせが行われたパケットに対応するパケット転送ルールが前記パケット転送ルール記憶手段に記憶されているか否かに基づいてパケット転送ルールを適用させるパケット転送装置を決定する
    請求項1記載の通信経路制御システム。
  4. 経路制御装置は、パケット転送装置が他の装置と接続する接続形態を示す情報であるトポロジを記憶するトポロジ記憶手段を含み、
    パケット転送装置決定手段は、パケットの処理内容について問い合わせを行ったパケット転送装置が経路上の最初のパケット転送装置であるか否かを、前記トポロジと前記パケットに含まれる情報のうち問い合わせが行われたパケット転送装置の識別子および当該問い合わせを受信した受信ポートの識別子とに基づいて判断し、当該判断結果に基づいてパケット転送ルールを適用させるパケット転送装置を決定する
    請求項2記載の通信経路制御システム。
  5. パケット転送装置決定手段は、パケットに対する処理内容の問い合わせが初めての場合に、他の装置に対して通信を行う端末装置により送信されるデータパケットの経路上における全てのパケット転送装置にパケット転送ルールを適用させると決定し、前記問い合わせが初めてではない場合に、当該問い合わせを行ったパケット転送装置に対してパケット転送ルールを適用させると決定する
    請求項1から請求項4のうちのいずれか1項に記載の通信経路制御システム。
  6. パケットの転送方法を規定したルールであるパケット転送ルールに基づいて受信したパケットを転送するパケット転送装置からパケットに対する処理内容の問い合わせを受信したときに、前記パケットに応じて決定されるパケット転送ルールを適用させるパケット転送装置を、当該パケットに対する処理内容の問い合わせが初めてか否かに基づいて決定するパケット転送装置決定手段を備えた
    ことを特徴とする経路制御装置。
  7. パケットの転送方法を規定したルールであるパケット転送ルールに基づいて受信したパケットを転送するパケット転送装置が、パケットの通信経路を制御する経路制御装置へ受信したパケットに対する処理内容を問い合わせ、
    前記経路制御装置が、前記パケット転送装置からパケットに対する処理内容の問い合わせを受信したときに、前記パケットに応じて決定されるパケット転送ルールを適用させるパケット転送装置を、当該パケットに対する処理内容の問い合わせが初めてか否かに基づいて決定する
    ことを特徴とする通信経路制御方法。
  8. 経路制御装置が、問い合わせを受けたパケット転送装置が他の装置に対して通信を行う端末装置により送信されるデータパケットの経路上における最初のパケット転送装置であるか否かに基づいてパケット転送ルールを適用させるパケット転送装置を決定する
    請求項7記載の通信経路制御方法。
  9. 経路制御装置が、パケット転送装置に設定しているパケット転送ルールを記憶するパケット転送ルール記憶手段に処理内容の問い合わせが行われたパケットに対応するパケット転送ルールが記憶されているか否かに基づいてパケット転送ルールを適用させるパケット転送装置を決定する
    請求項7記載の通信経路制御方法。
  10. コンピュータに、
    パケットの転送方法を規定したルールであるパケット転送ルールに基づいて受信したパケットを転送するパケット転送装置からパケットに対する処理内容の問い合わせを受信したときに、前記パケットに応じて決定されるパケット転送ルールを適用させるパケット転送装置を、当該パケットに対する処理内容の問い合わせが初めてか否かに基づいて決定するパケット転送装置決定処理
    を実行させるための経路制御プログラム。
JP2013519290A 2010-12-13 2011-08-15 通信経路制御システム、経路制御装置、通信経路制御方法および経路制御プログラム Expired - Fee Related JP5800019B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013519290A JP5800019B2 (ja) 2010-12-13 2011-08-15 通信経路制御システム、経路制御装置、通信経路制御方法および経路制御プログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2010277204 2010-12-13
JP2010277204 2010-12-13
JP2013519290A JP5800019B2 (ja) 2010-12-13 2011-08-15 通信経路制御システム、経路制御装置、通信経路制御方法および経路制御プログラム
PCT/JP2011/004587 WO2012081145A1 (en) 2010-12-13 2011-08-15 Communication path control system, path control device, communication path control method, and path control program

Publications (2)

Publication Number Publication Date
JP2014502794A JP2014502794A (ja) 2014-02-03
JP5800019B2 true JP5800019B2 (ja) 2015-10-28

Family

ID=46244266

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013519290A Expired - Fee Related JP5800019B2 (ja) 2010-12-13 2011-08-15 通信経路制御システム、経路制御装置、通信経路制御方法および経路制御プログラム

Country Status (5)

Country Link
US (1) US20130246655A1 (ja)
EP (1) EP2652923B1 (ja)
JP (1) JP5800019B2 (ja)
ES (1) ES2609521T3 (ja)
WO (1) WO2012081145A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013078685A1 (zh) * 2011-12-02 2013-06-06 华为技术有限公司 发送消息的方法、接收消息方法、开放流控制器及第一开放流交换机
US8976661B2 (en) * 2012-01-11 2015-03-10 Nec Laboratories America, Inc. Network self-protection
WO2013128915A1 (en) * 2012-02-29 2013-09-06 Nec Corporation Communication apparatus, communication method, communication system and program
US9722917B2 (en) * 2013-02-26 2017-08-01 Telefonaktiebolaget Lm Ericsson (Publ) Traffic recovery in openflow networks
US9742666B2 (en) 2013-07-09 2017-08-22 Nicira, Inc. Using headerspace analysis to identify classes of packets
CN104426815B (zh) * 2013-08-27 2019-07-09 中兴通讯股份有限公司 一种sdn中流表下发的方法和系统、of控制器和of交换机
US9584418B2 (en) 2013-10-10 2017-02-28 International Business Machines Corporation Quantized congestion notification for computing environments
CN104734988B (zh) * 2013-12-23 2018-10-30 杭州华为数字技术有限公司 软件定义网络中路由控制的方法和开放流控制器
WO2015113285A1 (zh) * 2014-01-29 2015-08-06 华为技术有限公司 通信网络中的控制方法、集中控制器及无线通信网络系统
CN103888369B (zh) * 2014-04-10 2019-02-05 广州市高科通信技术股份有限公司 以太网通信方法、系统和sdn交换机
US9491031B2 (en) * 2014-05-06 2016-11-08 At&T Intellectual Property I, L.P. Devices, methods, and computer readable storage devices for collecting information and sharing information associated with session flows between communication devices and servers
JP6721166B2 (ja) * 2014-10-14 2020-07-08 ミド ホールディングス リミテッド 仮想ネットワークにおける分散型フロー状態p2p設定のためのシステムおよび方法
US10044676B2 (en) 2015-04-03 2018-08-07 Nicira, Inc. Using headerspace analysis to identify unneeded distributed firewall rules
US10587479B2 (en) 2017-04-02 2020-03-10 Nicira, Inc. GUI for analysis of logical network modifications
US12081395B2 (en) 2021-08-24 2024-09-03 VMware LLC Formal verification of network changes

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7289964B1 (en) * 1999-08-31 2007-10-30 Accenture Llp System and method for transaction services patterns in a netcentric environment
JP3636948B2 (ja) * 1999-10-05 2005-04-06 株式会社日立製作所 ネットワークシステム
US7215637B1 (en) * 2000-04-17 2007-05-08 Juniper Networks, Inc. Systems and methods for processing packets
US7688727B1 (en) * 2000-04-17 2010-03-30 Juniper Networks, Inc. Filtering and route lookup in a switching device
US8185615B1 (en) * 2000-11-28 2012-05-22 Verizon Business Global Llc Message, control and reporting interface for a distributed network access system
US7280545B1 (en) * 2001-12-20 2007-10-09 Nagle Darragh J Complex adaptive routing system and method for a nodal communication network
US20050144189A1 (en) * 2002-07-19 2005-06-30 Keay Edwards Electronic item management and archival system and method of operating the same
JP2004129156A (ja) * 2002-10-07 2004-04-22 Ntt Docomo Inc 経路制御システム、経路制御装置、転送装置及び経路制御方法
JP2004140539A (ja) * 2002-10-17 2004-05-13 Hitachi Ltd 情報ルーティング方式および情報中継装置
WO2004073269A1 (ja) * 2003-02-13 2004-08-26 Fujitsu Limited 伝送システム,配信経路制御装置,負荷情報収集装置および配信経路制御方法
JP4238086B2 (ja) * 2003-08-06 2009-03-11 株式会社エヌ・ティ・ティ・ドコモ パケット転送制御方法、経路制御装置、フロー処理制御装置、端末管理装置、転送装置、処理サーバ装置、端末装置及びパケット転送システム
US20160021224A1 (en) * 2003-11-12 2016-01-21 Wayne Richard Howe Stealth Packet Communications
WO2006073066A1 (ja) * 2005-01-05 2006-07-13 Nec Corporation 通信装置、ルーティング方法及びプログラム
US20060268692A1 (en) * 2005-05-31 2006-11-30 Bellsouth Intellectual Property Corp. Transmission of electronic packets of information of varying priorities over network transports while accounting for transmission delays
JP4531683B2 (ja) * 2005-11-16 2010-08-25 パナソニック株式会社 無線通信装置およびアドホック経路情報取得方法
JP4779955B2 (ja) * 2006-01-06 2011-09-28 富士通株式会社 パケット処理装置及びパケット処理方法
JP2010509791A (ja) * 2006-11-02 2010-03-25 パナソニック株式会社 オーバレイネットワークノード
US20080189769A1 (en) 2007-02-01 2008-08-07 Martin Casado Secure network switching infrastructure
US7940758B2 (en) * 2007-03-20 2011-05-10 Avaya Inc. Data distribution in a distributed telecommunications network
WO2008147302A1 (en) * 2007-05-09 2008-12-04 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for protecting the routing of data packets
US8874789B1 (en) * 2007-09-28 2014-10-28 Trend Micro Incorporated Application based routing arrangements and method thereof
US8185628B2 (en) * 2008-03-07 2012-05-22 At&T Mobility Ii Llc Enhanced policy capabilities for mobile data services
CN102027726B (zh) * 2008-05-22 2014-01-15 艾利森电话股份有限公司 用于控制数据分组的路由的方法和设备
WO2010021577A1 (en) * 2008-08-22 2010-02-25 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for avoiding unwanted data packets
US8447856B2 (en) * 2008-11-25 2013-05-21 Barracuda Networks, Inc. Policy-managed DNS server for to control network traffic
JP5408243B2 (ja) 2009-03-09 2014-02-05 日本電気株式会社 OpenFlow通信システムおよびOpenFlow通信方法
JP5477378B2 (ja) * 2009-03-30 2014-04-23 日本電気株式会社 通信フロー制御システム、通信フロー制御方法及び通信フロー処理プログラム
EP2477362A4 (en) * 2009-09-10 2013-12-04 Nec Corp RELAY CONTROL DEVICE, RELAY CONTROL SYSTEM, RELAY CONTROL METHOD, AND RELAY CONTROL PROGRAM
US8571040B2 (en) * 2010-03-01 2013-10-29 Deutsche Telekom Ag Apparatus, method, manufacture, and system for providing network services from building blocks
US8503307B2 (en) * 2010-05-10 2013-08-06 Hewlett-Packard Development Company, L.P. Distributing decision making in a centralized flow routing system
US8750164B2 (en) * 2010-07-06 2014-06-10 Nicira, Inc. Hierarchical managed switch architecture

Also Published As

Publication number Publication date
JP2014502794A (ja) 2014-02-03
ES2609521T3 (es) 2017-04-20
EP2652923A1 (en) 2013-10-23
WO2012081145A1 (en) 2012-06-21
EP2652923B1 (en) 2016-10-12
EP2652923A4 (en) 2015-07-29
US20130246655A1 (en) 2013-09-19

Similar Documents

Publication Publication Date Title
JP5800019B2 (ja) 通信経路制御システム、経路制御装置、通信経路制御方法および経路制御プログラム
US11134012B2 (en) Communication system, communication device, controller, and method and program for controlling forwarding path of packet flow
JP6418261B2 (ja) 通信システム、ノード、制御装置、通信方法及びプログラム
JP5850068B2 (ja) 制御装置、通信システム、通信方法およびプログラム
JP5440691B2 (ja) パケット転送システム、制御装置、転送装置、処理規則の作成方法およびプログラム
JP5652565B2 (ja) 情報システム、制御装置、通信方法およびプログラム
EP2693696A1 (en) Computer system, and communication method
RU2558624C2 (ru) Устройство управления, система связи, способ связи и носитель записи, содержащий записанную на нем программу для связи
JP2014502796A (ja) 通信システム、制御装置、ノードの制御方法およびプログラム
JP2013535895A (ja) 通信システム、ノード、統計情報収集装置、統計情報の収集方法およびプログラム
JP2014504043A (ja) 通信制御システム、制御装置、通信制御方法および通信制御プログラム
JP5725236B2 (ja) 通信システム、ノード、パケット転送方法およびプログラム
WO2014126094A1 (ja) 通信システム、通信方法、制御装置、制御装置の制御方法及びプログラム
WO2014123194A1 (ja) 通信システム、制御装置、通信制御方法およびプログラム
US9860178B2 (en) Control message relay apparatus, control message relay method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140707

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150728

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150810

R150 Certificate of patent or registration of utility model

Ref document number: 5800019

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees