JPWO2014098117A1 - 通信ノード、制御装置、制御情報エントリの管理方法及びプログラム - Google Patents

通信ノード、制御装置、制御情報エントリの管理方法及びプログラム Download PDF

Info

Publication number
JPWO2014098117A1
JPWO2014098117A1 JP2014553174A JP2014553174A JPWO2014098117A1 JP WO2014098117 A1 JPWO2014098117 A1 JP WO2014098117A1 JP 2014553174 A JP2014553174 A JP 2014553174A JP 2014553174 A JP2014553174 A JP 2014553174A JP WO2014098117 A1 JPWO2014098117 A1 JP WO2014098117A1
Authority
JP
Japan
Prior art keywords
entry
user
control information
storage unit
communication node
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
JP2014553174A
Other languages
English (en)
Other versions
JP6287859B2 (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
Publication of JPWO2014098117A1 publication Critical patent/JPWO2014098117A1/ja
Application granted granted Critical
Publication of JP6287859B2 publication Critical patent/JP6287859B2/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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • 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/2854Wide area networks, e.g. public data networks
    • H04L12/2856Access arrangements, e.g. Internet access
    • H04L12/2869Operational details of access network equipments
    • H04L12/287Remote access server, e.g. BRAS
    • H04L12/2876Handling of subscriber policies
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/808User-type aware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/354Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]

Landscapes

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

Abstract

通信ノードが保持している制御情報エントリが特定の通信のものに偏らないようにする。通信ノードは、受信パケットに適用する処理を定めた制御情報エントリを利用者情報と対応付けて所定数保持可能なエントリ記憶部と、前記エントリ記憶部を参照して、受信パケットを処理するパケット処理部と、予め定められた基準に基づいて、エントリ記憶部に保持されている一の利用者のための制御情報エントリの数が、前記エントリ記憶部の保持可能な制御情報エントリの数に対する所定の割合を超えないよう制御するエントリ管理部と、を備える。

Description

[関連出願についての記載]
本発明は、日本国特許出願:特願2012−276919号(2012年12月19日出願)に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、通信ノード、制御装置、フローエントリの管理方法及びプログラムに関し、特に、制御装置から設定されたエントリを参照して受信パケットを処理する通信ノード、制御装置、制御情報エントリの管理方法及びプログラムに関する。
非特許文献1、2に、オープンフローという技術が提案されている。オープンフローは、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化を行うものである。非特許文献2に仕様化されているオープンフロースイッチは、オープンフローコントローラとの通信用のセキュアチャネルを備え、オープンフローコントローラから適宜追加または書き換え指示されるフローテーブルに従って動作する。フローテーブルには、フロー毎に、パケットヘッダと照合するマッチ条件(Match Fields)と、フロー統計情報(Counters)と、処理内容を定義したインストラクション(Instructions)と、の組が定義される(非特許文献2の「5.2 Flow Table」の項参照)。
例えば、オープンフロースイッチは、パケットを受信すると、フローテーブルから、受信パケットのヘッダ情報に適合するマッチ条件(非特許文献2の「5.3 Matching」参照)を持つエントリを検索する。検索の結果、受信パケットに適合するエントリが見つかった場合、オープンフロースイッチは、フロー統計情報(カウンタ)を更新するとともに、受信パケットに対して、当該エントリのインストラクションフィールドに記述された処理内容(指定ポートからのパケット送信、フラッディング、廃棄等)を実施する。一方、検索の結果、受信パケットに適合するエントリが見つからなかった場合、オープンフロースイッチは、セキュアチャネルを介して、オープンフローコントローラに対してエントリ設定の要求、即ち、受信パケットを処理するための制御情報の送信要求(Packet−Inメッセージ)を送信する。オープンフロースイッチは、処理内容が定められたフローエントリを受け取ってフローテーブルを更新する。このように、オープンフロースイッチは、フローテーブルに格納されたエントリを制御情報として用いてパケット転送を行う。
特許文献1には、光ネットワークシステムにおいて、使用されていない余剰パスを貸し出す方法が開示されている。具体的には、光ネットワークシステムの設定制御装置が、ユーザから応募を募り、その応募数に応じて貸し出し料金や貸し出す資源量を決定することが記載されている。
特開2007−226706号公報
Nick McKeownほか7名、"OpenFlow: Enabling Innovation in Campus Networks"、[online]、[平成24(2012)年11月24日検索]、インターネット〈URL:http://www.openflow.org/documents/openflow-wp-latest.pdf〉 "OpenFlow Switch Specification" Version 1.1.0 Implemented (Wire Protocol 0x02)、[online]、[平成24(2012)年11月24日検索]、インターネット〈URL: https://www.opennetworking.org/images/stories/downloads/specification/openflow-spec-v1.2.pdf〉
以下の分析は、本発明によって与えられたものである。上記オープンフローに代表される集中制御型のネットワークの1つの通信ノード(例:オープンフロースイッチ)が保持可能なフローエントリの数は有限であるため、不要となったフローエントリを掃き出す仕組みが考案されている。例えば、非特許文献2のオープンフローの仕様書によれば、一定期間マッチ条件に適合するパケットを受信しなかったフローエントリを削除する方法(アイドルタイムアウト)、設定時から所定時間が経過したフローエントリを削除する方法(ハードタイムアウト)を利用することが可能となっている。さらには、1つの通信ノードが保持可能なフローエントリの数の上限値に達してしまった場合には、LRU(Least Recently Used)、FIFO(First−In First−Out)等のルールによって選択したフローエントリを削除する方法も使用される。
ここで、複数のサーバ(仮想マシンでもよい)がそれぞれネットワークに接続され、ホストにサービスを提供する構成を考える(例えば、図9参照)。これらのサーバとそれぞれホストとの通信経路が重複する場合、重複する区間の通信ノードに、それぞれのサーバ−ホスト間の通信を実現するフローエントリが設定されることになる。上記構成にて、前記複数のサーバのうちの1つのサーバ(例えば、図9のサーバ30A)に他のサーバ(例えば、図9のサーバ30B)に比べて頻繁にホストと通信を行うようなアプリケーションが動作している場合、前記重複する区間の通信ノードのフローエントリ格納領域が、前記頻繁にホストと通信する方のサーバ−ホスト間の通信を実現するフローエントリによって占められてしまうことになる。このため、他のサーバ−ホスト間の通信発生時に、必要なフローエントリがすでに掃き出されていたり、新たにフローエントリを設定するとしても必要な領域が不足してしまうといった事態が起こりうる。最終的には、2つのサーバの平均TAT(Turn Around Time)にも差が生じてしまう。
本発明は、集中制御型ネットワークの通信ノードが保持している制御情報エントリが特定の通信のものに偏らないようにすることのできる通信システム、通信装置、制御装置、通信装置の制御方法及びプログラムを提供することを目的とする。
第1の視点によれば、受信パケットに適用する処理を定めた制御情報エントリを利用者情報と対応付けて所定数保持可能なエントリ記憶部と、前記エントリ記憶部を参照して、受信パケットを処理するパケット処理部と、予め定められた基準に基づいて、エントリ記憶部に保持されている一の利用者のための制御情報エントリの数が、前記エントリ記憶部の保持可能な制御情報エントリの数に対する所定の割合を超えないよう制御するエントリ管理部と、を備えた通信ノードが提供される。
第2の視点によれば、受信パケットに適用する処理を定めた制御情報エントリを所定数保持可能な通信ノードからの要求に応じて前記制御情報エントリを設定するエントリ設定部と、利用者毎に前記設定した制御情報エントリを管理するエントリ管理部と、予め定められた基準に基づいて、前記スイッチのエントリ記憶部に保持されている一の利用者のための制御情報エントリの数が、前記エントリ記憶部の保持可能な制御情報エントリの数に対する所定の割合を超えないよう前記エントリ設定部を制御する制御部と、を備えた制御装置が提供される。
第3の視点によれば、通信ノードのエントリ記憶部に保持されている制御情報エントリのうち、一の利用者のための制御情報エントリが所定の割合を超えているか否かを検査するステップと、前記一の利用者のための制御情報エントリが所定の割合を超えている場合、前記エントリ記憶部から、前記一の利用者のための制御情報エントリを削除するステップと、を含む制御情報エントリの管理方法が提供される。本方法は、通信ノードのエントリ記憶部に保持されている制御情報エントリを管理する装置(通信ノード又は制御装置)という、特定の機械に結びつけられている。
第4の視点によれば、上記した通信ノード又は制御装置の機能を実現するためのプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な(非トランジエントな)記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
本発明によれば、通信ノードが保持している制御情報エントリが特定の通信のものに偏らないようにすることが可能となる。
本発明の第1の実施形態の構成を示す図である。 本発明の第1の実施形態の通信ノードに保持されるフローエントリの構成を示す図である。 本発明の第1の実施形態におけるエントリ使用率を説明するための図である。 本発明の第1の実施形態の通信ノードのエントリ管理部に設定されているエントリ配分率の一例を示す図である。 本発明の第1の実施形態の通信ノードの動作を示すフローチャートである。 本発明の第2の実施形態の通信ノードのエントリ記憶部に保持されるテーブルを説明するための図である。 本発明の第2の実施形態の通信ノードのエントリ記憶部に保持されるテーブルを説明するための図である。 本発明の第3の実施形態の構成を示す図である。 サーバ−ホスト間の通信と、フローエントリとの関係を説明するための図である。
はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
本発明は、その一実施形態において、受信パケットに適用する処理を定めたフローエントリを利用者情報と対応付けて所定数保持可能なエントリ記憶部(図1の201)と、エントリ記憶部(図1の201)を参照して、受信パケットを処理するパケット処理部(図1の202)と、予め定められた基準に基づいて、エントリ記憶部(図1の201)に保持されている一の利用者のためのフローエントリの数が、前記エントリ記憶部の保持可能なフローエントリの数に対する所定の割合を超えないよう制御するエントリ管理部(図1の203)と、を備えた通信ノードにて実現できる。利用者情報としては、例えば、ネットワーク上のサーバや仮想マシンを利用したサービスの提供者や、これらサービスを受ける一般ユーザといった通信主体の情報が挙げられる。
上記構成を採ることにより、特定の利用者のためのフローエントリが制約無く増えてしまう事態を回避することができる。
[第1の実施形態]
続いて、本発明の第1の実施形態について図面を参照して詳細に説明する。図1は、本発明の第1の実施形態の構成を示す図である。図1を参照すると、制御装置10と、通信ノード20と、通信ノード20を介して通信するサーバ30A、30B及びホスト40を含む構成が示されている。
制御装置10は、通信ノード20のエントリ記憶部201にフローエントリを設定することにより、通信ノード20を制御する。このような制御装置10としては、非特許文献1、2のオープンフローコントローラやSDN(Software Defined Network)コントローラと呼ばれる製品を用いることができる。
通信ノード20は、制御装置10から設定されるフローエントリを記憶するエントリ記憶部201と、エントリ記憶部201から受信パケットに適合するマッチ条件を持つエントリに従いパケットを処理するパケット処理部202と、エントリ記憶部201に記憶されているエントリを管理するエントリ管理部203とを備えている。
図2は、通信ノード20のエントリ記憶部201に記憶されるフローエントリの構成を示す図である。図2を参照すると、本実施形態のフローエントリは、パケットの受信ポートやヘッダ情報と照合するマッチ条件と、このマッチ条件に適合したパケット等の統計情報を記録するフロー統計情報と、前記マッチ条件に適合したパケットに適用する処理を格納するインストラクションと、前記マッチ条件に適合するパケットの利用者を示す利用者情報とを対応付けて構成されている。なお、図2に示したフローエントリは、非特許文献2の「5.2 Flow Table」に記載されているフローエントリに、利用者情報フィールドを追加した構成にて実現できる。
同一のネットワークを複数ユーザで共用する場合、ユーザ毎に異なるVLAN(Virtual Local Area Network) IDを割り当てて運用することが一般的である。そこで、本実施形態では、利用者情報として、VLAN IDを用いることとする。利用者情報としては、上記VLAN IDに限られず、パケットの送信元や宛先の装置の管理者を示す情報といった粒度の細かい情報を用いることもできる。
以下、本実施形態では、ユーザA(テナントA)はサーバ30Aをレンタルして使用し、ユーザB(テナントB)はサーバ30Bをレンタルして使用する。同一ネットワークを複数ユーザで共用するために、ユーザAに割り当てられたVLAN IDを「α」とし、ユーザBに割り当てられたVLAN IDを「β」とする。
また、通信ノード20は、ポート204、205を備えており、それぞれVLAN IDが設定可能となっている。本実施形態では、通信ノード20のサーバ30Aと接続されるポート204にはVLAN ID「α」が設定され、通信ノード20のサーバ30Bと接続されるポート205には ID「β」が設定されているものとする。これら各ポートに設定されたVLAN IDは、エントリ記憶部201の利用者情報フィールドにVLAN IDを記録する際に使用される。
パケット処理部202は、パケットを受信すると、エントリ記憶部201から受信パケットに適合するマッチ条件を持つフローエントリを検索する。前記検索の結果、受信パケットに適合するマッチ条件を持つフローエントリが見つかった場合、パケット処理部202は、受信パケットに、当該フローエントリのインストラクションフィールドに規定された処理内容(指定ポートから転送、ヘッダ書換え等)を適用する。併せて、パケット処理部202は、当該フローエントリのフロー統計情報フィールドを更新するとともに、利用者情報フィールドに、パケットの受信ポートに設定されたVLAN IDを記録する。
なお、前記エントリ記憶部201の検索の結果、受信パケットに適合するマッチ条件を持つフローエントリが見つからなかった場合、パケット処理部202は、制御装置10に対して、受信パケット又は受信パケットから抽出した情報を送信し、フローエントリの設定を要求する。
パケット処理部202は、制御装置10に対してフローエントリの設定を要求した際に、前記エントリ記憶部201に空きが無い場合、エントリ管理部203に対し、パケットの受信ポートに設定されたVLAN IDを指定してエントリの削除を依頼する。
エントリ管理部203は、パケット処理部202からエントリの削除依頼を受けると、エントリ記憶部201に保持されているフローエントリの利用者情報を元に、エントリ記憶部201の保持可能なフローエントリの数に対する当該利用者(VLAN ID)を設定されたフローエントリの割合(使用率)が、その利用者(VLAN ID)に設定された負担率(しきい値)を超えているか否かを確認する。前記検索の結果、該当する利用者のフローエントリの割合(使用率)が負担率(しきい値)を超えている場合、エントリ管理部203は、その利用者情報が対応付けられたフローエントリの中からLRU(Least Recent Used)等のアルゴリズムを用いて選択したフローエントリを削除して、エントリ記憶部201に空き領域を作成する。
前記検索の結果、該当する利用者のフローエントリの割合(使用率)が前記各ユーザ毎に設定された負担率(しきい値)を超えていない場合、エントリ管理部203は、その利用者以外の利用者情報が対応付けられたフローエントリの中からLRU等のアルゴリズムを用いて選択したフローエントリを削除して、エントリ記憶部201に空き領域を作成する。
ここで、上記した利用者のフローエントリの割合(使用率)と、負担率(しきい値)について説明する。図3は、ある時点におけるエントリ記憶部201に記憶されているフローエントリを示す図である。利用者情報フィールドに「α」が記録されているフローエントリは、サーバ30AをレンタルしているユーザAのためのフローエントリである。同様に、利用者情報フィールドに「β」が記録されているフローエントリは、サーバ30BをレンタルしているユーザBのためのフローエントリである。利用者情報フィールドに「α、β」が記録されているフローエントリは、ポート204から到着したパケット、および、ポート205から到着したパケットの両方がマッチしたことがあるフローエントリであり、ユーザA、Bが共用しているフローエントリということができる。
図3のEtはエントリ記憶部201が保持可能なフローエントリの総数を表している。また、Esは、ユーザAとユーザBで共有しているフローエントリの数を表している。Eaは、ユーザAのみが使用しているフローエントリの数を表し、Ebは、ユーザBのみが使用しているフローエントリの数を表している。また、Eeは、使用されていない領域(空き領域)に格納可能なフローエントリの数を表している。
本実施形態では、まず、上記した数値を用いて、各ユーザのフローエントリの使用尺度Ma、Mbを算出する。Maは、ユーザAのフローエントリの使用尺度、Mbは、ユーザBのフローエントリの使用尺度を示している。例えば、400個のフローエントリを保持可能で空き領域が無い場合において(Et=400、Ee=0)、ユーザAのVLAN IDが記録されているフローエントリが200個(Es=100、Ea=100)ある場合、Maは0.5と算出される。同様に、ユーザBのVLAN IDが記録されているフローエントリが300個(Es=100、Eb=200)ある場合、Mbは0.75と算出される。
Ma = (Es + Ea)/(Et − Ee)
Mb = (Es + Eb)/(Et − Ee)
また、ユーザ毎のフローエントリ使用率は以下のように表せる。ユーザAのフローエントリ使用率をUa、ユーザBのフローエントリ使用率をUbとする。
Ua = Ma/(Ma + Mb)
Ub = Mb/(Ma + Mb)
例えば、Ma=0.5、Mb=0.75とすると、ユーザAのフローエントリ使用率Uaは、0.4=40%と算出される。同様に、ユーザBのフローエントリ使用率Ubは、0.6=60%と算出される。
図4は、各ユーザ毎に設定された負担率(しきい値)の例であり、ネットワーク管理者等により、エントリ管理部203等に設定される。図4の例では、新規フローエントリを格納する空き領域が無い場合に、ユーザAは、フローエントリ使用率Uaが41%を超えると、自身のフローエントリが削除対象となる。同様にユーザBは、フローエントリ使用率Ubが59%を超えると、自身のフローエントリが削除対象となる。前述の例では、ユーザAのフローエントリ使用率Uaは40%であるので、新規フローエントリを格納する空き領域が無い場合、ユーザAのフローエントリは削除対象とならずに、ユーザBのフローエントリが削除対象となる。一方、ユーザBのフローエントリ使用率Ubは60%であるので、新規フローエントリを格納する空き領域が無い場合、ユーザBのフローエントリが削除対象となる。この結果、次の判定時には、フローエントリ使用率Ubが減少することになる。
本実施形態では、各ユーザがネットワークインフラをレンタルするに当たって負担した料金を元に上記した負担率(しきい値)を計算している。例えば、ユーザAが支払った金額をCa、ユーザBが支払った金額をCbとすれば、ユーザAの負担率(しきい値)Pa及びユーザBの負担率(しきい値)Pbは以下のように求めることができる。このようにすることで、ネットワークインフラをレンタルするに当たって負担した料金に応じ、フローエントリの設定数の上限を定めることができる。
Pa = Ca/(Ca + Cb)
Pb = Cb/(Ca + Cb)
即ち、本実施形態によるフローエントリの数の制御は、各ユーザの負担率に応じて、使用できるフローテーブル領域(フローエントリ使用率U)を保証するものということもできる。
続いて、本実施形態の動作について図面を参照して詳細に説明する。図5は、本発明の第1の実施形態の通信ノードの動作を示すフローチャートである。図5を参照すると、まず、通信ノード20は、パケットを受信すると、当該パケットを受信したポートのVLAN IDを識別しておく(ステップA01)。
次に、通信ノード20は、当該パケットのヘッダ情報を読み取り、エントリ記憶部201から、前記ヘッダ情報に適合するマッチ条件を持つフローエントリを検索する(ステップA02)。
前記検索の結果、パケットのヘッダ情報に適合するマッチ条件を持つフローエントリが存在した場合、通信ノード20は、当該フローエントリの利用者情報フィールドにステップA01で識別したVLAN IDと同一のVLAN IDが記録済みであるかどうかを確認する(ステップA03)。
前記確認の結果、該当するVLAN IDが既に記録されていた場合、当該フローエントリは、受信パケットの利用者として設定済みである。通信ノード20は、そのインストラクションフィールドに設定された処理を実行する(ステップA04)。
一方、ステップA03の確認の結果、該当するVLAN IDが既に記録されていない場合、当該フローエントリは、受信パケットの利用者として設定されていないので、通信ノード20は、当該フローエントリの利用者情報フィールドにステップA01で識別したVLAN IDを追記する(ステップA06)。これにより、以後、当該フローエントリは、図3に示した共有フローエントリとしてカウントされることになる。ステップA06の後は、同様に、通信ノード20は、ステップA04以降の処理を実行する。
一方、ステップA02の検索の結果、パケットのヘッダ情報に適合するマッチ条件を持つフローエントリが存在しなかった場合、通信ノード20は、制御装置10に対しフローエントリの設定を要求することになる。制御装置10に対しフローエントリの設定を要求する前に、通信ノード20は、エントリ記憶部201に空き領域があるかないかを確認する(ステップA07)。
前記確認の結果、エントリ記憶部201に空き領域が存在した場合、この空き領域に新規フローエントリを設定することになる。通信ノード20は、制御装置10に対しフローエントリの設定を要求し、制御装置10から送られたフローエントリをエントリ記憶部201に登録する(ステップA08)。以降は、先のフローエントリが見つかった場合と同様に、VLAN IDの追記(ステップA06)、フローエントリに従ったパケット処理(ステップA04)が実行される。
一方、ステップA07の確認の結果、エントリ記憶部201に空き領域が存在しない場合、エントリ記憶部201に記憶されているフローエントリを一つ削除し、空き領域を確保する必要がある。
そこで、パケット処理部202は、エントリ管理部203に対し、ステップA01で識別したVLAN IDを指定してエントリの削除を依頼する。
前記依頼を受けたエントリ管理部203は、上記説明した数式等を用いて、ステップA01で識別したVLAN IDに対応するユーザのフローエントリ使用率Uを計算し、各ユーザの負担率(しきい値)Pとを比較する(ステップA09)。
前記比較の結果、パケット受信したポートVLAN IDが割り当てられたユーザのフローエントリ使用率Uが、各ユーザの負担率(しきい値)Pを超えている場合、エントリ管理部203は、このユーザが使用するフローエントリの中からLRU等を用いて選択したエントリを削除する(ステップA10)。つまり、料金の負担分以上にエントリ記憶部201の領域を使いすぎている状況である場合、そのユーザが利用者として記録されているフローエントリが削除の対象となる。以降は、先に説明したとおり、制御装置10へのフローエントリの設定要求とエントリ記憶部201への登録(ステップA08)、VLAN IDの追記(ステップA06)、フローエントリに従ったパケット処理(ステップA04)が実行される。
一方、前記比較の結果、パケット受信したポートVLAN IDが割り当てられたユーザのフローエントリ使用率Uが、各ユーザの負担率(しきい値)P以下である場合、エントリ管理部203は、他のユーザが使用するフローエントリの中からLRU等を用いて選択したエントリを削除する(ステップA11)。以降は、先に説明したとおり、制御装置10へのフローエントリの設定要求とエントリ記憶部201への登録(ステップA08)、VLAN IDの追記(ステップA06)、フローエントリに従ったパケット処理(ステップA04)が実行される。
なお、ステップA11において、他のユーザが複数いる場合、各ユーザについて、フローエントリ使用率Uを計算し、負担率(しきい値)Pとの乖離が大きいユーザのフローエントリを削除するようにしてもよい。
以上のように、本実施形態によれば、通信ノード20のエントリ記憶部201に保持されているフローエントリが特定ユーザのフローエントリに偏らないように管理される。この結果、図1のサーバ30A、30Bの通信頻度によってフローエントリの数に不均衡が生じ、一方のサーバのTATが落ちてしまうといった事態も防ぐことが可能となる。
また、本実施形態によれば、各ユーザが、ネットワークインフラを使用するにあたって支払った料金の割合に応じて、設定可能なフローエントリの数を制御でき、ユーザ間の公平性を担保することができる。またこれにより、データセンタ事業者などが、ネットワークインフラを貸し出す際に、フローエントリ使用率Uに応じた課金体系を構築することが可能となる。
なお、上記した実施形態では、エントリ記憶部201に空き領域が無くなってから、フローエントリの削除を行うこととしているが、例えば、新規のユーザからのパケットや制御用のパケットを処理するフローエントリを設定する領域を確保する必要がある場合には、エントリ記憶部201に空き領域が無くなる前に、既存ユーザのフローエントリの削除制御を行ってもよい。この場合、例えば、図5のステップA07において、エントリ記憶部201の空き領域が所定フローエントリ分乃至所定割合あるか否かを判定し、その結果に応じてフローエントリを削除するか否かを決定することになる。
[第2の実施形態]
続いて、上記した第1の実施形態をより簡単化した第2の実施形態について図面を参照して説明する。本実施形態は、ユーザ(VLAN ID)毎に専用のテーブルを割り当てる方式であり、その他は第1の実施形態と同様であるので、その相違点を中心に説明する。
図6、図7は、本実施形態の通信ノード20のエントリ記憶部に設定されるテーブルの例である。図6は、ユーザAに割り当てられたテーブルを示している。図6のユーザAのテーブルに格納可能なフローエントリの総数Etaは、通信ノード20のエントリ記憶部が保持可能なフローエントリの総数Etと、前述の負担率Paとから、Eta=Et×Paにより算出できる。同様に、図7は、ユーザBに割り当てられたテーブルを示している。
以上のように、本実施形態によれば、フローエントリの使用率の計算をしなくとも、負担率に応じた数のフローエントリを割り当てることができる。
[第3の実施形態]
続いて、上記した利用者毎のフローエントリの数の制御を制御装置側で実行するようにして第3の実施形態について図面を参照して説明する。図8を参照すると、制御装置10Aと、通信ノード20Aと、通信ノード20Aを介して通信するサーバ30A、30B及びホスト40を含む構成が示されている。
制御装置10Aは、各通信ノード20Aに設定したフローエントリを記憶するエントリ記憶部101と、通信ノード20Aからのフローエントリの設定要求に応じて、通信ノード20Aのエントリ記憶部201にフローエントリを設定するエントリ設定部102と、第1の実施形態のエントリ管理部203と同様に、利用者毎にフローエントリの数を制御するエントリ管理部103とを備えている。
本実施形態では、制御装置10Aは、通信ノード20Aからのフローエントリの設定要求を受けると、エントリ記憶部101を参照して、通信ノード20Aのエントリ記憶部201に空きがあるか否かを確認し、空きが無い場合、上記した第1の実施形態と同様に、通信ノード20Aのエントリ記憶部201が保持可能なフローエントリの総数に対するフローエントリの割合(使用率)が、その利用者(VLAN ID)に設定された負担率(しきい値)を超えているユーザのフローエントリを優先して削除する。そして、制御装置10Aは、前記削除によりできた空き領域に、通信ノード20Aからのフローエントリの設定要求を受けて作成したフローエントリを設定する。
以上のように、本発明は、通信ノード側の制御ではなく、制御装置側の制御により実施する形態にも変形できる。また、上記した第2の実施形態と同様に、通信ノードが複数のテーブルを備えている場合においても同様に、制御装置10Aが、各テーブルを参照して、利用者毎のフローエントリの数を制限する形態にも変形できる。
なお、図1、8に示した各装置のエントリ管理部103、203は、これらの装置に搭載されたコンピュータに、そのハードウェアを用いて、上記したエントリ管理部103、203の機能を実現する処理を実行させるコンピュータプログラムにより実現することもできる。
以上、本発明の実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、上記した実施形態で用いたネットワーク構成や、要素の数に制約は無い。
例えば、上記した各実施形態では、通信ノード20、20Aが一つである構成を用いて説明したが、通信ノード20、20Aが複数あってもよい。また、上記した各実施形態では、ユーザA、ユーザBがネットワークを共有する例を挙げて説明したが、3人以上のユーザがネットワークを共有する場合にも同様に適用可能である。
例えば、上記した各実施形態で例示したフローエントリの割合(使用率)や負担率(しきい値)は、種々の変形を加えることができる。例えば、例えば、共有のフローエントリは、制御用のフローエントリ等である場合が多いことを考慮して、フローエントリの割合(使用率)の算出根拠に用いないようにしてもよい。同様の観点で、共有のフローエントリは、削除の対象外としてもよい。
最後に、本発明の好ましい形態を要約する。
[第1の形態]
(上記第1の視点による通信ノード参照)
[第2の形態]
第1の形態において、
前記エントリ管理部は、少なくとも前記エントリ記憶部が保持可能なエントリ数と、利用者のためのエントリ数とを用いて所定の方法で算出した利用者のエントリ使用率が、前記利用者毎に設定されたしきい値を超えないよう制御する通信ノード。
[第3の形態]
第2の形態において、
前記エントリ管理部は、
前記エントリ記憶部の空き領域が所定数の制御情報エントリ分ある間は、前記しきい値による制御情報エントリの削除を行わず、
前記エントリ記憶部の空き領域が所定数の制御情報エントリを格納できなくなってから、前記しきい値によるエントリ制御を開始する通信ノード。
[第4の形態]
第2又は第3の形態において、
前記しきい値が、各ユーザのネットワーク利用料金に基づいて設定される通信ノード。
[第5の形態]
第1の形態において、
前記エントリ記憶部に、制御情報エントリを格納するテーブルが利用者毎に用意され、
前記エントリ管理部は、前記しきい値によるエントリ制御に代えて、前記テーブルを用いて各利用者の制御情報エントリの数を制御する通信ノード。
[第6の形態]
第5の形態において、
前記各テーブルの格納可能な制御情報エントリの数が、各ユーザのネットワーク利用料金に基づいて設定される通信ノード。
[第7の形態]
第1〜第6いずれか一の形態において、
利用者が異なる装置と接続されたポートにVLAN(Virtual Local Area Network)情報が設定されており、
前記制御情報エントリの設定の契機となったパケットを受信したポートに設定されたVLAN情報に基づいて、利用者を判別する通信ノード。
[第8の形態]
(上記第2の視点による制御装置参照)
[第9の形態]
(上記第3の視点による制御情報エントリの管理方法参照)
[第10の形態]
(上記第4の視点によるプログラム参照)
なお、上記第8〜第10の形態は、第1の形態と同様に、第2〜第7の形態に展開することが可能である。
なお、上記の特許文献および非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素(各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
10、10A 制御装置
20、20A 通信ノード
30A、30B サーバ
40 ホスト
101、201 エントリ記憶部
102 エントリ設定部
103、203 エントリ管理部
202 パケット処理部
204、205 ポート

Claims (12)

  1. 受信パケットに適用する処理を定めた制御情報エントリを利用者情報と対応付けて所定数保持可能なエントリ記憶部と、
    前記エントリ記憶部を参照して、受信パケットを処理するパケット処理部と、
    予め定められた基準に基づいて、エントリ記憶部に保持されている一の利用者のための制御情報エントリの数が、前記エントリ記憶部の保持可能な制御情報エントリの数に対する所定の割合を超えないよう制御するエントリ管理部と、
    を備えた通信ノード。
  2. 前記エントリ管理部は、少なくとも前記エントリ記憶部が保持可能なエントリ数と、利用者のためのエントリ数とを用いて所定の方法で算出した利用者のエントリ使用率が、前記利用者毎に設定されたしきい値を超えないよう制御する請求項1の通信ノード。
  3. 前記エントリ管理部は、
    前記エントリ記憶部の空き領域が所定数の制御情報エントリ分ある間は、前記しきい値による制御情報エントリの削除を行わず、
    前記エントリ記憶部の空き領域が所定数の制御情報エントリを格納できなくなってから、前記しきい値によるエントリ制御を開始する請求項2の通信ノード。
  4. 前記しきい値が、各ユーザのネットワーク利用料金に基づいて設定される請求項2又は3の通信ノード。
  5. 前記エントリ記憶部に、制御情報エントリを格納するテーブルが利用者毎に用意され、
    前記エントリ管理部は、前記しきい値によるエントリ制御に代えて、前記テーブルを用いて各利用者の制御情報エントリの数を制御する請求項1の通信ノード。
  6. 前記各テーブルの格納可能な制御情報エントリの数が、各ユーザのネットワーク利用料金に基づいて設定される請求項5の通信ノード。
  7. 利用者が異なる装置と接続されたポートにVLAN(Virtual Local Area Network)情報が設定されており、
    前記フローエントリの設定の契機となったパケットを受信したポートに設定されたVLAN情報に基づいて、利用者を判別する請求項1から6いずれか一の通信ノード。
  8. 受信パケットに適用する処理を定めた制御情報エントリを所定数保持可能な通信ノードからの要求に応じて前記制御情報エントリを設定するエントリ設定部と、
    利用者毎に前記設定した制御情報エントリを管理するエントリ管理部と、
    予め定められた基準に基づいて、前記スイッチのエントリ記憶部に保持されている一の利用者のための制御情報エントリの数が、前記エントリ記憶部の保持可能な制御情報エントリの数に対する所定の割合を超えないよう前記エントリ設定部を制御する制御部と、
    を備えた制御装置。
  9. 前記エントリ管理部は、少なくとも前記エントリ記憶部が保持可能なエントリ数と、利用者のためのエントリ数とを用いて所定の方法で算出した利用者のエントリ使用率が、前記利用者に設定されたしきい値を超えないよう制御する請求項8の制御装置。
  10. 通信ノードのエントリ記憶部に保持されている制御情報エントリのうち、一の利用者のための制御情報エントリが所定の割合を超えているか否かを検査するステップと、
    前記一の利用者のための制御情報エントリが所定の割合を超えている場合、前記エントリ記憶部から、前記一の利用者のためのエントリを削除するステップと、
    を含むフローエントリの管理方法。
  11. 通信ノードに搭載されたコンピュータに、
    前記通信ノードのエントリ記憶部に保持されている制御情報エントリのうち、一の利用者のための制御情報エントリが所定の割合を超えているか否かを検査する処理と、
    前記一の利用者のための制御情報エントリが所定の割合を超えている場合、前記エントリ記憶部から、前記一の利用者のための制御情報エントリを削除する処理と、
    を実行させるプログラム。
  12. 通信ノードを制御する制御装置に搭載されたコンピュータに、
    前記通信ノードのエントリ記憶部に保持されている制御情報エントリを管理する自装置側のエントリ記憶部を参照して、一の利用者のための制御情報エントリが所定の割合を超えているか否かを検査する処理と、
    前記一の利用者のための制御情報エントリが所定の割合を超えている場合、前記通信ノードに対し、前記通信ノードのエントリ記憶部から、前記一の利用者のための制御情報エントリの削除を指示する処理と、
    を実行させるプログラム。
JP2014553174A 2012-12-19 2013-12-18 通信ノード、制御装置、制御情報エントリの管理方法及びプログラム Expired - Fee Related JP6287859B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012276919 2012-12-19
JP2012276919 2012-12-19
PCT/JP2013/083860 WO2014098117A1 (ja) 2012-12-19 2013-12-18 通信ノード、制御装置、制御情報エントリの管理方法及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2014098117A1 true JPWO2014098117A1 (ja) 2017-01-12
JP6287859B2 JP6287859B2 (ja) 2018-03-07

Family

ID=50978442

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014553174A Expired - Fee Related JP6287859B2 (ja) 2012-12-19 2013-12-18 通信ノード、制御装置、制御情報エントリの管理方法及びプログラム

Country Status (5)

Country Link
US (1) US9843516B2 (ja)
EP (1) EP2938028B1 (ja)
JP (1) JP6287859B2 (ja)
CN (1) CN104871499B (ja)
WO (1) WO2014098117A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160380899A1 (en) * 2013-11-28 2016-12-29 Kt Corporation Method and apparatus for dynamic traffic control in sdn environment
KR20160124161A (ko) * 2014-02-19 2016-10-26 닛본 덴끼 가부시끼가이샤 네트워크 제어 방법, 네트워크 시스템, 장치, 및 프로그램
CN104954271B (zh) * 2014-03-26 2018-11-30 国际商业机器公司 Sdn网络中的数据包处理方法和装置
US9680731B2 (en) 2015-02-27 2017-06-13 International Business Machines Corporation Adaptive software defined networking controller
TWI644540B (zh) * 2017-02-23 2018-12-11 中華電信股份有限公司 多租戶軟體定義網路中虛擬網路之流表彈性切割系統

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011040511A1 (ja) * 2009-09-30 2011-04-07 日本電気株式会社 課金処理システム、ネットワークスイッチ、ネットワーク管理サーバ、課金処理方法、及び課金処理プログラム
WO2012029409A1 (en) * 2010-09-03 2012-03-08 Nec Corporation A control apparatus, a communication system, a communication method and a recording medium having recorded thereon a communication program
JP2012151689A (ja) * 2011-01-19 2012-08-09 Alaxala Networks Corp トラヒック情報収集装置、ネットワーク制御装置およびトラヒック情報収集方法
WO2012144190A1 (en) * 2011-04-18 2012-10-26 Nec Corporation Terminal, control device, communication method,communication system, communication module, program, and information processing device

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6167054A (en) * 1997-02-14 2000-12-26 Advanced Micro Devices, Inc. Method and apparatus providing programmable thresholds for full-duplex flow control in a network switch
US6711165B1 (en) * 2000-06-15 2004-03-23 Advanced Micro Devices, Inc. Apparatus and method for storing min terms in network switch port memory for access and compactness
US7292585B1 (en) * 2002-12-20 2007-11-06 Symantec Operating Corporation System and method for storing and utilizing routing information in a computer network
JP4669410B2 (ja) 2006-02-27 2011-04-13 日本電信電話株式会社 光パス貸し出し方法、光パス貸し出しプログラム、および、設定制御装置
US7673056B1 (en) * 2007-06-27 2010-03-02 American Megatrends, Inc. Redirection gateway
CA2700866C (en) 2007-09-26 2016-06-21 Martin Casado Network operating system for managing and securing networks
EP2139176A1 (en) 2008-06-27 2009-12-30 Alcatel-Lucent Deutschland AG A method for routing a packet between communication endpoints, corresponding devices, and computer program product therefore
WO2011074516A1 (ja) * 2009-12-15 2011-06-23 日本電気株式会社 ネットワークシステムとその制御方法、及びコントローラ
JP5673557B2 (ja) * 2010-01-04 2015-02-18 日本電気株式会社 ネットワークシステム、コントローラ、ネットワーク制御方法
WO2011083682A1 (ja) * 2010-01-05 2011-07-14 日本電気株式会社 スイッチネットワークシステム、コントローラ、及び制御方法
US9032089B2 (en) 2011-03-09 2015-05-12 Juniper Networks, Inc. Methods and apparatus for path selection within a network based on flow duration
US8730823B2 (en) * 2011-06-24 2014-05-20 Jasper Wireless, Inc. Core services platform for wireless voice, data and messaging network services
CN102263664A (zh) 2011-08-11 2011-11-30 北京星网锐捷网络技术有限公司 一种会话流处理方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011040511A1 (ja) * 2009-09-30 2011-04-07 日本電気株式会社 課金処理システム、ネットワークスイッチ、ネットワーク管理サーバ、課金処理方法、及び課金処理プログラム
WO2012029409A1 (en) * 2010-09-03 2012-03-08 Nec Corporation A control apparatus, a communication system, a communication method and a recording medium having recorded thereon a communication program
JP2012151689A (ja) * 2011-01-19 2012-08-09 Alaxala Networks Corp トラヒック情報収集装置、ネットワーク制御装置およびトラヒック情報収集方法
WO2012144190A1 (en) * 2011-04-18 2012-10-26 Nec Corporation Terminal, control device, communication method,communication system, communication module, program, and information processing device

Also Published As

Publication number Publication date
EP2938028B1 (en) 2019-12-11
WO2014098117A1 (ja) 2014-06-26
EP2938028A1 (en) 2015-10-28
CN104871499A (zh) 2015-08-26
CN104871499B (zh) 2018-10-26
JP6287859B2 (ja) 2018-03-07
EP2938028A4 (en) 2016-06-22
US20150341266A1 (en) 2015-11-26
US9843516B2 (en) 2017-12-12

Similar Documents

Publication Publication Date Title
US8861359B2 (en) Network system, control method thereof and controller
JP5880560B2 (ja) 通信システム、転送ノード、受信パケット処理方法およびプログラム
JP6287859B2 (ja) 通信ノード、制御装置、制御情報エントリの管理方法及びプログラム
US20140355441A1 (en) Method and apparatus of delivering assured services over unreliable internet infrastructure by using virtual overlay network architecture over a public cloud backbone
JP5954413B2 (ja) 通信装置、制御装置、通信システム、通信制御方法、通信端末及びプログラム
US20160380899A1 (en) Method and apparatus for dynamic traffic control in sdn environment
US20160164690A1 (en) Communication system
US20150063361A1 (en) Computer system and communication route changing method
JP7103883B2 (ja) 通信システム、通信制御方法、及び通信装置
US20140376394A1 (en) Communication apparatus, control apparatus, communication system, communication control method, and computer program
JP2015023453A (ja) ネットワークシステム、ネットワーク管理装置、及び、アプリケーション管理装置
JP6007978B2 (ja) 通信装置、制御装置、通信システム、通信制御方法及びプログラム
JP6007977B2 (ja) 通信装置、制御装置、通信システム、通信制御方法及びプログラム
WO2014061587A1 (ja) 制御装置、ノード、通信システム、通信方法及びプログラム
JP6044637B2 (ja) 通信装置、通信システム、通信制御方法及びプログラム
JP6829156B2 (ja) ネットワーク負荷分散装置および方法
JP6321496B2 (ja) パケットヘッダ識別制御装置、制御方法、制御プログラム、および、管理装置
JP6422345B2 (ja) 管理装置、管理システム、管理方法及びプログラム
JP2020028048A (ja) 負荷分散システム及び負荷分散方法
JP5916234B2 (ja) 通信装置、制御装置、通信システム、通信制御方法及びプログラム
JP2004289627A (ja) ストリーミングコンテンツ配信要求受付制御システム
JP2015162685A (ja) ノード検出システム及び方法及び仮想ノードの機能制御装置及び方法
JP2014027696A (ja) 通信装置、制御装置、通信システム、通信制御方法及びプログラム
JP2020025202A (ja) 負荷分散システム及び負荷分散方法
JP2015515153A (ja) 通信システム、制御装置、通信装置、課金サーバ、通信方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161104

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170801

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171010

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171211

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180122

R150 Certificate of patent or registration of utility model

Ref document number: 6287859

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees