JP2011259007A - Packet transfer method and packet transfer device with load balance function - Google Patents

Packet transfer method and packet transfer device with load balance function Download PDF

Info

Publication number
JP2011259007A
JP2011259007A JP2010129016A JP2010129016A JP2011259007A JP 2011259007 A JP2011259007 A JP 2011259007A JP 2010129016 A JP2010129016 A JP 2010129016A JP 2010129016 A JP2010129016 A JP 2010129016A JP 2011259007 A JP2011259007 A JP 2011259007A
Authority
JP
Japan
Prior art keywords
transfer
value
packet
destination
transfer device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010129016A
Other languages
Japanese (ja)
Other versions
JP5204807B2 (en
Inventor
Keiichiro Yamate
圭一郎 山手
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.)
Alaxala Networks Corp
Original Assignee
Alaxala Networks 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 Alaxala Networks Corp filed Critical Alaxala Networks Corp
Priority to JP2010129016A priority Critical patent/JP5204807B2/en
Publication of JP2011259007A publication Critical patent/JP2011259007A/en
Application granted granted Critical
Publication of JP5204807B2 publication Critical patent/JP5204807B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To eliminate communication bias by simple processing while keeping an advantage that packets of an identical communication flow have an identical transfer destination in selection of a multi-pass transfer destination.SOLUTION: A transfer device comprises: a routing table 723; hash functions 727a to 727d; a hash function selection unit 726; and a transfer destination selection unit 730. The routing table 723 stores the transfer destination in association with a packet address. The hash functions 727a to 727d define a first field value used for identifying a packet flow as an input value, and output different output values against the identical input values. The hash function selection unit 726 selects one of the hash functions according to a second field value representing remaining number of times of transferring received packet. The transfer destination selection unit 730 selects the transfer destination based on the output value of the selected hash function which defines the first field value of the received packet as the input value, when there are two or more transfer destinations to which the received packet corresponds.

Description

本発明は、ロードバランス機能を備えたパケット転送装置、特にパケットに対して適切な転送先が2つ以上ある場合に、それらの転送先の中から1つの転送先を選択することにより、ロードバランス機能を実現する転送装置に関するものである。   The present invention relates to a packet transfer apparatus having a load balance function, and particularly when there are two or more appropriate transfer destinations for a packet, by selecting one transfer destination from these transfer destinations, load balancing is achieved. The present invention relates to a transfer device that realizes a function.

IPネットワークでは、ネットワーク上の転送装置にルーティングテーブルを用意している。ルーティングテーブルは、ネットワーク上にある宛先アドレスと、そのルーティングテーブルを保持している転送装置からみて宛先アドレスがある装置へのネットワーク上の最短経路の方向を示す転送先と、の対応関係を示した表である。各転送装置は、パケットを受信すると、そのパケットの宛先アドレスをもとにルーティングテーブルを検索する。そして、各転送装置は、検索によって得られた転送先へパケットを転送する。この処理が各転送装置においておこなわれることにより、パケットは、最終的に宛先アドレスの装置へ到着する。   In an IP network, a routing table is prepared for a transfer device on the network. The routing table shows the correspondence between the destination address on the network and the forwarding destination that indicates the direction of the shortest path on the network to the device with the destination address when viewed from the forwarding device that holds the routing table. It is a table. When each transfer device receives a packet, it searches the routing table based on the destination address of the packet. Each transfer device transfers the packet to the transfer destination obtained by the search. By performing this processing in each transfer device, the packet finally arrives at the device at the destination address.

IPネットワークは、転送装置および回線が冗長に用意され適切に配置されることによって、ネットワーク上の転送装置や回線に障害が起こっても通信を維持することができように、構成されている。転送装置や回線に障害が発生した場合には、各転送装置がその障害を検出し、障害を迂回した経路の方向を示す転送先にルーティングテーブルを書き換えることによって、通信が維持される。   The IP network is configured so that communication can be maintained even if a failure occurs in a transfer device or a line on the network by providing a transfer device and a line redundantly and appropriately arranged. When a failure occurs in the transfer device or the line, each transfer device detects the failure, and the communication is maintained by rewriting the routing table to the transfer destination indicating the direction of the route that bypasses the failure.

さらに、冗長な転送装置や回線を、通常の通信経路と同等の性能および機能で通信できるように配置することにより、障害がない間には、通常の転送装置および回線と、冗長な転送装置および回線と、の両方を使って通信をすることができる。その結果、障害がない場合にも、冗長な転送装置や回線をパケット転送に活用することができる。   Furthermore, by arranging redundant transfer devices and lines so that they can communicate with the same performance and function as normal communication paths, normal transfer devices and lines, redundant transfer devices and It is possible to communicate using both lines. As a result, even when there is no failure, a redundant transfer device or line can be used for packet transfer.

通常の転送装置および回線と、冗長な転送装置および回線と、の両方を使って通信するネットワークにおいては、ネットワーク上のどこかの転送装置において、宛先アドレスに対する転送先として、通常の転送装置および回線を使用する経路(以下「通常経路」という)の転送先と、冗長な転送装置および回線を使用する経路(以下「冗長経路」という)の転送先と、の2つ以上の転送先がある。その転送装置おいて、通常経路の転送先と冗長経路の転送先とにパケットを分配することにより、ネットワークにおいて転送負荷が分散される。なお、「ルーティングテーブルの宛先アドレスに対応する転送先が2つ以上あること」、および「転送先が2つ以上ある宛先アドレスのエントリと、2つ以上の転送先と、からなる集合のこと」を「マルチパス」と呼ぶ。また、マルチパスである宛先アドレスを有するパケットを複数の転送先へ分配し、転送負荷を分散させることを、「ロードバランス」と呼ぶ。   In a network that uses both a normal transfer device and line and a redundant transfer device and line for communication, the normal transfer device and line as a transfer destination for a destination address in any transfer device on the network There are two or more transfer destinations: a transfer destination using a route (hereinafter referred to as “normal route”) and a transfer destination using a redundant transfer device and a line (hereinafter referred to as “redundant route”). In the transfer device, by distributing the packet to the transfer destination of the normal route and the transfer destination of the redundant route, the transfer load is distributed in the network. Note that “there are two or more transfer destinations corresponding to the destination address in the routing table” and “a set of two or more transfer destination entries and two or more transfer destinations” Is called “multipath”. Distributing a packet having a multipath destination address to a plurality of transfer destinations to distribute the transfer load is called “load balance”.

マルチパスに従ってロードバランスを実現する方法として、通信フローの識別に使えるフィールドの値をパケットから抽出し、その値からハッシュ関数を用いて値を求め、この値をもとにマルチパスから転送先を選択する方法が、非特許文献1に記載されている。なお、「ハッシュ関数」とは、入力値に対して、有限個の出力値の中の一つを一義的に割り当てて出力する関数であり、さまざまな入力値に対してできるかぎり有限個の出力値が均等に割り当てられるように出力値を決定する関数である。   As a method of realizing load balancing according to multipath, field values that can be used to identify communication flows are extracted from packets, values are obtained from the values using a hash function, and transfer destinations are determined from multipaths based on these values. A method of selecting is described in Non-Patent Document 1. A “hash function” is a function that uniquely assigns and outputs one of a finite number of output values to an input value, and outputs as many finite outputs as possible to various input values. This function determines the output value so that the values are evenly allocated.

非特許文献1のロードバランスの方法によれば、ハッシュ関数の無作為性により、マルチパスの各転送先へパケットが公平に分散して転送される。また、パケットのフィールドの値に基づいて転送先が決定されるため、同じ通信フローのパケットは同じ経路を通る。そして、非特許文献1のロードバランスの方法によれば、通信フローと転送先の対応を記憶する必要がないため、装置の設計が単純になる。   According to the load balancing method of Non-Patent Document 1, packets are distributed and transferred to each multipath transfer destination fairly due to the randomness of the hash function. Further, since the transfer destination is determined based on the value of the packet field, packets of the same communication flow take the same route. According to the load balancing method of Non-Patent Document 1, since it is not necessary to store the correspondence between the communication flow and the transfer destination, the design of the apparatus is simplified.

しかし、非特許文献1の方法では、通信経路上にある転送装置の2台以上がマルチパスであるネットワークにおいて、すべての転送装置が同じハッシュ関数を有する場合に、マルチパスの各転送先へ分配されるパケットが均等にならない。   However, in the method of Non-Patent Document 1, when all transfer devices have the same hash function in a network in which two or more transfer devices on the communication path are multipath, distribution to each transfer destination of the multipath is performed. Packets are not evenly distributed.

この通信の偏りを解決する方法として、特許文献1の技術がある。特許文献1の技術においては、転送装置の転送先決定方法を、ネットワーク管理者が転送装置ごとに個別に設定できる。その結果、各転送装置における転送先決定方法がいずれもハッシュ関数を使用するものであっても、ネットワークにおいて、マルチパスによるロードバランス機能が動く。   As a method for solving this communication bias, there is a technique of Patent Document 1. In the technique of Patent Literature 1, a transfer destination determination method for a transfer device can be individually set for each transfer device by a network administrator. As a result, even if the transfer destination determination method in each transfer device uses a hash function, the load balancing function by multipath operates in the network.

しかし、この技術においては、ネットワーク管理者の負担が大きい。すなわち、ネットワーク管理者は、通信が発生するはずの全端末間の通信について、通信経路上にマルチパスとなる転送装置が2台以上あるかどうか調査し、該当する2台の組み合わせすべてについて、可能な限り異なるような転送先選択方法を各転送装置について決定しなければならない。   However, this technique places a heavy burden on the network administrator. In other words, the network administrator investigates whether there are two or more transfer devices that are multipaths on the communication path for communication between all terminals that should be able to generate communication. A transfer destination selection method that is as different as possible must be determined for each transfer device.

また、特許文献1の技術では、隣接した転送装置の間で通信し、自動的に異なる転送先決定方法を選択するように調停する方法が提案されている。この技術によれば、ネットワーク管理者が転送装置に転送先決定方法を設定しなくとも、自動的に転送装置間で転送先選択方法が調停され、異なる転送先選択方法を採用するプロトコルが用いられる。その結果、マルチパスによるロードバランスが実現される。   Further, in the technique of Patent Document 1, a method is proposed in which communication is performed between adjacent transfer apparatuses and arbitration is performed so as to automatically select a different transfer destination determination method. According to this technique, even if the network administrator does not set a transfer destination determination method in the transfer device, the transfer destination selection method is automatically arbitrated between the transfer devices, and a protocol that uses a different transfer destination selection method is used. . As a result, multi-path load balancing is realized.

しかし、上記の技術においては、転送先決定方法を選択するためのプロトコルを用意する必要があり、転送装置の構成および処理が複雑になる。   However, in the above technique, it is necessary to prepare a protocol for selecting a transfer destination determination method, which complicates the configuration and processing of the transfer apparatus.

特開2008−048010号公報JP 2008-048010 A

“Multipath Issues in Unicast and Multicast Next−Hop Selection”, November 2000, RFC 2997“Multipath Issues in Unicast and Multicast Next-Hop Selection”, November 2000, RFC 2997.

本発明が解決しようとする課題は、マルチパスの転送先の選択において、同じ通信フローのパケットは転送先が同じになる利点を残しつつ、簡易な処理で通信の偏りをなくすことである。   The problem to be solved by the present invention is to eliminate the bias of communication by simple processing while retaining the advantage that packets of the same communication flow have the same transfer destination in selecting a multipath transfer destination.

[適用例1]
ネットワークを介して受信したパケットを、前記ネットワークに接続された他の装置に、前記ネットワークを介して転送する転送装置であって、
パケットの宛先と対応づけて転送先としての前記他の装置を1以上格納するルーティングテーブルと、
パケットのフローの識別に用いることができるパケットの第1のフィールドの値を入力値とする2以上のハッシュ関数であって、同一の入力値に対して異なる出力値を出力する2以上のハッシュ関数と、
前記受信したパケットのそれまでの転送回数または残り転送可能回数を表す第2のフィールドの値に応じて、前記2以上のハッシュ関数のうちの一つのハッシュ関数を選択するハッシュ関数選択部と、
前記ルーティングテーブルにおいて、前記受信したパケットの宛先と対応づけられた転送先が2以上ある場合に、前記受信したパケットの前記第1のフィールドの値を入力値とする、前記選択されたハッシュ関数の出力値に基づいて、前記2以上の転送先の中から前記受信したパケットの転送先を選択する転送先選択部と、を備える転送装置。
[Application Example 1]
A transfer device for transferring a packet received via a network to another device connected to the network via the network;
A routing table that stores one or more other devices as transfer destinations in association with packet destinations;
Two or more hash functions that use the value of the first field of the packet that can be used to identify the flow of the packet as input values, and that output different output values for the same input value When,
A hash function selection unit that selects one hash function of the two or more hash functions according to the value of the second field representing the number of times the received packet has been transferred so far or the remaining number of times that transfer is possible;
In the routing table, when there are two or more transfer destinations associated with the destination of the received packet, the value of the first field of the received packet is used as an input value. And a transfer destination selection unit that selects a transfer destination of the received packet from the two or more transfer destinations based on an output value.

パケットがネットワークにおいて転送される際、1回転送されるたびに、第2のフィールドの値は、変化する。このため、上記のような態様の転送装置が複数含まれるネットワークにおいて、パケットが転送される場合には、そのパケットは、複数の転送装置で順に転送される際に、毎回同じハッシュ関数を使用されて転送先を決定されるのではなく、異なるハッシュ関数を使用されて転送先を決定される。このため、上記の態様によれば、自動的に、かつ簡易な処理で、ネットワークにおける通信の偏りをなくすことができる。   When a packet is transferred in the network, the value of the second field changes each time it is transferred. For this reason, when a packet is transferred in a network including a plurality of transfer devices having the above-described mode, the same hash function is used each time the packets are sequentially transferred by the plurality of transfer devices. Instead of determining the transfer destination, a different hash function is used to determine the transfer destination. For this reason, according to said aspect, the communication bias in a network can be eliminated automatically and with a simple process.

一方で、各転送装置においては、各ハッシュ関数は、パケットのフローの識別に用いることができる第1のフィールドの値を入力値とする。このため、ある転送装置においては、同じフローの異なるパケットは、それまでに同じ経路を転送されてきたパケットである限り、どれも同じ転送先が割り当てられる。よって、同じ通信フローのパケットは転送先が同じになる。   On the other hand, in each transfer device, each hash function uses the value of the first field that can be used to identify the flow of the packet as an input value. For this reason, in a certain transfer device, as long as different packets of the same flow are packets that have been transferred through the same route, the same transfer destination is assigned to them. Therefore, the packets with the same communication flow have the same transfer destination.

なお、「第2のフィールドの値に応じて」とは、第2のフィールドの値が第1の値であるときに選択されるハッシュ関数と、第2のフィールドの値が第1の値とは異なる第2の値であるときに選択されるハッシュ関数と、が異なるような、第1の値と第2の値が存在する選択方法を意味する。   Note that “according to the value of the second field” means that the hash function selected when the value of the second field is the first value, and the value of the second field is the first value Means a selection method in which the first value and the second value exist such that the hash functions selected when they are different second values are different.

[適用例2]
適用例1の転送装置であって、
前記転送先選択部は、前記受信したパケットの宛先と対応づけられた転送先の数で前記出力値を割った場合の余りの値に応じて、前記2以上の転送先の中から前記受信したパケットの転送先を選択する、転送装置。
[Application Example 2]
A transfer device according to application example 1,
The transfer destination selection unit receives the received value from the two or more transfer destinations according to a remainder value when the output value is divided by the number of transfer destinations associated with the destination of the received packet. A transfer device that selects a packet transfer destination.

このような態様とすれば、任意の範囲の出力値を有するハッシュ関数を用いて、パケットの転送先を決定することができる。   According to such an aspect, a packet transfer destination can be determined using a hash function having an output value in an arbitrary range.

[適用例3]
ネットワークを介して受信したパケットを、前記ネットワークに接続された他の装置に、前記ネットワークを介して転送する転送装置であって、
パケットの宛先と対応づけて転送先としての前記他の装置を1以上格納するルーティングテーブルと、
前記受信したパケットの第1のフィールドであってフローの識別に用いることができる第1のフィールドの値と、前記受信したパケットの第2のフィールドであって前記受信したパケットのそれまでの転送回数または残り転送可能回数を表す第2のフィールドの値と、に応じて、ハッシュ値を出力するハッシュ関数と、
前記ルーティングテーブルにおいて、前記受信したパケットの宛先と対応づけられた転送先が2以上ある場合に、前記ハッシュ関数の出力値に基づいて、前記2以上の転送先の中から前記受信したパケットの転送先を選択する転送先選択部と、を備える転送装置。
[Application Example 3]
A transfer device for transferring a packet received via a network to another device connected to the network via the network;
A routing table that stores one or more other devices as transfer destinations in association with packet destinations;
The value of the first field of the received packet that can be used for flow identification, and the second field of the received packet and the number of times the received packet has been transferred so far Or a hash function that outputs a hash value according to the value of the second field indicating the remaining transferable number of times,
In the routing table, when there are two or more transfer destinations associated with the destination of the received packet, transfer of the received packet from the two or more transfer destinations based on the output value of the hash function And a transfer destination selection unit that selects a destination.

パケットがネットワークにおいて転送される際、1回転送されるたびに、第2のフィールドの値は、変化する。このため、上記のような態様の転送装置が複数含まれるネットワークにおいて、パケットが転送される場合には、そのパケットは、複数の転送装置で順に転送される際に、毎回同じ出力値(ハッシュ値)を使用されるのではなく、毎回異なる出力値を使用されて、転送先を決定される。このため、上記の態様によれば、自動的に、かつ簡易な処理で、ネットワークにおける通信の偏りをなくすことができる。   When a packet is transferred in the network, the value of the second field changes each time it is transferred. For this reason, when a packet is transferred in a network including a plurality of transfer apparatuses having the above-described mode, the same output value (hash value) is transmitted each time the packet is sequentially transferred by the plurality of transfer apparatuses. ), A different output value is used each time to determine the transfer destination. For this reason, according to said aspect, the communication bias in a network can be eliminated automatically and with a simple process.

一方で、各転送装置においては、ハッシュ関数の出力値は、パケットのフローの識別に用いることができる第1のフィールドの値と、パケットのそれまでの転送回数または残り転送可能回数を表す第2のフィールドの値と、に応じて、一義的に定められる。このため、ある転送装置においては、同じフローの異なるパケットは、それまでに同じ経路を転送されてきたパケットである限り、どれも同じ出力値が得られ、同じ転送先に転送される。よって、同じ通信フローのパケットは転送先が同じになる。   On the other hand, in each transfer device, the output value of the hash function includes the value of the first field that can be used to identify the flow of the packet, and the second value that represents the number of times the packet has been transferred so far or the remaining transferable number of times. It is uniquely determined according to the value of the field. For this reason, in a certain transfer device, as long as different packets of the same flow are packets that have been transferred through the same route, the same output value is obtained and transferred to the same transfer destination. Therefore, the packets with the same communication flow have the same transfer destination.

なお、「第1のフィールドの値と、〜第2のフィールドの値と、に応じて、ハッシュ値を出力する」とは、以下のような選択方法を意味する。すなわち、第1のフィールドの値が値V11であり第2のフィールドの値が値V21であるときのハッシュ値と、第1のフィールドの値がV11とは異なるV12であり第2のフィールドの値が値V21であるときのハッシュ値と、が異なるような、値V11と値V12が存在する。さらに、第1のフィールドの値が値V11であり第2のフィールドの値が値V21であるときのハッシュ値と、第1のフィールドの値がV11であり第2のフィールドの値がV21とは異なるV22であるときのハッシュ値と、が異なるような、値V21と値V22が存在する。   Note that “output the hash value according to the value of the first field and the value of the second field” means the following selection method. That is, the hash value when the value of the first field is the value V11 and the value of the second field is the value V21, and the value of the second field where the value of the first field is V12 different from V11. There are a value V11 and a value V12 that are different from the hash value when the value is the value V21. Further, the hash value when the value of the first field is the value V11 and the value of the second field is the value V21, and the value of the first field is V11 and the value of the second field is V21. There are a value V21 and a value V22 that are different from the hash values when they are different V22.

[適用例4]
適用例3の転送装置であって、
前記転送先選択部は、前記受信したパケットの宛先と対応づけられた転送先の数で前記出力値を割った場合の余りの値に応じて、前記2以上の転送先の中から前記受信したパケットの転送先を決定する、転送装置。
[Application Example 4]
A transfer device according to application example 3,
The transfer destination selection unit receives the received value from the two or more transfer destinations according to a remainder value when the output value is divided by the number of transfer destinations associated with the destination of the received packet. A transfer device that determines the transfer destination of a packet.

このような態様とすれば、任意の範囲の出力値を有するハッシュ関数を用いて、パケットの転送先を決定することができる。   According to such an aspect, a packet transfer destination can be determined using a hash function having an output value in an arbitrary range.

なお、本発明は、以下に示すような種々の態様で実現することが可能である。
(1)パケットの転送装置。
(2)パケットの転送方法。
(3)パケットの転送装置を備えるネットワークシステム。
Note that the present invention can be realized in various modes as described below.
(1) A packet transfer device.
(2) Packet transfer method.
(3) A network system including a packet transfer device.

マルチパス転送装置が2段になっているネットワークの構成例を示す図。The figure which shows the structural example of the network in which the multipath transfer apparatus has two stages. TTL切替型ロードバランス転送装置を示すブロック図。The block diagram which shows a TTL switching type load balance transfer apparatus. 転送装置101のルーティングテーブル。The routing table of the transfer apparatus 101. 転送装置102のルーティングテーブル。The routing table of the transfer apparatus 102. 転送装置103のルーティングテーブル。The routing table of the transfer apparatus 103. フローを示す表。A table showing the flow. TTL切替型ロードバランス転送装置を用いた場合のフローごとのパケット転送経路を示す表。The table | surface which shows the packet transfer path | route for every flow at the time of using a TTL switching type load balance transfer apparatus. 参考例のロードバランス転送装置を示すブロック図。The block diagram which shows the load balance transfer apparatus of a reference example. 参考例のロードバランス転送装置を用いた場合のフローごとのパケット転送経路を示す表。The table | surface which shows the packet transfer path | route for every flow at the time of using the load balance transfer apparatus of a reference example. 実施例2のTTL混合型ロードバランス転送装置の構造を示すブロック図。FIG. 5 is a block diagram illustrating a structure of a TTL mixed load balance transfer apparatus according to a second embodiment. TTL混合型ロードバランス転送装置を用いた場合のフローごとのパケット転送経路を示す表。The table | surface which shows the packet transfer path | route for every flow at the time of using a TTL mixed type load balance transfer apparatus.

A.実施例1:
A1.ロードバランス転送装置の構成:
図1は、マルチパス転送装置が2段になっているネットワークNTを示す図である。図1のネットワークは4台の端末111〜114を、転送装置101〜108および回線121〜134で接続したネットワークである。
A. Example 1:
A1. Configuration of load balance transfer device:
FIG. 1 is a diagram showing a network NT having two stages of multipath transfer apparatuses. The network in FIG. 1 is a network in which four terminals 111 to 114 are connected by transfer apparatuses 101 to 108 and lines 121 to 134.

図1の上段に示すように、ネットワークNTにおいては、アドレス10.0.0.1を有する端末111と、アドレス10.0.0.2を有する端末112が、転送装置101に接続されている。また、図1の下段に示すように、アドレス20.0.0.1を有する端末113と、20.0.0.2を有する端末114が、転送装置108に接続されている。転送装置101と転送装置108とは、転送装置102〜107および回線123〜132を介して接続されている。   As shown in the upper part of FIG. 1, in the network NT, a terminal 111 having an address 10.0.0.1 and a terminal 112 having an address 10.0.0.2 are connected to the transfer apparatus 101. . Further, as shown in the lower part of FIG. 1, a terminal 113 having an address 20.0.0.1 and a terminal 114 having 20.0.0.2 are connected to the transfer apparatus 108. The transfer device 101 and the transfer device 108 are connected via transfer devices 102 to 107 and lines 123 to 132.

転送装置102は、回線125、転送装置104、回線129を介して転送装置108に接続されている。また、転送装置102は、回線126、転送装置105、回線130を介して転送装置108に接続されている。すなわち、転送装置102と転送装置108とは、二つの経路で接続されている。   The transfer apparatus 102 is connected to the transfer apparatus 108 via the line 125, the transfer apparatus 104, and the line 129. The transfer device 102 is connected to the transfer device 108 via a line 126, a transfer device 105, and a line 130. That is, the transfer device 102 and the transfer device 108 are connected by two paths.

転送装置103は、回線127、転送装置106、回線131を介して転送装置108に接続されている。また、転送装置103は、回線128、転送装置107、回線132を介して転送装置108に接続されている。すなわち、転送装置103と転送装置108とは、二つの経路で接続されている。   The transfer apparatus 103 is connected to the transfer apparatus 108 via a line 127, a transfer apparatus 106, and a line 131. The transfer device 103 is connected to the transfer device 108 via a line 128, a transfer device 107, and a line 132. That is, the transfer device 103 and the transfer device 108 are connected by two paths.

転送装置101は、回線123を介して転送装置102に接続されている。また、転送装置101は、回線124を介して転送装置103に接続されている。その結果、転送装置101と転送装置108とは、四つの経路で接続されている。転送装置101から転送装置108に至る経路においては、いずれの経路においても、2台の転送装置を経由する。そして、転送装置101〜103は、端末111,112から端末113,114に向けて発信されたIPパケットを受信した場合には、そのIPパケットを転送できる転送先として、それぞれ二つの転送装置を有している。   The transfer device 101 is connected to the transfer device 102 via a line 123. Further, the transfer device 101 is connected to the transfer device 103 via a line 124. As a result, the transfer apparatus 101 and the transfer apparatus 108 are connected through four paths. The route from the transfer device 101 to the transfer device 108 passes through two transfer devices in any route. When receiving IP packets transmitted from the terminals 111 and 112 to the terminals 113 and 114, the transfer apparatuses 101 to 103 each have two transfer apparatuses as transfer destinations to which the IP packets can be transferred. is doing.

図2は、TTL切替型ロードバランス転送装置701を示すブロック図である。実施例1においては、図1の転送装置101〜108は、具体的には、図2に示すTTL切替型ロードバランス転送装置701である。TTL切替型ロードバランス転送装置701は、パケット転送部710、複数のインタフェース711〜714、および転送先決定部720を備える。転送先決定部720を、後述する参考例の転送先決定部720cおよび実施例2の転送先決定部920と区別するために「TTL切替型転送先決定部」と呼ぶことがある。   FIG. 2 is a block diagram showing the TTL switching type load balance transfer device 701. In the first embodiment, the transfer apparatuses 101 to 108 in FIG. 1 are specifically the TTL switching load balance transfer apparatus 701 shown in FIG. The TTL switching load balance transfer apparatus 701 includes a packet transfer unit 710, a plurality of interfaces 711 to 714, and a transfer destination determination unit 720. The transfer destination determination unit 720 may be referred to as a “TTL switching transfer destination determination unit” in order to distinguish it from the transfer destination determination unit 720c of the reference example described later and the transfer destination determination unit 920 of the second embodiment.

インタフェース711〜714に到着したパケットは、パケット転送部710が受信する。パケット転送部710は、パケットのヘッダ部分を転送先決定部720へ通知する(図2の矢印Ah参照)。転送先決定部720は、パケットのヘッダの情報に基づいてそのパケットの転送先を決定し、パケット転送部710へ通知する(図2の矢印Atr参照)。パケット転送部710は、受信したパケットのTTLフィールドを1減算し、転送先決定部720から通知された転送先へ送信する。   Packets arriving at the interfaces 711 to 714 are received by the packet transfer unit 710. The packet transfer unit 710 notifies the header part of the packet to the transfer destination determination unit 720 (see arrow Ah in FIG. 2). The transfer destination determination unit 720 determines the transfer destination of the packet based on the information of the packet header, and notifies the packet transfer unit 710 (see arrow Atr in FIG. 2). The packet transfer unit 710 subtracts 1 from the TTL field of the received packet and transmits the result to the transfer destination notified from the transfer destination determination unit 720.

なお、「TTL(Time to live)」とは、一つのパケットが破棄される前に行われうる転送装置による転送回数の上限である。各パケットは、TTLの値を格納したフィールド(TTLフィールド)を有している。パケットを最初に送信した端末がそのパケットの目的に応じた値を、TTLフィールドに設定する。その後、そのパケットを受信した各転送装置は、パケットを転送するたびにTTLフィールドの値を1減算する。ある転送装置において、TTLフィールドが0であった場合には、そのパケットは廃棄される。その結果、ネットワーク上にルーティングループがあり、パケットがネットワーク上を巡回した場合にも、そのパケットが無限にネットワーク上を巡回する事態が防止される。本実施例のTTL切替型ロードバランス転送装置701においては、パケット転送部710がTTLフィールドの値の減算を行う。TTLフィールドが、[課題を解決するための手段]における「第2のフィールド」に相当する。   Note that “TTL (Time to live)” is an upper limit of the number of transfers by the transfer apparatus that can be performed before one packet is discarded. Each packet has a field (TTL field) that stores a TTL value. The terminal that first transmitted the packet sets a value corresponding to the purpose of the packet in the TTL field. Thereafter, each transfer device that has received the packet decrements the value of the TTL field by 1 each time the packet is transferred. In a transfer device, if the TTL field is 0, the packet is discarded. As a result, there is a routing loop on the network, and even when a packet circulates on the network, a situation where the packet circulates infinitely on the network is prevented. In the TTL switching type load balance transfer apparatus 701 of this embodiment, the packet transfer unit 710 subtracts the value of the TTL field. The TTL field corresponds to the “second field” in [Means for Solving the Problems].

転送先決定部720は、宛先アドレス抽出部721、ルーティングテーブル検索部722、ルーティングテーブル723、フロー識別フィールド抽出部724、TTLフィールド抽出部725、ハッシュ関数選択部726、複数のハッシュ関数727a〜727d、および転送先選択部730を備える。   The transfer destination determination unit 720 includes a destination address extraction unit 721, a routing table search unit 722, a routing table 723, a flow identification field extraction unit 724, a TTL field extraction unit 725, a hash function selection unit 726, a plurality of hash functions 727a to 727d, And a transfer destination selection unit 730.

ルーティングテーブル723は、宛先アドレス211に対応づけられた転送先の数と、転送先とを格納している。ルーティングテーブル723の内容は、転送装置ごとに異なる。図1の各転送装置が有するルーティングテーブル723については、後に説明する。   The routing table 723 stores the number of transfer destinations associated with the destination address 211 and the transfer destination. The contents of the routing table 723 are different for each transfer device. The routing table 723 included in each transfer apparatus in FIG. 1 will be described later.

パケット転送部710が通知したパケットのヘッダ部分は、宛先アドレス抽出部721、フロー識別フィールド抽出部724、TTLフィールド抽出部725へ通知される(図2の矢印Ah参照)。   The header portion of the packet notified by the packet transfer unit 710 is notified to the destination address extraction unit 721, the flow identification field extraction unit 724, and the TTL field extraction unit 725 (see arrow Ah in FIG. 2).

宛先アドレス抽出部721は、通知されたパケットのヘッダ部分から宛先アドレスを抽出し、ルーティングテーブル検索部722へ通知する(図2の矢印Aa参照)。ルーティングテーブル検索部722は、通知された宛先アドレスに基づいてルーティングテーブル723を検索し、検索結果として転送先と転送先の数とを得る。そして、ルーティングテーブル検索部722は、転送先と転送先の数とを転送先選択部730へ通知する。   The destination address extraction unit 721 extracts a destination address from the header portion of the notified packet and notifies the routing table search unit 722 (see arrow Aa in FIG. 2). The routing table search unit 722 searches the routing table 723 based on the notified destination address, and obtains a transfer destination and the number of transfer destinations as a search result. Then, the routing table search unit 722 notifies the transfer destination selection unit 730 of the transfer destination and the number of transfer destinations.

フロー識別フィールド抽出部724は、通知されたパケットのヘッダ部分からフローの識別に使用されるフィールドの値を抽出し、ハッシュ関数選択部726へ通知する(図2の矢印Af参照)。本実施例では、フローの識別に、送信元アドレス、宛先アドレス、プロトコル番号の3つのフィールドを使うものとする。各パケットは、4バイトで表される送信元アドレス、4バイトで表される宛先アドレス、1バイトで表されるプロトコル番号のフィールドを含む。   The flow identification field extraction unit 724 extracts the field value used for flow identification from the header portion of the notified packet, and notifies the hash function selection unit 726 (see arrow Af in FIG. 2). In this embodiment, three fields of a source address, a destination address, and a protocol number are used for flow identification. Each packet includes fields of a source address represented by 4 bytes, a destination address represented by 4 bytes, and a protocol number represented by 1 byte.

TTLフィールド抽出部725は、通知されたパケットのヘッダ部分からTTLフィールドの値を抽出し、ハッシュ関数選択部726へ通知する(図2の矢印Att参照)。   The TTL field extraction unit 725 extracts the value of the TTL field from the header portion of the notified packet, and notifies the hash function selection unit 726 (see arrow Att in FIG. 2).

ハッシュ関数選択部726では、TTLフィールド抽出部725から通知されたTTLフィールドの値をもとに4個あるハッシュ関数727a〜727dからひとつのハッシュ関数を選択する。そして、フロー識別フィールド抽出部724から通知された送信元アドレス、宛先アドレス、プロトコルの3つのフィールドの値を、選択したハッシュ関数へ通知する。   The hash function selection unit 726 selects one hash function from the four hash functions 727a to 727d based on the value of the TTL field notified from the TTL field extraction unit 725. Then, the values of the three fields of the transmission source address, the destination address, and the protocol notified from the flow identification field extraction unit 724 are notified to the selected hash function.

より具体的には、ハッシュ関数選択部726は、TTLフィールド抽出部725から通知されたTTLフィールドの値を、ハッシュ関数の数Nh=4で割った剰余に1を加えた値Vs(Vsは、1≦Vs≦Nhを満たす整数)を計算する。値Vsが1であるときには、ハッシュ関数727aを選択する。値Vsが2であるときには、ハッシュ関数727bを選択する。値Vsが3であるときには、ハッシュ関数727cを選択する。値Vsが4であるときには、ハッシュ関数727dを選択する。   More specifically, the hash function selection unit 726 divides the value of the TTL field notified from the TTL field extraction unit 725 by the remainder obtained by dividing the value of the hash function by the number of hash functions Nh = 4 Vs (Vs is An integer satisfying 1 ≦ Vs ≦ Nh) is calculated. When the value Vs is 1, the hash function 727a is selected. When the value Vs is 2, the hash function 727b is selected. When the value Vs is 3, the hash function 727c is selected. When the value Vs is 4, the hash function 727d is selected.

ハッシュ関数727a〜727dは、ハッシュ関数選択部726から送信元アドレス、宛先アドレス、プロトコルを通知された場合には、通知された各値からハッシュ値を算出し、転送先選択部730へ通知する。   When the hash function selection unit 726 is notified of the transmission source address, the destination address, and the protocol, the hash functions 727a to 727d calculate a hash value from the notified values and notify the transfer destination selection unit 730 of the calculation.

ハッシュ関数727a〜727dは、送信元アドレス、宛先アドレス、プロトコルを表すフロー識別フィールドの値から、無作為なハッシュ値を生成する関数である。ハッシュ関数727a〜727dは、同じフロー識別フィールドの値から互いに異なるハッシュ値が得られるハッシュ関数である。   The hash functions 727a to 727d are functions that generate a random hash value from the value of the flow identification field indicating the transmission source address, the destination address, and the protocol. The hash functions 727a to 727d are hash functions that obtain different hash values from the same flow identification field value.

第1のハッシュ関数727aは、送信元アドレス4バイト、宛先アドレス4バイト、プロトコル番号1バイトの合計9バイトを並べたバイト列に生成多項式x+x+x+x+1を適用して得られる、8bitのCRC(巡回冗長検査:Cyclic Redundancy Check)値を、ハッシュ値とするハッシュ関数である。 The first hash function 727a is obtained by applying the generator polynomial x 8 + x 7 + x 3 + x 2 +1 to a byte string in which a total of 9 bytes including a transmission source address of 4 bytes, a destination address of 4 bytes, and a protocol number of 1 byte are arranged. , 8-bit CRC (Cyclic Redundancy Check) value is a hash function having a hash value.

第2のハッシュ関数727bは、送信元アドレス4バイト、宛先アドレス4バイト、プロトコル番号1バイトの合計9バイトを並べたバイト列に対して生成多項式x+x+x+x+1を適用して得られる8bitのCRC値を、さらに右へ2bitローテート(キャリーなし環状シフト)して得られる値を、ハッシュ値とするハッシュ関数である。 The second hash function 727b applies the generator polynomial x 8 + x 7 + x 3 + x 2 +1 to a byte sequence in which a total of 9 bytes including a source address 4 bytes, a destination address 4 bytes, and a protocol number 1 byte are arranged. This is a hash function in which a value obtained by further rotating the 8-bit CRC value to the right by 2-bit rotation (cyclic shift without carry) is used as a hash value.

第3のハッシュ関数727cは、送信元アドレス4バイト、宛先アドレス4バイト、プロトコル番号1バイトの合計9バイトを並べたバイト列に対して生成多項式x+x+x+x+1を適用して得られる8bitのCRC値を、さらに右へ4bitローテートして得られる値を、ハッシュ値とするハッシュ関数である。 The third hash function 727c applies the generator polynomial x 8 + x 7 + x 3 + x 2 +1 to a byte sequence in which a total of 9 bytes including a source address of 4 bytes, a destination address of 4 bytes, and a protocol number of 1 byte are arranged. This is a hash function in which a value obtained by rotating the obtained 8-bit CRC value further 4 bits to the right is used as a hash value.

第4のハッシュ関数727dは、送信元アドレス4バイト、宛先アドレス4バイト、プロトコル番号1バイトの合計9バイトを並べたバイト列に対して生成多項式x+x+x+x+1を適用して得られる8bitのCRC値を、さらに右へ6bitローテートして得られる値を、ハッシュ値とするハッシュ関数である。 The fourth hash function 727d applies a generator polynomial x 8 + x 7 + x 3 + x 2 +1 to a byte sequence in which a total of 9 bytes of a source address 4 bytes, a destination address 4 bytes, and a protocol number 1 byte are arranged. This is a hash function in which a value obtained by rotating the obtained 8-bit CRC value further 6 bits to the right is used as a hash value.

転送先選択部730は、ルーティングテーブル検索部722から通知された転送先が複数ある場合、ハッシュ関数727a〜727dのいずれかから通知されたハッシュ値を、さらにルーティングテーブル検索部722から通知された転送先の数Ntrで割った剰余に、1を加えて、値Vtr(Vtrは、1≦Vtr≦Ntrを満たす整数)を計算する。そして、転送先選択部730は、値Vtrが表す番号の転送先を選択する。たとえば、転送先の数Ntrが2である場合には、剰余は0または1である。剰余が0である場合には、Vtr=1となり、ルーティングテーブルのエントリにおける1番目の転送先が選択される。剰余が1である場合には、Vtr=2となり、ルーティングテーブルのエントリにおける2番目の転送先が選択される。このような処理を行うことにより、任意の出力値の範囲を有するハッシュ関数を使用して、転送先の数Ntrに応じた転送先の選択を行うことができる。   When there are a plurality of transfer destinations notified from the routing table search unit 722, the transfer destination selection unit 730 further transfers the hash value notified from any one of the hash functions 727a to 727d and the transfer notified from the routing table search unit 722. 1 is added to the remainder divided by the previous number Ntr to calculate a value Vtr (Vtr is an integer satisfying 1 ≦ Vtr ≦ Ntr). Then, the transfer destination selection unit 730 selects the transfer destination having the number represented by the value Vtr. For example, when the number of destinations Ntr is 2, the remainder is 0 or 1. If the remainder is 0, Vtr = 1 and the first transfer destination in the routing table entry is selected. When the remainder is 1, Vtr = 2 and the second transfer destination in the routing table entry is selected. By performing such processing, it is possible to select a transfer destination according to the number Ntr of transfer destinations using a hash function having an arbitrary output value range.

転送先選択部730は、転送先として選択した転送装置を、パケット転送部710に通知する(図2の矢印Atr参照)。なお、転送先選択部730は、ルーティングテーブル検索部722から通知された転送先が一つしかない場合には、ルーティングテーブル検索部722から通知された転送先を、パケット転送部710に通知する。   The transfer destination selection unit 730 notifies the packet transfer unit 710 of the transfer device selected as the transfer destination (see arrow Atr in FIG. 2). If there is only one transfer destination notified from the routing table search unit 722, the transfer destination selection unit 730 notifies the packet transfer unit 710 of the transfer destination notified from the routing table search unit 722.

図3は、図1に示す転送装置101のルーティングテーブル723(図2参照)である。ルーティングテーブル723は、宛先アドレス211に対応づけられた転送先の数212、ならびに転送先213,214を格納している。転送先の数212、ならびに転送先213,214は、宛先アドレス211に対応する転送方法を定める。   FIG. 3 is a routing table 723 (see FIG. 2) of the transfer apparatus 101 shown in FIG. The routing table 723 stores the number 212 of transfer destinations associated with the destination address 211 and the transfer destinations 213 and 214. The transfer destination number 212 and the transfer destinations 213 and 214 define a transfer method corresponding to the destination address 211.

図3に示す転送装置101のルーティングテーブルは3個のエントリを有する。エントリ201は、宛先としてのアドレス10.0.0.1と、その宛先に対応づけられた転送先としての端末111を有する。アドレス10.0.0.1は、端末111のアドレスである(図1参照)。   The routing table of the transfer apparatus 101 shown in FIG. 3 has three entries. The entry 201 has an address 10.0.0.1 as a destination and a terminal 111 as a transfer destination associated with the destination. The address 10.0.0.1 is the address of the terminal 111 (see FIG. 1).

エントリ202は、宛先としてのアドレス10.0.0.2と、その宛先に対応づけられた転送先としての端末112を有する。アドレス10.0.0.2は、端末112のアドレスである(図1参照)。   The entry 202 has an address 10.0.0.2 as a destination and a terminal 112 as a transfer destination associated with the destination. The address 10.0.0.2 is the address of the terminal 112 (see FIG. 1).

エントリ203は、宛先としてのアドレス20.0.0.0/24、すなわち、アドレス20.0.0.0〜アドレス20.0.0.255と、それらの宛先に対応づけられた転送先としての転送装置102,103を有する。すなわち、エントリ203は、二つの転送先を有するマルチパスである。なお、アドレス20.0.0.0/24(アドレス20.0.0.0〜アドレス20.0.0.255)には、端末113のアドレス20.0.0.1、および端末114のアドレス20.0.0.2が含まれる(図1参照)。   The entry 203 has an address 20.0.0.0/24 as a destination, that is, an address 20.0.0.0 to an address 20.0.0.255 and a transfer destination associated with these destinations. Transfer devices 102 and 103. That is, the entry 203 is a multipath having two transfer destinations. The address 20.0.0.0/24 (address 20.0.0.0 to address 20.0.0.255) includes the address 20.0.0.1 of the terminal 113 and the terminal 114. The address 20.0.0.2 is included (see FIG. 1).

図4は、図1に示す転送装置102のルーティングテーブル723(図2参照)である。転送装置102のルーティングテーブルは2個のエントリを有する。エントリ301は、宛先としてのアドレス10.0.0.0/24、すなわち、アドレス10.0.0.0〜アドレス20.0.0.255と、それらの宛先に対応づけられた転送先としての転送装置101を有する。なお、アドレス10.0.0.0/24(アドレス10.0.0.0〜アドレス10.0.0.255)には、端末111のアドレス10.0.0.1、および端末112のアドレス10.0.0.2が含まれる(図1参照)。   FIG. 4 is a routing table 723 (see FIG. 2) of the transfer apparatus 102 shown in FIG. The routing table of the transfer device 102 has two entries. The entry 301 has an address 10.0.0.0/24 as a destination, that is, an address 10.0.0.0 to an address 20.0.0.255, and a transfer destination associated with these destinations. Transfer device 101. Note that the address 10.0.0.0/24 (address 10.0.0.0 to address 10.0.0.255) includes the address 10.0.0.1 of the terminal 111 and the terminal 112. The address 10.0.0.2 is included (see FIG. 1).

図4に示すエントリ302は、宛先としてのアドレス20.0.0.0/24、すなわち、アドレス20.0.0.0〜アドレス20.0.0.255と、それらの宛先に対応づけられた転送先としての転送装置104,105を有する。すなわち、エントリ302は、二つの転送先を有するマルチパスである。なお、アドレス20.0.0.0/24(アドレス20.0.0.0〜アドレス20.0.0.255)には、端末113のアドレス20.0.0.1、および端末114のアドレス20.0.0.2が含まれる(図1参照)。   The entry 302 shown in FIG. 4 is associated with addresses 20.0.0.0/24 as destinations, that is, addresses 20.0.0.0 to 20.0.0.255, and these destinations. And transfer devices 104 and 105 as transfer destinations. That is, the entry 302 is a multipath having two transfer destinations. The address 20.0.0.0/24 (address 20.0.0.0 to address 20.0.0.255) includes the address 20.0.0.1 of the terminal 113 and the terminal 114. The address 20.0.0.2 is included (see FIG. 1).

図5は、図1に示す転送装置103のルーティングテーブル723である(図2参照)。転送装置103のルーティングテーブルは2個のエントリを有する。エントリ401は、宛先としてのアドレス10.0.0.0/24、すなわち、アドレス10.0.0.0〜アドレス20.0.0.255と、それらの宛先に対応づけられた転送先としての転送装置101を有する。なお、アドレス10.0.0.0/24(アドレス10.0.0.0〜アドレス10.0.0.255)には、端末111のアドレス10.0.0.1、および端末112のアドレス10.0.0.2が含まれる(図1参照)。   FIG. 5 is the routing table 723 of the transfer apparatus 103 shown in FIG. 1 (see FIG. 2). The routing table of the transfer device 103 has two entries. The entry 401 has addresses 10.0.0.0/24 as destinations, that is, addresses 10.0.0.0 to 20.0.0.255, and transfer destinations associated with these destinations. Transfer device 101. Note that the address 10.0.0.0/24 (address 10.0.0.0 to address 10.0.0.255) includes the address 10.0.0.1 of the terminal 111 and the terminal 112. The address 10.0.0.2 is included (see FIG. 1).

図5に示すエントリ402は、宛先としてのアドレス20.0.0.0/24、すなわち、アドレス20.0.0.0〜アドレス20.0.0.255と、それらの宛先に対応づけられた転送先としての転送装置106,107を有する。すなわち、エントリ402は、二つの転送先を有するマルチパスである。なお、アドレス20.0.0.0/24(アドレス20.0.0.0〜アドレス20.0.0.255)には、端末113のアドレス20.0.0.1、および端末114のアドレス20.0.0.2が含まれる(図1参照)。   The entry 402 shown in FIG. 5 is associated with addresses 20.0.0.0/24 as destinations, that is, addresses 20.0.0.0 to 20.0.0.255, and these destinations. And transfer devices 106 and 107 as transfer destinations. That is, the entry 402 is a multipath having two transfer destinations. The address 20.0.0.0/24 (address 20.0.0.0 to address 20.0.0.255) includes the address 20.0.0.1 of the terminal 113 and the terminal 114. The address 20.0.0.2 is included (see FIG. 1).

他の転送装置のルーティングテーブル723の内容については、技術の理解を容易にするために、説明を省略する。   Description of the contents of the routing table 723 of other transfer devices is omitted to facilitate understanding of the technology.

A2.ロードバランス転送装置における処理:
以下で、TTL切替型ロードバランス転送装置701を使用した場合のフローの分配について説明する。
A2. Processing in the load balance transfer device:
Hereinafter, flow distribution when the TTL switching type load balance transfer device 701 is used will be described.

図6は、ネットワーク上で分配の偏りの有無を検証するためのフローを示す表Tfである。本実施例においては、各フローは、送信元アドレス、宛先アドレス、およびプロトコル番号で識別される。このため、表Tfにおいて、各フローは、送信元アドレス511と宛先アドレス512とプロトコル番号513の列の値で特定されている。各フローのパケットは、フィールドにこれらの値を格納している。送信元アドレス、宛先アドレス、およびプロトコル番号を格納したフィールドが、[課題を解決するための手段]における「第1のフィールド」に相当する。   FIG. 6 is a table Tf showing a flow for verifying the presence or absence of distribution bias on the network. In this embodiment, each flow is identified by a transmission source address, a destination address, and a protocol number. For this reason, in the table Tf, each flow is specified by the values in the columns of the source address 511, the destination address 512, and the protocol number 513. The packet of each flow stores these values in the field. The field storing the transmission source address, the destination address, and the protocol number corresponds to the “first field” in [Means for Solving the Problem].

図6の表Tfには、8個のフロー501〜508が示されている。各フローの送信元のアドレスは、列511に示すように、端末111のアドレス10.0.0.1、または端末112のアドレス10.0.0.2のいずれかである。各フローの宛先のアドレスは、列512に示すように、端末113のアドレス20.0.0.1、または端末114のアドレス20.0.0.2のいずれかである。各フローのプロトコル番号は、列513に示すように、TCPのプロトコル番号である6、またはUDPのプロトコル番号である17のいずれかである。3個のフィールドがそれぞれ2つの値を取り得る結果として、表Tfには、8個のフローが示されている。   In the table Tf of FIG. 6, eight flows 501 to 508 are shown. The source address of each flow is either the address 10.0.0.1 of the terminal 111 or the address 10.0.0.2 of the terminal 112, as shown in the column 511. As shown in column 512, the destination address of each flow is either the address 200.0.0.1 of the terminal 113 or the address 20.0.0.2 of the terminal 114. As shown in a column 513, the protocol number of each flow is either 6 that is a TCP protocol number or 17 that is a UDP protocol number. As a result of the three fields each having two values, eight flows are shown in Table Tf.

図7は、図1のネットワークにおいて、各転送装置に図2のTTL切替型ロードバランス転送装置701を採用し、図6に示したフロー501〜508のパケットを端末111,112から流した場合の、パケット転送経路(第1ホップ、第2ホップ、第3ホップ)を示した表Tp1である。なお、端末111,112は、すべてのフローのパケットについて、TTLを64として、パケットを送信するものとする。   FIG. 7 shows a case where the TTL switching type load balance transfer device 701 shown in FIG. 2 is adopted for each transfer device in the network shown in FIG. 1, and packets of the flows 501 to 508 shown in FIG. Table Tp1 showing packet transfer paths (first hop, second hop, third hop). Note that the terminals 111 and 112 transmit packets with TTL set to 64 for packets of all flows.

図7の表Tp1は、図6の表の内容に加えて、送信元端末がパケットを送信する時のTTLを表す列814、第1ホップの転送装置に対応する列815、第2ホップの転送装置に対応する列819、第3ホップの転送装置を表す列823を有している。第1ホップの転送装置に対応する列815は、第1ホップの転送装置を表す列816、第1ホップの転送装置がパケットを受信した時点でのTTLを表す列817、第1ホップでのパケットに対応するハッシュ値を表す列818を含む。第2ホップの転送装置に対応する列819は、第2ホップの転送装置を表す列820、第2ホップの転送装置がパケットを受信した時点でのTTLを表す列821、第2ホップでのパケットに対応するハッシュ値を表す822を含む。   The table Tp1 in FIG. 7 includes, in addition to the contents of the table in FIG. 6, a column 814 indicating TTL when the source terminal transmits a packet, a column 815 corresponding to the first hop transfer device, and a second hop transfer. It has a column 819 corresponding to the device and a column 823 representing the third hop transfer device. A column 815 corresponding to the first hop transfer device includes a column 816 indicating the first hop transfer device, a column 817 indicating the TTL at the time when the first hop transfer device receives the packet, and a packet at the first hop. Column 818 representing the hash value corresponding to. A column 819 corresponding to the second hop transfer device includes a column 820 indicating the second hop transfer device, a column 821 indicating TTL at the time when the second hop transfer device receives the packet, and a packet at the second hop. 822 representing the hash value corresponding to.

表Tp1の第1行目に示されているフロー501を例に、転送先決定部720における第1ホップ〜第3ホップの決定の処理を説明する。フロー501の送信元アドレスは10.0.0.1である。すなわち、フロー501の送信元は、端末111である(図1参照)。端末111は、フロー501のパケットを送信する際には、端末111に直接接続している唯一の転送装置101へ、そのパケットを送信する(列816参照)。また、端末111がパケットを送信した時点の端末送信TTLは64であり(列814参照)、第1ホップの受信TTLも64である(列817参照)。   The process of determining the first hop to the third hop in the transfer destination determination unit 720 will be described using the flow 501 shown in the first row of the table Tp1 as an example. The source address of the flow 501 is 10.0.0.1. That is, the transmission source of the flow 501 is the terminal 111 (see FIG. 1). When transmitting the packet of the flow 501, the terminal 111 transmits the packet to the only transfer device 101 directly connected to the terminal 111 (see column 816). The terminal transmission TTL at the time when the terminal 111 transmits the packet is 64 (see column 814), and the first hop reception TTL is 64 (see column 817).

第1ホップである転送装置101のハッシュ関数選択部726(図2)は、受信TTLの値64(図7の列817参照)を、ハッシュ関数の数Nh=4で割った剰余に1を加えた値Vsを計算する。ここでは、Vs=1となるので、ハッシュ関数選択部726は、Vs=1に対応するハッシュ関数727aを選択する。フロー501のパケットからフロー識別フィールド抽出部724が抽出した内容(図6の表Tfの第1行目参照)、すなわち、送信元アドレス10.0.0.1、宛先アドレス20.0.0.1、プロトコル番号6が、ハッシュ関数選択部726を経由してハッシュ関数727aへ通知される(図7の列511〜513、ならびに図2の矢印Af参照)。   The hash function selection unit 726 (FIG. 2) of the transfer apparatus 101 that is the first hop adds 1 to the remainder obtained by dividing the received TTL value 64 (see column 817 in FIG. 7) by the number of hash functions Nh = 4. The calculated value Vs is calculated. Here, since Vs = 1, the hash function selection unit 726 selects the hash function 727a corresponding to Vs = 1. Contents extracted by the flow identification field extraction unit 724 from the packet of the flow 501 (see the first row of the table Tf in FIG. 6), that is, the source address 10.0.0.1, the destination address 20.0.0. 1. Protocol number 6 is notified to the hash function 727a via the hash function selection unit 726 (see columns 511 to 513 in FIG. 7 and arrow Af in FIG. 2).

ハッシュ関数727aは、送信元アドレス、宛先アドレス、プロトコル番号の3つの値を並べた9バイトのバイト列0A0000011400000106に生成多項式x+x+x+x+1を適用して、第1ホップのハッシュ値として90を得る(図7の列818参照)。 The hash function 727a applies the generator polynomial x 8 + x 7 + x 3 + x 2 +1 to the 9-byte byte sequence 0A00000111400106 in which three values of the source address, the destination address, and the protocol number are arranged, and the hash value of the first hop As 90 (see column 818 in FIG. 7).

一方で、転送装置101の宛先アドレス抽出部721は、フロー501のパケットから宛先アドレス20.0.0.1を抽出し、ルーティングテーブル検索部722へ通知する(図7の列512、および図2の矢印Aa参照)。   On the other hand, the destination address extraction unit 721 of the transfer apparatus 101 extracts the destination address 20.0.0.1 from the packet of the flow 501 and notifies the routing table search unit 722 (column 512 in FIG. 7 and FIG. 2). Arrow Aa).

ルーティングテーブル検索部722(図2参照)は、通知された宛先アドレス20.0.0.1を用いてルーティングテーブル723を検索する。ルーティングテーブル検索部722は、図3に示す転送装置101のルーティングテーブル723のエントリ203から、転送先数2、ならびに転送先1としての転送装置102、転送先2としての転送装置103を得て、転送先選択部730へ通知する(図2参照)。   The routing table search unit 722 (see FIG. 2) searches the routing table 723 using the notified destination address 20.0.0.0.1. The routing table search unit 722 obtains the number of transfer destinations 2, the transfer device 102 as the transfer destination 1, and the transfer device 103 as the transfer destination 2 from the entry 203 of the routing table 723 of the transfer device 101 shown in FIG. This is notified to the transfer destination selection unit 730 (see FIG. 2).

転送先選択部730は、ルーティングテーブル検索部722より通知を受けた転送先数2、転送先1としての転送装置102、転送先2としての転送装置103、ならびに、ハッシュ関数727aより通知を受けたハッシュ値90に基づいて、以下の処理を行う。すなわち、転送先選択部730は、ハッシュ値90を転送先数Ntr=2で割った剰余0に1を足した値Vtr=1を得る。そして、転送先選択部730は、番号が1の転送先、つまり転送先1である転送装置102を選択して、これをパケット転送部710へ通知する(図2の矢印Atr参照)。   The transfer destination selection unit 730 receives the notification from the transfer function number 2 received from the routing table search unit 722, the transfer device 102 as the transfer destination 1, the transfer device 103 as the transfer destination 2, and the hash function 727a. Based on the hash value 90, the following processing is performed. That is, the transfer destination selection unit 730 obtains a value Vtr = 1 obtained by adding 1 to the remainder 0 obtained by dividing the hash value 90 by the transfer destination number Ntr = 2. Then, the transfer destination selection unit 730 selects the transfer destination with the number 1, that is, the transfer device 102 that is the transfer destination 1, and notifies this to the packet transfer unit 710 (see arrow Atr in FIG. 2).

パケット転送部710はパケットのTTLを1減算して63とし、通知された転送先である転送装置102へパケットを転送する。   The packet transfer unit 710 subtracts 1 from the TTL of the packet to 63, and transfers the packet to the transfer device 102 that is the notified transfer destination.

こうして、フロー501についての第2ホップの転送装置として、転送装置102が選ばれる(図7の列820参照)。また、転送装置102が受信した時点のTTLは63となる(同、列821参照)。   Thus, the transfer device 102 is selected as the second-hop transfer device for the flow 501 (see column 820 in FIG. 7). In addition, the TTL at the time when the transfer apparatus 102 receives is 63 (see column 821).

第2ホップである転送装置102のハッシュ関数選択部726(図2参照)は、受信TTLの値63(図7の列821参照)を、ハッシュ関数の数Nh=4で割った剰余に1を加えたVsを計算する。Vs=4であるので、ハッシュ関数選択部726は、対応するハッシュ関数727dを選択する。フロー501のパケットからフロー識別フィールド抽出部724が抽出した内容、すなわち、送信元アドレス10.0.0.1、宛先アドレス20.0.0.1、プロトコル番号6が、ハッシュ関数選択部726を経由してハッシュ関数727dへ通知される(図6の表Tfの第1行目、ならびに図2の矢印Af参照)。   The hash function selection unit 726 (see FIG. 2) of the transfer device 102 which is the second hop, adds 1 to the remainder obtained by dividing the received TTL value 63 (see column 821 in FIG. 7) by the number of hash functions Nh = 4. Calculate the added Vs. Since Vs = 4, the hash function selection unit 726 selects the corresponding hash function 727d. The contents extracted by the flow identification field extraction unit 724 from the packet of the flow 501, that is, the transmission source address 10.0.0.1, the destination address 20.0.0.1, and the protocol number 6 are stored in the hash function selection unit 726. Via the hash function 727d (see the first row of the table Tf in FIG. 6 and the arrow Af in FIG. 2).

ハッシュ関数727dは、送信元アドレス、宛先アドレス、プロトコル番号の3つの値を並べた9バイトのバイト列0A0000011400000106に生成多項式x+x+x+x+1を適用してCRC値を求め、得られた値90を右へ6ビットだけローテートし、第2ホップのハッシュ値として105を得る(図7の列822参照)。 The hash function 727d is obtained by applying a generator polynomial x 8 + x 7 + x 3 + x 2 +1 to a 9-byte byte sequence 0A00000111400106 in which three values of a source address, a destination address, and a protocol number are arranged to obtain a CRC value. Rotate the value 90 to the right by 6 bits to obtain 105 as the second hop hash value (see column 822 in FIG. 7).

一方で、転送装置102の宛先アドレス抽出部721は、フロー501のパケットから宛先アドレス20.0.0.1を抽出し、ルーティングテーブル検索部722へ通知する(図7の列512、および図2の矢印Aa参照)。   On the other hand, the destination address extraction unit 721 of the transfer apparatus 102 extracts the destination address 20.0.0.1 from the packet of the flow 501 and notifies the routing table search unit 722 (column 512 in FIG. 7 and FIG. 2). Arrow Aa).

ルーティングテーブル検索部722(図2参照)では通知された宛先アドレス20.0.0.1を用いてルーティングテーブル723を検索する。ルーティングテーブル検索部722は、図4に示す転送装置102のルーティングテーブル723のエントリ302から、転送先数2、ならびに転送先1としての転送装置104、転送先2としての転送装置105を得て、転送先選択部730へ通知する(図2参照)。   The routing table search unit 722 (see FIG. 2) searches the routing table 723 using the notified destination address 20.0.0.0.1. The routing table search unit 722 obtains the transfer destination number 2, the transfer device 104 as the transfer destination 1, and the transfer device 105 as the transfer destination 2 from the entry 302 of the routing table 723 of the transfer device 102 shown in FIG. This is notified to the transfer destination selection unit 730 (see FIG. 2).

転送先選択部730では、ルーティングテーブル検索部722より通知を受けた転送先数2、転送先1としての転送装置104、転送先2としての転送装置105、ならびに、ハッシュ関数727dより通知を受けたハッシュ値105に基づいて、以下の処理を行う。すなわち、転送先選択部730は、ハッシュ値105を転送先数Ntr=2で割った剰余1に1を足した値Vtr=2を得る。そして、転送先選択部730は、番号が2の転送先、つまり転送先2の転送装置105を選択してパケット転送部710へ通知する(図2の矢印Atr参照)。   In the transfer destination selection unit 730, the number of transfer destinations notified from the routing table search unit 722, the transfer device 104 as the transfer destination 1, the transfer device 105 as the transfer destination 2, and the hash function 727d are received. Based on the hash value 105, the following processing is performed. That is, the transfer destination selection unit 730 obtains a value Vtr = 2 obtained by adding 1 to the remainder 1 obtained by dividing the hash value 105 by the transfer destination number Ntr = 2. Then, the transfer destination selection unit 730 selects the transfer destination with the number 2, that is, the transfer device 105 of the transfer destination 2, and notifies the packet transfer unit 710 (see arrow Atr in FIG. 2).

パケット転送部710はパケットのTTLを1減算し、通知された転送先である転送装置105へパケットを転送する。   The packet transfer unit 710 subtracts 1 from the TTL of the packet, and transfers the packet to the transfer device 105 that is the notified transfer destination.

こうして、フロー501についての第3のホップの転送装置として、転送装置105が選ばれる(図7の列823参照)。   Thus, transfer device 105 is selected as the third hop transfer device for flow 501 (see column 823 in FIG. 7).

他のフロー502〜508についても上記と同じ方法によって第1ホップ、第2ホップ、第3ホップを求めた結果が、図7に示されている。   FIG. 7 shows the results of obtaining the first hop, the second hop, and the third hop for the other flows 502 to 508 by the same method as described above.

図7において、全8フローのうち半分の4フローが、第2ホップとして転送装置102を割り当てられており、残りの半分のフローが、第2ホップとして転送装置103を割り当てられている(列820参照)。すなわち、第2ホップに関しては、転送装置102,103に均等にフローが割りふられている。また、図7において、全8フローのうち1/4の2フローずつが、第3ホップとして、転送装置104、転送装置105、転送装置106、転送装置107に均等に割り当てられている(列823参照)。   In FIG. 7, half of the 8 flows are assigned the transfer device 102 as the second hop, and the other half of the flows are assigned the transfer device 103 as the second hop (column 820). reference). That is, for the second hop, the flows are equally allocated to the transfer apparatuses 102 and 103. In FIG. 7, two quarters of the total of eight flows are equally allocated to the transfer device 104, the transfer device 105, the transfer device 106, and the transfer device 107 as the third hop (column 823). reference).

以上より、実施例1のTTL切替型ロードバランス転送装置701を用いると、マルチパスで選ばれた転送装置(上記の例では第2ホップ)においてさらにマルチパス転送が発生した場合においても、パケットを均等に分散することができることがわかる。そして、パケットの分散のために、ネットワーク管理者が転送先選択方法を設定する必要がなく、転送先選択方法を決定するプロトコルを使う必要もない。   As described above, when the TTL switching type load balance transfer device 701 according to the first embodiment is used, even when multipath transfer further occurs in the transfer device selected in multipath (the second hop in the above example), the packet is transmitted. It can be seen that it can be evenly distributed. For packet distribution, the network administrator does not need to set a transfer destination selection method and does not need to use a protocol for determining the transfer destination selection method.

A3.ロードバランス転送装置の効果:
実施例1では、転送装置に転送先選択方法としてのハッシュ関数を複数用意する。そして、パケットからTTLフィールドの値を抽出して、その値に対応する転送先選択方法(ハッシュ関数)をパケットごとに選び、選んだ転送先選択方法に、フローを識別するフィールドの値を適用して転送先を決定している。
A3. Effect of load balance transfer device:
In the first embodiment, a plurality of hash functions as a transfer destination selection method are prepared in the transfer device. Then, the value of the TTL field is extracted from the packet, the transfer destination selection method (hash function) corresponding to the value is selected for each packet, and the value of the field identifying the flow is applied to the selected transfer destination selection method. To determine the forwarding destination.

実施例1の転送装置では、マルチパスから転送先を選択する方法にハッシュ関数を用いているので、通信フローと転送先の対応を記憶する必要がない。   In the transfer apparatus according to the first embodiment, since the hash function is used in the method of selecting the transfer destination from the multipath, it is not necessary to store the correspondence between the communication flow and the transfer destination.

TTLフィールドの値は、転送装置がパケットを転送するたびに1減る。このため、(i)あるパケットのTTLフィールドの値は、そのパケットが転送された先の各転送装置にある時点で、それぞれ異なっている。一方、同一通信フローの異なるパケットについては、端末が最初に送信する時点におけるTTLフィールドの値は同じである。このため、(ii)通信経路が同じであるかぎり、同一フローのどのパケットについても、同じ転送装置が受信した時点でのTTLフィールドの値は同じである。   The value of the TTL field is decremented by 1 every time the transfer device transfers a packet. For this reason, (i) the value of the TTL field of a packet is different at each point in time at each transfer device to which the packet is transferred. On the other hand, for different packets of the same communication flow, the value of the TTL field at the time when the terminal first transmits is the same. Therefore, (ii) as long as the communication path is the same, the value of the TTL field at the time when the same transfer apparatus receives the same packet for any packet in the same flow.

実施例1においては、TTLフィールドの後者の特性(ii)により、同一フローの異なるパケットが同じ転送先に転送される。そして、TTLフィールドの前者の特性(i)により、同一パケットであっても、異なる転送装置にあるときには、同じ選択傾向にならないように転送先が選択される。   In the first embodiment, different packets of the same flow are transferred to the same transfer destination by the latter characteristic (ii) of the TTL field. Then, due to the former characteristic (i) of the TTL field, even if the packet is the same, the transfer destination is selected so as not to have the same selection tendency when it is in a different transfer device.

上記の効果は、マルチパスである転送装置であって、転送先を選択する方法としてハッシュ関数を用いる転送装置が、2台以上あるネットワークにおいて、有効に発揮される。このため、ネットワークにおいて通信を公平に分散させるにあたり、ネットワーク管理者が転送先選択方法を設定する必要がない。また、各転送装置についてできるだけ異なる転送先選択方法を採用するためのプロトコルを設ける必要もない。なお、ここでは、各転送装置において転送先が2個ある場合を例に説明したが(図1参照)、転送装置において転送可能な転送先が3以上ある場合についても、同様に、上記の効果は得られる。   The above effect is effectively exhibited in a network having two or more transfer devices that use a hash function as a method of selecting a transfer destination, which is a multipath transfer device. For this reason, it is not necessary for the network administrator to set a transfer destination selection method in order to distribute communication fairly in the network. Further, it is not necessary to provide a protocol for adopting as different a transfer destination selection method as possible for each transfer device. Here, the case where there are two transfer destinations in each transfer device has been described as an example (see FIG. 1), but the above effect is similarly applied to the case where there are three or more transfer destinations that can be transferred in the transfer device. Is obtained.

B.参考例:
図8は、参考例のロードバランス転送装置702を示すブロック図である。参考例のロードバランス転送装置702は、TTLフィールド抽出部725、ハッシュ関数選択部726、ならびにハッシュ関数727b〜727dを備えていない(図2および図8参照)。そして、フロー識別フィールド抽出部724は、パケットのヘッダ部分からフローの識別に使用する送信元アドレス、宛先アドレス、およびプロトコル番号のフィールドの値(図6参照)を抽出し、ハッシュ関数727aへ通知する(図8の矢印Af参照)。参考例のロードバランス転送装置702の他の点は、実施例1のロードバランス転送装置701と同じである。
B. Reference example:
FIG. 8 is a block diagram illustrating a load balance transfer device 702 of a reference example. The load balance transfer device 702 of the reference example does not include a TTL field extraction unit 725, a hash function selection unit 726, and hash functions 727b to 727d (see FIGS. 2 and 8). Then, the flow identification field extraction unit 724 extracts the values of the source address, destination address, and protocol number fields (see FIG. 6) used for flow identification from the header portion of the packet, and notifies the hash function 727a. (See arrow Af in FIG. 8). Other points of the load balance transfer device 702 of the reference example are the same as those of the load balance transfer device 701 of the first embodiment.

図9は、図1のネットワークNTの各転送装置に、図8の参考例のロードバランス転送装置702を採用し、図6に示したフロー501〜508のパケットを端末111,112から流した場合の、パケット転送経路(第1ホップ、第2ホップ、第3ホップ)を示した表Tpcである。   9 employs the load balance transfer device 702 of the reference example of FIG. 8 for each transfer device of the network NT of FIG. 1, and the packets of the flows 501 to 508 shown in FIG. This is a table Tpc showing packet transfer paths (first hop, second hop, third hop).

ただし、転送装置101のルーティングテーブル723は図3に示した内容を有し、転送装置102のルーティングテーブル723は図4に示した内容を有し、転送装置103のルーティングテーブル723は図5に示した内容を有するものとする。また、端末111,112は、すべてのフローのパケットについて、TTLを64として、パケットを送信するものとする。   However, the routing table 723 of the transfer apparatus 101 has the contents shown in FIG. 3, the routing table 723 of the transfer apparatus 102 has the contents shown in FIG. 4, and the routing table 723 of the transfer apparatus 103 is shown in FIG. It shall have the contents. The terminals 111 and 112 transmit packets with TTL set to 64 for all the flow packets.

表Tpcの第1行目に示されているフロー501(図7の第1行目参照)を例に説明する。フロー501の送信元アドレスは10.0.0.1である。すなわち、フロー501の送信元は、端末111である(図1参照)。端末111は、フロー501のパケットを送信する際には、転送装置101へそのパケットを送信する。このため、フロー501の第1ホップは転送装置101である(図9の列615参照)。   A flow 501 (see the first row in FIG. 7) shown in the first row of the table Tpc will be described as an example. The source address of the flow 501 is 10.0.0.1. That is, the transmission source of the flow 501 is the terminal 111 (see FIG. 1). When the terminal 111 transmits the packet of the flow 501, the terminal 111 transmits the packet to the transfer apparatus 101. Therefore, the first hop of the flow 501 is the transfer device 101 (see column 615 in FIG. 9).

フロー501のパケットからフロー識別フィールド抽出部724が抽出した送信元アドレス10.0.0.1、宛先アドレス20.0.0.1、プロトコル番号6が、ハッシュ関数727aへ通知される(図9の列511〜513、ならびに図8の矢印Af参照)。   The source address 10.0.0.1, destination address 20.0.0.1, and protocol number 6 extracted by the flow identification field extraction unit 724 from the packet of the flow 501 are notified to the hash function 727a (FIG. 9). Column 511-513 and arrow Af in FIG. 8).

ハッシュ関数727aは、実施例1の場合と同様にして、送信元アドレス、宛先アドレス、プロトコル番号に基づいて、第1ホップのハッシュ値として90を得る(図9の列614参照)。   The hash function 727a obtains 90 as the hash value of the first hop based on the transmission source address, the destination address, and the protocol number as in the case of the first embodiment (see the column 614 in FIG. 9).

一方で、転送装置101の宛先アドレス抽出部721は、フロー501のパケットから宛先アドレス20.0.0.1を抽出し、ルーティングテーブル検索部722へ通知する(図2の矢印Aa参照)。   On the other hand, the destination address extraction unit 721 of the transfer apparatus 101 extracts the destination address 20.0.0.1 from the packet of the flow 501 and notifies the routing table search unit 722 (see arrow Aa in FIG. 2).

ルーティングテーブル検索部722は、通知された宛先アドレス20.0.0.1を用いて、実施例1と同様に、ルーティングテーブル723を検索する。そして、ルーティングテーブル検索部722は、転送先数2、ならびに転送先1としての転送装置102、転送先2としての転送装置103を得て、それらを転送先選択部730へ通知する(図3のエントリ203、および図8参照)。   The routing table search unit 722 searches the routing table 723 using the notified destination address 20.0.0.1 as in the first embodiment. Then, the routing table search unit 722 obtains the transfer destination number 2, the transfer device 102 as the transfer destination 1, and the transfer device 103 as the transfer destination 2, and notifies them to the transfer destination selection unit 730 (FIG. 3). Entry 203 and FIG. 8).

転送先選択部730は、ルーティングテーブル検索部722より通知を受けた転送先数2、転送先1としての転送装置102、転送先2としての転送装置103、ならびに、ハッシュ関数727aより通知を受けたハッシュ値90に基づいて、実施例1の場合と同様に、転送先1の転送装置102を選択して、これをパケット転送部710へ通知する(図9の列616、および図8の矢印Atr参照)。   The transfer destination selection unit 730 receives the notification from the transfer function number 2 received from the routing table search unit 722, the transfer device 102 as the transfer destination 1, the transfer device 103 as the transfer destination 2, and the hash function 727a. Based on the hash value 90, as in the case of the first embodiment, the transfer device 102 of the transfer destination 1 is selected and notified to the packet transfer unit 710 (column 616 in FIG. 9 and arrow Atr in FIG. 8). reference).

パケット転送部710ではパケットのTTLを1減算して63とし、通知された転送先である転送装置102へパケットを転送する。   The packet transfer unit 710 decrements the TTL of the packet by 1 to 63, and transfers the packet to the transfer device 102 that is the notified transfer destination.

第2ホップである転送装置102のフロー識別フィールド抽出部724は、フロー501のパケットから、送信元アドレス10.0.0.1、宛先アドレス20.0.0.1、プロトコル番号6を抽出し、ハッシュ関数727aへ通知する(図8参照)。   The flow identification field extraction unit 724 of the transfer device 102 that is the second hop extracts the source address 10.0.0.1, the destination address 20.0.0.1, and the protocol number 6 from the packet of the flow 501. And notifies the hash function 727a (see FIG. 8).

第2ホップである転送装置102のハッシュ関数727aは、第1ホップである転送装置101のハッシュ関数727aと同様にして、送信元アドレス、宛先アドレス、プロトコル番号に基づいて、第2ホップのハッシュ値として90を得る。   The hash function 727a of the transfer device 102 that is the second hop is similar to the hash function 727a of the transfer device 101 that is the first hop, based on the source address, the destination address, and the protocol number. Get 90 as

第2ホップである転送装置102のルーティングテーブル検索部722は、宛先アドレス抽出部721から通知された宛先アドレス20.0.0.1を用いて、第1ホップである転送装置101のルーティングテーブル検索部722と同様に、ルーティングテーブル723を検索する。そして、第2ホップである転送装置102のルーティングテーブル検索部722は、転送先数2、ならびに転送先1としての転送装置104、転送先2としての転送装置105を得て、それらを転送先選択部730へ通知する(図4のエントリ302、および図8参照)。   The routing table search unit 722 of the transfer device 102 that is the second hop uses the destination address 20.0.0.1 notified from the destination address extraction unit 721 to search the routing table of the transfer device 101 that is the first hop. Similarly to the unit 722, the routing table 723 is searched. Then, the routing table search unit 722 of the transfer device 102 which is the second hop obtains the transfer destination number 2, the transfer device 104 as the transfer destination 1, and the transfer device 105 as the transfer destination 2, and selects them as the transfer destination. Section 730 is notified (see entry 302 in FIG. 4 and FIG. 8).

転送先選択部730は、ルーティングテーブル検索部722より通知を受けた転送先数2、転送先1としての転送装置104、転送先2としての転送装置105、ならびに、ハッシュ関数727aより通知を受けたハッシュ値90に基づいて、以下の処理を行う。すなわち、転送先選択部730は、ハッシュ値90に基づいて値Vtr=1を得る。そして、転送先選択部730は、転送先1の転送装置104を選択してパケット転送部710へ通知する(図8の矢印Atr参照)。   The transfer destination selection unit 730 receives the notification from the transfer function number 2 received from the routing table search unit 722, the transfer device 104 as the transfer destination 1, the transfer device 105 as the transfer destination 2, and the hash function 727a. Based on the hash value 90, the following processing is performed. That is, the transfer destination selection unit 730 obtains the value Vtr = 1 based on the hash value 90. Then, the transfer destination selection unit 730 selects the transfer device 104 of the transfer destination 1 and notifies the packet transfer unit 710 (see arrow Atr in FIG. 8).

パケット転送部710ではパケットのTTLを1減算して63とし、通知された転送先である転送装置104へパケットを転送する。   The packet transfer unit 710 subtracts 1 from the TTL of the packet to 63, and transfers the packet to the transfer device 104 that is the notified transfer destination.

こうして、第3のホップの転送装置として転送装置として転送装置104が選ばれる(図9の列617参照)。   Thus, the transfer device 104 is selected as the transfer device of the third hop (see column 617 in FIG. 9).

他のフロー502〜508についても上記と同じ方法によって第1ホップ、第2ホップ、第3ホップを求めた結果が、図9に示されている。   FIG. 9 shows the result of obtaining the first hop, the second hop, and the third hop for the other flows 502 to 508 by the same method as described above.

図9においても、実施例1の図7と同様、全8フローのうち半分の4フローが、第2ホップとして転送装置102を割り当てられており、残りの半分のフローが、第2ホップとして転送装置103を割り当てられている(列616参照)。すなわち、第2ホップに関しては、転送装置102,103に均等にフローが割りふられている。   Also in FIG. 9, as in FIG. 7 of the first embodiment, four of the eight flows are assigned to the transfer device 102 as the second hop, and the remaining half of the flows are transferred as the second hop. Device 103 is assigned (see column 616). That is, for the second hop, the flows are equally allocated to the transfer apparatuses 102 and 103.

しかし、図9においては、全8フローのうち半分の4フローが、第3ホップとして転送装置104を割り当てられており、残りの半分のフローが、第3ホップとして転送装置107を割り当てられている(列617参照)。すなわち、第3ホップの転送装置として、転送装置105,106は、選択されていない。言い換えれば、第2ホップとしての転送装置102,103においては、ロードバランスが機能していない。   However, in FIG. 9, half of all eight flows are assigned the transfer device 104 as the third hop, and the other half of the flows are assigned the transfer device 107 as the third hop. (See column 617). That is, the transfer devices 105 and 106 are not selected as the third hop transfer device. In other words, the load balance does not function in the transfer apparatuses 102 and 103 as the second hop.

転送装置102,103において転送先の選択が偏る原因は、(i)転送先を選択する方法が、フローの識別に使えるフィールドの値を入力値とするハッシュ関数を用いるものであり、しかも、(ii)その方法がすべての転送装置で同一であることである。   The reason why the transfer destinations in the transfer apparatuses 102 and 103 are biased is that (i) the method of selecting a transfer destination uses a hash function that uses a field value usable for flow identification as an input value, and ( ii) The method is the same for all transfer devices.

より具体的には、転送装置101から転送装置102へ転送されるパケットは、いずれも、フローを表すフィールドの値に基づいて、転送先1が選択される(すなわち、ハッシュ関数727aのハッシュ値の2の剰余が0となる)パケットである。このため、それらのパケットに対しては、第2ホップである転送装置102においても、転送先1が選択される。その結果、それらのパケットの第3ホップは同じ転送装置となる。同様に、転送装置101から転送装置103へ転送されるパケットは、いずれも転送先2が選択される(すなわち、ハッシュ関数727aのハッシュ値の2の剰余が1となる)パケットである。このため、それらのパケットに対しては、第2ホップである転送装置103においても、転送先2が選択される。その結果、それらのパケットの第3ホップは同じ転送装置となる。   More specifically, in each of the packets transferred from the transfer device 101 to the transfer device 102, the transfer destination 1 is selected based on the value of the field representing the flow (that is, the hash value of the hash function 727a). 2 (the remainder of 2 is 0). For this reason, transfer destination 1 is also selected for those packets in transfer apparatus 102 which is the second hop. As a result, the third hop of those packets is the same forwarding device. Similarly, any of the packets transferred from the transfer apparatus 101 to the transfer apparatus 103 is a packet for which the transfer destination 2 is selected (that is, the remainder of 2 of the hash value of the hash function 727a is 1). For this reason, transfer destination 2 is selected for those packets in transfer apparatus 103 as the second hop. As a result, the third hop of those packets is the same forwarding device.

以上で説明したように、複数のハッシュ関数727b〜727dと、ハッシュ関数選択部726と、TTLフィールド抽出部725と(図2参照)、を備えない参考例のロードバランス転送装置702は、図1のネットワークNTの転送装置として採用された場合に、ロードバランス機能を十分に発揮し得ない。   As described above, the load balance transfer apparatus 702 of the reference example that does not include the plurality of hash functions 727b to 727d, the hash function selection unit 726, and the TTL field extraction unit 725 (see FIG. 2) When it is adopted as a transfer device for network NT, the load balance function cannot be fully exhibited.

一方で、同じ入力値に対して異なるハッシュ値を出力する複数のハッシュ関数727b〜727dと、それらのハッシュ関数を選択するハッシュ関数選択部726と、ハッシュ関数選択部726に対して各ホップで異なる入力値を与えるTTLフィールド抽出部725と、を備える実施例1のロードバランス転送装置702は(図2参照)、図1のネットワークNTの転送装置として採用された場合に、ロードバランス機能を十分に発揮し得る(図7参照)。   On the other hand, a plurality of hash functions 727b to 727d that output different hash values with respect to the same input value, a hash function selection unit 726 that selects those hash functions, and a hash function selection unit 726 that are different at each hop. The load balance transfer device 702 according to the first embodiment including the TTL field extraction unit 725 that gives an input value (see FIG. 2) has a sufficient load balance function when employed as the transfer device of the network NT in FIG. (See FIG. 7).

C.実施例2:
C1.ロードバランス転送装置の構成:
図10は、実施例2のTTL混合型ロードバランス転送装置901の構造を示すブロック図である。TTL混合型ロードバランス装置901は、ハッシュ関数選択部726、ならびにハッシュ関数727b〜727dを備えていない(図2および図10参照)。そして、TTL混合型ロードバランス転送装置901は、それらに代えてTTL混合ハッシュ関数926を備えている。フロー識別フィールド抽出部724は、パケットのヘッダ部分からフローの識別に使用する送信元アドレス、宛先アドレス、およびプロトコル番号のフィールドの値(図6参照)を抽出し、TTL混合ハッシュ関数926へ通知する(図10の矢印Af参照)。TTLフィールド抽出部725は、パケットのヘッダ部分からTTLフィールドの値を抽出し、TTL混合ハッシュ関数926へ通知する(図10の矢印Att参照)。これらの構成を備える転送先決定部を、実施例1の転送先決定部720と区別するために、転送先決定部920と呼ぶ。転送先決定部920を、「TTL混合型転送先決定部」と呼ぶことがある。
C. Example 2:
C1. Configuration of load balance transfer device:
FIG. 10 is a block diagram illustrating the structure of the TTL mixed load balance transfer apparatus 901 according to the second embodiment. The TTL mixed load balancer 901 does not include a hash function selection unit 726 and hash functions 727b to 727d (see FIGS. 2 and 10). The TTL mixed load balance transfer device 901 includes a TTL mixed hash function 926 instead. The flow identification field extraction unit 724 extracts the values of the source address, destination address, and protocol number fields (see FIG. 6) used for flow identification from the header portion of the packet, and notifies the TTL mixed hash function 926 of the values. (See arrow Af in FIG. 10). The TTL field extraction unit 725 extracts the value of the TTL field from the header portion of the packet and notifies the TTL mixed hash function 926 (see arrow Att in FIG. 10). The transfer destination determination unit having these configurations is referred to as a transfer destination determination unit 920 in order to distinguish it from the transfer destination determination unit 720 of the first embodiment. The transfer destination determination unit 920 may be referred to as a “TTL mixed transfer destination determination unit”.

実施例2のTTL混合型ロードバランス転送装置901の他の点は、実施例1のTTL切替型ロードバランス転送装置701と同じである。   Other points of the TTL mixed load balance transfer device 901 of the second embodiment are the same as the TTL switching load balance transfer device 701 of the first embodiment.

TTL混合ハッシュ関数926は、フロー識別フィールド抽出部724から受け取るフローを表すフィールドの値と、TTLフィールド抽出部725から受け取るTTL値を、を使ってハッシュ値を計算し、転送先選択部730へ通知する。   The TTL mixed hash function 926 calculates a hash value using the field value indicating the flow received from the flow identification field extraction unit 724 and the TTL value received from the TTL field extraction unit 725, and notifies the transfer destination selection unit 730. To do.

より具体的には、TTL混合ハッシュ関数926は、以下の処理を行う。すなわち、TTL混合ハッシュ関数926は、TTLを64で割った剰余の数Vrを計算する。そして、送信元アドレス4バイト、宛先アドレス4バイト、プロトコル番号1バイトの合計9バイトを並べた72ビット列を、Vrだけ右へビットローテートする。その結果として得られた72ビット列に、生成多項式x+x+x+x+1を適用して得られた8ビットのCRC値を、出力値としてのハッシュ値とする。 More specifically, the TTL mixed hash function 926 performs the following processing. That is, the TTL mixed hash function 926 calculates a remainder number Vr obtained by dividing TTL by 64. Then, a 72-bit string in which a total of 9 bytes including a transmission source address of 4 bytes, a destination address of 4 bytes, and a protocol number of 1 byte are arranged is bit-rotated to the right by Vr. An 8-bit CRC value obtained by applying the generator polynomial x 8 + x 7 + x 3 + x 2 +1 to the 72-bit string obtained as a result is set as a hash value as an output value.

なお、実施例2では一例として上記のようなTTL混合ハッシュ関数926を採用したが、関数としては、上記とは別の内容を有する関数を採用することもできる。たとえば、TTLを割って剰余の数Vrを求める際に使用する数は、64以外の値とすることもできる。すなわち、TTL混合ハッシュ関数は、フロー識別フィールドの値とTTL値とをもとに、無作為な値を生成することができる関数であればよい。ただし、TTLを割って剰余の数Vrを求める際に使用する数は、ローテートする数の桁数より小さい値であり、かつ、できるだけ大きい値であることが好ましい。また、ローテートする数の桁数の約数ではないことが好ましい。   In the second embodiment, the TTL mixed hash function 926 as described above is adopted as an example, but a function having contents different from the above can be adopted as the function. For example, the number used when dividing the TTL to obtain the remainder number Vr can be a value other than 64. That is, the TTL mixed hash function may be a function that can generate a random value based on the value of the flow identification field and the TTL value. However, it is preferable that the number used when dividing the TTL to obtain the remainder number Vr is a value smaller than the number of digits of the number to be rotated and as large as possible. Further, it is preferably not a divisor of the number of digits of the number to be rotated.

転送先選択部730(図10参照)は、ルーティングテーブル検索部722から通知された転送先が複数ある場合、TTL混合ハッシュ関数926から通知されたハッシュ値を、さらにルーティングテーブル検索部722から通知された転送先数Ntrで割った剰余に1を加えて、値Vtr(Vtrは、1≦Vtr≦Ntrを満たす整数)を計算する。そして、転送先選択部730は、値Vtrが表す番号の転送先を選択する。   When there are a plurality of transfer destinations notified from the routing table search unit 722, the transfer destination selection unit 730 (see FIG. 10) is further notified of the hash value notified from the TTL mixed hash function 926 from the routing table search unit 722. The value Vtr (Vtr is an integer satisfying 1 ≦ Vtr ≦ Ntr) is calculated by adding 1 to the remainder divided by the transfer destination number Ntr. Then, the transfer destination selection unit 730 selects the transfer destination having the number represented by the value Vtr.

C2.ロードバランス転送装置における処理:
図11は、図1のネットワークにおいて、各転送装置に図10のTTL混合型ロードバランス転送装置901を採用し、図6に示したフロー501〜508のパケットを端末111,112から流した場合の、パケット転送経路を示した表Tp2である。ただし、転送装置101のルーティングテーブル723は図3に示した内容を有し、転送装置102のルーティングテーブル723は図4に示した内容を有し、転送装置103のルーティングテーブル723は図5に示した内容を有するものとする。また、端末111,112は、すべてのフローのパケットについて、TTLを64として、パケットを送信するものとする。
C2. Processing in the load balance transfer device:
FIG. 11 shows a case where the TTL mixed load balance transfer device 901 shown in FIG. 10 is adopted for each transfer device in the network shown in FIG. 1 and the packets of the flows 501 to 508 shown in FIG. Table Tp2 showing packet transfer paths. However, the routing table 723 of the transfer apparatus 101 has the contents shown in FIG. 3, the routing table 723 of the transfer apparatus 102 has the contents shown in FIG. 4, and the routing table 723 of the transfer apparatus 103 is shown in FIG. It shall have the contents. The terminals 111 and 112 transmit packets with TTL set to 64 for all the flow packets.

図11の表Tp2の各欄は、実施例1の図7の表Tp1の各欄に対応する。すなわち、列1014は、送信元端末がパケットを送信する時のTTLを表す。列1015は、第1ホップの転送装置に対応する。列1019は、第2ホップの転送装置に対応する。列1023は、第3ホップの転送装置を表す。   Each column of the table Tp2 of FIG. 11 corresponds to each column of the table Tp1 of FIG. That is, column 1014 represents the TTL when the source terminal transmits a packet. Column 1015 corresponds to the first hop forwarding device. Column 1019 corresponds to the second hop forwarding device. Column 1023 represents a third hop forwarding device.

第1ホップの転送装置に対応する列1015は、第1ホップの転送装置を表す列1016、第1ホップの転送装置がパケットを受信した時点でのTTLを表す列1017、第1ホップでのパケットに対応するハッシュ値を表す列1018を含む。第2ホップの転送装置に対応する列1019は、第2ホップの転送装置を表す列1020、第2ホップの転送装置がパケットを受信した時点でのTTLを表す列1021、第2ホップでのパケットに対応するハッシュ値を表す1022を含む。   A column 1015 corresponding to the first hop transfer device includes a column 1016 representing the first hop transfer device, a column 1017 representing the TTL at the time when the first hop transfer device received the packet, and a packet at the first hop. Column 1018 representing the hash value corresponding to. A column 1019 corresponding to the second hop transfer device includes a column 1020 representing the second hop transfer device, a column 1021 representing the TTL at the time when the second hop transfer device received the packet, and a packet at the second hop. 1022 representing the hash value corresponding to.

表Tp2の第1行目に示されているフロー501を例に、転送先決定部920における第1ホップ〜第3ホップの決定の処理を説明する。実施例1で説明したように、フロー501の送信元は、端末111(アドレス10.0.0.1)である(図11の列511参照)。そして、パケットの第1ホップの転送装置1016は、転送装置101である(図11の列1016および図1参照)。また、端末111がパケットを送信した時点の端末送信TTL1014は64であり(図11の列1014参照)、第1ホップの受信TTL1017も64である(図11の列1017参照)。   The process of determining the first hop to the third hop in the transfer destination determination unit 920 will be described using the flow 501 shown in the first row of the table Tp2 as an example. As described in the first embodiment, the transmission source of the flow 501 is the terminal 111 (address 10.0.0.1) (see column 511 in FIG. 11). The first hop transfer device 1016 of the packet is the transfer device 101 (see column 1016 in FIG. 11 and FIG. 1). Further, the terminal transmission TTL 1014 at the time when the terminal 111 transmits the packet is 64 (see column 1014 in FIG. 11), and the first hop reception TTL 1017 is also 64 (see column 1017 in FIG. 11).

第1ホップである転送装置101において、フロー識別フィールド抽出部724が送信元アドレス10.0.0.1、宛先アドレス20.0.0.1、プロトコル番号6を抽出し、TTL混合ハッシュ関数926へ通知する(図10の矢印Af参照)。また、TTLフィールド抽出部725が受信TTL値64を抽出し、同じくTTL混合ハッシュ関数926へ通知する(図10の矢印Att参照)。   In the transfer apparatus 101 that is the first hop, the flow identification field extraction unit 724 extracts the source address 10.0.0.1, the destination address 20.0.0.1, and the protocol number 6, and the TTL mixed hash function 926 (See arrow Af in FIG. 10). Also, the TTL field extraction unit 725 extracts the received TTL value 64 and similarly notifies the TTL mixed hash function 926 (see arrow Att in FIG. 10).

TTL混合ハッシュ関数926では、TTLを64で割った剰余の数Vr=0を計算する。そして、通知された送信元アドレス、宛先アドレス、プロトコル番号を並べた9バイトのバイト列0A0000011400000106を、Vrすなわち0ビットだけ右へローテートする。その結果として得られた値0A0000011400000106に、生成多項式x+x+x+x+1を適用してCRC値90を求め、第1ホップのハッシュ値として90を得る(図11の列1018参照)。 In the TTL mixed hash function 926, the number of remainders Vr = 0 obtained by dividing TTL by 64 is calculated. Then, the 9-byte byte sequence 0A0000011100000106 in which the notified source address, destination address, and protocol number are arranged is rotated to the right by Vr, that is, 0 bits. A CRC value 90 is obtained by applying the generator polynomial x 8 + x 7 + x 3 + x 2 +1 to the resulting value 0A000001100000106 to obtain 90 as the hash value of the first hop (see column 1018 in FIG. 11).

一方で、転送装置101の宛先アドレス抽出部721は、フロー501のパケットから宛先アドレス20.0.0.1を抽出し、ルーティングテーブル検索部722へ通知する(図10の矢印Aa参照)。   On the other hand, the destination address extraction unit 721 of the transfer apparatus 101 extracts the destination address 20.0.0.1 from the packet of the flow 501 and notifies the routing table search unit 722 (see arrow Aa in FIG. 10).

ルーティングテーブル検索部722は、通知された宛先アドレス20.0.0.1を用いてルーティングテーブル723を検索する。そして、ルーティングテーブル検索部722は、転送先数2、ならびに転送先1としての転送装置102、転送先2としての転送装置103を得て(図3のエントリ203参照)、それらを転送先選択部730へ通知する(図10参照)。   The routing table search unit 722 searches the routing table 723 using the notified destination address 20.0.0.1. Then, the routing table search unit 722 obtains the transfer destination number 2, the transfer device 102 as the transfer destination 1, and the transfer device 103 as the transfer destination 2 (see entry 203 in FIG. 3), and transfers them to the transfer destination selection unit. Notification to 730 (see FIG. 10).

転送先選択部730は、ルーティングテーブル検索部722より通知を受けた転送先数2、転送先1としての転送装置102、転送先2としての転送装置103、ならびに、TTL混合ハッシュ関数926より通知を受けたハッシュ値90に基づいて、ハッシュ値90を転送先数Ntr=2で割った剰余に1を足した値Vtr=1を得る。そして、転送先選択部730は、番号が1の転送先、つまり転送先1の転送装置102を選択してパケット転送部710へ通知する(図10参照)。   The transfer destination selection unit 730 receives a notification from the transfer destination number 2 received from the routing table search unit 722, the transfer device 102 as the transfer destination 1, the transfer device 103 as the transfer destination 2, and the TTL mixed hash function 926. Based on the received hash value 90, a value Vtr = 1 obtained by adding 1 to the remainder obtained by dividing the hash value 90 by the transfer destination number Ntr = 2 is obtained. Then, the transfer destination selection unit 730 selects the transfer destination with the number 1, that is, the transfer device 102 with the transfer destination 1, and notifies the packet transfer unit 710 (see FIG. 10).

パケット転送部710ではパケットのTTLを1減算して63とし、通知された転送先である転送装置102へパケットを転送する。   The packet transfer unit 710 decrements the TTL of the packet by 1 to 63, and transfers the packet to the transfer device 102 that is the notified transfer destination.

こうして、フロー501についての第2ホップの転送装置として転送装置102が選ばれる(図11の列1020参照)。また、転送装置102が受信した時点のTTLは63となる(図11の列1021参照)。   Thus, the transfer device 102 is selected as the second-hop transfer device for the flow 501 (see column 1020 in FIG. 11). In addition, the TTL at the time when the transfer apparatus 102 receives is 63 (see column 1021 in FIG. 11).

第2ホップである転送装置102においても、フロー識別フィールド抽出部724が同様に送信元アドレス、宛先アドレス、プロトコル番号を抽出し、TTL混合ハッシュ関数926へ通知する(図10の矢印Aa参照)。また、TTLフィールド抽出部725が受信TTL値63を抽出し、TTL混合ハッシュ関数926へ通知する(図10の矢印Att参照)。   Also in the transfer apparatus 102 that is the second hop, the flow identification field extraction unit 724 similarly extracts the source address, the destination address, and the protocol number, and notifies the TTL mixed hash function 926 (see arrow Aa in FIG. 10). Also, the TTL field extraction unit 725 extracts the received TTL value 63 and notifies the TTL mixed hash function 926 (see arrow Att in FIG. 10).

転送装置102のTTL混合ハッシュ関数926は、TTL63を64で割った剰余の数Vr=63を計算する。そして、TTL混合ハッシュ関数926は、通知された送信元アドレス、宛先アドレス、プロトコル番号を並べた9バイトのバイト列0A0000011400000106を、Vrすなわち63ビットだけ右ローテートする。その結果得られた値000002280000020C14に、生成多項式x+x+x+x+1を適用してCRC値41を求め、第2ホップのハッシュ値として41を得る(図11の列1022参照)。 The TTL mixed hash function 926 of the transfer apparatus 102 calculates the number of remainders Vr = 63 obtained by dividing TTL63 by 64. Then, the TTL mixed hash function 926 right-rotates the 9-byte byte sequence 0A0000011100000106 in which the notified source address, destination address, and protocol number are arranged by Vr, that is, 63 bits. By applying the generator polynomial x 8 + x 7 + x 3 + x 2 +1 to the value 000002280000020C14 obtained as a result, the CRC value 41 is obtained, and 41 is obtained as the hash value of the second hop (see column 1022 in FIG. 11).

一方で、転送装置102の宛先アドレス抽出部721は、フロー501のパケットから宛先アドレス20.0.0.1を抽出し、ルーティングテーブル検索部722へ通知する(図10の矢印Aa参照)。   On the other hand, the destination address extraction unit 721 of the transfer apparatus 102 extracts the destination address 20.0.0.1 from the packet of the flow 501 and notifies the routing table search unit 722 (see arrow Aa in FIG. 10).

ルーティングテーブル検索部722は、通知された宛先アドレス20.0.0.1を用いてルーティングテーブル723(図4参照)を検索する。そして、ルーティングテーブル検索部722は、転送先数2、ならびに転送先1としての転送装置104、転送先2としての転送装置105を得て(図3のエントリ302参照)、転送先選択部730へ通知する。   The routing table search unit 722 searches the routing table 723 (see FIG. 4) using the notified destination address 20.0.0.0.1. Then, the routing table search unit 722 obtains the transfer destination number 2, the transfer device 104 as the transfer destination 1, and the transfer device 105 as the transfer destination 2 (see entry 302 in FIG. 3), and transfers to the transfer destination selection unit 730. Notice.

転送先選択部730は、ルーティングテーブル検索部722より通知を受けた転送先数2、転送先1としての転送装置104、転送先2としての転送装置105、ならびに、TTL混合ハッシュ関数926より通知を受けたハッシュ値41に基づいて、以下の処理を行う。すなわち、ハッシュ値41を転送先数Ntr=2で割った剰余に1を足した値Vtr=2を得る。そして、転送先選択部730は、番号が2の転送先、つまり転送先2の転送装置105を選択してパケット転送部710へ通知する。   The transfer destination selection unit 730 receives the notifications from the transfer destination number 2 received from the routing table search unit 722, the transfer device 104 as the transfer destination 1, the transfer device 105 as the transfer destination 2, and the TTL mixed hash function 926. Based on the received hash value 41, the following processing is performed. That is, a value Vtr = 2 obtained by adding 1 to the remainder obtained by dividing the hash value 41 by the transfer destination number Ntr = 2 is obtained. Then, the transfer destination selection unit 730 selects the transfer destination number 2, that is, the transfer device 105 of the transfer destination 2 and notifies the packet transfer unit 710 of it.

パケット転送部710ではパケットのTTLを1減算し、通知された転送先である転送装置105へパケットを転送する。   The packet transfer unit 710 decrements the TTL of the packet by 1, and transfers the packet to the transfer device 105 that is the notified transfer destination.

こうして、フロー501についての第3のホップの転送装置として転送装置105が選ばれる(図11の列1023参照)。   Thus, the transfer device 105 is selected as the third hop transfer device for the flow 501 (see column 1023 in FIG. 11).

他のフロー502〜508についても上記と同じ方法によって第1ホップ、第2ホップ、第3ホップを求めた結果が、図11に示されている。   FIG. 11 shows a result of obtaining the first hop, the second hop, and the third hop for the other flows 502 to 508 by the same method as described above.

図11において、全8フローのうち半分の4フローが、第2ホップとして転送装置102を割り当てられており、残りの半分のフローが、第2ホップとして転送装置103を割り当てられている(列1020参照)。すなわち、第2ホップに関しては、転送装置102,103に均等にフローが割りふられている。また、図11において、全8フローのうち1/4の2フローずつが、第3ホップとして、転送装置104、転送装置105、転送装置106、転送装置107に均等に割り当てられている(列1023参照)。   In FIG. 11, half of all eight flows are assigned the transfer device 102 as the second hop, and the other half of the flows are assigned the transfer device 103 as the second hop (sequence 1020). reference). That is, for the second hop, the flows are equally allocated to the transfer apparatuses 102 and 103. In FIG. 11, two-fourths of all eight flows are equally allocated to the transfer device 104, the transfer device 105, the transfer device 106, and the transfer device 107 as the third hop (column 1023). reference).

以上より、実施例2のTTL混合型ロードバランス転送装置901を用いても、マルチパスで選ばれた転送装置(上記の例では第2ホップ)においてさらにマルチパス転送が発生した場合においても、パケットを均等に分散することができることがわかる。そして、パケットの分散のために、ネットワーク管理者が転送先選択方法を設定する必要がなく、転送先選択方法を決定するプロトコルを使う必要もない。   As described above, even when the TTL mixed type load balance transfer device 901 of the second embodiment is used, even when the multipath transfer is further generated in the transfer device selected in the multipath (second hop in the above example), the packet It can be seen that can be evenly distributed. For packet distribution, the network administrator does not need to set a transfer destination selection method and does not need to use a protocol for determining the transfer destination selection method.

C3.ロードバランス転送装置の効果:
実施例2では、フローを識別するフィールドの値の他に、TTLフィールドの値も同時に用いる転送先選択方法(混合ハッシュ関数)を用意する。そして、パケットごとにTTLフィールドとフローを識別するフィールドの値を抽出し、その両方を転送先選択方法に適用することによって、転送先を決定する。
C3. Effect of load balance transfer device:
In the second embodiment, a transfer destination selection method (mixed hash function) that uses the value of the TTL field in addition to the value of the field that identifies the flow is prepared. Then, the TTL field and the field value for identifying the flow are extracted for each packet, and both are applied to the transfer destination selection method to determine the transfer destination.

あるパケットのTTLフィールドの値は、そのパケットが転送された先の各転送装置にある時点でそれぞれ異なっている、というTTLフィールドの特性を利用することにより、本実施例においては、同一パケットであっても、異なる転送装置にあるときには、同じ選択傾向にならないように転送先が選択される。   By using the property of the TTL field that the value of the TTL field of a packet is different at each point of time at each transfer device to which the packet is transferred, in this embodiment, the same packet is the same packet. However, when they are in different transfer apparatuses, the transfer destination is selected so as not to have the same selection tendency.

また、通信経路が同じであるかぎり、同一フローのどのパケットについても、同じ転送装置が受信した時点でのTTLフィールドの値は同じである、というTTLフィールドの特性を利用することにより、本実施例においては、同一フローの異なるパケットは、同じ転送先に転送される。   In addition, as long as the communication path is the same, the TTL field characteristic that the value of the TTL field is the same at the time when the same transfer device receives the packet in the same flow is used in this embodiment. In, different packets of the same flow are transferred to the same transfer destination.

その結果、実施例2によっても、実施例1と同様に、ネットワークにおけるパケットの転送において、参考例に比べて優れた効果を得ることができる。   As a result, also in the second embodiment, similar to the first embodiment, it is possible to obtain an effect superior to that of the reference example in packet transfer in the network.

D.変形例:
なお、本発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能である。
D. Variations:
In addition, this invention is not restricted to said Example and embodiment, In the range which does not deviate from the summary, it is possible to implement in various aspects.

D1.変形例1:
実施例1の第2〜第4のハッシュ関数727b〜dは、CRC値を、さらにそれぞれ右へ2bit、4bit、および6bitローテートして得られる値を、ハッシュ値とする。しかし、TTL切替型ロードバランス転送装置において用意される複数のハッシュ関数はこれらの態様に限られるものではなく、他の態様であってもよい。ただし、フローを特定することができるフィールドに基づいて定められる値を、互いに異なるbitだけローテートする態様とすることが好ましい。そして、ローテートするbit数は、フローを特定することができるフィールドに基づいて定められる値の桁数の整数倍ではないことが好ましい。
D1. Modification 1:
In the second to fourth hash functions 727b to 727d of the first embodiment, values obtained by further rotating the CRC value to the right by 2 bits, 4 bits, and 6 bits are used as hash values. However, the plurality of hash functions prepared in the TTL switching type load balance transfer device are not limited to these modes, and may be other modes. However, it is preferable that the value determined based on the field that can specify the flow is rotated by different bits. The number of bits to rotate is preferably not an integral multiple of the number of digits determined based on the field that can specify the flow.

D2.変形例2:
上記実施例では、フローを特定することができるフィールドから得られる数やTTLフィールドから得られる値に、生成多項式x+x+x+x+1を適用する。しかし、各フィールドから得られる数に対して適用する式は、他の式とすることもできる。ただし、ハッシュ関数は、入力値に対して、多項式と、bitローテートとの両方を適用して、ハッシュ値を得る関数であることが好ましい。このような態様とすれば、ハッシュ値をより均等なものとすることができる。
D2. Modification 2:
In the above embodiment, the generator polynomial x 8 + x 7 + x 3 + x 2 +1 is applied to the number obtained from the field that can specify the flow and the value obtained from the TTL field. However, the formula applied to the number obtained from each field may be another formula. However, the hash function is preferably a function that obtains a hash value by applying both a polynomial and a bit rotation to the input value. With such an aspect, the hash values can be made more uniform.

D3.変形例3:
上記実施例においては、パケットのTTLフィールドの値を利用して関数を切り換えることにより、またはパケットのTTLフィールドの値を関数の入力値の一つとすることにより、関数を使用して選択される転送先を変動させている。しかし、選択される転送先を変動させるために使用する情報としては、TTLフィールド以外のフィールドの値を採用することもできる。たとえば、そのパケットがそれまでに転送された回数を格納するフィールドをパケットが有している場合には、そのフィールドの値を使用することもできる。
D3. Modification 3:
In the above embodiment, the transfer is selected using the function by switching the function using the value of the TTL field of the packet or by setting the value of the TTL field of the packet as one of the input values of the function. The point is changed. However, as the information used for changing the selected transfer destination, the value of a field other than the TTL field can be adopted. For example, if the packet has a field that stores the number of times that packet has been transferred, the value of that field can be used.

すなわち、(1)同一転送装置が受信した同一通信フローのパケットであれば、そのフィールドの値が同じであり、(2)同一フローのパケットであっても、異なる転送装置で受信されたパケットにおいては、そのフィールドの値が異なる、という条件を満たすフィールドであれば、それを利用してパケットの転送先を決定することができる。   That is, (1) the same communication flow received by the same transfer device has the same field value, and (2) the same flow packet received by a different transfer device If the field satisfies the condition that the field values are different, the transfer destination of the packet can be determined using the field.

上記のようなフィールドの値に応じてパケットの転送先を選択すると、特性(1)により、一つの転送装置においては、同一通信フローのパケットは転送先が同じになる。また、特性(2)により、異なる転送装置においては、同一通信フローのパケットであっても、転送先の選択の仕方が異なることになる。その結果、同じ通信フローのパケットは転送先が同じになる利点を残しつつ、ネットワークにおける通信の偏りをなくすことができる。   When a packet transfer destination is selected according to the value of the field as described above, according to the characteristic (1), in one transfer apparatus, packets of the same communication flow have the same transfer destination. Further, due to the characteristic (2), in different transfer apparatuses, the method of selecting a transfer destination is different even for packets of the same communication flow. As a result, packets in the same communication flow can eliminate communication bias in the network while retaining the advantage that the transfer destination is the same.

D4.変形例4:
上記第1実施例においては、ハッシュ関数選択部726は、TTLフィールドの値をハッシュ関数の数Nhで割った剰余に1を加えた値Vsに応じて、Vsの値に対応づけられたハッシュ関数を選択する。しかし、ハッシュ関数の選択は、所定のフィールドの値に基づいて、他の方法で行われることもできる。ただし、その方法は、そのフィールドの値に応じて、2以上のハッシュ関数のうちの一つのハッシュ関数を選択するものであることが好ましい。
D4. Modification 4:
In the first embodiment, the hash function selection unit 726 has the hash function associated with the value of Vs according to the value Vs obtained by adding 1 to the remainder obtained by dividing the value of the TTL field by the number of hash functions Nh. Select. However, the selection of the hash function can be performed in other ways based on the value of a predetermined field. However, it is preferable that the method is to select one of the two or more hash functions according to the value of the field.

ここで、「フィールドの値に応じて、2以上のハッシュ関数のうちの一つのハッシュ関数を選択する」とは、そのフィールドの値が第1の値であるときに選択されるハッシュ関数と、そのフィールドの値が第1の値とは異なる第2の値であるときに選択されるハッシュ関数と、が異なるような、第1の値と第2の値が存在する選択方法を意味する。すなわち、そのフィールドの値がどのような値であっても同じハッシュ関数が選択される態様は、「フィールドの値に応じて、2以上のハッシュ関数のうちの一つのハッシュ関数を選択」する態様には含まれない。一方で、「フィールドの値に応じて、前記2以上のハッシュ関数のうちの一つのハッシュ関数を選択」する態様においては、そのフィールドの値が第3の値であるときに選択されるハッシュ関数と、そのフィールドの値が第3の値とは異なる第4の値であるときに選択されるハッシュ関数と、が同じであるような、第3の値と第4の値が存在してもよい。   Here, “select one hash function of two or more hash functions according to the value of the field” means that the hash function selected when the value of the field is the first value; It means a selection method in which the first value and the second value exist such that the hash function selected when the value of the field is a second value different from the first value is different. That is, the mode in which the same hash function is selected regardless of the value of the field is “a mode in which one hash function is selected from two or more hash functions according to the field value”. Is not included. On the other hand, in the aspect of “selecting one of the two or more hash functions according to the value of the field”, the hash function selected when the value of the field is the third value And a hash function selected when the field value is a fourth value different from the third value, even if there is a third value and a fourth value. Good.

D5.変形例5.
上記第2実施例においては、TTL混合ハッシュ関数926は、フローを特定することができるフィールドの値に基づいて得られるビット列を、TTLを64で割った剰余の数Vrだけ、右へビットローテートし、その値に生成多項式を適用してハッシュ値を得る。しかし、ハッシュ値の決定は、所定の二つのフィールドの値に基づいて、他の方法で行われることもできる。ただし、その方法は、第1のフィールドの値と、第2のフィールドの値と、に応じて、ハッシュ値を出力するものであることが好ましい。
D5. Modification 5
In the second embodiment, the TTL mixed hash function 926 bit-rotates the bit string obtained based on the value of the field that can specify the flow to the right by the remainder number Vr obtained by dividing TTL by 64. Then, a generator polynomial is applied to the value to obtain a hash value. However, the determination of the hash value can be performed by other methods based on the values of two predetermined fields. However, it is preferable that the method outputs a hash value according to the value of the first field and the value of the second field.

ここで、「第1のフィールドの値と、〜第2のフィールドの値と、に応じて、ハッシュ値を出力する」とは、以下のような選択方法を意味する。すなわち、第1のフィールドの値が値V11であり第2のフィールドの値が値V21であるときのハッシュ値と、第1のフィールドの値がV11とは異なるV12であり第2のフィールドの値が値V21であるときのハッシュ値と、が異なるような、値V11と値V12と値V21とが存在する。さらに、第1のフィールドの値が値V11であり第2のフィールドの値が値V21であるときのハッシュ値と、第1のフィールドの値がV11であり第2のフィールドの値がV21とは異なるV22であるときのハッシュ値と、が異なるような、値V11と値V21と値V22とが存在する。   Here, “output the hash value according to the value of the first field and the value of the second field” means the following selection method. That is, the hash value when the value of the first field is the value V11 and the value of the second field is the value V21, and the value of the second field where the value of the first field is V12 different from V11. There are a value V11, a value V12, and a value V21 that are different from the hash value when the value is the value V21. Further, the hash value when the value of the first field is the value V11 and the value of the second field is the value V21, and the value of the first field is V11 and the value of the second field is V21. There are a value V11, a value V21, and a value V22 that have different hash values when they are different V22.

すなわち、第1のフィールドの値がどのような値であっても、第2のフィールドの値が同じである限り同じハッシュ値が出力される態様は、「第1のフィールドの値と、〜第2のフィールドの値と、に応じて、ハッシュ値を出力する」態様には含まれない。そして、第1のフィールドの値が同じである限り、第2のフィールドの値がどのような値をとっても同じハッシュ値が出力される態様は、「第1のフィールドの値と、〜第2のフィールドの値と、に応じて、ハッシュ値を出力する」態様には含まれない。   In other words, the same hash value is output as long as the value of the second field is the same regardless of the value of the first field. It is not included in the mode of outputting a hash value according to the value of the field 2. As long as the value of the first field is the same, the same hash value is output regardless of the value of the second field. It is not included in the mode of outputting the hash value according to the field value.

一方で、「第1のフィールドの値と、〜第2のフィールドの値と、に応じて、ハッシュ値を出力する」態様においては、第1のフィールドの値が値V11であり第2のフィールドの値が値V21であるときのハッシュ値と、第1のフィールドの値がV11とは異なるV12であり第2のフィールドの値が値V21であるときのハッシュ値と、が同じである、値V11と値V12と値V21とが存在してもよい。さらに、第1のフィールドの値が値V11であり第2のフィールドの値が値V21であるときのハッシュ値と、第1のフィールドの値がV11であり第2のフィールドの値がV21とは異なるV22であるときのハッシュ値と、が同じである、値V11と値V21と値V22が存在してもよい。   On the other hand, in the aspect in which “the hash value is output according to the value of the first field and the value of the second field”, the value of the first field is the value V11 and the second field A hash value when the value of is the value V21 and a hash value when the value of the first field is V12 different from V11 and the value of the second field is the value V21 V11, value V12, and value V21 may exist. Further, the hash value when the value of the first field is the value V11 and the value of the second field is the value V21, and the value of the first field is V11 and the value of the second field is V21. There may be a value V11, a value V21, and a value V22 that have the same hash value when they are different V22.

D6.変形例6.
上記実施例における宛先アドレス抽出部721やハッシュ関数727a〜727d、TTL混合ハッシュ関数926等の機能部は、CPUがソフトウェアを実行することによって実現されてもよいし、ハードウェアによって実現されてもよい。
D6. Modification 6
The functional units such as the destination address extraction unit 721, the hash functions 727a to 727d, and the TTL mixed hash function 926 in the above embodiment may be realized by executing software by the CPU or may be realized by hardware. .

101〜108…転送装置
111〜114…端末
121〜134…回線
201〜203…転送装置101のルーティングテーブルのエントリ
211…宛先アドレスを格納する列
212…転送先数を格納する列
213…転送先1を格納する列
214…転送先2を格納する列
301〜302…転送装置102のルーティングテーブルのエントリ
401〜402…転送装置103のルーティングテーブルのエントリ
501〜508…通信フロー
511…通信フローの送信元アドレスを示す列
512…通信フローの宛先アドレスを示す列
513…通信フローのプロトコル番号を示す列
614…通信フローのパケットから求めたハッシュ値を示す列
615…通信フローの第1ホップの転送装置の符号を示す列
616…通信フローの第2ホップの転送装置の符号を示す列
617…通信フローの第3ホップの転送装置の符号を示す列
701…TTL切替型ロードバランス転送装置
710…パケット転送部
711〜714…インタフェース
720…TTL切替型転送先決定部
720c…転送先決定部
721…宛先アドレス抽出部
722…ルーティングテーブル検索部
723…ルーティングテーブル
724…フロー識別フィールド抽出部
725…TTLフィールド抽出部
726…ハッシュ関数選択部
727a〜727d…ハッシュ関数
730…転送先選択部
814…通信フローの端末がパケットを送信した時点のTTL値を示す列
815…通信フローの第1ホップの内容を示す列
816…通信フローの第1ホップの転送装置の符号を示す列
817…通信フローの第1ホップの転送装置がパケットを受信した時点のTTL値を示す列
818…通信フローの第1ホップの転送装置でのパケットから求めたハッシュ値を示す列
819…通信フローの第2ホップでの内容を示す列
820…通信フローの第2ホップの転送装置の符号を示す列
821…通信フローの第2ホップの転送装置がパケットを受信した時点のTTL値を示す列
822…通信フローの第2ホップの転送装置でのパケットから求めたハッシュ値を示す列
823…通信フローの第3ホップの転送装置の符号を示す列
901…TTL混合型ロードバランス転送装置
920…TTL混合型転送先決定部
926…TTL混合ハッシュ関数
1014…通信フローの端末がパケットを送信した時点のTTL値を示す列
1015…通信フローの第1ホップの内容を示す列
1016…通信フローの第1ホップの転送装置の符号を示す列
1017…通信フローの第1ホップの転送装置がパケットを受信した時点のTTL値を示す列
1018…通信フローの第1ホップの転送装置でのパケットから求めたハッシュ値を示す列
1019…通信フローの第2ホップでの内容を示す列
1020…通信フローの第2ホップの転送装置の符号を示す列
1021…通信フローの第2ホップの転送装置がパケットを受信した時点のTTL値を示す列
1022…通信フローの第2ホップの転送装置でのパケットから求めたハッシュ値を示す列
1023…通信フローの第3ホップの転送装置の符号を示す列
Ah…パケットのヘッダ部分の通知を示す矢印
Atr…パケットの転送先の通知を示す矢印
NT…ネットワーク
Tf…フローを示す表
Tp1…TTL切替型ロードバランス転送装置を採用した場合のパケット転送経路を示す表
Tp2…TTL混合型ロードバランス転送装置を採用した場合のパケット転送経路を示す表
Tpc…参考例のロードバランス転送装置を採用した場合のパケット転送経路を示す表
101-108 ... transfer devices 111-114 ... terminals 121-134 ... lines 201-203 ... entries 211 in the routing table of the transfer device 101 ... column 212 for storing destination addresses ... column 213 for storing the number of transfer destinations ... transfer destination 1 Column 214 for storing transfer destinations 301-302 for storing transfer destination 2 entries 401-402 for routing table of transfer apparatus 102 ... entries 501-508 for routing table of transfer apparatus 103 ... communication flow 511 ... source of communication flow Column 512 indicating address ... Column 513 indicating destination address of communication flow ... Column 614 indicating protocol number of communication flow ... Column 615 indicating hash value obtained from packet of communication flow ... First transfer device of first hop of communication flow Column 616 indicating code ... Second-hop transfer device of communication flow Column 617 indicating code ... Column 701 indicating code of the third hop transfer device in the communication flow ... TTL switching load balance transfer device 710 ... Packet transfer unit 711-714 ... Interface 720 ... TTL switching type transfer destination determining unit 720c ... Transfer destination determination unit 721 ... Destination address extraction unit 722 ... Routing table search unit 723 ... Routing table 724 ... Flow identification field extraction unit 725 ... TTL field extraction unit 726 ... Hash function selection units 727a to 727d ... Hash function 730 ... Transfer destination selection Section 814 ... Column 815 indicating the TTL value at the time when the terminal of the communication flow transmitted the packet ... Column 816 indicating the contents of the first hop of the communication flow ... Column 817 indicating the code of the transfer device of the first hop of the communication flow ... The first-hop transfer device of the communication flow receives the packet A column 818 indicating the TTL value at the time point, a column 819 indicating a hash value obtained from the packet in the transfer device of the first hop of the communication flow, a column 820 indicating the content at the second hop of the communication flow, and a column 820 of the communication flow Column 821 indicating the code of the two-hop transfer device ... Column 822 indicating the TTL value at the time when the second hop transfer device of the communication flow received the packet. Obtained from the packet at the second hop transfer device of the communication flow Column 823 indicating a hash value ... Column 901 indicating a code of the third hop transfer device of the communication flow ... TTL mixed load balance transfer device 920 ... TTL mixed transfer destination determination unit 926 ... TTL mixed hash function 1014 ... of the communication flow Column 1015 indicating the TTL value at the time when the terminal transmitted the packet ... Column 1016 indicating the content of the first hop of the communication flow ... First column of the communication flow Column 1017 indicating the code of the transfer device in the network ... column 1018 indicating the TTL value at the time when the first hop transfer device of the communication flow received the packet, obtained from the packet in the transfer device in the first hop of the communication flow Column 1019 indicating the hash value ... Column 1020 indicating the content of the second hop of the communication flow ... Column 1021 indicating the code of the second hop transfer device of the communication flow ... The transfer device of the second hop of the communication flow receives the packet A column 1022 indicating the TTL value at the time of the transmission, a column 1023 indicating a hash value obtained from the packet in the second hop transfer device of the communication flow, a column Ah indicating a code of the third hop transfer device in the communication flow Arrow indicating notification of header part Atr ... Arrow indicating packet transfer destination notification NT ... Network Tf ... Table indicating flow Tp1 ... TTL switching type Table showing packet transfer path when adopting debalance transfer apparatus Tp2 ... Table showing packet transfer path when adopting TTL mixed load balance transfer apparatus Tpc ... Packet when adopting load balance transfer apparatus of reference example Table showing transfer route

Claims (4)

ネットワークを介して受信したパケットを、前記ネットワークに接続された他の装置に、前記ネットワークを介して転送する転送装置であって、
パケットの宛先と対応づけて転送先としての前記他の装置を1以上格納するルーティングテーブルと、
パケットのフローの識別に用いることができるパケットの第1のフィールドの値を入力値とする2以上のハッシュ関数であって、同一の入力値に対して異なる出力値を出力する2以上のハッシュ関数と、
前記受信したパケットのそれまでの転送回数または残り転送可能回数を表す第2のフィールドの値に応じて、前記2以上のハッシュ関数のうちの一つのハッシュ関数を選択するハッシュ関数選択部と、
前記ルーティングテーブルにおいて、前記受信したパケットの宛先と対応づけられた転送先が2以上ある場合に、前記受信したパケットの前記第1のフィールドの値を入力値とする前記選択されたハッシュ関数の出力値に基づいて、前記2以上の転送先の中から前記受信したパケットの転送先を選択する転送先選択部と、を備える転送装置。
A transfer device for transferring a packet received via a network to another device connected to the network via the network;
A routing table that stores one or more other devices as transfer destinations in association with packet destinations;
Two or more hash functions that use the value of the first field of the packet that can be used to identify the flow of the packet as input values, and that output different output values for the same input value When,
A hash function selection unit that selects one hash function of the two or more hash functions according to the value of the second field representing the number of times the received packet has been transferred so far or the remaining number of times that transfer is possible;
In the routing table, when there are two or more transfer destinations associated with the destination of the received packet, the output of the selected hash function using the value of the first field of the received packet as an input value A transfer destination selecting unit that selects a transfer destination of the received packet from the two or more transfer destinations based on a value.
請求項1記載の転送装置であって、
前記転送先選択部は、前記受信したパケットの宛先と対応づけられた転送先の数で前記出力値を割った場合の余りの値に応じて、前記2以上の転送先の中から前記受信したパケットの転送先を選択する、転送装置。
The transfer device according to claim 1,
The transfer destination selection unit receives the received value from the two or more transfer destinations according to a remainder value when the output value is divided by the number of transfer destinations associated with the destination of the received packet. A transfer device that selects a packet transfer destination.
ネットワークを介して受信したパケットを、前記ネットワークに接続された他の装置に、前記ネットワークを介して転送する転送装置であって、
パケットの宛先と対応づけて転送先としての前記他の装置を1以上格納するルーティングテーブルと、
前記受信したパケットの第1のフィールドであってフローの識別に用いることができる第1のフィールドの値と、前記受信したパケットの第2のフィールドであって前記受信したパケットのそれまでの転送回数または残り転送可能回数を表す第2のフィールドの値と、に応じて、ハッシュ値を出力するハッシュ関数と、
前記ルーティングテーブルにおいて、前記受信したパケットの宛先と対応づけられた転送先が2以上ある場合に、前記ハッシュ関数の出力値に基づいて、前記2以上の転送先の中から前記受信したパケットの転送先を選択する転送先選択部と、を備える転送装置。
A transfer device for transferring a packet received via a network to another device connected to the network via the network;
A routing table that stores one or more other devices as transfer destinations in association with packet destinations;
The value of the first field of the received packet that can be used for flow identification, and the second field of the received packet and the number of times the received packet has been transferred so far Or a hash function that outputs a hash value according to the value of the second field indicating the remaining transferable number of times,
In the routing table, when there are two or more transfer destinations associated with the destination of the received packet, transfer of the received packet from the two or more transfer destinations based on the output value of the hash function And a transfer destination selection unit that selects a destination.
請求項3記載の転送装置であって、
前記転送先選択部は、前記受信したパケットの宛先と対応づけられた転送先の数で前記出力値を割った場合の余りの値に応じて、前記2以上の転送先の中から前記受信したパケットの転送先を決定する、転送装置。
The transfer device according to claim 3,
The transfer destination selection unit receives the received value from the two or more transfer destinations according to a remainder value when the output value is divided by the number of transfer destinations associated with the destination of the received packet. A transfer device that determines the transfer destination of a packet.
JP2010129016A 2010-06-04 2010-06-04 Packet transfer method and packet transfer apparatus having load balance function Expired - Fee Related JP5204807B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010129016A JP5204807B2 (en) 2010-06-04 2010-06-04 Packet transfer method and packet transfer apparatus having load balance function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010129016A JP5204807B2 (en) 2010-06-04 2010-06-04 Packet transfer method and packet transfer apparatus having load balance function

Publications (2)

Publication Number Publication Date
JP2011259007A true JP2011259007A (en) 2011-12-22
JP5204807B2 JP5204807B2 (en) 2013-06-05

Family

ID=45474756

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010129016A Expired - Fee Related JP5204807B2 (en) 2010-06-04 2010-06-04 Packet transfer method and packet transfer apparatus having load balance function

Country Status (1)

Country Link
JP (1) JP5204807B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015517762A (en) * 2012-05-11 2015-06-22 オラクル・インターナショナル・コーポレイション System and method for routing traffic between separate InfiniBand subnets based on source routing
JP2016149757A (en) * 2015-02-12 2016-08-18 インテル コーポレイション Technologies for modular forwarding table scalability
US9665719B2 (en) 2012-06-04 2017-05-30 Oracle International Corporation System and method for supporting host-based firmware upgrade of input/output (I/O) devices in a middleware machine environment
KR20230057586A (en) * 2021-10-22 2023-05-02 주식회사 메쥬 System for monitoring biometric information, and method thereof

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008048010A (en) * 2006-08-11 2008-02-28 Alaxala Networks Corp Device and method for relaying packet

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008048010A (en) * 2006-08-11 2008-02-28 Alaxala Networks Corp Device and method for relaying packet

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015517762A (en) * 2012-05-11 2015-06-22 オラクル・インターナショナル・コーポレイション System and method for routing traffic between separate InfiniBand subnets based on source routing
US9665719B2 (en) 2012-06-04 2017-05-30 Oracle International Corporation System and method for supporting host-based firmware upgrade of input/output (I/O) devices in a middleware machine environment
JP2016149757A (en) * 2015-02-12 2016-08-18 インテル コーポレイション Technologies for modular forwarding table scalability
KR20230057586A (en) * 2021-10-22 2023-05-02 주식회사 메쥬 System for monitoring biometric information, and method thereof
KR102578659B1 (en) 2021-10-22 2023-09-15 주식회사 메쥬 System for monitoring biometric information, and method thereof

Also Published As

Publication number Publication date
JP5204807B2 (en) 2013-06-05

Similar Documents

Publication Publication Date Title
TWI554054B (en) Load balancing in shortest-path-bridging networks
CN107580769B (en) Method and apparatus for load balancing in a network switch
US9806994B2 (en) Routing via multiple paths with efficient traffic distribution
CN103155500B (en) For the method and system of the stateless load balance of network service flow
ES2711368T3 (en) Distribution of two-tier packages with stateless first-level package distribution to a group of servers and distribution of second-level packages with status to a server within the group
US8908517B2 (en) Traffic distribution across a plurality of attachment circuits of a multihome site with a computer network using hashing algorithm
EP3072274B1 (en) Source routing with entropy-header
US8553537B2 (en) Session-less load balancing of client traffic across servers in a server group
US7606161B2 (en) Distributing information across equal-cost paths in a network
JP2019503153A (en) Service traffic distribution method and apparatus
US20120163164A1 (en) Method and system for remote load balancing in high-availability networks
US8036118B2 (en) Inducing symmetry via multi topology routing
JP2018191290A (en) Method, apparatus, and network system for implementing load balancing
US6611874B1 (en) Method for improving routing distribution within an internet and system for implementing said method
JP5204807B2 (en) Packet transfer method and packet transfer apparatus having load balance function
WO2013023989A1 (en) Method and device for selecting next hop in a data network
US8948177B2 (en) Policy based routing
WO2011095017A1 (en) Method and routing device for implementing load sharing
CN108234269A (en) Method for forwarding multicast message and device
US20110158082A1 (en) Grid routing apparatus and method
KR100990769B1 (en) Method to provide per-packet load balancing in multi protocol label switching network by assinging multi-label
KR100552518B1 (en) The apparatus for implementation of ECMP in Network Processor
KR100507800B1 (en) method for port selection in equal cost multipath router
Phung et al. Internet acceleration with lisp traffic engineering and multipath tcp
Chen et al. Unified Fast Rerouting Scheme with Service Function Chain Awareness

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120301

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130111

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130122

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130215

R150 Certificate of patent or registration of utility model

Ref document number: 5204807

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160222

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees