JP2015507377A - 通信システム、コントローラ、通信方法およびプログラム - Google Patents

通信システム、コントローラ、通信方法およびプログラム Download PDF

Info

Publication number
JP2015507377A
JP2015507377A JP2014512996A JP2014512996A JP2015507377A JP 2015507377 A JP2015507377 A JP 2015507377A JP 2014512996 A JP2014512996 A JP 2014512996A JP 2014512996 A JP2014512996 A JP 2014512996A JP 2015507377 A JP2015507377 A JP 2015507377A
Authority
JP
Japan
Prior art keywords
switch
packet
controller
flow entry
communication
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
JP2014512996A
Other languages
English (en)
Other versions
JP6007976B2 (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 JP2014512996A priority Critical patent/JP6007976B2/ja
Publication of JP2015507377A publication Critical patent/JP2015507377A/ja
Application granted granted Critical
Publication of JP6007976B2 publication Critical patent/JP6007976B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS

Landscapes

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

Abstract

【課題】転送経路上のスイッチでパケット損失が起こりうる集中制御型の通信システムにおいて、高優先プロトコルのパケットを伝送できるようにする。【解決手段】通信システムは、パケットに適用する処理内容を記載したフローエントリを参照して受信パケットを処理するスイッチ群と、前記スイッチ群を制御するコントローラと、を含む。前記コントローラは、前記スイッチ群から得られた情報に基づいて、前記スイッチ間に張られたリンクのうち、所定の伝送品質を満たすリンクによって構成されたネットワークトポロジを検出するトポロジ検出部を備え、前記ネットワークトポロジに接続された任意のノード間に所定の伝送品質が要求される所定の通信プロトコルによる通信が発生した際に、前記所定の通信プロトコルによるパケットについて適用されるフローエントリを生成し、前記任意のノード間に設定された経路上のスイッチに設定する。

Description

この出願は、2011年12月27日に出願された日本出願特願2011−286152を基礎とする優先権を主張し、その開示の全てをここに取り込む。
本発明は、通信システム、コントローラ、通信方法およびプログラムに関する。特に、スイッチ群を集中制御するコントローラを有する通信システム、コントローラ、通信方法およびプログラムに関する。
イーサネット(登録商標)などのコンピュータ・ネットワークは、スイッチ(あるいはルータ)が自律動作する分散型であるため、ネットワークで起きている事象を正確かつ迅速に把握することが難しく、障害発生箇所の特定や障害からの復帰に時間がかかる。このことは、問題視されている。また、個々のスイッチが自立動作するに足る能力を備えなければならない。その結果、スイッチの機能が複雑化している。
一方、集中制御型のネットワークは、スイッチなどを管理するコントローラを備え、自律分散型のネットワークに関する上述の問題を低減する。オープンフロー(OpenFlow;非特許文献1参照)は、集中制御型のネットワークを実現する技術の1つである。オープンフローは、通信経路の大局的な最適化による通信効率の向上や、ネットワークの可視化を実現することができる。また、オープンフローは、スイッチに求められる機能を相対的に少なくでき、スイッチを低廉化してネットワーク全体の設備コストを下げることができる。
図15は、オープンフローに基づくネットワーク(以下、通信システムX101と記載する。)の構成を示すブロック図である。通信システムX101は、コントローラX10と、スイッチ群11−1、11−2と、ノード12−1、12−2と、リンク13と、チャネル14とを主な構成要素としている。
コントローラX10は、ネットワークのトポロジの認識、配下のスイッチ11−1、11−2の制御、スイッチ11−1、11−2及びリンク13の障害監視、通信経路の決定などを実施する。
スイッチ11−1、11−2のそれぞれは、隣接するノード12(12−1又は12−2)の1つや別のスイッチから受信したパケットを、適切な宛先に向けて転送する。また、スイッチ11−1、11−2のそれぞれは、コントローラX10からの指示に従って、内部の状態を更新したり、パケットを外部に送信したりする。スイッチ11−1、11−2の詳細については後述する。
ノード12(12−1/12−2)は、端末やサーバなどの通信端点である。リンク13は、スイッチ11−1と11−2との間、スイッチ11−1とノード12との間、11−2とノード12との間のインターフェース間に張られ、当該インターフェース間でパケットを伝送する。
チャネル14のそれぞれは、コントローラX10と、対応するスイッチ11−1及び11−2の1つとの間で、制御メッセージを伝達する。
図16は、スイッチ(以下、スイッチ11−1及び11−2を特に区別しない場合、「スイッチ11」と記す。)の構造を示すブロック図である。スイッチ11は、ポート40−1〜40−N、48−1〜48−Nと、管理ポート41と、コントローラインタフェース42と、フローエントリ記憶部43と、パケット多重部44と、フローエントリ検索部45と、アクション適用部46と、内部スイッチ47とを主な構成要素として備えている。
ポート40−1〜40−N、48−1〜48−N(Nは1以上の整数。以下、ポート4
0−1〜40−N、48−1〜48−Nを特に区別しない場合、「ポート40」と記す。
)のそれぞれは、隣接するノード12(12−1又は12−2)の1つや別のスイッチ11との間で、リンク13を介してパケットを送受信する。
管理ポート41は、コントローラX10との間で、チャネル14を介して制御メッセージを送受信する。
コントローラインタフェース42は、管理ポート41経由でコントローラX10から受け取った制御メッセージに従って、フローエントリ記憶部23に記憶されているフローエントリの加除、変更等を行う。コントローラインタフェース42は、コントローラX10から受け取った制御メッセージがパケットの送信指示(非特許文献1の「Packet−Out」メッセージに相当。)を含んでいた場合、コントローラインタフェース42は内部スイッチ47に、その制御メッセージに含まれるパケットを送出する。さらに、コントローラインタフェース42は、アクション適用部46から受け取ったパケットと受信ポート番号を制御メッセージにカプセル化し、管理ポート41経由でコントローラ110に前記カプセル化した制御メッセージを送出する(非特許文献1の「Packet−In」メッセージに相当。)。なお、前記制御メッセージに含める受信ポート番号は、パケットを受信したポート40の番号である。
フローエントリ記憶部43は、フローエントリを格納するテーブル(以下、「フローテーブル」という。)を用いてフローエントリを記憶する。フローエントリには、スイッチ11がポート40から受信したパケットをどのように処理するかが記述されている。
図17は、フローエントリ記憶部43に保持されるフローテーブルの構造を示すブロック図である。図17のフローテーブル43Xには、M個(Mは1以上の整数)のフローエントリ60−1〜60−M(以下、特に区別しない場合、「フローエントリ60」と記す。)が格納されている。各々のフローエントリ60は、マッチ条件61とアクション62の、2つのフィールドを含む。アクション62は、マッチ条件61を満たすパケットに適用される処理内容である。例えば、「当該パケットを特定のポート40に転送」というアクション62が設定されている場合、マッチ条件61に適合するパケットは、前記特定のポートへ転送される。
パケット多重部44は、ポート40が受信したパケットをパケット単位に多重し、フローエントリ検索部45とアクション適用部46の双方に送出する。
フローエントリ検索部45は、フローテーブルに、受信パケットに適合するマッチ条件を持つフローエントリが存在するか否かを判定する。フローテーブルに、受信パケットに合致するマッチ条件61を持つフローエントリ60が存在していた場合、フローエントリ検索部45はそのフローエントリ60のアクション62をアクション適用部46に送出する。一方、受信パケットに合致するマッチ条件を持つフローエントリ60が存在しなかった場合、フローエントリ検索部45は、デフォルトのアクション62をフローアクション適用部46にする。デフォルトのアクション62としては、「当該パケットをコントローラ110に転送」、「当該パケットを廃棄」などが挙げられる。ここでは、デフォルトのアクション62として、「当該パケットをコントローラ110に転送」が設定されているものとする。
アクション適用部46は、パケット多重部44から受け取ったパケットに対して、フローエントリ検索部45から受け取ったアクション62を適用する。そのアクション62がそのパケットをポート40から送信させることを示していた場合、アクション適用部46はそのパケットを内部スイッチ47に出力する。また、そのアクション62がそのパケットをコントローラX10に転送させることを示していた場合、アクション適用部46はそのパケットと受信ポート番号をコントローラインタフェース42に送る。
内部スイッチ47は、コントローラインタフェース42またはアクション適用部46から受け取ったパケットを、指定されたポート40に向けて転送する。
以上の説明が、非特許文献1に記載のオープンフロースイッチの構成と基本動作である。その他の特許文献としては、特許文献1及び2が挙げられる。特許文献1には、上記したスイッチに保持されるパケット転送ルール(上記フローエントリに相当。)に適当な有効期間を設定し、コントローラの負荷軽減を図るとともに、不要なフローエントリを整理するために、経路制御装置(上記コントローラに相当。)が開示されている。
特許文献2には、ネットワークマネージャによって集中管理されるネットワークにおける管理方法が開示されている。特許文献2の段落0031〜0032には、ネットワーク内のスイッチのそれぞれが上記したオープンフローのスイッチと同様に動作することが記載されている。また、段落0031の末文には、多数のフローヘッダエントリとマッチしているパケットが、最も高いプライオリティのフローエントリに割り当てられること、又は、ロンゲストマッチのようなルールが用いられることが記載されている。
特開2011−101245号公報 特表2010−541426号公報
"OpenFlow − Enabling Innovation in Your Network"、[online]、[平成23(2011)年11月14日検索]、インターネット〈URL: http://www.openflow.org/〉
上記の特許文献及び非特許文献の開示の全ては、ここに取り込まれる。以下の分析は、本発明によって与えられたものである。パケットを損失なく伝送する必要がある通信プロトコルが存在する。そのような通信プロトコルの1つに、FCoE(Fibre Channel over Ethernet)がある。FCoEは、ファイバチャネルのフレームをイーサネットのパケットにカプセル化して伝送する規格である。FCoEは、輻輳によってパケット(FCoEイーサネットパケット)が消失する事態を許容しない。FCoEは、輻輳によるパケット消失を回避するため、IEEE 802.3x規格やIEEE 802.1Qbb規格で定められている、イーサネットのフロー制御機構の利用を前提としている。
以下の説明においては、FCoEのようにネットワークに高品質を要求し、他の通信プロトコルよりも優先して処理する必要のある通信プロトコルを、高優先プロトコルと記載する。
オープンフローネットワーク(図15の通信システムX101)上で、あるノード12−1から別のノード12−2へ高優先プロトコルのパケットを伝送する場合を考える。コントローラX10が、高優先プロトコルについて通信経路を動的に決定したり、ネットワークの使用状況を可視化したりするためには、コントローラX10が高優先プロトコルの通信の発生を把握できなければならない。また、高優先プロトコルの通信の発生を把握するだけではなく、コントローラX10は、高優先プロトコルが要求する通信品質が満たされるような経路を見つける必要がある。
しかしながら、非特許文献1のオープンフローの規格では、スイッチ11がチャネル14経由でコントローラX10に向けてパケットを転送する際に、そのパケットを廃棄してもよい、とされている。また、コントローラX10は、自ら把握したトラヒック状況やネットワーク管理者の指示に応じて、スイッチ11に、パケットの廃棄や迂回等を行わせるフローエントリを設定することもある。
このように、非特許文献1のオープンフローにおいては、高優先プロトコルのパケットが検出前またはその検出後にも失われる可能性がある。従って、オープンフローの規格に変更が加えられない場合、非特許文献1のオープンフローネットワークでは、FCoEのような高優先プロトコルが要求する通信品質を満たすことができない。オープンフローの規格の変更も考えられるが、そうした場合は既存のオープンフロースイッチを使用できなくなるという弊害が生じる。
このような状況は、オープンフローに限られない。同様の状況が、転送経路上のスイッチでパケット損失が起こりうる集中制御型の通信システムにも当てはまる。そのため、多くのことが、当該技術分野で望まれている。
本発明の目的は、転送経路上のスイッチでパケット損失が起こりうる集中制御型の通信システムにおいて、高優先プロトコルのパケットを伝送する方法を提供することにある。
本発明の第1の視点によれば、パケットに適用する処理内容を記載したフローエントリを参照して受信パケットを処理するスイッチ群と、前記スイッチ群のスイッチにフローエントリを設定することにより前記スイッチを制御するコントローラと、を含み、前記コントローラは、前記スイッチ群から得られた情報に基づいて、前記スイッチ群のスイッチ間に張られたリンクのうち、所定の伝送品質を満たすリンクによって構成されたネットワークトポロジを検出するトポロジ検出部を備え、前記ネットワークトポロジに接続された任意のノード間に所定の伝送品質が要求される所定の通信プロトコルによる通信が発生した際に、前記所定の通信プロトコルによるパケットについて適用されるフローエントリを生成し、前記任意のノード間に設定された経路上のスイッチに設定する通信システムが提供される。
本発明の第2の視点によれば、パケットに適用する処理内容を記載したフローエントリを参照して受信パケットを処理するスイッチ群と接続され、前記スイッチ群から得られた情報に基づいて、前記スイッチ群のスイッチ間に張られたリンクのうち、所定の伝送品質を満たすリンクによって構成されたネットワークトポロジを検出するトポロジ検出部を備え、前記ネットワークトポロジに接続された任意のノード間に所定の伝送品質が要求される所定の通信プロトコルによる通信が発生した際に、前記所定の通信プロトコルによるパケットについて適用されるフローエントリを生成し、前記任意のノード間に設定された経路上のスイッチに設定するコントローラが提供される。
本発明の第3の視点によれば、パケットに適用する処理内容を記載したフローエントリを参照して受信パケットを処理するスイッチ群と接続されたコントローラが、前記スイッチ群から得られた情報に基づいて、前記スイッチ群のスイッチ間に張られたリンクのうち、所定の伝送品質を満たすリンクによって構成されたネットワークトポロジを検出するステップと、前記ネットワークトポロジに接続された任意のノード間に所定の伝送品質が要求される所定の通信プロトコルによる通信が発生した際に、前記所定の通信プロトコルによるパケットについて適用されるフローエントリを生成し、前記任意のノード間に設定された経路上のスイッチに設定するステップと、を含む通信方法が提供される。本方法は、集中制御型のネットワークにおいてスイッチ群を制御するコントローラという、特定の機械に結びつけられている。
本発明の第4の視点によれば、パケットに適用する処理内容を記載したフローエントリを参照して受信パケットを処理するスイッチ群と接続されたコントローラを構成するコンピュータに、前記スイッチ群から得られた情報に基づいて、前記スイッチ群のスイッチ間に張られたリンクのうち、所定の伝送品質を満たすリンクによって構成されたネットワークトポロジを検出する処理と、前記ネットワークトポロジに接続された任意のノード間に、所定の伝送品質が要求される所定の通信プロトコルによる通信が発生した際に前記所定の通信プロトコルによるパケットについて適用されるフローエントリを生成し、前記任意のノード間に設定された経路上のスイッチに設定する処理と、を実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
本発明によれば、転送経路上のスイッチでパケット損失が起こりうる集中制御型の通信
システムにおいて、高優先プロトコルが要求する通信品質でパケットを伝送することが可
能となる。
本発明の一実施形態に係る通信システムの構成を示す図である。 本発明の第1の実施形態に係る通信システムの構成を示す図である。 本発明の第1の実施形態に係るコントローラの構成を示すブロック図である。 本発明の第1の実施形態におけるノード位置テーブルの構成を示す図である。 本発明の第1の実施形態におけるリンク情報テーブルの構成を示す図である。 本発明の第1の実施形態の動作(初期化処理)を示すシーケンス図である。 本発明の第1の実施形態の動作(経路設定処理)を示すフローチャートである。 図2のネットワーク構成におけるリンク情報テーブルの例を示す図である。 図2のネットワーク構成におけるノード位置テーブルの具体例を示す図である。 本発明の第1の実施形態のスイッチのフローテーブルの具体例(高優先プロトコル通信発生前)を示す図である。 本発明の第1の実施形態のスイッチのフローテーブルの具体例(高優先プロトコル通信発生前)を示す図である。 本発明の第1の実施形態のスイッチのフローテーブルの具体例(高優先プロトコル通信発生後)を示す図である。 本発明の第1の実施形態のスイッチのフローテーブルの具体例(高優先プロトコル通信発生後)を示す図である。 本発明の第1の実施形態のコントローラの一具体例(情報処理装置)の構成を示す図である。 背景技術として説明する通信システムの構成を示す図である。 背景技術として説明するスイッチの構成を示すブロック図である。 背景技術として説明するスイッチのフローテーブルの構成を示す図である。
はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要
に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したもの
であり、本発明を図示の態様に限定することを意図するものではない。
本発明は、図1に示すとおり、その一実施形態において、それぞれがパケットに適用する処理内容を記載したフローエントリを参照して受信パケットを処理するスイッチ群(図1の符号11−1、11−2及び11−3)と、前記スイッチ(例えば、それぞれのスイッチ)にフローエントリを設定することによりスイッチ群を制御するコントローラ(図1の符号10)と、を含む構成にて実現できる。
前記コントローラは、前記スイッチ群から得られた情報に基づいて、前記スイッチ群のスイッチ間に張られたリンク(図1の符号13及び13a)のうち、所定の伝送品質を満たすリンク(図1の符号13)によって構成されたネットワークトポロジを検出するトポロジ検出部を備える。前記コントローラは、前記ネットワークトポロジに接続された任意のノード間に、所定の伝送品質が要求される所定の通信プロトコルを用いた通信が発生した際に、前記所定の通信プロトコルによるパケットについて適用されるフローエントリを生成し、前記任意のノード間に設定された経路上のスイッチ(それぞれのスイッチ)に設定する。
図1の例では、トポロジ検出部は、ノード12−1と、スイッチ11−1と、スイッチ11−2と、ノード12−2とを含むネットワークトポロジを検出する。即ち、スイッチ11−3は、スイッチ11−1又は11−2と、所定の伝送品質を満たすリンク13によって接続されていない。なお、ある1つのリンクが所定の伝送品質を満たすか否かは、後記するLLDPなどを用いて、ポート情報から把握されるポート種別や、スイッチ間に張られている物理リンクの本数に基づいて判別することができる。
上記構成を採ることにより、スイッチ11−3を介さずに、高優先プロトコルのパケッ
トの処理が行われる。したがって、高優先プロトコルが要求する通信品質でパケットを伝送することが可能となる。
[第1の実施形態]
図15のようなネットワーク構成において、コントローラX10が過負荷状態に陥って通信システムX110が機能不全にならないようにするため、コントローラX10の負荷が高まってきた場合、コントローラX10へのパケット転送を低減させることが効果的である。コントローラX10へのパケット転送を低減させる方法としては、コントローラX10が自律的にあるいはネットワーク管理者の指示に基づいて、スイッチ11に、コントローラX10へ転送する予定のパケットを廃棄させる(必要ならその旨のフローエントリを設定する。)方法が挙げられる。
従って、非特許文献1のオープンフローにおいては、図15のスイッチ11(11−1、11−2)がコントローラX10にチャネル14経由でパケットを転送する際、そのパケットが失われる可能性がある。続いて、このようなスイッチ11(11−1、11−2)とコントローラ間のパケット損失についても考慮した本発明の第1の実施形態について、図面を参照して詳細に説明する。なお、以下の実施形態を説明するための図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
図2は、本実施形態のオープンフローネットワーク(以下、「通信システム101」と記載する。)の構成を示す図である。図2を参照すると、コントローラ10と、コントローラ10と、チャネル14またはリンク13を介して接続されたスイッチ11−1及び11−2と、を含み、ノード12−1とノード12−2との間の通信を実現する通信システム101が示されている。スイッチ11−1及び11−2と、ノード12−1及びノード12−2(以下、ノード12−1及びノード12−2を特に区別しない場合、単に「ノード12」と記す。)は、それぞれリンク13を介して接続されている。なお、図2に示したコントローラ、スイッチおよびノードの数は、本発明の理解のために簡略化したものであり、図示した数に制限されない。また、図2においてリンク13の端点付近に記載した番号「#1」等は、スイッチのポート番号を表している。
コントローラ10は、ネットワークのトポロジの認識、配下のスイッチ11−1及び11−2(以下、特に区別しない場合、単に「スイッチ11」と記す。)の制御、スイッチ11やリンク13の障害監視、通信経路の決定、高優先プロトコルの処理などを実施する。
スイッチ11、ノード12、リンク13及びチャネル14は、背景技術で説明した通信システムX101のものと同様である。ただし、通信システム101と通信システムX101との違いは、当該通信システム101は、コントローラ10とリンク13を介して接続されている少なくとも1つのスイッチ(図2のスイッチ11−2)を含むことである。リンク13は、高優先プロトコルが要求する伝送品質を満たすものとする。例えば、高優先プロトコルがFCoEである場合、イーサネットのフロー制御がリンク13により有効化される。
図3は、コントローラ10の構成を示すブロック図である。図3には、管理ポート20と、スイッチインタフェース21と、トポロジ検出部22と、ノード位置記憶部23と、トポロジ情報記憶部24と、経路設定部25と、ポート26と、高優先プロトコル処理部27と、コントローラアドレス記憶部28と、を備えたコントローラ10の構成が示されている。
管理ポート20は、スイッチ11との間でチャネル14を介して制御メッセージを送受
信する。
スイッチインタフェース21は、チャネル14の追加・削除・死活監視などの管理を行う。また、スイッチインタフェース21は、管理ポート20を介してスイッチ11からパケットを含む制御メッセージを受け取った際、その制御メッセージをトポロジ検出部22に転送する。さらに、スイッチインタフェース21は、トポロジ検出部22または経路設定部25から受け取った制御メッセージを、管理ポート20経由でスイッチ11に送出する。
トポロジ検出部22は、スイッチインタフェース21から受け取った制御メッセージに含まれるパケットを解釈し、ノード位置記憶部23とトポロジ情報記憶部24とを更新する。また、トポロジ検出部22は、ネットワークのトポロジを検出するために、近隣探索パケット(後述する)の送信指示を含む制御メッセージを生成し、それをスイッチインタフェース21に出力する。
ノード位置記憶部23は、ノード12またはコントローラ10の位置情報として、当該ノード12またはコントローラ10が接続されているスイッチ11と当該スイッチ11のポート情報とを格納する。図4は、ノード位置記憶部23に保持されるノード位置テーブル23Aの例を示す図である。図4を参照すると、各ノード12(またはコントローラ10)に対応するエントリ70を複数格納可能なノード位置テーブルが示されている。各々のエントリ70は、ノードアドレス71(またはコントローラのアドレス)と、スイッチ識別子72と、ポート番号73の、3つのフィールドを含む。ノードアドレス71は、ノード12(またはコントローラ10)のネットワークアドレスである。スイッチ識別子72は、そのノード12(またはコントローラ10)に隣接するスイッチ11の識別子である。ポート番号73は、そのノード12(またはコントローラ10)に接続している、スイッチ11のポートの番号である。
トポロジ情報記憶部24は、リンク13を介したスイッチ11同士の接続関係を格納する。図5は、トポロジ情報記憶部24に保持されるリンク情報テーブル24Aの例を示す図である。図5を参照すると、スイッチ間を結ぶ片方向のリンク13に対応するエントリ80を複数格納可能なリンク情報テーブルが示されている。各々のエントリ80は、スイッチ識別子81、対向スイッチ識別子82及び対向ポート番号83のフィールドを含む。スイッチ識別子81は、リンク13の送信端のスイッチ11の識別子である。対向スイッチ識別子82と対向ポート番号83はそれぞれ、リンク13の受信端のスイッチ11の識別子と、リンク13の受信端のスイッチ11のポートの番号である。
経路設定部25は、高優先プロトコル処理部27から送信元のネットワークアドレスと送信先のネットワークアドレスが与えられると、ノード位置記憶部23とトポロジ情報記憶部24を参照して、送信元から送信先までの通信経路を計算する。また、経路設定部2
5は、通信システム101のネットワークのトポロジ検出後に、ノード位置記憶部23とトポロジ情報記憶部24とコントローラアドレス記憶部28を参照して、すべてのノード12からコントローラ10までの通信経路をそれぞれ計算する。経路設定部25は、これら計算した経路に沿って高優先プロトコルのパケットを転送させるためのフローエントリ60を、経路上のスイッチ11ごとに生成する。さらに、経路設定部25は、スイッチインタフェース21を介して、経路上の各スイッチ11に、フローエントリを設定する制御メッセージを出力する。前記制御メッセージによってこれらフローエントリは、経路上の各スイッチ11のフローエントリ記憶部43内のフローテーブルに追加される。
ポート26は、隣接するスイッチ11との間で、パケットを送受信する。
高優先プロトコル処理部27は、ポート26を介してパケットを送受信しながら、高優先プロトコルで規定される管理処理を実施する。例えば、高優先プロトコルがFCoEである場合、高優先プロトコル処理部27は、ノード12のログイン処理や名前解決、ノード12への状態変更通知などを行う。高優先プロトコル処理部27は、ノード12に対してパケットを送出する際、コントローラ10から対象のノード12までの通信経路の設定を経路設定部25に要求する。その際、送信元となるコントローラ10のネットワークアドレスは、コントローラアドレス記憶部28から読み出される。また、高優先プロトコル処理部27は、ノード12同士の直接通信を開始する際、ノード12間の通信経路の設定を経路設定部25に要求する。
コントローラアドレス記憶部28は、コントローラ10のネットワークアドレスを記憶する。
続いて、本実施形態の動作について図面を参照して詳細に説明する。はじめに、初期化
処理について説明する。図6は、本実施形態において通信システム101が起動される際に行われる初期化処理の流れを表したシーケンス図である。初期化の第1の目的は、通信システム101のネットワークのトポロジを検出することである。初期化の第2の目的は、ノード12から送信された高優先プロトコルのパケットがコントローラ10の高優先プロトコル処理部27に到達するように、各スイッチ11のフローテーブルに必要なフローエントリを設定することである。
初期状態においては、コントローラ10のノード位置記憶部23とトポロジ情報記憶部24は空であるとする。また、各スイッチ11のフローテーブルも空であるものとする。
コントローラ10のトポロジ検出部22は、近隣探索パケットのブロードキャストを要求する制御メッセージを作成し、当該制御メッセージを各スイッチ11に向けて送出する(図6のステップS100)。この際、トポロジ検出部22は、各送信元のスイッチ11の識別子を含めた近隣探索パケットのブロードキャストを示す制御メッセージを生成する。このような近隣探索パケットの一例としては、近隣探索プロトコルの1種であるLLDP(Link Layer Discovery Protocol)のLLDPパケットを利用できる。
各スイッチ11は、ステップS100で生成された制御メッセージをコントローラ10から受け取ると、その制御メッセージに含まれる近隣探索パケットをすべてのポート40から送信する(ステップS101−1、S101−2)。
各スイッチ11は、隣接する他のスイッチ11から近隣探索パケットを受信すると、そのパケットに合致するマッチ条件を持つフローエントリがフローテーブルに存在するか否かを判定する。この時点ではフローテーブルは空であるので、近隣探索パケットにマッチするフローエントリは存在しない。従って、背景技術で述べたように、この近隣探索パケットにはデフォルトのアクションが適用され、その近隣探索パケットと受信ポート番号が制御メッセージにカプセル化されてコントローラ10に転送される(ステップS102−1及びS102−2)。受信ポート番号は、近隣探索パケットを受信したポートの番号である。例えば、スイッチ11−1から近隣探索パケットを受信したスイッチ11−2は、その近隣探索パケットとその近隣探索パケットを受信したポート番号(#2;図2参照)をコントローラ10に送信する。
トポロジ検出部22は、近隣探索パケットと受信ポート番号50を含む制御メッセージをスイッチインタフェース21経由でスイッチ11から受け取ると、その制御メッセージを解釈してトポロジ情報記憶部24のリンク情報テーブルに新しいエントリ80を追加する(ステップS103)。追加されるエントリ80のスイッチ識別子81は、制御メッセージ内の近隣探索パケットに含まれる、送信元のスイッチ11の識別子である。追加されるエントリ80の対向スイッチ識別子82は、制御メッセージを発行したスイッチ11の識別子である。追加されるエントリ80の対向ポート番号83は、制御メッセージに含まれる受信ポート番号である。
図8は、図2に示した通信システム101において、ステップS103が完了した時点のリンク情報テーブルの例である。図2を参照すると、通信システム101には2つのスイッチ11−1とスイッチ11−2とが存在し、当該スイッチ11−1とスイッチ11−2との間は1本のリンク13で接続されている。図8のエントリ80−1はスイッチ11−1からスイッチ11−2への片方向のリンク13を意味し、エントリ80−2はスイッチ11−2からスイッチ11−1への片方向のリンク13を意味する。
その後、所定のタイミングで、各ノード12と、コントローラ10の高優先プロトコル
処理部27は、送信元ネットワークアドレスを含むパケットをリンク13へ送信する(ス
テップS104−1〜S104−3)。このパケットは、主要な通信を開始する前に送信されることが望ましい。そのようなパケットの一例としては、IP(Internet Protocol)アドレスに対応するリンクレイヤアドレス(MACアドレス)を知るためのARP(Address Resolution Protocol)パケットや、LLDPパケットである。各ノード12が送信するパケットに含まれる送信元ネットワークアドレスは、そのノード12のネットワークアドレスである。また、高優先プロトコル処理部27が送信するパケットに含まれる送信元ネットワークアドレスは、コントローラアドレス記憶部28に記憶されているコントローラ10のネットワークアドレスである。
各スイッチ11は、隣接するノード12またはコントローラ10からリンク13経由でパケットを受信すると、そのパケットに合致するマッチ条件を持つフローエントリがフローテーブルに存在するか否かを判定する。この時点ではフローテーブルは空であるので、そのパケットに合致するマッチ条件を持つフローエントリは存在しない。従って、ここでもデフォルトのアクションが適用される。そのパケットと受信ポート番号50は制御メッセージにカプセル化されて、コントローラ10に転送される(ステップS105)。
トポロジ検出部22は、ステップS105において、スイッチインタフェース21経由
で各スイッチ11からコントローラ10側に転送された制御メッセージを受け取ると、その制御メッセージを解釈して、ノード位置記憶部23に新しいエントリ70を追加する(ステップS106)。追加されるエントリ70のノードアドレス71は、制御メッセージ内のパケットに含まれる送信元ネットワークアドレスである。追加されるエントリ70のスイッチ識別子72は、制御メッセージを発行したスイッチ11の識別子である。追加されるエントリ70のポート番号73は、制御メッセージに含まれる受信ポート番号である。
図9は、図2に示した通信システム101における、ステップS106が完了した時点のノード位置テーブルの例である。図9の一番上のエントリはコントローラ10の高優先プロトコル処理部27に対応し、図9の2番目のエントリと3番目のエントリは、ノード12−1とノード12−2のそれぞれに対応する。ノード12−1を例にとると、図2の通信システム101において、ノード12−1は、スイッチ11−1のポート#1に接続されている。従って、ノード12−1に対応するエントリ70のスイッチ識別子72は、ノード11−1の識別子となり、ポート番号73は、スイッチ11−1のポート#1になる。これにより、コントローラ10は、ノード12−1の位置を把握することができる。同様に、コントローラ10は、ノード12−2がスイッチ11−2のポート#3に接続されていると把握することができる。
次に、コントローラ10の経路設定部25は、ノード位置記憶部23とコントローラアドレス記憶部28を参照して、リンク13を介してコントローラ10に隣接しているスイッチ11を特定する(ステップS107)。特に、経路設定部25は、ノード位置記憶部23(図9参照)を検索して、コントローラのネットワークアドレスと等しいノードアドレス71が設定されているエントリ70のスイッチ識別子72を得る。図9の一番上のエントリに、コントローラ10のネットワークアドレスが設定されている。そして、この一番上のエントリ70のスイッチ識別子72は、スイッチ11−2の識別子になっている。そのため、コントローラ10は、スイッチ11−2がコントローラ10に隣接していることが分かる。
経路設定部25は、トポロジ情報記憶部24を参照し、各スイッチ11から、リンク13を介してコントローラ10に隣接しているスイッチ11までの通信経路を計算する(ステップS108)。計算された通信経路には、チャネル14を含まない。
図2に示した通信システム101において、トポロジ情報記憶部24の内容は、図8に示すようになる。また、ステップS107の結果は、コントローラ10に隣接しているスイッチ11はスイッチ11−2であることを示す。そして、図9を参照すると、スイッチ11−1からスイッチ11−2への経路が1つだけ存在することが分かる(図8の一番上のエントリ)。なお、経路の候補が複数存在する場合は、ダイクストラ法などの公知の最短経路探索アルゴリズムを用いて最適な経路を選択してもよい。
経路設定部25は、ステップS108で計算した経路に沿って、各スイッチ11からコントローラ10に向けて高優先プロトコルのパケットを転送させるためのフローエントリを、経路上のスイッチ11ごとに生成する(ステップS109)。
経路設定部25は、スイッチインタフェース21を介して経路上の各スイッチ11のフローテーブルに、ステップS109で生成したフローエントリを追加するための制御メッセージを出力する(ステップS110)。
図10及び図11は、図2に示される通信システム101における、ステップS110実行後のスイッチ11−1およびスイッチ11−2のフローテーブル43A/43Bに設定されるフローエントリの具体例である。図10のスイッチ11−1のフローテーブル43Aのフローエントリ60−1は、スイッチ11−1に流入した高優先プロトコルのパケットを、ポート40−2(#2)経由でスイッチ11−2に向けて転送するルールを示している。また、図11のスイッチ11−2のフローテーブル43Bのフローエントリ60−1は、スイッチ11−2に流入した高優先プロトコルのパケットを、ポート40−1(#1)経由でコントローラ10の高優先プロトコル処理部27に向けて転送するルールを示している。
以上により、高優先プロトコルのパケットがスイッチ11−1またはスイッチ11−2で受信されると、それぞれフローエントリ60−1または60−2を適用してパケット転送が行われる。この結果、コントローラ10は、高優先プロトコルのパケットの流入を確実に検出することができるようになる。
続いて、初期化処理後に行われる経路設定処理について説明する。コントローラ10の高優先プロトコル処理部27は、高優先プロトコルで規定される管理処理を実行中に、ノード12にパケットを送出することがある。例えば、高優先プロトコル処理部27が、ノード12から受け取ったパケットに対し、応答パケットをノード12に返送するケースである。また、高優先プロトコル処理部27は、ノード12−1とノード12−2の間の通信を許可する場合がある。
前述の初期化処理が完了した時点では、高優先プロトコルのパケットをノード12からコントローラ10に転送するためのフローエントリ60のみが各スイッチ11のフローテーブル43に設定されている。そこで、高優先プロトコル処理部27は、必要に応じて、高優先プロトコルのパケットをコントローラ10からノード12に転送するためのフローエントリ60を、各スイッチ11に登録するように経路設定部25に要求する。高優先プロトコル処理部27も、必要に応じて、高優先プロトコルのパケットをノード12−1(または12−2)から別のノード12−2(または12−1)に転送するためのフローエントリ60を、各スイッチ11に登録するように経路設定部25に要求する。
図7は、経路設定部25が、高優先プロトコル処理部27からの要求に従って、送信元から送信先への通信経路を計算し、フローエントリをスイッチ11に設定するまで処理の流れを表したフローチャートである。
図7を参照すると、まず、コントローラ10の経路設定部25は、ノード位置記憶部23を参照し、送信元に隣接するスイッチ11のスイッチ識別子72とポート番号73を求める(ステップS200)。特に、経路設定部25は、ノード位置記憶部23のノード位置テーブル23A(図4参照)から、送信元のネットワークアドレスに一致するノードアドレス71を持つエントリを検索し、スイッチ識別子72とポート番号73を得る。
図2に示した通信システム101において、前述の初期化処理の結果、ノード位置記憶部23のノード位置テーブル23Aは、図9に示すようになる。例えば、送信元が図2のノード12−1であるとき、ノード位置テーブル23Aの上から2番目のエントリが、送信元の位置を表すエントリとなる。この場合、図9のエントリから、それぞれスイッチ11−1の識別子と“1”が得られる。これらは、図2において、ノード12−1が、スイッチ11−1のポート#1に接続していることに対応している。
続いて、経路設定部25は、ノード位置記憶部23を参照し、送信先に隣接するスイッチ11のスイッチ識別子72とポート番号73とを求める(ステップS201)。特に、経路設定部25は、ノード位置記憶部23のノード位置テーブル23A(図4参照)から、送信先のネットワークアドレスに一致するノードアドレス71を持つエントリを検索し、スイッチ識別子72とポート番号73を得る。
例えば、送信先が図2のノード12−2であるとき、ノード位置テーブル23Aの上から3番目のエントリが、送信先の位置を表すエントリとなる。この場合、図9のエントリ
から、それぞれスイッチ11−2の識別子と“3”が得られる。これらは、図2において、ノード12−2が、スイッチ11−2のポート#3に接続していることに対応している。
次に、経路設定部25は、トポロジ情報記憶部24を参照し、送信元に隣接するスイッチ11から送信先に隣接するスイッチ11までの通信経路を計算する(ステップS202)。この通信経路は、チャネル14を含まない。
図2に示す通信システム101において、前述の初期化処理の結果、トポロジ情報記憶部24のリンク情報テーブル24Aは、図8に示すようになる。例えば、送信元と送信先が、それぞれ図2の通信システム101のノード12−1とノード12−2であるとする。ステップS200およびステップS201の結果により、送信元に隣接するスイッチと送信先に隣接するスイッチは、それぞれスイッチ11−1とスイッチ11−2と特定されている。図8のリンク情報テーブル24Aを参照すると、スイッチ11−1からスイッチ11−2への経路が1つだけ存在することが分かる(一番上のエントリ80)。なお、経路の候補が複数存在する場合は、ダイクストラ法などの公知の最短経路探索アルゴリズムを用いて最適な経路を選択してもよい。
次に、経路設定部25は、ステップS202で計算した経路に沿って高優先プロトコルのパケットを転送させるためのフローエントリを、経路上のスイッチ11ごとに生成する(ステップS203)。
最後に、経路設定部25は、ステップS203で生成したフローエントリを経路上の各スイッチ11のフローテーブル43Aに追加する制御メッセージを、スイッチインタフェース21に出力する(ステップS204)。
図12は、図2のノード12−1とノード12−2間のパケット通信を許可する場合の、スイッチ11−1に設定されるフローテーブル43Aの例である。図13は、図2のノー
ド12−1とノード12−2間のパケット通信を許可する場合の、スイッチ11−2に設定されるフローテーブル43Bの例である。
ステップS204で追加されたフローエントリは、図12の一番上のフローエントリ60−2と、図13の一番上のフローエントリ60−2である。図12の一番上のフローエ
ントリ60−2は、ノード12−1からスイッチ11−1に流入した高優先プロトコルのパケットを、ポート40−2(#2)経由でスイッチ11−2に向けて転送するルールを示している。また、図13の一番上のフローエントリ60−2は、スイッチ11−1からスイッチ11−2に流入した高優先プロトコルのパケットを、ポート40−3(#3)経由でノード12−2に向けて転送するルールを示している。
ステップS204で追加されるフローエントリ(高優先プロトコルの通信用フローエントリ)は、図6の初期化処理のステップS110で追加されるフローエントリ(高
優先プロトコルのパケット検出用フローエントリ)の優先度よりも高く設定されていることが望ましい。このことは、上述の図12、図13の例を用いて説明される。受信パケットが高優先プロトコルのパケットである場合、フローテーブル43Aの検索の結果、フローエントリ60−1とフローエントリ60−2の両方がヒットすることになる。この場合、フローエントリ60−2が最終的に選択されることが望ましい。ある優先制御は、例えば、図12、図13に示したように、フローテーブル43A及び43Bそれぞれの上方にあるエントリの方が他のエントリよりも優先順位の高いものとして取り扱う。あるいは、各フローエントリの任意のフィールドに優先度情報を持たせ、これらを比較するようにしてもよい。
以上説明したように、本実施形態によれば、高優先プロトコルの新規パケットはチャネル14ではなくリンク13を経由してスイッチ11からコントローラ10へと転送される。背景技術で述べたように、スイッチ11は、高負荷時に、本来チャネル14経由でコントローラ10に転送すべきパケットを、廃棄するかもしれない。しかしながら、本実施形態では、高優先プロトコルのパケットはリンク13を介してコントローラ10に転送されるため、そのようなパケットロスは発生し得ない。従って、本実施形態の通信システム101は、高優先プロトコルが要求する高い通信品質を満足させることができる。
また、本実施形態の実施に当たっては、非特許文献1のオープンフロープロトコルに何ら変更を加える必要がない。その理由は、高優先プロトコルのパケットがリンク13を介してコントローラ10とスイッチ11間またはスイッチ11間で確実に伝送されるように、コントローラ10がオープンフロープロトコルに従って各スイッチ11のフローテーブル43を設定するからである。
以上、本発明の各実施形態を説明した。しかしながら、本発明は、上記した実施形態に限定されるものではない。本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、上記した実施形態の説明では、少なくとも1つのスイッチ11(スイッチ11−2)とコントローラ10がリンク13とチャネル14を介して接続されるものとして説明した。リンク13とそのチャネル14は、必ずしも別線である必要はない。つまり、物理的に1本の信号線にリンク13とチャネル14を多重してもよい。この際、波長多重や時分割多重、フレーム多重といった公知の方法を利用することもできる。
また、本実施形態に係るコントローラ10は、PC(Personal Computer)等の情報処理装置を用いて実現可能である。図14は、PC等の情報処理装置を用
いてコントローラ10を構成した場合のブロック図である。
図14の記憶装置201は、RAM(Random Access Memory)や
HDD(Hard Disk Drive)又はSDD(Solid State Drive)を用いて構成してもよい。記憶装置201には、ノード位置記憶部23、トポロジ情報記憶部24、コントローラアドレス記憶部28が配置される。
図14のデータ処理装置200は、CPU(Central Processing
Unit)を含んで構成される。データ処理装置200は、上記したスイッチインタフェース21、トポロジ検出部22、経路設定部25、高優先プロトコル処理部27に相当する処理を実行することにより、当該スイッチインタフェース21、当該トポロジ検出部22、当該経路設定部25、当該高優先プロトコル処理部27として機能する。
また、当該CPUにおける各処理は、スイッチ制御プログラムとして記述できる。データ処理装置200が記憶装置201からこのスイッチ制御プログラムを読み出して実行する構成とすることもできる。また、データ処理装置200が、図示を省略するコンピュータ読み取り可能な記録媒体からスイッチ制御プログラムを読み出して実行する構成としてもよい。
スイッチインタフェース21、トポロジ検出部22、経路設定部25、高優先プロトコル処理部27の一部をハードウェアによって構成することも可能である。
上記した実施形態では、コントローラ10が近隣探索パケットやARPパケットに基づいて、ネットワークトポロジの把握や、ノードの位置管理を行うものとして説明した。これらの情報が事前に判明している場合には、初期設定処理を省略することもできる。この場合、ノード位置記憶部23及びトポロジ情報記憶部24に、初期設定として格納しておくとともに、必要なフローエントリがスイッチ11に初期設定される。
上記した実施形態では、コントローラ10が高優先プロトコル処理部を備えて、ログイン処理、名前解決及びノード12への状態変更通知を行うものとして説明した。コントローラ10以外のサーバ等に、これらの処理を行わせてもよい。この場合、コントローラは、図6の初期化処理において、ネットワークトポロジの構築し(ステップS103)、サーバとノードの位置を特定し、当該サーバとノード間の通信経路を計算し、必要なフローエントリを設定することになる。
最後に、本発明の好ましい形態を要約する。
[第1の形態]
(上記第1の視点による通信システム参照)
[第2の形態]
当該コントローラは、
当該ネットワークトポロジ上に存在するスイッチのうち、少なくとも1つのスイッチと当該所定の伝送品質を満たすリンクによって接続されており、
当該リンクによって接続された少なくとも1つのスイッチを介して、当該所定の通信プロトコルによる通信の発生を検出する通信システム。
[第3の形態]
当該コントローラは、
当該所定の通信プロトコルのパケットを受信したとき、当該ネットワークトポロジ上のスイッチに、当該所定の通信プロトコルによる通信の発生をコントローラに当該所定の伝送品質を満たすリンクを介して通知させるフローエントリを設定する通信システム。
[第4の形態]
当該コントローラは、
当該ノードとの当該所定の通信プロトコルによる通信に必要なフローエントリの設定するとともに、当該所定の通信プロトコルによる管理処理を実施する、高優先プロトコル処理部をさらに備える通信システム。
[第5の形態]
当該トポロジ検出部は、当該スイッチ群に対し、各スイッチの情報の送信を要求する近隣探索パケットを送信し、当該各スイッチからの応答に基づいて、当該所定の伝送品質を満たすリンクによって構成されたネットワークトポロジを検出する通信システム。
[第6の形態]
当該トポロジ検出部は、当該ノード間または当該ノードとコントローラ間の通信が開始
される前に送信されるパケットに基づいて、当該ノードの位置管理を行う通信システム。
[第7の形態]
当該コントローラは、
当該所定の通信プロトコルによるパケットについて適用されるフローエントリが、他のパケットについて適用されるフローエントリよりも高い優先順位で適用されるように、フローエントリを設定する通信システム。
[第8の形態]
当該コントローラは、
当該所定の伝送品質を満たすリンクに加えて、当該所定の伝送品質を満たすリンク以外のリンクも用いて、当該所定の通信プロトコルによるパケット以外のパケットを転送するように、当該スイッチを制御する通信システム。
[第9の形態]
(上記第2の視点によるコントローラ参照)
[第10の形態]
(上記第3の視点による通信方法参照)
[第11の形態]
(上記第4の視点によるプログラム参照)
なお、上記した第9〜第11の形態は、第1の形態のように、第2〜第8の形態に展開
することが可能である。
本発明の全開示(請求の範囲を含む)の枠内において、及び、開示した基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素(各請求項の各要素、各実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことができる。
10、X10 コントローラ
11、11−1〜11−3 スイッチ
12、12−1、12−2 ノード
13、13a リンク
14 チャネル
20 管理ポート
21 スイッチインタフェース
22 トポロジ検出部
23 ノード位置記憶部
23A ノード位置テーブル
24 トポロジ情報記憶部
24A リンク情報テーブル
25 経路設定部
26 ポート
27 高優先プロトコル処理部
28 コントローラアドレス記憶部
40、40−1〜40−N、48−1〜48−N ポート
41 管理ポート
42 コントローラインタフェース
43 フローエントリ記憶部
43A、43B、43X フローテーブル
44 パケット多重部
45 フローエントリ検索部
46 フローアクション適用部
47 内部スイッチ
50 受信ポート番号
60−1〜60−M フローエントリ
61 マッチ条件
62 アクション
70 エントリ
71 ノードアドレス
72 スイッチ識別子
73 ポート番号
80 エントリ
81 スイッチ識別子
82 対向スイッチ識別子
83 対向ポート番号
101、X101 通信システム
200 データ処理装置
201 記憶装置

Claims (11)

  1. パケットに適用する処理内容を記載したフローエントリを参照して受信パケットを処理するスイッチ群と、
    前記スイッチ群のスイッチにフローエントリを設定することにより前記スイッチを制御するコントローラと、を含み、
    前記コントローラは、
    前記スイッチ群から得られた情報に基づいて、前記スイッチ群のスイッチ間に張られたリンクのうち、所定の伝送品質を満たすリンクによって構成されたネットワークトポロジを検出するトポロジ検出部を備え、
    前記ネットワークトポロジに接続された任意のノード間に所定の伝送品質が要求される所定の通信プロトコルによる通信が発生した際に、前記所定の通信プロトコルによるパケットについて適用されるフローエントリを生成し、前記任意のノード間に設定された経
    路上のスイッチに設定すること、
    を特徴とする通信システム。
  2. 前記コントローラは、
    前記ネットワークトポロジ上に存在するスイッチのうち、少なくとも1つのスイッチと前記所定の伝送品質を満たすリンクによって接続されており、
    前記リンクによって接続された前記少なくとも1つのスイッチを介して、前記所定の通信プロトコルによる通信の発生を検出する請求項1の通信システム。
  3. 前記コントローラは、
    前記所定の通信プロトコルのパケットを受信したときに、前記コントローラに対し前記所定の伝送品質を満たすリンクを介して前記所定の通信プロトコルによる通信の発生を通知させるフローエントリを、前記スイッチの各々に設定する請求項2の通信システム。
  4. 前記コントローラは、
    前記ノードとの前記所定の通信プロトコルによる通信に必要なフローエントリの設定を行い、かつ、前記所定の通信プロトコルによる管理処理を実施する高優先プロトコル処理部をさらに備える請求項1乃至3のいずれか一の通信システム。
  5. 前記トポロジ検出部は、
    前記スイッチ群の各々に対し、各スイッチの情報の送信を要求する近隣探索パケットを送信し、
    前記各スイッチからの応答に基づいて、前記所定の伝送品質を満たすリンクによって構成されたネットワークトポロジを検出する
    請求項1乃至4のいずれか一の通信システム。
  6. 前記トポロジ検出部は、前記ノード間または前記ノードとコントローラ間の通信が開始される前に送信されるパケットに基づいて、前記ノードの位置管理を行う
    請求項1乃至5のいずれか一の通信システム。
  7. 前記コントローラは、
    前記所定の通信プロトコルによるパケットについて適用されるフローエントリが、他のパケットについて適用されるフローエントリよりも高い優先順位で適用されるように、前記フローエントリを設定する請求項1乃至6のいずれか一の通信システム。
  8. 前記コントローラは、
    前記所定の伝送品質を満たすリンクに加えて、前記所定の伝送品質を満たすリンク以外のリンクも用いて、前記所定の通信プロトコルによるパケット以外のパケットを転送するよう前記スイッチを制御する請求項1乃至7のいずれか一の通信システム。
  9. パケットに適用する処理内容を記載したフローエントリを参照して受信パケットを処理するスイッチ群と接続され、
    前記スイッチ群から得られた情報に基づいて、前記スイッチ群のスイッチ間に張られたリンクのうち、所定の伝送品質を満たすリンクによって構成されたネットワークトポロジを検出するトポロジ検出部を備え、
    前記ネットワークトポロジに接続された任意のノード間に所定の伝送品質が要求される所定の通信プロトコルによる通信が発生した際に、前記所定の通信プロトコルによるパケットについて適用されるフローエントリを生成し、前記任意のノード間に設定された経路上のスイッチに設定する
    ことを特徴とするコントローラ。
  10. パケットに適用する処理内容を記載したフローエントリを参照して受信パケットを処理するスイッチ群と接続されたコントローラにおける通信方法であって、
    前記スイッチ群から得られた情報に基づいて、前記スイッチ群のスイッチ間に張られたリンクのうち、所定の伝送品質を満たすリンクによって構成されたネットワークトポロジを検出するステップと、
    前記ネットワークトポロジに接続された任意のノード間に所定の伝送品質が要求される所定の通信プロトコルによる通信が発生した際に、前記所定の通信プロトコルによるパケットについて適用されるフローエントリを生成し、前記任意のノード間に設定された経路上のスイッチに設定するステップと、
    を含む通信方法。
  11. パケットに適用する処理内容を記載したフローエントリを参照して受信パケットを処理するスイッチ群と接続されたコントローラを構成するコンピュータに、
    前記スイッチ群から得られた情報に基づいて、前記スイッチ群のスイッチ間に張られたリンクのうち、所定の伝送品質を満たすリンクによって構成されたネットワークトポロジを検出する処理と、
    前記ネットワークトポロジに接続された任意のノード間に所定の伝送品質が要求される所定の通信プロトコルによる通信が発生した際に、前記所定の通信プロトコルによるパケットについて適用されるフローエントリを生成し、前記任意のノード間に設定された経路上のスイッチに設定する処理と、
    を実行させるプログラム。
JP2014512996A 2011-12-27 2012-10-30 通信システム、コントローラ、通信方法およびプログラム Expired - Fee Related JP6007976B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014512996A JP6007976B2 (ja) 2011-12-27 2012-10-30 通信システム、コントローラ、通信方法およびプログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2011286152 2011-12-27
JP2011286152 2011-12-27
PCT/JP2012/006952 WO2013099080A1 (en) 2011-12-27 2012-10-30 Communication system, controller, communication method, and program
JP2014512996A JP6007976B2 (ja) 2011-12-27 2012-10-30 通信システム、コントローラ、通信方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2015507377A true JP2015507377A (ja) 2015-03-05
JP6007976B2 JP6007976B2 (ja) 2016-10-19

Family

ID=48696633

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014512996A Expired - Fee Related JP6007976B2 (ja) 2011-12-27 2012-10-30 通信システム、コントローラ、通信方法およびプログラム

Country Status (3)

Country Link
US (1) US20140241367A1 (ja)
JP (1) JP6007976B2 (ja)
WO (1) WO2013099080A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016181070A (ja) * 2015-03-24 2016-10-13 日本電気株式会社 管理装置、スイッチ装置、優先度管理方法、およびコンピュータ・プログラム
JP2020053854A (ja) * 2018-09-27 2020-04-02 株式会社リコー ネットワークシステム、通信制御装置、通信制御方法およびプログラム
US11956146B2 (en) 2020-03-10 2024-04-09 Mitsubishi Electric Corporation Controller, network system, and flow management method

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014015486A1 (zh) * 2012-07-25 2014-01-30 华为技术有限公司 数据分流方法,数据发送装置以及分流节点装置
US9094285B2 (en) * 2013-01-25 2015-07-28 Argela Yazilim ve Bilisim Teknolojileri San. ve Tic. A.S. Automatic discovery of multiple controllers in Software Defined Networks (SDNs)
CN104158747B (zh) * 2013-05-14 2019-09-24 中兴通讯股份有限公司 网络拓扑发现方法和系统
KR102109911B1 (ko) * 2013-10-15 2020-05-12 삼성전자주식회사 토폴로지 제어를 위한 방법 및 그 전자 장치
US9787586B2 (en) * 2013-10-24 2017-10-10 University Of Houston System Location-based network routing
CN105745878B (zh) * 2013-11-20 2019-07-26 日本电气株式会社 网络控制设备、网络控制方法以及存储介质
EP3065351B1 (en) * 2013-11-29 2018-05-16 Huawei Technologies Co., Ltd. Method and device for issuing flow entry
US10367725B2 (en) 2013-12-21 2019-07-30 Hewlett Packard Enterprise Development Lp Network programming
US8989199B1 (en) 2014-02-24 2015-03-24 Level 3 Communications, Llc Control device discovery in networks having separate control and forwarding devices
WO2015127600A1 (zh) * 2014-02-26 2015-09-03 华为技术有限公司 一种分流上报的方法、交换机、控制器及系统
JP6237357B2 (ja) * 2014-03-11 2017-11-29 富士通株式会社 パケット転送システムおよびパケット転送方法
JP6487692B2 (ja) * 2014-12-24 2019-03-20 富士通株式会社 情報処理システム及び情報処理システムの制御方法
JP2022164414A (ja) * 2021-04-16 2022-10-27 株式会社日立製作所 ストレージ装置及びアドレス設定方法
CN113612691B (zh) * 2021-08-06 2023-04-07 浙江工商大学 一种路径转换方法、存储介质及终端设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004236198A (ja) * 2003-01-31 2004-08-19 Fujitsu Ltd 伝送帯域制御装置
JP2010512085A (ja) * 2006-12-06 2010-04-15 トムソン ライセンシング 異なるクラスのトラフィック向け帯域予約システム
WO2011118574A1 (ja) * 2010-03-24 2011-09-29 日本電気株式会社 通信システム、制御装置、遅延測定方法およびプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8559335B2 (en) * 2011-01-07 2013-10-15 Jeda Networks, Inc. Methods for creating virtual links between fibre channel over ethernet nodes for converged network adapters
US9130870B1 (en) * 2011-04-15 2015-09-08 Big Switch Networks, Inc. Methods for determining network topologies

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004236198A (ja) * 2003-01-31 2004-08-19 Fujitsu Ltd 伝送帯域制御装置
JP2010512085A (ja) * 2006-12-06 2010-04-15 トムソン ライセンシング 異なるクラスのトラフィック向け帯域予約システム
WO2011118574A1 (ja) * 2010-03-24 2011-09-29 日本電気株式会社 通信システム、制御装置、遅延測定方法およびプログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016181070A (ja) * 2015-03-24 2016-10-13 日本電気株式会社 管理装置、スイッチ装置、優先度管理方法、およびコンピュータ・プログラム
JP2020053854A (ja) * 2018-09-27 2020-04-02 株式会社リコー ネットワークシステム、通信制御装置、通信制御方法およびプログラム
JP7251085B2 (ja) 2018-09-27 2023-04-04 株式会社リコー ネットワークシステム、通信制御装置、通信制御方法およびプログラム
US11956146B2 (en) 2020-03-10 2024-04-09 Mitsubishi Electric Corporation Controller, network system, and flow management method

Also Published As

Publication number Publication date
WO2013099080A1 (en) 2013-07-04
JP6007976B2 (ja) 2016-10-19
US20140241367A1 (en) 2014-08-28

Similar Documents

Publication Publication Date Title
JP6007976B2 (ja) 通信システム、コントローラ、通信方法およびプログラム
JP6358347B2 (ja) 通信システム、制御装置、ノードの制御方法
JP5987920B2 (ja) 通信システム、制御装置及びネットワークトポロジの管理方法
JP5534037B2 (ja) 情報システム、制御装置、仮想ネットワークの提供方法およびプログラム
JP5494668B2 (ja) 情報システム、制御サーバ、仮想ネットワーク管理方法およびプログラム
US10645006B2 (en) Information system, control apparatus, communication method, and program
JP5943431B2 (ja) ネットワーク、データ転送ノード、通信方法およびプログラム
WO2011118585A1 (ja) 情報システム、制御装置、仮想ネットワークの管理方法およびプログラム
WO2011087085A1 (ja) 計算機、ネットワーク接続切替え方法およびプログラム
US9491000B2 (en) Data transport system, transmission method, and transport apparatus
JP2014175924A (ja) 伝送システム、伝送装置、及び伝送方法
JP5861772B2 (ja) ネットワークアプライアンス冗長化システム、制御装置、ネットワークアプライアンス冗長化方法及びプログラム
JPWO2012050071A1 (ja) 通信システム、制御装置、処理規則の設定方法およびプログラム
WO2011118574A1 (ja) 通信システム、制御装置、遅延測定方法およびプログラム
JP6070700B2 (ja) パケット転送システム、制御装置、パケット転送方法及びプログラム
US10523629B2 (en) Control apparatus, communication system, communication method, and program
CA2910129A1 (en) Communication node, communication system, packet processing method, and program
JPWO2014104277A1 (ja) 制御装置、通信システム、通信ノードの制御方法及びプログラム
JP6127569B2 (ja) スイッチ、制御装置、通信システム、制御チャネルの管理方法及びプログラム
WO2015046539A1 (ja) 中継装置、制御装置、通信システム、監視パケットの処理方法及びトポロジ管理方法
JP2013046134A (ja) パケット転送ノード、その制御装置、パケット転送方法およびプログラム
JP6264469B2 (ja) 制御装置、通信システム及び中継装置の制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150918

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160412

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160610

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160829

R150 Certificate of patent or registration of utility model

Ref document number: 6007976

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees