JPWO2012121098A1 - ネットワークシステム、パケット処理方法、及び記憶媒体 - Google Patents

ネットワークシステム、パケット処理方法、及び記憶媒体 Download PDF

Info

Publication number
JPWO2012121098A1
JPWO2012121098A1 JP2013503481A JP2013503481A JPWO2012121098A1 JP WO2012121098 A1 JPWO2012121098 A1 JP WO2012121098A1 JP 2013503481 A JP2013503481 A JP 2013503481A JP 2013503481 A JP2013503481 A JP 2013503481A JP WO2012121098 A1 JPWO2012121098 A1 JP WO2012121098A1
Authority
JP
Japan
Prior art keywords
packet
received
destination
loopback
specified
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
JP2013503481A
Other languages
English (en)
Other versions
JP5682846B2 (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 JP2013503481A priority Critical patent/JP5682846B2/ja
Publication of JPWO2012121098A1 publication Critical patent/JPWO2012121098A1/ja
Application granted granted Critical
Publication of JP5682846B2 publication Critical patent/JP5682846B2/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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/20Traffic policing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1886Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with traffic restrictions for efficiency improvement, e.g. involving subnets or subdomains
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • H04L12/4625Single bridge functionality, e.g. connection of two networks over a single bridge
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

オープンフローネットワークシステムにおいて、マルチキャスト送信したいパケットを、複数の異なるVLAN宛に送信する。具体的には、パケット転送処理装置は、パケットを受信すると、そのパケットがマルチキャスト送信するパケットかどうかを判断する。マルチキャスト送信であった場合、宛先に指定されたポートに全て送信済みかどうかを確認する。全て送信済みでない場合、パケットヘッダを書き換えてパケットをコピーし、宛先ポート及びネットワークプロセッサ(NP)へ送信する。ループバック処理により、NPから受信したパケットがマルチキャスト送信するパケットかどうかを判断する。マルチキャスト送信であった場合、宛先に指定されたポートに全て送信済みかどうかを確認する。全て送信済みでない場合、パケットヘッダを書き換えてパケットをコピーし、宛先ポート及びNPへ送信する。全て送信済みである場合、パケットを廃棄して処理を終了する。

Description

本発明は、ネットワークシステムに関し、特にネットワークシステムのパケット処理方法に関する。
ネットワークシステムの制御方式の1つとして、外部の制御装置(コントロールプレーン)からノード装置(ユーザプレーン)を制御するCU(C:コントロールプレーン/U:ユーザプレーン)分離型ネットワークシステムが提案されている。
CU分離型ネットワークシステムの一例として、コントローラからスイッチを制御してネットワークの経路制御を行うオープンフロー(OpenFlow)技術を利用したオープンフローネットワークシステムが挙げられる。オープンフロー技術の詳細については、非特許文献1に記載されている。なお、オープンフローネットワークシステムは一例に過ぎない。
[オープンフローネットワークシステムの説明]
オープンフローネットワークシステムでは、OFC(OpenFlow Controller)等のコントローラが、OFS(OpenFlow Switch)等のスイッチのフローテーブルを操作することによりスイッチの挙動を制御する。コントローラとスイッチは、セキュアチャネル(Secure Channel)で接続されている。
オープンフローネットワークシステムにおけるスイッチとは、オープンフローネットワークを形成し、コントローラの制御下にあるエッジスイッチ及びコアスイッチのことである。オープンフローネットワークにおける入口側エッジスイッチでのパケット(packet)の受信(流入)から出口側エッジスイッチでの送信(流出)までのパケットの一連の流れをフロー(Flow)と呼ぶ。
パケットは、フレーム(frame)と読み替えても良い。パケットとフレームの違いは、プロトコルが扱うデータの単位(PDU:Protocol Data Unit)の違いに過ぎない。パケットは、「TCP/IP」(Transmission Control Protocol/Internet Protocol)のPDUである。一方、フレームは、「Ethernet(登録商標)」のPDUである。
フローテーブルとは、所定のマッチ条件(ルール)に適合するパケット(通信データ)に対して行うべき所定の動作(アクション)を定義したフローエントリ(Flow entry)が登録されたテーブルである。すなわち、フローテーブルは、フローエントリの集合である。
フローエントリのルールは、パケットの各プロトコル階層のヘッダ領域に含まれる宛先アドレス(Destination Address)、送信元アドレス(Source Address)、宛先ポート(Destination Port)、送信元ポート(Source Port)のいずれか又は全てを用いた様々な組み合わせにより定義され、区別可能である。なお、上記のアドレスには、MACアドレス(Media Access Control Address)やIPアドレス(Internet Protocol Address)を含むものとする。また、上記に加えて、入口ポート(Ingress Port)の情報も、フローエントリのルールとして使用可能である。また、フローエントリのルールとして、フローを示すパケットのヘッダ領域の値の一部(又は全部)を、正規表現やワイルドカード「*」等で表現したものを設定することもできる。
フローエントリのアクションは、「特定のポートに出力する」、「廃棄する」、「ヘッダを書き換える」といった動作である。例えば、スイッチは、フローエントリのアクションに出力ポートの識別情報(出力ポート番号等)が示されていれば、これに該当するポートにパケットを出力し、出力ポートの識別情報が示されていなければ、パケットを破棄する。或いは、スイッチは、フローエントリのアクションにヘッダ情報が示されていれば、当該ヘッダ情報に基づいてパケットのヘッダを書き換える。
オープンフローネットワークシステムにおけるスイッチは、フローエントリのルールに適合するパケット群(パケット系列)に対して、フローエントリのアクションを実行する。
[既存のオープンフローネットワークシステムにおけるマルチキャスト送信について]
オープンフローネットワークシステムにおいても、従来のネットワークシステムと同様に、マルチキャスト(multicast)でのパケット送信が行われることがある。
マルチキャストは、1つの宛先を指定することで、複数の宛先へパケット送信を行うことができる技術である。マルチキャストを用いることで、ネットワーク内で、複数の相手に同じデータを送信することができる。
このマルチキャストに関する処理をオープンフローネットワークシステムのスイッチで実現するには、受信したパケットのヘッダを書き換え、それぞれの宛先ポートに出力する必要がある。
しかし、スイッチはパケットの変換アクションを1回しか行うことができないため、スイッチでマルチキャスト送信を行う場合、単一のVLAN(仮想LAN:Virtual Local Area Network)には送信できるが、複数の異なるVLAN宛に送信することはできない、等の制約がある。
"OpenFlow Switch Specification, Version 1.0.0",[online],インターネット(URL:http://www.openflowswitch.org/documents/openflow−spec−v1.0.0.pdf)
本発明の目的は、オープンフローネットワークシステムのスイッチにネットワークプロセッサを搭載し、そのループバック(Loopback)機能を活用して、マルチキャスト送信及びマルチアクションを実現するネットワークシステムを提供することである。
本発明に係るネットワークシステムは、パケットをフローとして一律に制御するためのルールとアクションが定義されたフローエントリに従って、受信パケットを処理するパケット転送処理装置と、パケット転送処理装置からパケットを受信した際、ループバック処理を行い、該パケットをパケット転送処理装置に送信し、オープンフローネットワークにおけるマルチキャスト送信及びマルチアクションを実現するループバック処理装置とを含む。
本発明に係るスイッチは、パケットをフローとして一律に制御するためのルールとアクションが定義されたフローエントリに従って、受信パケットを処理するパケット転送処理部と、パケット転送処理部からパケットを受信した際、ループバック処理を行い、該パケットをパケット転送処理部に送信し、オープンフローネットワークにおけるマルチキャスト送信及びマルチアクションを実現するループバック処理部とを具備する。
本発明に係るパケット処理方法では、パケットをフローとして一律に制御するためのルールとアクションが定義されたフローエントリに従って、受信パケットを処理する。また、処理されたパケットのコピーをループバック処理用の出力先に出力する。また、ループバックされたパケットを受信する。また、ループバックされたパケットを再度受信パケットとして扱う。これにより、オープンフローネットワークにおけるマルチキャスト送信及びマルチアクションを実現する。本発明に係るパケット処理方法は、オープンフローネットワークにおけるスイッチにより実施される。ループバック処理は、スイッチの内部で実施しても良いし、スイッチと通信/連携可能な外部装置で実施しても良い。
本発明に係るプログラムは、上記のパケット処理方法における処理を、計算機に実行させるためのプログラムである。なお、本発明に係るプログラムは、記憶装置や記憶媒体に格納することが可能である。
これにより、オープンフローネットワークシステムにおいて、複数の異なるVLAN宛に同一パケットを送信することができる。
本発明に係るネットワークシステムの構成例を説明するための図である。 本発明におけるマルチキャスト送信処理の動作を説明するための図である。 本発明におけるフローテーブルの構成例を説明するための図である。
本発明は、CU分離型ネットワークシステムを対象としている。ここでは、CU分離型ネットワークシステムの1つであるオープンフローネットワークシステムを例に説明する。但し、実際には、オープンフローネットワークシステムに限定されない。
<実施形態>
以下に、本発明の実施形態について添付図面を参照して説明する。
[基本構成]
図1に示すように、本発明に係るネットワークシステムは、スイッチ1と、マルチキャスト配信サーバ100と、クライアント200(200−i、i=1〜n:nは台数)を含む。
スイッチ1は、オープンフローネットワークシステムにおけるスイッチである。すなわち、スイッチ1は、パケットをフローとして一律に制御するためのルールとアクションとが定義されたフローエントリに従って、受信したパケットの処理を行う。図示しないが、オープンフローネットワークシステムにおけるコントローラは、スイッチ1に対して、フローエントリの設定を行うことができる。
マルチキャスト配信サーバ100は、マルチキャストパケットを送信するサーバ装置である。
クライアント200(200−i、i=1〜n)は、マルチキャスト配信サーバ100から送信されるマルチキャストパケットを受信する端末装置である。クライアント200(200−i、i=1〜n)の各々は、利用するプロトコル等に応じてグループ化されており、同一の宛先アドレスを有する。ここでは、クライアント200(200−i、i=1〜n)の各々は、同一のVLANグループに属する。
したがって、マルチキャスト配信サーバ100は、1つの宛先を指定することで、クライアント200(200−i、i=1〜n)の全てに対してパケット送信を行う。
[スイッチ]
スイッチ1は、パケット転送処理部10と、ネットワークプロセッサ(NP:Network Processor)20と、フローテーブル30を備えている。
パケット転送処理部10は、オープンフローインタフェースを有し、オープンフローインタフェースからパケットを受信し、フローテーブル30の内容に従ってパケットを送信する。すなわち、パケット転送処理部10は、パケット転送処理装置に相当する。オープンフローインタフェースは、スイッチ外部の通信装置との間で、オープンフロープロトコルに準拠したパケットを送受信するための通信ポートである。
ネットワークプロセッサ(NP)20は、ループバックインタフェース(Loopback Interface)を有し、パケット転送処理部10から送信されたパケットに対するループバック処理を行う。すなわち、ネットワークプロセッサ(NP)20は、ループバック処理装置に相当する。ループバックインタフェースは、パケット転送処理部10との間でパケットを送受信するための通信ポートである。ネットワークプロセッサ(NP)20は、パケット転送処理部10からループバックインタフェースを介して受信したパケットを、そのままパケット転送処理部10に返信する。
フローテーブル30は、オープンフローネットワークシステムにおけるコントローラから設定されたフローテーブルを格納するDB(データベース)である。
[マルチキャスト配信サーバ及びクライアント]
マルチキャスト配信サーバ100、及びクライアント200(200−i、i=1〜n)については、従来のシステムと同様であるため、説明を省略する。
[マルチキャスト送信処理]
次に、図2を参照して、本発明におけるマルチキャスト送信処理の動作について説明する。
(1)ステップS101
スイッチ1のパケット転送処理部10は、オープンフローインタフェースでパケットを受信する。なお、受信パケットに適合するフローエントリは既にスイッチ1のフローテーブル30に設定されているものとする。
(2)ステップS102
スイッチ1のパケット転送処理部10は、受信パケットがマルチキャスト送信するパケットかどうかを判断する。スイッチ1のパケット転送処理部10は、受信パケットの宛先アドレスがマルチキャストアドレスであるかどうかを確認し、宛先アドレスがマルチキャストアドレスであればマルチキャスト送信であると判断する。
(3)ステップS103
スイッチ1のパケット転送処理部10は、受信パケットがマルチキャスト送信するパケットでない場合、フローテーブル30の内容に従ってパケットを処理する。すなわち、スイッチ1のパケット転送処理部10は、通常のオープンフローネットワークシステムにおけるパケット処理を行う。
(4)ステップS104
スイッチ1のパケット転送処理部10は、受信パケットがマルチキャスト送信するパケットである場合、宛先に指定されたポートに全て送信済みかどうかを確認する。例えば、スイッチ1のパケット転送処理部10は、受信パケットがマルチキャスト送信するパケットである場合、宛先に指定されたポートの一覧情報を作成し、未送信のポートがないか確認する。詳細については、「全宛先ポート送信済みの確認手順」として後述する。
(5)ステップS105
スイッチ1のパケット転送処理部10は、宛先に指定されたポートに全て送信済みでない場合、元の受信パケットに適合したフローエントリのアクションに従い、受信パケットの変換アクションを実施し、受信パケットのパケットヘッダを書き換える。ここでは、変換後のパケットのヘッダは、変換前のパケットのヘッダと比べて「VLAN ID」が変更されているものとする。「VLAN ID」は、VLANグループを一意に特定するための識別情報である。
(6)ステップS106
スイッチ1のパケット転送処理部10は、変換アクションを実施したパケットをコピー(複製)する。すなわち、スイッチ1のパケット転送処理部10は、パケットヘッダを書き換えたパケットをコピーする。
(7)ステップS107
スイッチ1のパケット転送処理部10は、変換アクションを実施したパケットを、宛先ポートへ出力(送信)する。ここでは、スイッチ1のパケット転送処理部10は、コピーして2つになったパケットの一方を宛先ポートへ出力する。例えば、スイッチ1のパケット転送処理部10は、変換アクションを実施したパケットを、宛先に指定されたポートの一覧情報の先頭に記載された宛先ポートへ出力した後、宛先に指定されたポートの一覧情報から該宛先ポートを削除する。或いは、該宛先ポートが送信済みである旨を示す情報を、宛先に指定されたポートの一覧情報に記録する。
(8)ステップS108
スイッチ1のパケット転送処理部10は、変換アクションを実施したパケットを、ネットワークプロセッサ(NP)20のループバックインタフェースへ送信する。例えば、スイッチ1のパケット転送処理部10は、変換アクションを実施したパケットを、ループバックアドレス(Loopback Address)宛に送信する。ここでは、スイッチ1のパケット転送処理部10は、コピーして2つになったパケットのもう一方(他方)をネットワークプロセッサ(NP)20のループバックインタフェースへ送信する。すなわち、スイッチ1のパケット転送処理部10は、受信パケットの宛先アドレスがマルチキャストアドレスである場合は、アクションに指定された出力ポートに加えてネットワークプロセッサ(NP)20のループバックインタフェースへも送信する。
(9)ステップS109
ネットワークプロセッサ(NP)20は、ループバックインタフェースを介して受信したパケットをパケット転送処理部10に返信する。
(10)ステップS110
スイッチ1のパケット転送処理部10は、ネットワークプロセッサ(NP)20のループバックインタフェースからパケットを受信する。その後、スイッチ1のパケット転送処理部10は、再度、受信パケットがマルチキャスト送信するパケットかどうかを判断する(ステップS102に戻る)。このとき、スイッチ1のパケット転送処理部10は、ネットワークプロセッサ(NP)20のループバックインタフェースから受信したパケット(ループバックされたパケット)はマルチキャスト送信するパケットであると自動的に判断しても良い。
(11)ステップS111
スイッチ1のパケット転送処理部10は、宛先に指定されたポートに全て送信済みである場合、パケットを廃棄して処理を終了する。
これにより、マルチキャスト送信したいパケットを、複数の異なるVLAN宛に送信することができる。
[全宛先ポート送信済みの確認手順]
スイッチ1のフローテーブル30に、図3に示すようなフローエントリが予め登録されているものとする。また、スイッチ1のパケット転送処理部10は、送信済みのエントリ数を確認するためのカウンタを備えているものとする。
スイッチ1のパケット転送処理部10は、フローテーブル30を検索し、宛先アドレスが一致するフローエントリにヒットした場合、そのフローエントリと同一のマッチ条件を持つフローエントリ数にカウンタ値が達していれば、全宛先ポートに送信済みと判断する。
全宛先ポートに送信済みでない場合、ヒットしたエントリよりカウンタ値だけ後ろへずれたフローエントリのアクションに従ってパケットの「VLAN ID」を書き換え、パケットをコピーし、指定されたポートと、ネットワークプロセッサ(NP)20のループバックインタフェースへ送信する。その後、カウンタ値を1カウントアップする。
[補足]
なお、マルチキャスト送信ではなく、マルチアクションを行う場合、上記の説明において、「宛先に指定されたポート」を「指定されたアクション」と読み替え、「変換アクションの実施(受信パケットのパケットヘッダの書き換え)」及び「宛先ポートへの出力」を「指定されたアクションの実行」と読み替える。「変換アクションの実施(受信パケットのパケットヘッダの書き換え)」は行わなくても良い。すなわち、指定されたアクションを全て実行するまで、ループバック処理を行い、指定されたアクションを1つずつ実行していく。
[他の実施例]
図1において、ネットワークプロセッサ(NP)20の代わりに、スイッチ1の持つループバックインタフェースを使用することでも、マルチキャスト送信やマルチアクションを実現することができる。すなわち、ネットワークプロセッサ(NP)20に相当する装置は、スイッチ1の外部に存在していても良い。例えば、ネットワークプロセッサ(NP)20は、オープンフローネットワークシステムにおけるコントローラでも良い。
また、スイッチ1は、単体のスイッチ装置に限らず、複数の装置を組み合わせたスイッチシステムでも良い。すなわち、パケット転送処理部10、ネットワークプロセッサ(NP)20、及びフローテーブル30の各々も、同一のスイッチ装置内に存在しているとは限らず、物理的に独立した装置であっても良い。例えば、パケット転送処理部10に相当する「パケット転送処理装置」と、ネットワークプロセッサ(NP)20に相当する「ループバック処理装置」と、を組み合わせたスイッチシステムを、スイッチ1としても良い。
更に、上記の説明では、宛先に指定された全てのポートにパケットを出力しているが、実際には、宛先に指定されたポートであっても所定のポートには出力しないように設定することもできる。この場合、図2のステップS107において、出力先の宛先ポートが出力しないように設定されたポートであれば、コピーしたパケットを該宛先ポートへ出力せずに破棄するようにしても良い。これにより、マルチキャスト送信であっても、スイッチ側で送信先の制限を行うことが可能になる。また、マルチアクションについても同様に、特定のアクションの制限を行うことが可能になる。
<ハードウェアの例示>
以下に、本発明に係るネットワークシステムを実現するための具体的なハードウェアの例について説明する。
スイッチ1の例として、ネットワークスイッチ(network switch)、ルータ(router)、プロキシ(proxy)、ゲートウェイ(gateway)、ファイアウォール(firewall)、ロードバランサ(load balancer:負荷分散装置)、帯域制御装置(packet shaper)、セキュリティ監視制御装置(SCADA:Supervisory Control And Data Acquisition)、ゲートキーパー(gatekeeper)、基地局(base station)、アクセスポイント(AP:Access Point)、通信衛星(CS:Communication Satellite)、或いは、複数の通信ポートを有する計算機等が考えられる。なお、スイッチ1は、ネットワークカード等の拡張カードや、物理マシン上に構築された仮想マシン(Virtual Machine(VM))により実現される仮想スイッチでも良い。
マルチキャスト配信サーバ100、及びクライアント200(200−i、i=1〜n)の例として、PC(パソコン)、アプライアンス(appliance)、ワークステーション、メインフレーム、スーパーコンピュータ等の計算機を想定している。なお、クライアント200(200−i、i=1〜n)は、携帯電話機、スマートフォン、スマートブック、IP電話機、カーナビ(カーナビゲーションシステム)、携帯型ゲーム機、家庭用ゲーム機、携帯型音楽プレーヤー、ハンディターミナル、ガジェット(電子機器)、双方向テレビ、デジタルチューナー、デジタルレコーダー、情報家電(information home appliance)、OA(Office Automation)機器、店頭端末・高機能コピー機、デジタルサイネージ(Digital Signage:電子看板)等でも良い。また、クライアント200(200−i、i=1〜n)は、車両や船舶、航空機等の移動体に搭載されていても良い。
スイッチ1、マルチキャスト配信サーバ100、及びクライアント200(200−i、i=1〜n)の各々は、プログラムに基づいて駆動し所定の処理を実行するプロセッサと、当該プログラムや各種データを記憶するメモリと、ネットワークとの通信に用いられるインタフェースによって実現される。
上記のプロセッサの例として、CPU(Central Processing Unit)、ネットワークプロセッサ(NP:Network Processor)、マイクロプロセッサ(microprocessor)、マイクロコントローラ(microcontroller)、或いは、専用の機能を有する半導体集積回路(LSI:Large Scale Integration)等が考えられる。
上記のメモリの例として、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チップマイコンが、プロセッサ及びメモリを備えている事例が考えられる。
上記のインタフェースの例として、ネットワーク通信に対応した基板(マザーボード、I/Oボード)やチップ等の半導体集積回路、NIC(Network Interface Card)等のネットワークアダプタや同様の拡張カード、アンテナ等の通信装置、接続口(コネクタ)等の通信ポート等が考えられる。
また、ネットワークの例として、インターネット、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(登録商標)、シリアル通信回線、データバス等が考えられる。
パケット転送処理部10の例として、上記のインタフェースが考えられる。なお、パケット転送処理部10は、上記のプロセッサと上記のインタフェースを組み合わせたものでも良い。
ネットワークプロセッサ(NP)20の例として、上記のプロセッサが考えられる。なお、ネットワークプロセッサ(NP)20は、上記のプロセッサと上記のインタフェースを組み合わせたものでも良い。
フローテーブル30の例として、上記のメモリが考えられる。なお、フローテーブル30は、上記のプロセッサと上記のメモリを組み合わせたものでも良い。
また、パケット転送処理部10、ネットワークプロセッサ(NP)20、及びフローテーブル30の各々は、互いに独立した計算機等であっても良い。
なお、スイッチ1の内部の構成要素は、モジュール(module)、コンポーネント(component)、或いは専用デバイス、又はこれらの起動(呼出)プログラムでも良い。
但し、実際には、これらの例に限定されない。
<まとめ>
以上のように、本発明は、オープンフローネットワークシステムにおけるマルチキャスト送信やマルチアクションを実現するための技術に関する。
本発明では、オープンフローネットワークシステムのスイッチにネットワークプロセッサを搭載し、そのループバック機能を活用して、マルチキャスト送信及びマルチアクションを実現することを特徴としている。
また、本発明では、ネットワークプロセッサの代替品として、スイッチ本体のループバックインタフェースを使用することも可能である。
本発明では、マルチキャスト送信したいパケットを受信した場合、まず受信したパケットに対して変換アクションを行い、変換後のパケットをコピーする。
コピーしたパケットをマルチキャスト送信したい宛先ポート及びネットワークプロセッサのループバックインタフェースへ送信し、ネットワークプロセッサのループバックインタフェースから返信してもらう。
ネットワークプロセッサのループバックインタフェースから受信したパケットに対して、再度、変換アクションを行い、変換後のパケットをコピーして宛先ポート及びネットワークプロセッサのループバックインタフェースへ送信する。
これを繰り返すことにより、複数の異なるVLAN宛に同一パケットを送信することができる。
<付記>
上記の実施形態の一部又は全部は、以下の付記のように記載することも可能である。但し、実際には、以下の記載例に限定されない。
(付記1)
パケットをフローとして一律に制御するためのルールとアクションが定義されたフローエントリに従って、受信パケットを処理するパケット転送処理部と、
パケット転送処理部からパケット(処理されたパケット、又はそのコピー等)を受信した際、当該パケットに対してループバック処理を行い、当該パケットをパケット転送処理部に送信し、オープンフローネットワークにおけるマルチキャスト送信及びマルチアクションを実現するループバック処理部と
を具備する
スイッチ。
(付記2)
付記1に記載のスイッチであって、
パケット転送処理部は、
マルチキャスト送信のパケットを受信した際、ループバック処理部にパケットを送信する機能部と、
ループバック処理部から返信されたパケットを受信する機能部と
を具備する
スイッチ。
(付記3)
付記2に記載のスイッチであって、
パケット転送処理部は、
受信パケットがマルチキャスト送信のパケットであるか確認する機能部と、
受信パケットがマルチキャスト送信のパケットである場合、フローエントリに従って、受信パケットの変換アクションを実施し、受信パケットのパケットヘッダを書き換える機能部と、
パケットヘッダを書き換えたパケットをコピーする機能部と、
一方のパケットを宛先に指定されたポートの1つに出力する機能部と、
他方のパケットをループバック処理部に送信する機能部と、
ループバック処理部から返信されたパケットを受信した際、宛先に指定された全てのポートに送信済みか確認する機能部と、
宛先に指定された全てのポートに送信済みである場合、当該パケットを破棄する機能部と、
宛先に指定された全てのポートに送信済みでない場合、宛先に指定された全てのポートに送信するまで上記の処理を繰り返す機能部と
を更に具備する
スイッチ。
(付記4)
付記1乃至3のいずれか一項に記載のスイッチであって、
パケット転送処理部は、
受信パケットがマルチアクションのパケットであるか確認する機能部と、
受信パケットがマルチアクションのパケットである場合、受信パケットをコピーする機能部と、
一方のパケットに対して、フローエントリに従って、指定されたアクションの1つを実行する機能部と、
他方のパケットをループバック処理部に送信する機能部と、
ループバック処理部から返信されたパケットを受信した際、指定された全てのアクションを実行済みか確認する機能部と、
指定された全てのアクションを実行済みである場合、当該パケットを破棄する機能部と、
指定された全てのアクションを実行済みでない場合、指定された全てのアクションを実行するまで上記の処理を繰り返す機能部と
を更に具備する
スイッチ。
<備考>
以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
なお、本出願は、日本出願番号2011−048129に基づく優先権を主張するものであり、日本出願番号2011−048129における開示内容は引用により本出願に組み込まれる。

Claims (10)

  1. パケットをフローとして一律に制御するためのルールとアクションが定義されたフローエントリに従って、受信パケットを処理するパケット転送処理装置と、
    前記パケット転送処理装置からパケットを受信した際、該パケットを前記パケット転送処理装置に送信するループバック処理装置と
    を含む
    ネットワークシステム。
  2. 請求項1に記載のネットワークシステムであって、
    前記パケット転送処理装置は、前記受信パケットがマルチキャスト送信のパケットであるか確認し、前記受信パケットがマルチキャスト送信のパケットである場合、前記フローエントリに従って、前記受信パケットの変換アクションを実施し、前記受信パケットのパケットヘッダを書き換え、該パケットをコピーし、一方のパケットを宛先に指定されたポートの1つに出力し、他方のパケットを前記ループバック処理装置に送信し、前記ループバック処理装置から返信されたパケットを受信した際、宛先に指定された全てのポートに送信済みか確認し、宛先に指定された全てのポートに送信済みである場合、該パケットを破棄し、宛先に指定された全てのポートに送信済みでない場合、宛先に指定された全てのポートに送信するまで上記の処理を繰り返す
    ネットワークシステム。
  3. 請求項1又は2に記載のネットワークシステムであって、
    前記パケット転送処理装置は、前記受信パケットがマルチアクションのパケットであるか確認し、前記受信パケットがマルチアクションのパケットである場合、前記受信パケットをコピーし、一方のパケットに対して、前記フローエントリに従って、指定されたアクションの1つを実行し、他方のパケットを前記ループバック処理装置に送信し、前記ループバック処理装置から返信されたパケットを受信した際、指定された全てのアクションを実行済みか確認し、指定された全てのアクションを実行済みである場合、該パケットを破棄し、指定された全てのアクションを実行済みでない場合、指定された全てのアクションを実行するまで上記の処理を繰り返す
    ネットワークシステム。
  4. パケットをフローとして一律に制御するためのルールとアクションが定義されたフローエントリに従って、受信パケットを処理するパケット転送処理部と、
    前記パケット転送処理部からパケットを受信した際、該パケットを前記パケット転送処理部に送信するループバック処理部と
    を具備する
    スイッチ。
  5. 請求項4に記載のスイッチであって、
    前記パケット転送処理部は、
    前記受信パケットがマルチキャスト送信のパケットであるか確認する手段と、
    前記受信パケットがマルチキャスト送信のパケットである場合、前記フローエントリに従って、前記受信パケットの変換アクションを実施し、前記受信パケットのパケットヘッダを書き換える手段と、
    前記パケットヘッダを書き換えたパケットをコピーする手段と、
    一方のパケットを宛先に指定されたポートの1つに出力する手段と、
    他方のパケットを前記ループバック処理部に送信する手段と、
    前記ループバック処理部から返信されたパケットを受信した際、宛先に指定された全てのポートに送信済みか確認する手段と、
    宛先に指定された全てのポートに送信済みである場合、該パケットを破棄する手段と、
    宛先に指定された全てのポートに送信済みでない場合、宛先に指定された全てのポートに送信するまで上記の処理を繰り返す手段と
    を更に具備する
    スイッチ。
  6. 請求項4又は5に記載のスイッチであって、
    前記パケット転送処理部は、
    前記受信パケットがマルチアクションのパケットであるか確認する手段と、
    前記受信パケットがマルチアクションのパケットである場合、前記受信パケットをコピーする手段と、
    一方のパケットに対して、前記フローエントリに従って、指定されたアクションの1つを実行する手段と、
    他方のパケットを前記ループバック処理部に送信する手段と、
    前記ループバック処理部から返信されたパケットを受信した際、指定された全てのアクションを実行済みか確認する手段と、
    指定された全てのアクションを実行済みである場合、該パケットを破棄する手段と、
    指定された全てのアクションを実行済みでない場合、指定された全てのアクションを実行するまで上記の処理を繰り返す手段と
    を更に具備する
    スイッチ。
  7. スイッチにより実施されるパケット処理方法であって、
    パケットをフローとして一律に制御するためのルールとアクションが定義されたフローエントリに従って、受信パケットを処理することと、
    前記処理されたパケットのコピーをループバック処理用の出力先に出力することと、
    ループバックされたパケットを受信することと、
    前記ループバックされたパケットを再度受信パケットとして扱うことと
    を含む
    パケット処理方法。
  8. 請求項7に記載のパケット処理方法であって、
    前記受信パケットがマルチキャスト送信のパケットであるか確認することと、
    前記受信パケットがマルチキャスト送信のパケットである場合、前記フローエントリに従って、前記受信パケットの変換アクションを実施し、前記受信パケットのパケットヘッダを書き換えることと、
    前記パケットヘッダを書き換えたパケットをコピーすることと、
    一方のパケットを宛先に指定されたポートの1つに出力することと、
    他方のパケットをループバック処理用の出力先に出力することと、
    ループバックされたパケットを受信した際、宛先に指定された全てのポートに送信済みか確認することと、
    宛先に指定された全てのポートに送信済みである場合、該パケットを破棄することと、
    宛先に指定された全てのポートに送信済みでない場合、宛先に指定された全てのポートに送信するまで上記の処理を繰り返すことと
    を更に含む
    パケット処理方法。
  9. 請求項7又は8に記載のパケット処理方法であって、
    前記受信パケットがマルチアクションのパケットであるか確認することと、
    前記受信パケットがマルチアクションのパケットである場合、前記受信パケットをコピーすることと、
    一方のパケットに対して、前記フローエントリに従って、指定されたアクションの1つを実行することと、
    他方のパケットをループバック処理用の出力先に出力することと、
    ループバックされたパケットを受信した際、宛先に指定された全てのポートに送信済みか確認することと、
    宛先に指定された全てのポートに送信済みである場合、該パケットを破棄することと、
    宛先に指定された全てのポートに送信済みでない場合、宛先に指定された全てのポートに送信するまで上記の処理を繰り返すことと
    を更に含む
    パケット処理方法。
  10. 請求項7乃至9のいずれか一項に記載のパケット処理方法を、スイッチに実行させるためのプログラムを格納した記憶媒体。
JP2013503481A 2011-03-04 2012-03-01 ネットワークシステム、パケット処理方法、及び記憶媒体 Expired - Fee Related JP5682846B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013503481A JP5682846B2 (ja) 2011-03-04 2012-03-01 ネットワークシステム、パケット処理方法、及び記憶媒体

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2011048129 2011-03-04
JP2011048129 2011-03-04
JP2013503481A JP5682846B2 (ja) 2011-03-04 2012-03-01 ネットワークシステム、パケット処理方法、及び記憶媒体
PCT/JP2012/055221 WO2012121098A1 (ja) 2011-03-04 2012-03-01 ネットワークシステム、パケット処理方法、及び記憶媒体

Publications (2)

Publication Number Publication Date
JPWO2012121098A1 true JPWO2012121098A1 (ja) 2014-07-17
JP5682846B2 JP5682846B2 (ja) 2015-03-11

Family

ID=46798066

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013503481A Expired - Fee Related JP5682846B2 (ja) 2011-03-04 2012-03-01 ネットワークシステム、パケット処理方法、及び記憶媒体

Country Status (7)

Country Link
US (1) US9203758B2 (ja)
EP (1) EP2683120B1 (ja)
JP (1) JP5682846B2 (ja)
KR (1) KR101494565B1 (ja)
CN (1) CN103416026B (ja)
RU (1) RU2602333C2 (ja)
WO (1) WO2012121098A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104009930B (zh) * 2013-02-22 2017-09-22 上海贝尔股份有限公司 基于隐含的流信息进行sdn流匹配的方法和设备
CN104113484A (zh) * 2013-04-19 2014-10-22 中兴通讯股份有限公司 报文的转发处理方法及装置
US10394751B2 (en) * 2013-11-06 2019-08-27 Solarflare Communications, Inc. Programmed input/output mode
CN104168209B (zh) * 2014-08-28 2017-11-14 新华三技术有限公司 多接入sdn网络报文转发方法和控制器
RU2676239C1 (ru) * 2017-09-11 2018-12-26 Некоммерческое Партнерство "Центр Прикладных Исследований Компьютерных Сетей" Способ минимизации многоадресного трафика и обеспечение его отказоустойчивости в ПКС сетях
RU2710302C1 (ru) * 2018-12-05 2019-12-25 Общество с ограниченной ответственностью "Траст Технолоджиз" Способ организации работы компонентов сетевого оборудования для обработки сетевых пакетов (4 варианта)

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07123095A (ja) * 1993-10-25 1995-05-12 Toshiba Corp 放送型経路設定方式
US7924837B1 (en) * 2000-07-31 2011-04-12 Avaya Communication Israel Ltd. IP multicast in VLAN environment
US7382787B1 (en) * 2001-07-30 2008-06-03 Cisco Technology, Inc. Packet routing and switching device
US8032659B2 (en) 2003-01-21 2011-10-04 Nextio Inc. Method and apparatus for a shared I/O network interface controller
US8155117B2 (en) * 2004-06-29 2012-04-10 Qualcomm Incorporated Filtering and routing of fragmented datagrams in a data network
US7826481B2 (en) * 2004-11-30 2010-11-02 Broadcom Corporation Network for supporting advance features on legacy components
EP1672833A1 (en) * 2004-12-15 2006-06-21 Siemens Aktiengesellschaft Multicast service for Metro-Ethernet
JP2007181049A (ja) 2005-12-28 2007-07-12 Hitachi Cable Ltd スイッチングハブ
US7940766B2 (en) 2006-12-08 2011-05-10 Alcatel Lucent Multicasting unicast packet/multiple classification of a packet
JP2009212875A (ja) * 2008-03-05 2009-09-17 Nec Corp 通信装置及びそれに用いる運用管理方法
US7912082B2 (en) * 2008-06-09 2011-03-22 Oracle America, Inc. Shared virtual network interface
US20100020809A1 (en) * 2008-07-25 2010-01-28 Micrel, Inc. True Ring Networks Using Tag VLAN Filtering
JP5483149B2 (ja) * 2009-01-06 2014-05-07 日本電気株式会社 通信システム、管理計算機、スタックドスイッチ、フロー経路決定方法
CN101616080B (zh) * 2009-07-17 2011-06-22 北京星网锐捷网络技术有限公司 一种弹性分组环报文保序方法、装置和网络设备
JP2011048129A (ja) 2009-08-27 2011-03-10 Brother Industries Ltd 現像剤電界搬送装置
CN101707569B (zh) * 2009-12-21 2012-05-23 杭州华三通信技术有限公司 Nat业务报文处理的方法及装置

Also Published As

Publication number Publication date
US20130336327A1 (en) 2013-12-19
WO2012121098A1 (ja) 2012-09-13
US9203758B2 (en) 2015-12-01
RU2602333C2 (ru) 2016-11-20
CN103416026B (zh) 2016-06-08
CN103416026A (zh) 2013-11-27
KR101494565B1 (ko) 2015-02-17
RU2013140674A (ru) 2015-04-10
EP2683120A4 (en) 2014-09-10
KR20130124552A (ko) 2013-11-14
EP2683120A1 (en) 2014-01-08
EP2683120B1 (en) 2017-05-31
JP5682846B2 (ja) 2015-03-11

Similar Documents

Publication Publication Date Title
JP5652630B2 (ja) ネットワークシステム、スイッチ、及び接続端末検知方法
JP5610247B2 (ja) ネットワークシステム、及びポリシー経路設定方法
JP5594552B2 (ja) ネットワークシステム、及び経路制御方法
JP5747993B2 (ja) 負荷低減システム、及び負荷低減方法
JP5641455B2 (ja) ネットワークシステム、コントローラ、及びQoS制御方法
JP5682846B2 (ja) ネットワークシステム、パケット処理方法、及び記憶媒体
JP5495150B2 (ja) ネットワークシステム、ネットワーク機器、及び経路制御方法
WO2012098779A1 (ja) ネットワークシステム、コントローラ、及びQoS制御方法
JP2013115733A (ja) ネットワークシステム、及びネットワーク制御方法
JP2015511097A (ja) 通信システム、制御装置、通信方法、及びプログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140609

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140707

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140910

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141031

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150101

R150 Certificate of patent or registration of utility model

Ref document number: 5682846

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees