JPWO2014208538A1 - 通信システムと装置と方法とプログラム - Google Patents

通信システムと装置と方法とプログラム Download PDF

Info

Publication number
JPWO2014208538A1
JPWO2014208538A1 JP2015524056A JP2015524056A JPWO2014208538A1 JP WO2014208538 A1 JPWO2014208538 A1 JP WO2014208538A1 JP 2015524056 A JP2015524056 A JP 2015524056A JP 2015524056 A JP2015524056 A JP 2015524056A JP WO2014208538 A1 JPWO2014208538 A1 JP WO2014208538A1
Authority
JP
Japan
Prior art keywords
packet
communication
network
switch
virtual machine
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
JP2015524056A
Other languages
English (en)
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 JPWO2014208538A1 publication Critical patent/JPWO2014208538A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • H04L12/4625Single bridge functionality, e.g. connection of two networks over a single bridge
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/58Association of routers
    • H04L45/586Association of routers of virtual routers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1017Server selection for load balancing based on a round robin mechanism
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/566Grouping or aggregating service requests, e.g. for unified processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本発明は、ネットワーク全体の負荷分散を可能とする。通信ネットワークで用いられるハードウェア機器の通信機能を仮想マシン(VM)が実行する通信システムにおける通信制御装置(500)は、前記通信機能と通信セッションを確立するために複数の経路(5041〜504n)に向けて転送されるパケット(503)の転送先を、複数の前記仮想マシン(VM)から選択する第一の手段(501)と、前記パケットを選択された仮想マシン(VM)に転送する第二の手段(502)とを含む。

Description

(関連出願についての記載)
本発明は、日本国特許出願:特願2013−133050号(2013年6月25日出願)の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は通信システムと装置と方法とプログラムに関する。
ネットワークをソフトウェアで制御できるようにするSDN(Software Defined Network)技術や、例えばコア網(Core Network)等のネットワーク機能を仮想化する「NFV(Network Functions Virtualization)」等、ネットワークにおいても、IT(Intelligent Technology)技術で培われたサーバ仮想化等によるネットワークアプライアンス(機器)の仮想化に関心が高まっている。例えば欧州の標準化団体「ETSI」(European Telecommunications Standards Institute)のNFVグループには多くの有力通信事業者、ベンダ等が参加している。通信事業者の網に含まれる様々なアプライアンス、例えばモバイルコアの機能であるMME(Mobility Management Entity)、S−GW(Serving-GateWay)、P−GW(Packet Data Network-GateWay)、ルータ、大規模NAT(LSN:Large Scale Network address translation)、HLR(Home Location Register)、RNC(Radio Netwok Controller)/eNodeB、ファイアウォールや認証サーバ等は、現在、それぞれ専用機器で構成されている。
NFVでは、これら専用装置に実装されていたネットワーク機器等を、例えば汎用のサーバを用いたサーバ仮想化技術で実装することで、設備コスト、運用コストの削減を図る。また、制御信号等の通信負荷の増大等に対してリソースを追加することで、耐障害性を高めることを可能としている。
図1は、事業者網(キャリアネットワーク)を模式的に例示した図である。この事業者網は、後述する実施形態の適用対象とされるネットワークの一例でもあるので、その関連技術を説明しておく。
図1には、PPPoE(Point to Point Protocol over Ethernet(登録商標))による接続の一例が模式的に示されている。PPPoEについては、例えば非特許文献1が参照される。加入者宅内1の端末11〜11はルータ10、ADSL(Asymmetric Digital Subscriber Line)モデム12、ADSL回線15を介して、局舎のDSLAM(Digital Subscriber Line Access Multiplexer)21に接続される。BAS(Broadband Access Server)20は、ルータの機能を持つアクセスサーバであり、ユーザからの接続認証やプロバイダ識別子に従いプロバイダ30の切り替えや帯域管理を行う。DSLAM21は複数のADSL回線を1つに束ねるレイヤ2(L2)の集線装置である。なお、BASはBRAS(Broadband Remote Access Server)であってもよい。以下では、ADSLで説明するが、ADSLのかわりに、FTTH(Fiber To The Home)であってもよい(この場合、モデムは不要であり、ルータはFTTH用ルータとなる)。
PPPoE接続では加入者宅内のルータ10(クライアント)と、アクセスサーバBAS20との間をブリッジ接続しPPP(Point to Point Protocol)接続を行う。BAS20は、例えば、「ユーザID@プロバイダ識別子」のユーザアカウントにより、どのプロバイダ(ISP:Internet Service Provider)に接続するか認識しユーザの認証を行い、プロバイダとの接続点へユーザデータを転送する。ルータ10からDSLAM21まではPPPoEによるトンネリングが行われ、DSLAM21とBAS20間はL2TP(Layer 2 Tunneling Protocol)によるトンネリングが行われる。
図2は、PPPoEディスカバリステージのシーケンス動作を説明する図である。PPPoEセッションの開始は、PPPoEクライアントであるルータ側からのPADI(PPPoE Active Discovery Initiation)パケットの送信で開始する。PADIパケットは、図27にヘッダーフォーマットを例示したように、ヘッダの宛先MACアドレス(48ビット)が全て1のブロードキャストパケットである。
BASは、サービス可能なPADIを受けると、応答パケットPADO(PPPoE Active Discovery Offer)を、PADIを送信したホストであるルータ(図1の10)に返す。
ルータは、受信したPADOの送信元のBAS宛に、ユニキャストでPADR(PPPoE Active Discovery Request)を送信したのち、PADRを送信したBASとの間でセッションを開始する。なお、ルータがPADRを送信後、セッションを開始するまでの手順の説明は省略する。
L.Mamakosその他、"A Method for Transmitting PPP Over Ethernet (PPPoE)"[平成25年4月1日検索]、インターネット<URL:http://www.ietf.org/rfc/rfc2516.txt>
以下に関連技術の分析を与える。
上記した通り、NFV等では、通信事業者のネットワークアプライアンスを、汎用サーバの仮想化基盤上の仮想マシン上に実装することにより、ネットワークアプライアンスの仮想化を実現している。
図3は、例えばBRAS/BASを仮想化した構成(プロトタイプ)を例示する図である。図3に示すように、BRAS機能(BRAS1、2、3)は、サーバの仮想化基盤上の仮想マシン(VM)230、230、230上でそれぞれ動作するソフトウェアによって実現される。
図3に示したように、BRAS/BASを仮想化した場合では、BRAS/BASの機能のみを実行する専用装置のかわりに、汎用装置(汎用サーバ上の仮想マシン)を使うため、専用装置を用いる場合と比較して、BRAS/BASの処理性能が低くなる。
このため、BRAS/BASを仮想化した場合には、BRAS/BASの処理性能を考慮して、個々のBRAS/BASが収容するセッション数(クライアント数)の負荷分散を行う必要がある。
一方、現在のPPPoEのプロトコルでは、図2を参照して説明したように、PADIというブロードキャストパケットによりセッションを確立している。すなわち、クライアントがPADIを送り、複数のBRAS/BASが応答した場合、クライアントがどれか1つを選択してセッションを確立することになっている。
つまり、現在のPPPoEプロトコルでは、複数のBRAS/BASからの応答に対して、どのBRAS/BASとのセッションを確立するか、を選択することができない。このため、上記のような現状のPPPoEプロトコルでは、BRAS/BASの負荷分散を行うことは難しい。
したがって、本発明は、上記問題点に鑑みて創案されたものであって、その目的は、ネットワークシステム全体での負荷分散を可能とするシステム、装置、方法、プログラムを提供することにある。
本発明のいくつかの側面の1つによれば(視点1)、通信ネットワークで用いられるハードウェア機器の通信機能を仮想マシンが実行する通信システムにおける通信制御装置であって、前記通信機能と通信セッションを確立するために複数の経路に向けて転送されるパケットの転送先を、複数の前記仮想マシンから選択する第一の手段と、前記パケットを、選択された仮想マシンに転送する第二の手段とを有する通信制御装置が提供される。
他の側面によれば(視点2)、通信ネットワークで用いられるハードウェア機器の通信機能を仮想マシンが実行する通信システムにおける通信制御方法であって、前記通信機能と通信セッションを確立するために複数の経路に向けて転送されるパケットの転送先を、複数の前記仮想マシンから選択し、前記パケットを、選択された仮想マシンに転送する、通信制御方法が提供される。
さらに他の側面によれば(視点3)、通信ネットワークで用いられるハードウェア機器の通信機能を仮想マシンが実行する通信システムにおける通信制御装置に、前記通信機能と通信セッションを確立するために複数の経路に向けて転送されるパケットの転送先を、複数の前記仮想マシンから選択する処理と、前記パケットを、選択された仮想マシンに転送する処理と、を実行させる通信制御プログラムが提供される。
さらに他の側面によれば(視点4)、上記視点3のプログラムを記録したコンピュータ読み出し可能な媒体(半導体メモリ、磁気/光ディスク等)が提供される。
さらに他の側面によれば、通信ネットワークで用いられるハードウェア機器の通信機能を仮想マシンが実行する通信システムの通信制御装置であって、前記通信機能と通信セッションを確立するために複数の経路に向けて転送されるパケットの転送先を、複数の前記仮想マシンから選択する第一の手段と、前記パケットを選択された仮想マシンに転送することを、ネットワークスイッチに指示する第二の手段とを有する通信制御装置が提供される。
さらに他の側面によれば、通信ネットワークで用いられるハードウェア機器の通信機能を仮想マシンが実行する通信システムにおける通信装置であって、前記通信機能と通信セッションを確立するために複数の経路に向けて転送されるパケットを識別する手段と、複数の前記仮想マシンから選択された仮想マシンに前記パケットを転送する装置に、識別した前記パケットを集約する手段とを有する通信装置が提供される。
さらに他の側面によれば、通信ネットワークで用いられるハードウェア機器の通信機能を実行する仮想マシンが配置される情報処理装置であって、ネットワークスイッチの機能を有する仮想スイッチを稼動させるための手段を有し、前記仮想スイッチは、前記通信機能と通信セッションを確立するために複数の経路に向けて転送されるパケットを、複数の前記仮想マシンから選択された仮想マシンに転送する転送手段を有する情報処理装置が提供される。
さらに他の側面によれば、複数の経路に向けて転送されるパケットを少なくとも1つ受信すると、前記パケットに対して少なくとも1つの転送先を選択し、前記選択した転送先に前記パケットを転送する手段(工程、処理)を備えた通信システム(方法、プログラム)が提供される。
本発明によれば、ネットワークシステムの負荷分散を可能としている。
PPPoE接続を例示する模式図である。 PPPoEディスカバリステージを説明する図である。 プロトタイプ例を説明する図である。 実施形態を説明する図である。 本発明の実施形態1におけるネットワーク機能の仮想化を例示する図である。 本発明の実施形態1のOFCの構成を例示する図である。 本発明の実施形態1の動作を模式的に例示する説明図である。 本発明の実施形態1のシーケンス動作を例示する図である。 本発明の実施形態1のOFCの変形例の構成を例示する図である。 本発明の実施形態1の変形例のシーケンス動作を例示する図である。 本発明の実施形態2を例示する図である。 (A)、(B)は実施形態2と関連技術のDSLAMをそれぞれ例示する図である。 本発明の実施形態3を例示する図である。 本発明の実施形態3のDSLAMを例示する図である。 本発明の実施形態4を例示する図である。 本発明の実施形態4のDSLAMを例示する図である。 本発明の実施形態5を例示する図である。 本発明の実施形態6を例示する図である。 本発明の実施形態6を模式的に説明する図である。 本発明の実施形態6のOFCの構成を例示する図である。 本発明の実施形態6のシーケンス動作を例示する図である。 本発明の実施形態6のOFCの変形例の構成を例示する図である。 本発明の実施形態6の変形例のシーケンス動作を例示する図である。 本発明の実施形態7の動作を模式的に例示する説明図である。 本発明の実施形態7のコントローラの構成を例示する図である。 本発明の実施形態7の変形例のシーケンス動作を例示する図である。 PADIパケットのフォーマットを示す図である。 フローエントリを説明する図である。 パケットヘッダを説明する図である。 本発明の基本概念を説明する図である。 本発明の基本概念を説明する図である。 本発明の基本概念を説明する図である。
本発明の基本概念を説明する。本発明のいくつかの好ましい形態によれば、図30を参照すると、通信ネットワークで用いられるハードウェア機器の通信機能を仮想マシンが実行する通信システムにおける通信制御装置(500)は、前記通信機能と通信セッションを確立するために複数の経路(504〜504、但し、nは2以上の所定の正整数)に向けて転送されるパケット(503)の転送先を、複数の前記仮想マシン(VM:505〜505)から選択する第一の手段(501)と、前記パケット(503)を、選択された仮想マシン(VM)に転送する第二の手段(502)を備えている。
前記第一の手段(501)は、前記通信制御装置(500)に集約された前記パケットの転送先を、複数の前記仮想マシンから選択するようにしてもよい。
前記第一の手段(501、あるいは例えば図5のOFC200に対応)は、前記パケット(503)を前記通信制御装置(500)に集約する機能を有するネットワークスイッチ(図30では不図示、例えば図5のOVS220)から前記パケットを受信し、受信したパケットの転送先を、複数の前記仮想マシンから選択するようにしてもよい。
前記第一の手段(501)は、前記パケットの転送先が複数の前記仮想マシン間で分散するように、前記パケットの転送先を選択するようにしてもよい。
前記第一の手段(501)は、複数の前記仮想マシンの動作状況に応じて、前記パケットの転送先を選択するようにしてもよい。
前記第一の手段(501)は、前記通信制御装置(500)からの指示に応じて動作するネットワークスイッチ(図30では不図示、例えば図5のOVS220)から前記パケットを受信し、受信した前記パケットの転送先を、複数の前記仮想マシンから選択するようにしてもよい。
前記第一の手段(501)は、前記パケットの処理方法に対応する指示が未知である場合に、前記ネットワークスイッチ(例えば図5のOVS220)から前記パケットに関する指示の要求を受信し、当該要求に応じて、前記パケットの転送先を、複数の前記仮想マシンから選択するようにしてもよい。
前記第一の手段(501)は、前記ネットワークスイッチから、前記通信制御装置(500)からの指示に従って転送された前記パケットを受信し、当該パケットの転送先を、複数の仮想スイッチから選択するようにしてもよい。
本発明の別の好ましい形態によれば、図31を参照すると、通信ネットワークで用いられるハードウェア機器の通信機能を仮想マシンが実行する通信システムの通信制御装置(600)は、前記通信機能と通信セッションを確立するために複数の経路(605〜605、但し、nは2以上の所定の正整数)に向けて転送されるパケット(603)の転送先を、複数の前記仮想マシン(VM:606〜606)から選択する第一の手段(601)と、前記パケット(603)を選択された仮想マシン(VM)に転送することを、ネットワークスイッチ(604)に指示する第二の手段(602)を有する。
本発明のさらに別の好ましい形態によれば、通信ネットワークで用いられるハードウェア機器の通信機能を仮想マシンが実行する通信システムにおける通信装置は、前記通信機能と通信セッションを確立するために複数の経路に向けて転送されるパケットを識別する手段と、複数の前記仮想マシンから選択された仮想マシンに前記パケットを転送する装置に、識別した前記パケットを集約する手段とを有する。
本発明の別の好ましい形態によれば、図32を参照すると、複数の経路(経路1〜経路n、但し、nは2以上の所定の正整数)に向けて転送されるパケットを少なくとも1つ受信すると、前記パケットに対して少なくとも1つの転送先(経路m、1≦m≦n)を選択し、前記選択した転送先に前記パケットを選択的に転送する、という転送先の絞り込みを行う手段(700)を備えている。
本発明のいくつかの好ましい形態によれば、通信ネットワークで用いられるハードウェア機器の通信機能を実行する仮想マシンが配置される情報処理装置(例えば図5の250)は、ネットワークスイッチの機能を有する仮想スイッチ(例えば図5の220)を稼動させるための手段(図5の240)を有し、前記仮想スイッチ(例えば図5の220)は、前記通信機能と通信セッションを確立するために複数の経路に向けて転送されるパケットを、複数の前記仮想マシンから選択された仮想マシンに転送する手段を有する。前記仮想スイッチ(例えば図5の220)の転送手段は、前記通信機能と通信セッションを確立するために複数の経路に向けて転送される前記パケットを、通信制御ユニット(図5の200)に転送し、前記通信制御ユニット(図5の200)により選択された仮想マシンに、前記パケットを転送する。
本発明のいくつかの好ましい形態によれば、転送先の絞り込みを行う手段(図30の500)は、前記ネットワーク上をブロードキャストされるパケットを集約し、前記選択した転送先に、前記パケットをユニキャストで転送するノード(図4の26)を含むようにしてもよい。
本発明のいくつかの好ましい形態によれば、制御装置は、複数の経路に向けて転送されるパケットを受信したスイッチから通知を受ける手段(図25の402)と、前記複数のスイッチのうち、前記所定の形式のパケットを転送する少なくとも1つのポート(PORT)又は、前記ポートに対応するスイッチ(SW)を選択する手段(図25の401)と、を備えている。これらの手段は、制御装置を構成するコンピュータで実行されるプログラムによりその機能を実現するようにしてもよい。
本発明のいくつかの好ましい形態によれば、前記スイッチ(図5のOVS、図18のOFS)が、前記制御装置(図5のOFC、図18のOFC)によって設定された処理規則にしたがって入力パケットの転送を処理し、前記制御装置(図5のOFC、図18のOFC)が、パケットの転送に関する前記処理規則を前記スイッチに設定する。
本発明のいくつかの好ましい形態によれば、複数の回線を集線する集線装置(図11のDSLAM)を備え、前記集線装置が、前記制御装置(図11の27)によって制御される前記スイッチを備え、前記パケットを、前記選択した転送先に転送する構成としてもよい。あるいは、前記パケットの転送先を決定する負荷分散装置(図13のLB)を備えた構成としてもよい。
本発明のいくつかの好ましい形態によれば、複数の回線を集線する集線装置(図15、図17のDSLAM)と、前記パケットの転送先を決定する負荷分散装置(図15、図17のLB)と、を備え、前記負荷分散装置で決定した転送先に前記パケットが転送される構成としてもよい。
前記制御装置(図18のOFC)は、複数の前記スイッチ(図18のOFS1、OFS2、OFS3)に接続され、前記複数のスイッチは、ブロードキャストパケット受信時、前記制御装置(図18のOFC)に対して、ブロードキャストパケット受信を通知する。前記制御装置(図18のOFC)は、最初に前記スイッチからブロードキャストパケット受信の通知を受けると、タイマをスタートさせ、タイムアウトが発生すると、少なくとも1つのポート又はスイッチを選択するようにしてもよい。
あるいは、複数の前記スイッチ(図5OVS1、OVS2、OVS3)の各々が、1つ又は複数のネットワーク機能部(VM11〜VM13、VM21〜VM23、VM31〜VM33)に接続し、前記制御装置(図5のOFC)は、複数の前記スイッチ(図5のOVS1、OVS2、OVS3)に接続される複数のネットワーク機能部(VM11〜VM13、VM21〜VM23、VM31〜VM33)に接続し、前記スイッチからのブロードキャストパケット受信の通知を受け、複数の前記ネットワーク機能部(VM11〜VM13、VM21〜VM23、VM31〜VM33)の負荷に基づき、少なくとも1つの前記ネットワーク機能部を選択し、選択したネットワーク機能部に接続するポートを有するスイッチに対して、前記ポートから前記ブロードキャストパケットの転送を指示する。
本発明のいくつかの好ましい形態によれば、前記ネットワーク機能部(VM11〜VM13、VM21〜VM23、VM31〜VM33)がサーバの仮想基盤(VMM)上に仮想化された仮想マシンである。
本発明のいくつかの好ましい形態によれば、前記同一パケットが複数の宛先へ転送される転送形式のパケット(例えばブロードキャストパケット)を受信した場合に、前記制御装置に通知するスイッチ(図18のOFS1〜OFS3、図24のSW1〜SW3)が、前記スイッチが構成するネットワーク(図18の31、図24の41)と他のネットワーク(図18の32、図24の42)との境界に配置されている。
このような構成とすることで、ネットワークシステム全体での負荷分散を可能としている。次に、実施形態について説明する。
SDN(Software Defined Network)を実現するための技術として、例えば、一元的に管理を行うコントローラがスイッチ等の機器に対して、ソフトウェア的に指示を出すことでフロー制御等を可能とする「OpenFlow」が知られている。OpenFlowでは、通信をエンドツーエンドのフローエントリベース(フローは、例えば入力ポートとMAC(Media Access Control)アドレスやIP(Internet Protocol)アドレス、ポート番号などの組み合わせにより定義される)に、経路制御、障害回復、負荷分散、最適化を行う。オープンフロースイッチ(OpenFlow Switch:「OFS」と略記される)は、制御装置に相当するオープンフローコントローラ(OpenFlow Controller:「OFC」と略記される)との通信用のセキュアチャネルを備え、OFCから追加または書き換えを適宜指示されるフローテーブルに従って動作する。
OFSのフローテーブルは、例えば図28に示すように、フロー毎に、受信パケットのヘッダと照合するマッチングルール(照合欄:Match Field)(ヘッダフィールド)と、処理内容を定義したアクション(Actions)と、フロー統計情報(Counters)との組がフロー毎に定義される。マッチングルールは、正確な値(exact)、及びワイルドカード(wild card)が用いられる。アクション(Actions)は、ルールとマッチしたパケットに適用するアクションである。フロー統計情報は、アクティビティカウンタともいい、例えばアクティブエントリ数、パケットルックアップ数、パケットマッチ数、フロー単位に、受信パケット数、受信バイト数、フローがアクティブな期間、ポート単位で受信パケット、送信パケット、受信バイト、送信バイト、受信ドロップ、送信ドロップ、受信エラー、送信エラー、受信フレームアラインメントエラー、受信オーバーランエラー、受信CRC(Cyclic Redundancy Check)エラー、コリジョン数等を含む。
パケットヘッダの所定のフィールドがOFSのフローテーブルのルールとの照合(マッチ)に用いられる。ヘッダにおけるマッチ対象の情報は、図29に示すように、例えば、
宛先MAC(Media Access Control)アドレス(MAC DA(Destination Address):48ビット)、送信元MACアドレス(MAC SA(Source Address):48ビット)、Ehernet(登録商標)タイプ(TPID)、VLAN ID(Virtual LAN(Local Area Network) ID)、VLAN TYPE(優先度)、IPソースアドレス(IP SA(:32ビット)、IPディスティネーションアドレス(IP DA(:32ビット)、IPプロトコル、ソースポート(Source Port:TCP(Transmission Control Protocol)/UDP(User Datagram Protocol)、あるいは、ICMP(Internet Control Message Protocol) Type)、ディスティネーションポート(Destination port:TCP/UDP destination port、あるいは、ICMP Code))等を含む。
OFSは、パケットを受信すると、フローテーブルから、受信パケットのヘッダ情報に適合するマッチングルールを持つエントリを検索する。検索の結果、受信パケットに適合するエントリが見つかった場合、OFSは、フロー統計情報(カウンタ)を更新するとともに、受信パケットに対して、該エントリのアクションフィールドに記述された処理内容(指定ポートからのパケット送信、フラッディング、廃棄等)を実施する。一方、検索の結果、受信パケットに適合するエントリが見つからなかった場合、OFSは、セキュアチャネルを介して、OFCに対して、受信パケットを転送し、受信パケットの送信元・送信先に基づいたパケットの経路の決定を依頼し、これを実現するフローエントリを受け取ってフローテーブルを更新する。このように、OFSは、フローテーブルに格納されたエントリを処理規則として用いてパケット転送を行う。本明細書では、L2層のPDU(Protocol Data Unit)であるフレーム、L3層での転送単位であるパケットを特に区別せずに、転送単位を「パケット」という場合がある。
<実施形態1>
図4は、本発明の実施形態1の構成を例示する図である。図4は、本発明の技術思想を、図3のプロトタイプ例に適用した一例を示す図である。
図4を参照すると、スイッチ(エッジスイッチ)23〜23は、それぞれ、クライアント1からのブロードキャストパケット(上述したPADIパケット)を予め定められた集約ノード26に集約する。集約ノード26では、ブロードキャストパケットの転送先を少なくとも1つ決定し、決定した転送先にユニキャスト送信する。特に制限されないが、集約ノード26では、仮想マシン(VM)230〜230の負荷(例えばBRAS機能を実現するVMの負荷)を分散するように、ブロードキャストパケット(PADIパケット)の転送先の仮想マシン(VM)を決定する。例えばブロードキャストパケット(PADIパケット)の転送先を、仮想マシン(VM)230〜230に対してラウンドロビン方式で順番に割り当てるか、あるいは、仮想マシン(VM)230〜230の負荷状態(例えばポーリング等で取得管理する)に基づき、低負荷の仮想マシン(VM)を選択するようにしてもよい。なお、以降の例では、ブロードキャストパケット(PADIパケット)の場合を例に挙げて説明するが、これに限られるものではなく、BRAS/BAS等の通信機能と通信セッションを確立するために、複数の経路に向けて転送されるパケットのことであればよい。例えば、ブロードキャストパケットでなくてもよく、マルチキャストパケットであってもよい。
図5は、図4の具体的な構成例として、BRASのファンクションを仮想化した構成を例示する図である。少なくともBRAS機能を、サーバ250のハイパーバイザ(hypervisor)等の仮想マシンモニタ(Virtual Machine Monitor:VMM)上に実装される仮想マシン(Virtual Machine:VM)230として実現している。また、図5は、上述したOpenFlowを適用した場合の構成例を示している。OFSの機能(Functions)は、ソフトウェア等により仮想化した仮想スイッチ(OVS)220として、例えばサーバ250上で仮想化されており、VMM上に実装される。L2(Layer 2)スイッチ(L2SW)を含むL2ネットワーク2Aは、事業者IP(Internet Protocol)網を構成するネットワーク(図1の事業者網2の一部)である。コアネットワーク22は、例えばIMS(Internet Multimedia System)コアネットワークである(あるいはEPC(Evolved Packet Core)/LTE(Long Term Evolution)コアネットワークであってもよい)。さらに、サーバ250は、制御部240を含む。制御部240は、例えば上述したようなハイパーバイザ等のVMMである。VM230及び仮想スイッチであるOVS220を稼働させる機能を有する。なお、制御部240をハイパーバイザで構成した場合、仮想マシンVM230、及びOVS220からのネットワークアクセス等、ハードウェア資源へのアクセスはいずれもハイパーバイザを介して行われる(すなわちハイパーバイザを介して該当するハードウェアデバイスのデバイスドライバによって行われる)が、図5では、図面の簡単化のため、OVS220等は、ハイパーバイザ(制御部240)を介してではなく直接、L2ネットワーク2A等に接続するものとして図示されている。
OFC200は、図4における集約ノード26に相当し、OVS220およびVM230の制御を行う。仮想スイッチ(OVS)220がOpenFlowプロトコルのPacket_InメッセージでPADIパケットをOFC200に集約する。OFC200で、PADIパケットの転送先の仮想マシン(VM)を決定し、Packet_Outメッセージを、仮想スイッチ(OVS)220に送信し、PADIパケットの転送を指示する。このように、本実施形態によれば、OpenFlowプロトコルを用いてPADIパケットをOFCに集約する。
実施形態1では、OpenFlowプロトコルのPacket_Inメッセージを利用して、PADIパケットをOFCに集約する。よって、クライアント(ホスト)は、PADIパケットの宛先等を変更することなく、現状のPPPoEプロトコルで規定されているフォーマットのまま送信することができる。
このように、実施形態1によれば、OpenFlowプロトコルを利用することで、PPPoEプロトコルを変更することなく、PADIパケットを集約することができる。よって、OFCにおいて、集約したPADIパケットの転送先を決めることができるので、結果として、OFCによるBRASの負荷分散が可能となる。
図5において、仮想マシンVM11〜VM13の各々は、OVS1のポート(不図示)にそれぞれ接続され、OVS1の対応する出力ポート(不図示)から転送されるパケットを入力する。仮想マシンVM11〜VM13の各々からの出力パケットは、OVS1の対応する入力ポート(不図示)に入力される。仮想マシンVM21〜VM23の各々は、OVS2のポート(不図示)にそれぞれ接続され、OVS2の対応する出力ポート(不図示)から転送パケットを入力し、仮想マシンVM21〜VM23の各々からの出力パケットは、OVS2の対応する入力ポート(不図示)に入力される。同様に、仮想マシンVM31〜VM33の各々は、OVS3のポート(不図示)にそれぞれ接続され、OVS3の対応する出力ポート(不図示)から転送パケットを入力し、仮想マシンVM31〜VM33の各々からの出力パケットは、OVS3の対応する入力ポート(不図示)に入力される。なお、図5の例では、仮想マシンVM11〜VM33、OVS1〜OVS3が1つのサーバ上のハイパーバイザ等のVMM(制御部240)上で仮想化されている構成とされているが、かかる構成に制限されるものでないことは勿論である。例えば、仮想マシンVM11〜VM13、OVS1が、1つのサーバ上のハイパーバイザ等のVMM上で仮想化され、仮想マシンVM21〜VM23、OVS2が他の1つのサーバのVMM上で仮想化され、仮想マシンVM31〜VM33、OVS3がさらに他の1つのサーバのVMM上で仮想化される構成としてもよい。
図5に示すように、OVS1〜OVS3は、コントロールプレーン222で、それぞれOFC200に接続される。OVS1〜OVS3は、データプレーン221で、事業者IP網を構成するL2ネットワーク2AのL2スイッチ(L2SW)に接続される。OFC200は、マネージメントプレーン233で仮想マシン(VM11〜VM33)と接続される。SDNでは、ソフトウェアによって抽象化された「プレーン(plane)」という単位でネットワーキング機能を分離しており、ネットワークトポロジの設定や管理を動的に行うコントロールプレーン、パケット転送を行うフォワーディングプレーン、ネットワーク機器の管理を行うマネージメントプレーン、ネットワークサービスを管理するサービスプレーン等を含む。なお、図5では、仮想マシンVM230が各OVS220に3台接続された構成が示されているが、OVS220に接続されるVMの個数等はかかる構成に制限されるものでないことは勿論である。またOVS220に接続される仮想マシンVMの個数は、OVS毎に異なっていてもよい。
図5に例示した構成では、OVSがPADIパケットを受信すると、Packet−Inの仕組みを用いて、OFCにPADIパケットを集約することが可能になる。よって、上述したように、PPPoEプロトコルを変更する必要がないだけでなく、L2ネットワークのアーキテクチャや、L2スイッチに対する変更を行うことなく、BRASの負荷分散を行うことができる。
図6は、図5のOFC200の構成の一例を例示した図である。図6を参照すると、OFC200は、フローエントリ作成部201、経路計算部202、メッセージ送信部203、Packet−In識別部204、ブロードキャストパケット(Broadcast Packet)検出部205、タイマ206、VM負荷情報取得コマンド送信部207、VM負荷情報受信部208、VM選択部209、OVSとの間の通信を行うインタフェースであるノード通信部211、VMとの間の通信を行うインタフェースであるVM通信部212、ネットワークのトポロジ情報を記憶管理するためのトポロジ情報記憶部213、ユーザ情報(例えば図1の加入者の端末11〜11の情報)を記憶するユーザ情報記憶部214を備えている。これらの各部201〜212はOFC200を構成するコンピュータで実行されるプログラムによりその機能を実現するようにしてもよい。
Packet−In識別部204は、OVS(図5の220)からセキュアチャネルで送られたPacket−Inメッセージを識別する。なお、Packet−In識別部204にて、Packet−Inメッセージを検出すると、当該受信パケットのパケット転送経路を計算するために、経路計算部202等に通知される。
ブロードキャストパケット検出部205は、Packet−In識別部204でPacket−Inと識別されたメッセージから、Packet−Inメッセージを送信したOVSで受信されたパケットがPADIパケットであるか否か(PADIパケット受信の有無)判別する。
図27に、PADIパケットのパケットフォーマットの例を示す(詳細は非特許文献1参照)。PADIパケットにおいて、
・Ethernet(登録商標)フレームの宛先MACアドレス(Destination Address)はブロードキャストアドレス(48ビット全て1=0xffffffffffff:0xは16進を表す)、
・送信元MACアドレス(SOURCE_ADDR)には、送信元のMACアドレス、
・ETHER_TYPEは、0x8863(ディスカバリステージ)とされる。
・VERフィールド(V)は4ビット長でPPPoEのバージョンでは0x1、
・TYPEフィールド(T)は4ビット長でPPPoEのバージョンでは0x1、
・CODEフィールドは8ビット長で、ディスカバリおよびPPPセッションステージのために定義される。
・SESSION_IDフィールドは、16ビット長で符号無しの値で表され、
・LENGTHフィールドは16ビット長、PPPoEペイロードの長さ、
・TAG_TYPEは16ビット長のフィールドでTAG_TYPEとTAG_VALUEを記述し、
・TAG_LENGTHは16ビット長のフィールドである。
再び図6を参照すると、ブロードキャストパケット検出部205は、Packet−Inメッセージが、OVSでのPADIパケットの受信を通知するものであることを検出すると、タイマ206による計時をスタートさせ、タイムアウトが発生するまで、他のOVSからのPADIパケット受信の通知を待つ。
特に制限されないが、ブロードキャストパケット検出部205では、最初のPADIパケット受信の通知であるか否かは、タイマ206が計時中であるか、ストップしているか(タイマ205の動作状態)で判断することができる。タイマ205が計時動作中は、不図示の動作フラグ(例えば1ビット)をオンとし、停止中は不図示の動作フラグはオフされる。
なお、他のOVSも、最初にPADIパケット受信を通知したOVSと同一の送信元(クライアント1のルータ)からL2ネットワーク2Aを介してブロードキャストされたPADIパケットの受信通知をPacket−InメッセージでOFC200に対して行う。ブロードキャストパケット検出部205でPADIパケット受信を検出しても、タイマ206が計時中であるときは、ブロードキャストパケット検出部205は、タイマ206のスタート等は行わない。
タイマ206においてタイムアウトが発生すると、これに応答して、VM負荷情報取得コマンド送信部207は、仮想マシン(VM)に対して、VM負荷情報を取得するためのVM負荷情報取得コマンド(メッセージ)を送信する。VM負荷情報取得コマンドは、VM通信部212を介してマネージメントプレーン223から、仮想マシン(VM)230に送信される。
なお、本実施形態では、タイマのタイムアウト発生時等に、VM負荷情報取得コマンド(メッセージ)を送信して仮想マシンVMの最新の負荷を取得するようにしているが、本発明はかかる構成に制限されるものでないことは勿論である。例えば、VM負荷情報取得コマンド送信部207は、事前に、周期的なポーリング等によるVM負荷情報取得コマンドの送信、あるいは、VM側からの定期的な負荷情報のOFC側へのアップロード等により、VM負荷情報受信部208でVM負荷情報を取得するようにしてもよい。
VM負荷情報受信部208は、VM230から送信された負荷情報を、VM通信部212を介して受信し、VM選択部209に、VM負荷情報を入力する。
VM選択部209は、VM通信部212からのVM負荷情報に基づき、例えば現在、負荷が最も少ない仮想マシン(VM)を選択する。特に制限されないが、VM負荷情報は、BASを構成するVMでの例えば単位時間あたりの処理(例えば認証処理)件数や、所定時間あたりの累積処理件数、あるいはその他の統計情報等を含むようにしてもよい。
VM選択部209は、選択した仮想マシン(VM)の情報を、経路計算部202に通知する。経路計算部202は、トポロジ情報記憶部213から、選択した仮想マシン(VM)に接続するOVSを特定し、メッセージ送信部203は、ノード通信部211を介して当該OVSに対して、Packet−Outメッセージを転送し当該OVSで受信したPADIパケットの転送を指示する(転送先の物理ポート番号)。OFC200からPacket−Outメッセージを受信した当該OVSは、指定されたポートからPADIパケットを出力することで、該PADIパケットを、選択されたVMに転送する。
OFC200において、Packet−In識別部204でOVS(図6の220)から送信されたPacket−Inメッセージを識別し、ブロードキャストパケット検出部205においてPADIパケットを検出しない場合(OVSで受信したパケットがPADIパケットでない場合)には、OFCの経路計算部202が経路を計算し、フローエントリ作成部201がフローエントリを作成し、メッセージ送信部203はPacket−Outメッセージを送信する。
本実施形態では、OFC200のブロードキャストパケット検出部205は、OVSから当該OVSでのPADIパケット受信を通知するPacket−Inメッセージを、最初に受信してから、予め定められた所定の期間(すなわち、タイマ206でタイムアウト発生までの時間)、他のOVSからのPADI受信を通知するPacket−Inメッセージの到着を待つ。そして、タイマ206でのタイムアウトが発生すると、タイマ206による計時期間中に、Packet−InメッセージによりPADIパケット受信を通知したOVSに接続する複数の仮想マシンに対して、VM負荷情報取得コマンド送信部207が、VM通信部212、マネージメントプレーン223を介してVM負荷取得コマンド(Get VM load)を送信する。あるいは、タイマ206で計時がスタートしてからタイムアウトが発生するまでの間に、PADIパケットの受信の通知を送信しないOVSに接続する仮想マシン(VM)に対してもVM負荷情報取得コマンドを送信するようにしてもよい。VM負荷取得コマンド(Get VM load)は、マネージメントプレーン223上をマルチキャスト転送してもよい。
本実施形態において、特に制限されないが、タイマ206のタイムアウト時間は、L2ネットワーク2A等におけるブロードキャストパケット転送の最大遅延等を考慮した値に設定するようにしてもよい。タイマ206の管理により、OFC200において、1つのOVSからのPADIパケット受信の通知(Packet−Inメッセージ)を受信後、他のOVSからのPADIパケット受信の通知をいつまでもウェイトすることによるアクセス性能の低下、レスポンス時間の増大を回避している。また、OFC200は、複数のOVSのうちPADIパケットを受信したOVSを的確に把握することができる。
図7は、図5において、L2ネットワーク2AからOVS1にPADIパケットが最初に到着し、OVS1において、フローエントリテーブルに登録されていないパケットであるため、OVS1がOFC200にPacket−Inメッセージを送信している状態を模式的に示している。つづいて、L2ネットワーク2AからのPADIパケットがOVS2、OVS3の順で到着し、OVS2、OVS3はそれぞれ、OFC200にPacket−Inメッセージを送信することになる。OFC200は、図6のタイマ206でタイムアウト発生前に、OVS2、3からPacket−Inメッセージを受信した場合、OVS1、OVS2、OVS3にそれぞれ接続する仮想マシン(VM11〜VM13、VM21〜VM23、VM31〜VM33)に対して、VM負荷情報取得コマンド(Get VM Load)を送信する。
OFC200において、図6のタイマ206で計時開始後、タイムアウト発生前に、OVS2からPacket−Inメッセージを受信した場合、前述したように、OFC200は、OVS1、OVS2に接続する仮想マシン(VM11〜VM13、VM21〜VM23)に対してだけ、VM負荷情報取得コマンド(Get VM Load)を送信するようにしてもよい。この場合、OFCのVM選択部209は、仮想マシン(VM11〜VM13、VM21〜VM23)から受信したVM負荷情報に基づき、仮想マシン(VM11〜VM13、VM21〜VM23)のうち、最小又はそれに準ずる負荷の仮想マシンを1つ選択する。なお、VM選択部209でのVMの選択は、負荷情報だけでなく、仮想マシンに割当てられているハードウェアリソースの容量(メモリ、ストレージ)、処理性能(割当てられているCPU)等を勘案して決定してもよいことは勿論である。
図8は、本実施形態の動作シーケンスの一例を例示する図である。ルータ、L2NW、OVS1、OVS2、VM1、VM2、OFCは、図7のクライアント(加入者宅)のルータ10、L2ネットワーク2A、OVS1、OVS2、仮想マシンVM11〜VM13(及びその中の選択された1つ)、仮想マシンVM21〜VM23、OFCに対応している。なお、図8では、単に図面作成の都合で、図7のOVS3は省略している。図8には、各シーケンスの番号が付されており、以下の説明では、文末の括弧内の数字は当該シーケンスの番号を指示する。
PPPoEクライアントであるルータからPADIパケットがL2NWに転送される(1)。
L2NWは、PADIパケットをブロードキャスト転送し、最初にOVS1に到着する(2)。
OVS1では、受信したPADIパケットのヘッダ情報を、OVS1が保持するフローテーブルのフローエントリの条件と照合し、一致するものがないため、Packet−InメッセージをOFCに送信する(3)。
OVS1へのPADIパケットの到着に遅れて、OVS2にもPADIパケットが到着し(4)、OVS2では、受信したPADIパケットのヘッダ情報をフローテーブルのフローエントリの条件と照合し、一致するものがないため、Packet−InメッセージをOFCに送信する(5)。
OFCは、OVS1からのPacket−Inメッセージを受信し、ブロードキャストパケット(PADI)の受信であることを検出する(6)。OFCは、タイマ(図6の206)での計時を開始し、タイムアウトが発生するまでウェイトする(7)。このウェイト間に、OFCは、シーケンス番号5でOVS2から送信されたPacket−Inメッセージを受信する。
OFCは、タイマ(図6の206)でタイムアウトが発生すると(一定時間経過後)、VM負荷情報を取得する(8)。すなわち、OFCは、VM負荷情報取得コマンド(Get VM Load)をそれぞれ、仮想マシンVM1(VM11〜VM13)、VM2(VM21〜VM23)に送信する(9、10)。この場合、VM負荷情報取得コマンド(Get VM Load)の送信先の仮想マシンを、ブロードキャストパケット検出部(図6の205)によるタイマ(図6の206)のスタートの契機となるPADI受信通知を行ったOVS1と、タイマ(図6の206)でのタイムアウト発生前にPADI受信通知を行ったOVS2に接続する仮想マシンVM1(VM11〜VM13)、VM2(VM21〜VM23)に限定するようにしてもよい。すなわち、タイマ(図6の206)でのタイムアウト発生前にPADI受信通知を行わなかったOVSに接続する仮想マシンを選択候補から外し、仮想マシン(VM)の選択範囲を絞り込むようにしてもよい。
仮想マシンVM1(VM11〜VM13)、VM2(VM21〜VM23)は、それぞれの負荷情報(VM負荷情報)をOFCに送信する(11、12)。
OFCは、仮想マシンVM1(VM11〜VM13)、VM2(VM21〜VM23)からのVM負荷情報に基づき、低負荷のVMを選択する(13)。この場合、仮想マシンVM11〜VM13のうちの少なくとも1つを選択する。
OFCは、選択した仮想マシンVM1(VM11〜VM13の少なくとも1つ)に接続する出力ポートに有するOVS1に対して、該OVSで受信したPADIパケットの転送を指示する(14)。すなわち、OFCは、Packet−Outメッセージを、OVS1に送信する(15)。OVS1は、Packet−Outメッセージを受け、保持しておいたPADIパケットを、仮想マシンVM11〜VM13のうちOFCのVM選択部(図6の209)で選択されたVMに転送する(16)。この場合、OFCは、Packet−Outメッセージに、OFCで選択されたVMの情報(選択されたVMに接続するOVSのポート(出力ポート)の番号)を含ませ、OVSでは、VM11〜VM13のうち選択された、VMに接続する出力ポート(選択されたポート)から、VM宛にPADIパケットを転送するようにしてもよい。例えば、OFCによってVM12が転送先として選択された場合には、OFCは、OVS1に対して、VM12に対応するポートから出力するように、Packet−Outメッセージを用いて指示する。
また、OFCは、Packet−Outメッセージを利用せずに、選択されたVMに対して、直接PADIパケットを転送することもできる。
さらに、OFCは、OVSに対して、PADIパケットの宛先MACアドレスを、選択されたVMの宛先MACアドレスに書き換えるような処理を規定したエントリを設定することも可能である。例えば、OFCによってVM12が転送先として選択された場合には、PADIパケットの宛先MACアドレス(ブロードキャストアドレス)を、VM12の宛先MACアドレスに書き換える処理を規定したエントリを、OVS1に設定する。このようにOVS1に対してエントリの設定を行うことで、PADIパケットの送信元クライアントから送信されるPADIパケットは、すべてVM12に転送されるように設定することが可能となる。従って、PADIパケットの送信元クライアントのPPPoEセッションの収容先となるBRASを決定することができる。また、PADIパケットの送信元クライアントとのセッションが終了した後、再度セッション確立のためにPADIパケットが送信されても、OFC200に対して再度Packet−Inを送信することなく、PADIパケットを決定したVMに送信することができるので、OFC200に対する通信負荷を抑制することができる。また、この場合、BRASに対応するVMの起動が終了するなどして、機能しなくなった場合には、OFC200は、対応するOVSに設定されているエントリを削除する。
なお、図8には示されていないが、PADIパケットのVMへの送信後のシーケンスは、前述した図2のシーケンスに従う(ただし、新規パケットを受信したOVSは、Packet−InメッセージをOFCに送信し、OFCからのPacket−Outメッセージを受けてパケットを指定された出力ポートから転送する)。
すなわち、PADIパケットを受信した仮想マシンVMからルータへの応答であるユニキャストパケットのPADOパケット(図2参照)が、当該仮想マシンVMから、当該仮想マシンVMが接続するOVSにデータプレーンで転送される。このPADOパケットを受信したOVSではフローエントリが見つからないため、OFCにPacket−Inメッセージを送信する。OFCでは、当該PADOパケットのパケット転送経路(OpenFlowネットワーク上でのパケット転送経路)を計算し、Packet−Outメッセージを当該OVSに送信して、指定した物理ポートからのパケット転送を指示する。当該OVSは、仮想マシンVMから転送された当該PADOパケットをL2ネットワークに転送し、L2ネットワーク2Aからルータ10(図5参照)に転送される。ルータ10(図5参照)からのユニキャストパケットのPADRパケットは、L2ネットワーク2Aから当該OVSに転送される。PADRパケットを受信したOVSは、Packet−InメッセージをOFCに送信する。OFCは、Packet−OutメッセージをOVSに送信し、OVSはPADRパケットを、PADOパケットの送信元である仮想マシンVMに送信する。PADRパケットを受信した仮想マシンVMは、セッションIDを発行し、セッションIDを含むPADSパケットを、当該VMが接続するOVSに送信する。PADSパケットを受信したOVSでは、フローエントリが見つからないため、OFCにPacket−Inメッセージを送信する。OFCでは、該PADSパケットのパケット転送経路を計算し、Packet−OutメッセージをOVSに送信して指定した物理ポートからのパケット転送を指示する。OVSは、PADSパケットをL2ネットワーク2A(図5参照)に転送し、ルータ10に転送される。
<変形例>
図9は、図6のOFCの変形例の構成を示す図である。図9に示すOFC200’では、図6のタイマ206が削除されている点が相違している。図9に示すOFC200’において、他の構成は、図6に示したに示すOFC200と同一である。以下では、図6との相違点について説明する。この変形例では、OFC200’において、OVSからPADIパケットの新規受信を通知するPacket−Inメッセージを受信し、ブロードキャストパケット検出部205がPADIパケットの受信を検出すると、VM負荷情報取得コマンド送信部207がVM負荷情報取得コマンドGet VM Loadをマネージメントプレーン223からVM(仮想マシン)に対して送信する。
図10は、図9の変形例のシーケンス動作を説明する図である。以下では、図8との相違点を説明する。
図10において、OFCでは、OVS1からの新規PADIパケット受信を通知するPacket−Inメッセージを受信する(6)と、他のOVSからのPADIパケット受信を通知するPacket−Inメッセージの受信を待つことなく、ただちに、VM負荷情報を取得する(7)。OFCは、VM負荷情報取得コマンド(Get VM Load)をVM1(VM11〜VM13)、VM2(VM21〜VM23)に送信する(8、9)。
すなわち、OVS1へのPADIパケットの到着に遅れて、OVS2にもPADIパケットが到着し(4)、OVS2では、受信したPADIパケットのヘッダ情報をフローテーブルのフローエントリの条件と照合し、一致するものがないため、Packet−InメッセージでOFCに新規パケットの受信を通知するが(5)、OFCは、OVS2からのPacket−Inメッセージで通知されたPADIパケット受信に関する処理は行わない。
VM1(VM11〜VM13)、VM2(VM21〜VM23)はそれぞれの負荷情報(VM負荷情報)をOFCに送信する(10、11)。
OFCは、VM負荷情報に基づき、低負荷のVMを選択する(12)。この場合、OFCは、VM21〜VM23のうちの少なくとも1つを選択する。OFCは、選択したVMに接続する出力ポートを有するOVS2に対してPADIパケットの転送を指示する(13)。すなわち、OFCは、Packet−OutメッセージをOVS2に送信する(14)。OVS2は、Packet−Outメッセージを受け、保持しておいた受信PADIパケットを、VM21〜VM23のうち、OFCのVM選択部209で選択されたVMに接続する出力ポートから出力することで、選択されたVMに転送する(15)。
なお、上記実施形態では、ネットワーク機能を仮想化する例として、仮想スイッチOVS、仮想マシンVMへの適用例を説明した。しかしながら、スイッチは、仮想スイッチOVSに限定されるものでなく、後述するように、実装置(通常装置)であるOFSに適用可能であることは勿論である。
また、BRAS機能(あるいはBAS機能)を仮想化した仮想マシン(VM)への適用に制限されるものでなく、BRAS機能を、複数の物理マシン(Processor Elements)等に分散化した複数の処理単位で構成し、各処理単位に接続するポートを介してOFSからPADIパケットを送信する構成に対しても、上記実施形態とその変形例はそのまま適用可能である。
<実施形態2>
図11は、実施形態2を説明する図である。実施形態2は、複数のADSL回線をマルチプレクスするDSLAM21’にOpenFlow機能(OFS)を搭載したものである。図11において、OFC27は、例えばDSLAM21’内のOFS(不図示)に対して、PADIパケット転送先のBRASが動作する仮想マシン(VM)に対応するVLANタグやポートVLANを、PADIパケットのヘッダに設定して、BRASに転送する。仮想マシン(VM1)230で動作するBRAS1にPADIパケットを送る場合、DSLAM21で、パケットヘッダにVLANタグ(=1)を付与する。
OpenFlowにおいて、パケットヘッダ(フレームヘッダ)のVLAN IDフィールド(図29参照)を修正するアクションとして、
SET_VLAN_VID(指定VLAN IDでVlan Tagを追加・更新する処理)が定義されている。
本実施形態において、DSLAM21’内のOFSのフローテーブルに、PADIパケットの条件にマッチするアクションとしてSET_VLAN_VIDを、OFCから設定しておき、OFSでは、PADIパケットに、VLAN IDを設定して転送するようにしてもよい。なお、仮想マシン(VM1)230、230、230の各仮想マシンは、それぞれ1台に限定されるものでなく、図5のように、複数の仮想マシンを並列接続してもよい。
図12(A)は、図11のDSLAM21’の構成の一例を示す図である。DSLAM21’において、ATM(Asyncronous Transfer Mode)スイッチ21−1は、複数のADSL回線15〜15(nは2以上の整数)からのATMセルの切換え(スイッチング)を行う。ATM−Ether変換部21−2は、ATMセルとEthernet(登録商標)フレームのプロトコル変換を行う。OpenFlow機能として、OFS21−4は、ATM−Ether変換部21−2でEtherフレームに変換されたパケットを受けると、当該パケットに対応するフローエントリがフローエントリに登録されていない場合、Packet−InメッセージをOFC27に送信する。OFC27が、パケット転送先を決定し、Packet−OutメッセージをOFS21−4に送信し、OFS21−4に対して、指定ポートからPADIパケットの転送を指示する。なお、OFSを複数備えた構成としてもよいことは勿論である。またDSLAM21’を仮想マシン上に実装してもよい。さらに、OFC21−4を仮想スイッチ(OVS)で実装する構成としてもよい。
図12(B)は、図1等の関連技術のDSLAM21の構成を示す図である。DSLAM21は、ATMスイッチ21−1と、ATM−Ether変換部21−2と、インタフェース部21−3を備えている。インタフェース部21−3は例えば10BASE−Tや100BASE−TX等のEthernet(登録商標)に接続される送受信インタフェースである。
本実施形態によれば、事業者網をいくつかのVLAN(例えば図11では3つのVLAN)に分割し、DSLAM21’において、ブロードキャストパケット(PADI)転送先のVLANを、ブロードキャストパケットのヘッダ(フレームヘッダ)のVLAN IDフィールドに設定して転送することで、BRAS/BASの負荷分散に貢献する。
<実施形態3>
図13は、実施形態3を説明する図である。実施形態3では、ネットワーク、仮想マシンの負荷分散を行うロードバランサ(LB)28を備えている。実施形態3においても、前記実施形態2と同様、DSLAM21"に、OpenFlow機能を載せる。DSLAM21"に搭載されるOFS(不図示)は、仮想スイッチOVSとして実装してもよい。
なお、本実施形態において、ロードバランサ(LB)28は、複数の仮想マシンを順繰りに割り当てるラウンドロビン方式や、仮想マシンの負荷のモニタ結果等に基づき決定する動的割り当て方式等により、PADIパケットの転送先の仮想マシン(VM)を決定する。ロードバランサ(LB)28は、サーバ上の仮想マシンに実装してもよいことは勿論である。
図13において、クライアント1からのPADIがDSLAM21"に入力されると、DSLAM21"のOFS(不図示)は、OFC27にPacket−Inメッセージを送信し、OFC27は、DSLAM21"のOFS(不図示)に対して、PADIパケットをロードバランサ(LB)28へ転送するように指示する。この場合、OFSのフローテーブルに、PADIパケットを入力した場合、ロードバランサ(LB)に接続するポートから転送するという処理(アクション)規則を規定したフローエントリを追加するようにしてもよい。ロードバランサ(LB)28は、OFSから転送されたPADIパケットを、選択した仮想マシンに転送する。
図14は、図13のDSLAM21"の構成例を示す図である。図14を参照すると、図12(A)のDSLAM21’に対して、DSLAM21”のOFS21−4がロードバランサ(LB)28に接続するポートを有している。図14において、ADSL回線15からPADIパケットがDSLAM21"に入力されると、DSLAM21"のOFS21−4は、OFC27にPacket−Inメッセージを送信する。OFC27は、PADIパケットをロードバランサ(LB)28へ転送するようにOFS21−4に指示する。ロードバランサ(LB)28は、OFS21−4から転送されたPADIパケットを、選択した仮想マシン230に転送する。なお、OFC27は、OFS21−4から送信されるPacket−Inメッセージが、OFS21−4でのPADIパケット受信の通知でない場合には(すなわちPADIパケット以外のパケット受信を通知するものである場合)、Packet−OutメッセージをOFS21−4に転送し、当該受信パケットをロードバランサ(LB)28に転送することなく、直接、宛先の仮想マシン(VM)に転送するようにOFS21−4に指示する。
なお、本実施形態において、ロードバランサ(LB)28は、OFS21−4からフロー毎のフローエントリの統計情報を取得し、フローの負荷等に基づき、負荷の最も少ないフローの仮想マシン(VM)をPADIパケットの転送先に決定するようにしてもよい。
本実施形態によれば、OpenFlowスイッチで受け取ったPADIパケットは専用のロードバランサ(LB)に転送され、ロードバランサ(LB)で負荷分散を考慮したPADIパケットの転送先が決定される。ロードバランサ(LB)を別途備えた分、負荷分散の効果を高めることができる。またOFCへの負荷の集中も回避することができる。
<実施形態4>
図15は、実施形態4を説明する図である。図15を参照すると、DSLAM21'''にロードバランス機能(LB)28’を搭載している。DSLAM21'''は、ブロードキャストパケット(例えばPADIパケット)を受信すると、ロードバランス機能(LB)28’の制御に基づき、PADIパケット転送先の仮想マシン(VM)を選択し、選択した仮想マシン(VM)にPADIパケットを転送する。DSLAM21'''は、例えばPADIパケット以外のパケットをADSL回線(15〜15)から受信した場合、ロードバランス機能(LB)28’の制御を受けることなく、パケットのヘッダで指定される宛先の仮想マシン(VM)に転送するようにしてもよい。
図16は、実施形態4のDSLAM21'''の構成を例示する図である。図16を参照すると、図12(B)のDSLAM21に、ロードバランサ(LB)28’を備えている。ロードバランサ(LB)28’は、選択した仮想マシン宛に、PADIパケットを送信するように、インタフェース回路(IF)21−3を制御する。
本実施形態によれば、負荷分散を考慮してブロードキャストパケットの転送先を決定することができる。OpenFlowネットワークを具備せず、構成を簡易化することができる。
<実施形態5>
図17は、実施形態5を説明する図である。実施形態5では、ロードバランサ(LB)28をDSLAM21の後段に備えている。DSLAM21から出力されるPADIパケットは、ロードバランサ(LB)28で選択された仮想マシン(VM)宛てに転送される。ロードバランサ(LB)28は、複数の仮想マシン(VM)230〜230を順繰りに割り当てるラウンドロビン方式や、仮想マシン230〜230の負荷のモニタ結果等に基づき決定する動的割り当て方式等により、PADIパケットの転送先の仮想マシン(VM)230〜230を決定する。ロードバランサ(LB)28はサーバ上の仮想マシンに実装してもよいことは勿論である。
本実施形態によれば、ブロードキャストパケットの転送先を負荷分散を考慮して決定することができる。ロードバランサを仮想化せず、専用装置で構成した場合、処理の高速化を図ることができる。
<実施形態6>
図18は、実施形態6の構成を示す図である。図18を参照すると、L2ネットワーク31とOpenFlowネットーク32の境界にOFS1、OFS2、OFS3が配置されている。OpenFlowネットーク32の端部ノードOFS7、8にサーバ等のHOST1、2、3が接続されている。OpenFlowネットーク32のOFS1〜OFS8はOFC300で一元的に管理される。
図19は、L2ネットワーク31からのブロードキャストパケットBPがOpenFlowネットーク32に転送される様子を模式的に示す図である。OFS1は、ブロードキャストパケットBPを受信し、該当するフローエントリが見つからないためPacket−InメッセージをOFC300に送信し、該ブロードキャストパケットBPに対するフローの設定(経路計算)を依頼する。OFS2、OFS3では、ブロードキャストパケットBPを受信し、該当するフローエントリが見つからないためPacket−InメッセージをOFC300に送信し、経路計算を依頼する。OFC300では、OFSの負荷情報に基づき、OFSを選択し(例えばOFS1)、ブロードキャストパケットBPを転送するフロー(経路)を計算し、経路上のOFSにフローエントリを設定し(FlowModifyメッセージをOFS4、OFS7に送信)、選択したOFS1にPacket−Outメッセージを送信する。非選択のOFS2とOFS3には、Packet−Outメッセージを送信しない。Packet−Outメッセージを受信したOFS1は、指定された出力ポートからブロードキャストパケットBPをOFS4に転送する。さらにブロードキャストパケットBPは、OFS4からOFS7、8を介して、HOST1、2、3に転送される。
図20は、実施形態6のOFC300の構成を例示した図である。図20を参照すると、OFC300は、フローエントリ作成部301、経路計算部302、メッセージ送信部303、Packet−In識別部304、ブロードキャストパケット(Broadcast Packet)検出部305、タイマ306、OFS負荷監視部307、OFS選択部308、OFSとの間の通信を行うインタフェースであるノード通信部309、ネットワークのトポロジ情報を記憶管理するためのトポロジ情報記憶部311、ユーザ情報を記憶するユーザ情報記憶部313を備えている。
ブロードキャストパケット検出部305でブローキャスト受信通知を最初に検出した場合、タイマ306をスタートさせ、タイマ306でのタイムアウト発生時に、OFS負荷監視部307は、OFS1、2、3に対して、OFS負荷情報取得コマンドを送信し、OFSからフローエントリの統計情報(受信バイト数等)を取得することで、OFSの負荷を監視するようにしてもよい。
あるいは、OFS負荷監視部307は、OpenFlowネットワーク32を構成するOFS1〜8に対して、OFS負荷情報取得コマンドを送信してフロー別の負荷を導出するようにしてもよい。あるいは、OFS負荷監視部307は、OFSからのPacket−Inメッセージに、当該OFSからフローエントリの統計情報(受信パケット数、受信バイト数等)を含ませることで、通信量等の負荷情報を取得するようにしてもよい。
あるいは、OFS負荷監視部307は、ポーリング等により、周期的にOFSの負荷情報を取得して記録しておき、タイマ306でのタイムアウト発生時に、ただちに、OFSの負荷情報をOFS選択部308に入力するようにしてもよい。
OFS選択部308は、Packet−Inメッセージを送信したOFSの中から、負荷の最小のOFSを選択し、メッセージ送信部303は、OFS選択部308で選択されたOFSにPacket−Outメッセージを送信する。また、経路計算部302は、選択されたOFSからブロードキャストパケット転送先のHOST1、2、3への経路を計算し、フローエントリ作成部301がブロードキャストパケット転送経路上のOFSに対するフローエントリを作成し、メッセージ送信部303を介して、フローエントリ設定コマンド(Flow-Modify)を、ブロードキャストパケット転送経路上のOFSに送信する。なお、ブロードキャストパケット転送経路上のOFSは、フローエントリ設定コマンド(Flow-Modify)を受け取り、フローエントリをフローテーブルに追加する。
図21は、実施形態6のシーケンス動作を説明する図である。L2NW、OFS1、OFS2/3、OFS4−8、HOST1−3、OFCは、図19のL2ネットワーク31、OFS1、OFS2/3、OFS4−8、HOST1−3、OFC300に対応している。図21には、各シーケンスの番号が付されており、以下の説明では、文末の括弧内の数字は当該シーケンスの番号を指示する。なお、図21では、OFS負荷監視部307では、タイマ306でのタイムアウト発生時に、OFSの負荷情報を既に取得している場合も考慮して、OFS負荷情報取得コマンドの送信のシーケンスは示されていない。
ブロードキャストパケットがL2ネットワークに到着する(1)。
L2ネットワークからのブロードキャストパケットがOFS1に到着する(2)。
OFS1はPcaket−InメッセージをOFCに送信する(3)。
L2ネットワークからのブロードキャストパケットがOFS2に到着する(4)。
OFS2はPcaket−InメッセージをOFCに送信する(5)。
OFCでは、OFS1はPcaket−Inメッセージを受信し、OFS1でブロードキャストパケットを受信したことを検出すると、タイマ(図20の306)をスタートさせる(6)。
タイマ(図20の306)でタイムアウトが発生すると(7)、OFCは、OFSの負荷監視結果からOFS1を選択し(8)、Packet−OutメッセージをOFS1に送信し、指定ポートからのブロードキャストパケットの転送を指示する(10)。また、OFCは、当該ブロードキャストパケットの転送経路上のOFS4、7、8に対して、Flow−Modifyメッセージを送信し、OFS4、7、8は、Flow−Modifyメッセージに基づき、それぞれ当該ブロードキャストパケットに対するフローエントリを、フローテーブルに設定する(9)。例えばOFS7のフローテーブルには、当該PADIパケットを受信すると、当該PADIパケットをHOST1、HOST2、OFS8にそれぞれ接続する3つの出力ポートから出力する処理(Actions)のフローエントリが設定される。
OFS1は、ブロードキャストパケットを指定されたポートからOFS4に転送し(11)、ブロードキャストパケットは、OFS7、8を介して、HOST1、2、3に転送される(12)。
上記シーケンス11、12において、OFS4、7、8では、前段のOFSから該ブロードキャストパケットを受信した場合、パケットヘッダが、OFCから設定されたフローエントリの照合欄(Match Field)とマッチするため、OFCに対してPacket−Inメッセージを送信することなく、フローエントリの処理欄(Actions)(図28参照)に従い、該ブロードキャストパケットを指定ポートから転送する。なお、境界のOFS1〜3のうち、OFS1以外のOFS2とOFS3にはPacket−Outメッセージは送信されず、OFS2とOFS3からはブロードキャストパケットは転送されない。
上記実施形態6において、OFC300のOFS選択部308は、Packet−Inメッセージでブロードキャストパケットの受信を通知したOFSの中から選択されたOFS1はブロッドキャストパケットが入来したポートを除く転送可能状態(Forwarding状態)の全てのポートに転送するようにしてもよい。また後段のOFS4、7、8等も前段のOFSからのブロッドキャストパケットが入来したポートを除く転送可能状態(Forwarding状態)の全てのポートに転送するようにしてもよい。
実施形態6によれば、L2ネットワーク31とOpenFlowネットワーク32の境界のOFS1、2、3のうちの少なくとも1つを選択することで、OFS1、2、3の各々がブロードキャストパケットを転送する場合と比べて、OpenFlowネットワーク上を転送されるブロードキャストパケットのトラフィックを大幅に低減することができる。
<変形例>
図22は、実施形態6の変形例のOFCの構成を示す図である。図22を参照すると、この変形例のOFCでは、図20のタイマ306が削除されている。その他の構成は図20と同一である。実施形態6では、OFC300は、最初にOFSからブロードキャストパケットの受信が通知されるとタイマ306をスタートさせ、タイムアウト発生時に、OFS負荷監視部307に通知し、OFS選択部308でOFSを選択している。
これに対して、この変形例では、境界にあるOFSから最初にブロードキャストパケットの受信が通知されると、境界にある他のOFSからのブロードキャストパケットの受信が通知されることを待つことなく、OFS負荷監視部307に通知し、OFS選択部308でOFSを選択する。この場合、L2ネットワーク31とOpenFlowネットワーク32の境界のOFS1〜3のうち、いずれからかブロードキャストパケットの受信が通知されると、もっとも低負荷のOFSを選択するようにしてもよい。あるいは、境界にあるOFSから最初にブロードキャストパケットの受信が通知されると当該OFSを選択するようにしてもよい。この場合、OFS負荷監視部307は不要とされる。
図23は、図22を参照して説明した変形例の動作を説明する図である。以下、図21との相違点について説明する。
OFCでは、OFS1からPcaket−Inメッセージを受信すると、OFS2からPcaket−Inメッセージ(5)を待つことなく、OFSの負荷監視結果からOFS1を選択し(6)、Packet−OutメッセージをOFS1に送信する(8)。またOFSは、OFS4、7にFlow−Modifyメッセージを送信し、当該ブロードキャストパケットの転送経路を設定する(7)。OFS1はブロードキャストパケットをOFS4に転送し(9)、OFS7、8を介してHOST1、2、3に転送される(10)。なお、境界のOFS1〜3のうち、OFS1以外のOFS2とOFS3には、Packet−Outメッセージは送信されない。
この変形例によれば、実施形態6と同様、L2ネットワーク31とOpenFlowネットワーク32の境界のOFS1、2、3のうちの少なくとも1つを選択することで、OFS1、2、3の各々がブロードキャストパケットを転送する場合と比べて、OpenFlowネットワーク上を転送されるブロードキャストパケットのトラフィックを大幅に低減することができる。さらに、実施形態2のタイマによる管理を不要としている。
<実施形態7>
図24は、本発明の実施形態7を説明する図である。図24を参照すると、第1のネットワーク41と、第2のネットワーク42の境界に、スイッチSW1、SW2、SW3がある。実施形態7の第2のネットワーク42は、実施形態2のOpenFlowネットワークのOFS1〜8を、L2スイッチ等のスイッチSW1〜SW8で置き換えたものである。スイッチSW1〜SW8は、入力ポートからブロードキャストパケットを受信すると、ブロードキャストパケット(BP)を複製し、複数のポートから出力する(例えば全ての出力ポートへフラッディング)。
実施形態7では、コントローラ400は、スイッチSW1、SW2、SW3のうちの一つから、ブロードキャストパケットの受信が通知されると、例えば、スイッチSW1、SW2、SW3の中の1つを選択し、残りを非選択とする。選択されたスイッチは、受信したブロードキャストパケットを例えばフラッディングする。一方、非選択とされたスイッチは、受信したブロードキャストパケットの転送は行わない。これにより、ネットワーク42内におけるブロードキャスのあふれの発生を抑制することができる。図24の例では、SW1から、ブロードキャストパケット受信の通知を受けたコントローラ(CTRL)400は、SW1を選択する。コントローラ400は、スイッチSW2、SW3からも、ブロードキャストパケット受信の通知を受けるが、スイッチSW2とSW3は非選択とし、スイッチSW2とSW3からは、当該ブロードキャストパケットの転送は行われない。
あるいは、例えばスイッチSW1から、ブロードキャストパケット受信の通知を受けたコントローラ(CTRL)400は、スイッチSW1の特定の出力ポート(少なくとも1つの出力ポート)を選択するようにしてもよい。
第1のネットワーク41と第2のネットワーク42はともにL2ネットワークからなる構成としてもよい。この場合、スイッチSW1〜S8は、第1のネットワーク41のスイッチSWと同様、例えばL2スイッチからなる。
図25は、実施形態7のコンローラ400の構成を例示する図である。コントローラ400は、ポート/スイッチ(PORT/SW)選択部401と、パケット受信検出部402と、スイッチ情報記憶部403を備えている。パケット受信検出部402は、例えばスイッチSWでブロードキャストパケット受信時に、スイッチSWから通知を受けることで、ブロードキャストパケット受信を検出する。
ポート/スイッチ選択部401は、パケット受信検出部402におけるスイッチSWでのブロードキャストパケット受信の検出に応答して、スイッチ情報記憶部403を参照して、ブロードキャストパケットの転送先に応じて、スイッチSW1〜SW3の中から少なくとも1つのスイッチを選択し、残りのスイッチを非選択とする。あるいは、ポート/スイッチ選択部401は、スイッチ情報記憶部403を参照して、スイッチSW1〜SW3の中から、少なくとも1つのスイッチのポートを選択する。選択された少なくとも1つのスイッチは、ブロードキャストパケットを、例えば全てのポートから転送し、残りのスイッチは、ブロードキャストパケットを転送しない。あるいは、少なくとも1つの出力ポートが選択された少なくとも1つのスイッチは、選択された少なくとも1つの出力ポートから、ブロードキャストパケットを転送する。
図26は、実施形態7の動作を説明する図である。図26において、NW、SW1、SW2/3、SW4−8、HOST1−3、CTRLは、図24のネットワーク41、スイッチSW1、SW2/3、SW4−8、ホストHOST1−3、コントローラCTRL400にそれぞれ対応している。図26には、各シーケンスの番号が付されており、以下の説明では、文末の括弧内の数字は当該シーケンスの番号を指示する。
ブロードキャストパケットがネットワーク(NW)に到着する(1)。
NWからのブロードキャストパケットがスイッチSW1に到着する(2)。
SW1はブロードキャストパケット受信をコントローラ(CTRL)に通知する(3)。L2ネットワークからのブロードキャストパケットがスイッチSW2に到着する(4)。スイッチSW2はブロードキャストパケット受信をコントローラ(CTRL)に通知する(5)。
コントローラ(CTRL)は、例えばスイッチSW1からブロードキャストパケット受信通知を受信すると、スイッチSW1(又はポート)を選択する(6)。コントローラ(CTRL)は、ブロードキャストパケット転送指示をスイッチSW1に送信する(7)。SW1はブロードキャストパケットを、スイッチSW4に転送し(8)、スイッチSW7、SW8を介してHOST1、2、3に転送される(9)。第1のネットワーク41と第2のネットワーク42の境界のスイッチSW1、2、3のうち少なくとも1つ(又はスイッチSWの複数の出力ポートの中の少なくとも1つの出力ポート)を選択することで、スイッチSW1、2、3のすべてがそれぞれの全出力ポートからブロードキャストパケットを転送する場合と比べて、ネットワーク上を転送されるブロードキャストパケットのトラフィックを大幅に低減し、ブロードキャストパケットでネットワーク(ブロードキャストドメイン)が溢れてしまうことを回避可能としている。
なお、実施形態7において、実施形態6と同様、ポート/スイッチ選択部401は、スイッチSW1〜SW3の負荷に基づき低負荷のスイッチを選択するようにしてもよい。また、スイッチSW1からブロードキャストパケット受信通知を受信すると、実施形態1と同様に、図25のコンローラ400においては、不図示のタイマをスタートさせ、タイマでのタイムアウト発生時に、スイッチの選択を行うようにしてもよい。
また、ブロードキャストパケットのほか、例えばIPマルチキャストグループアドレスを用いたマルチキャストパケット(ネットワークのスイッチ、ルータ等でパケットを複製し複数受信者へ転送)についても、該パケットの転送経路情報、スイッチの接続情報等に基づき、スイッチSW1〜3の少なくとも1つを選択するようにしてもよい。
以上、本発明の各実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、更なる変形・置換・調整を加えることができる。
なお、上記非特許文献の開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得る各種変形、修正を含むことは勿論である。
1 加入者宅(加入者)
2 事業者網
3 インターネット
10 ルータ
11〜11 端末
12 ADSLモデム
15、15〜15 ADSL回線
20 BAS/BRAS
21、21〜21、21’、21”、21''' DSLAM
21−1 ATM−SW
21−2 ATM−Ether変換部
21−3 IF
21−4 OFS
22 コアネットワーク
2A L2ネットワーク
23、23、23 エッジスイッチ
24 集約スイッチ
25 エッジルータ
26 集約ノード
27 OFC
28、28’ ロードバランサ
30、30 ISP(インターネットサービスプロバイダ)
31、31 RADIUSサーバ
32 オープンフローネットワーク
41 第1のネットワーク
42 第2のネットワーク
200、200’、300、300’ OFC
201、301 フローエントリ作成部
202、302 経路計算部
203、303 メッセージ送信部
204、304 Packet−In識別部
205、305 ブロードキャストパケット(Broadcast Packet)検出部
206、306 タイマ
207 VM負荷情報取得コマンド送信部
208 VM負荷情報受信部
209 VM選択部
211、309 ノード通信部
212 VM通信部
213、311 トポロジ情報記憶部
214、313 ユーザ情報記憶部
220 OVS
221 データプレーン
222 コントロールプレーン
223 マネージメントプレーン
230、230〜230 仮想マシン(VM)
240 制御部
250 サーバ
307 OFS負荷監視部
308 OFS選択部
400 コントローラ(CTRL)
401 ポート/スイッチ選択部
402 パケット受信検出部
403 スイッチ情報記憶部
500 通信制御装置
501 第一の手段(ユニット)
502 第二の手段(ユニット)
503 パケット(セッション確立用のパケット)
504〜504 経路
505〜505 VM(仮想マシン)
600 通信制御装置
601 第一の手段(ユニット)
602 第二の手段(ユニット)
603 パケット(セッション確立用のパケット)
604 ネットワークスイッチ
605〜605 経路
606〜606 VM(仮想マシン)
700 転送先絞り込み手段

Claims (43)

  1. 通信ネットワークで用いられるハードウェア機器の通信機能を仮想マシンが実行する通信システムにおける通信制御装置であって、
    前記通信機能と通信セッションを確立するために複数の経路に向けて転送されるパケットの転送先を、複数の前記仮想マシンから選択する第一の手段と、
    前記パケットを、選択された仮想マシンに転送する第二の手段と
    を有する通信制御装置。
  2. 前記第一の手段は、前記通信制御装置に集約された前記パケットの転送先を、複数の前記仮想マシンから選択する
    ことを特徴とする請求項1に記載の通信制御装置。
  3. 前記第一の手段は、前記パケットを前記通信制御装置に集約する機能を有するネットワークスイッチから前記パケットを受信し、受信したパケットの転送先を、複数の前記仮想マシンから選択する
    ことを特徴とする請求項1記載の通信制御装置。
  4. 前記第一の手段は、前記パケットの転送先が複数の前記仮想マシン間で分散するように、前記パケットの転送先を選択する
    ことを特徴とする請求項1乃至3のいずれか1項に記載の通信制御装置。
  5. 前記第一の手段は、複数の前記仮想マシンの動作状況に応じて、前記パケットの転送先を選択する
    ことを特徴とする請求項1乃至4のいずれか1項に記載の通信制御装置。
  6. 前記第一の手段は、前記通信制御装置からの指示に応じて動作するネットワークスイッチから前記パケットを受信し、受信した前記パケットの転送先を、複数の前記仮想マシンから選択する
    ことを特徴とする請求項1乃至5のいずれか1項に記載の通信制御装置。
  7. 前記第一の手段は、前記パケットの処理方法に対応する指示が未知である場合に、前記ネットワークスイッチから前記パケットに関する指示の要求を受信し、当該要求に応じて、前記パケットの転送先を、複数の前記仮想マシンから選択する
    ことを特徴とする請求項6に記載の通信制御装置。
  8. 前記第一の手段は、前記ネットワークスイッチから、前記通信制御装置からの指示に従って転送された前記パケットを受信し、当該パケットの転送先を、複数の仮想スイッチから選択する
    ことを特徴とする請求項6に記載の通信制御装置。
  9. 通信ネットワークで用いられるハードウェア機器の通信機能を仮想マシンが実行する通信システムにおける通信制御方法であって、
    前記通信機能と通信セッションを確立するために複数の経路に向けて転送されるパケットの転送先を、複数の前記仮想マシンから選択し、
    前記パケットを、選択された仮想マシンに転送する
    ことを特徴とする通信制御方法。
  10. 通信制御装置に集約された前記パケットの転送先を、複数の前記仮想マシンから選択する
    ことを特徴とする請求項9に記載の通信制御方法。
  11. 前記パケットを通信制御装置に集約する機能を有するネットワークスイッチから前記パケットを受信し、受信したパケットの転送先を、複数の前記仮想マシンから選択する
    ことを特徴とする請求項9に記載の通信制御方法。
  12. 前記パケットの転送先が複数の前記仮想マシン間で分散するように、前記パケットの転送先を選択する
    ことを特徴とする請求項9乃至11のいずれか1項に記載の通信制御方法。
  13. 複数の前記仮想マシンの動作状況に応じて、前記パケットの転送先を選択する
    ことを特徴とする請求項9乃至12のいずれか1項に記載の通信制御方法。
  14. 通信制御装置からの指示に応じて動作するネットワークスイッチから前記パケットを受信し、受信した前記パケットの転送先を、複数の前記仮想マシンから選択する
    ことを特徴とする請求項9乃至13のいずれか1項に記載の通信制御方法。
  15. 前記パケットの処理方法に対応する指示が未知である場合に、前記ネットワークスイッチから前記パケットに関する指示の要求を受信し、当該要求に応じて、前記パケットの転送先を、複数の前記仮想マシンから選択する
    ことを特徴とする請求項14に記載の通信制御方法。
  16. 前記ネットワークスイッチから、前記通信制御装置からの指示に従って転送された前記パケットを受信し、当該パケットの転送先を、複数の仮想スイッチから選択する
    ことを特徴とする請求項14に記載の通信制御方法。
  17. 通信ネットワークで用いられるハードウェア機器の通信機能を仮想マシンが実行する通信システムにおける通信制御装置に、
    前記通信機能と通信セッションを確立するために複数の経路に向けて転送されるパケットの転送先を、複数の前記仮想マシンから選択する処理と、
    前記パケットを、選択された仮想マシンに転送する処理と、
    を実行させる、ことを特徴とする通信制御プログラム。
  18. 通信ネットワークで用いられるハードウェア機器の通信機能を仮想マシンが実行する通信システムの通信制御装置であって、
    前記通信機能と通信セッションを確立するために複数の経路に向けて転送されるパケットの転送先を、複数の前記仮想マシンから選択する第一の手段と、
    前記パケットを選択された仮想マシンに転送することを、ネットワークスイッチに指示する第二の手段と
    を有する通信制御装置。
  19. 通信ネットワークで用いられるハードウェア機器の通信機能を仮想マシンが実行する通信システムの通信制御方法であって、
    前記通信機能と通信セッションを確立するために複数の経路に向けて転送されるパケットの転送先を、複数の前記仮想マシンから選択し、
    前記パケットを選択された仮想マシンに転送することを、ネットワークスイッチに指示する
    ことを特徴とする通信制御方法。
  20. 通信ネットワークで用いられるハードウェア機器の通信機能を仮想マシンが実行する通信システムにおける通信装置であって、
    前記通信機能と通信セッションを確立するために複数の経路に向けて転送されるパケットを識別する手段と、
    複数の前記仮想マシンから選択された仮想マシンに前記パケットを転送する装置に、識別した前記パケットを集約する手段と
    を有する通信装置。
  21. 通信ネットワークで用いられるハードウェア機器の通信機能を仮想マシンが実行する通信システムにおける通信方法であって、
    前記通信機能と通信セッションを確立するために複数の経路に向けて転送されるパケットを識別し、
    複数の前記仮想マシンから選択された仮想マシンに前記パケットを転送する装置に、識別した前記パケットを集約する
    ことを特徴とする通信方法。
  22. 通信ネットワークで用いられるハードウェア機器の通信機能を実行する仮想マシンが配置される情報処理装置であって、
    ネットワークスイッチの機能を有する仮想スイッチを稼動させるための手段を有し、
    前記仮想スイッチは、
    前記通信機能と通信セッションを確立するために複数の経路に向けて転送されるパケットを、複数の前記仮想マシンから選択された仮想マシンに転送する転送手段を有する
    ことを特徴とする情報処理装置。
  23. 前記仮想スイッチの前記転送手段は、前記通信機能と通信セッションを確立するために複数の経路に向けて転送される前記パケットを、通信制御ユニットに転送し、
    前記通信制御ユニットにより選択された仮想マシンに、前記パケットを転送する
    ことを特徴とする請求項22に記載の情報処理装置。
  24. 通信ネットワークで用いられるハードウェア機器の通信機能を実行する仮想マシンが配置される情報処理装置における通信方法であって、
    ネットワークスイッチの機能を有する仮想スイッチを稼動させ、
    前記通信機能と通信セッションを確立するために複数の経路に向けて転送されるパケットを、複数の前記仮想マシンから選択された仮想マシンに転送する
    ことを特徴とする通信方法。
  25. 前記通信機能と通信セッションを確立するために複数の経路に向けて転送される前記パケットを、通信制御ユニットに転送し、
    前記通信制御ユニットにより選択された仮想マシンに、前記パケットを転送する
    ことを特徴とする請求項24に記載の通信方法。
  26. 通信ネットワークで用いられるハードウェア機器の通信機能を仮想マシンが実行する通信システムであって、
    前記通信機能と通信セッションを確立するために複数の経路に向けて転送されるパケットの転送先を、複数の前記仮想マシンから選択する第一の手段と、
    前記パケットを、選択された仮想マシンに転送する第二の手段と
    を有する通信システム。
  27. 前記通信機能と通信セッションを確立するために複数の経路に向けて転送される前記パケットを、前記第一の手段に対して転送する第三の手段を備えることを特徴とする請求項26に記載の通信システム。
  28. 通信ネットワークで用いられるハードウェア機器の通信機能を仮想マシンが実行する通信システムにおける通信方法であって、
    前記通信機能と通信セッションを確立するために複数の経路に向けて転送されるパケットの転送先を、複数の前記仮想マシンから選択し
    前記パケットを、選択された仮想マシンに転送する
    ことを特徴とする通信方法。
  29. 前記通信機能と通信セッションを確立するために複数の経路に向けて転送される前記パケットを、前記第一の手段に対して転送する
    ことを特徴とする請求項28に記載の通信方法。
  30. 複数の経路に向けて転送されるパケットを少なくとも1つ受信すると、前記パケットに対して少なくとも1つの転送先を選択し、前記選択した転送先に前記パケットを転送する手段を備えた、通信システム。
  31. 前記手段は、ネットワーク上をブロードキャストされるパケットを集約し、前記選択した転送先に、前記パケットをユニキャストで転送するノードを含む、請求項30記載の通信システム。
  32. パケットを転送するポートを複数有するスイッチを少なくとも1つ備え、
    前記スイッチは、前記複数の経路に向けて転送されるパケットを受信すると、制御装置に通知し、
    前記制御装置は、前記選択した転送先に対応するスイッチのポートから、前記パケットを転送するように指示する、請求項30又は31に記載の通信システム。
  33. 前記制御装置が、パケットの転送に関する処理規則を前記スイッチに設定し、
    前記スイッチが、前記制御装置によって設定された処理規則にしたがって入力パケットの転送を処理する、請求項32記載の通信システム。
  34. 複数の回線を集線する集線装置を備え、前記集線装置が、前記スイッチを備え、前記パケットを、前記選択した転送先に転送する、請求項32又は33記載の通信システム。
  35. 前記パケットの転送先を決定する負荷分散装置を備えた請求項34記載の通信システム。
  36. 複数の回線を集線する集線装置と、
    前記パケットの転送先を決定する負荷分散装置と、
    を備え、前記負荷分散装置で決定した転送先に前記パケットが転送される、請求項35記載の通信システム。
  37. 前記制御装置は、複数の前記スイッチに接続され、
    複数の前記スイッチは、前記複数の経路に向けて転送されたパケット受信時、前記制御装置に前記パケットを受信したことを通知し、
    前記制御装置は、最初に前記スイッチから前記パケット受信の通知を受けると、タイマをスタートさせ、タイムアウトが発生すると、前記少なくとも1つのポート又前記ポートに対応するスイッチを選択する、請求項32又は33記載の通信システム。
  38. 複数の前記スイッチの各々が、1つ又は複数のポートを介して1つ又は複数のネットワーク機能部に接続し、
    前記制御装置が、複数の前記スイッチに接続される複数の前記ネットワーク機能部に接続し、
    前記制御装置は、前記スイッチからの前記複数の経路に向けて転送されたパケットの受信の通知を受け、複数の前記ネットワーク機能部の負荷に基づき、少なくとも1つの前記ネットワーク機能部を選択し、
    前記制御装置は、前記選択したネットワーク機能部に接続するポートを有するスイッチに対して、前記ポートから前記選択したネットワーク機能部への前記パケットの転送を指示する、請求項32、33、37のいずれか1項に記載の通信システム。
  39. 前記ネットワーク機能部がサーバの仮想基盤上に仮想化された仮想マシンである、請求項38記載の通信システム。
  40. 前記複数の経路に向けて転送されたパケットを受信した場合に前記制御装置に通知するスイッチが、前記スイッチが構成するネットワークと、前記他のネットワークとの境界に配置されている、請求項32、33、37のいずれか1項に記載の通信システム。
  41. 複数の経路に向けて転送されるパケットを受信したスイッチから、前記パケット受信の通知を受ける手段と、
    前記パケットに対して少なくとも1つの転送先を選択し、選択した転送先に、前記パケットを転送するように制御する手段と、
    を備えた制御装置。
  42. 複数の経路に向けて転送されるパケットを少なくとも1つ受信すると、前記パケットに対して少なくとも1つの転送先を選択し、選択した転送先に前記パケットを転送する、通信方法。
  43. 複数の経路に向けて転送されるパケットを少なくとも1つ受信すると、前記パケットに対して少なくとも1つの転送先を選択し、選択した転送先に前記パケットを転送する処理を、コンピュータに実行させるプログラム。
JP2015524056A 2013-06-25 2014-06-24 通信システムと装置と方法とプログラム Pending JPWO2014208538A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2013133050 2013-06-25
JP2013133050 2013-06-25
PCT/JP2014/066668 WO2014208538A1 (ja) 2013-06-25 2014-06-24 通信システムと装置と方法とプログラム

Publications (1)

Publication Number Publication Date
JPWO2014208538A1 true JPWO2014208538A1 (ja) 2017-02-23

Family

ID=52141872

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015524056A Pending JPWO2014208538A1 (ja) 2013-06-25 2014-06-24 通信システムと装置と方法とプログラム

Country Status (4)

Country Link
US (1) US20160142474A1 (ja)
EP (1) EP3016321A4 (ja)
JP (1) JPWO2014208538A1 (ja)
WO (1) WO2014208538A1 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104468358B (zh) * 2013-09-25 2018-05-11 新华三技术有限公司 分布式虚拟交换机***的报文转发方法及设备
US20160105534A1 (en) * 2014-10-13 2016-04-14 Futurewei Technologies, Inc. Physical switch initialization using representational state transfer services
WO2016121728A1 (ja) * 2015-01-27 2016-08-04 日本電気株式会社 ネットワーク機能仮想化管理およびオーケストレーション装置とシステムと管理方法とプログラム
US9560078B2 (en) * 2015-02-04 2017-01-31 Intel Corporation Technologies for scalable security architecture of virtualized networks
US9912573B1 (en) * 2015-02-26 2018-03-06 Amdocs Software Systems Limited System, method, and computer program for testing a network service associated with a communications network
US10638354B2 (en) 2015-03-13 2020-04-28 Nec Corporation Communication apparatus, system, method allocation apparatus, and non-transitory recording medium
US9521071B2 (en) * 2015-03-22 2016-12-13 Freescale Semiconductor, Inc. Federation of controllers management using packet context
CN106559451B (zh) * 2015-09-29 2020-09-08 新华三技术有限公司 用户迁移方法和装置
JP6451863B2 (ja) * 2015-09-29 2019-01-16 日本電気株式会社 通信システム、基地局装置、制御装置、及び通信方法
US9934061B2 (en) * 2015-12-28 2018-04-03 International Business Machines Corporation Black box techniques for detecting performance and availability issues in virtual machines
EP3261290B1 (en) 2015-12-31 2020-11-25 Huawei Technologies Co., Ltd. Software defined data center and method for deploying service cluster therein
EP3229405B1 (en) 2015-12-31 2020-07-15 Huawei Technologies Co., Ltd. Software defined data center and scheduling and traffic-monitoring method for service cluster therein
JP2017135449A (ja) 2016-01-25 2017-08-03 富士通株式会社 パケット中継方法およびパケット中継プログラム
CN105610632B (zh) * 2016-02-14 2019-12-24 华为技术有限公司 一种虚拟网络设备及相关方法
CN107317768B (zh) * 2016-04-27 2020-01-03 新华三技术有限公司 流量调度方法及装置
US10462007B2 (en) * 2016-06-27 2019-10-29 Cisco Technology, Inc. Network address transparency through user role authentication
CN107645431B (zh) 2016-07-20 2020-08-04 新华三技术有限公司 报文转发方法及装置
CN108259335B (zh) * 2017-03-31 2020-09-08 新华三技术有限公司 路径探测方法和装置
CN108259453B (zh) 2017-05-31 2020-03-06 新华三技术有限公司 一种报文转发方法及装置
CN108259633B (zh) 2017-05-31 2020-05-12 新华三技术有限公司 实现管理报文三层通信的方法、***及装置
CN108322368B (zh) 2017-06-23 2020-01-03 新华三技术有限公司 视频点播方法和装置
CN108462683B (zh) * 2017-08-03 2020-04-03 新华三技术有限公司 认证方法和装置
CN108667888B (zh) * 2017-09-08 2020-12-29 新华三技术有限公司 一种负载均衡方法和装置
JP6904861B2 (ja) * 2017-09-13 2021-07-21 キヤノン株式会社 通信装置、制御方法およびプログラム
CN107769973B (zh) * 2017-10-26 2021-01-26 新华三技术有限公司 一种报文转发方法及装置
JP6981367B2 (ja) * 2018-06-04 2021-12-15 日本電信電話株式会社 ネットワークシステムおよびネットワーク帯域制御管理方法
US11206243B2 (en) * 2019-03-04 2021-12-21 Cyxtera Cybersecurity, Inc. Multiple gateway controllers to establish network access
US11134126B2 (en) * 2019-03-06 2021-09-28 Hewlett Packard Enterprise Development Lp Adaptive routing of branch traffic in software-defined wide area network (SDWAN) deployments
KR102549279B1 (ko) * 2020-08-19 2023-06-28 아즈빌주식회사 네트워크 장치 및 네트워크 구성 판정 방법
CN113448729B (zh) * 2021-06-25 2023-01-31 平安科技(深圳)有限公司 负载均衡方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005064936A (ja) * 2003-08-14 2005-03-10 Fujitsu Ltd 複数BRAS装置におけるPPPoEセッション分散方法及びシステム
JP2006270680A (ja) * 2005-03-25 2006-10-05 Tokyo Electric Power Co Inc:The レイヤ2スイッチ装置
JP2009027438A (ja) * 2007-07-19 2009-02-05 Hitachi Ltd フレーム転送装置
WO2012133290A1 (ja) * 2011-03-31 2012-10-04 日本電気株式会社 コンピュータシステム、及び通信方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5712870B2 (ja) * 2011-08-30 2015-05-07 富士通株式会社 通信方法、通信装置、および通信プログラム
WO2013074828A1 (en) * 2011-11-15 2013-05-23 Nicira, Inc. Firewalls in logical networks
US9521028B2 (en) * 2013-06-07 2016-12-13 Alcatel Lucent Method and apparatus for providing software defined network flow distribution

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005064936A (ja) * 2003-08-14 2005-03-10 Fujitsu Ltd 複数BRAS装置におけるPPPoEセッション分散方法及びシステム
JP2006270680A (ja) * 2005-03-25 2006-10-05 Tokyo Electric Power Co Inc:The レイヤ2スイッチ装置
JP2009027438A (ja) * 2007-07-19 2009-02-05 Hitachi Ltd フレーム転送装置
WO2012133290A1 (ja) * 2011-03-31 2012-10-04 日本電気株式会社 コンピュータシステム、及び通信方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
NETWORK FUNCTIONS VIRTUALISATION - INTRODUCTORY WHITE PAPER, vol. Issue 1, JPN6014033313, 22 October 2012 (2012-10-22), pages Page 1-16 *

Also Published As

Publication number Publication date
EP3016321A1 (en) 2016-05-04
US20160142474A1 (en) 2016-05-19
WO2014208538A1 (ja) 2014-12-31
EP3016321A4 (en) 2017-02-22

Similar Documents

Publication Publication Date Title
WO2014208538A1 (ja) 通信システムと装置と方法とプログラム
US9497661B2 (en) Implementing EPC in a cloud computer with openflow data plane
US9380111B2 (en) Feature peer network with scalable state information
US8762501B2 (en) Implementing a 3G packet core in a cloud computer with openflow data and control planes
US9787570B2 (en) Dynamic feature peer network for application flows
EP2831733B1 (en) Implementing epc in a cloud computer with openflow data plane
US9160797B2 (en) Network devices with feature peer network logic
US20150124622A1 (en) Multi-Interface, Multi-Layer State-full Load Balancer For RAN-Analytics Deployments In Multi-Chassis, Cloud And Virtual Server Environments
WO2011093228A1 (ja) フロントエンドシステム、フロントエンド処理方法
US9258267B1 (en) Highly scalable data center architecture with address resolution protocol (ARP)-free servers
KR101746105B1 (ko) 서비스 체이닝이 가능한 오픈플로우 스위치
WO2015151442A1 (ja) 通信システム、通信方法および制御装置
CN109756412B (zh) 一种数据报文转发方法以及设备
EP3269092B1 (en) Technique for routing and switching redundancy
KR101739097B1 (ko) 오픈플로우 스위치의 서비스 체이닝 방법
KR101739100B1 (ko) 서비스 체이닝 가능한 오픈플로우 스위치 제어 방법 및 그 제어기
JP2016139908A (ja) 通信システム、通信ノード、制御装置、通信制御方法、及び、プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170509

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180402

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180710