JP2012054819A - Packet relay device, packet relay method, and computer program - Google Patents

Packet relay device, packet relay method, and computer program Download PDF

Info

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
Application number
JP2010196717A
Other languages
Japanese (ja)
Other versions
JP5369069B2 (en
JP2012054819A5 (en
Inventor
Tomohiko Kono
智彦 河野
Shinichi Akaha
真一 赤羽
Naoya Kumita
直也 汲田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alaxala Networks Corp
Original Assignee
Alaxala Networks Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alaxala Networks Corp filed Critical Alaxala Networks Corp
Priority to JP2010196717A priority Critical patent/JP5369069B2/en
Publication of JP2012054819A publication Critical patent/JP2012054819A/en
Publication of JP2012054819A5 publication Critical patent/JP2012054819A5/ja
Application granted granted Critical
Publication of JP5369069B2 publication Critical patent/JP5369069B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

PROBLEM TO BE SOLVED: To suppress waste in throughput capacity of a packet processing part provided in a packet relay device.SOLUTION: The packet relay device includes: a plurality of packet processing parts having physical ports; a logical port setting part; a distribution destination determination part for determining a distribution destination packet processing part to be a distribution destination of a multicast packet on the basis of flow information when the multicast packet is received; a packet distribution part; an output port determination part for determining an output port on the basis of the flow information; a packet output part; and an output determination part. In the case of determining that the multicast packet is not outputted from the distribution destination packet processing part, the distribution destination determination part receives the multicast packet having the same flow information as the flow information of the multicast packet which is not outputted, and determines the distribution destination packet processing part from the other packet processing parts excluding the distribution destination packet processing part from which the multicast packet is not outputted.

Description

本発明は、パケット中継装置に関する。   The present invention relates to a packet relay device.

従来から、レイヤ3(OSI参照モデルにおける第3層)のパケットを中継するために、レイヤ3スイッチやルーターなどが用いられている。これらレイヤ3スイッチやルーターなどのパケット中継装置として、リンクアグリゲーションと呼ばれる機能を有するパケット中継装置が知られている。リンクアグリゲーション機能は、パケット中継装置が備える複数の物理ポートを1つの論理ポートとして扱うことにより、帯域の拡大や冗長性の確保を実現する。   Conventionally, layer 3 switches, routers, and the like have been used to relay layer 3 (third layer in the OSI reference model) packets. Packet relay devices having a function called link aggregation are known as packet relay devices such as layer 3 switches and routers. The link aggregation function realizes expansion of bandwidth and securing of redundancy by handling a plurality of physical ports provided in the packet relay device as one logical port.

リンクアグリゲーション機能を有するパケット中継装置として、複数の物理ポートを有する複数のパケット処理部を備え、マルチキャストパケットを受信した場合に、各パケット処理部にパケットを配布し、各パケット処理部においてパケットを出力する物理ポートを決定してパケットを出力するパケット中継装置が提案されている(特許文献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.

特開2005−20492号公報JP 2005-20492 A

上述した各パケット処理部においてパケットを出力する物理ポートを決定する技術によると、各パケット処理部において、他のパケット処理部が有する物理ポートが出力ポートとして決定された場合には、自らの有する物理ポートからパケットが出力されないため、受信したパケットが廃棄される。したがって、最終的にパケットを出力しないパケット処理部においても、経路検索や出力ポートの決定など無駄な処理が行われるため、各パケット処理部の処理能力を浪費してしまうという問題があった。   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 layer 3 packets, but also in a packet relay device that relays layer 2 frames.

本発明は、パケット中継装置が有するパケット処理部の処理能力の浪費を抑制することを目的とする。   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.

本発明の一実施例としてのパケット中継装置の概略構成を示す説明図。BRIEF DESCRIPTION OF THE DRAWINGS Explanatory drawing which shows schematic structure of the packet relay apparatus as one Example of this invention. 図1に示す第1分散処理部の詳細構成を示す説明図。Explanatory drawing which shows the detailed structure of the 1st dispersion | distribution process part shown in FIG. 図1に示す分散先決定テーブルの設定内容を模式的に示す説明図。Explanatory drawing which shows typically the setting content of the distribution destination determination table shown in FIG. 出力ポートテーブルの設定内容を模式的に示す説明図。Explanatory drawing which shows the setting content of an output port table typically. 図2に示すLAGテーブルの設定内容を模式的に示す説明図。FIG. 3 is an explanatory diagram schematically showing setting contents of the LAG table shown in FIG. 2. 図1に示す制御ユニットの詳細構成を示す説明図。Explanatory drawing which shows the detailed structure of the control unit shown in FIG. 図6に示すマルチキャスト経路テーブルの設定内容を模式的に示す説明図。Explanatory drawing which shows typically the setting content of the multicast route table shown in FIG. 図6に示す論理インタフェース変換テーブルの設定内容を模式的に示す説明図。Explanatory drawing which shows typically the setting content of the logical interface conversion table shown in FIG. 第1実施例における分散先決定テーブルの初期設定処理の手順を示すフローチャート。The flowchart which shows the procedure of the initialization process of the distribution destination determination table in 1st Example. 第1実施例における出力ポートテーブルの初期設定処理の手順を示すフローチャート。The flowchart which shows the procedure of the initial setting process of the output port table in 1st Example. 第1実施例における受信側パケット中継処理の手順を示すフローチャート。The flowchart which shows the procedure of the receiving side packet relay process in 1st Example. 第1実施例における送信側パケット中継処理の手順を示すフローチャート。The flowchart which shows the procedure of the transmission side packet relay process in 1st Example. マルチキャストパケットの中継結果を模式的に示す第1の説明図。The 1st explanatory view showing the relay result of a multicast packet typically. マルチキャストパケットの中継結果を示す第2の説明図。The 2nd explanatory view showing the relay result of a multicast packet. 第1実施例における分散先決定テーブル更新処理の手順を示すフローチャート。The flowchart which shows the procedure of the distribution destination determination table update process in 1st Example. 更新後の分散先決定テーブルの一例を示す説明図である。It is explanatory drawing which shows an example of the distribution destination determination table after an update. 分散先決定テーブル更新後のマルチキャストパケットの中継結果を示す説明図。Explanatory drawing which shows the relay result of the multicast packet after a distribution destination determination table update. マルチキャストパケットの中継結果を示す第3の説明図。The 3rd explanatory view showing the relay result of a multicast packet. マルチキャストパケットの中継結果を示す第4の説明図。FIG. 10 is a fourth explanatory diagram illustrating a relay result of a multicast packet. マルチキャストパケットの中継結果を示す第5の説明図。The 5th explanatory view showing the relay result of a multicast packet. 図13,図18〜20に示すマルチキャストパケットの中継結果が得られた後の分散先決定テーブルを示す説明図。Explanatory drawing which shows the distribution destination determination table after the relay result of the multicast packet shown in FIG. 13, FIG. 第2実施例における出力ポートテーブルの設定内容を模式的に示す説明図。Explanatory drawing which shows typically the setting content of the output port table in 2nd Example. 第2実施例における送信側パケット中継処理の手順を示す第1のフローチャート。The 1st flowchart which shows the procedure of the transmission side packet relay process in 2nd Example. 第2実施例における送信側パケット中継処理の手順を示す第2のフローチャート。The 2nd flowchart which shows the procedure of the transmission side packet relay process in 2nd Example. 第2実施例におけるマルチキャストパケットの中継結果を模式的に示す説明図。Explanatory drawing which shows typically the relay result of the multicast packet in 2nd Example. 第2実施例における出力ポートテーブル更新処理の手順を示すフローチャート。The flowchart which shows the procedure of the output port table update process in 2nd Example. 更新後の出力ポートテーブルの一例を示す説明図。Explanatory drawing which shows an example of the output port table after an update. 出力ポートテーブル更新後のマルチキャストパケットの中継結果を模式的に示す説明図。Explanatory drawing which shows typically the relay result of the multicast packet after output port table update. 第3実施例における出力ポートテーブルの設定内容を模式的に示す説明図。Explanatory drawing which shows typically the setting content of the output port table in 3rd Example. 第3実施例の出力ポートテーブルに設定されるパケット長識別子の内容を示す説明図。Explanatory drawing which shows the content of the packet length identifier set to the output port table of 3rd Example. 第3実施例における送信側パケット中継処理の手順を示す第1のフローチャート。The 1st flowchart which shows the procedure of the transmission side packet relay process in 3rd Example. 第3実施例における送信側パケット中継処理の手順を示す第2のフローチャート。The 2nd flowchart which shows the procedure of the transmission side packet relay process in 3rd Example. 第3実施例におけるマルチキャストパケットの中継結果を模式的に示す説明図。Explanatory drawing which shows typically the relay result of the multicast packet in 3rd Example. 第3実施例における出力ポートテーブル更新処理の手順を示すフローチャート。The flowchart which shows the procedure of the output port table update process in 3rd Example. 更新後の出力ポートテーブルの一例を示す説明図。Explanatory drawing which shows an example of the output port table after an update.

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 packet relay device 10 is a so-called layer 3 switch and has a link aggregation function. The link aggregation (LAG) function is a function that allows a plurality of physical ports to be bundled and handled as a single logical port (LAG port), which can increase bandwidth and ensure redundancy. it can.

パケット中継装置10は、制御ユニット100と、クロスバスイッチ300と、5つの分散処理部(第1分散処理部201,第2分散処理部202,第3分散処理部203,第4分散処理部204,第5分散処理部205)とを備えている。   The packet relay apparatus 10 includes a control unit 100, a crossbar switch 300, five distributed processing units (a first distributed processing unit 201, a second distributed processing unit 202, a third distributed processing unit 203, a fourth distributed processing unit 204, A fifth distributed processing unit 205).

制御ユニット100は、パケット中継装置10全体を制御する機能部であり、内部バスにより、クロスバスイッチ300及び各分散処理部201〜205に、それぞれ接続されている。   The control unit 100 is a functional unit that controls the entire packet relay apparatus 10, and is connected to the crossbar switch 300 and each of the distributed processing units 201 to 205 via an internal bus.

クロスバスイッチ300は、制御ユニット100や各分散処理部201〜205からの指示に応じて、パケットを中継するスイッチング回路である。   The crossbar switch 300 is a switching circuit that relays packets in accordance with instructions from the control unit 100 and the distributed processing units 201 to 205.

第1分散処理部201は、複数の物理ポート(#1,#2,・・・“#n)を備えており、パケットの送信及び受信を行なう。他の分散処理部202〜205も、第1分散処理部201と同様の構成を有し、第1分散処理部201と同様に、パケットの送信及び受信を行なう。   The first distributed processing unit 201 includes a plurality of physical ports (# 1, # 2,... "#N"), and transmits and receives packets. It has the same configuration as that of the first distributed processing unit 201, and transmits and receives packets in the same manner as the first distributed processing unit 201.

図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 packet relay device 10. Specifically, VLAN 1 is connected via the physical port # 1 of the first distributed processing unit 201. Hereinafter, the physical port #m of the nth distributed processing unit is represented as “physical port n / m”. The VLAN 2 is connected via the physical port # 1 (physical port 2/1) and the physical port # 2 (physical port 2/2) of the second distributed processing unit 202. Also, the physical port # 3 (physical port 2/3) of the second distributed processing unit 202, the physical port # 1 (physical port 3/1) of the third distributed processing unit 203, and the physical of the fourth distributed processing unit 204 The VLAN 3 is connected via the port # 1 (physical port 4/1) and the physical port # 1 (physical port 5/1) of the fifth distributed processing unit 205. The VLAN 4 is connected via the physical port # 2 (physical port 5/2) of the fifth distributed processing unit 205.

前述のように、パケット中継装置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 packet relay device 10 is connected to the VLAN via a plurality of physical ports because one logical port is formed using the ring aggregation function. For example, one logical port (LAG3) is formed by two physical ports 2/1, 2/2 for connection with VLAN2. Similarly, one logical port (LAG4) is formed by four physical ports 2/3, 3/1, 4/1, and 5/1 for connection to VLAN3. In a link in which a logical port by the link aggregation function is configured in this way, when a packet is output from the packet relay apparatus 10 toward the VLAN, one physical port is selected from a plurality of physical ports configuring the logical port. The packet is output from this physical port. Hereinafter, a logical port formed by the link aggregation function is referred to as a “LAG port”, and a process for selecting a packet output port from a plurality of physical ports forming one LAG port is referred to as a “LAG process”.

図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 processing unit 201 includes a reception side processing unit 210 and a transmission side processing unit 220 in addition to the plurality of physical ports described above.

受信側処理部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 side processing unit 210 includes a packet reception unit 212, a reception side route search unit 216, and a reception side table storage unit 214. The packet receiving unit 212 is connected to the crossbar switch 300 and the control unit 100 shown in FIG. Similarly, the transmission side processing unit 220 is connected to the crossbar switch 300 and the control unit 100, respectively. Each functional unit includes a circuit including a CPU (Central Processing Unit), a ROM (Read Only Memory), and a RAM (Random Access Memory).

パケット受信部212は、各物理ポート#1〜#n及び受信側経路検索部216と接続されており、物理ポートを介して受信する信号に基づき、パケットを組み立て、受信側経路検索部216に出力する。   The packet receiving unit 212 is connected to each of the physical ports # 1 to #n and the reception side route search unit 216, assembles a packet based on a signal received via the physical port, and outputs the packet to the reception side route search unit 216. To do.

受信側テーブル記憶部214は、分散先決定テーブルTBを格納している。分散先決定テーブルTBは、マルチキャストパケットを受信した場合に、クロスバスイッチ300により、いずれの分散処理部にパケットを中継するかを決定するためのテーブルである。   The reception side table storage unit 214 stores a distribution destination determination table TB. The distribution destination determination table TB is a table for determining to which distribution processing unit the packet is relayed by the crossbar switch 300 when a multicast packet is received.

図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 processing units 202 to 205 (# 2 to # 5) are displayed. “1” is set. In the other distributed processing units 202 to 205, the same contents as the distribution destination determination table TB shown in FIG. 3 are set. An initial setting method of the distribution destination determination table TB will be described later.

図2に示す受信側経路検索部216は、パケット受信部212及び受信側テーブル記憶部214と、それぞれ接続されている。受信側経路検索部216は、パケット受信部212からパケットを受信すると、分散先決定テーブルTBを参照して、パケットの中継先となる分散処理部を決定し、決定した分散処理部を示す情報と、受信したパケットとをクロスバスイッチ300に送信する。   The reception side route search unit 216 shown in FIG. 2 is connected to the packet reception unit 212 and the reception side table storage unit 214, respectively. When receiving the packet from the packet receiving unit 212, the receiving side route searching unit 216 refers to the distribution destination determination table TB to determine the distribution processing unit to be the relay destination of the packet, and information indicating the determined distribution processing unit and The received packet is transmitted to the crossbar switch 300.

送信側処理部220は、送信側テーブル記憶部226と、送信側経路検索部222と、出力監視部227と、パケット出力部228とを備えている。   The transmission side processing unit 220 includes a transmission side table storage unit 226, a transmission side route search unit 222, an output monitoring unit 227, and a packet output unit 228.

送信側テーブル記憶部226は、出力ポートテーブルTPと、LAGテーブルTLとを格納している。   The transmission side table storage unit 226 stores an output port table TP and a LAG table TL.

図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 unit 202, the third distributed processing unit 203, the fourth distributed processing unit 204, and the fifth distributed processing unit 205 in the initial setting state. Is described. The first level shows the output port table TP2 of the second distributed processing unit 202 in the initial state. The second row shows the output port table TP3 of the third distributed processor 203 in the initial state, the third row shows the output port table TP4 of the fourth distributed processor 204 in the initial state, and the fourth row shows the initial value. The output port table TP5 of the fifth distributed processing unit 205 in the state is shown. The output port table TP set in the first distributed processing unit 201 is the same as the output port tables TP2 to TP5 set in the other distributed processing units 202 to 205.

出力ポートテーブル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 (physical port 2/1, 2/2) and each physical port forming LAG4 (2/3, 3/1, 4/1, 5/1) are respectively Is set. In the other output port tables TP3 to TP5, each value is set similarly. An initial setting method for these output port tables TP2 to TP5 will be described later.

図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 packet relay apparatus 10 is connected is set as the LAG port. The number of paths indicates the number of physical ports that form each LAG port. As the physical ports, physical ports constituting each LAG port are set for each LAG port shown in FIG. In the other distributed processing units 202 to 205, the same contents as the LAG table TL shown in FIG. 5 are set.

図2に示す送信側経路検索部222は、出力ポート検索部223と、物理ポート選択部224とを備えている。出力ポート検索部223は、クロスバスイッチ300から中継されたパケットに基づき、出力ポートテーブルTPを参照して出力ポートの候補となるポートを検索する。出力ポート検索部223の検索によりヒットするポートは、LAGポート又は物理ポートである。物理ポート選択部224は、出力ポート検索部223の検索により見つかった出力ポートの候補となるポートから、実際にパケットを出力する物理ポートを選択する。このとき、出力ポート検索部223の検索によりヒットしたポートがLAGポートの場合、物理ポート選択部224は、後述の方法によりハッシュ値を求め、得られたハッシュ値に基づき、LAGテーブルTLを参照して出力ポートとなる物理ポートを選択する。   The transmission side route search unit 222 shown in FIG. 2 includes an output port search unit 223 and a physical port selection unit 224. Based on the packet relayed from the crossbar switch 300, the output port search unit 223 searches for a port that is a candidate for an output port by referring to the output port table TP. The port hit by the search of the output port search unit 223 is a LAG port or a physical port. The physical port selection unit 224 selects a physical port that actually outputs a packet from the candidate output ports found by the output port search unit 223. At this time, if the port hit by the search of the output port search unit 223 is a LAG port, the physical port selection unit 224 obtains a hash value by a method described later, and refers to the LAG table TL based on the obtained hash value. Select the physical port that will be the output port.

出力監視部227は、送信側経路検索部222及びパケット出力部228と接続されており、クロスバスイッチ300から送信側処理部220に中継されたパケットが、実際に物理ポートから出力されたか否かを監視する。また、出力監視部227は、パケットが出力されなかった場合、パケットが出力されなかった旨と、当該パケットに対応付けられたフロー情報とを、制御ユニット100に通知する。   The output monitoring unit 227 is connected to the transmission side route search unit 222 and the packet output unit 228, and determines whether or not the packet relayed from the crossbar switch 300 to the transmission side processing unit 220 is actually output from the physical port. Monitor. When the packet is not output, the output monitoring unit 227 notifies the control unit 100 of the fact that the packet has not been output and the flow information associated with the packet.

パケット出力部228は、物理ポート選択部224により出力ポートとして選択された物理ポートに対してパケットを送信する。   The packet output unit 228 transmits a packet to the physical port selected as the output port by the physical port selection unit 224.

図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 control unit 100 includes a control unit 105, a distribution destination determination table setting unit 110, an output port table setting unit 120, a discard processing management unit 130, and a table storage unit 140.

制御部105は、制御ユニット100が有する各機能部を制御する。また、制御部105は、ネットワークによって接続された管理用コンピュータに対して、Webベース等の設定用ユーザインタフェースを提供する。管理者は、このユーザインタフェースを利用することにより、経路に関するテーブルなどの設定を行うことができる。   The control unit 105 controls each functional unit included in the control unit 100. Further, the control unit 105 provides a setting user interface such as a Web base to a management computer connected via a network. By using this user interface, the administrator can set a table related to the route.

分散先決定テーブル設定部110は、制御部105,廃棄処理管理部130,及びテーブル記憶部140に、それぞれ接続されている。分散先決定テーブル設定部110は、各分散処理部201〜205が有する分散先決定テーブルTBの生成及び更新を行なう。   The distribution destination determination table setting unit 110 is connected to the control unit 105, the discard processing management unit 130, and the table storage unit 140, respectively. The distribution destination determination table setting unit 110 generates and updates the distribution destination determination table TB included in each of the distribution processing units 201 to 205.

出力ポートテーブル設定部120は、制御部105及びテーブル記憶部140に、それぞれ接続されている。出力ポートテーブル設定部120は、各分散処理部201〜205が有する出力ポートテーブルTPの生成及び更新を行なう。   The output port table setting unit 120 is connected to the control unit 105 and the table storage unit 140, respectively. The output port table setting unit 120 generates and updates the output port table TP included in each of the distributed processing units 201 to 205.

廃棄処理管理部130は、制御部105及び分散先決定テーブル設定部110に、それぞれ接続されている。廃棄処理管理部130は、各分散処理部201〜205の出力監視部227から通知される情報(パケットが出力されなかった旨等)を受信し、分散先決定テーブル設定部110に対して分散先決定テーブルの更新を指示する。   The discard processing management unit 130 is connected to the control unit 105 and the distribution destination determination table setting unit 110, respectively. The discard processing management unit 130 receives information notified from the output monitoring unit 227 of each of the distribution processing units 201 to 205 (such as the fact that a packet has not been output), and sends it to the distribution destination determination table setting unit 110. Instructs the update of the decision table.

テーブル記憶部140は、分散先決定テーブル設定部110及び出力ポートテーブル設定部120と接続されており、マルチキャスト経路テーブルTMと、論理インタフェース変換テーブルTCと、マスタLAGテーブルTLmと、マスタ分散先決定テーブルTBmと、マスタ出力ポートテーブルTPmとを格納している。   The table storage unit 140 is connected to the distribution destination determination table setting unit 110 and the output port table setting unit 120, and includes a multicast route table TM, a logical interface conversion table TC, a master LAG table TLm, and a master distribution destination determination table. TBm and master output port table TPm are stored.

図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 control unit 105.

図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, “physical port 1/1” is associated with VLAN 1 as an output port. Further, “LAG3” is associated with VLAN2, “LAG4” is associated with VLAN3, and “physical port 5/2” is associated with VLAN4 as output ports. The logical interface conversion table TC is set by the administrator using a user interface provided by the control unit 105.

図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 processing units 201 to 205. The master LAG table TLm is distributed to each of the distributed processing units 201 to 205, and is stored in the transmission side table storage unit 226 as the LAG table TL in each of the distributed processing units 201 to 205. Therefore, the setting contents of the master LAG table TLm are the same as those of the LAG table TL shown in FIG. The master LAG table TLm is set by an administrator using a user interface provided by the control unit 105.

図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 distribution processing units 201 to 205. The distribution destination determination table setting unit 110 distributes the master distribution destination determination table TBm to each of the distribution processing units 201 to 205, and the distribution processing units 201 to 205 store the master distribution destination determination table TBm in the reception side table storage unit 214 as the distribution destination determination table TB. . Therefore, the setting contents of the master distribution destination determination table TBm in the initial setting state are the same as the distribution destination determination table TB shown in FIG.

図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 processing units 201 to 205, and includes five tables corresponding to a total of five tables included in each of the distributed processing units 201 to 205. Consists of tables. The output port table setting unit 120 distributes the master output port table TPm to each of the distributed processing units 201 to 205, and the distributed processing units 201 to 205 store the master output port table TPm in the transmission side table storage unit 226 as the output port table TP. Accordingly, the setting contents of the master output port table TPm in the initial setting state are the same as the output port tables TP2 to TP5 shown in FIG. 4 except for the table for the first distributed processing unit 201.

前述の5つの分散処理部201〜205は、請求項における複数のパケット処理部に相当する。また、受信側経路検索部216は請求項における配布先決定部に、クロスバスイッチ300は請求項におけるパケット配布部に、送信側経路検索部222は請求項における出力ポート決定部及び出力ポート特定部に、出力監視部227は請求項における出力判定部に、パケット出力部228は請求項におけるパケット長判定部に、分散先決定テーブルTBは請求項における配布先決定テーブルに、LAG処理は請求項における物理ポート特定処理に、制御部105は請求項における論理ポート設定部に、それぞれ相当する。   The five distributed processing units 201 to 205 described above correspond to a plurality of packet processing units in the claims. Further, the receiving side route searching unit 216 is used as a distribution destination determining unit in the claims, the crossbar switch 300 is used as a packet distributing unit in the claims, and the transmitting side route searching unit 222 is used as an output port determining unit and an output port specifying unit. The output monitoring unit 227 is the output determination unit in the claims, the packet output unit 228 is the packet length determination unit in the claims, the distribution destination determination table TB is the distribution destination determination table in the claims, and the LAG process is the physical in the claims. In the port specifying process, the control unit 105 corresponds to a logical port setting unit in the claims.

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 control unit 105 to instruct the start of processing, the packet relay apparatus 10 starts the initial setting processing of the distribution destination determination table.

図6に示す分散先決定テーブル設定部110は、テーブル記憶部140に記憶されているマスタ分散先決定テーブルTBmを初期化する(ステップS105)。具体的には、マスタ分散先決定テーブルTBmに設定されているすべてのエントリを削除し、マルチキャスト経路テーブルTMを参照して、設定されている各フロー毎に、デフォルトエントリ(EN=*,ハッシュ値=*)を生成する。このとき、各分散処理部へのパケットの中継の有無を示す情報として、全ての分散処理部に対して「0」が設定される。図7に示すように、マルチキャスト経路テーブルTMには、送信元アドレス「SA1」,宛先アドレス「GA1」のフローのみが設定されているので、ステップS105では、このフローについてのデフォルトエントリがマスタ分散先決定テーブルTBmに設定される。なお、本ステップが第1回目に実行される場合には、デフォルトエントリを有する新たなマスタ分散先決定テーブルTBmが生成される。   The distribution destination determination table setting unit 110 illustrated in FIG. 6 initializes the master distribution destination determination table TBm stored in the table storage unit 140 (step S105). Specifically, all entries set in the master distribution destination determination table TBm are deleted, and a default entry (EN = *, hash value is set for each set flow with reference to the multicast route table TM. = *) Is generated. At this time, “0” is set for all the distributed processing units as information indicating the presence / absence of relay of the packet to each distributed processing unit. As shown in FIG. 7, since only the flow of the source address “SA1” and the destination address “GA1” is set in the multicast route table TM, the default entry for this flow is the master distribution destination in step S105. It is set in the decision table TBm. When this step is executed for the first time, a new master distribution destination determination table TBm having a default entry is generated.

分散先決定テーブル設定部110は、アドレス情報(送信元アドレス及び宛先アドレス)をキーとして、マルチキャスト経路テーブルTMを検索して、対応する論理インタフェースのリストを取得する(ステップS110)。図7に示すように、マルチキャスト経路テーブルTMでは、アドレス情報(SA1,GA1)に対して、出力先の論理インタフェースとしてVLAN2,VLAN3,VLAN4が設定されている。したがって、分散先決定テーブル設定部110は、これらVLAN2,VLAN3,VALN4から成るリストを取得する。   The distribution destination determination table setting unit 110 searches the multicast route table TM using the address information (source address and destination address) as a key, and obtains a list of corresponding logical interfaces (step S110). As shown in FIG. 7, in the multicast route table TM, VLAN2, VLAN3, VLAN4 are set as output destination logical interfaces for the address information (SA1, GA1). Accordingly, the distribution destination determination table setting unit 110 acquires a list including these VLAN2, VLAN3, and VALN4.

分散先決定テーブル設定部110は、ステップS110で得られた全ての論理インタフェースをキーとして、論理インタフェース変換テーブルTCを検索し、対応する全ての出力ポートのリストを取得する(ステップS115)。前述のように、VLAN2,VLAN3,VLAN4から成るリストが得られた場合には、図8に示す論理インタフェース変換テーブルTCを検索することにより、出力ポートのリストとして、LAGポートLAG3,LAGポートLAG4,物理ポート5/2から成るリストが得られる。   The distribution destination determination table setting unit 110 searches the logical interface conversion table TC using all the logical interfaces obtained in step S110 as keys, and acquires a list of all corresponding output ports (step S115). As described above, when the list including VLAN2, VLAN3, and VLAN4 is obtained, the logical interface conversion table TC shown in FIG. 8 is searched to obtain the list of output ports as LAG port LAG3, LAG port LAG4, A list of physical ports 5/2 is obtained.

分散先決定テーブル設定部110は、ステップS115で得られた出力ポートのリストを構成する各ポートが、それぞれLAGポートであるか否かを判定する(ステップS120)。   The distribution destination determination table setting unit 110 determines whether each port constituting the output port list obtained in step S115 is a LAG port (step S120).

ステップ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 table setting unit 110 performs distribution processing to which the port belongs in the master distribution destination determination table TBm. “1” is set in the field corresponding to the part (step S125). For example, since the physical port 5/2 is determined not to be a LAG port, the field “# 5” of the master distribution destination determination table TBm corresponding to the fifth distribution processing unit 205 to which this physical port belongs is set to “ 1 "is set.

これに対し、ステップ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 table setting unit 110 refers to the master LAG table TLm using the LAG port identifier as a key, and all of the ports belonging to the port. A list of physical ports is acquired (step S130). For example, for the aforementioned LAG port LAG3, the master LAG table TLm (FIG. 5) is referred to, and a list composed of physical ports 2/1, 2/2 is obtained. For the LAG port LAG4, the master LAG table TLm is referred to, and a list composed of physical ports 2/3, 3/1, 4/1, and 5/1 is obtained.

分散先決定テーブル設定部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 table setting unit 110 sets “1” in the field corresponding to the distribution processing unit to which each physical port obtained in step S130 belongs (step S135). For example, for the above-described physical ports 2/1, 2/2, “1” is set in the field “# 2” of the master distribution destination determination table TBm corresponding to the second distribution processing unit 202 to which these physical ports belong. The For the physical ports 2/3, 3/1, 4/1, and 5/1, the second distributed processing unit 202, the third distributed processing unit 203, and the fourth distributed processing unit to which these four physical ports belong. 204, and “# 2”, “# 3”, “# 4”, and “# 5” corresponding to the fifth distributed processing unit 205 are set to “1”, respectively. As described above, since “# 2” and “# 5” are already set to “1”, the values do not change.

前述のステップ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 table setting unit 110 determines whether or not processing has been performed for all the output ports listed in step S115 (step S140). If the processing has not been completed for all output ports (step S140: NO), the process returns to step S120, and the processes of steps S120 to S140 are executed for the remaining output ports. On the other hand, when it is determined that the processing has been completed for all output ports (step S140: YES), the distribution destination determination table setting unit 110 applies to all the flows targeted when initialized in step S105. It is then determined whether or not the process has been performed (step S145).

全てのフローに対して処理が完了していない場合(ステップ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 table setting unit 110 transmits the master distribution destination determination table TBm to each of the distribution processing units 201 to 205. Then, the distribution destination determination table TB is set in each of the distribution processing units 201 to 205 (step S150). If the distribution destination determination table TB is already set in each of the distribution processing units 201 to 205 before the distribution destination determination table initial setting process is started, the master distribution transmitted from the control unit 100 in step S150. The setting contents of the existing distribution destination determination table TB are overwritten by the destination determination table TBm.

以上の分散先決定テーブル初期設定処理の結果、マスタ分散先決定テーブル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 distribution processing units 202 to 205 in the master distribution destination determination table TBm. The setting contents of the distribution destination determination table TB to be set are the contents shown in FIG.

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 control unit 105, the packet relay device 10 starts the output port table initial setting processing.

図6に示す出力ポートテーブル設定部120は、テーブル記憶部140に記憶されているマスタ出力ポートテーブルTPmを初期化する(ステップS205)。具体的には、マスタ出力ポートテーブルTPmに設定されているすべてのエントリを削除する。なお、本ステップが第1回目に実行される場合には、エントリのない新たなマスタ出力ポートテーブルTPmが生成される。   The output port table setting unit 120 shown in FIG. 6 initializes the master output port table TPm stored in the table storage unit 140 (step S205). Specifically, all entries set in the master output port table TPm are deleted. When this step is executed for the first time, a new master output port table TPm having no entry is generated.

続いて実行されるステップ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 table setting unit 120 sets the output port table TP of the distributed processing unit to which the physical port belongs to the output port table TP. The physical port is set (step S225). For example, since the physical port 5/2 is determined not to be a LAG port, as shown in the output port table TP5 in the fourth row in FIG. 4, the fifth distributed processing unit 205 to which this physical port belongs. In the distribution destination determination table TB, the physical port 5/2 is set as information indicating the output port list and the physical 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 table setting unit 120 refers to the master LAG table TLm using the LAG port identifier as a key, and sets all the ports belonging to the port. A list of physical ports is acquired (step S230). This process is the same as step S130 shown in FIG. Thus, for example, for LAG port LAG3, a list consisting of physical ports 2/1, 2/2 is obtained, and for LAG port LAG4, physical ports 2/3, 3/1, 4/1, 5/1 are obtained. A list consisting of

出力ポートテーブル設定部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 table setting unit 120 obtains the LAG port as an output port list and information obtained as the information indicating the physical port in step S230. Each physical port is set (step S235). For example, for the LAG port LAG3 determined as the LAG port in step S220 described above, LAG3 is output as an output port list in the output port table TP of the second distributed processing unit 202 to which the physical ports 2/1, 2/2 belong. As information indicating the physical port, physical ports 2/1 and 2/2 are set, respectively. For the LAG port 4, the second distributed processing unit 202, the third distributed processing unit 203, the fourth distributed processing unit 204, to which the physical ports 2/3, 3/1, 4/1, and 5/1 belong, In each of the output port tables TP2, TP3, TP4, and TP5 of the 5 distributed processing unit 205, LAG4 is the output port list, and physical ports 2/3, 3/1, 4/1, and 5/1 are the information indicating the physical ports. , Respectively. As a result, as shown in FIG. 4, the output port tables TP2 to TP5 are set.

続いて実行されるステップ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 table setting unit 110 transmits the master output port table TPm to the processing units 201 to 205. Then, the output port table TP is set in each of the distributed processing units 201 to 205 (step S250). If the output port table TP has already been set in each of the distributed processing units 201 to 205 before the output port table initialization process is started, the master output port table transmitted from the control unit 100 in step S250. The setting contents of the existing output port table TP are overwritten by TPm.

以上の出力ポートテーブル初期設定処理の結果、マスタ出力ポートテーブル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 processing units 202 to 205 are set in the output port tables TP2 to TP5 shown in FIG. It becomes the same as the contents.

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 side processing unit 210 of each of the distributed processing units 201 to 205 receives a packet via the physical port, the receiving side packet processing is started.

図2に示す受信側経路検索部216は、受信したパケットのフロー情報を用いて所定のハッシュ計算を行って、ハッシュ値を求める(ステップS305)。このステップS305において用いられるフロー情報は、送信元IPアドレス,宛先IPアドレス,プロトコル番号,宛先ポート番号,及び送信元ポート番号である。   The receiving side route search unit 216 shown in FIG. 2 performs a predetermined hash calculation using the flow information of the received packet to obtain a hash value (step S305). The flow information used in step S305 is a source IP address, a destination IP address, a protocol number, a destination port number, and a source port number.

また、所定のハッシュ計算として、例えば、以下の計算を採用することができる。
(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 route search unit 216 refers to the distribution destination determination table TB, and the hash value obtained in step S216 matches the address information (destination IP address and source IP address), and EN is “1”. The entry is searched (step S310), and it is determined whether or not the entry is found (step S315).

エントリが見つからなかった場合(ステップ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 route search unit 216 transmits information on the distributed processing unit set in the default entry and the received packet to the crossbar switch 300 (step S320). . When the distribution destination determination table TB is in the initial setting state shown in FIG. 3, only the entry (default entry) of entry number # 1 is set in the distribution destination determination table TB. When a multicast packet of “SA1” and destination address “GA1” is received, information on the distributed processing unit set in this default entry (that is, a bitmap of “0, 1, 1, 1, 1”) and The packet is transmitted to the crossbar switch 300.

前述のステップ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 route search unit 216 cross-switches the information on the distributed processing unit set in the found entry and the received packet. It transmits to 300 (step S325).

クロスバスイッチ300では、いずれかの分散処理部201〜205から分散処理部に関する情報(ビットマップ)と、パケットを受信すると、受信したビットマップで指定された分散処理部に対して、受信したパケットをコピーして中継する。例えば、分散処理部に関する情報としてビットマップ「0,1,1,1,1」と、パケット(送信元IPアドレス「SA1」,宛先アドレス「GA1」のマルチキャストパケット)を受信すると、クロスバスイッチ300は、かかるパケットを、第2分散処理部202〜第5分散処理部205の合計4つの分散処理部にパケットを中継する。   When the crossbar switch 300 receives information (bitmap) about a distributed processing unit and a packet from any of the distributed processing units 201 to 205, the received packet is sent to the distributed processing unit specified by the received bitmap. Copy and relay. For example, when the bitmap “0, 1, 1, 1, 1” and the packet (the multicast packet with the source IP address “SA1” and the destination address “GA1”) are received as information regarding the distributed processing unit, the crossbar switch 300 The packet is relayed to a total of four distributed processing units of the second distributed processing unit 202 to the fifth distributed processing unit 205.

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 side processing unit 220 of each of the distributed processing units 201 to 205 receives a packet from the crossbar switch 300, it starts transmission side packet relay processing.

各分散処理部201〜205において、図2に示す出力ポート検索部223は、受信したパケットのアドレス情報(送信元アドレス及び宛先アドレス)をキーとして、自らの属する送信側処理部220に設定されている出力ポートテーブルTPを検索し、対応する全ての出力ポートリストを取得する(ステップS405)。   In each of the distributed processing units 201 to 205, the output port search unit 223 shown in FIG. 2 is set in the transmission side processing unit 220 to which it belongs, using the address information (source address and destination address) of the received packet as a key. The output port table TP is searched, and all corresponding output port lists are acquired (step S405).

例えば、出力ポートテーブル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 unit 202 to the fifth distributed processing unit 205 have the transmission source IP address “SA1” and the destination, respectively. When the multicast packet with the address “GA1” is received, the second distribution processing unit 202 acquires the output port list (LAG3, LAG4). The third distributed processing unit 203 outputs an output port list (LAG4), the fourth distributed processing unit 204 outputs an output port list (LAG4), and the fifth distributed processing unit 205 outputs an output port list (LAG4, 5/2). , Get each.

各分散処理部201〜205において、物理ポート選択部224は、受信したパケットのフロー情報を用いて所定のハッシュ計算を行って、ハッシュ値を求める(ステップS410)。このステップS410において用いられるフロー情報は、前述のステップS305と同様に、宛先IPアドレス,送信元IPアドレス,プロトコル番号,宛先ポート番号,及び送信元ポート番号である。   In each of the distributed processing units 201 to 205, the physical port selection unit 224 performs a predetermined hash calculation using the flow information of the received packet to obtain a hash value (step S410). The flow information used in step S410 is a destination IP address, a source IP address, a protocol number, a destination port number, and a source port number, as in step S305 described above.

各分散処理部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 processing units 201 to 205, the physical port selection unit 224 refers to the LAG table TL based on the hash value obtained in step S410, and outputs a packet for each port described in the output port list. A physical port (output port) is determined (step S415). Specifically, when the port described in the output port list is a LAG port, the physical port selection unit 224 divides the hash value obtained in step S410 by the number of paths of the LAG port to obtain a remainder. Ask for. Based on the obtained remainder, the physical port is determined with reference to the LAG table TL. When the remainder is “0”, the physical port described at the head of the physical ports forming each LAG port of the LAG table TL is determined as the output port. Similarly, when the remainder is “1”, the physical port described second among the physical ports configuring each LAG port of the LAG table TL is determined as the output port. When the port described in the output port list is a physical port, the physical port is determined as a packet output port.

例えば、前述のパケット(送信元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 unit 202 determines “physical port 2/1” for LAG3 and “physical port 2/3” for LAG4. Further, in the third distributed processing unit 203, “physical port 2/3” is determined for LAG4. In the fourth distributed processing unit 204, “physical port 2/3” is determined for LAG4. The fifth distributed processing unit 205 determines “physical port 2/3” for LAG4 and “physical port 5/2” for physical port 5/2.

続いて、各分散処理部201〜205において、物理ポート選択部224は、ステップS415において決定された物理ポートを、自らが属する分散処理部が有しているか否かを判定する(ステップS420)。物理ポートを有している場合には(ステップS420:YES)、パケット出力部228は、当該物理ポートからパケットを出力し(ステップS425)、送信側パケット中継処理は終了する。これに対し、物理ポートを有していない場合には(ステップS420:NO)、パケット出力部228は、クロスバスイッチ300から受信したパケットを廃棄する(ステップS430)。   Subsequently, in each of the distributed processing units 201 to 205, the physical port selection unit 224 determines whether or not the distributed processing unit to which the physical port selection unit 224 belongs has the physical port determined in step S415 (step S420). If it has a physical port (step S420: YES), the packet output unit 228 outputs a packet from the physical port (step S425), and the transmission side packet relay processing ends. On the other hand, when the physical port is not included (step S420: NO), the packet output unit 228 discards the packet received from the crossbar switch 300 (step S430).

例えば、前述のように、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, “physical port 2/1” is determined for LAG3, “physical port 2/3” is determined for LAG4, and “physical port 5/2” is determined for physical port 5/2. Since the second distributed processing unit 202 has physical ports (physical ports 2/1, 2/3) determined as physical ports (output ports) that output packets, physical ports 2/1, 2 / 3, each packet is output. Similarly, the fifth distributed processing unit 205 has a physical port (physical port 5/2) determined as an output port, and therefore outputs a packet from the physical port 5/2. On the other hand, since the third distributed processing unit 203 and the fourth distributed processing unit 204 do not have an output port, the received packet is discarded.

前述のステップ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 output monitoring unit 227 indicates that the packet is discarded, the flow information of the discarded packet, the hash value calculated for the discarded packet, and the packet discard Is notified to the discard processing management unit 130 of the control unit 100 (step S435), and the transmission side packet relay processing ends. For example, as described above, when the third distribution processing unit 203 and the fourth distribution processing unit 204 discard a packet, in addition to the fact that the packet discard has occurred, the flow information “SA1, GA1” and the hash value The discard processing management unit 130 is notified of “0” and the identifier “# 3, 4” of the distributed processing unit.

図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 packet relay device 10. Is shown.

図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 physical ports 2/1, 2/3, and 5/2, but are not output from other physical ports. Therefore, no packets are output from the third distributed processing unit 203 and the fourth distributed processing unit 204.

図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 processing units 201 to 205 is represented, and the packet flow is represented by a thick solid line arrow. In the first distribution processing unit 201, the distribution destination is determined by referring to the distribution destination determination table TB, and the packet is transmitted to the crossbar switch 300. The crossbar switch 300 relays the packet to a total of four distributed processing units including the second distributed processing unit 202 to the fifth distributed processing unit 205.

第2分散処理部202では、出力ポートテーブルTP2が参照されてLAG3,LAG4が出力ポートリストとして得られ、それぞれのLAGポートについてLAG処理が行われ、物理ポート2/1,2/3が出力ポートとして決定される。そして、これら出力ポートからパケットが出力される。   In the second distributed processing unit 202, the output port table TP2 is referred to obtain LAG3 and LAG4 as an output port list, LAG processing is performed for each LAG port, and the physical ports 2/1, 2/3 are output ports. As determined. Packets are output from these output ports.

第3分散処理部203では、出力ポートテーブルTP3が参照されてLAG4が出力ポートリストとして得られ、LAG4についてLAG処理が行われ、物理ポート2/3が出力ポートとして決定される。しかしながら、この出力ポートである物理ポート2/2は、自らが有する物理ポートでないため、パケットは出力されない。第4分散処理部204では、第3分散処理部203と同じ処理が実行される。   In the third distributed processing unit 203, the output port table TP3 is referred to obtain LAG4 as an output port list, LAG processing is performed on LAG4, and the physical port 2/3 is determined as the output port. However, since the physical port 2/2 that is the output port is not a physical port that the physical port 2/2 has, no packet is output. In the fourth distributed processing unit 204, the same processing as that of the third distributed processing unit 203 is executed.

第5分散処理部205では、出力ポートテーブルTP5を参照されて物理ポート5/2が出力ポートリストとして得られ、この物理ポート5/2が出力ポートとして決定される。そして、物理ポート5/2からパケットが出力される。   In the fifth distributed processing unit 205, the physical port 5/2 is obtained as an output port list by referring to the output port table TP5, and this physical port 5/2 is determined as the output port. Then, a packet is output from the physical port 5/2.

図14に示すように、第3分散処理部203及び第4分散処理部204では、パケットを出力しないにも関わらず、出力ポートテーブルTPの参照やLAG処理など、無駄な処理を行っており、各分散処理部203,204の処理能力が浪費されている。しかしながら、第1実施例のパケット中継装置10では、後述の分散先決定テーブルの更新処理を行うことにより、各第1分散処理部201〜第5分散処理部205の処理能力の浪費を抑制することができる。   As shown in FIG. 14, the third distributed processing unit 203 and the fourth distributed processing unit 204 perform unnecessary processing such as reference to the output port table TP and LAG processing in spite of not outputting a packet. The processing capability of each distributed processing unit 203, 204 is wasted. However, in the packet relay apparatus 10 according to the first embodiment, waste of processing capacity of each of the first distributed processing unit 201 to the fifth distributed processing unit 205 is suppressed by performing an update process of the distribution destination determination table described later. Can do.

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 packet relay apparatus 10 is activated, the distribution destination determination table update process is started.

制御ユニット100の廃棄処理管理部130は、パケットが廃棄された旨が通知されるまで待機する(ステップS505)。そして、いずれかの分散処理部201〜205の出力監視部227からパケット廃棄が発生した旨,フロー情報,ハッシュ値,及び分散処理部の識別子を通知されると(ステップS505:YES)、分散先決定テーブル設定部110に対して、フロー情報,ハッシュ値,及び分散処理部の識別子を通知すると共に、マスタ分散先決定テーブルTBmの更新を指示する(ステップS510)。   The discard processing management unit 130 of the control unit 100 stands by until notified that the packet has been discarded (step S505). When the output monitoring unit 227 of any of the distributed processing units 201 to 205 notifies the fact that the packet discard has occurred, the flow information, the hash value, and the identifier of the distributed processing unit (step S505: YES), the distribution destination The decision table setting unit 110 is notified of the flow information, the hash value, and the identifier of the distribution processing unit, and instructed to update the master distribution destination decision table TBm (step S510).

分散先決定テーブル設定部110は、通知された更新指示に従い、マスタ分散先決定テーブルTBmにおいて、デフォルトエントリをコピーし、コピーしたエントリにおいて通知された分散処理部の識別子に対応するフィールドを「0」に、ENを「1」に、ハッシュ値を「廃棄パケットについて算出されたハッシュ値」に、それぞれ更新した新たなエントリを追加する(ステップS515)。   In accordance with the notified update instruction, the distribution destination determination table setting unit 110 copies the default entry in the master distribution destination determination table TBm, and sets the field corresponding to the identifier of the distribution processing unit notified in the copied entry to “0”. Then, the updated new entry is added to EN as “1” and the hash value as “hash value calculated for the discarded packet” (step S515).

分散先決定テーブル設定部110は、マスタ分散先決定テーブルTBmを各分散処理部201〜205に送信して、各分散処理部201〜205の分散先決定テーブルTBを更新する(ステップS520)。   The distribution destination determination table setting unit 110 transmits the master distribution destination determination table TBm to each of the distribution processing units 201 to 205, and updates the distribution destination determination table TB of each of the distribution processing units 201 to 205 (Step S520).

図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 distribution processing unit 203 and the fourth distribution processing unit 204 as described above. The updated distribution destination determination table TB is shown.

廃棄処理管理部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 processing management unit 130 receives the flow information “SA1, GA1”, the hash value “0”, and the identifier “# 3, 4” of the distributed processing unit. Since the notification is sent to the management unit 130, as shown in FIG. 13, EN “1”, hash value “0”, flow information “SA1, GA1”, presence / absence of packet relay in the distributed processing units # 1, 3, 4 An entry (entry # 2) set with information “0” indicating “” is added.

図16に示すように、各分散処理部201〜205が有する分散先決定テーブルTBが更新されるので、次に同じフローのパケットがパケット中継装置10に到着した場合には、パケットの中継処理は、前回の処理とは異なることとなる。   As shown in FIG. 16, since the distribution destination determination table TB included in each of the distribution processing units 201 to 205 is updated, when a packet of the same flow arrives at the packet relay device 10 next, the packet relay processing is performed. This is different from the previous processing.

図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 packet relay device 10 for the first time, each of the distributed processing units 201 to 205 is obtained. As shown in FIG. 16, entry # 2 is added to each TB distribution destination determination table TB. Therefore, when a multicast packet of the same flow arrives at the packet relay apparatus 10, such entry # 2 is found in step S310 of the reception side packet relay process shown in FIG. Therefore, step S325 is executed, and the packet is relayed from the crossbar switch 300 only to the second distributed processing unit 202 and the fifth distributed processing unit 205 for which “1” is set in entry # 2 of FIG. 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 processing unit 203 and the fourth distributed processing unit 204, reference to the output port tables TP3 and TP4 shown in FIG. The LAG process in 203 and the LAG process in the fourth distributed processing unit 204 are not executed. Therefore, in the distributed processing units 203 and 204 that do not output packets, wasteful processing is not performed, so that waste of processing capacity is suppressed.

図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”, “physical port 2/2” is determined as the output port for LAG3. For LAG4, “physical port 3/1” is determined as the output port. For the physical port 5/2, “physical port 5/2” is determined as the output port. Accordingly, packets are output from the second distributed processing unit 202, the third distributed processing unit 203, and the fifth distributed processing unit 205, and no packets are output from the fourth distributed processing unit 204. Therefore, entry # 3 shown in FIG. 21 is added to the distribution destination determination table TB based on the relay result. This entry # 3 is the same as the default entry (entry # 1) except that only the fields of the hash value “1” and the identifier # 4 of the distributed processing unit are “0”. Therefore, when a packet belonging to the flow having the source IP address “SA1”, the destination IP address “GA1”, and the hash value “1” is received next time, the packet is sent from the crossbar switch 300 to the fourth distribution processing unit 204. Is not relayed, waste of processing capacity of the fourth distributed processing unit 204 is suppressed.

図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”, “physical port 2/1” is determined as the output port for LAG3. For LAG4, “physical port 4/1” is determined as the output port. For the physical port 5/2, “physical port 5/2” is determined as the output port. Accordingly, packets are output from the second distributed processing unit 202, the fourth distributed processing unit 204, and the fifth distributed processing unit 205, and no packets are output from the third distributed processing unit 203. Therefore, entry # 4 shown in FIG. 21 is added to the distribution destination determination table TB based on the relay result. Therefore, when a packet belonging to the flow having the source IP address “SA1”, the destination IP address “GA1”, and the hash value “2” is received next time, the packet is sent from the crossbar switch 300 to the third distribution processing unit 203. Is not relayed, waste of processing capacity of the third distributed processing unit 203 is suppressed.

図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”, “physical port 2/2” is determined as the output port for LAG3. For LAG4, “physical port 5/1” is determined as the output port. For the physical port 5/2, “physical port 5/2” is determined as the output port. Accordingly, packets are output from the second distributed processing unit 202 and the fifth distributed processing unit 205, and no packets are output from the third distributed processing unit 203 and the fourth distributed processing unit 204. Therefore, entry # 5 shown in FIG. 21 is added to the distribution destination determination table TB based on the relay result. Therefore, the next time when a packet belonging to the flow having the source IP address “SA1”, the destination IP address “GA1”, and the hash value “3” is received, the third distribution processing unit 203 and the fourth distribution are transmitted from the crossbar switch 300. Since the packet is not relayed to the processing unit 204, waste of processing capacity of the third distributed processing unit 203 and the fourth distributed processing unit 204 is suppressed.

以上説明した第1実施例のパケット中継装置10では、クロスバスイッチ300から中継されたマルチキャストパケットが、各分散処理部201〜205において出力されなかった場合に、出力されなかったパケットと同じフロー(ハッシュ値,送信元アドレス,宛先アドレスにより定められる送信元及び宛先の組み合わせ)に属するパケットが次回以降到着した場合に、最初のパケットが出力されなかった分散処理部に中継されないように定めた新たなエントリを、分散先決定テーブルTBに追加する。したがって、以後、同じフローに属するパケットを受信した場合に、分散先決定テーブルTBに追加された新たなエントリに基づき、クロスバスイッチ300においてパケットが中継されるので、パケットが出力されなかった分散処理部へのパケットの中継を抑制できる。各分散処理部ではパケットから得られる情報(ハッシュ値,送信元IPアドレス,宛先IPアドレス)に基づいて出力ポートを決定するので、同じフローに属するパケットについては、出力ポートとして同じ物理ポートが決定される。したがって、パケットを出力しない分散処理部に対してパケットを中継することを抑制できるので、当該分散処理部における無駄な処理(出力ポートテーブルTPの参照及びLAG処理の実行)の実行を抑制し、当該分散処理部における処理能力の浪費を抑制することができる。   In the packet relay apparatus 10 of the first embodiment described above, when the multicast packet relayed from the crossbar switch 300 is not output in each of the distributed processing units 201 to 205, the same flow (hash) as the packet that has not been output. A new entry that is determined not to be relayed to the distributed processing unit that did not output the first packet when a packet belonging to the combination of the source and destination determined by the value, source address, and destination address) arrives after the next time Is added to the distribution destination determination table TB. Therefore, when a packet belonging to the same flow is received thereafter, the packet is relayed in the crossbar switch 300 based on the new entry added to the distribution destination determination table TB, so that the distributed processing unit in which the packet was not output Relay of packets to can be suppressed. Since each distributed processing unit determines an output port based on information (hash value, source IP address, destination IP address) obtained from the packet, the same physical port is determined as the output port for packets belonging to the same flow. The Therefore, since it is possible to suppress relaying the packet to the distributed processing unit that does not output the packet, it is possible to suppress execution of useless processing (referring to the output port table TP and execution of the LAG processing) in the distributed processing unit, Waste of processing capacity in the distributed processing unit can be suppressed.

加えて、クロスバスイッチ300において、パケットが出力されない分散処理部へのパケットの中継が抑制されるので、クロスバスイッチ300のスイッチ能力の浪費を抑制できる。   In addition, in the crossbar switch 300, the relay of the packet to the distributed processing unit to which no packet is output is suppressed, so that the waste of the switching capability of the crossbar switch 300 can be suppressed.

また、分散先決定テーブル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 packet relay device 10, a packet is transmitted using the default entry. It can be relayed to each distributed processing unit.

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 packet relay apparatus 10 shown in FIG. 1, other configurations are the same as those of the first embodiment. In the first embodiment described above, the distribution destination determination table TB is updated in response to the packet discard (the packet was not output) in each of the distribution processing units 201 to 205. In contrast, in the second embodiment, the output port table TP is updated when the packet is discarded. In the second embodiment, the output port is set to an STP (Spanning Tree Protocol) blocked port (a physical port predetermined as a port that does not relay a packet in order to suppress a permanent loop of the packet). As a result, the packet is discarded.

第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 unit 202, the output port table TP3a set in the third distributed processing unit 203, and the fourth distributed An output port table TP4a set in the processing unit 204 and an output port table TP5a set in the fifth distributed processing unit 205 are shown.

図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 processing unit 201 also has the same fields as the output port tables TP2a to TP5a illustrated in FIG.

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 processing units 201 to 205, the output port search unit 223 performs a predetermined hash calculation using the flow information of the received packet to obtain a hash value (step S600). The flow information used in step S600 is a destination IP address, a source IP address, a protocol number, a destination port number, and a source port number.

各分散処理部201〜205において、出力ポート検索部223は、アドレス情報及びステップS600で求めたハッシュ値をキーとして、自らが属する送信側処理部220に設定されている出力ポートテーブルTPにおいて、EN「1」,ハッシュ値「受信したパケットのハッシュ値」(すなわちステップS600で求めたハッシュ値)であるエントリを検索し(ステップS605)、当該エントリが見つかったか否かを判定する(ステップS610)。   In each of the distributed processing units 201 to 205, the output port search unit 223 uses the address information and the hash value obtained in step S600 as a key in the output port table TP set in the transmission side processing unit 220 to which it belongs. An entry having “1” and a hash value “the hash value of the received packet” (that is, the hash value obtained in step S600) is searched (step S605), and it is determined whether or not the entry is found (step S610).

エントリが見つからなかった場合(ステップ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 processing units 201 to 205, the output port search unit 223 acquires all output port lists of the default entry (step S635). For example, in the second distributed processing unit 202, the output port table TP2a is in the initial setting state shown in FIG. 22, and receives the multicast packet having the hash value “0”, the source IP address “SA1”, and the destination address “GA1”. In such a case, the output port search unit 223 of the second distributed processing unit 202 acquires the output port list (LAG3, LAG4).

各分散処理部201〜205において、出力ポート検索部223は、ステップS635により出力ポートリストを取得すると、出力ポートリストに記載されている各ポート毎に、受信したパケットに対してフィルタ処理及びQoS(Quality of Service)処理をパイプラインで実行する(ステップS640)。このとき、出力ポートリストに記載されているポートがLAGポートである場合には、出力ポート検索部223は、LAGテーブルTLを参照して各LAGポートを構成する物理ポートを決定し、各物理ポート毎にフィルタ処理及びQoS処理をパイプラインで実行する。出力ポートリストに記載されているポートが物理ポートである場合には、出力ポート検索部223は、かかる物理ポートに対してフィルタ処理及びQoS処理をパイプラインで実行する。   In each of the distributed processing units 201 to 205, when the output port search unit 223 obtains the output port list in step S635, the received packet is subjected to filter processing and QoS (for each port described in the output port list). Quality of Service) processing is executed in the pipeline (step S640). At this time, when the port described in the output port list is a LAG port, the output port search unit 223 refers to the LAG table TL to determine the physical port that constitutes each LAG port, and each physical port Filter processing and QoS processing are executed in the pipeline every time. When the port described in the output port list is a physical port, the output port search unit 223 executes filter processing and QoS processing on the physical port in a pipeline.

前述のフィルタ処理とは、パケット中継装置10による中継を許可するパケットと中継を禁止するパケットとを分別する処理を意味し、例えば、予めユーザにより設定された所定のフィルタポリシーに従って実行することができる。所定のポリシーとしては、例えば、プロトコル番号,送信元ポート番号,及び宛先ポート番号の組み合わせが特定の組み合わせに合致する場合には、パケット中継装置10による中継を禁止するポリシーを採用することができる。   The above-described filter processing means processing for separating packets that are permitted to be relayed by the packet relay device 10 and packets that are prohibited from being relayed, and can be executed according to a predetermined filter policy set in advance by the user, for example. . As the predetermined policy, for example, when the combination of the protocol number, the transmission source port number, and the destination port number matches a specific combination, a policy that prohibits relaying by the packet relay device 10 can be adopted.

また、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 processing units 201 to 205, the physical port selection unit 224 refers to the LAG table TL based on the hash value obtained in step S600 and outputs a packet for each port described in the output port list. A physical port (output port) is determined (step S645). The processing in step S645 is the same as the processing in step S415 shown in FIG.

各分散処理部201〜205において、物理ポート選択部224は、ステップS645において決定された物理ポートを、自らが属する分散処理部が有しているか否かを判定する(ステップS650)。このステップS650の処理は、図12に示すステップS420の処理と同じである。   In each of the distributed processing units 201 to 205, the physical port selection unit 224 determines whether or not the distributed processing unit to which the physical port selection unit 224 belongs has the physical port determined in step S645 (step S650). The process in step S650 is the same as the process in step S420 shown in FIG.

ステップ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 processing units 201 to 205, the packet output unit 228 performs the filtering process. And the packet after executing the QoS process is discarded (step S680). The output monitoring unit 227 indicates that the packet discard has occurred, the flow information of the discarded packet, the hash value calculated for the discarded packet, and the number of the physical port where the packet discard has occurred. The management unit 130 is notified (step S685), and the transmission side packet relay processing is terminated.

ステップ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 processing units 201 to 205, the physical port selection unit 224 The packet output unit 228 is notified of the packet after the execution of the process and the QoS process and the output port (physical port) number determined in step S645 (step S655).

図24に示すように、各分散処理部201〜205において、パケット出力部228は、ステップS655において通知された物理ポート(出力ポート)がSTPの閉塞ポートとして設定されているか否かを判定する(ステップS660)。なお、パケット中継装置10では、予め閉塞ポートとしていずれかの物理ポートが設定され得るものとし、以下では、物理ポート5/2が閉塞ポートとして設定されているものとする。   As shown in FIG. 24, in each of the distributed processing units 201 to 205, the packet output unit 228 determines whether or not the physical port (output port) notified in step S655 is set as an STP blocked port ( Step S660). In the packet relay apparatus 10, it is assumed that any physical port can be set as a blocked port in advance, and in the following, the physical port 5/2 is set as a blocked port.

出力ポートが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 packet output unit 228 outputs a packet from the physical port notified in step S655 (step S670). The output monitoring unit 227 notifies the discard processing management unit 130 of the control unit 100 of the fact that the packet has been output, the flow information of the output packet, the hash value calculated for the output packet, and the output port number. Then (step S675), the transmission side packet relay processing is terminated.

前述のステップ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 processing units 201 to 205, the output port search unit 223 sets the output port list to “0” (none) in the found entry. It is determined whether it is set (step S615).

出力ポートリストが「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 port search unit 223 refers to the LAG table TL, determines the physical port that constitutes each LAG port, and determines each physical port. Filter processing and QoS processing are executed in a pipeline for each port. When the port described in the output port list is a physical port, the output port search unit 223 performs filter processing and QoS processing on the physical port in a pipeline. After step S630 is executed, the processing after step S655 described above is executed.

図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 packet relay device 10. 25 shows the relay result when the distribution destination determination table TB is in the initial setting state shown in FIG. 3 and the output port tables TP2 to TP5 of the distribution processing units 202 to 205 are in the initial setting state shown in FIG. Is shown.

第1分散処理部201において受信されたマルチキャストパケットは、図3に示す分散先決定テーブルTBに基づき、図22に示すように分散処理部202〜205に中継される。   The multicast packet received by the first distribution processing unit 201 is relayed to the distribution processing units 202 to 205 as shown in FIG. 22 based on the distribution destination determination table TB shown in FIG.

第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 unit 202, since the output port table TP2 is in the initial setting state and there is no entry whose EN is “1”, Steps S635 to S655 are executed, and the physical port 2/1 determined as the output port , 2/3 and the packet after the filter process and the QoS process are transmitted to the packet output unit 228. Since none of the physical ports 2/1, 2/3 is an STP blocked port, steps S660 to S675 are subsequently executed, and packets are output from the physical ports 2/1, 2/3.

第3分散処理部203では、出力ポートテーブルTP3が初期設定状態であり、ENが「1」であるエントリがないため、ステップS635〜S650が実行される。第1実施例と同様に、LAG4について決定された出力ポート(物理ポート2/3)は、第3分散処理部203が有する物理ポートではないため、ステップS680,S685が実行され、パケットは廃棄される。なお、第4分散処理部204における処理も、前述の第3分散処理部203における処理と同様であり、パケットは廃棄される。   In the third distributed processing unit 203, since the output port table TP3 is in the initial setting state and there is no entry whose EN is “1”, steps S635 to S650 are executed. As in the first embodiment, since the output port (physical port 2/3) determined for LAG4 is not a physical port of the third distributed processing unit 203, steps S680 and S685 are executed, and the packet is discarded. The The processing in the fourth distributed processing unit 204 is the same as the processing in the third distributed processing unit 203 described above, and the packet is discarded.

第5分散処理部205では、出力ポートテーブルTP2が初期設定状態であり、ENが「1」であるエントリがないため、ステップS635〜S655が実行され、出力ポートとして決定された物理ポート5/2と、フィルタ処理及びQoS処理後のパケットとがパケット出力部228に送信される。しかしながら、物理ポート5/2は、STPの閉塞ポートであるため(ステップS660:YES)、ステップS680,S685が実行され、パケットは廃棄される。   In the fifth distributed processing unit 205, since the output port table TP2 is in the initial setting state and there is no entry in which EN is “1”, Steps S635 to S655 are executed, and the physical port 5/2 determined as the output port And the packet after the filtering process and the QoS process are transmitted to the packet output unit 228. However, since the physical port 5/2 is an STP blocked port (step S660: YES), steps S680 and S685 are executed, and the packet is discarded.

図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 processing unit 203 and the fourth distributed processing unit 204, as a result of the LAG processing, packet discard due to the fact that the physical port that the own distributed port is not determined as an output port (hereinafter, “ Called “LAG Discard”). Therefore, as in the first embodiment, useless processing such as reference to the output port table TP and LAG processing is performed, and the processing capabilities of the distributed processing units 203 and 204 are wasted. Also in the fifth distributed processing unit 205, packet discard (hereinafter referred to as “STP discard”) occurs due to the physical port determined as the output port being set as a blocked port in the STP. Therefore, referring to the output port table TP5 is a wasteful process. In the distributed processing units 202 to 205, the filtering process and the QoS process are executed for all the physical ports constituting the LAG port, so that these processes executed for the other physical ports except the output port are wasted. The processing capability of each of the distributed processing units 202 to 205 is wasted. However, in the packet relay apparatus of the second embodiment, waste of processing capacity of each of the first distributed processing unit 201 to the fifth distributed processing unit 205 can be suppressed by performing an output port table update process described later.

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 processing management unit 130 of the control unit 100 waits until notified that the packet has been output or that the packet has been discarded (step S705). Then, when any of the distributed processing units 201 to 205 notifies that the packet has been output or that the packet has been discarded (step S705: YES), the discard processing management unit 130 notifies the notified flow information, The hash value and the output port (physical port) number are notified to the output port table setting unit 120 and the master output port table TPm is instructed to be updated (step S710).

出力ポートテーブル設定部120は、廃棄処理管理部130からの通知が、パケットが出力された旨であるか否かを判定し(ステップS715)、パケットが出力された旨である場合には(ステップS715:YES)、マスタ出力ポートテーブルTPmにおいて、デフォルトエントリをコピーし、コピーしたエントリにおいて、出力ポートリストフィールドを、通知された出力ポートの属するポート(出力ポートがLAGポートの一部である場合には当該LAGポート,出力ポートがLAGポートの一部でない場合には当該物理ポート)に、ENを「1」に、ハッシュ値を「出力されたパケットについて算出されたハッシュ値」に、それぞれ更新した新たなエントリを追加する(ステップS720)。なお、既に、各フィールドの値が同一であるエントリが設定されている場合には、当該エントリを上書きする。   The output port table setting unit 120 determines whether or not the notification from the discard processing management unit 130 is that a packet has been output (step S715). If the packet is output (step S715) S715: YES), the default entry is copied in the master output port table TPm, and in the copied entry, the output port list field is set to the port to which the notified output port belongs (when the output port is a part of the LAG port). Updated the LAG port, the physical port if the output port is not part of the LAG port), EN to “1”, and the hash value to “the hash value calculated for the output packet”. A new entry is added (step S720). If an entry having the same value in each field is already set, the entry is overwritten.

廃棄処理管理部130からの通知が、パケットが出力された旨でない(すなわち、パケットが廃棄された旨である)場合には(ステップS715:NO)、出力ポートテーブル設定部120は、マスタ出力ポートテーブルTPmにおいて、デフォルトエントリをコピーし、コピーしたエントリにおいて、出力ポートリストフィールドを「0」(無し)に、ENを「1」に、ハッシュ値を「廃棄パケットについて算出されたハッシュ値」に、それぞれ更新した新たなエントリを追加する(ステップS725)。なお、既に、各フィールドの値が同一であるエントリが設定されている場合には、当該エントリを上書きする。   When the notification from the discard processing management unit 130 does not indicate that the packet has been output (that is, that the packet has been discarded) (step S715: NO), the output port table setting unit 120 determines that the master output port In the table TPm, the default entry is copied, and in the copied entry, the output port list field is set to “0” (none), the EN is set to “1”, and the hash value is set to “the hash value calculated for the discarded packet”. Each updated new entry is added (step S725). If an entry having the same value in each field is already set, the entry is overwritten.

前述のステップS720又はS725の処理が終了した後、出力ポートテーブル設定部120は、マスタ出力ポートテーブルTPmを各分散処理部201〜205に送信して、各分散処理部201〜205の出力ポートテーブルTPを更新する(ステップS730)。   After the process of step S720 or S725 is completed, the output port table setting unit 120 transmits the master output port table TPm to each of the distributed processing units 201 to 205, and the output port table of each of the distributed processing units 201 to 205. TP is updated (step S730).

図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 processing units 202 to 205 and then updated. The output port tables TP2a to TP5a are shown.

第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 output monitoring unit 227 of the second distributed processing unit 202 to the discard processing management unit 130, the flow information “SA1, GA1”, the hash value “0”, and the output port “physical port” 2/1, 2/3 "is notified. Therefore, as shown in FIG. 27, the output port table TP2a includes EN “1”, hash value “0”, flow information “SA1, GA1”, output port list “LAG3, LAG4”, and corresponding physical port “physical”. An entry (entry # 2) in which ports 2/1, 2/3 "are respectively set is added.

第3分散処理部203の出力監視部227から廃棄処理管理部130に対して、パケットが出力された旨と、フロー情報「SA1,GA1」と、ハッシュ値「0」と、パケット廃棄が起きた物理ポート「2/3」が通知される。したがって、図27に示すように、出力ポートテーブルTP3aには、EN「1」,ハッシュ値「0」,フロー情報「SA1,GA1」,出力ポートリスト「0」(無し)が、それぞれ設定されたエントリ(エントリ#2)が追加される。   The packet was discarded from the output monitoring unit 227 of the third distributed processing unit 203 to the discard processing management unit 130, the flow information “SA1, GA1”, the hash value “0”, and the packet was discarded. The physical port “2/3” is notified. Therefore, as shown in FIG. 27, EN “1”, hash value “0”, flow information “SA1, GA1”, and output port list “0” (none) are set in the output port table TP3a. An entry (entry # 2) is added.

第4分散処理部204の出力監視部227から廃棄処理管理部130に対して、パケットが出力された旨と、フロー情報「SA1,GA1」と、ハッシュ値「0」と、パケット廃棄が起きた物理ポート「2/3」が通知される。したがって、図27に示すように、出力ポートテーブルTP4aには、EN「1」,ハッシュ値「0」,フロー情報「SA1,GA1」,出力ポートリスト「0」(無し)が、それぞれ設定されたエントリ(エントリ#2)が追加される。   The output monitoring unit 227 of the fourth distributed processing unit 204 outputs a packet to the discard processing management unit 130, the flow information “SA1, GA1”, the hash value “0”, and the packet discard occurs. The physical port “2/3” is notified. Therefore, as shown in FIG. 27, EN “1”, hash value “0”, flow information “SA1, GA1”, and output port list “0” (none) are set in the output port table TP4a. An entry (entry # 2) is added.

第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 output monitoring unit 227 of the fifth distributed processing unit 205 to the discard processing management unit 130, the flow information “SA1, GA1”, the hash value “0”, and packet discarding occurred. The physical port “5/2” is notified. Therefore, as shown in FIG. 27, EN “1”, hash value “0”, flow information “SA1, GA1”, and output port list “0” (none) are set in the output port table TP5a. An entry (entry # 2) is added.

図27に示すように、各分散処理部202〜205が有する分散先決定テーブルTBが更新されるので、次に同じフローのパケットが第2実施例のパケット中継装置に到着した場合には、パケットの中継処理は、前回の処理とは異なることとなる。   As shown in FIG. 27, since the distribution destination determination table TB included in each of the distribution processing units 202 to 205 is updated, when a packet of the same flow arrives at the packet relay apparatus of the second embodiment, the packet This relay process is different from the previous process.

図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 packet relay device 10 for the first time, the output port tables TP2a to TP5a As shown in FIG. 22, entry # 2 is added to each. Therefore, for example, in the second distributed processing unit 202, it is determined that “entry exists” in step S610 shown in FIG. 23, and steps S615, S625, S655, S660, S670, and S675 are executed. Therefore, unlike the case where the packet belonging to the flow is received first, the output port is determined without executing the LAG process (step S645), so that waste of processing capacity of the second distributed processing unit 202 can be suppressed. In addition, the entry found in step S605 describes only one physical port as a physical port corresponding to each LAG port. Accordingly, since the number of physical ports that perform the filtering process and the QoS process for each LAG port is suppressed to the minimum number “1”, it is possible to suppress the waste of processing capacity in the second distributed processing unit 202.

また、第3分散処理部203においては、出力ポートテーブルTP3aを参照してエントリ#2がヒットし、かかるエントリにおいて出力ポートリストに「0」が設定されているため、LAG処理,フィルタ処理,QoS処理等が実行されることなく送信側パケット中継処理が終了する。したがって、これら処理を実行するための第3分散処理部203の処理能力の浪費を抑制できる。なお、第4分散処理部204においても、第3分散処理部203と同様に、処理能力の浪費を抑制できる。   Further, in the third distributed processing unit 203, entry # 2 is hit with reference to the output port table TP3a, and “0” is set in the output port list in this entry. Therefore, LAG processing, filter processing, QoS The transmission side packet relay processing ends without executing the processing or the like. Therefore, waste of the processing capacity of the third distributed processing unit 203 for executing these processes can be suppressed. Note that, in the fourth distributed processing unit 204, as in the third distributed processing unit 203, waste of processing capacity can be suppressed.

第5分散処理部205においては、第2分散処理部202と同様に、ステップS610において、「エントリあり」と判断され、ステップS615,S625,S655,S660,S670,S675が実行されるため、第5分散処理部205の処理能力の浪費を抑制できる。   Similarly to the second distributed processing unit 202, the fifth distributed processing unit 205 determines that “entry exists” in step S610, and executes steps S615, S625, S655, S660, S670, and S675. The waste of the processing capacity of the five distributed processing units 205 can be suppressed.

以上説明した第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 crossbar switch 300 is not output in each of the distributed processing units 201 to 205, the same flow (hash value) as the packet that has not been output. When the packet belonging to the combination of the transmission source and the destination determined by the transmission source IP address and the transmission destination IP address) arrives after the next time, the distributed processing unit that did not output the first packet does not perform LAG processing or the like. Discarded. Therefore, it is possible to suppress waste of processing capacity in the distributed processing unit from which the first packet has not been output.

加えて、第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 crossbar switch 300 is output in each of the distributed processing units 201 to 205, the packet belonging to the same flow as the output packet is next time The output port table is updated so that the output port can be determined without performing LAG processing when it arrives thereafter. Therefore, when a packet belonging to the same flow arrives after the next time, the LAG process can be omitted, and the filter process and the QoS process in a port that is not determined as an output port can be omitted. Therefore, waste of processing capability in the distributed processing unit from which the first packet is output can be suppressed.

また、第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 physical port 5/2, and 1500 bytes is set as the MTU limit for the other physical ports.

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 unit 202, the output port table TP3b set in the third distributed processing unit 203, and the fourth distributed An output port table TP4b set in the processing unit 204 and an output port table TP5b set in the fifth distributed processing unit 205 are shown.

図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 processing unit 201 also has the same fields as the output port tables TP2b to TP5b illustrated in FIG.

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 port search unit 223 of each of the first distributed processing units 201 to 205 determines a packet length identifier based on the packet length of the received packet. (Step S602).

各第1分散処理部201〜205の出力ポート検索部223は、アドレス情報,ステップS600で求めたハッシュ値,及びステップS602で求めたパケット長をキーとして、自らが属する送信側処理部220に設定されている出力ポートテーブルTPにおいて、EN「1」,ハッシュ値「受信したパケットのハッシュ値」(すなわちステップS600で求めたハッシュ値),パケット長「受信したパケットのパケット長のパケット長識別子」(すなわちステップS602で求めたパケット長識別子)であるエントリを検索する(ステップS605a)。   The output port search unit 223 of each of the first distributed processing units 201 to 205 sets the address information, the hash value obtained in step S600, and the packet length obtained in step S602 as a key in the transmission side processing unit 220 to which it belongs. In the output port table TP, the EN “1”, the hash value “the hash value of the received packet” (that is, the hash value obtained in step S600), the packet length “the packet length identifier of the packet length of the received packet” ( That is, an entry that is the packet length identifier obtained in step S602) is searched (step S605a).

図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 packet output unit 228 of the packet after execution of the filtering process and the QoS process and the number of the output port determined) is executed. ˜205, the packet output unit 228 determines whether or not the packet to be output satisfies the MTU limit set in the physical port (output port) notified in step S655, as shown in FIG. (Step S660a).

出力予定のパケットが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 output monitoring unit 227 indicates that the packet discard has occurred, the flow information of the discarded packet, the hash value calculated for the discarded packet, and the physical port number where the packet discard has occurred. The packet processing unit 130 of the control unit 100 is notified of the packet length of the discarded packet.

出力予定のパケットが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 output monitoring unit 227 indicates that the packet has been output, the flow information of the output packet, the hash value calculated for the output packet, and the output port number, The packet length is notified to the discard processing management unit 130 of the control unit 100.

図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 packet relay apparatus 10. The relay result when it arrives is shown. 33 shows the relay result when the distribution destination determination table TB is in the initial setting state shown in FIG. 3 and the output port tables TP2b to TP5b of the distribution processing units 202 to 205 are in the initial setting state shown in FIG. Is shown.

第1分散処理部201において受信したマルチキャストパケットは、図3に示す分散先決定テーブルTBに基づき、図33に示すように、分散処理部202〜205に中継される。   The multicast packet received by the first distributed processing unit 201 is relayed to the distributed processing units 202 to 205 as shown in FIG. 33 based on the distribution destination determination table TB shown in FIG.

第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 unit 202, since the output port table TP2 is in the initial setting state and there is no entry whose EN is “1”, Steps S635 to S655 are executed, and the physical port 2/1 determined as the output port , 2/3 and the packet after the filter process and the QoS process are transmitted to the packet output unit 228. Since both the MTU limits of the physical ports 2/1, 2/3 are 1500 bytes, the packets to be output (packet length: 1000 bytes) satisfy the MTU limit, and thereafter, Steps S670 and S675a are executed. Packets are output from the ports 2/1, 2/3.

第3分散処理部203では、出力ポートテーブルTP3が初期設定状態であり、ENが「1」であるエントリがないため、ステップS635〜S650が実行される。第1実施例と同様に、LAG4について決定された出力ポート(物理ポート2/3)は、第3分散処理部203が有する物理ポートではないため、ステップS680,S685aが実行され、パケットは廃棄される。なお、第4分散処理部204における処理も、前述の第3分散処理部203における処理と同様であり、パケットは廃棄される。   In the third distributed processing unit 203, since the output port table TP3 is in the initial setting state and there is no entry whose EN is “1”, steps S635 to S650 are executed. As in the first embodiment, since the output port (physical port 2/3) determined for LAG4 is not a physical port of the third distributed processing unit 203, steps S680 and S685a are executed, and the packet is discarded. The The processing in the fourth distributed processing unit 204 is the same as the processing in the third distributed processing unit 203 described above, and the packet is discarded.

第5分散処理部205では、出力ポートテーブルTP2が初期設定状態であり、ENが「1」であるエントリがないため、ステップS635〜S655が実行され、出力ポートとして決定された物理ポート5/2と、フィルタ処理及びQoS処理後のパケットとがパケット出力部228に送信される。しかしながら、物理ポート5/2のMTU制限は750バイトであるため、出力予定のパケット(パケット長:1000バイト)はMTU制限を満たさない。それゆえ、ステップS680,S685aが実行され、パケットは廃棄される。   In the fifth distributed processing unit 205, since the output port table TP2 is in the initial setting state and there is no entry in which EN is “1”, Steps S635 to S655 are executed, and the physical port 5/2 determined as the output port And the packet after the filtering process and the QoS process are transmitted to the packet output unit 228. However, since the MTU limit of the physical port 5/2 is 750 bytes, the packet to be output (packet length: 1000 bytes) does not satisfy the MTU limit. Therefore, steps S680 and S685a are executed and the packet is discarded.

図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 processing unit 203 and the fourth distributed processing unit 204. Therefore, as in the first and second embodiments, the processing capabilities of the distributed processing units 203 and 204 are wasted. Also in the fifth distributed processing unit 205, packet discard (hereinafter referred to as “MTU discard”) occurs because the packet does not satisfy the MTU restriction of the physical port determined as the output port. Therefore, referring to the output port table TP5 is a wasteful process. In the distributed processing units 202 to 205, the filtering process and the QoS process are executed for all the physical ports constituting the LAG port, so that these processes executed for the other physical ports except the output port are wasted. The processing capability of each of the distributed processing units 202 to 205 is wasted. However, in the packet relay apparatus of the third embodiment, waste of processing capacity of each of the first distributed processing unit 201 to the fifth distributed processing unit 205 can be suppressed by performing an output port table update process described later.

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 processing management unit 130 indicates that a packet has been output (step S715: YES), the output port table setting unit 120 uses the default in the master output port table TPm. Copy the entry, and in the copied entry, set the output port list field to the port to which the notified output port belongs (if the output port is a part of a LAG port, the LAG port, and the output port is a part of the LAG port. If not, this is the physical port), EN is “1”, the hash value is “the hash value calculated for the output packet”, and the packet length is “the packet length corresponding to the packet length of the output packet” Each updated new entry is added to the “identifier” (step S720a). If an entry having the same value in each field is already set, the entry is overwritten.

廃棄処理管理部130からの通知が、パケットが出力された旨でない(すなわち、パケットが廃棄された旨である)場合には(ステップS715:NO)、出力ポートテーブル設定部120は、マスタ出力ポートテーブルTPmにおいて、デフォルトエントリをコピーし、コピーしたエントリにおいて、出力ポートリストフィールドを「0」(無し)に、ENを「1」に、ハッシュ値を「廃棄パケットについて算出されたハッシュ値」に、パケット長を「廃棄パケットのパケット長に対応するパケット長識別子」に、それぞれ更新した新たなエントリを追加する(ステップS725a)。なお、既に、各フィールドの値が同一であるエントリが設定されている場合には、当該エントリを上書きする。   When the notification from the discard processing management unit 130 does not indicate that the packet has been output (that is, that the packet has been discarded) (step S715: NO), the output port table setting unit 120 determines that the master output port In the table TPm, the default entry is copied, and in the copied entry, the output port list field is set to “0” (none), the EN is set to “1”, and the hash value is set to “the hash value calculated for the discarded packet”. Each updated new entry is added to the packet length “packet length identifier corresponding to the packet length of the discarded packet” (step S725a). If an entry having the same value in each field is already set, the entry is overwritten.

図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 units 202 to 205. The output port tables TP2b to TP5b updated after being processed.

第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 output monitoring unit 227 of the second distributed processing unit 202 to the discard processing management unit 130, the flow information “SA1, GA1”, the hash value “0”, and the output port “physical port” 2/1, 2/3 ”and the packet length“ 1000 bytes ”are notified. Therefore, as shown in FIG. 35, the output port table TP2b has EN “1”, packet length “b”, hash value “0”, flow information “SA1, GA1”, and output port list “LAG3, LAG4”. The entry (entry # 2) in which the corresponding physical port “physical port 2/1, 2/3” is set is added.

第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 output monitoring unit 227 of the third distributed processing unit 203 to the discard processing management unit 130, the flow information “SA1, GA1”, the hash value “0”, and packet discarding occurred. The physical port “2/3” and the packet length “1000 bytes” are notified. Therefore, as shown in FIG. 35, the output port table TP3b includes EN “1”, packet length “b”, hash value “0”, flow information “SA1, GA1”, output port list “0” (none). However, each set entry (entry # 2) is added.

第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 output monitoring unit 227 of the fourth distributed processing unit 204 to the discard processing management unit 130, the flow information “SA1, GA1”, the hash value “0”, and packet discarding occurred. The physical port “2/3” and the packet length “1000 bytes” are notified. Therefore, as shown in FIG. 35, the output port table TP3b has EN “1”, MTU length “b”, hash value “0”, flow information “SA1, GA1”, output port list “0” (none). However, each set entry (entry # 2) is added.

第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 output monitoring unit 227 of the fifth distributed processing unit 205 to the discard processing management unit 130, the flow information “SA1, GA1”, the hash value “0”, and packet discarding occurred. The physical port “5/2” and the packet length “1000 bytes” are notified. Therefore, as shown in FIG. 35, the output port table TP5a has EN “1”, MTU length “b”, hash value “0”, flow information “SA1, GA1”, output port list “0” (none). However, each set entry (entry # 2) is added.

図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 distribution processing units 202 to 205 is updated, when a packet of the same flow arrives at the packet relay apparatus of the third embodiment, the packet This relay process is different from the previous process. Specifically, the same result as the relay result shown in FIG. 28 of the second embodiment is obtained. Therefore, as in the second embodiment, it is possible to suppress waste of processing capacity in each of the distributed processing units 202 to 205.

以上説明した第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 crossbar switch 300 is output in each of the distributed processing units 201 to 205, it belongs to the same flow as the output packet, and The output port table is updated so that the output port can be determined without performing the LAG process when a packet having the same size as the output packet arrives after the next time. Therefore, when a packet belonging to the same flow and having the same size arrives from the next time, the LAG process can be omitted, and the filtering process and the QoS process in a port that is not determined as an output port can be omitted. Therefore, waste of processing capability in the distributed processing unit from which the first packet is output can be suppressed.

また、第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 packet relay device 10 in each embodiment is merely an example and can be variously modified. For example, in the second embodiment, the physical port set as the blocked port of the STP is only the physical port 5/2, but may be set to another physical port. In the third embodiment, 750 bytes are set as the MTU limit for the physical port 5/2 and 1500 bytes are set as the MTU limit for the other physical ports. However, the present invention is limited to this. It is not a thing. For example, as MTU restrictions, 576 bytes can be set for physical ports 2/1, 2/3, and 1500 bytes can be set for other physical ports.

また、各実施例において、分散先決定テーブル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 crossbar switch 300 is determined from the other distributed processing units 202 to 205 except for the first distributed processing unit 201 that has received the multicast packet. Instead, any distributed processing unit including the first distributed processing unit 201 can be determined as a relay destination.

また、各実施例では、分散先決定テーブル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 layer 2 frame corresponds to a packet relayed by the packet relay device of the present invention.

また、各実施例を組み合わせて、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 distribution processing unit 201 to 205 is updated, When a packet is output, the output port table TP of each of the distributed processing units 201 to 205 can be updated. Note that the cause of packet discard is not limited to the above-described LAG discard, STP discard, and MTU discard, and any reason can be adopted.

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 crossbar switch 300, and is specified by the crossbar switch 300. Although the packet is relayed to the distributed processing unit, the present invention is not limited to this configuration. For example, information indicating the distributed processing unit serving as a packet and a relay destination so that the receiving side route search unit 216 relays the packet on a one-to-one basis for each distributed processing unit specified by the distribution destination determination table TB. Can be adopted in which the same number of distributed processing units are transmitted to the crossbar switch 300. With such a configuration, even when the crossbar switch 300 cannot execute multicast relay (processing for transmitting one packet to a plurality of distributed processing units in parallel), the same operations and effects as the respective embodiments Can be played.

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 table storage unit 214 and the transmission-side table storage unit 226 in each of the distributed processing units 201 to 205 and the table storage unit 140 of the control unit 100, which increases the manufacturing cost of the packet relay device. To do. However, by adopting the configuration in which entries are added only for the above-described high-priority flows, the storage capacity of each of the storage units 214, 226, and 140 can be reduced, and the cost of the packet relay device can be reduced. In addition, for a flow with high priority, waste of processing capacity in each distributed processing unit can be suppressed, so that the number of processing packets per unit time can be increased and the throughput of the flow can be improved. As for the priority of the flow, the configuration set by the administrator in advance and the used bandwidth of each flow are monitored. The structure to judge can be employ | adopted.

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 storage units 214, 226, and 140 can be reduced. If the entry is not referred to for a long period of time, the configuration of the packet relay device 10 is changed within the period (for example, change of the VLAN to which the packet relay device 10 is connected), and accordingly, the LAG table TL or multicast The route table TM and the logical interface conversion table TC may be changed. In this case, since the physical port determined by the LAG process is also changed, the entries in the distribution destination determination table TB and the output port table TP may become invalid. However, by deleting entries that are not referred to during a predetermined period, entries corresponding to the changed tables TL, TM, and TC can be newly added to the distribution destination determination table TB and the output port table TP.

また、分散先決定テーブル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 storage units 214, 226, and 140 can be reduced, and relaying of packets to an erroneous physical port can be suppressed.

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 SYMBOLS 10 ... Packet relay apparatus 100 ... Control unit 201 ... 1st distributed processing part 202 ... 2nd distributed processing part 203 ... 3rd distributed processing part 204 ... 4th distributed processing part 205 ... 5th distributed processing part 300 ... Crossbar switch 210 ... Reception side processing unit 212 ... Packet reception unit 214 ... Reception side table storage unit 216 ... Reception side route search unit 220 ... Transmission side processing unit 222 ... Transmission side route search unit 223 ... Output port search unit 224 ... Physical port selection unit 226 ... Transmission side table storage unit 227 ... output monitoring unit 228 ... packet output unit TB ... distribution destination determination table TL ... LAG table TM ... multicast route table TP ... output port table 105 ... control unit 110 ... distribution destination determination table setting unit 120 ... output Port table setting unit 130 ... Discard processing management unit 140 ... Table notation Part TC ... logic interface conversion table TLm ... master LAG table TBM ... master distribution destination table TPm ... master output port table TP2~TP5, TP2a~TP5a, TP2b~TP5b ... output port table

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に記載のパケット中継装置において、
前記フロー情報は、送信元アドレスと、宛先アドレスと、プロトコル番号と、送信元ポート番号と、宛先ポート番号とのうち、少なくとも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
請求項1または請求項2に記載のパケット中継装置において、さらに、
前記フロー情報と、前記配布先パケット処理部である前記パケット処理部とを対応付け、前記配布先決定部によって前記配布先パケット処理部を決定する際に参照される配布先決定テーブルを備え、
前記配布先決定テーブルは、デフォルトのエントリとして、前記フロー情報としていずれの値でも構わない旨を示す情報と、前記配布先パケット処理部として所定のパケット処理部とを対応付けたエントリを有し、
前記配布先決定部は、前記出力判定部による判定の結果、前記マルチキャストパケットが出力されなかったと判定された場合、前記配布先決定テーブルにおける新たなエントリであって、前記フロー情報として、前記出力されなかったマルチキャストパケットの前記フロー情報が設定され、前記配布先パケット処理部として、前記デフォルトのエントリに設定されている前記配布先パケット処理部から前記マルチキャストパケットを出力しなかった前記配布先パケット処理部を除いた新たなエントリを、前記配布先決定テーブルに追加する、パケット中継装置。
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.
請求項4に記載のパケット中継装置において、
前記フロー情報は、送信元アドレスと、宛先アドレスと、プロトコル番号と、送信元ポート番号と、宛先ポート番号とのうち、少なくとも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
請求項4または請求項5に記載のパケット中継装置において、さらに、
前記フロー情報と、前記論理ポートと、前記論理ポートに含まれる前記物理ポートとを対応付けた出力ポートテーブルを備え、
前記出力ポートテーブルは、デフォルトのエントリとして、前記フロー情報としていずれの値でも構わない旨を示す情報と、前記論理ポートとして所定の論理ポートと、前記物理ポートとして前記所定の論理ポートを構成する全ての物理ポートとを対応付けたエントリを有し、
前記出力ポート特定部は、前記出力判定部による判定の結果、前記マルチキャストパケットが出力されたと判定された場合に、前記出力ポートテーブルにおける第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.
請求項4ないし請求項6のいずれかに記載のパケット中継装置において、さらに、
前記マルチキャストパケットのパケット長が、前記出力ポートに予め設定されている所定の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.
請求項4ないし請求項7のいずれかに記載のパケット中継装置において、
前記出力ポート特定部は、前記出力判定部による判定の結果、前記マルチキャストパケットが出力されなかったと判定された場合に、前記出力ポートテーブルにおける第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.
請求項11または請求項12に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。   The computer-readable recording medium which recorded the computer program of Claim 11 or Claim 12.
JP2010196717A 2010-09-02 2010-09-02 Packet relay device, packet relay method, and computer program Active JP5369069B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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