[go: up one dir, main page]

JP2011166704A - ネットワークシステム、及び経路情報更新方法 - Google Patents

ネットワークシステム、及び経路情報更新方法 Download PDF

Info

Publication number
JP2011166704A
JP2011166704A JP2010030677A JP2010030677A JP2011166704A JP 2011166704 A JP2011166704 A JP 2011166704A JP 2010030677 A JP2010030677 A JP 2010030677A JP 2010030677 A JP2010030677 A JP 2010030677A JP 2011166704 A JP2011166704 A JP 2011166704A
Authority
JP
Japan
Prior art keywords
network
packet
network device
controller
route information
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.)
Granted
Application number
JP2010030677A
Other languages
English (en)
Other versions
JP5413737B2 (ja
Inventor
Tomohisa Yamabe
智久 山部
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 JP2010030677A priority Critical patent/JP5413737B2/ja
Publication of JP2011166704A publication Critical patent/JP2011166704A/ja
Application granted granted Critical
Publication of JP5413737B2 publication Critical patent/JP5413737B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】制御機能を持つコントローラがそれぞれ異なる複数のネットワーク機器の混在環境で、又は、制御不可能なネットワーク機器を挟んで異なるネットワークに所属する複数のネットワーク機器の混在環境で、各ネットワーク機器内部の経路情報テーブルを更新する。
【解決手段】ネットワークシステムは、パケット転送と経路制御の機能が分離されたネットワーク(NW)機器と、経路制御の機能を持つ外部のコントローラと、制御機能を内部に持つ従来型の非対応ネットワーク(NW)機器で構成される。このネットワークシステムにおいて、外部のコントローラは、経路上の非対応ネットワーク(NW)機器の次のネットワーク(NW)機器に対して、それ以降の経路情報のリストを設定する。ネットワーク(NW)機器は、設定された経路情報のリストに基づいて、自分の経路情報を更新し、経路情報のリストをパケットと共に転送する。
【選択図】図5

Description

本発明は、ネットワークシステムに関し、特に外部コントローラがネットワーク機器を制御するネットワークシステムに関する。
従来のネットワーク(NW:Network)機器はブラックボックスであり、外部から負荷分散や片寄せ等の柔軟性に富んだ制御ができない。このため、ネットワークの規模が大きくなると、システムとしての挙動の把握と改善が困難になり、設計や構成変更において、多大な遅延を伴うことが問題となっていた。
こうした問題を解決するための手法として、ネットワーク(NW)機器のパケット(packet)転送と経路制御の機能を分離する手法が考えられている。例えば、ネットワーク(NW)機器がパケット転送を担当し、ネットワーク(NW)機器の外部に置かれたコントローラが経路制御を担当することで、外部からの制御が容易になり、柔軟性に富んだネットワークを構築することが可能になる。
上記手法の具体的な例として、オープンフロー(OpenFlow)について説明する。但し、オープンフローは一例に過ぎない。オープンフローについては、オープンフローコンソーシアム(非特許文献1参照)で検討が進んでいる。
図1に、オープンフロー0.9.0の基本的な構成例を示す。図1では、ネットワーク(NW)機器の例としてスイッチを示す。図2に、パケット転送と経路制御を分離したネットワーク(NW)機器の規格であるオープンフローの場合における従来のパケット処理の流れを示す。図3に、従来のパケット照合処理の流れを示す。
オープンフローは、オープンフロープロトコルをサポートしたネットワーク(NW)機器と、外部に置かれたコントローラで構成される。ネットワーク(NW)機器とコントローラは、セキュアチャンネル(Secure channel:安全な経路)で接続されており、オープンフロープロトコルで通信を行う。オープンフローでは、ネットワーク(NW)機器のパケット転送と経路制御は分離されており、ネットワーク(NW)機器はパケット転送を行い、コントローラはネットワーク(NW)機器の経路制御を行う。
オープンフローをサポートするネットワーク(NW)機器は、内部にフローテーブル(Flow table)と呼ばれる経路情報を持つ。フローテーブルは、フロー(Flow)として定義されたパケットのヘッダ領域情報(Header Field)と、当該パケットが届いたときの処理(Action)との対応関係を管理するテーブルである。ここでは、ヘッダ領域情報(Header Field)と処理(Action)の組をエントリー(entry)と呼称する。ヘッダ領域情報(Header Field)は、その内容により、パケットの判定基準となる所定の規則(Rule)を示す。処理(Action)は、パケットを物理ポートや仮想ポートに転送するフォワード(Forward)処理や、パケットを廃棄するドロップ(Drop)処理等であり、ビットマップ(bitmap)等で表現される。ネットワーク(NW)機器は、受信したパケット内のヘッダ領域情報(Header Field)と、フローテーブル内のヘッダ領域情報(Header Field)を照合し、照合の結果、合致していれば、対応する処理(Action)を実行する。
図1を参照して、ヘッダ領域情報(Header Field)の要素となり得る情報について説明する。
図1では、ヘッダ領域情報(Header Field)の要素となり得る情報として、「Ingress Port」と、「Ether src」と、「Ether dst」と、「Ether type」と、「VLAN ID」と、「VLAN priority」と、「IP src」と、「IP dst」と、「IP proto」と、「TCP/UDP src port」と、「TCP/UDP dst port」を示している。フローテーブルとパケットとの照合の際には、これらの情報のいずれか又は全てが使用される。すなわち、これらの情報のいずれか又は全てを組み合わせて、フローが定義される。
「Ingress Port」は、入力ポートを示す。「Ether src」は、送信元(Source)のMACアドレス(Media Access Control Address)を示す。「Ether dst」は、宛先(Destination)のMACアドレスを示す。「Ether type」は、上位層のプロトコルの種類を示す。「VLAN ID」は、仮想LAN(Virtual Local Area Network)スイッチのポート毎に設定された識別情報を示す。「VLAN priority」は、仮想LANスイッチの該当ポートの優先度を示す。「IP src」は、送信元のIPアドレス(Internet Protocol Address)を示す。「IP dst」は、宛先のIPアドレスを示す。「IP proto」は、IPのプロトコル番号を示す。「TCP/UDP src port」は、TCP(Transmission Control Protocol)やUDP(User Datagram Protocol)における送信元のポート番号を示す。「TCP/UDP dst port」は、TCPやUDPにおける宛先のポート番号を示す。
コントローラは、ネットワーク(NW)機器制御手段(図1のスイッチ制御手段)を備え、セキュアチャンネル(Secure channel)を介して、ネットワーク(NW)機器のフローテーブルを更新して、ネットワーク(NW)機器を制御する。
ネットワーク(NW)機器は、パケット転送手段(図1のパケット処理手段)を備え、パケットが到着すると、内部に持つフローテーブルとパケットの照合を行い、該当するエントリーが存在する場合は、関連付けられたパケット送信や廃棄等の処理(Action)を実行する。
ここで、図2を参照して、従来のパケット処理の流れについて説明する。
ネットワーク(NW)機器は、ネットワークからパケットを受信する(図2の「Packet in from network」)。
ネットワーク(NW)機器は、ネットワーク上に複数存在し、個々のネットワーク(NW)機器は、IEEE 802.1D標準のSTP(Spanning Tree Protocol)に従い、ループフリーな論理トポロジーを維持する。個々のネットワーク(NW)機器は、ルートブリッジとなるネットワーク(NW)機器から木のように枝分かれしている。個々のネットワーク(NW)機器は、それぞれパケットを受信し、パケットに対する処理を行う(図2の「802.1d STP Processing」)。
ネットワーク(NW)機器は、内部に持つフローテーブルのエントリーと、受信したパケットの照合を行う(図2の「Flow lookup」)。
ここで、図3を参照して、従来のパケット照合処理について詳述する。
まず、ネットワーク(NW)機器は、フローテーブルのエントリーのヘッダ領域情報(Header Field)と照合する際の照合対象となるパケットのヘッダ領域情報(Header Field)に、「Ingress Port」と、「Ether src」と、「Ether dst」と、「Ether type」を指定する(図3の「Header Field=<Ingress Port, Ether src, Ether dst, Ether type>」)。
ネットワーク(NW)機器は、パケットのヘッダ領域情報(Header Field)の「Ether type」の値が「0x8100」であるか確認する(図3の「Ether type = 0x8100?」)。
ネットワーク(NW)機器は、「Ether type」の値が「0x8100」である場合、「VLAN ID」を、新たな照合対象として、ヘッダ領域情報(Header Field)に追加する。すなわち、ネットワーク(NW)機器は、「Ether type」についても照合対象とする。このとき、ネットワーク(NW)機器は、カプセル化された「Ether type」の値を、「Ether type」の値として使用する(図3の「Add <VLAN ID> to Header Field, Use encapsulated Ether type as Ether type」)。
ネットワーク(NW)機器は、パケットのヘッダ領域情報(Header Field)の「Ether type」の値が「0x800」であるか確認する(図3の「Ether type = 0x800?」)。
ネットワーク(NW)機器は、「Ether type」の値が「0x800」である場合、「IP src」と、「IP dst」と、「IP proto」を、新たな照合対象として、ヘッダ領域情報(Header Field)に追加する。すなわち、ネットワーク(NW)機器は、「IP src」と、「IP dst」と、「IP proto」についても照合対象とする(図3の「Add <IP src, IP dst, IP proto> to Header Field」)。
ネットワーク(NW)機器は、パケットのヘッダ領域情報(Header Field)の「IP proto」の値が「6」又は「17」であるか確認する(図3の「IP proto = 6 or 17?」)。
ネットワーク(NW)機器は、「IP proto」の値が「6」又は「17」である場合、「TCP/UDP src port」と、「TCP/UDP dst port」を、新たな照合対象として、ヘッダ領域情報(Header Field)に追加する。すなわち、ネットワーク(NW)機器は、「TCP/UDP src port」と、「TCP/UDP dst port」についても照合対象とする(図3の「Add <TCP/UDP src port, TCP/UDP dst port> to Header Field」)。
ネットワーク(NW)機器は、フローテーブルのエントリーのヘッダ領域情報(Header Field)と、パケットのヘッダ領域情報(Header Field)を照合する(図3の「Packet Lookup Over Header Field」)。
ネットワーク(NW)機器は、受信したパケットに対し、フローテーブル内に該当するエントリーが存在する場合は、このエントリーに関連付けられたパケット送信や廃棄等の処理(Action)を実行する(図2の「Apply actions」)。
また、ネットワーク(NW)機器は、受信したパケットに対し、フローテーブル内に該当するエントリーが存在しない場合、このパケットを内部に保留し、セキュアチャンネル(Secure channel)を介して、コントローラに未知のパケットが到着したことを通知する(図2の「Send to secure channel」)。ここでは、該当するエントリーが存在しない場合の未知のパケットを1stパケット(First packet)と呼称する。
コントローラは、1stパケット到着の通知を受けると、宛先までの経路を計算し、ネットワーク(NW)機器のフローテーブルに新しいエントリーを追加し、フローテーブルを更新する。宛先までの経路については、どのネットワーク(NW)機器がどのネットワーク(NW)機器につながっているかを表すトポロジ情報(Network Topology)から計算する。
ネットワーク(NW)機器は、フローテーブルが更新されると、滞留していた1stパケットとそれ以降の同種のパケットを、追加された処理(Action)に従って処理する。
従って、通常のオープンフローでは、パケット転送と経路制御を分離したネットワーク(NW)機器に1stパケットが到着すると、ネットワーク(NW)機器からコントローラへの通知と、コントローラからネットワーク(NW)機器へのフローテーブル更新が発生するため、従来のネットワーク(NW)機器に比べて通信コスト(負担)が発生することになる。
更に、データセンタのような大規模ネットワークを考えると、このコストは顕著である。大規模なネットワークでは、性能や信頼性の面から、複数のコントローラが分担してネットワーク内の全てのネットワーク(NW)機器を管理することになる。経路計算のためのトポロジ情報は、全てのコントローラが共有している。
以下、図4を参照して、従来のネットワークシステムにおける処理の流れを具体的に説明する。ここでは、オープンフローに対応したネットワーク(NW)機器として、ネットワーク(NW)機器A、ネットワーク(NW)機器B、ネットワーク(NW)機器C、ネットワーク(NW)機器Dを示す。また、オープンフローに対応していないネットワーク(NW)機器として、非対応ネットワーク(NW)機器を示す。
(1)1stパケット受信通知
ネットワーク(NW)機器Aは、ノードから1stパケットを受信すると、1stパケットを受信した旨を、ネットワーク(NW)機器Aを制御するコントローラに通知する。
(2)ネットワーク(NW)機器C、ネットワーク(NW)機器D更新指示
ネットワーク(NW)機器Aを制御するコントローラは、ネットワーク(NW)機器Aから通知を受け取ると、トポロジ情報を基に、経路を計算する。ネットワーク(NW)機器Aを制御するコントローラは、計算した経路が、異なるコントローラによって制御されるネットワーク(NW)機器C、及びネットワーク(NW)機器Dをまたぐような場合は、それぞれのコントローラに対して、ネットワーク(NW)機器C、及びネットワーク(NW)機器Dの経路情報を通知し、ネットワーク(NW)機器C、及びネットワーク(NW)機器Dのフローテーブルを更新するように指示する。
(3)ネットワーク(NW)機器C、ネットワーク(NW)機器D更新
ネットワーク(NW)機器Cを制御するコントローラは、ネットワーク(NW)機器Cのフローテーブルに新しいエントリーを追加し、フローテーブルを更新する。同様に、ネットワーク(NW)機器Dを制御するコントローラは、ネットワーク(NW)機器Dのフローテーブルに新しいエントリーを追加し、フローテーブルを更新する。
(4)ネットワーク(NW)機器C、ネットワーク(NW)機器D更新完了
ネットワーク(NW)機器Aを制御するコントローラは、更新指示を通知したコントローラから、ネットワーク(NW)機器C、ネットワーク(NW)機器Dのフローテーブルの更新が完了した旨の通知を受け取る。
(5)ネットワーク(NW)機器A更新、ネットワーク(NW)機器B更新
ネットワーク(NW)機器Aを制御するコントローラは、計算した経路上で、異なるコントローラによって制御される全てのネットワーク(NW)機器のフローテーブルの更新が完了すると、計算した経路を基に、通知元のネットワーク(NW)機器A及び配下の他のネットワーク(NW)機器Bのフローテーブルに新しいエントリーを追加し、フローテーブルを更新する。すなわち、コントローラは、計算した経路上で自分の制御下にないネットワーク(NW)機器を制御する全てのコントローラに更新指示を通知し、応答により同期を取り、計算した経路上のネットワーク(NW)機器のフローテーブルの更新が完了したことを確認した後に、自分の制御下のネットワーク(NW)機器のフローテーブルを更新する。
図4に示すように、あるパケットの経路が異なるコントローラによって制御されるネットワーク(NW)機器群をまたがるような場合、コントローラ間で経路内のネットワーク(NW)機器のフローテーブル更新指示と同期待ち合わせが発生し、それが完了するまでパケットの転送は遅延する。
逆に、フローテーブル更新を待ち合わせないとした場合も、パケットが経路上のネットワーク(NW)機器に届いた時点でフローテーブルが更新されていなければ、そのパケットが1stパケットとして扱われてしまい、新たなコストが発生してしまう。
以上から、既存のネットワークをパケット転送と経路制御を分離したネットワーク(NW)機器で再構成する場合、システム性能が劣化する可能性が大きく、最悪の場合、従来守れていたシステムの性能指標を守れなくなってしまう可能性がある。
なお、関連する技術として、特許文献1(特開2004−320693号公報)にパケット制御システム、パケット制御装置、パケット中継装置およびパケット制御プログラムが開示されている。この関連技術では、パケット中継装置は、ネットワークインタフェースで受信した経路制御パケットをパケット制御装置に転送する。パケット制御装置は、ネットワークインタフェースに対応付けられたアドレス情報を保持する仮想インタフェースと、パケット中継装置から転送された経路制御パケットを受信し、仮想インタフェースに対応付けて経路制御プロセスに転送し、経路制御プロセスが仮想インタフェースに対応付けて送信した経路制御パケットを受信してパケット中継装置に転送する。このように、ルータの中継機能と制御機能を分離する。
また、特許文献2(特開2007−096912号公報)にネットワーク中継器が開示されている。この関連技術では、他のルータと経路情報交換を行い、自ルータの経路情報を更新し、更新された経路情報に基づいて受信したパケットの中継処理を実施するルータにおいて、パケットの中継処理を停止することなく自ルータの経路情報を圧縮、更新する。これにより、ルータのハードウエアの増設、更新をすることなく増加、拡大するインターネットの経路情報に対応することを目的としている。
特開2004−320693号公報 特開2007−096912号公報
The OpenFlow Switch Consortium <http://www.openflowswitch.org/>
本発明では、コントローラ間の通信を伴わずに、ネットワーク(NW)機器間の通信において、経路情報(フローテーブルのエントリー)のリストを付加したパケットを利用して、全てのネットワーク(NW)機器に対して経路情報を設定する手法についても検討している。この手法は、全てのネットワーク(NW)機器がオープンフローに対応しているネットワークにおいては、非常に有効である。
しかし、オープンフローに対応したネットワーク(NW)機器と、オープンフローに対応していない非対応ネットワーク(NW)機器が混在するネットワークにおいては、次の理由から、そのまま適用することが難しいと考えられる。
一つ目の理由は、経路情報のリストを付加したパケットは、標準的なプロトコルに準拠したパケットではないため、従来の非対応ネットワーク(NW)機器では処理できない可能性があることである。
二つ目の理由は、非対応ネットワーク(NW)機器により構成されるネットワークから受けとったパケットは、オープンフローに対応したネットワーク(NW)機器以外から送信された偽の経路情報が付加される可能性があるため、ネットワーク(NW)機器の経路情報の更新に使用することがセキュリティ上の問題になることである。
データセンタのような大規模なネットワークでは、全ての機器を新規に導入するよりも、既設の機器の置き換えなど段階的に導入することが多い。このため、ネットワーク(NW)機器と非対応ネットワーク(NW)機器が混在する構成においても、ネットワーク(NW)機器の経路情報の設定を低コストで実現する手段が必要となる。
本発明のネットワークシステムは、コントローラと、コントローラにより制御できない非対応ネットワーク機器と、非対応ネットワーク機器の前段のネットワーク機器と、非対応ネットワーク機器の後段のネットワーク機器とを含む。コントローラは、前段のネットワーク機器を制御する手段と、前段のネットワーク機器から通知されたパケットについて、宛先までの経路を計算する手段と、計算した経路上に、非対応ネットワーク機器が存在する場合、非対応ネットワーク機器の後段の経路情報を、後段のネットワーク機器に向けて通知する手段とを具備する。後段のネットワーク機器は、非対応ネットワーク機器からパケットを受信すると、後段の経路情報から自分の経路情報を取り出して、取り出した経路情報を基に、自分のフローテーブルに新しいエントリーを追加する手段と、パケットに、後段の残りの経路情報を付加する手段と、自分のフローテーブルに追加したエントリーに従って、後段の残りの経路情報が付加されたパケットを送信する手段とを具備する。
本発明の経路情報更新方法は、コントローラと、コントローラにより制御できない非対応ネットワーク機器と、非対応ネットワーク機器の前段のネットワーク機器と、非対応ネットワーク機器の後段のネットワーク機器とを含むネットワークシステムにおいて実施される。本発明の経路情報更新方法では、コントローラにより、前段のネットワーク機器を制御する。また、コントローラにより、前段のネットワーク機器から通知されたパケットについて、宛先までの経路を計算する。また、コントローラにより、計算した経路上に、非対応ネットワーク機器が存在する場合、非対応ネットワーク機器の後段の経路情報を、後段のネットワーク機器に向けて通知する。また、後段のネットワーク機器により、非対応ネットワーク機器からパケットを受信した場合、後段の経路情報から自分の経路情報を取り出して、取り出した経路情報を基に、自分のフローテーブルに新しいエントリーを追加する。また、後段のネットワーク機器により、パケットに、後段の残りの経路情報を付加する。また、後段のネットワーク機器により、自分のフローテーブルに追加したエントリーに従って、後段の残りの経路情報が付加されたパケットを送信する。
本発明のプログラムは、上記の本発明の経路情報更新方法における各処理のうち該当する処理を、コントローラ又はネットワーク機器として使用される計算機の各々に実行させるためのプログラムである。なお、本発明のプログラムは、記憶装置や記憶媒体に格納することが可能である。
1stパケット到着時の経路設定処理の際に、コントローラ間のフローテーブル更新の同期待ち合わせ回数を削減し、ネットワーク性能を向上する。
オープンフロー0.9.0の基本的な構成例を示す概念図である。 従来のパケット処理の流れを説明するための図である。 従来のパケット照合処理の流れを説明するための図である。 従来のネットワークシステムにおける処理の流れを説明するための図である。 本発明のネットワークシステムにおける処理の流れを説明するための図である。 本発明のネットワークシステムの基本構成を示すブロック図である。 本発明におけるフレームフォーマットを説明するための図である。
以下に、本発明の実施形態について添付図面を参照して説明する。
図5に示す通り、本発明のネットワークシステムは、コントローラと、ネットワーク(NW)機器と、非対応ネットワーク(NW)機器を備える。
コントローラは、ネットワーク(NW)機器を制御する。ここでは、ネットワーク(NW)機器は、オープンフローに対応しており、コントローラにより制御されている。非対応ネットワーク(NW)機器は、オープンフローに対応しておらず、いかなるコントローラからも制御されていない。
<実施例1>
以下、図5を参照して、従来のネットワークシステムにおける処理の流れを具体的に説明する。ここでは、オープンフローに対応したネットワーク(NW)機器として、ネットワーク(NW)機器A、ネットワーク(NW)機器B、ネットワーク(NW)機器C、ネットワーク(NW)機器Dを示す。また、オープンフローに対応していないネットワーク(NW)機器として、非対応ネットワーク(NW)機器を示す。
なお、図4と図5を対比すると、従来技術と本発明との相違点が明確となる。
(1)1stパケット受信通知
ネットワーク(NW)機器Aは、ノードから1stパケットを受信すると、1stパケットを受信した旨を、ネットワーク(NW)機器Aを制御するコントローラに通知する。ネットワーク(NW)機器Aを制御するコントローラは、ネットワーク(NW)機器Aから通知を受け取ると、トポロジ情報に基づいて経路を計算する。このとき、ネットワーク(NW)機器Aを制御するコントローラは、計算した経路上に、異なるコントローラによって制御されるネットワーク(NW)機器が存在し、その経路上のネットワーク(NW)機器との間に非対応ネットワーク(NW)機器が存在する場合は、ネットワーク(NW)機器の経路情報の設定を、非対応ネットワーク(NW)機器の前段と後段とに分けて行う。
(2)ネットワーク(NW)機器C更新指示
後段のネットワーク(NW)機器について説明する。ここでは、ネットワーク(NW)機器Cは、非対応ネットワーク(NW)機器からのパケットを受信し、後段の経路の始点となるネットワーク(NW)機器である。ネットワーク(NW)機器Aを制御するコントローラは、後段の経路の始点となるネットワーク(NW)機器Cを制御するコントローラに対して、後段の経路の始点となるネットワーク(NW)機器Cを示す情報と、後段の全てのネットワーク(NW)機器C、Dの経路情報のリストを送信する。
(3)ネットワーク(NW)機器C更新
ネットワーク(NW)機器Cを制御するコントローラは、ネットワーク(NW)機器Cに対して、経路情報のリストを送信する。ネットワーク(NW)機器Cは、ネットワーク(NW)機器Cを制御するコントローラから受信した経路情報のリストを、1stパケットを処理するためのフローテーブルのエントリーとして追加し、フローテーブルを更新する。すなわち、ネットワーク(NW)機器Cは、1stパケットと、後段の全てのネットワーク(NW)機器C、Dの経路情報のリストとを対応付けたエントリーを、自分のフローテーブルに登録する。
(4)ネットワーク(NW)機器C更新完了
ネットワーク(NW)機器Cのフローテーブルの更新が完了すると、ネットワーク(NW)機器Cを制御するコントローラは、ネットワーク(NW)機器Aを制御するコントローラに対して、更新完了を通知する。
(5)ネットワーク(NW)機器A更新
前段のネットワーク(NW)機器について説明する。ここでは、ネットワーク(NW)機器Aは、最初に1stパケットを受信し、前段の経路の始点となるネットワーク(NW)機器である。ネットワーク(NW)機器Aを制御するコントローラは、計算した経路上で、ネットワーク(NW)機器Cを制御するコントローラから更新完了の通知を受けると、前段のネットワーク(NW)機器Aのフローテーブルに新しいエントリーを追加し、フローテーブルを更新する。また、ネットワーク(NW)機器Aを制御するコントローラは、前段のネットワーク(NW)機器Aに対して、前段のネットワーク(NW)機器Aと非対応ネットワーク(NW)機器との間に存在する前段の残りのネットワーク(NW)機器Bの経路情報のリストを送信する。
<各ネットワーク(NW)機器における処理>
以下、各ネットワーク(NW)機器における処理についても説明する。
前段のネットワーク(NW)機器Aは、前段の残りのネットワーク(NW)機器Bの経路情報のリストを1stパケットに付加し、上記更新によって追加されたフローテーブルのエントリーに従って、経路情報のリストが付加された1stパケットを、次のネットワーク(NW)機器Bに送信する。
本発明では、各ネットワーク(NW)機器は、経路情報のリストを1stパケットに付加する際には、1stパケットを運ぶフレーム(Ether frame)内のデータ領域に、経路情報のリストを埋め込むものとする。このフレームフォーマットの詳細については後述する。
なお、フレームは、OSI参照モデルの第2層(レイヤ2:データリンク層)の通信で使われるPDU(プロトコル・データ・ユニット)の呼び名であり、パケットは、OSI参照モデルの第3層(レイヤ3:ネットワーク層)の通信で使われるPDUの呼び名である。
前段の残りのネットワーク(NW)機器Bは、1stパケットを受信すると、1stパケットに付加された経路情報のリストから、リストの先頭の経路情報(自分の経路情報)を取り出して、取り出した経路情報を、自分のフローテーブルのエントリーに追加する。
ここでは、ネットワーク(NW)機器Bは、前段の終点のネットワーク(NW)機器であるため、1stパケットから経路情報のリストが完全に取り除かれることになる。すなわち、1stパケットは、従来のパケットと同じ形式となる。
その後、前段の残りのネットワーク(NW)機器Bは、追加されたエントリーに従って、1stパケットを、次の非対応ネットワーク(NW)機器に送信する。
非対応ネットワーク(NW)機器は、従来のルーティング等により、1stパケットを、後段の経路の始点となるネットワーク(NW)機器Cに転送する。すなわち、1stパケットは、前段の残りのネットワーク(NW)機器Bから非対応ネットワーク(NW)機器を経由して、後段の経路の始点となるネットワーク(NW)機器Cに到達する。
後段の経路の始点となるネットワーク(NW)機器Cは、1stパケットを受信すると、上記更新によって追加されたフローテーブルのエントリーに従って、1stパケットを処理する。ここでは、後段の経路の始点となるネットワーク(NW)機器Cは、この1stパケットに該当するエントリーに設定されている経路情報のリストから、リストの先頭の経路情報(自分の経路情報)を取り出して、取り出した経路情報を、自分のフローテーブルのエントリーに追加する。なお、後段の経路の始点となるネットワーク(NW)機器Cは、自分の経路情報を取り出した際、経路情報のリストが設定されているエントリー自体を、フローテーブルから削除するようにしても良い。
すなわち、後段の経路の始点となるネットワーク(NW)機器Cは、経路情報のリストを通知された際には、経路情報のリストをエントリーとして登録しておき、実際に1stパケットを受信した際に、経路情報のリストから自分の経路情報を取り出して、取り出した経路情報を、自分のフローテーブルのエントリーに追加する。
後段の経路の始点となるネットワーク(NW)機器Cは、リストの先頭の経路情報(自分の経路情報)を取り除いた残りの経路情報のリストを1stパケットに付加し、追加されたエントリーに従って、この1stパケットを、次のネットワーク(NW)機器Dに送信する。
次のネットワーク(NW)機器Dも、1stパケットを受信すると、1stパケットに付加された経路情報のリストから、リストの先頭の経路情報(自分の経路情報)を取り出して、取り出した経路情報を、自分のフローテーブルのエントリーに追加する。
その後、次のネットワーク(NW)機器Dは、追加されたエントリーに従って、1stパケットを、次のノードに送信する。
<本発明の要旨>
このように、本発明は、図5に示す通り、制御機能をコントローラとして分離した複数のネットワーク(NW)機器と、制御機能を分離していない非対応ネットワーク(NW)機器とを含むネットワークを対象とする。
非対応ネットワーク(NW)機器を含む経路において、非対応ネットワーク(NW)機器の後段の経路の始点となるネットワーク(NW)機器に対して、1stパケットの送信を開始する前に、後段の全ての経路情報を設定する。
非対応ネットワーク(NW)機器の前段のネットワークについては、1stパケットを最初に受信したネットワーク(NW)機器が、前段の残り全てのネットワーク(NW)機器の経路情報を1stパケットに付加して送信する。前段の最終段のネットワーク(NW)機器では、1stパケットから経路情報が完全に取り除かれるため、非対応ネットワーク(NW)機器は、経路情報が付加されていない初期状態の1stパケットを受信する。
非対応ネットワーク(NW)機器の後段のネットワークについては、後段の経路の始点となるネットワーク(NW)機器が、非対応ネットワーク(NW)機器から1stパケットを受信すると、上記設定された後段の全ての経路情報から自分の経路情報を取り出して正式な経路情報として登録した後、後段の残り全ての経路情報を1stパケットに付加して送信する。
<経路上に非対応ネットワーク(NW)機器が複数存在する場合>
なお、図5では、説明の簡略化のため、非対応ネットワーク(NW)機器の後段のネットワークを1つしか図示していないが、実際には、更に別の非対応ネットワーク(NW)機器の後段のネットワークが存在していても、本発明は実施可能である。
例えば、図5に示すネットワーク(NW)機器Dの次(後段)に、更に別の非対応ネットワーク(NW)機器を挟んで、ネットワーク(NW)機器E、Fが存在していたとする。ここで、ネットワーク(NW)機器Dとネットワーク(NW)機器E、Fの関係は、ネットワーク(NW)機器Bとネットワーク(NW)機器C、Dの関係に等しいものとする。
このとき、ネットワーク(NW)機器Aを制御するコントローラは、1stパケットの通知を受けると、後段の経路の始点となるネットワーク(NW)機器Cを制御するコントローラに対する場合と同様に、更に後段の経路の始点となるネットワーク(NW)機器Eを制御するコントローラに対して、更に後段の経路の始点となるネットワーク(NW)機器Eを示す情報と、後段の全てのネットワーク(NW)機器E、Fの経路情報のリストを送信する。
これにより、計算した経路上に非対応ネットワーク(NW)機器が複数存在していても対応することができる。
<本発明のネットワークシステムの基本構成>
図6を参照して、本発明のネットワークシステムの基本構成の詳細について説明する。
ここでは、本発明のネットワークシステムのうち、非対応ネットワーク(NW)機器の前段及び後段のネットワーク(NW)機器と、それらのネットワーク(NW)機器を制御するコントローラについて説明する。
なお、非対応ネットワーク(NW)機器は、スイッチ等の従来のネットワーク(NW)機器と同じ構成である。或いは、非対応ネットワーク(NW)機器は、コントローラの障害や停止、又はコントローラとの通信回線の切断等により、コントローラの制御下から外れたネットワーク(NW)機器でも良い。
図6において、コントローラ10は、図5に示す非対応ネットワーク(NW)機器の前段のネットワーク(NW)機器を制御するコントローラである。ネットワーク(NW)機器20は、図5に示す非対応ネットワーク(NW)機器の前段のネットワーク(NW)機器である。コントローラ30は、図5に示す非対応ネットワーク(NW)機器の後段のネットワーク(NW)機器を制御するコントローラである。ネットワーク(NW)機器40は、図5に示す非対応ネットワーク(NW)機器の後段のネットワーク(NW)機器である。
コントローラ10は、ネットワーク(NW)機器20と物理的に分離されたサーバマシン、又は当該サーバマシン上で動作する仮想マシン(VM:Virtual Machine)である。コントローラ10は、複数のネットワーク(NW)機器を管理することができ、各ネットワーク(NW)機器と、専用線もしくは通常のネットワークを利用したセキュアチャンネル(Secure channel:安全な経路)で接続されており、オープンフロープロトコルで通信を行う。
コントローラ10は、経路計算部11と、ネットワーク(NW)機器制御部12と、コントローラ間制御部13を持つ。
経路計算部11は、パケットの転送経路を計算する。ネットワーク(NW)機器制御部12は、専用線もしくは通常のネットワークを介して、ネットワーク(NW)機器20を制御する。ここでは、ネットワーク(NW)機器制御部12は、ネットワーク(NW)機器20からパケットを受信し、ネットワーク(NW)機器20に経路情報のリストを送信する。コントローラ間制御部13は、コントローラ10の制御下にないネットワーク(NW)機器40を制御するコントローラ30に、ネットワーク(NW)機器40の経路情報のリストを送信する。
ネットワーク(NW)機器20は、パケット処理部21と、フローテーブル22と、フローテーブル管理部23を備える。
パケット処理部21は、パケットを処理する。フローテーブル22は、通常のオープンフローの仕組みにおけるフローテーブルと同じく、パケットを転送するための経路情報を管理する。フローテーブル管理部23は、コントローラ10から通知された経路情報を基に、フローテーブル22の経路情報を参照・追加・更新・削除する。
パケット処理部21は、パケット送信部211と、パケット受信部212と、パケット解析部213と、パケット更新部214を備える。
パケット送信部211は、ネットワーク(NW)機器20の物理ポートやコントローラ10等にパケットを送信する。ネットワーク(NW)機器20の物理ポートは、図5に示すようなノードや他のネットワーク(NW)機器に接続されている。パケット受信部212は、ネットワーク(NW)機器20の物理ポートやコントローラ10等からパケットを受信する。パケット解析部213は、受信したパケットを解析し、パケットの内容と、フローテーブルのエントリーの内容を照合する。パケット更新部214は、パケットに経路情報を埋め込む。
コントローラ30は、ネットワーク(NW)機器40と物理的に分離されたサーバマシン、又は当該サーバマシン上で動作する仮想マシン(VM)である。コントローラ30は、複数のネットワーク(NW)機器を管理することができ、各ネットワーク(NW)機器と、専用線もしくは通常のネットワークを利用したセキュアチャンネル(Secure channel)で接続されており、オープンフロープロトコルで通信を行う。
コントローラ30は、コントローラ10と同じ構成である。すなわち、コントローラ30は、経路計算部31と、ネットワーク(NW)機器制御部32と、コントローラ間制御部31を持つ。
経路計算部31は、パケットの転送経路を計算する。ネットワーク(NW)機器制御部32は、専用線もしくは通常のネットワークを介して、ネットワーク(NW)機器40を制御する。ここでは、ネットワーク(NW)機器制御部32は、ネットワーク(NW)機器40からパケットを受信し、ネットワーク(NW)機器40に経路情報のリストを送信する。コントローラ間制御部31は、コントローラ10から、コントローラ30が制御するネットワーク(NW)機器40の経路情報のリストを受信する。
ネットワーク(NW)機器40は、ネットワーク(NW)機器20と同じ構成である。すなわち、ネットワーク(NW)機器40も、パケット処理部41と、フローテーブル42と、フローテーブル管理部43を備える。
パケット処理部41は、パケットを処理する。フローテーブル42は、通常のオープンフローの仕組みにおけるフローテーブルと同じく、パケットを転送するための経路情報を管理する。フローテーブル管理部43は、コントローラ10から通知された経路情報を基に、フローテーブル42の経路情報を参照・追加・更新・削除する。
パケット処理部41は、パケット送信部411と、パケット受信部412と、パケット解析部413と、パケット更新部414を備える。
パケット送信部411は、ネットワーク(NW)機器40の物理ポートやコントローラ10等にパケットを送信する。ネットワーク(NW)機器40の物理ポートは、図5に示すようなノードや他のネットワーク(NW)機器に接続されている。パケット受信部412は、ネットワーク(NW)機器40の物理ポートやコントローラ10等からパケットを受信する。パケット解析部413は、受信したパケットを解析し、パケットの内容と、フローテーブルのエントリーの内容を照合する。パケット更新部414は、パケットに経路情報を埋め込む。
<本発明におけるフレームフォーマット>
本発明では、フレームフォーマットにおいて経路情報のリストを埋め込む領域を定義した新規のプロトコルを用意する。新規のプロトコルのヘッダ情報は、少なくとも経路情報のリストとヘッダ長を情報に持つ。新規のプロトコルのパケットを運ぶフレームには、上位プロトコル種別を表す領域(field)に新規のプロトコル用に定義した識別情報(ID)を指定する。
図7に示す通り、本発明におけるフレームフォーマットは、IEEE 802.3準拠のフレームフォーマットをベース(基礎)としており、プリアンブルと、SFD(Start Frame Delimiter)と、dst(宛先アドレス)と、src(送信元アドレス)と、TPID(Tag Protocol Identifier)と、TCI(Tag Control Information)と、Len/type(長さ/タイプ)と、Data/LLC(Data/Logical Link Control)と、FCS(Frame Check Sequence)等の領域を含む。
本発明では、経路情報のリストを埋め込むための領域として、Data/LLCを使用する。Data/LLCは、ヘッダ長と、経路情報リストと、1stパケットを含む。パケット更新部214は、コントローラ100から通知された経路情報のリストを、Data/LLC内の経路情報リストの領域に格納する。また、パケット更新部214は、Data/LLC内のデータ領域における個々のデータ長/タイプや、新規のプロトコル用に定義した識別情報(ID)を、Len/typeに設定する。
<基本的な動作の説明>
図6において、コントローラ10は、ネットワーク(NW)機器20を制御し、コントローラ30は、ネットワーク(NW)機器40を制御する。ネットワーク(NW)機器20は、1stパケットを受信し、前段の経路の始点となるネットワーク(NW)機器とする。ネットワーク(NW)機器40は、非対応ネットワーク(NW)機器からパケットを受信し、後段の経路の始点となるネットワーク(NW)機器とする。
図6を参照して、ネットワーク(NW)機器20が1stパケットを受信したときの動作を説明する。
ネットワーク(NW)機器20において、パケット受信部212は、パケットを受信する。
パケット解析部213は、パケットを解析し、パケットを運ぶフレームが本発明におけるフレームフォーマットかどうかを判定する。ここでは、パケット解析部213は、パケットを解析し、パケットを運ぶフレームに、新規のプロトコル用に定義した識別情報(ID)が付加されている場合、又は、パケットを運ぶフレームから経路情報のリストを検出した場合、パケットを運ぶフレームが本発明におけるフレームフォーマットであると判断する。
パケットを運ぶフレームが本発明におけるフレームフォーマットではない場合、パケット解析部213は、パケットの内容と、フローテーブル22のエントリーの内容を照合する。
当該パケットに対し、フローテーブル22内に該当するエントリーが存在しない場合、パケット送信部211は、コントローラ10にその旨を通知する。
コントローラ10において、ネットワーク(NW)機器制御部12は、1stパケット到着の通知を受信する。
経路計算部11は、1stパケットについて、宛先までの経路を計算する。
経路計算部11は、計算した経路上に非対応ネットワーク(NW)機器が含まれる場合、経路上の非対応ネットワーク(NW)機器の前段のネットワーク(NW)機器の経路情報と、後段のネットワーク(NW)機器の経路情報を、それぞれ作成する。
コントローラ間制御部13は、後段のネットワーク(NW)機器を制御するコントローラ30に対して、非対応ネットワーク(NW)機器の後段の経路の始点がネットワーク(NW)機器40であることを示す情報と、後段の全てのネットワーク(NW)機器の経路情報のリストを送信する。
コントローラ30において、コントローラ間制御部33は、コントローラ10から、非対応ネットワーク(NW)機器の後段の経路の始点がネットワーク(NW)機器40であることを示す情報と、後段の全てのネットワーク(NW)機器の経路情報のリストを受信する。
ネットワーク(NW)機器制御部32は、経路情報のリストをネットワーク(NW)機器40に送信する。
ネットワーク(NW)機器40において、フローテーブル管理部43は、フローテーブル42のエントリーに、1stパケットに対する処理(Action)として、経路情報のリストを設定する。
パケット送信部411は、ネットワーク(NW)機器40のフローテーブル42の更新が完了すると、コントローラ30に、フローテーブル42の更新完了を通知する。
コントローラ30において、コントローラ間制御部33は、コントローラ10に、ネットワーク(NW)機器40のフローテーブル42の更新完了を通知する。
コントローラ10は、ネットワーク(NW)機器20から非対応ネットワーク(NW)機器までの経路上の全てのネットワーク(NW)機器の経路情報を通知元のネットワーク(NW)機器20に送信する。
通知元のネットワーク(NW)機器20において、パケット受信部212は、コントローラ10から経路上の全てのネットワーク(NW)機器の経路情報のリストを受信すると、自分の経路情報を取り出してフローテーブル管理部23に通知する。
フローテーブル管理部23は、自分の経路情報を基に、フローテーブル22に新たなエントリーを追加し、フローテーブル22を更新する。
パケット更新部214は、本発明におけるフレームフォーマットを定義した新規のプロトコルに従って、1stパケットを運ぶフレームに、自分以外のネットワーク(NW)機器の経路情報のリストを付加する。
その後、パケット送信部211は、上記更新によりフローテーブル22に追加されたエントリーに従い、1stパケットを送信する。
ネットワーク(NW)機器40において、パケット受信部412は、非対応ネットワーク(NW)機器を経由して配送された1stパケットを受信する。
パケット解析部413は、受信した1stパケットを解析し、1stパケットの内容がコントローラ10からの通知に基づいてフローテーブル42に追加したエントリーに合うことを確認する。すなわち、パケット解析部413は、1stパケットの内容が上記更新によって追加されたエントリーの内容に合致するか確認する。
フローテーブル管理部43は、1stパケットの内容がフローテーブル42に追加したエントリーに合う場合、当該エントリーの処理(Action)に含まれる経路情報のリストから自分の経路情報を取り出してフローテーブル42に設定し、元のエントリーを削除する。すなわち、フローテーブル管理部43は、自分の経路情報をフローテーブル42の新規エントリーとして追加し、経路情報のリストのエントリーを削除する。また、フローテーブル管理部43は、当該経路情報から、次の送信先ネットワーク(NW)機器を決定する。
パケット更新部414は、自分の経路情報を取り除いた経路情報のリストを1stパケットに付加する。
パケット送信部411は、フローテーブル42に設定した自分の経路情報に従って、当該1stパケットを送信する。
このように、本発明では、パケット転送と経路制御の機能が分離されたネットワーク(NW)機器で構成されるネットワークにおいて、非対応ネットワーク(NW)機器が経路上に存在し、複数のコントローラをまたぐ通信が発生する場合に、1stパケット処理の際のコントローラ間のフローテーブル更新同期待ち合わせ回数を削減することにより、ネットワーク性能が向上する。
<実施例2>
他の実施例として、非対応ネットワーク(NW)機器の前後のネットワーク(NW)機器を制御するコントローラが、同一のコントローラである構成が考えられる。
例えば、図5に示す本発明のネットワークシステムにおいて、ネットワーク(NW)機器A、Bと、ネットワーク(NW)機器Cを、同一のコントローラが制御している事例である。
図6と共に示した実施例1の動作の説明において、コントローラ10とコントローラ30が同一のコントローラである場合は、コントローラ間の通信を行わずに、コントローラ10が直接ネットワーク(NW)機器40の経路情報を更新する。
<実施例3>
他の実施例として、非対応ネットワーク(NW)機器の前後のネットワーク(NW)機器が、同一のネットワーク(NW)機器である構成が考えられる。
例えば、図5に示す本発明のネットワークシステムにおいて、ネットワーク(NW)機器A、Bと、ネットワーク(NW)機器Cが、同一のネットワーク(NW)機器である事例である。この場合、これらのネットワーク(NW)機器は、当然に同一のコントローラにより制御されている。
図6と共に示した実施例1の動作の説明において、ネットワーク(NW)機器20とネットワーク(NW)機器40が同一のネットワーク(NW)機器の場合も、非対応ネットワーク(NW)機器の前段と後段に分けて処理を行う。この場合、ネットワーク(NW)機器20がネットワーク(NW)機器40を兼ねている。
コントローラ10は、1stパケット到着の通知を受けると、後段の経路情報のリストをネットワーク(NW)機器20のフローテーブル22に設定する。これにより、ネットワーク(NW)機器20は、後段のネットワーク(NW)機器として機能することが可能になる。
その後、ネットワーク(NW)機器20は、前段のネットワーク(NW)機器として、前段の経路における1stパケットの転送を開始する。
ネットワーク(NW)機器20は、非対応ネットワーク(NW)機器から1stパケットを受信すると、後段の経路情報のリストの先頭の経路情報(自分の経路情報)を取り出して、取り出した経路情報を基に、自分のフローテーブル22に新たなエントリーを追加する。その後、ネットワーク(NW)機器20は、後段の残りの経路情報のリストを1stパケットに付加し、追加したエントリーに従って、この1stパケットを次のネットワーク(NW)機器に送信する。このとき、ネットワーク(NW)機器20は、フローテーブル22から、後段の経路情報のリスト自体が設定されたエントリーを削除しても良い。
<実施例4>
他の実施例として、非対応ネットワーク(NW)機器の後段の経路情報のリストについて、後段の経路の始点となるネットワーク(NW)機器には設定せず、それを制御するコントローラに通知するのみとする構成が考えられる。
例えば、図5に示す本発明のネットワークシステムにおいて、ネットワーク(NW)機器Cには後段の経路情報のリストを設定せず、ネットワーク(NW)機器Cを制御するコントローラにのみ後段の経路情報のリストを通知する事例である。
図6と共に示した実施例1の動作の説明において、コントローラ10からコントローラ30に経路情報のリストを送信した時点で、完了通知をコントローラ30からコントローラ10に送信する。
後段のネットワーク(NW)機器40において、パケット受信部412は、1stパケットを受信する。
パケット解析部413は、受信した1stパケットを解析し、1stパケットの内容と、フローテーブル42のエントリーの内容を照合する。
このとき、フローテーブル42には1stパケットに該当するエントリーが存在しないため、パケット送信部411は、コントローラ30に、1stパケットが到着した旨を通知する。
コントローラ30は、1stパケット到着の通知を受けると、経路を計算せず、コントローラ10から受信した経路情報のリストをネットワーク(NW)機器40に送信する。ネットワーク(NW)機器40は、経路情報のリストから、リストの先頭の経路情報(自分の経路情報)を取り出して、取り出した経路情報を、自分のフローテーブルのエントリーに追加する。その後、ネットワーク(NW)機器40は、残りの経路情報のリストを1stパケットに付加し、追加されたエントリーに従って、経路情報のリストが付加された1stパケットを、次のネットワーク(NW)機器に転送する。
なお、コントローラ30は、コントローラ10から受信した経路情報のリストを基に、ネットワーク(NW)機器40のフローテーブル42に新たなエントリーを追加し、フローテーブル42を更新しても良い。この場合、コントローラ30は、経路情報のリストから、追加したエントリーの経路情報を削除し、残りの経路情報のリストをネットワーク(NW)機器40に通知する。ネットワーク(NW)機器40は、残りの経路情報のリストを1stパケットに付加し、上記更新により追加されたエントリーに従って、経路情報のリストが付加された1stパケットを、次のネットワーク(NW)機器に転送する。
すなわち、本実施例では、後段のネットワーク(NW)機器40の動作は、前段のネットワーク(NW)機器20が1stパケットを受信したときと同じ動作である。
なお、上記の各実施例は、組み合わせて実施することも可能である。
<産業上の利用分野>
本発明は、オープンフロー(Openflow)に代表される制御機能を外部のコントローラに分離したネットワーク機器と、制御機能を内部に持つ従来型のネットワーク機器で構成されるネットワークシステムに適用することができる。
<本発明の特徴>
本発明は、制御機能を持つコントローラがそれぞれ異なる複数のネットワーク機器の混在環境で、又は、制御不可能なネットワーク機器を挟んで異なるネットワークに所属する複数のネットワーク機器の混在環境で、各ネットワーク機器内部の経路情報テーブルを更新するための技術である。
コントローラは、ネットワーク(NW)機器と非対応ネットワーク(NW)機器が混在する経路上において、非対応ネットワーク(NW)機器の次のネットワーク(NW)機器に対して、経路情報のリストを設定する。
非対応ネットワーク(NW)機器の次のネットワーク(NW)機器は、設定された経路情報のリスト内に自分の経路情報が存在すれば、リストから自分の経路情報を取り出し、自分の経路情報を更新する。
非対応ネットワーク(NW)機器の次のネットワーク(NW)機器は、自分の経路情報に基づいて、次のネットワーク(NW)機器に、残りの経路情報のリストを付加したパケットを転送する。
すなわち、本発明は、パケット転送と経路制御の機能が分離されたネットワーク(NW)機器と、経路制御の機能を持つ外部のコントローラと、制御機能を内部に持つ従来型の非対応ネットワーク(NW)機器で構成されるネットワークシステムに関する。このネットワークシステムにおいて、外部のコントローラは、経路上の非対応ネットワーク(NW)機器の次のネットワーク(NW)機器に対して、それ以降の経路情報のリストを設定する。ネットワーク(NW)機器は、設定された経路情報のリストに基づいて、自分の経路情報を更新し、経路情報のリストをパケットと共に転送する。
以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
10、30… コントローラ
11、31… 経路計算部
12、32… ネットワーク(NW)機器制御部
13、33… コントローラ間制御部
20、40… ネットワーク(NW)機器
21、41… パケット処理部
211、411… パケット送信部
212、412… パケット受信部
213、413… パケット解析部
214、414… パケット更新部
22、42… フローテーブル
23、43… フローテーブル管理部

Claims (10)

  1. コントローラと、
    前記コントローラにより制御できない非対応ネットワーク機器と、
    前記非対応ネットワーク機器の前段のネットワーク機器と、
    前記非対応ネットワーク機器の後段のネットワーク機器と
    を含み、
    前記コントローラは、
    前記前段のネットワーク機器を制御する手段と、
    前記前段のネットワーク機器から通知されたパケットについて、宛先までの経路を計算する手段と、
    前記計算した経路上に、前記非対応ネットワーク機器が存在する場合、前記非対応ネットワーク機器の後段の経路情報を、前記後段のネットワーク機器に向けて通知する手段と
    を具備し、
    前記後段のネットワーク機器は、
    前記非対応ネットワーク機器から前記パケットを受信すると、前記後段の経路情報から自分の経路情報を取り出して、前記取り出した経路情報を基に、自分のフローテーブルに新しいエントリーを追加する手段と、
    前記パケットに、前記後段の残りの経路情報を付加する手段と、
    自分のフローテーブルに追加したエントリーに従って、前記後段の残りの経路情報が付加されたパケットを送信する手段と
    を具備する
    ネットワークシステム。
  2. 請求項1に記載のネットワークシステムであって、
    前記コントローラから前記後段の経路情報を受け取り、前記後段のネットワーク機器に前記後段の経路情報を通知する他のコントローラ
    を更に含み、
    前記コントローラは、
    前記他のコントローラに対して、前記後段の経路情報を通知する手段と、
    前記他のコントローラからの応答を受けて、前記前段のネットワーク機器のフローテーブルに新しいエントリーを追加する手段と、
    前記非対応ネットワーク機器の前段の経路情報を、前記前段のネットワーク機器に通知する手段と
    を更に具備する
    ネットワークシステム。
  3. 請求項1に記載のネットワークシステムであって、
    前記コントローラから前記後段の経路情報を受け取り、前記後段のネットワーク機器に前記後段の経路情報を通知する他のコントローラ
    を更に含み、
    前記後段のネットワーク機器は、
    前記非対応ネットワーク機器から前記パケットを受信すると、前記パケットの内容と前記フローテーブルのエントリーの内容とを照合する手段と、
    前記パケットに対し、前記フローテーブル内に該当するエントリーが存在しない場合、前記パケットを未知のパケットと判断し、前記他のコントローラに前記パケットを通知する手段と、
    前記他のコントローラから前記後段の経路情報を受け取る手段と
    を更に具備する
    ネットワークシステム。
  4. 請求項1乃至3のいずれか一項に記載のネットワークシステムであって、
    前記前段のネットワーク機器と前記後段のネットワーク機器とは、同一のネットワーク機器である
    ネットワークシステム。
  5. 請求項1乃至4のいずれか一項に記載のネットワークシステムで、コントローラ及びネットワーク機器のいずれかとして使用される計算機。
  6. コントローラと、
    前記コントローラにより制御できない非対応ネットワーク機器と、
    前記非対応ネットワーク機器の前段のネットワーク機器と、
    前記非対応ネットワーク機器の後段のネットワーク機器と
    を含むネットワークシステムにおいて、
    前記コントローラにより、前記前段のネットワーク機器を制御することと、
    前記コントローラにより、前記前段のネットワーク機器から通知されたパケットについて、宛先までの経路を計算することと、
    前記コントローラにより、前記計算した経路上に、前記非対応ネットワーク機器が存在する場合、前記非対応ネットワーク機器の後段の経路情報を、前記後段のネットワーク機器に向けて通知することと、
    前記後段のネットワーク機器により、前記非対応ネットワーク機器から前記パケットを受信した場合、前記後段の経路情報から自分の経路情報を取り出して、前記取り出した経路情報を基に、自分のフローテーブルに新しいエントリーを追加することと、
    前記後段のネットワーク機器により、前記パケットに、前記後段の残りの経路情報を付加することと、
    前記後段のネットワーク機器により、自分のフローテーブルに追加したエントリーに従って、前記後段の残りの経路情報が付加されたパケットを送信することと
    を含む
    経路情報更新方法。
  7. 請求項6に記載の経路情報更新方法であって、
    前記コントローラにより、他のコントローラに対して、前記後段の経路情報を通知することと、
    前記他のコントローラにより、前記コントローラから前記後段の経路情報を受け取り、前記後段のネットワーク機器に前記後段の経路情報を通知することと、
    前記コントローラにより、前記他のコントローラからの応答を受けて、前記前段のネットワーク機器のフローテーブルに新しいエントリーを追加することと、
    前記コントローラにより、前記非対応ネットワーク機器の前段の経路情報を、前記前段のネットワーク機器に通知することと
    を更に含む
    経路情報更新方法。
  8. 請求項6に記載の経路情報更新方法であって、
    前記コントローラにより、他のコントローラに対して、前記後段の経路情報を通知することと、
    前記他のコントローラにより、前記コントローラから前記後段の経路情報を受け取り、前記後段のネットワーク機器に前記後段の経路情報を通知することと、
    前記後段のネットワーク機器により、前記非対応ネットワーク機器から前記パケットを受信すると、前記パケットの内容と前記フローテーブルのエントリーの内容とを照合することと、
    前記後段のネットワーク機器により、前記パケットに対し、前記フローテーブル内に該当するエントリーが存在しない場合、前記パケットを未知のパケットと判断し、前記他のコントローラに前記パケットを通知することと、
    前記後段のネットワーク機器により、前記他のコントローラから前記後段の経路情報を受け取ることと
    を更に含む
    経路情報更新方法。
  9. 請求項6乃至8のいずれか一項に記載の経路情報更新方法であって、
    前記前段のネットワーク機器と前記後段のネットワーク機器とは、同一のネットワーク機器である
    経路情報更新方法。
  10. 請求項6乃至9のいずれか一項に記載の経路情報更新方法を、コントローラ及びネットワーク機器のそれぞれとして使用される計算機に実行させるためのプログラム。
JP2010030677A 2010-02-15 2010-02-15 ネットワークシステム、及び経路情報更新方法 Expired - Fee Related JP5413737B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010030677A JP5413737B2 (ja) 2010-02-15 2010-02-15 ネットワークシステム、及び経路情報更新方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010030677A JP5413737B2 (ja) 2010-02-15 2010-02-15 ネットワークシステム、及び経路情報更新方法

Publications (2)

Publication Number Publication Date
JP2011166704A true JP2011166704A (ja) 2011-08-25
JP5413737B2 JP5413737B2 (ja) 2014-02-12

Family

ID=44596807

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010030677A Expired - Fee Related JP5413737B2 (ja) 2010-02-15 2010-02-15 ネットワークシステム、及び経路情報更新方法

Country Status (1)

Country Link
JP (1) JP5413737B2 (ja)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013051386A1 (ja) * 2011-10-05 2013-04-11 日本電気株式会社 負荷低減システム、及び負荷低減方法
WO2013141191A1 (ja) * 2012-03-19 2013-09-26 日本電気株式会社 制御装置、通信システム、ノード制御方法及びプログラム
WO2013140796A1 (en) * 2012-03-23 2013-09-26 Nec Corporation Communication system, control device, communication method and program
WO2013141193A1 (ja) 2012-03-19 2013-09-26 日本電気株式会社 通信システム、制御装置、通信装置、情報中継方法及びプログラム
JP2015502101A (ja) * 2011-11-25 2015-01-19 アルカテル−ルーセント 通信ネットワーク内のデータパケットの迅速なデータフローを促進する方法、通信ネットワーク、およびデータ処理ユニット
JP2015082742A (ja) * 2013-10-22 2015-04-27 富士通株式会社 転送装置、制御装置、および、転送方法
JP6000501B1 (ja) * 2016-01-20 2016-09-28 三菱電機株式会社 制御装置、制御プログラムおよび機器制御システム
US9584546B2 (en) 2012-10-01 2017-02-28 International Business Machines Corporation Providing services to virtual overlay network traffic
JP2017147502A (ja) * 2016-02-15 2017-08-24 株式会社リコー 通信システム
WO2021060857A1 (ko) * 2019-09-24 2021-04-01 프라이빗테크놀로지 주식회사 원격 실행 코드 기반 노드의 제어 플로우 관리 시스템 및 그에 관한 방법
US11652801B2 (en) 2019-09-24 2023-05-16 Pribit Technology, Inc. Network access control system and method therefor
US12166759B2 (en) 2019-09-24 2024-12-10 Pribit Technology, Inc. System for remote execution code-based node control flow management, and method therefor
US12267304B2 (en) 2019-09-24 2025-04-01 Pribit Technology, Inc. System for authenticating and controlling network access of terminal, and method therefor
US12348494B2 (en) 2019-09-24 2025-07-01 Pribit Technology, Inc. Network access control system and method therefor
US12381890B2 (en) 2019-09-24 2025-08-05 Pribit Technology, Inc. System and method for secure network access of terminal
US12519754B2 (en) 2019-09-24 2026-01-06 Pribit Technology, Inc. System for controlling network access of node on basis of tunnel and data flow, and method therefor

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001251343A (ja) * 2000-03-06 2001-09-14 Fujitsu Ltd ラベルスイッチネットワークシステム
JP2004304547A (ja) * 2003-03-31 2004-10-28 Nippon Telegr & Teleph Corp <Ntt> パケット転送装置およびパケット転送システム
WO2009042919A2 (en) * 2007-09-26 2009-04-02 Nicira Networks Network operating system for managing and securing networks
WO2010103909A1 (ja) * 2009-03-09 2010-09-16 日本電気株式会社 OpenFlow通信システムおよびOpenFlow通信方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001251343A (ja) * 2000-03-06 2001-09-14 Fujitsu Ltd ラベルスイッチネットワークシステム
JP2004304547A (ja) * 2003-03-31 2004-10-28 Nippon Telegr & Teleph Corp <Ntt> パケット転送装置およびパケット転送システム
WO2009042919A2 (en) * 2007-09-26 2009-04-02 Nicira Networks Network operating system for managing and securing networks
WO2010103909A1 (ja) * 2009-03-09 2010-09-16 日本電気株式会社 OpenFlow通信システムおよびOpenFlow通信方法

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013051386A1 (ja) * 2011-10-05 2013-04-11 日本電気株式会社 負荷低減システム、及び負荷低減方法
US9246815B2 (en) 2011-10-05 2016-01-26 Nec Corporation Load reducing system and load reducing method
KR101579014B1 (ko) 2011-10-05 2016-01-05 닛본 덴끼 가부시끼가이샤 부하 저감 시스템, 및 부하 저감 방법
JPWO2013051386A1 (ja) * 2011-10-05 2015-03-30 日本電気株式会社 負荷低減システム、及び負荷低減方法
KR20140059846A (ko) * 2011-10-05 2014-05-16 닛본 덴끼 가부시끼가이샤 부하 저감 시스템, 및 부하 저감 방법
JP2015502101A (ja) * 2011-11-25 2015-01-19 アルカテル−ルーセント 通信ネットワーク内のデータパケットの迅速なデータフローを促進する方法、通信ネットワーク、およびデータ処理ユニット
US9525616B2 (en) 2011-11-25 2016-12-20 Alcatel Lucent Method of promoting a quick data flow of data packets in a communication network, communication network and data processing unit
WO2013141191A1 (ja) * 2012-03-19 2013-09-26 日本電気株式会社 制御装置、通信システム、ノード制御方法及びプログラム
WO2013141193A1 (ja) 2012-03-19 2013-09-26 日本電気株式会社 通信システム、制御装置、通信装置、情報中継方法及びプログラム
US9596129B2 (en) 2012-03-19 2017-03-14 Nec Corporation Communication system, control apparatus, communication apparatus, information-relaying method, and program
JPWO2013141191A1 (ja) * 2012-03-19 2015-08-03 日本電気株式会社 制御装置、通信システム、ノード制御方法及びプログラム
KR20140143798A (ko) 2012-03-19 2014-12-17 닛본 덴끼 가부시끼가이샤 통신 시스템, 제어 장치, 통신 장치 및 정보 중계 방법
WO2013140796A1 (en) * 2012-03-23 2013-09-26 Nec Corporation Communication system, control device, communication method and program
JP2015511097A (ja) * 2012-03-23 2015-04-13 日本電気株式会社 通信システム、制御装置、通信方法、及びプログラム
US9584546B2 (en) 2012-10-01 2017-02-28 International Business Machines Corporation Providing services to virtual overlay network traffic
JP2015082742A (ja) * 2013-10-22 2015-04-27 富士通株式会社 転送装置、制御装置、および、転送方法
JP6000501B1 (ja) * 2016-01-20 2016-09-28 三菱電機株式会社 制御装置、制御プログラムおよび機器制御システム
WO2017126063A1 (ja) * 2016-01-20 2017-07-27 三菱電機株式会社 制御装置、制御プログラムおよび機器制御システム
JP2017147502A (ja) * 2016-02-15 2017-08-24 株式会社リコー 通信システム
WO2021060857A1 (ko) * 2019-09-24 2021-04-01 프라이빗테크놀로지 주식회사 원격 실행 코드 기반 노드의 제어 플로우 관리 시스템 및 그에 관한 방법
US11652801B2 (en) 2019-09-24 2023-05-16 Pribit Technology, Inc. Network access control system and method therefor
US12166759B2 (en) 2019-09-24 2024-12-10 Pribit Technology, Inc. System for remote execution code-based node control flow management, and method therefor
US12267304B2 (en) 2019-09-24 2025-04-01 Pribit Technology, Inc. System for authenticating and controlling network access of terminal, and method therefor
US12348494B2 (en) 2019-09-24 2025-07-01 Pribit Technology, Inc. Network access control system and method therefor
US12381890B2 (en) 2019-09-24 2025-08-05 Pribit Technology, Inc. System and method for secure network access of terminal
US12519754B2 (en) 2019-09-24 2026-01-06 Pribit Technology, Inc. System for controlling network access of node on basis of tunnel and data flow, and method therefor

Also Published As

Publication number Publication date
JP5413737B2 (ja) 2014-02-12

Similar Documents

Publication Publication Date Title
JP5413737B2 (ja) ネットワークシステム、及び経路情報更新方法
JP5521613B2 (ja) ネットワークシステム、ネットワーク機器、経路情報更新方法、及びプログラム
CN102857416B (zh) 一种实现虚拟网络的方法、控制器和虚拟网络
CN102349268B (zh) OpenFlow通信系统和OpenFlow通信方法
JP5477603B2 (ja) コンピュータシステム、及びコンピュータシステムにおける通信方法
EP2544409B1 (en) Generic monitoring packet handling mechanism for OpenFlow 1.1
EP3017569B1 (en) Virtual network
JP5521614B2 (ja) ネットワークシステム、及びパケット投機転送方法
US20170111231A1 (en) System and method for communication
EP2811702A1 (en) Network system and topology management method
WO2012133060A1 (ja) ネットワークシステム、及びvlanタグ情報取得方法
CN104106244A (zh) 控制装置、通信系统、通信方法和程序
JP2014533001A (ja) 転送装置の制御装置、転送装置の制御方法、通信システムおよびプログラム
EP2928122B1 (en) Switch device, vlan setting management method and program
US9088526B2 (en) Communication system and communication control device
CN104247342A (zh) 网络设备冗余化系统、控制装置、网络设备冗余化方法及程序
CN103733577B (zh) 数据包转发系统、控制装置、数据包转发方法
WO2014129624A1 (ja) 制御装置、通信システム、経路切替方法及びプログラム
JP6750612B2 (ja) 通信システム、制御装置、制御方法及びプログラム
TWI586124B (zh) Communication node, communication system, packet processing method and program
JPWO2014126094A1 (ja) 通信システム、通信方法、制御装置、制御装置の制御方法及びプログラム
CN103891211A (zh) 控制装置、通信系统、虚拟网络的管理方法以及程序
WO2012121114A1 (ja) ネットワークシステム、ネットワーク機器、及び経路制御方法
JP2018182418A (ja) 転送装置および転送方法
JP7439919B2 (ja) トラヒックを分散させるための装置、方法、システム及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131004

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131018

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131031

LAPS Cancellation because of no payment of annual fees