JP5467541B2 - 通信制御システム、スイッチングノード、通信制御方法、及び通信制御用プログラム - Google Patents

通信制御システム、スイッチングノード、通信制御方法、及び通信制御用プログラム Download PDF

Info

Publication number
JP5467541B2
JP5467541B2 JP2012500671A JP2012500671A JP5467541B2 JP 5467541 B2 JP5467541 B2 JP 5467541B2 JP 2012500671 A JP2012500671 A JP 2012500671A JP 2012500671 A JP2012500671 A JP 2012500671A JP 5467541 B2 JP5467541 B2 JP 5467541B2
Authority
JP
Japan
Prior art keywords
frame
internal bus
control server
processor
forwarding engine
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
JP2012500671A
Other languages
English (en)
Other versions
JPWO2011102488A1 (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 JP2012500671A priority Critical patent/JP5467541B2/ja
Publication of JPWO2011102488A1 publication Critical patent/JPWO2011102488A1/ja
Application granted granted Critical
Publication of JP5467541B2 publication Critical patent/JP5467541B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • 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
    • 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]
    • 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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • 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/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5603Access techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、通信制御システムに関し、特にフレーム受信インターフェース分離型の通信制御システムに関する。
近年、PCIバス(Peripheral Component Interconnect bus)に代わり、「PCIエクスプレス(PCI Express)」というインターフェース(interface(I/F))が広く利用されるようになっている。PCIバスはパラレル転送方式であり、PCIエクスプレス(PCI Express)はシリアル転送方式である。PCIバスとPCIエクスプレス(PCI Express)との間に物理レベルでの互換性はないが、通信プロトコル等は共通のものが使用されている。PCIエクスプレス(PCI Express)で用いられる最小構成の伝送路(レーン)では、片方向2.5Gbps(Gigabit per second:ギガビット毎秒)、双方向5.0Gbpsの全二重通信が可能である。
図1は、従来のシステム構成で、制御サーバ(コントローラ)で拡張ネットワークサービスを実行する際のシステム構成例である。従来のシステムでは、スイッチングノード上には、1つのCPU(Central Processing Unit)だけが存在し、全てのサービス・プロトコルに関連する処理は、ネットワークスイッチフォワーディングエンジンの接続に用いられるシリアル転送インターフェースであるPCIエクスプレス(PCI Express)を経由して、制御サーバと連携して動作する。
図2は、従来のスイッチングノード上のCPUの構成例を示している。CPU上では、外部の制御サーバで実行される拡張ネットワークサービスに関連する処理のモジュール(module)と、ローカルで実行される従来のネットワークサービスに関連する処理のモジュールが、オペレーティングシステム上のネットワークプロトコル処理として実行される。
図2に示すような、従来のCPU上で構成されるソフトウェアスタック構成では、CPUが1つしか存在しないため、1つのCPUが従来のネットワークサービスに関連する処理と拡張ネットワークサービスに関連する処理の両方に対応しなければならなかった。
また、従来のシステム構成では、全ての内部モジュール(CPU)と、外部接続用デバイス(ネットワークスイッチフォワーディングエンジン)との間のインターフェースは、PCIエクスプレス(PCI Express)のみであり、各内部モジュールによるリソースの奪い合いが発生するため、振分け・優先制御処理等が必要である。
また、PCIエクスプレス(PCI Express)は、パケット(packet)の送受信時にオーバヘッドを伴うため、高速なパケット送受信を行うことができないという問題が発生する。
また、PCIエクスプレス(PCI Express)の制御が遅れた場合、ネットワークスイッチフォワーディングエンジンのCPU宛パケットキュー(queue)の溢れ(overflow)、パケットの廃棄、サービス品質の劣化が発生する。
以上の問題から、従来のシステム構成は、制御インターフェースの負荷が軽いサービス・プロトコルに関連する処理を前提にして構成されているため、外部の制御サーバと高速なパケットの送受信を必要とする構成を実現できない。
なお、特許文献1(特開2005−317021号公報)にPCIエクスプレス(PCI Express)が説明されている。例えば、コンピューティングデバイスに含まれるPCIエクスプレス(PCI Express)のトポロジは、CPU及びメモリに加えて、ホストブリッジ及びいくつかのエンドポイント(すなわち、I/Oデバイス)を含む。複数のポイント間接続は、スイッチによって遂行される。
また、関連する技術として、特許文献2(特開2006−202210号公報)に情報処理装置、サービス公開方法及びプログラムが開示されている。この関連技術では、UPnP(Universal Plug and Play)デバイスは、SSDP(Simple Service Discovery Protocol)に従ってUPnPコントロールポイントに向けて自デバイス(自機器)の存在を広告し、XML(Extensible Markup Language)形式で記述されたデバイス記述・サービス記述を公開する。UPnPコントロールポイントは、UPnPデバイス及びサービスをSSDPに従って発見し、各サービスのアクションをSOAP(Simple Object Access Protocol)に基づく呼び出しにより制御する。UPnPサービスの状態変化は、GENA(Generic Event Notification Architecture)に基づくイベント通知を購読するUPnPコントロールポイントに対して通知される。
また、関連する技術として、特許文献3(特開2007−219873号公報)にスイッチ及びネットワークブリッジ装置が開示されている。この関連技術では、ルートコンプレックスは、CPUからの命令を受け、CPUと周辺装置との間のピアツーピア(peer to peer)通信、メモリと周辺装置との間のピアツーピア通信の転送を行う。このとき、ルートコンプレックスと周辺装置との間で、PCIエクスプレス(PCI Express)のパケット(TLP:Transaction Layer Pakcet)を用いて通信が行われる。
特開2005−317021号公報 特開2006−202210号公報 特開2007−219873号公報
"The OpenFlow Switch Consortium" <http://www.openflowswitch.org/> "OpenFlow Switch Specification Version 1.0.0 (Wire Protocol 0x01) December 31, 2009" <http://www.openflowswitch.org/documents/openflow−spec−v1.0.0.pdf>
従来のネットワークスイッチングノード構成では、データを転送する部分と、転送部分を制御する部分が、PCI、PCIエクスプレス(PCI Express)、又は、その他のローカルバスインターフェイスで接続されている。しかし、PCI等では、制御情報が流れることを前提としているため、高速なデータ転送を行おうとすると、データ転送側並びに制御側のインターフェース部分の性能問題が発生する。
また、近年データ転送容量の増加と、より高度なサービス制御が要求される。そのため、従来のサービス性能を維持したまま、より高度で高速な処理を可能とするために、データ転送部分と制御部分のインターフェース性能の向上が必要となる。
本発明の通信制御システムは、従来ネットワークサービスを実行するスイッチングノードと、拡張ネットワークサービスを実行する制御サーバ(コントローラ)とを含む。スイッチングノードは、内部で処理するフレームの転送に使用する第1の内部バス(PCIエクスプレス等)と、外部に送信するフレームの転送に使用する第2の内部バス(LANインターフェース等)と、フォワーディングエンジン(ネットワークスイッチフォワーディングエンジン)とを具備する。フォワーディングエンジンは、入力されたフレームの種類に応じて、従来ネットワークサービスに関するフレームを第1の内部バス側に転送し、スイッチングノード内部で処理し、拡張ネットワークサービスに関するフレームを第2の内部バス側に転送し、制御サーバを利用する。
本発明のスイッチングノードは、内部で処理するフレームの転送に使用する第1の内部バスと、外部に送信するフレームの転送に使用する第2の内部バスと、入力されたフレームの種類に応じて、従来ネットワークサービスに関するフレームを第1の内部バス側に転送して内部で処理し、拡張ネットワークサービスに関するフレームを第2の内部バス側に転送して外部の制御サーバを利用するフォワーディングエンジンとを具備する。
本発明の通信制御方法では、スイッチングノード上のフォワーディングエンジンにより、入力されたフレームの種類を確認する。また、入力されたフレームが従来ネットワークサービスに関するフレームであれば、入力されたフレームを第1の内部バス側に転送し、スイッチングノード内部で処理する。また、入力されたフレームが拡張ネットワークサービスに関するフレームであれば、入力されたフレームを第2の内部バス側に転送し、外部の制御サーバを利用する。
本発明の通信制御用プログラムは、スイッチングノード上のフォワーディングエンジンを用いて、入力されたフレームの種類を確認するステップと、入力されたフレームが従来ネットワークサービスに関するフレームであれば、入力されたフレームを第1の内部バス側に転送し、スイッチングノード内部で処理するステップと、入力されたフレームが拡張ネットワークサービスに関するフレームであれば、入力されたフレームを第2の内部バス側に転送し、外部の制御サーバを利用するステップとをスイッチングノードに実行させるためのプログラムである。なお、本発明の通信制御用プログラムは、記憶装置や記憶媒体に格納することが可能である。
従来のネットワークサービスに利用されるPCIエクスプレス(PCI Express)を利用しないため、高速なフレーム送受信が可能で、制御サーバと連携した、高機能で高速なネットワークサービスが実現可能になる。
従来のシステム構成例を示す概念図である。 従来のスイッチングノード上のCPUの構成例を示す概念図である。 本発明の通信制御システムの基本構成例を示す概念図である。 本発明におけるネットワークスイッチフォワーディングエンジンの構成例を示す概念図である。 本発明において、従来ネットワークサービスを実行するCPUの構成例を示す概念図である。 本発明において、拡張ネットワークサービスに関連する処理を実行するCPUの構成例を示す概念図である。 本発明における制御サーバの構成例を示す概念図である。
<実施形態>
以下に、本発明の実施形態について添付図面を参照して説明する。
[基本構成]
図3に示すように、本発明の通信制御システムは、スイッチングノード10と、制御サーバ(コントローラ)20を含む。
スイッチングノード10は、ネットワークを介して、端末1〜3(端末1、端末2、端末3)や、制御サーバ20と接続されている。ここでは、記載の簡略化のため、スイッチングノード10の接続先として、端末1〜3や制御サーバ20しか図示していないが、実際には、他のサーバやスイッチングノードとも接続されていても良い。制御サーバ20は、スイッチングノード10に対する拡張ネットワークサービスを実行する。なお、スイッチングノード10及び制御サーバ20は、それぞれ複数でも良い。
スイッチングノード10は、ネットワークスイッチフォワーディングエンジン100と、PCIエクスプレス(PCI Express)スイッチ200と、CPU300と、メモリ350と、CPU400と、メモリ450を備える。
ネットワークスイッチフォワーディングエンジン100は、端末1〜3から入力されるフレームの転送処理を行う。PCIエクスプレス(PCI Express)スイッチ200は、ネットワークスイッチフォワーディングエンジン100と、CPU300やCPU400との間でフレーム又は制御命令の送受信を行う。PCIエクスプレス(PCI Express)スイッチ200は、ネットワークスイッチフォワーディングエンジン100の内部に組み込まれている場合もある。
なお、フレームは、OSI参照モデルの第2層(レイヤ2:データリンク層)の通信で使われるPDU(プロトコル・データ・ユニット)の呼び名であり、パケットは、OSI参照モデルの第3層(レイヤ3:ネットワーク層)の通信で使われるPDUの呼び名である。ここでは、フレームとは、パケットを運ぶフレームである。すなわち、本発明において、フレームとパケットは、読み替え可能である。
CPU300は、従来ネットワークサービスを提供するため、従来のネットワークサービス・プロトコルに関連する処理を実行する。メモリ350は、CPU300により処理されるデータを記憶する。従来ネットワークサービスは、スイッチングノード10が従来から対応しているサービスであり、スイッチングノード10内部で完結する処理である。すなわち、CPU300は、内部での処理に対応したCPUである。従来ネットワークサービスの例として、従来通りのフレーム転送やパケット交換(スイッチング)、ルーティング、スイッチングノード10の制御・設定等が考えられる。
CPU400は、拡張ネットワークサービスを提供する外部の制御サーバ20と連携するための処理を行う。メモリ450は、CPU400により処理されるデータを記憶する。拡張ネットワークサービスは、外部の制御サーバ20に依存するサービスであり、スイッチングノード10と外部の制御サーバ20との連携により完結する処理である。すなわち、CPU400は、外部との連携に対応したCPUである。拡張ネットワークサービスの例として、外部制御による経路制御や、ファイアウォール処理、ロードバランシング等が考えられる。
なお、CPU300、メモリ350、CPU400、及びメモリ450は、それぞれ複数でも良い。
また、スイッチングノード10の内部構成は、一体化していても良い。例えば、近年では、マイコン等の1チップ化が進んでいる。従って、スイッチングノード10に搭載される1チップマイコンが、ネットワークスイッチフォワーディングエンジン100と、PCIエクスプレス(PCI Express)スイッチ200と、CPU300と、メモリ350と、CPU400と、メモリ450を備えている事例が考えられる。また、既存のネットワーク機器において、仮想マシン(Virtual Machine(VM))環境により、図3に示す構成を論理的に実現する事例も考えられる。図3に示す構成は、概念上の構成であり、物理的な構成とは限らない。
制御サーバ20は、ネットワークインターフェース500と、CPU600と、メモリ650を備える。
ネットワークインターフェース500は、スイッチングノード10との間で、フレームの送受信を行う。CPU600は、拡張ネットワークサービス・プロトコルに関連する処理の実行を行う。メモリ650は、CPU600により処理されるデータを記憶する。
[システム構成における従来との相違点]
なお、図1と図3を比較すると、本発明の通信制御システムでは、スイッチングノード10が、2つのCPUを備えている点で、従来のシステム構成と相違することがわかる。更に詳細な相違点については後述する。
[構成の要点]
ネットワークスイッチフォワーディングエンジン100は、PCIエクスプレス(PCI Express)とLAN(Local Area Network)インターフェースを備え、入力されるフレームの種類に応じて、フレームの転送先を切り替える。すなわち、ネットワークスイッチフォワーディングエンジン100は、入力されるフレームの種類を確認し、その結果に応じて、フレームの転送先を決定する。
ここでは、ネットワークスイッチフォワーディングエンジン100は、LANインターフェースとして、LANインターフェース(1G MAC)101、102、103と、LANインターフェース(10G MAC)104と、LANインターフェース(10G MAC)106を備える。また、PCIエクスプレス(PCI Express)として、PCIエクスプレス・エンドポイント(PCI Express End Point)105を備える。
「LANインターフェース(1G MAC)」とは、1Gbpsのデータ転送に対応したLANインターフェースという意味である。同様に、「LANインターフェース(10G MAC)」とは、10Gbpsのデータ転送に対応したLANインターフェースという意味である。なお、「1G」や「10G」は一例に過ぎない。
なお、現在、特殊な用途を除いて、ほとんどのLANはイーサネット(登録商標)である。LANインターフェースの例として、NIC(Network Interface Card)等のネットワークカードが考えられる。このとき、従来ネットワークサービスに対しては、PCIエクスプレス(PCI Express)側にフレームの転送先を切り替える。PCIエクスプレス(PCI Express)の先には、CPU300が設けられている。また、外部の制御サーバ20と連携する拡張ネットワークサービスに対しては、LANインターフェース側にフレームの転送先を切り替える。LANインターフェースの先には、CPU400が設けられている。LANインターフェース側へフレームを転送する際には、フレームに検索結果情報、入力ポート情報等を付与して転送する。
CPU300は、PCIエクスプレス(PCI Express)を備える。
ここでは、CPU300は、PCIエクスプレス(PCI Express)として、PCIエクスプレス・ルート・コンプレックス(PCI Express Root Complex)301を備える。
CPU300は、ルート・コンプレックスとして、ネットワークスイッチフォワーディングエンジン100に蓄積されたCPU300宛のフレームを収集し、従来ネットワークサービスを実行する。
CPU400は、PCIエクスプレス(PCI Express)とLANインターフェースを備える。
ここでは、CPU400は、LANインターフェースとして、LANインターフェース(10G MAC)401を備える。また、PCIエクスプレス(PCI Express)として、PCIエクスプレス・エンドポイント(PCI Express End Point)402を備える。
CPU400は、ネットワークスイッチフォワーディングエンジン100から受信したフレームに対して、制御サーバ20への問合せを行うための情報を取得し、オペレーションシステム上のネットワークプロトコルに影響を与えないようにするため、フレームの情報解析、及び変換を行い、PCIエクスプレス(PCI Express)を使用せずに、LANインターフェースを使用して、フレームを高速に送受信する。
なお、外部接続用と同じ規格のLANインターフェース(10G MAC)をスイッチングノード内部で使用しているため、CPU400とネットワークスイッチフォワーディングエンジン100との間、及び、ネットワークスイッチフォワーディングエンジン100と外部の制御サーバ20との間は、同じフォーマットのフレームが同じ通信速度で通過することになる。すなわち、ネットワークスイッチフォワーディングエンジン100は、フレームの情報解析、及び変換を行うことなく、CPU400と外部の制御サーバ20との間で、フレームをそのまま転送することができる。
また、このCPU400は、受信したフレームを、外部の制御サーバ20からの応答があるまでメモリ450に保持し、外部の制御サーバ20に対してサービスの問合せを行う際、SSL(Secure Socket Layer)等で利用される暗号化処理、TCP/IP(Transmission Control Protocol/Internet Protocol)等のネットワークプロトコルを利用し、LANインターフェースを介して、外部の制御サーバ20と高速に通信を行う。
制御サーバ20は、LANインターフェースを介して、フレームを受信し、拡張ネットワークサービスを実行し、スイッチングノード10に応答を返す。
CPU400は、LANインターフェースを介して、制御サーバ20から応答を得た後、PCIエクスプレス(PCI Express)を用いて、ネットワークスイッチフォワーディングエンジン100に対し、拡張ネットワークサービスに必要な設定を行う。
ここでは、PCIエクスプレス(PCI Express)とLANインターフェースを示しているが、実際には、これらの例に限定されない。PCIエクスプレス(PCI Express)やLANインターフェースは、当然に、これらに類するものに置き換えることが可能である。少なくとも、スイッチングノード10の内部においては、本質的に、PCIエクスプレス(PCI Express)は、「第1の内部バス」であり、LANインターフェースは、「第2の内部バス」である。「第2の内部バス」は、「第1の内部バス」と規格が異なり、「第1の内部バス」よりも高速で大容量のデータ転送が可能である。「第2の内部バス」は、スイッチングノード10の外部に送信する必要があるデータの転送に使用される。
[ハードウェアの例]
端末1〜3、及び制御サーバ20の例として、PC(パソコン)、アプライアンス(appliance)、シンクライアント端末/サーバ、ワークステーション、メインフレーム、スーパーコンピュータ等の計算機を想定している。
CPU300、CPU400、及びCPU600は、プロセッサ(processor)の例示に過ぎない。CPU300、CPU400、及びCPU600は、マイクロプロセッサ(microprocessor)、マイクロコントローラ、或いは、同様の機能を有する半導体集積回路(Integrated Circuit(IC))等でも良い。
メモリ350、メモリ450、及びメモリ650の例として、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)等の記憶媒体(メディア)等が考えられる。
ネットワークスイッチフォワーディングエンジン100の例として、LANに対応した基板(マザーボードやI/Oボード)等の半導体集積回路、NIC(Network Interface Card)等のネットワークアダプタ、或いは、同様の拡張カード等が考えられる。ここでは、ネットワークスイッチフォワーディングエンジン100は、ハードウェアで高速に処理を行うために、ネットワークプロセッサ(Network Processor)を搭載しているものとする。
但し、実際には、これらの例に限定されない。
[オープンフロー(OpenFlow)技術との関係]
オープンフロー(OpenFlow)技術においては、制御サーバ20は、コントローラとして、システム内の通信経路(パス)を制御する。オープンフロー技術とは、コントローラが、ルーティングポリシーに従い、マルチレイヤ及びフロー単位の経路情報をスイッチに設定し、経路制御やノード制御を行う技術を示す。
オープンフロー技術では、コントローラが、ネットワーク内のスイッチを監視し、通信状況に応じて、ネットワーク内のスイッチにパケットの配送経路を動的に設定する。これにより、経路制御機能がルータやスイッチから分離され、コントローラによる集中制御によって最適なルーティング、トラフィック管理が可能となる。オープンフロー技術が適用されるスイッチは、従来のルータやスイッチのようにパケットやフレームの単位ではなく、エンド・ツー・エンド(End to End)のフローとして通信を取り扱う。
例えば、制御サーバ20は、スイッチングノード10のフローテーブルにフローエントリを登録することで、当該スイッチングノード10の動作(例えばパケットデータの中継動作)を制御する。
フローテーブルには、所定のマッチ条件(ルール)に適合するパケットに対して行うべき所定の処理(アクション)を定義したフローエントリが登録される。ルールに適合するパケット群(パケット系列)をフローと呼ぶ。
フローのルールは、パケットの各プロトコル階層のヘッダ領域に含まれる宛先アドレス(Destination Address)、送信元アドレス(Source Address)、宛先ポート(Destination Port)、送信元ポート(Source Port)のいずれか又は全てを用いた様々な組み合わせにより定義され、区別可能である。なお、上記のアドレスには、MACアドレス(Media Access Control Address)やIPアドレス(Internet Protocol Address)を含むものとする。また、上記に加えて、入口ポート(Ingress Port)の情報も、フローのルールとして使用可能である。
フローのアクションは、通常、所定の転送先へのパケット転送である。無論、フローのアクションとして、パケット破棄を指定することも可能である。
オープンフロー技術の詳細については、非特許文献1、2に記載されている。
[ネットワークスイッチフォワーディングエンジンの構成]
図4は、ネットワークスイッチフォワーディングエンジン100の構成例を示す。なお、この構成は、プログラム等により実現したソフトウェア構成でも良いし、回路等により実現したハードウェア構成でも良い。
ネットワークスイッチフォワーディングエンジン100は、LANインターフェース(1G MAC)101、102、103と、LANインターフェース(10G MAC)104と、PCIエクスプレス・エンドポイント(PCI Express End Point)105と、LANインターフェース(10G MAC)106と、フレーム解析処理部107と、テーブル検索部108と、転送テーブル109と、テーブル検索結果レジスタ110と、CPU宛パケットキュー111と、スイッチング転送回路部112と、スイッチファブリック共有パケットバッファ113と、テーブル検索結果付与回路部114と、宛先認識回路部115を備える。
LANインターフェース(1G MAC)101、102、103は、それぞれ端末1〜3からフレームを受信するために設けられている。
LANインターフェース(10G MAC)104は、制御サーバ20と通信するために設けられている。ここでは、説明の簡略化のため、LANインターフェース(10G MAC)104の接続先として、制御サーバ20しか図示していないが、実際には、LANインターフェース(10G MAC)104のポートが複数あり、他のサーバやスイッチングノードと接続されている場合もある。
PCIエクスプレス・エンドポイント(PCI Express End Point)105は、CPU300と通信するために設けられている。
LANインターフェース(10G MAC)106は、CPU400と通信するために設けられている。
フレーム解析処理部107は、受信したフレームを解析する。テーブル検索部108は、当該フレームの解析結果に基づいて、転送テーブル109を参照し、当該フレームの宛先(転送先)の検索を行う。転送テーブル109は、フレームの宛先(転送先)に関する情報を格納している。ここでは、転送テーブル109は、オープンフロー技術におけるフローテーブルである。テーブル検索部108は、フレームのヘッダ領域に含まれる各種の情報に基づいて、転送テーブル109から該当するフローエントリを検出し、そのフローエントリに定義されたアクションに従って、フレームの宛先(転送先)を決定する。
テーブル検索結果レジスタ110は、PCIエクスプレス(PCI Express)に繋がるCPU300宛のフレームに対する転送テーブルの検索結果を保持する。ここでは、テーブル検索結果レジスタ110は、転送テーブル109におけるフレームの宛先(転送先)の検索結果を保持する。CPU宛パケットキュー111は、CPU300へのフレーム送受信時に、当該フレームのキューイング(queuing)を行うために設けられている。
スイッチング転送回路部112は、ネットワークスイッチフォワーディングエンジン100内でフレームのスイッチング転送処理を行う。スイッチファブリック共有パケットバッファ113は、フレーム転送時にバッファリング(buffering)を行うために設けられている。
なお、キューイングやバッファリングの際のデータ形式は、フレーム形式でもパケット形式でも良い。パケット形式であっても、PCIエクスプレス(PCI Express)やLANインターフェースで送信される際に、パケット形式からフレーム形式に変換されるためである。
テーブル検索結果付与回路部114は、CPU400に検索結果を送信するため、この検索結果をフレームに付与し、このフレームをLANインターフェース106に出力する。宛先認識回路部115は、CPU400から任意の宛先への転送を認識する。
[従来ネットワークサービスを実行するCPUの構成]
図5は、CPU300の構成例を示す。なお、この構成は、プログラム等により実現したソフトウェア構成でも良いし、回路等により実現したハードウェア構成でも良い。
CPU300は、ハードウェアシステム310と、オペレーティングシステム320と、ネットワークプロトコル330を備える。
ハードウェアシステム310は、PCIエクスプレス・ルート・コンプレックス(PCI Express Root Complex)301を備える。
PCIエクスプレス・ルート・コンプレックス(PCI Express Root Complex)301は、PCIエクスプレス(PCI Express)スイッチ200を介して、ネットワークスイッチフォワーディングエンジン100と通信するために設けられている。PCIエクスプレス・ルート・コンプレックス(PCI Express Root Complex)301は、PCIエクスプレス(PCI Express)デバイスであり、ルート・コンプレックスとして機能する。
オペレーティングシステム320は、PCI DMA制御部321と、フォワーディングエンジンドライバ322を備える。
PCI DMA制御部321は、PCIエクスプレス(PCI Express)デバイスを利用し、PCIエクスプレス(PCI Express)スイッチ200を介して、ネットワークスイッチフォワーディングエンジン100に対してDMA(Direct Memory Access)転送制御を行う。フォワーディングエンジンドライバ322は、ネットワークスイッチフォワーディングエンジン100をPCIエクスプレス(PCI Express)経由で制御するために設けられている。ここでは、フォワーディングエンジンドライバ322は、PCI DMA制御部321を利用する。PCI DMA制御部321は、フォワーディングエンジンドライバ322の機能の1つでも良い。
ネットワークプロトコル330は、パケット送受信処理部331と、従来ネットワークサービス処理部332を備える。
パケット送受信処理部331は、フォワーディングエンジンドライバ322を利用し、PCIエクスプレス(PCI Express)スイッチ200を介して、ネットワークスイッチフォワーディングエンジン100と、フレームの送受信処理を行う。ここでは、パケット送受信処理部331は、フォワーディングエンジンドライバ322とPCI DMA制御部321を利用し、ネットワークスイッチフォワーディングエンジン100に対してDMA転送制御を行い、CPU宛パケットキュー111に蓄積されたフレームを要求・収集する。また、パケット送受信処理部331は、フォワーディングエンジンドライバ322から受け取ったフレームをパケット形式に変換する。従来ネットワークサービス処理部332は、パケット送受信処理部331から受け取ったパケットに対して、従来のサービス・プロトコルに関連する処理を行う。
また、パケット送受信処理部331は、従来ネットワークサービス処理部332から受け取ったパケットをフレーム形式に変換し、フォワーディングエンジンドライバ322を利用し、PCIエクスプレス(PCI Express)スイッチ200を介して、ネットワークスイッチフォワーディングエンジン100にフレームを送信する。
[拡張ネットワークサービスに関連する処理を実行するCPUの構成]
図6は、CPU400の構成例を示す。なお、この構成は、プログラム等により実現したソフトウェア構成でも良いし、回路等により実現したハードウェア構成でも良い。
CPU400は、ハードウェアシステム410と、オペレーティングシステム420と、ネットワークプロトコル430を備える。
ハードウェアシステム410は、LANインターフェース(10G MAC)401と、PCIエクスプレス・エンドポイント(PCI Express End Point)402と、フレーム情報解析回路部411と、フレーム変換回路部412を備える。
LANインターフェース(10G MAC)401は、ネットワークスイッチフォワーディングエンジン100からフレームを受信し、制御サーバ20とフレームの送受信を行うために設けられている。
PCIエクスプレス・エンドポイント(PCI Express End Point)402は、PCIエクスプレス(PCI Express)スイッチ200を介して、ネットワークスイッチフォワーディングエンジン100と通信するために設けられている。PCIエクスプレス・エンドポイント(PCI Express End Point)402は、PCIエクスプレス(PCI Express)デバイスであり、エンドポイントとして機能する。
フレーム情報解析回路部411は、ネットワークスイッチフォワーディングエンジン100から受信したフレームの内部情報(ヘッダ情報等)を解析するために設けられている。フレーム変換回路部412は、オペレーティングシステム上のネットワークプロトコルスタックへ影響を与えないために設けられている。
オペレーティングシステム420は、ネットワークドライバ421と、TCP/IPスタック422と、フォワーディングエンジンドライバ423と、PCI DMA制御部424を備える。
ネットワークドライバ421は、LANインターフェース(10G MAC)401を介して、フレームの送受信を行うために設けられている。TCP/IPスタック422は、制御サーバとプロトコル通信を行うために設けられている。フォワーディングエンジンドライバ423は、ネットワークスイッチフォワーディングエンジン100をPCIエクスプレス(PCI Express)経由で制御するために設けられている。PCI DMA制御部424は、PCIエクスプレス(PCI Express)デバイスを利用し、PCIエクスプレス(PCI Express)スイッチ200を介して、ネットワークスイッチフォワーディングエンジン100に対してDMA転送制御を行う。
ネットワークプロトコル430は、パケット受信処理部431と、パケットバッファ処理部432と、サービス処理問合せ回路部433と、暗号処理回路部434と、拡張ネットワークサービス設定部435を備える。
パケット受信処理部431は、フレーム変換回路部412からフレームをパケット形式で受信するために設けられている。パケットバッファ処理部432は、制御サーバ20からの制御を待つために、パケット受信処理部431から受け取ったパケットを一旦バッファリングするために設けられている。サービス処理問合せ回路部433は、制御サーバ20へ問合せを行うために設けられている。暗号処理回路部434は、制御サーバ20への問合せ時・問合せ結果の応答時に、暗号化・復号処理を行うために設けられている。拡張ネットワークサービス設定部435は、制御サーバ20への問合せ結果に応じて、PCIエクスプレス(PCI Express)スイッチ200を介して、ネットワークスイッチフォワーディングエンジン100に対して設定を行うために設けられている。
ネットワークスイッチフォワーディングエンジン100に対する設定の例としては、オープンフロー技術におけるフローテーブル(又はフローエントリ)の登録・更新等が考えられる。
[CPUの構成における従来との相違点]
図2と、図5及び図6とを比較すると、本発明では、2つのCPUが、従来のネットワークサービスに関連する処理と、拡張ネットワークサービスに関連する処理を分担している点で、従来のCPUの構成と相違することがわかる。本発明では、CPU上で、振分け・優先制御処理を行う必要がない。また、本発明では、従来のネットワークサービスに関連する処理のパケットと、拡張ネットワークサービスに関連する処理のパケットが、同じインタフェースを利用しない。そのため、パケット送受信時の遅延、CPU宛パケットキュー(queue)の溢れ、パケットの廃棄、サービス品質の劣化も従来ほど発生しない。これにより、スイッチングノードの性能向上を図ることができる。
[従来のスイッチングノード上のCPUの構成]
本発明との比較のために、図2を参照して、従来のスイッチングノード上のCPUの構成例について説明する。なお、図2、図5、及び図6において、同じ名称のものは、基本的に同一のものである。
図2に示すように、従来のスイッチングノードにおいて、CPU300は、ハードウェアシステム310と、オペレーティングシステム320と、ネットワークプロトコル330を備える。
ハードウェアシステム310は、PCIエクスプレス・ルート・コンプレックス(PCI Express Root Complex)301を備える。
オペレーティングシステム320は、PCI DMA制御部321と、フォワーディングエンジンドライバ322と、振分け優先制御処理部323と、ネットワークドライバ324と、TCP/IPスタック325を備える。
従来のスイッチングノード上のCPU300は、オペレーティングシステム320において、振分け優先制御処理部323と、ネットワークドライバ324と、TCP/IPスタック325を更に備えていた。
振分け優先制御処理部323は、受信したフレームに対して、従来のネットワークサービスに関連する処理と、拡張ネットワークサービスに関連する処理のいずれかを実行するための振分け・優先制御処理を行う。ネットワークドライバ324は、図6のネットワークドライバ421と同じ機能を持つ。TCP/IPスタック325は、図6のTCP/IPスタック422と同じ機能を持つ。
ネットワークプロトコル330は、パケット送受信処理部331と、従来ネットワークサービス処理部332と、パケット受信処理部333と、パケットバッファ処理部334と、サービス処理問合せ回路部335と、暗号処理回路部336と、拡張ネットワークサービス設定部337を備える。
従来のスイッチングノード上のCPU300は、ネットワークプロトコル330において、パケット受信処理部333と、パケットバッファ処理部334と、サービス処理問合せ回路部335と、暗号処理回路部336と、拡張ネットワークサービス設定部337を更に備えていた。
パケット受信処理部333は、パケット受信処理部431と同じ機能を持つ。パケットバッファ処理部334は、パケットバッファ処理部432と同じ機能を持つ。サービス処理問合せ回路部335は、サービス処理問合せ回路部433と同じ機能を持つ。暗号処理回路部336は、暗号処理回路部434と同じ機能を持つ。拡張ネットワークサービス設定部337は、拡張ネットワークサービス設定部435と同じ機能を持つ。
このとき、振分け優先制御処理部323は、受信したフレームに対して、従来のネットワークサービスに関連する処理を行う場合、当該フレームをパケット送受信処理部331に送信していた。
また、振分け優先制御処理部323は、受信したフレームに対して、拡張ネットワークサービスに関連する処理を行う場合、当該フレームをパケット受信処理部333に送信していた。
更に、振分け優先制御処理部323は、従来のネットワークサービスに基づくパケットと、拡張ネットワークサービスに基づくパケットの両方に対して、振分け・優先制御処理を行い、フォワーディングエンジンドライバ322を利用し、PCIエクスプレス(PCI Express)スイッチ200を介して、ネットワークスイッチフォワーディングエンジン100に送信していた。
これにより、振分け優先制御処理部323は、従来のCPU300とネットワークスイッチフォワーディングエンジン100との間を接続する唯一のインターフェースであるPCIエクスプレス(PCI Express)の混雑を緩和していた。
[制御サーバの構成]
図7は、制御サーバ20の構成例を示す。なお、この構成は、プログラム等により実現したソフトウェア構成でも良いし、回路等により実現したハードウェア構成でも良い。
制御サーバ20は、ネットワークインターフェース500と、CPU600を備える。
ネットワークインターフェース500は、LANインターフェース(10G MAC)501と、PCIエクスプレス・エンドポイント(PCI Express End Point)502を備える。
LANインターフェース(10G MAC)501は、スイッチングノード10と通信するために設けられている。
PCIエクスプレス・エンドポイント(PCI Express End Point)502は、CPU600と通信するために設けられている。PCIエクスプレス・エンドポイント(PCI Express End Point)502は、PCIエクスプレス(PCI Express)デバイスであり、エンドポイントとして機能する。
CPU600は、ハードウェアシステム610と、オペレーティングシステム620と、ネットワークプロトコル630を備える。
ハードウェアシステム610は、PCIエクスプレス・ルート・コンプレックス(PCI Express Root Complex)601を備える。
PCIエクスプレス・ルート・コンプレックス(PCI Express Root Complex)601は、ネットワークインターフェース500と通信するために設けられている。PCIエクスプレス・ルート・コンプレックス(PCI Express Root Complex)601は、PCIエクスプレス(PCI Express)デバイスであり、ルート・コンプレックスとして機能する。
オペレーティングシステム620は、ネットワークドライバ621と、TCP/IPスタック622を備える。
ネットワークドライバ621は、ネットワークインターフェース500を制御する。TCP/IPスタック622は、スイッチングノード10とプロトコル通信を行うために設けられている。
ネットワークプロトコル630は、パケット送受信処理部631と、暗号処理回路部632と、拡張ネットワークサービス処理部633を備える。
パケット送受信処理部631は、パケット形式で、スイッチングノード10とフレームの送受信を行う。暗号処理回路部632は、パケット送受信処理部631でのフレームの送受信時に、暗号化・復号処理を行う。拡張ネットワークサービス処理部633は、制御サーバ上で実行されるサービスやプロトコルを提供する。
[基本動作]
次に、図3、図4、図5、図6、図7を用いて、本実施形態の動作について説明する。
[端末からのフレーム受信時の動作]
スイッチングノード10のネットワークスイッチフォワーディングエンジン100のLANインターフェース(1G MAC)101、102、103は、それぞれ端末1、端末2、端末3から、ネットワーク経由で、様々なフレームを受信する。フレーム解析処理部107は、ネットワークスイッチフォワーディングエンジン100内で、フレームのヘッダの解析を行う。次に、テーブル検索部108は、そのフレームの転送方法の決定のため、転送テーブル109を検索参照して、そのフレームに対する処理(アクション)を確認する。
[フレームに対する処理]
フレームに対する処理は、大きく以下の3つに分類される。
[処理1]
1つは、サービスやプロトコルにより転送テーブル109に既に、宛先と処理方法が記載されている場合で、その場合、スイッチング転送回路部112は、その記載内容に従って、宛先に対してスイッチング処理を行い、フレームを外部に転送する。
[処理2]
2つめは、従来のネットワークサービスを利用するフレームが新規に入ってきた場合である。その場合、テーブル検索部108は、入力されたポート情報並びにテーブル検索の結果をテーブル検索結果レジスタ110に格納すると共に、フレームをパケット形式でCPU宛パケットキュー111に格納する。フレームがパケット形式でCPU宛パケットキュー111に格納されると、ネットワークスイッチフォワーディングエンジン100は、PCIエクスプレス(PCI Express)に接続されるCPU300に対して、割込み通知等を行い、フレームが格納されたことを通知する。PCIエクスプレス(PCI Express)の先に接続されたCPU300がフレームを受信するために、フォワーディングエンジンドライバ322は、PCI DMA制御部321を利用して、ネットワークスイッチフォワーディングエンジン100に対して、DMA制御を行う。パケット送受信処理部331は、パケット形式で、フレームの受信処理を行う。従来ネットワークサービス処理部332は、パケット送受信処理部331からのパケットを解析する。パケット送受信処理部331は、従来ネットワークサービス処理部332から解析結果を受け取った場合、再度PCIエクスプレス(PCI Express)を利用して、解析結果に基づくフレームを外部に送る。あるいは、PCIエクスプレス(PCI Express)を利用して、次回以降に受信するフレームのために、ネットワークスイッチフォワーディングエンジン100の設定等を行う。
[処理3]
3つめは、制御サーバ20を利用し、拡張サービス・プロトコルを利用するフレームが新規に入ってきた場合である。その場合、入力されたポート情報並びにテーブル検索の結果が、フレームと共に、スイッチング転送回路部112並びにスイッチファブリック共有パケットバッファ113を経由し、テーブル検索結果付与回路部114に送られる。テーブル検索結果付与回路部114は、入力されたポート情報並びにテーブル検索の結果を、フレーム内に格納し、LANインターフェース(10G MAC)106を介して、CPU400にそのまま転送する。なお、スイッチング転送回路部112は、LANインターフェース(10G MAC)106を利用してフレームを送信する時、LANのフロー制御等でフレームを送信できない場合、フレームを、スイッチファブリック共有パケットバッファ113にバッファリングする。これにより、接続先のCPUの性能よりも、入力されるフレームの負荷が高い場合に、フレームの廃棄を最小限に抑える事が可能になる。
[拡張ネットワークサービスの利用時の動作]
ネットワークスイッチフォワーディングエンジン100は、従来ネットワークサービスで、端末1〜3から受信したフレームを処理できない場合、LANインターフェース(10G MAC)106を介して、CPU400に、当該フレームを送信する。
CPU400のフレーム情報解析回路部411は、LANインターフェース(10G MAC)401を介して、ネットワークスイッチフォワーディングエンジン100からのフレームを受信する。フレーム情報解析回路部411は、フレーム内に格納された情報を解析する。パケット受信処理部431は、パケット形式で、フレーム情報解析回路部411から高速にフレームを受信する。パケットバッファ処理部432は、フレームを、パケット形式でバッファリングする。その後、サービス処理問合せ回路部433は、フレームに対しての処理手順を確認するため、制御サーバ20への問合せ処理を行う。
[制御サーバへの問合せ時の動作]
サービス処理問合せ回路部433による、制御サーバ20への問合せ時に、暗号処理回路部434は、必要に応じて、フレームの暗号化処理を行い、オペレーティングシステム420上のTCP/IPスタック422を利用し、ネットワークドライバ421を介して制御サーバ20との通信を開始する。
ネットワークドライバ421がフレームの送信を開始した際、フレーム変換回路部412は、ネットワークスイッチフォワーディングエンジン100の任意のポートに対してフレームを送信するため、フレームに制御用のヘッダを付与する。
ネットワークスイッチフォワーディングエンジン100内の宛先認識回路部115は、受信したフレームの制御用のヘッダを認識し、制御用のヘッダを剥がした(削除した)後、スイッチング転送回路部112を経由して、LANインターフェース(10G MAC)104における指定したポートへフレームを転送する。指定したポートの先には、制御サーバ20が接続されている。
[制御サーバでの動作]
制御サーバ20は、スイッチングノード10に対して、次回以降に(今後)スイッチングノード10が受信したフレームを最適な経路で転送するための制御や、スイッチングノード10が制御サーバ20と連携するための制御を行い、ネットワークサービスの向上を行う。
制御サーバ20は、オペレーティングシステム620上のネットワークドライバ621によって制御されるLANインターフェース(10G MAC)501を介し、スイッチングノード10からの問合せフレームを受信する。TCP/IPスタック622は、受信されたフレームを処理し、このフレームを、ネットワークプロトコル630のパケット送受信処理部631、及び暗号処理回路部632を介して、拡張ネットワークサービス処理部633へ届ける。
拡張ネットワークサービス処理部633は、スイッチングノード10からの問合せフレームの情報を用いて、プロトコル処理を行い、フレームの宛先情報や、フレーム制御情報を、オペレーティングシステム620、ネットワークインターフェース500を介して、スイッチングノード10に対して返答する。
[制御サーバからの応答後の動作]
スイッチングノード10のネットワークスイッチフォワーディングエンジン100のLANインターフェース(10G MAC)104は、制御サーバ20から返答されたフレームを受信し、ネットワークスイッチフォワーディングエンジン100、及びLANインターフェース(10G MAC)106を介して、CPU400にオーバヘッドなく送信する。
CPU400に送信されたフレームは、LANインターフェース(10G MAC)401、フレーム情報解析回路部411、フレーム変換回路部412、ネットワークドライバ421、TCP/IPスタック422、暗号処理回路部434を介して、サービス処理問合せ回路部433に届けられる。
サービス処理問合せ回路部433は、届けられたフレームを、制御内容によって、指定された宛先に転送する際は、PCIエクスプレス(PCI Express)を利用せず、LANインターフェース(10G MAC)401を利用し、フレームに宛先情報を付与し、ネットワークスイッチフォワーディングエンジン100へ送信する。
LANインターフェース(10G MAC)106は、サービス処理問合せ回路部433からフレームを受信する。宛先認識回路部115は、フレームの宛先を認識し、このフレームをスイッチング転送回路部112へ送信する。スイッチング転送回路部112は、LANインターフェース(1G MAC)101、102、103や、LANインターフェース(10G MAC)104を介して、このフレームを指定された宛先に転送する。
また、制御内容が特定フレームに対しての制御指示の場合、サービス処理問合せ回路部433は、拡張ネットワークサービス設定部435に対して、設定情報を送信する。拡張ネットワークサービス設定部435は、フォワーディングエンジンドライバ423、PCI DMA制御部424、PCIエクスプレス・エンドポイント(PCI Express End Point)402、及びPCIエクスプレス(PCI Express)スイッチ200を利用し、PCIエクスプレス(PCI Express)スイッチ200を介して、ネットワークスイッチフォワーディングエンジン100に対して、転送テーブル109の設定や、動作設定等の制御を行う。
制御に関しては、CPU300と同様、PCIエクスプレス(PCI Express)を利用することで、制限なく従来と同じように設定を容易に行うことを可能にする。
以上説明したように、本発明によれば、10Gレベル(転送速度10Gbps)の高速なインターフェースと、PCIエクスプレス(PCI Express)ベースの従来の制御インターフェースを混在させることで、ソフトウェアのインパクトを最小したまま、外部の制御サーバを活用した、高速で高機能なサービスを実現する、スイッチングノードが構成可能である。
従来、制御情報のインターフェースは、PCI並びにPCIエクスプレス(PCI Express)のみが使用されていたが、本発明のように、制御サーバを外部に設け、制御インターフェース上で高速なデータのやり取りを可能にするために、LAN上で、制御情報を付与し、PCIエクスプレス(PCI Express)での制御ラインと、MACヘッダ情報でのフレーム転送ラインを、スイッチングノードに構成することで、従来のネットワーク装置内で行っていた制御を、外部で効率良く行わせる事が可能になる。
本発明のように、10Gレベルの高速なインターフェースと、PCIエクスプレス(PCI Express)ベースの従来の制御インターフェースを混在させることで、ソフトウェアのインパクトを最小したまま、外部の制御サーバを活用し、高速で高機能なサービスを実現するスイッチングノードの構成が可能になる。
<本発明の応用>
なお、本発明は、上記の実施形態に限定されるものではなく、例えば外部に制御サーバを用いない構成においてもスイッチングノードの機能拡張だけを行う装置にも適用することができる。
<まとめ>
本発明は、ネットワークスイッチングノードにおいて、従来のサービス・プロトコル処理の性能劣化の影響を与えることなく、外部の制御サーバを活用して、より高速で高機能なサービス・プロトコルを構成するノード構成に関する。
図3において、スイッチングノード10、制御サーバ20の関係で構成されるシステムにおいて、スイッチングノードと制御サーバ間で、高速に制御フレームのやりとりを可能にし、より高速で高機能なサービス・プロトコル処理機能を制御サーバ20上で実現できる機能を提供するものである。
図3において、ネットワークフォワーディングエンジン401から送信される制御フレームは、従来のサービスはPCIエクスプレス・エンドポイント(PCI Express End Point)105のインターフェースを用いて、CPU300へ送信して、従来のサービス処理を実行する。
一方、制御サーバを利用する時は、PCIエクスプレス(PCI Express)を利用せず、ネットワークフレームの送受信に適したLANインターフェース(10G MAC)インターフェース106を利用し、制御フレームを高速に送信する。
CPU400は、制御フレームを受信し、暗号化処理はフレーム処理を行った後、再度LANインターフェース(10G MAC)401を介して、制御サーバ20へ制御フレームを送信し、CPU600上で実行される拡張ネットワークサービスを実行する。
拡張ネットワークサービスを実行するCPU600は、必要に応じて、応答をスイッチングノード10に返信する。
スイッチングノード10のCPU400は、返信内容によって、LANインターフェース(10G MAC)401、又は、PCIエクスプレス・エンドポイント(PCI Express End Point)402のいずれかを利用する。ここでは、CPU400は、LANインターフェース(10G MAC)401、及びネットワークスイッチフォワーディングエンジン100を用いてパケットの転送を行うか、PCIエクスプレス・エンドポイント(PCI Express End Point)402を利用し、PCIエクスプレス(PCI Express)スイッチ200を介して、ネットワークスイッチフォワーディングエンジン100に対して、サービスに必要な制御の設定を行う。
従って、本発明では、従来のネットワークサービスに利用されるPCIエクスプレス(PCI Express)の利用しないため、高速なパケット送受信が可能で、制御サーバ20と連携した、高機能で高速なネットワークサービスが実現可能になる。
従来のシステム構成では、スイッチングノード上には、1つのCPUだけが存在し、このCPUが、全てのサービス・プロトコルに関連する処理を実行する。従来のシステム構成では、1つのCPUは、PCIエクスプレス(PCI Express)を経由して、ネットワークスイッチフォワーディングエンジンに接続されており、ネットワークスイッチフォワーディングエンジンを介して、外部の制御サーバと連携して動作する。すなわち、従来のシステム構成では、1つのCPU(全ての内部モジュール)とネットワークスイッチフォワーディングエンジン(外部接続用デバイス)との接続に用いられるインターフェースは、PCIエクスプレス(PCI Express)のみであり、各内部モジュールによるリソースの奪い合いが発生するため、振分け・優先制御処理等が必要である。また、PCIエクスプレス(PCI Express)の制御が遅れた場合、ネットワークスイッチフォワーディングエンジンのCPU宛パケットキューの溢れ、パケットの廃棄し、サービス品質の劣化が発生する。
これに対し、本発明のシステム構成では、ネットワークスイッチフォワーディングエンジンは、PCIエクスプレス(PCI Express)とLANインターフェースを備える。
ネットワークスイッチフォワーディングエンジンは、入力されるフレームの種類に応じて、従来ネットワークサービスに対してはPCIエクスプレス(PCI Express)側、外部の制御サーバと連携する拡張ネットワークサービスに対しては、LANインターフェースに、フレームの転送先を切り替える。
ネットワークスイッチフォワーディングエンジンは、LANインターフェース側へフレームを転送する際には、フレームに検索結果情報、入力ポート情報等を付与して転送する。
また、ネットワークスイッチフォワーディングエンジンのLANインターフェースの接続先に、PCIエクスプレス(PCI Express)とLANインターフェースを備えたCPUを設ける。
このCPUは、ネットワークスイッチフォワーディングエンジンから受信したフレームに対して、制御サーバへの問合せを行うための情報を取得し、オペレーションシステム上のネットワークプロトコルに影響を与えないようにするため、フレームの情報解析、及び変換を行い、PCIエクスプレス(PCI Express)を使用せずに、LANインターフェースを使用して、フレームを高速に送受信する。
なお、外部接続用と同じ規格のLANインターフェース(10G MAC)をスイッチングノード内部で使用しているため、CPUとネットワークスイッチフォワーディングエンジンとの間、及び、ネットワークスイッチフォワーディングエンジンと外部の制御サーバとの間は、同じフォーマットのフレームが同じ通信速度で通過することになる。すなわち、ネットワークスイッチフォワーディングエンジンは、フレームの情報解析、及び変換を行うことなく、CPUと外部の制御サーバとの間で、フレームをそのまま転送することができる。
また、上記のCPUは、受信したフレームが外部の制御サーバからの応答があるまでメモリに保持し、制御サーバに対してサービスの問合せを行う際、SSL等で利用される暗号化処理、TCP/IP等のネットワークプロトコルを利用し、LANインターフェースを介して、外部の制御サーバと高速に通信を行う。
制御サーバでは、LANインターフェースを介して、スイッチングノードから問合せフレームを受信し、拡張ネットワークサービスを実行し、スイッチングノードに応答を返す。
スイッチングノードでは、LANインターフェースを介して、制御サーバから応答を得た後、拡張ネットワークサービスに必要な設定を、PCIエクスプレス(PCI Express)を経由して、ネットワークスイッチフォワーディングエンジンに設定を行う。
<産業上の利用可能性>
本発明は、セキュリティサーバ、ファイヤーウォール、ロードバランサ等の、より高度サービスをサポートするネットワーク装置に適用することが考えられる。但し、実際には、これらの例に限定されない。
以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
<備考>
なお、本出願は、日本出願番号2010−036416に基づく優先権を主張するものであり、日本出願番号2010−036416における開示内容は引用により本出願に組み込まれる。

Claims (7)

  1. 第1のネットワークサービスを実行するスイッチングノードと、
    第2のネットワークサービスを実行する制御サーバと
    を含み、
    前記スイッチングノードは、
    第1のプロセッサと、
    第2のプロセッサと、
    前記第1のプロセッサで処理するフレームの転送に使用する第1の内部バスと、
    前記制御サーバに送信するフレームの転送に使用する第2の内部バスと、
    前記第2のプロセッサに送信するフレームの転送に使用する第3の内部バスと、
    入力されたフレームのヘッダ領域の複数の領域の情報のうち少なくとも1つの情報に基づいて、前記入力されたフレームの種類を確認し、前記入力されたフレームの種類に応じて、前記第1のネットワークサービスに関するフレームを前記第1の内部バスに転送して前記第1のプロセッサで処理し、前記第2のネットワークサービスに関するフレームを前記第3の内部バスに転送して前記第2のプロセッサに出力するフォワーディングエンジンと
    を具備し、
    前記第1の内部バスは、PCIエクスプレス(PCI Express)スイッチであり、
    前記第2の内部バス及び前記第3の内部バスは、LAN(Local Area Network)インターフェースであり、
    前記第2のプロセッサは、入力されたフレームを、前記第3の内部バス、前記フォワーディングエンジン、及び前記第2の内部バスを介して前記制御サーバに出力し、前記入力されたフレームに応じた前記制御サーバによるフローテーブルの設定を制御し、
    前記フォワーディングエンジンは、前記フローテーブルに基づいて、前記入力されたフレームの転送先を決定する
    通信制御システム。
  2. 請求項に記載の通信制御システムであって、
    前記第2のプロセッサは、
    前記第2の内部バスを介して前記フォワーディングエンジンから受信したフレームに対して、前記制御サーバへの問合せを行うための情報を取得し、前記フレームの情報解析、及び変換を行う手段と、
    前記受信したフレームについて、前記第2の内部バス及び前記フォワーディングエンジンを介して前記制御サーバへの問合せを行い、前記制御サーバから応答を受け取った場合、前記第1の内部バスを介して、前記フォワーディングエンジンに対して、前記第2のネットワークサービスに関する設定を行う手段と
    を具備する
    通信制御システム。
  3. 第1のプロセッサと、
    第2のプロセッサと、
    前記第1のプロセッサで処理するフレームの転送に使用する第1の内部バスと、
    制御サーバに送信するフレームの転送に使用する第2の内部バスと、
    前記第2のプロセッサに送信するフレームの転送に使用する第3の内部バスと、
    入力されたフレームのヘッダ領域の複数の領域の情報のうち少なくとも1つの情報に基づいて、前記入力されたフレームの種類を確認し、前記入力されたフレームの種類に応じて、第1のネットワークサービスに関するフレームを前記第1の内部バスに転送して前記第1のプロセッサで処理し、第2のネットワークサービスに関するフレームを前記第3の内部バスに転送して前記第2プロセッサに出力するフォワーディングエンジンと
    を具備し、
    前記第1の内部バスは、PCIエクスプレス(PCI Express)スイッチであり、
    前記第2の内部バス及び前記第3の内部バスは、LAN(Local Area Network)インターフェースであり、
    前記第2のプロセッサは、入力されたフレームを、前記第3の内部バス、前記フォワーディングエンジン、及び前記第2の内部バスを介して前記制御サーバに出力し、前記入力されたフレームに応じた前記制御サーバによるフローテーブルの設定を制御し、
    前記フォワーディングエンジンは、前記フローテーブルに基づいて前記入力されたフレームの転送先を決定する
    スイッチングノード。
  4. 請求項に記載のスイッチングノードであって、
    前記第2のプロセッサは、
    前記第2の内部バスを介して前記フォワーディングエンジンから受信したフレームに対して、前記制御サーバへの問合せを行うための情報を取得し、前記フレームの情報解析、及び変換を行う手段と、
    前記受信したフレームについて、前記第2の内部バス及び前記フォワーディングエンジンを介して前記制御サーバへの問合せを行い、前記制御サーバから応答を受け取った場合、前記第1の内部バスを介して、前記フォワーディングエンジンに対して、前記第2のネットワークサービスに関する設定を行う手段と
    を具備する
    スイッチングノード。
  5. スイッチングノード上のフォワーディングエンジンにより、入力されたフレームのヘッダ領域の複数の領域の情報のうち少なくとも1つの情報に基づいて、前記入力されたフレームの種類を確認することと、
    前記入力されたフレームが第1のネットワークサービスに関するフレームであれば、前記入力されたフレームを第1の内部バスに転送して前記スイッチングノードが備える第1のプロセッサで処理することと、
    前記入力されたフレームが第2のネットワークサービスに関するフレームであれば、第3の内部バスに転送して前記スイッチングノードが備える第2のプロセッサに出力することと
    前記第2のプロセッサが、入力されたフレームを、前記第3の内部バス、前記フォワーディングエンジン、及び前記第2の内部バスを介して前記制御サーバに出力し、前記入力されたフレームに応じた前記制御サーバによるフローテーブルの設定を制御することと、
    前記フォワーディングエンジンが、前記フローテーブルに基づいて、前記入力されたフレームの転送先を決定することと
    を含み、
    前記第1の内部バスは、PCIエクスプレス(PCI Express)スイッチであり、
    前記第2の内部バス及び前記第3の内部バスは、LAN(Local Area Network)インターフェースである
    通信制御方法。
  6. 請求項に記載の通信制御方法であって、
    前記第2のプロセッサにより、前記第2の内部バスを介して前記フォワーディングエンジンから受信したフレームに対して、前記制御サーバへの問合せを行うための情報を取得し、前記フレームの情報解析、及び変換を行うことと、
    前記第2のプロセッサにより、前記受信したフレームについて、前記第2の内部バス及び前記フォワーディングエンジンを介して前記制御サーバへの問合せを行い、前記制御サーバから応答を受け取った場合、前記第1の内部バスを介して、前記フォワーディングエンジンに対して、前記第2のネットワークサービスに関する設定を行うことと
    を更に含む
    通信制御方法。
  7. 請求項5又は6に記載の通信制御方法をスイッチングノードに実行させるための通信制御用プログラム。
JP2012500671A 2010-02-22 2011-02-18 通信制御システム、スイッチングノード、通信制御方法、及び通信制御用プログラム Expired - Fee Related JP5467541B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012500671A JP5467541B2 (ja) 2010-02-22 2011-02-18 通信制御システム、スイッチングノード、通信制御方法、及び通信制御用プログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2010036416 2010-02-22
JP2010036416 2010-02-22
JP2012500671A JP5467541B2 (ja) 2010-02-22 2011-02-18 通信制御システム、スイッチングノード、通信制御方法、及び通信制御用プログラム
PCT/JP2011/053569 WO2011102488A1 (ja) 2010-02-22 2011-02-18 通信制御システム、スイッチングノード、通信制御方法、及び通信制御用プログラム

Publications (2)

Publication Number Publication Date
JPWO2011102488A1 JPWO2011102488A1 (ja) 2013-06-17
JP5467541B2 true JP5467541B2 (ja) 2014-04-09

Family

ID=44483073

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012500671A Expired - Fee Related JP5467541B2 (ja) 2010-02-22 2011-02-18 通信制御システム、スイッチングノード、通信制御方法、及び通信制御用プログラム

Country Status (7)

Country Link
US (1) US9047416B2 (ja)
EP (1) EP2541843B1 (ja)
JP (1) JP5467541B2 (ja)
KR (1) KR101401874B1 (ja)
CN (1) CN102771093B (ja)
TW (1) TWI436626B (ja)
WO (1) WO2011102488A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2745475B1 (en) * 2011-08-18 2015-10-07 Telefonaktiebolaget L M Ericsson (publ) Centralized control of data plane applications
KR20140106235A (ko) * 2013-02-26 2014-09-03 한국전자통신연구원 오픈플로우 스위치 및 그 패킷 처리 방법
JP6191166B2 (ja) * 2013-03-01 2017-09-06 日本電気株式会社 Sdnネットワークシステム、コントローラ装置及びそれらに用いる通信量削減方法
CN104158916A (zh) * 2013-05-13 2014-11-19 中兴通讯股份有限公司 设备接入网络的方法和装置
KR102147629B1 (ko) 2013-11-18 2020-08-27 삼성전자 주식회사 플렉시블 서버 시스템
US20180241723A1 (en) * 2015-02-25 2018-08-23 Nec Corporation Interconnection device, management device, resource-disaggregated computer system, method, and medium
JP6654733B2 (ja) * 2017-03-01 2020-02-26 日本電信電話株式会社 データ処理装置、ネットワークシステム、パケット順序制御回路、およびデータ処理方法
CN107182069B (zh) * 2017-05-23 2020-06-26 深圳市微网力合信息技术有限公司 无线路由器传输速率切换方法、控制方法及无线路由器
US11356388B2 (en) 2017-08-18 2022-06-07 Missing Link Electronics, Inc. Real-time multi-protocol heterogeneous packet-based transport
US10708199B2 (en) 2017-08-18 2020-07-07 Missing Link Electronics, Inc. Heterogeneous packet-based transport
US20200304368A1 (en) * 2019-03-20 2020-09-24 Arista Networks, Inc. Accessing processing devices of a network device
CN115687221A (zh) 2021-07-22 2023-02-03 智原微电子(苏州)有限公司 高速周边组件互连的事务层电路及其操作方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005317021A (ja) * 2004-04-28 2005-11-10 Microsoft Corp 設定可能なpciエクスプレススイッチ
JP2007219873A (ja) * 2006-02-17 2007-08-30 Nec Corp スイッチ及びネットワークブリッジ装置

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7167927B2 (en) * 1997-10-14 2007-01-23 Alacritech, Inc. TCP/IP offload device with fast-path TCP ACK generating and transmitting mechanism
US6434620B1 (en) * 1998-08-27 2002-08-13 Alacritech, Inc. TCP/IP offload network interface device
US5941969A (en) * 1997-10-22 1999-08-24 Auspex Systems, Inc. Bridge for direct data storage device access
US7274706B1 (en) * 2001-04-24 2007-09-25 Syrus Ziai Methods and systems for processing network data
CN1125545C (zh) 2001-12-31 2003-10-22 刘军民 实现局域网虚通道传送的数据转发方法
US7188209B2 (en) * 2003-04-18 2007-03-06 Nextio, Inc. Apparatus and method for sharing I/O endpoints within a load store fabric by encapsulation of domain information in transaction layer packets
US7451197B2 (en) * 2003-05-30 2008-11-11 Intel Corporation Method, system, and article of manufacture for network protocols
CN1620047A (zh) 2003-11-18 2005-05-25 华为技术有限公司 以太网交换机和路由器的统一平台***
US7657706B2 (en) * 2003-12-18 2010-02-02 Cisco Technology, Inc. High speed memory and input/output processor subsystem for efficiently allocating and using high-speed memory and slower-speed memory
US7533176B2 (en) * 2004-07-14 2009-05-12 International Business Machines Corporation Method for supporting connection establishment in an offload of network protocol processing
US9264384B1 (en) * 2004-07-22 2016-02-16 Oracle International Corporation Resource virtualization mechanism including virtual host bus adapters
US8438265B2 (en) * 2004-11-04 2013-05-07 International Business Machines Corporation Method of offloading iSCSI PDU corruption-detection digest generation from a host processing unit, and related iSCSI offload engine
JP2006202210A (ja) 2005-01-24 2006-08-03 Toshiba Corp 情報処理装置、サービス公開方法及びプログラム
US7480303B1 (en) * 2005-05-16 2009-01-20 Pericom Semiconductor Corp. Pseudo-ethernet switch without ethernet media-access-controllers (MAC's) that copies ethernet context registers between PCI-express ports
WO2007006146A1 (en) * 2005-07-12 2007-01-18 Advancedio Systems Inc. System and method of offloading protocol functions
JP2008020977A (ja) * 2006-07-11 2008-01-31 Sony Computer Entertainment Inc ネットワークプロセッサシステムおよびネットワークプロトコル処理方法
US7487284B2 (en) * 2006-07-28 2009-02-03 Intel Corporation Transaction flow and ordering for a packet processing engine, located within an input-output hub
JP4998469B2 (ja) 2006-08-09 2012-08-15 日本電気株式会社 インターコネクション用スイッチおよびシステム
JP4501916B2 (ja) 2006-09-20 2010-07-14 日本電気株式会社 I/o機器の共有システムと情報処理装置共有システム及びそれらに用いる方法
US7734859B2 (en) * 2007-04-20 2010-06-08 Nuon, Inc Virtualization of a host computer's native I/O system architecture via the internet and LANs
KR20080102768A (ko) * 2007-05-22 2008-11-26 삼성전자주식회사 무선 hdmi cec에서 패킷 생성 방법
WO2009025381A1 (ja) * 2007-08-23 2009-02-26 Nec Corporation I/oシステムおよびi/o制御方法
US8072894B2 (en) * 2007-11-07 2011-12-06 Juniper Networks, Inc. Systems and methods for flow monitoring
US20100002714A1 (en) * 2008-07-01 2010-01-07 George Madathilparambil George PCI express network
JP5380978B2 (ja) * 2008-09-26 2014-01-08 富士通株式会社 伝送装置、伝送装置の制御方法および伝送装置の制御プログラム
JP5434929B2 (ja) * 2008-11-13 2014-03-05 日本電気株式会社 I/oバスシステム
US9256560B2 (en) * 2009-07-29 2016-02-09 Solarflare Communications, Inc. Controller integration
KR20120012354A (ko) * 2010-07-31 2012-02-09 주식회사 에세텔 부하 절감형 toe 네트워크 장치
CN102821082A (zh) * 2011-06-10 2012-12-12 成都市华为赛门铁克科技有限公司 一种数据传输方法、装置和***
US9172557B2 (en) * 2012-08-17 2015-10-27 International Business Machines Corporation Load balancing overlay network traffic using a teamed set of network interface cards
CN103023824B (zh) * 2012-12-11 2015-08-26 华为技术有限公司 基于周边组件接口快速通道PCIe的数据传输***及方法
CN103036817A (zh) * 2012-12-14 2013-04-10 华为技术有限公司 一种服务器单板、服务器单板实现方法及主处理器
US8891542B2 (en) * 2012-12-19 2014-11-18 International Business Machines Corporation Unified system networking with CEE-PCIe tunneling
WO2014172869A1 (zh) * 2013-04-25 2014-10-30 华为技术有限公司 一种在虚拟局域网中通信的方法、设备和***

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005317021A (ja) * 2004-04-28 2005-11-10 Microsoft Corp 設定可能なpciエクスプレススイッチ
JP2007219873A (ja) * 2006-02-17 2007-08-30 Nec Corp スイッチ及びネットワークブリッジ装置

Also Published As

Publication number Publication date
EP2541843A1 (en) 2013-01-02
US9047416B2 (en) 2015-06-02
CN102771093A (zh) 2012-11-07
EP2541843B1 (en) 2014-11-19
US20130086295A1 (en) 2013-04-04
WO2011102488A1 (ja) 2011-08-25
JPWO2011102488A1 (ja) 2013-06-17
TW201218708A (en) 2012-05-01
KR20120123465A (ko) 2012-11-08
CN102771093B (zh) 2014-12-10
EP2541843A4 (en) 2013-09-25
KR101401874B1 (ko) 2014-05-29
TWI436626B (zh) 2014-05-01

Similar Documents

Publication Publication Date Title
JP5467541B2 (ja) 通信制御システム、スイッチングノード、通信制御方法、及び通信制御用プログラム
KR101478475B1 (ko) 컴퓨터 시스템 및 컴퓨터 시스템에 있어서의 통신 방법
JP5962808B2 (ja) スイッチシステム、スイッチ制御方法、及び記憶媒体
JP5557066B2 (ja) スイッチシステム、モニタリング集中管理方法
JP5654142B2 (ja) ネットワーク・スイッチを構成するための方法
KR101559644B1 (ko) 통신 제어 시스템, 스위치 노드 및 통신 제어 방법
US9088432B2 (en) Remote control system, remote control method and program for remote control
JP2015511074A (ja) 通信のためのシステム及び方法
JP3167906B2 (ja) データ伝送方法及びシステム
US11888959B2 (en) Data transmission method, system, device, and storage medium
JP2013115733A (ja) ネットワークシステム、及びネットワーク制御方法
JP6160101B2 (ja) 通信装置、制御装置、通信システム、制御メッセージの送信方法
Murali et al. A high-Speed Communication System is based on the Design of a Bi-NoC Router, which uses an Advanced FIFO Structure.

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130416

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130617

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130808

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131108

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20131120

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140119

LAPS Cancellation because of no payment of annual fees