(57)【要約】【課題】  リンクアグリゲーション機能を適用した経路学習機能によるパケット転送システムにおいて、送信時と受信時とで経路が異なった場合においても繰り返しフラッディングの発生を防止可能なシステムを提供することを課題とする。【解決手段】  所定の条件において、トランクを有する全てのノードに対し定期的に学習パケットを発信する構成とされてなる。【選択図】  図１５
2005086668.tif 000002
【特許請求の範囲】
【請求項１】
受信パケットをその宛先アドレスによって転送するためのパケット転送方法であって、
パケット転送を担う各装置にて受信パケットの送信元アドレスをその受信経路と対応させて学習する学習段階よりなり、
各装置では受信パケットの宛先アドレスにつき、当該アドレスと該当する経路との対応関係についての学習結果を有する場合には該当経路を通じて当該受信パケットを発信し、他方、前記の学習結果を有しない場合全ての経路を通じて当該受信パケットを発信する構成とされてなり、
所定のタイミングで各装置に対する学習パケットを生成する学習パケット生成段階を含むパケット転送方法。
【請求項２】
更に、前記学習段階による学習結果につき、所定の削除周期で削除する削除段階を含み、
前記学習パケット生成段階にて学習パケットを生成し得る周期は、前記所定の削除周期より短く設定されてなる請求項１に記載の方法。
【請求項３】
前記学習パケット生成段階は、受信パケットの宛先アドレスにつき、当該宛先に至る経路がリンクアグリゲーションの適用による仮想集合経路であり、且つ当該アドレスと該当する経路との対応関係についての学習結果を有しない場合について実行する構成とされ、その際には当該仮想集合経路を有する全ての装置に対して学習パケットを生成する構成とされてなる請求項１又は２に記載の方法。
【請求項４】
受信パケットをその宛先アドレスによって転送するためのパケット転送システムであって、
パケット転送を担う各装置は受信パケットの送信元アドレスをその受信経路と対応させて学習する学習手段を有し、
各装置では受信パケットの宛先アドレスにつき、当該アドレスと該当する経路との対応関係についての学習結果を有する場合には該当経路を通じて当該受信パケットを発信し、他方、前記の学習結果を有しない場合全ての経路を通じて当該受信パケットを発信する構成とされてなり、
各装置は更に、所定のタイミングで他の装置に対する学習パケットを生成する学習パケット生成手段を有するパケット転送システム。
【請求項５】
受信パケットをその宛先アドレスによって転送するためのパケット転送装置であって、
受信パケットの送信元アドレスをその受信経路と対応させて学習する学習手段を有し、
受信パケットの宛先アドレスにつき、当該アドレスと該当する経路との対応関係についての学習結果を有する場合には該当経路を通じて当該受信パケットを発信し、他方、前記の学習結果を有しない場合全ての経路を通じて当該受信パケットを発信する構成とされてなり、
更に、所定のタイミングで他のパケット転送装置に対する学習パケットを生成する学習パケット生成手段を有するパケット転送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はパケット転送方法、パケット転送システム及びパケット転送装置に係り、特に受信パケットの送信元アドレスをその受信経路と対応させて学習し、当該送信元アドレスを宛先アドレスとしてパケットが受信された場合には前記学習結果に基づいて適用する転送経路を決定するシステムを適用したパケット転送方法、パケット転送システム及びパケット転送装置に関する。
【背景技術】
【０００２】
ネットワークを介したパケット転送方法として、受信ＩＰパケットの送信元のＭＡＣアドレスをその受信経路と共に学習しておき、同じＭＡＣアドレスを宛先アドレスとしたＩＰパケットが受信された場合に該当する学習結果を利用してその送信経路を確定する方法がある。この場合、各ＩＰパケットを中継するノードにおいて未学習のＭＡＣアドレスを宛先アドレスとして持つＩＰパケット転送の際にはその送信経路が特定出来ない。このため、そのような場合には全ノードに対するのブロードキャスト送信（即ち「フラッディング」）を行う。そしてその際、そのＩＰパケットが持つ送信元のＭＡＣアドレス（ＳＡ）と、それを受信したポートと、を各ノードが持つバッファに格納することで経路学習を実施する。
【０００３】
図１，図２にこの様子を示す。尚、図１等に示す以下に説明する例においては、各ノード５０−０，５０−１，５０−２は、夫々一枚の通信カード＃０，＃１，＃２を有する構成を想定している。ノード５０−０が、カード＃０のポート＃０にて端末Ａ１０からのＩＰパケットを受信した場合(ステップＳ１、Ｐ１)、そのカードが有するＭＡＣテーブルにおいて、その送信元ＭＡＣアドレス（ＳＡ）である“Ａ”を、その際の受信カード＃０、ポート＃０の情報（経路情報）と関連づけて所定のバッファに格納することで学習する(ステップＳ２)。尚その場合、既に同じＭＡＣアドレスに対する学習結果がＭＡＣテーブル内に存在する際には、その情報を上書きするものとする。
【０００４】
次に、当該受信ＩＰパケットが有する宛先アドレス（ＤＡ，この場合、ＭＡＣアドレス“Ｂ”）につき、自機のＭＡＣテーブルに学習結果が有るかどうか検索する（ステップＳ３）。そして、検索結果がミスヒットの場合（Ｎｏ）、全てのノード(この例の場合、ノード５０−１，ノード５０−２)に対して、当該ＩＰパケットをブロードキャスト(フラッディング)する(ステップＳ５、Ｐ２)。他方、ステップＳ３の検索の結果、該当する宛先ＭＡＣアドレスに関する学習結果がバッファに存在する場合（Ｙｅｓ）、同学習結果に含まれる転送経路、即ちカード番号とポート番号によって当該ＩＰパケットを送信する(ステップＳ４)。この場合、フラッディングの必要はなくなる。
【０００５】
尚、同様の学習動作は、ノード５０−０から発せられた当該ＩＰパケットが該当する宛先の端末Ｂ２０に至るまでに通過するノード５０−２のカード＃２に届いた際にも行なわれる。その結果、図１に示す如く、当該カード＃２のバッファ（ＭＡＣテーブル）には、送信元端末１０のＭＡＣアドレス“Ａ”に関連づけて、その際の送信元経路情報、即ちノード５０−０のカード＃０，ポート＃０の情報が学習結果として格納される。
【０００６】
このように、一旦ＩＰパケットを受信した場合に、その送信元ＭＡＣアドレス（ＳＡ）と受信経路情報（カード番号、ポート番号）とを互いに関連づけて格納しておく(即ち学習)ことで、次回同じＭＡＣアドレスを宛先（ＤＡ）としたＩＰパケットが受信された際には、その学習結果を使用することで転送経路を確定可能となる。その結果、受信パケットの宛先ＭＡＣアドレス（ＤＡ）に関する学習結果がバッファに存在する限り、その情報を利用して該当パケットに適用すべき転送経路を一意に確定可能なためにフラッディングの必要が無く、もって接続されたＬＡＮのトラフィックを最小限に抑えることが可能となる。
【０００７】
即ち、図３において、端末Ｂ２０からのＩＰパケットがノード５０−２のカード＃２、ポート＃１で受信された場合(ステップＳ１、Ｐ４)、既に上記の如く前回(図１参照)端末Ａ１０からのＩＰパケットを中継した際(ステップＰ２、Ｐ３)の学習結果として、端末ＡのＭＡＣアドレスに関連づけて受信経路情報（カード＃０，ポート＃０）が格納されているため、この学習結果により当該ＩＰパケットの宛先アドレス（ＤＡ）の“Ａ”についてのヒットが得られる(ステップＳ３のＹｅｓ)。この場合、当該ＩＰパケットに対し、同ヒット結果に基づいて該当経路、即ちカード＃０，ポート＃０が適用され、ノード５０−２からノード５０−０のカード＃０に転送される（ステップＰ５）。又その場合、ノード５０−０のカード＃０は、同じく図１のステップＰ１、Ｐ２の中継の際の該当宛先アドレスであるＭＡＣアドレス“Ａ”に関する学習結果を有するため、これにしたがってポート＃０が一意に特定でき、フラッディング無しに端末Ａ１０に対してＩＰパケットを転送出来る(ステップＰ６)。
【０００８】
尚、上述の図１、図３と共に説明した一連のパケット転送動作につき、更に時間経過に沿って図４で示す。図４中に示すステップ番号としてのＰ１乃至Ｐ６は、夫々図１，図３中のＰ１乃至Ｐ６に対応する。
【０００９】
又、このようなシステムでは、、限られたバッファの記憶容量の有効利用の観点から、一旦学習後、一定期間同じアドレスに対するＤＡ検索ヒットが無かった場合、当該ＭＡＣアドレスに関する学習結果が削除される。この削除に至る動作を「エージング」と称する。具体的には、図５に示す如く、各ノードのカードのバッファでは、学習したＭＡＣアドレスに対応する「ヒットビット」を持ち、学習時にはヒットビット=“１”とする。そして一度目のエージング処理でそのヒットビットをクリアし(即ち”０”とし、ステップＳ１１，Ｓ１２)、この場合には未だ学習結果の削除は行なわない。そして次のエージング処理時にヒットビットが”０”のままだった場合(ステップＳ１４，Ｓ１５，Ｓ１１のＮｏ)、該当するＭＡＣアドレスはバッファから削除される(ステップＳ１３)。他方、その前に上書き学習されたとき、或いはＤＡ検索(即ち、上記図２のステップＳ３の宛先検索動作)にてヒットの対象となった場合、ヒットビットを再び”１”にセットする(その結果、ステップＳ１１のＹｅｓ、Ｓ１２)。このような構成とすることで、現在利用中(即ち、通信実行中)のアドレスがバッファから削除されてしまわないようにする。
【００１０】
このエージング処理について更に図６乃至８を共に説明する。図７のステップＰ１乃至Ｐ６は上記図４のステップＰ１乃至Ｐ６と同一の過程である。そしてＩＰパケットを転送する毎に、ステップＰ１，Ｐ２ではカード＃０でＭＡＣアドレス“Ａ”について学習すると共に、そのヒットビットを”１”にする。同様にステップＰ２，Ｐ３においてはカード＃１，カード＃２にてＭＡＣアドレス“Ａ”について学習する。更に同様に、ステップＰ４，Ｐ５，ステップＰ５，Ｐ６においては、カード＃２，カード＃０にて、ＭＡＣアドレス“Ｂ”について学習する。
【００１１】
その後図８の最上段に示す如く、一回目のエージング処理により各カード＃０，＃１，＃２において、MACアドレス“Ａ”，“Ｂ”につき、夫々ヒットビットがクリアされる（ステップS１２）。そして、２回目のエージング処理前に、同じく端末Ｂ２０宛の次のＩＰパケットが端末Ａ１０から発せられたとする（ステップP７）。これを受けたカード＃０では、送信元ＭＡＣアドレス“Ａ”を上書き学習し、同時に宛先検索にて、宛先ＭＡＣアドレス“Ｂ”が検索対象となる。このため、上記の如く一旦”０”にクリアされたＭＡＣアドレス“Ａ”，“Ｂ”の夫々についてヒットビットが“１”に戻されることとなる。
【００１２】
そして、当該ＩＰパケットは、宛先検索においてヒットしたＭＡＣアドレス“Ｂ”についての学習結果にしたがってカード＃２に転送される(ステップＰ８)。そしてカード＃２においても上記同様の動作にて、上記の如く一旦”０”にクリアされたＭＡＣアドレス“Ａ”，“Ｂ”の夫々についてヒットビットが“１”に戻される。そして、その後端末Ａ，Ｂ１０，２０のいずれに関するＩＰパケットも受信されずに次のエージング処理タイミングが到来したとする。その場合、図８の最下段に示す如く、カード＃０，カード＃２の各々においては上記の如く、ステップＰ７，Ｐ８にてＭＡＣアドレス“Ａ”，“Ｂ”の各々についてのヒットビットが“１”に戻されているため、それらが再び”０”にクリアされるが、該当する学習結果は、この時点では未だ消去されない（ステップＳ１２）。他方、カード＃１については、その間該当するＩＰパケットの通過が無く、ＭＡＣアドレス“Ａ”，“Ｂ”についてのヒットビットは“０”のままであるため、この時点で該当学習結果は削除される(ステップＳ１３)。
【００１３】
次に、リンクアグリゲーション機能について説明する。このリンクアグリゲーション機能とは、複数のポートを1つの仮想高速ポートとみなして利用する機能である。この機能により、実質的に帯域向上の効果を得ることが出来る。この場合の仮想ポートはトランクと称され、このトランクを利用する場合(トランキングと呼ばれる)、上記の如くアドレス未学習時のフラッディングを行う場合、所定の演算によって当該トランクが有する多数のポートの中から一つの代表ポートが選択され、この代表ポートにて実際のパケット送信が行われる。
【００１４】
そしてトランクを介してＩＰパケットを受信したノードでは、当該パケットの送信元アドレスについて経路学習を実施する際、受信時のポート番号を学習するの代わりに、それを含むトランクの情報を学習結果として格納する。その後当該トランクを通過する宛先を有するＩＰパケット受信の際には、当該通信カードのハードウェア毎に独立した所定の演算方法によってトランクを構成する経路中から一つの経路を決定し、該当パケットに対してこの決定経路を適用する。このような構成とすることにより、同じパケットに対して同一トランク内の異なる経路を適用してしまうことを防止している。
【００１５】
図９乃至図１１と共にリンクアグリゲーション機能適用の様子について説明する。この例では、端末Ａ１０，端末Ｂ２０との間には、ノード群６０，７０とが存在し、ノード群６０には通信カード＃０，＃１，＃２を夫々有するノードが設けられ、ノード群７０には通信カード＃３，＃４，＃５を夫々有するノードが設けられている。図９、図１０において、端末１０から受信された端末２０宛のパケットはノード６０のカード＃０で受信され、カード＃０は端末２０についての学習結果を有さないため、フラッディングを行なう(ステップＰ１１)。フラッディングされたパケットを受信したカード＃１，＃２は共通するトランクを有し、この中からハードウェア独立の演算方法にて一つの代表ポートが選択され、この代表ポートが適用されて当該パケットが更に送信される(ステップＰ１２)。
【００１６】
この代表ポートを有する経路はノード７０のカード＃３に通じており、このカード＃３でも宛先である端末２０に関する学習結果を有していない。そのため、カード＃３でも当該パケットをフラッディングする(ステップＰ１３)。このようにして当該パケットはカード＃５を通じて宛先である端末２０に到達する。尚、図９，図１０に示す端末１０から端末２０へ向かうパケット転送の間、各ノード群６０，７０の各通信カード＃０乃至＃５の各々では、図１乃至４と共に説明した如く、その送信元アドレスと関連づけて自機に至る経路に関する情報の学習をする。
【００１７】
次に図１１、図１２に示す如く、今度は端末２０から端末１０に対してパケットが発信されたとする。これを受けたノード群７０のカード＃５では、図９，図１０と共に説明した転送動作時に宛先の端末１０へ至る経路が学習されており、その学習の結果端末１０に至る経路はトランクを有することを認識し、そのトランクが有する複数経路の内から、自機のハードウェア独自の演算方法により、適用すべき経路を選択する。この場合カード＃４を含む経路を選択するものとする。尚、ここで図１０と共に説明したパケット転送動作においてはカード＃４ではなく、カード＃３を通る経路が適用されている。しかしながら前述の如くトランキング適用の際には個別の経路ではなくトランク全体の情報が学習され、更に同一トランクに含まれる経路の選択は送信元の通信カード独自の演算方法によって決定される。このため、転送方向が異なる場合、前回適用の経路を構成するカード＃３ではなく同一トランク内の他のカード＃４が選択される場合がある。
【００１８】
以降、当該パケットはカード＃３を通過し、カード＃３からノード群６０のカード＃２に到達し(ステップＰ１４，Ｐ１５)、更にノード６０群内のカード＃０を経由して端末１０に到達する。
【特許文献１】特開２００２−２４７０８９号公報
【特許文献２】特開２００２−２５２６２５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１９】
このように、端末１０，端末２０間のパケット転送の際、トランク内の経路を選択するハードウェア(通信カード)が異なるため同一トランク内の異なる経路が選択される場合がある。この場合、夫々の経路を構成する通信カードでは一方向の転送にのみ携わることとなる。したがってこれらカードではその学習結果が活かされず、当該パケット通信の間、常にフラッディングを行なうこととなる。
【００２０】
この様子について図１２乃至１４と共に説明する。図１３は図１０，図１１に示すステップＰ１１乃至Ｐ１６以降の動作を示す。カード＃０にて端末１０から再度端末２０宛のパケットを受信すると、前回同様、同一トランク内のカード＃１の経路を選択して適用する（ステップＰ１７）。これを受信したカード＃１では、当該トランクに関する情報からカード＃３に対してパケットを転送する(ステップＰ１８)。これを受けたカード＃３では、パケットの宛先である端末２０に対する学習結果を検索する。しかしながら前記の如く端末２０から端末１０へのパケットはカード＃３を経由せずにカード＃４を経由している(ステップＳ１５)。このためカード＃３には端末２０についての学習結果が存在しない。このため、カード＃３は再び当該パケットをフラッディングする(ステップＰ１９)。
【００２１】
更に、その後、図１４において、カード＃５にて端末２０から再度端末１０宛のパケットを受信すると、前回同様、同一トランク内のカード＃４の経路を選択して適用する（ステップＰ２０）。これを受信したカード＃４では、当該トランクに関する情報からカード＃２に対してパケットを転送する(ステップＰ２１)。これを受けたカード＃２では、パケットの宛先である端末１０に対する学習結果を検索する。しかしながら前記の如く端末１０から端末２０へのパケットはカード＃２を経由せずにカード＃１を経由している(ステップＳ１７)。このためカード＃２には端末１０についての学習結果が存在しない。このため、カード＃２は再び当該パケットをフラッディングする(ステップＰ２２)。
【００２２】
又、図１４の最上段におけるカード＃２においては、上記の如く端末１０から端末２０への一方向の転送のみ発生するため、両方向の転送の場合に比して転送周期が長くなり、その間に該当する学習結果がエージングにて削除される可能性が高まることにもなる。
【００２３】
このようにして一連の通信の間常にフラッディングし続けるノードが発生し、回線トラフィックが増大してしまう事態発生の可能性が高まる。
【００２４】
本発明は上記問題点に鑑み、リンクアグリゲーションによるトランキング適用の際にも経路学習が効果的に実施され、フラッディングの発生を最小限に抑えることが可能なパケット転送システムを提供することを目的とする。
【課題を解決するための手段】
【００２５】
本発明によれば、各パケット転送装置は所定条件において所定のタイミングで学習パケットを発生する構成とした。即ち、トランキング等により行き方向と帰り方向とで異なる経路が選択されるような場合でありそのため或る装置においては片側方向の転送のみを行なうこととなる場合であっても、所定のタイミングで学習パケットを発生することにより、例えばこのように一方向のみの転送を行なうこととなる装置に対しても、当該学習パケットにより、強制的に他方向のパケット受信をも行なわせるようにする。これにより、各経路は適宜双方向のパケット受信を行なうこととなり、双方向の経路学習が確実になされることとなる。その結果フラッディングを繰り返して回線トラフィックの増大を招くことを防止可能である。
【００２６】
但し、この学習パケットは、単に効果的に経路学習がなされる目的のものであるため、徒に頻繁に発生すれば、逆に回線トラフィックの増大を招くこととなる。このような弊害を防止するためには、学習パケット発生の条件、即ち発生頻度、発生契機等を妥当なものに決定する必要がある。
【００２７】
更に又、既に一連の通信が終了したのにもかかわらず、学習結果が何時まででも消去されずにバッファに残されるとしたら、限られたバッファの記憶容量の有効利用が図れなくなる。したがって、適切に通信の終了を判定し、その場合には速やかに該当する学習結果が削除されるよう、エージング処理の活用方法を工夫する必要がある。
【００２８】
即ち、学習パケットの発生条件として、受信パケットの宛先に至る経路がトランクを含む場合であって、且つ最初の学習時ではなく、学習結果が宛先検索のヒット対象となったときに初めて学習パケットを発生することが望ましい。即ち、学習した送信元を宛先としたパケットを受信した場合に学習パケットを発生するよう構成することが望ましい。尚その際、学習パケットは当該トランクを構成する全ての転送装置に対して送信することが望ましい。更に、それ以後、再び学習結果が宛先検索のヒット対象となったときにも、その都度学習パケットを発生することが望ましい。
【００２９】
但し、その間も、エージング処理は定期的に実施されることが望ましい。即ち、最後の学習時、即ち同じ送信元端末からの最後のパケットの受信及び、同じ宛先端末に対する最後のパケットの受信の何れかから所定時間経過後はバッファから削除することが望ましい。したがってそれ以降に同じ送信元端末から再びパケットを受信した場合には上記最初の学習として取り扱われる。
【発明の効果】
【００３０】
本発明によれば、往復の通信経路が異なる場合でも経路学習の結果を活かすことが出来るため、効果的にフラッディングの発生を抑制可能となり、回線のトラフィックを低減可能である。
【発明を実施するための最良の形態】
【００３１】
以下図面と共に本発明の実施の形態について説明する。
【００３２】
図１５乃至図２０は本発明の実施の形態について説明するためのものであり、その基本的なシステム構成は、図９乃至図１４と共に説明したシステム構成例を想定したものである。尚、システムを構成する各ノードは、例えばＬ２ＳＷとされる。
【００３３】
図１５において、受信パケットの宛先への経路がトランクを含み、且つ当該ノードにて、該当する宛先アドレス（ＤＡ）と同一のアドレスからのパケットを受信済みでその際の送信元アドレス学習結果を有する場合、即ち、宛先検索(図２のステップＳ３)にてヒット対象を有する場合、該当トランクを有する全てのノードに対して学習パケットを送信する。即ち、図１５において、一旦端末１０から端末２０に対してパケットが転送され、その転送動作によって通過された各ノード、例えばカード＃５において、その後端末２０から端末１０に対する返信のパケットが受信された場合、カード＃５では該当するトランクを有する全てのノード、即ちカード＃３，＃４に対して学習パケットを送信する。これによってこれら全てのノードにて該当するＭＡＣアドレスについての経路が学習される。即ち、この場合、カード＃３，＃４の各々において端末２０のＭＡＣアドレス“Ｂ”につき、カード＃５を有する経路が学習される。
【００３４】
そして、説明の便宜上、端末２０が受信する方向ではトランクの代表ポートとしてカード＃１，＃３の経路が選択され、端末１０への送信の方向ではこれと異なり、同じトランクの代表ポートとしてカード＃４，＃２の経路が選択される場合を想定する。この場合、上記学習パケットの生成が無かった場合、図１２乃至図１４と共に説明した如く、繰り返しフラッディングが発生することとなる。即ち再度端末２０に対する送信方向のパケットがカード＃３に到来した場合、カード＃３は端末２０からの受信方向のパケットを受信していないため、該当学習結果を有さず、再びフラッディングすることとなる。しかしながら本発明の実施の形態によれば上記の如く学習パケットがカード＃５からカード＃３，＃４に発信されているため、カード＃３，＃４は双方とも端末２０のＭＡＣアドレス“Ｂ”について学習済みである。そのため、再度端末２０への送信方向のパケットがカード＃３に到来した場合でも、カード＃３は上記学習パケットによる学習結果にしたがって端末２０への経路を特定出来る。
【００３５】
図１６は、本実施の形態における各カードの動作タイムチャートを示す。図中、（ａ）はエージング処理を行なうためのクロックパルスである。尚、当該クロックパルスの内、破線で囲われたパルスが実際のエージング処理を起動するパルスである。即ち、クロックパルス発生の４回に一回エージング処理が起動される。（ｂ）はカードＬＡカウンタのカウント値を示す。当該カウンタは上記クロックパルス（ａ）毎に図示の如く繰り返し０乃至７の値を順次採るように更新される。
【００３６】
図１６，（ｃ）はコンテンツカウンタのカウント値を示す。コンテンツカウンタは、学習結果毎に設けられる。又、縦方向の破線は受信パケットの受信タイミングを示す。図示の如くある送信元アドレス（ＳＡ）についてのパケットが受信された際に新規学習がなされ、その結果、当該コンテンツカウンタの値が“０”にされる。そして次に同じＭＡＣアドレスに対するパケットが受信された場合、その受信タイミングのカードＬＡカウンタの値、この場合“４”を取り込む。そして、この場合、上記学習パケットを生成（図中、星印で示す）し、該当するトランクの全てのノードに対して送信する。
【００３７】
図１６，（ｄ）は、学習パケット送信済み状態フラグの状態を示す。当該フラグは各学習結果毎に設けられており、該当するＭＡＣアドレスについて学習パケットが生成された際に値“１”が立てられる。そして、上記学習パケット生成直後に再度該当宛先のパケットが受信された場合、それがカードＬＡカウンタの値が同じ“４”である期間内であれば再度の学習パケットは生成しない。即ち、学習パケットの最短生成周期はエージング処理起動周期の１／４である。
【００３８】
そして、その後、エージング処理が起動されると、上記状態フラグは図示の如く“０”にクリアされる。そして、図示の如く、再度該当する受信パケットが受信された場合、前回の学習パケット生成以後にカードＬＡカウンタの値が更新されているため、再度学習パケットが生成される。そしてその結果、図示の如く（ｄ）の状態フラグが再び“１”に戻る。
【００３９】
そして、その後、該当する受信パケットが受信されないまま次回のエージング処理が起動された場合、図５のステップＳ１１，Ｓ１２に示すヒットビットと同様に、最初は状態フラグが“０”にクリアされる。そして、その後、次のエージング処理起動まで、該当受信パケットが受信されなかった場合、図示の如く該当するＭＡＣアドレスについての学習結果が削除される。尚、図１６において、（ｃ）のコンテンツカウンタに数字が入っていない状態は、学習結果が存在しないことを意味する。
【００４０】
このように本発明の実施の形態による図１６に示す構成の場合、学習パケットの生成間隔、即ち発信間隔はエージング処理起動間隔より短く設定される。即ち、各ノード毎にエージング処理タイミングのばらつき、送信処理のタイムラグ等で発生する処理タイミングの揺らぎ、パケット流量が多い際に発生するパケット削除等によって、通信が継続しているのにもかかわらず学習情報がエージング処理にて削除されてしまうようなことを防ぐため、学習パケットを複数回送信するものとし、その送信期間をエージング処理起動間隔より短く設定することが望ましいのである。
【００４１】
図１５において、ノード群６０のカード＃０にて端末１０から端末２０に宛てたＩＰパケットを受信した場合であって、その時点では端末１０のＭＡＣアドレス“Ａ”、端末２０のＭＡＣアドレス“Ｂ”の双方について、学習結果は存在していないものとする。この場合、図１７に示す如く、カード＃０から当該パケットをフラッディングする(ステップＰ３１)。
【００４２】
これを受けたカード＃１、＃２は、端末２０に至る経路としてカード＃３，＃４に至るトランクＢを有するものとする。そして当該パケットはカード＃１、カード＃２の各々によってフラッディングされる（ステップＰ３２）。但し、この場合、トランクＢについてはカード＃１が代表ポートとして選択されるものとし、もってカード＃２から同じトランクＢ内のカード＃４への送信は行なわれない。又これを受けたノード群７０のカード＃３も同様にフラッディングを行なう（ステップＰ３３）。
【００４３】
これを受けたカード＃４，＃５は、更にフラッディングを行なう(ステップＰ３４)。なおこの場合、上記トランクＢについての代表ポートとして選択されているのは、上記代表ポートとして選択されたカード＃１に対向するカード＃３であってカード＃４ではない。このため、カード＃４から同じトランクＢ内のカード＃２に対する送信は行なわない。尚、上記一連の転送動作の間で、カード＃３，＃４，＃５の各々では、送信元の端末１０のＭＡＣアドレス“Ａ”（ＳＡ）について、上記トランクＢと同一のトランクをトランクＡとして学習する。
【００４４】
その後、カード＃５は所定のタイミングで、上記トランクＡを有する全てのノードに対して学習パケットを発信する(ステップＰ３４)。その結果、トランクＡを有するカード＃３，＃４の双方共端末２０のＭＡＣアドレス“Ｂ”につき、カード＃５を有する経路を学習することとなる。
【００４５】
その後、図１８に示す如く、カード＃５が端末２０から端末１０に対するＩＰパケットを受信した場合、この端末１０のＭＡＣアドレス“Ａ”は前記ステップＰ３３によりパケットを受信した際に学習しているため、その学習結果であるトランクＡを適用する。その際、カード＃５のハードウェア独自の演算方法により、トランクＡを構成する経路のうち、カード＃４による経路を選択し、これを適用するものとする（ステップＰ２０）。これを受けたカード＃４では、所定のトランク情報から対向するカードとしてカード＃２を特定し、これを適用する（ステップＰ２１）。
【００４６】
これを受けたカード＃２では、既に、前回ステップＰ３１にてパケット受信の際にＭＡＣアドレス“Ａ”について学習しているため、該当経路としてカード＃０を特定して適用する（ステップＰ３７）。そしてカード＃０は、前回端末１０からパケットを受信した際の学習結果(図１７の最上段)により、ＩＰパケットを端末１０に転送する（フラッディングしない）。その後、カード＃０は上記トランクＢを有する全てのノードに対して学習パケットを発信する(ステップＰ３８)。その結果、トランクＢを有するカード＃１，＃２の双方共端末１０のＭＡＣアドレス“Ａ”につき、カード＃０を有する経路を上書き学習する。
【００４７】
尚、この時点でエージングが起動された場合、上記ヒットビット、学習パケット送信済み状態フラグ共に“１”が立っているため、これらは“０”にクリアされるが、該当する端末１０，端末２０の夫々のＭＡＣアドレス“Ａ”，“Ｂ”についての学習結果はこの時点では削除されない。
【００４８】
そしてその後図１９に示す如く再度端末１０から端末２０に対するパケットが発信された場合、これを受信したカード＃０は、端末１０のＭＡＣアドレス“Ａ”についての学習結果を上書きする。又、カード＃０は、前回端末２０からのパケット受信時（図１８のステップＰ３７）に該当ＭＡＣアドレス“Ｂ”についての経路としてトランクＢを学習している。そのため、カード＃０のハードウェア独自の演算方法により、トランクＢを構成する経路のうち、カード＃１による経路を選択し、これを適用する（ステップＰ４１）。
【００４９】
又この場合、端末２０に対する宛先検索において該当ＭＡＣアドレス“Ｂ”がヒットし、又端末２０に至る経路がトランクを含むため、前回の学習パケット生成からエージング処理起動間隔の１／４が経過していれば学習パケット生成の条件を満たす。その場合、カード＃１，＃２に対して学習パケットを発信する（ステップＰ４１）。その結果カード＃１，＃２の各々は、ＭＡＣアドレス“Ａ”についての学習結果を上書きする。
【００５０】
又上記端末１０から発せられカード＃０を通過したパケットがカード＃１に至った場合、カード＃１では、所定のトランク情報から対向するカードとしてカード＃３を特定し、これを適用する（ステップＰ４２）。その結果パケットを受けたカード＃３では、既に、前回ステップＰ３４にて学習パケット受信の際にＭＡＣアドレス“Ｂ”について学習しているため、該当経路としてカード＃５を特定して適用する（ステップＰ４３）。
【００５１】
尚、このようにステップＳ３４において学習パケットが生成されていない場合には、ここではフラッディングを行なうこととなる。但しその場合でも、後述する如くカード＃５にてその後再度端末２０から端末１０に対してパケットが発信された場合には上記学習パケット生成条件を満たすこととなるためにカード＃３に対しても学習パケットが送られて端末２０について学習される（図２０のステップＰ４５）。このため、それ以降は経路特定が可能となりフラッディングは不要となる。
【００５２】
そしてこのようにして端末１０からのパケットを受信したカード＃５は、前回端末２０からパケットを受信した際の学習結果(図１８の最上段)により、当該パケットを端末２０に転送する（フラッディングしない）。その後、カード＃５はトランクＡを有する全てのノードに対して学習パケットを発信する(ステップＰ４４)。その結果、トランクＡを有するカード＃３，＃４の双方共端末２０のＭＡＣアドレス“Ｂ”につき、カード＃５を有する経路を上書き学習する。
【００５３】
尚、この時点、即ち図２０の最上段でエージングが起動された場合、上記ヒットビット、学習パケット送信済み状態フラグ共に“１”が立っているため、これらが“０”クリアされるが、該当する端末１０，端末２０の夫々のＭＡＣアドレス“Ａ”，“Ｂ”についての学習結果が削除されることはない。
【００５４】
そしてその後図２０に示す如く更に再度端末２０から端末１０に対するパケットが発信された場合、これを受信したカード＃５は、端末２０のＭＡＣアドレス“Ｂ”についての学習結果を上書きする。又、カード＃５は前回端末１０からのパケット受信時（図１９のステップＰ４３）に該当ＭＡＣアドレス“Ａ”についての経路としてトランクＡを上書き学習している。そのため、カード＃５のハードウェア独自の演算方法により、トランクＡを構成する経路のうち、カード＃４による経路を選択し、これを適用する（ステップＰ４５）。
【００５５】
又この場合、カード＃５では、端末１０に対する宛先検索にて該当ＭＡＣアドレス“Ａ”がヒットし、又端末１０に至る経路がトランクを含むため、前回の学習パケット生成からエージング処理起動間隔の１／４が経過していれば上記の如く、学習パケット生成の条件を満たす。その場合、カード＃３，＃４に対して学習パケットを発信する（ステップＰ４５）。その結果カード＃３，＃４の各々は、ＭＡＣアドレス“Ｂ”についての学習結果を上書きする。
【００５６】
上記の如く上記端末２０から発せられカード＃５を通過したパケットがカード＃４に至った場合、カード＃４では、所定のトランク情報から対向するカードとしてカード＃２を特定し、これを適用する（ステップＰ４６）。これを受けたカード＃２では、既に、前回ステップＰ４１にて学習パケット受信の際にＭＡＣアドレス“Ａ”について学習しているため、該当経路としてカード＃０を特定して適用する（ステップＰ４７）。
【００５７】
そしてこのようにして端末２０からのパケットを受信したカード＃０は、前回端末１０からパケットを受信した際の学習結果(図１９の最上段)により、当該パケットを端末１０に転送する（フラッディングしない）。その後、カード＃０はトランクＢを有する全てのノードに対して学習パケットを発信する(ステップＰ４８)。その結果、トランクＢを有するカード＃１，＃２の双方共端末１０のＭＡＣアドレス“Ａ”につき、カード＃０を有する経路を上書き学習することとなる。
【００５８】
尚、本願は以下に示す付記の構成を含む。
(付記１）
受信パケットをその宛先アドレスによって転送するためのパケット転送方法であって、
各装置にて受信パケットの送信元アドレスをその受信経路と対応させて学習する学習段階よりなり、
各装置では受信パケットの宛先アドレスにつき、当該アドレスと該当する経路との対応関係についての学習結果を有する場合には該当経路を通じて当該受信パケットを発信し、他方、前記の学習結果を有しない場合全ての経路を通じて当該受信パケットを発信する構成とされてなり、
所定のタイミングで各装置に対する学習パケットを生成する学習パケット生成段階を含むパケット転送方法。
(付記２）
更に、前記学習段階による学習結果につき、所定の削除周期で削除する削除段階を含み、
前記学習パケット生成段階にて学習パケットを生成し得る周期は、前記所定の削除周期より短く設定されてなる付記１に記載の方法。
(付記３）
各装置にて学習パケット送信済みフラグを持ち、学習パケット生成段階実行時に当該フラグを立て、前記削除段階の実行タイミングでは当該フラグが立っていればこれをクリアして学習結果は削除せず、次の削除段階の実行タイミングにて当該フラグがクリアされたままの場合に初めて学習結果を削除する構成とされてなる付記２に記載の方法。
(付記４）
前記学習パケット生成段階は、受信パケットの宛先アドレスにつき、当該アドレスと該当する経路との対応関係についての学習結果を有しない場合について実行する構成とされたなる付記１乃至３のうちの何れかに記載の方法。
(付記５）
複数の経路を単一の仮想集合経路とみなすリンクアグリゲーション適用の際、前記学習段階では、受信経路として仮想集合経路を学習する構成とされてなる付記１乃至４の内の何れかに記載の方法。
(付記６）
前記学習パケット生成段階は、受信パケットの宛先アドレスにつき、当該宛先に至る経路がリンクアグリゲーションの適用による仮想集合経路であり、且つ当該アドレスと該当する経路との対応関係についての学習結果を有しない場合について実行する構成とされ、その際には当該仮想集合経路を有する全ての装置に対して学習パケットを生成する構成とされてなる付記１乃至５の内の何れかに記載の方法。
(付記７）
受信パケットをその宛先アドレスによって転送するためのパケット転送システムであって、
パケット転送を行う各装置は受信パケットの送信元アドレスをその受信経路と対応させて学習する学習手段を有し、
各装置では受信パケットの宛先アドレスにつき、当該アドレスと該当する経路との対応関係についての学習結果を有する場合には該当経路を通じて当該受信パケットを発信し、他方、前記の学習結果を有しない場合全ての経路を通じて当該受信パケットを発信する構成とされてなり、
各装置は更に、所定のタイミングで他の装置に対する学習パケットを生成する学習パケット生成手段を有するパケット転送システム。
(付記８）
更に、前記学習手段による学習結果につき、所定の削除周期で削除する削除手段を含み、
前記学習パケット生成手段にて学習パケットを生成し得る周期は、前記所定の削除周期より短く設定されてなる付記７に記載のパケット転送システム。
(付記９）
各装置にて学習パケット送信済みフラグを持ち、学習パケット生成手段による学習パケット生成時に当該フラグを立て、前記削除手段による学習結果削除のタイミングでは当該フラグが立っている場合にはこれをクリアして学習結果は削除せず、次の削除タイミングにて当該フラグがクリアされたままの場合に初めて学習結果を削除する構成とされてなる付記８に記載のパケット転送システム。
(付記１０）
前記学習パケット生成手段は、受信パケットの宛先アドレスにつき、当該アドレスと該当する経路との対応関係についての学習結果を有しない場合について学習パケットを生成する構成とされたなる付記７乃至９のうちの何れかに記載のパケット転送システム。
(付記１１）
複数の経路を単一の仮想集合経路とみなすリンクアグリゲーション適用の際、前記学習手段は、受信経路として仮想集合経路を学習する構成とされてなる付記７乃至１０の内の何れかに記載のパケット転送システム。
(付記１２）
前記学習パケット生成手段は、受信パケットの宛先アドレスにつき、当該宛先に至る経路がリンクアグリゲーションの適用による仮想集合経路であり、且つ当該アドレスと該当する経路との対応関係についての学習結果を有しない場合について学習パケットを生成する構成とされ、その際には当該仮想集合経路を有する全ての装置に対して学習パケットを生成する構成とされてなる付記７乃至１１のうちの何れかに記載のパケット転送システム。
(付記１３）
受信パケットをその宛先アドレスによって転送するためのパケット転送装置であって、
受信パケットの送信元アドレスをその受信経路と対応させて学習する学習手段を有し、
受信パケットの宛先アドレスにつき、当該アドレスと該当する経路との対応関係についての学習結果を有する場合には該当経路を通じて当該受信パケットを発信し、他方、前記の学習結果を有しない場合全ての経路を通じて当該受信パケットを発信する構成とされてなり、
更に、所定のタイミングで他のパケット転送装置に対する学習パケットを生成する学習パケット生成手段を有するパケット転送装置。
(付記１４）
更に、前記学習手段による学習結果につき、所定の削除周期で削除する削除手段を含み、
前記学習パケット生成手段にて学習パケットを生成し得る周期は、前記所定の削除周期より短く設定されてなる付記１３に記載のパケット転送装置。
(付記１５）
更に学習パケット送信済みフラグを持ち、学習パケット生成手段による学習パケット生成時に当該フラグを立て、前記削除手段による学習結果削除のタイミングでは当該フラグが立っている場合にはこれをクリアして学習結果は削除せず、次の削除タイミングにて当該フラグがクリアされたままの場合に初めて学習結果を削除する構成とされてなる付記１４に記載のパケット転送装置。
(付記１６）
前記学習パケット生成手段は、受信パケットの宛先アドレスにつき、当該アドレスと該当する経路との対応関係についての学習結果を有しない場合について学習パケットを生成する構成とされたなる付記１３乃至１５のうちの何れか一項に記載のパケット転送装置。
(付記１７）
複数の経路を単一の仮想集合経路とみなすリンクアグリゲーション適用の際、前記学習手段は、受信経路として仮想集合経路を学習する構成とされてなる付記１３乃至１６の内の何れかに記載のパケット転送装置。
(付記１８）
前記学習パケット生成手段は、受信パケットの宛先アドレスにつき、当該宛先に至る経路がリンクアグリゲーションの適用による仮想集合経路であり、且つ当該アドレスと該当する経路との対応関係についての学習結果を有しない場合について学習パケットを生成する構成とされ、その際には当該仮想集合経路を有する全てのパケット転送装置に対して学習パケットを生成する構成とされてなる付記１３乃至１７のうちの何れかに記載のパケット転送装置。
【図面の簡単な説明】
【００５９】
【図１】従来の一例の経路学習機能について説明するためのブロック図（その１）である。
【図２】従来の一例の経路学習機能について説明するための動作フローチャートである。
【図３】従来の一例の経路学習機能について説明するためのブロック図（その２）である。
【図４】従来の一例の経路学習機能について説明するための動作遷移図である。
【図５】従来の一例のエージング処理機能について説明するための動作フローチャートである。
【図６】従来の一例のエージング処理機能について説明するためのブロック図である。
【図７】従来の一例のエージング処理機能について説明するための動作遷移図（その１）である。
【図８】従来の一例のエージング処理機能について説明するための動作遷移図（その２）である。
【図９】従来の一例のリンクアグリゲーション機能について説明するためのブロック図である。
【図１０】従来の一例のリンクアグリゲーション機能について説明するための動作遷移図（その１）である。
【図１１】従来の一例のリンクアグリゲーション機能について説明するための動作遷移図（その２）である。
【図１２】従来の一例による繰り返しフラッディング発生による問題点について説明するためのブロック図である。
【図１３】従来の一例のリンクアグリゲーション機能について説明するための動作遷移図（その３）である。
【図１４】従来の一例のリンクアグリゲーション機能について説明するための動作遷移図（その４）である。
【図１５】本発明の実施の形態によるパケット転送システムの動作について説明するためのブロック図である。
【図１６】本発明の実施の形態によるパケット転送装置の動作について説明するためのタイムチャート図である。
【図１７】本発明の実施の形態によるパケット転送システムの動作について説明するための動作遷移図（その１）である。
【図１８】本発明の実施の形態によるパケット転送システムの動作について説明するための動作遷移図（その２）である。
【図１９】本発明の実施の形態によるパケット転送システムの動作について説明するための動作遷移図（その３）である。
【図２０】本発明の実施の形態によるパケット転送システムの動作について説明するための動作遷移図（その４）である。
【符号の説明】
【００６０】
１０，２０    端末
５０−０，５０−１，５０−２    ノード
＃０、＃１、＃２、＃３、＃４、＃５    ラインカード又はノード
６０，７０    ノード群
【図１】
2005086668.tif 000003
【図２】
2005086668.tif 000004
【図３】
2005086668.tif 000005
【図４】
2005086668.tif 000006
【図５】
2005086668.tif 000007
【図６】
2005086668.tif 000008
【図７】
2005086668.tif 000009
【図８】
2005086668.tif 000010
【図９】
2005086668.tif 000011
【図１０】
2005086668.tif 000012
【図１１】
2005086668.tif 000013
【図１２】
2005086668.tif 000014
【図１３】
2005086668.tif 000015
【図１４】
2005086668.tif 000016
【図１５】
2005086668.tif 000017
【図１６】
2005086668.tif 000018
【図１７】
2005086668.tif 000019
【図１８】
2005086668.tif 000020
【図１９】
2005086668.tif 000021
【図２０】
2005086668.tif 000022