JP2015156697A - スイッチシステム、スイッチ制御方法、及び記憶媒体 - Google Patents

スイッチシステム、スイッチ制御方法、及び記憶媒体 Download PDF

Info

Publication number
JP2015156697A
JP2015156697A JP2015076975A JP2015076975A JP2015156697A JP 2015156697 A JP2015156697 A JP 2015156697A JP 2015076975 A JP2015076975 A JP 2015076975A JP 2015076975 A JP2015076975 A JP 2015076975A JP 2015156697 A JP2015156697 A JP 2015156697A
Authority
JP
Japan
Prior art keywords
packet
openflow
switch
function unit
entry
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015076975A
Other languages
English (en)
Other versions
JP5962808B2 (ja
Inventor
鈴木 洋司
Yoji Suzuki
洋司 鈴木
正徳 高島
Masanori Takashima
正徳 高島
一志 久保田
Kazushi Kubota
一志 久保田
徹 伊澤
Toru Izawa
徹 伊澤
将志 林
Masashi Hayashi
将志 林
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 JP2015076975A priority Critical patent/JP5962808B2/ja
Publication of JP2015156697A publication Critical patent/JP2015156697A/ja
Application granted granted Critical
Publication of JP5962808B2 publication Critical patent/JP5962808B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/74591Address table lookup; Address filtering using content-addressable memories [CAM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/34Signalling channels for network management communication
    • H04L41/342Signalling channels for network management communication between virtual entities, e.g. orchestrators, SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/252Store and forward routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering

Abstract

【課題】スイッチシステムは、既存のリソースであるスイッチの各テーブルを用いてオープンフローテーブルのエントリ数の拡張を提供する。
【解決手段】スイッチは、所定のパケットに対する処理を定義した複数のテーブルを、各テーブルに定義された条件及び処理内容に応じて論理的に統合してオープンフローテーブルを構築し、オープンフローテーブルを参照して、受信パケットに対する処理内容を決定する。そして、決定された処理内容に従って、受信パケットに対する処理を実行する。
【選択図】図1

Description

本発明は、スイッチシステムに関し、特に個々のスイッチが複数のテーブルを有するスイッチシステムに関する。
ネットワークシステムにおける通信経路の制御については、近年、通信機器の制御プロトコルであるオープンフロー(OpenFlow)技術を使用した経路制御方式が研究されている。オープンフロー技術による経路制御が行われるネットワークを、オープンフローネットワークと呼ぶ。
オープンフローネットワークでは、OFC(OpenFlow Controller)等のコントローラが、OFS(OpenFlow Switch)等のスイッチのオープンフローテーブル(OpenFlow Table)を操作することによりスイッチの挙動を制御する。コントローラとスイッチの間は、コントローラがオープンフロープロトコルに準拠した制御メッセージを用いてスイッチを制御するためのセキュアチャネル(Secure Channel)により接続されている。
オープンフローネットワークにおけるスイッチとは、オープンフローネットワークを形成し、コントローラの制御下にあるエッジスイッチ及びコアスイッチのことである。オープンフローネットワークにおける入力側エッジスイッチでのパケットの受信から出力側エッジスイッチでの送信までのパケットの一連の流れをフロー(Flow)と呼ぶ。
オープンフローテーブルとは、所定のマッチ条件(ルール)に適合するパケット(通信データ)に対して行うべき所定の処理内容(アクション)を定義したフローエントリ(Flow entry)が登録されたテーブルである。
フローエントリのルールは、パケットの各プロトコル階層のヘッダー領域に含まれる宛先アドレス(Destination Address)、送信元アドレス(Source Address)、宛先ポート(Destination Port)、送信元ポート(Source Port)のいずれか又は全てを用いた様々な組合せにより定義され、区別可能である。なお、上記のアドレスには、MACアドレス(Media Access Control Address)やIPアドレス(Internet Protocol Address)を含むものとする。また、上記に加えて、入口ポート(Ingress Port)の情報も、フローエントリのルールとして使用可能である。
フローエントリのアクションは、「特定のポートに出力する」、「廃棄する」、「ヘッダーを書き換える」といった動作を示す。例えば、スイッチは、フローエントリのアクションに出力ポートの識別情報(出力ポート番号等)が示されていれば、これに該当するポートにパケットを出力し、出力ポートの識別情報が示されていなければ、パケットを破棄する。或いは、スイッチは、フローエントリのアクションにヘッダー情報が示されていれば、当該ヘッダー情報に基づいてパケットのヘッダを書き換える。
オープンフローネットワークにおけるスイッチは、フローエントリのルールに適合するパケット群(パケット系列)に対して、フローエントリのアクションを実行する。
オープンフロースイッチの詳細については、非特許文献1、2に記載されている。
ネットワーク上の大量のフローを制御するには、大容量のオープンフローテーブルを有する必要がある。現状では、オープンフローテーブルに用いられるTCAM(Ternary Content Addressable Memory)はあまり大容量ではないため、必要十分な容量が確保できているとは言えない。また、オープンフローテーブルに使用されているスイッチのテーブル(主にTCAM)の容量自体を増やすことは難しい。
上記の課題の解決方法の1つとして、外部TCAMを使用するという方法があるが、これにはコストがかかる。また、10G多ポート(データ伝送速度10Gビット/秒に対応した複数のポートを有するネットワーク機器)のような高速転送の機器では、外部TCAMの使用自体が不可という状況がある。少なくとも現状では、10Gベースのスイッチで動作可能な外部TCAMは存在しない。
本発明の目的は、既存のリソースであるスイッチの各テーブルを用いてオープンフローテーブルのエントリ数拡張を実現することにある。
本発明に係るスイッチシステムは、所定のパケットに対する処理を定義した複数のテーブルを、各テーブルに定義された条件及び処理内容に応じて論理的に統合してオープンフローテーブルを構築し、オープンフローテーブルを参照して、受信パケットに対する処理内容を決定するオープンフロー機能部と、決定された処理内容に従って、受信パケットに対する処理を実行するアクション機能部とを具備する。
本発明に係るスイッチ制御方法は、オープンフロースイッチにおいて実施されるスイッチ制御方法であって、所定のパケットに対する処理を定義した複数のテーブルを、各テーブルに定義された条件及び処理内容に応じて論理的に統合してオープンフローテーブルを構築し、オープンフローテーブルを参照して、受信パケットに対する処理内容を決定することと、決定された処理内容に従って、受信パケットに対する処理を実行することとを含む。
本発明に係るプログラムは、上記のスイッチ制御方法における処理を、スイッチとして使用される計算機に実行させるためのプログラムである。なお、本発明に係るプログラムは、記憶装置や記憶媒体に格納することが可能である。
これにより、コントローラからスイッチ内部の複数のテーブルを、1つの大容量のオープンフローテーブルとして用いることを可能とする。
本発明に係るスイッチシステムの構成例を示す概念図である。 本発明の第1実施形態に係るオープンフロー機能部の詳細を示す概念図である。 本発明の第1実施形態に係るオープンフロー処理解決部の詳細を示す概念図である。 オープンフローテーブル制御の概要を示す図である。 オープンフローテーブル制御の第1方式の例の詳細を示す図である。 オープンフローテーブル制御の第2方式の例の詳細を示す図である。 パケット流入時のスイッチシステムの第1の動作例を示す図である。 パケット流入時のスイッチシステムの第1の動作例を示す図である。 パケット流入時のスイッチシステムの第2の動作例を示す図である。 パケット流入時のスイッチシステムの第2の動作例を示す図である。 オープンフローテーブル制御の第1方式の具体例を説明するための図である。 オープンフローテーブル制御の第2方式の具体例を説明するための図である。 本発明の第2実施形態に係るスイッチシステムの実施例1の詳細を示す概念図である。 本発明の第2実施形態に係るスイッチシステムの実施例2の詳細を示す概念図である。 本発明の第2実施形態に係るスイッチシステムの実施例3の詳細を示す概念図である。
<第1実施形態>
以下に、本発明の第1実施形態について添付図面を参照して説明する。
[システム構成]
図1に示すように、本発明に係るスイッチシステムは、コントローラ101と、スイッチ102を含む。
コントローラ101は、オープンフロープロトコルに準拠した処理でスイッチ102を制御する。
[スイッチの構成]
スイッチ102は、プロトコル制御部103と、入力ポート104と、オープンフロー機能部105と、レガシー(Legacy)機能部108と、アクション(Action)機能部111と、出力ポート112を備える。
プロトコル制御部103は、コントローラ101がオープンフロープロトコルに準拠した処理でスイッチ102を制御するための通信を行う際に、コントローラ101とスイッチ102の間でプロトコル制御を行う。プロトコル制御部103は、スイッチ102の内部に限らず、スイッチ102の前段でも良い。
入力ポート104は、パケット入力用インタフェースである。入力ポート104は、オープンフロー有効ポートと、オープンフロー無効ポートを有する。オープンフロー有効ポートとは、オープンフロープロトコルに対応した入力ポートであり、オープンフロー無効ポートとは、オープンフロープロトコルに未対応の入力ポートである。
オープンフロー機能部105は、オープンフロー有効ポートから入力したパケットを処理する。
オープンフロー機能部105は、オープンフローテーブル管理部106と、オープンフロー処理解決部(OpenFlow Action Resolver)107を備える。
オープンフローテーブル管理部106は、スイッチ102が使用するオープンフローテーブルを保持する。オープンフローテーブルには、オープンフロープロトコルに準拠したパケットに対するアクション(オープンフロー処理のアクション)が定義されている。
オープンフロー処理解決部107は、オープンフローテーブル管理部106の検索(Lookup)結果を基に、オープンフロー処理のアクションを決定する。
レガシー機能部108は、オープンフロー無効ポートから入力したパケットを処理する。
レガシー機能部108は、レガシーテーブル(Legacy Table)管理部109と、レガシー処理解決部(Legacy Action Resolver)110を備える。
レガシーテーブル管理部109は、スイッチ102が使用するレガシーテーブルである。レガシーテーブル管理部109は、オープンフロープロトコルに準拠していないパケット(通常のパケット等)に対するアクション(レガシー処理のアクション)を定義している。
レガシー処理解決部110は、レガシーテーブル管理部109の検索結果を基に、該当するレガシー処理のアクションを決定する。レガシー処理については、通常のスイッチ機能を用いる。
アクション機能部111では、オープンフロー機能部105、もしくはレガシー機能部108で決定されたアクションを実行する。
出力ポート112は、パケット出力用インタフェースである。
[オープンフロー処理とレガシー処理の違い]
オープンフロー処理では、パケットの経路制御を外部のコントローラ経由で行う。コントローラは、ネットワーク全体を見て最適な経路を選択する。一方、レガシー処理では、通常のスイッチやルータで行われているように、自律分散で経路制御を行う。通常のスイッチやルータは、自身の近傍に関する情報からネットワーク状況を判断して最適経路を選択する。
オープンフロー処理では、最大12種類の情報の組合せでパケット識別を行うことができる。一方、レガシー処理では、L2ネットワークであれば宛先MACアドレス、L3ネットワークであれば宛先IPアドレスというように、パケット識別に使用できる情報が少ない。このため、細かなフロー制御を行うことが難しい。例えば、レガシー処理では、同じ宛先IPアドレスでも、送信元TCPポート番号が異なれば、別のフローと判断して別の経路を選択する。
[スイッチシステムの全体動作]
以下に、図1のスイッチシステムの全体動作について説明する。
[パケット入力]
スイッチ102に新規パケットが流入した際、スイッチ102は、入力ポート104で、このパケットを受け取る。
スイッチ102は、パケットを受け取った入力ポート104がオープンフロー有効ポートか否か確認する。例えば、スイッチ102は、スイッチ102自体又は入力ポート104の設定情報(config)等を参照して、入力ポート104がオープンフロー有効ポートか否か確認する。
[パケット入力からオープンフロー処理への移行]
スイッチ102は、入力ポートがオープンフロー有効ポートであった場合、パケットを、入力ポート104からオープンフロー機能部105に渡す。
[オープンフロー処理]
オープンフロー機能部105は、渡されたパケットについて、スイッチ102の複数のテーブルを保持するオープンフローテーブル管理部106において検索処理を行う。
次に、オープンフロー機能部105は、オープンフロー処理解決部107において、検索結果、及び各テーブルの優先順位(Priority)からパケットのアクションを決定する。なお、優先順位は、優先度と読み替えても良い。
[オープンフロー処理からアクション実行への移行]
オープンフロー機能部105は、決定されたアクションが「Packet−IN」(コントローラに対する該当パケットのアクション問い合わせ)であった場合(例えば、該当するフローエントリが存在せずアクションが決定できなかった場合)は、プロトコル制御部103を通じてコントローラ101に問い合わせ(該当パケットの転送等)を行う。最初は、レガシー処理の対象となるパケット以外の全てのパケットのアクションを、無条件で「Packet−IN」としておいても良い。オープンフロー機能部105は、問い合わせに対する応答として、「Packet−OUT」(コントローラからのアクション問い合わせ結果)を受け取り、その内容を該当パケットのアクションとして決定し、オープンフローテーブル管理部106が保持するテーブルに登録する。以降、オープンフロー機能部105は、オープンフロー処理解決部107において、このパケットと同じルールに該当するパケットに対して、このアクションを決定することになる。
オープンフロー機能部105は、決定されたアクションに基づいて、該当パケットをアクション機能部111に渡す。すなわち、該当パケットの処理の主体が、オープンフロー機能部105からアクション機能部111に移行する。
[オープンフロー処理からレガシー処理への移行]
オープンフロー機能部105は、決定されたアクションが「NORMAL」(レガシー機能部108を用いたパケット処理)であった場合は、該当パケットをレガシー機能部108に渡す。すなわち、該当パケットの処理の主体が、オープンフロー機能部105からレガシー機能部108に移行する。
[パケット入力からレガシー処理への移行]
また、スイッチ102は、入力ポート104がオープンフロー無効ポートであった場合、もしくは当該パケットに対して先に(以前に)オープンフロー機能部105で決定されたアクションが「NORMAL」であった場合、パケットを、入力ポート104からレガシー機能部108に渡す。すなわち、該当パケットの処理の主体が、入力ポート104からレガシー機能部108に移行する。
[レガシー処理]
レガシー機能部108は、渡されたパケットについて、スイッチ102の複数のテーブルから構成されるレガシーテーブル管理部109において検索処理を行う。
[レガシー処理からアクション実行への移行]
次に、レガシー機能部108は、レガシー処理解決部110において、検索結果、及び各テーブルの優先順位(Priority)からパケットのアクションを決定する。すなわち、該当パケットの処理の主体が、レガシー機能部108からアクション機能部111に移行する。
なお、レガシー機能部108〜レガシー処理解決部110でのレガシー処理については、通常のスイッチ機能を用いるため、本発明では詳細に触れない。
[アクション実行]
アクション機能部111は、該当パケットに対して、オープンフロー機能部105、もしくはレガシー機能部108で決定されたアクションを実行する。
オープンフロー機能部105で決定されたアクションの例として、ヘッダー(Header)情報の書き換え、指定された出力ポートからのパケット出力、パケット破棄等が考えられる。レガシー機能部108で決定されたアクションの例として、ルーティング(routing)等によるパケット転送等が考えられる。但し、実際には、これらの例に限定されない。
最後に、アクション機能部111は、実行されるアクションに「パケット出力」が含まれている場合は、その内容に従って、適切な出力ポート112から該当パケットを出力する。
[コントローラによるオープンフローテーブルの制御]
なお、コントローラ101は、プロトコル制御部103を通じて、スイッチ102のオープンフローテーブル管理部106の制御を行うことが可能である。ここで、「オープンフローテーブル管理部106の制御」とは、オープンフローテーブルに対するフローエントリの登録/変更/削除/一括削除等である。
オープンフローテーブル管理部106がオープンフローテーブルとして保持するスイッチ102の各テーブルは、必ずしもオープンフロー仕様(OpenFlow Spec)で規定されている全ての操作に対応している訳ではない。
このため、コントローラ101は、オープンフローテーブル管理部106がオープンフローテーブルとして保持する各テーブルで実現可能な機能(設定可能なアクション)を踏まえて制御を行う必要がある。
[オープンフロー機能部の詳細]
図2は、本発明のオープンフロー機能部105の詳細について説明するための図である。
オープンフロー機能部105、オープンフローテーブル管理部106、オープンフロー処理解決部107、アクション機能部111は、図1に表されている機構・機能と同一のものである。
オープンフロー機能部105は、オープンフローテーブル管理部106と、オープンフロー処理解決部107を備える。
オープンフローテーブル管理部106は、テーブル群113と、検索(Lookup)機能部114を備える。
テーブル群113は、オープンフローテーブルを構成するテーブル群である。
検索機能部114は、テーブル群113を用いて入力パケットの検索を行う。
検索機能部114は、L2/L3/その他テーブル(OF)検索機能部115と、TCAM(OF)検索機能部116を備える。
なお、「OF」とは、「OpenFlow」の略語である。
L2/L3/その他テーブル(OF)検索機能部115は、入力パケットについて、L2テーブル(OF)、L3テーブル(OF)、及びその他テーブル(OF)を参照し、該当するエントリがないか検索する。その他テーブル(OF)の一例として、マルチキャストルーティングテーブル等が挙げられる。すなわち、L2/L3/その他テーブル(OF)検索機能部115は、入力パケットについて、プロトコル単位でテーブルの検索を実行する。
TCAM(OF)検索機能部116は、入力パケットについて、TCAM(OF)を参照し、該当するエントリがないか検索する。すなわち、TCAM(OF)検索機能部116は、入力パケットについて、TCAMの検索を実行する。
[オープンフロー機能部の動作]
以下に、図2のオープンフロー機能部105の動作について説明する。
入力ポート104は、オープンフロー有効ポートから入力されたパケットを、オープンフロー機能部105に渡す。
オープンフロー機能部105は、渡されたパケットについて、スイッチ102の複数のテーブルから構成されるオープンフローテーブル管理部106において検索処理を行う。
このとき、オープンフローテーブル管理部106の検索機能部114は、オープンフローテーブルを構成するテーブル群113に登録されたエントリ情報に基づいて検索を行う。
具体的には、検索機能部114において、まず、L2/L3/その他テーブル(OF)検索機能部115が検索を行い、次いで、TCAM(OF)検索機能部116が検索を行う。
検索機能部114は、この検索結果を、オープンフロー処理解決部107に渡す。
オープンフロー処理解決部107は、検索結果、及び各テーブルの優先順位(Priority)からパケットのアクションを決定する。
[ハードウェアの例示]
以下に、本発明に係るスイッチシステムを実現するための具体的なハードウェアの例について説明する。
コントローラ101の例として、PC(パソコン)、ワークステーション、メインフレーム、スーパーコンピュータ等の計算機を想定している。また、コントローラ101は、計算機に搭載される拡張ボードや、物理マシン上に構築された仮想マシン(VM:Virtual Machine)でも良い。
スイッチ102の例として、L3スイッチ(layer 3 switch)、L4ス
イッチ(layer 4 switch)、L7スイッチ/アプリケーションスイッチ(
layer 7 switch)、或いは、マルチレイヤスイッチ(multi−lay
er switch)等のネットワークスイッチ(network switch)を想定している。他にも、スイッチ102の例として、ルータ(router)、プロキシ(proxy)、ゲートウェイ(gateway)、ファイアウォール(firewall)、ロードバランサ(load balancer:負荷分散装置)、帯域制御装置/セキュリティ監視制御装置(gatekeeper)、基地局(base station)、アクセスポイント(AP:Access Point)、通信衛星(CS:Communication Satellite)、或いは、複数の通信ポートを有する計算機等が考えられる。
プロトコル制御部103、オープンフロー機能部105、オープンフローテーブル管理部106、オープンフロー処理解決部107、レガシー機能部108、レガシーテーブル管理部109、レガシー処理解決部110、及びアクション機能部111は、プログラムに基づいて駆動し所定の処理を実行するプロセッサと、当該プログラムや各種データを記憶するメモリとによって実現される。
上記のプロセッサの例として、CPU(Central Processing Unit)、ネットワークプロセッサ(NP:Network Processor)、マイクロプロセッサ(microprocessor)、マイクロコントローラ、或いは、専用の機能を有する半導体集積回路(IC:Integrated Circuit)等が考えられる。
上記のメモリの例として、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)等の記憶媒体(メディア)等が考えられる。また、バッファ(buffer)やレジスタ(register)でも良い。或いは、DAS(Direct Attached Storage)、FC−SAN(Fibre Channel − Storage Area Network)、NAS(Network Attached Storage)、IP−SAN(IP − Storage Area Network)等を用いたストレージ装置でも良い。
また、上記のプロセッサ及び上記のメモリは、一体化していても良い。例えば、近年では、マイコン等の1チップ化が進んでいる。従って、電子機器等に搭載される1チップマイコンが、プロセッサ及びメモリを備えている事例が考えられる。
或いは、プロトコル制御部103、オープンフロー機能部105、オープンフローテーブル管理部106、オープンフロー処理解決部107、レガシー機能部108、レガシーテーブル管理部109、レガシー処理解決部110、及びアクション機能部111は、計算機に搭載される拡張ボードや、物理マシン上に構築された仮想マシン(VM)でも良い。
入力ポート104及び出力ポート112の例として、ネットワーク通信に対応した基板(マザーボードやI/Oボード)等の半導体集積回路、NIC(Network Interface Card)等のネットワークアダプタや同様の拡張カード、アンテナ等の通信装置、接続口(コネクタ)等の通信ポート等が考えられる。
また、入力ポート104及び出力ポート112が利用するネットワークの例として、インターネット、LAN(Local Area Network)、無線LAN(Wireless LAN)、WAN(Wide Area Network)、バックボーン(Backbone)、ケーブルテレビ(CATV)回線、固定電話網、携帯電話網、WiMAX(IEEE 802.16a)、3G(3rd Generation)、専用線(lease line)、IrDA(Infrared Data Association)、Bluetooth(登録商標)、シリアル通信回線、データバス等が考えられる。
なお、プロトコル制御部103、オープンフロー機能部105、オープンフローテーブル管理部106、オープンフロー処理解決部107、レガシー機能部108、レガシーテーブル管理部109、レガシー処理解決部110、及びアクション機能部111の各々は、モジュール(module)、コンポーネント(component)、或いは専用デバイス、又はこれらの起動(呼出)プログラムでも良い。
但し、実際には、これらの例に限定されない。
[オープンフロー処理解決部の詳細]
図3は、本発明のオープンフロー処理解決部107の詳細について説明するための図である。
オープンフロー処理解決部107、TCAM(OF)検索機能部116は、図2に表されている機構・機能と同一のものである。
オープンフロー処理解決部107は、TCAM(OF)のエントリマッピングを調整することにより、TCAM(OF)検索機能部116の一部として実現される。
このため、実質的には、オープンフロー処理解決部107と、TCAM(OF)検索機能部116は、1つの機能ブロック(TCAM(OF) Lookup & OpenFlow Action Resolver)となる。この機能ブロックは、テーブル間優先順位117と、TCAM(OF)内部のエントリ118を有する。
テーブル間優先順位117は、期待するアクション優先順位(Priority)を示す。TCAM(OF)内部のエントリ118は、優先順位(Priority)に対応するTCAM(OF)内のエントリマッピングを示す。
TCAM(OF)内部のエントリ118は、TCAM(OF)検索用エントリ群119と、L2テーブル(OF)検索結果参照用エントリ120と、L3テーブル(OF)検索結果参照用エントリ121と、その他テーブル(OF)検索結果参照用エントリ122と、Miss−hit用エントリ123を含む。
TCAM(OF)検索用エントリ群119は、TCAM(OF)検索機能部116におけるTCAM(OF)検索を実現するためのエントリの集合である。L2テーブル(OF)検索結果参照用エントリ120は、L2テーブル(OF)の検索結果を参照するためのエントリである。L3テーブル(OF)検索結果参照用エントリ121は、L3テーブル(OF)の検索結果を参照するためのエントリである。その他テーブル(OF)検索結果参照用エントリ122は、その他テーブル(OF)の検索結果を参照するためのエントリである。Miss−hit用エントリ123は、いずれのエントリにもヒット(hit)しなかったパケットを「Miss−hit(ヒットせず)」として取り扱うためのエントリである。すなわち、これらは上記のそれぞれのアクションを定義したエントリである。
[オープンフロー処理解決部の動作]
以下に、図3のオープンフロー処理解決部107の動作について説明する。
オープンフローテーブル内の検索順序として、最後に、TCAM(OF)検索機能部116が検索を行う。なお、TCAM(OF)検索機能部116での検索の際に、L2/L3/その他テーブルの検索結果を参照することが可能なスイッチでは、TCAM(OF)のエントリマッピングを調整することにより、オープンフロー処理解決部107を実現することが可能である。
例えば、テーブル間優先順位117のような期待するテーブルごとのアクション優先順位(Priority)を、TCAM(OF)内部のエントリ118のようにマッピングすることにより対応することができる。
図3の例の場合は、アクション優先順位(Priority)117は、優先順位(Priority)の高い順から、「全部対応(TCAM(OF)相当)」→「L2対応(L2テーブル(OF)相当)」→「L3対応(L3テーブル(OF)相当)」→「その他対応(その他テーブル相当)」となっている。
オープンフロー処理解決部107は、これをTCAM(OF)内のエントリマッピングとして、TCAM(OF)の検索優先順位(Priority)の高い順から、「TCAM(OF)検索機能実現用エントリ群119」→「L2テーブル(OF)検索結果参照用エントリ120」→「L3テーブル(OF)検索結果参照用エントリ121」→「その他テーブル(OF)検索結果参照用エントリ122」→「Miss−hit用エントリ123」の順に並べれば良い。
[TCAM(OF)検索機能実現用エントリ群]
TCAM(OF)検索機能実現用エントリ群119は、検索機能のTCAM(OF)検索機能部116を実現するためのエントリ群である。オープンフロー処理解決部107は、入力パケットがTCAM(OF)検索機能実現用エントリ群119のいずれかにヒットした場合、そのエントリのアクションを、当該パケットに対するアクションとして選択する。
[L2テーブル(OF)検索結果参照用エントリ]
L2テーブル(OF)検索結果参照用エントリ120は、事前に行われたL2テーブル(OF)の検索の結果を踏まえ、入力パケットに対応するエントリがL2テーブル(OF)上に存在した場合にヒットするエントリである。
例えば、L2テーブル(OF)検索時に入力パケットに対応するエントリがあった場合は、あるフラグ「X=1」となり、TCAM(OF)上のL2テーブル(OF)検索結果参照用エントリ120では、このフラグ「X=1」の場合に同エントリがヒットする。
オープンフロー処理解決部107は、L2テーブル(OF)検索結果参照用エントリ120がヒットした場合、L2テーブル(OF)の該当エントリのアクションを、当該パケットに対するアクションとして選択する。
[L3テーブル(OF)検索結果参照用エントリ]
L3テーブル(OF)検索結果参照用エントリ121は、事前に行われたL3テーブル(OF)の検索の結果を踏まえ、入力パケットに対応するエントリがL3テーブル(OF)上に存在した場合にヒットするエントリである。
例えば、L3テーブル(OF)検索時に入力パケットに対応するエントリがあった場合は、あるフラグ「Y=1」となり、TCAM(OF)上のL3テーブル(OF)検索結果参照用エントリ121では、このフラグ「Y=1」の場合に同エントリがヒットする。
オープンフロー処理解決部107は、L3テーブル(OF)検索結果参照用エントリ121がヒットした場合、L3テーブル(OF)の該当エントリのアクションを、当該パケットに対するアクションとして選択する。
[その他テーブル(OF)検索結果参照用エントリ]
その他テーブル(OF)検索結果参照用エントリ122は、事前に行われたその他テーブル(OF)の検索の結果を踏まえ、入力パケットに対応するエントリがその他テーブル(OF)上に存在した場合にヒットするエントリである。
例えば、その他テーブル(OF)検索時に入力パケットに対応するエントリがあった場合は、あるフラグ「Z=1」となり、TCAM(OF)上のその他テーブル(OF)検索結果参照用エントリ122では、このフラグ「Z=1」の場合に同エントリがヒットする。
オープンフロー処理解決部107は、その他テーブル(OF)検索結果参照用エントリ122がヒットした場合、その他テーブル(OF)の該当エントリのアクションを、当該パケットに対するアクションとして選択する。
[Miss−hit用エントリ]
Miss−hit用エントリ123は、TCAM(OF)のいずれのエントリにも入力パケットがヒットしなかった場合にヒットするエントリである。
ここでは、Miss−hit用エントリ123は、全てのパターンのパケットがヒットするエントリである。オープンフロー処理解決部107は、入力パケットがTCAM(OF)のいずれのエントリにもヒットせず、Miss−hit用エントリ123にのみヒットした場合、オープンフローの設定に応じて、「Packet−IN」(コントローラに対する該当パケットのアクション問い合わせ)、もしくは「NORMAL」(レガシー機能部を用いたパケット処理)を、当該パケットに対するアクションとして選択する。
なお、各テーブルのアクション優先順位(Priority)を変えたい場合は、TCAM(OF)内の該当エントリの順番を入れ替えれば良い。
[オープンフローテーブル制御の概要]
図4は、本発明におけるコントローラからのオープンフローテーブル制御の概要図である。コントローラ101、スイッチ102、プロトコル制御部103、テーブル群113は、図1、図2に表されている機構・機能と同一のものである。
スイッチ102は、TCAM124と、L2テーブル125と、L3テーブル126と、その他テーブル127を含む。
TCAM124は、TCAM(OF)と、TCAM(Legacy)を含む。L2テーブル125は、L2テーブル(OF)と、L2テーブル(Legacy)を含む。L3テーブル126は、L3テーブル(OF)と、L3テーブル(Legacy)を含む。その他テーブル127は、その他テーブル(OF)と、その他テーブル(Legacy)を含む。
TCAM(OF)、L2テーブル(OF)、L3テーブル(OF)、その他テーブル(OF)は、オープンフローテーブルを構成する。
TCAM(Legacy)、L2テーブル(Legacy)、L3テーブル(Legacy)、その他テーブル(Legacy)は、レガシーテーブルを構成する。
スイッチ102上のTCAM124、L2テーブル125、L3テーブル126、及びその他テーブル127は、通常の場合、物理的には1つのテーブルである。
本発明におけるスイッチ102では、この物理的に1つのテーブル(TCAM124、L2テーブル125、L3テーブル126、及びその他テーブル127)を、オープンフローテーブルを構成するテーブル群113と、レガシーテーブルを構成するテーブル群128に論理的に分ける機能を有する。すなわち、スイッチ102は、物理的に1つのテーブル(TCAM124、L2テーブル125、L3テーブル126、及びその他テーブル127)を、各テーブルに定義された条件及び処理内容に応じて論理的に統合してオープンフローテーブル(テーブル群113)とレガシーテーブル(テーブル群128)を構築する。
オープンフローテーブルを構成するテーブル群113は、TCAM(OF)、L2テーブル(OF)、L3テーブル(OF)、その他テーブル(OF)を含む。
レガシーテーブルを構成するテーブル群128は、TCAM(Legacy)、L2テーブル(Legacy)、L3テーブル(Legacy)、その他テーブル(Legacy)を含む。
[オープンフローテーブル制御の概要]
以下に、図4のコントローラからのオープンフローテーブル制御の概要について説明する。
コントローラ101は、プロトコル制御部103を通じて、スイッチ102のオープンフローテーブルの制御を行うことが可能である。
スイッチ上のTCAM124、L2テーブル125、L3テーブル126、その他テーブル127は、通常の場合、物理的には各々1つのテーブルである。
本発明におけるスイッチでは、これらのテーブルのリソースの一部をオープンフロー用に切り出して使用し、オープンフローテーブルを構成するテーブル群113とレガシーテーブルを構成するテーブル群128を論理的に構築する機能を有する。すなわち、スイッチ102は、TCAM124、L2テーブル125、L3テーブル126、及びその他テーブル127を基に、論理的なオープンフローテーブル(テーブル群113)とレガシーテーブル(テーブル群128)を構築する。
オープンフローテーブルを構成する各テーブルは、それぞれ実現できるオープンフロー機能が異なる。
このため、コントローラ101は、「1:各テーブルで実現可能なオープンフロー機能はどのようなものか」、「2:制御するエントリはオープンフローテーブルを構成するどのテーブルのものか」を踏まえた上でオープンフローテーブル制御を行う必要がある。
「1」については、「コントローラ側:予め各テーブルで実現可能な機能を入力(Input)しておいて、それ以外の制御を行おうとした場合にエラーを返す機構を持たせる」、「スイッチ側:コントローラからの制御命令について、対象となるテーブルが制御に対応する機能を有していない場合にエラーを返す機構を持たせる」といった対応がある。
「2」については、「オープンフローテーブルにおける優先順位(Priority)(0−64k)の一定範囲ずつを各テーブルに割り当て、コントローラから制御を行う際はこの優先順位(Priority)の範囲を基に、使用するテーブルを判別する」、「オープンフローテーブルを構成する各テーブルにIDを持たせ、コントローラから制御を行う際はこのIDを基に、使用するテーブルを判別する」といった対応がある。
[オープンフローテーブル制御の詳細(1)]
図5は、本発明におけるコントローラからのオープンフローテーブル制御の第1方式の例の詳細について説明するための図である。ここでは、優先順位(Priority)範囲でテーブル指定する場合について説明する。
コントローラ101、スイッチ102、オープンフローテーブル管理部106、テーブル群113は、図1、図2に表されている機構・機能と同一のものである。
オープンフロー機能部105のオープンフローテーブル管理部106は、オープンフローテーブルを構成するテーブル群113の各々のテーブルに、優先順位(Priority)範囲を割り当てる。
優先順位(Priority)範囲でテーブル指定する場合、各々のテーブルの優先順位(Priority)範囲は重複してはならない。また、優先順位(Priority)範囲の合計は、オープンフローで規定されている優先順位(Priority)範囲を越えてはならない。
コントローラ101は、各テーブルに割り当てられた優先順位(Priority)範囲内の値でテーブルを指定する。
オープンフロー機能部105のオープンフローテーブル管理部106は、コントローラ101から指定された優先順位(Priority)範囲内の値を基に、使用するテーブルを判別する。
[オープンフローテーブル制御の詳細(2)]
図6は、本発明におけるコントローラからのオープンフローテーブル制御の第2方式の例の詳細について説明するための図である。ここでは、テーブルIDでテーブル指定する場合について説明する。
コントローラ101、スイッチ102、オープンフローテーブル管理部106、テーブル群113は、図1、図2に表されている機構・機能と同一のものである。
オープンフロー機能部105のオープンフローテーブル管理部106は、オープンフローテーブルを構成するテーブル群113に、各々テーブルID129を割り当てる。
テーブルIDでテーブル指定する場合、各々のテーブルIDは重複してはならない。一方、各テーブルで規定される優先順位(Priority)範囲は、重複しても問題ない。各テーブルはテーブルID129により別のテーブルとして識別され、各々のテーブルの優先順位(Priority)はオープンフロー処理解決部107により決定されるためである。
コントローラ101は、各テーブルに割り当てられたテーブルID129でテーブルを指定する。
オープンフロー機能部105のオープンフローテーブル管理部106は、コントローラ101から指定されたテーブルID129を基に、使用するテーブルを判別する。
[パケット流入時の処理の動作例(1)]
図7A、図7Bは、本発明におけるパケット流入時のスイッチシステムの第1の動作例である。である。簡単のため、動作に関連する機能ブロックのみ記載している。ステップS101〜ステップS107は、パケット流入からの一連の動作の流れを示す。
(1)ステップS101
コントローラ101は、予めスイッチ102に対して、{Match条件:宛先IP=AA、Action:Drop}というTCAM(OF)エントリー(1)の登録を行う。スイッチ102は、テーブル群113のTCAM(OF)に、TCAM(OF)エントリー(1)の登録を行う。
なお、「Match条件」は、L1〜L4までの任意のヘッダー情報の組合せにより定義される。また、「Action」は、Match条件に適合したパケットに対する中継/破棄、ヘッダー情報の書き換え等のアクションを定義したものである。
(2)ステップS102
コントローラ101は、予めスイッチ102に対して、{Match条件:宛先IP=AA、Action:Port1から出力}というL3テーブル(OF)エントリー(1)と、{Match条件:宛先IP=BB、Action:Port2から出力}というL3テーブル(OF)エントリー(2)の登録を行う。スイッチ102は、テーブル群113のL3テーブル(OF)に、L3テーブル(OF)エントリ(1)及びL3テーブル(OF)エントリー(2)を登録する。
(3)ステップS103
入力ポート104は、パケット流入時に、オープンフロー有効ポートに対して宛先IP=AAのパケットが流入した場合、オープンフロー機能部105に送信する。
(4)ステップS104
オープンフロー機能部105は、オープンフロー有効ポートに対して宛先IP=AAのパケットが流入した場合、当該パケットを処理する。
(5)ステップS105
まず、オープンフロー機能部105において、L2/L3/その他テーブル(OF)検索機能部115は、流入したパケットについて、L2/L3/その他テーブル(OF)での検索を行う。この検索において、当該パケットは、L3テーブル(OF)エントリー(1)にヒットする。
(6)ステップS106
L2/L3/その他テーブル(OF)検索機能部115は、この検索結果を、オープンフロー処理解決部107に通知する。図7Bでは、オープンフロー処理解決部107と、TCAM(OF)検索機能部116は、1つの機能ブロック(TCAM(OF) Lookup & OpenFlow Action Resolver)として示す。
(7)ステップS107
TCAM(OF)検索機能部116は、流入したパケットについて、TCAM(OF)での検索を行う。この検索において、当該パケットは、TCAM(OF)エントリー(1)が最初にヒットする。この時点でTCAM(OF)の検索処置は終了する。TCAM(OF)検索機能部116は、この検索結果を、オープンフロー処理解決部107に通知する。
(8)ステップS108
オープンフロー処理解決部107は、L2/L3/その他テーブル(OF)検索機能部115とTCAM(OF)検索機能部116の各々から検索結果を受け取り、テーブル間の優先順位に従って、流入したパケットに対するアクションを決定する。ここでは、TCAM(OF)の優先順位が一番高い。そのため、オープンフロー処理解決部107は、TCAM(OF)エントリー(1)のアクション(Drop)を、流入したパケットに対するアクションとして決定し、決定したアクション(Drop)を、アクション機能部111に通知する。
(9)ステップS109
アクション機能部111は、オープンフロー処理解決部107で決定されたアクション(Drop)を実行する。ここでは、アクション機能部111は、アクションが「Drop」であるため、パケットの出力を行わない。アクション機能部111は、流入したパケット及びこれと同一フローに属する以降のパケットを破棄する。
[パケット流入時の処理の動作例(2)]
図8A、図8Bは、本発明におけるパケット流入時のスイッチシステムの第2の動作例である。簡単のため、動作に関連する機能ブロックのみ記載している。ステップS201〜ステップS210は、パケット流入からの一連の動作の流れを示す。
(1)ステップS201
コントローラ101は、予めスイッチ102に対して、{Match条件:宛先IP=AA、Action:Drop}というTCAM(OF)エントリー(1)の登録を行う。スイッチ102は、テーブル群113のTCAM(OF)に、TCAM(OF)エントリー(1)の登録を行う。
(2)ステップS202
コントローラ101は、予めスイッチ102に対して、{Match条件:宛先IP=AA、Action:Port1から出力}というL3テーブル(OF)エントリー(1)と、{Match条件:宛先IP=BB、Action:Port2から出力}というL3テーブル(OF)エントリー(2)の登録を行う。スイッチ102は、テーブル群113のL3テーブル(OF)に、L3テーブル(OF)エントリ(1)及びL3テーブル(OF)エントリー(2)を登録する。
(3)ステップS203
入力ポート104は、パケット流入時に、オープンフロー有効ポートに対して宛先IP=BBのパケットが流入した場合、オープンフロー機能部105に送信する。
(4)ステップS204
オープンフロー機能部105は、オープンフロー有効ポートに対して宛先IP=BBのパケットが流入した場合、当該パケットを処理する。
(5)ステップS205
まず、オープンフロー機能部105において、L2/L3/その他テーブル(OF)検索機能部115は、当該パケットについて、L2/L3/その他テーブル(OF)での検索を行う。この検索において、当該パケットは、L3テーブル(OF)エントリー(2)にヒットする。
(6)ステップS206
L2/L3/その他テーブル(OF)検索機能部115は、この検索結果を、オープンフロー処理解決部107に通知する。図8Bでは、オープンフロー処理解決部107と、TCAM(OF)検索機能部116は、1つの機能ブロック(TCAM(OF) Lookup & OpenFlow Action Resolver)として示す。
(7)ステップS207
TCAM(OF)検索機能部116は、流入したパケットについて、TCAM(OF)での検索を行う。しかし、流入したパケットは、宛先IP=BBのパケットであるため、TCAM(OF)にはヒットするエントリがない。この時点でTCAM(OF)の検索処置は終了する。TCAM(OF)検索機能部116は、この検索結果を、オープンフロー処理解決部107に通知する。この時点でTCAM(OF)の検索処置は終了する。TCAM(OF)検索機能部116は、この検索結果を、オープンフロー処理解決部107に通知する。
(8)ステップS208
オープンフロー処理解決部107は、L2/L3/その他テーブル(OF)検索機能部115とTCAM(OF)検索機能部116の各々から検索結果を受け取り、テーブル間の優先順位に従って、流入したパケットに対するアクションを決定する。ここでは、対象となるエントリがL3テーブル(OF)エントリー(2)しか存在しない。そのため、オープンフロー処理解決部107は、L3テーブル(OF)エントリー(2)のアクション(Port2から出力)を、流入したパケットに対するアクションとして決定し、決定したアクション(Port2から出力)を、アクション機能部111に通知する。
(9)ステップS209
アクション機能部111は、オープンフロー処理解決部107で決定されたアクション(Port2から出力)を実行する。
(10)ステップS210
アクション機能部111は、アクション機能部111は、流入したパケット及びこれと同一フローに属する以降のパケットを、Port2を持つ出力ポート112に出力する。
(11)ステップS211
出力ポート112は、アクション機能部111から出力されたパケットを、Port2から出力する。
(12)ステップS212
Port2から出力されたパケットは、ネットワーク上に流出し、宛先IP=BBに向けて伝送される。
なお、図8A、図8Bにおいて、L2/L3/その他テーブル(OF)検索機能部115は、流入したパケットについて、複数のテーブルにヒットするエントリがある場合は、ヒットした全てのエントリを検索結果としてオープンフロー処理解決部107に通知する。オープンフロー処理解決部107は、優先順位が一番高いTCAM(OF)にヒットするエントリが存在しない場合、L2/L3/その他テーブル(OF)検索機能部115の検索結果の中で優先順位が一番高いテーブルにヒットするエントリを採用する。
また、図8A、図8Bにおいて、L2/L3/その他テーブル(OF)検索機能部115は、流入したパケットについて、複数のテーブルにヒットするエントリがある場合は、テーブル間優先順位117に従い、これらのテーブルのうち優先順位が一番高いテーブルにヒットするエントリを検索結果としてオープンフロー処理解決部107に通知するようにしても良い。
[オープンフローテーブル制御例(1)]
図9は、優先順位(Priority)範囲でテーブル指定する場合におけるコントローラからのオープンフローテーブル制御の第1方式の例である。
登録情報132は、コントローラ101からスイッチ102のオープンフローテーブル管理部106への登録情報である。登録結果133は、オープンフローテーブルを構成するテーブル群113への登録結果である。
オープンフローテーブルを構成するテーブル群113を1つのテーブルに見立てた場合、スイッチ102は、優先順位(Priority)により期待するテーブルへの制御を行う。
(1)ステップS301
コントローラ101は、スイッチ102に対して、{優先順位(Priority):50001、Match条件:XXXX、Action:YYYY}というエントリの登録を行う。
(2)ステップS302
スイッチ102は、コントローラ101からエントリが登録された場合、このエントリの優先順位(Priority)に該当するテーブルであるL2テーブル(OF)を選択し、このL2テーブル(OF)に該当エントリを登録する。
[オープンフローテーブル制御例(2)]
図10は、テーブルIDでテーブル指定する場合におけるコントローラからのオープンフローテーブル制御の第2方式の例である。
登録情報134は、コントローラからのオープンフローテーブルへの登録情報である。登録結果135は、オープンフローテーブルを構成するテーブル群への登録結果である。
オープンフローテーブルを構成するテーブル群の各テーブルを、それぞれ別のオープンフローテーブルに見立てた場合、スイッチ102は、テーブルIDにより期待するテーブルへの制御を行う。
(1)ステップS401
コントローラ101は、スイッチ102に対して、{テーブルID:#2、優先順位(Priority):1、Match条件:XXXX、Action:YYYY}というエントリの登録を行う。
(2)ステップS402
スイッチ102は、コントローラ101からエントリが登録された場合、このエントリのテーブルIDに該当するテーブルであるL2テーブル(OF)を選択し、このL2テーブル(OF)に該当エントリを登録する。
[第1実施形態の特徴]
本実施形態によれば、オープンフロー処理解決部により複数のテーブル間のリソースを統合し、かつ、各テーブルの優先順位(Priority)を比較してアクション(Action)解決を行うことができる。
従って、スイッチの複数のテーブルのリソースを用いて大容量のオープンフローテーブルを構築することができる。これにより、スイッチにより大量のフローを制御することが可能となる。
また、本実施形態によれば、オープンフローテーブルを1つの大容量のオープンフローテーブルとして使用する場合における「優先順位(Priority)範囲」や、オープンフローテーブルを構成するテーブル群の各テーブルを複数の異なるオープンフローテーブルとして使用する場合における「テーブルID」を用いて、オープンフローテーブルを構成する各テーブルを識別することができる。
従って、スイッチの複数のテーブルから構成されるオープンフローテーブルを1つの大容量のオープンフローテーブル、もしくは複数の異なるオープンフローテーブルとして使用することができる。これにより、複数のテーブルから構成されるオープンフローテーブルを柔軟に制御することが可能となる。
<第2実施形態>
以下に、本発明の第2実施形態について添付図面を参照して説明する。
第2実施形態は、TCAM(OF)検索機能部にオープンフロー処理解決部を含めない場合の、オープンフロー処理解決部の実施例である。
[実施例1]
図11は、「TCAM(OF)検索機能部116」→「L2/L3その他テーブル(OF)検索機能部115」の順に検索が実施される場合のオープンフロー機能部105の詳細について説明するための図である。
オープンフロー機能部105、オープンフローテーブル管理部106、オープンフロー処理解決部107、アクション機能部111、テーブル群113、検索機能部114、L2/L3/その他テーブル(OF)検索機能部115、TCAM(OF)検索機能部116は、図2に表されている機構・機能と同一のものである。
図11を参照して、「TCAM(OF)検索機能部116」→「L2/L3その他テーブル(OF)検索機能部115」の順に検索が実施される場合のオープンフロー機能部105の動作について説明する。
図11は、オープンフローテーブル管理部106の検索機能部114において、TCAM(OF)検索機能部116が最後に検索を行わない事例である。
図11では、「TCAM(OF)検索機能部116」→「L2/L3その他テーブル(OF)検索機能部115」の順に検索が実施されるため、TCAM(OF)検索機能部116にオープンフロー処理解決部107を含めることができない。
[実施例2]
図12は、L2/L3その他テーブル(OF)検索機能部115とTCAM(OF)検索機能部116の検索が同時に実施される場合のオープンフロー機能部105の詳細について説明するための図である。
オープンフロー機能部105、オープンフローテーブル管理部106、オープンフロー処理解決部107、アクション機能部111、テーブル群113、検索機能部114、L2/L3/その他テーブル(OF)検索機能部115、TCAM(OF)検索機能部116は、図2に表されている機構・機能と同一のものである。
図12を参照して、L2/L3その他テーブル(OF)検索機能部115とTCAM(OF)検索機能部116の検索が同時に実施される場合のオープンフロー機能部105の動作について説明する。
図12は、オープンフローテーブル管理部106の検索機能部114において、TCAM(OF)検索機能部116が最後に行われない事例である。
L2/L3その他テーブル(OF)検索機能部115とTCAM(OF)検索機能部116の検索が同時に実施されるため、TCAM(OF)検索機能部116にオープンフロー処理解決部107を含めることができない。
[実施例3]
図13は、TCAM(OF)検索機能部116にオープンフロー処理解決部107を含められない場合におけるオープンフロー処理解決部107の実施例である。
オープンフロー処理解決部107、アクション機能部111は、図2に表されている機構・機能と同一のものである。
オープンフロー処理解決部107は、検索受信部(Lookup Receiver)130と、処理解決部(Action Resolver)131を備える。
検索受信部(Lookup Receiver)130は、各テーブルの検索結果を受け取る。処理解決部(Action Resolver)131は、各テーブルの検索結果を基に、オープンフロー処理を決定する。
図13を参照して、TCAM(OF)検索機能部116にオープンフロー処理解決部107を含められない場合におけるオープンフロー処理解決部107の動作について説明する。
TCAM(OF)検索機能部116にオープンフロー処理解決部107を含めることができない場合、スイッチ102に、図13で示されるようなオープンフロー処理解決部107を搭載する。
オープンフロー処理解決部107において、検索受信部(Lookup Receiver)130は、各テーブルの検索結果を受け取る。処理解決部(Action Resolver)131は、各テーブルの検索結果、及び予め設定されたテーブル優先順位(Priority)によりオープンフローのアクションを決定し、決定されたアクションをアクション機能部111に通知する。
[他の実施例]
なお、上記の各実施形態において、スイッチ102はオープンフロースイッチであるものとして説明しているが、オープンフロースイッチは例示に過ぎない。実際には、オープンフロースイッチに限定されるものではなく、オープンフロースイッチと同様の機構・機能を有するスイッチに対しても、本発明を適用することは可能である。
<本発明の特徴>
本発明は、複数のテーブルの集約によるオープンフローテーブルの拡張方法に関する。
本発明は、スイッチの単一テーブル(主にTCAM)で実現されるオープンフローテーブルについて、スイッチの複数のテーブルを用いてオープンフローテーブルを構築することによりオープンフローテーブルフローエントリ数の拡張を実現するものである。
なお、オープンフローでは、これまで同一のNW機器(ルータ/スイッチ等)に実装されていた転送機能、制御機能を分離し、転送機能はNW機器に残し、制御機能は外出しのコントローラに任せる。コントローラは、遠隔からオープンフロープロトコルを用いてNW機器のオープンフローテーブルを操作することによりNW装置の挙動を制御する。オープンフローテーブルは、{Match条件、Action、統計情報}の3種の情報からなるフローエントリ群から構成される。オープンフローでは、この適合(Match)条件から制御対象とするフローを定義し、このフローを単位としてアクション(Action)や統計情報の取得を行うことができる。
オープンフローの{Match条件、Action、統計情報}の概要は、以下の通りである。
[Match条件]
「Ingress port(入力ポート)」/「Src MAC(送信元MACアドレス)」/「Dst MAC(宛先MACアドレス)」/「Ether type(タイプ・フィールド)」/「VLAN ID(仮想LAN識別情報)」/「VLAN Priority(仮想LAN優先順位)」/「Src IP(送信元IPアドレス)」/「Dst IP(宛先IPアドレス)」/「IP protocol(IPプロトコル番号)」/「IP ToS(upper 6bit)」/「Src Port(送信元ポート番号)」/「Dst Port(宛先ポート番号)」
[Action]
「Forward(ある物理ポートから出力)」/「All(入力ポート以外全てから出力)」/「Controller(コントローラ向けに出力)」/「Local(自装置のローカルスタック宛に出力)」/「テーブル(オープンフローテーブルの内容に従って出力)」/「In_port(入力ポートから出力)」/「Normal(レガシーテーブルの内容を用いて出力)」/「Flood(入力ポート、及びSpanning Treeのブロックポート以外全てから出力)」/「Drop(パケットを破棄)」/「Modify−Field(パケットのヘッダー情報を書き換え)」
例えば、「Modify−Field」の場合は、「VLAN ID」、「Vlan 優先順位(Priority)」、「Src MAC」、「Dst MAC」、「Src IP」、「Dst IP」、「IP ToS」、「Src Port」、「Dst Port」を書き換え可能である。
[統計情報]
「テーブル単位」、「フロー単位」、「物理ポート単位」、「キュー(Queue)単位」での各種統計情報。
本発明は、スイッチのテーブル(主にTCAM)の容量自体を増やすことなく、スイッチの複数のテーブルを用いてオープンフローテーブルを構築することにより、装置としてのオープンフローテーブル合計フローエントリ数の拡張を実現するものである。すなわち、スイッチ内部で複数のテーブルを使用して、コントローラからこれを大容量オープンフローテーブルとして用いることを可能とした。
具体的には、各テーブルの機能(Match条件/Action)差分を吸収してオープンフローテーブルとしての統合を実現した。なお、スイッチの複数のテーブルは、それぞれ本来の用途(例えば、L2テーブルであればL2中継、L3テーブルであればL3中継)があるため、全てのリソースを使用するのではなく、その一部を切り出す形で使用する。
以上のように、本発明の特徴は、「複数のテーブルのMatch条件/Action差分を吸収して、オープンフローテーブルとして統合すること」と、「その際の具体的なアクション決定方法を提供すること」である。
本発明では、スイッチの複数のテーブルリソースの一部をオープンフローテーブルとして使用する。
また、本発明では、スイッチの各テーブルを、実現可能な機能(Match条件/Action)に応じて「機能制限付きのオープンフローテーブルリソース」として取り扱っている。
また、本発明では、オープンフロー処理解決部により、各テーブルリソースの機能差分(Match条件/Action)を吸収して、オープンフローテーブルリソースとして統合している。
また、本発明では、オープンフロー処理解決部において、TCAMを含むテーブル間の優先順位(Priority)によりアクション決定を実現している。
なお、TCAM(OF)検索が最後に行われるスイッチにおいては、オープンフロー処理解決部をTCAM(OF)検索機能部に含める形で実現している。
更に、本発明では、複数のテーブルから構成されるオープンフローテーブルを、コントローラから柔軟に制御する。
また、本発明では、複数のテーブルを1つのオープンフローテーブルとして使用する場合、優先順位(Priority)の範囲でのテーブル識別を実現している。
また、本発明では、複数テーブルを個別のオープンフローテーブルとして使用する場合、テーブルIDでのテーブル識別を実現している。
以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
なお、本出願は、日本出願番号2010−200690に基づく優先権を主張するものであり、日本出願番号2010−200690における開示内容は引用により本出願に組み込まれる。

Claims (16)

  1. パケットを転送する通信装置であって、
    パケットの転送に用いられるフローエントリを複数の前記通信装置に送信可能な制御装置と、オープンフロープロトコルに基づいて通信可能な第1の手段と、
    前記フローエントリと、前記通信装置により設定される転送ルールとに基づいて受信パケットを処理する第2の手段と、
    を備える通信装置。
  2. 前記第1の手段は、
    前記受信パケットに含まれる複数種類の情報に基づいて前記パケットを識別する識別ルールと、当該識別ルールに対応するパケットの処理ルールとを含む前記フローエントリを、前記制御装置に問い合わせることが可能であり、
    前記問い合わせ結果である前記フローエントリを、制御装置から受信可能である
    ことを特徴とする請求項1の通信装置。
  3. 前記第2の手段は、
    前記受信パケットに対応する前記パケットの処理ルールに、前記転送ルールに基づいて当該パケットを処理する旨の指示が含まれている場合、当該転送ルールに基づいて当該受信パケットを処理する
    ことを特徴とする請求項2の通信装置。
  4. 前記受信パケットに対応する前記パケットの処理ルールの前記指示に「NORMAL」が含まれる
    ことを特徴とする請求項3の通信装置。
  5. パケットの転送に用いられるフローエントリを複数の前記通信装置に送信可能な制御装置と、オープンフロープロトコルに基づいて通信し、
    前記フローエントリと、前記通信装置により設定される転送ルールとに基づいて受信パケットを処理する
    ことを特徴とする通信方法。
  6. 前記受信パケットに含まれる複数種類の情報に基づいて前記パケットを識別する識別ルールと、当該識別ルールに対応するパケットの処理ルールとを含む前記フローエントリを、前記制御装置に問い合わせ、
    前記問い合わせ結果である前記フローエントリを、制御装置から受信する
    ことを特徴とする請求項5の通信方法。
  7. 前記受信パケットに対応する前記パケットの処理ルールに、前記転送ルールに基づいて当該パケットを処理する旨の指示が含まれている場合、当該転送ルールに基づいて当該受信パケットを処理する
    ことを特徴とする請求項6の通信方法。
  8. 前記受信パケットに対応する前記パケットの処理ルールの前記指示に「NORMAL」が含まれる場合、当該転送ルールに基づいて当該受信パケットを処理する
    ことを特徴とする請求項7の通信方法。
  9. パケットを転送する通信装置であって、
    パケットの転送に用いられるフローエントリを複数の前記通信装置に送信可能な制御装置と、オープンフロープロトコルに基づいて通信可能な第1の手段と、
    前記フローエントリによるオープンフロー処理と、非オープンフロー処理とに基づいて受信パケットを処理する第2の手段と、
    を備える通信装置。
  10. 前記第1の手段は、
    前記受信パケットに含まれる複数種類の情報に基づいて前記パケットを識別する識別ルールと、当該識別ルールに対応するパケットの処理ルールとを含む前記フローエントリを、前記制御装置に問い合わせることが可能であり、
    前記問い合わせ結果である前記フローエントリを、制御装置から受信可能である
    ことを特徴とする請求項9の通信装置。
  11. 前記第2の手段は、
    前記受信パケットに対応する前記パケットの処理ルールに、前記非オープンフロー処理に基づいて当該パケットを処理する旨の指示が含まれている場合、当該非オープンフロー処理に基づいて当該受信パケットを処理する
    ことを特徴とする請求項10の通信装置。
  12. 前記受信パケットに対応する前記パケットの処理ルールの前記指示に「NORMAL」が含まれる
    ことを特徴とする請求項11の通信装置。
  13. パケットの転送に用いられるフローエントリを複数の前記通信装置に送信可能な制御装置と、オープンフロープロトコルに基づいて通信し、
    前記フローエントリによるオープンフロー処理と、非オープンフロー処理とに基づいて受信パケットを処理する
    ことを特徴とする通信方法。
  14. 前記受信パケットに含まれる複数種類の情報に基づいて前記パケットを識別する識別ルールと、当該識別ルールに対応するパケットの処理ルールとを含む前記フローエントリを、前記制御装置に問い合わせ、
    前記問い合わせ結果である前記フローエントリを、制御装置から受信する
    ことを特徴とする請求項13の通信方法。
  15. 前記受信パケットに対応する前記パケットの処理ルールに、前記非オープンフロー処理に基づいて当該パケットを処理する旨の指示が含まれている場合、当該非オープンフロー処理に基づいて当該受信パケットを処理する
    ことを特徴とする請求項14の通信方法。
  16. 前記受信パケットに対応する前記パケットの処理ルールの前記指示に「NORMAL」が含まれる
    ことを特徴とする請求項15の通信方法。
JP2015076975A 2010-09-08 2015-04-03 スイッチシステム、スイッチ制御方法、及び記憶媒体 Expired - Fee Related JP5962808B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015076975A JP5962808B2 (ja) 2010-09-08 2015-04-03 スイッチシステム、スイッチ制御方法、及び記憶媒体

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010200690 2010-09-08
JP2010200690 2010-09-08
JP2015076975A JP5962808B2 (ja) 2010-09-08 2015-04-03 スイッチシステム、スイッチ制御方法、及び記憶媒体

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2014084534A Division JP5773020B2 (ja) 2010-09-08 2014-04-16 スイッチシステム、スイッチ制御方法、及び記憶媒体

Publications (2)

Publication Number Publication Date
JP2015156697A true JP2015156697A (ja) 2015-08-27
JP5962808B2 JP5962808B2 (ja) 2016-08-03

Family

ID=45810468

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2012532901A Expired - Fee Related JP5561366B2 (ja) 2010-09-08 2011-07-21 スイッチシステム、スイッチ制御方法、及び記憶媒体
JP2014084534A Expired - Fee Related JP5773020B2 (ja) 2010-09-08 2014-04-16 スイッチシステム、スイッチ制御方法、及び記憶媒体
JP2015076975A Expired - Fee Related JP5962808B2 (ja) 2010-09-08 2015-04-03 スイッチシステム、スイッチ制御方法、及び記憶媒体

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2012532901A Expired - Fee Related JP5561366B2 (ja) 2010-09-08 2011-07-21 スイッチシステム、スイッチ制御方法、及び記憶媒体
JP2014084534A Expired - Fee Related JP5773020B2 (ja) 2010-09-08 2014-04-16 スイッチシステム、スイッチ制御方法、及び記憶媒体

Country Status (10)

Country Link
US (2) US9577931B2 (ja)
EP (1) EP2615781B1 (ja)
JP (3) JP5561366B2 (ja)
KR (2) KR101627475B1 (ja)
CN (2) CN103098427B (ja)
CA (1) CA2810486A1 (ja)
ES (1) ES2639638T3 (ja)
RU (1) RU2595918C2 (ja)
TW (1) TWI520527B (ja)
WO (1) WO2012032864A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106789706A (zh) * 2016-11-11 2017-05-31 天津光电通信技术有限公司 一种基于tcam的网络分流系统
JP2020502828A (ja) * 2016-12-13 2020-01-23 オラクル・インターナショナル・コーポレイション ネットワークデバイスにおいて分類リソースのパーティションを提供するためのシステムおよび方法

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9117337B2 (en) 2011-10-26 2015-08-25 Lamar Wilkinson Performing an automatic fold-out command and assigning player entries in an online card game
US9211474B2 (en) * 2011-10-26 2015-12-15 Lamar Wilkinson Online card games using multiple online player preferences
ES2659566T3 (es) 2012-03-19 2018-03-16 Nec Corporation Nodo de comunicación, método y programa de procesamiento de paquetes
US9225635B2 (en) 2012-04-10 2015-12-29 International Business Machines Corporation Switch routing table utilizing software defined network (SDN) controller programmed route segregation and prioritization
US9967177B2 (en) 2012-05-31 2018-05-08 Nec Corporation Control apparatus, communication system, switch control method and program
US10104004B2 (en) * 2012-11-08 2018-10-16 Texas Instruments Incorporated Openflow match and action pipeline structure
CN103023782B (zh) * 2012-11-22 2016-05-04 北京星网锐捷网络技术有限公司 一种访问三态内容寻址存储器的方法及装置
US9923831B2 (en) * 2012-11-29 2018-03-20 Futurewei Technologies, Inc. Packet prioritization in a software-defined network implementing OpenFlow
FI20126275L (fi) 2012-12-07 2014-06-08 Tellabs Oy Menetelmä ja laitteisto ohjelmallisesti määriteltävän verkon konfiguroimiseksi
RU2628477C2 (ru) * 2012-12-19 2017-08-17 Нек Корпорейшн Устройство обработки пакета, способ конфигурирования записи потока и программа
US9559897B2 (en) 2012-12-21 2017-01-31 Brocade Communications Systems, Inc. Device ID assignment in a system of devices
CN103888386B (zh) * 2012-12-24 2017-10-17 华为技术有限公司 可扩展虚拟局域网报文的传输方法及装置、系统
WO2014133015A1 (ja) * 2013-02-27 2014-09-04 日本電気株式会社 制御装置、通信システム、スイッチ制御方法及びプログラム
TWI586124B (zh) 2013-04-26 2017-06-01 Nec Corp Communication node, communication system, packet processing method and program
US9313102B2 (en) 2013-05-20 2016-04-12 Brocade Communications Systems, Inc. Configuration validation in a mixed node topology
US9853889B2 (en) 2013-05-20 2017-12-26 Brocade Communications Systems, Inc. Broadcast and multicast traffic reduction in stacking systems
CN103347013B (zh) * 2013-06-21 2016-02-10 北京邮电大学 一种增强可编程能力的OpenFlow网络系统和方法
US9712431B2 (en) 2013-07-17 2017-07-18 Kt Corporation Methods for managing transaction in software defined network
CN103428094B (zh) 2013-08-12 2016-08-17 杭州华三通信技术有限公司 开放流OpenFlow系统中的报文转发方法及装置
US10284499B2 (en) 2013-08-22 2019-05-07 Arris Enterprises Llc Dedicated control path architecture for systems of devices
CN104580027B (zh) * 2013-10-25 2018-03-20 新华三技术有限公司 一种OpenFlow报文转发方法及设备
US9225641B2 (en) * 2013-10-30 2015-12-29 Globalfoundries Inc. Communication between hetrogenous networks
US10212083B2 (en) 2013-10-30 2019-02-19 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Openflow data channel and control channel separation
US9185049B2 (en) 2013-10-31 2015-11-10 Brocade Communications Systems, Inc. Techniques for simplifying stacking trunk creation and management
KR102193371B1 (ko) * 2013-11-14 2020-12-21 한국전자통신연구원 확장된 기능을 구비한 sdn-기반 네트워크 장치 및 상기 장치에서의 패킷 처리 방법
US9577924B2 (en) * 2013-11-14 2017-02-21 Electronics And Telecommunications Research Institute SDN-based network device with extended function and method of processing packet in the same device
WO2015074182A1 (zh) * 2013-11-19 2015-05-28 华为技术有限公司 一种基于流表的表项寻址方法、交换机及控制器
KR101527786B1 (ko) * 2013-12-31 2015-06-09 쿨클라우드(주) 하이브리드 sdn 네트워크 관리 방법
US9577932B2 (en) * 2014-02-12 2017-02-21 Brocade Communications Systems, Inc. Techniques for managing ternary content-addressable memory (TCAM) resources in heterogeneous systems
CN104869062B (zh) * 2014-02-21 2018-11-09 华为技术有限公司 一种数据包转发方法及设备
EP2919423B1 (en) 2014-03-12 2018-11-14 Xieon Networks S.à.r.l. A network element of a software-defined network
US9692695B2 (en) 2014-03-27 2017-06-27 Brocade Communications Systems, Inc. Techniques for aggregating hardware routing resources in a multi-packet processor networking system
US9692652B2 (en) 2014-04-03 2017-06-27 Brocade Communications Systems, Inc. Framework for reliably communicating port information in a system of devices
US10257091B2 (en) 2014-04-08 2019-04-09 Hewlett Packard Enterprise Development Lp Pipeline table identification
WO2015167479A1 (en) 2014-04-29 2015-11-05 Hewlett-Packard Development Company, L.P. Efficient routing in software defined networks
WO2015167597A1 (en) * 2014-04-30 2015-11-05 Hewlett-Packard Development Company, L.P. Data plane to forward traffic based on communications from a software defined networking (sdn) controller during control plane failure
EP3142305A4 (en) 2014-05-27 2017-06-07 Huawei Technologies Co. Ltd. Flow table management method and relevant device and system
WO2016000362A1 (zh) * 2014-06-30 2016-01-07 华为技术有限公司 一种配置流表项的方法、装置和系统
US20170214548A1 (en) * 2014-08-01 2017-07-27 Nec Corporation Control device and control method
US10091059B2 (en) 2014-12-16 2018-10-02 Arris Enterprises Llc Handling connections between network devices that support multiple port communication modes
KR101669518B1 (ko) * 2014-12-30 2016-10-27 주식회사 시큐아이 Sdn 기반의 네트워크 모듈 관리 장치 및 방법
CN104683333A (zh) * 2015-02-10 2015-06-03 国都兴业信息审计系统技术(北京)有限公司 基于sdn的实现异常流量拦截的方法
WO2017018989A1 (en) * 2015-07-24 2017-02-02 Hewlett Packard Enterprise Development Lp Simultaneous processing of flow tables
CN106302265B (zh) * 2016-07-21 2019-08-06 新华三技术有限公司 报文转发方法及装置
US10439932B2 (en) * 2016-10-05 2019-10-08 Avago Technologies International Sales Pte. Limited System and method for flow rule management in software-defined networks
KR101870146B1 (ko) * 2016-10-12 2018-06-25 아토리서치(주) 리프-스파인 구조의 소프트웨어 정의 네트워킹에서 목적지 기반 패킷 전송 제어 방법 및 장치
TWI626837B (zh) * 2016-12-01 2018-06-11 財團法人工業技術研究院 封包傳遞方法、封包傳遞裝置及非暫態電腦可讀取媒體
RU178460U1 (ru) * 2017-03-15 2018-04-04 Общество с ограниченной ответственностью "БУЛАТ" Управляемый Ethernet коммутатор
KR101877004B1 (ko) * 2017-09-29 2018-07-10 주식회사 쏠리드 오픈플로우 기반의 분산 안테나 시스템
CN109995659B (zh) * 2017-12-29 2022-03-01 阿里巴巴集团控股有限公司 一种网络通信方法及装置
RU183526U1 (ru) * 2018-03-07 2018-09-25 Общество с ограниченной ответственностью "БУЛАТ" Ethernet коммутатор
RU186859U1 (ru) * 2018-11-21 2019-02-06 Общество с ограниченной ответственностью "БУЛАТ" Мультисервисный маршрутизатор
KR102211282B1 (ko) * 2019-11-20 2021-02-03 (주)파이브텍 데이터 라우팅 방법 및 이를 지원하는 스위치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002185513A (ja) * 2000-12-18 2002-06-28 Hitachi Ltd パケット通信ネットワークおよびパケット転送制御方法
US20040165591A1 (en) * 2003-01-14 2004-08-26 Alcatel Method of configuring a routing path in an IP router and network
JP2005277731A (ja) * 2004-03-24 2005-10-06 Seiko Epson Corp ネットワークシステム、ネットワーク機器、及び、これらの制御方法
WO2010090182A1 (ja) * 2009-02-03 2010-08-12 日本電気株式会社 アプリケーションスイッチシステム、及びアプリケーションスイッチ方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100333250B1 (ko) * 1998-10-05 2002-05-17 가나이 쓰토무 패킷 중계 장치
JP3936883B2 (ja) * 2002-04-08 2007-06-27 株式会社日立製作所 フロー検出装置およびフロー検出機能を備えたパケット転送装置
JP2003304293A (ja) * 2002-04-10 2003-10-24 Hitachi Ltd パケット中継装置
NO318843B1 (no) * 2002-11-13 2005-05-09 Telenor Asa AHN-nettverk
US7308505B2 (en) * 2003-12-17 2007-12-11 International Business Machines Corporation Method, system and program product for facilitating forwarding of data packets through a node of a data transfer network using multiple types of forwarding tables
JP4487237B2 (ja) * 2003-12-25 2010-06-23 エルピーダメモリ株式会社 半導体装置
JP2005252954A (ja) * 2004-03-08 2005-09-15 Fujitsu Ltd テーブル検索装置
JP4336625B2 (ja) * 2004-06-17 2009-09-30 株式会社日立製作所 パケット転送装置
JP2006101343A (ja) * 2004-09-30 2006-04-13 Oki Techno Creation:Kk パケット処理装置、パケット処理方法およびパケット処理プログラム
JP2006133520A (ja) * 2004-11-05 2006-05-25 Fuji Xerox Co Ltd 画像形成装置、画像形成装置における表示画面カスタマイズ方法、表示画面カスタマイズプログラム
JP2006174350A (ja) * 2004-12-20 2006-06-29 Fujitsu Ltd 通信装置
US7281085B1 (en) * 2005-01-31 2007-10-09 Netlogic Microsystems, Inc. Method and device for virtualization of multiple data sets on same associative memory
TWI325705B (en) * 2006-06-01 2010-06-01 Via Tech Inc Method and apparatus for packet switching
CN101247337B (zh) * 2008-02-18 2012-11-21 华为技术有限公司 一种报文转发的方法和设备
JP5050978B2 (ja) * 2008-04-21 2012-10-17 富士通株式会社 伝送情報転送装置及び方法
CN101753544A (zh) * 2008-12-05 2010-06-23 华为技术有限公司 包过滤规则处理方法及系统、媒体网关和媒体网关控制器
JP2010200690A (ja) 2009-03-04 2010-09-16 Kyushu Univ 新規スフィンゴ脂質及びその製造方法
US8289977B2 (en) * 2009-06-10 2012-10-16 International Business Machines Corporation Two-layer switch apparatus avoiding first layer inter-switch traffic in steering packets through the apparatus
US8677030B2 (en) * 2009-12-09 2014-03-18 Oracle America, Inc. Apparatus and method for managing packet classification tables
US8817629B2 (en) * 2010-03-16 2014-08-26 Deutsche Telekom Ag Method for routing-assisted traffic monitoring

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002185513A (ja) * 2000-12-18 2002-06-28 Hitachi Ltd パケット通信ネットワークおよびパケット転送制御方法
US20040165591A1 (en) * 2003-01-14 2004-08-26 Alcatel Method of configuring a routing path in an IP router and network
JP2005277731A (ja) * 2004-03-24 2005-10-06 Seiko Epson Corp ネットワークシステム、ネットワーク機器、及び、これらの制御方法
WO2010090182A1 (ja) * 2009-02-03 2010-08-12 日本電気株式会社 アプリケーションスイッチシステム、及びアプリケーションスイッチ方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN6016009579; 金海 好彦、他: 'JGN2plus上でのOpenFlow実証実験' 電子情報通信学会2009年総合大会講演論文集 通信2 , 20090304, P. S-135, 社団法人電子情報通信学会 *
JPN6016009581; 小出 俊夫 Toshio KOIDE: 'OpenFlowネットワークにおける制御ネットワークの構築自動化に関する一検討 A study on the autom' 電子情報通信学会技術研究報告 Vol.109 No.448 IEICE Technical Report 第109巻, 20100225, 社団法人電子情報通信学会 The Institute of Electro *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106789706A (zh) * 2016-11-11 2017-05-31 天津光电通信技术有限公司 一种基于tcam的网络分流系统
CN106789706B (zh) * 2016-11-11 2020-08-07 天津光电通信技术有限公司 一种基于tcam的网络分流系统
JP2020502828A (ja) * 2016-12-13 2020-01-23 オラクル・インターナショナル・コーポレイション ネットワークデバイスにおいて分類リソースのパーティションを提供するためのシステムおよび方法
JP7100586B2 (ja) 2016-12-13 2022-07-13 オラクル・インターナショナル・コーポレイション ネットワークデバイスにおいて分類リソースのパーティションを提供するためのシステムおよび方法

Also Published As

Publication number Publication date
EP2615781A4 (en) 2014-03-12
KR101538560B1 (ko) 2015-07-21
KR20130050356A (ko) 2013-05-15
JP5962808B2 (ja) 2016-08-03
CN104580026A (zh) 2015-04-29
JP5773020B2 (ja) 2015-09-02
EP2615781B1 (en) 2017-06-14
CA2810486A1 (en) 2012-03-15
ES2639638T3 (es) 2017-10-27
CN104580026B (zh) 2019-02-15
WO2012032864A1 (ja) 2012-03-15
JPWO2012032864A1 (ja) 2014-01-20
JP5561366B2 (ja) 2014-07-30
TW201215037A (en) 2012-04-01
EP2615781A1 (en) 2013-07-17
US20150312147A1 (en) 2015-10-29
KR101627475B1 (ko) 2016-06-03
RU2595918C2 (ru) 2016-08-27
US20130170495A1 (en) 2013-07-04
JP2014161083A (ja) 2014-09-04
CN103098427A (zh) 2013-05-08
KR20150039877A (ko) 2015-04-13
TWI520527B (zh) 2016-02-01
CN103098427B (zh) 2015-10-21
US9577931B2 (en) 2017-02-21
RU2013110063A (ru) 2014-10-20

Similar Documents

Publication Publication Date Title
JP5962808B2 (ja) スイッチシステム、スイッチ制御方法、及び記憶媒体
JP5557066B2 (ja) スイッチシステム、モニタリング集中管理方法
CA2810660C (en) Computer system and communication method in computer system
US8358661B2 (en) Remote adapter configuration
JP5610247B2 (ja) ネットワークシステム、及びポリシー経路設定方法
US9515868B2 (en) System and method for communication
US9608908B2 (en) Network system and VLAN tag data acquiring method
JP5532276B2 (ja) スイッチシステム、及びデータ転送方法
KR101401874B1 (ko) 통신제어 시스템, 스위칭 노드, 통신제어 방법, 및 통신제어용 프로그램
JP2015511097A (ja) 通信システム、制御装置、通信方法、及びプログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160204

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160315

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160427

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160613

R150 Certificate of patent or registration of utility model

Ref document number: 5962808

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees