JP2017503408A - 通信ネットワーク内の制御を提供する方法 - Google Patents

通信ネットワーク内の制御を提供する方法 Download PDF

Info

Publication number
JP2017503408A
JP2017503408A JP2016538739A JP2016538739A JP2017503408A JP 2017503408 A JP2017503408 A JP 2017503408A JP 2016538739 A JP2016538739 A JP 2016538739A JP 2016538739 A JP2016538739 A JP 2016538739A JP 2017503408 A JP2017503408 A JP 2017503408A
Authority
JP
Japan
Prior art keywords
switch
local controller
packet
network element
packet flow
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
JP2016538739A
Other languages
English (en)
Other versions
JP6280223B2 (ja
Inventor
ゲブハルト,ウルリッヒ
Original Assignee
アルカテル−ルーセント
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 アルカテル−ルーセント filed Critical アルカテル−ルーセント
Publication of JP2017503408A publication Critical patent/JP2017503408A/ja
Application granted granted Critical
Publication of JP6280223B2 publication Critical patent/JP6280223B2/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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • H04L41/042Network management architectures or arrangements comprising distributed management centres cooperatively managing the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • H04L41/044Network management architectures or arrangements comprising hierarchical management structures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities

Abstract

本発明は、1つまたは複数のネットワーク要素(3、7)を備える通信ネットワーク(1)内の制御を提供する方法に関する。この方法は、中央コントローラ(5)から受信(6a)される1つまたは複数の構成メッセージを使用して、通信ネットワーク(1)の第1のネットワーク要素(3)のスイッチ(4)と、第1のネットワーク要素(3)のローカルコントローラ(2)とを構成するステップ、および、第1のネットワーク要素(3)のスイッチ(4)の構成とローカルコントローラ(5)の構成とに基づいて、第1のネットワーク要素(3)のスイッチ(4)と、第1のネットワーク要素(3)のローカルコントローラ(2)と、中央コントローラ(5)と、1つもしくは複数の第2のネットワーク要素(7)と、の1つまたは複数の間の1つまたは複数のパケットフローを制御するステップを含む。本発明はさらに、スイッチ(4)とローカルコントローラ(2)とを備える第1のネットワーク要素(3)に関する。スイッチ(4)およびローカルコントローラ(2)は、中央コントローラ(5)から構成メッセージを受信する(6a、6b)ように構成され、第1のネットワーク要素(3)のスイッチ(4)の構成およびローカルコントローラ(2)の構成に基づいて、第1のネットワーク要素(3)のスイッチ(4)と、第1のネットワーク要素(3)のローカルコントローラ(2)と、中央コントローラ(5)と、1つもしくは複数の第2のネットワーク要素(7)と、の1つまたは複数間で、1つまたは複数のパケットフローを制御するように構成される。

Description

本発明は、通信ネットワークの分野に属し、より詳細には、通信ネットワーク内の制御を提供する方法および装置に関する。
通信ネットワークでは、ネットワークの要素間およびデバイス間のパケットフローを制御する必要がある。ソフトウェア定義ネットワーク(SDN(Software Defined Network))はネットワーク制御のアーキテクチャを記述し、このアーキテクチャでは、以前は地理的に分散されたルータやスイッチのプロプライエタリなオペレーティングシステムで実装されていた複雑なネットワーク機能(例えば経路計算やトポロジーデータベースの維持)が中央コントローラに移され、ルータやスイッチは、市販ハードウェアで実現することができ、中央コントローラ、この場合は中央のSDNコントローラによってオープンインターフェースを介してプログラムできる単純な転送要素のままとする。このアーキテクチャの欠点は、以前はルータとスイッチによってローカルに処理されていたタスクが、今やネットワーク要素と中央コントローラ間の相互作用を必要とすることであり、それにより、中間ノードにとって関心のないメッセージングで制御ネットワークに負荷がかかる。
本発明は、通信ネットワーク内の制御を改善することを目的とし、詳細には、通信ネットワークのデバイス(例えばコントローラ、ルータ、スイッチ、ネットワーク要素)間のパケットフローの制御を改善することを目的とする。
本発明の目的は、通信ネットワーク内の制御を提供する方法によって達成される。通信ネットワークは1つまたは複数のネットワーク要素を備える。好ましくは、通信ネットワークは、第1のネットワーク要素と、1つまたは複数の第2のネットワーク要素とを備える。各ネットワーク要素は、スイッチとローカルコントローラとを備える。さらに、通信ネットワークは中央コントローラを備える。通信ネットワーク内の制御を提供する方法は、通信ネットワークの第1のネットワーク要素のスイッチを構成し、第1のネットワーク要素のローカルコントローラを構成するステップを含む。第1のネットワーク要素のスイッチおよびローカルコントローラは、中央コントローラから受信される1つまたは複数の構成メッセージを使用して構成される。通信ネットワーク内の制御を提供する方法は、第1のネットワーク要素のスイッチおよびローカルコントローラの構成に基づいて、第1のネットワーク要素のスイッチと、第1のネットワーク要素のローカルコントローラと、中央コントローラと、1つもしくは複数の第2のネットワーク要素の1つもしくは複数と、の1つまたは複数間で、1つまたは複数のパケットフローをさらに制御するステップを含む。
本発明の目的は、スイッチとローカルコントローラとを備える第1のネットワーク要素によってさらに達成される。スイッチおよびローカルコントローラは中央コントローラから構成メッセージを受信するように構成され、第1のネットワーク要素のスイッチの構成およびローカルコントローラの構成に基づいて、第1のネットワーク要素のスイッチと、第1のネットワーク要素のローカルコントローラと、中央コントローラと、1つもしくは複数の第2のネットワーク要素の1つもしくは複数と、の1つまたは複数間で、1つまたは複数のパケットフローを制御するように構成される。
通信ネットワークのデバイス、構成要素、および要素は、ハードウェア、詳細にはプログラム可能ハードウェア、ソフトウェア、またはそれらの組み合わせとして、適切な方式で実装されることが可能である。さらなる具体化のない特徴、「デバイス」、「構成要素」、および「要素」は、同義で使用される場合がある。
詳細には、ローカルコントローラは、単一の装置として、独立型の装置として、またはコンピュータおよび/もしくはコンピュータネットワーク内に組み込まれたデータベース中に実装される可能性がある。ローカルコントローラは、ハードウェア、ソフトウェア、および/または、適切なソフトウェアとともにソフトウェアを実行することができる可能なハードウェアを使用して実装される可能性がある。
より具体的には、ローカルコントローラは、回路を利用するプロセスに含まれるか、またはそのようなプロセスによって実装され、ASIC(=特定用途集積回路)、またはFPGA(=フィールドプログラム可能ゲートアレイ)、マルチチップモジュール、シングルカードもしくはマルチカード回路パックなどの単一の集積回路として実装されることが可能である。ローカルコントローラの機能は、ソフトウェアプログラムの処理ブロックとして実装される場合もある。そのようなソフトウェアは、単独のデバイスとして実装されるか、コンピュータネットワークに組み込まれた、デジタル信号プロセッサ、マイクロコントローラ、または汎用コンピュータ内で使用される可能性がある。
ローカルコントローラは、有形の媒体として具現化されたプログラムコードを含むことができ、そのような媒体には、磁気記録媒体、光学記録媒体、固体素子メモリ、フロッピーディスケット、CD−ROM、ハードドライブ、または他の機械可読記憶媒体などがあり、プログラムコードがローカルコントローラにロードされて実行されると、ローカルコントローラは本発明を実施するために使用される装置となる。
詳細には、本発明の実行には、コンピュータ、詳細にはローカルコントローラのコンピュータで実行されると請求項1から14の一項による方法を実行するように構成されたコンピュータプログラム製品が使用される。
本発明のさらに他の特徴および利点について、以下に概略的に記載される好ましい実施形態と、下記の詳細な説明で図との関連で例示的に説明する。この項で概略的に説明し、以下の図に示される本発明の特徴および実施形態は、幅広い種々の構成で構成および設計することが可能であることはただちに理解されよう。したがって、添付図に表される方法および装置の実施形態についての以下の概略的な説明と詳細な説明は、特許権が請求される本発明の範囲を制限するものではなく、単に本発明の好ましい実施形態を表すものである。
本明細書に記載される本発明の特徴、構造、または特性は、1つまたは複数の実施形態において適切な方式で組み合わせることができる。例えば、本明細書における表現「好ましい実施形態」、「一部の実施形態」、または他の同様の文言の使用は、実施形態との関連で記載される特定の特徴、構造、または特性が、本発明の少なくとも1つの実施形態に含まれる可能性があることを意味する。したがって、本明細書における表現「好ましい実施形態」、「一部の実施形態では」、「他の実施形態では」、または他の同様の文言の出現は、必ずしもすべてが同じ実施形態の群を指すとは限らず、記載される特徴、構造、または特性は、1つまたは複数の実施形態で適切な方式で組み合わせることができる。
さらに、説明中「パケット(複数形)」の関連で記載される内容は、それに対応して「1つ」のパケットにも同様に当てはまり、例えば説明中でパケット(複数形)の転送が記載される場合には、1つのパケットを転送する実施形態も同様に開示される。
したがって、1つの実施形態で記載される特徴は、1つまたは複数の実施形態で適切な方式で実装できる可能性がある。詳細には、2つ以上の実施形態の特徴を組み合わせる際に使用される用語「および/または」は、好ましい実施形態が、選択肢となる列挙のうち、用語「および/または」でつながれる特徴を組み合わせて含む、または第1の特徴/特徴の群だけを含む、または第2もしくはそれ以降の特徴/特徴の群だけを含む可能性がある意に理解されたい。同様に、好ましい実施形態の特徴を組み合わせることにより、さらに好ましい実施形態を形成することも可能である。
好ましい実施形態では、ローカルコントローラの構成は、中央コントローラからの構成メッセージによって行われる。これは、中央コントローラの運用者が、中央コントローラからローカルコントローラに送信される構成メッセージを使用してローカルコントローラを構成できることを意味する。好ましい実施形態では、構成メッセージは、中央コントローラと、スイッチおよびローカルコントローラを備えるネットワーク要素との間で交換される。これは、構成メッセージが中央コントローラからネットワーク要素に送信され、したがってスイッチと場合によってはローカルコントローラに転送されることを意味する。さらに、構成応答メッセージが、ネットワーク要素、より正確にはスイッチおよび/またはローカルコントローラから、中央コントローラに返送されることが可能である。構成応答メッセージで、デバイス、すなわち構成メッセージで構成されるスイッチおよび/またはローカルコントローラが、中央コントローラにフィードバックを与え、フィードバックには、構成の成功もしくは失敗、欠落している構成データの要求、または、ローカルコントローラがネットワーク状態を管理する機能を持つ場合にローカルデータベースに格納されている可能性のあるネットワーク状態に関するデータの要求、または要求される構成データの返送などがある。
好ましい実施形態では、中央コントローラからの構成メッセージを介したローカルコントローラの構成は、中央コントローラとネットワーク要素の間で交換される構成メッセージを介してローカルコントローラをプログラムすることによって行われる。下記でより詳細に説明するように、構成メッセージはネットワーク要素に送信され、ネットワーク要素内で、スイッチおよび場合によっては特にローカルコントローラを構成するためにさらに処理される。好ましくは、スイッチの構成メッセージが中央コントローラとの間で交換されるインターフェースと、ローカルコントローラの構成メッセージが中央コントローラとの間で交換されるインターフェースは、同じインターフェースである。これは、スイッチがそれを介してプログラムすなわち構成される構成メッセージと、ローカルコントローラがそれを介してプログラムすなわち構成される構成メッセージが、中央コントローラと、スイッチおよびローカルコントローラを備えるネットワーク要素との間で、同じインターフェースを通じて送信されることを意味する。好ましくは、スイッチの構成メッセージが送信されるネットワーク要素の物理ポートは、ローカルコントローラの構成メッセージが送信されるネットワーク要素のポートと同じポートである。その場合、ポート、したがってポートアドレスが同じであるため、構成メッセージがネットワーク要素に受信されるネットワーク要素のポートのポートアドレスは、ローカルコントローラの構成メッセージがネットワーク要素に受信されるネットワーク要素のポートのポートアドレスと同じになる。これは、スイッチの構成メッセージと、ローカルコントローラの構成メッセージが、ネットワーク要素の同じポートで受信されることを意味する。
本願を通じて、特徴「ポート」は物理ポートを指し、特徴「サブアドレス」は論理ポートを指すことに留意されたい。
好ましい実施形態では、ローカルコントローラを構成すなわちプログラムするための構成メッセージは、中央コントローラからネットワーク要素のスイッチで受信され、スイッチによりローカルコントローラに転送される。
好ましい実施形態では、構成メッセージおよびさらなるパケットフローは、異なるポートおよび/または異なる接続を通じて送信されることが可能である。
好ましい実施形態では、スイッチおよびローカルコントローラの構成メッセージは、別個の制御ネットワークを介して受信されることが可能である。好ましくは、制御ネットワークはデータネットワークとは独立している。好ましくは、制御ネットワークは、構成メッセージが中央のコントローラとスイッチおよびローカルコントローラとの間で交換されるネットワークと定義される。好ましくは、データネットワークは、さらなるデータフローまたはパケットフローが交換または伝送されるネットワークと定義される。
好ましい実施形態では、第1のネットワーク要素のローカルコントローラを構成するために、第1のネットワーク要素のスイッチが、中央コントローラから1つまたは複数の構成メッセージを受信し、その構成メッセージを第1のネットワーク要素のローカルコントローラに転送する。
好ましくは、スイッチおよびローカルコントローラを備えるネットワーク要素に送信される構成メッセージは、ネットワーク要素のアドレスと、構成メッセージがスイッチに使用される場合はさらにスイッチ単独のサブアドレスとを含む。好ましくは、ネットワーク要素に送信される構成メッセージは、ネットワーク要素のアドレスと、構成メッセージがローカルコントローラの構成に使用される場合はさらにローカルコントローラのサブアドレスとを含む。
好ましい実施形態では、構成メッセージは、ネットワーク要素のアドレスを外部アドレスの指示、例えば外部ラベルとして含み、スイッチまたはローカルコントローラのアドレスを内部アドレスの指示、例えば内部ラベル、例えばサブアドレスとして含む。
好ましい実施形態では、構成メッセージは、構成メッセージがスイッチの構成に使用される場合にのみスイッチのサブアドレスを含む。構成メッセージがローカルコントローラの構成に使用される場合には、構成メッセージは、外部アドレスとしてのネットワーク要素のアドレスの他に、ローカルコントローラのみのアドレスをサブアドレスとして含む。
好ましくは、構成メッセージはスイッチに受信され、スイッチは、メッセージに示されるアドレス、好ましくは、より正確にはサブアドレスに従って、その構成メッセージがスイッチで実施される、すなわちスイッチを構成するものであるか、構成メッセージがローカルコントローラで実施される、すなわちローカルコントローラを構成するものであるかを決定する。好ましい実施形態では、構成メッセージはローカルコントローラに転送され、これは、中央コントローラからネットワーク要素に送信された構成メッセージがスイッチを介してローカルコントローラに転送されることを意味する。別の好ましい実施形態では、構成メッセージは別個の制御ネットワークを介して別のポートで受信され、それぞれスイッチまたはローカルコントローラのサブアドレスに従ってスイッチまたはローカルコントローラに転送される。
好ましい実施形態では、最初のステップでスイッチが中央コントローラによって構成される。好ましい実施形態では、スイッチおよびローカルコントローラのサブアドレスが、標準化または機器ベンダーのマニュアルやデータシートにより、中央コントローラに知られている。
その場合、スイッチの構成は、好ましい実施形態ではローカルコントローラのアドレスを含む規則を備えるため、スイッチが、ローカルコントローラのサブアドレスを持つ構成メッセージをローカルコントローラに転送する規則を備えて構成されるので、スイッチは、データパケット、詳細には構成メッセージをローカルコントローラに転送するように適合または構成される。それにより、中央コントローラはスイッチとローカルコントローラの両方をアドレス指定することができ、スイッチは、サブアドレスフィールドがローカルコントローラのサブアドレスと一致するパケットをローカルコントローラに転送する規則を備えて構成されるので、スイッチは、データパケット、詳細には構成メッセージをローカルコントローラに転送するように構成することができる。
本明細書で第1のネットワーク要素に関して記載される内容は、それに対応して第2のネットワーク要素にも該当し、第2のネットワーク要素も、第1のネットワーク要素の観点から説明するように、中央コントローラからの構成メッセージによって構成され、通信ネットワーク内のパケットフローの制御に関与する可能性がある。
好ましい実施形態では、スイッチおよびローカルコントローラの構成に基づいて、中央コントローラと、第1のネットワーク要素のスイッチと、第1のネットワーク要素のローカルコントローラと、1つまたは複数の第2のネットワーク要素との間で1つまたは複数のパケットフローを制御するステップは、第1のネットワーク要素のスイッチで1つまたは複数のパケットフローのうちのパケットフローのパケットを受信し、パケットフローのパケットをさらに転送するかどうかを第1のネットワーク要素のスイッチで決定し、パケットフローのパケットをスイッチで転送するステップを含む。
好ましい実施形態では、構成メッセージについても同様に、スイッチに送信される各パケットは好ましくは、スイッチが実装されているネットワーク要素のアドレスを外部アドレスラベルとして含み、そのパケットをスイッチから転送すべき先のネットワーク要素またはデバイス、例えばローカルコントローラのアドレスを内部アドレスラベルまたはサブアドレスとして含む。
好ましい実施形態では、構成メッセージについても同様に、スイッチに送信される各パケットは好ましくは、中央コントローラのアドレスを外部アドレスラベル、好ましくはIPアドレスとして含み、そのパケットをスイッチから転送すべき先の中央コントローラのアドレスを内部アドレスラベルまたはサブアドレス、好ましくは論理ポートとして含む。
好ましい実施形態では、構成メッセージについても同様に、スイッチに送信される各パケットは好ましくは、中央コントローラのアドレスを外部アドレスラベルとして含み、そのパケットをスイッチから転送すべき先の中央コントローラのプロトコルスタックのアドレスを内部アドレスラベルまたはサブアドレスとして含む。プロトコルスタックは、この文脈では中央コントローラの管理エンティティである。
パケットの転送先のデバイスのアドレスはサブアドレスとして実装される場合があり、詳細にはソフトウェアインスタンスの指示として実装される場合がある。ポートのアドレスまたはサブアドレスは、通信ネットワークが論理アドレスによって実装される場合には論理ポートアドレスとすることができる。
好ましい実施形態では、通信ネットワーク内で1つまたは複数のパケットフローを制御するために、第1のネットワーク要素のスイッチが、1つまたは複数のパケットフローのうち1つのパケットフローのパケットを受信する。パケットの受信後、第1のネットワーク要素のスイッチは、パケットフローのパケットを転送することを決定し、決定に従ってパケットフローのパケットを転送する。
好ましい実施形態では、スイッチは、スイッチがパケットフローのパケットを転送するかどうかを決定するステップの結果に従って、パケットフローのパケットを、中央コントローラ、またはローカルコントローラ、または1つもしくは複数の第2のネットワーク要素の1つまたは複数に転送する。
好ましい実施形態では、第1のネットワーク要素のスイッチがパケットフローのパケットを転送するかどうかの決定は、そのパケットフローがスイッチの構成に従ってスイッチに既知であるか、未知であるかに依存する。
好ましい実施形態では、パケットフローは、スイッチの構成に従うとスイッチに既知のパケットフローである。スイッチがパケットフローを知っているので、スイッチは、パケットフローのパケットを転送するために、スイッチの構成に従ってパケットフローのパケットの送信先を決定する。
好ましい実施形態では、パケットフローは、スイッチの構成に従うとスイッチに未知のパケットフローである。スイッチがパケットフローを知らないため、スイッチは、スイッチの構成に従って、未知のパケットフローの1つまたは複数のパケットを中央コントローラまたはローカルコントローラに送信する。
好ましい実施形態では、スイッチは、スイッチにとって未知の1つまたは複数のパケットフローのパケットを、スイッチにとって未知のパケットフローをさらに転送するかどうかを決定するために中央コントローラに送信するように構成される。したがって、スイッチは、未知のパケットフローの1つまたは複数のパケットを中央コントローラに送信する。中央コントローラは、パケットの送信先を決定し、パケットフローの送信先をスイッチに指示する。中央コントローラは、パケットフローの送信先を決定するためのアドレスと規則が含まれる参照表に基づいてパケットフローの送信先を決定することができる。中央コントローラは、送信先を決定するために中央コントローラに送信されたパケットフローの1つまたは複数のパケットのヘッダフィールドにパケットフローの送信先を設定することによってパケットフローの送信先を指示し、指示された送信先を含むパケットをスイッチに送り返すことができる。あるいは、中央コントローラは、パケットフローの送信先を決定するためにスイッチから中央コントローラに送信されたパケットフローの送信先を知らせるメッセージを、スイッチに送信することもできる。パケットフローの送信先の指示は、詳細には、パケットフローをスイッチから転送する際に介するポートアドレスとすることができる。これは、詳細には、パケットフローを知らないスイッチが、さらに転送するためのポートアドレスをパケットフローから自身で決定することができない場合に該当する。しかし、スイッチには中央コントローラからの指示でパケットフローを転送するポートアドレスが通知されているので、スイッチは、今やパケットフローを転送することが可能になり、それに応じてパケットフローを転送する。
好ましい実施形態では、スイッチは、スイッチに未知のパケットフローの1つまたは複数のパケットを、スイッチに未知のパケットフローをさらに転送するかどうかを決定するためにローカルコントローラに送信するように構成される。したがって、スイッチは、未知のパケットフローの1つまたは複数のパケットをローカルコントローラに送信する。ローカルコントローラは、パケットの送信先を決定し、パケットフローの送信先をスイッチに指示する。ローカルコントローラは、パケットフローの送信先を決定するためのアドレスおよび規則が含まれた参照表に基づいて、パケットフローの送信先を決定することができる。ローカルコントローラは、送信先を決定するためにローカルコントローラに送信されたパケットフローの1つまたは複数のパケットのヘッダフィールドにパケットフローの送信先を設定することによってパケットフローの送信先を指示し、指示された送信先を含むパケットをスイッチに送り返すことができる。あるいは、ローカルコントローラは、パケットフローの送信先を決定するためにスイッチからローカルコントローラに送信されたパケットフローの送信先を知らせるメッセージを、スイッチに送信することもできる。パケットフローの送信先の指示は、詳細には、パケットフローをスイッチから転送する際に介するポートアドレスとすることができる。これは、詳細には、パケットフローを知らないスイッチが、さらに転送するためのポートアドレスをパケットフローから自身で決定することができない場合に該当する。しかし、スイッチにはローカルコントローラからの指示でパケットフローを転送するポートアドレスが通知されているので、スイッチは、今やパケットフローを転送することが可能になり、それに応じてパケットフローを転送する。
本明細書を通しての定義によると、スイッチが、パケットフローを送信すべきネットワーク要素、またはパケットフローをネットワーク要素に転送する際のポートをヘッダフィールドに基づいて判断することができない場合に、パケットフローはスイッチにとって未知であることに留意されたい。ヘッダフィールドは、好ましい実施形態では、特に例えばパケットフロー中に示されたアドレスを含み、このアドレスは、受信者または場合によっては送信者のアドレスである可能性がある。その場合、スイッチは、パケットフローの1つまたは複数のパケットを中央コントローラまたはローカルコントローラに送信するように構成される。スイッチは、パケットフローを転送する送信先またはポートの指示を得るためにパケットフローの1つまたは複数のパケットを中央コントローラまたはローカルコントローラに送信するように構成されるが、中央コントローラまたはローカルコントローラへの転送は、その指示がなければスイッチにとって未知であるパケットフローの送信先またはポートを決定するための唯一のデフォルト設定であるため、パケットフローはスイッチにとって未知であると呼ばれる。したがって、パケットフローはスイッチにとって未知であると呼ばれる。
好ましい実施形態では、本願を通じて、送信先の指示が、パケットフローに示されるアドレスを参照して説明される場合には、より一般的に、送信先は転送対象のパケットに含まれるヘッダフィールドで示される可能性がある。当業者に認識されるように、ヘッダフィールドは、情報の組み合わせ、例えばパケットの種別、優先度、アプリケーションの種別、およびさらに他のヘッダフィールドを含むことができる。
好ましい実施形態では、同じ送信先アドレスを持つ2つのパケットが、優先度のフィールドに応じて異なるポートに転送されることが可能である。異なるポートは、異なる物理ポートおよび/または論理ポートである可能性がある。
さらに、スイッチが、上記の中央コントローラまたはローカルコントローラからの指示がなければ、自身の構成、詳細には自身の参照表に基づいてパケットフローの転送先を決定することができない場合に、パケットフローはスイッチにとって未知であると呼ばれる。それに対して、スイッチが、自身の構成、詳細には参照表に基づいてパケットフローの転送先を決定することができれば、パケットフローはスイッチにとって既知である。この決定は、パケットフローに示されるアドレス、詳細には、パケットフローを転送すべきネットワーク要素のアドレスに基づくことができる。それに代えて、またはそれに加えて、スイッチは、パケットフローの転送先を送信元アドレスから決定できる場合もあり、したがってパケットフローはスイッチに既知である。例えば、スイッチは、スイッチがパケットフローをそこから受信した特定の送信元ネットワークまたは特定の第1のネットワーク要素のすべてのパケットを、特定の第2のネットワーク要素に転送するように構成される場合がある。それに代えて、またはそれに加えて、スイッチは、特定のアプリケーションのパケットを特定のネットワーク要素に転送するように構成される場合もある。それに代えて、またはそれに加えて、スイッチは、特定のアドレスまたはアプリケーションを持つパケットフローをスイッチの特定の出力ポートに転送するように構成される場合もある。
好ましい実施形態では、1つまたは複数のパケットフローを制御する方法は、スイッチの構成と、ローカルコントローラの構成に従ってローカルコントローラによって適用される規則とに基づいて、1つまたは複数のパケットフローのうち1つまたは複数のパケットフローのパケットを、第1のネットワーク要素のスイッチから、1つまたは複数の第2のネットワーク要素のうち1つまたは複数に転送するステップを含む。ローカルコントローラの構成に従ってローカルコントローラによって適用される規則は、スイッチのパラメータを設定するために中央コントローラからローカルコントローラが受信したデータ、および/または、ローカルコントローラが格納している、ローカルコントローラが処理したトポロジー情報から導出されるデータである可能性がある。したがって、ローカルコントローラは、さらに転送するためのパラメータをスイッチに設定することができる。
好ましい実施形態では、1つまたは複数のパケットフローを制御するために、パケットフローのパケットがローカルコントローラに転送される。ローカルコントローラは、ローカルコントローラの構成に従う規則に基づいて、受信されたパケットフローのパケットのヘッダフィールドを解釈する。パケットのヘッダフィールドを解釈すると、ローカルコントローラはパケットを転送する。
好ましい実施形態では、1つまたは複数のパケットフローを制御するために、パケットフローのパケットがローカルコントローラに転送される。ローカルコントローラは、受信されたパケットフローのパケットのヘッダフィールドを解釈し、ローカルコントローラの構成に従ってヘッダフィールドを適合、すなわち変更する。パケットのヘッダフィールドを適合すると、ローカルコントローラは、ローカルコントローラの構成に従ってパケットを転送する。
好ましい実施形態では、1つまたは複数のパケットフローを制御するために、パケットフローのパケットがローカルコントローラに転送される。ローカルコントローラは、ローカルコントローラの構成に従う規則に基づいて、受信されたパケットフローのパケットのヘッダフィールドを解釈する。パケットのヘッダフィールドを解釈すると、ローカルコントローラは、処理のためにパケットを自身の内部プロトコルスタックに転送する。好ましくは、それらのパケットはローカルコントローラを宛先とする。
好ましい実施形態では、1つまたは複数のパケットフローを制御するステップは、パケットフローのパケットをローカルコントローラに転送し、ローカルコントローラの構成に従った規則に基づいて、受信されたパケットフローのパケットのヘッダフィールドを解釈し、さらに処理するためにパケットをその内部のローカルプロトコルスタック、すなわちローカルコントローラの内部のローカルプロトコルスタックに転送することによりパケットを終端するステップをさらに含む。
好ましい実施形態では、ローカルコントローラはパケット/フレームジェネレータを有する。パケット/フレームジェネレータを使用して、ローカルコントローラは新しいパケットを生成することができる。以下でより詳細に説明するように、ローカルコントローラは、全く新しいパケットを生成すること、既存のパケットに新しいヘッダフィールドを生成すること、および/またはパケットのヘッダフィールドを解釈し、場合によっては再定義することができる可能性がある。好ましくは、ローカルコントローラは、新しいパケットを、1つまたは複数の第2のネットワーク要素の1つまたは複数に送信する。
この文脈で、本明細書において特徴「パケット」が使用される場合、当業者は、実装によっては「パケット」の代わりに特徴「フレーム」と呼ばれることもあり得ることを認識することに留意されたい。つまり、パケットを処理することに代えて、またはそれに加えて、パケットフロー、したがってフレームのフローの処理、例えば制御の実装に応じて、フレームが同様に処理される可能性もある。さらに一般的には、本発明の教示は、OSI参照モデルのあらゆるレベル(パケット、フレーム、セグメント等を含む)にも適用できる可能性がある。好ましい実施形態では、ローカルコントローラの構成に従った規則に基づいて、受信されたパケットフローのパケットのヘッダフィールドを解釈した後、ローカルコントローラは、ローカルコントローラのパケット/フレームジェネレータで、新しいヘッダフィールドを持つ新しいパケットを生成する。
好ましい実施形態では、ローカルコントローラは、詳細にはローカルコントローラのパケット/フレームジェネレータを使用して、ローカルコントローラの構成によって事前に定義された方式で新しいヘッダフィールドを生成するように構成される。ローカルコントローラは、例えば送信元アドレスの長さが2バイト短く(例えば8バイトではなくわずか6バイト)、送信先アドレスが2バイト短い新しいパケットを生成するように構成することができ、したがって4バイトの節減となる。これは、使用されるすべての送信元アドレスおよび送信先アドレスそれぞれを定義するのに6バイトで十分な場合に適用される可能性がある。ローカルコントローラは、残りの4バイトを、例えば拡張された種別フィールドとして、および/またはパケットのヘッダフィールドに優先度を示すために使用することができる。
好ましい実施形態では、ローカルコントローラは、パケット/フレームジェネレータを使用して1つまたは複数のメッセージを作成し、その1つまたは複数のメッセージを、スイッチを介して、1つまたは複数の第2のネットワーク要素の1つまたは複数に送信する。好ましい実施形態では、ローカルコントローラは、詳細にはパケット/フレームジェネレータを使用して、生成されたパケットを使用してメッセージを作成することができる。ローカルコントローラは、ルーティングプロトコルで使用されるhelloメッセージのようなネイバに指示を与える周期的なメッセージを作成することができる。ローカルコントローラは、追跡メッセージ、ループバックメッセージ、pingのような、リンクの完全性検査、操作、および保守管理のメッセージを作成することができる。ローカルコントローラは、特にトポロジーの発見がネットワーク要素に委ねられ、ローカルコントローラがトポロジー発見処理を行うように構成される場合に、ルーティングプロトコルで使用されるリンク状態プロトコルデータ単位(LSP)を作成することができる。
好ましい実施形態では、ローカルコントローラは、状態機械、および/また学習されたMACアドレスのテーブル、ルーティングプロトコルのネイバのデータベース、および/またはトポロジーデータベースを格納することによって、ローカル状態を保持するように構成することができる。
好ましい実施形態では、中央コントローラは、オープンプログラマビリティの概念を維持するインターフェースを介して、第1のネットワーク要素のスイッチおよび第1のネットワーク要素のローカルコントローラと通信する。好ましくは、インターフェースは、OpenFlowプロトコルで定義される。
好ましい実施形態では、ローカルコントローラは、ネットワーク要素の運用者が望むローカルコントローラの任意の構成方式で、すなわち事前構成のベンダー固有の実装の制約を受けずに構成するのに適する可能性がある。同様に、スイッチも、ネットワーク要素の運用者が望む任意のスイッチの構成方式で構成するのに適する可能性がある。スイッチおよびローカルコントローラを備えるネットワーク要素の運用者は、ベンダー固有の実装の制約を全く受けずに、スイッチ、ローカルコントローラ、およびしたがってネットワーク要素の完全な構成を提供することができる。言い換えると、例えば小売業者などのネットワーク要素のベンダーによってあらかじめ構成され、事前に定義されたパラメータの構成のみが許されるルータやスイッチなどのネットワーク要素と異なり、本発明では、ネットワーク要素、ならびにネットワーク要素内部のスイッチ、ルータ、およびローカルコントローラは、ベンダー固有の制約を受けることなく、スイッチ、ルータ、およびローカルコントローラを含むネットワーク要素の運用者によって任意の方式でプログラムすることができる。このオープンプログラマビリティの概念は例えばOpenflowプロトコルで定義される可能性がある。同様に、中央コントローラの運用者(ローカルコントローラの運用者と同じである場合もある)は、スイッチ(またはルータ)およびローカルコントローラを、望むように構成することができる。
好ましくは、ローカルコントローラの構成は、通信ネットワークの運用者により、運用者が望むローカルコントローラの任意の構成として提供されることができ、これは、ローカルコントローラ、またはローカルコントローラを備えるネットワーク要素のベンダーから与えられる制限に制約されないことを意味する。
中央コントローラとネットワーク要素の間、したがって中央コントローラとスイッチの間、および/または中央コントローラとローカルコントローラの間のインターフェースは、Southboundインターフェースと定義することができる。用語「Southboundインターフェース」は、中央コントローラと、転送を行う要素またはネットワーク要素であるノードとの間のインターフェースに使用されることがある。
一般的な見解として、本明細書でスイッチに関して記載される内容は、ネットワークがスイッチに代えて、またはスイッチに加えてルータを備える場合には、対応してルータにも該当する。
好ましい実施形態では、中央コントローラからスイッチおよびローカルコントローラを備えるネットワーク要素に送信される構成メッセージのパケットフローおよびさらなるパケットフローのパケットは、中央コントローラとネットワーク要素の間で同じインターフェースを介して、詳細には同じポートを介して受信される。中央コントローラからネットワーク要素に送信される構成メッセージのパケットフローおよびさらなるパケットフローのパケットは、ネットワーク要素の同じポート、詳細には同じ物理ポートを介して受信される場合がある。構成メッセージのパケットフローおよびさらなるパケットフローのパケットは、同じ物理ポートで受信されるが、論理ポートは異なる場合があり、すなわち、構成メッセージのパケットは、さらなるパケットフローのパケットがネットワーク要素で受信される論理ポートとは異なるネットワーク要素の論理ポートで受信される可能性がある。構成メッセージのパケットフローおよびさらなるパケットフローのパケットは、同じ物理ポートおよび同じ論理ポートで受信される場合もある。この文脈におけるさらなるパケットフローは、中央コントローラからネットワーク要素に送信されるデータフローまたは任意のパケットフロー、詳細にはスイッチの構成およびローカルコントローラの構成に基づいて制御されるパケットフローである可能性がある。そのようなパケットフローの一例は、パケットフローの送信先を決定するためにスイッチが中央コントローラに送信した未知のパケットフローの送信先アドレスの指示を含むパケットフローである。中央コントローラからスイッチを含むネットワーク要素に送信される指示メッセージは、スイッチが中央コントローラから構成メッセージを受信したポートと同じポートで受信される場合もあり、同じポートは、構成メッセージと同じ物理ポートおよび同じ論理ポートであるか、または物理ポートは同じであるが、論理ポートは異なる場合がある。上記でネットワーク要素のポートに関して説明した内容は、同様に中央コントローラのポートに関しても該当する可能性がある。
ローカルコントローラが本明細書に記載されるように通信ネットワーク内のデータフローの制御を提供するように構成されるため、ローカルコントローラがなければ中央コントローラで処理されなければならない制御を提供するようにローカルコントローラが構成される限り、中央コントローラは、制御処理の多大な負担から解放されるか、または負担が軽減される。例えば、ローカルコントローラがなければ、ローカルコントローラで処理されるメッセージやデータパケットは、中央コントローラとネットワーク要素の間で交換されなければならない。
さらに、本明細書に記載されるようにローカルコントローラがデータフローの制御を提供するように構成されるので、スイッチやルータなどのネットワーク要素に市販ハードウェアが使用されることが可能である。中央コントローラがローカルコントローラに制御機能を委ねるため、ローカルコントローラは、中央コントローラと協働してデータフローやパケットフローの制御を提供する。それにより、ネットワーク要素内で、単純でしたがって安価なスイッチおよびルータを使用することが可能になる。ルータおよびスイッチを備えるネットワーク要素は制御機能がかなり制約されるか、さらには制御機能を持たず、単なる転送を行う要素であることを表すために、ネットワーク要素は「転送要素」と呼ばれることがある。
さらに、「ローカルコントローラが1つまたは複数のパケットフローを制御する」という表現は、1つまたは複数のパケットフローがローカルコントローラだけによって制御されるという意味には理解すべきでないことを強調したい。つまり、1つまたは複数のパケットフローの制御はローカルコントローラだけによって提供されるのではなく、1つまたは複数のパケットフローの制御は、詳細には中央コントローラとローカルコントローラの両方、さらにはスイッチまたはルータが例えばスイッチまたはルータの構成に従ってパケットフローの転送を決定するなど、その構成に従って制御機能を持つ限り、スイッチまたはルータによって提供される。したがって、ローカルコントローラによる制御の範囲は、特許請求の範囲および本明細書に記載される例示的な詳細に開示される。
好ましい実施形態では、通信ネットワークは、記載される中央コントローラに加えて実装される1つまたは複数の第2の中央コントローラも備えることができる。1つまたは複数の第2の中央コントローラは、この場合プライマリ中央コントローラとなる上記の中央コントローラが機能しなくなった場合に、冗長な中央コントローラとして使用される可能性がある。それに代えて、またはそれに加えて、第2の中央コントローラの1つまたは複数は、通信ネットワークのうち定義された区間について、または互いと通信する複数の通信ネットワークのために構成される場合もある。
通信ネットワークは、コンピュータなど、ハードウェアおよび/またはソフトウェアとして実装されたアプリケーション要素も備える場合がある。アプリケーション要素は通信デバイス(電話や映像等)である可能性がある。中央コントローラと1つまたは複数のアプリケーション要素の間のインターフェースは、Northboundインターフェースと定義される場合がある。用語「Northboundインターフェース」は、中央コントローラとアプリケーションの間のインターフェースに使用されることがある。
好ましい実施形態では、ローカルコントローラは「衛星コントローラ」と定義される場合がある。好ましい実施形態では、通信ネットワークは「ソフトウェア定義ネットワーク」(SDN)である可能性がある。好ましい実施形態では、ローカルコントローラが衛星SDNコントローラ(SSC)であり、中央コントローラが中央SDNコントローラ(CSC)である可能性がある。OpenFlowの仕様によると、中央SDNコントローラまたは衛星SDNコントローラを発信元とするパケット(特にスイッチを宛先とする)はpacket_outと定義され、中央SDNコントローラまたは衛星SDNコントローラに受信されるパケット(特にスイッチを発信元とする)はpacket_inと定義される場合がある。
好ましい実施形態では、ローカルコントローラは、1つのネットワーク要素内に、異なるタスクを持つ複数の衛星コントローラを含むモジュール方式で実装される場合がある。好ましくは、各衛星コントローラは、モジュール式で実装されるローカルコントローラの他の衛星コントローラの論理ポートと異なる1つの論理ポートを介してアドレス指定されることが可能である。好ましくは、各衛星コントローラは、同じ物理ポートに接続され、同じ論理ポートを介してアドレス指定される。好ましくは、各衛星コントローラは、異なる物理ポートに接続されている場合は、同じ論理ポートを介してアドレス指定されることが可能である。好ましくは、各衛星コントローラは、異なる物理ポートに接続され、同じ論理ポートを介してアドレス指定される。好ましくは、各衛星コントローラは、異なる物理ポートに接続され、異なる論理ポートを介してアドレス指定される。
好ましい実施形態では、衛星コントローラは、1つのネットワーク要素内に、異なるタスクを持つ衛星コントローラの複数のモジュールを含むモジュール方式で実装される場合がある。好ましくは、衛星コントローラの各モジュールは、モジュール式で実装される衛星コントローラの他のモジュールの論理ポートと異なる1つの論理ポートを介してアドレス指定されることが可能である。好ましくは、各モジュールは、同じ物理ポートに接続され、同じ論理ポートを介してアドレス指定される。好ましくは、各モジュールは、異なる物理ポートに接続されている場合には、同じ論理ポートを介してアドレス指定されることが可能である。好ましくは、各モジュールは、異なる物理ポートに接続され、同じ論理ポートを介してアドレス指定される。好ましくは、各モジュールは、異なる物理ポートに接続され、異なる論理ポートを介してアドレス指定される。
好ましい実施形態では、ローカルコントローラは、1つのネットワーク要素の中に複数のモジュールを含み、複数のモジュールの各モジュールは、複数のモジュールの他のモジュールによって実装されるタスクと異なる1つまたは複数のタスクを実装し、各モジュールは、他のモジュールの論理ポートと異なる1つの論理ポートを介してアドレス指定される。好ましくは、各モジュールは、同じ物理ポートに接続され、同じ論理ポートを介してアドレス指定される。好ましくは、各モジュールは、異なる物理ポートに接続されている場合には、同じ論理ポートを介してアドレス指定されることが可能である。好ましくは、各モジュールは、異なる物理ポートに接続され、同じ論理ポートを介してアドレス指定される。好ましくは、各モジュールは、異なる物理ポートに接続され、異なる論理ポートを介してアドレス指定される。
好ましい実施形態では、ローカルコントローラは仮想的に実装される場合がある。仮想の、または仮想化されたローカルコントローラは、1つのネットワーク要素の中に複数のインスタンス、詳細にはソフトウェアインスタンスを含む。各ソフトウェアインスタンスは、他のソフトウェアインスタンスのタスクと異なる1つまたは複数のタスクを実装することができる。あるいは、ソフトウェアインスタンスの1つまたは複数が、1つまたは複数の同じタスクを実装する場合もある。ローカルコントローラのソフトウェアインスタンスは、ネットワーク要素の複数の管理者または運用者、すなわち異なる管理者または運用者によって制御される場合がある。各管理者または運用者は、ソフトウェアインスタンスの1つまたは複数を制御することができる。各管理者または運用者は、複数の管理者または運用者のうち他の管理者または運用者によって制御されるソフトウェアインスタンスと異なる1つまたは複数のソフトウェアインスタンスを制御することができる。好ましくは、通信ネットワークは、複数の管理者または運用者によって制御される「マルチテナントネットワーク」として実装される場合がある。
好ましい実施形態では、ローカルコントローラは、1つのネットワーク要素の中に複数のインスタンス、詳細にはソフトウェアインスタンスを含み、ローカルコントローラの各インスタンスは1つまたは複数のタスクを実装し、ローカルコントローラの各インスタンスは複数の管理者の中の1人の管理者によって制御可能である。
好ましい実施形態では、1つまたは複数のローカルコントローラは、ある程度の基本的な事前構成がなされた状態で機器製造者から出荷され、その構成を後に中央コントローラによって上書きまたは非アクティブにすることができる。好ましくは、そのような事前構成は、制御ネットワークのトポロジー発見や中央コントローラとの間の通信チャネルの確立を行うための基本的なルーティングプロトコル機能を含むことができる。好ましくは、そのような事前構成は何らかの不揮発性メモリ、例えばEpromに存在する。
ネットワーク要素は、通信ネットワークのノードと呼ばれる場合もある。
本発明は、ネットワーク要素に市販ハードウェアを使用することを可能にする。さらに、ネットワーク要素、詳細にはスイッチ、ルータ、およびローカルコントローラは、ネットワーク要素の運用者および/または中央コントローラの運用者(両者は同じ運用者である場合もある)が望む方式で、すなわちベンダーに固有の制約を受けずに構成することが可能であるため、本発明は新しいプロトコルの導入を可能にし、これは詳細には特にローカルコントローラのパケット/フレームジェネレータを使用して新しいパケット形式を定義することによる。
本発明の特徴および利点は、実施形態の詳細な説明を理解することによってより完全に理解されよう。
通信ネットワークの要素、および通信ネットワーク内の制御を提供する方法のステップを示す図である。 通信ネットワークの要素、および通信ネットワーク内の制御を提供する方法のステップを示す図である。 通信ネットワークの要素、および通信ネットワーク内の制御を提供する方法のステップを示す図である。 通信ネットワークの要素、および通信ネットワーク内の制御を提供する方法のステップを示す図である。 通信ネットワークの要素、および通信ネットワーク内の制御を提供する方法のステップを示す図である。 通信ネットワークの要素、および通信ネットワーク内の制御を提供する方法のステップを示す図である。 通信ネットワークの要素、および通信ネットワーク内の制御を提供する方法のステップを示す図である。 通信ネットワークの要素、および通信ネットワーク内の制御を提供する方法のステップを示す図である。
図1は通信ネットワーク1の一部を示す図であり、例示の理由から一部のデバイスと要素を図示しており、それらについて以下でより詳細に説明する。通信ネットワーク1は、ネットワーク要素3、7および中央コントローラ5を備える。当業者は、通信ネットワーク1は記載のデバイスおよび要素を複数備え、また図示されないアプリケーション要素などのさらに他の構成要素を備える場合があることを認識されよう。図1はさらに、スイッチ4およびローカルコントローラ2を構成するステップを示している。
図1は、第1のネットワーク要素3と、2つの第2のネットワーク要素7を示す。通信ネットワーク1は通常、図示されない複数の第2のネットワーク要素7を含む。ネットワーク要素の内部実装は、第1のネットワーク要素3に例示の理由で示している。第2のネットワーク要素7も、同じまたは同等の内部実装を有する可能性がある。第1のネットワーク要素3は、スイッチ4およびローカルコントローラ2を備える。さらに、ローカルコントローラ2は、パケット/フレームジェネレータ8を備える。
通信ネットワーク1内の制御を提供する方法を実装するために、第1のネットワーク要素3のスイッチ4およびローカルコントローラ2が構成される。スイッチ4およびローカルコントローラ2の構成に基づいて、第1のネットワーク要素3と、第1のネットワーク要素3のスイッチ4と、第1のネットワーク要素3のローカルコントローラ2と、中央コントローラ5と、1つまたは複数の第2のネットワーク要素7とを含む通信ネットワーク1の少なくとも2つの構成要素、要素、またはデバイス間の1つまたは複数のパケットフローが制御される。
第1のネットワーク要素3に関して説明される対応する構成は、第2のネットワーク要素7にも実装される可能性があることに留意されたい。通信ネットワーク1の第1のネットワーク要素3のスイッチ4、および第1のネットワーク要素3のローカルコントローラ2を構成するために、中央コントローラ5は、スイッチ4およびローカルコントローラ2を備える第1のネットワーク要素3に、1つまたは複数の構成メッセージを送信する。
スイッチ4およびローカルコントローラ2の構成によって制御されるパケットフローと同様に、構成メッセージも好ましくは1つまたは複数のパケットフローである。したがって、通信ネットワーク1内で処理されるパケットフローは、スイッチ4およびローカルコントローラ2を構成するために使用される構成メッセージと、通信データ(電子メールデータ、インターネット、電話、テレビ、さらなるデータフロー、特にIPフロー)などのさらなるパケットフローとを含む可能性がある。明示的にスイッチ4およびローカルコントローラ2の構成に使用されるパケットフローが参照される場合、これらのフローは「構成メッセージ」と呼ばれる。したがって、用語「パケットフロー」は、本願の教示に従って通信ネットワーク内で処理および制御される任意のパケットフローを指す。
第1のネットワーク要素3のスイッチ4は、中央コントローラ5から1つまたは複数の構成メッセージを受信する(図1の参照符号6aを参照)。スイッチ4が、受信された構成メッセージ(図1の参照符号6a参照)がスイッチ4の構成を目的とするものであると決定した場合、スイッチ4はそれに従ってスイッチ4の構成を実施する。スイッチ4が、受信された構成メッセージ(図1の参照符号6a参照)がローカルコントローラ2の構成を目的とするものであると決定した場合、スイッチ4は構成メッセージをローカルコントローラ2に転送する(図1の参照符号6b参照)。スイッチ4は、構成メッセージのパケット中のサブアドレスにより、構成メッセージがスイッチ4を宛先とするかローカルコントローラ2を宛先とするかを決定することができる。好ましくは、構成メッセージがスイッチ4の構成を目的とする場合、パケットヘッダに示される第1のアドレスがネットワーク要素3のアドレスであり、パケットヘッダにある第2のアドレスがスイッチ4のアドレスである。構成メッセージがローカルコントローラ2の構成を目的とする場合は、第2のアドレスがローカルコントローラ2のアドレスになる。第2のアドレスは、サブアドレスであるか、またはソフトウェアインスタンスの指示とすることができる。
構成メッセージの文脈で説明されるアドレス、サブアドレス、ソフトウェアインスタンスの指示の実装と処理は、通信ネットワーク1内で処理される、詳細には制御されるどのパケットフローにも同様に適用できる可能性がある。
スイッチ4が、構成メッセージがローカルコントローラ2の構成を目的とすると決定した場合、スイッチ4は構成メッセージをローカルコントローラ2に転送する(図1、参照符号6b)。ローカルコントローラ2は、構成メッセージを使用して、本明細書に記載されるように、通信ネットワーク1のデバイス、要素、および構成要素のうち1つまたは複数の間の1つまたは複数のパケットフローを制御するように構成される。
好ましくは、スイッチ4およびローカルコントローラ2の構成を実施するために、中央コントローラ5は、最初のステップでスイッチ4を構成するための構成メッセージを送信し、2番目のステップでローカルコントローラ2を構成するための構成メッセージを送信することができる。スイッチ4の構成メッセージは、特にローカルコントローラ2のアドレスを含むことができ、したがって、スイッチ4がローカルコントローラ2の構成メッセージを受信すると、スイッチ4は、ローカルコントローラ2のアドレスを知り、ローカルコントローラ2を宛先とする構成メッセージをローカルコントローラ2に転送することができる。
図2は、通信ネットワーク1内で1つまたは複数のパケットフローを制御する方法のステップを説明する図である。第1のネットワーク要素3のスイッチ4がパケットフローのパケットを受信する(図2、参照符号9a)。パケットフローは、第2のネットワーク要素7を送信元とする可能性がある。さらに他の実施形態では、パケットフローは、中央コントローラ5またはローカルコントローラ2を送信元とする場合もある。スイッチ4は、パケットフローのパケットの転送の決定を行い、それに応じてパケットフローのパケットを転送する。
スイッチ4がパケットフローのパケットを中央コントローラ5に転送すべきと決定した場合、スイッチは、パケットフローのパケットを中央コントローラ5に転送する。同様に、スイッチ4は、パケットがローカルコントローラ2または第2のネットワーク要素7の1つまたは複数を宛先とすると決定した場合には、パケットをそれぞれローカルコントローラ2または第2のネットワーク要素7の1つまたは複数に転送する。
スイッチ4が受信したパケットフローをさらに転送するかどうかを決定するプロセスは、スイッチ4が受信したパケットフローを知っているか否かに依存する。言い換えると、パケットフローの送信先を得るために、スイッチ4はまず、受信されたパケットフローがスイッチ4に既知であるかどうかをスイッチ4の構成に従って決定する。スイッチ4は、好ましくは、詳細には、パケットフローのアドレスおよび送信先を含んでいる参照表により、スイッチ4が受信されたパケットフローの送信先を知っているかどうかを決定する。好ましい実施形態では、スイッチ4は、詳細には、参照表が、ヘッダフィールドと、パケットフローの転送先についてスイッチ4中に設定された規則との一致を含んでいるかどうかを決定し、それに応じてパケットフローを転送する。好ましい実施形態では、スイッチ4は、参照表が、詳細には受信されたパケットフローの送信先アドレスを含んでいるヘッダフィールドと、パケットフローの転送先についてスイッチ4中に設定された規則との一致を含んでいるかどうかを決定し、それに応じてパケットフローを転送する。参照表が受信されたパケットフローのヘッダフィールドと一致する規則を含んでいない場合は、スイッチ4がパケットの転送先を決定できないことを意味し、デフォルトの構成が提供される。好ましくは、デフォルトの構成に従って、パケットは中央コントローラに転送される。それに代えて、またはそれに加えて、デフォルトの構成に従って、パケットはローカルコントローラに転送される。好ましくは、パケットは破棄されることが可能である。好ましくは、パケットは、1つまたは複数の事前に定義された物理ポートおよび/または論理ポートに転送されることが可能である。
スイッチ4の構成に従ってパケットフローが既知のパケットフローである場合は、スイッチ4は、スイッチ4の構成に従ってパケットフローのパケットの送信先を決定する。
図3は、特定の既知のパケットフローの転送を説明する図である。スイッチ4が、第2のネットワーク要素7の1つからパケットフローのパケットを受信する(図3、参照符号9b)。スイッチ4は、受信されたパケットフローがスイッチ4に既知であり、詳細には、パケットフローを送信者に返送すべき状況を除いて、そのパケットフローを、好ましくはそのパケットフローの送信元である第2のネットワーク要素と同じではない1つまたは複数の第2のネットワーク要素7に転送すべきであると決定する。したがって、パケットフローは第2のネットワーク要素7の1つから受信され、スイッチにより、1つまたは複数の好ましくは異なる第2のネットワーク要素7、すなわち送信元のネットワーク要素とは異なる第2のネットワーク要素7に転送される(図3、参照符号9c)。
図4に示す別の例示的実施形態では、スイッチ4がパケットフローを受信し(図4、参照符号9d)、受信されたパケットフローはスイッチ4に既知であり、パケットフローの送信先がローカルコントローラ2であると決定する。したがって、スイッチ4はパケットをローカルコントローラ2に転送する(図4、参照符号9e)。
やはり図4に示すさらに別の例示的実施形態では、スイッチ4がパケットフローを受信し(図4、参照符号9f)、そのパケットフローがスイッチ4に既知であり、パケットフローの送信先が中央コントローラ5であると決定する。したがって、スイッチ4はパケットフローを中央コントローラ5に転送する(図4、参照符号9g)。
別の例示的実施形態では、スイッチ4が自身の構成に従ってスイッチ4に未知であるパケットフローを受信する。この場合、スイッチ4は、自身の構成、詳細には参照表で、パケットフローの宛先のネットワーク要素またはデバイスを決定することができない。例えば、スイッチ4は第2のネットワーク要素7の1つからパケットフローを受信するが、受信されたパケットフローのパケットに示されたアドレスがスイッチ4にとって未知のアドレスである。詳細には、スイッチ4の参照表が、受信されたパケットフローのアドレスのエントリ、または示されるアドレスと送信先との一致を含んでいない。その場合、スイッチ4は、中央コントローラ5またはローカルコントローラ2いずれかの助けを借りてパケットフローの送信先を決定することになる。
好ましい実施形態では、スイッチ4がパケットフローを受信し(図5、参照符号9h)、スイッチ4が自身の構成に従ってそのパケットフローを知らないと決定する。本実施形態では、スイッチ4は、スイッチ4に受信された未知のパケットフローのパケットを中央コントローラ5に転送するように構成される。言い換えると、スイッチ4の構成、詳細にはスイッチ4の参照表が、パケットフローを転送すべきネットワーク要素またはデバイスのアドレスを含んでいない。参照表は、ネットワーク要素のアドレスと、パケットフローを転送すべき送信先、例えばスイッチ4のポートとの一致さえも含んでいない。したがって、スイッチ4は、パケットフローを最終的に送信すべき、アドレス指定されたパケットフローの宛先の受信者であるネットワーク要素を知らず、また、スイッチ4は、スイッチのどのポート、この場合はどの出力ポートを介してそのパケットフローを転送すべきかも知らない。したがって、パケットフローはスイッチ4にとって未知である。スイッチ4は、未知のパケットフローまたは未知のパケットフローの1つまたは複数のパケットを中央コントローラ5に転送する(図5、参照符号9i)。中央コントローラ5は、パケットフローの送信先を決定し、パケットフローの送信先の指示をスイッチ4に送り返し(図5、参照符号9j)、スイッチ4はその指示に基づいてパケットフローの送信先を通知され、すなわちスイッチ4はパケットフローのパケットに示されたアドレスを送信先と知り、パケットフローを、スイッチ4に知られたアドレスに転送する。例えば、スイッチ4は、指示により、パケットフローを第2のネットワーク要素7の1つに転送すべきことを通知され、それに従ってパケットフローを指示されたネットワーク要素7に転送する(図5、参照符号9k)。
好ましくは、上述の実施形態で、スイッチ4に受信された未知のパケットフローの送信先を決定するために、スイッチ4は、未知のパケットフローのすべてのパケットを中央コントローラ5に送信するのではなく、スイッチ4は、受信された未知のパケットフローのパケットの1つまたは複数のみを中央コントローラ5に送信する。中央コントローラ5は、スイッチ4に未知のパケットフローの1つまたは複数のパケットを受信する。中央コントローラ5はパケットフローの送信先を決定する。中央コントローラ5は、パケットフローのネットワーク要素およびデバイスのアドレスを含んでいる参照表でパケットフローの送信先を決定することができる。中央コントローラ5は、パケットフローの送信先をスイッチ4に指示する。好ましくは、中央コントローラ5は、パケットフローの送信先を、前にスイッチ4から中央コントローラ5に送信されたパケットフローのパケットのうち1つまたは複数で指示し、指示されるアドレスを含んだパケットの1つまたは複数を、スイッチ4に既知の方式でスイッチ4に送り返す。送信先の指示は、中央コントローラ5がパケットのアドレスをスイッチに通知するという形で提供され、それによりスイッチ4はパケットフローのアドレスが属するネットワーク要素、すなわちパケットフローの転送先を知り、それに応じてパケットフローを転送することができる。別の実装では、送信先の指示は、詳細には、スイッチ4がパケットフローを転送する際に介するスイッチ4のポートアドレスである場合がある。その場合、スイッチ4は、パケットフローが最終的に送信されるネットワーク要素すら知らないが、スイッチ4は、指示されたスイッチ4のポートを介してパケットフローを転送するように通知され、それに従って指示されたポートを介してパケットフローを転送する。別の実装では、パケットフローを転送するためのパケットフローの送信先またはスイッチ4のポートの指示は、中央コントローラ5からスイッチに、その必要な転送情報、詳細には転送するスイッチ4のポート、またはパケットフローを転送すべきネットワーク要素の情報を含んでいるメッセージで送信され、例えば、スイッチ4の参照表に存在しないエントリを補う内容として転送情報と共に送信先アドレスを指示する。
図6に示す別の好ましい実施形態では、スイッチ4は、スイッチ4に未知のパケットフローのパケットをローカルコントローラ2に送信するように構成される。この場合、パケットの送信先はローカルコントローラ2によって決定され、指示される。スイッチ4はパケットフローを受信し(図6、参照符号9l)、スイッチ4の構成、詳細にはスイッチ4の参照表が、スイッチ4に受信されたパケットフローのパケットに示されたネットワーク要素のアドレス(パケットフローの転送先)を含んでいないことから、そのパケットフローがスイッチ4に未知であると決定する。したがって、スイッチ4は、そのパケットフローを送信すべき、アドレス指定されたパケットフローの宛先の受信者であるネットワーク要素を知らない。さらに、スイッチ4の参照表は、指示されたアドレスと、パケットフローをそれを介して転送すべきスイッチ4のポートとの一致すら含んでいない。したがって、パケットフローはスイッチ4に未知である。自身の構成に従って、スイッチ4は未知のパケットフローをローカルコントローラ2に転送する(図6、参照符号9m)。ローカルコントローラ2は、パケットフローの送信先を決定し、パケットフローの送信先の指示をスイッチ4に送り返す(図6、参照符号9n)。その指示に基づいて、スイッチ4にパケットフローの送信先が通知され、すなわちスイッチ4は、パケットフローのパケットに示されたアドレスを知り、それに応じてパケットフローを転送する。この例では、スイッチはここで第2のネットワーク要素7の1つにパケットフローを転送するように通知され、それに応じてパケットフローを転送する(図6、参照符号9o)。
好ましくは、上述の実施形態で、スイッチ4に受信された未知のパケットフローの送信先を決定するために、スイッチ4は、未知のパケットフローのすべてのパケットをローカルコントローラ2に送信するのではなく、スイッチ4は、受信された未知のパケットフローのパケットの1つまたは複数のみをローカルコントローラ2に送信する。ローカルコントローラ2は、スイッチ4に未知のパケットフローの1つまたは複数のパケットを受信する。ローカルコントローラ2はパケットフローの送信先を決定する。ローカルコントローラ2は、パケットフローのネットワーク要素およびデバイスのアドレスを含んでいる参照表で、パケットフローの送信先を決定することができる。ローカルコントローラ2は、パケットフローの送信先をスイッチ4に指示する。好ましくは、ローカルコントローラ2は、前にスイッチ4からローカルコントローラ2に送られたパケットフローのパケットのうち1つまたは複数でパケットフローの送信先を指示し、スイッチが、指示されるアドレスに対応するパケットフローを転送すべき送信先アドレスを決定できるような形で、アドレスの指示と共にパケットの1つまたは複数をスイッチ4に送り返す。送信先の指示は、ローカルコントローラ2がパケットのアドレスをスイッチ4に通知するという形で提供され、それによりスイッチ4はパケットフローのアドレスが属するネットワーク要素を知り、それに応じてパケットフローを転送することができる。別の実装では、送信先の指示は、詳細には、スイッチ4がパケットフローを転送する際に介するスイッチ4のポートアドレスである場合がある。その場合、スイッチ4は、パケットフローが最終的に送信されるネットワーク要素すら知らないが、スイッチ4は、指示されたスイッチ4のポートを介してパケットフローを転送するように通知され、それに従って指示されたポートを介してパケットフローを転送する。別の実装では、パケットフローを転送するためのパケットフローの送信先またはスイッチのポートの指示は、ローカルコントローラ2からスイッチ4に、その必要な転送情報、詳細には転送するスイッチのポート、または送信先アドレスに対応するネットワーク要素を指示する情報を含むメッセージで送信される。
好ましい実施形態では、パケットの転送は、スイッチ4の構成と、ローカルコントローラ2の構成に従ってローカルコントローラ2で適用される規則とに基づく。言い換えると、パケットをスイッチ4から転送すべき場合、スイッチ4は、上記のように中央コントローラ5から受信される構成メッセージで提供される自身の構成に従って、転送を決定する。さらに、好ましい実施形態では、スイッチは、ローカルコントローラ2で適用される転送に関する規則を適用することができ、したがって中央コントローラ5からの構成メッセージで構成される。つまり、スイッチ4およびローカルコントローラ2の構成が、構成メッセージを利用して中央コントローラ5から提供される。そして、スイッチ4が特定のパケットフローを転送しなければならない場合、スイッチ4は、スイッチ4の構成に基づいて転送を決定し、これは特定のパケットフローの転送を決定するのに十分である場合もある。しかし、他の状況では、中央コントローラ5から提供されるスイッチ4の構成は、特定のパケットフローの転送についてローカルコントローラ2の規則を付加的に適用できることを指示する場合もある。その理由から、ローカルコントローラ2は、スイッチ4による前記特定のパケットフローの転送の処理にローカルコントローラ2が適用する前記規則をもって、中央コントローラ5によってあらかじめ構成されている。これは、スイッチ4の詳細な構成の一部は、スイッチ4の詳細な構成に関して中央コントローラ5からローカルコントローラ2に提供される規則を使用して、ローカルコントローラ2を介して中央コントローラ5から提供されると言うこともできる。したがって、中央コントローラ5は、スイッチ4の構成のあらゆる詳細、例えば、パケットフローの転送を決定するために必要なすべてのトポロジー情報を提供する必要はなく、その負担から解放される。例えば、ローカルコントローラ2は、通信ネットワーク1のトポロジー情報を収集して格納するように構成される場合がある。トポロジー情報に基づいて、ローカルコントローラ2は、パケットの転送に関する規則をスイッチ4に送信することができる。ローカルコントローラ2は、その理由から、まず、ローカルコントローラ2に格納されているトポロジー情報に基づいてパケットフローの転送についての規則を決定する。そして、ローカルコントローラ2は、その転送規則をスイッチ4に送り、スイッチ4は、その転送規則がその特定のパケットフローに該当する限り、ローカルコントローラ2から提供されたその転送規則に従って特定のパケットフローの転送を決定する。
好ましい実施形態では、1つまたは複数のパケットフローを制御するために、パケットフローのパケットがローカルコントローラ2に転送される。ローカルコントローラ2は、ローカルコントローラ2の構成に従った規則に基づいて、受信されたパケットフローのパケットのヘッダフィールドを解釈し、それに応じてパケットを転送する。ローカルコントローラ2は、その理由から、ローカルコントローラ2の運用者が望むローカルコントローラ2のヘッダフィールドの解釈の仕方でヘッダフィールドを解釈するように構成されることが可能である。例えば、ローカルコントローラ2は、運用者による構成に応じた任意の形でパケットのアドレスフィールドを解釈するように構成される場合がある。したがって、ローカルコントローラ2は、詳細には任意のプロトコルに従って、どのパケット形式の受信パケットでも処理するように構成されることが可能である。
好ましくは、ローカルコントローラ2は、受信されたパケットのヘッダフィールドを解釈するだけでなく、ローカルコントローラ2は受信されたパケットの新しいヘッダフィールドを生成することもできる。好ましくは、ローカルコントローラは、受信されたパケットのヘッダフィールドを解釈してから、受信されたパケットに新しいヘッダフィールドを生成するように構成される。図7に示す例では、ローカルコントローラ2が、スイッチ4を介して、第2のネットワーク要素7の1つからパケットフローのパケットを受信する(図7、参照符号9p)。ローカルコントローラ2は、受信されたパケットヘッダフィールドを解釈し、新しいパケットヘッダフィールドを生成する。好ましくは、ローカルコントローラ2は、パケット/フレームジェネレータ8を備える。ローカルコントローラ2は、パケット/フレームジェネレータ8を使用して、送信するパケットに新しいヘッダフィールドを持つ新しいパケットを生成することができる。通例、ローカルコントローラ2は、適切なパラメータでパケット生成機能を呼び出して所望のヘッダフィールドを生成する。ローカルコントローラ2は、通信ネットワーク1で使用されるすべてのアドレスを符号化するのに6バイトで十分な場合は、2×8バイトのアドレスではなく、2×6バイトのアドレスを持つパケットを生成するように構成される場合があり、残りのアドレスは拡張されたパケット種別フィールドに使用される可能性がある。そのようなパケット形式は、必要とするアドレス空間は少ないが拡張されたパケット種別の区別を必要とする新しい技術の導入に有用である可能性がある。
好ましくは、ローカルコントローラ2は、6バイトのアドレス定義を持つパケットを受信し(図7、参照符号9p)、送信元アドレスに6バイトのアドレス、送信先アドレスに6バイトのアドレスを持つパケットを生成する。新しいヘッダフィールドを持つ新たに生成されたパケットは、送信元アドレスおよび送信先アドレスに16バイトではなく計12バイトしか必要としないため、4バイトが空き、他の用途に使用できるようになる。例えば、その空きバイトを使用して、拡張されたパケット種別、および/またはさらなる処理を行う際のパケットの優先度を示すことができる。次いで、ローカルコントローラ2は、第2のネットワーク要素7の1つにさらに転送するために、新しく生成されたヘッダフィールドを持つ新しいパケットをスイッチ4に送信することができる(図7、参照符号9q)。
好ましい実施形態では、ローカルコントローラ2は、パケット/フレームジェネレータ8を使用して1つまたは複数のメッセージを作成し、その1つまたは複数のメッセージをスイッチ4を介して1つまたは複数の第2のネットワーク要素7の1つまたは複数に送信する。ローカルコントローラ2は、上記のようにパケットフローのパケットを転送および受信するだけでなく、新しいパケットを作成し、そのパケットから新しいメッセージを形成するように構成することができる。その場合、ローカルコントローラ2は新しいメッセージを総合的に生成し、つまりローカルコントローラ2はパケットを変更するだけでなく、パケットを独自に生成する。したがって、ローカルコントローラ2はメッセージをゼロから、または総合的に作成する。これらのメッセージは、ルーティングプロトコルで使用されるhelloメッセージのように、ネイバに指示を与える周期的なメッセージである場合もある。helloメッセージで、ネットワーク要素は自身の存在を他のネットワーク要素に知らせる。例えば、第1のネットワーク要素3が第2のネットワーク要素7の1つまたは複数に自身の存在を知らせる(また可能性としては、その逆に、第2のネットワーク要素7のローカルコントローラから送信され、通信ネットワーク1内をホップ方式で転送される対応するhelloメッセージで、第1のネットワーク要素3に第2のネットワーク要素7の1つまたは複数、好ましくはすべての存在が知らされる)。したがって、ネットワーク要素3、7には他のネットワーク要素7、3の存在についての情報が提供される。
好ましい実施形態では、ローカルコントローラ2によって作成されるメッセージは、追跡メッセージ、ループバックメッセージ、pingメッセージなど、リンクの完全性検査、操作、および保守管理のメッセージとすることができる。トポロジーの発見がネットワーク要素に委ねられ、それぞれのネットワーク要素の内部にあるローカルコントローラから提供される場合、ローカルコントローラ2で作成されるメッセージは、ルーティングプロトコルで使用されるリンク状態プロトコルデータ単位(LSP(link state protocol))とすることができる。
好ましい実施形態では、パケットフローの1つまたは複数のパケットがローカルコントローラ(2)に転送される(図7、参照符号9p)。ローカルコントローラ(2)は、パケットフローの1つまたは複数のパケットを受信する。ローカルコントローラ(2)は、受信されたパケットフローのパケット中のヘッダフィールドを、ローカルコントローラ(2)の構成に従う規則に基づいて解釈し、内部のプロトコルスタックを使用してパケットフローのパケットを処理することにより、パケットフローのパケットを終端する。
例示の理由で、図8に、パケット/フレームジェネレータ8を使用してローカルコントローラ2で作成され、スイッチ4を介して第2のネットワーク要素7に送信される(図8、参照符号9r)helloメッセージを示す。
好ましい実施形態では、ローカルコントローラ2は、通信ネットワーク1または通信ネットワーク1の一部のローカル状態を保持するように構成される場合がある。したがって、ローカルコントローラ2は、学習されたMACアドレスのテーブル、ルーティングプロトコルのネイバのデータベース、および/またはトポロジーデータベースを格納するように構成される。ローカルコントローラ2は、第2のネットワーク要素7からのネイバのアドバタイズメントまたはそれに相当するメッセージでMACアドレスを受け取り、その情報をデータベースに格納する。ローカルコントローラ2は、第2のネットワーク要素7のMACアドレスの情報を中央コントローラ5から受信し、その情報をデータベースに格納することができる。
同様に、ローカルコントローラ2は、プロトコルのピアエンティティの現在の状態を格納する状態機械を実装し、対応するプロトコルピアまたは他のプロトコルピアから受け取られるパケットに含まれている情報に基づいて、現在の状態を更新することもできる。
同様に、ローカルコントローラ2は、ルーティングプロトコルのネイバについての適切な情報を含むルーティングプロトコルのネイバのデータベース、ならびに/または、第2のネットワーク要素7および/もしくは中央コントローラ5からの情報メッセージに基づくトポロジーデータベースを実装することもできる。この実装のために、中央コントローラ5は、通信ネットワーク1についての情報がローカルコントローラに格納される限り、通信ネットワーク1のすべての情報を格納する必要がなくなるか、または必要が軽減される。いずれの場合も、この情報を中央コントローラ5との間で提供および取得するための中央コントローラ5との通信は、この情報が第1のネットワーク要素3のローカルコントローラ2および/または第2のネットワーク要素7のローカルコントローラとの間で提供および取得できる限り、減る。
好ましくは、中央コントローラ5は、オープンプログラマビリティの概念を維持するインターフェースを介して、第1のネットワーク要素3のスイッチ4および第1のネットワーク要素3のローカルコントローラ2と通信する。一方の側の中央コントローラ5と、他方の側のスイッチ4およびローカルコントローラ2を備える第1のネットワーク要素3との間のインターフェースは、Southboundインターフェースと呼ばれることがある。このインターフェースは、OpenFlowプロトコルで定義される可能性がある。同じことが、中央コントローラ5と第2のネットワーク要素7の間の通信にも当てはまる。
好ましくは、ローカルコントローラ2は、ネットワーク要素3の運用者が望むローカルコントローラ2の任意の構成方式で構成されることが可能である。つまり、ローカルコントローラ2の構成に関して、運用者はベンダー固有の実装や事前構成の制約を受けない。したがって、ローカルコントローラ2を含むネットワーク要素3の運用者は、ローカルコントローラ2を含むネットワーク要素3のベンダーによる事前構成に従って一部のパラメータを構成するだけでなく、ローカルコントローラ2の完全な構成を提供することができる。同様に、ネットワーク要素3の運用者は、ベンダー固有の実装や事前構成に制約されることなく、スイッチ4の完全な構成を提供することができる。
第1のネットワーク要素3は、スイッチ4およびローカルコントローラ2を備える(図1参照)。スイッチ4およびローカルコントローラ2は、中央コントローラ5からの構成メッセージを受信するように構成され、また、第1のネットワーク要素3のスイッチ4の構成およびローカルコントローラ5の構成に基づいて、第1のネットワーク要素3のスイッチ4と、第1のネットワーク要素3のローカルコントローラ2と、中央コントローラ5と、1つもしくは複数の第2のネットワーク要素7と、の1つまたは複数の間の1つまたは複数のパケットフローを制御するように構成される。
好ましい実施形態では、ローカルコントローラ2は、第1のネットワーク要素3内に複数のモジュールを備え、その複数のモジュールの各モジュールは、複数のモジュールの他のモジュールによって実装されるタスクと異なる1つまたは複数のタスクを実装し、各モジュールは、その他のモジュールの論理ポートと異なる1つの論理ポートを介してアドレス指定される。
好ましい実施形態では、ローカルコントローラ2は、第1のネットワーク要素3の中に、異なるタスクを持つ複数の衛星コントローラを含むモジュール方式で実装される場合がある。衛星コントローラはそれぞれ、モジュール方式で実装されるローカルコントローラ2の他の衛星コントローラの論理ポートと異なる1つの論理ポートを介してアドレス指定される場合がある。1つまたは複数の衛星コントローラは、同じ物理ポートに接続され、サブアドレス、すなわち論理ポートを介して区別することができ、一方、1つまたは複数のさらに他の衛星コントローラは別の物理ポートに接続され、サブアドレス、すなわち論理ポートを介して区別することができる。
好ましい実施形態では、ローカルコントローラ2は、第1のネットワーク要素3内に複数のインスタンス、詳細にはソフトウェアインスタンスを備え、ローカルコントローラ2の各インスタンスは1つまたは複数のタスクを実装し、ローカルコントローラ2の各インスタンスは、複数の管理者のうち1人の管理者によって制御可能である。
本発明は、中央SDNアーキテクチャなど、中央コントローラだけを設け、ローカルコントローラを一切設けない実装と比べてスケーラビリティを改善する。ネットワーク要素で実装されるローカルコントローラの概念に基づくと、中央コントローラに過負荷をかけることなく通信ネットワークを拡張することができる。これは、上記の制御機能の多くがローカルコントローラ、すなわちローカルコントローラを備えるネットワーク要素によって提供されるからである。さらに、非集中型の実装に基づくと、バックアップコントローラの実装が容易になり、通信ネットワークの制御の可用性が高まる。この事例ではプライマリ中央コントローラと呼ぶ中央コントローラのバックアップコントローラは、プライマリ中央コントローラが機能しなくなった場合にアクティブ化すべきである。このローカルコントローラの実装のために、バックアップコントローラの実装が容易になる。これは、通信ネットワークについての情報がローカルコントローラによって格納および提供される限り、中央コントローラと、したがってバックアップ用の中央コントローラにも、通信ネットワークについての情報のすべてを提供する必要がなくなるからである。
さらに、本発明は、ローカルコントローラがあるために応答時間が短縮するという利点をもたらす。ローカルコントローラとネットワーク要素の間で交換される制御情報が、制御情報が常に中央コントローラとの間で交換されているかのように高速になるので、必要な制御情報を提供するプロセスが高速化され、したがって応答時間が短縮される。同様に、ローカルコントローラが、別のネットワーク要素に要求したメッセージ、または別のネットワーク要素から予期されるメッセージ、例えばhelloメッセージが送信されてこないと判断した場合、ローカルコントローラへの伝送時間は中央コントローラへの伝送時間より短いので、ローカルコントローラは中央コントローラとしてその障害により迅速に反応することができる。さらに、ローカルコントローラの実装に基づくと、制御ネットワークの容量を減らすことができる。例えば、トポロジー情報は各ネットワーク要素に静的に構成される場合も、かつ/またはローカルコントローラ間で交換されるトポロジー情報のリストで提供され、更新される場合もある。ネットワーク要素と中央コントローラの間ですべてのトポロジー情報を交換しなければならない場合には、制御パケットフローが膨大になる。ローカルコントローラがあるために、制御情報、例えばトポロジー情報は、ローカルコントローラを備えるネットワーク要素間だけで転送されればよく、それにより制御情報のパケットフローを減らす。同じ理由により、ローカルコントローラが自身が格納しているトポロジーデータベースの現在のコピーを直接バックアップコントローラに提供することができるので、冗長なコントローラのための例えばトポロジーデータベースの同期が容易になる。バックアップコントローラは、中央コントローラに対して実装される可能性がある。好ましい実施形態では、モジュール方式で実装されるローカルコントローラ2のモジュールが、モジュール方式で実装されるローカルコントローラ2の他のモジュールのためのバックアップ機能を持つことができる。
本発明は、中央コントローラとネットワーク要素の間をオープンインターフェースにする利点をもたらす。したがって、ネットワーク要素の運用者は、ネットワーク要素、スイッチ、およびローカルコントローラのベンダーによる制約を受けずに、ローカルコントローラとさらにスイッチを望むように構成することができる。オープンインターフェースであるために、運用者は、新しいプロトコル、パケット形式、および技術を導入することができる。制御機能がネットワーク要素内のローカルコントローラによって提供されるため、スイッチに市販ハードウェアを使用することができ、拡張された制御機能を持つスイッチの場合は費用が低減する(ルータが使用される場合には同じことがルータに該当する)。ローカルコントローラはモノリシックなオペレーティングシステムではなく、コードを稼働中に柔軟に変更することができ、新しい機能、詳細には新しいパケット形式および/またはプロトコルをサービスの中断やリブートを行わずに取り込むことができるプログラミング空間である。新しい機能でネットワーク全体をアップグレードすることも、中央コントローラのNorthboundインターフェースに接続するアプリケーションを介して自動化されることが可能である。

Claims (15)

  1. 1つまたは複数のネットワーク要素(3、7)を備える通信ネットワーク(1)内の制御を提供する方法であって、
    中央コントローラ(5)から受信される(6a、6b)1つまたは複数の構成メッセージを使用して、通信ネットワーク(1)の第1のネットワーク要素(3)のスイッチ(4)と、第1のネットワーク要素(3)のローカルコントローラ(2)とを構成するステップと、
    第1のネットワーク要素(3)のスイッチ(4)の構成とローカルコントローラ(5)の構成とに基づいて、第1のネットワーク要素(3)のスイッチ(4)と、第1のネットワーク要素(3)のローカルコントローラ(2)と、中央コントローラ(5)と、1つもしくは複数の第2のネットワーク要素(7)と、の1つまたは複数の間の1つまたは複数のパケットフローを制御する(9a−9r)ステップと
    を含む、方法。
  2. ローカルコントローラ(2)を構成するステップが、
    第1のネットワーク要素(3)のスイッチ(4)で、中央コントローラ(5)から1つまたは複数の構成メッセージを受信し(6a)、その構成メッセージを第1のネットワーク要素(3)のローカルコントローラ(2)に転送する(6b)ステップを含む、請求項1に記載の方法。
  3. 1つまたは複数のパケットフローを制御するステップが、
    第1のネットワーク要素(3)のスイッチ(4)で、1つまたは複数のパケットフローのうちのパケットフローのパケットを受信する(9a、9b、9d、9f、9h、9l、9p)ステップと、
    第1のネットワーク要素(3)のスイッチ(4)が、パケットフローのパケットの転送を決定するステップと、
    スイッチ(4)が、パケットフローのパケットを転送する(9c、9g、9e、9k、9o、9q)ステップと
    を含む、請求項1に記載の方法。
  4. スイッチ(4)でパケットフローのパケットを転送するステップが、
    スイッチ(4)がパケットフローのパケットの転送を決定するステップの結果に従って、パケットフローのパケットを、中央コントローラ(5)、ローカルコントローラ(2)、または1つもしくは複数の第2のネットワーク要素(7)の1つもしくは複数、に転送するステップを含む、請求項3に記載の方法。
  5. 第1のネットワーク要素(3)のスイッチ(4)がパケットフローのパケットの転送を決定するステップが、
    パケットフローが、スイッチ(4)の構成に従って既知のパケットフローである場合は、スイッチ(4)の構成に従ってパケットフローのパケットの送信先を決定するステップ
    を含む、請求項3に記載の方法。
  6. ネットワーク要素(3)のスイッチ(4)がパケットフローのパケットの転送を決定するステップが、
    パケットフローが、スイッチ(4)の構成に従って未知のフローである場合は、
    スイッチ(4)が、スイッチ(4)の構成に従って、未知のパケットフローの1つまたは複数のパケットを中央コントローラ(5)またはローカルコントローラ(2)に送信するステップと、
    未知のパケットフローの1つまたは複数のパケットが中央コントローラ(5)に送信された(9i)場合には中央コントローラ(5)がパケットの送信先を決定し、未知のパケットフローの1つまたは複数のパケットがローカルコントローラ(2)に送信された(9m)場合にはローカルコントローラ(2)がパケットの送信先を決定するステップと、
    未知のパケットフローの1つまたは複数のパケットが中央コントローラ(5)に送信された(9i)場合には中央コントローラ(5)がパケットフローの送信先をスイッチ(4)に指示し(9j)、未知のパケットフローの1つまたは複数のパケットがローカルコントローラ(2)に送信された(9m)場合にはローカルコントローラ(2)がパケットフローの送信先をスイッチ(4)に指示する(9n)ステップと
    を含む、請求項3に記載の方法。
  7. 1つまたは複数のパケットフローを制御するステップが、
    スイッチ(4)の構成と、ローカルコントローラ(2)の構成に従ってローカルコントローラ(2)によって適用される規則とに基づいて、1つまたは複数のパケットフローのうち1つまたは複数のパケットフローのパケットを、第1のネットワーク要素(3)のスイッチ(4)から、1つまたは複数の第2のネットワーク要素(7)の1つまたは複数に転送するステップ
    を含む、請求項1に記載の方法。
  8. 1つまたは複数のパケットフローを制御するステップが、
    パケットフローのパケットをローカルコントローラ(2)に転送する(9p)ステップと、
    ローカルコントローラ(2)の構成に従った規則に基づいて、受信されたパケットフローのパケット中のヘッダフィールドを解釈するステップと、
    好ましくは、新しいヘッダフィールドを生成するステップと、
    ローカルコントローラ(2)がパケットを転送する(9q)ステップと
    をさらに含む、請求項1に記載の方法。
  9. 1つまたは複数のパケットフローを制御するステップが、
    ローカルコントローラ(2)のパケット/フレームジェネレータ(7)で、新しいヘッダフィールドを持つ新しいパケットを生成するステップ
    をさらに含む、請求項 に記載の方法。
  10. 制御するステップが、
    ローカルコントローラ(2)が、パケット/フレームジェネレータ(8)を使用して1つまたは複数のメッセージを作成するステップと、
    1つまたは複数のメッセージを、ローカルコントローラ(2)から、スイッチ(4)を介して、1つまたは複数の第2のネットワーク要素(7)の1つまたは複数に送信する(9r)ステップと
    をさらに含む、請求項1に記載の方法。
  11. ローカルコントローラが、ピアエンティティの状態機械を格納することにより、かつ/または、学習されたMACアドレスのテーブル、ルーティングプロトコルのネイバのデータベース、および/もしくはトポロジーデータベースを格納することにより、ローカル状態を保持するステップをさらに含む、請求項1に記載の方法。
  12. 中央コントローラ(5)が、特にOpenFlowプロトコルで定義される、オープンプログラマビリティの概念を維持するインターフェースを介して、第1のネットワーク要素(3)のスイッチ(4)および第1のネットワーク要素(3)のローカルコントローラ(2)と通信する、請求項1に記載の方法。
  13. ローカルコントローラ(2)を構成するステップが、
    ネットワーク要素(3)の運用者が望むローカルコントローラ(2)の任意の構成方式でローカルコントローラ(2)を構成するステップであって、ローカルコントローラ(2)の構成はすべてがネットワーク要素(3)の運用者によって提供される、構成するステップを含む、請求項1に記載の方法。
  14. ローカルコントローラ(2)が、第1のネットワーク要素(3)の中に複数のモジュールを備え、複数のモジュールの各モジュールは、複数のモジュールの他のモジュールによって実装されるタスクと異なる1つまたは複数のタスクを実装し、各モジュールは、他のモジュールの論理ポートと異なる1つの論理ポートを介してアドレス指定され、かつ/または、ローカルコントローラ(2)は、第1のネットワーク要素(3)の中に複数のインスタンス、詳細にはソフトウェアインスタンスを備え、ローカルコントローラ(2)の各インスタンスは1つまたは複数のタスクを実装し、ローカルコントローラ(2)の各インスタンスは、複数の管理者の中の1人の管理者によって制御可能である、請求項1に記載の方法。
  15. スイッチ(4)とローカルコントローラ(2)とを備える第1のネットワーク要素(3)であって、スイッチ(4)およびローカルコントローラ(2)は、中央コントローラ(5)から構成メッセージを受信する(6a、6b)ように構成され、第1のネットワーク要素(3)のスイッチ(4)の構成およびローカルコントローラ(2)の構成に基づいて、第1のネットワーク要素(3)のスイッチ(4)と、第1のネットワーク要素(3)のローカルコントローラ(2)と、中央コントローラ(5)と、1つもしくは複数の第2のネットワーク要素(7)と、の1つまたは複数間で、1つまたは複数のパケットフローを制御する(9a−9r)ように構成される、第1のネットワーク要素(3)。
JP2016538739A 2013-12-12 2014-11-19 通信ネットワーク内の制御を提供する方法 Expired - Fee Related JP6280223B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP13196829.9 2013-12-12
EP13196829.9A EP2884694B1 (en) 2013-12-12 2013-12-12 A method for providing control in a communication network
PCT/EP2014/075045 WO2015086277A1 (en) 2013-12-12 2014-11-19 A method for providing control in a communication network

Publications (2)

Publication Number Publication Date
JP2017503408A true JP2017503408A (ja) 2017-01-26
JP6280223B2 JP6280223B2 (ja) 2018-02-14

Family

ID=49765360

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016538739A Expired - Fee Related JP6280223B2 (ja) 2013-12-12 2014-11-19 通信ネットワーク内の制御を提供する方法

Country Status (4)

Country Link
US (1) US10033630B2 (ja)
EP (1) EP2884694B1 (ja)
JP (1) JP6280223B2 (ja)
WO (1) WO2015086277A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3340534B1 (en) * 2016-12-20 2021-01-20 Alcatel Lucent A local sdn controller and corresponding method of performing network control and management functions
KR102342734B1 (ko) * 2017-04-04 2021-12-23 삼성전자주식회사 Sdn 제어 장치 및 이의 데이터 패킷의 전송 룰 설정 방법
US10616339B2 (en) 2017-11-28 2020-04-07 Dell Products, L.P. System and method to configure, manage, and monitor stacking of ethernet devices in a software defined network
US20200067851A1 (en) * 2018-08-21 2020-02-27 Argela Yazilim ve Bilisim Teknolojileri San. ve Tic. A.S. Smart software-defined network (sdn) switch
WO2022085013A1 (en) * 2020-10-22 2022-04-28 Telefonaktiebolaget Lm Ericsson (Publ) System and method to resync flow rules

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012101689A1 (en) * 2011-01-28 2012-08-02 Nec Corporation Communication system, forwarding node, control device, communication control method, and program
WO2013043604A1 (en) * 2011-09-20 2013-03-28 Big Switch Networks, Inc. System and methods for controlling network traffic through virtual switches
WO2013063330A1 (en) * 2011-10-25 2013-05-02 Nicira, Inc. Chassis controllers for converting universal flows
JP2013522934A (ja) * 2010-11-22 2013-06-13 日本電気株式会社 通信システム、通信装置、制御装置、パケットフローの転送経路の制御方法及びプログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2408155A4 (en) * 2009-03-09 2015-01-28 Nec Corp OPENFLOW COMMUNICATION SYSTEM AND OPENFLOW COMMUNICATION METHOD
US8503307B2 (en) * 2010-05-10 2013-08-06 Hewlett-Packard Development Company, L.P. Distributing decision making in a centralized flow routing system
US9137107B2 (en) * 2011-10-25 2015-09-15 Nicira, Inc. Physical controllers for converting universal flows
EP2874358A4 (en) * 2012-07-13 2016-03-23 Nec Corp CONTROL DEVICE, COMMUNICATION SYSTEM, COMMUNICATION PROCESS AND PROGRAM
US9071529B2 (en) * 2012-10-08 2015-06-30 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for accelerating forwarding in software-defined networks
US8989194B1 (en) * 2012-12-18 2015-03-24 Google Inc. Systems and methods for improving network redundancy and for facile initialization in a centrally-controlled network
US9253117B1 (en) * 2012-12-18 2016-02-02 Google Inc. Systems and methods for reducing network hardware of a centrally-controlled network using in-band network connections
US8964752B2 (en) * 2013-02-25 2015-02-24 Telefonaktiebolaget L M Ericsson (Publ) Method and system for flow table lookup parallelization in a software defined networking (SDN) system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013522934A (ja) * 2010-11-22 2013-06-13 日本電気株式会社 通信システム、通信装置、制御装置、パケットフローの転送経路の制御方法及びプログラム
WO2012101689A1 (en) * 2011-01-28 2012-08-02 Nec Corporation Communication system, forwarding node, control device, communication control method, and program
WO2013043604A1 (en) * 2011-09-20 2013-03-28 Big Switch Networks, Inc. System and methods for controlling network traffic through virtual switches
WO2013063330A1 (en) * 2011-10-25 2013-05-02 Nicira, Inc. Chassis controllers for converting universal flows

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"SOHEIL HASSAS YEGANEH ET AL: Kandoo:A Framework for Efficient and Scalable Offloading of Control A", HOTSDN'12, JPN6017028118, 13 August 2012 (2012-08-13), pages 19-24 *

Also Published As

Publication number Publication date
US20160261491A1 (en) 2016-09-08
US10033630B2 (en) 2018-07-24
JP6280223B2 (ja) 2018-02-14
EP2884694B1 (en) 2017-08-23
EP2884694A1 (en) 2015-06-17
WO2015086277A1 (en) 2015-06-18

Similar Documents

Publication Publication Date Title
US11134012B2 (en) Communication system, communication device, controller, and method and program for controlling forwarding path of packet flow
EP3295654B1 (en) Configuration of network elements for automated policy-based routing
US10791053B2 (en) Service function chain SFC-based communication method, and apparatus
JP6004405B2 (ja) コントローラでネットワークパケット転送を管理するシステム及び方法
JP5664557B2 (ja) 計算機、ネットワーク接続切替え方法およびプログラム
US20130170354A1 (en) Computer system and communication method in computer system
JP6280223B2 (ja) 通信ネットワーク内の制御を提供する方法
JP2017506025A (ja) ネットワークサービス挿入を実行するシステム及び方法
EP3694145A1 (en) Method and device for sending messages
JP6752141B2 (ja) パケットを処理するための方法およびフォワーダ
JP2022068125A (ja) トラフィックフォワーディングを制御するための方法、装置及びシステム
US10523629B2 (en) Control apparatus, communication system, communication method, and program
US20150200813A1 (en) Server connection apparatus and server connection method
CN114338508A (zh) 一种检测路由环路的方法、设备及系统
JP2017098738A (ja) 制御装置、通信システム、制御方法およびプログラム
KR102085331B1 (ko) 네트워크 이중화 환경에서 투명 프록시를 이용한 패킷 처리 방법 및 패킷 처리 시스템
CN113965464A (zh) 虚拟化网络功能网元互通的方法及网络设备
CN116800606A (zh) 网络变更方法、网络控制设备及存储介质
JP2017183960A (ja) スイッチ制御装置、方法およびプログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170615

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170801

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171027

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180118

R150 Certificate of patent or registration of utility model

Ref document number: 6280223

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees