JP5874726B2 - 通信制御システム、制御サーバ、転送ノード、通信制御方法および通信制御プログラム - Google Patents

通信制御システム、制御サーバ、転送ノード、通信制御方法および通信制御プログラム Download PDF

Info

Publication number
JP5874726B2
JP5874726B2 JP2013519291A JP2013519291A JP5874726B2 JP 5874726 B2 JP5874726 B2 JP 5874726B2 JP 2013519291 A JP2013519291 A JP 2013519291A JP 2013519291 A JP2013519291 A JP 2013519291A JP 5874726 B2 JP5874726 B2 JP 5874726B2
Authority
JP
Japan
Prior art keywords
packet
address
communication device
logical network
processing
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
JP2013519291A
Other languages
English (en)
Other versions
JP2014505379A (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 JP2013519291A priority Critical patent/JP5874726B2/ja
Publication of JP2014505379A publication Critical patent/JP2014505379A/ja
Application granted granted Critical
Publication of JP5874726B2 publication Critical patent/JP5874726B2/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/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]

Description

本発明は、パケットの通信経路を集中的に制御する通信制御システム、制御サーバ、転送ノード、通信制御方法および通信制御プログラムに関する。
近年、オープンフロー(OpenFlow)という技術が提案されている(非特許文献1)。オープンフローは、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御等を行う技術である。オープンフローに基づくネットワーク(以下、オープンフローネットワークと記す。)では、経路制御を行うオープンフローコントローラ(OpenFlow Controller。以下、OFCと記すこともある。)と、オープンフローコントローラが決定した経路に基づきパケットの転送を行うオープンフロースイッチ(OpenFlow Switch。以下、OFSと記すこともある)とが含まれる。
オープンフローでは、パケットとフローとを対応付けるためのパケットマッチングルールと、そのフローを受信した場合にオープンフロースイッチが行うべき動作を指定するアクションとを含むフローエントリで経路情報を表す。パケットマッチングルールは、パケット内の各種ヘッダのフィールド値に対応する条件として表される。各種ヘッダのフィールド値として、例えば、Ethernet(登録商標)ヘッダ、IP(Internet Protocol)ヘッダ、TCP(Transmission Control Protocol)ヘッダ等が挙げられる。
パケットマッチングルールとして指定される条件は、特定の値と厳密に等しいこと、という条件であってもよいし、任意の値や特定の条件を満たすこと(例えば、IPアドレスが特定のIPサブネットに含まれること)、という条件であってもよい。また、アクションの内容として、例えば、指定されたポートから出力する、廃棄する、ヘッダ内の特定のフィールドを書き換える、等が挙げられる。なお、1つのフローエントリに複数のアクションを指定することも可能である。
オープンフローネットワーク内でパケットが転送される処理の概要(一例)を以下に示す。
1.オープンフロースイッチがパケットを受信する。
2.オープンフロースイッチは、受信したパケットに適合するパケットマッチングルールを含むフローエントリを、自身に設定されたフローエントリリスト(フローテーブル)内から検索する。
3.フローテーブルにフローエントリが見つかった場合、オープンフロースイッチは、そのフローエントリのアクションを受信したパケットに適用し、処理を終了する。
4.フローテーブルにフローエントリが見つからなかった場合、オープンフロースイッチは、受信したパケットをオープンフローコントローラに送信する。
5.オープンフローコントローラは、受信したパケットに対する経路や処理内容を決定し、オープンフロースイッチにフローエントリを追加するよう指示する。
また、特許文献1には、VPN(Virtual Private Network)を用いたパケットルーティング方法が記載されている。特許文献1に記載された方法では、端末の所属を示すVLAN(Virtual Local Area Network)タグを含むパケットを受信すると、そのVLANタグに基づいて対応する仮想ハブに受信したパケットを転送する。そして、各仮想ハブでは、受け取ったパケットのユーザMAC(Media Access Control)ヘッダ内の送元MACアドレスと、そのパケットが通過した端末側仮想インタフェース終端部との関係を学習する。
なお、特許文献2には、複数のフローをまとめて扱うパケット転送装置が記載されている。特許文献2に記載されたパケット転送装置は、入力パケットのヘッダ情報をもとに識別されるフローに共通なフロー束識別子を出力し、そのフロー束識別子に対して所定の演算処理を行う。
また、特許文献3には、ネットワーク管理装置が記載されている。特許文献3に記載されたネットワーク管理装置は、物理ネットワークにおける各ノード間の接続関係を示すリンク情報及びそのリンク情報が属する論理ネットワークの情報を記憶する。
特開2002−247089号公報 特開2007−184988号公報 特開2009−212984号公報
"OpenFlow Switch Specification" Version 1.0.0. (Wire Protocol 0x01) [平成22年9月22日検索]、インターネット〈URL:http://www.openflowswitch.org/documents/openflow-spec-v1.0.0.pdf〉、2009年12月31日
通信ネットワークがオープンフローにより実現される場合、オープンフロースイッチに接続して通信を行う通信ホスト(サーバ、クライアント等)には、特別な機能が必要とされないことが望ましい。すなわち、オープンフロースイッチに接続する通信ホストは、従来のTCP/IPプロトコルを用いて通信できることが望ましい。通信ホストは、IPパケットの送信に先立ち、IPレイヤとEthernetレイヤとの間でアドレス解決を行うためにARP(Address Resolution Protocol)に基づく処理を実行する。このとき、通信ホストは、解決対象のIPアドレスを含むARP要求パケットをL2(レイヤ2)ブロードキャストアドレス宛に送信する。ARPによれば、解決対象のIPアドレスを持つ対象通信ホストは、ARP要求を受信した場合、自身のMACアドレスを含むARP応答パケットを返信することが求められている。
一般的なTCP/IPネットワークでは、要求元通信ホストと解決対象のIPアドレスを持つ通信ホストとは同じL2ブロードキャストドメインに属し、同一または近隣のEthernetスイッチに接続されている場合が多い。そのため、ARP要求パケットの配送先は、これらのL2ブロードキャストドメインに限定されていた。
一方、オープンフローネットワークでは、同じサブネットに属するIPアドレスを持つ通信ホストは、オープンフローネットワーク内の任意のオープンフロースイッチに接続可能である。そのため、ARP要求パケットをブロードキャストで対象通信ホストに届けようとすると、オープンフローネットワーク全体にARP要求パケットを配送する必要がある。そのため、オープンフローネットワークでは、効率的なレイヤ間アドレス解決の実現が求められる。
また、データセンターなどのネットワークを用いてマルチテナントの運用がなされる場合、物理ネットワークは、複数の顧客で共有される。すなわち、各顧客のネットワーク(以下、ユーザネットワークと記す。)は、共通の物理ネットワークを用いてサービスされることになる。一般的に、各顧客が使用するIPアドレス空間は、それぞれ独立して管理されるため、使用されるIPアドレス空間が複数の顧客間で重複する可能性がある。したがって、データセンターでは、使用されるIPアドレスに依存することなく各ユーザネットワークのトラフィックを多重化する必要がある。
一般的なネットワークでは、VLAN(Virual Local Area Network)を用いることで多重化が行われている。しかし、VLANを用いて多重化する方法には、識別できるネットワークの数が4094までという制限がある。一方、オープンフローネットワークを用いることで、異なるIPアドレスが同じトラフィック上に存在しても、各ネットワークに対応するフローとして認識できれば、各IPアドレスが設定されたそれぞれのパケットに対してルーティングを行うことが可能になる。例えば、IPアドレスに加えてMACアドレスをも使用してフローを識別することで、重複するアドレス空間を使用する複数のネットワークサービスの多重化を行うことができる。
一方で、オープンフローネットワークを用いた場合、フローエントリの数が増大する可能性がある。そこで、フローエントリを集約することが望まれる。前述の通り、フローエントリのパケットマッチングルールには複数の値に適合する条件を指定することが可能である。例えば、あるサブネットに属する通信ホスト群が同一のオープンフロースイッチに接続されている場合を考える。通信ホストごとに個別のフローエントリを作成すると、フローエントリの数が増大してしまう。そこで、通信ホストごとの個別のフローエントリを、あるサブネットに対する一つのフローエントリに集約することで、フローエントリの数を削減することが可能である。このようにすることで、他のオープンフロースイッチに設定するこの通信ホスト群に関するフローエントリを集約することができる。
ただし、重複するアドレス空間を使用する複数のネットワークサービスを多重化するためにMACアドレスも使用してフローを識別するようにした場合、上記集約方法で対応することは困難である。各通信ホストには異なるMACアドレスが付与されるため、フローエントリの集約を行うことができない。よって、このような場合、オープンフロースイッチに設定されるフローエントリ数を削減することは困難である。そのため、重複するアドレス空間を使用する複数のネットワークサービスの多重化を行うような場合であっても、フローエントリを集約できることが望まれる。
また、特許文献1に記載されたパケットルーティング方法では、端末から受信したパケットをルータ内の各仮想ハブに振り分けるために、VLANタグなどの識別情報が予めパケットに含まれることを前提としている。通信ホスト側がこのような識別情報を意識することなく、各ユーザネットワークのトラフィックを多重化できることが望ましい。
そこで、本発明は、レイヤ間のアドレス解決を効率的に行うことができるとともに、複数のネットワークサービスを多重化する場合に、パケットに対する処理内容を示すフローエントリを集約できる通信制御システム、制御サーバ、転送ノード、通信制御方法および通信制御プログラムを提供することを目的とする。
本発明による通信制御システムは、パケットの特徴とその特徴に該当するパケットに対する処理を規定する処理規則とを保持し、処理規則に基づいて他の装置から受信したパケットを処理する転送ノードと、転送ノードが保持する処理規則を制御する制御サーバとを備え、制御サーバが、転送ノードの設定により定義される論理ネットワークの識別子である論理ネットワーク識別子、および、転送ノードに接続される装置と論理ネットワークとの対応関係を記憶するネットワーク情報記憶手段と、パケットの送信先である送信先通信装置またはパケットの送信元である送信元通信装置から受信したパケットを他の装置に転送する通信装置についてのアドレス解決の要求を転送ノードから受信したときに、送信先通信装置または通信装置についてレイヤ間のアドレス解決を行い、そのアドレス解決により得られたアドレスである解決後アドレスに、送信元通信装置が属する論理ネットワークの論理ネットワーク識別子を設定するアドレス解決手段とを含むことを特徴とする。
本発明による制御サーバは、パケットの特徴とその特徴に該当するパケットに対する処理を規定する処理規則に基づいて他の装置から受信したパケットを処理する転送ノードが保持するその処理規則を制御する制御サーバであって、転送ノードの設定により定義される論理ネットワークの識別子である論理ネットワーク識別子、および、転送ノードに接続される装置と論理ネットワークとの対応関係を記憶するネットワーク情報記憶手段と、パケットの送信先である送信先通信装置またはパケットの送信元である送信元通信装置から受信したパケットを他の装置に転送する通信装置についてのアドレス解決の要求を転送ノードから受信したときに、送信先通信装置または通信装置についてレイヤ間のアドレス解決を行い、そのアドレス解決により得られたアドレスである解決後アドレスに、送信元通信装置が属する論理ネットワークの論理ネットワーク識別子を設定するアドレス解決手段とを備えたことを特徴とする。
本発明による転送ノードは、パケットの特徴とその特徴に該当するパケットに対する処理を規定する処理規則を保持し、処理規則に基づいて他の装置から受信したパケットを処理する転送ノードであって、自身の設定により定義される論理ネットワークの識別子である論理ネットワーク識別子、および、自身に接続される装置と論理ネットワークとの対応関係を記憶するネットワーク情報記憶手段と、パケットの送信先である送信先通信装置またはパケットの送信元である送信元通信装置から受信したパケットを他の装置に転送する通信装置についてのアドレス解決の要求をその送信元通信装置から受信したときに、送信先通信装置または通信装置についてレイヤ間のアドレス解決を行い、そのアドレス解決により得られたアドレスである解決後アドレスに、送信元通信装置が属する論理ネットワークの論理ネットワーク識別子を設定するアドレス解決手段とを備えたことを特徴とする。
本発明による通信制御方法は、パケットの特徴とその特徴に該当するパケットに対する処理を規定する処理規則に基づいて他の装置から受信したパケットを処理する転送ノードの設定により定義される論理ネットワークの識別子である論理ネットワーク識別子、および、転送ノードに接続される装置と論理ネットワークとの対応関係を記憶するネットワーク情報記憶手段を備えた制御サーバが、パケットの送信先である送信先通信装置またはパケットの送信元である送信元通信装置から受信したパケットを他の装置に転送する通信装置についてのアドレス解決の要求を転送ノードから受信したときに、送信先通信装置または通信装置についてレイヤ間のアドレス解決を行い、制御サーバが、アドレス解決により得られたアドレスである解決後アドレスに、送信元通信装置が属する論理ネットワークの論理ネットワーク識別子を設定することを特徴とする。
本発明による通信制御プログラムは、パケットの特徴とその特徴に該当するパケットに対する処理を規定する処理規則に基づいて他の装置から受信したパケットを処理する転送ノードが保持するその処理規則を制御し、転送ノードの設定により定義される論理ネットワークの識別子である論理ネットワーク識別子、および、転送ノードに接続される装置と論理ネットワークとの対応関係を記憶するネットワーク情報記憶手段を備えたコンピュータに適用される通信制御プログラムであって、コンピュータに、パケットの送信先である送信先通信装置またはパケットの送信元である送信元通信装置から受信したパケットを他の装置に転送する通信装置についてのアドレス解決の要求を転送ノードから受信したときに、送信先通信装置または通信装置についてレイヤ間のアドレス解決を行い、そのアドレス解決により得られたアドレスである解決後アドレスに、送信元通信装置が属する論理ネットワークの論理ネットワーク識別子を設定するアドレス解決処理を実行させることを特徴とする。
本発明による他の通信制御プログラムは、パケットの特徴とその特徴に該当するパケットに対する処理を規定する処理規則と、自身の設定により定義される論理ネットワークの識別子である論理ネットワーク識別子と、自身に接続される装置と論理ネットワークとの対応関係とを保持し、処理規則に基づいて他の装置から受信したパケットを処理するコンピュータに適用される通信制御プログラムであって、コンピュータに、パケットの送信先である送信先通信装置またはパケットの送信元である送信元通信装置から受信したパケットを他の装置に転送する通信装置についてのアドレス解決の要求をその送信元通信装置から受信したときに、送信先通信装置または通信装置についてレイヤ間のアドレス解決を行い、そのアドレス解決により得られたアドレスである解決後アドレスに、送信元通信装置が属する論理ネットワークの論理ネットワーク識別子を設定するアドレス解決処理を実行させることを特徴とする。
本発明によれば、レイヤ間のアドレス解決を効率的に行うことができるとともに、複数のネットワークサービスを多重化する場合に、パケットに対する処理内容を示すフローエントリを集約できる。
本発明による通信制御システムの構成の一例を示す説明図である。 制御サーバの構成例を示すブロック図である。 ネットワーク情報の一例を示す説明図である。 トポロジ情報の一例を示す説明図である。 転送ノードの構成例を示すブロック図である。 第1の実施形態における通信制御システムの動作の例を示すシーケンス図である。 ARP応答を作成する際の制御サーバの動作の例を示すシーケンス図である。 フローエントリを作成する際の制御サーバの動作の例を示すシーケンス図である。 フローテーブルの例を示す説明図である。 ARPキャッシュエントリの例を示す説明図である。 第1の実施形態の変形例における転送ノードの例を示すブロック図である。 フローテーブルの例を示す説明図である。 ARP応答を作成する際の制御サーバの動作の例を示すシーケンス図である。 第3の実施形態における通信制御システムの動作の例を示すシーケンス図である。 転送ノードがARP応答を行う処理の例を示すシーケンス図である。 本発明による通信制御システムの最小構成の例を示すブロック図である。 本発明による制御サーバの最小構成の例を示すブロック図である。 本発明による転送ノードの最小構成の例を示すブロック図である。
まず、本発明の各実施形態に共通する構成および動作の概要を説明する。図1は、本発明による通信制御システムの構成の一例を示す説明図である。図1に例示する通信制御システムは、制御サーバ100と、転送ノード200−1〜200−3と、通信ホスト300−1〜300−4と、制御用ネットワーク400とを備えている。
転送ノード200−1〜200−3は、他の転送ノードおよび通信ホストと接続し通信を行う。なお、図1に示す例では、転送ノード200−1〜200−3が行う通信経路を実線で表わしている。また、転送ノード200−1〜200−3は、制御用ネットワーク400に接続され、制御用ネットワーク400を介して制御サーバ100と制御用通信(制御チャネル)を行う。なお、図1に示す例では、転送ノード200−1〜200−3と制御サーバ100との間で行われる通信経路を破線で表わしている。なお、図1に示す各装置の数や接続関係は一例であり、本発明による通信制御システムは、図1に例示する構成に限定されない。
さらに、転送ノード200−1〜200−3は、自身に接続する通信ホストまたは他の転送ノードからパケットを受信し、自身が保持するフローテーブルに含まれる処理規則(フローエントリ)に基づいて、受信したパケットを処理する。具体的には、転送ノード200−1〜200−3は、受信したパケット対して何らかの処理を施したり、受信したパケットを他の装置に転送したりするノードである。また、転送ノード200−1〜200−3は、受信したパケットに対応するフローエントリがフローテーブルに存在しない場合、受信したパケットを制御サーバ100に通知する。転送ノード200−1〜200−3は、オープンフローネットワークにおけるオープンフロースイッチに相当する装置である。
制御サーバ100は、転送ノード200−1〜200−3から対応するフローエントリ(処理規則)が存在しないパケットを受信し、そのパケットに対する経路計算を行う。また、制御サーバ100は、受信したパケットに対応するフローエントリを転送ノード200−1〜200−3に追加させることで通信制御システム内での通信を制御するサーバである。具体的には、制御サーバ100は、転送ノード200−1〜200−3が保持する処理規則の追加、削除等、処理規則の変更指示を行う。そのため、制御サーバ100は、転送ノードが保持する処理規則を制御する装置と言うこともできる。制御サーバ100は、オープンフローネットワークにおけるオープンフローコントローラに相当する装置である。
通信ホスト300−1〜300−4は、他の通信ホスト(通信装置)と通信する過程において、上位レイヤ通信プロトコルと下位レイヤ通信プロトコルとの間でレイヤ間アドレス解決プロトコルを実行する通信プロトコルを使用するホストである。具体的には、通信ホスト300−1〜300−4は、アドレス解決プロトコルを使用して、上位レイヤと下位レイヤとの間のアドレス解決を行う。以下、通信ホスト300−1〜300−4が上位レイヤプロトコルとしてIPを、下位レイヤプロトコルとしてEthernetを、レイヤ間アドレス解決プロトコルとしてARPを、それぞれ使用する場合を例に説明する。
制御用ネットワーク400は、制御サーバ100と転送ノード200−1〜200−3との間で制御メッセージの通信を可能とする通信ネットワークである。制御用ネットワーク400は、例えば、EthernetスイッチやIPルータ等を相互に接続したネットワークとして実現される。
本発明による通信制御システムでは、転送ノード200−1〜200−3を用いて構成される物理ネットワークにおいて、転送ノード200−1〜200−3によりサービスされる各ユーザネットワーク(論理ネットワーク)を識別するためのネットワーク識別子(論理ネットワーク識別子)を利用する。ここで、ユーザネットワークとは、転送ノードの設定により定義される論理ネットワークである。また、転送ノードによりサービスされるユーザネットワークとは、そのユーザネットワーク内の通信に用いられる各パケットに対する処理(転送処理、廃棄処理等)が転送ノードにより行われることを意味する。
通信ホスト300−1〜300−4がレイヤ間アドレス解決を要求した場合、本発明による通信制御システムでは、解決後のアドレス(解決後アドレス)としてその通信ホストが属するユーザネットワークのネットワーク識別子を各通信ホストに返却する処理が行われる。また、本発明による通信制御システムでは、フローの識別にネットワーク識別子を用いる。
以下、本発明の実施形態を図面を参照して説明する。
なお、以下の説明において、IPを使用する2つのユーザネットワーク501,502(図示せず)が転送ノード200−1〜200−3を用いてサービスされるものとする。すなわち、転送ノード200−1〜200−3が、2つのユーザネットワーク501,502に対して、それぞれパケットの転送処理等を行う。また、通信ホスト300−1〜300−2はユーザネットワーク501に属するものとし、通信ホスト300−3〜300−4はユーザネットワーク502に属するものとする。また、ユーザネットワーク501およびユーザネットワーク502は、いずれもIPアドレス空間「192.168.0.0/16」を使用するものとする。また、各転送ノード200−1〜200−3に共通する説明において、各転送ノード200−1〜200−3のことを転送ノードと記す場合もある。
実施形態1.
図2は、制御サーバ100の構成例を示すブロック図である。図2に例示する制御サーバ100は、制御チャネル処理部101と、ネットワーク情報管理部102と、トポロジ情報管理部103と、アドレス解決処理部104と、フローエントリ作成部105と、ネットワーク情報記憶部106と、トポロジ情報記憶部107とを備えている。
制御チャネル処理部101は、制御用ネットワーク400に接続され、制御用ネットワーク400を介して、後述する転送ノード200−1〜200−3の制御チャネル処理部201との間で制御用通信(制御チャネル)を行う。制御チャネルによる通信として、例えば、転送ノードから制御サーバ100へのパケットの通知、制御サーバ100から転送ノードへのパケット送信、制御サーバ100から転送ノードへのフローエントリ追加、削除および変更指示などが挙げられる。
ネットワーク情報記憶部106は、転送ノード200−1〜200−3によりサービスされるユーザネットワークの情報であるネットワーク情報(論理ネットワーク情報)を記憶する。本実施形態では、ネットワーク情報記憶部106は、ネットワーク情報として、各ユーザネットワークを識別するためのネットワーク識別子および転送ノード200−1〜200−3における各ポートとユーザネットワークとの対応関係を記憶する。
ネットワーク情報を手動でネットワーク情報記憶部106に設定してもよい。また、ネットワーク情報が自動でネットワーク情報記憶部106に設定されるようにしてもよい。例えば、通信ホストが転送ノードに接続した際に、後述するネットワーク情報管理部102がIEEE802.1X認証を実行する。ネットワーク情報管理部102は、認証時に得られる情報を基に、接続された通信ホストが属するユーザネットワークを特定する。そして、ネットワーク情報管理部102は、通信ホストが接続された転送ノードのポートとユーザネットワークとを対応づけてネットワーク情報記憶部106に記憶させる。このようにすることで、自動でネットワーク情報をネットワーク情報記憶部106に設定することが可能になる。
図3は、ネットワーク情報記憶部106に記憶されたネットワーク情報の一例を示す説明図である。図3(A)は、各ユーザネットワークのネットワーク識別子を表すリストの一例である。図3(B)は、転送ノード200−1〜200−3の各ポートに接続された通信ホストがどのユーザネットワークに属するかを示すリストの一例である。例えば、図3(B)に例示するリストの最初の行は、転送ノード200−1において、ポート識別子が10〜19であるポートに接続された通信ホストがユーザネットワーク501に属することを意味する。
ネットワーク情報管理部102は、ネットワーク情報記憶部106に記憶されたネットワーク情報を管理する。具体的には、ネットワーク情報管理部102は、他の装置からの要求に応じて、ネットワーク情報記憶部106に記憶されたネットワーク情報を返信する。また、ネットワーク情報管理部102は、ネットワーク情報記憶部106に記憶されたネットワーク情報の追加、更新、削除等を行う。
トポロジ情報記憶部107は、ネットワークトポロジ情報(以下、単にトポロジ情報と記す。)を記憶する。トポロジ情報記憶部107が記憶するトポロジ情報の例として、転送ノードと転送ノードとの間および転送ノードと通信ホストとの間の接続関係や、通信ホストが使用する上位レイヤアドレス(IPアドレス)および下位レイヤアドレス(MACアドレス)などが挙げられる。
図4は、トポロジ情報記憶部107に記憶されたトポロジ情報の一例を示す説明図である。図4(A)は、転送ノードと転送ノードとの間および転送ノードと通信ホストとの間の接続関係を表すリストの一例である。例えば、図4(A)に例示するリストの最初の行は、通信ホスト300−1のポート識別子1のポートと、転送ノード200−1のポート識別子10のポートとが接続されていることを意味する。
また、図4(B)は、各通信ホストが使用するIPアドレスおよびMACアドレスのリストの一例である。例えば、図4(B)に例示するリストの最初の行は、通信ホスト300−1のポート識別子1のポートは、IPアドレスとして「192.168.100.1」を使用し、MACアドレスが「01:00:00:03:00:01」であることを意味する。
トポロジ情報管理部103は、通信制御システム内のネットワークトポロジを検出し、トポロジ情報として管理する。具体的には、トポロジ情報管理部103は、検出したトポロジ情報をトポロジ情報記憶部107に記憶させる。トポロジ情報管理部103は、トポロジ検出に係るパケットを任意の転送ノードの任意のポートから送受信するために、制御チャネルを使用してもよい。
トポロジ情報管理部103がトポロジを検出する方法には、一般的な方法が用いられる。トポロジ情報管理部103がトポロジを検出する技術として、例えば、LLDP(Link Layer Discovery Protocol)、DHCP(Dynamic Host Configuration Protocol) snoopingまたはDHCPサーバとの連携、ユーザ認証(例えばIEEE802.1x)との連携、 通信ホストが送信するGratuitous ARPパケットの検出、STP(Spanning Tree Protocol)などが挙げられる。
アドレス解決処理部104は、通信ホストが送信したアドレス解決要求(ARP要求)を制御チャネル処理部101から受信し、アドレス解決応答(ARP応答)を生成する。このとき、アドレス解決処理部104は、ARP要求において解決を要求されたIPアドレスに対応するMACアドレス(解決後アドレス)として、ARP要求を送信した通信ホストが属するユーザネットワークのネットワーク識別子を含むARP応答を生成する。
具体的には、アドレス解決処理部104は、送信先の通信ホスト(ここでは、通信ホスト300−2)のアドレス解決要求(ARP要求)を転送ノード200−1から受信すると、その送信先ホストのレイヤ間のアドレス解決(ARP応答)を行う。例えば、アドレス解決処理部104は、転送ノード200−1から上位レイヤのアドレスであるIPアドレスを受信すると、下位レイヤのアドレスであるMACアドレスの解決を行う。
そして、アドレス解決処理部104は、アドレス解決により得られたアドレス(解決後アドレス)に、パケットの送信元の通信ホストが属する論理ネットワークの論理ネットワーク識別子を設定する。例えば、アドレス解決処理部104は、解決後アドレス(ARP応答)に含まれる下位レイヤのアドレス(ここでは、MACアドレス)に、ARP要求を送信した通信ホスト(ここでは、通信ホスト300−1)が属する論理ネットワークの論理ネットワーク識別子を設定する。
フローエントリ作成部105は、制御チャネル処理部101からの要求に基づいて経路計算を行い、フローエントリの作成を行う。具体的には、フローエントリ作成部105は、制御チャネル処理部101を介して、転送ノードからのフローエントリ作成要求を受信すると、まず、フローエントリ作成対象フローの経路を計算する。フローエントリ作成部105が経路を計算する方法には、一般的な方法が用いられる。
フローエントリ作成部105は、例えば、ショーテストパスにより経路を計算してもよく、STP(Spanning Tree Protocol)に基づいて経路を計算してもよい。フローエントリ作成部105は、経路計算を行った後、計算された経路上に含まれる転送ノードごとに追加すべきフローエントリを作成する。そして、フローエントリ作成部105は、作成したフローエントリを制御チャネル処理部101に通知する。なお、制御チャネル処理部101は、通知を受けたフローエントリを、各転送ノードに対して送信し、処理規則への追加を指示する。
制御チャネル処理部101と、ネットワーク情報管理部102と、トポロジ情報管理部103と、アドレス解決処理部104と、フローエントリ作成部105とは、プログラム(通信制御プログラム)に従って動作するコンピュータのCPUによって実現される。例えば、プログラムは、制御サーバ100の記憶部(図示せず)に記憶され、CPUは、そのプログラムを読み込み、プログラムに従って、制御チャネル処理部101、ネットワーク情報管理部102、トポロジ情報管理部103、アドレス解決処理部104およびフローエントリ作成部105として動作してもよい。また、制御チャネル処理部101と、ネットワーク情報管理部102と、トポロジ情報管理部103と、アドレス解決処理部104と、フローエントリ作成部105とは、それぞれが専用のハードウェアで実現されていてもよい。
また、ネットワーク情報記憶部106およびトポロジ情報記憶部107は、磁気ディスク等により実現される。
図5は、転送ノード200−1〜200−3の構成例を示すブロック図である。図5に例示する転送ノード200−1〜200−3は、制御チャネル処理部201と、転送処理部202と、フローテーブル記憶部203とを備えている。
制御チャネル処理部201は、制御用ネットワーク400に接続され、制御用ネットワーク400を介して、制御サーバ100の制御チャネル処理部101との間で制御用通信(制御チャネル)を行う。また、制御チャネル処理部201は、転送処理部202から対応するフローエントリが存在しないパケットの通知を受けると、制御チャネルを用いてそのパケットを制御サーバ100に通知する。
さらに、制御チャネル処理部201は、制御チャネルを介して制御サーバ100からフローエントリを追加、変更、または削除するよう指示されると、指示された内容に基づきフローテーブルを変更するよう転送処理部202に指示する。また、制御チャネル処理部201は、制御チャネルを介して制御サーバ100からパケットを出力するよう指示されると、指示された内容に基づきパケットを出力するよう転送処理部202に指示する。
フローテーブル記憶部203は、処理規則(フローエントリ)を含むフローテーブルを記憶する。処理規則(フローエントリ)は、後述する転送処理部202によってフローテーブル記憶部203に記憶される。
転送処理部202は、他の装置(例えば、通信ホストや他の転送ノード)に接続され、接続された装置との間でパケットの送受信を行う。また、転送処理部202は、フローテーブル記憶部203に記憶されたフローテーブルを管理する。
転送処理部202は、他の装置からパケットを受信すると、受信したパケットに対応するフローエントリをフローテーブル内から検索する。受信したパケットに対応するフローエントリがフローテーブルに見つかった場合、転送処理部202は、そのフローエントリのアクションに従って処理を行う。一方、受信したパケットに対応するフローエントリがフローテーブルに見つからなかった場合、転送処理部202は、受信したパケットのフローエントリが存在しない旨を制御チャネル処理部201に通知する。
さらに、転送処理部202は、他の装置と通信を行うためのポートを複数具備しており、各ポートは、それぞれ異なる他の転送ノードまたは通信ホストのポートと接続される。なお、各ポートは、ポート識別子により識別される。
フローエントリのアクションに基づき、転送処理部202が行う処理には、以下に例示する処理が挙げられる。また、転送処理部202が行う処理は、1つに限定されず、2つ以上であってもよい。また、フローエントリのアクションに指定される処理は、以下の処理に限定されない。
・指定されたポートからパケットを出力する。
・パケットの送信先MACアドレスを指定された値に変更する。
・パケットの送信元MACアドレスを指定された値に変更する。
・パケットの送信先IPアドレスを指定された値に変更する。
・パケットの送信元IPアドレスを指定された値に変更する。
・パケットの送信先ポート番号を指定された値に変更する。
・パケットの送信元ポート番号を指定された値に変更する。
・パケットにVLANタグを追加する。
・パケットのVLANタグを削除する。
・パケットのVLANタグを変更する。
なお、制御チャネル処理部201と、転送処理部202とは、プログラムに従って動作するコンピュータのCPUによって実現される。また、制御チャネル処理部201と、転送処理部202とは、それぞれが専用のハードウェアで実現されていてもよい。
次に、第1の実施形態による通信制御システムの動作を説明する。図6は、本実施形態における通信制御システムの動作の例を示すシーケンス図である。以下、図6に示されるシーケンス図を参照して、本発明の通信制御システムに接続された通信ホストがパケットを送信する際の動作を説明する。具体的には、通信ホスト300−1が、通信ホスト300−2のIPアドレスに対するアドレス解決を行い、通信ホスト300−2宛のパケットを送信する。ただし、図6に例示する処理が開始される前の段階において、通信ホスト300−1は、通信ホスト300−2のIPアドレスを知っているが、通信ホスト300−2のMACアドレスを知らない状態にあるものとする。また、転送ノード200−1〜200−3には、通信ホスト300−1から通信ホスト300−2への通信に関するフローエントリが設定されていない状態にあるものとする。また、制御サーバ100は、トポロジ情報およびネットワーク情報を取得済み(計算済み)であるものとする。
まず、通信ホスト300−1は、解決対象のIPアドレス(ターゲットプロトコルアドレス)が通信ホスト300−2のIPアドレスであるARP要求を転送ノード200−1に送信する(ステップS101)。転送ノード200−1がARP要求を受信すると、転送処理部202は、受信したARP要求に対応するフローエントリを検索する(ステップS102)。しかし、この場合、受信したARP要求に対応するフローエントリはフローテーブルに存在しない。そこで、転送ノード200−1の制御チャネル処理部201は、制御チャネルを介して、受信したARP要求を制御サーバ100へ送信する(ステップS103)。
制御サーバ100がステップS103で送信されたARP要求を受信すると、アドレス解決処理部104は、受信したARP要求に対するARP応答を作成する(ステップS104)。なお、ARP応答を作成する際の制御サーバ100の動作の詳細については後述する。
制御サーバ100の制御チャネル処理部101は、ステップS104において作成したARP応答を通信ホスト300−1に送信するよう、制御チャネルを介して転送ノード200−1へ指示する(ステップS105)。
転送ノード200−1の転送処理部202は、ステップS105で送信されたARP応答を受信すると、受信したARP応答を通信ホスト300−1に送信する(ステップS106)。このとき、ARP応答を受信した通信ホスト300−1は、受信したARP応答に基づき、対応するARPキャッシュエントリを作成する。
通信ホスト300−1は、通信ホスト300−2宛のパケットを転送ノード200−1に送信する(ステップS107)。このとき、送信されるパケットの送信先MACアドレスには、ARP応答の送信元ハードウェアアドレスフィールドのMACアドレスが設定される。また、送信元MACアドレスには、通信ホスト300−1のMACアドレスが設定される。さらに、送信されるパケットの送信先IPアドレスには、通信ホスト300−2のIPアドレスが設定される。また、送信元IPアドレスには、通信ホスト300−1のIPアドレスが設定される。以降、通信ホスト300−1から送信されるパケットを処理対象パケットと記す。
転送ノード200−1が処理対象パケットを受信すると、転送処理部202は、受信した処理対象パケットに対応するフローエントリをフローテーブルから検索する(ステップS108)。しかし、この場合、処理対象パケットに対応するフローエントリはフローテーブルに存在しない。そこで、転送ノード200−1の制御チャネル処理部201は、制御チャネルを介して、処理対象パケットを制御サーバ100へ送信する(ステップS109)。なお、このとき、転送ノード200−1の転送処理部202は、後の送信に備え、処理対象パケットをキューに保存する。
制御サーバ100のフローエントリ作成部105は、処理対象パケットに対応するフローエントリを作成する(ステップS110)。なお、フローエントリを作成する際の制御サーバ100の動作の詳細については後述する。
制御サーバ100の制御チャネル処理部101は、ステップS110で作成されたフローエントリをフローテーブルに追加するよう、制御チャネルを介して転送ノード200−1および200−2に指示する(ステップS111)。指示を受けた転送ノード200−1および200−2では、各転送処理部202が追加の指示を受けたフローエントリをフローテーブルに追加する。また、制御サーバ100の制御チャネル処理部101は、ステップS108において転送ノード200−1がキューに保存した処理対象パケットを、フローテーブルの内容に従い処理するよう、転送ノード200−1に指示する(ステップS112)。
転送ノード200−1の転送処理部202は、処理対象パケットをステップS111で追加されたフローエントリに従い、転送ノード200−2に送信する(ステップS113)。
転送ノード200−2が処理対象パケットを受信すると、転送処理部202は、受信した処理対象パケットに対応するフローエントリをフローテーブルから検索する(ステップS114)。この場合、ステップS111で追加されたフローエントリがフローテーブルに存在するため、転送処理部202は、処理対象パケットに対応するフローエントリを見つけることができる。そのため、転送ノード200−2の転送処理部202は、ステップS114で見つけたフローエントリのアクションに基づき、処理対象パケットを通信ホスト300−2に送信する(ステップS115)。
次に、図7に例示するシーケンス図を参照して、ステップS104における処理を説明する。図7は、ARP応答を作成する際の制御サーバ100の動作の例を示すシーケンス図である。
制御サーバ100の制御チャネル処理部101は、制御チャネルを介して転送ノードから受信したARP要求(以降、処理対象ARP要求と記す。)に対するARP応答の作成をアドレス解決処理部104に要求する(ステップS121)。このとき、制御チャネル処理部101は、処理対象ARP要求と、処理対象ARP要求を受信した転送ノードおよびポートの情報とをパラメタとしてアドレス解決処理部104に通知する。
制御サーバ100のアドレス解決処理部104は、ネットワーク情報記憶部106に記憶されたネットワーク情報を参照し、処理対象ARP要求を送信した通信ホストである通信ホスト300−1が属するユーザネットワークのネットワーク識別子を取得する(ステップS122)。
制御サーバ100のアドレス解決処理部104は、対象処理ARP要求に対する応答として、ステップS122で取得したネットワーク識別子を解決後のMACアドレス(解決後アドレス)に含むARP応答を作成する(ステップS123)。作成されるARP応答には、例えば、以下に示す送信先MACアドレス、送信元MACアドレス、ARP応答の内容である送信者ハードウェアアドレス、送信者プロトコルアドレス、ターゲットハードウェアアドレス、および、ターゲットプロトコルアドレスが含まれる。作成されるARP応答の一例を示す。
・送信先MACアドレス:ARP要求を送信した通信ホストのMACアドレス
・送信元MACアドレス:ステップS122で取得されたネットワーク識別子
・ARP opcode:応答
・ARP 送信者ハードウェアアドレス:ステップS122で取得されたネットワーク識別子
・ARP 送信者プロトコルアドレス:ARP要求内のターゲットプロトコルアドレス
・ARP ターゲットハードウェアアドレス:ARP要求内の送信者ハードウェアアドレス
・ARP ターゲットプロトコルアドレス:ARP要求内の送信者プロトコルアドレス
なお、ステップS123において、処理対象ARP要求のARP ターゲットプロトコルアドレスが処理対象ARP要求を送信した通信ホストのIPアドレスであったとする。この場合、制御サーバ100のアドレス解決処理部104は、処理対象ARP要求に対する処理を中止してもよい。
そして、制御サーバ100のアドレス解決処理部104は、ステップS123で作成したARP応答を制御チャネル処理部101に通知する(ステップS124)。
次に、図8に例示するシーケンス図を参照して、ステップS110における処理を説明する。図8は、フローエントリを作成する際の制御サーバ100の動作の例を示すシーケンス図である。
制御サーバ100の制御チャネル処理部101は、制御チャネルを介して転送ノードから受信した処理対象パケットに対するフローエントリの作成をフローエントリ作成部105に要求する(ステップS131)。このとき、制御チャネル処理部101は、処理対象パケットと処理対象パケットを受信した転送ノードおよびポートの情報とをパラメタとしてフローエントリ作成部105に通知する。
制御サーバ100のフローエントリ作成部105は、処理対象パケットに対する経路を計算する(ステップS132)。ここでは、通信ホスト300−1から通信ホスト300−2への経路が、通信ホスト300−1→転送ノード200−1→転送ノード200−2→通信ホスト300−2と計算されたものとする。
制御サーバ100のフローエントリ作成部105は、ネットワーク情報記憶部106に記憶されたネットワーク情報を参照し、処理対象パケットを送信した通信ホストが属するユーザネットワークのネットワーク識別子を取得する(ステップS133)。
制御サーバ100のフローエントリ作成部105は、トポロジ情報記憶部107に記憶されたトポロジ情報を参照し、処理対象パケットの送信先通信ホストのMACアドレス(下位アドレス)を取得する(ステップS134)。
制御サーバ100のフローエントリ作成部105は、ステップS132で計算した経路上の転送ノードに追加すべきフローエントリを作成する(ステップS135)。この際、フローエントリ作成部105は、経路上の最後の転送ノードに設定するフローエントリを別途作成する。具体的には、フローエントリ作成部105は、論理ネットワーク識別子が設定されたパケットの送信先MACアドレスを、送信先の通信ホスト(ここでは、通信ホスト300−2)のMACアドレスに変更する処理をアクションに規定したフローエントリを作成する。このように作成されたフローエントリが転送ノードのフローテーブルに追加されることで、経路上の最後の転送ノードが送信対象の通信ホストを特定できる。
フローエントリ作成部105により作成されるフローエントリには、マッチングルールおよびアクションが含まれる。マッチングルールには、以下に示す入力元ポート、送信先MACアドレス、送信元MACアドレス、送信先IPアドレスおよび送信元IPアドレスが含まれる。フローエントリ作成部105により作成されるマッチングルールの一例を以下に示す。
・入力元ポート:経路上の一つ前の転送ノードまたは通信ホストに接続しているポート
・送信先MACアドレス:ステップS133で取得したネットワーク識別子
・送信元MACアドレス:処理対象パケットを送信した通信ホストのMACアドレス
・送信先IPアドレス:処理対象パケットの送信先IPアドレス
・送信元IPアドレス:処理対象パケットの送信元IPアドレス
なお、フローエントリを集約する場合、フローエントリ作成部105は、マッチングルールの送信元MACアドレスに、任意のMACアドレスを設定してもよい。同様に、フローエントリを集約する場合、フローエントリ作成部105は、送信先IPアドレスに処理対象パケットの送信先IPアドレスが属するIPサブネットを設定してもよく、送信元IPアドレスに任意のIPアドレスを設定してもよい。
また、フローエントリ作成部105は、アクションとして、「パケットの送信先MACアドレスを指定された値に変更」(ただし、本アクションは経路上の最後の転送ノードにのみ設定される)、および、「指定されたポートからパケットを出力」といった内容を表す処理を設定する。
ここで、フローエントリ作成部105は、パケットの送信先MACアドレスに、ステップS134で取得した送信先通信ホストのMACアドレスを指定する。また、フローエントリ作成部105は、出力先ポートに、経路上の次の転送ノードまたは通信ホストに接続されるポートを指定する。
制御サーバ100のフローエントリ作成部105は、ステップS135で作成したフローエントリを制御チャネル処理部101に通知する(ステップS136)。その後、このフローエントリが、各転送ノードのフローテーブルに追加されることになる。各通信ホストのARPキャッシュには、ネットワーク識別子を含むエントリが作成されており、各ホストからはネットワーク識別子を含むパケットが送信される。そのため、各転送ノードがパケットを受信すると、転送処理部202は、追加されたフローエントリに基づいて、ネットワーク識別子に該当するパケットの経路制御を行うことが可能になる。
図9は、転送ノードが記憶するフローテーブルの例を示す説明図である。図9に例示するフローテーブルは、通信ホスト300−1が通信ホスト300−2にパケットを送信し、通信ホスト300−3が通信ホスト300−4にパケットを送信した後の転送ノード200−1〜200−3が記憶するフローテーブルの一例である。
具体的には、図9(A)は、転送ノード200−1が記憶するフローテーブルの一例を示す。図9(B)は、転送ノード200−2が記憶するフローテーブルの一例を示す。図9(C)は、転送ノード200−3が記憶するフローテーブルの一例を示す。図9に例示するマッチングルールに一致するパケットを各転送ノードが受信すると、転送処理部202は、対応するアクションを実行する。
また、図10は、通信ホストが記憶するARPキャッシュエントリの例を示す説明図である。図10に例示するARPキャッシュエントリは、ARP応答後に通信ホスト300−1および通信ホスト300−3が記憶するARPキャッシュエントリの一例である。
具体的には、図10(A)は、通信ホスト300−1が記憶するARPキャッシュの一例を示す。図10(B)は、通信ホスト300−3が記憶するARPキャッシュの一例を示す。各通信ホストは、ARP応答を受信すると、送信先の通信ホストのIPアドレスとMACアドレスの組をメモリ等(図示せず)に記憶する。
上記説明では、第1の実施形態による通信制御システムの動作の説明において、通信ホスト300−1がパケット送信先である通信ホスト300−2のIPアドレスを解決対象としてARP処理を実行する例を示した。ただし、ARP処理によりIPアドレスを解決する対象は、パケットの送信先である通信ホスト300−2に限定されない。IPアドレスを解決する対象は、通信ホスト300−1に設定されたデフォルトルータなど、通信ホスト300−1から受信したパケットを他の装置に転送する通信装置であってもよい。この場合におけるARP処理の内容も、上述する処理の内容と同様である。
以上説明したように、本発明の第1の実施形態によれば、通信ホスト300−1からのレイヤ間アドレス解決要求に対し、制御サーバ100のアドレス解決処理部104が通信ホスト300−1の属するユーザネットワークに対応するネットワーク識別子をレイヤ間アドレス解決応答に含めて返却する。すなわち、制御サーバ100のアドレス解決処理部104がレイヤ間アドレス解決要求を転送ノード200−1から受信したときに、その要求に対する解決後アドレスに、通信ホスト300−1が属する論理ネットワークの論理ネットワーク識別子を設定する。よって、効率的なレイヤ間アドレス解決を実現することができる。具体的には、本実施形態によれば、ブロードキャストを行うことなく効率的にレイヤ間アドレス解決を行うことができる。
さらに、転送ノード200−1〜200−3の転送処理部202が各ユーザネットワークにおけるフローの識別にネットワーク識別子を使用している。そのため、重複するアドレス空間を使用する複数のユーザネットワークサービスの多重化を実現することができる。その際、ネットワーク識別子はユーザネットワークに属する通信ホストに共通であるため、フローエントリの集約を行うことも可能になる。
次に、第1の実施形態の変形例を説明する。第1の実施形態による通信制御システムの説明では、ARP要求に対するARP応答を制御サーバ100が作成する例を示したが本発明はこれに限定されるものではない。ARP要求に対するARP応答を転送ノード200−1〜200−3が作成してもよい。この場合、例えば、転送ノード200−1〜200−3が制御サーバ100のネットワーク情報管理部102、ネットワーク情報記憶部106およびアドレス解決処理部104に相当する構成を具備することで実現できる。
図11は、第1の実施形態の変形例における転送ノードの例を示すブロック図である。本変形例における転送ノードは、制御チャネル処理部201と、転送処理部202と、ネットワーク情報管理部102aと、ネットワーク情報記憶部106aと、アドレス解決処理部104aとを備えている。ネットワーク情報管理部102a、ネットワーク情報記憶部106a、および、アドレス解決処理部104aの内容は、第1の実施形態におけるネットワーク情報管理部102、ネットワーク情報記憶部106、および、アドレス解決処理部104の内容と同様である。転送ノード200−1〜200−3のネットワーク情報記憶部106aが記憶するネットワーク情報は、静的に設定されてもよいし、自動的に設定されてもよい。また、制御サーバ100から通知されるネットワーク情報をネットワーク情報管理部102aがネットワーク情報記憶部106aに記憶させてもよい。
具体的には、対応するフローエントリが存在しないARP要求を転送ノード200−1〜200−3が通信ホストから受信すると、制御チャネル処理部201は、受信したARP要求を制御サーバ100に送信する代わりに、自身のアドレス解決処理部104aに通知する。そして、アドレス解決処理部104aが作成したARP応答を送信元の通信ホストに送信する。このような構成であっても、ネットワーク識別子を用いた経路制御が可能になる。
すなわち、転送ノード200−1のアドレス解決処理部104aが、レイヤ間アドレス解決要求を通信ホスト300−1から受信したときに、その要求に対する解決後アドレスに、通信ホスト300−1が属する論理ネットワークの論理ネットワーク識別子を設定する。このような構成であっても、レイヤ間のアドレス解決を効率的に行うことができるとともに、複数のネットワークサービスを多重化する場合に、パケットに対する処理内容を示すフローエントリを集約できる。
なお、制御チャネル処理部201と、転送処理部202と、ネットワーク情報管理部102aと、アドレス解決処理部104aとは、プログラム(通信制御プログラム)に従って動作するコンピュータのCPUによって実現される。また、制御チャネル処理部201と、転送処理部202と、ネットワーク情報管理部102aと、アドレス解決処理部104aとは、それぞれが専用のハードウェアで実現されていてもよい。
また、第1の実施形態による通信制御システムの説明では、通信ホストが属するユーザネットワークのネットワーク識別子が一つである例を示したが、本発明はこれに限定されるものではない。通信ホストが属するユーザネットワークのネットワーク識別子が複数存在してもよい。
この場合、例えば、ネットワーク情報として、一ユーザネットワークに対応する複数のネットワーク識別子と、そのネットワーク識別子を選択する選択基準とを対応させた情報をネットワーク情報記憶部106に記憶しておく。そして、アドレス解決処理部104は、アドレス解決を行う際、アドレス解決要求に含まれる情報、そのアドレス解決要求の送信元の通信ホストを表す情報、および、ネットワーク情報記憶部106に記憶された選択基準に基づき、解決後アドレスとして使用すべきネットワーク識別子を選択する。このようにすることで、アドレス解決処理部104が適切なネットワーク識別子を取得することが可能になる。
また、フローエントリ作成部105が経路計算を行う際、処理対象パケットに関するネットワーク識別子を考慮して経路計算を行ってもよい。このとき、フローエントリ作成部105は、処理対象パケットに関するネットワーク識別子を、アドレス解決処理部104と同様にネットワーク情報を用いてネットワーク情報記憶部106から取得してもよい。また、フローエントリ作成部105は、処理対象パケットに関するネットワーク識別子を、処理対象パケットの送信先下位レイヤアドレスフィールドから取得してもよい。
さらに、第1の実施形態による通信制御システムの説明では、通信ホストが属するユーザネットワークが一つである例を示したが、本発明はこれに限定されるものではない。通信ホストが複数のユーザネットワークに属するとしてもよい。
この場合、例えば、ネットワーク情報として、一通信ホストに対応する複数のユーザネットワークと、そのユーザネットワークを選択する選択基準とを対応させた情報をネットワーク情報記憶部106に記憶しておく。そして、アドレス解決処理部104は、アドレス解決を行う際、アドレス解決要求に含まれる情報、そのアドレス解決要求の送信元の通信ホストを表す情報、および、ネットワーク情報記憶部106に記憶された選択基準に基づき、解決後アドレスとして使用すべきネットワーク識別子を選択する。このようにすることで、アドレス解決処理部104が適切なネットワーク識別子を取得することが可能になる。
実施形態2.
次に、本発明の第2の実施形態における通信制御システムについて説明する。
上述したように、本発明による通信制御システムでは、通信ホストが送信したレイヤ間アドレス解決要求に対する応答として、アドレス解決対象の通信ホストを表す実際の下位アドレスの代わりに、その通信ホストが属するネットワーク識別子が返される。また、第1の実施形態による通信制御システムでは、通信ホスト(例えば、第1の実施形態における通信ホスト300−2)が通信相手(例えば、第1の実施形態における通信ホスト300−1)から受信するパケットの送信元MACアドレスには、その通信相手の実際の下位アドレスが設定される。
近年、通信ホストに搭載される通信プロトコルスタックやセキュリティ対策ソフトでは、レイヤ間アドレス解決により得られた下位レイヤアドレスと受信パケット内の送信元下位アドレスに不整合があった場合、警告ログを出力したり通信を断絶したりするものも存在する。そこで、第2の実施形態では、そのような通信プロトコルスタックやセキュリティ対策ソフトを搭載した通信ホストとの通信も可能にするよう、第1の実施形態に変形を加えた通信制御システムについて説明する。
第2の実施形態における制御サーバ100は、第1の実施形態における制御サーバ100の構成および機能を備えており、第1の実施形態における制御サーバ100と同様に動作する。ただし、第2の実施形態における制御サーバ100では、パケットの送信先である通信ホストに接続している転送ノードに追加させるフローエントリのアクションの設定内容が、第1の実施形態と異なる。具体的には、第2の実施形態における制御サーバ100では、フローエントリ作成部105がパケットの送信元下位アドレスを、そのパケットの送信元ホストが属するユーザネットワークのネットワーク識別子に変更する、というアクションも併せてフローエントリのアクションに設定させる。以下、第1の実施形態による通信制御システムと第2の実施形態による通信制御システムとの違いについて図8を用いて説明する。なお、フローエントリの作成要求を受信して、送信先通信ホストのMACアドレスを取得するまでのステップS131〜S134までの処理は、第1の実施形態の処理と同様である。
制御サーバ100のフローエントリ作成部105は、制御チャネル処理部101の要求に基づきフローエントリを作成し(ステップS135)、作成したフローエントリを制御チャネル処理部101に通知する(ステップS136)。フローエントリを作成する際、フローエントリ作成部105は、パケットの送信元アドレスを送信元の通信ホスト(ここでは、通信ホスト300−1)のアドレスから、その通信ホスト(通信ホスト300−1)が属する論理ネットワークの論理ネットワーク識別子に変更する処理をアクションに規定したフローエントリを作成する。このように作成されたフローエントリが転送ノードのフローテーブルに追加されることで、レイヤ間アドレス解決により得られた下位レイヤアドレスと受信パケット内の送信元下位アドレスとの不整合を解消できる。
フローエントリ作成部105は、第1の実施形態と同様、マッチングルールおよびアクションを含むフローエントリを作成する。マッチングルールには、以下に示す入力元ポート、送信先MACアドレス、送信元MACアドレス、送信先IPアドレスおよび送信元IPアドレスが含まれる。ステップS132で計算された経路上の最後の転送ノードに追加すべきフローエントリとして、フローエントリ作成部105が作成するフローエントリのマッチングルールの一例を以下に示す。
・入力元ポート:経路上の一つ前の転送ノードまたは通信ホストに接続しているポート
・送信先MACアドレス:ステップS133で取得したネットワーク識別子
・送信元MACアドレス:処理対象パケットを送信した通信ホストのMACアドレス
・送信先IPアドレス:処理対象パケットの送信先IPアドレス
・送信元IPアドレス:処理対象パケットの送信元IPアドレス
第1の実施形態と同様、フローエントリを集約する場合、フローエントリ作成部105は、マッチングルールの送信元MACアドレスに、任意のMACアドレスを設定してもよい。また、フローエントリを集約する場合、フローエントリ作成部105は、送信先IPアドレスに処理対象パケットの送信先IPアドレスが属するIPサブネットを設定してもよく、送信元IPアドレスに任意のIPアドレスを設定してもよい。
また、フローエントリ作成部105は、アクションとして、「パケットの送信先MACアドレスを指定された値に変更」、「パケットの送信元MACアドレスを指定された値に変更」、および、「指定されたポートからパケットを出力」といった内容を表す処理を設定する。
第1の実施形態と同様、フローエントリ作成部105は、パケットの送信先MACアドレスに、ステップS134で取得した送信先通信ホストのMACアドレスを指定する。また、フローエントリ作成部105は、出力先ポートに、経路上の次の通信ホストに接続しているポートを指定する。さらに、本実施形態におけるフローエントリ作成部105は、パケットの送信元MACアドレスに、ステップS133で取得したネットワーク識別子を指定する。
図12は、転送ノードが記憶するフローテーブルの例を示す説明図である。図12に例示するフローテーブルは、通信ホスト300−1が通信ホスト300−2にパケットを送信し、通信ホスト300−3が通信ホスト300−4にパケットを送信した後の転送ノード200−1〜200−3が記憶するフローテーブルの一例である。
具体的には、図12(A)は転送ノード200−1が記憶するフローテーブルの一例を示す。図12(B)は転送ノード200−2が記憶するフローテーブルの一例を示す。図12(C)は転送ノード200−3が記憶するフローテーブルの一例を示す。図12(A)に例示する転送ノード200−1が記憶するフローテーブルの内容は、図9(A)に例示するフローテーブルの内容と同様である。一方、図12(B)に例示する転送ノード200−2が記憶するフローテーブルのフローエントリ、および、図12(C)に例示する転送ノード200−3が記憶するフローテーブルのフローエントリは、パケットの送信元MACアドレスを変更するためのアクションが加えられている点において、図9(B)および図9(C)に例示するフローテーブルの内容と異なる。
以上説明したように、本発明の第2の実施形態によれば、レイヤ間アドレス解決により得られた下位レイヤアドレスと受信パケット内の送信元下位アドレスとの間に不整合があった場合に警告ログを出力したり通信を断絶したりするような通信ホストに対しても、第1の実施形態と同様の効果を得ることができる。
実施形態3.
次に、本発明の第3の実施形態における通信制御システムについて説明する。本発明による通信制御システムの一例として、第1の実施形態では、制御サーバ100がレイヤ間解決要求に対する応答を作成する例を示したが、本発明はこれに限定されるものではない。制御サーバ100ではなく、転送ノード200−1〜200−3が、レイヤ間解決要求に対する応答を作成してもよい。
第3の実施形態における制御サーバ100では、転送ノード200−1〜200−3からARP要求を受信した場合に、ARP要求を送信した転送ノードに対して、APR応答を作成する処理を含むフローエントリのアクションを追加させる処理が実行される。また、第3の実施形態における転送ノード200−1〜200−3では、フローエントリのアクションとしてARP応答を作成する処理が実行される。以下、第1の実施形態による通信制御システムと第3の実施形態による通信制御システムとの違いについて説明する。
図13は、ARP応答を作成する際の制御サーバ100の動作の例を示すシーケンス図である。制御チャネル処理部101がARP応答の作成をアドレス解決処理部104に要求し、アドレス解決処理部104がネットワーク識別子を取得するまでのステップS121〜S122までの処理は、図7に例示する処理と同様である。
制御サーバ100のアドレス解決処理部104は、対象処理ARP要求に対する応答として、ステップS122で取得したネットワーク識別子を解決後のMACアドレス(解決後アドレス)に含むARP応答を作成する(ステップS123)。さらに、フローエントリ作成部105は、解決後のMACアドレス(解決後アドレス)としてステップS133で取得したネットワーク識別子を含むARP応答を転送ノードに作成させ、また、送信させるためのフローエントリを作成する(ステップS123’)。
フローエントリ作成部105は、第1の実施形態と同様、マッチングルールおよびアクションを含むフローエントリを作成する。マッチングルールには、以下に示す入力元ポート、送信先MACアドレス、送信元MACアドレス、プロトコルタイプ、ARP要求を示す情報、および、ターゲットプロトコルアドレスが含まれる。フローエントリ作成部105により作成されるフローエントリのマッチングルールの一例を以下に示す。
・入力元ポート:ARP要求を送信したホストが接続されているポート
・送信先MACアドレス:ブロードキャストMACアドレスまたは任意のMACアドレス
・送信元MACアドレス:ARP要求を送信した通信ホストのMACアドレス
・プロトコルタイプ:ARP
・ARP opcode:要求
・ターゲットプロトコルアドレス:任意のIPアドレス
また、フローエントリ作成部105は、アクションとして、「指定されたMACアドレスを送信元MACアドレスおよび送信者ハードウェアアドレスフィールドに含むARP応答を作成」、および、「指定されたポートからパケットを出力」といった内容を表す処理を設定する。
ここで、フローエントリ作成部105は、ステップS122で取得したネットワーク識別子を送信元MACアドレスおよび送信者ハードウェアアドレスフィールドの値に指定する。また、フローエントリ作成部105は、出力先ポートに、ARP要求を送信した通信ホストが接続されているポートを指定する。
制御サーバ100のアドレス解決処理部104は、ステップS123で作成したARP応答を制御チャネル処理部101に通知する(ステップS124)。さらに、フローエントリ作成部105は、ステップS123’で作成したフローエントリの内容を制御チャネル処理部101に通知する(ステップS124’)。
次に、第3の実施形態による通信制御システムの動作を説明する。図14は、第3の実施形態における通信制御システムの動作の例を示すシーケンス図である。通信ホスト300−1がARP要求を送信し、そのARP要求が制御サーバ100に送信されるまでのステップS101〜ステップS103までの処理は、図6におけるステップS101〜ステップS103までの処理と同様である。そして、ステップS104では、図13に例示するステップS121〜ステップS124’の処理が行われる。
制御サーバ100の制御チャネル処理部101は、ステップS104において作成したARP応答を通信ホスト300−1に送信するよう、制御チャネルを介して転送ノード200−1へ指示する(ステップS105)。また、制御チャネル処理部101は、ステップS124’で受け取ったフローエントリをフローテーブルに追加するよう転送ノード200−1に指示する(ステップS105’)。
転送ノード200−1の転送処理部202は、ステップS105で送信されたARP応答を受信すると、受信したARP応答を通信ホスト300−1に送信する(ステップS106)。また、転送ノード200−1の転送処理部202は、ステップS124’で受け取ったフローエントリをフローテーブルに追加する(ステップS106’)。以降、通信ホスト300−1がパケットを送信して、通信ホスト300−2がパケットを受信するまでのステップS107〜S115までの処理は、図6におけるステップS107〜S115の処理と同様である。
次に、通信ホスト300−1が通信ホスト300−2のIPアドレスに対するアドレス解決を行う際、転送ノードがARP応答を行う動作を説明する。図15は、転送ノードがARP応答を行う処理の例を示すシーケンス図である。なお、図15に例示する処理が開始される前の段階において、上述するステップS123’、ステップS124’、ステップS105’およびステップS106’の処理が一回以上実行された状態にあるものとする。
まず、通信ホスト300−1は、解決対象のIPアドレス(ターゲットプロトコルアドレス)が通信ホスト300−2のIPアドレスであるARP要求を転送ノード200−1に送信する(ステップS301)。転送ノード200−1がARP要求を受信すると、転送処理部202は、受信したARP要求に対応するフローエントリを検索する(ステップS302)。この場合、受信したARP要求に対応するフローエントリは、ステップS106’で追加されているため、フローテーブルに存在する。
そこで、転送ノード200−1の転送処理部202は、ステップS302で検索されたフローエントリのアクションに基づき、ARP応答を作成する(ステップS303)。作成されるARP応答には、例えば、以下に示す送信先MACアドレス、送信元MACアドレス、ARP応答の内容である送信者ハードウェアアドレス、送信者プロトコルアドレス、ターゲットハードウェアアドレス、および、ターゲットプロトコルアドレスが含まれる。作成されるARP応答の一例を示す。
・送信先MACアドレス:ARP要求を送信した通信ホストのMACアドレス
・送信元MACアドレス:フローエントリのアクションで指定された値
・ARP opcode:応答
・ARP 送信者ハードウェアアドレス:フローエントリのアクションで指定された値
・ARP 送信者プロトコルアドレス:ARP要求内のターゲットプロトコルアドレス
・ARP ターゲットハードウェアアドレス:ARP要求内の送信者ハードウェアアドレス
・ARP ターゲットプロトコルアドレス:ARP要求内の送信者プロトコルアドレス
ここで、送信元MACアドレスおよびARP 送信者ハードウェアアドレスには、ARP要求を送信した通信ホストが属するユーザネットワークのネットワーク識別子(すなわち、ステップS123’で指定された値)が設定される。
なお、ステップS303において、ARP要求のARP ターゲットプロトコルアドレスがARP要求を送信した通信ホストのIPアドレスであった場合、転送ノード200−1の転送処理部202は、ARP要求に対する処理を中止してもよい。
そして、転送ノード200−1の転送処理部202は、ステップS302で検索されたフローエントリのアクションに基づき、ステップS303で作成したARP応答を通信ホスト300−1に送信する(ステップS304)。
以上説明したように、本発明の第3の実施形態によれば、第1の実施形態による効果に加え、制御サーバ100と転送ノード200−1〜200−3との間で通信されるARP要求およびARP応答の数を削減できるという効果が得られる。
なお、第3の実施形態による通信制御システムの説明として、各転送ノードの転送処理部202がARP要求の受信に基づいてARP要求に対応するフローエントリをフローテーブルに追加する例を示したが、本発明はこれに限定されるものでない。ARP要求の受信に先立ち、各転送ノードのフローテーブルにARP要求に対応するフローエントリを予め追加しておいてもよい。
例えば、通信ホストが新たに転送ノードに接続された際、制御サーバ100がステップS122、ステップS123、ステップS123’、ステップS124、ステップS124’の処理を実行することにより、ARP要求に対応するフローエントリを予めフローテーブルに追加しておくことが可能になる。
次に、本発明の最小構成を説明する。図16は、本発明による通信制御システムの最小構成の例を示すブロック図である。本発明による通信制御システムは、パケットの特徴とその特徴に該当するパケットに対する処理を規定する処理規則(例えば、フローエントリ)とを保持し、処理規則に基づいて他の装置から受信したパケットを処理する転送ノード80(例えば、転送ノード200−1〜200−3)と、転送ノード80が保持する処理規則を制御する制御サーバ90(例えば、制御サーバ100)とを備えている。
制御サーバ90は、転送ノード80の設定により定義される論理ネットワークの識別子である論理ネットワーク識別子、および、転送ノード80に接続される装置と論理ネットワークとの対応関係を記憶するネットワーク情報記憶手段91(例えば、ネットワーク情報記憶部106)と、パケットの送信先である送信先通信装置(例えば、通信ホスト300−2)またはパケットの送信元である送信元通信装置(例えば、通信ホスト300−1)から受信したパケットを他の装置に転送する通信装置(例えば、デフォルトルータ)についてのアドレス解決の要求(例えば、ARP要求)を転送ノード80から受信したときに、送信先通信装置または通信装置についてレイヤ間のアドレス解決を行い、そのアドレス解決により得られたアドレスである解決後アドレス(例えば、ARP応答に含まれるMACアドレス)に、送信元通信装置が属する論理ネットワークの論理ネットワーク識別子を設定するアドレス解決手段92(例えば、アドレス解決処理部104)とを含む。
これらの構成により、レイヤ間のアドレス解決を効率的に行うことができるとともに、複数のネットワークサービスを多重化する場合に、パケットに対する処理内容を示すフローエントリを集約できる。
また、転送ノードは、処理規則を記憶する処理規則記憶手段(例えば、フローテーブル記憶部203)と、処理規則に基づいて送信元通信装置が送信したパケットの経路制御を行うパケット処理手段(例えば、転送処理部202)とを含んでいてもよい。そして、処理規則記憶手段が、処理規則におけるパケットの特徴として論理ネットワーク識別子を記憶し、パケット処理手段が、処理規則に基づいて、論理ネットワーク識別子に該当するパケットの経路制御を行ってもよい。
また、処理規則記憶手段は、パケットに対する処理として、パケットの送信先アドレスを論理ネットワーク識別子からそのパケットの送信先である送信先通信装置のアドレスに変更する処理を規定した処理規則(例えば、図9に例示するフローエントリ)を記憶してもよい。そして、パケット処理手段は、処理規則に基づいて、受信したパケットの送信先アドレスを送信先通信装置のアドレスに変更してもよい。
また、処理規則記憶手段は、パケットに対する処理として、パケットの送信元アドレスを送信元通信装置のアドレスから、その送信元通信装置が属する論理ネットワークの論理ネットワーク識別子に変更する処理を規定した処理規則(例えば、図12に例示するフローエントリ)を記憶してもよい。そして、パケット処理手段は、処理規則に基づいて、受信したパケットの送信元アドレスを論理ネットワーク識別子に変更してもよい。
また、アドレス解決手段92は、アドレス解決の要求を受信したときに、処理規則として、アドレス解決の要求に基づいてその要求への応答として解決後アドレスに送信元通信装置が属する論理ネットワークの論理ネットワーク識別子を設定したレイヤ間アドレス解決応答パケットを作成する処理、および、そのレイヤ間アドレス解決応答パケットを送信元通信装置に送信する処理を規定した規則(例えば、ステップS123’で生成されるフローエントリ)を生成し、その処理規則を転送ノード80に設定させてもよい。
図17は、本発明による制御サーバの最小構成の例を示すブロック図である。図17に例示する制御サーバは、図16に例示する制御サーバ90の内容と同様である。
また、図18は、本発明による転送ノードの最小構成の例を示すブロック図である。本発明による転送ノード70は、パケットの特徴とその特徴に該当するパケットに対する処理を規定する処理規則(例えば、フローエントリ)を保持し、処理規則に基づいて他の装置から受信したパケットを処理する。
転送ノード70は、自身の設定により定義される論理ネットワークの識別子である論理ネットワーク識別子、および、自身に接続される装置と論理ネットワークとの対応関係を記憶するネットワーク情報記憶手段71(例えば、ネットワーク情報記憶部106a)と、パケットの送信先である送信先通信装置(例えば、通信ホスト300−2)またはパケットの送信元である送信元通信装置(例えば、通信ホスト300−1)から受信したパケットを他の装置に転送する通信装置(例えば、デフォルトルータ)についてのアドレス解決の要求(例えば、ARP要求)をその送信元通信装置から受信したときに、送信先通信装置または通信装置についてレイヤ間のアドレス解決を行い、そのアドレス解決により得られたアドレスである解決後アドレスに、送信元通信装置が属する論理ネットワークの論理ネットワーク識別子を設定するアドレス解決手段72(例えば、アドレス解決処理部104a)とを備えている。
これらの構成によっても、レイヤ間のアドレス解決を効率的に行うことができるとともに、複数のネットワークサービスを多重化する場合に、パケットに対する処理内容を示すフローエントリを集約できる。
以上、本発明の実施形態について説明した。ただし、本発明は、これらの実施形態に限定されるものではなく、本発明の技術思想の範囲内において、これらの実施形態を組み合わせて使用したり、一部の構成を変更したりしてもよい。
この出願は、2011年1月5日に出願された日本特許出願2011−000738を基礎とする優先権を主張し、その開示の全てをここに取り込む。
本発明は、パケットの通信経路を集中的に制御する通信制御システムに好適に適用される。
100 制御サーバ
101 制御チャネル処理部
102,102a ネットワーク情報管理部
103 トポロジ情報管理部
104,104a アドレス解決処理部
105 フローエントリ作成部
106,106a ネットワーク情報記憶部
107 トポロジ情報記憶部
200−1〜200−3 転送ノード
201 制御チャネル処理部
202 転送処理部
203 フローテーブル記憶部
300−1〜300−4 通信ホスト
400 制御用ネットワーク

Claims (10)

  1. パケットの特徴と当該特徴に該当するパケットに対する処理を規定する処理規則とを保持し、前記処理規則に基づいて他の装置から受信したパケットを処理する転送ノードと、
    前記転送ノードが保持する前記処理規則を制御する制御サーバとを備え、
    前記制御サーバは、
    前記転送ノードの設定により定義される論理ネットワークの識別子である論理ネットワーク識別子、および、前記転送ノードに接続される装置と前記論理ネットワークとの対応関係を記憶するネットワーク情報記憶手段と、
    パケットの送信先である送信先通信装置またはパケットの送信元である送信元通信装置から受信したパケットを他の装置に転送する通信装置についてのアドレス解決の要求を前記転送ノードから受信したときに、前記送信先通信装置または前記通信装置についてレイヤ間のアドレス解決を行い、当該アドレス解決により得られたアドレスである解決後アドレスに、前記送信元通信装置が属する論理ネットワークの論理ネットワーク識別子を設定するアドレス解決手段とを含む
    ことを特徴とする通信制御システム。
  2. 転送ノードは、
    処理規則を記憶する処理規則記憶手段と、
    前記処理規則に基づいて送信元通信装置が送信したパケットの経路制御を行うパケット処理手段とを含み、
    前記処理規則記憶手段は、処理規則におけるパケットの特徴として論理ネットワーク識別子を記憶し、
    前記パケット処理手段は、前記処理規則に基づいて、前記論理ネットワーク識別子に該当するパケットの経路制御を行う
    請求項1記載の通信制御システム。
  3. 処理規則記憶手段は、パケットに対する処理として、パケットの送信先アドレスを論理ネットワーク識別子から当該パケットの送信先である送信先通信装置のアドレスに変更する処理を規定した処理規則を記憶し、
    前記パケット処理手段は、前記処理規則に基づいて、受信したパケットの送信先アドレスを送信先通信装置のアドレスに変更する
    請求項2記載の通信制御システム。
  4. 処理規則記憶手段は、パケットに対する処理として、パケットの送信元アドレスを送信元通信装置のアドレスから、当該送信元通信装置が属する論理ネットワークの論理ネットワーク識別子に変更する処理を規定した処理規則を記憶し、
    前記パケット処理手段は、前記処理規則に基づいて、受信したパケットの送信元アドレスを前記論理ネットワーク識別子に変更する
    請求項2または請求項3記載の通信制御システム。
  5. アドレス解決手段は、アドレス解決の要求を受信したときに、処理規則として、前記アドレス解決の要求に基づいて当該要求への応答として解決後アドレスに送信元通信装置が属する論理ネットワークの論理ネットワーク識別子を設定したレイヤ間アドレス解決応答パケットを作成する処理、および、当該レイヤ間アドレス解決応答パケットを送信元通信装置に送信する処理を規定した規則を生成し、当該処理規則を転送ノードに設定させる
    請求項1から請求項4のうちのいずれか1項に記載の通信制御システム。
  6. パケットの特徴と当該特徴に該当するパケットに対する処理を規定する処理規則に基づいて他の装置から受信したパケットを処理する転送ノードが保持する当該処理規則を制御する制御サーバであって、
    前記転送ノードの設定により定義される論理ネットワークの識別子である論理ネットワーク識別子、および、前記転送ノードに接続される装置と前記論理ネットワークとの対応関係を記憶するネットワーク情報記憶手段と、
    パケットの送信先である送信先通信装置またはパケットの送信元である送信元通信装置から受信したパケットを他の装置に転送する通信装置についてのアドレス解決の要求を前記転送ノードから受信したときに、前記送信先通信装置または前記通信装置についてレイヤ間のアドレス解決を行い、当該アドレス解決により得られたアドレスである解決後アドレスに、前記送信元通信装置が属する論理ネットワークの論理ネットワーク識別子を設定するアドレス解決手段とを備えた
    ことを特徴とする制御サーバ。
  7. パケットの特徴と当該特徴に該当するパケットに対する処理を規定する処理規則を保持し、前記処理規則に基づいて他の装置から受信したパケットを処理する転送ノードであって、
    自身の設定により定義される論理ネットワークの識別子である論理ネットワーク識別子、および、自身に接続される装置と前記論理ネットワークとの対応関係を記憶するネットワーク情報記憶手段と、
    パケットの送信先である送信先通信装置またはパケットの送信元である送信元通信装置から受信したパケットを他の装置に転送する通信装置についてのアドレス解決の要求を当該送信元通信装置から受信したときに、前記送信先通信装置または前記通信装置についてレイヤ間のアドレス解決を行い、当該アドレス解決により得られたアドレスである解決後アドレスに、前記送信元通信装置が属する論理ネットワークの論理ネットワーク識別子を設定するアドレス解決手段とを備えた
    ことを特徴とする転送ノード。
  8. パケットの特徴と当該特徴に該当するパケットに対する処理を規定する処理規則に基づいて他の装置から受信したパケットを処理する転送ノードの設定により定義される論理ネットワークの識別子である論理ネットワーク識別子、および、前記転送ノードに接続される装置と前記論理ネットワークとの対応関係を記憶するネットワーク情報記憶手段を備えた制御サーバが、パケットの送信先である送信先通信装置またはパケットの送信元である送信元通信装置から受信したパケットを他の装置に転送する通信装置についてのアドレス解決の要求を前記転送ノードから受信したときに、前記送信先通信装置または前記通信装置についてレイヤ間のアドレス解決を行い、
    前記制御サーバが、前記アドレス解決により得られたアドレスである解決後アドレスに、前記送信元通信装置が属する論理ネットワークの論理ネットワーク識別子を設定する
    ことを特徴とする通信制御方法。
  9. パケットの特徴と当該特徴に該当するパケットに対する処理を規定する処理規則に基づいて他の装置から受信したパケットを処理する転送ノードが保持する当該処理規則を制御し、前記転送ノードの設定により定義される論理ネットワークの識別子である論理ネットワーク識別子、および、前記転送ノードに接続される装置と前記論理ネットワークとの対応関係を記憶するネットワーク情報記憶手段を備えたコンピュータに適用される通信制御プログラムであって、
    前記コンピュータに、
    パケットの送信先である送信先通信装置またはパケットの送信元である送信元通信装置から受信したパケットを他の装置に転送する通信装置についてのアドレス解決の要求を前記転送ノードから受信したときに、前記送信先通信装置または前記通信装置についてレイヤ間のアドレス解決を行い、当該アドレス解決により得られたアドレスである解決後アドレスに、前記送信元通信装置が属する論理ネットワークの論理ネットワーク識別子を設定するアドレス解決処理
    を実行させるための通信制御プログラム。
  10. パケットの特徴と当該特徴に該当するパケットに対する処理を規定する処理規則と、自身の設定により定義される論理ネットワークの識別子である論理ネットワーク識別子と、自身に接続される装置と前記論理ネットワークとの対応関係とを保持し、前記処理規則に基づいて他の装置から受信したパケットを処理するコンピュータに適用される通信制御プログラムであって、
    前記コンピュータに、
    パケットの送信先である送信先通信装置またはパケットの送信元である送信元通信装置から受信したパケットを他の装置に転送する通信装置についてのアドレス解決の要求を当該送信元通信装置から受信したときに、前記送信先通信装置または前記通信装置についてレイヤ間のアドレス解決を行い、当該アドレス解決により得られたアドレスである解決後アドレスに、前記送信元通信装置が属する論理ネットワークの論理ネットワーク識別子を設定するアドレス解決処理
    を実行させるための通信制御プログラム。
JP2013519291A 2011-01-05 2011-10-24 通信制御システム、制御サーバ、転送ノード、通信制御方法および通信制御プログラム Expired - Fee Related JP5874726B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013519291A JP5874726B2 (ja) 2011-01-05 2011-10-24 通信制御システム、制御サーバ、転送ノード、通信制御方法および通信制御プログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2011000738 2011-01-05
JP2011000738 2011-01-05
JP2013519291A JP5874726B2 (ja) 2011-01-05 2011-10-24 通信制御システム、制御サーバ、転送ノード、通信制御方法および通信制御プログラム
PCT/JP2011/005928 WO2012093429A1 (en) 2011-01-05 2011-10-24 Communication control system, control server, forwarding node, communication control method, and communication control program

Publications (2)

Publication Number Publication Date
JP2014505379A JP2014505379A (ja) 2014-02-27
JP5874726B2 true JP5874726B2 (ja) 2016-03-02

Family

ID=44625365

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013519291A Expired - Fee Related JP5874726B2 (ja) 2011-01-05 2011-10-24 通信制御システム、制御サーバ、転送ノード、通信制御方法および通信制御プログラム

Country Status (3)

Country Link
US (1) US9379975B2 (ja)
JP (1) JP5874726B2 (ja)
WO (1) WO2012093429A1 (ja)

Families Citing this family (86)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8867552B2 (en) 2010-05-03 2014-10-21 Brocade Communications Systems, Inc. Virtual cluster switching
US9716672B2 (en) 2010-05-28 2017-07-25 Brocade Communications Systems, Inc. Distributed configuration management for virtual cluster switching
US9769016B2 (en) 2010-06-07 2017-09-19 Brocade Communications Systems, Inc. Advanced link tracking for virtual cluster switching
US9270486B2 (en) 2010-06-07 2016-02-23 Brocade Communications Systems, Inc. Name services for virtual cluster switching
US9806906B2 (en) 2010-06-08 2017-10-31 Brocade Communications Systems, Inc. Flooding packets on a per-virtual-network basis
US10103939B2 (en) 2010-07-06 2018-10-16 Nicira, Inc. Network control apparatus and method for populating logical datapath sets
US9525647B2 (en) 2010-07-06 2016-12-20 Nicira, Inc. Network control apparatus and method for creating and modifying logical switching elements
US9680750B2 (en) 2010-07-06 2017-06-13 Nicira, Inc. Use of tunnels to hide network addresses
US8817620B2 (en) 2010-07-06 2014-08-26 Nicira, Inc. Network virtualization apparatus and method
US9807031B2 (en) 2010-07-16 2017-10-31 Brocade Communications Systems, Inc. System and method for network configuration
JP5458038B2 (ja) * 2011-02-21 2014-04-02 日本電信電話株式会社 フロースイッチ、フロー制御システムおよびフロー制御方法
CN103493442B (zh) * 2011-04-18 2017-02-08 日本电气株式会社 终端、控制设备以及通信方法
US9137107B2 (en) 2011-10-25 2015-09-15 Nicira, Inc. Physical controllers for converting universal flows
US9288104B2 (en) 2011-10-25 2016-03-15 Nicira, Inc. Chassis controllers for converting universal flows
US9178833B2 (en) 2011-10-25 2015-11-03 Nicira, Inc. Chassis controller
US9203701B2 (en) 2011-10-25 2015-12-01 Nicira, Inc. Network virtualization apparatus and method with scheduling capabilities
US9450870B2 (en) 2011-11-10 2016-09-20 Brocade Communications Systems, Inc. System and method for flow management in software-defined networks
US8995272B2 (en) * 2012-01-26 2015-03-31 Brocade Communication Systems, Inc. Link aggregation in software-defined networks
US9742693B2 (en) 2012-02-27 2017-08-22 Brocade Communications Systems, Inc. Dynamic service insertion in a fabric switch
US9154416B2 (en) 2012-03-22 2015-10-06 Brocade Communications Systems, Inc. Overlay tunnel in a fabric switch
CN104081734B (zh) 2012-04-18 2018-01-30 Nicira股份有限公司 利用事务使分布式网络控制***中的波动降至最小
US9374301B2 (en) 2012-05-18 2016-06-21 Brocade Communications Systems, Inc. Network feedback in software-defined networks
US10277464B2 (en) 2012-05-22 2019-04-30 Arris Enterprises Llc Client auto-configuration in a multi-switch link aggregation
JP5822275B2 (ja) * 2012-09-07 2015-11-24 日本電信電話株式会社 ネットワーク制御装置およびネットワーク制御方法
EP2901629B1 (en) * 2012-09-27 2018-02-21 Hewlett-Packard Enterprise Development LP Transmit specific traffic along blocked link
US9401872B2 (en) 2012-11-16 2016-07-26 Brocade Communications Systems, Inc. Virtual link aggregations across multiple fabric switches
US9203748B2 (en) * 2012-12-24 2015-12-01 Huawei Technologies Co., Ltd. Software defined network-based data processing method, node, and system
CN103067277B (zh) * 2013-01-06 2016-06-22 华为技术有限公司 建立控制通道的方法、转发设备和控制设备
US9548926B2 (en) 2013-01-11 2017-01-17 Brocade Communications Systems, Inc. Multicast traffic load balancing over virtual link aggregation
WO2014115157A1 (en) * 2013-01-24 2014-07-31 Hewlett-Packard Development Comany, L.P. Address resolution in software-defined networks
US9565099B2 (en) 2013-03-01 2017-02-07 Brocade Communications Systems, Inc. Spanning tree in fabric switches
US9215644B2 (en) 2013-03-15 2015-12-15 Facebook, Inc. Distribution node and client node for next generation data network
WO2014145750A1 (en) 2013-03-15 2014-09-18 Brocade Communications Systems, Inc. Scalable gateways for a fabric switch
US9755963B2 (en) 2013-07-09 2017-09-05 Nicira, Inc. Using headerspace analysis to identify flow entry reachability
US9548965B2 (en) 2013-08-26 2017-01-17 Nicira, Inc. Proxy methods for suppressing broadcast traffic in a network
US9806949B2 (en) 2013-09-06 2017-10-31 Brocade Communications Systems, Inc. Transparent interconnection of Ethernet fabric switches
JP6061829B2 (ja) * 2013-09-27 2017-01-18 Kddi株式会社 リンク品質計測装置ならびにそのフローエントリ集約方法およびプログラム
WO2015047325A1 (en) * 2013-09-27 2015-04-02 Hewlett-Packard Development Company, L.P. Forwarded log lines
US9977685B2 (en) 2013-10-13 2018-05-22 Nicira, Inc. Configuration of logical router
US9912612B2 (en) 2013-10-28 2018-03-06 Brocade Communications Systems LLC Extended ethernet fabric switches
CN104937896B (zh) * 2013-12-13 2018-02-23 华为技术有限公司 地址解析协议消息的处理方法和转发器、控制器
WO2015100593A1 (zh) 2013-12-31 2015-07-09 华为技术有限公司 一种报文传输方法、设备及通信***
JP6260285B2 (ja) * 2014-01-10 2018-01-17 富士通株式会社 制御装置および転送制御方法
US9548873B2 (en) 2014-02-10 2017-01-17 Brocade Communications Systems, Inc. Virtual extensible LAN tunnel keepalives
WO2015121864A1 (en) * 2014-02-16 2015-08-20 B.G. Negev Technologies And Applications Ltd., At Ben-Gurion University A system and method for integrating legacy flow-monitoring systems with sdn networks
WO2015136585A1 (ja) * 2014-03-14 2015-09-17 日本電気株式会社 制御装置、制御方法および制御プログラム
US10581758B2 (en) 2014-03-19 2020-03-03 Avago Technologies International Sales Pte. Limited Distributed hot standby links for vLAG
US10476698B2 (en) 2014-03-20 2019-11-12 Avago Technologies International Sales Pte. Limited Redundent virtual link aggregation group
US9893988B2 (en) 2014-03-27 2018-02-13 Nicira, Inc. Address resolution using multiple designated instances of a logical router
KR102262183B1 (ko) * 2014-04-04 2021-06-07 뉴라컴 인코포레이티드 수신 확인 방법 및 다중 사용자 전송 방법
US10063473B2 (en) 2014-04-30 2018-08-28 Brocade Communications Systems LLC Method and system for facilitating switch virtualization in a network of interconnected switches
US9800471B2 (en) 2014-05-13 2017-10-24 Brocade Communications Systems, Inc. Network extension groups of global VLANs in a fabric switch
CN104092684B (zh) * 2014-07-07 2017-10-03 新华三技术有限公司 一种OpenFlow协议支持VPN的方法及设备
US10616108B2 (en) 2014-07-29 2020-04-07 Avago Technologies International Sales Pte. Limited Scalable MAC address virtualization
WO2016019676A1 (zh) * 2014-08-06 2016-02-11 华为技术有限公司 一种软件定义网络sdn中处理数据包的方法、装置及***
US9807007B2 (en) 2014-08-11 2017-10-31 Brocade Communications Systems, Inc. Progressive MAC address learning
US10511458B2 (en) 2014-09-30 2019-12-17 Nicira, Inc. Virtual distributed bridging
US10250443B2 (en) 2014-09-30 2019-04-02 Nicira, Inc. Using physical location to modify behavior of a distributed virtual network element
WO2016089400A1 (en) * 2014-12-03 2016-06-09 Hewlett Packard Enterprise Development Lp Modifying an address to forward a packet to a service function
US9942097B2 (en) 2015-01-05 2018-04-10 Brocade Communications Systems LLC Power management in a network of interconnected switches
US10003552B2 (en) 2015-01-05 2018-06-19 Brocade Communications Systems, Llc. Distributed bidirectional forwarding detection protocol (D-BFD) for cluster of interconnected switches
US9979645B2 (en) * 2015-01-14 2018-05-22 Futurewei Technologies, Inc. Hardware and software methodologies for creating and managing portable service function chains
KR20160095554A (ko) * 2015-02-03 2016-08-11 한국전자통신연구원 Sdn 기반의 물리 주소 결정장치 및 그 방법
US9807005B2 (en) 2015-03-17 2017-10-31 Brocade Communications Systems, Inc. Multi-fabric manager
US10038592B2 (en) 2015-03-17 2018-07-31 Brocade Communications Systems LLC Identifier assignment to a new switch in a switch group
US9929968B2 (en) * 2015-03-19 2018-03-27 Oracle International Corporation Inter-layer communication of events between TCP layer and higher layers when implemented in different concurrent execution entities
US10044676B2 (en) 2015-04-03 2018-08-07 Nicira, Inc. Using headerspace analysis to identify unneeded distributed firewall rules
US10579406B2 (en) 2015-04-08 2020-03-03 Avago Technologies International Sales Pte. Limited Dynamic orchestration of overlay tunnels
US10361952B2 (en) 2015-06-30 2019-07-23 Nicira, Inc. Intermediate logical interfaces in a virtual distributed router environment
US10439929B2 (en) 2015-07-31 2019-10-08 Avago Technologies International Sales Pte. Limited Graceful recovery of a multicast-enabled switch
US10171303B2 (en) 2015-09-16 2019-01-01 Avago Technologies International Sales Pte. Limited IP-based interconnection of switches with a logical chassis
US10204122B2 (en) 2015-09-30 2019-02-12 Nicira, Inc. Implementing an interface between tuple and message-driven control entities
US9912614B2 (en) 2015-12-07 2018-03-06 Brocade Communications Systems LLC Interconnection of switches based on hierarchical overlay tunneling
JP6371321B2 (ja) * 2016-02-26 2018-08-08 日本電信電話株式会社 通信システム、及びパケット転送方法
JP2019515547A (ja) * 2016-04-27 2019-06-06 エヌイーシー ラボラトリーズ ヨーロッパ ゲーエムベーハー ネットワークを制御する方法
CN107332812B (zh) * 2016-04-29 2020-07-07 新华三技术有限公司 网络访问控制的实现方法及装置
US11019167B2 (en) 2016-04-29 2021-05-25 Nicira, Inc. Management of update queues for network controller
US10164910B2 (en) * 2016-07-13 2018-12-25 Futurewei Technologies, Inc. Method and apparatus for an information-centric MAC layer
US10237090B2 (en) 2016-10-28 2019-03-19 Avago Technologies International Sales Pte. Limited Rule-based network identifier mapping
US10587479B2 (en) 2017-04-02 2020-03-10 Nicira, Inc. GUI for analysis of logical network modifications
WO2018220638A1 (en) * 2017-06-01 2018-12-06 Telefonaktiebolaget Lm Ericsson (Publ) Optimizing service node monitoring in sdn
US10374827B2 (en) 2017-11-14 2019-08-06 Nicira, Inc. Identifier that maps to different networks at different datacenters
US10511459B2 (en) 2017-11-14 2019-12-17 Nicira, Inc. Selection of managed forwarding element for bridge spanning multiple datacenters
DE102018116339B4 (de) * 2018-07-05 2021-11-11 Auma Riester Gmbh & Co. Kg Stellantrieb
US11496437B2 (en) 2020-04-06 2022-11-08 Vmware, Inc. Selective ARP proxy
US11805101B2 (en) 2021-04-06 2023-10-31 Vmware, Inc. Secured suppression of address discovery messages

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1051000B1 (en) * 1999-03-25 2014-05-07 Canon Kabushiki Kaisha Method and device for allocating at least one routing identifier to at least one bridge in a network
JP3679336B2 (ja) 2001-02-22 2005-08-03 日本電信電話株式会社 パケットルーティング方法
US7027582B2 (en) * 2001-07-06 2006-04-11 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for resolving an entity identifier into an internet address using a domain name system (DNS) server and an entity identifier portability database
US20060182124A1 (en) * 2005-02-15 2006-08-17 Sytex, Inc. Cipher Key Exchange Methodology
JP4523615B2 (ja) 2007-03-28 2010-08-11 株式会社日立製作所 フロー検出機能を備えたパケット転送装置およびフロー管理方法
JP5157533B2 (ja) 2008-03-05 2013-03-06 富士通株式会社 ネットワーク管理装置、ネットワーク管理方法およびネットワーク管理プログラム
WO2010103909A1 (ja) * 2009-03-09 2010-09-16 日本電気株式会社 OpenFlow通信システムおよびOpenFlow通信方法

Also Published As

Publication number Publication date
US9379975B2 (en) 2016-06-28
US20130250958A1 (en) 2013-09-26
WO2012093429A1 (en) 2012-07-12
JP2014505379A (ja) 2014-02-27

Similar Documents

Publication Publication Date Title
JP5874726B2 (ja) 通信制御システム、制御サーバ、転送ノード、通信制御方法および通信制御プログラム
US9215175B2 (en) Computer system including controller and plurality of switches and communication method in computer system
US9407503B2 (en) Control apparatus, communication system, communication method, and program
US9794124B2 (en) Information system, control server, virtual network management method, and program
US9225641B2 (en) Communication between hetrogenous networks
US20170111231A1 (en) System and method for communication
EP3017569B1 (en) Virtual network
US9843496B2 (en) Communication system, control apparatus, and network topology management method
US20140019639A1 (en) Computer system and communication method
EP3834365B1 (en) Multicast distribution tree versioning for minimizing multicast group traffic disruption
WO2011087085A1 (ja) 計算機、ネットワーク接続切替え方法およびプログラム
US10154073B2 (en) Packet forwarding apparatus for handling multicast packet
JP5725236B2 (ja) 通信システム、ノード、パケット転送方法およびプログラム
JP6070700B2 (ja) パケット転送システム、制御装置、パケット転送方法及びプログラム
US20150288595A1 (en) Control apparatus, communication system, control information creation method, and program
US20160294673A1 (en) Communication system, communication method, network information combination apparatus, and network information combination program
US10523629B2 (en) Control apparatus, communication system, communication method, and program
EP3262802A1 (en) Automatic discovery and provisioning of multi-chassis etherchannel peers
US20150381775A1 (en) Communication system, communication method, control apparatus, control apparatus control method, and program
US10516604B2 (en) Packet forwarding system, control apparatus, and control method and program for relay device
US20160094357A1 (en) Control apparatus, computer system, communication control method, and program
US20150372900A1 (en) Communication system, control apparatus, communication control method, and program
WO2014142081A1 (ja) 転送ノード、制御装置、通信システム、パケット処理方法及びプログラム
JP2015162834A (ja) パケット転送経路取得システムおよびパケット転送経路取得方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140905

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: 20151222

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160104

R150 Certificate of patent or registration of utility model

Ref document number: 5874726

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees