(57)【特許請求の範囲】
【請求項１】
ネットワーク機器が転送情報ベース（ＦＩＢ）エントリを確立し、前記ＦＩＢエントリは、前記ネットワーク機器と宛先ネットワーク機器の間で等コストパスとして構成されたＮ本のパスに対応する不等コストマルチパス（ＵＣＭＰ）テーブルのＵＣＭＰエントリの数と前記宛先ネットワーク機器のアドレスとを含み、前記ＵＣＭＰテーブルのＵＣＭＰエントリ数は所定の固定値であり、Ｎは２以上の整数であることと、
前記ネットワーク機器が、前記Ｎ本のパスにおける各パスの重みと前記固定値とに基づいて前記各パスにＵＣＭＰエントリを配分し、前記ＵＣＭＰエントリには、対応するパスのインデックス情報が記録され、前記Ｎ本のパスにおける各パスに対応するＵＣＭＰエントリの数の和は、前記固定値であることと、を含み、
前記Ｎ本のパスにおける各パスの重みと前記固定値とに基づいて前記各パスにＵＣＭＰエントリを配分することは、
前記ネットワーク機器が、前記Ｎ本のパスにおける各パスについて、前記各パスの重みと前記固定値とに基づいて、第１数値を特定することと、
前記ネットワーク機器が、前記固定値と前記Ｎ本のパスにおける各パスに対応する第１数値の和との差を第２数値として特定することと、を含み、
前記第２数値が０である場合に、
前記ネットワーク機器が各パスに配分するＵＣＭＰエントリの数は、前記第１数値であり、
前記第２数値が０より大きい場合に、
前記ネットワーク機器がＮ本のパスの重みの大きさを用いてＮ本のパスを並べ替え、
前記ネットワーク機器が前記並び替えられたＮ本のパスにおける前のパスの各々に配分するＵＣＭＰエントリの数は、前記第１数値に１を加算したものであり、
前記ネットワーク機器が前記並び替えられたＮ本のパスにおける残りのパスの各々に配分するＵＣＭＰエントリの数は、前記第１数値であることを特徴とする、等コストパスエントリ確立方法。
【請求項２】
前記Ｎ本のパスにおける各パスの重みと前記固定値とに基づいて前記各パスについて前記第１数値を特定することは、
前記Ｎ本のパスにおける各パスについて、前記ネットワーク機器が、前記固定値と前記パスの重みとの積を前記Ｎ本のパスの重みの和である総重みで除算して小数点以下を切り捨て、前記パスに対応する前記第１数値（Ｔ）を取得することとを特徴とする請求項１に記載の方法。
【請求項３】
前記等コストパスの数が変化したときに、前記ネットワーク機器が、変化後の等コストパスであるＮ′（Ｎ′は、２以上の整数である）本のパスにおける各パスの重みと前記固定値とに基づいて、前記Ｎ′本のパスにおける各パスにＵＣＭＰエントリを再配分することを更に含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記等コストパスにパスが追加されたときに、
前記Ｎ本のパスにおける各パスについて、前記ネットワーク機器が、前記パスに対応するＵＣＭＰエントリ減少数を特定し、対応する数のＵＣＭＰエントリを前記パスに対応するＵＣＭＰエントリから選択することと、
前記ネットワーク機器が、選択した前記ＵＣＭＰエントリを前記追加されたパスに配分することと、を更に含むことを特徴とする請求項２に記載の方法。
【請求項５】
前記Ｎ本のパスにおける各パスについて、前記パスに対応するＵＣＭＰエントリ減少数を特定することは、
前記ネットワーク機器が、パスが追加された後の等コストパスの数Ｎ″（Ｎ″は、２以上の整数である）を特定することと、
前記ネットワーク機器が、前記Ｎ″本のパスにおける各パスの重みと前記固定値とに基づいて各パスに対応するＵＣＭＰエントリの数を特定することと、
前記Ｎ本のパスにおける各パスについて、前記ネットワーク機器が、Ｎ本のパスにおける前記パスに対応するＵＣＭＰエントリの数と前記Ｎ″本のパスにおける前記パスに対応するＵＣＭＰエントリの数との差を前記パスに対応するＵＣＭＰエントリ減少数として特定することと、を含むことを特徴とする請求項４に記載の方法。
【請求項６】
前記等コストパスからパスが削除されたときに、
前記ネットワーク機器が、パスが削除された後の等コストパスの数Ｎ'''（Ｎ'''は、２以上の整数である）を特定することと、
前記Ｎ'''本の等コストパスにおける各パスについて、前記ネットワーク機器が前記パ
スに対応するＵＣＭＰエントリ増加数を特定し、前記削除されたパスに対応するＵＣＭＰエントリから対応する数のエントリを選択して前記パスに配分することと、を更に含むことを特徴とする請求項２に記載の方法。
【請求項７】
前記Ｎ'''本の等コストパスにおける各パスについて、前記ネットワーク機器が前記パスに対応するＵＣＭＰエントリ増加数を特定することは、
前記ネットワーク機器が、前記Ｎ'''本のパスにおける各パスの重みと前記固定値とに基づいて各パスに対応するＵＣＭＰエントリの数を特定することと、
前記Ｎ'''本の等コストパスにおける各パスについて、前記ネットワーク機器が、Ｎ'''本のパスにおける前記パスに対応するＵＣＭＰエントリの数と前記Ｎ本のパスにおける前記パスに対応するＵＣＭＰエントリの数との差を前記パスに対応するＵＣＭＰエントリ増加数として特定することと、を含むことを特徴とする請求項６に記載の方法。
【請求項８】
ネットワーク機器であって、
プロセッサと、機器読み取り可能な記憶媒体とを備え、
前記機器読み取り可能な記憶媒体には、前記プロセッサによって実行され得る機器の実行可能な指令が記憶され、前記プロセッサは、前記機器の実行可能な指令により、
転送情報ベース（ＦＩＢ）エントリを確立し、前記ＦＩＢエントリは、前記ネットワーク機器と宛先ネットワーク機器の間で等コストパスとして構成されたＮ本のパスに対応する不等コストマルチパス（ＵＣＭＰ）テーブルのＵＣＭＰエントリの数と前記宛先ネットワーク機器のアドレスとを含み、前記ＵＣＭＰテーブルのＵＣＭＰエントリの数は所定の固定値であり、Ｎは２以上の整数であることと、
前記Ｎ本のパスにおける各パスの重みと前記固定値とに基づいて前記各パスにＵＣＭＰエントリを配分し、前記ＵＣＭＰエントリには、対応するパスのインデックス情報が記録され、前記Ｎ本のパスにおける各パスに対応するＵＣＭＰエントリの数の和は、前記固定値であることと、を実行させ、
前記Ｎ本のパスにおける各パスの重みと前記固定値とに基づいて前記各パスにＵＣＭＰエントリを配分することは、
前記Ｎ本のパスにおける各パスについて、前記各パスの重みと前記固定値とに基づいて、第１数値を特定することと、
前記固定値と前記Ｎ本のパスにおける各パスに対応する第１数値の和との差を第２数値として特定することと、を含み、
前記第２数値が０である場合に、
各パスに配分されるＵＣＭＰエントリの数は、前記第１数値であり、
前記第２数値が０より大きい場合に、
Ｎ本のパスの重みの大きさを用いてＮ本のパスを並べ替え、
前記並び替えられたＮ本のパスにおける前のパスの各々に配分されるＵＣＭＰエントリの数は、前記第１数値に１を加算したものであり、
前記並び替えられたＮ本のパスにおける残りのパスの各々に配分されるＵＣＭＰエントリの数は、前記第１数値であることを特徴とする、ネットワーク機器。
【請求項９】
前記プロセッサは、前記機器の実行可能な指令により、
前記Ｎ本のパスにおける各パスについて、前記固定値と前記パスの重みとの積を前記Ｎ本のパスの重みの和である総重みで除算して小数点以下を切り捨て、前記パスに対応する前記第１数値（Ｔ）を特定すること、を実行させることを特徴とする請求項８に記載のネットワーク機器。
【請求項１０】
前記プロセッサは、更に、前記機器の実行可能な指令により、
前記等コストパスの数が変化したときに、変化後の等コストパスであるＮ′（Ｎ'は、２以上の整数である）本のパスにおける各パスの重みと前記固定値とに基づいて、前記Ｎ′本のパスにおける各パスにＵＣＭＰエントリを再配分することを実行させることを特徴とする請求項９に記載のネットワーク機器。
【請求項１１】
前記プロセッサは、更に、前記機器の実行可能な指令により、
前記等コストパスにパスが追加されたときに、
前記Ｎ本のパスにおける各パスについて、前記パスに対応するＵＣＭＰエントリ減少数を特定し、対応する数のＵＣＭＰエントリを前記パスに対応するＵＣＭＰエントリから選択することと、
選択した前記ＵＣＭＰエントリを前記追加されたパスに配分することと、を実行させることを特徴とする請求項９に記載のネットワーク機器。
【請求項１２】
前記プロセッサは、前記機器の実行可能な指令により、
パスが追加された後の等コストパスの数Ｎ″（Ｎ″は、２以上の整数である）を特定することと、
前記Ｎ″本のパスにおける各パスの重みと前記固定値とに基づいて各パスに対応するＵＣＭＰエントリの数を特定することと、
前記Ｎ本のパスにおける各パスについて、Ｎ本のパスにおける前記パスに対応するＵＣＭＰエントリの数と前記Ｎ″本のパスにおける前記パスに対応するＵＣＭＰエントリの数との差を前記パスに対応するＵＣＭＰエントリ減少数として特定することと、を実行させることを特徴とする請求項１１に記載のネットワーク機器。
【請求項１３】
前記プロセッサは、更に、前記機器の実行可能な指令により、
前記等コストパスからパスが削除されたときに、
パスが削除された後の等コストパスの数Ｎ'''（Ｎ'''は、２以上の整数である）を特定することと、
前記Ｎ'''本の等コストパスにおける各パスについて、前記パスに対応するＵＣＭＰエントリ増加数を特定し、前記削除されたパスに対応するＵＣＭＰエントリから対応する数のエントリを選択して前記パスに配分することと、を実行させることを特徴とする請求項９に記載のネットワーク機器。
【請求項１４】
前記プロセッサは、前記機器の実行可能な指令により、
前記Ｎ'''本のパスにおける各パスの重みと前記固定値とに基づいて各パスに対応するＵＣＭＰエントリの数を特定することと、
前記Ｎ'''本の等コストパスにおける各パスについて、Ｎ'''本のパスにおける前記パスに対応するＵＣＭＰエントリの数と前記Ｎ本のパスにおける前記パスに対応するＵＣＭＰエントリの数との差を前記パスに対応するＵＣＭＰエントリ増加数として特定することと、を実行させることを特徴とする請求項１３に記載のネットワーク機器。
【請求項１５】
機器の実行可能な指令が記憶される機器読み取り可能な記憶媒体であって、
前記機器の実行可能な指令がネットワーク機器のプロセッサによって呼び出して実行されるときに、前記プロセッサは、
転送情報ベース（ＦＩＢ）エントリを確立し、前記ＦＩＢエントリは、前記ネットワーク機器と宛先ネットワーク機器の間で等コストパスとして構成されたＮ本のパスに対応する不等コストマルチパス（ＵＣＭＰ）テーブルのＵＣＭＰエントリの数と前記宛先ネットワーク機器のアドレスとを含み、前記ＵＣＭＰテーブルのＵＣＭＰエントリの数は所定の固定値であり、Ｎは２以上の整数であることと、
前記Ｎ本のパスにおける各パスの重みと前記固定値とに基づいて前記各パスにＵＣＭＰエントリを配分し、前記ＵＣＭＰエントリには、対応するパスのインデックス情報が記録され、前記Ｎ本のパスにおける各パスに対応するＵＣＭＰエントリの数の和は、前記固定値であることと、を実行させ、
前記Ｎ本のパスにおける各パスの重みと前記固定値とに基づいて前記各パスにＵＣＭＰエントリを配分することは、
前記Ｎ本のパスにおける各パスについて、前記各パスの重みと前記固定値とに基づいて、第１数値を特定することと、
前記固定値と前記Ｎ本のパスにおける各パスに対応する第１数値の和との差を第２数値として特定することと、を含み、
前記第２数値が０である場合に、
各パスに配分されるＵＣＭＰエントリの数は、前記第１数値であり、
前記第２数値が０より大きい場合に、
Ｎ本のパスの重みの大きさを用いてＮ本のパスを並べ替え、
前記並び替えられたＮ本のパスにおける前のパスの各々に配分されるＵＣＭＰエントリの数は、前記第１数値に１を加算したものであり、
前記並び替えられたＮ本のパスにおける残りのパスの各々に配分されるＵＣＭＰエントリの数は、前記第１数値であることを特徴とする、機器読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互引用
本願は、出願日が２０１７年１月２５日であり、出願番号が２０１７１００５６６７４．７であり、発明名称が「等コストマルチパスルーティングエントリ確立方法及び装置」である中国特許出願の優先権を主張し、当該出願の全文が引用により本願に組み込まれる。
【背景技術】
【０００２】
ネットワーク応用の迅速な発展に伴い、ＵＣＭＰ（Ｕｎｅｑｕａｌ Ｃｏｓｔ Ｍｕｌｔｉｐａｔｈ、不等コストマルチパス）の応用は、更に広くなる。ＵＣＭＰは異なるパスに異なる流量を配分することができる。例えば、ＵＣＭＰは一定の割合（例えば、２：３）で流量をパス１およびパス２に配分する。例えば、パス１の帯域幅が１０Ｇであり、パス２の帯域幅が１００Ｇであり、ＵＣＭＰが用いられると、流量を割合１：１０でパス１およびパス２に配分できる。明らかに、ＵＣＭＰにより、負荷分散がより合理的であり、帯域幅の利用がより効率的である。
【図面の簡単な説明】
【０００３】
【図１】本発明の一実施形態における等コストパスエントリ確立方法のフローチャートである。
【図２】本発明の実施形態におけるＦＩＢテーブル、ＵＣＭＰテーブルと隣接テーブルの間の関係の模式図である。
【図３】本発明の一実施形態におけるネットワーク機器のハードウェア構造図である。
【図４】本発明の一実施形態における等コストパスエントリ確立論理の構造模式図である。
【発明を実施するための形態】
【０００４】
以下では、本発明の実施例の図面を組み合わせて本発明の実施例における解決手段を明瞭で完全に記述する。明らかに、記述される実施例が単に本発明の一部の実施例に過ぎず、全部の実施例ではない。本発明における実施例に基づいて、当業者が進歩性に値する労働をせずに成した全ての他の実施例は、何れも本発明の保護範囲に含まれる。
【０００５】
ＵＣＭＰを図るために、ネットワーク機器によってメンテナンスされるＵＣＭＰテーブルには、割合に応じてインデックスを配分する。例えば、パス１とパス２との割合が２：３である場合に、ＵＣＭＰテーブルは、５個のインデックスを含む。そのうち、２個のインデックスは、パス１に対応し、もう３個のインデックスは、パス２に対応する。そして、ＦＩＢ（Ｆｏｒｗａｒｄ Ｉｎｆｏｒｍａｔｉｏｎ ｄａｔａＢａｓｅ、転送情報ベース）エントリにも、ＵＣＭＰテーブルの情報を含む。このように、ネットワーク機器は、パケットを受信した後、まず当該パケットにマッチングするＦＩＢエントリを検索し、当該ＦＩＢエントリにおけるＵＣＭＰテーブルの情報を利用し、当該パケットに対応するインデックスを特定し、その後当該インデックスに対応するパスを介して当該パケットを送信する。
【０００６】
パス１とパス２との割合が変化したときに、例えば、３：５に変化したときに、ネットワーク機器は、ＵＣＭＰテーブルにおけるインデックス数を８に調整する。３個のインデックスは、パス１に対応し、もう５個のインデックスは、パス２に対応する。また、ネットワーク機器は、ＦＩＢエントリに記録されるＵＣＭＰテーブルの情報を調整することが必要である。
【０００７】
前記ＵＣＭＰテーブルに対応するＦＩＢエントリの数が非常に多いため、当該ＵＣＭＰテーブルに対応するあらゆるＦＩＢエントリ内容に対しての補正は、相当な時間がかかる。この時間帯内では、当該ＵＣＭＰテーブルに対応するＦＩＢエントリ伝送パケットを使用できないため、パケット廃棄等の問題が発生してしまう。
【０００８】
本発明の実施例は、等コストパスエントリ確立方法を提出する。当該方法は、ネットワーク機器に応用できる。当該ネットワーク機器は、ＵＣＭＰの方式を用いてパケットを伝送する。ＵＣＭＰを図るために、ネットワーク機器は、少なくともＦＩＢテーブルおよびＵＣＭＰテーブルをメンテナンスする。当該ＦＩＢテーブルにおける各ＦＩＢエントリは、ＩＰアドレス、当該ＦＩＢエントリに関連するＵＣＭＰテーブルのＵＣＭＰエントリの数、および当該ＵＣＭＰテーブルの識別子等の内容を含む。当該ＵＣＭＰテーブルにおける各ＵＣＭＰエントリは、パスのインデックス情報等の内容を含む。無論、当該ＦＩＢエントリと当該ＵＣＭＰエントリとの内容は、何れも上記内容に限定されず、このエントリ内容について制限しない。
【０００９】
一例では、ネットワーク機器と宛先機器との間の少なくとも２本のパスは、等コストパスとして配置される。当該等コストパスは、１つのＵＣＭＰテーブルに対応する。例えば、ネットワーク機器のパス１、パス２は、等コストパスとして配置され、且つ等価のパス１−２は、ＵＣＭＰテーブルＡに対応し、ネットワーク機器のパス３、パス４、パス５は、等コストパスとして配置され、且つ等価のパス３−５は、ＵＣＭＰテーブルＢに対応する。
【００１０】
一例では、等コストパスにおける各パスは、１つのインターフェースに対応し、当該インターフェースは、物理インターフェースであってもよく、論理インターフェース（例えば、複数の物理インターフェースで構成される集約インターフェース）であってもよい。例えば、パス１は、論理インターフェース１に対応し、且つ論理インターフェース１は、物理インターフェースＡ、物理インターフェースＢおよび物理インターフェースＣを含み、パス２は、論理インターフェース２に対応し、且つ論理インターフェース２は、物理インターフェースＤおよび物理インターフェースＥを含む。
【００１１】
図１は、等コストパスエントリ確立方法のフローチャートを示す。当該方法は、下記のステップを含む。
【００１２】
ステップ１０１では、ＦＩＢエントリを確立する。当該ＦＩＢエントリは、宛先機器のアドレスと、前記ネットワーク機器と宛先ネットワーク機器の間で等コストパスとして構成された等コストパスにおけるＮ本のパスに対応するＵＣＭＰテーブルのＵＣＭＰエントリの数とを含み、当該ＵＣＭＰエントリの数は、所定の固定値であり、Ｎは、２以上の整数である。
【００１３】
一例では、ＦＩＢテーブルにおける各ＦＩＢエントリについて、当該ＦＩＢエントリに含まれるＵＣＭＰテーブルのＵＣＭＰエントリの数は、所定の固定値、例えば、２５６等である。当該ＵＣＭＰエントリの数は、所定の固定値である。
【００１４】
ステップ１０２では、等コストパスであるＮ本のパスにおける各パスの重みと当該固定値とに基づいて、各パスにＵＣＭＰエントリを配分する。Ｎ本のパスにおける各パスに対応するＵＣＭＰエントリの数の和は、前記固定値に等しく、且つＵＣＭＰエントリには、対応するパスのインデックス情報が記録されている。
【００１５】
一例では、「前記等コストパスであるＮ本のパスにおける各パスの重みと前記固定値とに基づいて、前記各パスにＵＣＭＰエントリを配分する」手順は、前記Ｎ本のパスにおける各パスについて、前記固定値と前記パスの重みとの積を総重み（前記総重みが前記Ｎ本のパスの重みの和である）で除算して小数点以下を切り捨て、前記パスに対応する第１数値Ｔを取得することと、前記固定値と前記Ｎ本のパスにおける各パスに対応する第１数値の和との差を第２数値Ｄとして特定することとを含む。前記第２数値Ｄが０である場合に、各パスに配分するＵＣＭＰエントリの数は、前記第１数値Ｔである。前記第２数値Ｄが０より大きい場合に、Ｎ本のパスの重みの大きさを用いてＮ本のパスを並べ替え、前Ｄ本のパスにおける各パスに配分するＵＣＭＰエントリの数は、前記第１数値Ｔに１を加算したものであり、残りの各パスに配分するＵＣＭＰエントリの数は、前記第１数値Ｔである。
【００１６】
ＵＣＭＰテーブルにおけるＵＣＭＰエントリの数は、固定値、例えば、２５６等である。無論、当該固定値は、この数値に限定されず、本発明の例示は、この数値について制限しない。
【００１７】
パス１、パス２が等コストパスとして構成されたときに、パス１の重み、パス２の重みが配置されることができる。例えば、パス１で３０%の流量を担持し、パス２で７０%の流量を担持すると希望するときに、パス１の重みが３であり、パス２の重みが７であり、両者の重みの比が３０%：７０%となる。一例示では、パス帯域幅に応じてパス１の重み、パス２の重みを特定する。例えば、パス１に対応する帯域幅が３０Ｇ（例えば、物理インターフェースＡ、物理インターフェースＢおよび物理インターフェースＣの帯域幅の和）であり、且つパス２に対応する帯域幅が５０Ｇ（例えば、物理インターフェースＤおよび物理インターフェースＥの帯域幅の和）である場合には、パス１の重みが３であり、パス２の重みが５であり、両者の重みの比が３０Ｇ：５０Ｇとなる。
【００１８】
一例では、前記Ｎ本のパスにおける各パスについて、例えば、方式一で第１数値Ｔを特定する。前記固定値と前記パスの重みとの積を総重みで除算して小数点以下を切り捨て、前記パスに対応する第１数値Ｔを取得する。別の例では、方式二または方式三で第１数値Ｔを特定する。
【００１９】
方式二では、固定値を総重みで除算して小数点以下を切り捨て、数値Ｍを得る。前記Ｎ本のパスにおける各パスについて、当該パスの重みに数値Ｍを乗じて当該パスに対応する第３数値Ｅを得る。前記固定値からＮ本のパスにおける各パスに対応する第３数値Ｅの和Ｌを減算して差Ｈを得る。前記差Ｈが等コストパスの数より小さい場合に、各パスに対応する第３数値Ｅを当該パスに対応する第１数値Ｔとして特定する。前記差Ｈが等コストパスの数以上である場合に、前記Ｎ本のパスにおける各パスについて、前記差Ｈと当該パスの重みとの積を総重みで除算して小数点以下を切り捨て、当該パスに対応する第４数値Ｆを取得し、当該パスに対応する第３数値Ｅと第４数値Ｆとの和を当該パスに対応する第１数値Ｔとして特定する。
【００２０】
方式三では、固定値を総重みで除算して小数点以下を切り捨て、数値Ｍを取得し、前記Ｎ本のパスにおける各パスについて、当該パスの重みに数値Ｍを乗じて当該パスに対応する第３数値Ｅを取得し、前記固定値からＮ本のパスにおける各パスに対応する第３数値Ｅの和Ｌを減算して差Ｈを取得し、前記Ｎ本のパスにおける各パスについて、差Ｈと当該パスの重みとの積を総重みで除算して小数点以下を切り捨て、当該パスに対応する第４数値Ｆを取得し、当該パスに対応する第３数値Ｅと第４数値Ｆとの和を当該パスに対応する第１数値Ｔとして特定する。
【００２１】
以下では、幾つかの具体的な応用場面を組み合わせて上記手順を詳細に説明する。引き続きの幾つかの応用場面では、ＵＣＭＰテーブルのＵＣＭＰエントリの数を２５６と仮定し、Ｎ本のパスがあり、各パスの重みの比がＡ１：Ａ２：Ａ３……：Ａｎである場合に、総重みＷ＝Ａ１＋Ａ２＋……Ａｎとなる。
【００２２】
応用場面１では、等コストパスがパス１、パス２、パス３、パス４、パス５であると仮定し、パス１の重みが１であり、パス２の重みが１であり、パス３の重みが１であり、パス４の重みが２であり、パス５の重みが３であるため、５本のパスの総重みは、８となる。
【００２３】
方式一で第１数値Ｔを特定する際、パス１について、（２５６*１／８）の結果を小数点以下切り捨てて３２を取得し、３２をパス１に対応する第１数値Ｔとして特定する。パス２について、（２５６*１／８）の結果を小数点以下切り捨てて３２を取得し、３２をパス２に対応する第１数値Ｔとして特定する。パス３について、（２５６*１／８）の結果を小数点以下切り捨てて３２を取得し、３２をパス３に対応する第１数値Ｔとして特定する。パス４について、（２５６*２／８）の結果を小数点以下切り捨てて６４を取得し、６４をパス４に対応する第１数値Ｔとして特定する。パス５について、（２５６*３／８）の結果を小数点以下切り捨てて９６を取得し、９６をパス５に対応する第１数値Ｔとして特定する。
【００２４】
５本のパスに対応する第１数値Ｔの和Ｋ（３２＋３２＋３２＋６４＋９６）が２５６であり、固定値２５６とＫとの差Ｎが０に等しいため、各パスに対応する第１数値Ｔを当該パスに対応するＵＣＭＰエントリの数として特定する。即ち、パス１のＵＣＭＰエントリの数は３２であり、パス２のＵＣＭＰエントリの数は３２であり、パス３のＵＣＭＰエントリの数は３２であり、パス４のＵＣＭＰエントリの数は６４であり、パス５のＵＣＭＰエントリの数は９６である。
【００２５】
応用場面２では、等コストパスがパス１、パス２、パス３、パス４、パス５を含むと仮定し、パス１の重みが５であり、パス２の重みが５であり、パス３の重みが５であり、パス４の重みが５であり、パス５の重みが８である。したがって、５本のパスの総重みは、２８となる。
【００２６】
方式一で第１数値Ｔを特定する際、パス１について、（２５６*５／２８）の結果を小数点以下切り捨てて４５を取得し、４５をパス１に対応する第１数値Ｔとして特定する。パス２について、（２５６*５／２８）の結果を小数点以下切り捨てて４５を取得し、４５をパス２に対応する第１数値Ｔとして特定する。パス３について、（２５６*５／２８）の結果を小数点以下切り捨てて４５を取得し、４５をパス３に対応する第１数値Ｔとして特定する。パス４について、（２５６*５／２８）の結果を小数点以下切り捨てて４５を取得し、４５をパス４に対応する第１数値Ｔとして特定し、パス５について、（２５６*８／２８）の結果を小数点以下切り捨てて７３を取得し、７３をパス５に対応する第１数値Ｔとして特定する。
【００２７】
５本のパスに対応する第１数値Ｔの和Ｋ（４５＋４５＋４５＋４５＋７３）が２５３であり、固定値２５６とＫとの差（例えば、第２数値Ｄ）が３であり、Ｄが０より大きいため、５本のパスの重みの大きい順を用いて５本のパスを並べ替え、その並べ替え結果は、パス５、パス１、パス２、パス３、パス４となる。パス１、パス２、パス３、パス４の重みが同じであるため、この４本のパスの順番について制限せず、上記「パス１、パス２、パス３、パス４」の順番を例として説明する。上記順番に基づくと、前３本のパス（パス５、パス１、パス２）に配分されるＵＣＭＰエントリの数は、それぞれ７４（７３＋１）、４６（４５＋１）、４６（４５＋１）であり、残りのパス（パス３、パス４）に配分されるＵＣＭＰエントリの数は、それぞれ４５（４５＋０）、４５（４５＋０）である。
【００２８】
応用場面３では、等コストパスがパス１、パス２、パス３、パス４、パス５であると仮定し、パス１の重みが１０であり、パス２の重みが１０であり、パス３の重みが１０であり、パス４の重みが１０であり、パス５の重みが１であるため、５本のパスの総重みは、４１となる。
【００２９】
方式二で第１数値Ｔを特定する際、（２５６／４１）の結果を小数点以下切り捨てて数値Ｍを６として取得する。パス１に対応する第３数値Ｅを６０＝１０*６として特定し、パス２に対応する第３数値Ｅを６０＝１０*６として特定し、パス３に対応する第３数値Ｅを６０＝１０*６として特定し、パス４に対応する第３数値Ｅを６０＝１０*６として特定し、パス５に対応する第３数値Ｅを６＝１*６として特定する。その後、パス１−５における各パスに対応する第３数値Ｅの和Ｌを２４６として取得し、固定値２５６とＬ２４６の差Ｈは、１０となる。
【００３０】
差Ｈがパスの数５より大きいため、パス１に対応する第４数値Ｆを２（（１０*１０／４１）の小数点以下切り捨て）として特定し、パス２に対応する第４数値Ｆを２（（１０*１０／４１）の小数点以下切り捨て）として特定し、パス３に対応する第４数値Ｆを２（（１０*１０／４１）の小数点以下切り捨て）として特定し、パス４に対応する第４数値Ｆを２（（１０*１０／総重み４１）の小数点以下切り捨て）として特定し、パス５に対応する第４数値Ｆを０（（１０*１／４１）の小数点以下切り捨て）として特定する。パス１に対応する６２＝６０＋２をパス１に対応する第１数値Ｔとして特定し、パス２に対応する第１数値Ｔが６２＝６０＋２であり、パス３に対応する第１数値Ｔが６２＝６０＋２であり、パス４に対応する第１数値Ｔが６２＝６０＋２であり、パス５に対応する第１数値Ｔが６＝６＋０である。
【００３１】
５本のパスに対応する第１数値の和（６２＋６２＋６２＋６２＋６）が２５４であり、固定値２５６と２５４の差が２であり、２が０より大きいため、各パスの重みの大きい順を用いて各パスを並べ替え、その並べ替え結果は、パス１、パス２、パス３、パス４、パス５となる。上記順番に基づくと、前２本のパス（パス１、パス２）に配分されるＵＭＣＰエントリの数は、６３（６２＋１）、６３（６２＋１）となり、第２本のパスの後のパス（即ち、パス３、パス４、パス５）に配分されるＵＭＣＰエントリの数は、６２（６２＋０）、６２（６２＋０）、６（６＋０）となる。
【００３２】
応用場面４では、等コストパスがパス１、パス２、パス３、パス４、パス５であると仮定し、パス１の重みが１０であり、パス２の重みが１０であり、パス３の重みが１０であり、パス４の重みが１０であり、パス５の重みが１３であるため、５本のパスの総重みは、５３となる。
【００３３】
上記方式三で第１数値Ｔを特定する際、（２５６／５３）の結果を小数点以下切り捨てて数値Ｍを４として取得する。パス１に対応する第３数値Ｅを４０＝１０*４として特定し、パス２に対応する第３数値Ｅを４０＝１０*４として特定し、パス３に対応する第３数値Ｅを４０＝１０*４として特定し、パス４に対応する第３数値Ｅを４０＝１０*４として特定し、パス５に対応する第３数値Ｅを５２＝１３*４として特定する。その後、各パスに対応する第３数値Ｅの和Ｌを２１２として取得し、且つ固定値２５６と２１２との差Ｈは、４４となる。
【００３４】
パス１に対応する第４数値Ｆを８（（４４*１０／５３）の小数点以下切り捨て）として特定し、パス２に対応する第４数値Ｆを８（（４４*１０／５３）の小数点以下切り捨て）として特定し、パス３に対応する第４数値Ｆを８（（４４*１０／５３）の小数点以下切り捨て）として特定し、パス４に対応する第４数値Ｆを８（（４４*１０／５３）の小数点以下切り捨て）として特定し、パス５に対応する第４数値Ｆを１０（（４４*１３／５３）の小数点以下切り捨て）をとして特定する。パス１に対応する第３数値Ｅ(４０)と第４数値Ｆ(８)との和４８をパス１に対応する第１数値Ｔとして特定し、パス２に対応する第３数値Ｅ(４０)と第４数値Ｆ(８)との和４８をパス２に対応する第１数値Ｔとして特定し、パス３に対応する第３数値Ｅ(４０)と第４数値Ｆ(８)との和４８をパス３に対応する第１数値Ｔとして特定し、パス４に対応する第３数値Ｅ(４０)と第４数値Ｆ(８)との和４８をパス４に対応する第１数値Ｔとして特定し、パス５に対応する第３数値Ｅ(５２)と第４数値Ｆ(１０)との和６２をパス５に対応する第１数値Ｔとして特定する。
【００３５】
５本のパスに対応する第１数値の和（４８＋４８＋４８＋４８＋６２）が２５４であり、固定値２５６と第１数値の和との差が２であり、差２が０より大きいため、各パスの重みの大きい順を用いて各パスを並べ替え、その並べ替え結果は、パス５、パス１、パス２、パス３、パス４となる。上記順番に基づくと、前２本のパス（即ち、パス５、パス１）に配分されるＵＣＭＰエントリの数は、それぞれ６３（６２＋１）、４９（４８＋１）となり、第２本のパスの後のパス（即ち、パス２、パス３、パス４）に配分されるＵＣＭＰエントリの数は、それぞれ４８（４８＋０）、４８（４８＋０）、４８（４８＋０）となる。
【００３６】
上記処理を経て各パスにＵＣＭＰエントリを配分してから、当該パスに対応するＵＣＭＰエントリに当該パスのインデックス情報を記録する。パス１のＵＣＭＰエントリの数が４９であり、パス２のＵＣＭＰエントリの数が４８であり、パス３のＵＣＭＰエントリの数が４８であり、パス４のＵＣＭＰエントリの数が４８であり、パス５のＵＣＭＰエントリの数が６３であると仮定する場合に、パス１に４９個のＵＣＭＰエントリ（例えば、第１個〜第４９個）を配分し、この４９個のＵＣＭＰエントリにパス１のインデックス情報を記録する。また、パス２に４８個のＵＣＭＰエントリ（例えば、第５０個〜第９７個）を配分し、この４８個のＵＣＭＰエントリにパス２のインデックス情報を記録する。また、パス３に４８個のＵＣＭＰエントリ（例えば、第９８個〜第１４５個）を配分し、この４８個のＵＣＭＰエントリにパス３のインデックス情報を記録する。また、パス４に４８個のＵＣＭＰエントリ（例えば、第１４６個〜第１９３個）を配分し、この４８個のＵＣＭＰエントリにパス４のインデックス情報を記録する。また、パス５に６３個のＵＣＭＰエントリ（例えば、第１９４個〜第２５６個）を配分し、この６３個のＵＣＭＰエントリにパス５のインデックス情報を記録する。
【００３７】
一例では、前記等コストパスの数が変化（例えば、増加または減少）したときに、変化後の等コストパスであるＮ′本のパスにおける各パスの重みと前記固定値とに基づいて、前記Ｎ′本のパスにおける各パスにＵＣＭＰエントリを再配分する。そのうち、Ｎ'は、２以上の整数である。
【００３８】
別の例では、前記等コストパスにパスが追加されたときに、前記Ｎ本のパスにおける各パスについて、前記パスに対応するＵＣＭＰエントリ減少数を特定し、対応する数のＵＣＭＰエントリを前記パスに対応するＵＣＭＰエントリから選択し、選択した前記ＵＣＭＰエントリを前記追加されたパスに配分する。また、前記Ｎ本のパスにおける各パスについて、「前記パスに対応するＵＣＭＰエントリ減少数を特定する」手順は、パスが追加された後の等コストパスの数Ｎ″を特定し、前記Ｎ″本のパスにおける各パスの重みと前記固定値とに基づいて、各パスに対応するＵＣＭＰエントリの数を特定することと、前記Ｎ本のパスにおける各パスについて、Ｎ本のパスにおける前記パスに対応するＵＣＭＰエントリの数と前記Ｎ″本のパスにおける前記パスに対応するＵＣＭＰエントリの数との差を前記パスに対応するＵＣＭＰエントリ減少数として特定することとを含む。そのうち、Ｎ″は、２以上の整数である。
【００３９】
例えば、等コストパスにパス６が追加される前に、等コストパスがパス１、パス２、パス３、パス４、パス５を含み、パス１の重みが１であり、パス２の重みが１であり、パス３の重みが１であり、パス４の重みが２であり、パス５の重みが３であると仮定する場合に、パス１のＵＭＣＰエントリの数は３２となり、パス２のＵＭＣＰエントリの数は３２となり、パス３のＵＭＣＰエントリの数は３２となり、パス４のＵＭＣＰエントリの数は６４となり、パス５のＵＭＣＰエントリの数は９６となる。等コストパスにパス６が追加された後、等コストパスは、パス１、パス２、パス３、パス４、パス５、パス６を含む。パス１の重みが１であり、パス２の重みが１であり、パス３の重みが１であり、パス４の重みが２であり、パス５の重みが３であり、パス６の重みが８である。このように、６本のパスの総重みは、１６となる。
【００４０】
一例では、パス６が追加された後の６本のパスにおける各パスの重みと前記固定値とに基づくと、この６本のパスにおいて、パス１が１６個のＵＣＭＰエントリに対応し、パス２に対応するＵＣＭＰエントリの数が１６であり、パス３に対応するＵＣＭＰエントリの数が１６であり、パス４に対応するＵＣＭＰエントリの数が３２であり、パス５に対応するＵＣＭＰエントリの数が４８であり、パス６に対応するＵＣＭＰエントリの数が１２８である。
【００４１】
また、１本のパス６が追加されたとき、パス１のエントリ減少数は、１６（３２−１６）であり、パス２のエントリ減少数は、１６（３２−１６）であり、パス３のエントリ減少数は、１６（３２−１６）であり、パス４のエントリ減少数は、３２（６４−３２）であり、パス５のエントリ減少数は、４８（９６−４８）である。これに基づくと、パス１に対応するあらゆるＵＣＭＰエントリから１６個のＵＣＭＰエントリをランダムに選択し、この１６個のＵＣＭＰエントリに記録されるパス１のインデックス情報を削除し、パス６に対応するインデックス情報をこの１６個のＵＣＭＰエントリに記録する。パス２に対応するあらゆるＵＣＭＰエントリから１６個のＵＣＭＰエントリをランダムに選択し、この１６個のＵＣＭＰエントリに記録されるパス２のインデックス情報を削除し、パス６に対応するインデックス情報をこの１６個のＵＣＭＰエントリに記録する。パス３に対応するあらゆるＵＣＭＰエントリから１６個のＵＣＭＰエントリをランダムに選択し、この１６個のＵＣＭＰエントリに記録されるパス３のインデックス情報を削除し、パス６に対応するインデックス情報をこの１６個のＵＣＭＰエントリに記録する。パス４に対応するあらゆるＵＣＭＰエントリから３２個のＵＣＭＰエントリをランダムに選択し、この３２個のＵＣＭＰエントリに記録されるパス４のインデックス情報を削除し、パス６に対応するインデックス情報をこの３２個のＵＣＭＰエントリに記録する。パス５に対応するあらゆるＵＣＭＰエントリから４８個のＵＣＭＰエントリをランダムに選択し、この４８個のＵＣＭＰエントリに記録されるパス５のインデックス情報を削除し、パス６に対応するインデックス情報をこの４８個のＵＣＭＰエントリに記録する。
【００４２】
無論、パス６が追加される際、２５６個のＵＣＭＰエントリに記録されるパスのインデックス情報を削除し、パス１に１６個のＵＣＭＰエントリを再配分し、パス２に１６個のＵＣＭＰエントリを再配分し、パス３に１６個のＵＣＭＰエントリを再配分し、パス４に３２個のＵＣＭＰエントリを再配分し、パス５に４８個のＵＣＭＰエントリを再配分し、パス６に１２８個のＵＣＭＰエントリを再配分する。
【００４３】
別の例では、前記等コストパスからパスが削除されたときに、前記ネットワーク機器は、パスが削除された後の等コストパスの数Ｎ'''（ただし、Ｎ'''は、２以上の整数である）を特定し、前記Ｎ'''本の等コストパスにおける各パスについて、前記パスに対応するＵＣＭＰエントリ増加数を特定し、前記削除されたパスに対応するＵＣＭＰエントリから対応する数のエントリを選択して前記パスに配分する。一例では、前記Ｎ'''本のパスにおける各パスの重みと前記固定値とに基づいて、各パスに対応するＵＣＭＰエントリの数を特定し、前記Ｎ'''本の等コストパスにおける各パスについて、Ｎ'''本のパスにおける前記パスに対応するＵＣＭＰエントリの数と前記Ｎ本のパスにおける前記パスに対応するＵＣＭＰエントリの数との差を前記パスに対応するＵＣＭＰエントリ増加数として特定する。
【００４４】
例えば、等コストパスからパスが削除される前に、等コストパスがパス１、パス２、パス３、パス４、パス５を含み、パス１の重みが１であり、パス２の重みが１であり、パス３の重みが１であり、パス４の重みが２であり、パス５の重みが３であり、パス１のエントリの数が３２であり、パス２のエントリの数が３２であり、パス３のエントリの数が３２であり、パス４のエントリの数が６４であり、パス５のエントリの数が９６である。等コストパスからパスが削除された後、等コストパスがパス１、パス２、パス４を含み、パス１の重みが１であり、パス２の重みが１であり、パス４の重みが２であり、３本のパスの総重みは、４となる。
【００４５】
残りの３本のパス（パス１、パス２、パス４）における各パスの重みと前記固定値とに基づいて、残りの３本のパスにおけるパス１のエントリの数を６４として取得し、残りの３本のパスにおけるパス２のエントリの数を６４として取得し、残りの３本のパスにおけるパス４のエントリの数を１２８として取得する。
【００４６】
また、パス３およびパス５が削除されたときに、パス１のＵＣＭＰエントリ増加数が３２（６４−３２）、パス２のＵＣＭＰエントリ増加数が３２（６４−３２）、パス４のＵＣＭＰエントリ増加数が６４（１２８−６４）であることを特定する。したがって、パス３に対応する３２個のＵＣＭＰエントリに記録されるパスのインデックス情報を削除し、パス５に対応する９６個のＵＣＭＰエントリに記録されるパスのインデックス情報を削除する。この１２８個のＵＣＭＰエントリから３２個のＵＣＭＰエントリをランダムに選択し、パス１に対応するインデックス情報をこの３２個のＵＣＭＰエントリに記録し、残りの９６個のＵＣＭＰエントリから３２個のＵＣＭＰエントリをランダムに選択し、パス２に対応するインデックス情報をこの３２個のＵＣＭＰエントリに記録し、パス４に対応するインデックス情報を残りの６４個のＵＣＭＰエントリに記録する。
【００４７】
一例では、パス３およびパス５が削除されたときに、２５６個のＵＣＭＰエントリに記録されるパスのインデックス情報を削除し、パス１に６４個のＵＣＭＰエントリを再配分し、パス２に６４個のＵＣＭＰエントリを再配分し、パス４に１２８個のＵＣＭＰエントリを再配分する。
【００４８】
一例では、上記パスの追加またはパスの削除の場合について、パスがどれらのＵＣＭＰエントリに対応するかを把握するために、ネットワーク機器は、ＵＣＭＰテーブルをメンテナンスした後、パスとＵＣＭＰエントリとの関係、例えば、パス１が第１個〜第３２個のＵＣＭＰエントリに対応する等を更に記録する。これをもって類推する。
【００４９】
一例では、パスの重みが変化したときに、更新後の重みを特定し、等コストパスであるＮ本のパスにおける各パスの現在の重みと固定値とを利用し、各パスに対応するＵＣＭＰエントリの数を再度取得する。具体的な取得手法は、上記等コストパスの数が変化したときにおける処理と類似するため、ここで繰り返し説明しない。
【００５０】
上記技術案に基づくと、本発明の実施例では、ＵＣＭＰのネットワーク環境において、パスの数が変化したときに、ＵＣＭＰテーブルにおけるエントリの数が変化せず、ただ各パスに配分されるＵＣＭＰエントリの数を調整すればよい。このように、ＦＩＢエントリにおけるＵＣＭＰテーブルの情報（例えば、ＵＣＭＰエントリの数）が変化しないため、ＦＩＢエントリの内容を更新する必要がなく、相変わらずＦＩＢエントリを用いてパケットを引き続き伝送し、パケット廃棄等の問題を回避することができる。
【００５１】
等コストパスにパスを追加またはパスを削除、例えば、１６本のパスから１本のパスを削除すると仮定する場合に、ＵＣＭＰエントリを更新する必要がある。また、ＵＣＭＰエントリの数が変化したため、ＦＩＢエントリを更新する必要もある。ＵＣＭＰエントリに関連するＦＩＢエントリが１０万本あると仮定すれば、ＵＣＭＰエントリとＦＩＢエントリとを更新する時間は、１秒程度となる。その一方、本発明の実施例では、等コストパスにパスを追加またはパスを削除、例えば、１６個の等コストパスから１個の等コストパスを削除すると仮定すれば、ＵＣＭＰエントリのみを更新する必要がある。ＵＣＭＰエントリの数が変化しないため、ＦＩＢエントリを更新する必要がない。ＵＣＭＰエントリに関連するＦＩＢエントリがいくら多くなっても、ＵＣＭＰエントリを更新する時間は、２０ミリ秒程度しかない。このように、従来手法と比べ、更新時間を５０倍近く節約する。
【００５２】
上記実施例においてメンテナンスされるＦＩＢエントリ、ＵＣＭＰテーブルに基づくと、本発明の実施例は、パケット伝送方法を更に提出する。当該方法は、ネットワーク機器に適用可能であり、以下のステップを含む。
【００５３】
パケットが受信された後、当該パケットにマッチングするＦＩＢエントリを特定する。当該ＦＩＢエントリは、対応するＵＣＭＰテーブルにおけるＵＣＭＰエントリの数を含み、且つ当該ＦＩＢエントリに含まれるＵＭＣＰエントリの数は、固定値である。乱数を生成し、当該乱数および当該ＵＭＣＰエントリの数（ＦＩＢエントリにおけるＵＣＭＰテーブルのＵＣＭＰエントリの数）を用いて当該パケットにマッチングするＵＣＭＰエントリの番号を特定する。当該ＵＣＭＰエントリ番号に対応するＵＣＭＰエントリをＵＣＭＰテーブルから特定し、特定されたＵＣＭＰエントリに記録されるインデックス情報に対応するパスを用いて当該パケットを送信する。
【００５４】
一例では、当該ＦＩＢエントリは、ＩＰアドレス、当該ＦＩＢエントリに関連するＵＣＭＰテーブルのＵＣＭＰエントリの数、当該ＵＣＭＰテーブルの識別子等の内容を含む。これに基づくと、ネットワーク機器は、パケットを受信した後、当該パケットの宛先ＩＰアドレスにマッチングするＦＩＢエントリを検索する。例えば、当該ＦＩＢエントリにおけるＩＰアドレスは、当該パケットの宛先ＩＰアドレスと同じである。
【００５５】
一例では、「当該乱数および当該ＵＣＭＰエントリの数を用いて当該パケットにマッチングする位置を特定する」手順は、まず当該乱数（当該乱数は、１つの正整数であってもよい）を当該ＵＣＭＰエントリの数で除算した余りを取得し、当該余りに基づいて当該パケットにマッチングする位置を特定する。例えば、当該パケットにマッチングする位置は、ＵＣＭＰテーブルの第（余り＋１）個のＵＣＭＰエントリである。例えば、生成された乱数が１０であると仮定すれば、１０／２５６の余りは、１０となる。したがって、当該パケットにマッチングする位置がＵＣＭＰテーブルの第１１個のＵＣＭＰエントリであると特定する。更に例えば、生成された乱数が２５６であると仮定すれば、２５６／２５６の余りは、０となる。したがって、当該パケットにマッチングする位置がＵＣＭＰテーブルの第１個のＵＣＭＰエントリであると特定する。これをもって類推する。乱数がランダムに生成されたものであるため、乱数を２５６で除算した余りは、２５６個のＥＣＭＰエントリに均一に配分され、これにより２５６個のＥＣＭＰエントリにおいて均一な配分が実現される。
【００５６】
一例では、ＦＩＢエントリがＵＣＭＰテーブルの識別子を含むため、当該識別子にマッチングするＵＣＭＰテーブルが見つかる。当該ＵＣＭＰテーブルは、合計２５６個のＵＣＭＰエントリを含む。当該パケットにマッチングする位置がＵＣＭＰテーブルの第１１個のＵＣＭＰエントリであると仮定すれば、ＵＣＭＰテーブルから第１１個のＵＣＭＰエントリを特定する。上記実施例で紹介された、それぞれのＵＣＭＰエントリに１本のパスのインデックス情報が記録されることを参照すれば、第１１個のＵＣＭＰエントリに記録されるインデックス情報（例えば、パス１のインデックス情報）に対応するパス（即ち、パス１）を介してパケットを送信することができる。
【００５７】
一例では、図２に示すように、ネットワーク機器は、ＦＩＢテーブル（ＦＩＢテーブルにおける各エントリは、ＦＩＢエントリと呼ばれる）、ＵＣＭＰテーブル（ＵＣＭＰテーブルにおける各エントリは、ＵＣＭＰエントリと呼ばれる）および隣接テーブル（隣接テーブルにおける各エントリは、隣接エントリと呼ばれる）をメンテナンスする。ＦＩＢエントリには、ＵＣＭＰテーブルの識別子が記録され、当該識別子を介してＵＣＭＰテーブルを見つけることができる。また、ＵＣＭＰテーブルには、パスのインデックス情報（例えば、パス１のインデックス情報等）が記録され、当該インデックス情報は、隣接エントリのインデックス情報でもあり、当該インデックス情報により、隣接エントリも見つけることができる。なお、隣接エントリには、出力インターフェース（当該出力インターフェースは、論理インターフェースであってもよく、物理インターフェース、例えば、上記実施例で紹介されたパス用のインターフェースであってもよい）、ソースＭＡＣ（Ｍｅｄｉａ Ａｃｃｅｓｓ Ｃｏｎｔｒｏｌ、媒体アクセス制御）アドレス（即ち、当該出力インターフェースのＭＡＣアドレス）、宛先ＭＡＣアドレス（即ち、当該出力インターフェースの次ホップのＭＡＣアドレス）、ＶＬＡＮ（Ｖｉｒｔｕａｌ Ｌｏｃａｌ Ａｒｅａ Ｎｅｔｗｏｒｋ、仮想ローカルエリアネットワーク）情報（即ち、当該出力インターフェースが所属するＶＬＡＮ）等の内容が記録され、無論、隣接エントリにおける内容は、これに限定されず、これについて制限しない。
【００５８】
これに基づくと、「特定されたＵＣＭＰエントリに記録されるインデックス情報に対応するパスを用いて当該パケットを送信する」手順は、下記のことを含む。当該インデックス情報に対応する隣接エントリを検索し、当該隣接エントリに記録されるソースＭＡＣアドレス、宛先ＭＡＣアドレス、ＶＬＡＮ情報等の内容を用いて当該パケットに対してカプセル化を行い、当該隣接エントリに対応するパス（例えば、当該隣接エントリに記録される出力インターフェース）を介してカプセル化後のパケットを送信する。
【００５９】
一例では、ネットワーク機器は、ＣＰＵ（Ｃｅｎｔｒａｌ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ、中央処理装置）を介してパケット伝送を行ってもよく、ネットワーク機器も、ハードウェアチップ（例えば、ＦＰＧＡ（Ｆｉｅｌｄ Ｐｒｏｇｒａｍｍａｂｌｅ Ｇａｔｅ Ａｒｒａｙ、フィールドプログラマブルゲートアレイ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ Ｓｐｅｃｉｆｉｃ Ｉｎｔｅｇｒａｔｅｄ Ｃｉｒｃｕｉｔ、特定用途向け集積回路）、ＮＰ（Ｎｅｔｗｏｒｋ Ｐｒｏｃｅｓｓｏｒ、ネットワークプロセッサ）等）を介してパケット伝送を行ってもよい。
【００６０】
更に、ＣＰＵによるパケット伝送の場合に、ＣＰＵは、上記ＦＩＢテーブル、ＵＣＭＰテーブルおよび隣接テーブルをメンテナンスする。ＣＰＵは、パケットを受信した後、ＦＩＢテーブル、ＵＣＭＰテーブルおよび隣接テーブルを用いてパケットを伝送する。ハードウェアチップによるパケット伝送の場合に、ＣＰＵは、上記ＦＩＢテーブル、ＵＣＭＰテーブルおよび隣接テーブルを生成した後、上記ＦＩＢテーブル、ＵＣＭＰテーブルおよび隣接テーブルをハードウェアチップへ配信し、ハードウェアチップは、パケットを受信した後、ＦＩＢテーブル、ＵＣＭＰテーブルおよび隣接テーブルを用いてパケットを伝送する。
【００６１】
本発明に係る方法を上述したが、以下では、本発明に係る装置を記述する。
図３を参照すると、図３は、本発明の実施例のネットワーク機器のハードウェア構造図である。当該ネットワーク機器３０は、プロセッサ３１と、機器読み取り可能な記憶媒体３２とを備える。プロセッサ３１と機器読み取り可能な記憶媒体３２とは、システムバス３３を介して互いに通信する。また、プロセッサ３１は、機器読み取り可能な記憶媒体３２に記憶される、等コストパスエントリ確立論理４０に対応する機器の実行可能な指令を読み取って実行することにより、上述した等コストパスエントリ確立方法を実行する。
【００６２】
本文で言及される機器読み取り可能な記憶媒体３２は、如何なる電気的なもの、磁気的なもの、光学的なものまたは他の物理的記憶装置であってもよく、情報（例えば、実行可能な指令、データ等）を含むか記憶可能である。例えば、前記機器読み取り可能な記憶媒体９２は、ＲＡＭ（Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ、ランダムアクセスメモリ）、揮発性メモリ、不揮発性メモリ、フラッシュメモリ、記憶ドライバ（例えば、ハードディスクドライバ）、ソリッド・ステート・ディスク、如何なるタイプの記憶ディスク（例えば、光ディスク、ＤＶＤ等）、もしくは類似する記憶媒体、またはそれらの組み合わせであってもよい。
【００６３】
図4に示すように、機能上に分けると、前記等コストパスエントリ確立論理４０は、確立モジュール４１と、配分モジュール４２とを備える。
【００６４】
確立モジュール４１は、転送情報ベース（ＦＩＢ）エントリを確立する。前記ＦＩＢエントリは、前記ネットワーク機器と宛先ネットワーク機器の間で等コストパスとして構成されたＮ本のパスに対応する不等コストマルチパス（ＵＣＭＰ）テーブルのＵＣＭＰエントリの数と前記宛先機器のアドレスとを含み、前記ＵＣＭＰテーブルのＵＣＭＰエントリの数は、所定の固定値であり、Ｎは、２以上の整数である。
【００６５】
配分モジュール４２は、前記Ｎ本のパスにおける各パスの重みと前記固定値とに基づいて、前記各パスにＵＣＭＰエントリを配分する。前記ＵＣＭＰエントリには、対応するパスのインデックス情報が記録され、前記Ｎ本のパスにおける各パスに対応するＵＣＭＰエントリの数の和は、前記固定値である。
【００６６】
一例では、前記配分モジュール４２は、前記Ｎ本のパスにおける各パスについて、前記固定値と前記パスの重みとの積を総重みで除算して小数点以下を切り捨て、前記パスに対応する第１数値Ｔを取得する。前記総重みは、前記Ｎ本のパスの重みの和である。前記配分モジュール４２は、前記固定値と前記Ｎ本のパスにおける各パスに対応する第１数値の和との差を第２数値Ｄとして特定する。前記第２数値Ｄが０である場合に、前記配分モジュール４２が各パスに配分するＵＣＭＰエントリの数は、前記第１数値Ｔである。前記第２数値Ｄが０より大きい場合に、前記配分モジュール４２は、Ｎ本のパスの重みの大きさを用いてＮ本のパスを並べ替え、前Ｄ本のパスにおける各パスに配分するＵＣＭＰエントリの数が前記第１数値Ｔに１を加算したものであり、残りの各パスに配分するＵＣＭＰエントリの数が前記第１数値Ｔである。
【００６７】
一例では、前記配分モジュール４２は、更に、前記等コストパスの数が変化したときに、変化後の等コストパスであるＮ′本のパスにおける各パスの重みと前記固定値とに基づいて、前記Ｎ′本のパスにおける各パスにＵＣＭＰエントリを再配分する。Ｎ'は、２以上の整数である。
【００６８】
一例では、前記配分モジュール４２は、更に、前記等コストパスにパスが追加されたときに、前記Ｎ本のパスにおける各パスについて、前記パスに対応するＵＣＭＰエントリ減少数を特定し、対応する数のＵＣＭＰエントリを前記パスに対応するＵＣＭＰエントリから選択し、選択した前記ＵＣＭＰエントリを前記追加されたパスに配分する。
【００６９】
一例では、前記配分モジュール４２は、更に、パスが追加された後の等コストパスの数Ｎ″を特定し、前記Ｎ″本のパスにおける各パスの重みと前記固定値とに基づいて、各パスに対応するＵＣＭＰエントリの数を特定し、前記Ｎ本のパスにおける各パスについて、Ｎ本のパスにおける前記パスに対応するＵＣＭＰエントリの数と前記Ｎ″本のパスにおける前記パスに対応するＵＣＭＰエントリの数との差を前記パスに対応するＵＣＭＰエントリ減少数として特定する。Ｎ″は、２以上の整数である。
【００７０】
一例では、前記配分モジュール４２は、更に、前記等コストパスからパスが削除されたときに、パスが削除された後の等コストパスの数Ｎ'''（Ｎ'''は、２以上の整数である）を特定し、前記Ｎ'''本の等コストパスにおける各パスについて、前記パスに対応するＵＣＭＰエントリ増加数を特定し、前記削除されたパスに対応するＵＣＭＰエントリから対応する数のエントリを選択して前記パスに配分する。
【００７１】
一例では、前記配分モジュール４２は、更に、前記Ｎ'''本のパスにおける各パスの重みと前記固定値とに基づいて、各パスに対応するＵＣＭＰエントリの数を特定し、前記Ｎ'''本の等コストパスにおける各パスについて、Ｎ'''本のパスにおける前記パスに対応するＵＣＭＰエントリの数と前記Ｎ本のパスにおける前記パスに対応するＵＣＭＰエントリの数との差を前記パスに対応するＵＣＭＰエントリ増加数として特定する。
【００７２】
装置実施例は、方法実施例に基本的に対応するため、その関連箇所が方法実施例部分の説明を参照すればよい。上述した装置実施例は、単に例示であり、その中、分離部品として説明される手段が物理的に分離されるものであってもよくでなくてもよい。また、手段として表示される部品は、物理手段であってもでなくてもよい。更に、それらの手段は、１箇所に位置してもよく、複数のネットワークセルに分散してもよい。実際の需要に応じてその中の一部または全部のモジュールを選択して本実施例の目的を果たすことが可能である。当業者は、進歩性に値する労働をせずに、理解して実施可能である。
【００７３】
説明すべきことは、本文に、第１と第２等のような関係用語は、単に１個の実体や操作を別の実体や操作と区分させるために用いられ、これらの実体や操作の間になんらかの実際的な関係や順番が存在するとは必ずしも要求やヒントすることではない。用語「含む」、「備える」またはほかの何れかの同義語が非排他の含有をカバーすることを狙う。このように、一シリーズの要素を有する手順、方法、物品または機器は、それらの要素を有するだけではなく、明確に挙げられていない他の要素も有し、またはこのような手順、方法、物品または機器に固有の要素も有する。更なる制限がない限り、語句「１個の…を含む」で限定される要素は、前記要素を有する手順、方法、物品または機器に他の同じ要素を更に有することをあえて排除しない。
【００７４】
以上では、本発明の実施例に供される方法と装置を詳細に説明した。本文では、具体的な例を用いて本発明の原理および実施形態を説明したが、以上の実施例の説明が単に本発明の方法およびその要旨を容易に理解するために用いられる。それとともに、当業者であれば、本発明の思想に基づいて具体的な実施形態および応用範囲を変更可能である。したがって、本明細書の内容は、本発明に対する制限として理解されるべきではない。
【図１】
0006842554.tif 000002
【図２】
0006842554.tif 000003
【図３】
0006842554.tif 000004
【図４】
0006842554.tif 000005