JP6842554B2 - 等コストパスエントリ確立 - Google Patents

等コストパスエントリ確立 Download PDF

Info

Publication number
JP6842554B2
JP6842554B2 JP2019540083A JP2019540083A JP6842554B2 JP 6842554 B2 JP6842554 B2 JP 6842554B2 JP 2019540083 A JP2019540083 A JP 2019540083A JP 2019540083 A JP2019540083 A JP 2019540083A JP 6842554 B2 JP6842554 B2 JP 6842554B2
Authority
JP
Japan
Prior art keywords
path
ucmp
paths
entries
network device
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.)
Active
Application number
JP2019540083A
Other languages
English (en)
Other versions
JP2020505852A (ja
Inventor
三 勝 楊
三 勝 楊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Technologies Co Ltd
Original Assignee
New H3C Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by New H3C Technologies Co Ltd filed Critical New H3C Technologies Co Ltd
Publication of JP2020505852A publication Critical patent/JP2020505852A/ja
Application granted granted Critical
Publication of JP6842554B2 publication Critical patent/JP6842554B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/123Evaluation of link metrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/03Topology update or discovery by updating link state protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

関連出願の相互引用
本願は、出願日が2017年1月25日であり、出願番号が201710056674.7であり、発明名称が「等コストマルチパスルーティングエントリ確立方法及び装置」である中国特許出願の優先権を主張し、当該出願の全文が引用により本願に組み込まれる。
ネットワーク応用の迅速な発展に伴い、UCMP(Unequal Cost Multipath、不等コストマルチパス)の応用は、更に広くなる。UCMPは異なるパスに異なる流量を配分することができる。例えば、UCMPは一定の割合(例えば、2:3)で流量をパス1およびパス2に配分する。例えば、パス1の帯域幅が10Gであり、パス2の帯域幅が100Gであり、UCMPが用いられると、流量を割合1:10でパス1およびパス2に配分できる。明らかに、UCMPにより、負荷分散がより合理的であり、帯域幅の利用がより効率的である。
本発明の一実施形態における等コストパスエントリ確立方法のフローチャートである。 本発明の実施形態におけるFIBテーブル、UCMPテーブルと隣接テーブルの間の関係の模式図である。 本発明の一実施形態におけるネットワーク機器のハードウェア構造図である。 本発明の一実施形態における等コストパスエントリ確立論理の構造模式図である。
以下では、本発明の実施例の図面を組み合わせて本発明の実施例における解決手段を明瞭で完全に記述する。明らかに、記述される実施例が単に本発明の一部の実施例に過ぎず、全部の実施例ではない。本発明における実施例に基づいて、当業者が進歩性に値する労働をせずに成した全ての他の実施例は、何れも本発明の保護範囲に含まれる。
UCMPを図るために、ネットワーク機器によってメンテナンスされるUCMPテーブルには、割合に応じてインデックスを配分する。例えば、パス1とパス2との割合が2:3である場合に、UCMPテーブルは、5個のインデックスを含む。そのうち、2個のインデックスは、パス1に対応し、もう3個のインデックスは、パス2に対応する。そして、FIB(Forward Information dataBase、転送情報ベース)エントリにも、UCMPテーブルの情報を含む。このように、ネットワーク機器は、パケットを受信した後、まず当該パケットにマッチングするFIBエントリを検索し、当該FIBエントリにおけるUCMPテーブルの情報を利用し、当該パケットに対応するインデックスを特定し、その後当該インデックスに対応するパスを介して当該パケットを送信する。
パス1とパス2との割合が変化したときに、例えば、3:5に変化したときに、ネットワーク機器は、UCMPテーブルにおけるインデックス数を8に調整する。3個のインデックスは、パス1に対応し、もう5個のインデックスは、パス2に対応する。また、ネットワーク機器は、FIBエントリに記録されるUCMPテーブルの情報を調整することが必要である。
前記UCMPテーブルに対応するFIBエントリの数が非常に多いため、当該UCMPテーブルに対応するあらゆるFIBエントリ内容に対しての補正は、相当な時間がかかる。この時間帯内では、当該UCMPテーブルに対応するFIBエントリ伝送パケットを使用できないため、パケット廃棄等の問題が発生してしまう。
本発明の実施例は、等コストパスエントリ確立方法を提出する。当該方法は、ネットワーク機器に応用できる。当該ネットワーク機器は、UCMPの方式を用いてパケットを伝送する。UCMPを図るために、ネットワーク機器は、少なくともFIBテーブルおよびUCMPテーブルをメンテナンスする。当該FIBテーブルにおける各FIBエントリは、IPアドレス、当該FIBエントリに関連するUCMPテーブルのUCMPエントリの数、および当該UCMPテーブルの識別子等の内容を含む。当該UCMPテーブルにおける各UCMPエントリは、パスのインデックス情報等の内容を含む。無論、当該FIBエントリと当該UCMPエントリとの内容は、何れも上記内容に限定されず、このエントリ内容について制限しない。
一例では、ネットワーク機器と宛先機器との間の少なくとも2本のパスは、等コストパスとして配置される。当該等コストパスは、1つのUCMPテーブルに対応する。例えば、ネットワーク機器のパス1、パス2は、等コストパスとして配置され、且つ等価のパス1−2は、UCMPテーブルAに対応し、ネットワーク機器のパス3、パス4、パス5は、等コストパスとして配置され、且つ等価のパス3−5は、UCMPテーブルBに対応する。
一例では、等コストパスにおける各パスは、1つのインターフェースに対応し、当該インターフェースは、物理インターフェースであってもよく、論理インターフェース(例えば、複数の物理インターフェースで構成される集約インターフェース)であってもよい。例えば、パス1は、論理インターフェース1に対応し、且つ論理インターフェース1は、物理インターフェースA、物理インターフェースBおよび物理インターフェースCを含み、パス2は、論理インターフェース2に対応し、且つ論理インターフェース2は、物理インターフェースDおよび物理インターフェースEを含む。
図1は、等コストパスエントリ確立方法のフローチャートを示す。当該方法は、下記のステップを含む。
ステップ101では、FIBエントリを確立する。当該FIBエントリは、宛先機器のアドレスと、前記ネットワーク機器と宛先ネットワーク機器の間で等コストパスとして構成された等コストパスにおけるN本のパスに対応するUCMPテーブルのUCMPエントリの数とを含み、当該UCMPエントリの数は、所定の固定値であり、Nは、2以上の整数である。
一例では、FIBテーブルにおける各FIBエントリについて、当該FIBエントリに含まれるUCMPテーブルのUCMPエントリの数は、所定の固定値、例えば、256等である。当該UCMPエントリの数は、所定の固定値である。
ステップ102では、等コストパスであるN本のパスにおける各パスの重みと当該固定値とに基づいて、各パスにUCMPエントリを配分する。N本のパスにおける各パスに対応するUCMPエントリの数の和は、前記固定値に等しく、且つUCMPエントリには、対応するパスのインデックス情報が記録されている。
一例では、「前記等コストパスであるN本のパスにおける各パスの重みと前記固定値とに基づいて、前記各パスにUCMPエントリを配分する」手順は、前記N本のパスにおける各パスについて、前記固定値と前記パスの重みとの積を総重み(前記総重みが前記N本のパスの重みの和である)で除算して小数点以下を切り捨て、前記パスに対応する第1数値Tを取得することと、前記固定値と前記N本のパスにおける各パスに対応する第1数値の和との差を第2数値Dとして特定することとを含む。前記第2数値Dが0である場合に、各パスに配分するUCMPエントリの数は、前記第1数値Tである。前記第2数値Dが0より大きい場合に、N本のパスの重みの大きさを用いてN本のパスを並べ替え、前D本のパスにおける各パスに配分するUCMPエントリの数は、前記第1数値Tに1を加算したものであり、残りの各パスに配分するUCMPエントリの数は、前記第1数値Tである。
UCMPテーブルにおけるUCMPエントリの数は、固定値、例えば、256等である。無論、当該固定値は、この数値に限定されず、本発明の例示は、この数値について制限しない。
パス1、パス2が等コストパスとして構成されたときに、パス1の重み、パス2の重みが配置されることができる。例えば、パス1で30%の流量を担持し、パス2で70%の流量を担持すると希望するときに、パス1の重みが3であり、パス2の重みが7であり、両者の重みの比が30%:70%となる。一例示では、パス帯域幅に応じてパス1の重み、パス2の重みを特定する。例えば、パス1に対応する帯域幅が30G(例えば、物理インターフェースA、物理インターフェースBおよび物理インターフェースCの帯域幅の和)であり、且つパス2に対応する帯域幅が50G(例えば、物理インターフェースDおよび物理インターフェースEの帯域幅の和)である場合には、パス1の重みが3であり、パス2の重みが5であり、両者の重みの比が30G:50Gとなる。
一例では、前記N本のパスにおける各パスについて、例えば、方式一で第1数値Tを特定する。前記固定値と前記パスの重みとの積を総重みで除算して小数点以下を切り捨て、前記パスに対応する第1数値Tを取得する。別の例では、方式二または方式三で第1数値Tを特定する。
方式二では、固定値を総重みで除算して小数点以下を切り捨て、数値Mを得る。前記N本のパスにおける各パスについて、当該パスの重みに数値Mを乗じて当該パスに対応する第3数値Eを得る。前記固定値からN本のパスにおける各パスに対応する第3数値Eの和Lを減算して差Hを得る。前記差Hが等コストパスの数より小さい場合に、各パスに対応する第3数値Eを当該パスに対応する第1数値Tとして特定する。前記差Hが等コストパスの数以上である場合に、前記N本のパスにおける各パスについて、前記差Hと当該パスの重みとの積を総重みで除算して小数点以下を切り捨て、当該パスに対応する第4数値Fを取得し、当該パスに対応する第3数値Eと第4数値Fとの和を当該パスに対応する第1数値Tとして特定する。
方式三では、固定値を総重みで除算して小数点以下を切り捨て、数値Mを取得し、前記N本のパスにおける各パスについて、当該パスの重みに数値Mを乗じて当該パスに対応する第3数値Eを取得し、前記固定値からN本のパスにおける各パスに対応する第3数値Eの和Lを減算して差Hを取得し、前記N本のパスにおける各パスについて、差Hと当該パスの重みとの積を総重みで除算して小数点以下を切り捨て、当該パスに対応する第4数値Fを取得し、当該パスに対応する第3数値Eと第4数値Fとの和を当該パスに対応する第1数値Tとして特定する。
以下では、幾つかの具体的な応用場面を組み合わせて上記手順を詳細に説明する。引き続きの幾つかの応用場面では、UCMPテーブルのUCMPエントリの数を256と仮定し、N本のパスがあり、各パスの重みの比がA1:A2:A3……:Anである場合に、総重みW=A1+A2+……Anとなる。
応用場面1では、等コストパスがパス1、パス2、パス3、パス4、パス5であると仮定し、パス1の重みが1であり、パス2の重みが1であり、パス3の重みが1であり、パス4の重みが2であり、パス5の重みが3であるため、5本のパスの総重みは、8となる。
方式一で第1数値Tを特定する際、パス1について、(256*1/8)の結果を小数点以下切り捨てて32を取得し、32をパス1に対応する第1数値Tとして特定する。パス2について、(256*1/8)の結果を小数点以下切り捨てて32を取得し、32をパス2に対応する第1数値Tとして特定する。パス3について、(256*1/8)の結果を小数点以下切り捨てて32を取得し、32をパス3に対応する第1数値Tとして特定する。パス4について、(256*2/8)の結果を小数点以下切り捨てて64を取得し、64をパス4に対応する第1数値Tとして特定する。パス5について、(256*3/8)の結果を小数点以下切り捨てて96を取得し、96をパス5に対応する第1数値Tとして特定する。
5本のパスに対応する第1数値Tの和K(32+32+32+64+96)が256であり、固定値256とKとの差Nが0に等しいため、各パスに対応する第1数値Tを当該パスに対応するUCMPエントリの数として特定する。即ち、パス1のUCMPエントリの数は32であり、パス2のUCMPエントリの数は32であり、パス3のUCMPエントリの数は32であり、パス4のUCMPエントリの数は64であり、パス5のUCMPエントリの数は96である。
応用場面2では、等コストパスがパス1、パス2、パス3、パス4、パス5を含むと仮定し、パス1の重みが5であり、パス2の重みが5であり、パス3の重みが5であり、パス4の重みが5であり、パス5の重みが8である。したがって、5本のパスの総重みは、28となる。
方式一で第1数値Tを特定する際、パス1について、(256*5/28)の結果を小数点以下切り捨てて45を取得し、45をパス1に対応する第1数値Tとして特定する。パス2について、(256*5/28)の結果を小数点以下切り捨てて45を取得し、45をパス2に対応する第1数値Tとして特定する。パス3について、(256*5/28)の結果を小数点以下切り捨てて45を取得し、45をパス3に対応する第1数値Tとして特定する。パス4について、(256*5/28)の結果を小数点以下切り捨てて45を取得し、45をパス4に対応する第1数値Tとして特定し、パス5について、(256*8/28)の結果を小数点以下切り捨てて73を取得し、73をパス5に対応する第1数値Tとして特定する。
5本のパスに対応する第1数値Tの和K(45+45+45+45+73)が253であり、固定値256とKとの差(例えば、第2数値D)が3であり、Dが0より大きいため、5本のパスの重みの大きい順を用いて5本のパスを並べ替え、その並べ替え結果は、パス5、パス1、パス2、パス3、パス4となる。パス1、パス2、パス3、パス4の重みが同じであるため、この4本のパスの順番について制限せず、上記「パス1、パス2、パス3、パス4」の順番を例として説明する。上記順番に基づくと、前3本のパス(パス5、パス1、パス2)に配分されるUCMPエントリの数は、それぞれ74(73+1)、46(45+1)、46(45+1)であり、残りのパス(パス3、パス4)に配分されるUCMPエントリの数は、それぞれ45(45+0)、45(45+0)である。
応用場面3では、等コストパスがパス1、パス2、パス3、パス4、パス5であると仮定し、パス1の重みが10であり、パス2の重みが10であり、パス3の重みが10であり、パス4の重みが10であり、パス5の重みが1であるため、5本のパスの総重みは、41となる。
方式二で第1数値Tを特定する際、(256/41)の結果を小数点以下切り捨てて数値Mを6として取得する。パス1に対応する第3数値Eを60=10*6として特定し、パス2に対応する第3数値Eを60=10*6として特定し、パス3に対応する第3数値Eを60=10*6として特定し、パス4に対応する第3数値Eを60=10*6として特定し、パス5に対応する第3数値Eを6=1*6として特定する。その後、パス1−5における各パスに対応する第3数値Eの和Lを246として取得し、固定値256とL246の差Hは、10となる。
差Hがパスの数5より大きいため、パス1に対応する第4数値Fを2((10*10/41)の小数点以下切り捨て)として特定し、パス2に対応する第4数値Fを2((10*10/41)の小数点以下切り捨て)として特定し、パス3に対応する第4数値Fを2((10*10/41)の小数点以下切り捨て)として特定し、パス4に対応する第4数値Fを2((10*10/総重み41)の小数点以下切り捨て)として特定し、パス5に対応する第4数値Fを0((10*1/41)の小数点以下切り捨て)として特定する。パス1に対応する62=60+2をパス1に対応する第1数値Tとして特定し、パス2に対応する第1数値Tが62=60+2であり、パス3に対応する第1数値Tが62=60+2であり、パス4に対応する第1数値Tが62=60+2であり、パス5に対応する第1数値Tが6=6+0である。
5本のパスに対応する第1数値の和(62+62+62+62+6)が254であり、固定値256と254の差が2であり、2が0より大きいため、各パスの重みの大きい順を用いて各パスを並べ替え、その並べ替え結果は、パス1、パス2、パス3、パス4、パス5となる。上記順番に基づくと、前2本のパス(パス1、パス2)に配分されるUMCPエントリの数は、63(62+1)、63(62+1)となり、第2本のパスの後のパス(即ち、パス3、パス4、パス5)に配分されるUMCPエントリの数は、62(62+0)、62(62+0)、6(6+0)となる。
応用場面4では、等コストパスがパス1、パス2、パス3、パス4、パス5であると仮定し、パス1の重みが10であり、パス2の重みが10であり、パス3の重みが10であり、パス4の重みが10であり、パス5の重みが13であるため、5本のパスの総重みは、53となる。
上記方式三で第1数値Tを特定する際、(256/53)の結果を小数点以下切り捨てて数値Mを4として取得する。パス1に対応する第3数値Eを40=10*4として特定し、パス2に対応する第3数値Eを40=10*4として特定し、パス3に対応する第3数値Eを40=10*4として特定し、パス4に対応する第3数値Eを40=10*4として特定し、パス5に対応する第3数値Eを52=13*4として特定する。その後、各パスに対応する第3数値Eの和Lを212として取得し、且つ固定値256と212との差Hは、44となる。
パス1に対応する第4数値Fを8((44*10/53)の小数点以下切り捨て)として特定し、パス2に対応する第4数値Fを8((44*10/53)の小数点以下切り捨て)として特定し、パス3に対応する第4数値Fを8((44*10/53)の小数点以下切り捨て)として特定し、パス4に対応する第4数値Fを8((44*10/53)の小数点以下切り捨て)として特定し、パス5に対応する第4数値Fを10((44*13/53)の小数点以下切り捨て)をとして特定する。パス1に対応する第3数値E(40)と第4数値F(8)との和48をパス1に対応する第1数値Tとして特定し、パス2に対応する第3数値E(40)と第4数値F(8)との和48をパス2に対応する第1数値Tとして特定し、パス3に対応する第3数値E(40)と第4数値F(8)との和48をパス3に対応する第1数値Tとして特定し、パス4に対応する第3数値E(40)と第4数値F(8)との和48をパス4に対応する第1数値Tとして特定し、パス5に対応する第3数値E(52)と第4数値F(10)との和62をパス5に対応する第1数値Tとして特定する。
5本のパスに対応する第1数値の和(48+48+48+48+62)が254であり、固定値256と第1数値の和との差が2であり、差2が0より大きいため、各パスの重みの大きい順を用いて各パスを並べ替え、その並べ替え結果は、パス5、パス1、パス2、パス3、パス4となる。上記順番に基づくと、前2本のパス(即ち、パス5、パス1)に配分されるUCMPエントリの数は、それぞれ63(62+1)、49(48+1)となり、第2本のパスの後のパス(即ち、パス2、パス3、パス4)に配分されるUCMPエントリの数は、それぞれ48(48+0)、48(48+0)、48(48+0)となる。
上記処理を経て各パスにUCMPエントリを配分してから、当該パスに対応するUCMPエントリに当該パスのインデックス情報を記録する。パス1のUCMPエントリの数が49であり、パス2のUCMPエントリの数が48であり、パス3のUCMPエントリの数が48であり、パス4のUCMPエントリの数が48であり、パス5のUCMPエントリの数が63であると仮定する場合に、パス1に49個のUCMPエントリ(例えば、第1個〜第49個)を配分し、この49個のUCMPエントリにパス1のインデックス情報を記録する。また、パス2に48個のUCMPエントリ(例えば、第50個〜第97個)を配分し、この48個のUCMPエントリにパス2のインデックス情報を記録する。また、パス3に48個のUCMPエントリ(例えば、第98個〜第145個)を配分し、この48個のUCMPエントリにパス3のインデックス情報を記録する。また、パス4に48個のUCMPエントリ(例えば、第146個〜第193個)を配分し、この48個のUCMPエントリにパス4のインデックス情報を記録する。また、パス5に63個のUCMPエントリ(例えば、第194個〜第256個)を配分し、この63個のUCMPエントリにパス5のインデックス情報を記録する。
一例では、前記等コストパスの数が変化(例えば、増加または減少)したときに、変化後の等コストパスであるN′本のパスにおける各パスの重みと前記固定値とに基づいて、前記N′本のパスにおける各パスにUCMPエントリを再配分する。そのうち、N'は、2以上の整数である。
別の例では、前記等コストパスにパスが追加されたときに、前記N本のパスにおける各パスについて、前記パスに対応するUCMPエントリ減少数を特定し、対応する数のUCMPエントリを前記パスに対応するUCMPエントリから選択し、選択した前記UCMPエントリを前記追加されたパスに配分する。また、前記N本のパスにおける各パスについて、「前記パスに対応するUCMPエントリ減少数を特定する」手順は、パスが追加された後の等コストパスの数N″を特定し、前記N″本のパスにおける各パスの重みと前記固定値とに基づいて、各パスに対応するUCMPエントリの数を特定することと、前記N本のパスにおける各パスについて、N本のパスにおける前記パスに対応するUCMPエントリの数と前記N″本のパスにおける前記パスに対応するUCMPエントリの数との差を前記パスに対応するUCMPエントリ減少数として特定することとを含む。そのうち、N″は、2以上の整数である。
例えば、等コストパスにパス6が追加される前に、等コストパスがパス1、パス2、パス3、パス4、パス5を含み、パス1の重みが1であり、パス2の重みが1であり、パス3の重みが1であり、パス4の重みが2であり、パス5の重みが3であると仮定する場合に、パス1のUMCPエントリの数は32となり、パス2のUMCPエントリの数は32となり、パス3のUMCPエントリの数は32となり、パス4のUMCPエントリの数は64となり、パス5のUMCPエントリの数は96となる。等コストパスにパス6が追加された後、等コストパスは、パス1、パス2、パス3、パス4、パス5、パス6を含む。パス1の重みが1であり、パス2の重みが1であり、パス3の重みが1であり、パス4の重みが2であり、パス5の重みが3であり、パス6の重みが8である。このように、6本のパスの総重みは、16となる。
一例では、パス6が追加された後の6本のパスにおける各パスの重みと前記固定値とに基づくと、この6本のパスにおいて、パス1が16個のUCMPエントリに対応し、パス2に対応するUCMPエントリの数が16であり、パス3に対応するUCMPエントリの数が16であり、パス4に対応するUCMPエントリの数が32であり、パス5に対応するUCMPエントリの数が48であり、パス6に対応するUCMPエントリの数が128である。
また、1本のパス6が追加されたとき、パス1のエントリ減少数は、16(32−16)であり、パス2のエントリ減少数は、16(32−16)であり、パス3のエントリ減少数は、16(32−16)であり、パス4のエントリ減少数は、32(64−32)であり、パス5のエントリ減少数は、48(96−48)である。これに基づくと、パス1に対応するあらゆるUCMPエントリから16個のUCMPエントリをランダムに選択し、この16個のUCMPエントリに記録されるパス1のインデックス情報を削除し、パス6に対応するインデックス情報をこの16個のUCMPエントリに記録する。パス2に対応するあらゆるUCMPエントリから16個のUCMPエントリをランダムに選択し、この16個のUCMPエントリに記録されるパス2のインデックス情報を削除し、パス6に対応するインデックス情報をこの16個のUCMPエントリに記録する。パス3に対応するあらゆるUCMPエントリから16個のUCMPエントリをランダムに選択し、この16個のUCMPエントリに記録されるパス3のインデックス情報を削除し、パス6に対応するインデックス情報をこの16個のUCMPエントリに記録する。パス4に対応するあらゆるUCMPエントリから32個のUCMPエントリをランダムに選択し、この32個のUCMPエントリに記録されるパス4のインデックス情報を削除し、パス6に対応するインデックス情報をこの32個のUCMPエントリに記録する。パス5に対応するあらゆるUCMPエントリから48個のUCMPエントリをランダムに選択し、この48個のUCMPエントリに記録されるパス5のインデックス情報を削除し、パス6に対応するインデックス情報をこの48個のUCMPエントリに記録する。
無論、パス6が追加される際、256個のUCMPエントリに記録されるパスのインデックス情報を削除し、パス1に16個のUCMPエントリを再配分し、パス2に16個のUCMPエントリを再配分し、パス3に16個のUCMPエントリを再配分し、パス4に32個のUCMPエントリを再配分し、パス5に48個のUCMPエントリを再配分し、パス6に128個のUCMPエントリを再配分する。
別の例では、前記等コストパスからパスが削除されたときに、前記ネットワーク機器は、パスが削除された後の等コストパスの数N'''(ただし、N'''は、2以上の整数である)を特定し、前記N'''本の等コストパスにおける各パスについて、前記パスに対応するUCMPエントリ増加数を特定し、前記削除されたパスに対応するUCMPエントリから対応する数のエントリを選択して前記パスに配分する。一例では、前記N'''本のパスにおける各パスの重みと前記固定値とに基づいて、各パスに対応するUCMPエントリの数を特定し、前記N'''本の等コストパスにおける各パスについて、N'''本のパスにおける前記パスに対応するUCMPエントリの数と前記N本のパスにおける前記パスに対応するUCMPエントリの数との差を前記パスに対応するUCMPエントリ増加数として特定する。
例えば、等コストパスからパスが削除される前に、等コストパスがパス1、パス2、パス3、パス4、パス5を含み、パス1の重みが1であり、パス2の重みが1であり、パス3の重みが1であり、パス4の重みが2であり、パス5の重みが3であり、パス1のエントリの数が32であり、パス2のエントリの数が32であり、パス3のエントリの数が32であり、パス4のエントリの数が64であり、パス5のエントリの数が96である。等コストパスからパスが削除された後、等コストパスがパス1、パス2、パス4を含み、パス1の重みが1であり、パス2の重みが1であり、パス4の重みが2であり、3本のパスの総重みは、4となる。
残りの3本のパス(パス1、パス2、パス4)における各パスの重みと前記固定値とに基づいて、残りの3本のパスにおけるパス1のエントリの数を64として取得し、残りの3本のパスにおけるパス2のエントリの数を64として取得し、残りの3本のパスにおけるパス4のエントリの数を128として取得する。
また、パス3およびパス5が削除されたときに、パス1のUCMPエントリ増加数が32(64−32)、パス2のUCMPエントリ増加数が32(64−32)、パス4のUCMPエントリ増加数が64(128−64)であることを特定する。したがって、パス3に対応する32個のUCMPエントリに記録されるパスのインデックス情報を削除し、パス5に対応する96個のUCMPエントリに記録されるパスのインデックス情報を削除する。この128個のUCMPエントリから32個のUCMPエントリをランダムに選択し、パス1に対応するインデックス情報をこの32個のUCMPエントリに記録し、残りの96個のUCMPエントリから32個のUCMPエントリをランダムに選択し、パス2に対応するインデックス情報をこの32個のUCMPエントリに記録し、パス4に対応するインデックス情報を残りの64個のUCMPエントリに記録する。
一例では、パス3およびパス5が削除されたときに、256個のUCMPエントリに記録されるパスのインデックス情報を削除し、パス1に64個のUCMPエントリを再配分し、パス2に64個のUCMPエントリを再配分し、パス4に128個のUCMPエントリを再配分する。
一例では、上記パスの追加またはパスの削除の場合について、パスがどれらのUCMPエントリに対応するかを把握するために、ネットワーク機器は、UCMPテーブルをメンテナンスした後、パスとUCMPエントリとの関係、例えば、パス1が第1個〜第32個のUCMPエントリに対応する等を更に記録する。これをもって類推する。
一例では、パスの重みが変化したときに、更新後の重みを特定し、等コストパスであるN本のパスにおける各パスの現在の重みと固定値とを利用し、各パスに対応するUCMPエントリの数を再度取得する。具体的な取得手法は、上記等コストパスの数が変化したときにおける処理と類似するため、ここで繰り返し説明しない。
上記技術案に基づくと、本発明の実施例では、UCMPのネットワーク環境において、パスの数が変化したときに、UCMPテーブルにおけるエントリの数が変化せず、ただ各パスに配分されるUCMPエントリの数を調整すればよい。このように、FIBエントリにおけるUCMPテーブルの情報(例えば、UCMPエントリの数)が変化しないため、FIBエントリの内容を更新する必要がなく、相変わらずFIBエントリを用いてパケットを引き続き伝送し、パケット廃棄等の問題を回避することができる。
等コストパスにパスを追加またはパスを削除、例えば、16本のパスから1本のパスを削除すると仮定する場合に、UCMPエントリを更新する必要がある。また、UCMPエントリの数が変化したため、FIBエントリを更新する必要もある。UCMPエントリに関連するFIBエントリが10万本あると仮定すれば、UCMPエントリとFIBエントリとを更新する時間は、1秒程度となる。その一方、本発明の実施例では、等コストパスにパスを追加またはパスを削除、例えば、16個の等コストパスから1個の等コストパスを削除すると仮定すれば、UCMPエントリのみを更新する必要がある。UCMPエントリの数が変化しないため、FIBエントリを更新する必要がない。UCMPエントリに関連するFIBエントリがいくら多くなっても、UCMPエントリを更新する時間は、20ミリ秒程度しかない。このように、従来手法と比べ、更新時間を50倍近く節約する。
上記実施例においてメンテナンスされるFIBエントリ、UCMPテーブルに基づくと、本発明の実施例は、パケット伝送方法を更に提出する。当該方法は、ネットワーク機器に適用可能であり、以下のステップを含む。
パケットが受信された後、当該パケットにマッチングするFIBエントリを特定する。当該FIBエントリは、対応するUCMPテーブルにおけるUCMPエントリの数を含み、且つ当該FIBエントリに含まれるUMCPエントリの数は、固定値である。乱数を生成し、当該乱数および当該UMCPエントリの数(FIBエントリにおけるUCMPテーブルのUCMPエントリの数)を用いて当該パケットにマッチングするUCMPエントリの番号を特定する。当該UCMPエントリ番号に対応するUCMPエントリをUCMPテーブルから特定し、特定されたUCMPエントリに記録されるインデックス情報に対応するパスを用いて当該パケットを送信する。
一例では、当該FIBエントリは、IPアドレス、当該FIBエントリに関連するUCMPテーブルのUCMPエントリの数、当該UCMPテーブルの識別子等の内容を含む。これに基づくと、ネットワーク機器は、パケットを受信した後、当該パケットの宛先IPアドレスにマッチングするFIBエントリを検索する。例えば、当該FIBエントリにおけるIPアドレスは、当該パケットの宛先IPアドレスと同じである。
一例では、「当該乱数および当該UCMPエントリの数を用いて当該パケットにマッチングする位置を特定する」手順は、まず当該乱数(当該乱数は、1つの正整数であってもよい)を当該UCMPエントリの数で除算した余りを取得し、当該余りに基づいて当該パケットにマッチングする位置を特定する。例えば、当該パケットにマッチングする位置は、UCMPテーブルの第(余り+1)個のUCMPエントリである。例えば、生成された乱数が10であると仮定すれば、10/256の余りは、10となる。したがって、当該パケットにマッチングする位置がUCMPテーブルの第11個のUCMPエントリであると特定する。更に例えば、生成された乱数が256であると仮定すれば、256/256の余りは、0となる。したがって、当該パケットにマッチングする位置がUCMPテーブルの第1個のUCMPエントリであると特定する。これをもって類推する。乱数がランダムに生成されたものであるため、乱数を256で除算した余りは、256個のECMPエントリに均一に配分され、これにより256個のECMPエントリにおいて均一な配分が実現される。
一例では、FIBエントリがUCMPテーブルの識別子を含むため、当該識別子にマッチングするUCMPテーブルが見つかる。当該UCMPテーブルは、合計256個のUCMPエントリを含む。当該パケットにマッチングする位置がUCMPテーブルの第11個のUCMPエントリであると仮定すれば、UCMPテーブルから第11個のUCMPエントリを特定する。上記実施例で紹介された、それぞれのUCMPエントリに1本のパスのインデックス情報が記録されることを参照すれば、第11個のUCMPエントリに記録されるインデックス情報(例えば、パス1のインデックス情報)に対応するパス(即ち、パス1)を介してパケットを送信することができる。
一例では、図2に示すように、ネットワーク機器は、FIBテーブル(FIBテーブルにおける各エントリは、FIBエントリと呼ばれる)、UCMPテーブル(UCMPテーブルにおける各エントリは、UCMPエントリと呼ばれる)および隣接テーブル(隣接テーブルにおける各エントリは、隣接エントリと呼ばれる)をメンテナンスする。FIBエントリには、UCMPテーブルの識別子が記録され、当該識別子を介してUCMPテーブルを見つけることができる。また、UCMPテーブルには、パスのインデックス情報(例えば、パス1のインデックス情報等)が記録され、当該インデックス情報は、隣接エントリのインデックス情報でもあり、当該インデックス情報により、隣接エントリも見つけることができる。なお、隣接エントリには、出力インターフェース(当該出力インターフェースは、論理インターフェースであってもよく、物理インターフェース、例えば、上記実施例で紹介されたパス用のインターフェースであってもよい)、ソースMAC(Media Access Control、媒体アクセス制御)アドレス(即ち、当該出力インターフェースのMACアドレス)、宛先MACアドレス(即ち、当該出力インターフェースの次ホップのMACアドレス)、VLAN(Virtual Local Area Network、仮想ローカルエリアネットワーク)情報(即ち、当該出力インターフェースが所属するVLAN)等の内容が記録され、無論、隣接エントリにおける内容は、これに限定されず、これについて制限しない。
これに基づくと、「特定されたUCMPエントリに記録されるインデックス情報に対応するパスを用いて当該パケットを送信する」手順は、下記のことを含む。当該インデックス情報に対応する隣接エントリを検索し、当該隣接エントリに記録されるソースMACアドレス、宛先MACアドレス、VLAN情報等の内容を用いて当該パケットに対してカプセル化を行い、当該隣接エントリに対応するパス(例えば、当該隣接エントリに記録される出力インターフェース)を介してカプセル化後のパケットを送信する。
一例では、ネットワーク機器は、CPU(Central Processing Unit、中央処理装置)を介してパケット伝送を行ってもよく、ネットワーク機器も、ハードウェアチップ(例えば、FPGA(Field Programmable Gate Array、フィールドプログラマブルゲートアレイ)、ASIC(Application Specific Integrated Circuit、特定用途向け集積回路)、NP(Network Processor、ネットワークプロセッサ)等)を介してパケット伝送を行ってもよい。
更に、CPUによるパケット伝送の場合に、CPUは、上記FIBテーブル、UCMPテーブルおよび隣接テーブルをメンテナンスする。CPUは、パケットを受信した後、FIBテーブル、UCMPテーブルおよび隣接テーブルを用いてパケットを伝送する。ハードウェアチップによるパケット伝送の場合に、CPUは、上記FIBテーブル、UCMPテーブルおよび隣接テーブルを生成した後、上記FIBテーブル、UCMPテーブルおよび隣接テーブルをハードウェアチップへ配信し、ハードウェアチップは、パケットを受信した後、FIBテーブル、UCMPテーブルおよび隣接テーブルを用いてパケットを伝送する。
本発明に係る方法を上述したが、以下では、本発明に係る装置を記述する。
図3を参照すると、図3は、本発明の実施例のネットワーク機器のハードウェア構造図である。当該ネットワーク機器30は、プロセッサ31と、機器読み取り可能な記憶媒体32とを備える。プロセッサ31と機器読み取り可能な記憶媒体32とは、システムバス33を介して互いに通信する。また、プロセッサ31は、機器読み取り可能な記憶媒体32に記憶される、等コストパスエントリ確立論理40に対応する機器の実行可能な指令を読み取って実行することにより、上述した等コストパスエントリ確立方法を実行する。
本文で言及される機器読み取り可能な記憶媒体32は、如何なる電気的なもの、磁気的なもの、光学的なものまたは他の物理的記憶装置であってもよく、情報(例えば、実行可能な指令、データ等)を含むか記憶可能である。例えば、前記機器読み取り可能な記憶媒体92は、RAM(Random Access Memory、ランダムアクセスメモリ)、揮発性メモリ、不揮発性メモリ、フラッシュメモリ、記憶ドライバ(例えば、ハードディスクドライバ)、ソリッド・ステート・ディスク、如何なるタイプの記憶ディスク(例えば、光ディスク、DVD等)、もしくは類似する記憶媒体、またはそれらの組み合わせであってもよい。
図4に示すように、機能上に分けると、前記等コストパスエントリ確立論理40は、確立モジュール41と、配分モジュール42とを備える。
確立モジュール41は、転送情報ベース(FIB)エントリを確立する。前記FIBエントリは、前記ネットワーク機器と宛先ネットワーク機器の間で等コストパスとして構成されたN本のパスに対応する不等コストマルチパス(UCMP)テーブルのUCMPエントリの数と前記宛先機器のアドレスとを含み、前記UCMPテーブルのUCMPエントリの数は、所定の固定値であり、Nは、2以上の整数である。
配分モジュール42は、前記N本のパスにおける各パスの重みと前記固定値とに基づいて、前記各パスにUCMPエントリを配分する。前記UCMPエントリには、対応するパスのインデックス情報が記録され、前記N本のパスにおける各パスに対応するUCMPエントリの数の和は、前記固定値である。
一例では、前記配分モジュール42は、前記N本のパスにおける各パスについて、前記固定値と前記パスの重みとの積を総重みで除算して小数点以下を切り捨て、前記パスに対応する第1数値Tを取得する。前記総重みは、前記N本のパスの重みの和である。前記配分モジュール42は、前記固定値と前記N本のパスにおける各パスに対応する第1数値の和との差を第2数値Dとして特定する。前記第2数値Dが0である場合に、前記配分モジュール42が各パスに配分するUCMPエントリの数は、前記第1数値Tである。前記第2数値Dが0より大きい場合に、前記配分モジュール42は、N本のパスの重みの大きさを用いてN本のパスを並べ替え、前D本のパスにおける各パスに配分するUCMPエントリの数が前記第1数値Tに1を加算したものであり、残りの各パスに配分するUCMPエントリの数が前記第1数値Tである。
一例では、前記配分モジュール42は、更に、前記等コストパスの数が変化したときに、変化後の等コストパスであるN′本のパスにおける各パスの重みと前記固定値とに基づいて、前記N′本のパスにおける各パスにUCMPエントリを再配分する。N'は、2以上の整数である。
一例では、前記配分モジュール42は、更に、前記等コストパスにパスが追加されたときに、前記N本のパスにおける各パスについて、前記パスに対応するUCMPエントリ減少数を特定し、対応する数のUCMPエントリを前記パスに対応するUCMPエントリから選択し、選択した前記UCMPエントリを前記追加されたパスに配分する。
一例では、前記配分モジュール42は、更に、パスが追加された後の等コストパスの数N″を特定し、前記N″本のパスにおける各パスの重みと前記固定値とに基づいて、各パスに対応するUCMPエントリの数を特定し、前記N本のパスにおける各パスについて、N本のパスにおける前記パスに対応するUCMPエントリの数と前記N″本のパスにおける前記パスに対応するUCMPエントリの数との差を前記パスに対応するUCMPエントリ減少数として特定する。N″は、2以上の整数である。
一例では、前記配分モジュール42は、更に、前記等コストパスからパスが削除されたときに、パスが削除された後の等コストパスの数N'''(N'''は、2以上の整数である)を特定し、前記N'''本の等コストパスにおける各パスについて、前記パスに対応するUCMPエントリ増加数を特定し、前記削除されたパスに対応するUCMPエントリから対応する数のエントリを選択して前記パスに配分する。
一例では、前記配分モジュール42は、更に、前記N'''本のパスにおける各パスの重みと前記固定値とに基づいて、各パスに対応するUCMPエントリの数を特定し、前記N'''本の等コストパスにおける各パスについて、N'''本のパスにおける前記パスに対応するUCMPエントリの数と前記N本のパスにおける前記パスに対応するUCMPエントリの数との差を前記パスに対応するUCMPエントリ増加数として特定する。
装置実施例は、方法実施例に基本的に対応するため、その関連箇所が方法実施例部分の説明を参照すればよい。上述した装置実施例は、単に例示であり、その中、分離部品として説明される手段が物理的に分離されるものであってもよくでなくてもよい。また、手段として表示される部品は、物理手段であってもでなくてもよい。更に、それらの手段は、1箇所に位置してもよく、複数のネットワークセルに分散してもよい。実際の需要に応じてその中の一部または全部のモジュールを選択して本実施例の目的を果たすことが可能である。当業者は、進歩性に値する労働をせずに、理解して実施可能である。
説明すべきことは、本文に、第1と第2等のような関係用語は、単に1個の実体や操作を別の実体や操作と区分させるために用いられ、これらの実体や操作の間になんらかの実際的な関係や順番が存在するとは必ずしも要求やヒントすることではない。用語「含む」、「備える」またはほかの何れかの同義語が非排他の含有をカバーすることを狙う。このように、一シリーズの要素を有する手順、方法、物品または機器は、それらの要素を有するだけではなく、明確に挙げられていない他の要素も有し、またはこのような手順、方法、物品または機器に固有の要素も有する。更なる制限がない限り、語句「1個の…を含む」で限定される要素は、前記要素を有する手順、方法、物品または機器に他の同じ要素を更に有することをあえて排除しない。
以上では、本発明の実施例に供される方法と装置を詳細に説明した。本文では、具体的な例を用いて本発明の原理および実施形態を説明したが、以上の実施例の説明が単に本発明の方法およびその要旨を容易に理解するために用いられる。それとともに、当業者であれば、本発明の思想に基づいて具体的な実施形態および応用範囲を変更可能である。したがって、本明細書の内容は、本発明に対する制限として理解されるべきではない。

Claims (15)

  1. ネットワーク機器が転送情報ベース(FIB)エントリを確立し、前記FIBエントリは、前記ネットワーク機器と宛先ネットワーク機器の間で等コストパスとして構成されたN本のパスに対応する不等コストマルチパス(UCMP)テーブルのUCMPエントリの数と前記宛先ネットワーク機器のアドレスとを含み、前記UCMPテーブルのUCMPエントリ数は所定の固定値であり、Nは2以上の整数であることと、
    前記ネットワーク機器が、前記N本のパスにおける各パスの重みと前記固定値とに基づいて前記各パスにUCMPエントリを配分し、前記UCMPエントリには、対応するパスのインデックス情報が記録され、前記N本のパスにおける各パスに対応するUCMPエントリの数の和は、前記固定値であることと、を含み、
    前記N本のパスにおける各パスの重みと前記固定値とに基づいて前記各パスにUCMPエントリを配分することは、
    前記ネットワーク機器が、前記N本のパスにおける各パスについて、前記各パスの重みと前記固定値とに基づいて、第1数値を特定することと、
    前記ネットワーク機器が、前記固定値と前記N本のパスにおける各パスに対応する第1数値の和との差を第2数値として特定することと、を含み、
    前記第2数値が0である場合に、
    前記ネットワーク機器が各パスに配分するUCMPエントリの数は、前記第1数値であり、
    前記第2数値が0より大きい場合に、
    前記ネットワーク機器がN本のパスの重みの大きさを用いてN本のパスを並べ替え、
    前記ネットワーク機器が前記並び替えられたN本のパスにおける前のパスの各々に配分するUCMPエントリの数は、前記第1数値に1を加算したものであり、
    前記ネットワーク機器が前記並び替えられたN本のパスにおける残りのパスの各々に配分するUCMPエントリの数は、前記第1数値であることを特徴とする、等コストパスエントリ確立方法。
  2. 前記N本のパスにおける各パスの重みと前記固定値とに基づいて前記各パスについて前記第1数値を特定することは、
    前記N本のパスにおける各パスについて、前記ネットワーク機器が、前記固定値と前記パスの重みとの積を前記N本のパスの重みの和である総重みで除算して小数点以下を切り捨て、前記パスに対応する前記第1数値(T)を取得することとを特徴とする請求項1に記載の方法。
  3. 前記等コストパスの数が変化したときに、前記ネットワーク機器が、変化後の等コストパスであるN′(N′は、2以上の整数である)本のパスにおける各パスの重みと前記固定値とに基づいて、前記N′本のパスにおける各パスにUCMPエントリを再配分することを更に含むことを特徴とする請求項2に記載の方法。
  4. 前記等コストパスにパスが追加されたときに、
    前記N本のパスにおける各パスについて、前記ネットワーク機器が、前記パスに対応するUCMPエントリ減少数を特定し、対応する数のUCMPエントリを前記パスに対応するUCMPエントリから選択することと、
    前記ネットワーク機器が、選択した前記UCMPエントリを前記追加されたパスに配分することと、を更に含むことを特徴とする請求項2に記載の方法。
  5. 前記N本のパスにおける各パスについて、前記パスに対応するUCMPエントリ減少数を特定することは、
    前記ネットワーク機器が、パスが追加された後の等コストパスの数N″(N″は、2以上の整数である)を特定することと、
    前記ネットワーク機器が、前記N″本のパスにおける各パスの重みと前記固定値とに基づいて各パスに対応するUCMPエントリの数を特定することと、
    前記N本のパスにおける各パスについて、前記ネットワーク機器が、N本のパスにおける前記パスに対応するUCMPエントリの数と前記N″本のパスにおける前記パスに対応するUCMPエントリの数との差を前記パスに対応するUCMPエントリ減少数として特定することと、を含むことを特徴とする請求項4に記載の方法。
  6. 前記等コストパスからパスが削除されたときに、
    前記ネットワーク機器が、パスが削除された後の等コストパスの数N'''(N'''は、2以上の整数である)を特定することと、
    前記N'''本の等コストパスにおける各パスについて、前記ネットワーク機器が前記パ
    スに対応するUCMPエントリ増加数を特定し、前記削除されたパスに対応するUCMPエントリから対応する数のエントリを選択して前記パスに配分することと、を更に含むことを特徴とする請求項2に記載の方法。
  7. 前記N'''本の等コストパスにおける各パスについて、前記ネットワーク機器が前記パスに対応するUCMPエントリ増加数を特定することは、
    前記ネットワーク機器が、前記N'''本のパスにおける各パスの重みと前記固定値とに基づいて各パスに対応するUCMPエントリの数を特定することと、
    前記N'''本の等コストパスにおける各パスについて、前記ネットワーク機器が、N'''本のパスにおける前記パスに対応するUCMPエントリの数と前記N本のパスにおける前記パスに対応するUCMPエントリの数との差を前記パスに対応するUCMPエントリ増加数として特定することと、を含むことを特徴とする請求項6に記載の方法。
  8. ネットワーク機器であって、
    プロセッサと、機器読み取り可能な記憶媒体とを備え、
    前記機器読み取り可能な記憶媒体には、前記プロセッサによって実行され得る機器の実行可能な指令が記憶され、前記プロセッサは、前記機器の実行可能な指令により、
    転送情報ベース(FIB)エントリを確立し、前記FIBエントリは、前記ネットワーク機器と宛先ネットワーク機器の間で等コストパスとして構成されたN本のパスに対応する不等コストマルチパス(UCMP)テーブルのUCMPエントリの数と前記宛先ネットワーク機器のアドレスとを含み、前記UCMPテーブルのUCMPエントリの数は所定の固定値であり、Nは2以上の整数であることと、
    前記N本のパスにおける各パスの重みと前記固定値とに基づいて前記各パスにUCMPエントリを配分し、前記UCMPエントリには、対応するパスのインデックス情報が記録され、前記N本のパスにおける各パスに対応するUCMPエントリの数の和は、前記固定値であることと、を実行させ、
    前記N本のパスにおける各パスの重みと前記固定値とに基づいて前記各パスにUCMPエントリを配分することは、
    前記N本のパスにおける各パスについて、前記各パスの重みと前記固定値とに基づいて、第1数値を特定することと、
    前記固定値と前記N本のパスにおける各パスに対応する第1数値の和との差を第2数値として特定することと、を含み、
    前記第2数値が0である場合に、
    各パスに配分されるUCMPエントリの数は、前記第1数値であり、
    前記第2数値が0より大きい場合に、
    N本のパスの重みの大きさを用いてN本のパスを並べ替え、
    前記並び替えられたN本のパスにおける前のパスの各々に配分されるUCMPエントリの数は、前記第1数値に1を加算したものであり、
    前記並び替えられたN本のパスにおける残りのパスの各々に配分されるUCMPエントリの数は、前記第1数値であることを特徴とする、ネットワーク機器。
  9. 前記プロセッサは、前記機器の実行可能な指令により、
    前記N本のパスにおける各パスについて、前記固定値と前記パスの重みとの積を前記N本のパスの重みの和である総重みで除算して小数点以下を切り捨て、前記パスに対応する前記第1数値(T)を特定すること、を実行させることを特徴とする請求項8に記載のネットワーク機器。
  10. 前記プロセッサは、更に、前記機器の実行可能な指令により、
    前記等コストパスの数が変化したときに、変化後の等コストパスであるN′(N'は、2以上の整数である)本のパスにおける各パスの重みと前記固定値とに基づいて、前記N′本のパスにおける各パスにUCMPエントリを再配分することを実行させることを特徴とする請求項9に記載のネットワーク機器。
  11. 前記プロセッサは、更に、前記機器の実行可能な指令により、
    前記等コストパスにパスが追加されたときに、
    前記N本のパスにおける各パスについて、前記パスに対応するUCMPエントリ減少数を特定し、対応する数のUCMPエントリを前記パスに対応するUCMPエントリから選択することと、
    選択した前記UCMPエントリを前記追加されたパスに配分することと、を実行させることを特徴とする請求項9に記載のネットワーク機器。
  12. 前記プロセッサは、前記機器の実行可能な指令により、
    パスが追加された後の等コストパスの数N″(N″は、2以上の整数である)を特定することと、
    前記N″本のパスにおける各パスの重みと前記固定値とに基づいて各パスに対応するUCMPエントリの数を特定することと、
    前記N本のパスにおける各パスについて、N本のパスにおける前記パスに対応するUCMPエントリの数と前記N″本のパスにおける前記パスに対応するUCMPエントリの数との差を前記パスに対応するUCMPエントリ減少数として特定することと、を実行させることを特徴とする請求項11に記載のネットワーク機器。
  13. 前記プロセッサは、更に、前記機器の実行可能な指令により、
    前記等コストパスからパスが削除されたときに、
    パスが削除された後の等コストパスの数N'''(N'''は、2以上の整数である)を特定することと、
    前記N'''本の等コストパスにおける各パスについて、前記パスに対応するUCMPエントリ増加数を特定し、前記削除されたパスに対応するUCMPエントリから対応する数のエントリを選択して前記パスに配分することと、を実行させることを特徴とする請求項9に記載のネットワーク機器。
  14. 前記プロセッサは、前記機器の実行可能な指令により、
    前記N'''本のパスにおける各パスの重みと前記固定値とに基づいて各パスに対応するUCMPエントリの数を特定することと、
    前記N'''本の等コストパスにおける各パスについて、N'''本のパスにおける前記パスに対応するUCMPエントリの数と前記N本のパスにおける前記パスに対応するUCMPエントリの数との差を前記パスに対応するUCMPエントリ増加数として特定することと、を実行させることを特徴とする請求項13に記載のネットワーク機器。
  15. 機器の実行可能な指令が記憶される機器読み取り可能な記憶媒体であって、
    前記機器の実行可能な指令がネットワーク機器のプロセッサによって呼び出して実行されるときに、前記プロセッサは、
    転送情報ベース(FIB)エントリを確立し、前記FIBエントリは、前記ネットワーク機器と宛先ネットワーク機器の間で等コストパスとして構成されたN本のパスに対応する不等コストマルチパス(UCMP)テーブルのUCMPエントリの数と前記宛先ネットワーク機器のアドレスとを含み、前記UCMPテーブルのUCMPエントリの数は所定の固定値であり、Nは2以上の整数であることと、
    前記N本のパスにおける各パスの重みと前記固定値とに基づいて前記各パスにUCMPエントリを配分し、前記UCMPエントリには、対応するパスのインデックス情報が記録され、前記N本のパスにおける各パスに対応するUCMPエントリの数の和は、前記固定値であることと、を実行させ、
    前記N本のパスにおける各パスの重みと前記固定値とに基づいて前記各パスにUCMPエントリを配分することは、
    前記N本のパスにおける各パスについて、前記各パスの重みと前記固定値とに基づいて、第1数値を特定することと、
    前記固定値と前記N本のパスにおける各パスに対応する第1数値の和との差を第2数値として特定することと、を含み、
    前記第2数値が0である場合に、
    各パスに配分されるUCMPエントリの数は、前記第1数値であり、
    前記第2数値が0より大きい場合に、
    N本のパスの重みの大きさを用いてN本のパスを並べ替え、
    前記並び替えられたN本のパスにおける前のパスの各々に配分されるUCMPエントリの数は、前記第1数値に1を加算したものであり、
    前記並び替えられたN本のパスにおける残りのパスの各々に配分されるUCMPエントリの数は、前記第1数値であることを特徴とする、機器読み取り可能な記憶媒体。
JP2019540083A 2017-01-25 2018-01-25 等コストパスエントリ確立 Active JP6842554B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201710056674.7A CN108259334A (zh) 2017-01-25 2017-01-25 一种等价路由表项建立方法和装置
CN201710056674.7 2017-01-25
PCT/CN2018/074090 WO2018137677A1 (zh) 2017-01-25 2018-01-25 等价路径的表项建立

Publications (2)

Publication Number Publication Date
JP2020505852A JP2020505852A (ja) 2020-02-20
JP6842554B2 true JP6842554B2 (ja) 2021-03-17

Family

ID=62721706

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019540083A Active JP6842554B2 (ja) 2017-01-25 2018-01-25 等コストパスエントリ確立

Country Status (5)

Country Link
US (1) US11115314B2 (ja)
EP (1) EP3562097B1 (ja)
JP (1) JP6842554B2 (ja)
CN (1) CN108259334A (ja)
WO (1) WO2018137677A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10389586B2 (en) * 2017-04-04 2019-08-20 International Business Machines Corporation Configuration and usage pattern of a cloud environment based on iterative learning
US11240355B2 (en) 2019-05-17 2022-02-01 Arista Networks, Inc. Platform agnostic abstraction for forwarding equivalence classes with hierarchy
CN112087376B (zh) * 2019-06-14 2023-03-14 中兴通讯股份有限公司 一种负载分担的方法及装置
CN113452614B (zh) * 2021-06-25 2022-06-21 新华三信息安全技术有限公司 一种报文处理方法和装置
US11700201B2 (en) * 2021-07-26 2023-07-11 Arista Networks, Inc. Mechanism to enforce consistent next hops in a multi-tier network
CN113660160B (zh) * 2021-08-20 2023-04-28 烽火通信科技股份有限公司 一种ucmp负载分担的方法和装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101094185A (zh) * 2007-07-27 2007-12-26 杭州华三通信技术有限公司 基于多链路的报文转发方法和装置
CN101572667B (zh) 2009-05-22 2011-11-30 中兴通讯股份有限公司 一种ip路由等价多路径的实现方法及装置
CN101753455B (zh) 2009-12-15 2014-04-09 中兴通讯股份有限公司 转发方法及装置
US20130083660A1 (en) * 2011-10-03 2013-04-04 Cisco Technology, Inc. Per-Group ECMP for Multidestination Traffic in DCE/TRILL Networks
US8737269B1 (en) 2012-01-26 2014-05-27 Google Inc. System and method for reducing hardware table resources in a multi-stage network device
CN103078804B (zh) * 2012-12-28 2015-07-22 福建星网锐捷网络有限公司 等价多路径表处理方法、装置及网络设备
CN104144120A (zh) * 2013-05-07 2014-11-12 杭州华三通信技术有限公司 转发信息配置方法及装置
US9246821B1 (en) * 2014-01-28 2016-01-26 Google Inc. Systems and methods for implementing weighted cost multi-path using two-level equal cost multi-path tables
US9736067B2 (en) 2014-05-12 2017-08-15 Google Inc. Prefix-aware weighted cost multi-path group reduction
US9560124B2 (en) 2014-05-13 2017-01-31 Google Inc. Method and system for load balancing anycast data traffic
US10454821B2 (en) * 2016-10-14 2019-10-22 Cisco Technology, Inc. Creating and maintaining segment routed traffic engineering policies via border gateway protocol

Also Published As

Publication number Publication date
EP3562097B1 (en) 2021-07-21
US20190386910A1 (en) 2019-12-19
JP2020505852A (ja) 2020-02-20
CN108259334A (zh) 2018-07-06
EP3562097A1 (en) 2019-10-30
US11115314B2 (en) 2021-09-07
EP3562097A4 (en) 2019-11-27
WO2018137677A1 (zh) 2018-08-02

Similar Documents

Publication Publication Date Title
JP6842554B2 (ja) 等コストパスエントリ確立
JP6789401B2 (ja) 等コストパスエントリ確立
US10671289B2 (en) Tenant-level sharding of disks with tenant-specific storage modules to enable policies per tenant in a distributed storage system
US10545914B2 (en) Distributed object storage
US8468220B2 (en) Methods of structuring data, pre-compiled exception list engines, and network appliances
JP2012048424A (ja) 識別子割当て方法及びプログラム
WO2018171621A1 (en) Pcep extension to support flexi-grid optical networks
CN111182043B (zh) 哈希值的分配方法及装置
US10594631B1 (en) Methods and apparatus for memory resource management in a network device
EP2104285A1 (en) Method and apparatus for reducing service loss in a link aggregation group
CN104092678B (zh) 一种访问控制列表的配置方法和装置
EP3301872B1 (en) Traffic control method and apparatus
US20210014165A1 (en) Load Distribution System and Load Distribution Method
US11086689B2 (en) Method for automatically and dynamically assigning the responsibility for tasks to the available computing components in a highly distributed data-processing system
KR101611119B1 (ko) 3진 내용 주소화 기억장치(tcam) 내의 클러스터로의 레코드의 동적 할당
CN113890855A (zh) 一种报文转发方法、系统、设备以及介质
WO2021072574A1 (en) Load balancing
US11451482B2 (en) Bin packing of flows in a dynamic bandwidth underlay
JP6129698B2 (ja) ソフトウェア配布システム、およびソフトウェア配布方法
JP5690287B2 (ja) 負荷分散プログラムおよび負荷分散装置
WO2018003106A1 (ja) スイッチ間通信管理装置、スイッチ間通信管理方法及びコンピュータ読取可能記録媒体
WO2023279834A1 (zh) 分配地址的方法、确定节点的方法、装置及存储介质
JPH10320219A (ja) 資源の優先管理システム
JP3694856B2 (ja) 分散配置テーブル作成方法
CN109766185A (zh) 一种路由表项处理方法及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190724

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200625

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200714

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201009

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210122

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: 20210202

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210219

R150 Certificate of patent or registration of utility model

Ref document number: 6842554

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250