JP6511013B2 - Sfcシステム、および、sfc制御方法 - Google Patents

Sfcシステム、および、sfc制御方法 Download PDF

Info

Publication number
JP6511013B2
JP6511013B2 JP2016100723A JP2016100723A JP6511013B2 JP 6511013 B2 JP6511013 B2 JP 6511013B2 JP 2016100723 A JP2016100723 A JP 2016100723A JP 2016100723 A JP2016100723 A JP 2016100723A JP 6511013 B2 JP6511013 B2 JP 6511013B2
Authority
JP
Japan
Prior art keywords
sfc
packet
server
dpi
sfg
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.)
Active
Application number
JP2016100723A
Other languages
English (en)
Other versions
JP2017208735A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2016100723A priority Critical patent/JP6511013B2/ja
Publication of JP2017208735A publication Critical patent/JP2017208735A/ja
Application granted granted Critical
Publication of JP6511013B2 publication Critical patent/JP6511013B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、SFCシステム、および、SFC制御方法の技術に関する。
DPI(Deep Packet Inspection)やFW(FireWall)などのネットワークサービス機能であるSF(Service Function)を複数組み合わせて、論理的に1つのサービスを提供するSFC(Service Function Chaining)という枠組みが非特許文献1にて提案されている。このSFCにより、様々なフローに対して様々なSFを提供するときの組み合わせを容易に管理することができ、豊富かつ拡張性の高い通信システムを構築することができる。
Internet Engineering Task Force (IETF)、"Service Function Chaining (SFC) Architecture"、[online]、2015年10月、[2016年5月9日検索]、インターネット〈URL:https://tools.ietf.org/html/rfc7665〉
通信システムの入口にロードバランサが設置されるような既存の負荷分散システムをそのまま1つのSFとしてSFCシステム内に組み込むと、SFCシステム全体が複雑になってしまう。
そこで、本発明は、既存の負荷分散システムを効率的にSFCシステムに組み込むことを、主な課題とする。
前記課題を解決するために、本発明のSFCシステムは、以下の特徴を有する。
つまり、SFCシステムは、同じSFを実行する複数のサーバをメンバとするSFG(Service Function Group)として、メンバの順序が互いに異なるサーバの台数分のSFGが定義されており、
受信したパケットをフローに分類し、分類されたフローが経由するSFGを決定するクラシファイヤ装置と、
前記クラシファイヤ装置から転送されたパケットについて、そのパケットが経由するSFGに含まれるサーバからメンバ選択アルゴリズムにより選択したサーバに対してパケットを転送するSFFと、を有することを特徴とする。
クラシファイヤ装置がSFGを決定し、SFFがSFG内のメンバの選択を行うことで、同じSFを実行する複数のサーバからいずれか1つのサーバを選択するロードバランサ機能を実現できる。よって、ロードバランサを単体の装置として増設する必要がなくなるので、既存の負荷分散システムを効率的にSFCに組み込むことができる。
本発明は、前記SFFが、前記メンバの順序をもとにしたメンバ選択アルゴリズムとして、稼働チェックにより稼働が確認されたサーバのうちの最も順序が先であるサーバを、パケットの転送先として決定することを特徴とする。
これにより、稼働していないサーバにフローを流してパケットロスをする障害を予防できる。
本発明によれば、既存の負荷分散システムを効率的にSFCに組み込むことができる。
本実施形態に係わるSFCのSFCシステムの構成図である。 本実施形態に係わる図1のSFCシステムに、負荷分散構成の既存サーバを適用した構成図である。 本実施形態に係わる図2のSFCシステムにおいて、負荷分散の第1収容形態を示す構成図である。 本実施形態に係わる図2および図3それぞれに使用されるデータの一例を示す。 本実施形態に係わる図1のSFCシステムに、負荷分散構成の既存サーバを適用した構成図である。 本実施形態に係わる図5のSFCシステムにおいて、負荷分散の第2収容形態を示す構成図である。 本実施形態に係わる図6に使用されるデータの一例を示す。
以下、本発明の一実施形態について、図面を参照して詳細に説明する。
図1は、SFCシステムの構成図である。
このSFCシステムは、発信装置1と、クラシファイヤ装置2と、SFF(Service Function Forwarder)装置(図1のSFF31、32)と、DPI−SF40と、FW−SF50と、着信装置7とがネットワークで接続されて構成される。SFFなどのSFCの構成要素の定義は、非特許文献1に記載されている。
なお、SFCシステムの各装置は、それぞれCPU(Central Processing Unit)と、メモリと、ハードディスクなどの記憶手段(記憶部)と、ネットワークインタフェースとを有するコンピュータとして構成される。
このコンピュータは、CPUが、メモリ上に読み込んだプログラム(アプリケーションや、その略のアプリとも呼ばれる)を実行することにより、各処理部により構成される制御部(制御手段)を動作させる。
SFP(Service Function Path)8,9は、SFCシステム内に設定される通信路(パス)である。これらのパスは、発信装置1から送信されるパケットのフローごとに設定され、そのフローのパケットについて、どのSFを経由させてから着信装置7に転送するかを示す。
SFF31、32は、1つ以上のSFを収容する。SFF31、32は、SFP8,9を流れるパケットのSFCカプセル化された情報をもとに、配下のSFにパケットを転送するか否かを決定する。
クラシファイヤ装置2は、発信装置1から送信されるパケットのフローを識別するClassifierである。クラシファイヤ装置2はパケットの送信元アドレスなどを参照してフローを識別することで、どのSFPにパケットを流すかを決定する。
SFP8は、ユーザ用のパケットのフローを通過させるSFPである。一般ユーザには、正規のユーザだけでなく不正な攻撃者も含まれていることもある。よって、SFP8は、ネットワークへの不正アクセスを遮断するFW−SF50だけでなく、パケットにウィルスが混入していないかなどのパケットの中身をチェックするDPI−SF40も経由させる。
つまり、SFP8の経路は「発信元→DPI−SF40→FW−SF50→着信先」である。
一方、SFP9は、例えば、SFCシステムを運営する事業者の社員用のパケットのフローを通過させるSFPである。よって、SFP9は、DPI−SF40の経由を省略し、FW−SF50だけ通過させればよい。
つまり、SFP9の経路は「発信元→FW−SF50→着信先」である。
図2は、図1のSFCシステムにおいて、DPI−SF40に、負荷分散構成の既存サーバを適用した構成図である。
負荷分散構成の既存サーバとして3台のDPIサーバ42〜44を導入するとともに、その既存サーバのいずれかにパケットを負荷分散するLB(Load Balancer)41を導入する。なお、DPIサーバ42〜44などの実際にSFを提供するサーバの台数は3台に限定されず、任意の台数としてもよい。
このように、DPI−SF40の内部が複数の物理計算機によって構成されていても、論理的に1つのSFとしてDPI−SF40を提供する。これにより、図1のSFP8の経路「発信元→DPI−SF40→FW−SF50→着信先」をそのまま図2でも活用することができる。
一方、DPIサーバ42〜44に加えて、LB41を新たに用意することで、SFCシステムが複雑化してしまい、装置の導入コスト、設置コスト、保守コストなどが余分にかかってしまう。
図3は、図2のSFCシステムにおいて、負荷分散の収容形態を示す構成図である。
図3では、図2のLB41を省略する代わりに、LB41の配下であった(同じDPI−SF40として負荷分散先であった)各DPIサーバ42〜44を、DPI−SFb49としている。DPI−SFb49に対してメンバの順序が互いに異なる3つのSFGが以下に示すように定義される(図4のサービスファンクショングループ表102で後記)。
・「DPIサーバ42→DPIサーバ43→DPIサーバ44」の順に構成される「DPI-SFG1」
・「DPIサーバ43→DPIサーバ44→DPIサーバ42」の順に構成される「DPI-SFG2」
・「DPIサーバ44→DPIサーバ42→DPIサーバ43」の順に構成される「DPI-SFG3」
そして、図2のLB41が行っていた、「どのパケットをどのDPIサーバ42〜44に割り当てるか」というロードバランス処理は、図3では、クラシファイヤ装置2とSFF31とで分担して実行される。具体的には、クラシファイヤ装置2がSFG表101を参照してSFGを選択し、SFF31がサービスファンクショングループ表102を参照してSFGからメンバを選択する。
なお、標準化に提案されているSFG選択アルゴリズムは、以下の文書に記載されている。
The OpenDaylight Foundation、"Service Function Scheduler Type"、[online]、[平成28年5月9日検索]、インターネット〈URL:https://github.com/opendaylight/sfc/blob/master/sfc-model/src/main/yang/service-function-scheduler-type.yang〉
なお、LB41がSFCの機構(クラシファイヤ装置2、SFF31、32)に対して、独立した1装置として組み込まれている図2の形態を「独立形態」と呼ぶ。一方、LB41がSFCの機構(クラシファイヤ装置2、SFF31、32)に収容されている(独立していない)図3の形態を「収容形態」と呼ぶ。なお、「収容形態」は図3の構成だけでなく後記の図6の構成も挙げるため、両者を区別するために図3の形態を「第1収容形態」とする。
図4は、図3に使用されるデータの一例を示す。図4では本発明の説明に必要な情報のみを記載している。
図3の第1収容形態で使用されるSFG表101では、SFGの数をサーバの台数分(ここでは3つ)用意する。
図3の第1収容形態で使用されるサービスファンクショングループ表102は、SFG表101のSFGごとに、パケットの転送先であるメンバを選択するときのメンバ選択アルゴリズムと、選択候補のメンバの順序リスト(第1メンバ、第2メンバ、第3メンバ)とを対応付けている。
メンバ選択アルゴリズム「FAST_FAILURE」は、以下の文書に記載されているように、グループのメンバのノードを先頭から順にチェックし、稼働している最初のサーバを選択するアルゴリズムである。
The OpenDaylight Foundation、"Service Function Group Algorithms"、[online]、2015年4月9日、[平成28年5月9日検索]、インターネット〈URL:https://github.com/opendaylight/sfc/blob/master/sfc-model/src/main/yang/service-function-group-algorithm.yang〉
また、サービスファンクショングループ表102などに記載されるSFGの形式については、以下の文書に記載されている。
The OpenDaylight Foundation、"Service Function Group"、[online]、[平成28年5月9日検索]、インターネット〈URL:https://github.com/opendaylight/sfc/blob/master/sfc-model/src/main/yang/service-function-group.yang〉
クラシファイヤ装置2は、SFG表101内に登録された複数のSFGから、ラウンドロビンなどの選択アルゴリズムを用いて、フローが経由する1つのSFGを決定する。
例えば、DPIサーバ43が故障中であり、DPIサーバ42とDPIサーバ44とが稼働中であるとする。そして、クラシファイヤ装置2が「DPI-SFG2」のSFGに割り当てたパケットを、SFF31が受信した場合を考える。SFF31は、クラシファイヤ装置2が記載したパケットのSFCカプセル化された情報をもとにフローが経由するSFG「DPI-SFG2」を特定する。
そして、SFF31は、サービスファンクショングループ表102の「DPI-SFG2」に対応する「FAST_FAILURE」に従って、「DPI-SFG2」の第1メンバである「DPIサーバ43」へのサーバヘルスチェック(稼働チェック)を行う。しかし、「DPIサーバ43」は前記したとおり、故障中である。
よって、SFF31は、第2メンバ「DPIサーバ44」へのサーバヘルスチェックにより稼働を確認した後、そのDPIサーバ44に対してSFG「DPI-SFG2」のパケットを転送する。
これにより、LB41をわざわざ別装置として用意することなくロードバランサ機能が実現され、システム構成がスリムになる。
図5は、図1のSFCシステムに、負荷分散構成の既存サーバを適用した構成図である。図5でDPI−SF40として適用する負荷分散構成は、特開2012−160075号のトランザクション処理システムである。このトランザクション処理システムは、データの所在を考慮した負荷分散処理により、処理効率を向上させている。
DPI−SF40は、SFF31からパケットを受け付ける窓口となるLB41に加え、LB41からのパケットの転送先となる転送サーバ(DS)61〜63と、DS61〜63のいずれかから転送されたフローのデータを処理する処理サーバ(PS)71〜73と、処理対象のデータを格納するデータ管理装置(DM)81〜83とを有する。なお、1つの処理サーバは、1つのデータ管理装置と密に(直接)接続されており(例えばPS71とDM81との間)、高速にアクセス可能である。
図5では、ユーザ用のパケットのフローについてDPI−SF40を経由させることを決定する。そして、LB41は各パケットを転送サーバ(DS)61〜63のいずれかに転送する。
しかし、図5のシステムでは、図2と同様に、LB41が1つの外付け装置として追加されるので、システム構成が複雑化してしまう。
そこで、図6のシステムでは、図3と同様に、DPI−SFb49で複数のサーバをグループ化し、LB41の負荷分散処理をクラシファイヤ装置2とSFF31とが代行することで、システム構成を簡略化する。つまり、DPI−SFb49に対してメンバの順序が互いに異なる3つのSFGが以下に示すように定義される(図7のサービスファンクショングループ表112で後記)。
・「DS61→DS62→DS63」の順に構成される「DPI-SFG1」
・「DS62→DS63→DS61」の順に構成される「DPI-SFG2」
・「DS63→DS61→DS62」の順に構成される「DPI-SFG3」
図7は、図6の構成で使用されるデータの一例を示す。
SFG表111は、図4のSFG表101と同様に、サービスファンクショングループ表103のメンバ(DS61〜63)ごとに別々のSFG(DPI-SFG1〜DPI-SFG3)が用意される。
サービスファンクショングループ表112は、図4のサービスファンクショングループ表102と同様に、具体的に選択候補のメンバから転送先のメンバを選択するための情報がSFGごとに対応付けられている。つまり、図4のサービスファンクショングループ表102と図7のサービスファンクショングループ表112との違いは、メンバ構成(第1メンバ〜第3メンバ)である。
図4の説明で示したように、図7でもクラシファイヤ装置2がSFG表111を参照し、ラウンドロビンなどの選択アルゴリズムを用いて、同じSFを提供するSFG(「DPI-SFG1〜DPI-SFG3」)からフローが経由するSFGを選択する。
そして、SFF31は、サービスファンクショングループ表112を参照し、受信したパケットのSFGに対応する「メンバ選択アルゴリズム(FAST_FAILURE)」に従って、最終的に1台のメンバを選択する。SFF31は、選択したメンバ(DS63など)へフローのパケットを転送する。
以上説明した本実施形態では、負荷分散のために設置された複数のサーバをSFGとしてグループ化する。このSFGは、サーバの台数分だけ設けられ、各SFGは他のSFGと比べると、メンバのサーバの順序が互いに異なっている。
そして、クラシファイヤ装置2は受信したパケットのフローをSFG選択アルゴリズムに従ってSFGに分類する。SFF31は、グループ化されたサーバ群から最終的に選択したサーバに対してパケットを転送する。
これにより、LB41をわざわざ別装置として用意することなくロードバランサ機能が実現され、システム構成がスリムになる。
1 発信装置
2 クラシファイヤ装置
7 着信装置
8,9 SFP
31,32 SFF
40 DPI−SF
41 LB
42〜44 DPIサーバ
49 DPI−SFb
50 FW−SF
101,111 SFG表
102,112 サービスファンクショングループ表

Claims (4)

  1. 同じSF(Service Function)を実行する複数のサーバをメンバとするSFG(Service Function Group)として、メンバの順序が互いに異なるサーバの台数分のSFGが定義されており、
    受信したパケットをフローに分類し、分類されたフローが経由するSFGを決定するクラシファイヤ装置と、
    前記クラシファイヤ装置から転送されたパケットについて、そのパケットが経由するSFGに含まれるサーバからメンバ選択アルゴリズムにより選択したサーバに対してパケットを転送するSFFと、を有することを特徴とする
    SFCシステム。
  2. 前記SFFは、前記メンバの順序をもとにしたメンバ選択アルゴリズムとして、稼働チェックにより稼働が確認されたサーバのうちの最も順序が先であるサーバを、パケットの転送先として決定することを特徴とする
    請求項1に記載のSFCシステム。
  3. SFCシステムは、クラシファイヤ装置と、SFFとを含めて構成され、
    同じSF(Service Function)を実行する複数のサーバをメンバとするSFG(Service Function Group)として、メンバの順序が互いに異なるサーバの台数分のSFGが定義されており、
    前記クラシファイヤ装置は、受信したパケットをフローに分類し、分類されたフローが経由するSFGを決定し、
    前記SFFは、前記クラシファイヤ装置から転送されたパケットについて、そのパケットが経由するSFGに含まれるサーバからメンバ選択アルゴリズムにより選択したサーバに対してパケットを転送することを特徴とする
    SFC制御方法。
  4. 前記SFFは、前記メンバの順序をもとにしたメンバ選択アルゴリズムとして、稼働チェックにより稼働が確認されたサーバのうちの最も順序が先であるサーバを、パケットの転送先として決定することを特徴とする
    請求項3に記載のSFC制御方法。
JP2016100723A 2016-05-19 2016-05-19 Sfcシステム、および、sfc制御方法 Active JP6511013B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016100723A JP6511013B2 (ja) 2016-05-19 2016-05-19 Sfcシステム、および、sfc制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016100723A JP6511013B2 (ja) 2016-05-19 2016-05-19 Sfcシステム、および、sfc制御方法

Publications (2)

Publication Number Publication Date
JP2017208735A JP2017208735A (ja) 2017-11-24
JP6511013B2 true JP6511013B2 (ja) 2019-05-08

Family

ID=60417406

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016100723A Active JP6511013B2 (ja) 2016-05-19 2016-05-19 Sfcシステム、および、sfc制御方法

Country Status (1)

Country Link
JP (1) JP6511013B2 (ja)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7606929B2 (en) * 2003-06-30 2009-10-20 Microsoft Corporation Network load balancing with connection manipulation
US20110055845A1 (en) * 2009-08-31 2011-03-03 Thyagarajan Nandagopal Technique for balancing loads in server clusters
JP2014220675A (ja) * 2013-05-09 2014-11-20 日本電信電話株式会社 通信制御システム
JP6076275B2 (ja) * 2014-02-18 2017-02-08 日本電信電話株式会社 通信ネットワークの経路制御連携システム及び方法
JP2016046736A (ja) * 2014-08-25 2016-04-04 日本電信電話株式会社 サービスチェイニングシステム、サービスチェイニングフォワーダ装置、及びサービスチェイニング方法
JP2016213586A (ja) * 2015-05-01 2016-12-15 株式会社日立製作所 制御装置、サービスファンクションネットワークシステム、通信経路制御方法
JP6522490B2 (ja) * 2015-12-04 2019-05-29 アラクサラネットワークス株式会社 ネットワークシステム、制御装置、及びプログラム

Also Published As

Publication number Publication date
JP2017208735A (ja) 2017-11-24

Similar Documents

Publication Publication Date Title
US10938787B2 (en) Cloud services management system and method
US10581884B2 (en) Channel data encapsulation system and method for use with client-server data channels
CN103262063B (zh) 用于在内容导向网络中创建和管理虚拟专用组的方法和设备
Muhizi et al. Analysis and performance evaluation of SDN queue model
CN104320350B (zh) 用于提供基于信用的流控制的方法及系统
US10404591B2 (en) Status monitoring of inline network tools
JP2020018001A (ja) 金融ネットワーク
US20150363219A1 (en) Optimization to create a highly scalable virtual netork service/application using commodity hardware
US20140280949A1 (en) Load balancing for a virtual networking system
CN110113291A (zh) 用于在业务功能链域之间进行互通的方法和设备
CN105579990A (zh) 应用感知网络管理
CN101300806A (zh) 用于处理安全传输的系统和方法
US11637702B2 (en) Verifiable computation for cross-domain information sharing
US7944923B2 (en) Method and system for classifying network traffic
US7333430B2 (en) Systems and methods for passing network traffic data
US11968080B2 (en) Synchronizing communication channel state information for high flow availability
CN107249038A (zh) 业务数据转发方法及系统
US11595410B2 (en) Fragmented cross-domain solution
JP6475910B2 (ja) 機密データパケットの交換のための時間ロックされたネットワーク及びノード
JP6511013B2 (ja) Sfcシステム、および、sfc制御方法
US20160365987A1 (en) Personal computer network
JP2009277023A (ja) データ紐付けプログラム,情報処理装置およびデータ紐付け方法
Hantouti et al. A novel SDN-based architecture and traffic steering method for service function chaining
US11115337B2 (en) Network traffic segregation on an application basis in a virtual computing environment
Urayama et al. Virtual network construction with K‐shortest path algorithm and optimization problems for robust physical networks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180619

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190312

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190405

R150 Certificate of patent or registration of utility model

Ref document number: 6511013

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150