JP5950019B2 - 通信システム、統合コントローラ、パケット転送方法及びプログラム - Google Patents
通信システム、統合コントローラ、パケット転送方法及びプログラム Download PDFInfo
- Publication number
- JP5950019B2 JP5950019B2 JP2015504377A JP2015504377A JP5950019B2 JP 5950019 B2 JP5950019 B2 JP 5950019B2 JP 2015504377 A JP2015504377 A JP 2015504377A JP 2015504377 A JP2015504377 A JP 2015504377A JP 5950019 B2 JP5950019 B2 JP 5950019B2
- Authority
- JP
- Japan
- Prior art keywords
- switch
- controller
- packet
- openflow
- trill
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000012546 transfer Methods 0.000 title claims description 38
- 238000004891 communication Methods 0.000 title claims description 29
- 238000000034 method Methods 0.000 title claims description 19
- 230000008569 process Effects 0.000 claims description 6
- 238000012545 processing Methods 0.000 description 37
- 238000004364 calculation method Methods 0.000 description 23
- 230000005540 biological transmission Effects 0.000 description 17
- 239000002775 capsule Substances 0.000 description 12
- 238000010586 diagram Methods 0.000 description 5
- 238000005538 encapsulation Methods 0.000 description 4
- 230000004931 aggregating effect Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/58—Association of routers
- H04L45/586—Association of routers of virtual routers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/64—Routing or path finding of packets in data switching networks using an overlay routing layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
- H04L41/0826—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability for reduction of network costs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
- H04L41/122—Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
[関連出願についての記載]
本発明は、日本国特許出願:特願2013−045263号(2013年 3月 7日出願)に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、通信システム、統合コントローラ、パケット転送方法及びプログラムに関し、特に、集中制御型のネットワークと自律制御型のネットワークとをそれぞれ制御する通信システム、統合コントローラ、パケット転送方法及びプログラムに関する。
本発明は、日本国特許出願:特願2013−045263号(2013年 3月 7日出願)に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、通信システム、統合コントローラ、パケット転送方法及びプログラムに関し、特に、集中制御型のネットワークと自律制御型のネットワークとをそれぞれ制御する通信システム、統合コントローラ、パケット転送方法及びプログラムに関する。
近年OpenFlowという技術が提案されている(非特許文献1、2参照)。OpenFlowでは、パケット転送と経路制御の機能が分離されており、ネットワーク機器がパケット転送を担当し、ネットワーク機器の外部に置かれたコントローラが経路制御を担当する。これにより、外部からの制御が容易になり、柔軟性に富んだネットワークを構築することが可能になる。
図14にOpenFlow 1.0.0の基本的な構成例を示す。図14では、ネットワーク機器の例としてスイッチを示す。OpenFlowは、OpenFlowプロトコルをサポートしたネットワーク機器と、外部に置かれたコントローラで構成される。ネットワーク機器とコントローラは、セキュアチャンネル(Secure Channel)で接続されており、OpenFlowプロトコルで通信を行う。OpenFlowでは、ネットワーク機器のパケット転送と経路制御は分離されており、ネットワーク機器はパケット転送を行い、コントローラはネットワーク機器の経路制御を行う。具体的には、コントローラはスイッチに、マッチ条件(図14のHeader Field)、統計情報(図14のCounter)、処理内容(図14のAction)を対応付けたフローエントリを設定し、スイッチは、設定されたフローエントリの中から、受信パケットに適合するマッチ条件を持つエントリを検索し、該当するエントリが見つかった場合、そのエントリの処理内容(図14のAction)を受信パケットに適用する。
一方、柔軟性に富んだネットワークを構築する方法として、TRILLという技術が提案されている(非特許文献3)。TRILLでは、ネットワーク機器がパケット転送と経路制御の機能を持つ。TRILLでは、ネットワーク機器が受信したイーサネット(登録商標)フレームを別のイーサネットフレームでカプセル化し、新たな宛先MACアドレス(Media Access Control Address)と送信元MACアドレス及びVLANタグを付加する。さらに、TRILLでは、InglessスイッチやEglessスイッチ等の情報を格納する独自のTRILLヘッダも加える。
以下、図15を参照して、TRILLによる処理の流れを示す。
(1)TRILLスイッチAは、ノードAからパケットを受信する。TRILLスイッチAは、フォワーディングテーブルを検索し、元のイーサネットヘッダの情報を基に入力RBridge(Routing Bridge)と出力RBridgeのNicknameを調べる。TRILLスイッチAは、前記RBridgeのNicknameを設定したTRILLヘッダを加え、新しいイーサネットヘッダでカプセル化を行いネクストホップであるTRILLスイッチBへ送信する。
(2)TRILLスイッチBは、フォワーディングテーブルを検索し、イーサネットヘッダの宛先MACアドレスと送信元MACアドレスを書き変えて、ネクストホップであるTRILLスイッチDへ送信する。
(3)TRILLスイッチDは、フォワーディングテーブルを検索し、宛先であるノードBが自身の配下に接続されていることが分かるとTRILLヘッダと外側のイーサネットヘッダを外してからノードBへ送信する。
(1)TRILLスイッチAは、ノードAからパケットを受信する。TRILLスイッチAは、フォワーディングテーブルを検索し、元のイーサネットヘッダの情報を基に入力RBridge(Routing Bridge)と出力RBridgeのNicknameを調べる。TRILLスイッチAは、前記RBridgeのNicknameを設定したTRILLヘッダを加え、新しいイーサネットヘッダでカプセル化を行いネクストホップであるTRILLスイッチBへ送信する。
(2)TRILLスイッチBは、フォワーディングテーブルを検索し、イーサネットヘッダの宛先MACアドレスと送信元MACアドレスを書き変えて、ネクストホップであるTRILLスイッチDへ送信する。
(3)TRILLスイッチDは、フォワーディングテーブルを検索し、宛先であるノードBが自身の配下に接続されていることが分かるとTRILLヘッダと外側のイーサネットヘッダを外してからノードBへ送信する。
TRILLでは、フォワーディングテーブルの生成のためにIS−IS(Intermediate System to Intermediate System)を用いている。TRILLスイッチはお互いにIS−ISパケットを送受信することでフォワーディングテーブルを生成する。
Nick McKeownほか7名、"OpenFlow: Enabling Innovation in Campus Networks"、[online]、[平成25(2013)年2月23日検索]、インターネット〈URL:http://www.openflow.org/documents/openflow-wp-latest.pdf〉
"OpenFlow Switch Specification" Version 1.0.0 (Wire Protocol 0x01)、[online]、[平成25(2013)年2月23日検索]、インターネット〈URL:http://www.openflow.org/documents/openflow-spec-v1.0.0.pdf〉
"Transparent Interconnection of Lots of Links (TRILL)"、[online]、[平成25(2013)年2月23日検索]、インターネット〈URL:http://datatracker.ietf.org/wg/TRILL/〉
以下の分析は、本発明によって与えられたものである。非特許文献1、2のOpenFlowコントローラは、OpenFlowスイッチのリンクコストを基に経路計算を行い、最小コストの経路上のOpenFlowスイッチに前記経路に沿った転送を実現するフローエントリ(制御情報)を設定する。その際に、OpenFlowコントローラは、自身の制御下に無く、OpenFlowに非対応なスイッチのトポロジやリンクコストについては、もとより収集できないため、経路計算の際にも使用しない。
一方、TRILL(Transparent Interconnect of Lots of Links)スイッチでは、TRILLスイッチ間でリンクコスト情報を交換し合い、各TRILLスイッチが自律的に経路計算を行い、パケットの宛先までの最小コストの経路を使用する。
ここで、図2のようなOpenFlowネットワークとTRILLネットワークが隣接し、且つ、複数の隣接点が存在するネットワークにおいて、パケットの宛先までの経路が複数存在する場合を考える。OpenFlowコントローラはTRILLネットワーク内のトポロジやリンクコスト情報を取得できないため、TRILLネットワークの情報を経路制御に使用することが出来ない。また、TRILLスイッチは、OpenFlowスイッチからトポロジやリンクコスト情報を取得することはできないため、OpenFlowネットワークの情報を経路計算に使用することができない。
ここで、OpenFlowコントローラ内にソフトウェアでTRILLスイッチを作り、OpenFlowネットワーク全体を一つのTRILLスイッチとして動作させる方法が考えられる。しかし、OpenFlowネットワーク全体を一つのTRILLスイッチとして動作させる方法では、最小コストの経路を選択できない場合がある。
具体例として図4〜図7を用いて説明する。図4は物理トポロジを示しており、図5と図6は、図4のスイッチ間のリンクコストを表している。図4において、ノードCからノードAへの最小コストの経路は、図7に示すように「ノードC→TRILLスイッチ50−4→TRILLスイッチ50−1→OpenFlowスイッチ40−5→OpenFlowスイッチ40−3→OpenFlowスイッチ40−1→ノードA」となる。ノードCからノードBへの最小コストの経路は、「ノードC→TRILLスイッチ50−4→TRILLスイッチ50−2→OpenFlowスイッチ40−6→OpenFlowスイッチ40−4→OpenFlowスイッチ40−2→ノードB」となる。
図4において、OpenFlowネットワークを一つのTRILLスイッチであると見做すと、ノードCからノードBへの最小コストの経路は、「ノードC→TRILLスイッチ50−4→TRILLスイッチ50−1→OpenFlowスイッチ40−5」というようになり、本来の最小コストの経路とは異なる経路となる。
本発明は、上記上位装置からの示された経路でパケットを転送するネットワークと自律制御型で経路制御を行うネットワークとを接続した環境における経路制御手段の提供に貢献する通信システム、統合コントローラ、パケット転送方法及びプログラムを提供することを目的とする。
第1の視点によれば、所定のルーティングプロトコルにより隣接するスイッチと情報交換を行って転送テーブルを生成し、該転送テーブルを参照してパケットを転送する第1のスイッチと、所定のコントローラからの指示に従いパケットを転送する第2のスイッチと、前記第2のスイッチに指示を与えるコントローラと、前記コントローラに、前記第2のスイッチに対する指定した経路でのパケット転送指示と、前記第1のスイッチを仮想化したスイッチで構成された仮想ネットワークの生成とを指示し、前記仮想ネットワークにマッピングされた第2のスイッチと前記第1のスイッチ間で前記所定のルーティングプロトコルによる情報交換を行わせることで、予め計算した経路に沿ったパケット転送を行わせる統合コントローラと、を含む通信システムが提供される。
第2の視点によれば、所定のルーティングプロトコルにより隣接するスイッチと情報交換を行って転送テーブルを生成し、該転送テーブルを参照してパケットを転送する第1のスイッチと、所定のコントローラからの指示に従いパケットを転送する第2のスイッチと、前記第2のスイッチに指示を与えるコントローラと、に接続され、前記第1、第2のスイッチから収集した情報に基づいて、前記コントローラに、前記第2のスイッチに対する指定した経路でのパケット転送指示と、前記第1のスイッチを仮想化したスイッチで構成された仮想ネットワークの生成とを指示し、前記仮想ネットワークにマッピングされた第2のスイッチと前記第1のスイッチ間で前記所定のルーティングプロトコルによる情報交換を行わせることで、予め計算した経路に沿ったパケット転送を行わせる統合コントローラが提供される。
第3の視点によれば、所定のルーティングプロトコルにより隣接するスイッチと情報交換を行って転送テーブルを生成し、該転送テーブルを参照してパケットを転送する第1のスイッチと、所定の制御装置からの指示に従いパケットを転送する第2のスイッチと、を含むネットワークの前記第2のスイッチに指示を与えるコントローラに対し、前記第2のスイッチに対する指定した経路でのパケット転送指示と、前記第1のスイッチを仮想化したスイッチで構成された仮想ネットワークの生成とを指示するステップと、前記仮想ネットワークにマッピングされた第2のスイッチと前記第1のスイッチ間で前記所定のルーティングプロトコルによる情報交換を行わせるステップとを含み、前記第1、第2のスイッチに、予め計算した経路に沿ったパケット転送を行わせるパケット転送方法が提供される。本方法は、前記ネットワーク管理装置と前記コントローラとをそれぞれ制御する統合コントローラという、特定の機械に結びつけられている。
第4の視点によれば、所定のルーティングプロトコルにより隣接するスイッチと情報交換を行って転送テーブルを生成し、該転送テーブルを参照してパケットを転送する第1のスイッチと、所定の制御装置からの指示に従いパケットを転送する第2のスイッチと、を含むネットワークの前記第2のスイッチに指示を与えるコントローラに対して指示を与えるコンピュータに、前記第2のスイッチに対する指定した経路でのパケット転送指示と、前記第1のスイッチを仮想化したスイッチで構成された仮想ネットワークの生成とを指示する処理と、前記仮想ネットワークにマッピングされた第2のスイッチと前記第1のスイッチ間で前記所定のルーティングプロトコルによる情報交換を行わせる処理と、を実行させ、前記第1、第2のスイッチに、予め計算した経路に沿ったパケット転送を行わせるためのプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な(非トランジエントな)記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
本発明によれば、上位装置から示された経路でパケットを転送するネットワークと自律制御型で経路制御を行うネットワークとを接続した環境における経路制御手段の提供(豊富化)に貢献することが可能となる。
はじめに本願開示の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本願開示を図示の態様に限定することを意図するものではない。
本願開示の一実施形態において、図1に示すように、所定のルーティングプロトコルにより隣接するスイッチと情報交換を行って転送テーブルを生成し、該転送テーブルを参照してパケットを転送する第1のスイッチ50aと、所定のコントローラからの指示に従いパケットを転送する第2のスイッチ40aと、前記第2のスイッチ40aに指示を与えるコントローラ20aと、統合コントローラ10aと、を含む構成にて実現できる。より具体的には、統合コントローラ10aは、前記コントローラ20aに対し、前記第2のスイッチ40aに対する指定した経路でのパケット転送指示と、前記第1のスイッチ50aを仮想化したスイッチで構成された仮想ネットワークの生成とを指示する。そして、前記コントローラ20aは、前記仮想ネットワークにマッピングされた第2のスイッチ40aと前記第1のスイッチ50a間で前記所定のルーティングプロトコルによる情報交換を行わせることで、予め計算した経路に沿ったパケット転送を行わせる。
以上のようにすることで、第1、第2のネットワークをまたがった任意の経路でパケットを転送させることが可能となる。その理由は、統合コントローラ10aからの指示に基づき、コントローラ20aが第2のスイッチ40aに、指定した経路による転送を指示すると共に、前記第2のスイッチ40aを仮想的な第1のスイッチとして動作させ第1のスイッチ50aと経路に関する情報交換を行うようにしたことにある。
[第1の実施形態]
続いて、第1の実施形態について図面を参照して詳細に説明する。図2は、第1の実施形態の通信システムの動作概要を説明するための図である。図2を参照すると、OpenFlowスイッチが保持するフローテーブルの内容を操作することによりOpenFlowスイッチを制御するOpenFlowコントローラ20とTRILLネットワークの情報を収集するSNMP(Simple Network Management Protocol)マネージャ30(ネットワーク管理装置に相当)と、OpenFlowコントローラ20とSNMPマネージャ30とを制御する統合コントローラ10と、OpenFlowスイッチが配置されたOpenFlowネットワークと、TRILLスイッチが配置されたTRILLネットワークと、を含む構成が示されている。
続いて、第1の実施形態について図面を参照して詳細に説明する。図2は、第1の実施形態の通信システムの動作概要を説明するための図である。図2を参照すると、OpenFlowスイッチが保持するフローテーブルの内容を操作することによりOpenFlowスイッチを制御するOpenFlowコントローラ20とTRILLネットワークの情報を収集するSNMP(Simple Network Management Protocol)マネージャ30(ネットワーク管理装置に相当)と、OpenFlowコントローラ20とSNMPマネージャ30とを制御する統合コントローラ10と、OpenFlowスイッチが配置されたOpenFlowネットワークと、TRILLスイッチが配置されたTRILLネットワークと、を含む構成が示されている。
(1)OpenFlowコントローラ20は、OpenFlowスイッチからリンクコスト情報とトポロジ情報とを収集し、データベースに保存する。
(2)SNMPマネージャ30は、TRILLスイッチからリンクコスト情報とトポロジ情報とを収集し、データベースに保存する。
(3)統合コントローラ10は、OpenFlowコントローラ20からOpenFlowネットワークのトポロジ情報とリンクコスト情報を取得し、SNMPマネージャ30からTRILLネットワークのトポロジ情報とリンクコスト情報とサーバ情報を取得し、データベースに保存する。
(4)統合コントローラ10は、データベースに保存した情報からノードA(又はノードB)とノードC(又はノードD)間の最小コストの経路を計算する。
(5)統合コントローラ10は、最小コストの経路で通信を行うフローを設定するようにOpenFlowコントローラ20に対して指示する。OpenFlowコントローラ20は、統合コントローラからの指示に従い、前記最小コストの経路上のOpenFlowスイッチに対して、前記最小コストの経路に沿ったパケット転送を行わせるフローエントリを設定する。
(6)統合コントローラ10は、OpenFlowコントローラ20に対して仮想ネットワークの生成を指示する。OpenFlowネットワークは統合コントローラの指示に従い、1又は複数のOpenFlowスイッチをTRILLスイッチに置き換え、かつ、リンクコストに変更が生じないような仮想ネットワークを生成する。
(7)OpenFlowコントローラ20は、OpenFlowスイッチに対し仮想ネットワークのリンクコスト情報を送信するよう指示する。OpenFlowスイッチは、仮想ネットワークの情報をTRILLスイッチに対して送信する。TRILLスイッチは、仮想ネットワークをTRILLネットワークと認識し、経路計算を行う。
続いて、図3を参照して、上記した通信システムを構成する各機器の詳細構成について説明する。図3は、第1の実施形態の通信システムの構成を示すブロック図である。図3を参照すると、統合コントローラ10と、OpenFlowコントローラ20と、SNMPマネージャ30と、OpenFlowスイッチ40と、TRILLスイッチ50を接続した構成が示されている。
統合コントローラ10は、OpenFlowコントローラ制御部11と、SNMPマネージャ制御部12と、経路計算部13と、スイッチ情報記憶部14と、を備えている。このような統合コントローラ10は、サーバマシン、又は、当該サーバマシン上で動作する仮想マシンにより構成できる。統合コントローラ10と、OpenFlowコントローラ20又はSNMPマネージャ30は専用線もしくは通常のネットワークで接続されている。なお、図2、図3の例では、OpenFlowコントローラ20又はSNMPマネージャ30はそれぞれ1つとなっているが、統合コントローラ10は、複数のOpenFlowコントローラ及び複数のSNMPマネージャを管理することができる。
OpenFlowコントローラ制御部11は、ネットワークを介してOpenFlowコントローラ20を制御する。SNMPマネージャ制御部12は、ネットワークを介してSNMPマネージャ30を制御する。経路計算部13は、図4に示すようなノード間の経路を計算する。スイッチ情報記憶部14は、OpenFlowコントローラ20とSNMPマネージャ30から取得したトポロジやリンクコスト情報を記憶する。
OpenFlowコントローラ20は、OpenFlowスイッチ制御部21と、仮想ネットワーク生成部22と、スイッチ情報記憶部23と、を備えている。このようなOpenFlowコントローラ20は、サーバマシン又は当該サーバマシン上で動作する仮想マシンにより構成できる。また、OpenFlowコントローラ20が、統合コントローラ10と同じマシン上で動作することも可能である。また、OpenFlowコントローラ20は、複数のOpenFlowスイッチを管理することができ、OpenFlowスイッチと専用線又は通常のネットワークを利用したセキュアチャンネル(Secure Channel)で接続されている。
OpenFlowスイッチ制御部21は、セキュアチャンネル(Secure Channel)を介してOpenFlowスイッチのフローテーブルの内容を書換えることによりOpenFlowスイッチ40を制御する。仮想ネットワーク生成部22は、統合コントローラ10の指示に従い、OpenFlowスイッチ間のリンクコストを反映させた仮想ネットワーク(図8、図12参照)を生成する。スイッチ情報記憶部23はOpenFlowスイッチ40から取得した情報を記憶する。
SNMPマネージャ30は、TRILLスイッチ制御部31と、スイッチ情報記憶部32と、を備えている。このようなSNMPマネージャ30は、サーバマシン又は当該サーバマシン上で動作する仮想マシンにより構成できる。また、SNMPマネージャ30は、統合コントローラ10と同じマシン上で動作することも可能である。また、SNMPマネージャ30は、SNMPを使用して複数のTRILLスイッチを管理することができ、TRILLスイッチと専用線又は通常のネットワークで接続されている。
TRILLスイッチ制御部31は、ネットワークを介してTRILLスイッチ50を制御する。スイッチ情報記憶部32は、TRILLスイッチ50から取得した情報を記憶する。
OpenFlowスイッチ40は、パケット処理部41と、カプセル処理部42とを備えている。
パケット処理部41は、図示省略するフローテーブルに設定されたフローエントリ(制御情報)を参照して受信パケットをOpenFlowスイッチ40の物理ポートやOpenFlowコントローラ20へ転送する。カプセル処理部42は、TRILLスイッチ側のポートから入出力されるパケットに対して、TRILL用ヘッダのカプセル化とカプセル解除を行う。
TRILLスイッチ50は、パケット処理部51と、カプセル処理部52と、経路計算部53と、フォワーディングテーブル54とを備えている。
パケット処理部51は、TRILLスイッチ50の物理ポートやSNMPマネージャ30からパケットを受信すると、フォワーディングテーブル54を参照して、TRILLスイッチ50の物理ポートやSNMPマネージャ30にパケットを送信する。カプセル処理部52は、TRILL用ヘッダのカプセル化とカプセル解除を行う。経路計算部53は、ネットワーク内の経路を計算し、経路情報をフォワーディングテーブル54へ保存する。フォワーディングテーブル54は、経路情報を記憶する。
なお、図3に示した統合コントローラ10、OpenFlowコントローラ20及びSNMPマネージャ30の各部(処理手段)は、これらの装置を構成するコンピュータに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。
続いて、本実施形態の動作について図面を参照して詳細に説明する。以下、図4に示すネットワークトポロジを用いて本実施形態の動作を詳細に説明する。また、各スイッチ間のリンクコストとしては、図5、図6の値が得られているものとする。図5は、図4のOpenFlowスイッチ間のリンクコストをまとめた表であり、図6は、図4のOpenFlowスイッチとTRILLスイッチ間のリンクコストをまとめた表である。
OpenFlowコントローラ20は、自身が管理しているOpenFlowスイッチ40−1〜40−7からトポロジとリンクコストの情報を取得し、スイッチ情報記憶部23へ保存する(図2の(1)参照)。
SNMPマネージャ30は、自身が管理しているTRILLスイッチ50−1〜50−5からトポロジとリンクコストの情報を取得し、スイッチ情報記憶部32へ保存する(図2の(2)参照)。
統合コントローラ10は、OpenFlowコントローラ20とSNMPマネージャ30が保持しているトポロジとリンクコストの情報を取得し、スイッチ情報記憶部14へ保存する(図2の(3)参照)。
経路計算部13は、スイッチ情報記憶部14に保存されている情報を基に、エッジスイッチ間の最小コストの経路を計算する(図2の(4)参照)。図5と図6のリンクコストを用いると、OpenFlowスイッチ40−1からTRILLスイッチ50−4までの最小コストの経路は、「OpenFlowスイッチ40−1→OpenFlowスイッチ40−3→OpenFlowスイッチ40−5→TRILLスイッチ50−1→TRILLスイッチ50−4」となる。同様に、OpenFlowスイッチ40−1からTRILLスイッチ50−5までの最小コストの経路は、「OpenFlowスイッチ40−1→OpenFlowスイッチ40−3→OpenFlowスイッチ40−6→TRILLスイッチ50−2→TRILLスイッチ50−5」となる(図7参照)。
また、OpenFlowスイッチ40−2からTRILLスイッチ50−4までの最小コストの経路は、「OpenFlowスイッチ40−2→OpenFlowスイッチ40−4→OpenFlowスイッチ40−6→TRILLスイッチ50−2→TRILLスイッチ50−4」となる。OpenFlowスイッチ40−2からTRILLスイッチ50−5までの最小コストの経路は、「OpenFlowスイッチ40−2→OpenFlowスイッチ40−4→OpenFlowスイッチ40−7→TRILLスイッチ50−3→TRILLスイッチ50−5」となる(図7参照)。
OpenFlowコントローラ制御部11は、OpenFlowコントローラ20に対し、OpenFlowスイッチ40に経路計算部13が算出した経路に沿ったパケット転送を行わせるフローエントリ(制御情報)の設定を指示する(図2の(5))。OpenFlowコントローラ20のOpenFlowスイッチ制御部21は、統合コントローラ10から受信した指示に従い、OpenFlowスイッチ40へフローエントリを設定する。例えば、図7の最短経路上のOpenFlowスイッチに、該当パケットを矢線に沿って転送させるフローエントリ(制御情報)が設定される。
次に、OpenFlowコントローラ制御部11は、経路計算部13が算出した経路に基づき、OpenFlowコントローラ20に対して図8のトポロジと図9のリンクコストを持つ仮想ネットワークの生成を指示する(図2の(6))。
OpenFlowコントローラ20の仮想ネットワーク生成部22は、統合コントローラ10からの指示に従い、仮想ネットワークを生成する。
仮想ネットワークは、図8に示すように、仮想TRILLスイッチによって構成される。仮想TRILLスイッチは、OpenFlowコントローラ20内でソフトウェアによって実現される仮想的なTRILLスイッチである。
仮想TRILLスイッチは、リンクコストの情報を持ち、IS−ISパケットを送受信することでお互いのリンクコストの情報を交換する。仮想TRILLスイッチは、OpenFlowスイッチに対してマッピングされる場合があり、マッピング先のOpenFlowスイッチに対してIS−ISパケットを送信する。本実施形態では、図8の仮想TRILLスイッチ60−3は、OpenFlowスイッチ40−5にマッピングされる。同様に、図8の仮想TRILLスイッチ60−4は、OpenFlowスイッチ40−6にマッピングされる。同様に、図8の仮想TRILLスイッチ60−5は、OpenFlowスイッチ40−7にマッピングされる。また、仮想TRILLスイッチ60−1は、経路計算部13が算出した経路に基づき、OpenFlow40−1及びOpenFlow40−3を集約して生成される(リンクコストは加算される)。同様に、仮想TRILLスイッチ60−2は、経路計算部13が算出した経路に基づき、OpenFlow40−2及びOpenFlow40−4を集約して生成される(リンクコストは加算される)。
仮想TRILLスイッチ60−3〜60−5は、IS―ISパケットを生成すると、マッピング先のOpenFlowスイッチに対し、前記生成したIS―ISパケットを送信するようにOpenFlowスイッチ制御部21に依頼する。
OpenFlowスイッチ制御部21は、例えば、仮想TRILLスイッチ60−3にマッピングされたOpenFlowスイッチ40−5に対して、OpenFlowプロトコルのパケット送信メッセージ(非特許文献2の「Packet−Outメッセージ」)と一緒にIS−ISパケットを送信する。パケット送信メッセージには、TRILLスイッチ50−1が接続されているOpenFlowスイッチ40−5の物理ポートへのパケット送信要求を設定する。
同様に、OpenFlowスイッチ制御部21は、OpenFlowスイッチ40−6に対して、OpenFlowプロトコルのパケット送信メッセージと一緒にIS−ISパケットを送信する。パケット送信メッセージには、TRILLスイッチ50−2が接続されているOpenFlowスイッチ40−6の物理ポートへのパケット送信要求を設定する。
同様に、OpenFlowスイッチ制御部21は、OpenFlowスイッチ40−7に対して、OpenFlowプロトコルのパケット送信メッセージと一緒にIS−ISパケットを送信する。パケット送信メッセージには、TRILLスイッチ50−3が接続されているOpenFlowスイッチ40−7の物理ポートへのパケット送信要求を設定する。
OpenFlowスイッチ40−5のパケット処理部41は、OpenFlowコントローラ20からOpenFlowプロトコルのパケット送信メッセージを受信すると、同メッセージで指定されたTRILLスイッチ50−1に対し、IS−ISパケットを送信する。
同様に、OpenFlowスイッチ40−6のパケット処理部41は、OpenFlowコントローラ20からOpenFlowプロトコルのパケット送信メッセージを受信すると、同メッセージで指定されたTRILLスイッチ50−2へIS−ISパケットを送信する。
OpenFlowスイッチ40−7のパケット処理部41は、OpenFlowコントローラ20からOpenFlowプロトコルのパケット送信メッセージを受信すると、同メッセージで指定されたTRILLスイッチ50−3へIS−ISパケットを送信する(図2の(7)参照)。
TRILLスイッチ50−1〜50−3のパケット処理部51は、OpenFlowスイッチ40−5〜40−7からIS−ISパケットを受信すると、IS−ISパケットを解析し、リンクコストの情報を取得する。
TRILLスイッチ50−1〜50−3の経路計算部53は、リンクコストを基に経路計算を行い、フォワーディングテーブル54を更新する。
TRILLスイッチ50−1〜50−5は、TRILLスイッチ間でIS−ISパケットを送受信することで、自身のフォワーディングテーブルを更新する。
例えば、TRILLスイッチ50−4の経路計算部53は、フォワーディングテーブル54に、「宛先スイッチが仮想TRILLスイッチ60−1の場合のネクストホップはTRILLスイッチ50−1」と「宛先スイッチが仮想TRILLスイッチ60−2の場合のネクストホップはTRILLスイッチ50−2」という情報を保存する。
以上により、最小コストの経路でパケットを転送するための準備が完了する。
その後、ノードCからノードA宛のパケットを受信すると、TRILLスイッチ50−4は、フォワーディングテーブル54を検索し、ノードAが仮想TRILLスイッチ60−1に接続されていることと、仮想TRILLスイッチ60−1へ送信する場合のネクストホップはTRILLスイッチ50−1であるという内容を得る。
そして、TRILLスイッチ50−4のカプセル処理部52は、パケットをTRILLヘッダとイーサネットヘッダでカプセル化する。次にパケット処理部51が、カプセル化したパケットをTRILLスイッチ50−1へ送信する。
TRILLスイッチ50−1は、自身のフォワーディングテーブル54を検索し、TRILLスイッチ50−4から受信したパケットを仮想TRILLスイッチ60−3へと送信する。
ここで、仮想TRILLスイッチ60−3は仮想的なTRILLスイッチであり、実際にはOpenFlowスイッチ40−5がTRILLスイッチ50−1からパケットを受信する。
OpenFlowスイッチ40−5において、カプセル処理部42は、イーサネットヘッダとTRILLヘッダによってカプセル化されたパケットを元に戻す。
パケット処理部41は、元のパケットのイーサネットヘッダと、自身のフローテーブルを照合して宛先へと転送する。
次に、ノードAからノードCへパケットが最小コストの経路で転送される仕組みについて説明する。
TRILLスイッチ50−1〜50−3は、OpenFlowスイッチ40−5〜40−7に対してもIS−ISパケットを送信する。
OpenFlowスイッチ40−5〜40−7のパケット処理部41は、IS−ISパケットを受信すると、OpenFlowコントローラ20に対し、OpenFlowのPacket−Inメッセージを用いて、受信したパケットを送信する。
OpenFlowコントローラ20のOpenFlowスイッチ制御部21は、OpenFlowスイッチ40−5〜40−7からIS−ISパケットを受信すると、IS−ISパケットを解析し、IS−ISパケットに設定されていたスイッチの情報をスイッチ情報記憶部23に保存する。
OpenFlowスイッチ制御部21は、スイッチ情報記憶部23に保存されている情報を基に、送信元MACアドレスがノードAのMACアドレス、宛先MACアドレスがノードCのMACアドレスのパケットを受信すると、送信元RBridge Nicknameに仮想TRILLスイッチ60−1のRBridge Nickname、送信先RBridge NicknameにTRILLスイッチ50−4のRBridge Nicknameを設定したTRILLヘッダと、送信元MACアドレスに仮想TRILLスイッチ60−3のMACアドレス、送信先MACアドレスにTRILLスイッチ50−1のMACアドレスを設定したイーサネットヘッダを付加するというカプセル化ルールを生成する。
OpenFlowスイッチ制御部21は、OpenFlowスイッチ40−5のカプセル処理部42に対して前記カプセル化ルールを設定する。
その後、ノードAがノードCに対してパケットを送信し、OpenFlowスイッチ40−5が、送信元MACアドレスにノードAのMACアドレス、宛先MACアドレスにノードCのMACアドレスが設定されているパケットを受信する。
OpenFlowスイッチ40−5のカプセル処理部42は、カプセル化ルールに従い、受信したパケットに対して、送信元RBridge Nicknameに仮想TRILLスイッチ60−1のRBridge Nickname、送信先RBridge NicknameにTRILLスイッチ50−4のRBridge Nicknameを設定したTRILLヘッダと、送信元MACアドレスに仮想TRILLスイッチ60−3のMACアドレス、送信先MACアドレスにTRILLスイッチ50−1のMACアドレスを設定したイーサネットヘッダを付加する。
パケット処理部41は、コントローラ20から設定されたフローエントリに従い、TRILLスイッチ50−1へ対して、カプセル化したパケットを送信する。
TRILLスイッチ50−1は、フォワーディングテーブル54を参照して、OpenFlowスイッチ40−5から受信したパケットをTRILLの処理に従い、TRILLスイッチ50−4へ送信する。
TRILLスイッチ50−4は、宛先MACアドレスであるノードCが自身に接続されていることを調べ、受信したパケットからイーサネットヘッダとTRILLヘッダを外し、ノードCへ送信する。
以上説明したように、本実施形態によれば、OpenFlowネットワークとTRILLネットワークが混在した環境においても、統合コントローラが意図した経路で、パケットを転送することが可能となる。
[第2の実施形態]
上記した第1の実施形態では、図5、図6のリンクコストに前提として説明したが、リンクコストによっては、さらに、仮想ネットワークの集約度を高めることも可能である。以下、仮想ネットワークのエッジの仮想TRILLスイッチを集約した第2の実施形態について図面を参照して詳細に説明する。本実施形態の基本的な構成は、第1の実施形態と同様であるので、以下、その相違点を中心に説明する。
上記した第1の実施形態では、図5、図6のリンクコストに前提として説明したが、リンクコストによっては、さらに、仮想ネットワークの集約度を高めることも可能である。以下、仮想ネットワークのエッジの仮想TRILLスイッチを集約した第2の実施形態について図面を参照して詳細に説明する。本実施形態の基本的な構成は、第1の実施形態と同様であるので、以下、その相違点を中心に説明する。
図10は、図4のOpenFlowスイッチ間のリンクコストをまとめた別の表である。統合コントローラ10のOpenFlowコントローラ制御部11は、OpenFlowコントローラ20から図10に示すリンクコストを取得し、スイッチ情報記憶部14に保存する。
経路計算部13は、スイッチ情報記憶部14に保存された図10のリンクコストを用いて最小コストの経路を計算する。この場合、OpenFlowスイッチ40−1からTRILLスイッチ50−4までの最小コストの経路は、「OpenFlowスイッチ40−1→OpenFlowスイッチ40−3→OpenFlowスイッチ40−5→TRILLスイッチ50−1→TRILLスイッチ50−4」となる。同様に、OpenFlowスイッチ40−1からTRILLスイッチ50−5までの最小コストの経路は、「OpenFlowスイッチ40−1→OpenFlowスイッチ40−3→OpenFlowスイッチ40−6→TRILLスイッチ50−2→TRILLスイッチ50−5」となる(図11参照)。
OpenFlowスイッチ40−2からTRILLスイッチ50−4までの最小コストの経路は、「OpenFlowスイッチ40−2→OpenFlowスイッチ40−4→OpenFlowスイッチ40−5→TRILLスイッチ50−1→TRILLスイッチ50−4」となる。同様に、OpenFlowスイッチ40−2からTRILLスイッチ50−5までの最小コストの経路は、「OpenFlowスイッチ40−2→OpenFlowスイッチ40−4→OpenFlowスイッチ40−6→TRILLスイッチ50−2→TRILLスイッチ50−5」となる(図11参照)。
前記の経路の場合、図11を参照すると、OpenFlowスイッチ40−1からTRILLスイッチ50−4までの経路(ノードA−ノードCの経路)と、OpenFlowスイッチ40−2からTRILLスイッチ50−4までの経路(ノードB−ノードCの経路)は共に、OpenFlowスイッチ40−5とTRILLスイッチ50−1を経由する。また、OpenFlowスイッチ40−1からTRILLスイッチ50−5までの経路(ノードA−ノードDの経路)と、OpenFlowスイッチ40−2からTRILLスイッチ50−5までの経路(ノードB−ノードDの経路)は共に、OpenFlowスイッチ40−6とTRILLスイッチ50−2を経由する。
このような場合、OpenFlowコントローラ制御部11は、OpenFlowコントローラ20に対して図12に示す仮想TRILLスイッチのトポロジと図13に示すリンクコストを持つ仮想ネットワークの生成を指示する。OpenFlowスイッチ40−1とOpenFlowスイッチ40−2は、TRILLスイッチ50−4とTRILLスイッチ50−5までの経路で同じ隣接点を経由するため、仮想ネットワークにおいては一つの仮想TRILLスイッチに集約することができる。
OpenFlowコントローラ20において仮想ネットワーク生成部22は、図12のトポロジと図13のリンクコストを持つ仮想TRILLスイッチを生成する。仮想TRILLスイッチ70−2は、OpenFlowスイッチ40−5にマッピングされる。仮想TRILLスイッチ70−3は、OpenFlowスイッチ40−6にマッピングされる。仮想TRILLスイッチ70−4は、OpenFlowスイッチ40−7にマッピングされる。さらに、前述のOpenFlowスイッチ40−1とOpenFlowスイッチ40−2とは集約できるとの考え方に基づき、仮想TRILLスイッチ70−1は、OpenFlow40−1〜OpenFlow40−4を集約して生成される(リンクコストは加算される)。
図12の仮想TRILLスイッチ70−2〜70−4は、IS―ISパケットを生成し、マッピング先のOpenFlowスイッチに送信するようにOpenFlowスイッチ制御部21に依頼する。
OpenFlowスイッチ制御部21は、前記IS−ISパケットをOpenFlowスイッチ40−5〜40−7に対してパケット送信要求メッセージ(非特許文献2の「Packet−Outメッセージ」)と一緒に送信する。
OpenFlowスイッチ40−5のパケット処理部41は、パケット送信要求メッセージに従い、OpenFlowコントローラ20から受信したIS−ISパケットをTRILLスイッチ50−1へ送信する。同様に、OpenFlowスイッチ40−6のパケット処理部41は、パケット送信要求メッセージに従い、OpenFlowコントローラ20から受信したIS−ISパケットをTRILLスイッチ50−2へ送信する。同様に、OpenFlowスイッチ40−7のパケット処理部41は、パケット送信要求メッセージに従い、OpenFlowコントローラ20から受信したIS−ISパケットをTRILLスイッチ50−3へ送信する。
前記IS−ISパケットを受信したTRILLスイッチ50−1〜50−3のパケット処理部51は、それぞれ、OpenFlowスイッチ40−5〜40−7が送信したIS−ISパケットを受信して解析する。
具体的には、経路計算部53は、IS−ISパケットに設定されていた情報を基に経路を計算し、フォワーディングテーブル54の経路情報を更新する。
以上により、最小コストの経路でパケットを転送するための準備が完了する。
その後、例えば、TRILLスイッチ50−4のパケット処理部51が、ノードCからノードA宛のパケットを受信すると、フォワーディングテーブル54を検索し、ノードAが仮想TRILLスイッチ70−1に接続されていることと、仮想TRILLスイッチ70−1へ送信する場合のネクストホップはTRILLスイッチ50−1であることを調べる。
TRILLスイッチ50−4のカプセル処理部52は、TRILLヘッダとイーサネットヘッダで受信パケットをカプセル化する。
TRILLスイッチ50−4のパケット処理部51は、カプセル化したパケットをTRILLスイッチ50−1へ送信する。
TRILLスイッチ50−1は、自身のフォワーディングテーブル54を検索し、TRILLスイッチ50−4から受信したパケットを仮想TRILLスイッチ70−2へと送信する。
ここで、仮想TRILLスイッチ70−2は仮想的なTRILLスイッチであり、実際にはOpenFlowスイッチ40−5がTRILLスイッチ50−1からパケットを受信する。
OpenFlowスイッチ40−5のカプセル処理部42は、イーサネットヘッダとTRILLヘッダによってカプセル化されたパケットを元に戻す。
OpenFlowスイッチ40−5のパケット処理部41は、元のパケットのイーサネットヘッダと、自身のフローテーブルを照合して宛先へと転送する。
以上説明したように、仮想ネットワークは、リンクコストとこれに基づく経路計算結果に応じて、適当なサイズに集約することができる。本実施形態によれば、第1の実施形態と比較して、TRILLスイッチにおける経路選択処理が簡単化されるという利点が得られる。このことは、図13のリンクコスト一覧表において仮想TRILLスイッチ70−1と仮想TRILLスイッチ70−3との間の経路が最小コストであることを容易に読み取れることからも明らかである。
以上、本発明の実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、各図面に示したネットワーク構成や要素の構成は、本発明の理解を助けるための一例であり、これらの図面に示した構成に限定されるものではない。
また、上記した実施形態では、OpenFlowネットワークと、TRILLネットワークが接続された構成を例に挙げて説明したが、その他の集中制御型のネットワークと、自律制御型のネットワークの組合せにも本発明を適用することが可能である。例えば、TRILLネットワークに代えて、IEEE802.1aqで規定されているSPB(Shortest Path Bridging)ネットワークを配置した構成にも適用することが可能である。
また、上記した実施形態では、経路計算部13がリンクコストを用いて最小コストの経路を計算するものとして説明したが、最小コストの経路以外の経路を計算してもよい。例えば、特定のユーザのみ最小コストの経路を割り当て、その他のユーザには、それ以外の経路を割り当てるといった制御を行ってもよい。また、リンクコストに限らず、OpenFlowスイッチなどからもたらされるフロートラヒック情報(図14の中央「Counter」参照)を考慮に入れて経路を計算してもよい。
最後に、本発明の好ましい形態を要約する。
[第1の形態]
(上記第1の視点による通信システム参照)
[第2の形態]
第1の形態の通信システムにおいて、
さらに、前記第1のスイッチの情報を収集するネットワーク管理装置を含み、
前記ネットワーク管理装置及び前記コントローラから、前記第1、第2のスイッチによって構成されるネットワークのトポロジ情報を収集し、前記第1、第2のスイッチによって構成されるネットワークをまたがる経路を計算する通信システム。
[第3の形態]
第1又は第2の形態の通信システムにおいて、
前記統合コントローラは、前記コントローラに、前記第1のスイッチを仮想化したスイッチで構成され、かつ、前記第2スイッチ間のリンクコストを反映させた仮想ネットワークを生成させる通信システム。
[第4の形態]
第1から第3いずれか一の形態の通信システムにおいて、
前記第2のスイッチはオープンフロースイッチであり、
前記統合コントローラは、前記コントローラに、前記計算した経路上の前記第2のスイッチへのフローエントリの設定を行わせることで、前記計算した経路に沿ったパケット転送を行わせる通信システム。
[第5の形態]
第1から第4いずれか一の形態の通信システムにおいて、
前記第1のスイッチはIS−IS(Intermediate System to Intermediate System)を用いて経路を決定するスイッチであり、
前記統合コントローラは、前記コントローラを介して、前記第2のスイッチから前記第1のスイッチに宛ててIS−ISパケットを出力させることにより、前記第1、第2のスイッチ間で、IS−ISを用いて情報交換を行わせる通信システム。
[第6の形態]
第5の形態の通信システムにおいて、
前記第1のスイッチはTRILLスイッチである通信システム。
[第7の形態]
(上記第2の視点による統合コントローラ参照)
[第8の形態]
(上記第3の視点によるパケット転送方法参照)
[第9の形態]
(上記第4の視点によるプログラム参照)
なお、上記第7〜第9の形態は、第1の形態と同様に、第2〜第6の形態に展開することが可能である。
[第1の形態]
(上記第1の視点による通信システム参照)
[第2の形態]
第1の形態の通信システムにおいて、
さらに、前記第1のスイッチの情報を収集するネットワーク管理装置を含み、
前記ネットワーク管理装置及び前記コントローラから、前記第1、第2のスイッチによって構成されるネットワークのトポロジ情報を収集し、前記第1、第2のスイッチによって構成されるネットワークをまたがる経路を計算する通信システム。
[第3の形態]
第1又は第2の形態の通信システムにおいて、
前記統合コントローラは、前記コントローラに、前記第1のスイッチを仮想化したスイッチで構成され、かつ、前記第2スイッチ間のリンクコストを反映させた仮想ネットワークを生成させる通信システム。
[第4の形態]
第1から第3いずれか一の形態の通信システムにおいて、
前記第2のスイッチはオープンフロースイッチであり、
前記統合コントローラは、前記コントローラに、前記計算した経路上の前記第2のスイッチへのフローエントリの設定を行わせることで、前記計算した経路に沿ったパケット転送を行わせる通信システム。
[第5の形態]
第1から第4いずれか一の形態の通信システムにおいて、
前記第1のスイッチはIS−IS(Intermediate System to Intermediate System)を用いて経路を決定するスイッチであり、
前記統合コントローラは、前記コントローラを介して、前記第2のスイッチから前記第1のスイッチに宛ててIS−ISパケットを出力させることにより、前記第1、第2のスイッチ間で、IS−ISを用いて情報交換を行わせる通信システム。
[第6の形態]
第5の形態の通信システムにおいて、
前記第1のスイッチはTRILLスイッチである通信システム。
[第7の形態]
(上記第2の視点による統合コントローラ参照)
[第8の形態]
(上記第3の視点によるパケット転送方法参照)
[第9の形態]
(上記第4の視点によるプログラム参照)
なお、上記第7〜第9の形態は、第1の形態と同様に、第2〜第6の形態に展開することが可能である。
なお、上記の非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素(各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
10、10a 統合コントローラ
11 OpenFlowコントローラ制御部
12 SNMPマネージャ制御部
13 経路計算部
14 スイッチ情報記憶部
20 OpenFlowコントローラ
20a コントローラ
21 OpenFlowスイッチ制御部
22 仮想ネットワーク生成部
23 スイッチ情報記憶部
30 SNMP(Simple Network Management Protocol)マネージャ
31 TRILLスイッチ制御部
32 スイッチ情報記憶部
40、40−1〜40−7 OpenFlowスイッチ
40a 第2のスイッチ
41 パケット処理部
42 カプセル処理部
50、50−1〜50−5 TRILLスイッチ
50a 第1のスイッチ
51 パケット処理部
52 カプセル処理部
53 経路計算部
54 フォワーディングテーブル
60−1〜60−5、70−1〜70−4 仮想TRILLスイッチ
11 OpenFlowコントローラ制御部
12 SNMPマネージャ制御部
13 経路計算部
14 スイッチ情報記憶部
20 OpenFlowコントローラ
20a コントローラ
21 OpenFlowスイッチ制御部
22 仮想ネットワーク生成部
23 スイッチ情報記憶部
30 SNMP(Simple Network Management Protocol)マネージャ
31 TRILLスイッチ制御部
32 スイッチ情報記憶部
40、40−1〜40−7 OpenFlowスイッチ
40a 第2のスイッチ
41 パケット処理部
42 カプセル処理部
50、50−1〜50−5 TRILLスイッチ
50a 第1のスイッチ
51 パケット処理部
52 カプセル処理部
53 経路計算部
54 フォワーディングテーブル
60−1〜60−5、70−1〜70−4 仮想TRILLスイッチ
Claims (13)
- 所定のルーティングプロトコルにより隣接するスイッチと情報交換を行って転送テーブルを生成し、該転送テーブルを参照してパケットを転送する第1のスイッチと、
所定のコントローラからの指示に従いパケットを転送する第2のスイッチと、
前記第2のスイッチに指示を与えるコントローラと、
前記コントローラに、前記第2のスイッチに対する指定した経路でのパケット転送指示と、前記第1のスイッチを仮想化したスイッチで構成された仮想ネットワークの生成とを指示し、前記仮想ネットワークにマッピングされた第2のスイッチと前記第1のスイッチ間で前記所定のルーティングプロトコルによる情報交換を行わせることで、予め計算した経路に沿ったパケット転送を行わせる統合コントローラと、
を含む通信システム。 - さらに、前記第1のスイッチの情報を収集するネットワーク管理装置を含み、
前記ネットワーク管理装置及び前記コントローラから、前記第1、第2のスイッチによって構成されるネットワークのトポロジ情報を収集し、前記第1、第2のスイッチによって構成されるネットワークをまたがる経路を計算する請求項1の通信システム。 - 前記統合コントローラは、前記コントローラに、前記第1のスイッチを仮想化したスイッチで構成され、かつ、前記第2のスイッチ間のリンクコストを反映させた仮想ネットワークを生成させる請求項1又は2の通信システム。
- 前記第2のスイッチはオープンフロースイッチであり、
前記統合コントローラは、前記コントローラに、前記計算した経路上の前記第2のスイッチへのフローエントリの設定を行わせることで、前記計算した経路に沿ったパケット転送を行わせる請求項1から3いずれか一の通信システム。 - 前記第1のスイッチはIS−IS(Intermediate System to Intermediate System)を用いて経路を決定するスイッチであり、
前記統合コントローラは、前記コントローラを介して、前記第2のスイッチから前記第1のスイッチに宛ててIS−ISパケットを出力させることにより、前記第1、第2のスイッチ間で、IS−ISを用いて情報交換を行わせる請求項1から4いずれか一の通信システム。 - 前記第1のスイッチはTRILLスイッチである請求項5の通信システム。
- 所定のルーティングプロトコルにより隣接するスイッチと情報交換を行って転送テーブルを生成し、該転送テーブルを参照してパケットを転送する第1のスイッチと、所定のコントローラからの指示に従いパケットを転送する第2のスイッチと、を含むネットワークの前記第2のスイッチに指示を与えるコントローラに対し、前記第2のスイッチに対する指定した経路でのパケット転送指示と、前記第1のスイッチを仮想化したスイッチで構成された仮想ネットワークの生成とを指示し、前記仮想ネットワークにマッピングされた第2のスイッチと前記第1のスイッチ間で前記所定のルーティングプロトコルによる情報交換を行わせることで、予め計算した経路に沿ったパケット転送を行わせる統合コントローラ。
- 前記第1のスイッチの情報を収集するネットワーク管理装置及び前記コントローラから、前記第1、第2のスイッチによって構成されるネットワークのトポロジ情報を収集し、前記第1、第2のスイッチによって構成されるネットワークをまたがる経路を計算する請求項7の統合コントローラ。
- 前記コントローラに、前記第1のスイッチを仮想化したスイッチで構成され、かつ、前記第2のスイッチ間のリンクコストを反映させた仮想ネットワークを生成させる請求項7又は8の統合コントローラ。
- 前記第2のスイッチはオープンフロースイッチであり、
前記コントローラに、前記計算した経路上の前記第2のスイッチへのフローエントリの設定を行わせることで、前記計算した経路に沿ったパケット転送を行わせる請求項7から9いずれか一の統合コントローラ。 - 前記第1のスイッチはIS−IS(Intermediate System to Intermediate System)を用いて経路を決定するスイッチであり、
前記コントローラを介して、前記第2のスイッチから前記第1のスイッチに宛ててIS−ISパケットを出力させることにより、前記第1、第2のスイッチ間で、IS−ISを用いて情報交換を行わせる請求項7から10いずれか一の統合コントローラ。 - 所定のルーティングプロトコルにより隣接するスイッチと情報交換を行って転送テーブルを生成し、該転送テーブルを参照してパケットを転送する第1のスイッチと、
所定のコントローラからの指示に従いパケットを転送する第2のスイッチと、を含むネットワークの前記第2のスイッチに指示を与えるコントローラに対し、前記第2のスイッチに対する指定した経路でのパケット転送指示と、前記第1のスイッチを仮想化したスイッチで構成された仮想ネットワークの生成とを指示するステップと、
前記仮想ネットワークにマッピングされた第2のスイッチと前記第1のスイッチ間で前記所定のルーティングプロトコルによる情報交換を行わせるステップとを含み、
前記第1、第2のスイッチに、予め計算した経路に沿ったパケット転送を行わせるパケット転送方法。 - 所定のルーティングプロトコルにより隣接するスイッチと情報交換を行って転送テーブルを生成し、該転送テーブルを参照してパケットを転送する第1のスイッチと、
所定のコントローラからの指示に従いパケットを転送する第2のスイッチと、を含むネットワークの前記第2のスイッチに指示を与えるコントローラに対して指示を与えるコンピュータに、
前記第2のスイッチに対する指定した経路でのパケット転送指示と、前記第1のスイッチを仮想化したスイッチで構成された仮想ネットワークの生成とを指示する処理と、
前記仮想ネットワークにマッピングされた第2のスイッチと前記第1のスイッチ間で前記所定のルーティングプロトコルによる情報交換を行わせる処理と、を実行させ、
前記第1、第2のスイッチに、予め計算した経路に沿ったパケット転送を行わせるためのプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013045263 | 2013-03-07 | ||
JP2013045263 | 2013-03-07 | ||
PCT/JP2014/055754 WO2014136867A1 (ja) | 2013-03-07 | 2014-03-06 | 通信システム、統合コントローラ、パケット転送方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP5950019B2 true JP5950019B2 (ja) | 2016-07-13 |
JPWO2014136867A1 JPWO2014136867A1 (ja) | 2017-02-16 |
Family
ID=51491375
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015504377A Expired - Fee Related JP5950019B2 (ja) | 2013-03-07 | 2014-03-06 | 通信システム、統合コントローラ、パケット転送方法及びプログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US9614758B2 (ja) |
EP (1) | EP2966814A4 (ja) |
JP (1) | JP5950019B2 (ja) |
CN (1) | CN105027513A (ja) |
WO (1) | WO2014136867A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10623301B2 (en) | 2017-08-24 | 2020-04-14 | Fujitsu Limited | Method, routing bridge and non-transitory computer-readable storage medium for network routing |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9450823B2 (en) * | 2013-08-09 | 2016-09-20 | Nec Corporation | Hybrid network management |
US9807004B2 (en) * | 2014-04-01 | 2017-10-31 | Google Inc. | System and method for software defined routing of traffic within and between autonomous systems with enhanced flow routing, scalability and security |
KR102385707B1 (ko) * | 2014-11-25 | 2022-04-12 | 한국전자통신연구원 | 호스트 추상화를 이용한 sdn 네트워크 시스템 및 그 구현방법 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010050719A (ja) * | 2008-08-21 | 2010-03-04 | Nippon Telegr & Teleph Corp <Ntt> | 通信システム、制御ノード、通信方法、およびプログラム |
WO2011083780A1 (ja) * | 2010-01-05 | 2011-07-14 | 日本電気株式会社 | 通信システム、制御装置、処理規則の設定方法、パケットの送信方法およびプログラム |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2552060A1 (en) * | 2010-03-24 | 2013-01-30 | Nec Corporation | Information system, control apparatus, method of controlling virtual network, and program |
US8908526B2 (en) * | 2010-09-23 | 2014-12-09 | Intel Corporation | Controlled interconnection of networks using virtual nodes |
US8964563B2 (en) * | 2011-07-08 | 2015-02-24 | Telefonaktiebolaget L M Ericsson (Publ) | Controller driven OAM for OpenFlow |
US8995272B2 (en) * | 2012-01-26 | 2015-03-31 | Brocade Communication Systems, Inc. | Link aggregation in software-defined networks |
-
2014
- 2014-03-06 WO PCT/JP2014/055754 patent/WO2014136867A1/ja active Application Filing
- 2014-03-06 JP JP2015504377A patent/JP5950019B2/ja not_active Expired - Fee Related
- 2014-03-06 EP EP14760459.9A patent/EP2966814A4/en not_active Withdrawn
- 2014-03-06 US US14/767,675 patent/US9614758B2/en not_active Expired - Fee Related
- 2014-03-06 CN CN201480012841.2A patent/CN105027513A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010050719A (ja) * | 2008-08-21 | 2010-03-04 | Nippon Telegr & Teleph Corp <Ntt> | 通信システム、制御ノード、通信方法、およびプログラム |
WO2011083780A1 (ja) * | 2010-01-05 | 2011-07-14 | 日本電気株式会社 | 通信システム、制御装置、処理規則の設定方法、パケットの送信方法およびプログラム |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10623301B2 (en) | 2017-08-24 | 2020-04-14 | Fujitsu Limited | Method, routing bridge and non-transitory computer-readable storage medium for network routing |
Also Published As
Publication number | Publication date |
---|---|
EP2966814A4 (en) | 2016-11-16 |
JPWO2014136867A1 (ja) | 2017-02-16 |
US20160006652A1 (en) | 2016-01-07 |
CN105027513A (zh) | 2015-11-04 |
EP2966814A1 (en) | 2016-01-13 |
WO2014136867A1 (ja) | 2014-09-12 |
US9614758B2 (en) | 2017-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5991424B2 (ja) | パケット書換装置、制御装置、通信システム、パケット送信方法及びプログラム | |
JP5534037B2 (ja) | 情報システム、制御装置、仮想ネットワークの提供方法およびプログラム | |
JP5494668B2 (ja) | 情報システム、制御サーバ、仮想ネットワーク管理方法およびプログラム | |
JP5900353B2 (ja) | 通信システム、制御装置、通信ノードおよび通信方法 | |
JP5534036B2 (ja) | 情報システム、制御装置、通信方法およびプログラム | |
CN104246701A (zh) | 用于基于源路由在不同无限带宽子网间路由流量的系统和方法 | |
CN104335537A (zh) | 用于层2多播多路径传送的系统和方法 | |
JP5987971B2 (ja) | 通信システム、スイッチ、制御装置、制御用チャネルの構築方法及びプログラム | |
JP6323547B2 (ja) | 通信システム、制御装置、通信制御方法、および、プログラム | |
CN111147372B (zh) | 下行报文发送、转发方法和装置 | |
JP5950019B2 (ja) | 通信システム、統合コントローラ、パケット転送方法及びプログラム | |
JP6311611B2 (ja) | 制御装置、通信システム、制御情報の作成方法及びプログラム | |
US9882772B2 (en) | Network element and a controller for managing the network element | |
WO2011118586A1 (ja) | 通信システム、制御装置、転送ノード、処理規則の更新方法およびプログラム | |
JP6024761B2 (ja) | 制御装置、通信システム、通信方法及びプログラム | |
JP6206493B2 (ja) | 制御装置、通信システム、中継装置の制御方法及びプログラム | |
WO2014119602A1 (ja) | 制御装置、スイッチ、通信システム、スイッチの制御方法及びプログラム | |
JP6292292B2 (ja) | 通信ノード、制御装置、通信システム、通信方法及びプログラム | |
JP2015144357A (ja) | 通信システム、制御装置、トポロジ構成収集方法及びプログラム | |
JP6540299B2 (ja) | 仮想ネットワーク管理システム、仮想ネットワーク管理装置、仮想ネットワーク管理方法及びプログラム | |
JP2016225933A (ja) | 制御装置、中継装置の制御方法、プログラム及び通信システム | |
JP2014212398A (ja) | 通信システム、通信ノード、パケット処理方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20160510 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160523 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5950019 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |