JP2017182138A - Load balancing system - Google Patents

Load balancing system Download PDF

Info

Publication number
JP2017182138A
JP2017182138A JP2016063538A JP2016063538A JP2017182138A JP 2017182138 A JP2017182138 A JP 2017182138A JP 2016063538 A JP2016063538 A JP 2016063538A JP 2016063538 A JP2016063538 A JP 2016063538A JP 2017182138 A JP2017182138 A JP 2017182138A
Authority
JP
Japan
Prior art keywords
frame
server
servers
address
network
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
JP2016063538A
Other languages
Japanese (ja)
Inventor
直樹 椿
Naoki Tsubaki
直樹 椿
木谷 誠
Makoto Kitani
誠 木谷
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2016063538A priority Critical patent/JP2017182138A/en
Publication of JP2017182138A publication Critical patent/JP2017182138A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a load balancing system that makes a load balancer unnecessary and causes little delay.SOLUTION: The load balancing system including a plurality of servers and a network switch is provided. The network switch receives a frame from a network, and transfers the frame received from the network to the plurality of servers by flooding. Each of the plurality of servers receives the frame from the network switch, and accepts and processes the frame on the basis of information on a transmission source of the frame included in the frame received from the network switch.SELECTED DRAWING: Figure 1

Description

本発明は、負荷分散システムに関する。   The present invention relates to a load distribution system.

無線通信技術やネットワーク技術の発展に伴い、ネットワークを介して提供されるサービスは多様化が進んでおり、また近年ではデバイスが自律的にネットワークを介して通信を行うIoT(Internet of Things)、M2M(Machine to Machine)のようなサービスの普及も見込まれており、ネットワークに収容される端末数、通信帯域ともに継続的な大容量化が進んでいる。   With the development of wireless communication technology and network technology, services provided via networks are diversifying, and in recent years, IoT (Internet of Things), M2M, in which devices autonomously communicate via networks. Service such as (Machine to Machine) is also expected to spread, and the number of terminals accommodated in the network and the communication bandwidth are continuously increasing.

現在のネットワークでは、通信規格としてEthernet(登録商標)が主流であり、
ネットワークの大容量化、処理やサービスの複雑化の背景から、SDN(Software Defined Network)技術として、Open Networking Foundation(登録商標)により標準仕様が策定されているOpen Flow(登録商標)が注目されている。
In the current network, Ethernet (registered trademark) is the mainstream communication standard.
Open Flow (registered trademark), for which standard specifications have been established by Open Networking Foundation (registered trademark), is attracting attention as SDN (Software Defined Network) technology due to the increase in network capacity and the complexity of processing and services. Yes.

Open Flowは、ネットワークを構成する複数のルータやスイッチ機器を、一つの制御機器(Open Flowコントローラ)により集中管理し、パケットの処理方法を指定することで、柔軟にネットワーク構成や通信ルートを変更することが可能な技術である。   Open Flow centrally manages a plurality of routers and switch devices that make up a network with a single control device (Open Flow controller), and flexibly changes the network configuration and communication route by specifying the packet processing method. It is possible technology.

このように、端末数や通信帯域が増大し、それに対応してネットワーク構成の柔軟な変更が必要となる状況においては、サービスを提供するサーバ装置やネットワークとの接続中継を行うゲートウェイ装置も、柔軟に増設が可能であることが求められ、端末からの接続要求を複数台のサーバ機器に分散して処理を行う負荷分散技術が広く使用されている。   In this way, in situations where the number of terminals and communication bandwidth increase and a flexible change in the network configuration is required correspondingly, the server device that provides the service and the gateway device that performs connection relay with the network are also flexible. In addition, load distribution technology is widely used in which connection requests from terminals are distributed to a plurality of server devices for processing.

負荷分散技術として一般的に知られている技術として、DNSラウンドロビンやロードバランシングがある。DNSラウンドロビンは、対象となるURLについてDNSサーバのゾーンファイルに複数の分散処理サーバのIPアドレスを設定しておき、クライアント端末がそのURLの名前解決を行う際に、複数サーバのIPアドレスを順番に返信することで、クライアントの接続先を複数サーバ機器に分散する技術である。   As a technique generally known as a load balancing technique, there are DNS round robin and load balancing. DNS round robin sets the IP addresses of a plurality of distributed processing servers in the DNS server zone file for the target URL, and when the client terminal performs name resolution of the URLs, the IP addresses of the plurality of servers are ordered. In this technique, the connection destinations of clients are distributed to a plurality of server devices.

一方、ロードバランシングは、クライアント端末からの要求(リクエスト)をロードバランサが受信し、指定した分散アルゴリズムに従って複数のサーバに転送する形態の技術である。サーバからのレスポンスもロードバランサが中継してクライアント端末へ送信する。ロードバランサでの負荷分散アルゴリズムとしては、ラウンドロビン、最小接続、重み付け比率等が知られている。   On the other hand, load balancing is a technique in which a load balancer receives a request (request) from a client terminal and transfers the request to a plurality of servers according to a specified distributed algorithm. The response from the server is also relayed by the load balancer and sent to the client terminal. Known load balancing algorithms in a load balancer include round robin, minimum connection, weighting ratio, and the like.

DNSラウンドロビンの技術は、適用が容易かつ安価であるという利点がある一方で、ある端末から見た場合、サービス要求する毎に接続先サーバが変化するため、パーシステンス(セッション情報の維持)が確保できないことや、ラウンドロビンによる分散であるためにいわゆるヘビーユーザの接続が特定のサーバに集中し、負荷が均一に分散されない可能性があること、分散先の処理サーバが故障した場合でもそのサーバのアドレスを接続先として返信してしまうこと、等の課題が知られている。   The DNS round robin technology has the advantage of being easy and inexpensive to apply, but when viewed from a certain terminal, the connection destination server changes each time a service request is made, thus ensuring persistence (maintaining session information). Inability to do so, distribution due to round robin, so-called heavy user connections may be concentrated on a specific server, and the load may not be evenly distributed. Problems such as returning an address as a connection destination are known.

ロードバランシングは、前述のようなDNSラウンドロビンの課題を解決することが可能な技術であるが、高度な機能と処理性能が要求されるためにロードバランサの導入コストが高く、多数のクライアント端末からの大量のリクエストを処理するような大容量サービスにおいては、サービス容量の拡張はサーバの性能ではなくロードバランサの性能により制限されることとなる。   Load balancing is a technology that can solve the DNS round robin problem described above, but it requires a high level of functionality and processing performance, so the cost of introducing a load balancer is high. In a large-capacity service that processes a large number of requests, the expansion of the service capacity is limited not by the performance of the server but by the performance of the load balancer.

ロードバランサに関するこのような課題を解決する技術として、特許文献1には、ロードバランサを設置せずに、「複数のサービス処理サーバをP2Pネットワークを用いてオーバーレイネットワークで接続し、あるサービス処理サーバへのサービスリクエストをP2Pアルゴリズムに従いサービス処理サーバ間でルーティングさせ、接続先のサービス処理サーバの負荷状態に応じて、ルーティング途中のサービス処理サーバが接続先のサービス処理サーバに代わってサービスリクエストの処理を実行する」(要約)ことが記載されている。   As a technique for solving such a problem related to the load balancer, Patent Document 1 discloses that a plurality of service processing servers are connected by an overlay network using a P2P network without installing a load balancer. Service requests are routed between service processing servers according to the P2P algorithm, and the service processing server in the middle of processing executes the service request processing on behalf of the connection destination service processing server according to the load state of the connection destination service processing server (Summary).

国際公開第2009/034994号International Publication No. 2009/034994

ロードバランサを用いた負荷分散技術における課題として、導入コスト、サービス拡張(クライアント端末増加やサービスコンテンツ拡大等)におけるロードバランサ処理負荷による制限、が挙げられる。   Problems in the load balancing technique using a load balancer include introduction cost and limitation due to load balancer processing load in service expansion (client terminal increase, service content expansion, etc.).

特許文献1に記載の技術は、ロードバランサを設置せずに分散処理を行う技術であり、これらの課題に対応するものであるが、サーバの負荷状態によって他の代行サーバへリクエストを転送するという手法であるため、リクエスト転送処理によりクライアントへの応答遅延が増加する。TCP(Transmission Control Protocol)を使用するアプリケーションにおいてはRTT(Round−Trip Time)の増加は転送スループットの低下に繋がるため、高速転送が必要なサービスにおいてはデメリットとなる。   The technique described in Patent Document 1 is a technique for performing distributed processing without installing a load balancer, and addresses these problems. However, the request is transferred to another proxy server depending on the load state of the server. Since this is a technique, the response delay to the client is increased by the request transfer process. In an application using TCP (Transmission Control Protocol), an increase in RTT (Round-Trip Time) leads to a decrease in transfer throughput, which is a disadvantage in a service that requires high-speed transfer.

本発明の目的は、ロードバランサを不要とする低遅延な負荷分散システムを提供することにある。   An object of the present invention is to provide a low-latency load distribution system that does not require a load balancer.

前記の課題を解決するため、本発明に係る代表的な負荷分散システムは、複数のサーバとネットワークスイッチを有する負荷分散システムであって、前記ネットワークスイッチは、ネットワークからフレームを受信し、前記ネットワークから受信されたフレームを前記複数のサーバへフラッディングにより転送し、前記複数のサーバのそれぞれは、前記ネットワークスイッチからフレームを受信し、前記ネットワークスイッチから受信されたフレームに含まれるフレームの送信元の情報に基づき受け付けて、処理することを特徴とする。   In order to solve the above-described problem, a typical load distribution system according to the present invention is a load distribution system having a plurality of servers and a network switch, and the network switch receives a frame from a network and receives the frame from the network. The received frame is forwarded to the plurality of servers by flooding. Each of the plurality of servers receives the frame from the network switch, and transmits the frame source information included in the frame received from the network switch. It is characterized by receiving and processing based on the above.

本発明によれば、ロードバランサを不要とする低遅延な負荷分散システムを提供することができる。   According to the present invention, it is possible to provide a low-latency load distribution system that does not require a load balancer.

送信元MACアドレスを変換する負荷分散システムの例を示す図である。It is a figure which shows the example of the load distribution system which converts a transmission origin MAC address. アドレス変換部の例を示す図である。It is a figure which shows the example of an address conversion part. 送信元MACアドレスが変換されるフレームの例を示す図である。It is a figure which shows the example of the flame | frame in which a transmission origin MAC address is converted. サーバ群から送信されるフレーム転送の例を示す図である。It is a figure which shows the example of the frame transmission transmitted from a server group. サーバ群へ送信されるフレーム転送の例を示す図である。It is a figure which shows the example of the frame transmission transmitted to a server group. 送信元IPアドレスに基づく受信フレームの選別処理の例を示す図である。It is a figure which shows the example of the selection process of the received frame based on a transmission source IP address. 送信元ポート番号に基づく受信フレームの選別処理の例を示す図である。It is a figure which shows the example of the selection process of the received frame based on a transmission source port number. VLANを用いた負荷分散システムの例を示す図である。It is a figure which shows the example of the load distribution system using VLAN. サーバ群へ送信される上り方向フレームの例を示す図である。It is a figure which shows the example of the uplink direction frame transmitted to a server group. サーバ群から送信される上り方向フレームの例を示す図である。It is a figure which shows the example of the uplink direction frame transmitted from a server group. サーバ群へ送信される下り方向フレームの例を示す図である。It is a figure which shows the example of the downlink direction frame transmitted to a server group. 静的ARPエントリを用いた負荷分散システムの例を示す図である。It is a figure which shows the example of the load distribution system using a static ARP entry. 宛先MACアドレスを変換する負荷分散システムの一実施例を示す図である。It is a figure which shows one Example of the load distribution system which converts a destination MAC address. 宛先MACアドレスが変換されるフレームの例を示す図である。It is a figure which shows the example of the flame | frame in which a destination MAC address is converted. OpenFlowを用いた負荷分散システムの例を示す図である。It is a figure which shows the example of the load distribution system using OpenFlow. OpenFlowでアドレス変換する負荷分散システムの例を示す図である。It is a figure which shows the example of the load distribution system which carries out address translation by OpenFlow. サーバ状態に基づいて制御する負荷分散システムの例を示す図である。It is a figure which shows the example of the load distribution system controlled based on a server state. 1つのサーバで代行処理を行う場合の選別処理の例を示す図である。It is a figure which shows the example of the selection process in the case of performing an agency process with one server. 複数のサーバで代行処理を行う場合の選別処理の例を示す図である。It is a figure which shows the example of the selection process in the case of performing an agency process with a some server.

以下、図面を用いて本発明の好ましい実施形態の例を説明する。   Examples of preferred embodiments of the present invention will be described below with reference to the drawings.

図1は、フラッディング転送による負荷分散システムの実施形態の一例である。図1に示した例は、一般的なクライアント−サーバ型の処理システムであり、クライアント端末11、ネットワーク12、ルータ13、アドレス変換部14、レイヤ2スイッチ15、サーバ群16により構成される。サーバ群16は複数のサーバ18により構成され、負荷分散システム17は、アドレス変換部14、レイヤ2スイッチ15、サーバ群16により構成される。   FIG. 1 is an example of an embodiment of a load distribution system using flooding transfer. The example shown in FIG. 1 is a general client-server type processing system, and includes a client terminal 11, a network 12, a router 13, an address translation unit 14, a layer 2 switch 15, and a server group 16. The server group 16 includes a plurality of servers 18, and the load distribution system 17 includes an address conversion unit 14, a layer 2 switch 15, and a server group 16.

クライアント端末11は、ネットワークを介してサーバ群16へリクエストを送信し、サーバ群16からのレスポンスを受信することでサービスの提供を受ける。サービスの種別は、例えばホームページの閲覧であってもよいし、オンラインゲーム等であってもよい。   The client terminal 11 receives a service by transmitting a request to the server group 16 via the network and receiving a response from the server group 16. The service type may be, for example, browsing of a home page or online game.

ネットワーク12は、クライアント端末11を収容するネットワークであり、構内LAN(Local Area Network)やインターネット網、LTE(Long Term Evolution)等のモバイルネットワークであってもよい。図1は、サーバ群16へ接続されるネットワーク端に、ゲートウェイルータとしてルータ13が配置される例を示している。   The network 12 is a network that accommodates the client terminals 11, and may be a mobile network such as a local area network (LAN), an Internet network, or a long term evolution (LTE). FIG. 1 shows an example in which a router 13 is arranged as a gateway router at the network end connected to the server group 16.

ルータ13は、通常のIP(Internet Protocol)ルーティング処理を行うルータとして動作し、ネットワーク12と、サーバ群16との間で送受するパケットをルーティングテーブルに従い転送する。サーバ群16とはレイヤ2ネットワークで接続されるため、パケットの転送に際し、MAC(Media Access Control)アドレスの変換を行う。   The router 13 operates as a router that performs normal IP (Internet Protocol) routing processing, and transfers packets transmitted and received between the network 12 and the server group 16 according to the routing table. Since it is connected to the server group 16 via a layer 2 network, it converts a MAC (Media Access Control) address when transferring a packet.

アドレス変換部14は、レイヤ2スイッチ15からルータ13へ出力されるEthernetフレームのMACアドレスを変換する。MACアドレス変換の詳細については、後述する。レイヤ2スイッチ15は、入力されるEthernetフレームの送信元MACアドレスをポートに関連付けて学習保持し、宛先MACアドレスに基づき出力ポートを切り替える汎用的なスイッチングハブである。   The address conversion unit 14 converts the MAC address of the Ethernet frame output from the layer 2 switch 15 to the router 13. Details of the MAC address conversion will be described later. The layer 2 switch 15 is a general-purpose switching hub that learns and holds the source MAC address of the input Ethernet frame in association with the port and switches the output port based on the destination MAC address.

ルータ13から入力されるリクエストフレームは、レイヤ2スイッチ15のフラッディング動作によりサーバ群16の複数のサーバ18へ共通に転送され、サーバ群16から入力されるレスポンスフレームは、宛先MACアドレスの情報に基づくスイッチング転送によりルータ13へ転送される。フラッディング動作の詳細については後述する。   The request frame input from the router 13 is commonly transferred to the plurality of servers 18 in the server group 16 by the flooding operation of the layer 2 switch 15, and the response frame input from the server group 16 is based on the information of the destination MAC address. It is transferred to the router 13 by switching transfer. Details of the flooding operation will be described later.

サーバ群16は、N台のサーバ18であるサーバ(0)〜サーバ(N−1)により構成され、クライアント端末11から送信されたリクエストフレームを、N台のサーバ18で選別受信することにより、処理を分散してレスポンスを返信することによりサービスをクライアント端末11へ提供する。   The server group 16 is composed of servers (0) to (N-1) which are N servers 18, and the request frames transmitted from the client terminals 11 are selectively received by the N servers 18, The service is provided to the client terminal 11 by distributing the processing and returning a response.

サーバ18は、一般的な計算機でもよく、NIC(Network Interface Card)、プロセッサ、メモリを備えてもよい。NICは、サーバ18のIPアドレスとMACアドレスが設定され、レイヤ2スイッチ15とネットワーク接続されてもよい。プロセッサは、メモリに格納されたプログラムとデータを使用して処理を実行し、NICを制御してもよい。   The server 18 may be a general computer, and may include a NIC (Network Interface Card), a processor, and a memory. The NIC may be connected to the layer 2 switch 15 via the network by setting the IP address and MAC address of the server 18. The processor may execute processing using a program and data stored in the memory to control the NIC.

負荷分散システム17におけるIPアドレスとMACアドレスについて、さらに説明する。サーバ群16のN台のサーバ18は、共通のIPアドレスが割り当てられて、分散処理を行い、それぞれに番号として0番〜(N−1)番の番号が割り付けられる。サーバ群16の共通のIPアドレスは、以下ipSと記載する。   The IP address and MAC address in the load balancing system 17 will be further described. The N servers 18 in the server group 16 are assigned a common IP address, perform distributed processing, and are assigned numbers 0 to (N−1) as numbers. The common IP address of the server group 16 is hereinafter referred to as ipS.

また、N台のサーバ18はそれぞれ異なるMACアドレスが割り当てられ、このMACアドレスは、以下「macS(0)」〜「macS(N−1)」と記載する。以下同様に、クライアント端末11のIPアドレスは「ipCLI」、MACアドレスは「macCLI」と記載し、ルータ13のサーバ群16側のポート(0)のMACアドレスは「macR0」と記載し、ネットワーク12側のポート(1)のMACアドレスは「macR1」と記載する。   Further, the N servers 18 are assigned different MAC addresses, and these MAC addresses are hereinafter referred to as “macS (0)” to “macS (N−1)”. Similarly, the IP address of the client terminal 11 is described as “ipCLI”, the MAC address is described as “macCLI”, the MAC address of the port (0) on the server group 16 side of the router 13 is described as “macR0”, and the network 12 The MAC address of the side port (1) is described as “macR1”.

アドレス変換部14は、レイヤ2スイッチ15からルータ13へ送出されるフレームに対し、送信元MACアドレスをダミーのMACアドレスである「macD」に変換を行い、レイヤ2のFCS(Frame Check Sequence)再計算結果をフレームのトレーラに付与したうえでルータ13のポート(0)へ出力する。   The address conversion unit 14 converts the transmission source MAC address to “macD”, which is a dummy MAC address, for a frame sent from the layer 2 switch 15 to the router 13, and regenerates the layer 2 FCS (Frame Check Sequence). The calculation result is added to the frame trailer and output to the port (0) of the router 13.

アドレス変換部14の例を図2に示す。図2に示した例では、入力フレームの物理層信号に対して、PHY(Physical layer)部21が、光/電気信号変換、復号化、シリアル/パラレル変換等の必要な物理層処理を行う。PHY部21での処理は、レイヤ2スイッチ15との接続信号の形式(100BASE−TX、1000BASE-SR等)に応じた処理を行う。   An example of the address conversion unit 14 is shown in FIG. In the example shown in FIG. 2, a PHY (Physical layer) unit 21 performs necessary physical layer processing such as optical / electrical signal conversion, decoding, serial / parallel conversion, etc., on the physical layer signal of the input frame. The processing in the PHY unit 21 performs processing according to the format of the connection signal with the layer 2 switch 15 (100BASE-TX, 1000BASE-SR, etc.).

PHY部21で復号化されたフレームデータは、FIFO部22に格納される一方、FCS判定部23でFCS計算が行なわれ、フレーム内のデータ誤り有無の判定が行なわれる。読み出し制御部24は、FCSエラーが検出されたフレームデータは不要フレームとして読み出し制御を行わずに廃棄し、FCSエラーが検出されないフレームデータは有効フレームとしてFIFO部22へ読み出し制御を行う。   The frame data decoded by the PHY unit 21 is stored in the FIFO unit 22, while the FCS determination unit 23 performs FCS calculation to determine whether there is a data error in the frame. The read control unit 24 discards the frame data in which the FCS error is detected as an unnecessary frame without performing the read control, and performs read control on the frame data in which the FCS error is not detected to the FIFO unit 22 as an effective frame.

変換処理部25は、FIFO部22から読み出されたフレームデータに対し、送信元MACアドレスのフィールドのデータをダミーのMACアドレスであるmacDに変更したうえで、変更したフレームデータについてFCS計算を行い、フレームトレーラのFCSフィールドを計算した結果と差し替えて出力する。PHY部26は、ルータ13との信号接続形式に応じた物理層処理を行う。処理の例としては、パラレル/シリアル変換、符号化、電気/光信号変換等である。   The conversion processing unit 25 changes the data in the field of the source MAC address to macD that is a dummy MAC address for the frame data read from the FIFO unit 22 and performs FCS calculation on the changed frame data. The frame trailer FCS field is replaced with the calculated result and output. The PHY unit 26 performs physical layer processing according to the signal connection format with the router 13. Examples of processing include parallel / serial conversion, encoding, and electrical / optical signal conversion.

図3に、アドレス変換部14での変換前、変換後のフレームの例を示す。変換前フレーム31は、アドレス変換前のフレームの例である。この変換前フレーム31は、サーバ(0)が送出したレスポンスフレームの例を示しており、送信元MACアドレスはサーバ(0)のMACアドレスの「macS(0)」である。   FIG. 3 shows an example of frames before and after conversion by the address conversion unit 14. The pre-conversion frame 31 is an example of a frame before address conversion. This pre-conversion frame 31 shows an example of a response frame sent by the server (0), and the source MAC address is “macS (0)” of the MAC address of the server (0).

変換後フレーム32は、アドレス変換後のフレームの例である。送信元MACアドレスのデータフィールドはダミーのMACアドレスである「macD」に変換され、トレーラにあるFCSフィールドは変換後のフレームデータで計算したデータである「FRD」に変更される。   The post-conversion frame 32 is an example of a frame after address conversion. The data field of the source MAC address is converted to “macD” which is a dummy MAC address, and the FCS field in the trailer is changed to “FRD” which is data calculated from the converted frame data.

図3に示した例は、サーバ(0)が送出したフレームであるが、他のサーバ18が送出したフレームの場合でも、同様に送信元MACアドレス、FCSのフィールドが変更される。なお、ダミーのMACアドレスである「macD」は、ルータ13、サーバ群16の各固有のMACアドレス、その他システム内で使用されるMACアドレスと重複しない(システム内で割り当てられていない)MACアドレスであれば、特定の値である必要はない。   The example shown in FIG. 3 is a frame sent by the server (0), but even in the case of a frame sent by another server 18, the source MAC address and FCS fields are similarly changed. Note that “macD”, which is a dummy MAC address, is a unique MAC address of the router 13 and the server group 16 and a MAC address that does not overlap with other MAC addresses used in the system (not assigned in the system). If so, it need not be a specific value.

図4に、サーバ群16からクライアント端末11へ送信されるフレームの転送例を示す。サーバ群16から送信されるフレームは、送信元MACアドレスを各々のサーバに固有のMACアドレスである「macS(0)」〜「macS(N−1)」、送信元IPアドレスを各サーバ18に共通のIPアドレスである「ipS」、宛先MACアドレスをルータ13のポート(0)のMACアドレスである「macR0」、宛先IPアドレスをクライアント端末のIPアドレスである「ipCLI」、として送信される。   FIG. 4 shows a transfer example of a frame transmitted from the server group 16 to the client terminal 11. The frame transmitted from the server group 16 has a source MAC address “macS (0)” to “macS (N−1)” that is a unique MAC address of each server, and a source IP address to each server 18. It is transmitted as “ipS” that is a common IP address, “MACR0” that is the MAC address of the port (0) of the router 13 as the destination MAC address, and “ipCLI” that is the IP address of the client terminal.

レイヤ2スイッチ15は、各サーバ18の固有MACアドレスである「macS(0)」〜「macS(N−1)」を、各接続ポートに対応学習したうえで、宛先MACアドレスの「macR0」に従いポート(A0)から出力することにより、ルータ13へフレームを転送する。   The layer 2 switch 15 learns “macS (0)” to “macS (N−1)”, which are the unique MAC addresses of the servers 18, corresponding to each connection port, and then follows “macR0” of the destination MAC address. The frame is transferred to the router 13 by outputting from the port (A0).

この対応学習は、例えば、ルータ13のMACアドレスである「macR0」とポート(A0)とが対応し、サーバ18のMACアドレスである「macS0」とポート(A1)とが対応するというものである。レイヤ2スイッチ15が受信したフレームの送信元MACアドレスを学習し、それ以外は学習しない。   In this correspondence learning, for example, “macR0” that is the MAC address of the router 13 corresponds to the port (A0), and “macS0” that is the MAC address of the server 18 corresponds to the port (A1). . The source MAC address of the frame received by the layer 2 switch 15 is learned, and the others are not learned.

そして、レイヤ2スイッチ15とルータ13との間にあるアドレス変換部14の処理により、ルータ13のポート(0)へ入力されるフレームは、送信元MACアドレスがダミーのアドレスである「macD」、送信元IPアドレスがサーバ群16の共通のIPアドレスである「ipS」と入力される。   Then, the frame input to the port (0) of the router 13 by the processing of the address conversion unit 14 between the layer 2 switch 15 and the router 13 is “macD” whose transmission source MAC address is a dummy address, The source IP address is input as “ipS”, which is a common IP address of the server group 16.

ルータ13は、このアドレス変換部14により変換された後のフレームの送信元MACアドレスである「macD」と送信元IPアドレスである「ipS」とを対応付けて、動的ARP(Address Resolution Protocol)エントリ41を内部にキャッシュ保持した上で、ルーティングテーブルに従いポート(1)からネットワーク12へ転送する。なお、ルータの通常の動作として、ルータ13から出力されるフレームの送信元MACアドレスはルータ13の「macR1」と入力される。   The router 13 associates “macD” that is the transmission source MAC address of the frame after being converted by the address conversion unit 14 with “ipS” that is the transmission source IP address, and performs dynamic ARP (Address Resolution Protocol). The entry 41 is cached and transferred from the port (1) to the network 12 according to the routing table. As a normal operation of the router, the source MAC address of the frame output from the router 13 is input as “macR1” of the router 13.

また、ルータ13から出力されるフレームの宛先MACアドレスは、ルーティングテーブルに従いクライアント端末11の「macCLI」と入力される例を示したが、これに限定されるものではなく、ネットワーク12においてルータ13からクライアント端末11までに至る経路上のネットワーク機器のMACアドレスが入力されてもよい。   Further, although the example in which the destination MAC address of the frame output from the router 13 is input as “macCLI” of the client terminal 11 in accordance with the routing table has been shown, the present invention is not limited to this. The MAC address of the network device on the route to the client terminal 11 may be input.

図5に、クライアント端末11からサーバ群16へ送信されるフレームの転送例を示す。クライアント端末11から送出されるフレームは、送信元MACアドレスを自身のMACアドレスである「macCLI」、送信元IPアドレスを自身のIPアドレスである「ipCLI」、宛先MACアドレスをゲートウェイルータであるルータ13のポート1のMACアドレスである「macR1」、宛先IPアドレスをサーバ群16の共通IPアドレスである「ipS」、として送信される。   FIG. 5 shows a transfer example of a frame transmitted from the client terminal 11 to the server group 16. The frame sent from the client terminal 11 has a source MAC address “macCLI” that is its own MAC address, a source IP address that is “ipCLI” that is its own IP address, and a destination MAC address that is a router 13 that is a gateway router. Is transmitted as “macR1”, which is the MAC address of the port 1 and “ipS”, which is the common IP address of the server group 16, as the destination IP address.

ルータ13は、ルーティングテーブルに従い、このフレームをポート(0)からレイヤ2スイッチ15へ転送する。この際、内部にキャッシュ保持している動的ARPエントリ41に従い、IPアドレスの「ipS」に対応するように宛先MACアドレスを「macD」に変換し、送信元MACアドレスを自身のMACアドレスである「macR0」に変換する。   The router 13 transfers this frame from the port (0) to the layer 2 switch 15 according to the routing table. At this time, in accordance with the dynamic ARP entry 41 held in the cache, the destination MAC address is converted to “macD” so as to correspond to the IP address “ipS”, and the source MAC address is the own MAC address. Convert to “macR0”.

レイヤ2スイッチ15は、フレームの宛先MACアドレスである「macD」が、自身の内部に学習保持したMACアドレステーブルに存在しないため、フラッディング動作によりレイヤ2スイッチ15の全ポートから転送する。この結果、サーバ群16の各サーバ18は、共通にクライアント端末11から送信されたフレームを受信する。   The layer 2 switch 15 transfers “macD”, which is the destination MAC address of the frame, from all the ports of the layer 2 switch 15 by the flooding operation because it does not exist in the MAC address table learned and held in itself. As a result, each server 18 of the server group 16 receives the frame transmitted from the client terminal 11 in common.

以上で説明したように、アドレス変換部14でのMACアドレス変換処理を行うことで、サーバ群16の各サーバ18はクライアント端末11からのリクエストフレームを共通に受信することとなり、各サーバ18が適切にリクエストフレームの選別処理を行い、レスポンスを返信することで、複数のサーバ18で分散処理を行うことが可能となる。フラッディング転送により、サーバ群16の各サーバ18はリクエストフレームを受信できるため、ロードバランサなどによる遅延が生じることはなく、ロードバランサなどの装置が不要であるからコストを低減できる。   As described above, by performing the MAC address conversion processing in the address conversion unit 14, each server 18 of the server group 16 receives the request frame from the client terminal 11 in common, and each server 18 is appropriately set. By performing a request frame selection process and returning a response, it is possible to perform distributed processing by a plurality of servers 18. By flooding transfer, each server 18 of the server group 16 can receive a request frame. Therefore, a delay due to a load balancer or the like is not caused, and a device such as a load balancer is unnecessary, so that the cost can be reduced.

サーバ群16の各サーバ18でのリクエストフレームの選別処理の一例を図6に示す。図6に示した例は、リクエストフレームの送信元IPアドレスを基に選別処理を行う例である。負荷分散を行うサーバ18の数をN台、各サーバの番号を0番〜(N−1)番とした場合、各サーバ18は、レイヤ2スイッチ15からフラッディング転送されるリクエストフレームを受信し(ステップ61)、リクエストフレームの送信元IPアドレスを被除数、サーバ18の数Nを除数として剰余算を行い、剰余が自サーバ番号と一致するか判定する(ステップ62)。   An example of a request frame selection process in each server 18 of the server group 16 is shown in FIG. The example illustrated in FIG. 6 is an example in which the selection process is performed based on the transmission source IP address of the request frame. When the number of servers 18 that perform load distribution is N and the numbers of the servers are 0 to (N−1), each server 18 receives a request frame that is flooded and transferred from the layer 2 switch 15 ( In step 61), a remainder is calculated by using the source IP address of the request frame as a dividend and the number N of servers 18 as a divisor, and it is determined whether the remainder matches the own server number (step 62).

各サーバ18は、ステップ62で剰余が自サーバ番号と一致すると判定した場合、自サーバ宛のリクエストとして受け付けて処理を行い、クライアント端末11へレスポンスを返信する(ステップ63)。ステップ62で剰余が自サーバ番号と一致しないと判定した場合は、他サーバ宛のリクエストとして、受信したリクエストフレームを廃棄する(ステップ64)。   When each server 18 determines in step 62 that the remainder coincides with its own server number, each server 18 receives and processes as a request addressed to its own server, and returns a response to the client terminal 11 (step 63). If it is determined in step 62 that the remainder does not match the own server number, the received request frame is discarded as a request addressed to another server (step 64).

一例として、4台のサーバ18で分散処理を行う場合、各サーバ18は0番〜3番の番号が付与された上で、各サーバ18は受信したリクエストフレームの送信元アドレスに対する4の剰余算を行う。剰余算の結果が0のリクエストにはサーバ0番が、結果が1のリクエストにはサーバ1番が、結果が2のリクエストにはサーバ2番が、結果が3のリクエストにはサーバ3番がレスポンスを返信することで、負荷分散処理を行う。   As an example, when distributed processing is performed by four servers 18, each server 18 is assigned a number from 0 to 3, and each server 18 calculates a remainder of 4 with respect to the source address of the received request frame. I do. A request with a remainder result of 0 is server 0, a request with a result 1 is server 1; a request with a result 2 is server 2; a request with a result 3 is server 3 Load distribution processing is performed by returning a response.

ここで、クライアント端末11は4台以上であり、各クライアント端末のIPアドレスの最下位の値は異なることが好ましい。また、サーバ群16の各サーバ18は、受信したフレームの宛先IPアドレスを判定して受信したフレームの宛先MACアドレスを無視してもよいし、自身のMACアドレスである「mac(0)」〜「macS(N−1)」のいずれか、または「macD」を宛先MACアドレスとするフレームを受信するようにしてもよい。   Here, the number of client terminals 11 is four or more, and the lowest value of the IP address of each client terminal is preferably different. Further, each server 18 of the server group 16 may determine the destination IP address of the received frame and ignore the destination MAC address of the received frame, or “mac (0)” to You may make it receive the flame | frame which uses either "macS (N-1)" or "macD" as a destination MAC address.

第2の実施例として、各サーバ18が、リクエストフレーム内のTCPレイヤまたはUDP(User Datagram Protocol)レイヤのヘッダに含まれる送信元ポート番号の剰余算によりサーバ18での選別処理を行う例を説明する。図1〜5を用いて説明した内容は、実施例1と同じであるので説明を省略する。図7はリクエストフレームの選別処理の一例を示し、実施例1の図6に対応する図である。   As a second embodiment, an example will be described in which each server 18 performs a sorting process in the server 18 by a remainder calculation of a source port number included in a TCP layer or UDP (User Datagram Protocol) layer header in a request frame. To do. Since the content described with reference to FIGS. 1 to 5 is the same as that of the first embodiment, the description thereof is omitted. FIG. 7 illustrates an example of a request frame selection process, and corresponds to FIG. 6 of the first embodiment.

負荷分散を行うサーバ18の数をN台、各サーバ18の番号を0番〜(N−1)番とした場合、各サーバ18は、レイヤ2スイッチ15からフラッディング転送されるリクエストフレームを受信し(ステップ71)、リクエストフレームの送信元ポート番号を被除数、サーバ18の数Nを除数として剰余算を行い、剰余が自サーバ番号と一致するか判定する(ステップ72)。   When the number of servers 18 that perform load distribution is N and the numbers of the servers 18 are 0 to (N−1), each server 18 receives a request frame that is flooded and transferred from the layer 2 switch 15. (Step 71) A remainder is calculated by using the source port number of the request frame as a dividend and the number N of servers 18 as a divisor, and it is determined whether the remainder matches the own server number (Step 72).

各サーバ18は、ステップ72で剰余が自サーバ番号と一致すると判定した場合、自サーバ宛のリクエストとして受け付けて処理を行い、クライアント端末11へレスポンスを返信する(ステップ73)。ステップ72で剰余が自サーバ番号と一致しないと判定した場合は、他サーバ宛のリクエストとして、受信したリクエストフレームを廃棄する(ステップ74)。   If each server 18 determines in step 72 that the remainder coincides with its own server number, each server 18 receives and processes as a request addressed to its own server, and returns a response to the client terminal 11 (step 73). If it is determined in step 72 that the remainder does not match the own server number, the received request frame is discarded as a request addressed to another server (step 74).

一例として、4台のサーバ18で分散処理を行う場合、各サーバ18は0番〜3番の番号が付与された上で、各サーバ18はリクエストフレームの送信元ポート番号に対する4の剰余算を行う。剰余算の結果が0のリクエストにはサーバ0番が、結果が1のリクエストにはサーバ1番が、結果が2のリクエストにはサーバ2番が、結果が3のリクエストにはサーバ3番がレスポンスを返信することで、負荷分散処理を行う。   As an example, when distributed processing is performed by four servers 18, each server 18 is assigned a number from 0 to 3, and each server 18 performs a remainder of 4 on the transmission source port number of the request frame. Do. A request with a remainder result of 0 is server 0, a request with a result 1 is server 1; a request with a result 2 is server 2; a request with a result 3 is server 3 Load distribution processing is performed by returning a response.

実施例1で説明した送信元IPアドレスを対象とした剰余算の場合、NAT(Network Address Translation)等を介在して接続するクライアント端末11が多数存在すると(複数のクライアント端末11からのリクエストフレームが1つのIPアドレスから送信されると)、負荷が一部のサーバ18に集中する可能性があるが、TCP/UDPレイヤの送信元ポート番号は、一般的にアプリケーションによりランダムに決定されるため、負荷の均一化に寄与できる。   In the case of the remainder calculation for the source IP address described in the first embodiment, if there are many client terminals 11 connected via NAT (Network Address Translation) or the like (request frames from a plurality of client terminals 11 are present). If sent from one IP address), the load may be concentrated on some servers 18, but the TCP / UDP layer source port number is generally determined randomly by the application, Contributes to uniform load.

さらに、サーバ18によって性能に差分がある場合等では、重み付け負荷分散をしてもよい。以上での説明と同様に、サーバ0番〜サーバ3番の4台で分散処理を行う構成において、サーバ3番に他の2倍の処理負荷を配分する場合、各サーバ18はリクエストフレームの送信元ポート番号を被除数とし、除数を5として剰余算を行う。除数5は、配分したい負荷比率の合算値であり、1+1+1+2 により算出される。   Further, when there is a difference in performance depending on the server 18, weighted load distribution may be performed. Similarly to the above description, in a configuration in which distributed processing is performed by four servers, server 0 to server 3, when each server 18 distributes another twice the processing load, each server 18 transmits a request frame. The remainder is calculated with the original port number as the dividend and the divisor as 5. The divisor 5 is a total value of load ratios to be distributed, and is calculated by 1 + 1 + 1 + 2.

剰余算の結果が0のリクエストにはサーバ0番が、結果が1のリクエストにはサーバ1番が、結果が2のリクエストにはサーバ2番が、結果が3と4のリクエストにはサーバ3番がレスポンスを返信することで、重み付け分散処理を行うことが可能となる。   Server 0 for requests with a remainder result of 0, server 1 for requests with result 1, server 2 for requests with result 2, server 3 for requests with results 3 and 4 It is possible to perform weighted distribution processing by returning the response of the number.

実施例3として、サーバ群16がクライアント端末11とインターネット86との接続を中継する例を説明する。図8は、フラッディング転送による中継の負荷分散システムの実施形態の一例である。この例において、サーバ群16は、クライアント端末11とインターネット86との接続を中継するプロキシサーバであり、VPN(Virtual Private Network)ゲートウェイ等であってもよい。そして、クライアント端末11は、インターネット86への接続に際してはサーバ群16をプロキシサーバとして接続を行う。   As a third embodiment, an example in which the server group 16 relays the connection between the client terminal 11 and the Internet 86 will be described. FIG. 8 is an example of an embodiment of a relay load distribution system using flooding transfer. In this example, the server group 16 is a proxy server that relays the connection between the client terminal 11 and the Internet 86, and may be a VPN (Virtual Private Network) gateway or the like. When connecting to the Internet 86, the client terminal 11 connects using the server group 16 as a proxy server.

ルータ13は、図1に示したルータ13と同じであるので、同じ符号を付して説明を省略する。ローカルネットワーク81は、クライアント端末11をレイヤ2ネットワークで収容する構内LAN等である。アドレス変換部82は、ローカルネットワーク81とレイヤ2スイッチ15との間に配置され、レイヤ2スイッチ15からローカルネットワーク81へ出力されるEthernetフレームのMACアドレスを変換する。アドレス変換の動作そのものは、アドレス変換部14と同じである。   The router 13 is the same as the router 13 shown in FIG. The local network 81 is a local area LAN or the like that accommodates the client terminal 11 in a layer 2 network. The address conversion unit 82 is disposed between the local network 81 and the layer 2 switch 15 and converts the MAC address of the Ethernet frame output from the layer 2 switch 15 to the local network 81. The address conversion operation itself is the same as that of the address conversion unit 14.

アドレス変換部85は、ルータ13とレイヤ2スイッチ15との間に配置され、レイヤ2スイッチ15からルータ13へ出力されるEthernetフレームのMACアドレスを変換する機能を持つ。アドレス変換の動作そのものは、アドレス変換部14と同じである。レイヤ2スイッチ15は、図1に示したレイヤ2スイッチ15と同じであるが、レイヤ2スイッチ15内に複数のVLAN(Virtual LAN)が設定される。   The address conversion unit 85 is disposed between the router 13 and the layer 2 switch 15 and has a function of converting the MAC address of the Ethernet frame output from the layer 2 switch 15 to the router 13. The address conversion operation itself is the same as that of the address conversion unit 14. The layer 2 switch 15 is the same as the layer 2 switch 15 shown in FIG. 1, but a plurality of VLANs (Virtual LANs) are set in the layer 2 switch 15.

VLAN_A83は、ローカルネットワーク81とサーバ群16とを接続するレイヤ2ネットワークであって、仮想ネットワークである。また、VLAN_B84は、ルータ13とサーバ群16とを接続するレイヤ2ネットワークであって、仮想ネットワークである。負荷分散システム87は、アドレス変換部82、アドレス変換部85、レイヤ2スイッチ15、サーバ群16から構成され、サーバ群16は複数のサーバ18から構成される。   The VLAN_A 83 is a layer 2 network that connects the local network 81 and the server group 16 and is a virtual network. The VLAN_B 84 is a layer 2 network that connects the router 13 and the server group 16 and is a virtual network. The load distribution system 87 includes an address conversion unit 82, an address conversion unit 85, a layer 2 switch 15, and a server group 16, and the server group 16 includes a plurality of servers 18.

レイヤ2スイッチ15は、VLAN_A83とVLAN_B84により、クライアント端末11とサーバ群16との通信と、インターネット86とサーバ群16との通信の2つの通信に分離するため、それぞれの通信について説明する。   Since the layer 2 switch 15 is separated into two communications, that is, communication between the client terminal 11 and the server group 16 and communication between the Internet 86 and the server group 16 by VLAN_A83 and VLAN_B84, each communication will be described.

アドレス変換部82は、サーバ群16からVLAN_A83を介して受信するフレームについて、送信元MACアドレスをダミーのMACアドレスに変換した上でFCS再計算を行い、ローカルネットワーク81へ出力する。ここでの変換の内容は、図2及び図3を用いて説明した内容と同様である。   The address conversion unit 82 performs FCS recalculation on the frame received from the server group 16 via VLAN_A 83, converts the source MAC address into a dummy MAC address, and outputs the result to the local network 81. The content of the conversion here is the same as the content described with reference to FIGS.

アドレス変換部82でのMACアドレス変換処理により、クライアント端末11は、サーバ群16のIPアドレスとダミーのMACアドレスを動的ARPエントリとしてキャッシュ保持するため、クライアント端末11からサーバ群16へ送出されるリクエストフレームは、宛先MACアドレスをダミーのMACアドレスとして送出される。   By the MAC address conversion processing in the address conversion unit 82, the client terminal 11 caches the IP address of the server group 16 and the dummy MAC address as dynamic ARP entries, and therefore is sent from the client terminal 11 to the server group 16. The request frame is transmitted with the destination MAC address as a dummy MAC address.

ダミーのMACアドレスはレイヤ2スイッチ15に学習保持されていないので、このリクエストフレームは、レイヤ2スイッチ15内のVLAN_A83に属する全ポートにフラッディング動作により転送されるため、サーバ群16の複数のサーバ18が共通に受信する。なお、インターネット86側のアドレス変換部85が接続されるポートは、VLAN_B84に属し、VLAN_A83に属さないため、このフラッディング動作では転送されない。   Since the dummy MAC address is not learned and held in the layer 2 switch 15, the request frame is transferred to all the ports belonging to VLAN_A 83 in the layer 2 switch 15 by the flooding operation. Receive in common. Note that the port to which the address conversion unit 85 on the Internet 86 side is connected belongs to VLAN_B84 and does not belong to VLAN_A83, and therefore is not transferred in this flooding operation.

アドレス変換部85は、サーバ群16からVLAN_B84を介して受信するフレームについて、送信元MACアドレスをダミーのMACアドレスに変換した上でFCS再計算を行い、ルータ13へ出力する。ここでの変換の内容は、図2及び図3を用いて説明した内容と同様である。   The address conversion unit 85 converts the transmission source MAC address into a dummy MAC address for the frame received from the server group 16 via the VLAN_B 84, performs FCS recalculation, and outputs the result to the router 13. The content of the conversion here is the same as the content described with reference to FIGS.

アドレス変換部85でのMACアドレス変更処理により、ルータ13は、サーバ群16のIPアドレスとダミーのMACアドレスを動的ARPエントリとしてキャッシュ保持するため、ルータ13がインターネット86から受信してサーバ群16へ転送するフレームは、宛先MACアドレスをダミーのMACアドレスとして送出される。   The router 13 receives the IP address of the server group 16 and the dummy MAC address as dynamic ARP entries by the MAC address changing process in the address conversion unit 85, so that the router 13 receives from the Internet 86 and receives the server group 16 The frame to be transferred to is sent with the destination MAC address as a dummy MAC address.

ダミーのMACアドレスはレイヤ2スイッチ15に学習保持されていないので、このフレームは、レイヤ2スイッチ15内のVLAN_B84に属するポートにフラッディング動作により転送されるため、サーバ群16の複数のサーバ18が共通に受信する。なお、クライアント端末11側のアドレス変換部82が接続されるポートは、VLAN_A83に属し、VLAN_B84に属さないため、このフラッディング動作では転送されない。   Since the dummy MAC address is not learned and held in the layer 2 switch 15, this frame is transferred to the port belonging to VLAN_B 84 in the layer 2 switch 15 by the flooding operation, so that a plurality of servers 18 in the server group 16 are common. To receive. Note that the port to which the address translation unit 82 on the client terminal 11 side is connected belongs to VLAN_A83 and does not belong to VLAN_B84, and therefore is not transferred in this flooding operation.

このように、VLAN技術を使用して2つの仮想ネットワークに分離することで、リクエストフレームの受付元と送出先のネットワークが異なる場合でも、フラッディング動作による転送範囲を分離し、複数のサーバ18が複数のネットワークからの入力を共通に受信することが可能となる。図6または図7を用いて説明した選別処理を各サーバ18が行うことで、複数のサーバ18で負荷分散処理を行うことができる。   In this way, by separating the two virtual networks using the VLAN technology, even when the request frame accepting source and the sending destination network are different, the transfer range by the flooding operation is separated, and a plurality of servers 18 are provided. It is possible to receive input from the network in common. Each server 18 performs the sorting process described with reference to FIG. 6 or FIG. 7, whereby the load distribution process can be performed by the plurality of servers 18.

なお、サーバ群16での受信フレームを、送信元IPアドレスや送信元ポート番号に基づいて選別処理を行う場合、上り方向(クライアント端末11からインターネット86へ送信する方向)の処理をするサーバ18と、下り方向(インターネット86からクライアント端末11へ送信する方向)の処理をするサーバ18が一致しない場合もある。そこで、上り方向と下り方向とを同一のサーバ18で処理するための選別受信について、以下に説明する。   In addition, when the received frame in the server group 16 is subjected to the selection process based on the transmission source IP address or the transmission source port number, the server 18 that performs an upstream process (direction in which the client terminal 11 transmits to the Internet 86) In some cases, the servers 18 that perform processing in the downstream direction (direction in which data is transmitted from the Internet 86 to the client terminal 11) do not match. Therefore, selective reception for processing the uplink direction and the downlink direction by the same server 18 will be described below.

以下に説明する例は、クライアント端末11が、インターネット86上のアプリケーションサーバへの接続要求のため、プロキシサーバであるサーバ群16へリクエストを送出し、アプリケーションサーバからのレスポンスは、サーバ群16により中継されて受信する例である。   In the example described below, the client terminal 11 sends a request to the server group 16 that is a proxy server for a connection request to the application server on the Internet 86, and the response from the application server is relayed by the server group 16. It is an example of being received.

サーバ群16の各サーバ18は、上り方向のリクエスト送出用の送信元ポート番号を、他のサーバ18と重複しないように予約されている。例として、サーバ0番〜サーバ3番の4台で負荷分散を行う場合、サーバ0番は10000番〜19999番、サーバ1番は20000番〜29999番というように予約されてもよい。このリクエスト送出用の送信元ポート番号を、代表として以下「prtSB」と記載する。   Each server 18 of the server group 16 is reserved so that the source port number for sending an upstream request does not overlap with other servers 18. As an example, when load balancing is performed on four servers from server 0 to server 3, server 0 may be reserved from 10000 to 19999, and server 1 may be reserved from 20000 to 29999. The transmission source port number for sending the request is described as “prtSB” as a representative.

図9Aに示した上り方向のフレーム91は、クライアント端末11がサーバ群16へ送信する上り方向のフレームの例であり、レイヤ4のプロトコルがTCPの例である。クライアント端末11は、宛先MACアドレス、宛先IPアドレス共に、接続を代行するプロキシサーバであるサーバ群16のアドレスすなわち「ipSA」が設定される。   An uplink frame 91 illustrated in FIG. 9A is an example of an uplink frame transmitted from the client terminal 11 to the server group 16, and the layer 4 protocol is an example of TCP. In the client terminal 11, both the destination MAC address and the destination IP address are set with the address of the server group 16 that is a proxy server acting as a proxy, that is, “ipSA”.

アドレス変換部82にて、予めクライアント端末11へ送出されるフレームの送信元MACアドレスはダミーのMACアドレスである「macD1」に変換されている。この処理により、クライアント端末11は、サーバ群16のIPアドレスである「ipSA」と、ダミーのMACアドレスである「macD1」とをキャッシュ保持するため、上り方向のフレーム91の宛先MACアドレスは「macD1」となる。   In the address conversion unit 82, the transmission source MAC address of the frame transmitted to the client terminal 11 is converted into “macD1” which is a dummy MAC address in advance. By this processing, the client terminal 11 caches “ipSA” that is the IP address of the server group 16 and “macD1” that is the dummy MAC address, so the destination MAC address of the upstream frame 91 is “macD1”. "

送信元ポート番号である「prtCLI」は、クライアント端末11が動的に設定した番号であり、宛先ポート番号である「prtSA」は、プロキシサーバであるサーバ群16が、リクエスト受信用の宛先ポート番号である。プロキシサーバであるサーバ群16の各サーバ18は、VLAN_A83から受信した上り方向のフレーム91について、図6、7を用いて説明したように送信元IPアドレスや送信元ポート番号に基づき選別受信を行う。   “PrtCLI” which is a transmission source port number is a number dynamically set by the client terminal 11, and “prtSA” which is a destination port number is a destination port number for receiving a request by the server group 16 which is a proxy server. It is. Each server 18 of the server group 16 that is a proxy server performs selective reception on the upstream frame 91 received from the VLAN_A 83 based on the transmission source IP address and the transmission source port number as described with reference to FIGS. .

各サーバ18は、選別受信した上り方向のフレーム91について、宛先IPアドレスと宛先ポート番号をインターネット86の接続要求先のアプリケーションサーバに対応した値である「ipAPL」と「prtAPL」にそれぞれ設定し、送信元IPアドレスは自身のIPアドレスである「ipSB」に設定し、送信元ポート番号は自身の予約番号である「prtSB」に設定して、ルータ13を介してインターネット86のアプリケーションサーバへ送出する。   Each server 18 sets the destination IP address and the destination port number to “ipAPL” and “prtAPL”, which are values corresponding to the connection request destination application server of the Internet 86, for the upstream frame 91 that has been selectively received, The transmission source IP address is set to “ipSB” which is its own IP address, the transmission source port number is set to “prtSB” which is its own reservation number, and is sent to the application server of the Internet 86 via the router 13. .

上述の処理により、サーバ群16がインターネット86のアプリケーションサーバへ送出する上り方向のフレームの例は、図9Bに示した上り方向のフレーム92のようになる。ここで、送信元MACアドレス「macS」は各サーバ18に固有のMACアドレスであり、宛先MACアドレス「macR0」は、ルータ13のポート(0)のMACアドレスである。   Through the above-described processing, an example of the upstream frame that the server group 16 sends to the application server on the Internet 86 is the upstream frame 92 shown in FIG. 9B. Here, the source MAC address “macS” is a MAC address unique to each server 18, and the destination MAC address “macR0” is the MAC address of the port (0) of the router 13.

サーバ群16が、アプリケーションサーバからルータ13を介して受信する下り方向のフレームの例は、図9Cに示した下り方向のフレーム93である。下り方向のフレーム93の宛先IPアドレスと宛先ポート番号は、上り方向のフレーム92の送出時に設定した「ipSB」と「prtSB」に設定され、送信元IPアドレスと送信元ポート番号は、接続先のアプリケーションサーバが持つ値である「ipAPL」と「prtAPL」に設定される。   An example of the downlink frame received by the server group 16 from the application server via the router 13 is the downlink frame 93 illustrated in FIG. 9C. The destination IP address and destination port number of the downstream frame 93 are set to “ipSB” and “prtSB” set when the upstream frame 92 is transmitted, and the source IP address and source port number are It is set to “ipAPL” and “prtAPL” which are values possessed by the application server.

各サーバ18は、受信した下り方向のフレーム93の宛先ポート番号である「prtSB」が、自身の予約値であるか否かを判定し、自身の予約値であると判定した場合は受信処理を行い、そうでないと判定した場合は他サーバ宛のフレームとして廃棄することで選別処理を行う。   Each server 18 determines whether or not “prtSB” that is the destination port number of the received downstream frame 93 is its own reserved value, and if it is determined that it is its own reserved value, the receiving process is performed. If it is determined that this is not the case, the selection process is performed by discarding the frame as a frame addressed to another server.

以上で説明したように、TCP(あるいはUDP)の送信元ポート番号を、各サーバ18間で重複しないように予約して使用することにより、上り方向と下り方向の通信を同一サーバで処理するように選別し、負荷分散処理を行うことが可能となる。   As described above, the TCP (or UDP) source port number is reserved and used so that it does not overlap between the servers 18, so that the upstream and downstream communications are processed by the same server. And load distribution processing can be performed.

実施例4として、ルータ13に、サーバ群16のIPアドレスに対応した静的な(Staticな)ARPエントリが設定されることにより、フラッディング動作を行わせて負荷分散する例を説明する。図10は、フラッディング転送による負荷分散システムの実施形態の一例であり、図1に示した例に対して、ルータ13とレイヤ2スイッチ15とがアドレス変換部14を介することなく接続されている。図1と同じ構成は同じ符号を付して説明を省略する。   As a fourth embodiment, an example will be described in which a static (Static) ARP entry corresponding to the IP address of the server group 16 is set in the router 13 to perform a flooding operation to distribute the load. FIG. 10 shows an example of an embodiment of a load distribution system using flooding transfer. The router 13 and the layer 2 switch 15 are connected to the example shown in FIG. The same components as those in FIG.

負荷分散システム102は、レイヤ2スイッチ15、サーバ群16から構成される。ルータ13は、図1、4、5に示したルータ13と同じルータであるが、図4、5を用いて説明したような動的ARPエントリ41の設定ではなく、静的ARPエントリが設定される。静的ARPエントリ101として設定される内容は、動的ARPエントリ41と同じく、ルータ13のポート(0)の接続先にはIPアドレスが「ipS」であるサーバ群16があり、MACアドレスはダミーのMACアドレスの「macD」であるという内容である。   The load distribution system 102 includes a layer 2 switch 15 and a server group 16. The router 13 is the same router as the router 13 illustrated in FIGS. 1, 4, and 5, but a static ARP entry is set instead of the dynamic ARP entry 41 described with reference to FIGS. The As in the case of the dynamic ARP entry 41, the contents set as the static ARP entry 101 include the server group 16 whose IP address is “ipS” at the connection destination of the port (0) of the router 13, and the MAC address is a dummy. The content of the MAC address is “macD”.

静的ARPエントリ101が設定されることにより、クライアント端末11からサーバ群16へ送信されるリクエストフレームは、宛先IPアドレスが「ipS」であるので、ルータ13でのルーティング処理時に、静的ARPエントリ101に従い、宛先IPアドレスの「ipS」に対して、宛先MACアドレスが「macD」と入力されて、ポート(0)からレイヤ2スイッチ15へ転送される。   By setting the static ARP entry 101, the request frame transmitted from the client terminal 11 to the server group 16 has the destination IP address “ipS”. In accordance with 101, the destination MAC address “macD” is input to the destination IP address “ipS”, and is transferred from the port (0) to the layer 2 switch 15.

レイヤ2スイッチ15は、リクエストフレームの宛先MACアドレスである「macD」が、自身の内部に学習保持したMACアドレステーブルに存在しないため、サーバ群16の各サーバ18が接続されている全ポートへフラッディング動作により転送する。   The layer 2 switch 15 floods all ports to which the servers 18 of the server group 16 are connected because “macD” that is the destination MAC address of the request frame does not exist in the MAC address table learned and held in itself. Transfer by action.

以上で説明したように、サーバ群16の前段に配置されるゲートウェイルータであるルータ13に、サーバ18のIPアドレスとダミーのMACアドレスが静的ARPエントリとして設定されることにより、複数のサーバ18が共通にリクエストフレームを受信することが可能となり、各サーバ18が、図6、7を用いて説明した選別処理を行うことで、複数のサーバ18で分散処理を行うことが可能となる。   As described above, the IP address of the server 18 and the dummy MAC address are set as the static ARP entries in the router 13 which is a gateway router arranged in the preceding stage of the server group 16, so that a plurality of servers 18 Can receive request frames in common, and each server 18 can perform distributed processing by a plurality of servers 18 by performing the selection processing described with reference to FIGS.

実施例5として、ルータ13からレイヤ2スイッチ15へ出力されるフレームの宛先MACアドレスを変換するアドレス変換部111を備える例を説明する。図11は、フラッディング転送による負荷分散システムの実施形態の一例であり、図1に示した例に対して、アドレス変換部14の代わりにアドレス変換部111を有する。図1と同じ構成は同じ符号を付して説明を省略する。   As a fifth embodiment, an example will be described in which an address conversion unit 111 that converts a destination MAC address of a frame output from the router 13 to the layer 2 switch 15 is provided. FIG. 11 is an example of an embodiment of a load distribution system using flooding transfer, and has an address conversion unit 111 instead of the address conversion unit 14 with respect to the example shown in FIG. The same components as those in FIG.

負荷分散システム112は、アドレス変換部111、レイヤ2スイッチ15、サーバ群16から構成される。アドレス変換部111は、ルータ13からレイヤ2スイッチ15へ送出する方向に配置されており、ルータ13からレイヤ2スイッチ15へ送出されるフレームの宛先MACアドレスを、ダミーのMACアドレスに変換したうえで、FCSの再計算を行う。   The load distribution system 112 includes an address conversion unit 111, a layer 2 switch 15, and a server group 16. The address conversion unit 111 is arranged in a direction to be sent from the router 13 to the layer 2 switch 15, and after converting the destination MAC address of the frame sent from the router 13 to the layer 2 switch 15 into a dummy MAC address. , FCS is recalculated.

図12に、アドレス変換部111での変換前と変換後のフレームの例を示す。変換前フレーム121は、アドレス変換部111による変換の前のフレームの例であり、宛先MACアドレスの「macX」はサーバ群16のサーバ18いずれかのMACアドレスを示し、送信元MACアドレスの「macR」はルータ13のポート(0)のMACアドレスを示し、宛先IPアドレスの「ipCLI」はクライアント端末11のIPアドレスを示し、送信元IPアドレスの「ipS」はサーバ群16の共通IPアドレスを示す。   FIG. 12 shows an example of frames before and after conversion by the address conversion unit 111. The pre-conversion frame 121 is an example of a frame before conversion by the address conversion unit 111, “macX” of the destination MAC address indicates the MAC address of one of the servers 18 in the server group 16, and “macR of the source MAC address "Indicates the MAC address of the port (0) of the router 13," ipCLI "of the destination IP address indicates the IP address of the client terminal 11, and" ipS "of the transmission source IP address indicates the common IP address of the server group 16 .

変換後フレーム122は、アドレス変換部111による変換の後のフレームの例であり、宛先MACアドレスの「macD」はダミーのMACアドレスを示し、変換前フレーム121の「macX」から変換されたMACアドレスである。また、トレーラであるFCSフィールドは変換後のフレームデータで計算したデータである「FDR」に変更される。なお、変換後フレーム122におけるダミーのMACアドレスの「macD」は、ブロードキャストアドレスであってもよい。   The post-conversion frame 122 is an example of a frame after conversion by the address conversion unit 111, “macD” of the destination MAC address indicates a dummy MAC address, and the MAC address converted from “macX” of the pre-conversion frame 121 It is. The FCS field as a trailer is changed to “FDR” which is data calculated from the converted frame data. Note that “macD” of the dummy MAC address in the post-conversion frame 122 may be a broadcast address.

アドレス変換部111がダミーのMACアドレスへの変換を実施することで、クライアント端末11からサーバ群16へ送信されるフレームであって、宛先IPアドレスが「ipS」であるフレームは、宛先MACアドレスが「macD」へ変換されて、レイヤ2スイッチ15へ入力される。レイヤ2スイッチ15は、宛先MACアドレスがダミーのアドレスである「macD」であるため、フラッディング動作によりレイヤ2スイッチ15の全ポートにフレームを転送する。   When the address conversion unit 111 performs conversion to a dummy MAC address, a frame transmitted from the client terminal 11 to the server group 16 and having a destination IP address “ipS” has a destination MAC address of It is converted into “macD” and input to the layer 2 switch 15. Since the destination MAC address is “macD”, which is a dummy address, the layer 2 switch 15 transfers the frame to all the ports of the layer 2 switch 15 by the flooding operation.

以上で説明したように、アドレス変換部111をルータ13からサーバ群16へ出力される方向に配置し、レイヤ2スイッチ15へ入力されるフレームの宛先MACアドレスを、ダミーのMACアドレスまたはブロードキャストアドレスへ変換することにより、複数のサーバ18が共通にフレームを受信することが可能となり、各サーバ18が、図6、7を用いて説明した選別処理を行うことで、複数のサーバ18で分散処理を行うことが可能となる。   As described above, the address conversion unit 111 is arranged in the direction to be output from the router 13 to the server group 16, and the destination MAC address of the frame input to the layer 2 switch 15 is changed to a dummy MAC address or broadcast address. By converting, it becomes possible for a plurality of servers 18 to receive a frame in common, and each server 18 performs the sorting process described with reference to FIGS. Can be done.

実施例6として、ルールやポリシー等と呼べる情報に基づき、受信したフレームのヘッダの情報を判定し、転送するポートを選択したり、ヘッダの情報を変更したりするスイッチを用いた例を説明する。その一つとして、SDN(Software Defined Network)技術であるOpenFlowを用いた例を説明する。図13は、OpenFlowコントローラ131とOpenFlowスイッチ132を備えた負荷分散システム134の例を示す。図1と同じ構成は同じ符号を付して説明を省略する。   As a sixth embodiment, an example using a switch that determines header information of a received frame based on information that can be called a rule, a policy, etc., selects a forwarding port, or changes header information will be described. . As one example, an example using OpenFlow, which is an SDN (Software Defined Network) technology, will be described. FIG. 13 shows an example of a load distribution system 134 including an OpenFlow controller 131 and an OpenFlow switch 132. The same components as those in FIG.

OpenFlowコントローラ131は、クライアント端末11からサーバ群16へ送信されるリクエストフレームをフラッディング配信するため、フローテーブル133の内容を作成して、OpenFlowスイッチ132へ設定する。OpenFlowスイッチ132は、設定されたフローテーブル133に従い、受信したフレームの処理を行う。   The OpenFlow controller 131 creates the contents of the flow table 133 and sets it in the OpenFlow switch 132 in order to flood the request frame transmitted from the client terminal 11 to the server group 16. The OpenFlow switch 132 processes the received frame according to the set flow table 133.

なお、Open Flowコントローラ131とOpen Flowスイッチ132は、それぞれOpen Networking Foundationにより策定された標準仕様に則り、Open Flowプロトコルにより通信を行うものであり、OpenFlowスイッチ132は、Open vSwtich等の、ソフトウェア技術による仮想スイッチであってもよい。   The Open Flow controller 131 and the Open Flow switch 132 communicate with each other according to the Open Flow protocol in accordance with the standard specifications established by the Open Networking Foundation. The OpenFlow switch 132 is based on software technology such as Open vSwich. It may be a virtual switch.

フローテーブル133の内容として、ヘッダフィールドの条件は、「Ingress port」が「ポート(X)」、「IP dst address」がサーバ群16の共通IPアドレスである「ipS」とし、この条件に合致する受信フレームへのアクションを、「Forward ALL」とすることで、ネットワーク12から受信する、サーバ群16宛てのフレームは、ポート(0)〜ポート(N−1)から転送される。   As the contents of the flow table 133, the header field conditions are “Port (X)” for “Ingress port” and “ipS”, which is the common IP address of the server group 16, and this condition is met. By setting the action to the received frame to “Forward ALL”, the frame addressed to the server group 16 received from the network 12 is transferred from the port (0) to the port (N−1).

すなわち、Open Flowスイッチ132は、設定されたフローテーブル133に従い、ポート(X)で受信した宛先IPアドレスが「ipS」であるフレームを、受信元であるポート(X)を除く、ポート(0)〜ポート(N−1)から転送する。これにより、サーバ(0)〜サーバ(N−1)が、クライアント端末11から送信されるリクエストを受信することが可能となり、各サーバ18が、図6、7を用いて説明した選別処理を行うことで、複数のサーバ18で分散処理を行うことが可能となる。   That is, the Open Flow switch 132, according to the set flow table 133, removes the frame with the destination IP address “ipS” received at the port (X) from the port (0) except the port (X) that is the reception source. ~ Transfer from port (N-1). Thereby, the server (0) to the server (N-1) can receive the request transmitted from the client terminal 11, and each server 18 performs the sorting process described with reference to FIGS. Thus, distributed processing can be performed by the plurality of servers 18.

なお、OpenFlowは一例であって、これに限定されるものではない。   Note that OpenFlow is an example, and the present invention is not limited to this.

実施例7として、ルールやポリシー等と呼べる情報に基づき、受信したフレームのヘッダの情報を判定し、転送するポートを選択したり、ヘッダの情報を変更したりするスイッチを用いた別の例を説明する。図14に示した負荷分散システム142は、図13に示した負荷分散システム134に対してレイヤ2スイッチ15を有し、フローテーブル141の内容が異なる。図1、13と同じ構成は同じ符号を付して説明を省略する。   As a seventh embodiment, another example using a switch that determines the header information of a received frame based on information that can be called a rule, a policy, etc., selects a port to be transferred, or changes the header information. explain. The load distribution system 142 illustrated in FIG. 14 includes the layer 2 switch 15 with respect to the load distribution system 134 illustrated in FIG. 13, and the contents of the flow table 141 are different. The same configurations as those in FIGS. 1 and 13 are denoted by the same reference numerals, and description thereof is omitted.

フローテーブル141の内容として、ヘッダフィールドの条件は、「Ingress port」が「ポート(X)」、「IP dst address」がサーバ群16の共通IPアドレスである「ipS」とし、この条件に合致する受信フレームへのアクションを、「Set Field」とし、「Type:dest_mac」、「Value:macD」とすることで、ネットワーク12から受信する、サーバ群16宛てのフレームの宛先MACアドレスは、ダミーのMACアドレスである「macD」に変換される。   As the contents of the flow table 141, the header field conditions are “Port (X)” for “Ingress port” and “ipS”, which is the common IP address of the server group 16, and this condition is met. By setting the action to the received frame to “Set Field”, “Type: dest_mac”, and “Value: macD”, the destination MAC address of the frame addressed to the server group 16 received from the network 12 is a dummy MAC. The address is converted to “macD”.

すなわち、Open Flowスイッチ132は、設定されたフローテーブル141に従い、ポート(X)で受信した宛先IPアドレスが「ipS」であるフレームの宛先MACアドレスを、ダミーのMACアドレスである「macD」に変換する。   That is, the Open Flow switch 132 converts the destination MAC address of the frame having the destination IP address “ipS” received at the port (X) into the dummy MAC address “macD” according to the set flow table 141. To do.

後段のレイヤ2スイッチ15は、OpenFlowスイッチ132から受信したフレームの宛先MACアドレスがダミーのアドレスである「macD」であるため、フラッディング動作により全ポートへフレームを転送する。   Since the destination MAC address of the frame received from the OpenFlow switch 132 is the dummy address “macD”, the layer 2 switch 15 at the subsequent stage transfers the frame to all ports by the flooding operation.

以上で説明したように、複数のサーバ18が共通にフレームを受信することが可能となり、各サーバ18が、図6、7を用いて説明した選別処理を行うことで、複数のサーバ18で分散処理を行うことが可能となる。なお、OpenFlowは一例であって、これに限定されるものではない。   As described above, a plurality of servers 18 can receive a frame in common, and each server 18 performs the sorting process described with reference to FIGS. Processing can be performed. Note that OpenFlow is an example, and the present invention is not limited to this.

実施例8として、サーバ群16のサーバ18それぞれの状態に応じて分散処理する例を説明する。図15に示した負荷分散システム154は、アドレス変換部14、レイヤ2スイッチ15、サーバ群16、制御部151、ネットワークストレージ152、バックエンドスイッチ153から構成される。図1と同じ構成は同じ符号を付して説明を省略する。   As an eighth embodiment, an example in which distributed processing is performed according to the state of each server 18 of the server group 16 will be described. The load distribution system 154 illustrated in FIG. 15 includes an address conversion unit 14, a layer 2 switch 15, a server group 16, a control unit 151, a network storage 152, and a back-end switch 153. The same components as those in FIG.

制御部151は、サーバ群16の各サーバ18の動作状態や負荷状態を監視し、故障検出時や負荷集中時には、他のサーバへ代行処理を指示する。ネットワークストレージ152は、サーバ群16の各サーバ18が処理中のクライアント端末11の情報やサービス状態等を保持するための共有記憶領域である。ネットワークストレージ152は、各サーバ18が共有可能な記憶領域であればよく、例えばサーバ群16が接続可能な共有メモリ等であってもよい。   The control unit 151 monitors the operating state and load state of each server 18 of the server group 16 and instructs other servers to perform proxy processing when a failure is detected or when the load is concentrated. The network storage 152 is a shared storage area for holding information, service status, and the like of the client terminal 11 being processed by each server 18 of the server group 16. The network storage 152 may be a storage area that can be shared by each server 18, and may be a shared memory to which the server group 16 can be connected, for example.

バックエンドスイッチ153は、サーバ群16と制御部151とネットワークストレージ152とを接続する汎用的なスイッチングハブである。フロントエンドスイッチであるレイヤ2スイッチ15と、バックエンドスイッチ153は、同一のハードウェアをVLAN技術により分離して構築してもよい。   The back end switch 153 is a general-purpose switching hub that connects the server group 16, the control unit 151, and the network storage 152. The layer 2 switch 15 and the back-end switch 153 that are front-end switches may be constructed by separating the same hardware using VLAN technology.

以下、サーバ群16が既に説明した負荷分散処理を実行中に、サーバ群16の中のサーバ18が故障し、他のサーバ18が代行処理を行う例を説明する。制御部151は、サーバ群16のサーバ18それぞれに対して、バックエンドスイッチ153を介して、死活監視を実施する。死活監視の内容は、例えば、ICMP(Internet Control Message Protocol)による応答監視、ポートスキャンやSNMP(Simple Network Management Protocol)による動作状態監視、CPU(プロセッサ)使用率やメモリ使用率によるリソース使用量監視等の一つまたは複数であってもよい。   Hereinafter, an example will be described in which the server 18 in the server group 16 breaks down and the other server 18 performs the substitution process while the server group 16 is already executing the load distribution process. The control unit 151 performs alive monitoring for each server 18 of the server group 16 via the back-end switch 153. The contents of alive monitoring include, for example, response monitoring by ICMP (Internet Control Message Protocol), operation status monitoring by port scan and SNMP (Simple Network Management Protocol), resource usage monitoring by CPU (processor) usage rate and memory usage rate, etc. One or more of the above may be used.

各サーバ18は、自身が実行中の処理のサービス情報を、バックエンドスイッチ153経由でネットワークストレージ152に随時に書き込み保存する。ここで、サービス情報とは、接続中のクライアント端末11のアドレスや位置情報、認証アカウント、サービス履歴情報等、クライアント端末11に対してサービスを提供するにあたり必要な情報である。   Each server 18 writes and saves service information of a process being executed by the server 18 in the network storage 152 as needed via the back-end switch 153. Here, the service information is information necessary for providing a service to the client terminal 11 such as the address and position information of the client terminal 11 being connected, an authentication account, and service history information.

例として複数のサーバ18の中のサーバ1番が運用中に故障した場合、制御部151がサーバ1番の故障を検出し、他のサーバ18の中から、CPU使用率やメモリ使用率等のリソースに、より余裕のあるサーバ18を代行サーバとして選定し、サーバ1番の代行処理を指示する。代行処理を指示されたサーバ18は、ネットワークストレージ152から、故障したサーバ1番が書き込んだサービス情報を読み出し、クライアント端末11へのサービス提供の代行を行う。   As an example, when server # 1 among a plurality of servers 18 fails during operation, the control unit 151 detects the server # 1 failure, and the CPU usage rate, memory usage rate, etc. A server 18 having more room for resources is selected as a proxy server, and a proxy process for server 1 is instructed. The server 18 instructed to perform the proxy process reads the service information written by the failed server No. 1 from the network storage 152 and performs the service provision to the client terminal 11.

クライアント端末11へのサービスの代行提供にあたり、代行サーバでのリクエストフレームの選別処理を変更する必要がある。代行サーバでのリクエストフレームの選別処理の一例を図16に示す。この例は、図7を用いて説明した例と同じく、リクエストフレームの送信元ポート番号を基に選別処理を行う場合の例である。   In providing the service to the client terminal 11, it is necessary to change the request frame selection process in the proxy server. An example of request frame selection processing in the proxy server is shown in FIG. In this example, as in the example described with reference to FIG. 7, the selection process is performed based on the transmission source port number of the request frame.

代行サーバは、レイヤ2スイッチ15のフラッディング転送によりリクエストフレームを受信し(ステップ161)、受信したリクエストフレームの送信元ポート番号についてサーバ18の数Nの剰余算を行い、その結果を変数Xに設定する(ステップ162)。代行サーバは、変数Xの値が自サーバ番号と一致すると判定した場合(ステップ163)、自サーバ宛リクエストとして受け付けて処理を行う(ステップ164)。   The surrogate server receives the request frame by flooding transfer of the layer 2 switch 15 (step 161), performs the remainder calculation of the number N of the servers 18 for the transmission source port number of the received request frame, and sets the result to the variable X (Step 162). When it is determined that the value of the variable X matches the own server number (step 163), the proxy server accepts the request as its own server and performs processing (step 164).

代行サーバは、ステップ163で変数Xの値が自サーバ番号と一致しないと判定した場合、変数Xの値が故障サーバの番号と一致するかの判定を行う(ステップ165)。代行サーバは、変数Xの値が故障サーバの番号と一致すると判定した場合、代行処理リクエストとして受け付けて処理を行い(ステップ166)、故障サーバの番号と一致しないと判定した場合は他サーバ宛のリクエストとして廃棄する(ステップ167)。なお、これらの代行サーバの処理は、代行サーバのメモリに格納されたプログラムに基づいて代行サーバのプロセッサが実行してもよい。   If it is determined in step 163 that the value of variable X does not match the own server number, the proxy server determines whether the value of variable X matches the number of the failed server (step 165). If it is determined that the value of the variable X matches the number of the failed server, the proxy server accepts it as a proxy processing request and performs processing (step 166). It is discarded as a request (step 167). Note that the processing of these proxy servers may be executed by the processor of the proxy server based on a program stored in the memory of the proxy server.

制御部151により代行サーバに決定されるサーバ18は1台のサーバ18ではなく、複数のサーバ18が代行サーバに決定されてもよい。複数のサーバ18で代行処理を行う場合の選別処理の一例を図17に示す。具体例として、サーバ0番〜サーバ3番の4台で分散処理を実行中に、サーバ2番が故障し、その代行処理をサーバ0番、サーバ1番、サーバ3番で均一に分散する場合の選別処理を説明する。   The server 18 determined as a proxy server by the control unit 151 is not a single server 18, and a plurality of servers 18 may be determined as proxy servers. FIG. 17 shows an example of the selection process when the proxy process is performed by the plurality of servers 18. As a specific example, when distributed processing is being executed on four servers from server 0 to server 3, server 2 fails, and the proxy processing is uniformly distributed between server 0, server 1, and server 3. The sorting process will be described.

サーバ0番、サーバ1番、サーバ3番のそれぞれは、同じフローの処理を行うため、サーバ1番を代表として説明する。サーバ1番は、レイヤ2スイッチ15のフラッディング転送によりリクエストフレームを受信し、受信したリクエストフレームの送信元ポート番号を変数Pに設定し、サーバ18の総数(=4)を変数Nに設定し、自サーバの番号(=1)を変数nに設定し、故障サーバの番号(=2)を変数fに設定する(ステップ171)。   Since each of server 0, server 1, and server 3 performs the same flow process, server 1 will be described as a representative. Server 1 receives the request frame by flooding transfer of the layer 2 switch 15, sets the source port number of the received request frame to the variable P, sets the total number of servers 18 (= 4) to the variable N, The own server number (= 1) is set in the variable n, and the failed server number (= 2) is set in the variable f (step 171).

サーバ1番は、送信元ポート番号の変数Pについて、サーバ18の総数である変数N(=4)の剰余算を行い、その結果を変数Xに設定し(ステップ172)、変数Xの値が自サーバ番号の変数nの値(=1)と一致すると判定した場合(ステップ173)には自サーバ宛のリクエストとして受け付けて処理を行う(ステップ174)。   The server No. 1 performs the remainder calculation of the variable N (= 4) which is the total number of the servers 18 for the variable P of the transmission source port number, sets the result to the variable X (step 172), and the value of the variable X is If it is determined that the value matches the value of the variable n of the own server number (= 1) (step 173), the request is received as a request addressed to the own server (step 174).

サーバ1番は、ステップ173で変数Xの値が自サーバ番号の変数nの値と一致しないと判定した場合、故障したサーバ2番宛てのリクエストフレームであるか否かの判定のため、変数Xの値と故障サーバ番号である変数fの値(=2)との一致判定を行い(ステップ175)、一致しないと判定した場合は、他サーバ宛のリクエストとして廃棄する(ステップ176)。   If the server No. 1 determines in step 173 that the value of the variable X does not match the value of the variable n of its own server number, the server No. 1 determines whether the request frame is addressed to the failed server No. 2 or not. And the value of the variable f that is the failed server number (= 2) are determined (step 175). If it is determined that they do not match, the request is discarded as a request addressed to another server (step 176).

サーバ1番は、ステップ175で変数Xの値が故障サーバ番号である変数fの値と一致すると判定した場合、さらに自サーバで代行処理するか否かの判定を行うため、以下で説明する変数Yと変数Zの値を計算する。   If the server No. 1 determines in step 175 that the value of the variable X matches the value of the variable f that is the failed server number, the server No. 1 further determines whether or not to perform proxy processing on its own server. Calculate the value of Y and variable Z.

サーバ1番は変数Yの値を計算する(ステップ177)。ステップ177の計算式中の(P−f)/Nの項は、ステップ175の判定においてPとNの剰余算がfと一致が成立しているため、必ず整数となる。この(P−f)/Nについて、サーバ18の総数である変数Nの値(=4)から故障サーバの数である1を減じたN−1(=3)の剰余算を行う。この計算の結果、変数Yは0、1、2の3値のいずれかの値となる。   Server # 1 calculates the value of variable Y (step 177). The term (P−f) / N in the calculation formula of step 177 is always an integer because the remainder of P and N coincides with f in the determination of step 175. For this (P−f) / N, a remainder of N−1 (= 3) is obtained by subtracting 1 which is the number of failed servers from the value of variable N (= 4) which is the total number of servers 18. As a result of this calculation, the variable Y becomes one of three values of 0, 1, and 2.

サーバ1番は、自サーバ番号の変数nの値が故障サーバ番号の変数fの値より小さいか判定する(ステップ178)。サーバ1番の場合は変数nの値(=1)が故障サーバ番号の変数fの値(=2)より小さいため、ステップ179へ進み、変数nの値である1を変数Zに設定する。なお、ステップ178で、変数nの値が変数fの値より小さくないと判定した場合、変数nの値から1を減じた値を変数Zに設定する(ステップ180)。   Server 1 determines whether the value of variable n of its own server number is smaller than the value of variable f of the failed server number (step 178). In the case of the server No. 1, since the value of the variable n (= 1) is smaller than the value of the variable f of the failed server number (= 2), the process proceeds to Step 179, and the value 1 of the variable n is set to the variable Z. If it is determined in step 178 that the value of variable n is not smaller than the value of variable f, a value obtained by subtracting 1 from the value of variable n is set in variable Z (step 180).

サーバ1番は、変数Yの値と変数Zの値が一致するかを判定し(ステップ181)、一致すると判定した場合は、代行処理リクエストとして受け付けて処理を行い(ステップ182)、一致しないと判定した場合は、他サーバが代行処理を行うリクエストとして廃棄する(ステップ183)ことで、代行処理を3つのサーバ18へ分散することが可能となる。   The server # 1 determines whether the value of the variable Y matches the value of the variable Z (step 181). If it is determined that they match, the server 1 accepts the request as a proxy process request and performs processing (step 182). If it is determined, the other server is discarded as a request to perform the proxy process (step 183), so that the proxy process can be distributed to the three servers 18.

以上では、サーバ1番を主に説明したが、サーバ0番とサーバ3番も同じフローであり、サーバ0番では変数nの値が0、変数Zの値が0となり、サーバ3番では変数nの値が3、変数Zの値が2となる。なお、図15には、ルータ13、アドレス変換部14、レイヤ2スイッチ15の例を示したが、フラッディング転送のための構成は、アドレス変換部111やOpenFlowスイッチ132であってもよい。   In the above, server 1 was mainly described, but server 0 and server 3 have the same flow. In server 0, the value of variable n is 0 and the value of variable Z is 0. The value of n is 3, and the value of variable Z is 2. FIG. 15 shows an example of the router 13, the address translation unit 14, and the layer 2 switch 15. However, the configuration for the flooding transfer may be the address translation unit 111 or the OpenFlow switch 132.

以上で説明したように、複数のサーバ18が共通にフレームを受信することが可能となり、各サーバ18が選別処理を行うことで、複数のサーバ18で分散処理を行うことが可能になるとともに、故障サーバの代わりに代行処理を行うことも可能になる。また、分散処理で分散する負荷の比率も制御することが可能となる。   As described above, a plurality of servers 18 can receive a frame in common, and each server 18 performs a sorting process, whereby a plurality of servers 18 can perform a distributed process. It is also possible to perform proxy processing instead of the failed server. It is also possible to control the ratio of the load distributed by the distributed processing.

11 クライアント端末
12 ネットワーク
13 ルータ
14 アドレス変換部
15 レイヤ2スイッチ
16 サーバ群
17 負荷分散システム
DESCRIPTION OF SYMBOLS 11 Client terminal 12 Network 13 Router 14 Address conversion part 15 Layer 2 switch 16 Server group 17 Load distribution system

Claims (15)

複数のサーバとネットワークスイッチを有する負荷分散システムであって、
前記ネットワークスイッチは、
ネットワークからフレームを受信し、前記ネットワークから受信されたフレームを前記複数のサーバへフラッディングにより転送し、
前記複数のサーバのそれぞれは、
前記ネットワークスイッチからフレームを受信し、前記ネットワークスイッチから受信されたフレームに含まれるフレームの送信元の情報に基づき受け付けて、処理すること
を特徴とする負荷分散システム。
A load balancing system having a plurality of servers and a network switch,
The network switch is
Receiving a frame from the network, forwarding the frame received from the network to the plurality of servers by flooding,
Each of the plurality of servers is
A load distribution system, comprising: receiving a frame from the network switch; and receiving and processing the frame based on information on a transmission source of a frame included in the frame received from the network switch.
請求項1に記載の負荷分散システムであって、
前記負荷分散システムは、
アドレス変換部をさらに有し、
前記アドレス変換部は、
前記ネットワークスイッチからフレームを受信し、受信されたフレームに含まれる送信元IPアドレスを維持し、送信元MACアドレスを変換したフレームを前記ネットワークへ送信すること
を特徴とする負荷分散システム。
The load distribution system according to claim 1,
The load balancing system includes:
An address conversion unit;
The address conversion unit
A load distribution system that receives a frame from the network switch, maintains a transmission source IP address included in the received frame, and transmits a frame obtained by converting a transmission source MAC address to the network.
請求項2に記載の負荷分散システムであって、
前記アドレス変換部は、
送信元MACアドレスを前記複数のサーバのMACアドレスとは異なるMACアドレスへ変換すること
を特徴とする負荷分散システム。
The load distribution system according to claim 2,
The address conversion unit
A load distribution system that converts a source MAC address to a MAC address different from the MAC addresses of the plurality of servers.
請求項3に記載の負荷分散システムであって、
前記ネットワークスイッチは、
前記ネットワークから受信されたフレームに含まれる宛先MACアドレスが前記複数のサーバのMACアドレスではないと、前記複数のサーバへフラッディングにより転送すること
を特徴とする負荷分散システム。
The load distribution system according to claim 3,
The network switch is
If the destination MAC address included in the frame received from the network is not the MAC address of the plurality of servers, the load distribution system transfers to the plurality of servers by flooding.
請求項1に記載の負荷分散システムであって、
前記負荷分散システムは、
アドレス変換部をさらに有し、
前記アドレス変換部は、
前記ネットワークからフレームを受信し、受信されたフレームに含まれる宛先IPアドレスを維持し、宛先MACアドレスを変換したフレームを前記ネットワークスイッチへ送信し、
前記ネットワークスイッチは、
前記アドレス変換部からからフレームを受信し、前記アドレス変換部から受信されたフレームを前記複数のサーバへフラッディングにより転送すること
を特徴とする負荷分散システム。
The load distribution system according to claim 1,
The load balancing system includes:
An address conversion unit;
The address conversion unit
Receiving a frame from the network, maintaining a destination IP address included in the received frame, transmitting a frame obtained by converting a destination MAC address to the network switch;
The network switch is
A load distribution system, comprising: receiving a frame from the address translation unit; and forwarding the frame received from the address translation unit to the plurality of servers by flooding.
請求項5に記載の負荷分散システムであって、
前記アドレス変換部は、
宛先MACアドレスを前記複数のサーバのMACアドレスとは異なるMACアドレスへ変換すること
を特徴とする負荷分散システム。
The load distribution system according to claim 5,
The address conversion unit
A load distribution system that converts a destination MAC address into a MAC address different from the MAC addresses of the plurality of servers.
請求項6に記載の負荷分散システムであって、
前記ネットワークスイッチは、
前記アドレス変換部から受信されたフレームに含まれる宛先MACアドレスが前記複数のサーバのMACアドレスではないと、前記複数のサーバへフラッディングにより転送すること
を特徴とする負荷分散システム。
The load distribution system according to claim 6,
The network switch is
If the destination MAC address included in the frame received from the address conversion unit is not the MAC address of the plurality of servers, the load distribution system transfers to the plurality of servers by flooding.
請求項1に記載の負荷分散システムであって、
前記負荷分散システムは、
ルータをさらに有し、
前記ルータは、
前記ネットワークからフレームを受信し、受信されたフレームに含まれる宛先IPアドレスを維持し、宛先MACアドレスを前記複数のサーバのMACアドレスとは異なるMACアドレスへ変換したフレームを前記ネットワークスイッチへ送信し、
前記ネットワークスイッチは、
前記ネットワークから受信されたフレームに含まれる宛先MACアドレスが前記複数のサーバのMACアドレスではないと、前記複数のサーバへフラッディングにより転送すること
を特徴とする負荷分散システム。
The load distribution system according to claim 1,
The load balancing system includes:
A router,
The router
Receiving a frame from the network, maintaining a destination IP address included in the received frame, and transmitting a frame obtained by converting the destination MAC address to a MAC address different from the MAC addresses of the plurality of servers to the network switch;
The network switch is
If the destination MAC address included in the frame received from the network is not the MAC address of the plurality of servers, the load distribution system transfers to the plurality of servers by flooding.
請求項1に記載の負荷分散システムであって、
前記ネットワークスイッチは、
前記ネットワークから受信されたフレームのヘッダに含まれる情報を条件とした転送の動作が設定されており、前記ネットワークから受信されたフレームのヘッダに含まれる宛先IPアドレスに基づいて、前記複数のサーバへフラッディングにより転送すること
を特徴とする負荷分散システム。
The load distribution system according to claim 1,
The network switch is
A transfer operation is set on the condition that information included in a header of a frame received from the network is set, and based on a destination IP address included in a header of the frame received from the network, to the plurality of servers. A load distribution system that transfers data by flooding.
請求項1に記載の負荷分散システムであって、
前記負荷分散システムは、
動作が設定されたスイッチをさらに有し、
前記動作が設定されたスイッチは、
前記ネットワークから受信されたフレームのヘッダに含まれる情報を条件としたフレームに対する動作が設定されており、前記ネットワークから受信されたフレームのヘッダに含まれる宛先IPアドレスに基づいて、宛先MACアドレスを変更したフレームを前記ネットワークスイッチへ送信し、
前記ネットワークスイッチは、
前記動作が設定されたスイッチから受信されたフレームに含まれる宛先MACアドレスが前記複数のサーバのMACアドレスではないと、前記複数のサーバへフラッディングにより転送すること
を特徴とする負荷分散システム。
The load distribution system according to claim 1,
The load balancing system includes:
A switch that is set to operate;
The switch for which the operation is set is
The operation for the frame is set on condition that the information included in the header of the frame received from the network is set, and the destination MAC address is changed based on the destination IP address included in the header of the frame received from the network. Send the frame to the network switch,
The network switch is
If the destination MAC address included in the frame received from the switch for which the operation is set is not the MAC address of the plurality of servers, the load distribution system transfers the plurality of servers by flooding.
請求項1から10のいずれか一項に記載の負荷分散システムであって、
前記複数のサーバのそれぞれは、
前記ネットワークスイッチから受信されたフレームに含まれる送信元IPアドレスを被除数とした剰余算の結果に基づき受け付けて、処理すること
を特徴とする負荷分散システム。
The load distribution system according to any one of claims 1 to 10,
Each of the plurality of servers is
A load distribution system for receiving and processing based on a result of a remainder calculation with a source IP address included in a frame received from the network switch as a dividend.
請求項1から10のいずれか一項に記載の負荷分散システムであって、
前記複数のサーバのそれぞれは、独自のサーバ番号を有し、
前記複数のサーバの中の第1のサーバは、
前記ネットワークスイッチから受信されたフレームに含まれる送信元IPアドレスを被除数とした剰余算の結果が、前記第1のサーバのサーバ番号であると判定すると、前記ネットワークスイッチから受信されたフレームを受け付けて処理し、それ以外の結果であると判定すると、前記ネットワークスイッチから受信されたフレームを廃棄すること
を特徴とする負荷分散システム。
The load distribution system according to any one of claims 1 to 10,
Each of the plurality of servers has a unique server number;
A first server of the plurality of servers is
If it is determined that the result of the remainder operation with the source IP address included in the frame received from the network switch as the dividend is the server number of the first server, the frame received from the network switch is accepted. A load balancing system that processes and discards a frame received from the network switch when it is determined that the result is other than that.
請求項1から10のいずれか一項に記載の負荷分散システムであって、
前記複数のサーバのそれぞれは、
前記ネットワークスイッチから受信されたフレームに含まれる送信元ポート番号を被除数とした剰余算の結果に基づき受け付けて、処理すること
を特徴とする負荷分散システム。
The load distribution system according to any one of claims 1 to 10,
Each of the plurality of servers is
A load distribution system for receiving and processing based on a result of a remainder calculation with a source port number included in a frame received from the network switch as a dividend.
請求項1から10のいずれか一項に記載の負荷分散システムであって、
前記複数のサーバのそれぞれは、独自のサーバ番号を有し、
前記複数のサーバの中の第1のサーバは、動作しておらず、
前記複数のサーバの中の第2のサーバは、
前記ネットワークスイッチから受信されたフレームに含まれる送信元ポート番号を被除数とした剰余算の結果が、前記第2のサーバのサーバ番号あるいは前記第1のサーバのサーバ番号であると判定すると、前記ネットワークスイッチから受信されたフレームを受け付けて処理し、それ以外の結果であると判定すると、前記ネットワークスイッチから受信されたフレームを廃棄すること
を特徴とする負荷分散システム。
The load distribution system according to any one of claims 1 to 10,
Each of the plurality of servers has a unique server number;
A first server of the plurality of servers is not operating;
A second server of the plurality of servers is
When it is determined that the result of the remainder calculation with the source port number included in the frame received from the network switch as the dividend is the server number of the second server or the server number of the first server, the network A load distribution system that receives and processes a frame received from a switch and discards the frame received from the network switch when it is determined that the result is other than that.
複数のサーバとネットワークスイッチと複数のアドレス変換部を有する負荷分散システムであって、
前記複数のアドレス変換部のそれぞれは、
前記ネットワークスイッチからフレームを受信し、受信されたフレームに含まれる送信元IPアドレスを維持し、送信元MACアドレスを前記複数のサーバのMACアドレスとは異なるMACアドレスへ変換したフレームを前記ネットワークへ送信し、
前記ネットワークスイッチは、
ネットワークからフレームを受信し、前記ネットワークから受信されたフレームに含まれる宛先MACアドレスが前記複数のサーバのMACアドレスではないと、前記複数のサーバへフラッディングにより転送し、
前記複数のサーバのそれぞれは、
前記ネットワークスイッチからフレームを受信し、前記ネットワークスイッチから受信されたフレームに含まれる送信元IPアドレスを被除数とした剰余算の結果、あるいは宛先ポート番号に基づき受け付けて、処理すること
を特徴とする負荷分散システム。
A load balancing system having a plurality of servers, a network switch, and a plurality of address translation units,
Each of the plurality of address conversion units is
A frame is received from the network switch, a source IP address included in the received frame is maintained, and a frame obtained by converting the source MAC address to a MAC address different from the MAC addresses of the plurality of servers is transmitted to the network. And
The network switch is
Receiving a frame from the network, and if the destination MAC address included in the frame received from the network is not the MAC address of the plurality of servers, forwarding to the plurality of servers by flooding,
Each of the plurality of servers is
A load that receives a frame from the network switch, and receives and processes the frame based on a result of a remainder operation with a source IP address included in the frame received from the network switch as a dividend or a destination port number Distributed system.
JP2016063538A 2016-03-28 2016-03-28 Load balancing system Pending JP2017182138A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016063538A JP2017182138A (en) 2016-03-28 2016-03-28 Load balancing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016063538A JP2017182138A (en) 2016-03-28 2016-03-28 Load balancing system

Publications (1)

Publication Number Publication Date
JP2017182138A true JP2017182138A (en) 2017-10-05

Family

ID=60006133

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016063538A Pending JP2017182138A (en) 2016-03-28 2016-03-28 Load balancing system

Country Status (1)

Country Link
JP (1) JP2017182138A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018137643A (en) * 2017-02-22 2018-08-30 日本電信電話株式会社 Management device and management method
CN113141633A (en) * 2021-03-16 2021-07-20 深圳震有科技股份有限公司 5G communication data packet forwarding method and terminal

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018137643A (en) * 2017-02-22 2018-08-30 日本電信電話株式会社 Management device and management method
CN113141633A (en) * 2021-03-16 2021-07-20 深圳震有科技股份有限公司 5G communication data packet forwarding method and terminal

Similar Documents

Publication Publication Date Title
US9491234B2 (en) Deterministic session load-balancing and redundancy of access servers in a computer network
US10079897B2 (en) Control of a chain of services
JP5382451B2 (en) Front-end system, front-end processing method
US10938724B2 (en) Flow rate based network load balancing
WO2017209932A1 (en) Link status monitoring based on packet loss detection
WO2014208538A1 (en) Communication system, apparatus, method and program
Wu et al. SOFIA: toward service-oriented information centric networking
US9807016B1 (en) Reducing service disruption using multiple virtual IP addresses for a service load balancer
WO2017209923A1 (en) Detecting source network address translation in a communication system
CN103155500A (en) Methods, systems, and computer readable media for stateless load balancing of network traffic flows
US11863454B2 (en) Systems and methods for scalable validation of multiple paths in a network using segment routing
US9509600B1 (en) Methods for providing per-connection routing in a virtual environment and devices thereof
US10805202B1 (en) Control plane compression of next hop information
CN112929264A (en) Service flow transmission method, system and network equipment
EP4052442A1 (en) In-band protocol-based in-network computation offload framework
JP2017182138A (en) Load balancing system
Rayes et al. The internet in IoT
Hussain et al. A dynamic multipath scheduling protocol (DMSP) for full performance isolation of links in software defined networking (SDN)
Tripathi et al. Ensuring reliability in cloud computing and comparison on IPv6 encouraged with protocols
KR101538667B1 (en) Network system and method for controlling network
Motohashi et al. Enabling P4-based Multipath Communication in Wireless Networks
TWI757887B (en) Method, network controller, and computer program product for facilitating multipath transmission of a data stream from a sender to a receiver
WO2023169364A1 (en) Routing generation method and apparatus, and data message forwarding method and apparatus
US20240187346A1 (en) Systems and methods for scalable validation of multiple paths in a network using segment routing
US10944582B2 (en) Method and apparatus for enhancing multicast group membership protocol(s)