JP5935897B2 - 通信ノード、通信システム、制御装置、パケット転送方法及びプログラム - Google Patents
通信ノード、通信システム、制御装置、パケット転送方法及びプログラム Download PDFInfo
- Publication number
- JP5935897B2 JP5935897B2 JP2014540867A JP2014540867A JP5935897B2 JP 5935897 B2 JP5935897 B2 JP 5935897B2 JP 2014540867 A JP2014540867 A JP 2014540867A JP 2014540867 A JP2014540867 A JP 2014540867A JP 5935897 B2 JP5935897 B2 JP 5935897B2
- Authority
- JP
- Japan
- Prior art keywords
- entry
- packet
- communication node
- match condition
- matches
- 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
- 238000004891 communication Methods 0.000 title claims description 133
- 238000000034 method Methods 0.000 title claims description 26
- 238000012546 transfer Methods 0.000 title description 26
- PWPJGUXAGUPAHP-UHFFFAOYSA-N lufenuron Chemical compound C1=C(Cl)C(OC(F)(F)C(C(F)(F)F)F)=CC(Cl)=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F PWPJGUXAGUPAHP-UHFFFAOYSA-N 0.000 title 1
- 238000012545 processing Methods 0.000 claims description 33
- 230000005540 biological transmission Effects 0.000 claims description 18
- 230000008569 process Effects 0.000 claims description 12
- 230000032683 aging Effects 0.000 claims description 3
- 230000004044 response Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000009467 reduction Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000008676 import Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011084 recovery Methods 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/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4604—LAN interconnection over a backbone network, e.g. Internet, Frame Relay
- H04L12/462—LAN interconnection over a bridge based backbone
- H04L12/4625—Single bridge functionality, e.g. connection of two networks over a single bridge
-
- 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/36—Backward learning
-
- 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
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
Description
(関連出願についての記載)
本発明は、日本国特許出願:特願2012−224713号(2012年10月10日出願)の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、通信ノード、通信システム、制御装置、パケット転送方法及びプログラムに関し、特に、制御装置により集中制御される通信ノード、通信システム、制御装置、パケット転送方法及びプログラムに関する。
本発明は、日本国特許出願:特願2012−224713号(2012年10月10日出願)の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、通信ノード、通信システム、制御装置、パケット転送方法及びプログラムに関し、特に、制御装置により集中制御される通信ノード、通信システム、制御装置、パケット転送方法及びプログラムに関する。
近年、オープンフロー(OpenFlow)という技術が提案されている(非特許文献1、2参照)。オープンフローは、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化を行うものである。非特許文献2に仕様化されているオープンフロースイッチは、オープンフローコントローラとの通信用のセキュアチャネルを備え、オープンフローコントローラから適宜追加または書き換え指示されるフローテーブルに従って動作する。フローテーブルには、フロー毎に、パケットヘッダと照合するマッチ条件(Match Fields)と、フロー統計情報(Counters)と、処理内容を定義したインストラクション(Instructions)と、の組が定義される(非特許文献2の「4.1 Flow Table」の項参照)。
例えば、オープンフロースイッチは、パケットを受信すると、フローテーブルから、受信パケットのヘッダ情報に適合するマッチ条件(非特許文献2の「4.3 Match Fields」参照)を持つエントリを検索する。検索の結果、受信パケットに適合するエントリが見つかった場合、オープンフロースイッチは、フロー統計情報(カウンタ)を更新するとともに、受信パケットに対して、当該エントリのインストラクションフィールドに記述された処理内容(指定ポートからのパケット送信、フラッディング、廃棄等)を実施する。一方、検索の結果、受信パケットに適合するエントリが見つからなかった場合、オープンフロースイッチは、セキュアチャネルを介して、オープンフローコントローラに対してエントリ設定の要求、即ち、受信パケットを処理するための制御情報の送信要求(Packet−Inメッセージ)を送信する。オープンフロースイッチは、処理内容が定められたフローエントリを受け取ってフローテーブルを更新する。このように、オープンフロースイッチは、フローテーブルに格納されたエントリを制御情報として用いてパケット転送を行う。
Nick McKeownほか7名、"OpenFlow: Enabling Innovation in Campus Networks"、[online]、[平成24(2012)年10月4日検索]、インターネット〈URL:http://www.openflow.org/documents/openflow-wp-latest.pdf〉
"OpenFlow Switch Specification" Version 1.1.0 Implemented (Wire Protocol 0x02)、[online]、[平成24(2012)年10月4日検索]、インターネット〈URL:http://www.openflow.org/documents/openflow-spec-v1.1.0.pdf〉
以下の分析は、本発明によって与えられたものである。また、上記先行技術文献の開示を、本書に引用をもって繰り込むものとする。上記した非特許文献1、2のオープンフローに代表される集中制御型のネットワークでは、フローが増える毎に、経路上のスイッチ等の通信ノードにエントリを設定する必要がある。このため、接続端末と通信先の組み合わせが増えると、これに応じてフローエントリ数も増大し、また、制御装置20の負荷も増大してしまうという問題点がある。
個々の通信ノードが保持するエントリ数が多くなると、コントローラ(制御装置)の負荷も増大するほか、通信ノードのエントリ検索に掛かる時間も増大し、応答性能にも影響してくる。同様に、通信ノードが保持するエントリ数が多くなると、これらを管理する制御装置20の負荷も増大する。このため、通信ノードが保持するエントリ数をなるべく少なくしたいという要請がある。
本発明は、集中制御型のネットワークにおける通信ノードに保持させるエントリ数の削減、制御装置の負荷軽減に貢献できる通信ノード、通信システム、制御装置、パケット転送方法及びプログラムを提供することを目的とする。
第1の視点によれば、少なくとも宛先アドレスを含むマッチ条件と、前記マッチ条件に適合するパケットの出力先を対応付けた第1のエントリを格納する第1のテーブルと、所定の制御装置から設定されたマッチ条件を持つ第2のエントリを格納する第2のテーブルと、受信パケットの送信元と受信ポートとの組を、前記第1のテーブルのマッチ条件と出力先としてそれぞれ登録する宛先学習部と、前記第1、第2のテーブルから受信パケットに適合するマッチ条件を持つエントリがそれぞれ見つかった場合に、前記第1のテーブルに定められた出力先へパケットを転送し、前記第1、第2のテーブルの少なくとも一方で受信パケットに適合するマッチ条件を持つエントリが見つからない場合、前記制御装置から設定された第3のエントリに従い受信パケットをブロードキャストするパケット処理部と、を備える通信ノードが提供される。
第2の視点によれば、少なくとも宛先アドレスを含むマッチ条件と、前記マッチ条件に適合するパケットの出力先を対応付けた第1のエントリを格納する第1のテーブルと、所定のマッチ条件を持つ第2のエントリを格納する第2のテーブルと、受信パケットの送信元と受信ポートとの組を、前記第1のテーブルのマッチ条件と出力先としてそれぞれ登録する宛先学習部と、前記第1、第2のテーブルから受信パケットに適合するマッチ条件を持つエントリがそれぞれ見つかった場合に、前記第1のテーブルに定められた出力先へパケットを転送し、前記第1、第2のテーブルの少なくとも一方で受信パケットに適合するマッチ条件を持つエントリが見つからない場合、第3のエントリに従い受信パケットをブロードキャストするパケット処理部と、を備える複数の通信ノードと、前記複数の通信ノードによって構成されるネットワークにブロードキャスト経路を計算し、該ブロードキャスト経路に従い、前記通信ノードの少なくとも第2のテーブルにエントリを設定する制御装置と、を含む通信システムが提供される。
第3の視点によれば、上記した通信ノードのテーブルにエントリを設定する制御装置が提供される。
第4の視点によれば、少なくとも宛先アドレスを含むマッチ条件と、前記マッチ条件に適合するパケットの出力先を対応付けた第1のエントリを格納する第1のテーブルと、所定のマッチ条件を持つ第2のエントリを格納する第2のテーブルと、受信パケットの送信元と受信ポートとの組を、前記第1のテーブルのマッチ条件と出力先としてそれぞれ登録する宛先学習部と、パケット処理部とを備える通信ノードが、前記第1、第2のテーブルから受信パケットに適合するマッチ条件を持つエントリがそれぞれ見つかった場合に、前記第1のテーブルに定められた出力先へパケットを転送するステップと、前記第1、第2のテーブルの少なくとも一方で受信パケットに適合するマッチ条件を持つエントリが見つからない場合、第3のエントリに従い受信パケットをブロードキャストするステップと、を含むパケット転送方法が提供される。本方法は、受信パケットに適合するマッチ条件を持つエントリに従って受信パケットを処理する通信ノードという、特定の機械に結びつけられている。
第5の視点によれば、少なくとも宛先アドレスを含むマッチ条件と、前記マッチ条件に適合するパケットの出力先を対応付けた第1のエントリを格納する第1のテーブルと、所定のマッチ条件を持つ第2のエントリを格納する第2のテーブルと、受信パケットの送信元と受信ポートとの組を、前記第1のテーブルのマッチ条件と出力先としてそれぞれ登録する宛先学習部と、パケット処理部とを備える通信ノードに搭載されたコンピュータに、前記第1、第2のテーブルから受信パケットに適合するマッチ条件を持つエントリがそれぞれ見つかった場合に、前記第1のテーブルに定められた出力先へパケットを転送する処理と、前記第1、第2のテーブルの少なくとも一方で受信パケットに適合するマッチ条件を持つエントリが見つからない場合、第3のエントリに従い受信パケットをブロードキャストする処理と、を実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な(非トランジエントな)記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
本発明によれば、集中制御型のネットワークにおける通信ノードに保持させるエントリ数の削減、制御装置の負荷軽減に貢献できる。
はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
本願開示の一実施形態は、図1に示すように、第1、第2のテーブル11、12と、宛先学習部13と、パケット処理部14とを備える通信ノード10と、制御装置20とを含む構成にて実現できる。
第1のテーブル11は、少なくとも宛先アドレスを含むマッチ条件と、前記マッチ条件に適合するパケットの出力先を対応付けた第1のエントリを格納する。第2のテーブル12は、送信元アドレスをマッチ条件とする第2のエントリを格納する。ここでは、制御装置20が、端末A〜端末Cが接続していることを検出し、第2のテーブル12に端末A〜端末Cのアドレスを送信元アドレスとする第2のエントリが設定されているものとする。
宛先学習部13は、受信パケットの送信元と受信ポートとの組を、第1のテーブル11のマッチ条件と出力先とを対応付けた第1のエントリとして登録する。
パケット処理部14は、第1、第2のテーブル11、12から受信パケットに適合するマッチ条件を持つエントリがそれぞれ見つかった場合に、前記第1のテーブルに定められた出力先へパケットを転送し、前記第1、第2のテーブルの少なくとも一方で受信パケットに適合するマッチ条件を持つエントリが見つからない場合、制御装置20から設定された第3のエントリに従い受信パケットをブロードキャストする。なお、この第3のエントリは、第2のテーブル12に、第2のエントリよりも下位の優先度が適用されるように格納しても良いし、第2のテーブル12の次に参照されるべき第3のテーブル等に格納してもよい。
例えば、図2に示すように複数の通信ノード10によって構成されたネットワークに、端末A〜Cが接続されている場合において、端末Cが端末A宛てにパケットを送信した場合を考える。図2の破線は、制御装置20によって計算されたブロードキャスト/マルチキャスト経路(以下、BCMC経路)を示している。
通信ノード10は、端末Cからのパケットを受信するが、第1のテーブル11に、端末Cからのパケットに適合するマッチ条件を持つエントリがないため(未学習であるため)、図2に示すブロードキャスト経路を実現する第3のエントリに従い受信パケットを転送する。
この転送経路上の通信ノード10の宛先学習部13は、前記ブロードキャスト経路に従って転送された端末Cから端末A宛てのパケットを受信すると、受信パケットの送信元(端末C)と受信ポート(端末Cからのパケットの受信ポート)との組を、第1のテーブル11のマッチ条件と出力先として持つ第1のエントリとしてそれぞれ登録する。
その後、ブロードキャストされたパケットを受信した端末Aが端末Cに応答パケットを送信すると、前記経路上の通信ノード10の第1のテーブル11には、端末Cの宛先アドレスをマッチ条件とし、端末Cからのパケットを受信したポートを出力先とする第1のエントリが登録されているため、通信ノード10は、第1のエントリが見つかったと判定する。さらに、通信ノード10の第2のテーブルには、前述のとおり、制御装置20により、送信元の端末Aをマッチ条件とする第2のエントリが登録されているため、通信ノード10は、第2のエントリが見つかったと判定する。この結果、端末Aから端末Cへ宛てられた応答パケットは端末Cにユニキャスト転送される。
前記転送の過程で、通信ノード10の宛先学習部13は、応答パケットの送信元(端末A)と受信ポート(端末Aからのパケットの受信ポート)との組を、第1のテーブル11のマッチ条件と出力先として持つ第1のエントリとしてそれぞれ登録する。この結果、端末Cから端末A宛てたパケットは、次回以降、第1のエントリ及び第2のエントリのヒットすることになり、ユニキャスト転送されることになる。
以上のように、集中制御型のネットワークを用いて、レイヤ2スイッチのような転送操作が実現され、経路上の転送ノードが保持するエントリの数の削減、制御装置20の負荷軽減が実現される。
[第1の実施形態]
続いて、第1の実施形態について図面を参照して詳細に説明する。図3は、第1の実施形態の通信システムの構成を示す図である。図3を参照すると、図3に示したようにデータ転送用リンクで接続された通信ノード1021〜1024と、制御用リンクを介してこれらの通信ノード1021〜1024を制御する制御装置101と、を含んだ構成が示されている。また、通信ノード1021には、端末1031が接続され、通信ノード1024には、端末1032が接続されている。
続いて、第1の実施形態について図面を参照して詳細に説明する。図3は、第1の実施形態の通信システムの構成を示す図である。図3を参照すると、図3に示したようにデータ転送用リンクで接続された通信ノード1021〜1024と、制御用リンクを介してこれらの通信ノード1021〜1024を制御する制御装置101と、を含んだ構成が示されている。また、通信ノード1021には、端末1031が接続され、通信ノード1024には、端末1032が接続されている。
制御装置101は、通信ノード1021〜1024によって構成されるネットワークトポロジに基づいて、BCMC経路を計算する。また、制御装置101は、通信ノード1021〜1024に対し、非特許文献2のオープンフロープロトコル等を用いて、前記計算したBCMC経路を実現するエントリを設定する。制御装置101は、通信ノード1021〜1024の第1テーブルに、ミスヒット用のエントリを登録し、通信ノード1021〜1024の第2テーブルに、既知の送信元を判別するためのエントリ(SrcMAC用エントリ)と、ブロードキャスト用エントリを登録する。具体的な内容は、通信ノード1021〜1024の詳細構成と共に後述する。なお、このような制御装置20は、非特許文献1、2のオープンフローコントローラをベースに、後述するエントリ操作機能を搭載することで実現可能である。
端末1031、1032は、通信ノード1021〜1024によって構成されるネットワークを介して通信するパーソナルコンピュータや各種モバイル端末等である。
図4は、第1の実施形態の通信ノードの詳細構成を示すブロック図である。以下、通信ノード1021〜1024を特に区別しない場合、「通信ノード102」と表して説明する。
図4を参照すると、通信ノード102は、制御装置101と制御メッセージを授受するプロトコル制御部103と、入力ポート104と、テーブル記憶部105と、出力ポート112とを備えている。なお、図4では、説明を簡単にするために、図1に示した宛先学習部13、パケット処理部14を省略しているが、通信ノード102におけるパケット処理は、テーブル記憶部105に記憶された2つテーブル(Table0(符号106)、Table1(符号109))の検索結果によって決定される。また、通信ノード102は、受信パケットに基づいて、Table0(符号106)に、宛先アドレスと出力ポートとを対応付けたエントリ(DstMAC用エントリ)を登録する学習機能を備えている。
テーブル記憶部105は、パイプライン処理されるTable0(符号106)と、Table1(符号109)とが記憶されている。パイプライン処理とは、複数のテーブルを所定の順序で参照していき、必要に応じパケットヘッダやメタデータを書き換えながら、各テーブルのエントリのマッチ条件と照合していき、1以上の処理内容(アクション)を決定していく処理である(非特許文献2の「4.1.1 Pipeline Processing」参照)。
本実施形態では、Table0(符号106)の次に、Table1(符号109)が参照される。従って、入力ポート104でパケットが受信されると、最初にTable0(符号106)から受信パケットに適合するマッチ条件を持つエントリの検索が行われる。
図4の例では、Table0(符号106)には、DstMAC用エントリ107と、ミスヒット用エントリ108とが格納されている。
DstMAC用エントリ107は、上記した第1のエントリに相当し、運用中に、通信ノード102の宛先学習部(不図示)により設定される。例えば、送信元MAC(Media Access Control)アドレス(SrcMAC)がX、宛先MACアドレス(DstMAC)がY、VLAN ID(Virtual Local Area Network ID)がZであるパケット(以下、{SrcMAC:X、DstMAC:Y、VID:Z}と記す。)が入力ポート:Aから流入した場合、通信ノードの宛先学習部は、Table0(符号106)に、以下のようなエントリを追加する。
マッチ条件:DstMAC=X かつ VID=Z
インストラクション:Write−Metadata=1
:Write−Action(OUTPUT=A)
:Goto Table=1
インストラクション:Write−Metadata=1
:Write−Action(OUTPUT=A)
:Goto Table=1
ここで、Write−Metadataは、メタデータとして、DstMAC用エントリのマッチ条件に適合(ヒット)したことを示すフラグ「1」を立てる処理を行うことを指示するものである。また、Write−Action(OUTPUT=A)は、出力ポート112のうちのポートAから対象パケットを転送することを指示するものである。また、Goto Table=1は、Table1(符号109)を参照してエントリを検索することを指示するものである。
ミスヒット用エントリ108は、運用開始時にコントローラから設定されるエントリ(第4のエントリ)である。受信パケットが学習済みのいずれのDstMAC用エントリ107にもヒットしなかった場合に、Table1(符号109)を参照してエントリを検索することを指示するものである。
また、図4の例では、Table1(符号109)には、SrcMAC用エントリ110と、ブロードキャスト用エントリ111とが格納されている。
SrcMAC用エントリ110は、上記した第2のエントリに相当し、運用中に、制御装置101から設定される。例えば、例えば、制御装置101があるユーザ(端末)の所在{MACアドレス:Y、VID=Zのユーザが通信ノードのポート:Bに接続されている}を認識した場合、制御装置101は、通信ノード102に、SrcMAC用エントリ110として、以下のようなエントリを設定する。
マッチ条件:Metadata=1 かつ Inport=B かつ SrcMAC=Y かつ VID=Z
インストラクション:無し
インストラクション:無し
以上のように、DstMAC用エントリ107とSrcMAC用エントリ110とが設定されることにより、通信ノード102は、DstMAC用エントリ107及びSrcMAC用エントリ110にヒットしたパケットについて、DstMAC用エントリ107でWrite−Actionとして設定されたポートAからのユニキャスト転送動作を行う。
なお、SrcMAC用エントリ110のマッチ条件から、SrcMAC、入力ポート(Inport)やVIDのいずれか1つ以上を省略することもできる。いずれもマッチ条件としない場合、その場合は以下のようなSrcMAC用エントリ110が設定される。
マッチ条件:Metadata=1
インストラクション:無し
インストラクション:無し
この場合、DstMAC用エントリ107にヒットしたという事実だけで、DstMAC用エントリ107でWrite−Actionとして設定されたポートAからのユニキャスト転送動作が行われることになる。
ブロードキャスト用エントリ111は、運用開始時にコントローラから設定されるエントリ(第3のエントリ)である。ブロードキャスト用エントリ111により、いずれのSrcMAC用エントリ110にもヒットしなかったパケット(DstMAC用エントリ107にヒットせず、Metadataにフラグ「1」が立てられなかった場合も含む)が制御装置101により設定されたブロードキャスト経路で転送される。
以上のように、通信ノード102のパケット処理部(不図示)は、テーブル記憶部105のTable0(符号106)と、Table1(符号109)とを順番に参照していき、決定したポートにパケットを出力する。
ここで、通信ノード102のパケット処理部(不図示)の動作について、具体的な例を示して説明する。以下、Table0(符号106)とTable1(符号109)には、以下のDstMAC用エントリ107とSrcMAC用エントリ110とが設定されているものとする。
[DstMAC用エントリ]
マッチ条件:DstMAC=X かつ VID=Z
インストラクション:Write−Metadata=1
:Write−Action(OUTPUT=A)
:Goto Table=1
マッチ条件:DstMAC=X かつ VID=Z
インストラクション:Write−Metadata=1
:Write−Action(OUTPUT=A)
:Goto Table=1
[SrcMAC用エントリ]
マッチ条件:Metadata=1 かつ Inport=B かつ SrcMAC=Y かつ VID=Z
インストラクション:無し
マッチ条件:Metadata=1 かつ Inport=B かつ SrcMAC=Y かつ VID=Z
インストラクション:無し
(1)DstMAC用エントリ107:ヒット無し/SrcMAC用エントリ110:ヒット無しの場合
通信ノード102のパケット処理部(不図示)は、Table0(符号106)から、入力ポート:Bから受信したパケットに適合するマッチ条件を持つエントリを検索する。DstMAC用エントリ107が存在していないため、ミスヒット用エントリ108にヒットして、Metadataにフラグが立てられることなく、Table1(符号109)の検索が開始される。Table1(符号109)の検索においても、受信パケットに適合するマッチ条件を持つSrcMAC用エントリ110が存在しておらず、ブロードキャスト用エントリ111にヒットしてパケットはブロードキャストされる。
通信ノード102のパケット処理部(不図示)は、Table0(符号106)から、入力ポート:Bから受信したパケットに適合するマッチ条件を持つエントリを検索する。DstMAC用エントリ107が存在していないため、ミスヒット用エントリ108にヒットして、Metadataにフラグが立てられることなく、Table1(符号109)の検索が開始される。Table1(符号109)の検索においても、受信パケットに適合するマッチ条件を持つSrcMAC用エントリ110が存在しておらず、ブロードキャスト用エントリ111にヒットしてパケットはブロードキャストされる。
(2)DstMAC用エントリ107:ヒット/SrcMAC用エントリ110:ヒット無しの場合
通信ノード102のパケット処理部(不図示)は、Table0(符号106)から、入力ポート:Bから受信したパケットに適合するマッチ条件を持つエントリを検索する。受信パケットに適合するDstMAC用エントリ107が見つかったため、パケット処理部(不図示)は、そのインストラクションフィールドの内容(Write−Metadata=1、Write−Action(OUTPUT=A))を実行した上で、Table1(符号109)の検索を開始する。しかしながら、Table1(符号109)の検索の結果、受信パケットに適合するマッチ条件を持つSrcMAC用エントリ110が存在しておらず、ブロードキャスト用エントリ111にヒットしてパケットはブロードキャストされる。
通信ノード102のパケット処理部(不図示)は、Table0(符号106)から、入力ポート:Bから受信したパケットに適合するマッチ条件を持つエントリを検索する。受信パケットに適合するDstMAC用エントリ107が見つかったため、パケット処理部(不図示)は、そのインストラクションフィールドの内容(Write−Metadata=1、Write−Action(OUTPUT=A))を実行した上で、Table1(符号109)の検索を開始する。しかしながら、Table1(符号109)の検索の結果、受信パケットに適合するマッチ条件を持つSrcMAC用エントリ110が存在しておらず、ブロードキャスト用エントリ111にヒットしてパケットはブロードキャストされる。
(3)DstMAC用エントリ107:ヒット無し/SrcMAC用エントリ110:ヒットの場合
通信ノード102のパケット処理部(不図示)は、Table0(符号106)から、入力ポート:Bから受信したパケットに適合するマッチ条件を持つエントリを検索する。DstMAC用エントリ107が存在していないため、ミスヒット用エントリ108にヒットして、Metadataにフラグが立てられることなく、Table1(符号109)の検索が開始される。Table1(符号109)には、受信パケットのSrcMACアドレスに適合するマッチ条件を持つSrcMAC用エントリ110があるのだが、Metadataにフラグが立てられていないため、マッチすることにならず、最終的に、ブロードキャスト用エントリ111にヒットしてパケットはブロードキャストされる。
通信ノード102のパケット処理部(不図示)は、Table0(符号106)から、入力ポート:Bから受信したパケットに適合するマッチ条件を持つエントリを検索する。DstMAC用エントリ107が存在していないため、ミスヒット用エントリ108にヒットして、Metadataにフラグが立てられることなく、Table1(符号109)の検索が開始される。Table1(符号109)には、受信パケットのSrcMACアドレスに適合するマッチ条件を持つSrcMAC用エントリ110があるのだが、Metadataにフラグが立てられていないため、マッチすることにならず、最終的に、ブロードキャスト用エントリ111にヒットしてパケットはブロードキャストされる。
(4)DstMAC用エントリ107:ヒット/SrcMAC用エントリ110:ヒットの場合
通信ノード102のパケット処理部(不図示)は、Table0(符号106)から、入力ポート:Bから受信したパケットに適合するマッチ条件を持つエントリを検索する。受信パケットに適合するDstMAC用エントリ107が見つかったため、パケット処理部(不図示)は、そのインストラクションフィールドの内容(Write−Metadata=1、Write−Action(OUTPUT=A))を実行した上で、Table1(符号109)の検索を開始する。Table1(符号109)の検索の結果、受信パケットのSrcMACアドレス及びMetadataの内容に適合するマッチ条件を持つSrcMAC用エントリ110が見つかり、最終的に、パケットは出力ポート=Aから出力(ユニキャスト)される。
通信ノード102のパケット処理部(不図示)は、Table0(符号106)から、入力ポート:Bから受信したパケットに適合するマッチ条件を持つエントリを検索する。受信パケットに適合するDstMAC用エントリ107が見つかったため、パケット処理部(不図示)は、そのインストラクションフィールドの内容(Write−Metadata=1、Write−Action(OUTPUT=A))を実行した上で、Table1(符号109)の検索を開始する。Table1(符号109)の検索の結果、受信パケットのSrcMACアドレス及びMetadataの内容に適合するマッチ条件を持つSrcMAC用エントリ110が見つかり、最終的に、パケットは出力ポート=Aから出力(ユニキャスト)される。
なお、上記した通信ノードの機能(図1の宛先学習部13及びパケット処理部14に相当)は、通信ノードに搭載されたコンピュータに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。
続いて、本実施形態の全体的な動作について図面を参照して詳細に説明する。はじめに制御装置101によるトポロジ検索動作について説明する。以下の説明では、通信ノード1021〜1024のTable1(符号109)に端末1031、1032のMACアドレスを送信元MACアドレスとしてマッチ条件に設定したSrcMAC用エントリが登録済みであるものとする。
(トポロジ検索)
図5は、第1の実施形態の動作(トポロジ検索)を説明するための図である。まず、制御装置101は、通信ノード1021〜1024のすべてのポートからトポロジ探索用のパケットを送信させる(例えば、非特許文献2のPakcet−Outメッセージを用いることができる)。図5の矢線は通信ノード1021に送信されたトポロジ探索用のパケットの流れ(通信ノード1023に転送された分は非表示)を示している。トポロジ探索用パケットには送信元の通信ノードを一意に識別する情報が入っている。
図5は、第1の実施形態の動作(トポロジ検索)を説明するための図である。まず、制御装置101は、通信ノード1021〜1024のすべてのポートからトポロジ探索用のパケットを送信させる(例えば、非特許文献2のPakcet−Outメッセージを用いることができる)。図5の矢線は通信ノード1021に送信されたトポロジ探索用のパケットの流れ(通信ノード1023に転送された分は非表示)を示している。トポロジ探索用パケットには送信元の通信ノードを一意に識別する情報が入っている。
通信ノード1021から通信ノード1022に転送されたトポロジ探索用のパケットは、通信ノード1022から制御装置101に転送される(例えば、非特許文献2のPakcet−Inメッセージにて報告される)。制御装置101は、通信ノード1022から受信したトポロジ探索用のパケットに含まれる情報(前述の通信ノードを一意に識別する情報)から通信ノード1021と通信ノード1022間にリンクが接続されていることを学習する。制御装置101は、通信ノード間でリンク接続している通信ノードのポートを内向きポート(外部に接続していないポート)として学習する。
一方、通信ノード1021は、端末1031にもトポロジ探索用のパケットを送信するが、このパケットは、制御装置101に戻されない。制御装置101は、このように、一定時間他の通信ノードからトポロジ探索用のパケットを受信できなかった場合、通信ノード1021の該当ポートは、ネットワークの外部と接続されていることを学習する。制御装置101は、ネットワークの外部と接続しているポートを外向きポート(外部に接続しているポート)として学習する。
以上のような処理を制御装置101と接続しているすべての通信ノードのポートについて情報を収集することで、通信ノード1021〜1024によって構成されるネットワークトポロジを把握することができる。
なお、上記のような手順に代えて、Link Layer Discovery Protocol(LLDP)等のトポロジ探索方法を用いることもできる。
(経路計算)
上記のようにしてネットワークトポロジの把握が完了すると、制御装置101は、ネットワークにおけるブロードキャスト/マルチキャスト用経路(BCMC経路)を計算する。図6は、第1の実施形態の動作(経路計算)を説明するための図である。まず、制御装置101は、上記のようにして把握したネットワークトポロジに基づいて、パケットのBCMC経路を計算する。
上記のようにしてネットワークトポロジの把握が完了すると、制御装置101は、ネットワークにおけるブロードキャスト/マルチキャスト用経路(BCMC経路)を計算する。図6は、第1の実施形態の動作(経路計算)を説明するための図である。まず、制御装置101は、上記のようにして把握したネットワークトポロジに基づいて、パケットのBCMC経路を計算する。
次に、制御装置101は、BCMC経路の経路上の通信ノードに、内向きポートで受信したパケットをBCMC経路の他の内向きポートと外向きポートから転送させるブロードキャスト用エントリ(第3のエントリ)を生成し、経路上の通信ノードのTable1(符号109)に設定する(図6の破線の矢線)。
さらに、制御装置101は、通信ノード1021〜1024の外向きポートで受信したパケットを外向きポートとBCMC経路上のポートに転送させるブロードキャスト用エントリ(第3のエントリ)を生成し、経路上の通信ノードのTable1(符号109)に設定する。
以上の結果、図6の矢線に示したようにパケット転送を行うためのエントリの設定が完了する。
(端末検知(DstMAC用エントリの学習))
その後、運用中の任意のタイミングで、端末1031が、通信ノード1021に対してパケットを送信すると、通信ノード1021は、宛先学習部にて、パケットの送信元MACアドレスをマッチ条件とし、インストラクションとして、Metadataにフラグを立てる処理、パケットの受信ポートからの転送処理、Table1(符号109)の検索処理を定めたDstMAC用エントリ107を生成し、Table0(符号106)に登録する。
その後、運用中の任意のタイミングで、端末1031が、通信ノード1021に対してパケットを送信すると、通信ノード1021は、宛先学習部にて、パケットの送信元MACアドレスをマッチ条件とし、インストラクションとして、Metadataにフラグを立てる処理、パケットの受信ポートからの転送処理、Table1(符号109)の検索処理を定めたDstMAC用エントリ107を生成し、Table0(符号106)に登録する。
さらに、通信ノード1021は、Table0(符号106)、Table1(符号109)を順番に参照して、転送先を決定する。この時点では、DstMAC用エントリ107として、端末1031からのパケットに適合するエントリがないため、通信ノード1021は、ブロードキャスト用エントリ111に従い、BCMC経路と外向きポート(外向きポートが存在する場合)にパケットを転送する。
次に、BCMC経路の内向きポートでパケットを受信した通信ノード1022〜1024は、通信ノード1021と同様に、パケットの送信元MACアドレスをマッチ条件とし、インストラクションとして、Metadataにフラグを立てる処理、パケットの受信ポートからの転送処理、Table1(符号109)の検索処理を定めたDstMAC用エントリ107を生成し、Table0(符号106)に登録する。
通信ノード1022〜1024においても、Table0(符号106)、Table1(符号109)を順番に参照して、転送先の決定処理が行われる。通信ノード1022〜1024においても、DstMAC用エントリ107として、端末1031からのパケットに適合するエントリがないため、通信ノード1022〜1024は、ブロードキャスト用エントリ111に従い、BCMC経路と外向きポート(外向きポートが存在する場合)にパケットを転送する。
以上の結果、端末1031から通信ノード1021に対して送信されたパケットは、図6の矢線に従って、端末1032に転送される。
(応答パケット転送(学習した宛先への転送))
その後、端末1031から受信したパケットを受信した端末1032が、端末1032宛てのパケットを通信ノード1024に送信すると、通信ノード1024は、端末1031のMACアドレスを学習済みであり(DstMAC用エントリ107を登録済み)、Table1(符号109)に端末1031、1032のMACアドレスを送信元MACアドレスとしてマッチ条件に設定したSrcMAC用エントリを登録済みであるため、DstMAC用エントリ107に指定されたポートからパケットを転送する。
その後、端末1031から受信したパケットを受信した端末1032が、端末1032宛てのパケットを通信ノード1024に送信すると、通信ノード1024は、端末1031のMACアドレスを学習済みであり(DstMAC用エントリ107を登録済み)、Table1(符号109)に端末1031、1032のMACアドレスを送信元MACアドレスとしてマッチ条件に設定したSrcMAC用エントリを登録済みであるため、DstMAC用エントリ107に指定されたポートからパケットを転送する。
通信ノード1022、1021においても、端末1031のMACアドレスを学習済みであり(DstMAC用エントリ107を登録済み)、Table1(符号109)に端末1031、1032のMACアドレスを送信元MACアドレスとしてマッチ条件に設定したSrcMAC用エントリを登録済みであるため、DstMAC用エントリ107に指定されたポートからパケットを転送する。
以上の結果、端末1032から通信ノード1024に対して送信されたパケットは、図8の矢線に従って、端末1032に転送される。
以上のように、本実施形態によれば、集中制御型のネットワークを用いて、L2スイッチと同様のパケット転送が実現される。さらに、本実施形態では、L2スイッチのような受信ポート以外からのパケットのフラッディングを行うのではなく、制御装置101によってネットワークトポロジを元に計算されたBCMC経路で、未学習パケットが転送されるため、ループの発生も抑止される。さらに、上記した実施形態では、説明を省略したが、DstMAC用エントリ107に適当なタイムアウト値を設定し、エージング処理を行うことで、エントリ数の増加を抑えることが可能となっている。
さらに、本実施形態によれば、任意の通信ノード間のリンクに障害が発生した場合においても、代替経路を設定し、学習することが可能であるので、以下、その手順について説明する。
(迂回処理)
ここでは、図9の通信ノード1021と通信ノード1022との間のリンクに障害が発生した場合について説明する。まず、通信ノード1021と通信ノード1022が制御装置101に対し、ポートダウンを通知し、ブロードキャスト経路の再計算と、必要なエントリの再設定を要求する。
ここでは、図9の通信ノード1021と通信ノード1022との間のリンクに障害が発生した場合について説明する。まず、通信ノード1021と通信ノード1022が制御装置101に対し、ポートダウンを通知し、ブロードキャスト経路の再計算と、必要なエントリの再設定を要求する。
前記通知を受けた制御装置101は、通知された内容に基づいて、上記(トポロジ検索)の手順にて把握していたネットワークトポロジを更新する。
次に、制御装置101は、上記(経路計算)手順と同様に、BCMC経路を再計算する。
次に、制御装置101は、上記(経路計算)手順と同様に、通信ノード1021〜1024の外向きポートで受信したパケットを外向きポートとBCMC経路上のポートに転送するブロードキャスト用エントリ(第3のエントリ)を生成し、経路上の通信ノードのTable1(符号109)に設定する(図9の破線の矢線)。
最後に制御装置101は、通信ノード1021〜1024に対し、学習したMACアドレスを格納したDstMAC用エントリの削除を指示する(図9の一点鎖線の矢線)。
以上の結果、その後、端末1031からパケットが送信されると、上記(端末検知(DstMAC用エントリの学習))と(応答パケット転送(学習した宛先への転送))と同様のMACアドレスの学習が行われ、通信ノード1021、1023、1024を経由する経路にてパケットの転送が行われる。
以上、本発明の実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、各図面に示したネットワーク構成や要素の構成は、本発明の理解を助けるための一例であり、これらの図面に示した構成に限定されるものではない。
また例えば、上記した実施形態では、第1のテーブル(Table0(符号106))と第2のテーブル(Table1(符号109))のマッチ条件に、MACアドレスを用いるものとして説明したが、IPアドレス等その他のアドレスをマッチ条件とすることもできる。また、上記した実施形態では、マッチ条件として、VLAN IDや入力ポート等を用いる例をあげて説明したが、これらの項目を省略しても良いし、その他の項目を、マッチ条件に加えることも可能である。また、第2のテーブル(Table1(符号109))においては、第1の実施形態で説明したように、マッチ条件としてMetadata=1だけ(即ち、第1のテーブルにヒットしたこと)を設定することも可能である。
また、上記した実施形態では、第1のテーブル(Table0(符号106))にヒットした場合に、インストラクションとして、Metadataの書き換えと、アクション(指定ポートからの転送)、Goto命令による次テーブルの参照を設定する例をあげて説明したが、インストラクションとしてヘッダ書換え等を指示してもよい。例えば、第1のテーブル(Table0(符号106))で、パケット種別等に応じた情報をヘッダに書き込み、第2のテーブル(Table1(符号109))にて、パケット種別等に応じた処理の振り分けを行うことなども可能となる。
最後に、本発明の好ましい形態を要約する。
[第1の形態]
(上記第1の視点による通信ノード参照)
[第2の形態]
第1の形態において、
前記第2のエントリのマッチ条件に、ネットワークに接続されている端末のアドレスが設定されている通信ノード。
[第3の形態]
第1又は第2の形態において、
前記第1のテーブルに、受信パケットに適合するマッチ条件を持つ第1のエントリがない場合に前記第2のテーブルの検索を指示する第3のエントリが登録されている通信ノード。
[第4の形態]
第1から第3いずれか一の形態において、
他の通信ノードとの間のリンクに障害が発生した場合に、前記制御装置に対し、ブロードキャスト経路の再計算と、前記第2、第4のエントリの再設定を要求する通信ノード。
[第5の形態]
第1から第4いずれか一の形態において、
少なくとも前記第1のエントリについて、予め設定されたタイムアウト値に基づいて、エージング処理を行う通信ノード。
[第6の形態]
(上記第2の視点による通信システム参照)
[第7の形態]
(上記第3の視点による制御装置参照)
[第8の形態]
(上記第4の視点によるパケット転送方法参照)
[第9の形態]
(上記第5の視点によるプログラム参照)
なお、上記第6〜第9の形態は、第1の形態と同様に、第2〜第5の形態に展開することが可能である。
[第1の形態]
(上記第1の視点による通信ノード参照)
[第2の形態]
第1の形態において、
前記第2のエントリのマッチ条件に、ネットワークに接続されている端末のアドレスが設定されている通信ノード。
[第3の形態]
第1又は第2の形態において、
前記第1のテーブルに、受信パケットに適合するマッチ条件を持つ第1のエントリがない場合に前記第2のテーブルの検索を指示する第3のエントリが登録されている通信ノード。
[第4の形態]
第1から第3いずれか一の形態において、
他の通信ノードとの間のリンクに障害が発生した場合に、前記制御装置に対し、ブロードキャスト経路の再計算と、前記第2、第4のエントリの再設定を要求する通信ノード。
[第5の形態]
第1から第4いずれか一の形態において、
少なくとも前記第1のエントリについて、予め設定されたタイムアウト値に基づいて、エージング処理を行う通信ノード。
[第6の形態]
(上記第2の視点による通信システム参照)
[第7の形態]
(上記第3の視点による制御装置参照)
[第8の形態]
(上記第4の視点によるパケット転送方法参照)
[第9の形態]
(上記第5の視点によるプログラム参照)
なお、上記第6〜第9の形態は、第1の形態と同様に、第2〜第5の形態に展開することが可能である。
なお、上記の非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素(各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
10、102、1021〜1024 通信ノード
11 第1のテーブル
12 第2のテーブル
13 宛先学習部
14 パケット処理部
20、101 制御装置
103 プロトコル制御部
104 入力ポート
105 テーブル記憶部
106 Table0
107 DstMAC用エントリ(第1のエントリ)
108 ミスヒット用エントリ(第4のエントリ)
109 Table1
110 SrcMAC用エントリ(第2のエントリ)
111 ブロードキャスト用エントリ(第3のエントリ)
112 出力ポート
A〜C、1031、1032 端末
11 第1のテーブル
12 第2のテーブル
13 宛先学習部
14 パケット処理部
20、101 制御装置
103 プロトコル制御部
104 入力ポート
105 テーブル記憶部
106 Table0
107 DstMAC用エントリ(第1のエントリ)
108 ミスヒット用エントリ(第4のエントリ)
109 Table1
110 SrcMAC用エントリ(第2のエントリ)
111 ブロードキャスト用エントリ(第3のエントリ)
112 出力ポート
A〜C、1031、1032 端末
Claims (10)
- 少なくとも宛先アドレスを含むマッチ条件と、前記マッチ条件に適合するパケットの出力先を対応付けた第1のエントリを格納する第1のテーブルと、
所定の制御装置から設定されたマッチ条件を持つ第2のエントリを格納する第2のテーブルと、
受信パケットの送信元と受信ポートとの組を、前記第1のテーブルのマッチ条件と出力先とを対応付けた第1のエントリとして登録する宛先学習部と、
前記第1、第2のテーブルから受信パケットに適合するマッチ条件を持つエントリがそれぞれ見つかった場合に、前記第1のテーブルに定められた出力先へパケットを転送し、
前記第1、第2のテーブルの少なくとも一方で受信パケットに適合するマッチ条件を持つエントリが見つからない場合、前記制御装置から設定された第3のエントリに従い受信パケットをブロードキャストするパケット処理部と、
を備える通信ノード。 - 前記第2のエントリのマッチ条件には、ネットワークに接続されている端末のアドレスが設定されている請求項1の通信ノード。
- 前記第1のテーブルに、受信パケットに適合するマッチ条件を持つ第1のエントリがない場合に前記第2のテーブルの検索を指示する第4のエントリが登録されている請求項1又は2の通信ノード。
- 他の通信ノードとの間のリンクに障害が発生した場合に、前記制御装置に対し、ブロードキャスト経路の再計算と、前記第3のエントリの再設定を要求する請求項1から3いずれか一の通信ノード。
- 少なくとも前記第1のエントリについて、予め設定されたタイムアウト値に基づいて、エージング処理を行う請求項1から4いずれか一の通信ノード。
- 少なくとも宛先アドレスを含むマッチ条件と、前記マッチ条件に適合するパケットの出力先を対応付けた第1のエントリを格納する第1のテーブルと、
所定のマッチ条件を持つ第2のエントリを格納する第2のテーブルと、
受信パケットの送信元と受信ポートとの組を、前記第1のテーブルのマッチ条件と出力先とを対応付けた第1のエントリとして登録する宛先学習部と、
前記第1、第2のテーブルから受信パケットに適合するマッチ条件を持つエントリがそれぞれ見つかった場合に、前記第1のテーブルに定められた出力先へパケットを転送し、
前記第1、第2のテーブルの少なくとも一方で受信パケットに適合するマッチ条件を持つエントリが見つからない場合、第3のエントリに従い受信パケットをブロードキャストするパケット処理部と、
を備える複数の通信ノードと、
前記通信ノードに、前記第2、第3のエントリを設定する制御装置と、を含む通信システム。 - 少なくとも宛先アドレスを含むマッチ条件と、前記マッチ条件に適合するパケットの出力先を対応付けた第1のエントリを格納する第1のテーブルと、
所定のマッチ条件を持つ第2のエントリを格納する第2のテーブルと、
受信パケットの送信元と受信ポートとの組を、前記第1のテーブルのマッチ条件と出力先とを対応付けた第1のエントリとして登録する宛先学習部と、
前記第1、第2のテーブルから受信パケットに適合するマッチ条件を持つエントリがそれぞれ見つかった場合に、前記第1のテーブルに定められた出力先へパケットを転送し、
前記第1、第2のテーブルの少なくとも一方で受信パケットに適合するマッチ条件を持つエントリが見つからない場合、第3のエントリに従い受信パケットをブロードキャストするパケット処理部と、を備える複数の通信ノードと、接続され、
前記複数の通信ノードによって構成されるネットワークにブロードキャスト経路を計算し、該ブロードキャスト経路に従い、前記通信ノードの少なくとも第2のテーブルにエントリを設定する制御装置。 - 通信ノード間のリンクに障害が発生した場合に、ブロードキャスト経路の再計算と、前記第3のエントリの再設定を実行する請求項7の制御装置。
- 少なくとも宛先アドレスを含むマッチ条件と、前記マッチ条件に適合するパケットの出力先を対応付けた第1のエントリを格納する第1のテーブルと、
所定のマッチ条件を持つ第2のエントリを格納する第2のテーブルと、
受信パケットの送信元と受信ポートとの組を、前記第1のテーブルのマッチ条件と出力先とを対応付けた第1のエントリとして登録する宛先学習部と、
パケット処理部とを備える通信ノードが、
前記第1、第2のテーブルから受信パケットに適合するマッチ条件を持つエントリがそれぞれ見つかった場合に、前記第1のテーブルに定められた出力先へパケットを転送するステップと、
前記第1、第2のテーブルの少なくとも一方で受信パケットに適合するマッチ条件を持つエントリが見つからない場合、第3のエントリに従い受信パケットをブロードキャストするステップと、を含むパケット転送方法。 - 少なくとも宛先アドレスを含むマッチ条件と、前記マッチ条件に適合するパケットの出力先を対応付けた第1のエントリを格納する第1のテーブルと、
所定のマッチ条件を持つ第2のエントリを格納する第2のテーブルと、
受信パケットの送信元と受信ポートとの組を、前記第1のテーブルのマッチ条件と出力先とを対応付けた第1のエントリとして登録する宛先学習部と、
パケット処理部とを備える通信ノードに搭載されたコンピュータに、
前記第1、第2のテーブルから受信パケットに適合するマッチ条件を持つエントリがそれぞれ見つかった場合に、前記第1のテーブルに定められた出力先へパケットを転送する処理と、
前記第1、第2のテーブルの少なくとも一方で受信パケットに適合するマッチ条件を持つエントリが見つからない場合、第3のエントリに従い受信パケットをブロードキャストする処理と、を実行させるプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012224713 | 2012-10-10 | ||
JP2012224713 | 2012-10-10 | ||
PCT/JP2013/077476 WO2014057977A1 (ja) | 2012-10-10 | 2013-10-09 | 通信ノード、通信システム、制御装置、パケット転送方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP5935897B2 true JP5935897B2 (ja) | 2016-06-15 |
JPWO2014057977A1 JPWO2014057977A1 (ja) | 2016-09-05 |
Family
ID=50477444
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014540867A Expired - Fee Related JP5935897B2 (ja) | 2012-10-10 | 2013-10-09 | 通信ノード、通信システム、制御装置、パケット転送方法及びプログラム |
Country Status (11)
Country | Link |
---|---|
US (1) | US9819584B2 (ja) |
EP (1) | EP2908483B1 (ja) |
JP (1) | JP5935897B2 (ja) |
KR (1) | KR101707355B1 (ja) |
CN (1) | CN104737503B (ja) |
BR (1) | BR112015007232A2 (ja) |
CA (1) | CA2888136A1 (ja) |
ES (1) | ES2660738T3 (ja) |
IN (1) | IN2015DN02007A (ja) |
RU (1) | RU2581558C1 (ja) |
WO (1) | WO2014057977A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2604995C1 (ru) * | 2012-11-28 | 2016-12-20 | Нек Корпорейшн | Коммутационное устройство, способ и программа управления настройкой vlan |
EP3110085A4 (en) * | 2014-02-19 | 2017-10-25 | NEC Corporation | Network control method, network system, device, and program |
JP6369175B2 (ja) * | 2014-07-04 | 2018-08-08 | 富士通株式会社 | パケット処理装置、制御プログラム、及びパケット処理装置の制御方法 |
US10848420B2 (en) * | 2018-02-12 | 2020-11-24 | Cisco Technology, Inc. | Dynamic forwarding features in network elements |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011188433A (ja) * | 2010-03-11 | 2011-09-22 | Nec Corp | 通信装置、通信制御方法、及び通信制御用プログラム |
WO2012070173A1 (en) * | 2010-11-22 | 2012-05-31 | Nec Corporation | Communication system, communication device, controller, and method and program for controlling forwarding path of packet flow |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100559979B1 (ko) * | 2003-04-03 | 2006-03-13 | 엘지전자 주식회사 | 이동통신 시스템에서의 메시지 전송방법 |
US20050141537A1 (en) * | 2003-12-29 | 2005-06-30 | Intel Corporation A Delaware Corporation | Auto-learning of MAC addresses and lexicographic lookup of hardware database |
US7801125B2 (en) * | 2004-10-22 | 2010-09-21 | Cisco Technology, Inc. | Forwarding table reduction and multipath network forwarding |
JP4481147B2 (ja) * | 2004-10-28 | 2010-06-16 | 富士通株式会社 | Macアドレス学習装置 |
US8565124B2 (en) * | 2005-03-04 | 2013-10-22 | Nec Corporation | Node, network, correspondence relationship generation method and frame transfer program |
US8116312B2 (en) | 2006-02-08 | 2012-02-14 | Solarflare Communications, Inc. | Method and apparatus for multicast packet reception |
US8098677B1 (en) | 2009-07-31 | 2012-01-17 | Anue Systems, Inc. | Superset packet forwarding for overlapping filters and related systems and methods |
WO2011037105A1 (ja) * | 2009-09-25 | 2011-03-31 | 日本電気株式会社 | コンテンツベーススイッチシステム、及びコンテンツベーススイッチ方法 |
JP5446040B2 (ja) | 2009-09-28 | 2014-03-19 | 日本電気株式会社 | コンピュータシステム、及び仮想マシンのマイグレーション方法 |
WO2011087085A1 (ja) * | 2010-01-14 | 2011-07-21 | 日本電気株式会社 | 計算機、ネットワーク接続切替え方法およびプログラム |
EP2572473B1 (en) * | 2010-05-19 | 2014-02-26 | Telefonaktiebolaget L M Ericsson (PUBL) | Methods and apparatus for use in an openflow network |
US8391289B1 (en) * | 2010-10-29 | 2013-03-05 | Hewlett-Packard Development Company, L.P. | Managing a forwarding table in a switch |
US8873398B2 (en) * | 2011-05-23 | 2014-10-28 | Telefonaktiebolaget L M Ericsson (Publ) | Implementing EPC in a cloud computer with openflow data plane |
US8804490B2 (en) * | 2011-07-29 | 2014-08-12 | Telefonaktiebolaget L M Ericsson (Publ) | Controller placement for fast failover in the split architecture |
US9288555B2 (en) * | 2011-11-01 | 2016-03-15 | Plexxi Inc. | Data center network architecture |
US8971338B2 (en) * | 2012-01-09 | 2015-03-03 | Telefonaktiebolaget L M Ericsson (Publ) | Expanding network functionalities for openflow based split-architecture networks |
CN102594664B (zh) * | 2012-02-02 | 2015-06-17 | 杭州华三通信技术有限公司 | 流量转发方法和装置 |
US8705536B2 (en) * | 2012-03-05 | 2014-04-22 | Telefonaktiebolaget L M Ericsson (Publ) | Methods of operating forwarding elements including shadow tables and related forwarding elements |
US9143557B2 (en) * | 2012-06-27 | 2015-09-22 | Juniper Networks, Inc. | Feedback loop for service engineered paths |
US9036638B2 (en) * | 2012-08-09 | 2015-05-19 | International Business Machines Corporation | Avoiding unknown unicast floods resulting from MAC address table overflows |
US9071529B2 (en) * | 2012-10-08 | 2015-06-30 | Telefonaktiebolaget L M Ericsson (Publ) | Method and apparatus for accelerating forwarding in software-defined networks |
-
2013
- 2013-10-09 IN IN2007DEN2015 patent/IN2015DN02007A/en unknown
- 2013-10-09 BR BR112015007232A patent/BR112015007232A2/pt not_active IP Right Cessation
- 2013-10-09 RU RU2015117659/08A patent/RU2581558C1/ru active
- 2013-10-09 WO PCT/JP2013/077476 patent/WO2014057977A1/ja active Application Filing
- 2013-10-09 CN CN201380052800.1A patent/CN104737503B/zh not_active Expired - Fee Related
- 2013-10-09 KR KR1020157011971A patent/KR101707355B1/ko active IP Right Grant
- 2013-10-09 CA CA2888136A patent/CA2888136A1/en not_active Abandoned
- 2013-10-09 JP JP2014540867A patent/JP5935897B2/ja not_active Expired - Fee Related
- 2013-10-09 EP EP13844836.0A patent/EP2908483B1/en not_active Not-in-force
- 2013-10-09 US US14/426,626 patent/US9819584B2/en active Active
- 2013-10-09 ES ES13844836.0T patent/ES2660738T3/es active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011188433A (ja) * | 2010-03-11 | 2011-09-22 | Nec Corp | 通信装置、通信制御方法、及び通信制御用プログラム |
WO2012070173A1 (en) * | 2010-11-22 | 2012-05-31 | Nec Corporation | Communication system, communication device, controller, and method and program for controlling forwarding path of packet flow |
Also Published As
Publication number | Publication date |
---|---|
EP2908483A1 (en) | 2015-08-19 |
BR112015007232A2 (pt) | 2017-07-04 |
CN104737503A (zh) | 2015-06-24 |
RU2581558C1 (ru) | 2016-04-20 |
CN104737503B (zh) | 2018-01-02 |
EP2908483B1 (en) | 2017-11-29 |
JPWO2014057977A1 (ja) | 2016-09-05 |
EP2908483A4 (en) | 2016-05-25 |
US20150256457A1 (en) | 2015-09-10 |
WO2014057977A1 (ja) | 2014-04-17 |
IN2015DN02007A (ja) | 2015-08-14 |
KR101707355B1 (ko) | 2017-02-15 |
KR20150068451A (ko) | 2015-06-19 |
US9819584B2 (en) | 2017-11-14 |
CA2888136A1 (en) | 2014-04-17 |
ES2660738T3 (es) | 2018-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10075371B2 (en) | Communication system, control apparatus, packet handling operation setting method, and program | |
JP5850068B2 (ja) | 制御装置、通信システム、通信方法およびプログラム | |
US10645006B2 (en) | Information system, control apparatus, communication method, and program | |
JP5939353B2 (ja) | 制御装置、通信システム、スイッチ制御方法及びプログラム | |
JP5800019B2 (ja) | 通信経路制御システム、経路制御装置、通信経路制御方法および経路制御プログラム | |
US20130282867A1 (en) | Information system, control apparatus, method of providing virtual network, and program | |
US20130195110A1 (en) | Communication system, control device, method for setting processing rules, and program | |
JP5858141B2 (ja) | 制御装置、通信装置、通信システム、通信方法及びプログラム | |
JPWO2013039083A1 (ja) | 通信システム、制御装置および通信方法 | |
JP5725236B2 (ja) | 通信システム、ノード、パケット転送方法およびプログラム | |
JP5935897B2 (ja) | 通信ノード、通信システム、制御装置、パケット転送方法及びプログラム | |
WO2014129624A1 (ja) | 制御装置、通信システム、経路切替方法及びプログラム | |
US20190007279A1 (en) | Control apparatus, communication system, virtual network management method, and program | |
US20150256455A1 (en) | Communication system, path information exchange apparatus, communication node, forwarding method for path information and program | |
JPWO2014175423A1 (ja) | 通信ノード、通信システム、パケット処理方法及びプログラム | |
WO2014104277A1 (ja) | 制御装置、通信システム、通信ノードの制御方法及びプログラム | |
US20160094357A1 (en) | Control apparatus, computer system, communication control method, and program | |
JP2015128213A (ja) | 通信ノード、制御装置、通信システム、通信方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160322 |
|
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: 20160412 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160425 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5935897 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |