JP2011066792A - Network relay apparatus - Google Patents
Network relay apparatus Download PDFInfo
- Publication number
- JP2011066792A JP2011066792A JP2009217206A JP2009217206A JP2011066792A JP 2011066792 A JP2011066792 A JP 2011066792A JP 2009217206 A JP2009217206 A JP 2009217206A JP 2009217206 A JP2009217206 A JP 2009217206A JP 2011066792 A JP2011066792 A JP 2011066792A
- Authority
- JP
- Japan
- Prior art keywords
- port
- physical
- packet
- output port
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
本発明は、ネットワーク中継装置に関するものである。 The present invention relates to a network relay device.
ネットワーク機器間を配線するためには、リピータハブやレイヤ2スイッチといったネットワーク中継装置が利用されている。リピータハブは、複数のネットワーク機器を電気的に単純に接続するための装置である。一方、レイヤ2スイッチは、入力したパケットをその宛先アドレスに応じて最適な物理ポートに転送する機能を備えている。近年のオフィスでは、ネットワーク機器の増加に伴うトラフィックの増大を抑制するため、リピータハブではなく、レイヤ2スイッチが用いられることが多い。また、近年では、より大規模なネットワークを構築するため、レイヤ3スイッチと呼ばれるネットワーク中継装置も利用されている。レイヤ3スイッチは、レイヤ2スイッチのブリッジ機能に加え、ルータ機能も備えている。
In order to wire between network devices, a network relay device such as a repeater hub or a
上述したレイヤ2スイッチやレイヤ3スイッチの中には、リンクアグリゲーションと呼ばれる機能を備えるものもある。かかる機能は、LANスイッチ間等に接続された複数の物理ポートを1つの論理ポートとして扱うことにより帯域の拡大や冗長性の確保を実現する機能である。
Some of the above-described
リンクアグリゲーション機能を備えたネットワーク中継装置としては、例えば、特許文献1に開示されたものが知られている。特許文献1に開示されたネットワーク中継装置は、複数のパケット処理部を備えており、マルチキャストパケットを受信したパケット処理部に負荷を集中させることなく、複数のパケット処理部から当該マルチキャストパケットを送信することが可能である。しかし、この技術では、最終的にマルチキャストパケットを送信しないパケット処理部においても、経路検索等の無駄な処理が発生しており、パケット処理部の処理能力を浪費してしまうという問題があった。
As a network relay device having a link aggregation function, for example, the one disclosed in
本発明は、上述した従来の課題を解決するためになされたものであり、ネットワーク中継装置のパケット処理部における処理能力の浪費を抑制することのできる技術を提供することを目的とする。 The present invention has been made to solve the above-described conventional problems, and an object of the present invention is to provide a technique capable of suppressing waste of processing capacity in a packet processing unit of a network relay device.
本発明は、上述の課題の少なくとも一部を解決するために、以下の形態または適用例を取ることが可能である。 In order to solve at least a part of the problems described above, the present invention can take the following forms or application examples.
[適用例1]
ネットワーク中継装置であって、
1つ以上の物理ポートを備え、該物理ポートの少なくとも1つを介して外部装置との間でパケットの入出力処理を実行する複数のパケット処理部と、
複数の前記物理ポートを論理的に束ねることによって少なくとも1つの論理ポートを設定する論理ポート設定部と、
経路情報に基づいてマルチキャストパケットの出力先となる出力ポートを特定し、該出力ポートに前記論理ポートが含まれる場合に、該論理ポートを構成する複数の物理ポートの中から、前記マルチキャストパケットを出力する物理ポートを所定の選択処理によって選択し、該選択された物理ポートを備える前記パケット処理部を、前記マルチキャストパケットの配布先として設定する配布先設定部と、
前記配布先設定部によって設定された前記パケット処理部に対して、前記マルチキャストパケットを配布する配布部と
を備える
ネットワーク中継装置。
[Application Example 1]
A network relay device,
A plurality of packet processing units including one or more physical ports, and performing packet input / output processing with an external device via at least one of the physical ports;
A logical port setting unit that sets at least one logical port by logically bundling a plurality of the physical ports;
An output port that is an output destination of the multicast packet is specified based on the routing information, and when the logical port is included in the output port, the multicast packet is output from a plurality of physical ports constituting the logical port A distribution destination setting unit that selects a physical port to be selected by a predetermined selection process, and sets the packet processing unit including the selected physical port as a distribution destination of the multicast packet;
A network relay device comprising: a distribution unit that distributes the multicast packet to the packet processing unit set by the distribution destination setting unit.
適用例1のネットワーク中継装置によれば、マルチキャストパケットの出力先となる物理ポートを備えないパケット処理部に対しては、マルチキャストパケットを配布しないので、パケット処理部における処理能力の浪費を抑制することができる。 According to the network relay device of Application Example 1, since the multicast packet is not distributed to the packet processing unit that does not include the physical port that is the output destination of the multicast packet, the waste of processing capacity in the packet processing unit is suppressed. Can do.
[適用例2]
適用例1に記載のネットワーク中継装置であって、さらに、
前記経路情報に基づいて前記マルチキャストパケットの出力先となる出力ポートを特定し、該出力ポートに前記論理ポートが含まれる場合に、該論理ポートを構成する複数の物理ポートの中から、前記マルチキャストパケットを出力する物理ポートを前記所定の選択処理によって選択し、該選択された物理ポートを備える前記パケット処理部に対して、前記論理ポートを前記マルチキャストパケットの出力ポートとして設定する出力ポート設定部を備え、
前記配布部から前記マルチキャストパケットを受信した前記各パケット処理部は、前記出力ポート設定部によって出力ポートとして設定された前記論理ポートを構成する複数の物理ポートの中から、前記マルチキャストパケットを出力する物理ポートを前記所定の選択処理によって選択し、該選択された物理ポートから前記マルチキャストパケットを出力する
ネットワーク中継装置。
[Application Example 2]
The network relay device according to Application Example 1, further comprising:
An output port that is an output destination of the multicast packet is specified based on the path information, and when the output port includes the logical port, the multicast packet is selected from a plurality of physical ports that constitute the logical port. An output port setting unit that selects a physical port that outputs a packet by the predetermined selection process, and sets the logical port as an output port of the multicast packet for the packet processing unit including the selected physical port. ,
Each packet processing unit that has received the multicast packet from the distributing unit outputs a physical packet that outputs the multicast packet from among a plurality of physical ports that constitute the logical port set as an output port by the output port setting unit. A network relay device that selects a port by the predetermined selection process and outputs the multicast packet from the selected physical port.
適用例2のネットワーク中継装置によれば、マルチキャストパケットを出力しないパケット処理部に対しては、出力ポートとして論理ポートを設定しないので、パケット処理部における処理能力の浪費を抑制することができる。 According to the network relay device of Application Example 2, since a logical port is not set as an output port for a packet processing unit that does not output a multicast packet, waste of processing capacity in the packet processing unit can be suppressed.
[適用例3]
適用例1に記載のネットワーク中継装置であって、さらに、
前記経路情報に基づいて前記マルチキャストパケットの出力先となる出力ポートを特定し、該出力ポートに前記論理ポートが含まれる場合に、該論理ポートを構成する複数の物理ポートの中から、前記マルチキャストパケットを出力する物理ポートを前記所定の選択処理によって選択し、該選択された物理ポートを備える前記パケット処理部に対して、前記物理ポートを前記マルチキャストパケットの出力ポートとして設定する出力ポート設定部を備え、
前記配布部から前記マルチキャストパケットを受信した前記各パケット処理部は、前記出力ポート設定部によって設定された前記物理ポートから前記マルチキャストパケットを出力する
ネットワーク中継装置。
[Application Example 3]
The network relay device according to Application Example 1, further comprising:
An output port that is an output destination of the multicast packet is specified based on the path information, and when the output port includes the logical port, the multicast packet is selected from a plurality of physical ports that constitute the logical port. And an output port setting unit that sets the physical port as an output port of the multicast packet with respect to the packet processing unit including the selected physical port. ,
Each of the packet processing units that received the multicast packet from the distribution unit outputs the multicast packet from the physical port set by the output port setting unit.
適用例3のネットワーク中継装置によれば、パケット処理部における物理ポートの選択処理を省略することができるので、パケット処理部における処理能力の浪費を抑制することができる。 According to the network relay device of the application example 3, since the physical port selection process in the packet processing unit can be omitted, it is possible to suppress the waste of processing capacity in the packet processing unit.
[適用例4]
ネットワーク中継装置であって、
1つ以上の物理ポートを備え、該物理ポートの少なくとも1つを介して外部装置との間でパケットの入出力処理を実行する複数のパケット処理部と、
複数の前記物理ポートを論理的に束ねることによって少なくとも1つの論理ポートを設定する論理ポート設定部と、
経路情報に基づいてマルチキャストパケットの出力先となる出力ポートを特定し、該出力ポートに前記論理ポートが含まれる場合に、該論理ポートを構成する物理ポートを備える全ての前記パケット処理部を、前記マルチキャストパケットの配布先として設定する配布先設定部と、
前記配布先設定部によって設定された前記パケット処理部に対して、前記マルチキャストパケットを配布する配布部と、
前記経路情報に基づいて前記マルチキャストパケットの出力先となる出力ポートを特定し、該出力ポートに前記論理ポートが含まれる場合に、該論理ポートを構成する複数の物理ポートの中から、前記マルチキャストパケットを出力する物理ポートを所定の選択処理によって選択し、該選択された物理ポートを備える前記パケット処理部に対して、前記論理ポートを前記マルチキャストパケットの出力ポートとして設定する出力ポート設定部と
を備え、
前記配布部から前記マルチキャストパケットを受信した前記各パケット処理部は、前記出力ポート設定部によって出力ポートとして設定された前記論理ポートを構成する複数の物理ポートの中から、前記マルチキャストパケットを出力する物理ポートを前記所定の選択処理によって選択し、該選択された物理ポートから前記マルチキャストパケットを出力する
ネットワーク中継装置。
[Application Example 4]
A network relay device,
A plurality of packet processing units including one or more physical ports, and performing packet input / output processing with an external device via at least one of the physical ports;
A logical port setting unit that sets at least one logical port by logically bundling a plurality of the physical ports;
Identifying an output port that is an output destination of a multicast packet based on path information, and when the output port includes the logical port, all the packet processing units including physical ports that constitute the logical port are A distribution destination setting unit configured as a distribution destination of multicast packets;
A distribution unit for distributing the multicast packet to the packet processing unit set by the distribution destination setting unit;
An output port that is an output destination of the multicast packet is specified based on the path information, and when the output port includes the logical port, the multicast packet is selected from a plurality of physical ports that constitute the logical port. An output port setting unit that selects a physical port for outputting the packet by a predetermined selection process, and sets the logical port as an output port of the multicast packet for the packet processing unit including the selected physical port. ,
Each packet processing unit that has received the multicast packet from the distributing unit outputs a physical packet that outputs the multicast packet from among a plurality of physical ports that constitute the logical port set as an output port by the output port setting unit. A network relay device that selects a port by the predetermined selection process and outputs the multicast packet from the selected physical port.
適用例4のネットワーク中継装置によれば、マルチキャストパケットを出力しないパケット処理部に対しては、出力ポートとして論理ポートを設定しないので、パケット処理部における処理能力の浪費を抑制することができる。 According to the network relay device of application example 4, since a logical port is not set as an output port for a packet processing unit that does not output a multicast packet, waste of processing capability in the packet processing unit can be suppressed.
[適用例5]
適用例1ないし4のいずれか一項に記載のネットワーク中継装置であって、
前記所定の選択処理は、前記経路情報から一意に定まる情報に基づいて、前記論理ポートを構成する複数の物理ポートの中から、前記マルチキャストパケットを出力する物理ポートを選択する処理である
ネットワーク中継装置。
[Application Example 5]
The network relay device according to any one of Application Examples 1 to 4,
The predetermined selection process is a process of selecting a physical port that outputs the multicast packet from a plurality of physical ports constituting the logical port based on information uniquely determined from the path information. .
適用例5のネットワーク中継装置によれば、同一の経路情報を有するマルチキャストパケットに対しては、同一の物理ポートを選択することができる。したがって、経路設定時にマルチキャストパケットの配布先となるパケット処理部の設定や、パケット処理部に対する出力ポートの設定を行なっておくことによって、分散処理部200の処理能力の浪費を抑制することができる。
According to the network relay device of Application Example 5, the same physical port can be selected for multicast packets having the same route information. Therefore, waste of processing capacity of the
[適用例6]
適用例5に記載のネットワーク中継装置であって、
前記所定の選択処理は、前記経路情報から一意に定まる情報を用いた所定のハッシュ関数によってハッシュ値を求め、該ハッシュ値に基づいて、前記論理ポートを構成する複数の物理ポートの中から、前記マルチキャストパケットを出力する物理ポートを選択する処理である
ネットワーク中継装置。
[Application Example 6]
A network relay device according to Application Example 5,
In the predetermined selection process, a hash value is obtained by a predetermined hash function using information uniquely determined from the path information, and based on the hash value, the plurality of physical ports constituting the logical port are used to determine the hash value. A network relay device that selects physical ports that output multicast packets.
適用例6のネットワーク中継装置によれば、論理ポートを構成する複数の物理ポートの中から、マルチキャストパケットを出力する物理ポートを偏りなく選択することができる。 According to the network relay device of Application Example 6, it is possible to select a physical port that outputs a multicast packet without any bias from a plurality of physical ports that constitute a logical port.
[適用例7]
適用例5又は6に記載のネットワーク中継装置であって、
前記経路情報から一意に定まる情報は、送信元アドレス情報及び宛先アドレス情報である
ネットワーク中継装置。
[Application Example 7]
The network relay device according to Application Example 5 or 6,
Information uniquely determined from the route information is source address information and destination address information.
適用例7のネットワーク中継装置によれば、低負荷の処理によって、物理ポートを選択することができる。 According to the network relay device of Application Example 7, a physical port can be selected by low-load processing.
なお、本発明は、種々の態様で実現することが可能である。例えば、ネットワーク中継方法および装置、ネットワーク中継システム、それらの方法または装置の機能を実現するための集積回路、コンピュータプログラム、そのコンピュータプログラムを記録した記録媒体等の形態で実現することができる。 Note that the present invention can be realized in various modes. For example, the present invention can be realized in the form of a network relay method and apparatus, a network relay system, an integrated circuit for realizing the functions of the method or apparatus, a computer program, a recording medium on which the computer program is recorded, and the like.
次に、本発明の実施の形態を実施例に基づいて説明する。
A.ネットワーク中継装置10の構成:
B.比較例におけるネットワーク中継装置の動作:
C.実施例におけるネットワーク中継装置の動作:
D.比較例におけるビットマップテーブルTBの設定:
E.実施例におけるビットマップテーブルTBの設定:
F.比較例における出力ポートテーブルTPの設定:
G.実施例における出力ポートテーブルTPの設定:
H.変形例:
Next, embodiments of the present invention will be described based on examples.
A. Configuration of the network relay device 10:
B. Operation of the network relay device in the comparative example:
C. Operation of the network relay device in the embodiment:
D. Setting of the bitmap table TB in the comparative example:
E. Setting of bitmap table TB in the embodiment:
F. Setting the output port table TP in the comparative example:
G. Setting the output port table TP in the embodiment:
H. Variation:
A.ネットワーク中継装置10の構成:
図1は、本発明の一実施例としてのネットワーク中継装置10の全体構成を示す説明図である。本実施例のネットワーク中継装置10は、いわゆるLANスイッチであり、ブリッジ機能やルータ機能を備えるとともに、リンクアグリゲーション機能も備えている。リンクアグリゲーション(link aggregation: LAG)機能とは、複数の物理ポートを束ねて1つの論理ポート(LAGポート)として取り扱うことが可能な機能であり、帯域幅の拡大や冗長性の確保を図ることができる。
A. Configuration of the network relay device 10:
FIG. 1 is an explanatory diagram showing the overall configuration of a
ネットワーク中継装置10は、制御ユニット100と、5つの分散処理部200(DPU#1、#2、#3、#4、#5)と、クロスバスイッチ300とを備えている。5つの分散処理部200には、それぞれ識別番号(#1、#2、#3、#4、#5)が付与されている。なお、本明細書では、ネットワーク中継装置10が5つの分散処理部200を備えているものとして説明するが、分散処理部200の数は5つに限られない。すなわち、ネットワーク中継装置10が備える分散処理部200の数は、4つ以下であってもよく、6つ以上であってもよい。
The
制御ユニット100は、ネットワーク中継装置10の全体制御を行うユニットである。制御ユニット100は、図示していないPCIバス等によって各分散処理部200と接続されており、このPCIバス等経由で各分散処理部200の制御を行う。また、制御ユニット100は、ネットワークによって接続された管理用コンピュータに対して、Webベース等の設定用ユーザインタフェースを提供する。管理者は、このユーザインタフェースを利用することにより、経路に関するテーブルなどの設定を行うことができる。その他、制御ユニット100は、各分散処理部200に対するテーブルの配布やルーティングプロトコルの処理などを行う。
The
各分散処理部200は、それぞれ複数の物理ポート(#1、#2…#N)を備えており、パケットの受信・送信を行う。
Each distributed
クロスバスイッチ300は、制御ユニット100や分散処理部200からの指示に基づいてパケットの中継を行うスイッチである。5つの分散処理部200は、クロスバスイッチ300を介してそれぞれ接続されている。ただし、クロスバスイッチ300以外の接続回路を用いて、各分散処理部を相互に接続してもよい。
The
図2は、分散処理部200の内部構成を示す説明図である。分散処理部200は、受信側処理部210と、送信側処理部220とを備えている。
FIG. 2 is an explanatory diagram showing the internal configuration of the distributed
受信側処理部210は、受信側経路検索部212と、テーブル記憶部214とを備えている。テーブル記憶部214には、ビットマップテーブルTBが格納されている。受信側処理部210が物理ポートからマルチキャストパケットを受信すると、受信側経路検索部212は、当該マルチキャストパケットのヘッダに含まれる送信元アドレス及び宛先アドレス(マルチキャストグループアドレス)をキーとしてビットマップテーブルTBを検索する。ビットマップテーブルTBには、後述するように、どの分散処理部200が当該マルチキャストパケットの送信先であるのかを識別するためのビットマップが記憶されている。受信側経路検索部212は、該検索によりキーに対応するビットマップを取得し、受信したパケットをクロスバスイッチ300に送信する。なお、受信側経路検索部212がビットマップテーブルTBに従って、当該マルチキャストパケットを各分散処理部200に対して1対1で複数回送信してもよく、クロスバスイッチ300がビットマップテーブルTBに従って、当該マルチキャストパケットを各分散処理部200に対して1対N(Nは、送信先となる分散処理部200の数)で一度に送信してもよい。
The reception
受信側処理部210がユニキャストパケットを受信した場合には、受信側経路検索部212は、ビットマップテーブルTBを参照することなく経路検索を行い、当該ユニキャストパケットの出力先となる出力ポートを参照し、クロスバスイッチ300を介して該出力ポートを備える分散処理部200に当該ユニキャストパケットを送信する。なお、後述するように、ビットマップテーブルTBは、制御ユニット100によって設定される。
When the reception
送信側処理部220は、送信側経路検索部222と、テーブル記憶部226とを備えている。送信側経路検索部222は、出力ポート検索部223と、物理ポート選択部224とを備えている。テーブル記憶部226には、出力ポートテーブルTPと、リンクアグリゲーションテーブルTL(LAGテーブルTL)とが格納されている。
The transmission
送信側処理部220がクロスバスイッチ300からマルチキャストパケットを受信すると、出力ポート検索部223は、出力ポートテーブルTPを参照して、出力ポートのリストを取得する。出力ポートのリストの中に、LAGポートが含まれている場合には、物理ポート選択部224は、LAGテーブルTLを参照し、当該LAGポートに関連付けられた物理ポートの中から、1つの物理ポートを選択する。
When the
送信側処理部220は、出力ポートのリストから得られた物理ポート及び物理ポート選択部224によって選択された物理ポートから、マルチキャストパケットを送信する。なお、後述するように、各分散処理部200は、それぞれ内容が異なる出力ポートテーブルTPを格納している。なお、それぞれの出力ポートテーブルTPは、制御ユニット100によって設定される。
The transmission
図3は、制御ユニット100の内部構成を示す説明図である。制御ユニット100は、制御部105と、ビットマップテーブル設定部110と、出力ポートテーブル設定部120と、テーブル記憶部130とを備えている。制御部105は、ネットワーク中継装置10の全体の制御や経路設定を行なっている。テーブル記憶部130は、マルチキャスト経路テーブルTMと、論理インターフェース変換テーブルTCと、LAGテーブルTLとを格納している。これらのテーブルの内容については後に詳述する。なお、テーブル記憶部130に格納されたLAGテーブルTLと、テーブル記憶部226(図2)に格納されたLAGテーブルTLとは同期しており、同じ内容となっている。
FIG. 3 is an explanatory diagram showing the internal configuration of the
ビットマップテーブル設定部110は、テーブル記憶部130に格納された3つのテーブルを用いて、ビットマップテーブルTB(図2)の設定及び更新を行う。出力ポートテーブル設定部120は、テーブル記憶部130に格納された3つのテーブルを用いて、出力ポートテーブルTP(図2)の設定及び更新を行なう。
The bitmap
B.比較例におけるネットワーク中継装置の動作:
まず、比較例におけるネットワーク中継装置10の動作を説明する。
B. Operation of the network relay device in the comparative example:
First, the operation of the
図4は、比較例におけるネットワーク中継装置10の動作を示す説明図である。この図4は、分散処理部DPU#1の物理ポート#1からマルチキャストパケットを受信した場合における動作を示している。分散処理部DPU#1の受信側経路検索部212(図2)は、物理ポート#1からマルチキャストパケットを受信すると、該マルチキャストパケットのヘッダに含まれる送信元アドレス及び宛先アドレス(マルチキャストグループアドレス)をキーとして、ビットマップテーブルTBを検索する。
FIG. 4 is an explanatory diagram showing the operation of the
図5は、比較例におけるビットマップテーブルTBを示す説明図である。このビットマップテーブルTBは、受信したマルチキャストパケットのヘッダに含まれる送信元アドレス及び宛先アドレス(マルチキャストグループアドレス)をキーとして、マルチキャストパケットの送信先となる分散処理部を検索するためのテーブルである。ビットマップテーブルTBのうち、分散処理部200の識別番号に対応する欄に「1」が格納されていれば、その分散処理部に対してマルチキャストパケットを送信することを意味する。一方、ビットマップテーブルTBのうち、分散処理部200の識別番号に対応する欄に「0」が格納されていれば、その分散処理部に対してはマルチキャストパケットを送信しないことを意味する。
FIG. 5 is an explanatory diagram showing a bitmap table TB in the comparative example. The bitmap table TB is a table for searching for a distributed processing unit that is a transmission destination of a multicast packet, using a transmission source address and a destination address (multicast group address) included in the header of the received multicast packet as keys. If “1” is stored in the column corresponding to the identification number of the distributed
以下では、比較例におけるネットワーク中継装置10が、送信元アドレスがSA1、宛先アドレスがGA1であるマルチキャストパケットを受信した場合について説明する。すなわち、この比較例においては、分散処理部DPU#1が受信したマルチキャストパケットは、クロスバスイッチ300を介して4つの分散処理部(DPU#2、DPU#3、DPU#4、DPU#5)に対して送信される。
Hereinafter, a case will be described in which the
なお、この比較例におけるビットマップテーブルTBは、分散処理部DPU#3に対してもマルチキャストパケットが送信されるように設定されている点が、後述する実施例におけるビットマップテーブルTBとは異なる。すなわち、実施例におけるビットマップテーブルTBは、分散処理部DPU#3に対してはマルチキャストパケットが送信されないように設定されている。また、ビットマップテーブルTBは、経路設定時にビットマップテーブル設定部110(図3)によって設定されるが、この設定方法については後述する。
The bitmap table TB in this comparative example is different from the bitmap table TB in the embodiment described later in that the multicast packet is set to be transmitted to the distributed processing
分散処理部DPU#1からマルチキャストパケットを受信したクロスバスイッチ300は、ビットマップテーブルTBに従い、4つの分散処理部(DPU#2、DPU#3、DPU#4、DPU#5)に対してマルチキャストパケットを送信する(図4参照)。マルチキャストパケットを受信した4つの分散処理部(DPU#2、DPU#3、DPU#4、DPU#5)におけるそれぞれの送信側経路検索部222は、受信したマルチキャストパケットのヘッダに含まれる送信元アドレス及び宛先アドレス(マルチキャストグループアドレス)をキーとして、それぞれのテーブル記憶部226に格納されている出力ポートテーブルTPを参照する。
The
図6は、比較例における出力ポートテーブルTPを示す説明図である。出力ポートテーブルTPは、5つの分散処理部200に対してそれぞれ用意される。出力ポートテーブルTPは、受信したマルチキャストパケットのヘッダに含まれる送信元アドレス及び宛先アドレス(マルチキャストグループアドレス)をキーとして、マルチキャストパケットの出力先となる出力ポートを検索するためのテーブルである。出力ポートの欄に示す「1/1」は、分散処理部DPU#1の物理ポート#1を意味しており、「2/1」は、分散処理部DPU#2の物理ポート#1を意味している。「LAG3」は、3番目のリンクアグリゲーションポート(LAGポート#3)を意味している。以下で説明するテーブルにおいても同様である。上述したように、LAGポートは、複数の物理ポートが関連付けられて、1つのポートとして扱われる。
FIG. 6 is an explanatory diagram showing the output port table TP in the comparative example. The output port table TP is prepared for each of the five distributed
なお、この比較例は、分散処理部DPU#3の出力ポートテーブルTP#3及び分散処理部DPU#5の出力ポートテーブルTP#5に対しても「LAG4」が設定されている点が、後述する実施例とは異なる。すなわち、実施例では、分散処理部DPU#3の出力ポートテーブルTP#3及び分散処理部DPU#5の出力ポートテーブルTP#5に対して「LAG4」は設定されていない。また、出力ポートテーブルTPは、経路決定時に出力ポートテーブル設定部120(図3)によって設定されるが、この設定方法については後述する。
In this comparative example, “LAG4” is also set for the output port
分散処理部DPU#2の送信側経路検索部222は、送信元アドレスSA1及び宛先アドレスGA1をキーとして、自身のテーブル記憶部226が格納する出力ポートテーブルTP#2を検索し、出力ポートのリスト(物理ポート2/1、LAGポート#3)を取得する。
The transmission side
分散処理部DPU#3の送信側経路検索部222は、送信元アドレスSA1及び宛先アドレスGA1をキーとして、自身のテーブル記憶部226に格納された出力ポートテーブルTP#3を検索し、出力ポートのリスト(LAGポート#4)を取得する。
The transmission side
分散処理部DPU#4の送信側経路検索部222は、送信元アドレスSA1及び宛先アドレスGA1をキーとして、自身のテーブル記憶部226に格納された出力ポートテーブルTP#4を検索し、出力ポートのリスト(LAGポート#4)を取得する。
The transmission side
分散処理部DPU#5の送信側経路検索部222は、送信元アドレスSA1及び宛先アドレスGA1をキーとして、自身のテーブル記憶部226に格納された出力ポートテーブルTP#5を検索し、出力ポートのリスト(物理ポート5/2、LAGポート#4)を取得する。
The transmission side
次に、取得した出力ポートのリストの中にLAGポートが含まれる場合には、各分散処理部200における物理ポート選択部224は、以下に説明するLAGテーブルTLを参照する。
Next, when a LAG port is included in the obtained output port list, the physical
図7は、LAGテーブルTLを示す説明図である。LAGテーブルTLは、1つのLAGポートに対して複数の物理ポートを関連付けるためのテーブルである。なお、後述する実施例において用いられるLAGテーブルTLは、この図7に示すものと同じである。換言すれば、後述する実施例と比較例との違いは、ビットマップテーブルTB及び出力ポートテーブルTPの内容と、ビットマップテーブルTB及び出力ポートテーブルTPの設定方法だけである。 FIG. 7 is an explanatory diagram showing the LAG table TL. The LAG table TL is a table for associating a plurality of physical ports with one LAG port. Note that the LAG table TL used in an embodiment described later is the same as that shown in FIG. In other words, the only difference between the embodiment described later and the comparative example is the contents of the bitmap table TB and the output port table TP, and the setting method of the bitmap table TB and the output port table TP.
物理ポート選択部224(図2)は、LAGテーブルTLを参照し、LAGポートに関連付けられた複数の物理ポートの中から、1つの物理ポートを選択する。以下では、この物理ポートの選択を「LAG処理」とも呼ぶ。LAG処理は、以下の手順により行なわれる。 The physical port selection unit 224 (FIG. 2) refers to the LAG table TL and selects one physical port from among a plurality of physical ports associated with the LAG port. Hereinafter, this physical port selection is also referred to as “LAG processing”. The LAG process is performed according to the following procedure.
(1)送信元アドレスと宛先アドレスとを8ビットずつに区切り、それぞれを加算する。ただし、桁上がりは無視する。
(2)得られた加算値に対してビット逆順操作を行い、ハッシュ値とする。ハッシュ値の取り得る範囲は、0〜255である。なお、ビット逆順操作とは、対象となるデータのビットの並び順を逆にする操作である。
(3)得られたハッシュ値を用いて以下の式(1)に示す演算を行い、エントリ番号を算出する。ただし、計算結果の小数点以下は切り捨てる。
エントリ番号=((ハッシュ値)×(パス数))/256 …(1)
ここで、パス数は、当該LAGポートを構成する物理ポートの数を意味する。また、エントリ番号が取り得る値は、例えば当該LAGポートを構成する物理ポートの数(パス数)が3つの場合には、0、1、2の3種類となる。
(4)当該LAGポート及びエントリ番号をキーとしてLAGテーブルTLを検索し、物理ポートを選択する。
このようにすれば、LAGポートを構成する複数の物理ポートの中から、偏りなく物理ポートを選択することができる。具体的には、各物理ポート選択部224は、以下のようにLAG処理を行なう。
(1) The source address and the destination address are divided into 8 bits, and each is added. However, carry is ignored.
(2) A bit reverse operation is performed on the obtained addition value to obtain a hash value. A possible range of the hash value is 0 to 255. The bit reverse order operation is an operation for reversing the bit order of the target data.
(3) The operation shown in the following formula (1) is performed using the obtained hash value to calculate the entry number. However, the decimal part of the calculation result is rounded down.
Entry number = ((hash value) × (number of paths)) / 256 (1)
Here, the number of paths means the number of physical ports constituting the LAG port. In addition, for example, when the number of physical ports constituting the LAG port (the number of paths) is 3, there are three possible values for the entry number: 0, 1, and 2.
(4) The LAG table TL is searched using the LAG port and entry number as a key, and a physical port is selected.
In this way, it is possible to select a physical port without any bias from a plurality of physical ports constituting the LAG port. Specifically, each physical
分散処理部DPU#2の物理ポート選択部224は、送信元アドレスSA1及び宛先アドレスGA1に基づいてハッシュ値を求めるとともに、このハッシュ値とLAGポート#3のパス数「2」を用いて、エントリ番号「0」を算出する。そして、分散処理部DPU#2の物理ポート選択部224は、LAGポート#3及びエントリ番号「0」をキーとしてLAGテーブルTLを参照し、LAGポート#3に関連付けられた2つの物理ポート(2/2、2/3)の中から、エントリ番号「0」に対応する物理ポート2/2を選択する(図4参照)。
The physical
分散処理部DPU#3の物理ポート選択部224は、送信元アドレスSA1及び宛先アドレスGA1に基づいてハッシュ値を求めるとともに、このハッシュ値とLAGポート#4のパス数「3」を用いて、エントリ番号「1」を算出する。そして、分散処理部DPU#3の物理ポート選択部224は、LAGポート#4及びエントリ番号「1」をキーとしてLAGテーブルTLを参照し、LAGポート#4に関連付けられた3つの物理ポート(3/1、4/1、5/1)の中から、エントリ番号「1」に対応する物理ポート4/1を選択する。
The physical
分散処理部DPU#4及び分散処理部DPU#5は、分散処理部DPU#3と同様に、LAGポート#4に関連付けられた3つの物理ポートの中から、エントリ番号「1」に対応する物理ポート4/1を選択する。すなわち、各分散処理部200は、それぞれ同じLAG処理を行なっているため、同一のLAGポートに対しては、同一の物理ポートを選択することになる。
The distributed processing
出力ポートテーブルTPの参照及びLAG処理により、各分散処理部200は、以下に示す物理ポートからパケットを出力しようとする。
分散処理部DPU#2:物理ポート2/1、物理ポート2/2
分散処理部DPU#3:物理ポート4/1
分散処理部DPU#4:物理ポート4/1
分散処理部DPU#5:物理ポート4/1、物理ポート5/2
By referring to the output port table TP and LAG processing, each distributed
Distributed processing unit DPU # 2:
Distributed processing unit DPU # 3:
Distributed processing unit DPU # 4:
Distributed processing unit DPU # 5:
ここで、各分散処理部200は、パケットを出力しようとする物理ポートを自身が備えているか否かを判定する。各分散処理部200は、パケットを出力しようとする物理ポートを備えていれば、当該物理ポートからそのパケットを出力し、パケットを出力しようとする物理ポートを備えていなければ、そのパケットを廃棄する。
Here, each distributed
この比較例では、分散処理部DPU#3は、物理ポート4/1を備えていないため、物理ポート4/1から出力するために用意されたパケットを廃棄する。同様に、分散処理部DPU#5は、物理ポート4/1を備えていないため、物理ポート4/1から出力するために用意されたパケットを廃棄する(図4参照)。
In this comparative example, since the distributed processing
以上より、この比較例においては、以下の4つの物理ポートからマルチキャストパケットが出力される(図4参照)。
(1)分散処理部DPU#2の物理ポート#1(物理ポート2/1);
(2)分散処理部DPU#2の物理ポート#2(物理ポート2/2);
(3)分散処理部DPU#4の物理ポート#1(物理ポート4/1);
(4)分散処理部DPU#5の物理ポート#2(物理ポート5/2);
As described above, in this comparative example, multicast packets are output from the following four physical ports (see FIG. 4).
(1) Physical port # 1 (
(2) Physical port # 2 (
(3) Physical port # 1 (
(4) Physical port # 2 (
したがって、分散処理部DPU#3は、最終的にパケットを出力せずに廃棄するにもかかわらず、図4の破線H1で囲んだ一連の処理を行い、その処理能力を浪費している。同様に、分散処理部DPU#5は、物理ポート4/1から出力するためのパケットを廃棄するにもかかわらず、図4の破線H2で囲んだLAGポート#4に対するLAG処理を行ない、その処理能力を浪費している。
Accordingly, the distributed processing
これに対して以下で説明する実施例では、図4の破線H1、H2で囲んだ処理の発生は抑制され、各分散処理部200の処理能力の浪費は抑制される。
On the other hand, in the embodiment described below, the generation of processing surrounded by the broken lines H1 and H2 in FIG. 4 is suppressed, and the waste of processing capacity of each distributed
C.実施例におけるネットワーク中継装置の動作:
図8は、実施例におけるネットワーク中継装置10の動作を示す説明図である。この図8は、図4に示した比較例と同様に、ネットワーク中継装置10が、送信元アドレスがSA1、宛先アドレスがGA1であるマルチキャストパケットを、分散処理部DPU#1の物理ポート#1から受信した場合における動作を示している。
C. Operation of the network relay device in the embodiment:
FIG. 8 is an explanatory diagram illustrating the operation of the
本実施例は、以下の点において、図4に示した比較例と異なる。
相違点1:分散処理部DPU#3に対しては、マルチキャストパケットが送信されていない点
相違点2:分散処理部DPU#5においては、LAG処理が行なわれていない点
相違点1が生じる理由は、実施例と比較例とにおいて、次に説明するビットマップテーブルTBが異なっているからである。相違点2が生じる理由は、実施例と比較例とにおいて、後述する出力ポートテーブルTPが異なっているからである。
The present embodiment differs from the comparative example shown in FIG. 4 in the following points.
Difference 1: A multicast packet is not transmitted to the distributed processing
図9は、実施例におけるビットマップテーブルTBを示す説明図である。上述したように、本実施例におけるビットマップテーブルTBでは、送信元アドレスSA1及び宛先アドレスGA1をキーとする分散処理部DPU#3の識別番号に対応する欄には、「0」が格納されている。すなわち、本実施例では、マルチキャストパケットは、分散処理部DPU#3には送信されない(図8参照)。
FIG. 9 is an explanatory diagram illustrating a bitmap table TB according to the embodiment. As described above, in the bitmap table TB in this embodiment, “0” is stored in the column corresponding to the identification number of the distributed processing
以上より、本実施例によれば、図4の破線H1で囲んだ分散処理部DPU#3における処理の発生を抑制し、分散処理部DPU#3の処理能力の浪費を抑制することができる。実施例におけるビットマップテーブルTBの設定方法については、後述する。
As described above, according to the present embodiment, it is possible to suppress the occurrence of processing in the distributed processing
図10は、実施例における出力ポートテーブルTPを示す説明図である。上述したように、本実施例における出力ポートテーブルTPでは、分散処理部DPU#3の出力ポートテーブルTP#3及び分散処理部DPU#5の出力ポートテーブルTP#5に対して「LAG4」は設定されていない。すなわち、本実施例では、分散処理部DPU#5においてLAG処理は発生しないことになる(図8参照)。また、たとえマルチキャストパケットが分散処理部DPU#3に送信されていたとしても、分散処理部DPU#3においてLAG処理は発生しないことになる。
FIG. 10 is an explanatory diagram illustrating the output port table TP in the embodiment. As described above, in the output port table TP in the present embodiment, “LAG4” is set for the output port
以上より、本実施例によれば、図4の破線H2で囲んだ分散処理部DPU#5におけるLAG処理の発生を抑制し、分散処理部DPU#5の処理能力の浪費を抑制することができる。実施例における出力ポートテーブルTPの設定方法については、後述する。
As described above, according to the present embodiment, it is possible to suppress the occurrence of the LAG processing in the distributed processing
D.比較例におけるビットマップテーブルTBの設定:
図11は、比較例におけるビットマップテーブルTBの設定処理を示すフローチャートである。ステップS10では、ビットマップテーブル設定部110(図3)は、ビットマップテーブルTBを用意し、初期化を行なう。ステップS20では、ビットマップテーブル設定部110は、テーブル記憶部130に記憶されているマルチキャスト経路テーブルTMを参照する。
D. Setting of the bitmap table TB in the comparative example:
FIG. 11 is a flowchart showing the setting process of the bitmap table TB in the comparative example. In step S10, the bitmap table setting unit 110 (FIG. 3) prepares a bitmap table TB and performs initialization. In step S20, the bitmap
図12は、マルチキャスト経路テーブルTMを示す説明図である。マルチキャスト経路テーブルTMには、経路情報としての送信元アドレス及び宛先アドレスの組み合わせに対して、複数の論理インターフェースが格納されている。すなわち、図11のステップS20では、ビットマップテーブル設定部110は、送信元アドレス及び宛先アドレスをキーとしてマルチキャスト経路テーブルTMを検索し、対応する論理インターフェースのリストを取得する。
FIG. 12 is an explanatory diagram showing the multicast route table TM. In the multicast route table TM, a plurality of logical interfaces are stored for combinations of a source address and a destination address as route information. That is, in step S20 of FIG. 11, the bitmap
具体的には、ビットマップテーブル設定部110が、送信元アドレスSA1及び宛先アドレスGA1をキーとしてマルチキャスト経路テーブルTMを検索した場合には、4つの論理インターフェース(VLAN2、VLAN3、VLAN4、VLAN5)のリストを取得する。なお、後述する実施例において用いられるマルチキャスト経路テーブルTMは、この図12に示すものと同じである。
Specifically, when the bitmap
ステップS30では、ビットマップテーブル設定部110は、論理インターフェース変換テーブルTCを参照する。
In step S30, the bitmap
図13は、論理インターフェース変換テーブルTCを示す説明図である。論理インターフェース変換テーブルTCは、論理インターフェースをキーとして、対応する出力ポート(LAGポート及び物理ポート)を検索するためのテーブルである。すなわち、図11のステップS30では、ビットマップテーブル設定部110は、リストとして取得した全ての論理インターフェースをキーとして論理インターフェース変換テーブルTCを検索し、対応する全ての出力ポートのリストを取得する。
FIG. 13 is an explanatory diagram showing the logical interface conversion table TC. The logical interface conversion table TC is a table for searching for corresponding output ports (LAG ports and physical ports) using the logical interface as a key. That is, in step S30 in FIG. 11, the bitmap
具体的には、ビットマップテーブル設定部110が、上述した4つの論理インターフェース(VLAN2、VLAN3、VLAN4、VLAN5)をキーとして論理インターフェース変換テーブルTCを検索した場合には、4つの出力ポート(物理ポート2/1、LAGポート#3、LAGポート#4、物理ポート5/2)のリストを取得する。なお、後述する実施例において用いられる論理インターフェース変換テーブルTCは、この図13に示すものと同じである。
Specifically, when the bitmap
ステップS40では、ビットマップテーブル設定部110は、出力ポートがLAGポートであるか否かを判断する。出力ポートがLAGポートであった場合(ステップS40:Yes)には、ステップS50Xにおいて、ビットマップテーブル設定部110は、LAGポートをキーとしてLAGテーブルTL(図7)を検索し、当該LAGポートに属する全ての物理ポートのリストを取得する。
In step S40, the bitmap
具体的には、LAGポート#3に属する物理ポートは、2つ(物理ポート2/2、物理ポート2/3)であり、LAGポート#4に属する物理ポートは、3つ(物理ポート3/1、物理ポート4/1、物理ポート5/1)である。
Specifically, there are two physical ports belonging to LAG port # 3 (
ステップS60Xでは、ビットマップテーブル設定部110は、取得したリストにおける物理ポートが属する分散処理部200の識別番号に対応する全てのビットマップを、「1」に設定する。
In step S60X, the bitmap
具体的には、物理ポート2/2は、分散処理部DPU#2に属しているため、ビットマップテーブル設定部110は、分散処理部DPU#2の識別番号に対応するビットマップを「1」に設定する。ビットマップテーブル設定部110は、このようなビットマップの設定を、取得したリストにおける全ての物理ポートについて行なう。すなわち、LAGポート#4に属する物理ポート3/1は、分散処理部DPU#3に属しているため、比較例におけるビットマップテーブル設定部110は、分散処理部DPU#3の識別番号に対応するビットマップも「1」に設定することになる。
Specifically, since the
ステップS40において、出力ポートが物理ポートであった場合(ステップS40:No)には、ビットマップテーブル設定部110は、当該物理ポートが属する分散処理部200の識別番号に対応するビットマップを「1」に設定する(ステップS62)。
In step S40, when the output port is a physical port (step S40: No), the bitmap
具体的には、物理ポート2/1は、分散処理部DPU#2に属しているため、ビットマップテーブル設定部110は、分散処理部DPU#2の識別番号に対応するビットマップを「1」に設定する。同様に、物理ポート5/2は、分散処理部DPU#5に属しているため、ビットマップテーブル設定部110は、分散処理部DPU#5の識別番号に対応するビットマップを「1」に設定する。
Specifically, since the
ステップS70では、ビットマップテーブル設定部110は、取得したリストの全ての出力ポートに対してステップS40からステップS60X(またはステップS62)までの処理を行なったか否かを判定する。
In step S70, the bitmap
全ての出力ポートに対して処理を行なっていない場合(ステップS70:No)には、ビットマップテーブル設定部110は、取得したリスト中の次の出力ポートを指定して、再びステップS40に戻る。次の出力ポートの指定は、取得したリスト中の出力ポートに連続番号を付与しておき、その連続番号を順番に指定することにより行なわれる。すなわち、取得したリストの全ての出力ポートに対して、ステップS40からステップS60X(またはステップS62)までの処理が行なわれるように、ループ処理が行なわれる。
If processing has not been performed for all output ports (step S70: No), the bitmap
取得したリストの全ての出力ポートに対して、ステップS40からステップS60までの処理が行なわれた場合(ステップS70:Yes)には、ビットマップテーブル設定部110は、全ての経路情報に対してステップS20からステップS70までの処理を行なったか否かを判定する(ステップS80)。
When the processing from step S40 to step S60 is performed for all the output ports of the acquired list (step S70: Yes), the bitmap
全ての経路情報に対して処理を行なっていない場合(ステップS80:No)には、ビットマップテーブル設定部110は、マルチキャスト経路テーブルTM(図12)中の次の経路情報を指定して、再びステップS20に戻る。すなわち、全ての経路情報に対して、ステップS20からステップS70までの処理が行なわれるように、ループ処理が行なわれる。
If all the route information has not been processed (step S80: No), the bitmap
全ての経路情報に対して、ステップS20からステップS70までの処理が行なわれた場合(ステップS80:Yes)には、ビットマップテーブル設定部110は、設定したビットマップテーブルTBを全て(5つ)の分散処理部200に設定する(ステップS90)。
When the processing from step S20 to step S70 is performed for all the route information (step S80: Yes), the bitmap
以上説明した方法により、比較例におけるビットマップテーブルTB(図5)が設定される。このように、比較例では、分散処理部DPU#3に対してもマルチキャストパケットが送信されることになるため、分散処理部DPU#3において処理能力の浪費が発生することになる。
The bitmap table TB (FIG. 5) in the comparative example is set by the method described above. Thus, in the comparative example, since the multicast packet is transmitted also to the distributed processing
E.実施例におけるビットマップテーブルTBの設定:
図14は、実施例におけるビットマップテーブルTBの設定処理を示すフローチャートである。実施例におけるビットマップテーブルTBの設定処理のうち、比較例におけるビットマップテーブルTBの設定処理と異なる部分は、ステップS50とステップS60における処理であり、その他の処理は同じである。したがって、ステップS10〜ステップS30までの処理については、説明を省略する。
E. Setting of bitmap table TB in the embodiment:
FIG. 14 is a flowchart illustrating the setting process of the bitmap table TB in the embodiment. Of the setting process of the bitmap table TB in the embodiment, the part different from the setting process of the bitmap table TB in the comparative example is the process in step S50 and step S60, and the other processes are the same. Therefore, description of the processing from step S10 to step S30 is omitted.
ステップS40では、ビットマップテーブル設定部110は、出力ポートがLAGポートであるか否かを判断する。出力ポートがLAGポートであった場合(ステップS40:Yes)には、ステップS50において、ビットマップテーブル設定部110は、上述した物理ポート選択部224が行なうLAG処理と同じLAG処理を行なって、LAGポートに属する複数の物理ポートの中から1つの物理ポートを選択する。
In step S40, the bitmap
すなわち、ビットマップテーブル設定部110は、まず、送信元アドレスと宛先アドレスとに基づいてハッシュ値を求め、上記式(1)を用いてエントリ番号を算出する(ステップS52)。
That is, the bitmap
具体的には、ビットマップテーブル設定部110がLAGポート#3に対して算出するエントリ番号は、物理ポート選択部224が算出するエントリ番号と同じく、「0」となる。同様に、ビットマップテーブル設定部110がLAGポート#4に対して算出するエントリ番号は、物理ポート選択部224が算出するエントリ番号と同じく、「1」となる。
Specifically, the entry number calculated for the
次に、ビットマップテーブル設定部110は、LAGポート及びエントリ番号をキーとして、テーブル記憶部130に格納されたLAGテーブルTL(図7)を検索し、対応する物理ポートを選択する(ステップS54)。
Next, the bitmap
具体的には、ビットマップテーブル設定部110は、LAGポート#3に関連付けられた2つの物理ポートの中から、エントリ番号「0」に対応する物理ポート2/2を選択する。同様に、ビットマップテーブル設定部110は、LAGポート#4に関連付けられた3つの物理ポートの中から、エントリ番号「1」に対応する物理ポート4/1を選択する。すなわち、ビットマップテーブル設定部110は、上述した物理ポート選択部224がLAGポートの中から選択する物理ポートと同じ物理ポートを選択する。
Specifically, the bitmap
ステップS60では、ビットマップテーブル設定部110は、選択された物理ポートが属する分散処理部200の識別番号に対応するビットマップを、「1」に設定する。
In step S60, the bitmap
具体的には、物理ポート2/2は、分散処理部DPU#2に属しているため、ビットマップテーブル設定部110は、分散処理部DPU#2の識別番号に対応するビットマップを「1」に設定する。同様に、物理ポート4/1は、分散処理部DPU#4に属しているため、ビットマップテーブル設定部110は、分散処理部DPU#4の識別番号に対応するビットマップを「1」に設定する。すなわち、本実施例においては、分散処理部DPU#3の識別番号に対応するビットマップは「0」に設定されたままとなる。
Specifically, since the
ステップS40において、出力ポートが物理ポートであった場合(ステップS40:No)には、ビットマップテーブル設定部110は、当該物理ポートが属する分散処理部200の識別番号に対応するビットマップを「1」に設定する(ステップS62)。
In step S40, when the output port is a physical port (step S40: No), the bitmap
具体的には、物理ポート2/1は、分散処理部DPU#2に属しているため、ビットマップテーブル設定部110は、分散処理部DPU#2の識別番号に対応するビットマップを「1」に設定する。同様に、物理ポート5/2は、分散処理部DPU#5に属しているため、ビットマップテーブル設定部110は、分散処理部DPU#5の識別番号に対応するビットマップを「1」に設定する。
Specifically, since the
ステップS70以降の処理は、比較例におけるビットマップテーブルTBの設定処理(図11)と同じであるため、説明を省略する。 Since the processing after step S70 is the same as the setting processing (FIG. 11) of the bitmap table TB in the comparative example, description thereof is omitted.
以上説明した方法により、実施例におけるビットマップテーブルTB(図9)が設定される。このように、本実施例によれば、分散処理部DPU#3に対してマルチキャストパケットが送信されないことになるので(図8参照)、分散処理部DPU#3における処理能力の浪費を抑制することができる。
The bitmap table TB (FIG. 9) in the embodiment is set by the method described above. Thus, according to the present embodiment, multicast packets are not transmitted to the distributed processing unit DPU # 3 (see FIG. 8), so that waste of processing capacity in the distributed processing
F.比較例における出力ポートテーブルTPの設定:
図15は、比較例における出力ポートテーブルTPの設定処理を示すフローチャートである。ステップS210では、出力ポートテーブル設定部120(図3)は、出力ポートテーブルTPを分散処理部200の個数分用意し、初期化を行なう。ステップS220では、出力ポートテーブル設定部120は、送信元アドレス及び宛先アドレスをキーとしてマルチキャスト経路テーブルTMを検索し、対応する論理インターフェースのリストを取得する。
F. Setting the output port table TP in the comparative example:
FIG. 15 is a flowchart showing the setting process of the output port table TP in the comparative example. In step S210, the output port table setting unit 120 (FIG. 3) prepares the output port tables TP for the number of the distributed
具体的には、出力ポートテーブル設定部120が、送信元アドレスSA1及び宛先アドレスGA1をキーとしてマルチキャスト経路テーブルTMを検索した場合には、4つの論理インターフェース(VLAN2、VLAN3、VLAN4、VLAN5)のリストを取得する。
Specifically, when the output port
ステップS230では、出力ポートテーブル設定部120は、リストとして取得した全ての論理インターフェースをキーとして論理インターフェース変換テーブルTC(図13)を検索し、対応する全ての出力ポートのリストを取得する。
In step S230, the output port
具体的には、出力ポートテーブル設定部120が、上述した4つの論理インターフェース(VLAN2、VLAN3、VLAN4、VLAN5)をキーとして論理インターフェース変換テーブルTCを検索した場合には、4つの出力ポート(物理ポート2/1、LAGポート#3、LAGポート#4、物理ポート5/2)のリストを取得する。
Specifically, when the output port
ステップS240では、出力ポートテーブル設定部120は、出力ポートがLAGポートであるか否かを判断する。出力ポートがLAGポートであった場合(ステップS240:Yes)には、ステップS250Xにおいて、出力ポートテーブル設定部120は、LAGポートをキーとしてLAGテーブルTL(図7)を検索し、当該LAGポートに属する全ての物理ポートのリストを取得する。
In step S240, the output port
具体的には、LAGポート#3に属する物理ポートは、2つ(物理ポート2/2、物理ポート2/3)であり、LAGポート#4に属する物理ポートは、3つ(物理ポート3/1、物理ポート4/1、物理ポート5/1)である。
Specifically, there are two physical ports belonging to LAG port # 3 (
ステップS260Xでは、出力ポートテーブル設定部120は、取得したリストにおける物理ポートが属する全ての分散処理部200の出力ポートテーブルTPに、当該LAGポートを設定する。
In step S260X, the output port
具体的には、LAGポート#3に属する物理ポート2/2は、分散処理部DPU#2に属しているため、出力ポートテーブル設定部120は、分散処理部DPU#2の出力ポートテーブルTP#2に、LAGポート#3を設定する。同様にして、LAGポート#3に属する物理ポート2/3は、分散処理部DPU#2に属しているため、出力ポートテーブル設定部120は、分散処理部DPU#2の出力ポートテーブルTP#2に、LAGポート#3を設定する。ただし、この場合には、既に分散処理部DPU#2の出力ポートテーブルTP#2にはLAGポート#3が設定されているため、LAGポート#3を二重に設定することは行なわない。
Specifically, since the
同様にして、出力ポートテーブル設定部120は、LAGポート#4を、分散処理部DPU#3の出力ポートテーブルTP#3と、分散処理部DPU#4の出力ポートテーブルTP#4と、分散処理部DPU#5の出力ポートテーブルTP#5とに設定する(図6参照)。
Similarly, the output port
ステップS240において、出力ポートが物理ポートであった場合(ステップS240:No)には、出力ポートテーブル設定部120は、当該物理ポートが属する分散処理部200の出力ポートテーブルTPに、当該物理ポートを設定する。(ステップS262)。
In step S240, when the output port is a physical port (step S240: No), the output port
具体的には、物理ポート2/1は、分散処理部DPU#2に属しているため、出力ポートテーブル設定部120は、分散処理部DPU#2の出力ポートテーブルTP#2に対して物理ポート2/1を設定する。同様に、物理ポート5/2は、分散処理部DPU#5に属しているため、出力ポートテーブル設定部120は、分散処理部DPU#5の出力ポートテーブルTP#5に対して物理ポート5/2を設定する。
Specifically, since the
ステップS270では、出力ポートテーブル設定部120は、取得したリストの全ての出力ポートに対してステップS240からステップS260X(またはステップS262)までの処理を行なったか否かを判定する。
In step S270, the output port
全ての出力ポートに対して処理を行なっていない場合(ステップS270:No)には、出力ポートテーブル設定部120は、取得したリスト中の次の出力ポートを指定して、再びステップS240に戻る。次の出力ポートの指定は、取得したリスト中の出力ポートに連続番号を付与しておき、その連続番号を順番に指定することにより行なわれる。すなわち、取得したリストの全ての出力ポートに対して、ステップS240からステップS260X(またはステップS262)までの処理が行なわれるように、ループ処理が行なわれる。
If processing has not been performed for all output ports (step S270: No), the output port
取得したリストの全ての出力ポートに対して、ステップS240からステップS260X(またはステップS262)までの処理が行なわれた場合(ステップS270:Yes)には、出力ポートテーブル設定部120は、全ての経路情報に対してステップS220からステップS270までの処理を行なったか否かを判定する(ステップS280)。
When the processing from step S240 to step S260X (or step S262) is performed on all the output ports of the acquired list (step S270: Yes), the output port
全ての経路情報に対して処理を行なっていない場合(ステップS280:No)には、出力ポートテーブル設定部120は、マルチキャスト経路テーブルTM中の次の経路情報を指定して、再びステップS220に戻る。すなわち、全ての経路情報に対して、ステップS220からステップS270までの処理が行なわれるように、ループ処理が行なわれる。
When all the route information has not been processed (step S280: No), the output port
全ての経路情報に対して、ステップS220からステップS270までの処理が行なわれた場合(ステップS280:Yes)には、出力ポートテーブル設定部120は、設定した出力ポートテーブルTPを対応する分散処理部200に設定する(ステップS290)。
When the processing from step S220 to step S270 has been performed on all the route information (step S280: Yes), the output port
以上説明した方法により、比較例における出力ポートテーブルTP(図6)が設定される。このように、比較例では、分散処理部DPU#3の出力ポートテーブルTP#3及び分散処理部DPU#5の出力ポートテーブルTP#5に対してもLAGポート#4が設定されることになるため、分散処理部DPU#3及び分散処理部DPU#5において処理能力の浪費が発生することになる(図4参照)。
The output port table TP (FIG. 6) in the comparative example is set by the method described above. Thus, in the comparative example, the
G.実施例における出力ポートテーブルTPの設定:
図16は、実施例における出力ポートテーブルTPの設定処理を示すフローチャートである。実施例における出力ポートテーブルTPの設定処理のうち、比較例における出力ポートテーブルTPの設定処理と異なる部分は、ステップS250とステップS260における処理であり、その他の処理は同じである。したがって、ステップS210〜ステップS230までの処理については、説明を省略する。
G. Setting the output port table TP in the embodiment:
FIG. 16 is a flowchart illustrating the setting process of the output port table TP in the embodiment. Of the setting process of the output port table TP in the embodiment, the part different from the setting process of the output port table TP in the comparative example is the process in step S250 and step S260, and the other processes are the same. Therefore, description of the processing from step S210 to step S230 is omitted.
ステップS240では、出力ポートテーブル設定部120は、出力ポートがLAGポートであるか否かを判断する。出力ポートがLAGポートであった場合(ステップS240:Yes)には、ステップS250において、出力ポートテーブル設定部120は、上述した物理ポート選択部224が行なうLAG処理と同じLAG処理を行なって、LAGポートに属する複数の物理ポートの中から1つの物理ポートを選択する。
In step S240, the output port
すなわち、出力ポートテーブル設定部120は、まず、送信元アドレスと宛先アドレスとに基づいてハッシュ値を求め、上記式(1)を用いてエントリ番号を算出する(ステップS252)。
That is, the output port
具体的には、出力ポートテーブル設定部120がLAGポート#3に対して算出するエントリ番号は、物理ポート選択部224が算出するエントリ番号と同じく、「0」となる。同様に、出力ポートテーブル設定部120がLAGポート#4に対して算出するエントリ番号は、物理ポート選択部224が算出するエントリ番号と同じく、「1」となる。
Specifically, the entry number calculated by the output port
次に、出力ポートテーブル設定部120は、LAGポート及びエントリ番号をキーとして、テーブル記憶部130に格納されたLAGテーブルTLを検索し、対応する物理ポートを選択する(ステップS254)。
Next, the output port
具体的には、出力ポートテーブル設定部120は、LAGポート#3に関連付けられた2つの物理ポートの中から、エントリ番号「0」に対応する物理ポート2/2を選択する。同様に、出力ポートテーブル設定部120は、LAGポート#4に関連付けられた3つの物理ポートの中から、エントリ番号「1」に対応する物理ポート4/1を選択する。すなわち、出力ポートテーブル設定部120は、上述した物理ポート選択部224がLAGポートの中から選択する物理ポートと同じ物理ポートを選択する。
Specifically, the output port
ステップS260では、出力ポートテーブル設定部120は、選択された物理ポートが属する分散処理部200の出力ポートテーブルTPに対して、当該LAGポートを設定する。
In step S260, the output port
具体的には、LAGポート#3から選択された物理ポート2/2は、分散処理部DPU#2に属しているため、出力ポートテーブル設定部120は、分散処理部DPU#2の出力ポートテーブルTP#2にLAGポート#3を設定する。同様に、LAGポート#4から選択された物理ポート4/1は、分散処理部DPU#4に属しているため、ビットマップテーブル設定部110は、分散処理部DPU#4の出力ポートテーブルTP#4にLAGポート#4を設定する。すなわち、本実施例においては、LAGポート#4は、分散処理部DPU#3の出力ポートテーブルTP#3及び分散処理部DPU#5の出力ポートテーブルTP#5に対しては設定されないことになる。
Specifically, since the
ステップS240において、出力ポートが物理ポートであった場合(ステップS240:No)には、出力ポートテーブル設定部120は、当該物理ポートが属する分散処理部200の出力ポートテーブルTPに対して、当該物理ポートを設定する(ステップS262)。
In step S240, when the output port is a physical port (step S240: No), the output port
具体的には、物理ポート2/1は、分散処理部DPU#2に属しているため、出力ポートテーブル設定部120は、分散処理部DPU#2の出力ポートテーブ#2に対して、物理ポート2/1を設定する。同様に、物理ポート5/2は、分散処理部DPU#5に属しているため、出力ポートテーブル設定部120は、分散処理部DPU#5の出力ポートテーブルTP#5に対して、物理ポート5/2を設定する。
Specifically, since the
ステップS270以降の処理は、比較例における出力ポートテーブルTPの設定処理(図15)と同じであるため、説明を省略する。 Since the processing after step S270 is the same as the setting processing (FIG. 15) of the output port table TP in the comparative example, description thereof is omitted.
以上説明した方法により、実施例における出力ポートテーブルTP(図10)が設定される。このように、本実施例によれば、LAGポート#4は、分散処理部DPU#3の出力ポートテーブルTP#3及び分散処理部DPU#5の出力ポートテーブルTP#5に対しては設定されないので、分散処理部DPU#3及び分散処理部DPU#5における処理能力の浪費を抑制することができる(図8参照)。
The output port table TP (FIG. 10) in the embodiment is set by the method described above. Thus, according to the present embodiment,
図17は、実施例における効果を示すグラフである。この図17は、実施例におけるネットワーク中継装置10が、送信元アドレスSA1及び宛先アドレスGA1を経路情報として含むマルチキャストパケットを処理する場合における各分散処理部200の余剰帯域を示している。この図17から理解できるように、送信元アドレスSA1及び宛先アドレスGA1を経路情報として含むマルチキャストパケットをネットワーク中継装置10が処理する場合には、単位時間当たりのパケットの処理数が増えても、分散処理部DPU#3の余剰帯域は常に100%であることが理解できる。
FIG. 17 is a graph showing effects in the example. FIG. 17 illustrates the surplus bandwidth of each distributed
このように、本実施例によれば、分散処理部200における処理能力の浪費を抑制することができる。また、処理工程が削減された分散処理部200では消費電力が低減されるように構成しておけば、ネットワーク中継装置10の消費電力の低減を実現することもできる。さらに、処理工程が削減された分散処理部200において他のパケットの処理が実行されるように構成しておけば、効率よくパケットの処理を行うことのできるネットワーク中継装置10を実現することもできる。
Thus, according to the present embodiment, it is possible to suppress waste of processing capacity in the distributed
H.変形例:
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
H. Variation:
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.
H1.変形例1:
上記実施例におけるLAG処理では、経路情報(送信元アドレス及び宛先アドレス)を用いてハッシュ値を求めていたが、宛先アドレスのみを用いてハッシュ値を求めてもよい。また、送信元アドレス及び宛先アドレスに加えて、送信元アドレス及び宛先アドレスをキーとして検索された論理インターフェースを用いて、ハッシュ値を求めることも可能である。
H1. Modification 1:
In the LAG process in the above embodiment, the hash value is obtained using the path information (source address and destination address), but the hash value may be obtained using only the destination address. In addition to the source address and the destination address, it is also possible to obtain a hash value using a logical interface searched using the source address and the destination address as keys.
このように、LAG処理におけるハッシュキーとしては、経路情報から一意に定まる情報を用いることが好ましい。このようにすれば、経路設定時にビットマップテーブルTBや出力ポートテーブルTPを設定しておくことによって、分散処理部200の処理能力の浪費を抑制することができる。
Thus, it is preferable to use information uniquely determined from the path information as the hash key in the LAG process. In this way, waste of processing capacity of the distributed
さらに、マルチキャストパケットに含まれる送信元アドレス及び宛先アドレスに加えて、その他のヘッダ情報も抽出し、送信元アドレス及び宛先アドレス以外のヘッダ情報にマスクをかけ、当該ヘッダ情報を用いてハッシュ値を求めてもよい。この場合に求められるハッシュ値は、送信元アドレス及び宛先アドレスのみを用いて求められたハッシュ値と同じ値となる。また、LAG処理では、上記実施例で説明したものとは異なる所定の選択処理によって、物理ポートを選択するものとしてもよい。 Furthermore, in addition to the source address and destination address included in the multicast packet, other header information is also extracted, the header information other than the source address and destination address is masked, and a hash value is obtained using the header information. May be. The hash value obtained in this case is the same value as the hash value obtained using only the transmission source address and the destination address. In the LAG process, a physical port may be selected by a predetermined selection process different from that described in the above embodiment.
H2.変形例2:
上記実施例におけるネットワーク中継装置10では、実施例におけるビットマップテーブルTB(図9)と実施例における出力ポートテーブルTP(図10)とを組み合わせて用いているが、いずれか一方を、比較例におけるビットマップテーブルTB(図5)又は比較例における出力ポートテーブルTP(図6)に置き換えて用いてもよい。このようにしても、分散処理部における処理能力の浪費を低減することができる。
H2. Modification 2:
In the
H3.変形例3:
上記実施例においてソフトウェアで実現されている機能の一部をハードウェアで実現してもよく、あるいは、ハードウェアで実現されている機能の一部をソフトウェアで実現してもよい。
H3. Modification 3:
In the above embodiment, a part of the functions realized by software may be realized by hardware, or a part of the functions realized by hardware may be realized by software.
H4.変形例4:
図18は、変形例における出力ポートテーブルTPの設定処理を示すフローチャートである。図16に示した実施例と異なる処理は、ステップS260Yにおける処理だけである。すなわち、図16に示した実施例では、ステップS260において、出力ポートテーブル設定部120は、論理ポートの中から選択された物理ポートが属する分散処理部200の出力ポートテーブルTPに対して、当該LAGポートを設定している。これに対して、この変形例では、ステップS260Yにおいて、出力ポートテーブル設定部120は、論理ポートの中から選択された物理ポートが属する分散処理部200の出力ポートテーブルTPに対して、当該物理ポートを設定する。これ以外の変形例における処理は、実施例における処理と同じである。
H4. Modification 4:
FIG. 18 is a flowchart showing the setting process of the output port table TP in the modification. The only processing different from the embodiment shown in FIG. 16 is the processing in step S260Y. That is, in the embodiment shown in FIG. 16, in step S260, the output port
図19は、変形例における出力ポートテーブルTPを示す説明図である。図10に示した実施例と異なる点は、分散処理部DPU#2の出力ポートテーブルTP#2に設定されているLAGポート#3の代わりに、物理ポート2/2が設定されている点と、分散処理部DPU#4の出力ポートテーブルTP#4に設定されているLAGポート#4の代わりに、物理ポート4/1が設定されている点だけである。
FIG. 19 is an explanatory diagram showing an output port table TP in a modified example. The difference from the embodiment shown in FIG. 10 is that a
図20は、変形例におけるネットワーク中継装置10の動作を示す説明図である。この変形例におけるネットワーク中継装置10は、図19に示した出力ポートテーブルTPを用いて処理を行なっている。図19に示した出力ポートテーブルTPには、LAGポートが設定されていないので、破線H3で囲んで示したように、LAG処理を省略することができる。このような変形例によっても、分散処理部DPU#2及び分散処理部DPU#4における処理能力の浪費をさらに抑制することができる。
FIG. 20 is an explanatory diagram illustrating the operation of the
10…ネットワーク中継装置
100…制御ユニット
105…制御部
110…ビットマップテーブル設定部
120…出力ポートテーブル設定部
130…テーブル記憶部
200…分散処理部
210…受信側処理部
212…受信側経路検索部
214…テーブル記憶部
220…送信側処理部
222…送信側経路検索部
223…出力ポート検索部
224…物理ポート選択部
226…テーブル記憶部
300…クロスバスイッチ
TB…ビットマップテーブル
TC…論理インターフェース変換テーブル
TL…リンクアグリゲーションテーブル
TM…マルチキャスト経路テーブル
TP…出力ポートテーブル
DESCRIPTION OF
Claims (7)
1つ以上の物理ポートを備え、該物理ポートの少なくとも1つを介して外部装置との間でパケットの入出力処理を実行する複数のパケット処理部と、
複数の前記物理ポートを論理的に束ねることによって少なくとも1つの論理ポートを設定する論理ポート設定部と、
経路情報に基づいてマルチキャストパケットの出力先となる出力ポートを特定し、該出力ポートに前記論理ポートが含まれる場合に、該論理ポートを構成する複数の物理ポートの中から、前記マルチキャストパケットを出力する物理ポートを所定の選択処理によって選択し、該選択された物理ポートを備える前記パケット処理部を、前記マルチキャストパケットの配布先として設定する配布先設定部と、
前記配布先設定部によって設定された前記パケット処理部に対して、前記マルチキャストパケットを配布する配布部と
を備える
ネットワーク中継装置。 A network relay device,
A plurality of packet processing units including one or more physical ports, and performing packet input / output processing with an external device via at least one of the physical ports;
A logical port setting unit that sets at least one logical port by logically bundling a plurality of the physical ports;
An output port that is an output destination of the multicast packet is specified based on the routing information, and when the logical port is included in the output port, the multicast packet is output from a plurality of physical ports constituting the logical port A distribution destination setting unit that selects a physical port to be selected by a predetermined selection process, and sets the packet processing unit including the selected physical port as a distribution destination of the multicast packet;
A network relay device comprising: a distribution unit that distributes the multicast packet to the packet processing unit set by the distribution destination setting unit.
前記経路情報に基づいて前記マルチキャストパケットの出力先となる出力ポートを特定し、該出力ポートに前記論理ポートが含まれる場合に、該論理ポートを構成する複数の物理ポートの中から、前記マルチキャストパケットを出力する物理ポートを前記所定の選択処理によって選択し、該選択された物理ポートを備える前記パケット処理部に対して、前記論理ポートを前記マルチキャストパケットの出力ポートとして設定する出力ポート設定部を備え、
前記配布部から前記マルチキャストパケットを受信した前記各パケット処理部は、前記出力ポート設定部によって出力ポートとして設定された前記論理ポートを構成する複数の物理ポートの中から、前記マルチキャストパケットを出力する物理ポートを前記所定の選択処理によって選択し、該選択された物理ポートから前記マルチキャストパケットを出力する
ネットワーク中継装置。 The network relay device according to claim 1, further comprising:
An output port that is an output destination of the multicast packet is specified based on the path information, and when the output port includes the logical port, the multicast packet is selected from a plurality of physical ports that constitute the logical port. An output port setting unit that selects a physical port that outputs a packet by the predetermined selection process, and sets the logical port as an output port of the multicast packet for the packet processing unit including the selected physical port. ,
Each packet processing unit that has received the multicast packet from the distributing unit outputs a physical packet that outputs the multicast packet from among a plurality of physical ports that constitute the logical port set as an output port by the output port setting unit. A network relay device that selects a port by the predetermined selection process and outputs the multicast packet from the selected physical port.
前記経路情報に基づいて前記マルチキャストパケットの出力先となる出力ポートを特定し、該出力ポートに前記論理ポートが含まれる場合に、該論理ポートを構成する複数の物理ポートの中から、前記マルチキャストパケットを出力する物理ポートを前記所定の選択処理によって選択し、該選択された物理ポートを備える前記パケット処理部に対して、前記物理ポートを前記マルチキャストパケットの出力ポートとして設定する出力ポート設定部を備え、
前記配布部から前記マルチキャストパケットを受信した前記各パケット処理部は、前記出力ポート設定部によって設定された前記物理ポートから前記マルチキャストパケットを出力する
ネットワーク中継装置。 The network relay device according to claim 1, further comprising:
An output port that is an output destination of the multicast packet is specified based on the path information, and when the output port includes the logical port, the multicast packet is selected from a plurality of physical ports that constitute the logical port. And an output port setting unit that sets the physical port as an output port of the multicast packet with respect to the packet processing unit including the selected physical port. ,
Each of the packet processing units that received the multicast packet from the distribution unit outputs the multicast packet from the physical port set by the output port setting unit.
1つ以上の物理ポートを備え、該物理ポートの少なくとも1つを介して外部装置との間でパケットの入出力処理を実行する複数のパケット処理部と、
複数の前記物理ポートを論理的に束ねることによって少なくとも1つの論理ポートを設定する論理ポート設定部と、
経路情報に基づいてマルチキャストパケットの出力先となる出力ポートを特定し、該出力ポートに前記論理ポートが含まれる場合に、該論理ポートを構成する物理ポートを備える全ての前記パケット処理部を、前記マルチキャストパケットの配布先として設定する配布先設定部と、
前記配布先設定部によって設定された前記パケット処理部に対して、前記マルチキャストパケットを配布する配布部と、
前記経路情報に基づいて前記マルチキャストパケットの出力先となる出力ポートを特定し、該出力ポートに前記論理ポートが含まれる場合に、該論理ポートを構成する複数の物理ポートの中から、前記マルチキャストパケットを出力する物理ポートを所定の選択処理によって選択し、該選択された物理ポートを備える前記パケット処理部に対して、前記論理ポートを前記マルチキャストパケットの出力ポートとして設定する出力ポート設定部と
を備え、
前記配布部から前記マルチキャストパケットを受信した前記各パケット処理部は、前記出力ポート設定部によって出力ポートとして設定された前記論理ポートを構成する複数の物理ポートの中から、前記マルチキャストパケットを出力する物理ポートを前記所定の選択処理によって選択し、該選択された物理ポートから前記マルチキャストパケットを出力する
ネットワーク中継装置。 A network relay device,
A plurality of packet processing units including one or more physical ports, and performing packet input / output processing with an external device via at least one of the physical ports;
A logical port setting unit that sets at least one logical port by logically bundling a plurality of the physical ports;
Identifying an output port that is an output destination of a multicast packet based on path information, and when the output port includes the logical port, all the packet processing units including physical ports that constitute the logical port are A distribution destination setting unit configured as a distribution destination of multicast packets;
A distribution unit for distributing the multicast packet to the packet processing unit set by the distribution destination setting unit;
An output port that is an output destination of the multicast packet is specified based on the path information, and when the output port includes the logical port, the multicast packet is selected from a plurality of physical ports that constitute the logical port. An output port setting unit that selects a physical port for outputting the packet by a predetermined selection process, and sets the logical port as an output port of the multicast packet for the packet processing unit including the selected physical port. ,
Each packet processing unit that has received the multicast packet from the distributing unit outputs a physical packet that outputs the multicast packet from among a plurality of physical ports that constitute the logical port set as an output port by the output port setting unit. A network relay device that selects a port by the predetermined selection process and outputs the multicast packet from the selected physical port.
前記所定の選択処理は、前記経路情報から一意に定まる情報に基づいて、前記論理ポートを構成する複数の物理ポートの中から、前記マルチキャストパケットを出力する物理ポートを選択する処理である
ネットワーク中継装置。 The network relay device according to any one of claims 1 to 4,
The predetermined selection process is a process of selecting a physical port that outputs the multicast packet from a plurality of physical ports constituting the logical port based on information uniquely determined from the path information. .
前記所定の選択処理は、前記経路情報から一意に定まる情報を用いた所定のハッシュ関数によってハッシュ値を求め、該ハッシュ値に基づいて、前記論理ポートを構成する複数の物理ポートの中から、前記マルチキャストパケットを出力する物理ポートを選択する処理である
ネットワーク中継装置。 The network relay device according to claim 5,
In the predetermined selection process, a hash value is obtained by a predetermined hash function using information uniquely determined from the path information, and based on the hash value, the plurality of physical ports constituting the logical port are used to determine the hash value. A network relay device that selects physical ports that output multicast packets.
前記経路情報から一意に定まる情報は、送信元アドレス情報及び宛先アドレス情報である
ネットワーク中継装置。 The network relay device according to claim 5 or 6,
Information uniquely determined from the route information is source address information and destination address information.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009217206A JP5374290B2 (en) | 2009-09-18 | 2009-09-18 | Network relay device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009217206A JP5374290B2 (en) | 2009-09-18 | 2009-09-18 | Network relay device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011066792A true JP2011066792A (en) | 2011-03-31 |
JP5374290B2 JP5374290B2 (en) | 2013-12-25 |
Family
ID=43952524
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009217206A Active JP5374290B2 (en) | 2009-09-18 | 2009-09-18 | Network relay device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5374290B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012054819A (en) * | 2010-09-02 | 2012-03-15 | Alaxala Networks Corp | Packet relay device, packet relay method, and computer program |
WO2015040690A1 (en) * | 2013-09-18 | 2015-03-26 | 富士通株式会社 | Information processing apparatus and method |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005020492A (en) * | 2003-06-27 | 2005-01-20 | Hitachi Ltd | Network repeater |
WO2008075336A2 (en) * | 2006-12-21 | 2008-06-26 | Corrigent Systems Ltd. | Forwarding multicast traffic over link aggregation ports |
-
2009
- 2009-09-18 JP JP2009217206A patent/JP5374290B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005020492A (en) * | 2003-06-27 | 2005-01-20 | Hitachi Ltd | Network repeater |
WO2008075336A2 (en) * | 2006-12-21 | 2008-06-26 | Corrigent Systems Ltd. | Forwarding multicast traffic over link aggregation ports |
JP2010514324A (en) * | 2006-12-21 | 2010-04-30 | コリジェント システムズ リミテッド | Forwarding multicast traffic between link aggregation ports |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012054819A (en) * | 2010-09-02 | 2012-03-15 | Alaxala Networks Corp | Packet relay device, packet relay method, and computer program |
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 |
Also Published As
Publication number | Publication date |
---|---|
JP5374290B2 (en) | 2013-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107819695B (en) | SDN-based distributed control load balancing system and method | |
US10924409B2 (en) | Method for implementing load balancing, apparatus, and network system | |
JP4908969B2 (en) | Apparatus and method for relaying packets | |
EP2850517B1 (en) | System and method for routing traffic between distinct infiniband subnets based on source routing | |
WO2016045411A1 (en) | Network on chip system, and method for establishing network on chip communication link | |
JP2015136168A (en) | Reduction of message and computational overhead in network | |
JP2008048010A (en) | Device and method for relaying packet | |
JP5625121B2 (en) | Prioritizing routing information updates | |
US20110194562A1 (en) | Systems and Methods for Communication of Management Traffic Over Link Aggregation Group Interface for a Network Element with Distributed Architecture | |
JP6323547B2 (en) | COMMUNICATION SYSTEM, CONTROL DEVICE, COMMUNICATION CONTROL METHOD, AND PROGRAM | |
CN111147372B (en) | Downlink message sending and forwarding method and device | |
EP3076611B1 (en) | Communication system, communication method, network information combination apparatus, and network information combination program | |
JP5374290B2 (en) | Network relay device | |
CN101714940B (en) | Path-calculating and establishing methods and path-calculating element, nodes and network | |
WO2015186366A1 (en) | Data transfer system, data transfer server, data transfer method, and program recording medium | |
US10270605B2 (en) | Control apparatus, communication system, communication node control method, and program | |
Ren et al. | Flowtable-free routing for data center networks: A software-defined approach | |
CN101577680B (en) | Updating method, device and system of tunnel routing information | |
JP2016103697A (en) | Network system, control device, communication device, control method and program for communication device | |
US10476805B2 (en) | Network communication method, device, and internet system | |
CN113852553B (en) | Flow scheduling method and system and SDN controller | |
JP2014160907A (en) | Communication system and program | |
WO2012155351A1 (en) | Method and network device for generating tunneling forwarding entries | |
JP4879728B2 (en) | Search device and data processing device | |
Chatmen et al. | A new network on chip design dedicated to multicast service |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111124 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120926 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121002 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121203 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130528 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130819 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20130827 |
|
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: 20130917 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130920 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5374290 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 |