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