JP5651970B2 - 通信装置、通信制御方法、及び通信制御用プログラム - Google Patents

通信装置、通信制御方法、及び通信制御用プログラム Download PDF

Info

Publication number
JP5651970B2
JP5651970B2 JP2010054459A JP2010054459A JP5651970B2 JP 5651970 B2 JP5651970 B2 JP 5651970B2 JP 2010054459 A JP2010054459 A JP 2010054459A JP 2010054459 A JP2010054459 A JP 2010054459A JP 5651970 B2 JP5651970 B2 JP 5651970B2
Authority
JP
Japan
Prior art keywords
special
mac address
vlan
field
identification information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010054459A
Other languages
English (en)
Other versions
JP2011188433A (ja
Inventor
山本 慎哉
慎哉 山本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2010054459A priority Critical patent/JP5651970B2/ja
Publication of JP2011188433A publication Critical patent/JP2011188433A/ja
Application granted granted Critical
Publication of JP5651970B2 publication Critical patent/JP5651970B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、通信装置に関し、特に集中制御型ネットワークに属する通信装置に関する。
従来、キャリアネットワークやインターネット等のIP(Internet Protocl)をベースとするネットワークは、各ノードが自律分散的に動作していた。
近年、IPをベースとするネットワークの分野において、オープンフローコンソーシアム(非特許文献1参照)が推進するオープンフロー(OpenFlow)のような技術や、各社の独自技術として、通信装置をネットワーク経由で集中制御する技術が発展している。
[集中制御型ネットワークの例]
図1に、オープンフローの技術を用いた集中制御型ネットワークの例を示す。図1では、コントローラ1が、ルータ3、ルータ4、ルータ5等のネットワーク上のノードの設定を動的に変えて、フローベースで経路制御して負荷を分散する。或いは、コントローラ1が、特定のフローに対する統計情報を収集して、ネットワークの負荷状況をフローベースで把握して詳細に制御を行う。なお、フローとは、所定の規則(ルール)に適合するパケットに対して行うべき所定の処理(アクション)を定義したものである。
上記の技術では、ルータ3とルータ5間の2本の回線のうち、優先したいフローが1本を占有するようにし、他のフローを残りの1本にまとめる。或いは、遅延の影響も無いトラフィックはルータ4を経由するようにする。この技術では、コントローラ1から、ルータ3、ルータ4、ルータ5に、フロー情報と経路を明示的に指定することで制御する。
また、オープンフローでは、フロー情報として、パケットを運ぶフレーム(frame)のヘッダのフィールド(領域)に含まれている情報を用い、フローベースで動作指定を行うことができる。フレームは、イーサネット(登録商標)のPDU(Protocol Data Unit)であり、パケットは、TCP/IPのPDUである。
なお、イーサネット(登録商標)のフレームフォーマットでは、フレームのヘッダのフィールドには、「MACアドレス(Media Access Control Address)」、「VLAN(Virtual Local Area Network) priority」、「VLAN ID(VLAN Identifier:VID)」、「EtherType」、「IPアドレス」、「IP TOS(Type of Service)」、「IPプロトコル番号」、「TCP(Transmission Control Protocol)/UDP(User Datagram Protocol)ポート番号」等の情報が含まれている。オープンフローでは、これらの情報のいくつか又は全てを使用して、フローのルールが決められる。また、上記に加えて、入力ポート(Ingress Port)の情報も、フローのルールとして使用することが可能である。
また、フローベースの制御に近いものとして、従来よりMPLS(Multi−Protocol Label Switching)という技術がある。
なお、オープンフローにおいては、フレームのヘッダのフィールドは多くのビット(bit)からなっており、ビット列も規則性が無いため、フロー情報を格納するフローテーブルから、該当するエントリを検索する際の処理負荷が大きい。また、フローテーブルに格納できるエントリ情報が少ない。例えば、1つのフローあたりのフローの特定のために多くのフィールドを使用すると、消費するメモリ量も大きくなるため、装置に搭載されるメモリ量が同じならば、少ないビット数にフロー情報が集約されている場合に比べて格納できるエントリ数が少なくなる。
また、MPLSを既存の非MPLSネットワークに導入するには、全体的にネットワークを設計し直し、ネットワークを構成する装置を入れ替える必要がある。
更に、従来のフレームフォーマットでは、パケットの識別をするためのフィールドが少なく、パケットの種類を細かく種類分けして個別の処理を行うのが難しい。
このため、MACアドレス、VLAN識別情報(VLAN ID)、IPアドレス、TCP/UDPポート番号等のフィールド値を参照してフロー識別を行い、個別の処理を行うポリシー制御が行われていた。
この方法では、多くのフィールドを検索しなければならないため、ハードウェアの検索負荷が大きくなるという問題があった。また、1つのフロー当たりに多くのビットを使うために情報量が大きくなり、保持できるフロー情報の数が少なくなるという問題があった。
また、MACアドレスやVLAN識別情報(VLAN ID)へのフロー情報の埋め込み(付加)は、FDB(Filtering DataBase)のエントリのサイズを増加させ、IPインタフェースに対応するMACアドレスの管理を煩雑化させてしまう。
しかし、全てをフローベースで転送制御を行うようにすると、FDBのサイズの増加やIPインタフェース管理の煩雑さはなくなるが、フロー情報により経路制御する方法は、ネットワーク全体のフロー設計が必要となり、管理負担が大きいため、フロー識別のみで経路制御する新技術を採用すると負担が大きくなるといった課題がある。
The OpenFlow Switch Consortium <http://www.openflowswitch.org/>
本発明の目的は、検索に必要なフロー情報を、ある程度規則性のあるビット列に変換しながらデータ長も短くし、パケットを運ぶフレームのヘッダのフィールドであるMACアドレス内、VLANタグ内に埋め込む通信装置、通信制御方法、及び通信制御用プログラムを提供することにある。
本発明の通信装置は、受信したフレームのヘッダのフィールドのうち、MACアドレスのフィールドに埋め込まれた第1の特殊フィールドを抽出する手段と、フレームのヘッダのフィールドのうち、VLAN識別情報(VLAN ID)のフィールドに埋め込まれた第2の特殊フィールドを抽出する手段と、第1の特殊フィールドと第2の特殊フィールドとを所定の規則で使用して特殊検索キーを作成する手段と、特殊検索キーを基に、フローテーブル中からヒットするエントリを検索し、ヒットしたエントリに基づいて、フレームに対する処理を実行する手段とを具備する。
本発明の通信制御方法は、通信装置により実施される通信制御方法である。この通信制御方法では、受信したフレームのヘッダのフィールドのうち、MACアドレスのフィールドに埋め込まれた第1の特殊フィールドを抽出する。また、フレームのヘッダのフィールドのうち、VLAN識別情報(VLAN ID)のフィールドに埋め込まれた第2の特殊フィールドを抽出する。また、第1の特殊フィールドと第2の特殊フィールドとを所定の規則で使用して特殊検索キーを作成する。また、特殊検索キーを基に、フローテーブル中からヒットするエントリを検索し、ヒットしたエントリに基づいて、フレームに対する処理を実行する。
本発明の通信制御用プログラムは、受信したフレームのヘッダのフィールドのうち、MACアドレスのフィールドに埋め込まれた第1の特殊フィールドを抽出するステップと、フレームのヘッダのフィールドのうち、VLAN識別情報(VLAN ID)のフィールドに埋め込まれた第2の特殊フィールドを抽出するステップと、第1の特殊フィールドと第2の特殊フィールドとを所定の規則で使用して特殊検索キーを作成するステップと、特殊検索キーを基に、フローテーブル中からヒットするエントリを検索し、ヒットしたエントリに基づいて、フレームに対する処理を実行するステップとを通信装置に実行させるためのプログラムである。なお、本発明の通信制御用プログラムは、記憶装置や記憶媒体に格納することが可能である。
より多くのフロー情報を格納しながら検索処理負荷も削減し、従来のIPネットワークと使い勝手を同じにして、コントローラの導入は必要だが、ネットワーク全体の通信装置の入れ替え無しに、部分的にコントローラの導入ができる。
集中制御型ネットワークの構成例を示す概念図である。 本発明におけるMACフレームのフレームフォーマットの構成例を説明するための図である。 本発明におけるL2スイッチングの制御方法を説明するための図である。 本発明におけるIP転送の制御方法を説明するための図である。 本発明における通常フロー転送の制御方法を説明するための図である。 本発明における特殊フロー転送の制御方法を説明するための図である。 本発明を適用した通信装置の構成例を示すブロック図である。 本発明を適用した通信装置の動作を示すフローチャート(1)である。 本発明を適用した通信装置の動作を示すフローチャート(2)である。 本発明を適用した通信装置の動作を示すフローチャート(3)である。 本発明における通常フロー情報の検索キーの作り方を説明するための図である。 本発明における特殊フロー情報の検索キーの作り方を説明するための図である。 本発明における通常フローエントリの検索と特殊フローエントリの検索を説明するための図である。 本発明における特殊フィールドと他のフィールドを組み合わせた検索を説明するための図である。
<第1実施形態>
以下に、本発明の第1実施形態について説明する。
[本発明におけるMACフレームのフレームフォーマットの構成例]
図2を参照して、本発明におけるMACフレームのフレームフォーマットの構成例と、MACアドレスとVLANタグへのフロー情報の埋め込みについて説明する。
通常のMACフレームは、通常の宛先MACアドレスと、通常の送信元MACアドレスと、通常のVLANタグと、IPパケットと、FCS(Frame Check Sequence)のフィールド(領域)を含む。
宛先MACアドレスは、フレームの宛先(送信先)を示すMACアドレスである。送信元MACアドレスは、フレームの送信元を示すMACアドレスである。
通常のMACアドレスは、上位24ビットと下位24ビットを合わせた48ビットのアドレスである。
通常のMACアドレスの上位24ビットは、企業等の組織を表すOUI(Organization Unique Identifier)と、ローカル/グローバルを表すビットと、マルチキャストを表すビットを有する。OUIは、IEEEにより管理され、組織に対して割り当てられる。MACアドレスの下位24ビットは、製造者が独自に重複しないように割り当てた番号である。
通常のVLANタグは、32ビットで構成されている。この32ビットのうち12ビットがVLAN識別情報(VLAN ID)であり、VLANの識別子として使用される。
本発明では、MACアドレスの上位24ビットが特別な値となっているとき、その下位24ビットのうちの何ビットかを特殊フィールドとして扱う。ネットワーク管理者は、特別な値を決定し、本発明を適用した通信装置に設定する。本発明では、このときの上位24ビットの特殊な値を特殊上位ビットと呼ぶ。すなわち、本発明において、特殊上位ビットは、MACアドレスの上位24ビットである。
同様に、ネットワーク管理者は、VLAN識別情報(VLAN ID)に関して、12ビットのうちの何ビットかを、VLAN識別情報(VLAN ID)として使わないビットとして決定し、本発明を適用した通信装置に設定する。このVLAN識別情報(VLAN ID)として使わないビットも特殊フィールドとして扱う。ネットワーク管理者は、何ビット分を特殊フィールドとして使用するか決める。
ここでは、MACアドレスの下位24ビットのうちの先頭の16ビット(下位先頭16ビット)を特殊フィールドとして扱う。また、VLAN識別情報(VLAN ID)の12ビットのうちの一部を特殊フィールドとして扱う。但し、ビット数は一例に過ぎない。実際には、これらの例に限定されない。
更に、MACアドレスの下位24ビットのうち、特殊フィールドを除いた残りの部分を、残余フィールドとして扱う。また、VLAN識別情報(VLAN ID)の12ビットのうち、特殊フィールドを除いた残りの部分を、残余フィールドとして扱う。
従って、図2に示すように、本発明におけるMACフレームでは、特殊上位ビット101と、特殊フィールド102と、残余フィールド103は、通常の宛先MACアドレスのフィールドに格納される。また、特殊上位ビット201と、特殊フィールド202と、残余フィールド203は、通常の送信元MACアドレスのフィールドに格納される。また、VLANタグの全ビットのうち、VLAN識別情報(VLAN ID)以外の部分であるタグ領域301と、特殊フィールド302と、残余フィールド303は、通常のVLANタグのフィールドに格納される。このとき、特殊フィールド302と、残余フィールド303は、通常のVLAN識別情報(VLAN ID)のフィールドに格納される。
更に、特殊フィールド102と、特殊フィールド202と、特殊フィールド302を、所定の規則に基づいて組み合わせたものを特殊フロー情報400として使用する。なお、特殊フロー情報400は、特殊フィールド102、特殊フィールド202、及び特殊フィールド302のいずれか1つを使用したものでも良い。
ネットワーク管理者は、特殊フロー情報の値の計算方法を決定する。例えば、ネットワーク管理者は、特殊フロー情報400の最上位の領域に、送信元MACアドレスの特殊フィールド202を使用することを決定する。また、特殊フロー情報400の中間の領域に、VLAN識別情報(VLAN ID)の特殊フィールド302を使用することを決定する。また、特殊フロー情報400の最下位の領域に、宛先MACアドレスの特殊フィールド102を使用することを決定する。
また、通常のMACアドレスの全ビット(48ビット)のうち、特殊フィールド以外のビットを、本発明におけるMACアドレスとして扱う。同様に、通常のVLAN識別情報(VLAN ID)の全ビット(12ビット)のうち、特殊フィールド以外のビットを、本発明におけるVLAN識別情報(VLAN ID)として扱う。
ここでは、通常の宛先MACアドレスの全ビットのうち、特殊フィールド102の全ビットを0と解釈したものが、本発明における宛先MACアドレスとなる。正確には、特殊上位ビット101と、特殊フィールド102の全ビットを0に変換したものと、残余フィールド103を組み合わせたものを、正式なMACアドレスの値として解釈するという意味である。宛先MACアドレスの全ビットは、48ビットのままである。
また、通常の送信元MACアドレスの全ビット(48ビット)のうち、特殊フィールド202の全ビットを0と解釈したものが、本発明における送信元MACアドレスとなる。正確には、特殊上位ビット201と、特殊フィールド202の全ビットを0に変換したものと、残余フィールド203を組み合わせたものを、正式なMACアドレスの値として解釈するという意味である。送信元MACアドレスの全ビットは、48ビットのままである。
また、通常のVLAN識別情報(VLAN ID)の全ビット(12ビット)のうち、特殊フィールド302の全ビットを0と解釈したものが、本発明におけるVLAN識別情報(VLAN ID)となる。正確には、特殊フィールド302の全ビットを0に変換したものと、残余フィールド303を組み合わせたものを、正式なVLAN識別情報(VLAN ID)の値として解釈するという意味である。VLAN識別情報(VLAN ID)の全ビットは、12ビットのままである。
なお、FDB(Filtering DataBase)やルーティングテーブルにおいては、MACアドレスやVLAN識別情報(VLAN ID)のうち、特殊フロー情報400に使用する部分(特殊フィールド)の全ビットを0と解釈(又は0に変換)する。すなわち、FDBやルーティングテーブルの登録・参照を行う際には、本発明におけるMACフレームにおける特殊フィールド102、特殊フィールド202、及び特殊フィールド302の全ビットを0と解釈する。
[本発明におけるL2スイッチング]
図3を参照して、本発明を適用した通信装置におけるL2スイッチング(L2転送)の詳細について説明する。なお、L2(レイヤ2)とは、OSI参照モデルのデータリンク層(第2層)のことである。
この場合、通信装置は、L2スイッチとして機能する。本発明では、通信装置は、入力されたMACフレームのMACアドレスが、予め設定された特殊上位ビットを持っていれば、特殊フィールドの全ビットを0と解釈したものを、正式なMACアドレスと解釈する。このため、通信装置は、特殊フィールドのビットが異なっていても、残りの部分が同じであれば、同じMACアドレスと解釈する。また、通信装置は、正式なMACアドレスをキーにしてFDBを検索し、FDB中のヒット(合致)した1つのエントリに基づいて、出力先を決定している。
例えば、通信装置は、受信したMACフレームについて、宛先MACアドレスの上位24ビットが特殊上位ビット101であれば、特殊フィールド102の全ビットを0に変換したものを、本発明における正式な宛先MACアドレスと解釈する。通信装置は、特殊フィールド102が異なっている場合でも、特殊フィールド102の値を無視し、本発明における正式な宛先MACアドレスをキーに、FDB中からヒットするエントリを検索し、ヒットしたエントリに基づいて、出力先を決定する。
[本発明におけるIP転送]
図4を参照して、本発明を適用した通信装置におけるIP転送(L3転送)の詳細について説明する。なお、L3(レイヤ3)とは、OSI参照モデルのネットワーク層(第3層)のことである。
この場合、通信装置は、ルータ(又はL3スイッチ)として機能する。本発明では、通信装置は、入力されたMACフレームのMACアドレスが、予め設定された特殊上位ビットを持っていれば、特殊フィールドの全ビットを0と解釈したものを、正式なMACアドレスと解釈する。このため、通信装置は、特殊フィールドのビットが異なっていても、残りの部分が同じであれば、同じMACアドレスと解釈する。また、通信装置は、特殊フィールドのビットが異なっていても、予め設定された特殊上位ビットを持つMACアドレスを、自分宛MACアドレスと解釈してイーサネット(登録商標)を終端し、IP転送(IPルーティングやIPフォワード)する。通信装置は、フレームの入力時(フレームの受信の際)に、MACアドレスから、特殊フロー情報400に使用する部分(特殊フィールド)の値を抽出し、抽出した値を、フレームの出力時(フレームの送信の際)に、新しいMACアドレスに埋め込んでいる。
例えば、通信装置は、受信したMACフレームについて、宛先MACアドレスの上位24ビットが特殊上位ビット101であれば、特殊フィールド102の全ビットを0に変換したものを、本発明における正式な宛先MACアドレスと解釈する。通信装置は、特殊フィールド102が異なっている場合でも、特殊上位ビット101の値が、予め設定された値と同じであれば、宛先MACアドレス全体の値に関わらず自分宛と解釈して一旦イーサネット(登録商標)を終端する。通信装置は、本発明における正式な宛先MACアドレスをキーに、ルーティングテーブル/ARPテーブル中からヒットするエントリを検索し、ヒットしたエントリに基づいて、宛先IPアドレスを決定する。ルーティングテーブルとは、パケットの配送先をIPアドレスで示した経路情報である。ARPテーブルとは、IPアドレスとMACアドレスの対応表である。ここでは、ルーティングテーブル/ARPテーブルは、宛先MACアドレスと宛先IPアドレスの対応表となっている。通信装置は、宛先IPアドレスに基づいて、IP転送により新しいMACフレームを送信する。なお、通信装置は、MACフレームの受信時に特殊フィールド102のビット列を抽出し、IP転送の際の新しいMACフレームの送信時に、このMACフレームの宛先MACアドレスのフィールドに特殊フィールド102のビット列を埋め込んでいる。送信元MACアドレスの場合も、宛先MACアドレスと同様である。このとき、VLAN識別情報(VLAN ID)に、特殊フロー情報400に使用する部分(特殊フィールド302)を埋め込んでも良い。
[本発明における通常フロー転送]
図5を参照して、本発明を適用した通信装置における通常フロー転送の詳細について説明する。
この場合、通信装置は、フロースイッチとして機能する。本発明では、フロースイッチとは、集中制御型ネットワークにおいて、フロー情報を基に経路制御を行うスイッチのことである。フロースイッチは、L2スイッチ、L3スイッチ、及びL4スイッチの機能を持つスイッチであると好適である。また、フロースイッチは、L7スイッチ(アプリケーションスイッチ)やマルチレイヤスイッチでも良い。
本発明では、通信装置は、受信したMACフレームを、通常フローとして扱うことができる。通信装置は、受信したMACフレームについて、MACアドレス、VLAN識別情報(VLAN ID)、IPアドレス、TCP/UDPポート番号等のフィールド値の全て又はいくつかを組み合わせて生成したフロー情報を、通常フロー情報として認識する。本発明では、通信装置は、フローテーブルに通常フロー情報のエントリを登録し、通常フロー情報のエントリにおいて、通常フローに対する動作を指定する。通信装置は、受信したMACフレームの通常フロー情報をキーに、フローテーブル中からヒットするエントリを検索し、フローテーブル中にヒットするエントリがある場合、ヒットするエントリにおいて指定された処理を実行する。
なお、フローテーブルとは、フロー情報と、当該フロー情報に対応する処理の対応表である。例えば、通信装置は、MACフレームを受信した際、受信したMACフレームのフロー情報をキーに、フローテーブル中からヒットするエントリを検索し、ヒットするエントリがあれば、このMACフレームに対して、当該エントリにおいて指定された処理を行う。
図5の例では、通信装置は、フローテーブルを参照し、受信したMACフレームの宛先UDPポート番号が6000の場合に、通常の宛先MACアドレスを、特殊上位ビット101を持つアドレス(本発明における宛先MACアドレス)に書き換え、特殊フロー情報400に使用する部分(特殊フィールド102)を埋め込んで、新たなMACフレームとして出力している。送信元MACアドレスの場合も、宛先MACアドレスと同様である。このとき、VLAN識別情報(VLAN ID)に、特殊フロー情報400に使用する部分(特殊フィールド302)を埋め込んでも良い。ここでは、管理されたネットワークの入り口で、新たなMACフレームに特殊フィールドを埋め込む際の動作を示している。
[本発明における特殊フロー転送]
図6を参照して、本発明を適用した通信装置における特殊フロー転送の詳細について説明する。
この場合、通信装置は、フロースイッチとして機能する。本発明では、通信装置は、受信したMACフレームを、特殊フローとして扱うことができる。通信装置は、受信したMACフレームから抽出した特殊フィールドの全て又はいくつかを組み合わせて生成したフロー情報を、特殊フロー情報として認識する。本発明では、通信装置は、フローテーブルに特殊フロー情報のエントリを登録し、特殊フロー情報のエントリにおいて、特殊フローに対する動作を指定する。通信装置は、受信したMACフレームの特殊フロー情報をキーに、フローテーブル中からヒットするエントリを検索し、フローテーブル中にヒットするエントリがある場合、ヒットするエントリにおいて指定された処理を実行する。
図6の例では、通信装置は、受信したMACフレームの宛先MACアドレス内の特殊上位ビット101を検出した場合、特殊フロー情報400に使用する部分(特殊フィールド102)を参照して、この部分(特殊フィールド102)をキーに、フローテーブル中からヒットするエントリを検索し、ヒットするエントリにおいて指定された処理を実行する。図6の例では、ヒットするエントリにおいて指定された処理として、VLAN識別情報(VLAN ID)の書き換え、或いは、特殊フロー情報400に使用する部分(特殊フィールド102)の書き換えを行い、出力先の振り分けを行っている。送信元MACアドレスの場合も、宛先MACアドレスと同様である。このとき、ヒットするエントリにおいて指定された処理として、VLAN識別情報(VLAN ID)に、特殊フロー情報400に使用する部分(特殊フィールド302)を埋め込んでも良い。
ここでは、説明の簡略化のため、特殊フィールド102単体を、特殊フロー情報400として扱っている。言い換えれば、特殊フィールド102のみを使用して特殊フロー情報400を生成している。
上記においては、本発明を適用した通信装置の例として、計算機やネットワーク機器を想定している。なお、本発明を適用した通信装置は、計算機やネットワーク機器そのものに限らず、イーサネット(登録商標)に対応した基板(マザーボードやI/Oボード)等の半導体集積回路、NIC(Network Interface Card)等のネットワークアダプタ、或いは、同様の拡張カード等でも良い。また、通信装置は、計算機やネットワーク機器上で動作する仮想マシン(Virtual Machine(VM))環境でも良い。但し、実際には、これらの例に限定されない。
本発明では、イーサネット(登録商標)のMACアドレスとVLANのフィールドの一部に、特殊フロー情報に使用する部分(特殊フィールド)を埋め込んでいることにより、既存のIPネットワークにおいて、本発明を適用した通信装置を組み込んだとしても、既存のIPパケットに影響を与えずに、通常フロー情報と特殊フロー情報を両方とも取り扱うことができる。また、複数のMACアドレスについて、特殊フィールドの部分を0と解釈した後、特殊フィールド以外の部分が共通する場合、これらのMACアドレスを同一のMACアドレスとして扱うことで、本発明を適用した通信装置のIPインタフェースに対応するMACアドレスの管理が簡素化される。VLAN識別情報(VLAN ID)の管理についても同様である。また、複数のMACアドレスを同一のMACアドレスとして扱うことで、管理対象となるMACアドレスの総数が少なくて済むため、L2スイッチングに用いられるFDBのサイズを抑えることができる。
また、図3、図4、図5、図6に示したような、通常のFDBやIPルーティングテーブルを利用した転送とフローを利用した転送を組み合わせた通信制御が可能であり、既存ネットワークの一部へ部分的に適用することができる。また、MACアドレスとVLAN識別情報(VLAN ID)の一部に特殊な情報(特殊フィールド)を埋め込んでいることにより、アクセスコントロールリストと呼ばれる、パケットの各フィールド情報に基づいて処理を行う機能の識別子としても利用できるため、通常のIPネットワークとの親和性も良い。
要点について述べると、本発明では、IEEE802.3で標準化されているイーサネット(登録商標)のフレームフォーマットで使用されるMACアドレス内、及びVLANタグ内に、特殊フロー情報に使用する部分(特殊フィールド)を埋め込む(付加する)。具体的には、MACアドレスやVLANタグの一部のビットを、フロー識別子として使用する。また、MACアドレスやVLANタグについては、フロー識別子として使用したビットを全て0に変換したものを、正式なMACアドレスやVLANタグとして解釈し直す。
上記の手法によって、イーサネット(登録商標)によって運ばれる既存のIPパケット自体に修正を加えずに、パケットを処理するための特別なフロー情報を、パケットを運ぶフレームに付加し、特別なフロー情報が付加されたフレームに対して特別な経路制御や特殊な処理を実施する。また、従来のイーサネット(登録商標)やIPによる転送(L2/L3転送)を実施することも可能である。
なお、既存のネットワークにおいて、MACアドレスは、世界中で一意になるように48ビットの空間を使用しているが、特定のネットワークの中で使用する場合、48ビット全部を使用することはまず無いため、MACアドレスの一部をフロー識別子に使用しても影響が無い場合が多い。
また、ユーザが通信に使用する情報(データ)はIPパケットに記載されている。IPパケット部分には手を加えず、フロー識別子をイーサネット(登録商標)のフレームのヘッダのフィールドの一部に埋め込むと、IPパケットへの影響が無い。フレームのヘッダのフィールドは、宛先/送信元MACアドレスの下位24ビットとVLAN識別情報(VLAN ID)をあわせて60ビットがあり、ホスト識別のためにいくつかのビットを残すことを考慮しても十分に大きな空間を取れる。
また、フレームのヘッダのフィールドを検索する際、検索するフィールドやビット数が
従来よりも少なくて済むため、ハードウェアの検索負荷が減る。また、フローテーブルに登録する個々のフローエントリのサイズが小さくなるため、より多くのフローエントリを登録できるようになり、フロー数も大きく取れる。すなわち、判別可能なフローの種類が増える。これにより、より詳細にトラフィックを種類分けして管理することが可能になる。
ネットワークの中でも、部門単位のように小さなネットワークでは、小さなフロー空間のみを使用する等の工夫することで、規模に合わせて保持するフロー情報数を削減できる。
管理されたネットワークの入り口でのみ、イーサネット(登録商標)のフレームフォーマットのヘッダのフィールドに埋め込まれた特定のフィールド、又は複数のフィールドを検索してフローを識別するため、ネットワーク内部での検索負荷を小さくできる。
また、通常は、MACアドレスに情報を埋め込むと、IPインタフェースに対応するMACアドレスの管理が複雑になり、イーサネット(登録商標)によるL2スイッチングにおけるFDBのサイズが増加するが、本発明では、MACアドレスに埋め込まれた特殊フィールドの値を無視し、同一の特殊上位ビット及び残余フィールドを持つMACアドレスを共通化することで、FDBのサイズの増加を軽減できる。
更に、通常のイーサネット(登録商標)のフレームフォーマットのヘッダのフィールドに特別な情報を埋め込んで、IP転送やイーサネット(登録商標)スイッチングを行う方式を取るため、フロー識別による通信制御と従来の転送技術が併用でき、一度にネットワーク全体の再構築を行う必要は無く、部分的に適用することができる。
[通信装置の構成]
図7を参照して、本発明を適用した通信装置の構成例について説明する。
本発明の通信装置500は、受信制御部501と、MACアドレス学習部502と、特殊フィールド情報記憶部503と、フロー情報抽出部504と、フローテーブル検索部505と、フローテーブル506と、入力時動作処理部507と、転送先検索部508と、L2/L3テーブル509と、出力時動作処理部510と、送信制御部511を備える。
受信制御部501は、ネットワークから、パケットを運ぶフレームを受信する。
MACアドレス学習部502は、フレームのヘッダのフィールドを解析し、MACアドレスの上位24ビットが特殊上位ビットの場合に、特殊フィールドを0として学習し、FDBに登録する。ここでは、MACアドレス学習部502は、宛先MACアドレスの上位24ビットが特殊上位ビット101の場合、特殊フィールド102を0として学習し、送信元MACアドレスの上位24ビットが特殊上位ビット201の場合に、特殊フィールド202を0として学習し、VLAN識別情報(VLAN ID)の特殊フィールド302を0として学習し、FDBに登録する。すなわち、MACアドレス学習部502は、受信したフレームが、本発明におけるMACフレームのフォーマットである場合には、特殊フロー情報に使用する部分(特殊フィールド)を0として学習した上で、FDBに登録する。また、MACアドレス学習部502は、受信したフレームが、通常の(既存の)MACフレームのフォーマットである場合には、そのままFDBに登録する。
特殊フィールド情報記憶部503は、MACアドレス学習部502が特殊フィールドを0として学習する際の条件・ルールに関する情報を記憶する。特殊フィールド情報記憶部503に記憶される情報の例として、「特殊上位ビット」、「MACDA(MAC Destination Address:宛先MACアドレス)埋込ビット数」、「MACSA(MAC Source Address:送信元MACアドレス)埋込ビット数」、「VLANID(VLAN ID:VLAN識別情報)埋込ビット数」、「特殊フィールドのビットの並び順」等が考えられる。なお、特殊フィールドのビットの並び順とは、例えば、図2に示すように、特殊フィールド102、202、302の全て又はいくつかを組み合わせて特殊フロー情報400を構成したときのビットの並び順のことである。MACアドレス学習部502は、フレームのヘッダのフィールドを解析し、特殊フィールド情報記憶部503に記憶された情報が含まれている場合に、特殊フィールドを0として学習する。ここでは、MACアドレス学習部502は、特殊フィールド情報記憶部503に記憶された情報として、特殊上位ビットを採用するものとする。
フロー情報抽出部504は、フレームのヘッダのフィールドから、フロー情報を抽出する。ここでは、フロー情報抽出部504は、通常フロー情報と特殊フロー情報を抽出する。通常フロー情報とは、受信したMACフレームについて、MACアドレス、VLAN識別情報(VLAN ID)、IPアドレス、TCP/UDPポート番号等のフィールド値の全て又はいくつかを組み合わせて生成したフロー情報のことである。特殊フロー情報とは、受信したMACフレームから抽出した特殊フィールドの全て又はいくつかを組み合わせて生成したフロー情報のことである。フロー情報抽出部504は、フレームのMACアドレスから特殊フロー情報を抽出する際、特殊上位ビットを含まない場合には、該当するビットを0とみなす。また、フロー情報抽出部504は、特に指示が無い限り、受信したフレームのヘッダのフィールドから抽出したフロー情報を、出力時動作処理部510に通知するために、保持または伝送する。
フローテーブル検索部505は、抽出されたフロー情報を参照し、フローテーブル506中からヒットするエントリを検索する。なお、フローテーブル検索部505は、抽出されたフロー情報を、入力時動作処理部507に伝送しても良い。
フローテーブル506は、「通常フロー情報」と、「特殊フロー情報」と、「上記のいずれにもヒットしない場合」のエントリを保持する。なお、「通常フロー情報」と、「特殊フロー情報」と、「上記のいずれにもヒットしない場合」は、それぞれ独立したフローテーブルでも良い。「通常フロー情報」には、受信したフレームに対して通常フロー転送を行う際の条件・ルールに関する情報と、そのフレームに対する動作(図5に示す通常フロー転送)が記載されている。「特殊フロー情報」には、受信したフレームに対して特殊フロー転送を行う際の条件・ルールに関する情報と、そのフレームに対する動作(図6に示す特殊フロー転送)が記載されている。「上記のいずれにもヒットしない場合」には、上記のいずれでもないフレームに対する動作が記載されている。すなわち、フローテーブル506には、受信したフレームがどのように処理されるか動作指定されている。ここで指定された動作に基づいて、入力時動作処理部507、転送先検索部508、出力時動作処理部510で処理が行われる。特殊フロー情報と通常フロー情報の優先度は、ネットワーク設計により決める。
入力時動作処理部507は、フレームの入力時にフロー毎の帯域制限がある場合に帯域を上回ったパケットを廃棄する等の処理を行う。例えば、入力時動作処理部507は、帯域制御やファイアウォールとしての処理等を行う。本発明では、特にこの段階で実施する特徴的な処理は無い。なお、入力時動作処理部507は、抽出されたフロー情報を、転送先検索部508や、出力時動作処理部510に伝送しても良い。
転送先検索部508は、L2/L3テーブル509を検索し、図3に示すL2スイッチング、又は図4に示すIP転送を行い、転送先の決定と、出力時のアドレスを決定する。ここでは、転送先検索部508は、フローテーブル506にヒットするエントリが存在しなかった場合、又はフローテーブル506にヒットするエントリが存在して、当該エントリにおいてL2/L3転送を行うように動作指定されていた場合(例えばフローテーブル506の「上記のいずれにもヒットしない場合」)に、L2/L3テーブル509を検索し、転送先の決定と、出力時のアドレスを決定する。L2/L3転送とは、L2スイッチングやIP転送のことである。なお、転送先検索部508は、抽出されたフロー情報を、出力時動作処理部510に伝送しても良い。
L2/L3テーブル509は、通常のL2スイッチングのためのFDBと、IP転送のためのルーティングテーブル/ARPテーブルを有する。図中では、記載の簡略化のため、ルーティングテーブル/ARPテーブルは、ルーティングテーブルと記載する。FDBやルーティングテーブル/ARPテーブルは一般的なものであり、詳細は割愛する。
出力時動作処理部510は、出力前にフローに対する優先制御やスケジューリング等を行う。例えば、出力時動作処理部510は、QoS(Quality of Service)制御やロードバランシング等を行う。本発明において、この段階における特徴的な処理は、MACアドレスの書き換え、VLAN識別情報(VLAN ID)の書き換え、特殊フロー情報400に使用する部分(特殊フィールド)の書き戻し、又は書き換え動作である。書き換える値は、フローテーブル506の動作指定の中で指定される。また、出力時動作処理部510は、フローテーブル506の動作指定の中で、書き換える値が特に指定されていない場合、新たなフレームの出力前に、新たなフレームに対して、受信したフレームのヘッダのフィールドから抽出されたフロー情報を埋め込む。すなわち、出力時動作処理部510は、送信するフレームに対して、フロー情報の書き戻しを行う。なお、出力時動作処理部510は、保持されたフロー情報、又は伝送されたフロー情報を取得する。
送信制御部511は、以上の処理を終えたフレームを送信する。
なお、受信制御部501、MACアドレス学習部502、特殊フィールド情報記憶部503、フロー情報抽出部504、フローテーブル検索部505、フローテーブル506、入力時動作処理部507、転送先検索部508、L2/L3テーブル509、出力時動作処理部510、及び送信制御部511は、プログラムで駆動される処理装置等のハードウェアと、そのハードウェアを駆動して所望の処理を実行させるプログラム等のソフトウェアと、そのソフトウェアや各種データを格納する記憶装置によって実現される。或いは、専用の回路・装置によって実現される。
上記の処理装置の例として、CPU(Central Processing Unit)、マイクロプロセッサ(microprocessor)、マイクロコントローラ、或いは、同様の機能を有する半導体集積回路(Integrated Circuit(IC))等が考えられる。なお、通信装置がNIC等のネットワークアダプタである場合には、処理装置はネットワークプロセッサ(Network Processor)でも良い。但し、実際には、これらの例に限定されない。
上記の記憶装置の例として、RAM(Random Access Memory)、ROM(Read Only Memory)、EEPROM(Electrically Erasable and Programmable Read Only Memory)やフラッシュメモリ等の半導体記憶装置、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の補助記憶装置、又は、DVD(Digital Versatile Disk)やSDメモリカード(Secure Digital memory card)等のリムーバブルディスクや記憶媒体(メディア)等が考えられる。但し、実際には、これらの例に限定されない。
[通信装置の動作]
以下、図8A、図8B、図8Cに示すフローチャートを参照して、図7に示す通信装置の動作を説明する。
(1)ステップS101
通信装置500は、フレームの入力を受け付ける。ここでは、受信制御部501は、パケットを運ぶフレームを受信する。
(2)ステップS102
MACアドレス学習部502は、受信したフレームのヘッダのフィールドを解析し、送信元MACアドレスが特殊上位ビットを含むか確認する。なお、ここでは、実施例として、送信元MACアドレスを使用する場合について説明するが、実際には、宛先MACアドレスを使用しても良い。
(3)ステップS103
MACアドレス学習部502は、送信元MACアドレスが特殊上位ビットを含む場合、入力されたフレームのMACアドレスを学習する。ここでは、MACアドレス学習部502は、送信元MACアドレスとVLAN識別情報(VLAN ID)の特殊フィールドの全ビットを0にしてFDBに登録する。
(4)ステップS104
MACアドレス学習部502は、送信元MACアドレスが特殊上位ビットを含まない場合、受信したパケットのMACアドレスを学習する。ここでは、MACアドレス学習部502は、送信元MACアドレスとVLAN識別情報(VLAN ID)をそのままFDBに登録する。
(5)ステップS105
次に、フロー情報抽出部504は、フレームのヘッダのフィールドからフロー情報を抽出する。ここでは、フロー情報抽出部504は、フロー情報として、通常フロー情報と特殊フロー情報を、それぞれ抽出する。
[通常フロー情報の抽出方法]
図9を参照して、図7のフロー情報抽出部504における通常フロー情報の抽出方法について説明する。
ここでは、通常フロー情報として、「入力ポート(Ingress Port)」、「MACアドレス」、「VLAN priority」、「VLAN識別情報(VLAN ID)」、「EtherType」、「IPアドレス」、「IP TOS」、「IPプロトコル番号」、「TCP/UDPポート番号」を想定している。フロー情報抽出部504は、フレームを受信した際に、「入力ポート(Ingress Port)」の情報を示す値を取得し、「入力ポート(Ingress Port)」以外の情報についてはフレームのヘッダのそれぞれのフィールドから値を抽出し、検索キーを作成する。
[特殊フロー情報の抽出方法]
図10を参照して、図7のフロー情報抽出部504における特殊フロー情報の抽出方法について説明する。
フロー情報抽出部504は、宛先MACアドレス、送信元MACアドレス、VLAN識別情報(VLAN ID)フィールドから、特殊フロー情報400に使用する部分(特殊フィールド)の値を抽出し、ネットワーク管理者が決めた順に従って、抽出した値を並べて特殊フロー情報400を生成する。
この際、フロー情報抽出部504は、MACアドレスについては、上位24ビットが特殊上位ビットで無い場合、特殊フロー情報400に使用する部分(特殊フィールド)の値を抽出せず、特殊フィールドの値を0とみなす。また、VLAN識別情報(VLAN ID)については、無条件に、特殊フロー情報400に使用する部分(特殊フィールド)の値を抽出する。フロー情報抽出部504は、MACアドレスから特殊フィールドの値を抽出しなかった場合、MACアドレスの特殊フィールドの代わりとなる0のビット列と、VLAN識別情報(VLAN ID)から抽出した特殊フィールドの値を組み合わせて、特殊フロー情報400を生成する。なお、場合によっては、MACアドレスの特殊フィールドや、VLAN識別情報(VLAN ID)の特殊フィールドを、単体で特殊フロー情報400として使用することも可能である。
(6)ステップS106
次に、フローテーブル検索部505は、抽出されたフロー情報を基に、フローテーブル506中からヒットするエントリがあるか検索する。
(7)ステップS107
フローテーブル検索部505は、検索の結果、ヒットするエントリがあれば、エントリに記載された処理を、このフレームに対する処理として決定する。ここでは、ヒットするエントリがある場合は、入力時動作処理(ステップS108)へ進む。ヒットするエントリがない場合は、転送先検索(ステップS110)へ進む。
[通常フローエントリの検索と特殊フローエントリの検索]
図11を参照して、図7のフローテーブル検索部505における通常フローエントリの検索と特殊フローエントリの検索の様子について説明する。
なお、通常フローエントリとは、フローテーブル中の通常フロー情報のエントリである。また、特殊フローエントリとは、フローテーブル中の特殊フロー情報のエントリである。
フローテーブル検索部505は、図9に示す通常フロー情報の検索キー(通常検索キー)と、図10に示す特殊フロー情報の検索キー(特殊検索キー)を利用して、フローテーブル506中からヒットするエントリがあるか検索する。このとき、フローテーブル検索部505は、図9に示す通常フロー情報の検索キーに基づいて、フローテーブル506中からヒットする通常フロー情報のエントリを検索する。また、フローテーブル検索部505は、図10に示す特殊フロー情報の検索キーに基づいて、フローテーブル506中からヒットする特殊フロー情報のエントリを検索する。
なお、図10に示す特殊フロー情報の検索キーは、図2に示す特殊フロー情報400と同じである。すなわち、特殊フロー情報400は、フローテーブル中の特殊フロー情報のエントリを検索するための検索キーとなる。
まず、フローテーブル検索部505は、フローテーブルの検索において、フローテーブルの通常フロー情報と、抽出した通常フロー情報を比較し、一致するものがあれば、その最も優先度の高いものにヒットしたとみなし、ヒットしたエントリに対する処理の内容を読み出す。この場合は、入力時動作処理(ステップS108)へ進む。
フローテーブル検索部505は、通常フロー情報に一致するものが無ければ、特殊フロー情報と抽出した特殊フロー情報を比較し、一致するものがあれば、ヒットしたエントリに対する処理の内容を読み出す。この場合は、入力時動作処理(ステップS108)へ進む。
フローテーブル検索部505は、通常フロー情報にも特殊フロー情報にも一致するものがない場合は、いずれにもヒットしない場合のエントリに対する処理の内容を読み出す。この場合は、入力時動作処理(ステップS108)へ進む。
フローテーブル検索部505は、いずれにもヒットしない場合の処理が特に無い、又はL2/L3転送であれば、何もせずに転送先検索(ステップS110)へ進む。
情報の比較においては、比較対象としないビット情報を指定し、そのビットを比較しないようにもできる。この動作を行うかどうかはネットワーク管理者が決めれば良い。
実現性は、装置のテーブルの実現方法による。優先度は、特殊フローを先に検索し、通常フローを後に検索する形にしても良い。
[特殊フィールドと他のフィールドを組み合わせた検索]
図12を参照して、特殊フィールドと他のフィールドを組み合わせた検索の様子について説明する。
本発明におけるフレームフォーマットにおいて、特殊フィールドに使用する部分を持つMACアドレスやVLAN識別情報(VLAN ID)以外のフィールドは、既存のMACフレームのフレームフォーマットにおける通常フィールドである。従って、特殊フィールドに使用する部分と通常フィールドを組み合わせた検索キーを作成することもできる。
図12に示すように、特殊フロー情報400に使用する部分と他の通常フィールドを組み合わせて検索する場合、予めフローテーブル506に対して、特殊フロー情報400に使用する部分(特殊フィールド)をMACアドレスとVLANに埋め込んだ通常フロー情報のエントリを登録しておけば良い。すなわち、特殊フィールドを持つフレーム(特殊フロー)を、そのまま「通常フロー」とみなして、この「通常フロー」に対応する通常フロー情報のエントリを登録しておけば良い。
また、特殊フロー情報400に使用する部分(特殊フィールド)と他の通常フィールドを組み合わせた情報を、通常フロー情報のエントリとして、フローテーブル506に登録しておくことも考えられる。この場合、フロー情報抽出部504は、特殊フロー情報400に使用する部分(特殊フィールド)と他の通常フィールドを組み合わせた検索キーを作成する。フローテーブル検索部505は、作成された検索キーに基づいて、フローテーブル506の通常フロー情報のエントリを検索するようにする。
(8)ステップS108
入力時動作処理部507は、フローテーブル506に記載された入力時動作を実施する。通常、入力フローに対して帯域制限をかける場合等の一般的な処理は、この段階で実施する。本発明で特徴的な処理は、この段階には無い。
(9)ステップS109
入力時動作処理部507は、L2/L3転送がフローテーブル506の動作指定に記載されているか確認する。L2/L3転送がフローテーブル506の動作指定に記載されている場合は、転送先検索(ステップS110)へ進む。L2/L3転送がフローテーブル506の動作指定に記載されていない場合は、出力時動作処理(ステップS121)へ進む。
(10)ステップS110
転送先検索部508は、L2/L3テーブルを検索し、通常のL2スイッチングやIP転送を実施する。本発明の特徴によって、この段階においては、受信したフレームの全ビットのうち、特殊フロー情報400に使用する部分(特殊フィールド)の値を0として、L2/L3テーブルを検索して転送先と出力時のアドレスを決定する。
(11)ステップS111
転送先検索部508は、受信したフレームの宛先MACアドレスが特殊上位ビットを含むか確認する。
(12)ステップS112
転送先検索部508は、宛先MACアドレスが特殊上位ビットを含む場合、宛先MACアドレスの全ビットのうち、特殊フロー情報400に使用する部分(特殊フィールド102)の全ビットを0にする。なお、0にするとは、0と解釈、又は0に変換することである。
(13)ステップS113
転送先検索部508は、受信したフレームの送信元MACアドレスが特殊上位ビットを含むか確認する。
(14)ステップS114
転送先検索部508は、送信元MACアドレスが特殊上位ビットを含む場合、送信元MACアドレスの全ビットのうち、特殊フロー情報400に使用する部分(特殊フィールド202)の全ビットを0にする。
(15)ステップS115
転送先検索部508は、受信したフレームのVLAN識別情報(VLAN ID)の全ビットのうち、特殊フロー情報400に使用する部分(特殊フィールド302)の全ビットを0にする。
(16)ステップS116
転送先検索部508は、L2/L3テーブル509を検索する。ここでは、転送先検索部508は、通常のL2スイッチングのためのFDBと、IP転送のためのルーティングテーブル/ARPテーブルを検索する。
(17)ステップS117
転送先検索部508は、L2/L3テーブル509の検索の結果から、宛先(転送先)が本装置(通信装置500)宛てであるか確認する。
(18)ステップS118
転送先検索部508は、宛先(転送先)が本装置(通信装置500)宛てである場合、フレームを、本装置(通信装置500)内で処理し、イーサネット(登録商標)を終端する。このとき、転送先検索部508は、フレーム内のIPパケットを、本装置(通信装置500)に搭載されているCPUや他のデバイスに渡す。
(19)ステップS119
転送先検索部508は、L2/L3テーブル509のルーティングテーブル/ARPテーブルで、IPネクストホップ(ネクストホップIPアドレス)が指定されているか確認する。なお、ネクストホップとは、ルーティングの際にパケットが次に行く場所である。
(20)ステップS120
転送先検索部508は、IPネクストホップ(ネクストホップIPアドレス)が指定されている場合、IPネクストホップを基にARPテーブルを検索して宛先MACアドレスを決定し、受信したフレームの宛先MACアドレスを、決定した宛先MACアドレスに書き換える。
(21)ステップS121
出力時動作処理部510は、フレームの出力前に、フローテーブル506に記載された出力時動作を実行する。例えば、出力時動作処理部510は、フローに対する優先制御やスケジューリング等を行う。本発明においては、MACアドレスの書き換え、VLAN識別情報(VLAN ID)の書き換え、特殊フロー情報400に使用する部分(特殊フィールド)の値の書き戻し、又は書き換えを行う。書き換える値は、フローテーブル506の動作指定の中で指定される。
(22)ステップS122
出力時動作処理部510は、MACアドレスの書き換えをフローテーブル506で指定されているか確認する。
(23)ステップS123
出力時動作処理部510は、MACアドレスの書き換えをフローテーブル506で指定されている場合、フローテーブル506の指定に従って、MACアドレスについて、フロー情報のビットまで含めて48ビット全てを書き換える。その後、VLAN識別情報(VLAN ID)の書き換え判定処理(ステップS128)へ進む。
(24)ステップS124
出力時動作処理部510は、MACアドレスの書き換えをフローテーブル506で指定されていない場合、受信したフレームの宛先MACアドレスが特殊上位ビットを含むか確認する。
(25)ステップS125
転送先検索部508は、宛先MACアドレスが特殊上位ビットを含む場合、宛先MACアドレスの特殊フィールドに、フロー情報として使用するビット列(フロー情報ビット)を上書きする。このフロー情報ビットは、受信したフレームの宛先MACアドレスから抽出された特殊フィールドの値である。ここでは、転送先検索部508は、宛先MACアドレスの特殊フィールド102のビットを、フロー情報ビットに書き換える。
(26)ステップS126
転送先検索部508は、受信したフレームの送信元MACアドレスが特殊上位ビットを含むか確認する。
(27)ステップS127
転送先検索部508は、送信元MACアドレスが特殊上位ビットを含む場合、送信元MACアドレスの特殊フィールドに、フロー情報として使用するビット列(フロー情報ビット)を上書きする。このフロー情報ビットは、受信したフレームの送信元MACアドレスから抽出された特殊フィールドの値である。ここでは、転送先検索部508は、送信元MACアドレスの特殊フィールド202のビットを、フロー情報ビットに書き換える。
(28)ステップS128
出力時動作処理部510は、VLAN識別情報(VLAN ID)の書き換えをフローテーブル506で指定されているか確認する。
(29)ステップS129
出力時動作処理部510は、VLAN識別情報(VLAN ID)の書き換えをフローテーブル506で指定されている場合、VLAN識別情報(VLAN ID)の書き換えも、MACアドレスと同様に、フローテーブル506の指定に従って、特殊フィールド302のビットを含めて12ビット全てを書き換える。
(30)ステップS130
出力時動作処理部510は、VLAN識別情報(VLAN ID)の書き換えをフローテーブル506で指定されていない場合、VLAN識別情報(VLAN ID)の特殊フィールドに、フロー情報として使用するビット列(フロー情報ビット)を上書きする。このフロー情報ビットは、受信したフレームのVLAN識別情報(VLAN ID)から抽出された特殊フィールドの値である。ここでは、転送先検索部508は、VLAN識別情報(VLAN ID)の特殊フィールド302のビットを、フロー情報ビットに書き換える。
(31)ステップS131
送信制御部511は、以上の処理を終えたフレームを送信する。
すなわち、出力時動作処理部510は、宛先MACアドレスの書き換えが指定されていなければ、宛先MACアドレスのうち、特殊フロー情報400に使用する部分(特殊フィールド)に、受信したフレームから抽出したフロー情報ビットの書き戻し・書き換えを行う。
宛先MACアドレスの書き換えが指定されていたときは、宛先MACアドレス自体を書き換えるため、特殊フロー情報400に使用する部分(特殊フィールド)へのフロー情報ビットの書き戻しも書き換えも行わない。
同様に、送信元MACアドレスやVLAN識別情報(VLAN ID)も書き換えが指定されていれば、特殊フロー情報400に使用する部分(特殊フィールド)へのフロー情報ビットの書き戻しも書き換えも行わない。
以上の動作によって、図3、図4、図5、図6に示した動作(転送処理)が、本発明を適用した装置上で実施される。
<第2実施形態>
本発明の第2実施形態として、基本的な構成は第1実施形態と同様にした上で、特殊フロー情報400について、更に工夫することができる。
本実施形態では、特殊フロー情報400を、ルート用フィールドとクラスフィールドに分割し、複数フィールド構造にすることもできる。通信装置500は、経路制御の際には、ルート用フィールドを見て転送制御し、各種フィールド書き換え処理等のその他の処理の際には、クラスフィールドを見て処理を決定する。経路は共通のフローも多いため、共通化すると処理が簡素化されるケースもある。
本実施形態では、MACアドレスやVLAN識別情報(VLAN ID)に分散している特殊フィールドを一旦組み合わせて特殊フロー情報400を生成し、この特殊フロー情報400の前半と後半を別々の情報として扱う。例えば、特殊フロー情報400が8ビットである場合、前半の4ビットをルート用フィールドとし、後半の4ビットをクラスフィールドとして別々のテーブルを検索するようにする。ルート用フィールドは、ルートを決めるための検索に使用される。クラスフィールドは、書き換え処理等に使用される。
<第3実施形態>
本発明の第3実施形態として、従来のネットワークに対して、本発明の第1、第2実施形態での適用が困難である場合の解決案について説明する。
本発明の第1、第2実施形態での適用が困難である場合の例として、MACアドレスがプロトコルで決まっている場合が考えられる。例えば、VRRP(Virtual Router Redundant Protocol)においては、仮想IPアドレスに対応する仮想MACアドレスが決まっている。そのため、MACアドレスに、特殊上位ビットや特殊フィールドを埋め込むことができない。
このような場合には、本発明を適用する通信装置のみ、プロトコル用のMACアドレスを別の値にするように設定して扱えるようにすることが考えられる。MACアドレスがプロトコルで決まっているシステムにおいて、プロトコル用のMACアドレスの値を変更しても問題ない場合には、このような対応が可能である。
<第4実施形態>
本発明の第4実施形態として、通信装置が、図8A、図8B、図8Cに示したフローチャートの処理を完全には実行できない場合の対処方法について説明する。
通信装置が、図8A、図8B、図8Cに示したフローチャートの処理を順番に実行できるように作りこまれていない場合でも、「アクセスコントロールリスト(Access Control List:ACL)」と呼ばれる技術を使用して、図8A、図8B、図8Cに示したフローチャートの処理を順番に実行して得られる結果を予めフローテーブルにて動作指定しておくことで、通信装置に、本発明の動作の一部だけ実施させることも可能であると考えられる。
なお、上記の各実施形態は、組み合わせて実施することも可能である。
<本発明の利用分野>
現在、ネットワークの可視化や、より高度な仮想化を実現するため、自律分散のIP技術にコントローラを介した制御を行う需要が増えている。フロー単位に統計情報を収集したり、フローベースに経路を制御したりする用途が増えている。
前者は、ネットワークの可視化用途であり、フローをアプリケーションやユーザ、部門単位の集まりとして設定し、どのトラフィックがどれくらいどの位置で発生しているかを把握するために使われる。このため、通信装置において、フロー識別を行い、それぞれのフローの統計情報を収集する。収集した統計情報は、コントローラから定期収集するか、通信装置から自発的にコントローラへ報告する。フロー識別を細かく行うためには対応できるフロー数を増やす必要がある。
後者は、輻輳が発生するような状況において、優先したいトラフィック用の回線を別に用意し、特定フローのみ特定の経路を通るように制御し、トラフィックの経路を分散する用途に使われる。
上記の双方において、転送は通常のルーティングテーブルを使用し、可視化の部分だけをコントローラで制御したり、特定のフローのみを特定経路に転送したりすることで、ネットワーク設計の負荷を下げることができる。
他に、仮想化用途では、ユーザ毎に自由にIPアドレスを付与して、仮想的にネットワークを構成する用途があり、転送をフローベースで行うことにより、別のアドレス体系で同じIPアドレスを使用している複数のネットワークを同一のネットワーク上で転送処理するような使い方である。
いずれの用途も、フローの数を増やすことと、既存のIPネットワーク技術との親和性を確保することが、導入を容易にし、ネットワークの細やかな制御を可能にする。
また、トラフィックが少ない時間帯と多い時間帯でトラフィックの経路を変えて、少ない時間帯はトラフィックを少数の装置に集中させて残りの装置の電源をダウンさせるといった省電力向けの用途も検討されつつある。
<本発明による効果>
本発明では、通常のフレームフォーマットにおけるMACアドレスやVLANに、フロー情報に使用する部分(特殊フィールド)を埋め込んでいるが、MACアドレスとVLANを、フロー情報に使用する部分(特殊フィールド)以外のビット(残りの部分のビット)で判定する制御方法となっている。すなわち、MACアドレスとVLANについては、特別な定義情報や付加情報を使用することなく、従来のフォーマットのサイズで解釈することができる。
このため、FDBやIPインタフェースのMACアドレス管理が煩雑化せず、また、エントリ数が急増するのを防ぐことができる。
また、既存のIPネットワークへの導入が容易で、通常のIP転送やL2スイッチと共存させやすい。例えば、ルーティング制御は従来通り行い、導入した部分から、順次、フロー制御を取り入れることができる。
また、本発明では、通常のフレームフォーマットにおけるMACアドレスやVLANに、特殊なフロー情報に使用する部分(特殊フィールド)を埋め込んだことで、IPパケットに影響を与えず、通常のフロー情報を含めて多くのフロー情報を扱うことができ、検索負荷も低い。
また、本発明では、通常のフレームフォーマットにおけるMACアドレスやVLANに、フロー情報に使用する部分(特殊フィールド)を埋め込んだことで、当該フレームを通常フローとしても使用することができる。すなわち、通常フローでの検索をすることによって、他のフィールドと組み合わせたフロー制御ができる。途中の経路までは特殊フロー検索を行い、途中から条件によって分岐させるために通常フロー検索をするということも可能である。
また、本発明では、通常のフレームフォーマットにおけるMACアドレスやVLANに、フロー情報に使用する部分(特殊フィールド)を埋め込んでいることから、従来のルータ、L2スイッチにおける、アクセスコントロールリストという技術を用いて本発明の一部を実現することもでき、従来技術と親和性がある。
以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
1… コントローラ
2、6… 端末
3、4、5… ルータ
101、201… 特殊上位ビット
301… タグ領域
102、202、302… 特殊フィールド
103、203、303… 残余フィールド
400… 特殊フロー情報
500… 通信装置
501… 受信制御部
502… MACアドレス学習部
503… 特殊フィールド情報記憶部
504… フロー情報抽出部
505… フローテーブル検索部
506… フローテーブル
507… 入力時動作処理部
508… 転送先検索部
509… L2/L3テーブル
510… 出力時動作処理部
511… 送信制御部

Claims (6)

  1. 受信したフレームのヘッダのフィールドのうち、MACアドレスのフィールドに埋め込まれた第1の特殊フィールドを抽出する第1抽出手段と、
    前記フレームのヘッダのフィールドのうち、VLAN識別情報(VLAN ID)のフィールドに埋め込まれた第2の特殊フィールドを抽出する第2抽出手段と、
    前記第1の特殊フィールドと前記第2の特殊フィールドとを所定の規則で使用して特殊検索キーを作成する作成手段と、
    前記特殊検索キーを基に、フローテーブル中からヒットするエントリを検索し、ヒットしたエントリに基づいて、前記フレームに対する処理を実行する処理手段と、
    前記MACアドレスの全ビットを前半と後半に分け、前記MACアドレスの前半の所定のビットが特殊な値の特殊上位ビットであるか確認する確認手段
    を備え、
    前記第1抽出手段は、前記MACアドレスの前半の所定のビットが前記特殊上位ビットである場合、前記MACアドレスの後半のビットから、前記第1の特殊フィールドを抽出
    前記第2抽出手段は、前記VLAN識別情報(VLAN ID)から、前記第2の特殊フィールドを抽出
    前記処理手段は、
    前記フローテーブル中のヒットしたエントリに、MACアドレスの書き換え指示がある場合、前記MACアドレスを書き換える第1手段と、
    前記MACアドレスの書き換え指示が無く、前記MACアドレスの前半の所定のビットが前記特殊上位ビットである場合、出力するフレームのMACアドレスに、前記第1の特殊フィールドを埋め込む第2手段と、
    前記フローテーブル中のヒットしたエントリに、VLAN識別情報(VLAN ID)の書き換え指示がある場合、前記VLAN識別情報(VLAN ID)を書き換える第3手段と、
    前記VLAN識別情報(VLAN ID)の書き換え指示が無い場合、出力するフレームのVLAN識別情報(VLAN ID)に、前記第2の特殊フィールドを埋め込む第4手段と、
    前記MACアドレスの前半の所定のビットが前記特殊上位ビットでない場合、前記フレームのヘッダの所定のフィールドを使用して通常検索キーを生成する第5手段と、
    前記通常検索キーを基に、前記フローテーブル中からヒットするエントリを検索し、ヒットしたエントリに、MACアドレス及びVLAN識別情報(VLAN ID)の書き換え指示がある場合、前記MACアドレスの前半の所定のビットを前記特殊上位ビットに書き換え、前記MACアドレスの後半のビットに前記第1の特殊フィールドを埋め込み、前記VLAN識別情報(VLAN ID)に前記第2の特殊フィールドを埋め込む第6手段と
    を具備する
    通信装置。
  2. 請求項1に記載の通信装置であって、
    L2(レイヤ2)/L3(レイヤ3)転送を行う際、前記MACアドレスのうち、前記第1の特殊フィールドの全ビットを0にしたものを正式なMACアドレスと解釈する手段と、
    前記L2/L3転送を行う際、前記VLAN識別情報(VLAN ID)のうち、前記第2の特殊フィールドの全ビットを0にしたものを正式なVLAN識別情報(VLAN ID)と解釈する手段と
    を更に具備する
    通信装置。
  3. 通信装置により実施される通信制御方法であって、
    受信したフレームのヘッダのフィールドのうち、MACアドレスのフィールドに埋め込まれた第1の特殊フィールドを抽出する第1抽出ステップと、
    前記フレームのヘッダのフィールドのうち、VLAN識別情報(VLAN ID)のフィールドに埋め込まれた第2の特殊フィールドを抽出する第2抽出ステップと、
    前記第1の特殊フィールドと前記第2の特殊フィールドとを所定の規則で使用して特殊検索キーを作成する作成ステップと、
    前記特殊検索キーを基に、フローテーブル中からヒットするエントリを検索し、ヒットしたエントリに基づいて、前記フレームに対する処理を実行する処理ステップと、
    前記MACアドレスの全ビットを前半と後半に分け、前記MACアドレスの前半の所定のビットが特殊な値の特殊上位ビットであるか確認する確認ステップと
    を備え、
    前記第1抽出ステップでは、前記MACアドレスの前半の所定のビットが前記特殊上位ビットである場合、前記MACアドレスの後半のビットから、前記第1の特殊フィールドを抽出
    前記第2抽出ステップでは、前記VLAN識別情報(VLAN ID)から、前記第2の特殊フィールドを抽出
    前記処理ステップは、
    前記フローテーブル中のヒットしたエントリに、MACアドレスの書き換え指示がある場合、前記MACアドレスを書き換える第1ステップと、
    前記MACアドレスの書き換え指示が無く、前記MACアドレスの前半の所定のビットが前記特殊上位ビットである場合、出力するフレームのMACアドレスに、前記第1の特殊フィールドを埋め込む第2ステップと、
    前記フローテーブル中のヒットしたエントリに、VLAN識別情報(VLAN ID)の書き換え指示がある場合、前記VLAN識別情報(VLAN ID)を書き換える第3ステップと、
    前記VLAN識別情報(VLAN ID)の書き換え指示が無い場合、出力するフレームのVLAN識別情報(VLAN ID)に、前記第2の特殊フィールドを埋め込む第4ステップと、
    前記MACアドレスの前半の所定のビットが前記特殊上位ビットでない場合、前記フレームのヘッダの所定のフィールドを使用して通常検索キーを生成する第5ステップと、
    前記通常検索キーを基に、前記フローテーブル中からヒットするエントリを検索し、ヒットしたエントリに、MACアドレス及びVLAN識別情報(VLAN ID)の書き換え指示がある場合、前記MACアドレスの前半の所定のビットを前記特殊上位ビットに書き換え、前記MACアドレスの後半のビットに前記第1の特殊フィールドを埋め込み、前記VLAN識別情報(VLAN ID)に前記第2の特殊フィールドを埋め込む第6ステップ
    を含む
    通信制御方法。
  4. 請求項3に記載の通信制御方法であって、
    L2(レイヤ2)/L3(レイヤ3)転送を行う際、前記MACアドレスのうち、前記第1の特殊フィールドの全ビットを0にしたものを正式なMACアドレスと解釈することと、
    前記L2/L3転送を行う際、前記VLAN識別情報(VLAN ID)のうち、前記第2の特殊フィールドの全ビットを0にしたものを正式なVLAN識別情報(VLAN ID)と解釈することと
    を更に含む
    通信制御方法。
  5. 通信装置に実行させるための通信制御用プログラムであって、
    前記通信制御用プログラムは、
    受信したフレームのヘッダのフィールドのうち、MACアドレスのフィールドに埋め込まれた第1の特殊フィールドを抽出する第1抽出ステップと、
    前記フレームのヘッダのフィールドのうち、VLAN識別情報(VLAN ID)のフィールドに埋め込まれた第2の特殊フィールドを抽出する第2抽出ステップと、
    前記第1の特殊フィールドと前記第2の特殊フィールドとを所定の規則で使用して特殊検索キーを作成する作成ステップと、
    前記特殊検索キーを基に、フローテーブル中からヒットするエントリを検索し、ヒットしたエントリに基づいて、前記フレームに対する処理を実行する処理ステップと、
    前記MACアドレスの全ビットを前半と後半に分け、前記MACアドレスの前半の所定のビットが特殊な値の特殊上位ビットであるか確認する確認ステップ
    を備え、
    前記第1抽出ステップでは、前記MACアドレスの前半の所定のビットが前記特殊上位ビットである場合、前記MACアドレスの後半のビットから、前記第1の特殊フィールドを抽出
    前記第2抽出ステップでは、前記VLAN識別情報(VLAN ID)から、前記第2の特殊フィールドを抽出
    前記処理ステップは、
    前記フローテーブル中のヒットしたエントリに、MACアドレスの書き換え指示がある場合、前記MACアドレスを書き換える第1ステップと、
    前記MACアドレスの書き換え指示が無く、前記MACアドレスの前半の所定のビットが前記特殊上位ビットである場合、出力するフレームのMACアドレスに、前記第1の特殊フィールドを埋め込む第2ステップと、
    前記フローテーブル中のヒットしたエントリに、VLAN識別情報(VLAN ID)の書き換え指示がある場合、前記VLAN識別情報(VLAN ID)を書き換える第3ステップと、
    前記VLAN識別情報(VLAN ID)の書き換え指示が無い場合、出力するフレームのVLAN識別情報(VLAN ID)に、前記第2の特殊フィールドを埋め込む第4ステップと、
    前記MACアドレスの前半の所定のビットが前記特殊上位ビットでない場合、前記フレームのヘッダの所定のフィールドを使用して通常検索キーを生成する第5ステップと、
    前記通常検索キーを基に、前記フローテーブル中からヒットするエントリを検索し、ヒットしたエントリに、MACアドレス及びVLAN識別情報(VLAN ID)の書き換え指示がある場合、前記MACアドレスの前半の所定のビットを前記特殊上位ビットに書き換え、前記MACアドレスの後半のビットに前記第1の特殊フィールドを埋め込み、前記VLAN識別情報(VLAN ID)に前記第2の特殊フィールドを埋め込む第6ステップと
    含む
    通信制御用プログラム。
  6. 請求項5に記載の通信制御用プログラムであって、
    L2(レイヤ2)/L3(レイヤ3)転送を行う際、前記MACアドレスのうち、前記第1の特殊フィールドの全ビットを0にしたものを正式なMACアドレスと解釈するステップと、
    前記L2/L3転送を行う際、前記VLAN識別情報(VLAN ID)のうち、前記第2の特殊フィールドの全ビットを0にしたものを正式なVLAN識別情報(VLAN ID)と解釈するステップと
    を更に通信装置に実行させるための通信制御用プログラム。
JP2010054459A 2010-03-11 2010-03-11 通信装置、通信制御方法、及び通信制御用プログラム Expired - Fee Related JP5651970B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010054459A JP5651970B2 (ja) 2010-03-11 2010-03-11 通信装置、通信制御方法、及び通信制御用プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010054459A JP5651970B2 (ja) 2010-03-11 2010-03-11 通信装置、通信制御方法、及び通信制御用プログラム

Publications (2)

Publication Number Publication Date
JP2011188433A JP2011188433A (ja) 2011-09-22
JP5651970B2 true JP5651970B2 (ja) 2015-01-14

Family

ID=44794140

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010054459A Expired - Fee Related JP5651970B2 (ja) 2010-03-11 2010-03-11 通信装置、通信制御方法、及び通信制御用プログラム

Country Status (1)

Country Link
JP (1) JP5651970B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2748714B1 (en) 2011-11-15 2021-01-13 Nicira, Inc. Connection identifier assignment and source network address translation
US9590905B2 (en) 2012-03-23 2017-03-07 Nec Corporation Control apparatus and a communication method, apparatus, and system to perform path control of a network
US9178715B2 (en) 2012-10-01 2015-11-03 International Business Machines Corporation Providing services to virtual overlay network traffic
IN2015DN02007A (ja) * 2012-10-10 2015-08-14 Nec Corp
JP6221501B2 (ja) 2013-08-19 2017-11-01 富士通株式会社 ネットワークシステム、その制御方法、ネットワーク制御装置及びその制御プログラム
JP2016171469A (ja) * 2015-03-13 2016-09-23 富士通株式会社 転送システム、転送装置、転送方法、およびプログラム
KR101740456B1 (ko) * 2015-12-04 2017-05-26 성균관대학교산학협력단 IoT 환경의 소프트웨어 정의 네트워크 기반의 패킷 포워딩 방법
JP6967923B2 (ja) * 2017-09-25 2021-11-17 東芝テック株式会社 インクジェットプリンタ及び印刷システム
JP7464122B2 (ja) * 2020-07-01 2024-04-09 日本電信電話株式会社 L2スイッチ、通信制御方法、および、通信制御プログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3490286B2 (ja) * 1998-03-13 2004-01-26 株式会社東芝 ルータ装置及びフレーム転送方法
JP3872717B2 (ja) * 2002-05-15 2007-01-24 日本電信電話株式会社 ネットワークの品質制御方法、ネットワークシステム及び管理装置

Also Published As

Publication number Publication date
JP2011188433A (ja) 2011-09-22

Similar Documents

Publication Publication Date Title
JP5651970B2 (ja) 通信装置、通信制御方法、及び通信制御用プログラム
US9794124B2 (en) Information system, control server, virtual network management method, and program
JP6004405B2 (ja) コントローラでネットワークパケット転送を管理するシステム及び方法
US9083612B2 (en) Communication system, control apparatus, communication method, and program
CN106797351B (zh) 使用控制器执行逻辑网络转发的系统和方法
JP5773020B2 (ja) スイッチシステム、スイッチ制御方法、及び記憶媒体
US10237377B2 (en) Packet rewriting apparatus, control apparatus, communication system, packet transmission method and program
US9584568B2 (en) Signal processing apparatus and signal processing method thereof for implementing a broadcast or a multicast communication
KR101478475B1 (ko) 컴퓨터 시스템 및 컴퓨터 시스템에 있어서의 통신 방법
JP5987920B2 (ja) 通信システム、制御装置及びネットワークトポロジの管理方法
JP2017506025A (ja) ネットワークサービス挿入を実行するシステム及び方法
US20120314605A1 (en) Communication system, path control apparatus, packet forwarding apparatus, and path control method
JP6248938B2 (ja) 通信システム、仮想ネットワーク管理装置、仮想ネットワークの管理方法及びプログラム
JP2015029356A (ja) 制御装置、通信システム、制御方法及びプログラム
JP5458038B2 (ja) フロースイッチ、フロー制御システムおよびフロー制御方法
JP5725236B2 (ja) 通信システム、ノード、パケット転送方法およびプログラム
EP3432525A2 (en) Control apparatus, communication system, virtual network management method, and program
JP2015057879A (ja) コンピュータ・ネットワーキングにおけるパケットのマルチパス・ルーティング・デバイスおよびその使用方法
JP6314970B2 (ja) 通信システム、制御装置、通信方法およびプログラム
WO2015118811A1 (ja) 通信システム、パケット転送装置、パケット転送方法およびパケット転送用プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131218

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140725

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140916

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141103

R150 Certificate of patent or registration of utility model

Ref document number: 5651970

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees