JP2016149669A - 転送装置 - Google Patents

転送装置 Download PDF

Info

Publication number
JP2016149669A
JP2016149669A JP2015026061A JP2015026061A JP2016149669A JP 2016149669 A JP2016149669 A JP 2016149669A JP 2015026061 A JP2015026061 A JP 2015026061A JP 2015026061 A JP2015026061 A JP 2015026061A JP 2016149669 A JP2016149669 A JP 2016149669A
Authority
JP
Japan
Prior art keywords
packet
port
information
chaining
openflow
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.)
Pending
Application number
JP2015026061A
Other languages
English (en)
Inventor
斉 金子
Hitoshi Kaneko
斉 金子
利典 菊池
Toshinori Kikuchi
利典 菊池
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 JP2015026061A priority Critical patent/JP2016149669A/ja
Publication of JP2016149669A publication Critical patent/JP2016149669A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • 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]
    • H04L12/4645Details on frame tagging

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

【課題】OpenFlowProtocolによりSFC制御を実現する。【解決手段】SCF20は、ForwardActionの際に、パケットの入力LogicalPortを利用し、パケットへの付加情報としてOXM_OF_TUNNEL_IDにServicePathID及びServiceIndexを埋込み、ForwardActionで指定したLogicalPortへパケットを送付する。LogicalPortは、パケットにServicePathID及びServiceIndexを付与し、指定されたPhysicalPortから出力する。SFF30は、入力LogicalPort、ServicePathID及びServiceIndexをもとにForwardのActionを実行することで、指定したServicePathID及びServiceIndexをパケットへ付与して目的のSFへパケットを転送する。【選択図】図1

Description

本発明は、転送装置に関する。
近年、ネットワークサービス処理(SF:Service Function)を仮想化し、SFの実行要否、順序等を自在に制御できるSFC(Service Function Chaining)の研究が進められている。SFCの転送方式の一例として、パケットへ付加した専用ヘッダにより転送制御を行う技術がある。また、SDN(Software-Defined Network)-Controller等から転送ルールを制御するプロトコルとして、OpenFlow Protocolがある。OpenFlowは、OpenFlow ControllerとOpenFlow Switchの分離によるマルチベンダ指向等の利点がある。
"draft-ietf-sfc-architecture-02"、[online]、2014年9月20日、[2014年12月12日検索]、インターネット<URL:https://tools.ietf.org/html/draft-ietf-sfc-architecture-02>" "draft-quinn-sfc-nsh-03"[online]、2014年7月3日、[2014年12月12日検索]、インターネット<URL:https://tools.ietf.org/html/draft-quinn-sfc-nsh-03 "OpenFlow Switch Specification Version1.4.0"、[online]、2013年10月14日、[2014年12月19日検索]、インターネット<URL:https://www.opennetworking.org/images/stories/downloads/sdn-resources/onf-specifications/openflow/openflow-spec-v1.4.0.pdf>
しかしながら、OpenFlow Protocolは、MAC(Media Access Control)アドレス、IP(Internet Protocol)アドレス等のフィールド情報(Match Field)と出力ポート指定等のアクション(Modify-Field)とを対応付けるルールの付加及び削除を行うものであるが、Match Field及びModify-FieldにSFCを制御するためのフィールドを有さない。このため、OpenFlow Protocolでは、SFCを制御できない。
本願が開示する実施形態の一例は、上記に鑑みてなされたものであって、OpenFlow ProtocolによりSFC制御を実現することを目的とする。
本願の実施形態の一例は、OpenFlowプロトコルに従ってパケットの転送制御を行う転送装置である。転送装置は、OpenFlowプロトコルのOpenFlow Port情報に、サービスファンクション装置間でパケットのチェイニングを行う場合の経路を識別する経路識別情報と、経路におけるチェイニングによりパケットが位置するサービスファンクション装置を示す位置情報とを含め、経路識別情報及び位置情報によりチェイニングに関するパケットの転送制御を行う。
本願が開示する実施形態の一例によれば、例えば、OpenFlow ProtocolによりSFC制御を実現することができる。
図1は、実施形態1に係るSFCネットワークの構成の一例を示す図である。 図2は、実施形態1に係るSFCパケットの構成の一例を示す図である。 図3は、実施形態1に係るSFCで用いるOpenFlow Port情報のフィールドの一例を示す図である。 図4は、実施形態1に係るOXM_OF_TUNNEL_IDへのService Path ID及びService Indexの埋め込みの一例を示す図である。 図5は、実施形態1に係るOpenFlow Switchの構成及び処理機能の概略の一例を示す図である。 図6は、実施形態1に係るSCFの構成の一例を示す図である。 図7は、実施形態1に係るSCFの処理手順の一例を示すフローチャートである。 図8は、実施形態1に係るSFFの構成の一例を示す図である。 図9は、実施形態1に係るSFFの処理手順の一例を示すフローチャートである。 図10は、実施形態2に係るOFPXMT_OFB_IN_PORTへのService Path ID及びService Indexの埋め込みの一例を示す図である。 図11は、実施形態2に係るSFCで用いるOpenFlow Port情報のフィールドの一例を示す図である。 図12は、プログラムが実行されることによりSCF及びSFFが実現されるコンピュータの一例を示す図である。
以下、本願が開示する転送装置の実施形態を説明する。なお、以下の実施形態は、一例を示すに過ぎず、本願が開示する技術を限定するものではない。
[実施形態1]
(実施形態1に係るSFCネットワークの構成)
図1は、実施形態1に係るSFCネットワークの構成の一例を示す図である。実施形態1に係るSFCネットワーク1は、Service Function Chaining(draft-ietf-sfc-architecture-02、draft-quinn-sfc-nsh-03参照。以下、SFC)を行うネットワークであり、SFC(Service Function Chaining)をOpenFlow Protocolで制御する。
図1に示すように、SFCネットワーク1は、OFC(OpenFlow Controller)10、SCF(Service Classification Function)20、SFF(Service Function Forwarder)30、SF(Service Function)40−1、SF40−2を有する。SF40−1及び40−2を、SF40と総称する。なお、図1に示すSCF20、SFF30、SF40の数は、一例であり、図示の数に限られない。
OFC10は、OFS(OpenFlow Switch)である、SCF20及びSFF30へOpenFlow ProtocolによりFlow Tableの設定等の制御を行う。SCF20は、受信したパケットをSFF30又はSF40へ転送する。SFF30は、受信したパケットを他のSFF30又はSF40へ転送する。SCF20及びSFF30は、転送装置の一例である。SF40は、受信したパケットに対して所定のサービス処理を実行後、送信元のSFF30へパケットを返信する。SF40は、サービスファンクション装置の一例である。
なお、SF40の形態には、ルータ型、リピータ型、サーバ型がある。ルータ型は、入力と出力が別ポートであり、それぞれ別segmentに属するIPアドレスを持つ。リピータ型は、入力と出力が別ポートであり、両端は同一のsegmentに属しIPアドレスを持たない。サーバ型は、入力と出力が同一ポートであり、端子はIPアドレスを持つ。実施形態1では、SF40は、ルータ型を例として説明するが、他の型についても同様の構成とする。
(実施形態1に係るSFCパケットの構成)
図2は、実施形態1に係るSFCパケットの構成の一例を示す図である。図2に示すように、SFC対象のSFCパケットは、ヘッダ情報として、Src Port、Dst Port、Src IP、Dst IP、VLAN ID、Priority、Src MAC、Dst MAC、Service Path ID、Service Index、Outer、・・・を含む。Src Portは、送信元ポート番号である。Dst Portは、送信先ポート番号である。Src IPは、送信元IPアドレスである。Dst IPは、送信先IPアドレスである。VLAN(Virtual Local Area Network)IDは、VLAN識別子である。Priorityは、パケットの優先度を表す。Src MACは、送信元MACアドレスである。Dst MACは、送信先MACアドレスである。Service Path IDは、SFCパケットが各SF40を通過するPathを識別するID(Identifier)情報である。Service Indexは、SFCパケットがPathのどの位置にいるかを示す情報であり、通過予定のSF数を初期値とし、SFを通過する毎に1減算される情報である。Outerは、Service Path ID及びService Indexによるパケットのカプセル化後に、さらに付加されるアウタヘッダである。
(SFCで用いるOpenFlow Port情報のフィールド)
図3は、実施形態1に係るSFCで用いるOpenFlow Port情報のフィールドの一例を示す図である。図3に示すように、実施形態1に係るSFCでは、OpenFlow Port情報のうち、OFPXMT_OFB_IN_PORT、OFPXMT_OFB_IN_PHY_PORT、OXM_OF_TUNNEL_IDを用いる。OFPXMT_OFB_IN_PORTは、物理ポート番号又は論理ポート番号のいずれも設定可能であるが、実施形態1では、パケットが入力された論理ポート番号が設定される、32bit長のフィールドである。OFPXMT_OFB_IN_PHY_PORTは、パケットが入力された物理ポート番号が設定される、32bit長のフィールドである。OXM_OF_TUNNEL_IDは、OFPXMT_OFB_IN_PORTに論理ポート番号が設定された場合の付加データとしてService Path ID及びService Indexが設定される、64bit長のフィールドである。
図4は、実施形態1に係るOXM_OF_TUNNEL_IDへのService Path ID及びService Indexの埋め込みの一例を示す図である。図4に示すように、実施形態1では、OXM_OF_TUNNEL_IDには、24bit長のService Path ID及び8bit長のService Indexが格納される。
(実施形態1に係るOpenFlow Switchの構成及び処理機能の概略)
図5は、実施形態1に係るOpenFlow Switchの構成及び処理機能の概略の一例を示す図である。実施形態1は、SFCを、SFCヘッダによるencapsulation(tunnel)と見なし、OFPXMT_OFB_IN_PORTの付加データであるOXM_OF_TUNNEL_ID(Tunnel-ID)として、Service Path ID+Service Indexを用いる点に特徴がある。なお、SCF20及びSFF30が、OpenFlow Switchの例である。
例えば、図5に示すように、OpenFlow Switchは、Physical Port(物理ポート)3、Logical Port(論理ポート)6からパケットが入力される。Logical Port6は、OpenFlow Switchに対して入力されたパケットの入力論理ポート番号(Logical Port番号)等と、パケットのSFCヘッダから抽出した、Service Path ID及びService Indexから生成したTunnel-IDとを、パケットとともにOpenFlow Pipelineへ送信する。
例えば、OpenFlow Pipelineは、Flow Tableを参照し、Logical Port6から受信した、Ingress PortであるLogical Port番号6がFlow TableのMatch Fieldに設定されているSFC対象を示すIngress Port番号(入力ポート番号)と合致し、かつ、Tunnel-IDから抽出したService Path ID及びService IndexがMatch Fieldに設定されているService Path ID及びService Indexと合致する場合に、対応するModify Field及びForwardに規定されるActionを実行する。すなわち、OpenFlow Pipelineは、パケットに対してModify Fieldに規定されるMACアドレスの書き替え等を実行する。そして、OpenFlow Pipelineは、Forwardに規定されるLogical Port番号7及びPhysical Port番号4と、Tunnel-IDとしてのService Path ID及びService Indexとを指定し、指定したLogical Port7へTunnel-IDとともにパケットを転送する。
そして、例えば、OpenFlow PipelineからTunnel-IDとともにパケットを受信したLogical Port7は、Tunnel-IDに含まれるService Path ID及びService IndexをパケットのSFCヘッダへ付加して、Physical Port4からSFへ送信する。
(実施形態1に係るSCFの構成)
図6は、実施形態1に係るSCFの構成の一例を示す図である。実施形態1に係るSCF20は、SFCネットワーク1の外部から受信したパケットに対して、Tunnel-IDを付与するOFSである。すなわち、SCF20は、Forward Actionの際に、パケットの入力Logical Portを利用し、パケットへの付加情報としてOXM_OF_TUNNEL_IDにService Path ID及びService Indexを埋込み、Forward Actionで指定したLogical Portへパケットを送付する。Logical Portは、パケットにService Path ID及びService Indexを付与し、Outer(VxLAN等)ヘッダを付与し、指定されたPhysical Portから出力する。
SCF20は、Physical Port21、OpenFlow Pipeline22、Physical Port23を有する。Physical Port23は、Logical Port23aを有する。Physical Port21のPhysical Port番号は、例えば3であるとする。Physical Port23のPhysical Port番号は、例えば4であるとする。Logical Port23aのLogical Port番号は、例えば7であるとする。
OpenFlow Pipeline22は、Flow Table22aを有する。図6に示すFlow Table22aには、例えば、Match Fieldに、Src IP、Dst IP、Src MAC、Dst MACが設定されている。
SCF20は、Physical Port21から入力されたパケットのヘッダから、Src IP、Dst IP、Src MAC、Dst MAC、Service Path ID、Service Indexを抽出する。そして、OpenFlow Pipeline22は、入力されたパケットから抽出されたSrc IP、Dst IP、Src MAC、Dst MACが、Flow Table22aのMatch Fieldに設定されているSrc IP、Dst IP、Src MAC、Dst MACの全てと合致(SFCフロー条件に合致)するとき、対応するModyfy FieldのActionとして、入力されたパケットのSrc MACを自情報(自装置のMACアドレス)へ、Dst MACを宛先SF情報(宛先SFのMACアドレス)へ書き替える。
また、OpenFlow Pipeline22は、合致するSFCフロー条件に対応するForwardのActionとして、Logical Portとして7を指定し、Physical Portとして4を指定し、OXM_OF_TUNNEL_ID(Tunnel-ID)へService Path ID及びService Indexを埋め込み、パケットとともに、Output Portとして指定したLogical Port7(Logical Port23a)へ送信する。
そして、Logical Port23aは、OpenFlow Pipeline22から受信したTunnel-IDからService Path ID及びService Indexを抽出してパケットへ付与し、Outer(VxLAN等)ヘッダを付与するトンネリング処理を実行し、トンネリング処理したパケットをPhysical Port23(Physical Port4)から出力する。
(実施形態1に係るSCFの処理手順)
図7は、実施形態1に係るSCFの処理手順の一例を示すフローチャートである。先ず、SCF20は、OpenFlow Pipeline22にて、受信パケットがSFC対象のフロー条件に合致するか否かを判定する(ステップS11)。SCF20は、OpenFlow Pipeline22にて、受信パケットがSFC対象のフロー条件に合致すると判定した場合(ステップS11Yes)、ステップS12へ処理を移し、合致しないと判定した場合(ステップS11No)、他の合致するフロー条件に従ってパケットを転送し(ステップS20)、処理を終了する。
ステップS12では、SCF20は、OpenFlow Pipeline22にて、受信パケットのSrc MAC及びDst MACを書き替える。次に、SCF20は、OpenFlow Pipeline22にて、Flow Table22aに従って、Logical Portを指定する(ステップS13)。次に、SCF20は、OpenFlow Pipeline22にて、Flow Table22aに従って、Physical Portを指定する(ステップS14)。次に、SCF20は、OpenFlow Pipeline22にて、Flow Table22aに従って、Service Path ID及びService Indexを指定する(ステップS15)。次に、SCF20は、OpenFlow Pipeline22にて、OXM_OF_TUNNEL_ID(Tunnel-ID)へService Path ID及びService Indexを埋め込む(ステップS16)。
次に、SCF20は、OpenFlow Pipeline22にて、Service Path ID及びService Indexを埋め込んだOXM_OF_TUNNEL_IDとともに、パケットを、ステップS13で指定したLogical Portへ転送する(ステップS17)。次に、SCF20は、ステップS13で指定したLogical Portにて、パケットへOuterヘッダを付加する(ステップS18)。次に、SCF20は、ステップS14で指定したPhysical Portからパケットを出力する(ステップS19)。SCF20は、ステップS19が終了すると、処理を終了する。
(実施形態1に係るSFFの構成)
図8は、実施形態1に係るSFFの構成の一例を示す図である。実施形態1に係るSFF30は、SCF20又は他のSFF30から受信したパケットに対して、入力Logical Port及びTunnel-IDをもとにForwardのActionを実行することで、指定したLogical Portにて指定したService Path ID及びService Indexをパケットへ付与して目的のSFへパケットを転送するOFSである。
すなわち、SFF30は、Logical Portを利用し、Logical Portにて入力パケットからService Path ID及びService Indexを抽出し、付加情報としてのOXM_OF_TUNNEL_ID内にService Path ID及びService Indexを埋込み、OpenFlow Pipelineへ送付する。OpenFlow Pipelineは、Flow TableのMatch FieldのIngress Port、Service Path ID及びService Indexが、パケットが入力されたLogical Portと、OXM_OF_TUNNEL_IDから抽出したService Path ID及びService Indexと一致する場合に、対応するModify Field及びForwardに規定されるActionを実行することで、パケットを目的のSFへチェイニングする。
SFF30は、Physical Port31、OpenFlow Pipeline32、Physical Port33を有する。Physical Port31は、Logical Port31aを有する。Physical Port33は、Logical Port33aを有する。Physical Port31のPhysical Port番号は、例えば4であるとする。Logical Port31aのLogical Port番号は、例えば6であるとする。また、Physical Port33のPhysical Port番号は、例えば4であるとする。Logical Port33aのLogical Port番号は、例えば7であるとする。
OpenFlow Pipeline32は、Flow Table32aを有する。図8に示すFlow Table32aには、例えば、Match Fieldに、Ingress Port(SFC入力を示すLogocal Port番号)、OXM_OF_TUNNEL_IDとして、Service Path ID及びService Indexが設定されている。
SFF30のLogical Port31aは、Physical Port31から入力されたパケットのヘッダから、Service Path ID、Service Indexを抽出する。また、Logical Port31aは、入力パケットからOuter(VxLAN等)ヘッダ、SFCヘッダを削除する。また、Logical Port31aは、抽出したService Indexを1ディクリメントする。そして、OpenFlow Pipeline32は、Logical Port31aのポート番号6、入力されたパケットから抽出されたService Path ID、Service Indexが、Flow Table32aのMatch Fieldに設定されているIngress Port、Service Path ID、Service Indexの全てと合致(SFCフロー条件に合致)するとき、対応するModyfy FieldのActionとして、入力されたパケットのSrc MACを自情報(自装置のMACアドレス)へ、Dst MACを宛先SF情報(宛先SFのMACアドレス)へ書き替える。
また、OpenFlow Pipeline32は、合致するSFCフロー条件に対応するForwardのActionとして、Logical Portとして7を指定し、Physical Portとして4を指定し、OXM_OF_TUNNEL_ID(Tunnel-ID)へService Path ID及びService Indexを埋め込み、パケットとともに、Output Portとして指定したLogical Port7(Logical Port33a)へ送信する。
そして、Logical Port33aは、OpenFlow Pipeline32から受信したTunnel-IDからService Path ID及びService Indexを抽出してパケットへ付与し、Outer(VxLAN等)ヘッダを付与するトンネリング処理を実行し、トンネリング処理したパケットをPhysical Port33(Physical Port4)から出力する。
(実施形態1に係るSFFの処理手順)
図9は、実施形態1に係るSFFの処理手順の一例を示すフローチャートである。先ず、SFF30は、パケットが入力されたLogical Portにて、入力パケットからLogical Port番号、Physical Port番号、及び、Service Path ID、Service Indexを取得する(ステップS21)。次に、SFF30は、ステップS21で取得したService Indexが0より大であるか否かを判定する(ステップS22)。SFF30は、ステップS21で取得したService Indexが0より大である場合(ステップS22Yes)、ステップS23へ処理を移し、Service Indexが0である場合(ステップS22No)、入力パケットを破棄し(ステップS35)、処理を終了する。なお、SFF30は、ステップS35で、パケットを破棄せず、パケットのチェイニングを終了し、予め定められた宛先へパケットを送信するとしてもよい。
SFF30は、パケットが入力されたLogical Portにて、Service Indexを1ディクリメントする(ステップS23)。次に、SFF30は、パケットが入力されたLogical Portにて、入力パケットからOuterヘッダを削除する(ステップS24)。次に、SFF30は、OpenFlow Pipeline32にて、入力パケットがSFC対象のフロー条件に合致するか否かを判定する(ステップS25)。SFF30は、OpenFlow Pipeline32にて、入力パケットがSFC対象のフロー条件に合致すると判定した場合(ステップS25Yes)、ステップS26へ処理を移す。一方、SFF30は、OpenFlow Pipeline32にて、入力パケットがSFC対象のフロー条件に合致しないと判定した場合(ステップS25No)、他の合致するフロー条件に従ってパケットを転送し(ステップS34)、処理を終了する。
ステップS26では、SFF30は、OpenFlow Pipeline32にて、受信パケットのSrc MAC及びDst MACを書き替える。次に、SFF30は、OpenFlow Pipeline32にて、Flow Table32aに従って、Logical Portを指定する(ステップS27)。次に、SFF30は、OpenFlow Pipeline32にて、Flow Table32aに従って、Physical Portを指定する(ステップS28)。次に、SFF30は、OpenFlow Pipeline32にて、Flow Table32aに従って、Service Path ID及びService Indexを指定する(ステップS29)。次に、SFF30は、OpenFlow Pipeline32にて、OXM_OF_TUNNEL_ID(Tunnel-ID)へService Path ID及びService Indexを埋め込む(ステップS30)。
次に、SFF30は、OpenFlow Pipeline32にて、Service Path ID及びService Indexを埋め込んだOXM_OF_TUNNEL_IDとともに、パケットを、ステップS27で指定したLogical Portへ転送する(ステップS31)。次に、SFF30は、ステップS27で指定したLogical Portにて、パケットへOuterヘッダを付加する(ステップS32)。次に、SFF30は、ステップS28で指定したPhysical Portからパケットを出力する(ステップS33)。SFF30は、ステップS33が終了すると、処理を終了する。
[実施形態2]
実施形態2は、OpenFlow Port情報へのService Path ID、Service Indexの埋め込み先として、実施形態1のようにOXM_OF_TUNNEL_ID(Tunnel-ID)を用いるのではなく、図10及び図11に示すようにOFPXMT_OFB_IN_PORT(Logical Port番号)を用いる。すなわち、実施形態2では、Service Path ID+Service IndexがLogical Port番号となる。なお、図11に示すように、実施形態2においても、OFPXMT_OFB_IN_PHY_PORTは、実施形態1同様、Physical Port番号を表す。
実施形態2では、32bit長のOFPXMT_OFB_IN_PORTが、同じく32bit長のOFPXMT_OFB_IN_PHY_PORTと同値になることを回避するため、Service Path IDは1以上の値とし、Physical Port番号が255以下であることを前提とする。SFCからの入力であることは、OFPXMT_OFB_IN_PORTが256以上であることから判断される。
[実施形態による効果]
実施形態1及び2によれば、NSH(Network Service Header)のフィールドであるService Path ID及びService Indexを、NSHを利用してパケットへ付加するのではなく、OpenFlow Port情報の64bit長のOXM_OF_TUNNEL_ID又は32bit長のOFPXMT_OFB_IN_PORTを利用してパケットへ付与するため、24byte長のNSHの付加の処理と比較して、処理負荷を軽減できる。このため、OpenFlow Switchが要求される高速処理性能を損ねることなく、OpenFlow ProtocolによりSFC制御を実現することができる。
(SCF及びSFFの装置構成について)
図6に示すSCF20及び図8に示すSFF30の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要さない。すなわち、SCF20及びSFF30の機能の分散及び統合の具体的形態は図示のものに限られず、全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散又は統合して構成することができる。
また、SCF20及びSFF30において行われる各処理は、全部又は任意の一部が、CPU(Central Processing Unit)もしくはNP(Network Processor)等の処理装置及び処理装置により解析実行されるプログラムにて実現されてもよい。また、SCF20及びSFF30において行われる各処理は、ワイヤードロジックによるハードウェアとして実現されてもよい。
また、実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともできる。もしくは、実施形態において説明した各処理のうち、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上述及び図示の処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて適宜変更することができる。
(プログラムについて)
図12は、プログラムが実行されることにより、SCF及びSFFが実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020(もしくはNP)を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。コンピュータ1000において、これらの各部はバス1080によって接続される。
メモリ1010は、ROM(Read Only Memory)1011及びRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1031に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1041に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1041に挿入される。シリアルポートインタフェース1050は、例えばマウス1051、キーボード1052に接続される。ビデオアダプタ1060は、例えばディスプレイ1061に接続される。
ハードディスクドライブ1031は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、SCF20及びSFF30の各処理を規定するプログラムは、コンピュータ1000によって実行される指令が記述されたプログラムモジュール1093として、例えばハードディスクドライブ1031に記憶される。例えば、SCF20及びSFF30における機能構成と同様の情報処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1031に記憶される。
また、実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1031に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1031に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1031に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1041等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093やプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093やプログラムデータ1094は、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
上記実施形態は、本願が開示する技術に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
1 SFCネットワーク
10 OFC
20 SCF
21 Physical Port
22 OpenFlow Pipeline
22a Flow Table
23 Physical Port
23a Logical Port
30 SFF
31 Physical Port
31a Logical Port
32 OpenFlow Pipeline
32a Flow Table
33 Physical Port
33a Logical Port
40、40−1、40−2 SF
1000 コンピュータ
1010 メモリ
1020 CPU

Claims (7)

  1. OpenFlowプロトコルに従ってパケットの転送制御を行う転送装置であって、
    OpenFlowプロトコルのOpenFlow Port情報に、サービスファンクション装置間でパケットのチェイニングを行う場合の経路を識別する経路識別情報と、該経路におけるチェイニングによりパケットが位置するサービスファンクション装置を示す位置情報とを含め、該経路識別情報及び該位置情報によりチェイニングに関するパケットの転送制御を行う転送制御部
    を備えることを特徴とする転送装置。
  2. さらに、
    前記転送制御部は、
    チェイニング条件に、該チェイニング条件に合致するパケットに対して指定する論理ポート、物理ポート、前記経路識別情報及び前記位置情報を対応付けたテーブルを参照して、受信したパケットが該チェイニング条件に合致するか否かを判定し、
    前記チェイニング条件に合致するパケットの、送信元MAC(Media Control Access)へ自装置のMACアドレスを設定し、送信先MACアドレスへ次のチェイニング先のサービスファンクション装置のMACアドレスを設定し、
    パケットが合致する前記チェイニング条件に対応付けられた論理ポートを、該パケットが合致する前記チェイニング条件に対応付けられた前記経路識別情報及び前記位置情報を該パケットへ付加するポートに指定し、該パケットが合致する前記チェイニング条件に対応付けられた物理ポートを、該パケットを出力する出力ポートに指定する
    ことを特徴とする請求項1に記載の転送装置。
  3. さらに、
    前記転送制御部は、
    パケットが入力された論理ポート番号と、該パケットに付加されている前記経路識別情報及び前記位置情報とが前記チェイニング条件に合致するか否かを判定する
    ことを特徴とする請求項2に記載の転送装置。
  4. さらに、
    前記位置情報は、チェイニングにより通過予定のサービスファンクション装置の数を初期値とし、サービスファンクション装置を通過する毎に1減算される数値であり、
    前記転送制御部は、
    前記位置情報が0である場合に、入力されたパケットの転送制御を行わず、該パケットのチェイニングを終了する
    ことを特徴とする請求項2又は3に記載の転送装置。
  5. 前記経路識別情報及び前記位置情報が、前記OpenFlow Port情報のフィールドであるトンネル識別情報に設定される
    ことを特徴とする請求項1〜4のいずれか1つに記載の転送装置。
  6. 前記経路識別情報及び前記位置情報が、前記OpenFlow Port情報のフィールドである、物理ポート番号及び論理ポート番号のいずれかを設定可能であるポート番号情報に設定され、該ポート番号情報を前記OpenFlow Port情報の論理ポート番号とする
    ことを特徴とする請求項1〜4のいずれか1つに記載の転送装置。
  7. 前記位置情報が、32ビットの前記ポート番号情報の下位8ビットに設定され、前記経路識別情報が、該ポート番号情報の上位24ビットに設定され、
    前記経路識別情報は1以上の値であり、前記OpenFlow Port情報のフィールドである物理ポート番号情報は255以下の値であり、
    前記転送制御部は、
    前記ポート番号情報が256以上の値である場合に、パケットが前記チェイニング条件に合致すると判定する
    ことを特徴とする請求項6に記載の転送装置。
JP2015026061A 2015-02-13 2015-02-13 転送装置 Pending JP2016149669A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015026061A JP2016149669A (ja) 2015-02-13 2015-02-13 転送装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015026061A JP2016149669A (ja) 2015-02-13 2015-02-13 転送装置

Publications (1)

Publication Number Publication Date
JP2016149669A true JP2016149669A (ja) 2016-08-18

Family

ID=56688062

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015026061A Pending JP2016149669A (ja) 2015-02-13 2015-02-13 転送装置

Country Status (1)

Country Link
JP (1) JP2016149669A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019156128A1 (ja) * 2018-02-08 2019-08-15 日本電信電話株式会社 通信システムおよび通信方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019156128A1 (ja) * 2018-02-08 2019-08-15 日本電信電話株式会社 通信システムおよび通信方法

Similar Documents

Publication Publication Date Title
US10484279B2 (en) Executing multiple virtual private network (VPN) endpoints associated with an endpoint pool address
US9847940B2 (en) Control method, packet processing device, and storage medium
US20190273718A1 (en) Intercepting network traffic routed by virtual switches for selective security processing
JP6024474B2 (ja) マルチテナントシステム、管理装置、管理プログラム、およびマルチテナントシステムの制御方法
US10237377B2 (en) Packet rewriting apparatus, control apparatus, communication system, packet transmission method and program
JP6269999B2 (ja) パケット処理方法および装置
CN112953831A (zh) 一种报文转发方法及装置
TW201933837A (zh) 虛擬網路隧道內流量資料擷取方法與系統
JP6428296B2 (ja) 情報処理システム、情報処理装置、および情報処理システムの制御方法
WO2015101119A1 (zh) 一种流表匹配的方法、装置和OpenFlow交换系统
JP6574054B2 (ja) パケット転送
JP6437693B2 (ja) マルチキャストデータパケット転送
JP6793056B2 (ja) 通信装置及びシステム及び方法
JP6488426B2 (ja) マルチキャストデータパケット転送
US10164908B2 (en) Filtration of network traffic using virtually-extended ternary content-addressable memory (TCAM)
JP5888338B2 (ja) 通信システムおよび通信方法
US10826916B2 (en) Agent-less network traffic inspection using an overlay network
US20160285734A1 (en) Cloud-environment provision system, route control method, and medium
WO2014112616A1 (ja) 制御装置、通信装置、通信システム、スイッチの制御方法及びプログラム
JP2019523608A (ja) パケット監視
WO2015025845A1 (ja) 通信システム、スイッチ、コントローラ、アンシラリデータ管理装置、データ転送方法及びプログラム
JP2018521606A (ja) Vxlanにおけるパケットロスの位置特定
JPWO2012105677A1 (ja) パケット処理装置、パケット処理方法およびプログラム
US20200028779A1 (en) Packet processing method and apparatus
EP3829111A1 (en) Dynamic mapping of nodes responsible for monitoring traffic of an evolved packet core