(58)【調査した分野】(Int.Cl.,DB名)
前記第二のパケットを処理するための処理規則として、前記第二のパケットを前記第一のパケットの送信元装置から前記所定の通信の宛先装置まで転送する経路に対応する処理規則を決定する
請求項1乃至3のいずれかに記載の通信システム。
【背景技術】
【0002】
ネットワークを介して接続された装置同士がパケットを送受信する場合、送信元の装置(以下、「送信元装置」とする。)は、データが格納されたパケット(以下、「データパケット」とする。)の送信に先立ち、送信先の装置(以下、「送信先装置」とする。)のアドレスを取得する場合がある。
【0003】
特許文献1では、送信元装置が、ARP(Adrress Resolution Protocol)を用いて、送信先装置のMACアドレスを取得することが開示されている。特許文献1において、送信先装置のMACアドレスが分からない送信元装置は、送信先装置のIPアドレスを含むブロードキャストパケットを送信する。該ブロードキャストパケットに含まれるIPアドレスが割り当てられている装置は、自装置のMACアドレスを含むレスポンスパケットを送信元装置に送信する。これによって、送信元装置は、送信先装置のMACアドレスを取得できる。
【0004】
一方、複数のノードにおけるパケットの転送経路の制御を制御装置が集中して行う、集中管理型のネットワークの経路制御手法がある。このような集中管理型の技術の例として、オープンフロー(OpenFlow)技術がある。
【0005】
特許文献2には、オープンフロー技術を用いた集中管理型の経路制御手法が開示されている。特許文献2に記載のオープンフロー技術は、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御を行い、負荷分散や経路の最適化を行うものである。
【0006】
特許文献2において,転送ノードとして機能するスイッチは、パケットの経路を計算するコントローラ(制御装置)との通信用のセキュアチャネルを備え、コントローラが設定するフローテーブルに従って動作する。フローテーブルでは、パケットのヘッダ情報に照合するマッチングルール(照合規則)と、そのマッチングルールに適合するパケットに適用する処理の内容を記述したアクション(Action)との組が定義されている。アクションは、パケットを特定のインターフェイスへ転送する処理などである。
【0007】
特許文献2に記載のスイッチは、端末からパケットを受信すると、フローテーブルから、受信したパケットのヘッダ情報に適合するマッチングルールを持つフローエントリ(処理規則)を検索する。検索の結果、受信したパケットに適合するフローエントリが見つかった場合、スイッチは、そのフローエントリのアクションフィールドに記述された処理内容(例えば、受信したパケットを特定のインターフェイスへの転送すること)を実施する。
【0008】
一方、検索の結果、パケットに適合するフローエントリが見つからない場合、スイッチは、コントローラに対して、受信したパケットに対するフローエントリの設定を要求する。
コントローラは、該要求に応じて、該受信したパケットの経路を計算し、計算した経路に関係するスイッチに対して、該経路を用いた転送を実現するフローエントリを通知する。
フローエントリの通知を受けたスイッチは、フローテーブルを更新し、更新後のフローテーブルのフローエントリに記述された処理内容、すなわち受信したパケットの転送を実施する。
【発明を実施するための形態】
【0018】
[第一の実施形態]
以下では、実施形態について、図面を用いて説明する。
【0019】
図1は、第一の実施形態のネットワークシステムの構成例を示す図である。
【0020】
第一の実施形態では、コントローラC1が、複数のノードR1又はR2からの要求に応じて、パケットの転送経路を制御する。このような集中管理型の関連技術の一例として、上述した通り、オープンフロー技術がある。本発明を実施するためには、オープンフロー技術を適用してもよいし、他の集中管理型の技術であってもよい。以下では、本発明にオープンフロー技術を適用した場合の実施形態を説明する。なお,本発明を実施するためには、コントローラ(制御装置)が複数のノードにおけるパケットの転送経路を集中制御できればよく、本発明がオープンフロー技術に限定されるものではない。
【0021】
図1に示すように、第一の実施形態のネットワークシステムは、パケットの転送を行うノードR1及びR2を含む。また、該ネットワークシステムは、ノードR1又はR2からの要求に応じて、パケットの転送経路を制御するコントローラC1を含む。
【0022】
ノードR1又はR2は、コントローラC1と通信するために、コントローラC1との間にセキュリティが確保された通信チャネルを確立する(
図1の点線)。そして、ノードR1又はR2は、コントローラC1から適宜追加または書き換えられるフローエントリ(つまり、パケットを処理するための処理規則)に従って受信したパケットを処理する。
【0023】
ノードR1及びR2の構成例を
図2に示す。
【0024】
パケット受信手段10がパケットを受信し、パケット処理手段11は、コントローラC1から通知されるフローエントリに応じて、受信したパケットを処理する。フローエントリ要求手段12は、受信パケットに対応するフローエントリが存在しない場合、パケットを処理するためのフローエントリを、コントローラC1に要求する。フローエントリ記憶部13は、パケットに適用する処理と、前記処理を適用するパケットを特定するための照合規則とを対応付けたフローエントリを記憶する。フローエントリ変更手段14は、コントローラC1から通知されるフローエントリに基づいて、フローエントリ記憶部11のフローエントリを変更する。
【0025】
パケット処理手段11は、フローエントリ記憶部13を参照して、パケット受信手段10で受信したパケットに適合する照合規則を持つフローエントリを検索する。そして、受信したパケットに対応するフローエントリが存在する場合、パケット処理手段11は、対応するフローエントリに基づいて、受信したパケットを処理する。
【0026】
受信したパケットに対応するフローエントリが存在しない場合、フローエントリ要求手段12は、セキュアチャネルを介して、コントローラC1に受信したパケットを処理するためのフローエントリを要求する。フローエントリ変更手段14は、要求に応じてコントローラC1から通知されるフローエントリを、フローエントリ記憶部13に格納する。
【0027】
コントローラC1は、
図3に示すように、セキュアチャネルを介してノードと通信する通信手段20を有する。
【0028】
コントローラC1の通信手段20は、少なくとも1つのノードからフローエントリの要求を受信する。例えば、通信手段20は、ノードR1が受信したパケットを処理するためのフローエントリの要求をノードR1から受信する。
【0029】
また、通信手段20は、フローエントリ決定手段21が決定したフローエントリをノードに通知する。すなわち、通信手段20は、第一のフローエントリを第一のノードに通知し、第二のフローエントリを複数のノードうちの少なくとも1つのノードに通知する。例えば、通信手段20は、該第一のフローエントリをノードR1に通知し、該第二のフローエントリをノードR2に通知する。
【0030】
コントローラC1は、ノードから所定の通信の宛先アドレスの取得に用いる第一のパケットを受信する。コントローラC1は、第一のパケットに基づいて宛先アドレスが決定されたことに応じて、その宛先アドレスに送信される第二のパケットに対応するフローエントリを予め決定するフローエントリ決定手段21を有する。ノードは、第二のパケットに対応するフローエントリが存在しない場合、コントローラC1にフローエントリの設定を要求する。しかし、本発明では、コントローラC1がアドレス取得を要求するパケット(第一のパケット)に基づいてアドレスが解決されたことに応じて、そのアドレス宛に送信されるパケットに対応するフローエントリを、予めノードに通知する。よって、取得したアドレス宛のパケットに対する要求が、ノードからコントローラC1に送信される頻度を低減できる。
【0031】
コントローラC1は、アドレス取得を要求するパケットを送信したノードに対して、応答パケット(取得されたアドレスを通知するためのパケット)を送信する。応答パケットを受信したノードは、応答パケットがアドレス取得の要求元の端末に届くように、応答パケットを転送する。例えば、ノードは、アドレス取得を要求するパケットを受信したポートに、応答パケットを転送する。
【0032】
フローエントリ決定手段21は、アドレス取得のためのパケット(第一のパケット)に対応するフローエントリを決定し、ノードに通知してもよい。アドレス取得のためのパケットに対応するフローエントリとは、例えば、アドレス取得のためのパケットに対する応答パケットの転送経路を指定するフローエントリである。
【0033】
アドレスの取得に用いる第一のパケットは、例えば、アドレスを要求するために送信されるパケットを意味する。例えば、送信すべきデータが発生した端末が、そのデータの送信先のアドレスを要求するために送信するパケットである。
【0034】
例えば、端末が、ARP(Adrress Resolution Protocol)において、データの送信先のMACアドレスを取得するために送信するAPR・Requestは、アドレスの取得に用いる第一のパケットに該当する。なお、ARPは、IPv4において、IPアドレスからそれに対応するMACアドレスを得るために用いられるプロトコルである。
【0035】
例えば、端末が、ND(Neighbor Discovery)において、データの送信先のMACアドレスを取得するために送信するNS(Neighbor Solicitation)パケットは、アドレスの取得に用いる第一のパケットに該当する。なお、NDは、IPv6において、IPアドレスからそれに対応するMACアドレスを得るために用いられるプロトコルである。
【0036】
例えば、端末が、ネームサーバに対して、データの送信先のMACアドレスを取得するために送信する名前解決要求は、アドレスの取得に用いる第一のパケットに該当する。なお、ネームサーバは、例えば、DNS(Domain Name System)や、WINS(Windows(登録商標) Name System)である。
【0037】
なお、アドレスの取得に用いる第一のパケットは、上記の例に限られず、アドレスを要求するために送信されるパケットであれば、どのようなパケットであってもよい。
【0038】
第一の実施形態において、ノードR1が、アドレスの取得に用いる第一のパケットを受信した際の動作例について、
図4を用いて説明する。
【0039】
ステップ10(S10)において、ノードR1のパケット受信手段10は、アドレスの取得に用いる第一のパケットを受信する。
【0040】
ステップ11(S11)において、ノードR1のパケット処理手段11は、第一のパケットに対応するフローエントリが、フローエントリ記憶部13に記憶されているか否かを判定する。
【0041】
判定の結果、フローエントリが登録されている場合には、ステップ12(S12)において、パケット処理手段11は、パケット受信手段10で第一のパケットをフローエントリに応じて処理する。
【0042】
判定の結果、フローエントリが登録されていない場合には、ステップ13(S13)において、フローエントリ要求手段12が、コントローラC1に対して、アドレスの取得に用いる第一のパケットに対するフローエントリの設定を要求する。
【0043】
ステップ14(S14)において、フローエントリ変更手段14が、コントローラC1から通知されるフローエントリを、フローエントリ記憶部13に登録する。そして、ステップ12(S12)において、パケット処理手段11は、第一のパケットを、通知されるフローエントリに応じて処理する。
【0044】
第一の実施形態において、コントローラC1が、アドレス取得のためのパケット(第一のパケット)をノードR1から受信した場合の動作例について、
図5を用いて説明する。
【0045】
コントローラC1は、ノードR1から、アドレス取得のためのパケットを受信する(ステップS20)。例えば、ノードR1に接続する端末が、通信相手となるサーバ等の宛先アドレスを取得するために、アドレス取得のためのパケットを送信する。アドレス取得のためのパケットを受信したノードR1は、そのパケットを、コントローラC1に転送する。
【0046】
アドレス取得のためのパケットを受信すると、コントローラC1は、宛先アドレスを取得するための処理を行う(ステップ21)。なお、コントローラC1は、他の装置にアドレス取得を要求することで宛先アドレスを解決してもよい。
【0047】
コントローラC1は、宛先アドレスが決定されたことに応じて、当該宛先アドレスに送信されるパケット(第二のパケット)を処理するためのフローエントリを決定し(ステップS22)、決定したエントリを対応するノードに通知する(ステップS23)。コントローラC1は、例えば、宛先アドレスに対応する通信相手までの経路のうち最短の経路や、輻輳が少ない経路を、第二のパケットの転送経路として決定する。コントローラC1は、決定した経路に対応する処理内容を規定するフローエントリを決定する。例えば、コントローラC1は、送信元の端末、ノードR1、ノードR2、通信相手のサーバの順でパケットを転送する経路を決定する。この場合、コントローラC1は、R2との接続リンクに対応するポートから第二のパケットを転送することを指示するフローエントリをノードR1に通知し、通信相手のサーバとの接続リンクに対応するポートから第二のパケットを転送することを指示するフローエントリをノードR2に通知する。
【0048】
図6は、第一の実施形態の動作例を示すシーケンス図である。
図6は例示であって、本発明の動作は、
図6に記載された例に限定されない。
【0049】
ノードR1に接続する端末は、通信の宛先となるサーバのアドレスを取得するため、アドレス取得のためのパケット(第一のパケット)をノードR1に送信する。
【0050】
ノードR1は、アドレス取得のためのパケットを、コントローラC1に転送する。
【0051】
コントローラC1は、端末の通信相手となるサーバの宛先アドレスを取得し、応答パケットにより、取得した宛先アドレスを端末に通知する。応答パケットは、ノードR1を経由して端末に送信される。
【0052】
コントローラC1は、宛先アドレスが決定されたことに応じて、当該宛先アドレスに対して送信されるパケット(第二のパケット)の処理方法を規定したフローエントリを、ノードR1とR2に通知する。つまり、コントローラC1は、ノードR1およびR2が第二のパケットを受信する前に、予め、第二のパケットに対応するフローエントリをノードに通知する。
【0053】
ノードR1およびR2は、コントローラC1から通知されたフローエントリに従って、第二のパケットを転送する。第二のパケットの処理方法を規定したフローエントリが予め通知されているので、ノードR1およびR2は、コントローラC1に対してフローエントリの設定要求をすることなく、パケットを転送できる。
【0054】
上記の通り、第一の実施形態では、コントローラC1がフローエントリを予め設定することで、ノードによるフローエントリの設定要求を削減できる。したがって、本発明の第一の実施形態では、コントローラC1の負荷を低減することができる。
[第二の実施形態]
第二の実施形態は、コントローラC1が、送信先装置のアドレス記憶するアドレステーブルを有する実施形態である。
【0055】
図7は、第二の実施形態のネットワークシステムの構成例である。
【0056】
送信元装置1及び送信先装置2は、例えば、端末やサーバであり、互いにデータパケットを送受信する。送信元装置1は、送信すべきデータパケットが発生した場合、そのデータパケットの送信先である送信先装置2のアドレスを要求するパケット(アドレスの取得に用いる第一のパケット)を送信する。
【0057】
図8は、第二の実施形態における、コントローラC1の構成例である。
図8に示すように、コントローラC1は、送信先装置2のアドレス記憶するアドレステーブル22を有する。なお、ノードR1及びR2の構成例は、第一の実施形態と同様である。
【0058】
アドレステーブル22は、送信先装置2に関する情報と該送信先装置2のアドレスとを対応付けて記憶する。例えば、アドレステーブル22は、送信先装置2の第一のアドレスと該送信先装置2の第二のアドレスとを対応付けて記憶する。例えば、アドレステーブル22は、送信先装置2のIPアドレスと該送信先装置2のMACアドレスとを対応付けて記憶する。
【0059】
図9は、アドレステーブル22が、例えば、送信先装置2のIPアドレスと該送信先装置2のMACアドレスとを対応付けて記憶する場合におけるアドレステーブル22の構成例である。アドレステーブル22は、例えば、送信先装置2となり得る複数の装置のそれぞれについて、IPアドレスとMACアドレスとを対応付けて記憶している。
【0060】
アドレステーブル22における対応関係は、例えば、事前に登録してもよい。また、アドレステーブル22における対応関係は、例えば、コントローラC1が定期的に収集してもよい。また、アドレステーブル22における対応関係は、例えば、送信元装置1からのアドレスの取得に用いるパケットを受信する毎に、収集してもよい。なお、アドレステーブル22における対応関係は、例示した方法に限られず、どのような方法で登録・収集してもよい。
【0061】
第二の実施形態において、フローエントリ決定手段21は、アドレステーブル22を参照して、第一のパケットにより要求された、送信先装置2のアドレスを検索する。第一のパケットには送信先装置2の第一のアドレスが格納されており、フローエントリ決定手段21は、送信先装置2の第一のアドレスに対応する第二のアドレスを検索する。フローエントリ決定手段21は、検索した送信先装置2のアドレスに基づいて、該アドレスを宛先とする第二のパケットを処理するためのフローエントリを決定する。
【0062】
第二の実施形態において、フローエントリ決定手段21は、アドレスの取得に用いる第一のパケットを送信した送信元装置1に対して、送信先装置2のアドレスを通知するパケット(レスポンスパケット)を作成するように構成してもよい。この場合において、フローエントリ決定手段21は、第一のパケットが要求するアドレスをアドレステーブル22から検索し、検索したアドレスが格納されたレスポンスパケットを作成する。フローエントリ決定手段21は、通信手段20を介して、作成したレスポンスパケットをノードR1に送信する。ノードR1は、該レスポンスパケットを送信元装置1に送信する。
[第三の実施形態]
本発明の第三の実施形態では、コントローラC1が、ARP(Adrress Resolution Protocol)処理手段を有する。なお、ARPは、IPアドレスからそれに対応するMACアドレスを得るために用いられるプロトコルである。
【0063】
本発明の第三の実施形態のネットワークシステムの構成例は、
図7と同様である。
【0064】
図10は、第三の実施形態における、コントローラC1の構成例である。
図10に示すように、コントローラC1は、ARP処理手段23を有する。なお、ノードR1及びR2の構成例は、
図2と同様である。
【0065】
ARP処理手段23は、IPアドレスとMACアドレスの対応関係を記録するARPテーブル24を含む。ARPテーブル24は、例えば、送信先装置2のIPアドレスと該送信先装置2のMACアドレスとを対応付けて記憶する。ARPテーブル24は、例えば、送信先装置2となり得る複数の装置のそれぞれについて、IPアドレスとMACアドレスとを対応付けて記憶する。
【0066】
ARPテーブル24におけるIPアドレスとMACアドレスとの対応関係は、例えば、事前に設定する、定期的に収集する、又は、ARP Requestの受信ごとに収集する等の方法で構築される。なお、ARPテーブル24における対応関係は、例示した方法に限られない。
【0067】
フローエントリ決定手段21は、(1)ARP Requestに対して送信先装置2のMACアドレスを解決し、(2)MACアドレスの決定に応じて、当該MACアドレスに対して送信されるパケットを処理するためのフローエントリを決定する。
【0068】
第三の実施形態において、フローエントリ決定手段21は、ARP Requestを送信した送信元装置1に対して、送信先装置2のアドレスを通知するARP Replyを作成するように構成してもよい。この場合において、フローエントリ決定手段21は、ARPテーブル24をから検索されたMACアドレスが格納されたARP Replyを作成する。フローエントリ決定手段21は、通信手段20を介して、作成したARP ReplyをノードR1に送信する。ノードR1は、該ARP Replyを送信元装置1に転送する。
【0069】
フローエントリ決定手段21がARP Replyを作成する場合、フローエントリ決定手段21は、該ARP Replyを処理するフローエントリを決定するように構成してもよい。例えば、フローエントリ決定手段21は、ARP Replyの送信経路に対応するフローエントリを決定する。フローエントリ決定手段21は、送信手段20を介して、ARP Replyを処理するフローエントリを、ノードR1に通知する。ノードR1は、通知されたフローエントリに従って、ARP Replyを処理する。
【0070】
図11は、第三の実施形態の動作例を示すシーケンス図である。
【0071】
送信元装置1は、ノードR1を介して、送信先装置2のIPアドレスを格納したARP Requestを送信する。
【0072】
ノードR1は、ARP Requestを受信すると、コントローラC1にARP Requestを転送する。
【0073】
コントローラC1は、ARPテーブル24を参照し、ARP Requestに含まれているIPアドレスに対応するMACアドレスを検索する。コントローラC1は、検索されたMACアドレスを、ARP Replyとして送信元装置1に通知する。ARP Replyは、ノードR1を経由して送信元装置1に通知される。
【0074】
コントローラC1は、MACアドレスが決定されたことに応じて、当該MACアドレス宛のパケット(第二のパケット)を処理するためのフローエントリを決定する。コントローラC1は、決定したフローエントリを、ノードR1及びR2に通知する。
[第四の実施形態]
第四の実施形態では、コントローラC1が、ND(Neighbor Discovery)処理手段を有する。なお、NDは、IPv6において、IPアドレスからそれに対応するMACアドレスを得るために用いられるプロトコルである。
【0075】
第四の実施形態のネットワークシステムの構成例は、
図7と同様である。
【0076】
図12は、第四の実施形態における、コントローラC1の構成例である。
図12に示すように、コントローラC1は、ND処理手段25を有する。なお、第四の実施形態において、ノードR1及びR2の構成例は、
図2と同様である。
【0077】
ND処理手段25は、IPアドレスとMACアドレスの対応関係を記録するNDテーブル26を含む。NDテーブル26は、例えば、送信先装置2のIPアドレスと該送信先装置2のMACアドレスとを対応付けて記憶する。NDテーブル26は、例えば、送信先装置となり得る複数の装置のそれぞれについて、IPアドレスとMACアドレスとを対応付けて記憶する。
【0078】
NDテーブル26におけるIPアドレスとMACアドレスとの対応関係は、例えば、事前に設定する、定期的に収集する、又は、NS(Neighbor Solicititation)パケットの受信毎に収集する、等の方法で構築される。なお、NDテーブル26における対応関係は、例示した方法に限られない。
【0079】
フローエントリ決定手段21は、NDテーブル26を参照して、NSパケットのペイロードに格納された送信先装置2のIPアドレスに対応するMACアドレスを取得する。
【0080】
フローエントリ決定手段21は、(1)NSパケットに対して送信先装置2のMACアドレスを決定し、(2)MACアドレスの決定に応じて、当該MACアドレスに対して送信されるパケットを処理するためのフローエントリを決定する。
【0081】
第四の実施形態において、フローエントリ決定手段21は、NSパケットを送信した送信元装置1に対して送信先装置2のアドレスを通知するためのNA(Neighbor Advetisement)パケットを作成するように構成してもよい。この場合、フローエントリ決定手段21は、NDテーブル26から検索されたMACアドレスが格納されたNAパケットを作成する。フローエントリ決定手段21は、通信手段20を介して、作成したNAパケットをノードR1に送信する。ノードR1は、該NAパケットを送信元装置1に送信する。
【0082】
フローエントリ決定手段21がNAパケットを作成する場合、フローエントリ決定手段21は、該NAパケットを処理するフローエントリを決定してもよい。例えば、フローエントリ決定手段21は、NAパケットの送信経路に対応するフローエントリを決定する。フローエントリ決定手段21は、送信手段20を介して、NAパケットを処理するフローエントリを、ノードR1に通知する。ノードR1は、通知されたフローエントリに従って、NAパケットを処理する。
【0083】
図13は、第四の実施形態の動作例を示すシーケンス図である。
【0084】
送信元装置1は、ノードR1を介して、送信先装置2のIPアドレスをペイロードに格納したNSパケットを送信する。
【0085】
ノードR1は、NSパケットを受信すると、コントローラC1にNSパケットを転送する。
【0086】
コントローラC1は、NDテーブル26を参照し、NSパケットに含まれているIPアドレスに対応するMACアドレスを検索する。コントローラC1は、検索されたMACアドレスを、NAパケットとして送信元装置1に通知する。NAパケットは、ノードR1を経由して送信元装置1に通知される。
【0087】
コントローラC1は、MACアドレスが決定されたことに応じて、当該MACアドレス宛のパケット(第二のパケット)を処理するためのフローエントリを決定する。コントローラC1は、決定したフローエントリを、ノードR1及びR2に通知する。
[第五の実施形態]
第五の実施形態では、送信元装置1が、送信先装置2のホスト名から、送信先装置2のIPアドレス又はMACアドレスを取得する。
【0088】
図14は、第五の実施形態のネットワークシステムの構成例を示す図である。
【0089】
図14に示すとおり、第五の実施形態において、該ネットワークシステムは、送信先装置2のホスト名から、送信先装置2のIPアドレス又はMACアドレスを解決するネームサーバ3を有する。
【0090】
ネームサーバ3は、ホスト名を格納した名前解決要求を受信すると、ホスト名に該当するIPアドレス又はMACアドレスを格納した名前解決応答を返信する。ネームサーバ3は、例えば、DNS(Domain Name System)、又は、WINS(Windows Name System)である。なお、ネームサーバ3は、ホスト名から、IPアドレス又はMACアドレスを通知する装置であれば、どのような装置であってもよい。
【0091】
ネームサーバ3は、ホスト名と、IPアドレス又はMACアドレスとを対応付けて記憶するテーブル31と、テーブル31を参照して、ホスト名からアドレスを検索する名前解決処理手段30とを有する。
図15は、テーブル31の構成例を示す図である。
図15に示すように、テーブル31は、例えば、装置のホスト名と該装置のIPアドレスとを対応付けて記録する。
【0092】
コントローラC1は、ノードから名前解決要求を受信すると、その要求をネームサーバ3に転送する。
【0093】
ネームサーバ3は、送信先装置2のホスト名を格納した名前解決要求を受信すると、テーブル31を参照して、該ホスト名に対応するIPアドレス又はMACアドレスを検索する。ネームサーバ3は、コントローラC1に対して、ホスト名に対応したIPアドレス又はMACアドレスを格納した名前解決応答を送信する。コントローラC1は、名前解決応答を、名前解決要求を送信した送信元装置1に向けて送信する。
【0094】
第五の実施形態のノードR1・R2及びコントローラC1の構成例は
図2と同様である。
【0095】
図16は、第五の実施形態の動作例を示すシーケンス図である。
【0096】
送信元装置1は、接続するノードR1に、送信先装置2のホスト名を指定した名前解決要求を送信する。
【0097】
ノードR1は、名前解決要求を受信すると、コントローラC1に名前解決要求を転送する。
【0098】
コントローラC1は、ネームサーバ3に名前解決を要求する。
【0099】
ネームサーバ3は、名前解決要求で指定されたホスト名に対応するアドレスを検索する。
ネームサーバ3は、検索したアドレスを、名前解決応答としてコントローラC1に通知する。
【0100】
コントローラC1は、名前解決応答を、送信元装置1に向けて送信する。
【0101】
コントローラC1は、ホスト名に対応するアドレスが解決されたことに応じて、当該アドレス宛に送信されるパケット(第二のパケット)に対応するフローエントリを決定する。
コントローラC1は、決定したフローエントリを、ノードR1およびR2に通知する。
【0102】
以上、本発明の好適な実施形態を説明したが、本発明は、上記した実施形態に限定されるものではない。特に、方法(その方法のステップ)はプログラムによって実装してもよいし、ノード、コントロール装置、サーバ、これらの構成要素を含む全システムの要素は当該プログラムによって動作可能な少なくと1つのコンピュータによって実装することができる。
【0103】
なお、上記の特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態および実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素(各請求項の各要素、各実施形態の各要素、各実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。