JP2012054819A - Packet relay device, packet relay method, and computer program - Google Patents
Packet relay device, packet relay method, and computer program Download PDFInfo
- Publication number
- JP2012054819A JP2012054819A JP2010196717A JP2010196717A JP2012054819A JP 2012054819 A JP2012054819 A JP 2012054819A JP 2010196717 A JP2010196717 A JP 2010196717A JP 2010196717 A JP2010196717 A JP 2010196717A JP 2012054819 A JP2012054819 A JP 2012054819A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- output
- port
- distribution destination
- processing unit
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
Description
本発明は、パケット中継装置に関する。 The present invention relates to a packet relay device.
従来から、レイヤ3(OSI参照モデルにおける第3層)のパケットを中継するために、レイヤ3スイッチやルーターなどが用いられている。これらレイヤ3スイッチやルーターなどのパケット中継装置として、リンクアグリゲーションと呼ばれる機能を有するパケット中継装置が知られている。リンクアグリゲーション機能は、パケット中継装置が備える複数の物理ポートを1つの論理ポートとして扱うことにより、帯域の拡大や冗長性の確保を実現する。
Conventionally,
リンクアグリゲーション機能を有するパケット中継装置として、複数の物理ポートを有する複数のパケット処理部を備え、マルチキャストパケットを受信した場合に、各パケット処理部にパケットを配布し、各パケット処理部においてパケットを出力する物理ポートを決定してパケットを出力するパケット中継装置が提案されている(特許文献1)。このパケット中継装置では、複数のパケット処理部が有する複数の物理ポートが1つの論理ポートとして扱われ、各パケット処理部において、論理ポートを構成する複数の物理ポートの中から1つの物理ポートが出力ポートとして決定される。 As a packet relay device with a link aggregation function, it has multiple packet processing units with multiple physical ports, and when multicast packets are received, distributes the packets to each packet processing unit and outputs the packets at each packet processing unit A packet relay device that determines a physical port to output and outputs a packet has been proposed (Patent Document 1). In this packet relay device, a plurality of physical ports of a plurality of packet processing units are handled as one logical port, and one physical port is output from a plurality of physical ports constituting the logical port in each packet processing unit. Determined as a port.
上述した各パケット処理部においてパケットを出力する物理ポートを決定する技術によると、各パケット処理部において、他のパケット処理部が有する物理ポートが出力ポートとして決定された場合には、自らの有する物理ポートからパケットが出力されないため、受信したパケットが廃棄される。したがって、最終的にパケットを出力しないパケット処理部においても、経路検索や出力ポートの決定など無駄な処理が行われるため、各パケット処理部の処理能力を浪費してしまうという問題があった。 According to the above-described technology for determining a physical port that outputs a packet in each packet processing unit, when each packet processing unit determines a physical port of another packet processing unit as an output port, Since the packet is not output from the port, the received packet is discarded. Therefore, even in a packet processing unit that does not output a packet, wasteful processing such as route search and determination of an output port is performed, so that there is a problem in that the processing capability of each packet processing unit is wasted.
なお、上記問題は、レイヤ3のパケットを中継するパケット中継装置に限らず、レイヤ2のフレームを中継するパケット中継装置においても発生し得る。
The above problem may occur not only in a packet relay device that relays
本発明は、パケット中継装置が有するパケット処理部の処理能力の浪費を抑制することを目的とする。 An object of the present invention is to suppress waste of processing capacity of a packet processing unit included in a packet relay device.
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態又は適用例として実現することが可能である。 SUMMARY An advantage of some aspects of the invention is to solve at least a part of the problems described above, and the invention can be implemented as the following forms or application examples.
[適用例1]パケット中継装置であって、
物理ポートを有する複数のパケット処理部と、
前記複数のパケット処理部によって提供される複数の物理ポートから選択される複数の物理ポートを論理的に束ねることにより論理ポートを設定する論理ポート設定部と、
前記複数のパケット処理部のいずれかにおいてマルチキャストパケットを受信すると、前記マルチキャストパケットから取得可能な情報であって前記マルチキャストパケットの送信元及び宛先の組み合わせを示すフロー情報に基づき、前記複数のパケット処理部のうち、前記マルチキャストパケットの配布先となる配布先パケット処理部を決定する配布先決定部と、
前記決定された配布先パケット処理部に対して、前記マルチキャストパケットを配布するパケット配布部と、
前記配布先パケット処理部において、前記配布されたマルチキャストパケットの前記フロー情報に基づき、前記論理ポートを構成する前記複数の物理ポートのうち、前記マルチキャストパケットを出力するための出力ポートを決定する出力ポート決定部と、
前記出力ポートから前記マルチキャストパケットを出力するパケット出力部と、
前記配布先パケット処理部において、前記配布先パケット処理部が有する前記物理ポートから前記マルチキャストパケットが出力されたか否かを判定する出力判定部と、
を備え、
前記配布先決定部は、前記出力判定部による判定の結果、前記配布先パケット処理部から前記マルチキャストパケットが出力されなかったと判定された場合に、前記出力されなかったマルチキャストパケットの前記フロー情報と同じフロー情報を有するマルチキャストパケットを受信すると、前記複数のパケット処理部のうち、前記マルチキャストパケットが出力されなかった前記配布先パケット処理部を除く他のパケット処理部の中から、前記配布先パケット処理部を決定する、パケット中継装置。
Application Example 1 A packet relay device,
A plurality of packet processing units having physical ports;
A logical port setting unit that sets a logical port by logically bundling a plurality of physical ports selected from a plurality of physical ports provided by the plurality of packet processing units;
When receiving a multicast packet in any of the plurality of packet processing units, the plurality of packet processing units based on flow information indicating information that can be acquired from the multicast packet and that indicates a combination of a source and a destination of the multicast packet A distribution destination determination unit that determines a distribution destination packet processing unit that is a distribution destination of the multicast packet;
A packet distribution unit for distributing the multicast packet to the determined distribution destination packet processing unit;
In the distribution destination packet processing unit, an output port for determining an output port for outputting the multicast packet among the plurality of physical ports configuring the logical port based on the flow information of the distributed multicast packet A decision unit;
A packet output unit for outputting the multicast packet from the output port;
In the distribution destination packet processing unit, an output determination unit that determines whether or not the multicast packet is output from the physical port of the distribution destination packet processing unit;
With
The distribution destination determination unit is the same as the flow information of the multicast packet that has not been output when it is determined that the multicast packet has not been output from the distribution packet processing unit as a result of the determination by the output determination unit When receiving a multicast packet having flow information, among the plurality of packet processing units, the distribution destination packet processing unit from among other packet processing units excluding the distribution destination packet processing unit from which the multicast packet was not output Determine the packet relay device.
適用例1のパケット中継装置では、マルチキャストパケットが出力されなかった場合に、同じフロー情報を有するマルチキャストパケットに対して、マルチキャストパケットが出力されなかったパケット処理部を除いた他のパケット処理部の中から、配布先パケット処理部が決定されるので、かかるマルチキャストパケットが出力されないパケット処理部に対するマルチキャストパケットの配布を抑制できる。したがって、マルチキャストパケットを出力しないパケット処理部において、マルチキャストパケットの受信や出力ポートの決定などの無駄な処理の実行を抑制でき、処理能力の浪費を抑制できる。加えて、パケットが出力されないことをフィードバックしてマルチキャストパケットの配布先を自動的に設定するので、予めフロー情報を想定して、各フロー情報に応じて配布先を手動で設定しておく構成に比べて、管理者の作業負担を軽減できる。また、パケット中継装置自体の構成の変更や、パケット中継装置が接続されているネットワークの構成の変更に伴って、パケットが出力されない物理ポートが変わった場合においても、自動的に適切な配布先にマルチキャストパケットを配布できるので、管理者の作業負担を軽減できる。 In the packet relay apparatus according to the application example 1, when a multicast packet is not output, the other packet processing units except for the packet processing unit that did not output the multicast packet for the multicast packet having the same flow information. Since the distribution destination packet processing unit is determined, distribution of the multicast packet to the packet processing unit that does not output the multicast packet can be suppressed. Therefore, in the packet processing unit that does not output the multicast packet, it is possible to suppress execution of useless processing such as reception of the multicast packet and determination of the output port, and it is possible to suppress waste of processing capacity. In addition, since the multicast packet distribution destination is automatically set by feeding back that the packet is not output, the flow destination is assumed in advance, and the distribution destination is manually set according to each flow information. Compared to the work load on the administrator. Even if the physical port to which a packet is not output changes due to a change in the configuration of the packet relay device itself or a change in the configuration of the network to which the packet relay device is connected, it is automatically assigned to the appropriate distribution destination. Since multicast packets can be distributed, the workload of the administrator can be reduced.
[適用例2]適用例1に記載のパケット中継装置において、
前記フロー情報は、送信元アドレスと、宛先アドレスと、プロトコル番号と、送信元ポート番号と、宛先ポート番号とのうち、少なくとも1つの情報に基づき得られるハッシュ値と、送信元アドレスと、宛先アドレスとから成る、パケット中継装置。
[Application Example 2] In the packet relay device according to Application Example 1,
The flow information includes a hash value obtained based on at least one of a transmission source address, a destination address, a protocol number, a transmission source port number, and a destination port number, a transmission source address, and a destination address. A packet relay device consisting of
このような構成により、前記フロー情報を、送信元と宛先との組み合わせを示す情報とすることができる。 With this configuration, the flow information can be information indicating a combination of a transmission source and a destination.
[適用例3]適用例1または適用例2に記載のパケット中継装置において、さらに、
前記フロー情報と、前記配布先パケット処理部である前記パケット処理部とを対応付け、前記配布先決定部によって前記配布先パケット処理部を決定する際に参照される配布先決定テーブルを備え、
前記配布先決定テーブルは、デフォルトのエントリとして、前記フロー情報としていずれの値でも構わない旨を示す情報と、前記配布先パケット処理部として所定のパケット処理部とを対応付けたエントリを有し、
前記配布先決定部は、前記出力判定部による判定の結果、前記マルチキャストパケットが出力されなかったと判定された場合、前記配布先決定テーブルにおける新たなエントリであって、前記フロー情報として、前記出力されなかったマルチキャストパケットの前記フロー情報が設定され、前記配布先パケット処理部として、前記デフォルトのエントリに設定されている前記配布先パケット処理部から前記マルチキャストパケットを出力しなかった前記配布先パケット処理部を除いた新たなエントリを、前記配布先決定テーブルに追加する、パケット中継装置。
Application Example 3 In the packet relay device according to Application Example 1 or Application Example 2,
The flow information is associated with the packet processing unit that is the distribution destination packet processing unit, and includes a distribution destination determination table that is referred to when the distribution destination determination unit determines the distribution destination packet processing unit,
The distribution destination determination table includes, as a default entry, information indicating that any value may be used as the flow information, and an entry in which a predetermined packet processing unit is associated as the distribution destination packet processing unit,
When it is determined that the multicast packet has not been output as a result of the determination by the output determination unit, the distribution destination determination unit is a new entry in the distribution destination determination table, and is output as the flow information. The flow information of the multicast packet that did not exist is set, and the distribution destination packet processing unit that did not output the multicast packet from the distribution destination packet processing unit set in the default entry as the distribution destination packet processing unit A packet relay device that adds a new entry excluding the message to the distribution destination determination table.
このような構成により、マルチキャストパケットが出力されなかった場合に、配布先決定テーブルにおいて、新たなエントリを追加するという簡便な方法により、次回以降において同じフロー情報を有するマルチキャストパケットを受信した場合に、前回マルチキャストパケットを出力しなかったパケット処理部に対するマルチキャストパケットの配布を抑制できる。したがって、本発明のパケット中継装置における処理をシンプルにすることができ、パケット中継装置の製造コストやランニングコストを抑制できる。加えて、配布先決定テーブルは、デフォルトのエントリを有するので、新たなフロー情報を有するマルチキャストパケットがパケット中継装置に到着した場合に、かかるマルチキャストパケットを、デフォルトのエントリを用いて各パケット処理部に配布することができる。したがって、予めフロー情報を想定して、各フロー情報に応じて配布先のパケット処理部を手動で設定しておく構成に比べて、管理者の作業負担を軽減できる。 With such a configuration, when a multicast packet is not output, when a multicast packet having the same flow information is received after the next time by a simple method of adding a new entry in the distribution destination determination table, Distribution of multicast packets to packet processing units that did not output multicast packets last time can be suppressed. Therefore, the process in the packet relay apparatus of the present invention can be simplified, and the manufacturing cost and running cost of the packet relay apparatus can be suppressed. In addition, since the distribution destination determination table has a default entry, when a multicast packet having new flow information arrives at the packet relay device, the multicast packet is sent to each packet processing unit using the default entry. Can be distributed. Therefore, it is possible to reduce the workload of the administrator as compared with a configuration in which flow information is assumed in advance and a packet processing unit as a distribution destination is manually set according to each flow information.
[適用例4]パケット中継装置であって、
物理ポートを有する複数のパケット処理部と、
前記複数のパケット処理部によって提供される複数の物理ポートから選択される複数の物理ポートを論理的に束ねることにより論理ポートを設定する論理ポート設定部と、
前記複数のパケット処理部のいずれかにおいてマルチキャストパケットを受信すると、前記マルチキャストパケットから取得可能な情報であって前記マルチキャストパケットの送信元及び宛先の組み合わせを示すフロー情報に基づき、前記複数のパケット処理部のうち、前記マルチキャストパケットの配布先となる配布先パケット処理部を決定する配布先決定部と、
前記決定された配布先パケット処理部に対して、前記マルチキャストパケットを配布するパケット配布部と、
前記配布先パケット処理部において、前記配布されたマルチキャストパケットの前記フロー情報に基づき、前記マルチキャストパケットを出力するための出力ポートを特定すると共に、前記出力ポートが前記論理ポートである場合に、前記配布されたマルチキャストパケットの前記フロー情報に基づき、前記論理ポートを構成する前記複数の物理ポートの中から1つの物理ポートを前記出力ポートとして特定する物理ポート特定処理を実行する出力ポート特定部と、
前記出力ポートから前記マルチキャストパケットを出力するパケット出力部と、
前記配布先パケット処理部において、前記配布先パケット処理部が有する物理ポートから前記マルチキャストパケットが出力されたか否かを判定する出力判定部と、
を備え、
前記出力ポート特定部は、前記出力判定部による判定の結果、前記マルチキャストパケットが出力されたと判定された場合に、前記出力されたマルチキャストパケットの前記フロー情報と同じフロー情報を有するマルチキャストパケットを受信すると、前記物理ポート特定処理を実行せずに、前記マルチキャストパケットが出力された前記物理ポートを、前記出力ポートとして特定する、パケット中継装置。
Application Example 4 A packet relay device,
A plurality of packet processing units having physical ports;
A logical port setting unit that sets a logical port by logically bundling a plurality of physical ports selected from a plurality of physical ports provided by the plurality of packet processing units;
When receiving a multicast packet in any of the plurality of packet processing units, the plurality of packet processing units based on flow information indicating information that can be acquired from the multicast packet and that indicates a combination of a source and a destination of the multicast packet A distribution destination determination unit that determines a distribution destination packet processing unit that is a distribution destination of the multicast packet;
A packet distribution unit for distributing the multicast packet to the determined distribution destination packet processing unit;
In the distribution destination packet processing unit, an output port for outputting the multicast packet is specified based on the flow information of the distributed multicast packet, and the distribution port when the output port is the logical port An output port specifying unit that executes physical port specifying processing for specifying one physical port as the output port from among the plurality of physical ports constituting the logical port, based on the flow information of the multicast packet that is generated,
A packet output unit for outputting the multicast packet from the output port;
In the distribution destination packet processing unit, an output determination unit that determines whether or not the multicast packet is output from a physical port included in the distribution destination packet processing unit;
With
The output port specifying unit receives a multicast packet having the same flow information as the flow information of the output multicast packet when it is determined that the multicast packet is output as a result of the determination by the output determination unit. A packet relay device that specifies the physical port from which the multicast packet has been output as the output port without executing the physical port specifying process.
適用例4のパケット中継装置では、マルチキャストパケットが出力された場合には、同じフロー情報を有するマルチキャストパケットに対して、出力ポート特定部により、物理ポート特定処理が実行されることなく出力ポートが決定される。したがって、パケット処理部(配布先パケット処理部)において物理ポート特定処理を省略できるので、処理能力の浪費を抑制できる。加えて、パケットが出力されたことをフィードバックして出力ポートを自動的に設定するので、予めフロー情報を想定して、各フロー情報に応じて配布先を手動で設定しておく構成に比べて、管理者の作業負担を軽減できる。また、パケット中継装置自体の構成の変更や、パケット中継装置が接続されているネットワークの構成の変更に伴って、パケットが出力される物理ポートが変わった場合においても、自動的に適切な出力ポートを設定できるので、管理者の作業負担を軽減できる。 In the packet relay device according to the application example 4, when a multicast packet is output, the output port is determined by the output port specifying unit without executing the physical port specifying process for the multicast packet having the same flow information. Is done. Therefore, since the physical port specifying process can be omitted in the packet processing unit (distribution destination packet processing unit), waste of processing capacity can be suppressed. In addition, since the output port is automatically set by feeding back that the packet has been output, compared to a configuration in which flow information is assumed in advance and the distribution destination is set manually according to each flow information , Can reduce the workload of the administrator. Even if the physical port to which a packet is output changes due to a change in the configuration of the packet relay device itself or a change in the configuration of the network to which the packet relay device is connected, an appropriate output port is automatically set. Can be set, so the workload of the administrator can be reduced.
[適用例5]適用例4に記載のパケット中継装置において、
前記フロー情報は、送信元アドレスと、宛先アドレスと、プロトコル番号と、送信元ポート番号と、宛先ポート番号とのうち、少なくとも1つの情報に基づき得られるハッシュ値と、送信元アドレスと、宛先アドレスとから成る、パケット中継装置。
Application Example 5 In the packet relay device according to Application Example 4,
The flow information includes a hash value obtained based on at least one of a transmission source address, a destination address, a protocol number, a transmission source port number, and a destination port number, a transmission source address, and a destination address. A packet relay device consisting of
このような構成により、前記フロー情報を、送信元と宛先との組み合わせを示す情報とすることができる。 With this configuration, the flow information can be information indicating a combination of a transmission source and a destination.
[適用例6]適用例4または適用例5に記載のパケット中継装置において、さらに、
前記フロー情報と、前記論理ポートと、前記論理ポートに含まれる前記物理ポートとを対応付けた出力ポートテーブルを備え、
前記出力ポートテーブルは、デフォルトのエントリとして、前記フロー情報としていずれの値でも構わない旨を示す情報と、前記論理ポートとして所定の論理ポートと、前記物理ポートとして前記所定の論理ポートを構成する全ての物理ポートとを対応付けたエントリを有し、
前記出力ポート特定部は、前記出力判定部による判定の結果、前記マルチキャストパケットが出力されたと判定された場合に、前記出力ポートテーブルにおける第1の新たなエントリであって、前記フロー情報として前記出力されたマルチキャストパケットの前記フロー情報が設定され、前記論理ポートとして前記マルチキャストパケットが出力された物理ポートを含む論理ポートが設定され、前記物理ポートとして、前記マルチキャストパケットが出力された物理ポートのみが設定された第1の新たなエントリを、前記出力ポートテーブルに追加し、
前記出力ポート特定部は、前記出力されたマルチキャストパケットの前記フロー情報と同じフロー情報を有するマルチキャストパケットを受信すると、前記出力ポートテーブルを参照して、前記第1の新たなエントリに基づき、前記出力ポートを特定する、パケット中継装置。
Application Example 6 In the packet relay device according to Application Example 4 or Application Example 5,
An output port table in which the flow information, the logical port, and the physical port included in the logical port are associated with each other;
The output port table includes, as a default entry, information indicating that any value may be used as the flow information, a predetermined logical port as the logical port, and all of the predetermined logical port as the physical port And has an entry associated with the physical port of
The output port specifying unit is a first new entry in the output port table when the multicast packet is determined to be output as a result of the determination by the output determination unit, and the output information is the output information. The flow information of the multicast packet is set, the logical port including the physical port from which the multicast packet is output is set as the logical port, and only the physical port from which the multicast packet is output is set as the physical port Adding the first new entry made to the output port table;
When the output port specifying unit receives a multicast packet having the same flow information as the flow information of the output multicast packet, the output port specifying unit refers to the output port table and based on the first new entry, the output port A packet relay device that identifies a port.
このような構成により、マルチキャストパケットが出力された場合に、出力ポートテーブルにおいて、第1の新たなエントリを追加するという簡便な方法により、次回以降において、同じフロー情報を有するマルチキャストパケットを受信した場合に、前回マルチキャストパケットを出力したパケット処理部において、物理ポート特定処理を実行することなく、出力ポートを特定することができる。したがって、本発明のパケット中継装置における処理をシンプルにすることができ、パケット中継装置の製造コストやランニングコストを抑制できる。加えて、出力ポートテーブルは、デフォルトのエントリを有するので、新たなフロー情報を有するマルチキャストパケットがパケット中継装置に到着した場合に、かかるマルチキャストパケットの出力ポートを、デフォルトのエントリを用いて決定することができる。したがって、予めフロー情報を想定して、各フロー情報に応じて出力ポートを手動で設定しておく構成に比べて、管理者の作業負担を軽減できる。 With this configuration, when a multicast packet is output, when a multicast packet having the same flow information is received from the next time onward by the simple method of adding the first new entry in the output port table when the multicast packet is output In addition, the output port can be specified without executing the physical port specifying process in the packet processing unit that previously output the multicast packet. Therefore, the process in the packet relay apparatus of the present invention can be simplified, and the manufacturing cost and running cost of the packet relay apparatus can be suppressed. In addition, since the output port table has a default entry, when a multicast packet having new flow information arrives at the packet relay apparatus, the output port of the multicast packet is determined using the default entry. Can do. Therefore, it is possible to reduce the workload of the administrator as compared with the configuration in which the flow information is assumed in advance and the output port is manually set according to each flow information.
[適用例7]適用例4ないし適用例6のいずれかに記載のパケット中継装置において、さらに、
前記マルチキャストパケットのパケット長が、前記出力ポートに予め設定されている所定のMTU長制限を満たしているか否かを判定するパケット長判定部を備え、
前記パケット出力部は、前記マルチキャストパケットのパケット長が前記所定のMTU長制限を満たしていない場合には、前記マルチキャストパケットを前記出力ポートから出力せず、
前記出力ポート特定部は、前記出力判定部による判定の結果、前記マルチキャストパケットが出力されたと判定された場合に、前記出力されたマルチキャストパケットの前記フロー情報と同じフロー情報を有し、かつ、前記出力されたマルチキャストパケットのパケット長と同じパケット長のマルチキャストパケットを受信すると、前記物理ポート特定処理を実行せずに、前記マルチキャストパケットが出力された物理ポートを、前記出力ポートとして特定する、パケット中継装置。
[Application Example 7] In the packet relay device according to any one of Application Example 4 to Application Example 6,
A packet length determination unit for determining whether the packet length of the multicast packet satisfies a predetermined MTU length limit set in advance in the output port;
The packet output unit does not output the multicast packet from the output port when the packet length of the multicast packet does not satisfy the predetermined MTU length limit,
The output port specifying unit has the same flow information as the flow information of the output multicast packet when it is determined that the multicast packet is output as a result of the determination by the output determination unit, and the Packet relay that, when a multicast packet having the same packet length as the output multicast packet is received, specifies the physical port from which the multicast packet is output as the output port without executing the physical port specifying process apparatus.
このような構成により、マルチキャストパケットが出力された場合に、次回以降において、同じフロー情報及び同じパケット長を有するマルチキャストパケットを受信した場合に、前回マルチキャストパケットを出力したパケット処理部において、物理ポート特定処理を実行することなく、出力ポートを決定することができる。また、フロー情報が同じマルチキャストパケットであっても、パケット長がMTU長制限を満たさない場合には、かかるマルチキャストパケットは出力されない。このような場合には、出力ポートテーブルに新たなエントリは追加されないので、出力ポートテーブルのエントリ数の増加を抑制できる。したがって、出力ポートテーブルの空きエントリが不足して必要なエントリが追加できなくなることを抑制できる。 With this configuration, when a multicast packet is output, when a multicast packet having the same flow information and the same packet length is received in the next and subsequent times, the packet processing unit that output the multicast packet last time specifies the physical port. The output port can be determined without executing processing. Even if the flow information is the same multicast packet, if the packet length does not satisfy the MTU length limit, the multicast packet is not output. In such a case, since a new entry is not added to the output port table, an increase in the number of entries in the output port table can be suppressed. Therefore, it is possible to prevent a necessary entry from being added due to a lack of empty entries in the output port table.
[適用例8]適用例4ないし適用例7のいずれかに記載のパケット中継装置において、
前記出力ポート特定部は、前記出力判定部による判定の結果、前記マルチキャストパケットが出力されなかったと判定された場合に、前記出力ポートテーブルにおける第2の新たなエントリであって、前記フロー情報として前記出力されなかったマルチキャストパケットの前記フロー情報が設定され、前記論理ポートとして、いずれの論理ポートも該当しない旨が設定され、前記物理ポートとしていずれの物理ポートも該当しない旨が設定された第2の新たなエントリを、前記出力ポートテーブルに追加し、
前記出力ポート特定部は、前記出力されなかったマルチキャストパケットの前記フロー情報と同じフロー情報を有するマルチキャストパケットを受信すると、前記出力ポートテーブルを参照して、前記第2の新たなエントリに基づき、前記出力ポートを特定しない、パケット中継装置。
Application Example 8 In the packet relay device according to any one of Application Example 4 to Application Example 7,
The output port identification unit is a second new entry in the output port table when the multicast packet is not output as a result of the determination by the output determination unit, and the flow information is the flow information. The flow information of the multicast packet that has not been output is set, the logical port is set as not corresponding to any logical port, and the physical port is set as not set as any physical port Add a new entry to the output port table,
When the output port specifying unit receives a multicast packet having the same flow information as the flow information of the multicast packet that has not been output, the output port specifying unit refers to the output port table and, based on the second new entry, A packet relay device that does not specify an output port.
このような構成により、マルチキャストパケットが出力されなかった場合に、出力ポートテーブルにおいて、第2の新たなエントリを追加するという簡便な方法により、次回以降において同じフロー情報を有するマルチキャストパケットを受信した場合に、このマルチキャストパケットについて、物理ポート特定処理を含む出力ポートを特定する処理を実行しないので、パケット処理部の処理能力の浪費を抑制できる。加えて、パケット中継装置自体の構成の変更や、パケット中継装置が接続されているネットワークの構成の変更に伴って、パケットが出力されない物理ポートが変わった場合においても、自動的に適切な出力ポートを設定できるので、管理者の作業負担を軽減できる。 With this configuration, when a multicast packet is not output, when a multicast packet having the same flow information is received after the next time by a simple method of adding a second new entry in the output port table In addition, for this multicast packet, the processing for specifying the output port including the physical port specifying processing is not executed, so that waste of processing capacity of the packet processing unit can be suppressed. In addition, even if the physical port to which no packet is output changes due to a change in the configuration of the packet relay device itself or a change in the configuration of the network to which the packet relay device is connected, an appropriate output port automatically Can be set, so the workload of the administrator can be reduced.
[適用例9]パケット中継装置におけるパケット中継方法であって、
前記パケット中継装置は、物理ポートを有する複数のパケット処理部と、前記複数のパケット処理部によって提供される複数の物理ポートから選択される複数の物理ポートを論理的に束ねることにより論理ポートを設定する論理ポート設定部と、を有し、
(a)前記パケット中継装置は、前記複数のパケット処理部のいずれかにおいてマルチキャストパケットを受信すると、前記マルチキャストパケットから取得可能な情報であって前記マルチキャストパケットの送信元及び宛先の組み合わせを示すフロー情報に基づき、前記複数のパケット処理部のうち、前記マルチキャストパケットの配布先となる配布先パケット処理部を決定する工程と、
(b)前記パケット中継装置は、前記決定された配布先パケット処理部に対して、前記マルチキャストパケットを配布する工程と、
(c)前記パケット中継装置は、前記配布先パケット処理部において、前記配布されたマルチキャストパケットの前記フロー情報に基づき、前記論理ポートを構成する前記複数の物理ポートのうち、前記マルチキャストパケットを出力するための出力ポートを決定する工程と、
(d)前記パケット中継装置は、前記出力ポートから前記マルチキャストパケットを出力する工程と、
(e)前記パケット中継装置は、前記配布先パケット処理部において、前記配布先パケット処理部が有する前記物理ポートから前記マルチキャストパケットが出力されたか否かを判定する工程と、
を備え、
前記工程(c)において、前記パケット中継装置は、前記工程(e)の結果、前記マルチキャストパケットが出力されなかったと判定された場合に、前記出力されなかったマルチキャストパケットの前記フロー情報と同じフロー情報を有するマルチキャストパケットを受信すると、前記複数のパケット処理部のうち、前記マルチキャストパケットが出力されなかった前記配布先パケット処理部であるパケット処理部を除く他のパケット処理部の中から、前記配布先パケット処理部を決定する、パケット中継方法。
Application Example 9 A packet relay method in a packet relay device,
The packet relay device sets a logical port by logically bundling a plurality of packet processing units having physical ports and a plurality of physical ports selected from a plurality of physical ports provided by the plurality of packet processing units. A logical port setting unit to
(A) When the packet relay apparatus receives a multicast packet in any of the plurality of packet processing units, the packet relay apparatus is information that can be acquired from the multicast packet and that indicates a combination of the source and destination of the multicast packet A step of determining a distribution destination packet processing unit to be a distribution destination of the multicast packet among the plurality of packet processing units,
(B) The packet relay device distributes the multicast packet to the determined distribution destination packet processing unit;
(C) The packet relay apparatus outputs the multicast packet among the plurality of physical ports constituting the logical port based on the flow information of the distributed multicast packet in the distribution destination packet processing unit. Determining an output port for;
(D) the packet relay device outputs the multicast packet from the output port;
(E) The packet relay apparatus determines, in the distribution destination packet processing unit, whether the multicast packet is output from the physical port of the distribution destination packet processing unit;
With
In the step (c), when it is determined that the multicast packet has not been output as a result of the step (e), the packet relay device has the same flow information as the flow information of the multicast packet that has not been output. When receiving a multicast packet having the distribution packet, the distribution destination is selected from among the plurality of packet processing units other than the packet processing unit that is the distribution destination packet processing unit from which the multicast packet has not been output. A packet relay method for determining a packet processing unit.
適用例9のパケット中継方法では、マルチキャストパケットが出力されなかった場合に、同じフロー情報を有するマルチキャストパケットに対して、マルチキャストパケットが出力されなかったパケット処理部を除いた他のパケット処理部の中から、配布先パケット処理部が決定されるので、かかるマルチキャストパケットが出力されないパケット処理部に対するマルチキャストパケットの配布を抑制できる。したがって、マルチキャストパケットを出力しないパケット処理部において、マルチキャストパケットの受信や出力ポートの決定などの無駄な処理の実行を抑制でき、処理能力の浪費を抑制できる。加えて、パケットが出力されないことをフィードバックしてマルチキャストパケットの配布先を自動的に設定するので、予めフロー情報を想定して、各フロー情報に応じて配布先を手動で設定しておく構成に比べて、管理者の作業負担を軽減できる。また、パケット中継装置自体の構成の変更や、パケット中継装置が接続されているネットワークの構成の変更に伴って、パケットが出力されない物理ポートが変わった場合においても、自動的に適切な配布先にマルチキャストパケットを配布できるので、管理者の作業負担を軽減できる。 In the packet relay method of the application example 9, when a multicast packet is not output, the other packet processing units other than the packet processing unit that does not output the multicast packet are output for the multicast packet having the same flow information. Since the distribution destination packet processing unit is determined, distribution of the multicast packet to the packet processing unit that does not output the multicast packet can be suppressed. Therefore, in the packet processing unit that does not output the multicast packet, it is possible to suppress execution of useless processing such as reception of the multicast packet and determination of the output port, and it is possible to suppress waste of processing capacity. In addition, since the multicast packet distribution destination is automatically set by feeding back that the packet is not output, the flow destination is assumed in advance, and the distribution destination is manually set according to each flow information. Compared to the work load on the administrator. Even if the physical port to which a packet is not output changes due to a change in the configuration of the packet relay device itself or a change in the configuration of the network to which the packet relay device is connected, it is automatically assigned to the appropriate distribution destination. Since multicast packets can be distributed, the workload of the administrator can be reduced.
[適用例10]パケット中継装置におけるパケット中継方法であって、
前記パケット中継装置は、物理ポートを有する複数のパケット処理部と、前記複数のパケット処理部によって提供される複数の物理ポートから選択される複数の物理ポートを論理的に束ねることにより論理ポートを設定する論理ポート設定部と、を有し、
(f)前記パケット中継装置は、前記複数のパケット処理部のいずれかにおいてマルチキャストパケットを受信すると、前記マルチキャストパケットから取得可能な情報であって前記マルチキャストパケットの送信元及び宛先の組み合わせを示すフロー情報に基づき、前記複数のパケット処理部のうち、前記マルチキャストパケットの配布先となる配布先パケット処理部を決定する工程と、
(g)前記パケット中継装置は、前記決定された配布先パケット処理部に対して、前記マルチキャストパケットを配布する工程と、
(h)前記パケット中継装置は、前記配布先パケット処理部において、前記配布されたマルチキャストパケットの前記フロー情報に基づき、前記マルチキャストパケットを出力するための出力ポートを特定すると共に、前記出力ポートが前記論理ポートである場合に、前記配布されたマルチキャストパケットの前記フロー情報に基づき、前記論理ポートを構成する前記複数の物理ポートの中から1つの物理ポートを前記出力ポートとして特定する物理ポート特定処理を実行する工程と、
(I)前記パケット中継装置は、前記出力ポートから前記マルチキャストパケットを出力する工程と、
(J)前記パケット中継装置は、前記配布先パケット処理部において、前記配布先パケット処理部が有する物理ポートから前記マルチキャストパケットが出力されたか否かを判定する工程と、
を備え、
前記工程(h)において、前記パケット中継装置は、前記工程(J)の結果、前記マルチキャストパケットが出力されたと判定された場合に、前記出力されたマルチキャストパケットの前記フロー情報と同じフロー情報を有するマルチキャストパケットを受信すると、前記物理ポート特定処理を実行せずに、前記マルチキャストパケットが出力された前記物理ポートを、前記出力ポートとして特定する、パケット中継方法。
Application Example 10 A packet relay method in a packet relay device,
The packet relay device sets a logical port by logically bundling a plurality of packet processing units having physical ports and a plurality of physical ports selected from a plurality of physical ports provided by the plurality of packet processing units. A logical port setting unit to
(F) When the packet relay device receives a multicast packet in any of the plurality of packet processing units, the packet relay device is information that can be acquired from the multicast packet and that indicates a combination of the source and destination of the multicast packet A step of determining a distribution destination packet processing unit to be a distribution destination of the multicast packet among the plurality of packet processing units,
(G) The packet relay device distributes the multicast packet to the determined distribution destination packet processing unit;
(H) The packet relay device specifies an output port for outputting the multicast packet based on the flow information of the distributed multicast packet in the distribution destination packet processing unit, and the output port A physical port specifying process for specifying one physical port as the output port from the plurality of physical ports constituting the logical port based on the flow information of the distributed multicast packet when the port is a logical port; A process to perform;
(I) The packet relay device outputs the multicast packet from the output port;
(J) the packet relay device determines, in the distribution destination packet processing unit, whether or not the multicast packet is output from a physical port included in the distribution destination packet processing unit;
With
In the step (h), when it is determined that the multicast packet is output as a result of the step (J), the packet relay apparatus has the same flow information as the flow information of the output multicast packet. A packet relay method, wherein when receiving a multicast packet, the physical port from which the multicast packet is output is specified as the output port without executing the physical port specifying process.
適用例10のパケット中継方法では、マルチキャストパケットが出力された場合には、同じフロー情報を有するマルチキャストパケットに対して、出力ポート特定部により、物理ポート特定処理が実行されることなく出力ポートが決定される。したがって、パケット処理部(配布先パケット処理部)において物理ポート特定処理を省略できるので、処理能力の浪費を抑制できる。加えて、パケットが出力されたことをフィードバックして出力ポートを自動的に設定するので、予めフロー情報を想定して、各フロー情報に応じて配布先を手動で設定しておく構成に比べて、管理者の作業負担を軽減できる。また、パケット中継装置自体の構成の変更や、パケット中継装置が接続されているネットワークの構成の変更に伴って、パケットが出力される物理ポートが変わった場合においても、自動的に適切な出力ポートを設定できるので、管理者の作業負担を軽減できる。 In the packet relay method of Application Example 10, when a multicast packet is output, an output port is determined by the output port specifying unit without executing physical port specifying processing for the multicast packet having the same flow information. Is done. Therefore, since the physical port specifying process can be omitted in the packet processing unit (distribution destination packet processing unit), waste of processing capacity can be suppressed. In addition, since the output port is automatically set by feeding back that the packet has been output, compared to a configuration in which flow information is assumed in advance and the distribution destination is set manually according to each flow information , Can reduce the workload of the administrator. Even if the physical port to which a packet is output changes due to a change in the configuration of the packet relay device itself or a change in the configuration of the network to which the packet relay device is connected, an appropriate output port is automatically set. Can be set, so the workload of the administrator can be reduced.
[適用例11]パケット中継装置におけるパケットを中継するためのプログラムであって、
前記パケット中継装置は、物理ポートを有する複数のパケット処理部と、前記複数のパケット処理部によって提供される複数の物理ポートから選択される複数の物理ポートを論理的に束ねることにより論理ポートを設定する論理ポート設定部と、を有し、
前記複数のパケット処理部のいずれかにおいてマルチキャストパケットを受信すると、前記マルチキャストパケットから取得可能な情報であって前記マルチキャストパケットの送信元及び宛先の組み合わせを示すフロー情報に基づき、前記複数のパケット処理部のうち、前記マルチキャストパケットの配布先となる配布先パケット処理部を決定する機能と、
前記決定された配布先パケット処理部に対して、前記マルチキャストパケットを配布する機能と、
前記配布先パケット処理部において、前記配布されたマルチキャストパケットの前記フロー情報に基づき、前記論理ポートを構成する前記複数の物理ポートのうち、前記マルチキャストパケットを出力するための出力ポートを決定する機能と、
前記出力ポートから前記マルチキャストパケットを出力する機能と、
前記配布先パケット処理部において、前記配布先パケット処理部が有する前記物理ポートから前記マルチキャストパケットが出力されたか否かを判定する機能と、
をコンピュータに実現させるためのコンピュータプログラムであり、
前記配布先パケット処理部を決定する機能は、前記配布先パケット処理部が有する物理ポートから前記マルチキャストパケットが出力されたか否かの判定の結果、前記マルチキャストパケットが出力されなかったと判定された場合に、前記出力されなかったマルチキャストパケットの前記フロー情報と同じフロー情報を有するマルチキャストパケットを受信すると、前記複数のパケット処理部のうち、前記マルチキャストパケットが出力されなかった前記配布先パケット処理部を除く他のパケット処理部の中から、前記配布先パケット処理部を決定する、機能を含む、コンピュータプログラム。
Application Example 11 A program for relaying a packet in a packet relay device,
The packet relay device sets a logical port by logically bundling a plurality of packet processing units having physical ports and a plurality of physical ports selected from a plurality of physical ports provided by the plurality of packet processing units. A logical port setting unit to
When receiving a multicast packet in any of the plurality of packet processing units, the plurality of packet processing units based on flow information indicating information that can be acquired from the multicast packet and that indicates a combination of a source and a destination of the multicast packet A function for determining a distribution destination packet processing unit to be a distribution destination of the multicast packet,
A function of distributing the multicast packet to the determined distribution destination packet processing unit;
A function of determining an output port for outputting the multicast packet among the plurality of physical ports constituting the logical port based on the flow information of the distributed multicast packet in the distribution destination packet processing unit; ,
A function of outputting the multicast packet from the output port;
A function of determining whether the multicast packet is output from the physical port of the distribution destination packet processing unit in the distribution destination packet processing unit;
Is a computer program for causing a computer to realize
The function of determining the distribution destination packet processing unit is that when it is determined that the multicast packet has not been output as a result of determining whether or not the multicast packet has been output from a physical port of the distribution destination packet processing unit. Upon receiving a multicast packet having the same flow information as the flow information of the multicast packet that has not been output, other than the distribution destination packet processing unit from which the multicast packet has not been output among the plurality of packet processing units A computer program including a function of determining the distribution destination packet processing unit from among the packet processing units.
適用例11のコンピュータプログラムでは、マルチキャストパケットが出力されなかった場合に、同じフロー情報を有するマルチキャストパケットに対して、マルチキャストパケットが出力されなかったパケット処理部を除いた他のパケット処理部の中から、配布先パケット処理部が決定されるので、かかるマルチキャストパケットが出力されないパケット処理部に対するマルチキャストパケットの配布を抑制できる。したがって、マルチキャストパケットを出力しないパケット処理部において、マルチキャストパケットの受信や出力ポートの決定などの無駄な処理の実行を抑制でき、処理能力の浪費を抑制できる。加えて、パケットが出力されないことをフィードバックしてマルチキャストパケットの配布先を自動的に設定するので、予めフロー情報を想定して、各フロー情報に応じて配布先を手動で設定しておく構成に比べて、管理者の作業負担を軽減できる。また、パケット中継装置自体の構成の変更や、パケット中継装置が接続されているネットワークの構成の変更に伴って、パケットが出力されない物理ポートが変わった場合においても、自動的に適切な配布先にマルチキャストパケットを配布できるので、管理者の作業負担を軽減できる。 In the computer program of the application example 11, when a multicast packet is not output, a multicast packet having the same flow information is selected from other packet processing units other than the packet processing unit that has not output the multicast packet. Since the distribution destination packet processing unit is determined, distribution of the multicast packet to the packet processing unit that does not output the multicast packet can be suppressed. Therefore, in the packet processing unit that does not output the multicast packet, it is possible to suppress execution of useless processing such as reception of the multicast packet and determination of the output port, and it is possible to suppress waste of processing capacity. In addition, since the multicast packet distribution destination is automatically set by feeding back that the packet is not output, the flow destination is assumed in advance, and the distribution destination is manually set according to each flow information. Compared to the work load on the administrator. Even if the physical port to which a packet is not output changes due to a change in the configuration of the packet relay device itself or a change in the configuration of the network to which the packet relay device is connected, it is automatically assigned to the appropriate distribution destination. Since multicast packets can be distributed, the workload of the administrator can be reduced.
[適用例12]パケット中継装置におけるパケットを中継するためのプログラムであって、
前記パケット中継装置は、物理ポートを有する複数のパケット処理部と、前記複数のパケット処理部によって提供される複数の物理ポートから選択される複数の物理ポートを論理的に束ねることにより論理ポートを設定する論理ポート設定部と、を有し、
前記複数のパケット処理部のいずれかにおいてマルチキャストパケットを受信すると、前記マルチキャストパケットから取得可能な情報であって前記マルチキャストパケットの送信元及び宛先の組み合わせを示すフロー情報に基づき、前記複数のパケット処理部のうち、前記マルチキャストパケットの配布先となる配布先パケット処理部を決定する機能と、
前記決定された配布先パケット処理部に対して、前記マルチキャストパケットを配布する機能と、
前記配布先パケット処理部において、前記配布されたマルチキャストパケットの前記フロー情報に基づき、前記マルチキャストパケットを出力するための出力ポートを特定すると共に、前記出力ポートが前記論理ポートである場合に、前記配布されたマルチキャストパケットの前記フロー情報に基づき、前記論理ポートを構成する前記複数の物理ポートの中から1つの物理ポートを前記出力ポートとして特定する物理ポート特定処理を実行する機能と、
前記出力ポートから前記マルチキャストパケットを出力する機能と、
前記配布先パケット処理部において、前記配布先パケット処理部が有する物理ポートから前記マルチキャストパケットが出力されたか否かを判定する機能と、
をコンピュータに実現させるためのコンピュータプログラムであり、
前記出力ポートを特定する機能は、前記配布先パケット処理部が有する物理ポートから前記マルチキャストパケットが出力されたか否かの判定の結果、前記マルチキャストパケットが出力されたと判定された場合に、前記出力されたマルチキャストパケットの前記フロー情報と同じフロー情報を有するマルチキャストパケットを受信すると、前記物理ポート特定処理を実行せずに、前記マルチキャストパケットが出力された前記物理ポートを、前記出力ポートとして特定する、機能を含む、コンピュータプログラム。
Application Example 12 A program for relaying a packet in a packet relay device,
The packet relay device sets a logical port by logically bundling a plurality of packet processing units having physical ports and a plurality of physical ports selected from a plurality of physical ports provided by the plurality of packet processing units. A logical port setting unit to
When receiving a multicast packet in any of the plurality of packet processing units, the plurality of packet processing units based on flow information indicating information that can be acquired from the multicast packet and that indicates a combination of a source and a destination of the multicast packet A function for determining a distribution destination packet processing unit to be a distribution destination of the multicast packet,
A function of distributing the multicast packet to the determined distribution destination packet processing unit;
In the distribution destination packet processing unit, an output port for outputting the multicast packet is specified based on the flow information of the distributed multicast packet, and the distribution port when the output port is the logical port A function of executing physical port specifying processing for specifying one physical port as the output port from among the plurality of physical ports constituting the logical port based on the flow information of the multicast packet that has been generated;
A function of outputting the multicast packet from the output port;
A function of determining whether the multicast packet is output from a physical port of the distribution destination packet processing unit in the distribution destination packet processing unit;
Is a computer program for causing a computer to realize
The function of specifying the output port is output when it is determined that the multicast packet is output as a result of determining whether or not the multicast packet is output from a physical port included in the distribution destination packet processing unit. A function of specifying the physical port from which the multicast packet is output as the output port without executing the physical port specifying process when a multicast packet having the same flow information as the flow information of the multicast packet is received Including computer programs.
適用例12のコンピュータプログラムでは、マルチキャストパケットが出力された場合には、同じフロー情報を有するマルチキャストパケットに対して、出力ポート特定部により、物理ポート特定処理が実行されることなく出力ポートが決定される。したがって、パケット処理部(配布先パケット処理部)において物理ポート特定処理を省略できるので、処理能力の浪費を抑制できる。加えて、パケットが出力されたことをフィードバックして出力ポートを自動的に設定するので、予めフロー情報を想定して、各フロー情報に応じて配布先を手動で設定しておく構成に比べて、管理者の作業負担を軽減できる。また、パケット中継装置自体の構成の変更や、パケット中継装置が接続されているネットワークの構成の変更に伴って、パケットが出力される物理ポートが変わった場合においても、自動的に適切な出力ポートを設定できるので、管理者の作業負担を軽減できる。 In the computer program of Application Example 12, when a multicast packet is output, the output port is determined by the output port specifying unit without executing the physical port specifying process for the multicast packet having the same flow information. The Therefore, since the physical port specifying process can be omitted in the packet processing unit (distribution destination packet processing unit), waste of processing capacity can be suppressed. In addition, since the output port is automatically set by feeding back that the packet has been output, compared to a configuration in which flow information is assumed in advance and the distribution destination is set manually according to each flow information , Can reduce the workload of the administrator. Even if the physical port to which a packet is output changes due to a change in the configuration of the packet relay device itself or a change in the configuration of the network to which the packet relay device is connected, an appropriate output port is automatically set. Can be set, so the workload of the administrator can be reduced.
[適用例13]適用例11または適用例12に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。 [Application Example 13] A computer-readable recording medium on which the computer program according to Application Example 11 or Application Example 12 is recorded.
このような構成により、かかる記録媒体を用いてコンピュータにプログラムを読み取らせ、各機能を実現させることができる。 With such a configuration, it is possible to cause a computer to read a program using such a recording medium and realize each function.
A.第1実施例:
A1.装置構成:
図1は、本発明の一実施例としてのパケット中継装置の概略構成を示す説明図である。このパケット中継装置10は、いわゆるレイヤ3スイッチであり、リンクアグリゲーション機能を有する。リンクアグリゲーション(link aggregation: LAG)機能とは、複数の物理ポートを束ねて1つの論理ポート(LAGポート)として扱うことが可能な機能であり、帯域幅の拡大や冗長性の確保を図ることができる。
A. First embodiment:
A1. Device configuration:
FIG. 1 is an explanatory diagram showing a schematic configuration of a packet relay apparatus as an embodiment of the present invention. The
パケット中継装置10は、制御ユニット100と、クロスバスイッチ300と、5つの分散処理部(第1分散処理部201,第2分散処理部202,第3分散処理部203,第4分散処理部204,第5分散処理部205)とを備えている。
The
制御ユニット100は、パケット中継装置10全体を制御する機能部であり、内部バスにより、クロスバスイッチ300及び各分散処理部201〜205に、それぞれ接続されている。
The
クロスバスイッチ300は、制御ユニット100や各分散処理部201〜205からの指示に応じて、パケットを中継するスイッチング回路である。
The
第1分散処理部201は、複数の物理ポート(#1,#2,・・・“#n)を備えており、パケットの送信及び受信を行なう。他の分散処理部202〜205も、第1分散処理部201と同様の構成を有し、第1分散処理部201と同様に、パケットの送信及び受信を行なう。
The first distributed
図1に示すように、パケット中継装置10には、4つのVLAN(Virtual LAN)が接続されている。具体的には、第1分散処理部201の物理ポート#1を介してVLAN1が接続されている。なお、以下では、第n分散処理部の物理ポート#mを、「物理ポートn/m」と表わす。また、第2分散処理部202の物理ポート#1(物理ポート2/1)と物理ポート#2(物理ポート2/2)とを介してVLAN2が接続されている。また、第2分散処理部202の物理ポート#3(物理ポート2/3)と、第3分散処理部203の物理ポート#1(物理ポート3/1)と、第4分散処理部204の物理ポート#1(物理ポート4/1)と、第5分散処理部205の物理ポート#1(物理ポート5/1)とを介してVLAN3が接続されている。また、第5分散処理部205の物理ポート#2(物理ポート5/2)を介してVLAN4が接続されている。
As shown in FIG. 1, four VLANs (Virtual LANs) are connected to the
前述のように、パケット中継装置10は、複数の物理ポートを介してVLANに接続されているが、これは、リングアグリゲーション機能を用いて1つの論理ポートが形成されているからである。例えば、VLAN2との接続のために、2つの物理ポート2/1,2/2によって1つの論理ポート(LAG3)が形成されている。同様に、VLAN3との接続のために、4つの物理ポート2/3,3/1,4/1,5/1により1つの論理ポート(LAG4)が形成されている。このようにリンクアグリゲーション機能による論理ポートが構成されているリンクでは、パケット中継装置10からVLANに向かってパケットを出力する際に、論理ポートを構成する複数の物理ポートから1つの物理ポートが選択され、この物理ポートからパケットが出力される。以下では、リンクアグリゲーション機能により形成される論理ポートを「LAGポート」と呼び、1つのLAGポートを形成する複数の物理ポートの中からパケットの出力ポートを選択する処理を「LAG処理」と呼ぶ。
As described above, the
図2は、図1に示す第1分散処理部の詳細構成を示す説明図である。第1分散処理部201は、上述した複数の物理ポートに加えて、受信側処理部210と、送信側処理部220とを備えている。
FIG. 2 is an explanatory diagram showing a detailed configuration of the first distributed processing unit shown in FIG. The first distributed
受信側処理部210は、パケット受信部212と、受信側経路検索部216と、受信側テーブル記憶部214とを備えている。パケット受信部212は、図1に示すクロスバスイッチ300及び制御ユニット100と、それぞれ接続されている。同様に、送信側処理部220は、クロスバスイッチ300及び制御ユニット100と、それぞれ接続されている。各機能部は、CPU(Central Processing Unit),ROM(Read Only Memory),RAM(Random Access Memory)を含む回路により構成されている。
The reception
パケット受信部212は、各物理ポート#1〜#n及び受信側経路検索部216と接続されており、物理ポートを介して受信する信号に基づき、パケットを組み立て、受信側経路検索部216に出力する。
The
受信側テーブル記憶部214は、分散先決定テーブルTBを格納している。分散先決定テーブルTBは、マルチキャストパケットを受信した場合に、クロスバスイッチ300により、いずれの分散処理部にパケットを中継するかを決定するためのテーブルである。
The reception side
図3は、図1に示す分散先決定テーブルの設定内容を模式的に示す説明図である。図3では、初期設定状態における分散先決定テーブルTBの設定内容を示している。分散先決定テーブルTBでは、エントリ番号(#)と、エントリが有効であるか否かを示す情報(EN)と、フロー情報と、各分散処理部へのパケットの中継の有無を示す情報とが対応付けられている。 FIG. 3 is an explanatory diagram schematically showing the setting contents of the distribution destination determination table shown in FIG. FIG. 3 shows the setting contents of the distribution destination determination table TB in the initial setting state. In the distribution destination determination table TB, there are an entry number (#), information (EN) indicating whether the entry is valid, flow information, and information indicating whether a packet is relayed to each distribution processing unit. It is associated.
エントリ番号は、分散先決定テーブルTBにおける各エントリ(レコード)の識別番号を意味する。エントリが有効であるか否かを示す情報(EN)として、「*」または「1」が設定され得る。ENが「*」とは、後述のハッシュ値がいずれの値であってもよいエントリ(以下、「デフォルトエントリ」と呼ぶ)が有効であることを示す。ENが「1」とは、後述のハッシュ値として「*」とは異なる特定の値が設定されているエントリが有効であることを示す。ハッシュ値の詳細については後述する。 The entry number means the identification number of each entry (record) in the distribution destination determination table TB. As information (EN) indicating whether the entry is valid, “*” or “1” can be set. An EN of “*” indicates that an entry whose hash value described later may be any value (hereinafter referred to as “default entry”) is valid. An EN of “1” indicates that an entry in which a specific value different from “*” is set as a hash value to be described later is valid. Details of the hash value will be described later.
フロー情報とは、フロー(パケットの送信元及び宛先の組み合わせ)を特定する情報を意味し、分散先決定テーブルTBでは、フロー情報として、ハッシュ値と、アドレス情報(送信元アドレス,宛先アドレス)とが設定される。 The flow information means information for identifying a flow (a combination of a packet transmission source and a destination). In the distribution destination determination table TB, as a flow information, a hash value, address information (a transmission source address, a destination address), and Is set.
各分散処理部へのパケットの中継の有無を示す情報として、各分散処理部を示す識別子(第1分散処理部201:#1〜第5分散処理部205:#5)ごとに、「1」又は「0」が設定される。「1」はパケットを中継することを意味し、「0」はパケットを中継しないことを意味する。 As information indicating the presence / absence of packet relay to each distributed processing unit, “1” is assigned to each identifier (first distributed processing unit 201: # 1 to fifth distributed processing unit 205: # 5) indicating each distributed processing unit. Or “0” is set. “1” means that the packet is relayed, and “0” means that the packet is not relayed.
図3に示すように、初期設定状態においては、分散先決定テーブルTBには、エントリ番号「1」の1つのエントリのみが設定されている。このエントリ番号「1」のエントリは、デフォルトエントリであり、ENとして「*」が、ハッシュ値として「*」が、送信元アドレスとして「SA1」が、宛先アドレスとして「GA1」が、それぞれ設定されている。なお、アドレス「SA1」は送信元のIPアドレスを示し、アドレス「GA1」は宛先のマルチキャストグループアドレスを示す。また、各分散処理部へのパケットの中継の有無を示す情報として、第1分散処理部201(#1)に「0」が、他の分散処理部202〜205(#2〜#5)に「1」が設定されている。なお、他の分散処理部202〜205においても、図3に示す分散先決定テーブルTBと同じ内容が設定されている。分散先決定テーブルTBの初期設定方法については後述する。
As shown in FIG. 3, in the initial setting state, only one entry with the entry number “1” is set in the distribution destination determination table TB. The entry with the entry number “1” is a default entry, and “*” is set as EN, “*” is set as a hash value, “SA1” is set as a source address, and “GA1” is set as a destination address. ing. The address “SA1” indicates a source IP address, and the address “GA1” indicates a destination multicast group address. Further, as information indicating whether or not the packet is relayed to each distributed processing unit, “0” is displayed in the first distributed processing unit 201 (# 1), and the other distributed
図2に示す受信側経路検索部216は、パケット受信部212及び受信側テーブル記憶部214と、それぞれ接続されている。受信側経路検索部216は、パケット受信部212からパケットを受信すると、分散先決定テーブルTBを参照して、パケットの中継先となる分散処理部を決定し、決定した分散処理部を示す情報と、受信したパケットとをクロスバスイッチ300に送信する。
The reception side
送信側処理部220は、送信側テーブル記憶部226と、送信側経路検索部222と、出力監視部227と、パケット出力部228とを備えている。
The transmission
送信側テーブル記憶部226は、出力ポートテーブルTPと、LAGテーブルTLとを格納している。
The transmission side
図4は、出力ポートテーブルの設定内容を模式的に示す説明図である。図4では、説明の便宜上、初期設定状態において、第2分散処理部202,第3分散処理部203,第4分散処理部204,及び第5分散処理部205に設定されている出力ポートテーブルTPを記載している。第1段目は、初期状態における第2分散処理部202の出力ポートテーブルTP2を示している。また、第2段目は初期状態における第3分散処理部203の出力ポートテーブルTP3を、第3段目は初期状態における第4分散処理部204の出力ポートテーブルTP4を、第4段目は初期状態における第5分散処理部205の出力ポートテーブルTP5を、それぞれ示している。なお、第1分散処理部201に設定されている出力ポートテーブルTPは、他の分散処理部202〜205に設定されている出力ポートテーブルTP2〜TP5と同様である。
FIG. 4 is an explanatory diagram schematically showing the setting contents of the output port table. In FIG. 4, for convenience of explanation, the output port table TP set in the second distributed processing
出力ポートテーブルTPは、フロー情報と、出力ポートの候補となる物理ポートとを対応付けるためのテーブルである。具体的には、出力ポートテーブルTPでは、アドレス情報と、出力ポートリストと、物理ポートを示す情報とが対応付けられている。アドレス情報として、出力ポートテーブルTPでは、送信元アドレスと、宛先アドレスとが設定される。出力ポートリストは、パケットを出力するためのポートとして、LAGポート又は物理ポートが設定される。物理ポートを示す情報として、分散処理部の識別子と、各分散処理部における物理ポートの識別子とが設定される。 The output port table TP is a table for associating flow information with physical ports that are candidates for output ports. Specifically, in the output port table TP, address information, an output port list, and information indicating a physical port are associated with each other. In the output port table TP, a source address and a destination address are set as address information. In the output port list, a LAG port or a physical port is set as a port for outputting a packet. As information indicating the physical port, an identifier of the distributed processing unit and an identifier of the physical port in each distributed processing unit are set.
具体的には、例えば、初期状態において、出力ポートテーブルTP2には、送信元アドレス「SA1」が、宛先アドレス「GA1」が、出力ポートリストとして「LAG3」及び「LAG4」が、物理ポートを示す情報として、LAG3を形成する各物理ポート(物理ポート2/1,2/2)、及びLAG4を形成する各物理ポート(2/3,3/1,4/1,5/1)が、それぞれ設定されている。他の出力ポートテーブルTP3〜TP5においても、同様に各値が設定されている。なお、これら出力ポートテーブルTP2〜TP5の初期設定方法については、後述する。
Specifically, for example, in the initial state, in the output port table TP2, the source address “SA1”, the destination address “GA1”, and the output port lists “LAG3” and “LAG4” indicate physical ports. As information, each physical port forming LAG3 (
図5は、図2に示すLAGテーブルの設定内容を模式的に示す説明図である。LAGテーブルTLは、LAGポートと、パス数と、物理ポートとを対応付けるためのテーブルである。LAGポートとして、パケット中継装置10が接続している各LAGポート(LAG1〜LAG4)が設定されている。パス数は、各LAGポートを形成する物理ポートの数を示す。物理ポートとして、図1に示す各LAGポートごとに、各LAGポートを構成する物理ポートが設定されている。なお、他の分散処理部202〜205においても、図5に示すLAGテーブルTLと同じ内容が設定されている。
FIG. 5 is an explanatory diagram schematically showing the setting contents of the LAG table shown in FIG. The LAG table TL is a table for associating LAG ports, the number of paths, and physical ports. Each LAG port (LAG1 to LAG4) to which the
図2に示す送信側経路検索部222は、出力ポート検索部223と、物理ポート選択部224とを備えている。出力ポート検索部223は、クロスバスイッチ300から中継されたパケットに基づき、出力ポートテーブルTPを参照して出力ポートの候補となるポートを検索する。出力ポート検索部223の検索によりヒットするポートは、LAGポート又は物理ポートである。物理ポート選択部224は、出力ポート検索部223の検索により見つかった出力ポートの候補となるポートから、実際にパケットを出力する物理ポートを選択する。このとき、出力ポート検索部223の検索によりヒットしたポートがLAGポートの場合、物理ポート選択部224は、後述の方法によりハッシュ値を求め、得られたハッシュ値に基づき、LAGテーブルTLを参照して出力ポートとなる物理ポートを選択する。
The transmission side
出力監視部227は、送信側経路検索部222及びパケット出力部228と接続されており、クロスバスイッチ300から送信側処理部220に中継されたパケットが、実際に物理ポートから出力されたか否かを監視する。また、出力監視部227は、パケットが出力されなかった場合、パケットが出力されなかった旨と、当該パケットに対応付けられたフロー情報とを、制御ユニット100に通知する。
The
パケット出力部228は、物理ポート選択部224により出力ポートとして選択された物理ポートに対してパケットを送信する。
The
図6は、図1に示す制御ユニットの詳細構成を示す説明図である。制御ユニット100は、制御部105と、分散先決定テーブル設定部110と、出力ポートテーブル設定部120と、廃棄処理管理部130と、テーブル記憶部140とを備えている。
FIG. 6 is an explanatory diagram showing a detailed configuration of the control unit shown in FIG. The
制御部105は、制御ユニット100が有する各機能部を制御する。また、制御部105は、ネットワークによって接続された管理用コンピュータに対して、Webベース等の設定用ユーザインタフェースを提供する。管理者は、このユーザインタフェースを利用することにより、経路に関するテーブルなどの設定を行うことができる。
The
分散先決定テーブル設定部110は、制御部105,廃棄処理管理部130,及びテーブル記憶部140に、それぞれ接続されている。分散先決定テーブル設定部110は、各分散処理部201〜205が有する分散先決定テーブルTBの生成及び更新を行なう。
The distribution destination determination
出力ポートテーブル設定部120は、制御部105及びテーブル記憶部140に、それぞれ接続されている。出力ポートテーブル設定部120は、各分散処理部201〜205が有する出力ポートテーブルTPの生成及び更新を行なう。
The output port
廃棄処理管理部130は、制御部105及び分散先決定テーブル設定部110に、それぞれ接続されている。廃棄処理管理部130は、各分散処理部201〜205の出力監視部227から通知される情報(パケットが出力されなかった旨等)を受信し、分散先決定テーブル設定部110に対して分散先決定テーブルの更新を指示する。
The discard
テーブル記憶部140は、分散先決定テーブル設定部110及び出力ポートテーブル設定部120と接続されており、マルチキャスト経路テーブルTMと、論理インタフェース変換テーブルTCと、マスタLAGテーブルTLmと、マスタ分散先決定テーブルTBmと、マスタ出力ポートテーブルTPmとを格納している。
The
図7は、図6に示すマルチキャスト経路テーブルの設定内容を模式的に示す説明図である。マルチキャスト経路テーブルTMは、マルチキャストパケットを受信した場合に、パケットを出力すべき論理インタフェース(VLAN)を決定するためのテーブルである。具体的には、マルチキャスト経路テーブルTMでは、アドレス情報(送信元アドレス,宛先アドレス)と、出力先の論理インタフェースとが対応付けられている。図7では、送信元アドレス「SA1」,宛先アドレス「GA1」のアドレス情報に対して、出力先の論理インタフェースとして、「VLAN2,VLAN3,VLAN4」が設定されている。マルチキャスト経路テーブルTMは、制御部105により提供されるユーザインタフェースを利用して管理者により設定される。
FIG. 7 is an explanatory diagram schematically showing the setting contents of the multicast route table shown in FIG. The multicast route table TM is a table for determining a logical interface (VLAN) to output a packet when a multicast packet is received. Specifically, in the multicast route table TM, address information (source address, destination address) and output destination logical interface are associated with each other. In FIG. 7, “VLAN2, VLAN3, VLAN4” is set as the logical interface of the output destination for the address information of the source address “SA1” and the destination address “GA1”. The multicast route table TM is set by an administrator using a user interface provided by the
図8は、図6に示す論理インタフェース変換テーブルの設定内容を模式的に示す説明図である。論理インタフェース変換テーブルTCは、各論理インタフェース(VLAN)に対してパケットを出力する際に用いる出力ポートを決定するためのテーブルである。具体的には、論理インタフェース変換テーブルTCでは、論理インタフェースと、出力ポート(LAGポート又は物理ポート)とが対応付けられている。図8では、VLAN1に対して、「物理ポート1/1」が出力ポートとして対応付けられている。また、VLAN2に対して「LAG3」が、VLAN3に対して「LAG4」が、VLAN4に対して「物理ポート5/2」が、それぞれ出力ポートとして対応付けられている。この論理インタフェース変換テーブルTCは、制御部105により提供されるユーザインタフェースを利用して管理者により設定される。
FIG. 8 is an explanatory diagram schematically showing the setting contents of the logical interface conversion table shown in FIG. The logical interface conversion table TC is a table for determining an output port used when outputting a packet to each logical interface (VLAN). Specifically, in the logical interface conversion table TC, a logical interface is associated with an output port (LAG port or physical port). In FIG. 8, “
図6に示すマスタLAGテーブルTLmは、各分散処理部201〜205が有するLAGテーブルTLの基準となるテーブルである。マスタLAGテーブルTLmが各分散処理部201〜205に配布され、各分散処理部201〜205においてLAGテーブルTLとして送信側テーブル記憶部226に格納される。したがって、マスタLAGテーブルTLmの設定内容は、図5に示すLAGテーブルTLと同じである。マスタLAGテーブルTLmは、制御部105により提供されるユーザインタフェースを利用して管理者により設定される。
A master LAG table TLm illustrated in FIG. 6 is a table serving as a reference for the LAG table TL included in each of the distributed
図6に示すマスタ分散先決定テーブルTBmは、各分散処理部201〜205が有する分散先決定テーブルTBの基準となるテーブルである。分散先決定テーブル設定部110によってマスタ分散先決定テーブルTBmが各分散処理部201〜205に配布され、各分散処理部201〜205において分散先決定テーブルTBとして受信側テーブル記憶部214に格納される。したがって、初期設定状態におけるマスタ分散先決定テーブルTBmの設定内容は、図3に示す分散先決定テーブルTBと同じである。
The master distribution destination determination table TBm illustrated in FIG. 6 is a table that serves as a reference for the distribution destination determination table TB included in each of the
図6に示すマスタ出力ポートテーブルTPmは、各分散処理部201〜205が有する出力ポートテーブルTPの基準となるテーブルであり、各分散処理部201〜205が有する合計5つのテーブルに対応する5つのテーブルから構成される。出力ポートテーブル設定部120によってマスタ出力ポートテーブルTPmが各分散処理部201〜205に配布され、各分散処理部201〜205において出力ポートテーブルTPとして送信側テーブル記憶部226に格納される。したがって、初期設定状態におけるマスタ出力ポートテーブルTPmの設定内容は、第1分散処理部201用のテーブルを除き、図4に示す各出力ポートテーブルTP2〜TP5と同じである。
The master output port table TPm illustrated in FIG. 6 is a table serving as a reference for the output port table TP included in each of the distributed
前述の5つの分散処理部201〜205は、請求項における複数のパケット処理部に相当する。また、受信側経路検索部216は請求項における配布先決定部に、クロスバスイッチ300は請求項におけるパケット配布部に、送信側経路検索部222は請求項における出力ポート決定部及び出力ポート特定部に、出力監視部227は請求項における出力判定部に、パケット出力部228は請求項におけるパケット長判定部に、分散先決定テーブルTBは請求項における配布先決定テーブルに、LAG処理は請求項における物理ポート特定処理に、制御部105は請求項における論理ポート設定部に、それぞれ相当する。
The five distributed
A2.各テーブルの初期設定処理:
A2−1.分散先決定テーブルの初期設定処理:
図9は、第1実施例における分散先決定テーブルの初期設定処理の手順を示すフローチャートである。制御部105が提供するユーザインタフェースを利用して管理者が処理の開始を指示すると、パケット中継装置10において分散先決定テーブルの初期設定処理が開始される。
A2. Initial setting process for each table:
A2-1. Initial setting processing of distribution destination determination table:
FIG. 9 is a flowchart showing the procedure of the initial setting process of the distribution destination determination table in the first embodiment. When the administrator uses the user interface provided by the
図6に示す分散先決定テーブル設定部110は、テーブル記憶部140に記憶されているマスタ分散先決定テーブルTBmを初期化する(ステップS105)。具体的には、マスタ分散先決定テーブルTBmに設定されているすべてのエントリを削除し、マルチキャスト経路テーブルTMを参照して、設定されている各フロー毎に、デフォルトエントリ(EN=*,ハッシュ値=*)を生成する。このとき、各分散処理部へのパケットの中継の有無を示す情報として、全ての分散処理部に対して「0」が設定される。図7に示すように、マルチキャスト経路テーブルTMには、送信元アドレス「SA1」,宛先アドレス「GA1」のフローのみが設定されているので、ステップS105では、このフローについてのデフォルトエントリがマスタ分散先決定テーブルTBmに設定される。なお、本ステップが第1回目に実行される場合には、デフォルトエントリを有する新たなマスタ分散先決定テーブルTBmが生成される。
The distribution destination determination
分散先決定テーブル設定部110は、アドレス情報(送信元アドレス及び宛先アドレス)をキーとして、マルチキャスト経路テーブルTMを検索して、対応する論理インタフェースのリストを取得する(ステップS110)。図7に示すように、マルチキャスト経路テーブルTMでは、アドレス情報(SA1,GA1)に対して、出力先の論理インタフェースとしてVLAN2,VLAN3,VLAN4が設定されている。したがって、分散先決定テーブル設定部110は、これらVLAN2,VLAN3,VALN4から成るリストを取得する。
The distribution destination determination
分散先決定テーブル設定部110は、ステップS110で得られた全ての論理インタフェースをキーとして、論理インタフェース変換テーブルTCを検索し、対応する全ての出力ポートのリストを取得する(ステップS115)。前述のように、VLAN2,VLAN3,VLAN4から成るリストが得られた場合には、図8に示す論理インタフェース変換テーブルTCを検索することにより、出力ポートのリストとして、LAGポートLAG3,LAGポートLAG4,物理ポート5/2から成るリストが得られる。
The distribution destination determination
分散先決定テーブル設定部110は、ステップS115で得られた出力ポートのリストを構成する各ポートが、それぞれLAGポートであるか否かを判定する(ステップS120)。
The distribution destination determination
ステップS120において、LAGポートではないと判定された(すなわち、物理ポートであると判定された)ポートについて、分散先決定テーブル設定部110は、マスタ分散先決定テーブルTBmにおいて、当該ポートが属する分散処理部に対応するフィールドに「1」を設定する(ステップS125)。例えば、前述の物理ポート5/2については、LAGポートではないと判定されるので、この物理ポートが属する第5分散処理部205に対応するマスタ分散先決定テーブルTBmのフィールド「#5」に「1」が設定される。
In step S120, for a port that is determined not to be a LAG port (that is, determined to be a physical port), the distribution destination determination
これに対し、ステップS120において、LAGポートであると判定されたポートについて、分散先決定テーブル設定部110は、LAGポートの識別子をキーとして、マスタLAGテーブルTLmを参照して、当該ポートに属する全ての物理ポートのリストを取得する(ステップS130)。例えば、前述のLAGポートLAG3については、マスタLAGテーブルTLm(図5)が参照されて、物理ポート2/1,2/2から成るリストが得られる。また、LAGポートLAG4については、マスタLAGテーブルTLmが参照されて、物理ポート2/3,3/1,4/1,5/1から成るリストが得られる。
On the other hand, for the ports determined to be LAG ports in step S120, the distribution destination determination
分散先決定テーブル設定部110は、ステップS130で得られた各物理ポートが属する分散処理部に対応するフィールドに「1」を設定する(ステップS135)。例えば、前述の物理ポート2/1,2/2については、これらの物理ポートが属する第2分散処理部202に対応するマスタ分散先決定テーブルTBmのフィールド「#2」に「1」が設定される。また、前述の物理ポート2/3,3/1,4/1,5/1については、これら4つの物理ポートが属する第2分散処理部202,第3分散処理部203,第4分散処理部204,及び第5分散処理部205に対応する「#2」,「#3」,「#4」,「#5」に、それぞれ「1」が設定される。なお、上述したように、「#2」及び「#5」については、既に「1」に設定されているので、値は変化しない。
The distribution destination determination
前述のステップS125及びステップS135が実行された後、分散先決定テーブル設定部110は、ステップS115でリストアップされた全ての出力ポートに対して処理を行ったか否かを判定する(ステップS140)。全ての出力ポートに対して処理が完了していない場合(ステップS140:NO)には、ステップS120に戻り、残りの出力ポートを対象としてステップS120〜S140の処理を実行する。これに対し、全ての出力ポートに対して処理が完了したと判定した場合(ステップS140:YES)、分散先決定テーブル設定部110は、ステップS105で初期化した際に対象とした全てのフローに対して処理を行ったか否かを判定する(ステップS145)。
After step S125 and step S135 described above are executed, the distribution destination determination
全てのフローに対して処理が完了していない場合(ステップS145:NO)、ステップS110に戻り、残りのフローを対象としてステップS110〜S145の処理を実行する。これに対し、全てのフローに対して処理が完了したと判定した場合(ステップS145:YES)、分散先決定テーブル設定部110は、マスタ分散先決定テーブルTBmを各分散処理部201〜205に送信して、各分散処理部201〜205に分散先決定テーブルTBを設定する(ステップS150)。分散先決定テーブル初期設定処理が開始される以前に、既に各分散処理部201〜205に分散先決定テーブルTBが設定されている場合には、ステップS150により、制御ユニット100から送信されるマスタ分散先決定テーブルTBmにより、既存の分散先決定テーブルTBの設定内容が上書きされる。
If the processing has not been completed for all the flows (step S145: NO), the process returns to step S110, and the processes of steps S110 to S145 are executed for the remaining flows. On the other hand, when it is determined that the processing has been completed for all the flows (step S145: YES), the distribution destination determination
以上の分散先決定テーブル初期設定処理の結果、マスタ分散先決定テーブルTBmにおいて、第2分散処理部202〜205に対応するフィールドに「1」が設定されるので、各分散処理部201〜205に設定される分散先決定テーブルTBの設定内容は、図3に示す内容となる。
As a result of the initial setting processing of the distribution destination determination table, “1” is set in the field corresponding to the second
A2−2.出力ポートテーブルの初期設定処理:
図10は、第1実施例における出力ポートテーブルの初期設定処理の手順を示すフローチャートである。制御部105が提供するユーザインタフェースを利用して管理者が処理の開始を指示すると、パケット中継装置10において出力ポートテーブルの初期設定処理が開始される。
A2-2. Output port table initialization process:
FIG. 10 is a flowchart showing the procedure of the initial setting process of the output port table in the first embodiment. When the administrator instructs the start of processing using the user interface provided by the
図6に示す出力ポートテーブル設定部120は、テーブル記憶部140に記憶されているマスタ出力ポートテーブルTPmを初期化する(ステップS205)。具体的には、マスタ出力ポートテーブルTPmに設定されているすべてのエントリを削除する。なお、本ステップが第1回目に実行される場合には、エントリのない新たなマスタ出力ポートテーブルTPmが生成される。
The output port
続いて実行されるステップS210〜S220は、前述の図9に示す分散先決定テーブル更新処理のステップS110〜S120と同じである。 The subsequent steps S210 to S220 are the same as steps S110 to S120 of the distribution destination determination table update process shown in FIG.
ステップS220において、LAGポートではないと判定された(すなわち、物理ポートであると判定された)ポートについて、出力ポートテーブル設定部120は、当該物理ポートが属する分散処理部の出力ポートテーブルTPに、当該物理ポートを設定する(ステップS225)。例えば、前述の物理ポート5/2については、LAGポートではないと判定されるので、図4の第4段目の出力ポートテーブルTP5に示すように、この物理ポートが属する第5分散処理部205の分散先決定テーブルTBにおいて、出力ポートリスト及び物理ポートを示す情報として、いずれも物理ポート5/2が設定される。
In step S220, for the port determined not to be a LAG port (that is, determined to be a physical port), the output port
これに対し、ステップS220において、LAGポートであると判定されたポートについて、出力ポートテーブル設定部120は、LAGポートの識別子をキーとして、マスタLAGテーブルTLmを参照して、当該ポートに属する全ての物理ポートのリストを取得する(ステップS230)。この処理は、前述の図9に示すステップS130と同じである。したがって、例えば、LAGポートLAG3については、物理ポート2/1,2/2から成るリストが得られ、LAGポートLAG4については、物理ポート2/3,3/1,4/1,5/1から成るリストが得られる。
On the other hand, for the port determined to be a LAG port in step S220, the output port
出力ポートテーブル設定部120は、ステップS230で得られた各物理ポートが属する分散処理部の出力ポートテーブルTPにおいて、出力ポートリストとして当該LAGポートを、物理ポートを示す情報としてステップS230で得られた各物理ポートを、それぞれ設定する(ステップS235)。例えば、前述のステップS220においてLAGポートとして判定されたLAGポートLAG3については、物理ポート2/1,2/2が属する第2分散処理部202の出力ポートテーブルTPにおいて、出力ポートリストとしてLAG3が、物理ポートを示す情報として、物理ポート2/1,2/2が、それぞれ設定される。また、LAGポート4については、物理ポート2/3,3/1,4/1,5/1が属する第2分散処理部202,第3分散処理部203,第4分散処理部204,及び第5分散処理部205の各出力ポートテーブルTP2,TP3,TP4,TP5において、出力ポートリストとしてLAG4が、物理ポートを示す情報として物理ポート2/3,3/1,4/1,5/1が、それぞれ設定される。その結果、図4に示すように、各出力ポートテーブルTP2〜TP5が設定される。
In the output port table TP of the distributed processing unit to which each physical port obtained in step S230, the output port
続いて実行されるステップS240,S245は、前述の図9に示すステップS140,S145と同じである。 Subsequent steps S240 and S245 are the same as steps S140 and S145 shown in FIG.
全てのフローの全ての出力ポートに対してステップS210〜S240の処理が完了すると(ステップS245:YES)、分散先決定テーブル設定部110は、マスタ出力ポートテーブルTPmを各処理部201〜205に送信して、各分散処理部201〜205に出力ポートテーブルTPを設定する(ステップS250)。出力ポートテーブル初期化処理が開始される以前に、既に各分散処理部201〜205に出力ポートテーブルTPが設定されている場合には、ステップS250により、制御ユニット100から送信されるマスタ出力ポートテーブルTPmにより、既存の出力ポートテーブルTPの設定内容が上書きされる。
When the processing in steps S210 to S240 is completed for all output ports of all flows (step S245: YES), the distribution destination determination
以上の出力ポートテーブル初期設定処理の結果、マスタ出力ポートテーブルTPm、及び各分散処理部202〜205における出力ポートテーブルTP2〜TP5の設定内容は、図4に示す各出力ポートテーブルTP2〜TP5の設定内容と同じになる。
As a result of the above-described output port table initial setting processing, the setting contents of the output port tables TP2 to TP5 in the master output port table TPm and the distributed
A3.パケット中継処理:
A3−1.受信側パケット中継処理:
図11は、第1実施例における受信側パケット中継処理の手順を示すフローチャートである。各分散処理部201〜205の受信側処理部210では、物理ポートを介してパケットを受信すると、受信側パケット処理が開始される。
A3. Packet relay processing:
A3-1. Receiver side packet relay processing:
FIG. 11 is a flowchart showing the procedure of the reception side packet relay process in the first embodiment. When the receiving
図2に示す受信側経路検索部216は、受信したパケットのフロー情報を用いて所定のハッシュ計算を行って、ハッシュ値を求める(ステップS305)。このステップS305において用いられるフロー情報は、送信元IPアドレス,宛先IPアドレス,プロトコル番号,宛先ポート番号,及び送信元ポート番号である。
The receiving side
また、所定のハッシュ計算として、例えば、以下の計算を採用することができる。
(1)まず、送信元IPアドレス及び宛先IPアドレスを、それぞれ8ビットずつに区切り、それぞれを加算する。但し、桁上がりは無視する。
(2)得られた加算値にプロトコル番号(8ビット)を加算する。但し、桁上がりは無視する。
(3)宛先ポート番号及び送信元ポート番号を、それぞれ8ビットずつに区切り、それぞれを加算し、(2)で得られている加算値に更に加算する。但し、桁上がりは無視する。この計算方法により得られるハッシュ値は、0〜255である。
Further, as the predetermined hash calculation, for example, the following calculation can be adopted.
(1) First, the source IP address and the destination IP address are each divided into 8 bits, and each is added. However, carry is ignored.
(2) A protocol number (8 bits) is added to the obtained addition value. However, carry is ignored.
(3) The destination port number and the source port number are each divided into 8 bits, added together, and further added to the added value obtained in (2). However, carry is ignored. The hash value obtained by this calculation method is 0 to 255.
受信側経路検索部216は、分散先決定テーブルTBを参照して、ステップS216で求めたハッシュ値、及びアドレス情報(宛先IPアドレス及び送信元IPアドレス)が一致し、ENが「1」であるエントリを検索し(ステップS310)、当該エントリが見つかったか否かを判定する(ステップS315)。
The reception-side
エントリが見つからなかった場合(ステップS315:NO)、受信側経路検索部216は、デフォルトエントリに設定されている分散処理部に関する情報と、受信したパケットとをクロスバスイッチ300に送信する(ステップS320)。分散先決定テーブルTBが図3に示す初期設定状態である場合には、分散先決定テーブルTBには、エントリ番号#1のエントリ(デフォルトエントリ)のみが設定されているので、送信元IPアドレス「SA1」,宛先アドレス「GA1」のマルチキャストパケットを受信した場合には、このデフォルトエントリで設定されている分散処理部に関する情報(すなわち、「0,1,1,1,1」のビットマップ)と、当該パケットとがクロスバスイッチ300に送信される。
When the entry is not found (step S315: NO), the receiving side
前述のステップS315において、エントリが見つかったと判定した場合(ステップS315:YES)、受信側経路検索部216は、見つかったエントリに設定されている分散処理部に関する情報と、受信したパケットとをクロスバスイッチ300に送信する(ステップS325)。
If it is determined in step S315 that an entry has been found (step S315: YES), the reception-side
クロスバスイッチ300では、いずれかの分散処理部201〜205から分散処理部に関する情報(ビットマップ)と、パケットを受信すると、受信したビットマップで指定された分散処理部に対して、受信したパケットをコピーして中継する。例えば、分散処理部に関する情報としてビットマップ「0,1,1,1,1」と、パケット(送信元IPアドレス「SA1」,宛先アドレス「GA1」のマルチキャストパケット)を受信すると、クロスバスイッチ300は、かかるパケットを、第2分散処理部202〜第5分散処理部205の合計4つの分散処理部にパケットを中継する。
When the
A3−2.送信側パケット中継処理:
図12は、第1実施例における送信側パケット中継処理の手順を示すフローチャートである。各分散処理部201〜205の送信側処理部220では、クロスバスイッチ300からパケットを受信すると、送信側パケット中継処理を開始する。
A3-2. Sending side packet relay processing:
FIG. 12 is a flowchart showing the procedure of the transmission side packet relay process in the first embodiment. When the transmission
各分散処理部201〜205において、図2に示す出力ポート検索部223は、受信したパケットのアドレス情報(送信元アドレス及び宛先アドレス)をキーとして、自らの属する送信側処理部220に設定されている出力ポートテーブルTPを検索し、対応する全ての出力ポートリストを取得する(ステップS405)。
In each of the distributed
例えば、出力ポートテーブルTP2が図4に示す初期設定状態である場合に、第2分散処理部202〜第5分散処理部205の4つの分散処理部が、それぞれ送信元IPアドレス「SA1」,宛先アドレス「GA1」のマルチキャストパケットを受信した場合、第2分散処理部202は、出力ポートリスト(LAG3,LAG4)を取得する。また、第3分散処理部203は出力ポートリスト(LAG4)を、第4分散処理部204は出力ポートリスト(LAG4)を、第5分散処理部205は出力ポートリスト(LAG4,5/2)を、それぞれ取得する。
For example, when the output port table TP2 is in the initial setting state illustrated in FIG. 4, the four distributed processing units of the second distributed processing
各分散処理部201〜205において、物理ポート選択部224は、受信したパケットのフロー情報を用いて所定のハッシュ計算を行って、ハッシュ値を求める(ステップS410)。このステップS410において用いられるフロー情報は、前述のステップS305と同様に、宛先IPアドレス,送信元IPアドレス,プロトコル番号,宛先ポート番号,及び送信元ポート番号である。
In each of the distributed
各分散処理部201〜205において、物理ポート選択部224は、ステップS410で求めたハッシュ値に基づき、LAGテーブルTLを参照して、出力ポートリストに記載されているポート毎に、パケットを出力する物理ポート(出力ポート)を決定する(ステップS415)。具体的には、出力ポートリストに記載されているポートがLAGポートである場合には、物理ポート選択部224は、ステップS410で得られたハッシュ値を、当該LAGポートのパス数で割って剰余を求める。得られた剰余に基づき、LAGテーブルTLを参照して物理ポートを決定する。剰余が「0」の場合、LAGテーブルTLの各LAGポートを形成する物理ポートのうち、先頭に記載されている物理ポートを、出力ポートとして決定する。同様に、剰余が「1」の場合、LAGテーブルTLの各LAGポートを構成する物理ポートのうち、2番目に記載されている物理ポートを出力ポートとして決定する。また、出力ポートリストに記載されているポートが物理ポートである場合には、当該物理ポートをパケットを出力ポートとして決定する。
In each of the distributed
例えば、前述のパケット(送信元IPアドレス「SA1」,宛先アドレス「GA1」のマルチキャストパケット)のフロー情報から得られたハッシュ値が「0」であった場合に、図5に示すLAGテーブルTLに基づき、第2分散処理部202では、LAG3については、「物理ポート2/1」が、LAG4については、「物理ポート2/3」がそれぞれ決定される。また、第3分散処理部203では、LAG4について「物理ポート2/3」が決定される。第4分散処理部204では、LAG4について「物理ポート2/3」が決定される。第5分散処理部205では、LAG4については「物理ポート2/3」が、物理ポート5/2については「物理ポート5/2」が、それぞれ決定される。
For example, when the hash value obtained from the flow information of the above-described packet (the multicast packet with the source IP address “SA1” and the destination address “GA1”) is “0”, the LAG table TL illustrated in FIG. Based on this, the second distributed processing
続いて、各分散処理部201〜205において、物理ポート選択部224は、ステップS415において決定された物理ポートを、自らが属する分散処理部が有しているか否かを判定する(ステップS420)。物理ポートを有している場合には(ステップS420:YES)、パケット出力部228は、当該物理ポートからパケットを出力し(ステップS425)、送信側パケット中継処理は終了する。これに対し、物理ポートを有していない場合には(ステップS420:NO)、パケット出力部228は、クロスバスイッチ300から受信したパケットを廃棄する(ステップS430)。
Subsequently, in each of the distributed
例えば、前述のように、LAG3について「物理ポート2/1」が、LAG4について「物理ポート2/3」が、物理ポート5/2については「物理ポート5/2」が、それぞれ決定された場合、第2分散処理部202では、パケットを出力する物理ポート(出力ポート)として決定された物理ポート(物理ポート2/1,2/3)を有しているので、物理ポート2/1,2/3から、それぞれパケットを出力する。同様に、第5分散処理部205では、出力ポートとして決定された物理ポート(物理ポート5/2)を有しているので、物理ポート5/2からパケットを出力する。これに対し、第3分散処理部203及び第4分散処理部204は、いずれも出力ポートを有していないので、受信したパケットを廃棄する。
For example, as described above, “
前述のステップS430が実行され、パケットが廃棄されると、出力監視部227は、パケット廃棄が発生した旨、廃棄されたパケットのフロー情報、廃棄されたパケットについて算出されたハッシュ値、及びパケット廃棄が起きた分散処理部の識別子を、制御ユニット100の廃棄処理管理部130に通知して(ステップS435)、送信側パケット中継処理は終了する。例えば、前述のように、第3分散処理部203及び第4分散処理部204でパケットの廃棄が発生した場合、パケット廃棄が発生した旨に加えて、フロー情報「SA1,GA1」と、ハッシュ値「0」と、分散処理部の識別子「#3,4」とが、廃棄処理管理部130に通知される。
When the above-described step S430 is executed and the packet is discarded, the
図13は、マルチキャストパケットの中継結果を模式的に示す第1の説明図である。図14は、マルチキャストパケットの中継結果を示す第2の説明図である。図13,14は、いずれも、送信元IPアドレス「SA1」,宛先IPアドレス「GA1」,ハッシュ値が「0」のフローに属するマルチキャストパケットが最初にパケット中継装置10に到着した場合の中継結果を示している。
FIG. 13 is a first explanatory diagram schematically illustrating a relay result of a multicast packet. FIG. 14 is a second explanatory diagram illustrating a relay result of a multicast packet. FIGS. 13 and 14 both show the relay result when the multicast packet belonging to the flow having the source IP address “SA1”, the destination IP address “GA1”, and the hash value “0” first arrives at the
図13では、左側に出力ポートテーブルTP2〜TP5を示し、右側に出力結果を示している。出力結果において「○」は出力されたことを意味し、「×」出力されなかったことを意味する。図13に示すように、ハッシュ値「0」のフローに属するマルチキャストパケットついては、物理ポート2/1,2/3,5/2からパケットが出力され、他の物理ポートからは出力されていない。したがって、第3分散処理部203及び第4分散処理部204からは全くパケットが出力されていない。
In FIG. 13, the output port tables TP2 to TP5 are shown on the left side, and the output results are shown on the right side. In the output result, “◯” means that it has been output, and “x” means that it has not been output. As shown in FIG. 13, for multicast packets belonging to the flow with the hash value “0”, packets are output from the
図14では、各分散処理部201〜205において実行される処理の概略を表わすと共に、パケットの流れを太い実線の矢印で表わしている。第1分散処理部201では、分散先決定テーブルTBが参照されて分散先が決定され、クロスバスイッチ300にパケットが送信される。クロスバスイッチ300は、パケットを第2分散処理部202〜第5分散処理部205の合計4つの分散処理部に中継する。
In FIG. 14, the outline of processing executed in each of the distributed
第2分散処理部202では、出力ポートテーブルTP2が参照されてLAG3,LAG4が出力ポートリストとして得られ、それぞれのLAGポートについてLAG処理が行われ、物理ポート2/1,2/3が出力ポートとして決定される。そして、これら出力ポートからパケットが出力される。
In the second distributed processing
第3分散処理部203では、出力ポートテーブルTP3が参照されてLAG4が出力ポートリストとして得られ、LAG4についてLAG処理が行われ、物理ポート2/3が出力ポートとして決定される。しかしながら、この出力ポートである物理ポート2/2は、自らが有する物理ポートでないため、パケットは出力されない。第4分散処理部204では、第3分散処理部203と同じ処理が実行される。
In the third distributed
第5分散処理部205では、出力ポートテーブルTP5を参照されて物理ポート5/2が出力ポートリストとして得られ、この物理ポート5/2が出力ポートとして決定される。そして、物理ポート5/2からパケットが出力される。
In the fifth distributed
図14に示すように、第3分散処理部203及び第4分散処理部204では、パケットを出力しないにも関わらず、出力ポートテーブルTPの参照やLAG処理など、無駄な処理を行っており、各分散処理部203,204の処理能力が浪費されている。しかしながら、第1実施例のパケット中継装置10では、後述の分散先決定テーブルの更新処理を行うことにより、各第1分散処理部201〜第5分散処理部205の処理能力の浪費を抑制することができる。
As shown in FIG. 14, the third distributed
A4.分散先決定テーブル更新処理:
図15は、第1実施例における分散先決定テーブル更新処理の手順を示すフローチャートである。パケット中継装置10の起動と共に、分散先決定テーブル更新処理が開始される。
A4. Distribution destination determination table update processing:
FIG. 15 is a flowchart illustrating the procedure of the distribution destination determination table update process in the first embodiment. When the
制御ユニット100の廃棄処理管理部130は、パケットが廃棄された旨が通知されるまで待機する(ステップS505)。そして、いずれかの分散処理部201〜205の出力監視部227からパケット廃棄が発生した旨,フロー情報,ハッシュ値,及び分散処理部の識別子を通知されると(ステップS505:YES)、分散先決定テーブル設定部110に対して、フロー情報,ハッシュ値,及び分散処理部の識別子を通知すると共に、マスタ分散先決定テーブルTBmの更新を指示する(ステップS510)。
The discard
分散先決定テーブル設定部110は、通知された更新指示に従い、マスタ分散先決定テーブルTBmにおいて、デフォルトエントリをコピーし、コピーしたエントリにおいて通知された分散処理部の識別子に対応するフィールドを「0」に、ENを「1」に、ハッシュ値を「廃棄パケットについて算出されたハッシュ値」に、それぞれ更新した新たなエントリを追加する(ステップS515)。
In accordance with the notified update instruction, the distribution destination determination
分散先決定テーブル設定部110は、マスタ分散先決定テーブルTBmを各分散処理部201〜205に送信して、各分散処理部201〜205の分散先決定テーブルTBを更新する(ステップS520)。
The distribution destination determination
図16は、更新後の分散先決定テーブルの一例を示す説明図である。図16では、前述のように、送信元IPアドレス「SA1」,宛先IPアドレス「GA1」,ハッシュ値「0」のパケットが第3分散処理部203及び第4分散処理部204で廃棄された後に更新された分散先決定テーブルTBを示す。
FIG. 16 is an explanatory diagram of an example of the distribution destination determination table after update. In FIG. 16, after the packets with the source IP address “SA1”, the destination IP address “GA1”, and the hash value “0” are discarded by the third
廃棄処理管理部130には、パケット廃棄が発生した旨に加えて、フロー情報「SA1,GA1」と、ハッシュ値「0」と、分散処理部の識別子「#3,4」とが、廃棄処理管理部130に通知されるので、図13に示すように、EN「1」,ハッシュ値「0」,フロー情報「SA1,GA1」,分散処理部#1,3,4におけるパケットの中継の有無を示す情報「0」が、それぞれ設定されたエントリ(エントリ#2)が追加される。
In addition to the fact that packet discard has occurred, the discard
図16に示すように、各分散処理部201〜205が有する分散先決定テーブルTBが更新されるので、次に同じフローのパケットがパケット中継装置10に到着した場合には、パケットの中継処理は、前回の処理とは異なることとなる。
As shown in FIG. 16, since the distribution destination determination table TB included in each of the
図17は、分散先決定テーブル更新後のマルチキャストパケットの中継結果を示す説明図である。図17では、送信元IPアドレス「SA1」,宛先IPアドレス「GA1」,ハッシュ値「0」のフローに属するマルチキャストパケットが2回目以降に到着した場合の中継結果を示している。 FIG. 17 is an explanatory diagram showing the relay result of the multicast packet after the distribution destination determination table is updated. FIG. 17 shows a relay result when a multicast packet belonging to the flow having the source IP address “SA1”, the destination IP address “GA1”, and the hash value “0” arrives for the second time or later.
前述のように、送信元IPアドレス「SA1」,宛先IPアドレス「GA1」,ハッシュ値「0」のフローに属するマルチキャストパケットが初めてパケット中継装置10により中継された結果、各分散処理部201〜205のTB分散先決定テーブルTBは、いずれも図16に示すように、エントリ#2が追加されている。したがって、同じフローのマルチキャストパケットがパケット中継装置10に到着した場合、図11に示す受信側パケット中継処理のステップS310では、かかるエントリ#2が見つかることとなる。したがって、ステップS325が実行され、図16のエントリ#2において、「1」が設定されている第2分散処理部202及び第5分散処理部205に対してのみ、クロスバスイッチ300からパケットが中継される。
As described above, as a result of the multicast packet belonging to the flow having the source IP address “SA1”, the destination IP address “GA1”, and the hash value “0” being relayed by the
それゆえ、図17に示すように、第3分散処理部203及び第4分散処理部204には、パケットが中継されないので、図14に示す出力ポートテーブルTP3,TP4の参照、第3分散処理部203におけるLAG処理、及び第4分散処理部204におけるLAG処理は実行されないこととなる。したがって、パケットを出力しない分散処理部203,204において、無駄な処理が行われないため、処理能力の浪費が抑制される。
Therefore, as shown in FIG. 17, since no packet is relayed to the third distributed
図18は、マルチキャストパケットの中継結果を示す第3の説明図である。図19は、マルチキャストパケットの中継結果を示す第4の説明図である。図20は、マルチキャストパケットの中継結果を示す第5の説明図である。図21は、図13,図18〜20に示すマルチキャストパケットの中継結果が得られた後の分散先決定テーブルを示す説明図である。 FIG. 18 is a third explanatory diagram illustrating a relay result of the multicast packet. FIG. 19 is a fourth explanatory diagram showing a multicast packet relay result. FIG. 20 is a fifth explanatory diagram illustrating a relay result of the multicast packet. FIG. 21 is an explanatory diagram showing a distribution destination determination table after the multicast packet relay results shown in FIGS. 13 and 18 to 20 are obtained.
図18は、中継するマルチキャストパケットのフローが、送信元IPアドレス「SA1」,宛先IPアドレス「GA1」,ハッシュ値が「1」のフローである場合の中継結果を示している。また、図19は、中継するマルチキャストパケットのフローが、送信元IPアドレス「SA1」,宛先IPアドレス「GA1」,ハッシュ値が「2」のフローである場合の中継結果を、図20は、中継するマルチキャストパケットのフローが、送信元IPアドレス「SA1」,宛先IPアドレス「GA1」,ハッシュ値が「3」のフローである場合の中継結果を、それぞれ示している。 FIG. 18 shows a relay result when the flow of the multicast packet to be relayed is a flow with the source IP address “SA1”, the destination IP address “GA1”, and the hash value “1”. 19 shows a relay result when the flow of the multicast packet to be relayed is a flow with the source IP address “SA1”, the destination IP address “GA1”, and the hash value “2”, and FIG. The relay results when the multicast packet flow to be transmitted is a flow with the source IP address “SA1”, the destination IP address “GA1”, and the hash value “3” are shown respectively.
図18に示すように、ハッシュ値が「1」の場合には、LAG3については、出力ポートとして「物理ポート2/2」が決定される。また、LAG4については、出力ポートとして「物理ポート3/1」が決定される。また、物理ポート5/2については、出力ポートとして「物理ポート5/2」が決定される。したがって、第2分散処理部202,第3分散処理部203,及び第5分散処理部205からパケットが出力され、第4分散処理部204からはパケットは出力されない。したがって、この中継結果により、分散先決定テーブルTBには、図21に示すエントリ#3が追加される。このエントリ#3は、ハッシュ値「1」及び分散処理部の識別子#4のフィールドのみが「0」である点を除き、デフォルトエントリ(エントリ#1)と同じである。それゆえ、次回、送信元IPアドレス「SA1」,宛先IPアドレス「GA1」,ハッシュ値が「1」のフローに属するパケットを受信した場合、クロスバスイッチ300から第4分散処理部204に対してパケットは、中継されないため、第4分散処理部204の処理能力の浪費が抑制される。
As shown in FIG. 18, when the hash value is “1”, “
図19に示すように、ハッシュ値が「2」の場合には、LAG3については、出力ポートとして「物理ポート2/1」が決定される。また、LAG4については、出力ポートとして「物理ポート4/1」が決定される。また、物理ポート5/2については、出力ポートとして「物理ポート5/2」が決定される。したがって、第2分散処理部202,第4分散処理部204,及び第5分散処理部205からパケットが出力され、第3分散処理部203からはパケットは出力されない。したがって、この中継結果により、分散先決定テーブルTBには、図21に示すエントリ#4が追加される。それゆえ、次回、送信元IPアドレス「SA1」,宛先IPアドレス「GA1」,ハッシュ値が「2」のフローに属するパケットを受信した場合、クロスバスイッチ300から第3分散処理部203に対してパケットは、中継されないため、第3分散処理部203の処理能力の浪費が抑制される。
As shown in FIG. 19, when the hash value is “2”, “
図20に示すように、ハッシュ値が「3」の場合には、LAG3については、出力ポートとして「物理ポート2/2」が決定される。また、LAG4については、出力ポートとして「物理ポート5/1」が決定される。また、物理ポート5/2については、出力ポートとして「物理ポート5/2」が決定される。したがって、第2分散処理部202及び第5分散処理部205からパケットが出力され、第3分散処理部203及び第4分散処理部204からはパケットは出力されない。したがって、この中継結果により、分散先決定テーブルTBには、図21に示すエントリ#5が追加される。それゆえ、次回、送信元IPアドレス「SA1」,宛先IPアドレス「GA1」,ハッシュ値が「3」のフローに属するパケットを受信した場合、クロスバスイッチ300から第3分散処理部203及び第4分散処理部204に対してパケットは、中継されないため、第3分散処理部203及び第4分散処理部204の処理能力の浪費が抑制される。
As shown in FIG. 20, when the hash value is “3”, “
以上説明した第1実施例のパケット中継装置10では、クロスバスイッチ300から中継されたマルチキャストパケットが、各分散処理部201〜205において出力されなかった場合に、出力されなかったパケットと同じフロー(ハッシュ値,送信元アドレス,宛先アドレスにより定められる送信元及び宛先の組み合わせ)に属するパケットが次回以降到着した場合に、最初のパケットが出力されなかった分散処理部に中継されないように定めた新たなエントリを、分散先決定テーブルTBに追加する。したがって、以後、同じフローに属するパケットを受信した場合に、分散先決定テーブルTBに追加された新たなエントリに基づき、クロスバスイッチ300においてパケットが中継されるので、パケットが出力されなかった分散処理部へのパケットの中継を抑制できる。各分散処理部ではパケットから得られる情報(ハッシュ値,送信元IPアドレス,宛先IPアドレス)に基づいて出力ポートを決定するので、同じフローに属するパケットについては、出力ポートとして同じ物理ポートが決定される。したがって、パケットを出力しない分散処理部に対してパケットを中継することを抑制できるので、当該分散処理部における無駄な処理(出力ポートテーブルTPの参照及びLAG処理の実行)の実行を抑制し、当該分散処理部における処理能力の浪費を抑制することができる。
In the
加えて、クロスバスイッチ300において、パケットが出力されない分散処理部へのパケットの中継が抑制されるので、クロスバスイッチ300のスイッチ能力の浪費を抑制できる。
In addition, in the
また、分散先決定テーブルTBでは、初期設定状態においてデフォルトエントリが設定されているので、新たなフローに属するパケットがパケット中継装置10に到着した場合であっても、かかるデフォルトエントリを用いてパケットを各分散処理部に中継することができる。
In the distribution destination determination table TB, since a default entry is set in the initial setting state, even when a packet belonging to a new flow arrives at the
B.第2実施例:
第2実施例のパケット中継装置は、分散先決定テーブル及び出力ポートテーブルにおける設定項目と、送信側パケット中継処理の手順と、分散先決定テーブル更新処理に代えて出力ポートテーブル更新処理を実行する点とにおいて、図1に示すパケット中継装置10と異なり、他の構成は第1実施例と同様である。前述の第1実施例では、各分散処理部201〜205におけるパケットの廃棄(パケットが出力されなかったこと)を契機として、分散先決定テーブルTBを更新していた。これに対し、第2実施例では、パケットの廃棄を契機として、出力ポートテーブルTPを更新する。また、第2実施例では、出力ポートがSTP(Spanning Tree Protocol)の閉塞ポート(パケットの永久ループを抑制するために、パケットを中継しないポートとして予め定められた物理ポート)に設定されていることにより、パケットの廃棄が発生する。
B. Second embodiment:
The packet relay apparatus according to the second embodiment executes the setting items in the distribution destination determination table and the output port table, the procedure of the transmission side packet relay processing, and the output port table update processing instead of the distribution destination determination table update processing. However, unlike the
第2実施例の分散先決定テーブルTBは、「EN」フィールド及び「ハッシュ値」フィールドを有さない点において、図3等に示す第1実施例の分散先決定テーブルTBと異なり、他の構成は、第1実施例と同じである。 The distribution destination determination table TB of the second embodiment is different from the distribution destination determination table TB of the first embodiment shown in FIG. 3 and the like in that it does not have an “EN” field and a “hash value” field. Is the same as in the first embodiment.
B1.出力ポートリストの構成:
図22は、第2実施例における出力ポートテーブルの設定内容を模式的に示す説明図である。図22では、図4と同様に、初期設定状態において、第2分散処理部202に設定されている出力ポートテーブルTP2a,第3分散処理部203に設定されている出力ポートテーブルTP3a,第4分散処理部204に設定されている出力ポートテーブルTP4a,第5分散処理部205に設定されている出力ポートテーブルTP5aを表わしている。
B1. Output port list configuration:
FIG. 22 is an explanatory diagram schematically showing the setting contents of the output port table in the second embodiment. In FIG. 22, similarly to FIG. 4, in the initial setting state, the output port table TP2a set in the second distributed processing
図22に示す各出力ポートテーブルTP2a〜TP5aは、エントリが有効であるか否かを示す情報(EN)と、ハッシュ値とが追加されている点において、図4に示す第1実施例の出力ポートテーブルTP2〜TP5と異なり、他の構成は第1実施例と同じである。図22におけるエントリが有効であるか否かを示す情報(EN)は、第1実施例の分散先決定テーブルTBにおけるENと同じ意味を有する。また、図22におけるハッシュ値は、第1実施例の分散先決定テーブルTBにおけるハッシュ値と同じ意味(同じ算出方法により得られる値)を有する。 Each of the output port tables TP2a to TP5a shown in FIG. 22 is the output of the first embodiment shown in FIG. 4 in that information (EN) indicating whether the entry is valid and a hash value are added. Unlike the port tables TP2 to TP5, other configurations are the same as those in the first embodiment. Information (EN) indicating whether or not the entry in FIG. 22 is valid has the same meaning as EN in the distribution destination determination table TB of the first embodiment. Further, the hash value in FIG. 22 has the same meaning (value obtained by the same calculation method) as the hash value in the distribution destination determination table TB of the first embodiment.
初期設定状態においては、ENとして「*」が、ハッシュ値として「*」が設定されており、これらの値「*」の意味は、第1実施例における分散先決定テーブルTBのデフォルトエントリに設定されている「*」と同じ意味を有する。すなわち、初期状態において各出力ポートテーブルTP2a〜TP5aには、それぞれデフォルトエントリが設定されている。各デフォルトエントリにおけるEN「*」及びハッシュ値「*」は、図10に示す出力ポートテーブル初期設定処理により設定されたエントリに対して、自動的に付与される。なお、第1分散処理部201が有する出力ポートテーブルTPも、図22に示す各出力ポートテーブルTP2a〜TP5aと同じフィールドを有する。
In the initial setting state, “*” is set as EN and “*” is set as the hash value, and the meaning of these values “*” is set in the default entry of the distribution destination determination table TB in the first embodiment. It has the same meaning as “*”. That is, default entries are set in the output port tables TP2a to TP5a in the initial state. The EN “*” and the hash value “*” in each default entry are automatically given to the entry set by the output port table initial setting process shown in FIG. Note that the output port table TP included in the first distributed
B2.送信側パケット中継処理:
図23は、第2実施例における送信側パケット中継処理の手順を示す第1のフローチャートである。図24は、第2実施例における送信側パケット中継処理の手順を示す第2のフローチャートである。
B2. Sending side packet relay processing:
FIG. 23 is a first flowchart showing the procedure of the transmission side packet relay process in the second embodiment. FIG. 24 is a second flowchart showing the procedure of the transmission side packet relay process in the second embodiment.
各分散処理部201〜205において、出力ポート検索部223は、受信したパケットのフロー情報を用いて所定のハッシュ計算を行って、ハッシュ値を求める(ステップS600)。このステップS600において用いられるフロー情報は、宛先IPアドレス,送信元IPアドレス,プロトコル番号,宛先ポート番号,及び送信元ポート番号である。
In each of the distributed
各分散処理部201〜205において、出力ポート検索部223は、アドレス情報及びステップS600で求めたハッシュ値をキーとして、自らが属する送信側処理部220に設定されている出力ポートテーブルTPにおいて、EN「1」,ハッシュ値「受信したパケットのハッシュ値」(すなわちステップS600で求めたハッシュ値)であるエントリを検索し(ステップS605)、当該エントリが見つかったか否かを判定する(ステップS610)。
In each of the distributed
エントリが見つからなかった場合(ステップS610:NO)、各分散処理部201〜205において、出力ポート検索部223は、デフォルトエントリの全ての出力ポートリストを取得する(ステップS635)。例えば、第2分散処理部202において、出力ポートテーブルTP2aが、図22に示す初期設定状態であり、ハッシュ値「0」,送信元IPアドレス「SA1」,宛先アドレス「GA1」のマルチキャストパケットを受信した場合、第2分散処理部202の出力ポート検索部223は、出力ポートリスト(LAG3,LAG4)を取得する。
When no entry is found (step S610: NO), in each of the distributed
各分散処理部201〜205において、出力ポート検索部223は、ステップS635により出力ポートリストを取得すると、出力ポートリストに記載されている各ポート毎に、受信したパケットに対してフィルタ処理及びQoS(Quality of Service)処理をパイプラインで実行する(ステップS640)。このとき、出力ポートリストに記載されているポートがLAGポートである場合には、出力ポート検索部223は、LAGテーブルTLを参照して各LAGポートを構成する物理ポートを決定し、各物理ポート毎にフィルタ処理及びQoS処理をパイプラインで実行する。出力ポートリストに記載されているポートが物理ポートである場合には、出力ポート検索部223は、かかる物理ポートに対してフィルタ処理及びQoS処理をパイプラインで実行する。
In each of the distributed
前述のフィルタ処理とは、パケット中継装置10による中継を許可するパケットと中継を禁止するパケットとを分別する処理を意味し、例えば、予めユーザにより設定された所定のフィルタポリシーに従って実行することができる。所定のポリシーとしては、例えば、プロトコル番号,送信元ポート番号,及び宛先ポート番号の組み合わせが特定の組み合わせに合致する場合には、パケット中継装置10による中継を禁止するポリシーを採用することができる。
The above-described filter processing means processing for separating packets that are permitted to be relayed by the
また、QoS処理とは、予め定められたフロー毎の処理の優先度に従ってパケットの中継を行う処理を意味し、例えば、優先度の高いフローに属するパケットを、優先度の低いフローに属するパケットよりも先に中継処理を行うことを意味する。具体的には、高優先度用のメモリ(キュー)と、低優先度用のメモリ(キュー)とを用意し、パケットがいずれの優先度であるか否かをパケットに含まれるフロー情報に基づき判断し、該当するキューにパケットを格納する処理を、QoS処理として採用することができる。 The QoS process means a process of relaying a packet according to a predetermined process priority for each flow. For example, a packet belonging to a flow with a higher priority is assigned to a packet belonging to a flow with a lower priority. Means that relay processing is performed first. Specifically, a high-priority memory (queue) and a low-priority memory (queue) are prepared. Based on the flow information included in the packet, the priority of the packet is determined. The process of determining and storing the packet in the corresponding queue can be adopted as the QoS process.
各分散処理部201〜205において、物理ポート選択部224は、ステップS600で求めたハッシュ値に基づき、LAGテーブルTLを参照して、出力ポートリストに記載されているポート毎に、パケットを出力する物理ポート(出力ポート)を決定する(ステップS645)。このステップS645の処理は、図12に示すステップS415の処理と同じである。
In each of the distributed
各分散処理部201〜205において、物理ポート選択部224は、ステップS645において決定された物理ポートを、自らが属する分散処理部が有しているか否かを判定する(ステップS650)。このステップS650の処理は、図12に示すステップS420の処理と同じである。
In each of the distributed
ステップS645において決定された物理ポートを、自らが属する分散処理部が有していないと判定された場合(ステップS650:NO)、各分散処理部201〜205において、パケット出力部228は、フィルタ処理及びQoS処理を実行後のパケットを廃棄する(ステップS680)。出力監視部227は、パケット廃棄が発生した旨、廃棄されたパケットのフロー情報、廃棄されたパケットについて算出されたハッシュ値、及びパケット廃棄が起きた物理ポートの番号を、制御ユニット100の廃棄処理管理部130に通知して(ステップS685)、送信側パケット中継処理は終了する。
If it is determined that the distributed processing unit to which the self belongs does not have the physical port determined in step S645 (step S650: NO), in each of the distributed
ステップS645において決定された物理ポートを、自らが属する分散処理部が有していると判定された場合(ステップS650:YES)、各分散処理部201〜205において、物理ポート選択部224は、フィルタ処理及びQoS処理を実行後のパケットと、ステップS645で決定された出力ポート(物理ポート)の番号を、パケット出力部228に通知する(ステップS655)。
When it is determined that the distributed processing unit to which the self belongs belongs in step S645 (step S650: YES), in each of the distributed
図24に示すように、各分散処理部201〜205において、パケット出力部228は、ステップS655において通知された物理ポート(出力ポート)がSTPの閉塞ポートとして設定されているか否かを判定する(ステップS660)。なお、パケット中継装置10では、予め閉塞ポートとしていずれかの物理ポートが設定され得るものとし、以下では、物理ポート5/2が閉塞ポートとして設定されているものとする。
As shown in FIG. 24, in each of the distributed
出力ポートがSTPの閉塞ポートとして設定されている場合(ステップS660:YES)、前述のステップS680及びS685が実行されて、送信側パケット中継処理は終了する。これに対し、出力ポートがSTPの閉塞ポートとして設定されていない場合(ステップS660:NO)、パケット出力部228は、ステップS655において通知された物理ポートからパケットを出力する(ステップS670)。出力監視部227は、パケットが出力された旨、出力されたパケットのフロー情報、出力されたパケットについて算出されたハッシュ値、及び出力ポートの番号を、制御ユニット100の廃棄処理管理部130に通知して(ステップS675)、送信側パケット中継処理は終了する。
When the output port is set as an STP blocked port (step S660: YES), the above-described steps S680 and S685 are executed, and the transmission-side packet relay processing ends. On the other hand, when the output port is not set as an STP blocked port (step S660: NO), the
前述のステップS610において、エントリが見つかった場合(ステップS610:YES)、各分散処理部201〜205において、出力ポート検索部223は、見つかったエントリにおいて、出力ポートリストが「0」(無し)に設定されているか否かを判定する(ステップS615)。
When an entry is found in the above-described step S610 (step S610: YES), in each of the distributed
出力ポートリストが「0」に設定されている場合(ステップS615:YES)、送信側パケット中継処理は終了する。 When the output port list is set to “0” (step S615: YES), the transmission side packet relay process ends.
前述のステップS615において、出力ポートが「0」に設定されていない場合(ステップS615:NO)、当該エントリに設定されている各ポート毎に、受信したパケットに対してフィルタ処理及びQoS処理をパイプラインで実行する(ステップS625)。このとき、出力ポートリストに記載されているポートがLAGポートである場合には、出力ポート検索部223は、LAGテーブルTLを参照して、各LAGポートを構成する物理ポートを決定し、各物理ポート毎に、フィルタ処理及びQoS処理をパイプラインで実行する。出力ポートリストに記載されているポートが物理ポートである場合には、出力ポート検索部223は、かかる物理ポートに対し、フィルタ処理及びQoS処理をパイプラインで実行する。ステップS630が実行された後は、前述のステップS655以降の処理が実行される。
If the output port is not set to “0” in step S615 described above (step S615: NO), the filtering process and the QoS process are piped on the received packet for each port set in the entry. This is executed on the line (step S625). At this time, if the port described in the output port list is a LAG port, the output
図25は、第2実施例におけるマルチキャストパケットの中継結果を模式的に示す説明図である。図25では、送信元IPアドレス「SA1」,宛先IPアドレス「GA1」,ハッシュ値が「0」のフローに属するマルチキャストパケットが最初にパケット中継装置10に到着した場合の中継結果を示している。また、図25は、分散先決定テーブルTBが図3に示す初期設定状態であり、各分散処理部202〜205の出力ポートテーブルTP2〜TP5が図22に示す初期設定状態である場合の中継結果を示している。
FIG. 25 is an explanatory diagram schematically showing a relay result of the multicast packet in the second embodiment. FIG. 25 shows a relay result when a multicast packet belonging to a flow having a source IP address “SA1”, a destination IP address “GA1”, and a hash value “0” first arrives at the
第1分散処理部201において受信されたマルチキャストパケットは、図3に示す分散先決定テーブルTBに基づき、図22に示すように分散処理部202〜205に中継される。
The multicast packet received by the first
第2分散処理部202では、出力ポートテーブルTP2が初期設定状態であり、ENが「1」であるエントリがないため、ステップS635〜S655が実行され、出力ポートとして決定された物理ポート2/1,2/3と、フィルタ処理及びQoS処理後のパケットとがパケット出力部228に送信される。物理ポート2/1,2/3は、いずれもSTPの閉塞ポートではないため、その後、ステップS660〜S675が実行され、物理ポート2/1,2/3からパケットが出力される。
In the second distributed processing
第3分散処理部203では、出力ポートテーブルTP3が初期設定状態であり、ENが「1」であるエントリがないため、ステップS635〜S650が実行される。第1実施例と同様に、LAG4について決定された出力ポート(物理ポート2/3)は、第3分散処理部203が有する物理ポートではないため、ステップS680,S685が実行され、パケットは廃棄される。なお、第4分散処理部204における処理も、前述の第3分散処理部203における処理と同様であり、パケットは廃棄される。
In the third distributed
第5分散処理部205では、出力ポートテーブルTP2が初期設定状態であり、ENが「1」であるエントリがないため、ステップS635〜S655が実行され、出力ポートとして決定された物理ポート5/2と、フィルタ処理及びQoS処理後のパケットとがパケット出力部228に送信される。しかしながら、物理ポート5/2は、STPの閉塞ポートであるため(ステップS660:YES)、ステップS680,S685が実行され、パケットは廃棄される。
In the fifth distributed
図25に示すように、第3分散処理部203及び第4分散処理部204では、LAG処理の結果として、自らが有する物理ポートが出力ポートとして決定されないことに起因するパケットの廃棄(以下、「LAG廃棄」と呼ぶ)が起こる。したがって、第1実施例と同様に、出力ポートテーブルTPの参照やLAG処理など、無駄な処理が行われており、各分散処理部203,204の処理能力が浪費されている。また、第5分散処理部205においても、出力ポートとして決定された物理ポートがSTPにおける閉塞ポートとして設定されていることに起因するパケットの廃棄(以下、「STP廃棄」と呼ぶ)が起こる。したがって、出力ポートテーブルTP5の参照が無駄な処理となっている。また、分散処理部202〜205では、LAGポートを構成する全ての物理ポートについて、それぞれフィルタ処理及びQoS処理が実行されるため、出力ポートを除く他の物理ポートについて実行するこれらの処理は無駄となり、各分散処理部202〜205の処理能力を浪費している。しかしながら、第2実施例のパケット中継装置では、後述の出力ポートテーブル更新処理を行うことにより、各第1分散処理部201〜第5分散処理部205の処理能力の浪費を抑制することができる。
As shown in FIG. 25, in the third distributed
B3.出力ポートテーブル更新処理:
図26は、第2実施例における出力ポートテーブル更新処理の手順を示すフローチャートである。第2実施例のパケット中継装置の起動と共に、分散先決定テーブル更新処理が開始される。
B3. Output port table update processing:
FIG. 26 is a flowchart illustrating a procedure of output port table update processing in the second embodiment. With the activation of the packet relay apparatus of the second embodiment, the distribution destination determination table update process is started.
制御ユニット100の廃棄処理管理部130は、パケットが出力された旨又はパケットが廃棄された旨を通知されるまで待機する(ステップS705)。そして、いずれかの分散処理部201〜205からパケットが出力された旨又はパケットが廃棄された旨が通知されると(ステップS705:YES)、廃棄処理管理部130は、通知されたフロー情報,ハッシュ値,及び出力ポート(物理ポート)の番号を、出力ポートテーブル設定部120に対して通知すると共に、マスタ出力ポートテーブルTPmの更新を指示する(ステップS710)。
The discard
出力ポートテーブル設定部120は、廃棄処理管理部130からの通知が、パケットが出力された旨であるか否かを判定し(ステップS715)、パケットが出力された旨である場合には(ステップS715:YES)、マスタ出力ポートテーブルTPmにおいて、デフォルトエントリをコピーし、コピーしたエントリにおいて、出力ポートリストフィールドを、通知された出力ポートの属するポート(出力ポートがLAGポートの一部である場合には当該LAGポート,出力ポートがLAGポートの一部でない場合には当該物理ポート)に、ENを「1」に、ハッシュ値を「出力されたパケットについて算出されたハッシュ値」に、それぞれ更新した新たなエントリを追加する(ステップS720)。なお、既に、各フィールドの値が同一であるエントリが設定されている場合には、当該エントリを上書きする。
The output port
廃棄処理管理部130からの通知が、パケットが出力された旨でない(すなわち、パケットが廃棄された旨である)場合には(ステップS715:NO)、出力ポートテーブル設定部120は、マスタ出力ポートテーブルTPmにおいて、デフォルトエントリをコピーし、コピーしたエントリにおいて、出力ポートリストフィールドを「0」(無し)に、ENを「1」に、ハッシュ値を「廃棄パケットについて算出されたハッシュ値」に、それぞれ更新した新たなエントリを追加する(ステップS725)。なお、既に、各フィールドの値が同一であるエントリが設定されている場合には、当該エントリを上書きする。
When the notification from the discard
前述のステップS720又はS725の処理が終了した後、出力ポートテーブル設定部120は、マスタ出力ポートテーブルTPmを各分散処理部201〜205に送信して、各分散処理部201〜205の出力ポートテーブルTPを更新する(ステップS730)。
After the process of step S720 or S725 is completed, the output port
図27は、更新後の出力ポートテーブルの一例を示す説明図である。図27では、前述のように、送信元IPアドレス「SA1」,宛先IPアドレス「GA1」,ハッシュ値「0」のパケットが各分散処理部202〜205に最初に中継されて処理された後に更新された出力ポートテーブルTP2a〜TP5aを示す。
FIG. 27 is an explanatory diagram of an example of the updated output port table. In FIG. 27, as described above, the packet having the source IP address “SA1”, the destination IP address “GA1”, and the hash value “0” is first relayed to each of the distributed
第2分散処理部202の出力監視部227から廃棄処理管理部130に対して、パケットが出力された旨と、フロー情報「SA1,GA1」と、ハッシュ値「0」と、出力ポート「物理ポート2/1,2/3」とが通知される。したがって、図27に示すように、出力ポートテーブルTP2aには、EN「1」,ハッシュ値「0」,フロー情報「SA1,GA1」,出力ポートリスト「LAG3,LAG4」,対応する物理ポート「物理ポート2/1,2/3」が、それぞれ設定されたエントリ(エントリ#2)が追加される。
The fact that a packet has been output from the
第3分散処理部203の出力監視部227から廃棄処理管理部130に対して、パケットが出力された旨と、フロー情報「SA1,GA1」と、ハッシュ値「0」と、パケット廃棄が起きた物理ポート「2/3」が通知される。したがって、図27に示すように、出力ポートテーブルTP3aには、EN「1」,ハッシュ値「0」,フロー情報「SA1,GA1」,出力ポートリスト「0」(無し)が、それぞれ設定されたエントリ(エントリ#2)が追加される。
The packet was discarded from the
第4分散処理部204の出力監視部227から廃棄処理管理部130に対して、パケットが出力された旨と、フロー情報「SA1,GA1」と、ハッシュ値「0」と、パケット廃棄が起きた物理ポート「2/3」が通知される。したがって、図27に示すように、出力ポートテーブルTP4aには、EN「1」,ハッシュ値「0」,フロー情報「SA1,GA1」,出力ポートリスト「0」(無し)が、それぞれ設定されたエントリ(エントリ#2)が追加される。
The
第5分散処理部205の出力監視部227から廃棄処理管理部130に対して、パケットが出力された旨と、フロー情報「SA1,GA1」と、ハッシュ値「0」と、パケット廃棄が起きた物理ポート「5/2」が通知される。したがって、図27に示すように、出力ポートテーブルTP5aには、EN「1」,ハッシュ値「0」,フロー情報「SA1,GA1」,出力ポートリスト「0」(無し)が、それぞれ設定されたエントリ(エントリ#2)が追加される。
The fact that a packet was output from the
図27に示すように、各分散処理部202〜205が有する分散先決定テーブルTBが更新されるので、次に同じフローのパケットが第2実施例のパケット中継装置に到着した場合には、パケットの中継処理は、前回の処理とは異なることとなる。
As shown in FIG. 27, since the distribution destination determination table TB included in each of the
図28は、出力ポートテーブル更新後のマルチキャストパケットの中継結果を模式的に示す説明図である。図28では、送信元IPアドレス「SA1」,宛先IPアドレス「GA1」,ハッシュ値「0」のフローに属するマルチキャストパケットが2回目以降に到着した場合の中継結果を示している。 FIG. 28 is an explanatory diagram schematically showing a relay result of the multicast packet after the output port table is updated. FIG. 28 shows a relay result when a multicast packet belonging to the flow having the source IP address “SA1”, the destination IP address “GA1”, and the hash value “0” arrives for the second time or later.
前述のように、送信元IPアドレス「SA1」,宛先IPアドレス「GA1」,ハッシュ値「0」のフローに属するマルチキャストパケットが初めてパケット中継装置10によって中継された結果、各出力ポートテーブルTP2a〜TP5aには、いずれも図22に示すように、エントリ#2が追加されている。したがって、例えば、第2分散処理部202においては、図23に示すステップS610において、「エントリあり」と判断され、ステップS615,S625,S655,S660,S670,S675が実行されることとなる。したがって、当該フローに属するパケットを最初に受信した場合と異なり、LAG処理(ステップS645)を実行せず出力ポートが決定されるため、第2分散処理部202の処理能力の浪費を抑制できる。加えて、ステップS605において見つかったエントリには、各LAGポートに対応する物理ポートとして1つの物理ポートのみが記載されている。したがって、各LAGポートについてフィルタ処理及びQoS処理を行う物理ポートの数が最少数「1」に抑制されるので、第2分散処理部202における処理能力の浪費を抑制できる。
As described above, as a result of the multicast packet belonging to the flow having the source IP address “SA1”, the destination IP address “GA1”, and the hash value “0” being relayed by the
また、第3分散処理部203においては、出力ポートテーブルTP3aを参照してエントリ#2がヒットし、かかるエントリにおいて出力ポートリストに「0」が設定されているため、LAG処理,フィルタ処理,QoS処理等が実行されることなく送信側パケット中継処理が終了する。したがって、これら処理を実行するための第3分散処理部203の処理能力の浪費を抑制できる。なお、第4分散処理部204においても、第3分散処理部203と同様に、処理能力の浪費を抑制できる。
Further, in the third distributed
第5分散処理部205においては、第2分散処理部202と同様に、ステップS610において、「エントリあり」と判断され、ステップS615,S625,S655,S660,S670,S675が実行されるため、第5分散処理部205の処理能力の浪費を抑制できる。
Similarly to the second distributed processing
以上説明した第2実施例のパケット中継装置では、クロスバスイッチ300から中継されたマルチキャストパケットが、各分散処理部201〜205において出力されなかった場合に、出力されなかったパケットと同じフロー(ハッシュ値,送信元IPアドレス,宛先IPアドレスにより定められる送信元及び宛先の組み合わせ)に属するパケットが次回以降到着した場合に、最初のパケットが出力されなかった分散処理部において、LAG処理等を行わないで廃棄される。したがって、最初のパケットが出力されなかった分散処理部における処理能力の浪費を抑制できる。
In the packet relay apparatus according to the second embodiment described above, when the multicast packet relayed from the
加えて、第2実施例のパケット中継装置では、クロスバスイッチ300から中継されたマルチキャストパケットが、各分散処理部201〜205において出力された場合に、出力されたパケットと同じフローに属するパケットが次回以降到着した場合に、LAG処理を行わないで出力ポートを決定できるように、出力ポートテーブルが更新される。したがって、同じフローに属するパケットが次回以降到着した場合に、LAG処理を省略できると共に、出力ポートとして決定されないポートにおけるフィルタ処理及びQoS処理を省略できる。それゆえ、最初のパケットが出力された分散処理部における処理能力の浪費を抑制できる。
In addition, in the packet relay apparatus of the second embodiment, when the multicast packet relayed from the
また、第2実施例のパケット中継装置では、STP廃棄が発生した場合に、かかるSTP廃棄発生の事実をフィードバックして、出力ポートテーブルを更新するようにしている。したがって、STPの閉塞ポートが変更された場合に、新たに閉塞ポートとして設定された物理ポートを有する分散処理部において、LAG処理等を実行させないように自動的に設定することができる。それゆえ、管理者は、STPにおける閉塞ポートの変更に伴って出力ポートテーブル等の変更を行なわないで済むため、管理者の作業負担を軽減することができる。 Further, in the packet relay apparatus of the second embodiment, when an STP discard occurs, the fact of the occurrence of the STP discard is fed back and the output port table is updated. Therefore, when the blocked port of the STP is changed, the distributed processing unit having the physical port newly set as the blocked port can be automatically set not to execute the LAG processing or the like. Therefore, the administrator does not have to change the output port table or the like in accordance with the change of the blocked port in the STP, so that the work load on the administrator can be reduced.
C.第3実施例:
第3実施例のパケット中継装置は、出力ポートテーブルにおける設定項目と、送信側パケット中継処理の手順と、出力ポートテーブル更新処理の手順とにおいて、第2実施例のパケット中継装置と異なり、他の構成は、第2実施例と同様である。前述の第2実施例では、出力ポートがSTPの閉塞ポートに設定されている場合にパケットを廃棄していたが、第3実施例では、各物理ポートに対して、MTU制限が設定されており、このMTU制限を満たさないパケットは廃棄される。MTU制限とは、パケット長がMTU(Maximum Transmission Unit:一度に送信できるデータの最大サイズ)よりも長い場合にパケットを廃棄することを意味する。なお、以下では、物理ポート5/2のMTU制限として750バイトが設定されており、他の物理ポートにはMTU制限として1500バイトが設定されているものとする。
C. Third embodiment:
The packet relay apparatus according to the third embodiment differs from the packet relay apparatus according to the second embodiment in the setting items in the output port table, the transmission packet relay processing procedure, and the output port table update processing procedure. The configuration is the same as in the second embodiment. In the second embodiment, the packet is discarded when the output port is set as an STP blocked port. However, in the third embodiment, the MTU limit is set for each physical port. Packets that do not meet this MTU limit are discarded. The MTU restriction means that a packet is discarded when the packet length is longer than MTU (Maximum Transmission Unit: maximum size of data that can be transmitted at one time). In the following description, it is assumed that 750 bytes is set as the MTU limit for the
C1.出力ポートリストの構成:
図29は、第3実施例における出力ポートテーブルの設定内容を模式的に示す説明図である。図29では、図4と同様に、初期設定状態において、第2分散処理部202に設定されている出力ポートテーブルTP2b,第3分散処理部203に設定されている出力ポートテーブルTP3b,第4分散処理部204に設定されている出力ポートテーブルTP4b,第5分散処理部205に設定されている出力ポートテーブルTP5bを表わしている。
C1. Output port list configuration:
FIG. 29 is an explanatory diagram schematically showing the setting contents of the output port table in the third embodiment. 29, similarly to FIG. 4, in the initial setting state, the output port table TP2b set in the second distributed processing
図29に示す各出力ポートテーブルTP2b〜TP5bは、「パケット長(PL)」フィールドを有する点において、図22に示す第2実施例の出力ポートテーブルTP2a〜TP5aと異なり、他の構成は、出力ポートテーブルTP2a〜TP5aと同じである。図29におけるパケット長フィールド(PL)には、パケット長に応じた3種類のパケット長識別子が設定される。 Each output port table TP2b to TP5b shown in FIG. 29 is different from the output port tables TP2a to TP5a of the second embodiment shown in FIG. 22 in that it has a “packet length (PL)” field. It is the same as the port tables TP2a to TP5a. In the packet length field (PL) in FIG. 29, three types of packet length identifiers corresponding to the packet length are set.
図30は、第3実施例の出力ポートテーブルに設定されるパケット長識別子の内容を示す説明図である。図30に示すように、第3実施例では、パケット長に応じて3つのパケット長識別子が設定されている。具体的には、750バイト未満のパケット長に対して、パケット長識別子「a」が設定されている。また、750バイト以上かつ1500バイト未満のパケット長に対してパケット長識別子「b」が、1500バイト以上のパケット長に対してパケット長識別子「c」が、それぞれ設定されている。また、デフォルトの設定値として、パケット長の大きさに関わらず「*」が設定されている。 FIG. 30 is an explanatory diagram showing the contents of the packet length identifier set in the output port table of the third embodiment. As shown in FIG. 30, in the third embodiment, three packet length identifiers are set according to the packet length. Specifically, a packet length identifier “a” is set for a packet length of less than 750 bytes. A packet length identifier “b” is set for a packet length of 750 bytes or more and less than 1500 bytes, and a packet length identifier “c” is set for a packet length of 1500 bytes or more. Further, “*” is set as a default setting value regardless of the size of the packet length.
図29に示すように、初期設定状態においては、各出力ポートテーブルTP2b〜TP5bにおいて、エントリ#1(デフォルトエントリ)が設定されている。このデフォルトエントリでは、ENとして「*」が、パケット長識別子として「*」が設定されている。なお、各デフォルトエントリにおけるEN「*」及びパケット長「*」は、図10に示す出力ポートテーブル初期設定処理により設定されたエントリに対して、自動的に付与される。なお、第1分散処理部201が有する出力ポートテーブルTPも、図29に示す各出力ポートテーブルTP2b〜TP5bと同じフィールドを有する。
As shown in FIG. 29, in the initial setting state, entry # 1 (default entry) is set in each of the output port tables TP2b to TP5b. In this default entry, “*” is set as the EN and “*” is set as the packet length identifier. The EN “*” and the packet length “*” in each default entry are automatically given to the entry set by the output port table initial setting process shown in FIG. Note that the output port table TP included in the first distributed
C2.送信側パケット中継処理:
図31は、第3実施例における送信側パケット中継処理の手順を示す第1のフローチャートである。図32は、第3実施例における送信側パケット中継処理の手順を示す第2のフローチャートである。第3実施例における送信側パケット中継処理は、ステップS602を新たに実行し、ステップS605に代えてステップS605aを実行し、ステップS660に代えてステップS660aを実行し、ステップS675に代えてステップS675aを実行し、ステップS685に代えてステップS685aを実行する点において、図23,24に示す第2実施例における送信側パケット中継処理と異なり、他の手順は第2実施例と同じである。
C2. Sending side packet relay processing:
FIG. 31 is a first flowchart showing the procedure of the transmission side packet relay process in the third embodiment. FIG. 32 is a second flowchart showing the procedure of the transmission side packet relay process in the third embodiment. In the transmission side packet relay processing in the third embodiment, step S602 is newly executed, step S605a is executed instead of step S605, step S660a is executed instead of step S660, and step S675a is executed instead of step S675. Unlike the transmission side packet relay processing in the second embodiment shown in FIGS. 23 and 24, the other procedures are the same as those in the second embodiment in that step S685a is executed instead of step S685.
第3実施例では、ハッシュ値を求めた後(ステップS600の後)、各第1分散処理部201〜205の出力ポート検索部223は、受信したパケットのパケット長に基づき、パケット長識別子を決定する(ステップS602)。
In the third embodiment, after obtaining the hash value (after step S600), the output
各第1分散処理部201〜205の出力ポート検索部223は、アドレス情報,ステップS600で求めたハッシュ値,及びステップS602で求めたパケット長をキーとして、自らが属する送信側処理部220に設定されている出力ポートテーブルTPにおいて、EN「1」,ハッシュ値「受信したパケットのハッシュ値」(すなわちステップS600で求めたハッシュ値),パケット長「受信したパケットのパケット長のパケット長識別子」(すなわちステップS602で求めたパケット長識別子)であるエントリを検索する(ステップS605a)。
The output
図31に示すステップS655の処理(すなわち、フィルタ処理及びQoS処理を実行後のパケットと決定された出力ポートの番号をパケット出力部228に通知する処理)が実行された後、各分散処理部201〜205において、パケット出力部228は、図32に示すように、出力予定のパケットがステップS655において通知された物理ポート(出力ポート)に設定されているMTU制限を満たしているか否かを判定する(ステップS660a)。
After the process of step S655 shown in FIG. 31 (that is, the process of notifying the
出力予定のパケットがMTU制限を満たしていない場合には(ステップS660a:NO)、図31に示すステップS680,S685aが実行される。ステップS685aにおいて、出力監視部227は、パケット廃棄が発生した旨、廃棄されたパケットのフロー情報、廃棄されたパケットについて算出されたハッシュ値、及びパケット廃棄が起きた物理ポートの番号に加えて、廃棄されたパケットのパケット長を、制御ユニット100の廃棄処理管理部130に通知する。
If the packet to be output does not satisfy the MTU limit (step S660a: NO), steps S680 and S685a shown in FIG. 31 are executed. In step S685a, the
出力予定のパケットがMTU制限を満たしている場合には(ステップS660b:YES)、図32に示すようにステップS670,S765aが実行される。ステップS675aにおいて、出力監視部227は、パケットが出力された旨、出力されたパケットのフロー情報、出力されたパケットについて算出されたハッシュ値、及び出力ポートの番号に加えて、出力されたパケットのパケット長を、制御ユニット100の廃棄処理管理部130に通知する。
If the packet to be output satisfies the MTU limit (step S660b: YES), steps S670 and S765a are executed as shown in FIG. In step S675a, the
図33は、第3実施例におけるマルチキャストパケットの中継結果を模式的に示す説明図である。図33では、送信元IPアドレス「SA1」,宛先IPアドレス「GA1」,ハッシュ値が「0」のフローに属するマルチキャストパケットであって、パケット長が1000バイトのパケットが最初にパケット中継装置10に到着した場合の中継結果を示している。また、図33は、分散先決定テーブルTBが図3に示す初期設定状態であり、各分散処理部202〜205の出力ポートテーブルTP2b〜TP5bが図29に示す初期設定状態である場合の中継結果を示している。
FIG. 33 is an explanatory diagram schematically showing a relay result of the multicast packet in the third embodiment. In FIG. 33, a multicast packet belonging to a flow having a source IP address “SA1”, a destination IP address “GA1”, and a hash value “0”, and a packet having a packet length of 1000 bytes is first sent to the
第1分散処理部201において受信したマルチキャストパケットは、図3に示す分散先決定テーブルTBに基づき、図33に示すように、分散処理部202〜205に中継される。
The multicast packet received by the first distributed
第2分散処理部202では、出力ポートテーブルTP2が初期設定状態であり、ENが「1」であるエントリがないため、ステップS635〜S655が実行され、出力ポートとして決定された物理ポート2/1,2/3と、フィルタ処理及びQoS処理後のパケットとがパケット出力部228に送信される。物理ポート2/1,2/3のMTU制限はいずれも1500バイトであるため、出力予定のパケット(パケット長:1000バイト)はMTU制限を満たすため、その後、ステップS670,S675aが実行され、物理ポート2/1,2/3からパケットが出力される。
In the second distributed processing
第3分散処理部203では、出力ポートテーブルTP3が初期設定状態であり、ENが「1」であるエントリがないため、ステップS635〜S650が実行される。第1実施例と同様に、LAG4について決定された出力ポート(物理ポート2/3)は、第3分散処理部203が有する物理ポートではないため、ステップS680,S685aが実行され、パケットは廃棄される。なお、第4分散処理部204における処理も、前述の第3分散処理部203における処理と同様であり、パケットは廃棄される。
In the third distributed
第5分散処理部205では、出力ポートテーブルTP2が初期設定状態であり、ENが「1」であるエントリがないため、ステップS635〜S655が実行され、出力ポートとして決定された物理ポート5/2と、フィルタ処理及びQoS処理後のパケットとがパケット出力部228に送信される。しかしながら、物理ポート5/2のMTU制限は750バイトであるため、出力予定のパケット(パケット長:1000バイト)はMTU制限を満たさない。それゆえ、ステップS680,S685aが実行され、パケットは廃棄される。
In the fifth distributed
図33に示すように、第3分散処理部203及び第4分散処理部204では、LAG廃棄が起こる。したがって、第1,2実施例と同様に、各分散処理部203,204の処理能力が浪費されている。また、第5分散処理部205においても、パケットが出力ポートとして決定された物理ポートのMTU制限を満たさないことに起因するパケットの廃棄(以下、「MTU廃棄」と呼ぶ)が起こる。したがって、出力ポートテーブルTP5の参照が無駄な処理となっている。また、分散処理部202〜205では、LAGポートを構成する全ての物理ポートについて、それぞれフィルタ処理及びQoS処理が実行されるため、出力ポートを除く他の物理ポートについて実行するこれらの処理は無駄となり、各分散処理部202〜205の処理能力を浪費している。しかしながら、第3実施例のパケット中継装置では、後述の出力ポートテーブル更新処理を行うことにより、各第1分散処理部201〜第5分散処理部205の処理能力の浪費を抑制することができる。
As shown in FIG. 33, LAG discard occurs in the third distributed
C3.出力ポートテーブル更新処理:
図34は、第3実施例における出力ポートテーブル更新処理の手順を示すフローチャートである。第3実施例のパケット中継装置の起動と共に、分散先決定テーブル更新処理が開始される。第3実施例における出力ポートテーブル更新処理は、ステップS720に代えてステップS720aを実行し、ステップS725に代えてステップS725aを実行する点において、図26に示す第2実施例における出力ポートテーブル更新処理と異なり、他の手順は第2実施例と同じである。
C3. Output port table update processing:
FIG. 34 is a flowchart showing the procedure of the output port table update process in the third embodiment. With the activation of the packet relay apparatus of the third embodiment, the distribution destination determination table update process is started. The output port table update process in the third embodiment executes step S720a instead of step S720, and executes step S725a instead of step S725. The output port table update process in the second embodiment shown in FIG. Unlike the above, the other procedures are the same as in the second embodiment.
第3実施例では、廃棄処理管理部130からの通知が、パケットが出力された旨である場合には(ステップS715:YES)、出力ポートテーブル設定部120は、マスタ出力ポートテーブルTPmにおいて、デフォルトエントリをコピーし、コピーしたエントリにおいて、出力ポートリストフィールドを、通知された出力ポートの属するポート(出力ポートがLAGポートの一部である場合には当該LAGポート,出力ポートがLAGポートの一部でない場合には当該物理ポート)に、ENを「1」に、ハッシュ値を「出力されたパケットについて算出されたハッシュ値」に、パケット長を「出力されたパケットのパケット長に対応するパケット長識別子」に、それぞれ更新した新たなエントリを追加する(ステップS720a)。なお、既に、各フィールドの値が同一であるエントリが設定されている場合には、当該エントリを上書きする。
In the third embodiment, when the notification from the discard
廃棄処理管理部130からの通知が、パケットが出力された旨でない(すなわち、パケットが廃棄された旨である)場合には(ステップS715:NO)、出力ポートテーブル設定部120は、マスタ出力ポートテーブルTPmにおいて、デフォルトエントリをコピーし、コピーしたエントリにおいて、出力ポートリストフィールドを「0」(無し)に、ENを「1」に、ハッシュ値を「廃棄パケットについて算出されたハッシュ値」に、パケット長を「廃棄パケットのパケット長に対応するパケット長識別子」に、それぞれ更新した新たなエントリを追加する(ステップS725a)。なお、既に、各フィールドの値が同一であるエントリが設定されている場合には、当該エントリを上書きする。
When the notification from the discard
図35は、更新後の出力ポートテーブルの一例を示す説明図である。図35では、前述のように、送信元IPアドレス「SA1」,宛先IPアドレス「GA1」,ハッシュ値「0」,パケット長「1000バイト」のパケットが各第2分散処理部202〜205に中継されて処理された後に更新された出力ポートテーブルTP2b〜TP5bを示す。
FIG. 35 is an explanatory diagram of an example of the updated output port table. In FIG. 35, as described above, the packet having the source IP address “SA1”, the destination IP address “GA1”, the hash value “0”, and the packet length “1000 bytes” is relayed to each of the second distributed processing
第2分散処理部202の出力監視部227から廃棄処理管理部130に対して、パケットが出力された旨と、フロー情報「SA1,GA1」と、ハッシュ値「0」と、出力ポート「物理ポート2/1,2/3」と、パケット長「1000バイト」が通知される。したがって、図35に示すように、出力ポートテーブルTP2bには、EN「1」,パケット長「b」,ハッシュ値「0」,フロー情報「SA1,GA1」,出力ポートリスト「LAG3,LAG4」が、対応する物理ポート「物理ポート2/1,2/3」が、それぞれ設定されたエントリ(エントリ#2)が追加される。
The fact that a packet has been output from the
第3分散処理部203の出力監視部227から廃棄処理管理部130に対して、パケットが出力されなかった旨と、フロー情報「SA1,GA1」と、ハッシュ値「0」と、パケット廃棄が起きた物理ポート「2/3」,パケット長「1000バイト」が通知される。したがって、図35に示すように、出力ポートテーブルTP3bには、EN「1」,パケット長「b」,ハッシュ値「0」,フロー情報「SA1,GA1」,出力ポートリスト「0」(無し)が、それぞれ設定されたエントリ(エントリ#2)が追加される。
The fact that no packet was output from the
第4分散処理部204の出力監視部227から廃棄処理管理部130に対して、パケットが出力されなかった旨と、フロー情報「SA1,GA1」と、ハッシュ値「0」と、パケット廃棄が起きた物理ポート「2/3」,パケット長「1000バイト」が通知される。したがって、図35に示すように、出力ポートテーブルTP3bには、EN「1」,MTU長「b」,ハッシュ値「0」,フロー情報「SA1,GA1」,出力ポートリスト「0」(無し)が、それぞれ設定されたエントリ(エントリ#2)が追加される。
The fact that no packet was output from the
第5分散処理部205の出力監視部227から廃棄処理管理部130に対して、パケットが出力されなかった旨と、フロー情報「SA1,GA1」と、ハッシュ値「0」と、パケット廃棄が起きた物理ポート「5/2」,パケット長「1000バイト」が通知される。したがって、図35に示すように、出力ポートテーブルTP5aには、EN「1」,MTU長「b」,ハッシュ値「0」,フロー情報「SA1,GA1」,出力ポートリスト「0」(無し)が、それぞれ設定されたエントリ(エントリ#2)が追加される。
The fact that no packet was output from the
図35に示すように、各分散処理部202〜205が有する分散先決定テーブルTBが更新されるので、次に同じフローのパケットが第3実施例のパケット中継装置に到着した場合には、パケットの中継処理は、前回の処理とは異なることとなる。具体的には、前述の第2実施例の図28に示す中継結果と同じ結果を得ることとなる。したがって、第2実施例と同様に、各分散処理部202〜205における処理能力の浪費を抑制することができる。
As shown in FIG. 35, since the distribution destination determination table TB included in each of the
以上説明した第3実施例のパケット中継装置は、第2実施例のパケット中継装置と同様な効果を有する。加えて、第3実施例のパケット中継装置では、クロスバスイッチ300から中継されたマルチキャストパケットが、各分散処理部201〜205において出力された場合に、出力されたパケットと同じフローに属し、かつ、出力されたパケットと同じ程度の大きさのパケットが次回以降到着した場合に、LAG処理を行わないで出力ポートを決定できるように、出力ポートテーブルが更新される。したがって、同じフローに属し、かつ、同じ程度の大きさのパケットが次回以降到着した場合に、LAG処理を省略できると共に、出力ポートとして決定されないポートにおけるフィルタ処理及びQoS処理を省略できる。それゆえ、最初のパケットが出力された分散処理部における処理能力の浪費を抑制できる。
The packet relay device of the third embodiment described above has the same effect as the packet relay device of the second embodiment. In addition, in the packet relay device of the third embodiment, when the multicast packet relayed from the
また、第3実施例のパケット中継装置では、MTU廃棄が発生した場合に、かかるMTU廃棄発生の事実をフィードバックして、出力ポートテーブルを更新するようにしているので、いずれかの物理ポートにおいてMTU制限が変更された場合に、かかる物理ポートを有する分散処理部において、LAG処理等を実行させないように自動的に設定することができる。したがって、管理者は、MTU制限の変更に伴って出力ポートテーブル等の変更を行なわないで済むため、管理者の作業負担を軽減することができる。 In the packet relay apparatus according to the third embodiment, when an MTU discard occurs, the fact that the MTU discard has occurred is fed back and the output port table is updated. When the restriction is changed, the distributed processing unit having such a physical port can be automatically set so as not to execute the LAG processing or the like. Therefore, the administrator does not need to change the output port table or the like in accordance with the change of the MTU restriction, and thus the work burden on the administrator can be reduced.
D.変形例:
なお、上記各実施例における構成要素の中の、独立クレームでクレームされた要素以外の要素は、付加的な要素であり、適宜省略可能である。また、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
D. Variations:
In addition, elements other than the elements claimed in the independent claims among the constituent elements in the above embodiments are additional elements and can be omitted as appropriate. The present invention is not limited to the above-described examples and embodiments, and can be implemented in various modes without departing from the gist thereof. For example, the following modifications are possible.
D1.変形例1:
各実施例におけるパケット中継装置10の構成は、あくまで一例であり、種々変形可能である。例えば、第2実施例では、STPの閉塞ポートとして設定されている物理ポートは、物理ポート5/2のみであったが、他の物理ポートに設定されていてもよい。第3実施例では、物理ポート5/2に対してMTU制限として750バイトが、他の物理ポートに対してMTU制限として1500バイトが、それぞれ設定されていたが、本発明はこれに限定されるものではない。例えば、MTU制限として、物理ポート2/1,2/3に576バイトを、他の物理ポートに1500バイトを、それぞれ設定することもできる。
D1. Modification 1:
The configuration of the
また、各実施例において、分散先決定テーブルTBや、出力ポートテーブルTP等の各テーブルに設定されていたエントリは、送信元アドレスが「SA1」であり、宛先アドレスが「GA1」のエントリのみであったが、これに加えて、他のアドレス情報のエントリを設定しておくこともできる。また、各実施例において、分散処理部の数は5つであったが、5つに限らず任意の数とすることができる。また、第1実施例では、クロスバスイッチ300によるマルチキャストパケットの中継先として、マルチキャストパケットを受信した第1分散処理部201を除く、他の分散処理部202〜205から決定されていたが、これに代えて、第1分散処理部201を含む任意の分散処理部を中継先として決定することもできる。
In each embodiment, the entries set in each table such as the distribution destination determination table TB and the output port table TP are only entries whose source address is “SA1” and whose destination address is “GA1”. In addition to this, other address information entries can be set. In each embodiment, the number of distributed processing units is five. However, the number is not limited to five and may be any number. In the first embodiment, the multicast packet relay destination by the
また、各実施例では、分散先決定テーブルTB及び出力ポートテーブルTPの初期設定は、それぞれ、図9に示す分散先決定テーブル初期設定処理、及び図10に示す出力ポートテーブル初期設定処理を実行することにより自動的に行なわれていたが、これに代えて、管理者がマニュアルで設定することもできる。 In each embodiment, the initial setting of the distribution destination determination table TB and the output port table TP executes the distribution destination determination table initial setting process shown in FIG. 9 and the output port table initial setting process shown in FIG. 10, respectively. However, instead of this, the administrator can also set manually.
また、各実施例では、L3スイッチとして、本発明のパケット中継装置を適用した例を示したが、L3スイッチに代えて、ルーターとして本発明のパケット中継装置を適用することもできる。また、L3スイッチに代えて、L2スイッチを本発明のパケット中継装置に適用することもできる。この構成では、レイヤ2フレームは、本発明のパケット中継装置が中継するパケットに相当する。
In each embodiment, an example in which the packet relay device of the present invention is applied as an L3 switch has been described. However, the packet relay device of the present invention can also be applied as a router instead of the L3 switch. Further, instead of the L3 switch, an L2 switch can be applied to the packet relay apparatus of the present invention. In this configuration, the
また、各実施例を組み合わせて、LAG廃棄,STP廃棄,MTU廃棄のいずれかに起因してパケットが廃棄された場合には、各分散処理部201〜205の分散先決定テーブルTBを更新し、パケットが出力された場合には、各分散処理部201〜205の出力ポートテーブルTPを更新することもできる。なお、パケット廃棄の原因は、上述したLAG廃棄,STP廃棄,MTU廃棄に限らず、任意の理由を採用することができる。
Further, in combination with each embodiment, when a packet is discarded due to any of LAG discard, STP discard, and MTU discard, the distribution destination determination table TB of each
D2.変形例2:
各実施例では、マルチキャストパケットを受信した分散処理部は、クロスバスイッチ300に対して、パケットと中継先(分散先)を指定したビットマップをクロスバスイッチ300に送信し、クロスバスイッチ300において指定された分散処理部に対してパケットを中継していたが、本発明は、この構成に限定されるものではない。例えば、受信側経路検索部216が、分散先決定テーブルTBにより指定された各分散処理部に対して1対1でパケットが中継されるように、パケットと中継先となる分散処理部を示す情報を、指定された分散処理部の数だけクロスバスイッチ300に送信する構成を採用することができる。このような構成により、クロスバスイッチ300がマルチキャスト中継(1つのパケットを複数の分散処理部に対して並行して送信する処理)を実行できない場合であっても、各実施例と同様な作用及び効果を奏することができる。
D2. Modification 2:
In each embodiment, the distribution processing unit that has received the multicast packet transmits a bitmap specifying the packet and the relay destination (distribution destination) to the
D3.変形例3:
各実施例では、全てのフローに対して平等に処理を実行し、分散先決定テーブルTBや出力ポートテーブルTPを更新していたが、本発明は、これに限定されるものではない。フロー毎に優先度を設けて、優先度の高いフローに属するパケットを受信した場合には、各実施例の処理を実行し、優先度の低いフローに属するパケットを受信した場合には、分散先決定テーブルTBや出力ポートテーブルTPを更新しないようにすることもできる。各実施例では、パケットの廃棄や出力があると、分散先決定テーブルTBや出力ポートテーブルTPに新たなエントリを追加するため、様々なフローに属するパケットを受信すると、多くのエントリが分散先決定テーブルTBや出力ポートテーブルTPに追加されることとなる。したがって、各分散処理部201〜205における受信側テーブル記憶部214や送信側テーブル記憶部226、及び制御ユニット100のテーブル記憶部140として、大きな記憶容量が必要となり、パケット中継装置の製造コストが上昇する。しかしながら、上述した優先度の高いフローに関してのみエントリを追加する構成を採用することで、各記憶部214,226,140の記憶容量を小さく抑えることができ、パケット中継装置のコストを抑制できる。また、優先度の高いフローについては、各分散処理部での処理能力の浪費を抑制できるので、単位時間当たりの処理パケット数を高めることができ、当該フローのスループットを向上させることができる。なお、フローの優先度については、予め管理者が設定する構成や、各フローの使用帯域を監視して、使用帯域が大きなフローは優先度が高く、使用帯域が小さいフローは優先度が低いと判断する構成を採用することができる。
D3. Modification 3:
In each embodiment, the processing is executed equally for all flows and the distribution destination determination table TB and the output port table TP are updated. However, the present invention is not limited to this. When a priority is set for each flow and a packet belonging to a flow with a high priority is received, the processing of each embodiment is executed. When a packet belonging to a flow with a low priority is received, the distribution destination The decision table TB and the output port table TP can be prevented from being updated. In each embodiment, when a packet is discarded or output, a new entry is added to the distribution destination determination table TB or the output port table TP. Therefore, when a packet belonging to various flows is received, many entries are determined as distribution destinations. It is added to the table TB and the output port table TP. Therefore, a large storage capacity is required for the reception-side
D4.変形例4:
各実施例では、分散先決定テーブルTBや出力ポートテーブルTPに追加されたエントリは削除されなかったが、これに代えて、エントリの削除を行なう構成を採用することができる。例えば、分散先決定テーブルTB及び出力ポートテーブルTPにエントリを追加した時刻を記録し、当該エントリが所定期間内に参照されない場合には、当該エントリを削除することもできる。このような構成により、参照されない無駄なエントリが残存することを抑制できるので、各記憶部214,226,140の記憶容量を小さく抑えることができる。また、エントリが長期間参照されない場合、かかる期間内にパケット中継装置10の構成が変更され(例えば、パケット中継装置10が接続するVLANの変更等)、これに伴って、LAGテーブルTLや、マルチキャスト経路テーブルTMや、論理インタフェース変換テーブルTCが変更される場合もある。この場合、LAG処理によって決定される物理ポートも変更するため、分散先決定テーブルTBや出力ポートテーブルTPのエントリが無効となるおそれある。しかしながら、所定期間に参照されないエントリを削除することにより、変更後の各テーブルTL,TM,TCに応じたエントリを、分散先決定テーブルTBや出力ポートテーブルTPに新たに追加することができる。
D4. Modification 4:
In each embodiment, the entry added to the distribution destination determination table TB and the output port table TP is not deleted. Instead, a configuration in which an entry is deleted can be adopted. For example, when an entry is added to the distribution destination determination table TB and the output port table TP, the entry can be deleted when the entry is not referred to within a predetermined period. With such a configuration, it is possible to suppress the useless entry that is not referred to from remaining, so that the storage capacity of each of the
また、分散先決定テーブルTBや出力ポートテーブルTPに追加するエントリを決める際に参照した情報が更新されたか否かを監視して、かかる情報が変化した場合に、変化した情報を参照して決定されたエントリを削除する構成を採用することもできる。例えば、テーブルTLや、マルチキャスト経路テーブルTMや、論理インタフェース変換テーブルTCや、STPにおける閉塞ポートや、MTU制限の更新を監視し、いずれかのテーブル又は情報が更新された場合には、分散先決定テーブルTB又は出力ポートテーブルTPから、デフォルトエントリを除く他のエントリを削除することもできる。このような構成により、無効なエントリが分散先決定テーブルTBや出力ポートテーブルTPに残存することを抑制できる。したがって、各記憶部214,226,140の記憶容量を小さく抑えることができると共に、誤った物理ポートへのパケットの中継を抑制できる。
It also monitors whether or not the information referred to when determining the entry to be added to the distribution destination determination table TB or the output port table TP has been updated. If such information changes, the information is determined with reference to the changed information. It is also possible to adopt a configuration for deleting the entered entry. For example, the table TL, the multicast route table TM, the logical interface conversion table TC, the blocked port in the STP, and the update of the MTU limit are monitored, and when any table or information is updated, the distribution destination is determined. Other entries excluding the default entry can be deleted from the table TB or the output port table TP. With such a configuration, it is possible to suppress invalid entries from remaining in the distribution destination determination table TB and the output port table TP. Therefore, the storage capacity of each of the
D5.変形例5:
第2,3実施例では、パイプライン処理として実行する処理は、フィルタ処理とQoS処理であったが、本発明はこれに限定されるものではない。例えば、これらの処理に加えて、パケットがブロードキャストストームを形成するパケットであるか否かの判定処理を実行することもできる。
D5. Modification 5:
In the second and third embodiments, the processing to be executed as pipeline processing is filter processing and QoS processing, but the present invention is not limited to this. For example, in addition to these processes, a process for determining whether or not a packet is a packet that forms a broadcast storm can be executed.
D6.変形例6:
第2,3実施例では、パケットの廃棄があった場合に、パケットの廃棄が生じた分散処理部の各出力ポートテーブルTPにおいて、出力ポートリスト「0」(無し)のエントリを追加していたが、これに代えて、かかるエントリを追加しないこともできる。この場合であっても、パケットの出力があった場合には、出力された物理ポートのみがリストアップされたエントリが出力ポートテーブルTPに追加される。したがって、出力されたパケットと同じフローに属するパケットが次回以降到着した場合に、LAG処理を行わないで出力ポートを決定できるので、分散処理部の処理能力の浪費を抑制できる。
D6. Modification 6:
In the second and third embodiments, when a packet is discarded, an entry of the output port list “0” (none) is added to each output port table TP of the distributed processing unit in which the packet is discarded. However, instead of this, such an entry may not be added. Even in this case, when a packet is output, an entry in which only the output physical port is listed is added to the output port table TP. Therefore, when a packet belonging to the same flow as the output packet arrives from the next time, the output port can be determined without performing the LAG process, so that waste of processing capacity of the distributed processing unit can be suppressed.
D7.変形例7:
各実施例においてハッシュ値を求める際に基礎とした情報(ハッシュキー)は、宛先IPアドレス,送信元IPアドレス,プロトコル番号,宛先ポート番号,及び送信元ポート番号であったが、本発明は、これに限定されるものではない。例えば、宛先IPアドレス,送信元IPアドレス,プロトコル番号,宛先ポート番号,及び送信元ポート番号のうち、少なくとも1つの情報を、ハッシュ値を求める際に基礎とすることもできる。また、宛先IPアドレス,送信元IPアドレス,プロトコル番号,宛先ポート番号,及び送信元ポート番号に加えて、送信元MAC(Media Access Control)アドレス及び受信側MACアドレスを、ハッシュ値を求める際に基礎とすることもできる。すなわち、一般には、パケットから取得可能な情報であって、パケットの送信元及び宛先の組み合わせを特定可能な任意の情報を、本発明のパケット中継装置におけるフロー情報として採用することができる。
D7. Modification 7:
In each embodiment, the information (hash key) on which the hash value is obtained is the destination IP address, the source IP address, the protocol number, the destination port number, and the source port number. It is not limited to this. For example, at least one piece of information among a destination IP address, a source IP address, a protocol number, a destination port number, and a source port number can be used as a basis for obtaining a hash value. Further, in addition to the destination IP address, the source IP address, the protocol number, the destination port number, and the source port number, the source MAC (Media Access Control) address and the receiving side MAC address are used as a basis for obtaining the hash value. It can also be. That is, in general, any information that can be acquired from a packet and that can identify a combination of a transmission source and a destination of a packet can be adopted as flow information in the packet relay device of the present invention.
D8.変形例8:
各実施例において、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。また、これとは逆に、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよい。
D8. Modification 8:
In each embodiment, a part of the configuration realized by software may be replaced with hardware. On the contrary, a part of the configuration realized by hardware may be replaced with software.
10…パケット中継装置
100…制御ユニット
201…第1分散処理部
202…第2分散処理部
203…第3分散処理部
204…第4分散処理部
205…第5分散処理部
300…クロスバスイッチ
210…受信側処理部
212…パケット受信部
214…受信側テーブル記憶部
216…受信側経路検索部
220…送信側処理部
222…送信側経路検索部
223…出力ポート検索部
224…物理ポート選択部
226…送信側テーブル記憶部
227…出力監視部
228…パケット出力部
TB…分散先決定テーブル
TL…LAGテーブル
TM…マルチキャスト経路テーブル
TP…出力ポートテーブル
105…制御部
110…分散先決定テーブル設定部
120…出力ポートテーブル設定部
130…廃棄処理管理部
140…テーブル記憶部
TC…論理インタフェース変換テーブル
TLm…マスタLAGテーブル
TBm…マスタ分散先決定テーブル
TPm…マスタ出力ポートテーブル
TP2〜TP5,TP2a〜TP5a,TP2b〜TP5b…出力ポートテーブル
DESCRIPTION OF
Claims (13)
物理ポートを有する複数のパケット処理部と、
前記複数のパケット処理部によって提供される複数の物理ポートから選択される複数の物理ポートを論理的に束ねることにより論理ポートを設定する論理ポート設定部と、
前記複数のパケット処理部のいずれかにおいてマルチキャストパケットを受信すると、前記マルチキャストパケットから取得可能な情報であって前記マルチキャストパケットの送信元及び宛先の組み合わせを示すフロー情報に基づき、前記複数のパケット処理部のうち、前記マルチキャストパケットの配布先となる配布先パケット処理部を決定する配布先決定部と、
前記決定された配布先パケット処理部に対して、前記マルチキャストパケットを配布するパケット配布部と、
前記配布先パケット処理部において、前記配布されたマルチキャストパケットの前記フロー情報に基づき、前記論理ポートを構成する前記複数の物理ポートのうち、前記マルチキャストパケットを出力するための出力ポートを決定する出力ポート決定部と、
前記出力ポートから前記マルチキャストパケットを出力するパケット出力部と、
前記配布先パケット処理部において、前記配布先パケット処理部が有する前記物理ポートから前記マルチキャストパケットが出力されたか否かを判定する出力判定部と、
を備え、
前記配布先決定部は、前記出力判定部による判定の結果、前記配布先パケット処理部から前記マルチキャストパケットが出力されなかったと判定された場合に、前記出力されなかったマルチキャストパケットの前記フロー情報と同じフロー情報を有するマルチキャストパケットを受信すると、前記複数のパケット処理部のうち、前記マルチキャストパケットが出力されなかった前記配布先パケット処理部を除く他のパケット処理部の中から、前記配布先パケット処理部を決定する、パケット中継装置。 A packet relay device,
A plurality of packet processing units having physical ports;
A logical port setting unit that sets a logical port by logically bundling a plurality of physical ports selected from a plurality of physical ports provided by the plurality of packet processing units;
When receiving a multicast packet in any of the plurality of packet processing units, the plurality of packet processing units based on flow information indicating information that can be acquired from the multicast packet and that indicates a combination of a source and a destination of the multicast packet A distribution destination determination unit that determines a distribution destination packet processing unit that is a distribution destination of the multicast packet;
A packet distribution unit for distributing the multicast packet to the determined distribution destination packet processing unit;
In the distribution destination packet processing unit, an output port for determining an output port for outputting the multicast packet among the plurality of physical ports configuring the logical port based on the flow information of the distributed multicast packet A decision unit;
A packet output unit for outputting the multicast packet from the output port;
In the distribution destination packet processing unit, an output determination unit that determines whether or not the multicast packet is output from the physical port of the distribution destination packet processing unit;
With
The distribution destination determination unit is the same as the flow information of the multicast packet that has not been output when it is determined that the multicast packet has not been output from the distribution packet processing unit as a result of the determination by the output determination unit When receiving a multicast packet having flow information, among the plurality of packet processing units, the distribution destination packet processing unit from among other packet processing units excluding the distribution destination packet processing unit from which the multicast packet was not output Determine the packet relay device.
前記フロー情報は、送信元アドレスと、宛先アドレスと、プロトコル番号と、送信元ポート番号と、宛先ポート番号とのうち、少なくとも1つの情報に基づき得られるハッシュ値と、送信元アドレスと、宛先アドレスとから成る、パケット中継装置。 The packet relay device according to claim 1,
The flow information includes a hash value obtained based on at least one of a transmission source address, a destination address, a protocol number, a transmission source port number, and a destination port number, a transmission source address, and a destination address. A packet relay device consisting of
前記フロー情報と、前記配布先パケット処理部である前記パケット処理部とを対応付け、前記配布先決定部によって前記配布先パケット処理部を決定する際に参照される配布先決定テーブルを備え、
前記配布先決定テーブルは、デフォルトのエントリとして、前記フロー情報としていずれの値でも構わない旨を示す情報と、前記配布先パケット処理部として所定のパケット処理部とを対応付けたエントリを有し、
前記配布先決定部は、前記出力判定部による判定の結果、前記マルチキャストパケットが出力されなかったと判定された場合、前記配布先決定テーブルにおける新たなエントリであって、前記フロー情報として、前記出力されなかったマルチキャストパケットの前記フロー情報が設定され、前記配布先パケット処理部として、前記デフォルトのエントリに設定されている前記配布先パケット処理部から前記マルチキャストパケットを出力しなかった前記配布先パケット処理部を除いた新たなエントリを、前記配布先決定テーブルに追加する、パケット中継装置。 The packet relay apparatus according to claim 1 or 2, further comprising:
The flow information is associated with the packet processing unit that is the distribution destination packet processing unit, and includes a distribution destination determination table that is referred to when the distribution destination determination unit determines the distribution destination packet processing unit,
The distribution destination determination table includes, as a default entry, information indicating that any value may be used as the flow information, and an entry in which a predetermined packet processing unit is associated as the distribution destination packet processing unit,
When it is determined that the multicast packet has not been output as a result of the determination by the output determination unit, the distribution destination determination unit is a new entry in the distribution destination determination table, and is output as the flow information. The flow information of the multicast packet that did not exist is set, and the distribution destination packet processing unit that did not output the multicast packet from the distribution destination packet processing unit set in the default entry as the distribution destination packet processing unit A packet relay device that adds a new entry excluding the message to the distribution destination determination table.
物理ポートを有する複数のパケット処理部と、
前記複数のパケット処理部によって提供される複数の物理ポートから選択される複数の物理ポートを論理的に束ねることにより論理ポートを設定する論理ポート設定部と、
前記複数のパケット処理部のいずれかにおいてマルチキャストパケットを受信すると、前記マルチキャストパケットから取得可能な情報であって前記マルチキャストパケットの送信元及び宛先の組み合わせを示すフロー情報に基づき、前記複数のパケット処理部のうち、前記マルチキャストパケットの配布先となる配布先パケット処理部を決定する配布先決定部と、
前記決定された配布先パケット処理部に対して、前記マルチキャストパケットを配布するパケット配布部と、
前記配布先パケット処理部において、前記配布されたマルチキャストパケットの前記フロー情報に基づき、前記マルチキャストパケットを出力するための出力ポートを特定すると共に、前記出力ポートが前記論理ポートである場合に、前記配布されたマルチキャストパケットの前記フロー情報に基づき、前記論理ポートを構成する前記複数の物理ポートの中から1つの物理ポートを前記出力ポートとして特定する物理ポート特定処理を実行する出力ポート特定部と、
前記出力ポートから前記マルチキャストパケットを出力するパケット出力部と、
前記配布先パケット処理部において、前記配布先パケット処理部が有する物理ポートから前記マルチキャストパケットが出力されたか否かを判定する出力判定部と、
を備え、
前記出力ポート特定部は、前記出力判定部による判定の結果、前記マルチキャストパケットが出力されたと判定された場合に、前記出力されたマルチキャストパケットの前記フロー情報と同じフロー情報を有するマルチキャストパケットを受信すると、前記物理ポート特定処理を実行せずに、前記マルチキャストパケットが出力された前記物理ポートを、前記出力ポートとして特定する、パケット中継装置。 A packet relay device,
A plurality of packet processing units having physical ports;
A logical port setting unit that sets a logical port by logically bundling a plurality of physical ports selected from a plurality of physical ports provided by the plurality of packet processing units;
When receiving a multicast packet in any of the plurality of packet processing units, the plurality of packet processing units based on flow information indicating information that can be acquired from the multicast packet and that indicates a combination of a source and a destination of the multicast packet A distribution destination determination unit that determines a distribution destination packet processing unit that is a distribution destination of the multicast packet;
A packet distribution unit for distributing the multicast packet to the determined distribution destination packet processing unit;
In the distribution destination packet processing unit, an output port for outputting the multicast packet is specified based on the flow information of the distributed multicast packet, and the distribution port when the output port is the logical port An output port specifying unit that executes physical port specifying processing for specifying one physical port as the output port from among the plurality of physical ports constituting the logical port, based on the flow information of the multicast packet that is generated,
A packet output unit for outputting the multicast packet from the output port;
In the distribution destination packet processing unit, an output determination unit that determines whether or not the multicast packet is output from a physical port included in the distribution destination packet processing unit;
With
The output port specifying unit receives a multicast packet having the same flow information as the flow information of the output multicast packet when it is determined that the multicast packet is output as a result of the determination by the output determination unit. A packet relay device that specifies the physical port from which the multicast packet has been output as the output port without executing the physical port specifying process.
前記フロー情報は、送信元アドレスと、宛先アドレスと、プロトコル番号と、送信元ポート番号と、宛先ポート番号とのうち、少なくとも1つの情報に基づき得られるハッシュ値と、送信元アドレスと、宛先アドレスとから成る、パケット中継装置。 The packet relay device according to claim 4,
The flow information includes a hash value obtained based on at least one of a transmission source address, a destination address, a protocol number, a transmission source port number, and a destination port number, a transmission source address, and a destination address. A packet relay device consisting of
前記フロー情報と、前記論理ポートと、前記論理ポートに含まれる前記物理ポートとを対応付けた出力ポートテーブルを備え、
前記出力ポートテーブルは、デフォルトのエントリとして、前記フロー情報としていずれの値でも構わない旨を示す情報と、前記論理ポートとして所定の論理ポートと、前記物理ポートとして前記所定の論理ポートを構成する全ての物理ポートとを対応付けたエントリを有し、
前記出力ポート特定部は、前記出力判定部による判定の結果、前記マルチキャストパケットが出力されたと判定された場合に、前記出力ポートテーブルにおける第1の新たなエントリであって、前記フロー情報として前記出力されたマルチキャストパケットの前記フロー情報が設定され、前記論理ポートとして前記マルチキャストパケットが出力された物理ポートを含む論理ポートが設定され、前記物理ポートとして、前記マルチキャストパケットが出力された物理ポートのみが設定された第1の新たなエントリを、前記出力ポートテーブルに追加し、
前記出力ポート特定部は、前記出力されたマルチキャストパケットの前記フロー情報と同じフロー情報を有するマルチキャストパケットを受信すると、前記出力ポートテーブルを参照して、前記第1の新たなエントリに基づき、前記出力ポートを特定する、パケット中継装置。 The packet relay device according to claim 4 or 5, further comprising:
An output port table in which the flow information, the logical port, and the physical port included in the logical port are associated with each other;
The output port table includes, as a default entry, information indicating that any value may be used as the flow information, a predetermined logical port as the logical port, and all of the predetermined logical port as the physical port And has an entry associated with the physical port of
The output port specifying unit is a first new entry in the output port table when the multicast packet is determined to be output as a result of the determination by the output determination unit, and the output information is the output information. The flow information of the multicast packet is set, the logical port including the physical port from which the multicast packet is output is set as the logical port, and only the physical port from which the multicast packet is output is set as the physical port Adding the first new entry made to the output port table;
When the output port specifying unit receives a multicast packet having the same flow information as the flow information of the output multicast packet, the output port specifying unit refers to the output port table and based on the first new entry, the output port A packet relay device that identifies a port.
前記マルチキャストパケットのパケット長が、前記出力ポートに予め設定されている所定のMTU長制限を満たしているか否かを判定するパケット長判定部を備え、
前記パケット出力部は、前記マルチキャストパケットのパケット長が前記所定のMTU長制限を満たしていない場合には、前記マルチキャストパケットを前記出力ポートから出力せず、
前記出力ポート特定部は、前記出力判定部による判定の結果、前記マルチキャストパケットが出力されたと判定された場合に、前記出力されたマルチキャストパケットの前記フロー情報と同じフロー情報を有し、かつ、前記出力されたマルチキャストパケットのパケット長と同じパケット長のマルチキャストパケットを受信すると、前記物理ポート特定処理を実行せずに、前記マルチキャストパケットが出力された物理ポートを、前記出力ポートとして特定する、パケット中継装置。 The packet relay device according to any one of claims 4 to 6, further comprising:
A packet length determination unit for determining whether the packet length of the multicast packet satisfies a predetermined MTU length limit set in advance in the output port;
The packet output unit does not output the multicast packet from the output port when the packet length of the multicast packet does not satisfy the predetermined MTU length limit,
The output port specifying unit has the same flow information as the flow information of the output multicast packet when it is determined that the multicast packet is output as a result of the determination by the output determination unit, and the Packet relay that, when a multicast packet having the same packet length as the output multicast packet is received, specifies the physical port from which the multicast packet is output as the output port without executing the physical port specifying process apparatus.
前記出力ポート特定部は、前記出力判定部による判定の結果、前記マルチキャストパケットが出力されなかったと判定された場合に、前記出力ポートテーブルにおける第2の新たなエントリであって、前記フロー情報として前記出力されなかったマルチキャストパケットの前記フロー情報が設定され、前記論理ポートとして、いずれの論理ポートも該当しない旨が設定され、前記物理ポートとしていずれの物理ポートも該当しない旨が設定された第2の新たなエントリを、前記出力ポートテーブルに追加し、
前記出力ポート特定部は、前記出力されなかったマルチキャストパケットの前記フロー情報と同じフロー情報を有するマルチキャストパケットを受信すると、前記出力ポートテーブルを参照して、前記第2の新たなエントリに基づき、前記出力ポートを特定しない、パケット中継装置。 In the packet relay device according to any one of claims 4 to 7,
The output port identification unit is a second new entry in the output port table when the multicast packet is not output as a result of the determination by the output determination unit, and the flow information is the flow information. The flow information of the multicast packet that has not been output is set, the logical port is set as not corresponding to any logical port, and the physical port is set as not set as any physical port Add a new entry to the output port table,
When the output port specifying unit receives a multicast packet having the same flow information as the flow information of the multicast packet that has not been output, the output port specifying unit refers to the output port table and, based on the second new entry, A packet relay device that does not specify an output port.
前記パケット中継装置は、物理ポートを有する複数のパケット処理部と、前記複数のパケット処理部によって提供される複数の物理ポートから選択される複数の物理ポートを論理的に束ねることにより論理ポートを設定する論理ポート設定部と、を有し、
(a)前記パケット中継装置は、前記複数のパケット処理部のいずれかにおいてマルチキャストパケットを受信すると、前記マルチキャストパケットから取得可能な情報であって前記マルチキャストパケットの送信元及び宛先の組み合わせを示すフロー情報に基づき、前記複数のパケット処理部のうち、前記マルチキャストパケットの配布先となる配布先パケット処理部を決定する工程と、
(b)前記パケット中継装置は、前記決定された配布先パケット処理部に対して、前記マルチキャストパケットを配布する工程と、
(c)前記パケット中継装置は、前記配布先パケット処理部において、前記配布されたマルチキャストパケットの前記フロー情報に基づき、前記論理ポートを構成する前記複数の物理ポートのうち、前記マルチキャストパケットを出力するための出力ポートを決定する工程と、
(d)前記パケット中継装置は、前記出力ポートから前記マルチキャストパケットを出力する工程と、
(e)前記パケット中継装置は、前記配布先パケット処理部において、前記配布先パケット処理部が有する前記物理ポートから前記マルチキャストパケットが出力されたか否かを判定する工程と、
を備え、
前記工程(c)において、前記パケット中継装置は、前記工程(e)の結果、前記マルチキャストパケットが出力されなかったと判定された場合に、前記出力されなかったマルチキャストパケットの前記フロー情報と同じフロー情報を有するマルチキャストパケットを受信すると、前記複数のパケット処理部のうち、前記マルチキャストパケットが出力されなかった前記配布先パケット処理部であるパケット処理部を除く他のパケット処理部の中から、前記配布先パケット処理部を決定する、パケット中継方法。 A packet relay method in a packet relay device,
The packet relay device sets a logical port by logically bundling a plurality of packet processing units having physical ports and a plurality of physical ports selected from a plurality of physical ports provided by the plurality of packet processing units. A logical port setting unit to
(A) When the packet relay apparatus receives a multicast packet in any of the plurality of packet processing units, the packet relay apparatus is information that can be acquired from the multicast packet and that indicates a combination of the source and destination of the multicast packet A step of determining a distribution destination packet processing unit to be a distribution destination of the multicast packet among the plurality of packet processing units,
(B) The packet relay device distributes the multicast packet to the determined distribution destination packet processing unit;
(C) The packet relay apparatus outputs the multicast packet among the plurality of physical ports constituting the logical port based on the flow information of the distributed multicast packet in the distribution destination packet processing unit. Determining an output port for;
(D) the packet relay device outputs the multicast packet from the output port;
(E) The packet relay apparatus determines, in the distribution destination packet processing unit, whether the multicast packet is output from the physical port of the distribution destination packet processing unit;
With
In the step (c), when it is determined that the multicast packet has not been output as a result of the step (e), the packet relay device has the same flow information as the flow information of the multicast packet that has not been output. When receiving a multicast packet having the distribution packet, the distribution destination is selected from among the plurality of packet processing units other than the packet processing unit that is the distribution destination packet processing unit from which the multicast packet has not been output. A packet relay method for determining a packet processing unit.
前記パケット中継装置は、物理ポートを有する複数のパケット処理部と、前記複数のパケット処理部によって提供される複数の物理ポートから選択される複数の物理ポートを論理的に束ねることにより論理ポートを設定する論理ポート設定部と、を有し、
(f)前記パケット中継装置は、前記複数のパケット処理部のいずれかにおいてマルチキャストパケットを受信すると、前記マルチキャストパケットから取得可能な情報であって前記マルチキャストパケットの送信元及び宛先の組み合わせを示すフロー情報に基づき、前記複数のパケット処理部のうち、前記マルチキャストパケットの配布先となる配布先パケット処理部を決定する工程と、
(g)前記パケット中継装置は、前記決定された配布先パケット処理部に対して、前記マルチキャストパケットを配布する工程と、
(h)前記パケット中継装置は、前記配布先パケット処理部において、前記配布されたマルチキャストパケットの前記フロー情報に基づき、前記マルチキャストパケットを出力するための出力ポートを特定すると共に、前記出力ポートが前記論理ポートである場合に、前記配布されたマルチキャストパケットの前記フロー情報に基づき、前記論理ポートを構成する前記複数の物理ポートの中から1つの物理ポートを前記出力ポートとして特定する物理ポート特定処理を実行する工程と、
(I)前記パケット中継装置は、前記出力ポートから前記マルチキャストパケットを出力する工程と、
(J)前記パケット中継装置は、前記配布先パケット処理部において、前記配布先パケット処理部が有する物理ポートから前記マルチキャストパケットが出力されたか否かを判定する工程と、
を備え、
前記工程(h)において、前記パケット中継装置は、前記工程(J)の結果、前記マルチキャストパケットが出力されたと判定された場合に、前記出力されたマルチキャストパケットの前記フロー情報と同じフロー情報を有するマルチキャストパケットを受信すると、前記物理ポート特定処理を実行せずに、前記マルチキャストパケットが出力された前記物理ポートを、前記出力ポートとして特定する、パケット中継方法。 A packet relay method in a packet relay device,
The packet relay device sets a logical port by logically bundling a plurality of packet processing units having physical ports and a plurality of physical ports selected from a plurality of physical ports provided by the plurality of packet processing units. A logical port setting unit to
(F) When the packet relay device receives a multicast packet in any of the plurality of packet processing units, the packet relay device is information that can be acquired from the multicast packet and that indicates a combination of the source and destination of the multicast packet A step of determining a distribution destination packet processing unit to be a distribution destination of the multicast packet among the plurality of packet processing units,
(G) The packet relay device distributes the multicast packet to the determined distribution destination packet processing unit;
(H) The packet relay device specifies an output port for outputting the multicast packet based on the flow information of the distributed multicast packet in the distribution destination packet processing unit, and the output port A physical port specifying process for specifying one physical port as the output port from the plurality of physical ports constituting the logical port based on the flow information of the distributed multicast packet when the port is a logical port; A process to perform;
(I) The packet relay device outputs the multicast packet from the output port;
(J) the packet relay device determines, in the distribution destination packet processing unit, whether or not the multicast packet is output from a physical port included in the distribution destination packet processing unit;
With
In the step (h), when it is determined that the multicast packet is output as a result of the step (J), the packet relay apparatus has the same flow information as the flow information of the output multicast packet. A packet relay method, wherein when receiving a multicast packet, the physical port from which the multicast packet is output is specified as the output port without executing the physical port specifying process.
前記パケット中継装置は、物理ポートを有する複数のパケット処理部と、前記複数のパケット処理部によって提供される複数の物理ポートから選択される複数の物理ポートを論理的に束ねることにより論理ポートを設定する論理ポート設定部と、を有し、
前記複数のパケット処理部のいずれかにおいてマルチキャストパケットを受信すると、前記マルチキャストパケットから取得可能な情報であって前記マルチキャストパケットの送信元及び宛先の組み合わせを示すフロー情報に基づき、前記複数のパケット処理部のうち、前記マルチキャストパケットの配布先となる配布先パケット処理部を決定する機能と、
前記決定された配布先パケット処理部に対して、前記マルチキャストパケットを配布する機能と、
前記配布先パケット処理部において、前記配布されたマルチキャストパケットの前記フロー情報に基づき、前記論理ポートを構成する前記複数の物理ポートのうち、前記マルチキャストパケットを出力するための出力ポートを決定する機能と、
前記出力ポートから前記マルチキャストパケットを出力する機能と、
前記配布先パケット処理部において、前記配布先パケット処理部が有する前記物理ポートから前記マルチキャストパケットが出力されたか否かを判定する機能と、
をコンピュータに実現させるためのコンピュータプログラムであり、
前記配布先パケット処理部を決定する機能は、前記配布先パケット処理部が有する物理ポートから前記マルチキャストパケットが出力されたか否かの判定の結果、前記マルチキャストパケットが出力されなかったと判定された場合に、前記出力されなかったマルチキャストパケットの前記フロー情報と同じフロー情報を有するマルチキャストパケットを受信すると、前記複数のパケット処理部のうち、前記マルチキャストパケットが出力されなかった前記配布先パケット処理部を除く他のパケット処理部の中から、前記配布先パケット処理部を決定する、機能を含む、コンピュータプログラム。 A program for relaying a packet in a packet relay device,
The packet relay device sets a logical port by logically bundling a plurality of packet processing units having physical ports and a plurality of physical ports selected from a plurality of physical ports provided by the plurality of packet processing units. A logical port setting unit to
When receiving a multicast packet in any of the plurality of packet processing units, the plurality of packet processing units based on flow information indicating information that can be acquired from the multicast packet and that indicates a combination of a source and a destination of the multicast packet A function for determining a distribution destination packet processing unit to be a distribution destination of the multicast packet,
A function of distributing the multicast packet to the determined distribution destination packet processing unit;
A function of determining an output port for outputting the multicast packet among the plurality of physical ports constituting the logical port based on the flow information of the distributed multicast packet in the distribution destination packet processing unit; ,
A function of outputting the multicast packet from the output port;
A function of determining whether the multicast packet is output from the physical port of the distribution destination packet processing unit in the distribution destination packet processing unit;
Is a computer program for causing a computer to realize
The function of determining the distribution destination packet processing unit is that when it is determined that the multicast packet has not been output as a result of determining whether or not the multicast packet has been output from a physical port of the distribution destination packet processing unit. Upon receiving a multicast packet having the same flow information as the flow information of the multicast packet that has not been output, other than the distribution destination packet processing unit from which the multicast packet has not been output among the plurality of packet processing units A computer program including a function of determining the distribution destination packet processing unit from among the packet processing units.
前記パケット中継装置は、物理ポートを有する複数のパケット処理部と、前記複数のパケット処理部によって提供される複数の物理ポートから選択される複数の物理ポートを論理的に束ねることにより論理ポートを設定する論理ポート設定部と、を有し、
前記複数のパケット処理部のいずれかにおいてマルチキャストパケットを受信すると、前記マルチキャストパケットから取得可能な情報であって前記マルチキャストパケットの送信元及び宛先の組み合わせを示すフロー情報に基づき、前記複数のパケット処理部のうち、前記マルチキャストパケットの配布先となる配布先パケット処理部を決定する機能と、
前記決定された配布先パケット処理部に対して、前記マルチキャストパケットを配布する機能と、
前記配布先パケット処理部において、前記配布されたマルチキャストパケットの前記フロー情報に基づき、前記マルチキャストパケットを出力するための出力ポートを特定すると共に、前記出力ポートが前記論理ポートである場合に、前記配布されたマルチキャストパケットの前記フロー情報に基づき、前記論理ポートを構成する前記複数の物理ポートの中から1つの物理ポートを前記出力ポートとして特定する物理ポート特定処理を実行する機能と、
前記出力ポートから前記マルチキャストパケットを出力する機能と、
前記配布先パケット処理部において、前記配布先パケット処理部が有する物理ポートから前記マルチキャストパケットが出力されたか否かを判定する機能と、
をコンピュータに実現させるためのコンピュータプログラムであり、
前記出力ポートを特定する機能は、前記配布先パケット処理部が有する物理ポートから前記マルチキャストパケットが出力されたか否かの判定の結果、前記マルチキャストパケットが出力されたと判定された場合に、前記出力されたマルチキャストパケットの前記フロー情報と同じフロー情報を有するマルチキャストパケットを受信すると、前記物理ポート特定処理を実行せずに、前記マルチキャストパケットが出力された前記物理ポートを、前記出力ポートとして特定する、機能を含む、コンピュータプログラム。 A program for relaying a packet in a packet relay device,
The packet relay device sets a logical port by logically bundling a plurality of packet processing units having physical ports and a plurality of physical ports selected from a plurality of physical ports provided by the plurality of packet processing units. A logical port setting unit to
When receiving a multicast packet in any of the plurality of packet processing units, the plurality of packet processing units based on flow information indicating information that can be acquired from the multicast packet and that indicates a combination of a source and a destination of the multicast packet A function for determining a distribution destination packet processing unit to be a distribution destination of the multicast packet,
A function of distributing the multicast packet to the determined distribution destination packet processing unit;
In the distribution destination packet processing unit, an output port for outputting the multicast packet is specified based on the flow information of the distributed multicast packet, and the distribution port when the output port is the logical port A function of executing physical port specifying processing for specifying one physical port as the output port from among the plurality of physical ports constituting the logical port based on the flow information of the multicast packet that has been generated;
A function of outputting the multicast packet from the output port;
A function of determining whether the multicast packet is output from a physical port of the distribution destination packet processing unit in the distribution destination packet processing unit;
Is a computer program for causing a computer to realize
The function of specifying the output port is output when it is determined that the multicast packet is output as a result of determining whether or not the multicast packet is output from a physical port included in the distribution destination packet processing unit. A function of specifying the physical port from which the multicast packet is output as the output port without executing the physical port specifying process when a multicast packet having the same flow information as the flow information of the multicast packet is received Including computer programs.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010196717A JP5369069B2 (en) | 2010-09-02 | 2010-09-02 | Packet relay device, packet relay method, and computer program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010196717A JP5369069B2 (en) | 2010-09-02 | 2010-09-02 | Packet relay device, packet relay method, and computer program |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2012054819A true JP2012054819A (en) | 2012-03-15 |
JP2012054819A5 JP2012054819A5 (en) | 2012-11-01 |
JP5369069B2 JP5369069B2 (en) | 2013-12-18 |
Family
ID=45907680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010196717A Active JP5369069B2 (en) | 2010-09-02 | 2010-09-02 | Packet relay device, packet relay method, and computer program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5369069B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015040690A1 (en) * | 2013-09-18 | 2015-03-26 | 富士通株式会社 | Information processing apparatus and method |
WO2018003106A1 (en) * | 2016-06-30 | 2018-01-04 | 株式会社日立製作所 | Inter-switch communication management device, inter-switch communication management method and computer readable recording medium |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005020492A (en) * | 2003-06-27 | 2005-01-20 | Hitachi Ltd | Network repeater |
JP2011066792A (en) * | 2009-09-18 | 2011-03-31 | Alaxala Networks Corp | Network relay apparatus |
-
2010
- 2010-09-02 JP JP2010196717A patent/JP5369069B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005020492A (en) * | 2003-06-27 | 2005-01-20 | Hitachi Ltd | Network repeater |
JP2011066792A (en) * | 2009-09-18 | 2011-03-31 | Alaxala Networks Corp | Network relay apparatus |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015040690A1 (en) * | 2013-09-18 | 2015-03-26 | 富士通株式会社 | Information processing apparatus and method |
JP6041056B2 (en) * | 2013-09-18 | 2016-12-07 | 富士通株式会社 | Information processing apparatus and method |
WO2018003106A1 (en) * | 2016-06-30 | 2018-01-04 | 株式会社日立製作所 | Inter-switch communication management device, inter-switch communication management method and computer readable recording medium |
JPWO2018003106A1 (en) * | 2016-06-30 | 2018-12-20 | 株式会社日立製作所 | Inter-switch communication management apparatus, inter-switch communication management method, and computer-readable recording medium |
Also Published As
Publication number | Publication date |
---|---|
JP5369069B2 (en) | 2013-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4822997B2 (en) | Communication apparatus and communication method | |
US8208483B2 (en) | Ethernet switching | |
US8374182B2 (en) | Virtual local area network (VLAN)-based membership for multicast VLAN registration | |
JP3545570B2 (en) | Switching hub | |
US7500016B2 (en) | Plug and play node addition in a dual ring topology network using discovered topology information for determining routing decisions | |
US8320371B2 (en) | Statistics based forwarding information base repopulation | |
JP2020532194A (en) | Packet control method and network equipment | |
JP5208869B2 (en) | Network relay device, control method thereof, and computer program | |
US20060182049A1 (en) | IP multicasting with improved redundancy | |
JPWO2005048540A1 (en) | Communication system and communication method | |
JP2020501444A (en) | Loop fault handling method and switch | |
JP2012049674A (en) | Communication apparatus, communication system, communication method and communication program | |
KR20150110689A (en) | Communication system, control device, and method for managing network topology | |
KR20130109208A (en) | Flow communication system | |
EP3534571A1 (en) | Service packet transmission method, and node apparatus | |
JP5369069B2 (en) | Packet relay device, packet relay method, and computer program | |
US9246796B2 (en) | Transmitting and forwarding data | |
US20160301628A1 (en) | Consolidation Encodings Representing Designated Receivers in a Bit String | |
US7822034B2 (en) | Path controls apparatus and table updating method | |
US9025492B2 (en) | Tunnel multiplexing method for linear protection group and tail-node of tunnel | |
WO2022012145A1 (en) | Load balancing method, apparatus and system | |
JP2002368787A (en) | Explicit path designation relay device | |
US11516117B2 (en) | Single queue link aggregation | |
JP3953365B2 (en) | Communication management system | |
JP5374290B2 (en) | Network relay device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120913 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120913 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130524 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130604 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130730 |
|
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: 20130903 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130913 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5369069 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |