(57)【特許請求の範囲】
【請求項１】
到着したパケットの宛先アドレスにしたがって転送表を検索し、検索されたこの転送表の対応するエントリに基づき次ホップ先を決定するパケット転送処理方法において、
ＴＴＬ(Time to live)値が０のために廃棄されたパケットに関する前記転送表の対応するエントリを被疑エントリとしてマークする
ことを特徴とするパケット転送処理方法。
【請求項２】
前記被疑エントリに対応するパケットが到着したときには、そのパケットをＴＴＬ値によらずに廃棄する請求項１記載のパケット転送処理方法。
【請求項３】
前記被疑エントリとしてマークを付けてから、一定時間以上経過したときには、当該被疑エントリの疑いを解除する
請求項１または２記載のパケット転送処理方法。
【請求項４】
前記被疑エントリに対応するパケットが到着し、そのＴＴＬ値が０より大きいときには、当該パケットのＩＰヘッダにＴＴＬ Ｍａｒｋｅｒビットを立ててから次ホップへ転送し、
ＴＴＬ Ｍａｒｋｅｒビットが立ったパケットが到着し、当該パケットが前記被疑エントリに対応するパケットであるときには当該パケットをＴＴＬ値によらず廃棄する
請求項１記載のパケット転送処理方法。
【請求項５】
前記被疑エントリとしてマークを付けてから、一定時間以上ＴＴＬ Ｍａｒｋｅｒビットが立ったパケットが該当エントリに転送されてこないときには、当該被疑エントリの疑いを解除する
請求項４記載のパケット転送処理方法。
【請求項６】
前記被疑エントリに対応するパケットが到着し、そのＴＴＬ値が０より大きいときには、当該ＴＴＬ値を１だけ減算したものと所定値とを比較し、小さい方をＴＴＬ値としてＩＰヘッダに搭載してから次ホップへ転送する
請求項１記載のパケット転送処理方法。
【請求項７】
前記被疑エントリとしてマークを付けてから、一定時間以上ＴＴＬ＝０で廃棄されるパケットが該当エントリに転送されてこないときには、当該被疑エントリの疑いを解除する
請求項６記載のパケット転送処理方法。
【請求項８】
前記被疑エントリに対応するパケットが到着し、そのＴＴＬ値が０より大きいときには、当該パケットの転送優先度を下げてから次ホップへ転送する請求項１記載のパケット転送処理方法。
【請求項９】
パケットの転送優先度に関する複数のクラスが設けられ、
前記被疑エントリに対応するパケットが到着し、そのＴＴＬ値が０より大きいときには、当該パケットの転送優先度を１ランク下のクラスに下げてから次ホップへ転送する請求項１記載のパケット転送処理方法。
【請求項１０】
前記被疑エントリとしてマークを付けてから、一定時間以上転送優先度が閾値よりも低いパケットが転送されてこないときには、当該被疑エントリの疑いを解除する
請求項８または９記載のパケット転送処理方法。
【請求項１１】
宛先アドレスに対応する次ホップ先が記録された転送表と、到着したパケットの宛先アドレスにしたがって前記転送表を検索し、検索された前記転送表の対応するエントリに基づき次ホップ先を決定する手段とを備えたパケット転送処理装置において、
ＴＴＬ値が０のために廃棄されたパケットに関する前記転送表の対応するエントリを被疑エントリとしてマークする手段を備えた
ことを特徴とするパケット転送処理装置。
【請求項１２】
前記被疑エントリに対応するパケットが到着したときには、そのパケットをＴＴＬ値によらずに廃棄する手段を備えた請求項１１記載のパケット転送処理装置。
【請求項１３】
前記被疑エントリとしてマークを付けてから、一定時間以上経過したときには、当該被疑エントリのマークを解除する手段を備えた
請求項１１または１２記載のパケット転送処理装置。
【請求項１４】
前記被疑エントリに対応するパケットが到着し、そのＴＴＬ値が０より大きいときには、当該パケットのＩＰヘッダにＴＴＬ Ｍａｒｋｅｒビットを立ててから次ホップへ転送する手段と、
ＴＴＬ Ｍａｒｋｅｒビットが立ったパケットが到着し、当該パケットが前記被疑エントリに対応するパケットであるときには当該パケットをＴＴＬ値によらず廃棄する手段と
を備えた請求項１１記載のパケット転送処理装置。
【請求項１５】
前記被疑エントリとしてマークを付けてから、一定時間以上ＴＴＬ Ｍａｒｋｅｒビットが立ったパケットが該当エントリに転送されてこないときには、当該被疑エントリのマークを解除する手段を備えた
請求項１４記載のパケット転送処理装置。
【請求項１６】
前記被疑エントリに対応するパケットが到着し、そのＴＴＬ値が０より大きいときには、当該ＴＴＬ値を１だけ減算したものと所定値とを比較し、小さい方をＴＴＬ値としてＩＰヘッダに搭載してから次ホップへ転送する手段を備えた
請求項１１記載のパケット転送処理装置。
【請求項１７】
前記被疑エントリとしてマークを付けてから、一定時間以上ＴＴＬ＝０で廃棄されるパケットが該当エントリに転送されてこないときには、当該被疑エントリのマークを解除する手段を備えた
請求項１６記載のパケット転送処理装置。
【請求項１８】
前記被疑エントリに対応するパケットが到着し、そのＴＴＬ値が０より大きいときには、当該パケットの転送優先度を下げてから次ホップへ転送する手段を備えた請求項１１記載のパケット転送処理装置。
【請求項１９】
パケットの転送優先度に関する複数のクラスが設けられ、
前記被疑エントリに対応するパケットが到着し、そのＴＴＬ値が０より大きいときには、当該パケットの転送優先度を１ランク下のクラスに下げてから次ホップへ転送する手段を備えた請求項１１記載のパケット転送処理装置。
【請求項２０】
前記被疑エントリとしてマークを付けてから、一定時間以上転送優先度が閾値よりも低いパケットが転送されてこないときには、当該被疑エントリの疑いを解除する手段を備えた請求項１８または１９記載のパケット転送処理装置。
【請求項２１】
請求項１１ないし２０のいずれかに記載のパケット転送処理装置を備えたことを特徴とするネットワーク。
【請求項２２】
情報処理装置にインストールすることにより、その情報処理装置に、請求項１ないし１０のいずれかに記載のパケット転送処理方法を実行させる、あるいは、情報処理装置にインストールすることにより、その情報処理装置に、請求項１１ないし２０のいずれかに記載のパケット転送処理装置に相応する機能を実現させることを特徴とするプログラム。
【請求項２３】
請求項２２記載のプログラムが記録された前記情報処理装置読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はＩＰパケット（以下では単にパケットという）転送処理方法に関するものであり、不正な転送表などで経路のループが生じた場合に、不要なトラヒックの増加を抑制する技術に関する。
【０００２】
【従来の技術】
従来のパケット転送処理を図９〜図１１を参照して説明する。図９は従来のパケット転送処理を説明するための図である。図１０はＴＴＬ処理を説明するための図である。図１１は従来のパケット転送処理手順を示すフローチャートである。
【０００３】
図９に示すように、パケット転送処理においてはルータはＩＰヘッダを参照し、（１）宛先（ＤＡ）に基づく転送表検索を行うことによる次ホップの決定、（２）ＴＴＬ(Time to live)チェックおよび減算処理、（３）Header checksumチェックおよび再計算などの処理を行う。なお、図中の略号はそれぞれＳＡ(Source address)、ＤＡ(Destination address)、ＳＰ(Source port number)、ＤＰ(Destination port number)である。
【０００４】
この中で（２）の処理は図１０のようにパケットが１ホップ進むたびにＴＴＬ値を１ずつだけ減算し、ＴＴＬ値が０のパケットを受信したらそれが自分宛でない場合は、そのパケットをこれ以上転送しない処理である。これによって各ルータの転送表が一貫性がなくて経路のループが生じた場合にも永続的にパケットが転送され続けることを回避することができる。
【０００５】
図１１は（１）、（２）、（３）の処理のフローチャートであり、１パケットを受信する度にこのフローチャートを実行し、受信したパケットを次ホップへ転送するか、廃棄かの判断をする。すなわち、パケットを受信し（ステップ１）、ＴＴＬが０でないか否か判定し（ステップ２）、０ならば廃棄し（ステップ１０）、０でなければＴＴＬ値を減算し（ステップ３）、そのＴＴＬ値をＩＰヘッダに搭載する（ステップ４）。この処理と並行して転送表検索を行い転送先を決定する（ステップ６）。さらに並行してHeader checksumが正しいか否か判定し（ステップ７）、正しくなければ廃棄し（ステップ１０）、正しければHeader checksumを再計算し（ステップ８）、ＩＰヘッダに再計算されたHeader checksumを搭載する(ステップ９)。このようにして、ＴＴＬが０ではなく、転送先が決定し、Header checksumが正しく、さらに、Header checksumが再計算されたパケットは次ホップに転送される（ステップ５）。
【０００６】
【発明が解決しようとする課題】
このようにパケット転送処理においてはＴＴＬ値を元にパケットをさらに後段へ転送を続けるかどうかの判断を行う。図１２は不正な転送表によるループの問題を説明するための図であるが、図１２に示すように、ネットワーク内の各ルータが一貫性のない不正な転送表を持っている場合に、パケットの転送経路のループが生じてしまう。ノードＡにパケットが到着した時点でＴＴＬ値がｔである場合には、転送経路のループの１周がｎホップとすると（図１２の例ではｎ＝３である）、パケットはｆｌｏｏｒ（（ｔ−１）／ｎ−１）回ループし、ノードＡ−Ｂ間のリンクにはｆｌｏｏｒ（（ｔ−１）／ｎ−１）倍のトラヒックがかかることになる。ここでｆｌｏｏｒ（ｘ）はｘを超えない最大の整数を表す。すなわち、ＴＴＬ値が大きくループのホップ数が小さい場合には、非常に多くの不要なトラヒックがかかることを意味する。
【０００７】
ハードウェアで転送処理を行う最近の高速ルータでは増加した不要なトラヒックが急激に起こり、すぐに伝送路帯域を圧迫して影響が甚大となる。さらに伝送路帯域が圧迫されすぎるとルーティングプロトコルやシグナリングプロトコルのパケットが転送されなくなり、ネットワーク全体の機能停止にもつながる。
【０００８】
本発明は、このような背景に行われたものであって、ネットワーク内のノードが一貫性のない不正な転送表を用いていることなどによって転送経路のループが発生している場合にパケットが転送経路を周回する回数を抑制することができ、不要なトラヒックの増加を抑制することができるパケット転送処理方法およびパケット転送処理装置およびネットワークおよびプロトコルおよび記録媒体を提供することを目的とする。
【０００９】
【課題を解決するための手段】
本発明は、ＴＴＬ値０で廃棄されたパケットに関する転送表のエントリをループの原因となる被疑エントリとしてマークを付けることを最も主要な特徴とする。その上で、当該被疑エントリに到着したパケットを廃棄することによりループを解消する。あるいは、被疑エントリに到着したパケットに印を付け、ループして戻ってきたら廃棄することによりループを解消することを特徴とする。あるいは、被疑エントリに到着したパケットを廃棄しないまでも転送優先度を下げることにより帯域を狭めて他のトラヒックを圧迫しないようにしてもよい。
【００１０】
これにより、ネットワーク内のノードが一貫性のない不正な転送表を用いていることなどによって転送経路のループが発生している場合にもパケットが転送経路を周回する回数を抑制することができ、不要なトラヒックの増加を抑制することができる。ハードウェアで高速にパケット転送を行うネットワークにおいては、転送経路のループは瞬く間に伝送路帯域を埋め尽くしてしまい、ネットワーク機能の停止などの致命的なダメージを与えるが、本発明によりこれを回避することができる。
【００１１】
すなわち、本発明の第一の観点は、到着したパケットの宛先アドレスにしたがって転送表を検索し、検索されたこの転送表の対応するエントリに基づき次ホップ先を決定するパケット転送処理方法である。
【００１２】
ここで、本発明の特徴とするところは、ＴＴＬ値が０のために廃棄されたパケットに関する前記転送表の対応するエントリを被疑エントリとしてマークするところにある。
【００１３】
つまり、初めてネットワークに到着したパケットのＴＴＬ値が当初から０であることは考え難く、パケットがＴＴＬ値０で廃棄されるということは、それはつまり、ループが生じており、パケットがループ上を周回するうちにＴＴＬ値が０になった可能性が高いことを意味する。したがって、そのようなパケットに関する転送表の対応するエントリをループの原因となる被疑エントリとしてマークすることにより、ループ解消のための対策を施す対象とすることができる。
【００１４】
具体的には、当該被疑エントリに対応するパケットが到着したときには、そのパケットをＴＴＬ値によらず廃棄することが望ましい。
【００１５】
このとき、前記被疑エントリとしてマークを付けてから、一定時間以上経過したときには、当該被疑エントリの疑いを解除することが望ましい。
【００１６】
つまり、ループが解消された後にも被疑エントリが残存していると、不必要なパケット廃棄が継続される可能性があるため、被疑エントリとしてマークを付けてから一定時間以上経過したときには、当該被疑エントリの疑いをいったん解除することがよい。もちろん、被疑エントリとしてマークを付けてから一定時間経過する以前に再度、ＴＴＬ値０で廃棄されるパケットが到着すれば再び被疑エントリに付けたマークは継続される。当該一定時間は、ネットワーク環境に応じて適宜設定することがよい。
【００１７】
あるいは、前記被疑エントリに対応するパケットが到着し、そのＴＴＬ値が０より大きいときには、当該パケットのＩＰヘッダにＴＴＬ Ｍａｒｋｅｒビットを立ててから次ホップへ転送し、ＴＴＬ Ｍａｒｋｅｒビットが立ったパケットが到着し、当該パケットが前記被疑エントリに対応するパケットであるときには当該パケットをＴＴＬ値によらず廃棄することもできる。
【００１８】
つまり、被疑エントリに初めて到着したパケットについては、そのＴＴＬ値は０より大きい。しかし、今後、当該パケットはループ上を周回する可能性が高いので、ＴＴＬ Ｍａｒｋｅｒビットを立て、一回の周回後に速やかに廃棄することにより、ループによる不要なトラヒックを最小に抑制することができる。
【００１９】
また、パケットが最初に到着するノードの転送表では、例えば宛先アドレスｚとなっていても、次ホップのノードの転送表では、ｚがさらに細かく分岐され、ｚとｚ．１とに分かれているような場合には、宛先ｚのパケットはループを周回するが、宛先ｚ．１のパケットはループとは無関係である場合もある。このような場合に、最初のノードで一律に到着したパケットを廃棄してしまうと、ループとは無関係な宛先ｚ．１のパケットまでも併せて廃棄されてしまうので、いったんＴＴＬ Ｍａｒｋｅｒを付与して次ホップに転送することによりこのような不都合を回避することができる。
【００２０】
このとき、前記被疑エントリとしてマークを付けてから、一定時間以上ＴＴＬＭａｒｋｅｒビットが立ったパケットが該当エントリに転送されてこないときには、当該被疑エントリの疑いを解除することが望ましい。
【００２１】
つまり、ループが解消された後にも被疑エントリが残存していると、到着したパケットにＴＴＬ Ｍａｒｋｅｒビットを立てるなどの不要な処理が行われるため、一定時間以上ＴＴＬ Ｍａｒｋｅｒビットが立ったパケットが該当エントリに転送されてこないときには、速やかに被疑エントリの疑いを解除することがよい。当該一定時間はネットワーク環境に応じて適宜設定することがよい。
【００２２】
あるいは、前記被疑エントリに対応するパケットが到着し、そのＴＴＬ値が０より大きいときには、当該ＴＴＬ値を１だけ減算したものと所定値とを比較し、小さい方をＴＴＬ値としてＩＰヘッダに搭載してから次ホップへ転送することもできる。
【００２３】
つまり、ループを周回する可能性のあるパケットについて所定回数の周回を許容する。これにより、速やかにループが解消した場合には、当該パケットが廃棄されることなく、宛先に到着することができる。また、前述したように、パケットが最初に到着するノードの転送表では、例えば宛先アドレスｚとなっていても、次ホップのノードの転送表では、ｚがさらに細かく分岐され、ｚとｚ．１とに分かれているような場合には、宛先ｚのパケットはループを周回するが、宛先ｚ．１のパケットはループとは無関係である場合もある。このような場合に、最初のノードで一律に到着したパケットを廃棄してしまうと、ループとは無関係な宛先ｚ．１のパケットまでも併せて廃棄されてしまうので、所定回数の周回を許容することにより、このような不都合を回避することができる。この許容回数は、ネットワーク環境に応じて適宜設定することがよい。
【００２４】
このとき、前記被疑エントリとしてマークを付けてから、一定時間以上ＴＴＬ＝０で廃棄されるパケットが該当エントリに転送されてこないときには、当該被疑エントリの疑いを解除することが望ましい。
【００２５】
つまり、ループが解消された後にも被疑エントリが残存していると、到着したパケットのＴＴＬ値を１だけ減算したものと所定値とを比較し、小さい方をＴＴＬ値としてＩＰヘッダに搭載するなどの不要な処理が行われるため、一定時間以上ＴＴＬ＝０で廃棄されるパケットが該当エントリに転送されてこないときには、速やかに被疑エントリの疑いを解除することがよい。当該一定時間はネットワーク環境に応じて適宜設定されることがよい。
【００２６】
あるいは、前記被疑エントリに対応するパケットが到着し、そのＴＴＬ値が０より大きいときには、当該パケットの転送優先度を下げてから次ホップへ転送することもできる。
【００２７】
すなわち、転送優先度を下げるということは、他のトラヒックよりも帯域を狭めるということである。これにより、他のトラヒックを圧迫しない程度の狭い帯域でパケットがループを周回することを許容する。その間に、ループが回復すれば当該パケットは正常な宛先に転送されるので、即座に廃棄するよりも柔軟なパケット転送処理を行うことができる。
【００２８】
さらに、パケットの転送優先度に関する複数のクラスが設けられ、前記被疑エントリに対応するパケットが到着し、そのＴＴＬ値が０より大きいときには、当該パケットの転送優先度を１ランク下のクラスに下げてから次ホップへ転送することもできる。
【００２９】
これによれば、前者よりもさらに細かく転送優先度を分割し、周回回数に応じて徐々に転送優先度を下げることができる。この場合には、最下位のクラスまで下がったら次回には廃棄することにしてもよい。前者の場合は、低い優先度のままループを周回し続ける可能性があるが、後者の場合は、周回回数に応じて徐々に帯域が狭くなり最終的には廃棄されるようにすることもできる。
【００３０】
この場合には、前記被疑エントリとしてマークを付けてから、一定時間以上転送優先度が閾値よりも低いパケットが転送されてこないときには、当該被疑エントリの疑いを解除することが望ましい。
【００３１】
つまり、ループが解消された後にも被疑エントリが残存していると、到着したパケットの転送優先度を下げるなどの不要な処理が行われるため、一定時間以上転送優先度が閾値よりも低いパケットが該当エントリに転送されてこないときには、速やかに被疑エントリの疑いを解除することがよい。当該一定時間および当該閾値はネットワーク環境に応じて適宜設定することがよい。
【００３２】
本発明の第二の観点は、宛先アドレスに対応する次ホップ先が記録された転送表と、到着したパケットの宛先アドレスにしたがって前記転送表を検索し、検索された前記転送表の対応するエントリに基づき次ホップ先を決定する手段とを備えたパケット転送処理装置である。
【００３３】
ここで、本発明の特徴とするところは、ＴＴＬ値が０のために廃棄されたパケットに関する前記転送表の対応するエントリを被疑エントリとしてマークする手段を備えたところにある。
【００３４】
さらに、前記被疑エントリに対応するパケットが到着したときには、そのパケットをＴＴＬ値によらずに廃棄する手段を備えることが望ましい。
【００３５】
このとき、前記被疑エントリとしてマークを付けてから、一定時間以上経過したときには、当該被疑エントリのマークを解除する手段を備えることが望ましい。
【００３６】
あるいは、前記被疑エントリに対応するパケットが到着し、そのＴＴＬ値が０より大きいときには、当該パケットのＩＰヘッダにＴＴＬ Ｍａｒｋｅｒビットを立ててから次ホップへ転送する手段と、ＴＴＬ Ｍａｒｋｅｒビットが立ったパケットが到着し、当該パケットが前記被疑エントリに対応するパケットであるときには当該パケットをＴＴＬ値によらず廃棄する手段とを備えることもできる。
【００３７】
このとき、前記被疑エントリとしてマークを付けてから、一定時間以上ＴＴＬＭａｒｋｅｒビットが立ったパケットが該当エントリに転送されてこないときには、当該被疑エントリのマークを解除する手段を備えることが望ましい。
【００３８】
あるいは、前記被疑エントリに対応するパケットが到着し、そのＴＴＬ値が０より大きいときには、当該ＴＴＬ値を１だけ減算したものと所定値とを比較し、小さい方をＴＴＬ値としてＩＰヘッダに搭載してから次ホップへ転送する手段を備えることもできる。
【００３９】
このとき、前記被疑エントリとしてマークを付けてから、一定時間以上ＴＴＬ＝０で廃棄されるパケットが該当エントリに転送されてこないときには、当該被疑エントリのマークを解除する手段を備えることが望ましい。
【００４０】
あるいは、前記被疑エントリに対応するパケットが到着し、そのＴＴＬ値が０より大きいときには、当該パケットの転送優先度を下げてから次ホップへ転送する手段を備えることもできる。
【００４１】
あるいは、パケットの転送優先度に関する複数のクラスが設けられ、前記被疑エントリに対応するパケットが到着し、そのＴＴＬ値が０より大きいときには、当該パケットの転送優先度を１ランク下のクラスに下げてから次ホップへ転送する手段を備えることもできる。
【００４２】
このとき、前記被疑エントリとしてマークを付けてから、一定時間以上転送優先度が閾値よりも低いパケットが転送されてこないときには、当該被疑エントリの疑いを解除する手段を備えることが望ましい。
【００４３】
本発明の第三の観点は、本発明のパケット転送処理装置を備えたことを特徴とするネットワークである。
【００４４】
本発明の第四の観点は、情報処理装置にインストールすることにより、その情報処理装置に、本発明のパケット転送処理方法を実行させる、あるいは、情報処理装置にインストールすることにより、その情報処理装置に、本発明のパケット転送処理装置に相応する機能を実現させることを特徴とするプログラムである。
【００４５】
本発明の第五の観点は、本発明のプログラムが記録された前記情報処理装置読取可能な記録媒体である。本発明のプログラムは本発明の記録媒体に記録されることにより、前記情報処理装置は、この記録媒体を用いて本発明のプログラムをインストールすることができる。あるいは、本発明のプログラムを保持するサーバからネットワークを介して直接前記情報処理装置に本発明のプログラムをインストールすることもできる。
【００４６】
これにより、コンピュータ装置等の情報処理装置を用いて、ネットワーク内のノードが一貫性のない不正な転送表を用いていることなどによって転送経路のループが発生している場合にパケットが転送経路を周回する回数を抑制することができ、不要なトラヒックの増加を抑制することができるパケット転送処理方法およびパケット転送処理装置およびネットワークを実現することができる。
【００４７】
【発明の実施の形態】
（第一実施例）
本発明第一実施例を図１および図２を参照して説明する。図１は第一実施例を説明するための概念図である。図２は本実施例のパケット転送処理装置のブロック構成図である。第一実施例は、図２に示すように、到着したパケットの宛先アドレスにしたがって転送表１を検索し、検索されたこの転送表１の対応するエントリに基づき次ホップ先を決定する次ホップ決定部２を備えたパケット転送処理装置である。このパケット転送処理装置は、各ノードにそれぞれ備えてもよいし、あるいは、ネットワークに一つまたは複数配置して各ノードのパケット転送処理を制御してもよい。
【００４８】
ここで、本実施例の特徴とするところは、ＴＴＬ監視部３は、ＴＴＬ値が０のために廃棄されたパケットに関する転送表１の対応するエントリを被疑エントリとしてマークするところにある。なお、パケットのヘッダ情報はヘッダ読取部５により読み取られ、次ホップ決定部２、ＴＴＬ監視部３、Header checksum監視部４にそれぞれ分配される。また、転送処理部６は、次ホップ決定部２、ＴＴＬ監視部３、Header checksum監視部４の指示にしたがってパケットを転送または廃棄する。
【００４９】
第一実施例のＴＴＬ監視部３では、前記被疑エントリに対応するパケットが到着したときには、そのパケットをＴＴＬ値によらずに廃棄する。また、前記被疑エントリとしてマークを付けてから、一定時間以上経過したときには、当該被疑エントリの疑いを解除する。
【００５０】
すなわち、図１に示すノードＡにパケットが到着したとき、そのＴＴＬ値が０のため廃棄されたら、その該当する転送表エントリを被疑エントリとしてセットする。以降は、被疑エントリに該当するパケットを受信した時点でノードＡはＴＴＬ値によらずに全てのパケットを廃棄する。これによりパケットが転送経路のループに入ることを防ぐことができる。
【００５１】
（第二実施例）
第二実施例を図１、図２、図４、図５、図６を参照して説明する。図４は第二実施例のパケット転送処理手順を示すフローチャートである。図５はＩＰヘッダのＴＯＳオクテットを示す図である。図６は第二実施例のＴＯＳを用いたＴＴＬＭａｒｋｅｒのコーディングを示す図である。
【００５２】
第二実施例のパケット転送処理装置は、前記被疑エントリに対応するパケットが到着し、図２に示すＴＴＬ監視部３の監視結果によりそのＴＴＬ値が０より大きいときには、次ホップ決定部２は、当該パケットのＩＰヘッダにＴＴＬ Ｍａｒｋｅｒビットを立ててから次ホップへ転送する。さらに、次ホップ決定部２は、ＴＴＬ Ｍａｒｋｅｒビットが立ったパケットが到着し、当該パケットが前記被疑エントリに対応するパケットであるときには当該パケットをＴＴＬ値によらず廃棄する。
【００５３】
また、ＴＴＬ監視部３は、前記被疑エントリとしてマークを付けてから、一定時間以上ＴＴＬ Ｍａｒｋｅｒビットが立ったパケットが該当エントリに転送されてこないときには、当該被疑エントリの疑いを解除する。
【００５４】
図１に示すように、パケットが最初に到着するノードＡの転送表では、宛先アドレスｚとなっていても、次ホップのノードＢの転送表では、ｚがさらに細かく分岐され、ｚとｚ．１とに分かれている。ここで、宛先ｚのパケットはループを周回するが、宛先ｚ．１のパケットはループとは無関係である。このような場合に、第一実施例のように、最初のノードＡで一律に到着したパケットを廃棄してしまうと、ループとは無関係な宛先ｚ．１のパケットまでも廃棄されてしまうので、第二実施例では、いったんＴＴＬ Ｍａｒｋｅｒを付与して次ホップにパケットを転送する。
【００５５】
すなわち、被疑エントリにマークが付与された後に、ノードＡに被疑エントリに該当するパケットが到着したとき、ＴＴＬ値が０より大きければ、ヘッダのＴＴＬ Ｍａｒｋｅｒビットを立てて、ノードＢへ向けて転送する。ここではノードＡに到着した時点ではＴＴＬ Ｍａｒｋｅｒビットは立っていないとする。
【００５６】
次に、ノードＢではそのパケットを受信すると、転送表にしたがって次ホップを決める。転送表の検索では最長一致検索が行われる。つまり、転送表にｚという宛先とｚ．１という宛先とが存在するときに、ＩＰヘッダの宛先アドレスと一致する部分が最長のエントリが検索結果となる。この例ではパケットの宛先がｚ．１であれば、次ホップがＤとなり、それ以外の場合には次ホップがＣとなる。次ホップがＤの場合は無事に宛先まで転送されるが、Ｃの場合はループを周回する。つまり、ノードＣはノードＡとＢと一貫性が取れていない不正な転送表を持っているので、ノードＣへ転送されると、そのパケットはノードＡへ転送される。
【００５７】
ここでノードＡでは被疑エントリにマークを付けており、ノードＣから転送されてきたパケットにはＴＴＬ Ｍａｒｋｅｒビットがセットされるので廃棄する。これにより、再度転送経路のループに入ることを防ぐことができる。
【００５８】
この例では、ＴＴＬ Ｍａｒｋｅｒビットを立てることとしたが、このビットは例えば、ＴＯＳ(Type of service)オクテットを用いて実現することができる。図５はＩＰヘッダを示し、図６はＴＯＳオクテットを示す。Ｅｘｐｅｒｉｍｅｎｔａｌ ＵｓｅのうちのいくつかをＴＴＬ Ｍａｒｋｅｒとして用いることができる。
【００５９】
第二実施例のパケット転送処理手順を図４に示す。パケットを受信し（ステップ１）、ＴＴＬ監視部３はＴＴＬが０でないか否か判定し（ステップ２）、０ならば転送表１の疑似エントリにマークを付ける（ステップ５）、０でなければＴＴＬ値を減算し（ステップ３）、そのＴＴＬ値をＩＰヘッダに搭載する（ステップ４）。この処理と並行して次ホップ決定部２は、転送表１の検索を行い転送先を決定する（ステップ６）。当該転送表１のエントリが被疑エントリであるか否か判定し被疑エントリであれば（ステップ７）、ＴＴＬ Ｍａｒｋｅｒがあるか否か判定し（ステップ８）、ＴＴＬ Ｍａｒｋｅｒがなければ付与し（ステップ９）、また、ＴＴＬ Ｍａｋｒｋｅｒがあれば廃棄する（ステップ１４）。さらに並行してHeader checksum 監視部４は、Header checksumが正しいか否か判定し（ステップ１１）、正しくなければ廃棄し（ステップ１４）、正しければHeader checksumを再計算し（ステップ１２）、ＩＰヘッダに再計算されたHeader checksumを搭載する(ステップ１３)。このようにして、ＴＴＬが０ではなく、転送先が決定し、ＴＴＬ Ｍａｒｋｅｒがなく、あるいは、ＴＴＬ Ｍａｒｋｅｒが初めて付与され、Header checksumが正しく、さらに、Header checksumが再計算されたパケットは次ホップに転送される（ステップ１０）。
【００６０】
（第三実施例）
第三実施例を図２および図３を参照して説明する。図３は第三実施例を説明するための概念図である。第三実施例のパケット転送処理装置は、前記被疑エントリに対応するパケットが到着し、図２に示すＴＴＬ監視部３は、そのＴＴＬ値が０より大きいときには、当該ＴＴＬ値を１だけ減算したものと所定値とを比較し、小さい方をＴＴＬ値としてＩＰヘッダに搭載してから次ホップへ転送する。
【００６１】
さらに、ＴＴＬ監視部３は、前記被疑エントリとしてマークを付けてから、一定時間以上ＴＴＬ＝０で廃棄されるパケットが該当エントリに転送されてこないときには、当該被疑エントリのマークを解除する。
【００６２】
すなわち、第二実施例ではＴＴＬ Ｍａｒｋｅｒビットを新たに定義したが、ＴＴＬ値だけでも類似の効果を上げることができる。図３に概念を示す。被疑エントリに該当するパケットが後段でどれだけホップを転送されるかの上限を決めておき、それをＨとする。被疑エントリに該当するパケットが到着したとき、ＴＴＬを１だけ減算したものと、Ｈとを比べ、小さい方を新たなＴＴＬ値として転送する。これにより、ループを周回する回数を抑制することが可能である。
【００６３】
（第四実施例）
第四実施例を図２および図７を参照して説明する。図７は第四実施例のパケット転送処理手順を示すフローチャートである。第四実施例のパケット転送処理装置は、被疑エントリに対応するパケットが到着し、そのＴＴＬ値が０より大きいときには、図２に示す次ホップ決定部２は、当該パケットの転送優先度を下げてから次ホップへ転送する。
【００６４】
すなわち、転送優先度を下げるということは、他のトラヒックよりも帯域を狭くするということである。これにより、他のトラヒックを圧迫しない程度の狭い帯域でパケットがループを周回することを許容する。その間に、ループが回復すれば当該パケットは正常な宛先に転送されるので、即座に廃棄するよりも柔軟なパケット転送処理を行うことができる。
【００６５】
また、次ホップ決定部２は、前記被疑エントリとしてマークを付けてから、一定時間以上転送優先度が閾値よりも低いパケットが転送されてこないときには、当該被疑エントリの疑いを解除する。ここでは閾値は被疑エントリ以外のエントリに到着する通常パケットの転送優先度とする。
【００６６】
第四実施例のパケット転送処理手順を図７に示す。パケットを受信し（ステップ１）、ＴＴＬ監視部３は、ＴＴＬが０でないか否か判定し（ステップ２）、０ならば転送表１の疑似エントリにマークを付ける（ステップ５）、０でなければＴＴＬ値を減算し（ステップ３）、そのＴＴＬ値をＩＰヘッダに搭載する（ステップ４）。この処理と並行して次ホップ決定部２は、転送表１の検索を行い転送先を決定する（ステップ６）。当該転送表１のエントリが被疑エントリであるか否か判定し被疑エントリであれば（ステップ７）、転送優先度は通常のパケットと比較して低いか否か判定し（ステップ８）、転送優先度が通常のパケットと比較して低くなければ優先度を下げ（ステップ９）、また、転送優先度が通常のパケットと比較して低ければそのまま転送する（ステップ１０）。さらに並行してHeader checksum 監視部４は、Header checksumが正しいか否か判定し（ステップ１１）、正しくなければ廃棄し（ステップ１４）、正しければHeader checksumを再計算し（ステップ１２）、ＩＰヘッダに再計算されたHeader checksumを搭載する(ステップ１３)。このようにして、ＴＴＬが０ではなく、転送先が決定し、Header checksumが正しく、さらに、Header checksumが再計算されたパケットは次ホップに転送される（ステップ１０）。
【００６７】
（第五実施例）
第五実施例を図２および図８を参照して説明する。図８は第五実施例のパケット転送処理手順を示すフローチャートである。第五実施例のパケット転送処理装置は、パケットの転送優先度に関する複数のクラスが設けられ、被疑エントリに対応するパケットが到着し、そのＴＴＬ値が０より大きいときには、図２に示す次ホップ決定部２は、当該パケットの転送優先度を１ランク下のクラスに下げてから次ホップへ転送する。
【００６８】
すなわち、第五実施例は、第四実施例よりもさらに細かく転送優先度を分割し、周回回数に応じて徐々に転送優先度を下げる。第五実施例では、最下位のクラスまで下がったら次回には廃棄する。第四実施例の場合は、低い優先度のままループを周回し続ける可能性があるが、第五実施例の場合は、周回回数に応じて徐々に帯域が狭くなり最終的には廃棄されるようにする。
【００６９】
また、次ホップ決定部２は、前記被疑エントリとしてマークを付けてから、一定時間以上転送優先度が閾値よりも低いパケットが転送されてこないときには、当該被疑エントリの疑いを解除する。ここでは閾値は被疑エントリ以外のエントリに到着する通常パケットの転送優先度とする。
【００７０】
第五実施例のパケット転送処理手順を図８に示す。パケットを受信し（ステップ１）、ＴＴＬ監視部３は、ＴＴＬが０でないか否か判定し（ステップ２）、０ならば転送表１の疑似エントリにマークを付ける（ステップ５）、０でなければＴＴＬ値を減算し（ステップ３）、そのＴＴＬ値をＩＰヘッダに搭載する（ステップ４）。この処理と並行して次ホップ決定部２は、転送表１の検索を行い転送先を決定する（ステップ６）。当該転送表１のエントリが被疑エントリであるか否か判定し被疑エントリであれば（ステップ７）、転送優先度のクラスが最下位であるか否か判定し（ステップ８）、最下位でなければ優先度を１ランク下げ（ステップ９）、また、最下位であれば廃棄する（ステップ１４）。さらに並行してHeader checksum 監視部４は、Header checksumが正しいか否か判定し（ステップ１１）、正しくなければ廃棄し（ステップ１４）、正しければHeader checksumを再計算し（ステップ１２）、ＩＰヘッダに再計算されたHeader checksumを搭載する(ステップ１３)。このようにして、ＴＴＬが０ではなく、転送先が決定し、優先度が最下位でなく、Header checksumが正しく、さらに、Header checksumが再計算されたパケットは次ホップに転送される（ステップ１０）。
【００７１】
（第六実施例）
本実施例のパケット転送処理装置は、情報処理装置であるコンピュータ装置を用いて実現することができる。すなわち、コンピュータ装置にインストールすることにより、そのコンピュータ装置に、本実施例のパケット転送処理方法を実行させる、あるいは、コンピュータ装置にインストールすることにより、そのコンピュータ装置に、本実施例のパケット転送処理装置に相応する機能を実現させるプログラムをコンピュータ装置にインストールすることにより、そのコンピュータ装置を本実施例のパケット転送処理装置に相応する装置とすることができる。
【００７２】
また、本実施例のプログラムは本実施例の記録媒体に記録されることにより、コンピュータ装置は、この記録媒体を用いて本実施例のプログラムをインストールすることができる。あるいは、本実施例のプログラムを保持するサーバからネットワークを介して直接コンピュータ装置に本実施例のプログラムをインストールすることもできる。
【００７３】
これにより、コンピュータ装置を用いて、ネットワーク内のノードが一貫性のない不正な転送表を用いていることなどによって転送経路のループが発生している場合にパケットが転送経路周回する回数を抑制することができ、不要なトラヒックの増加を抑制することができるパケット転送処理方法およびパケット転送処理装置およびネットワークを実現することができる。
【００７４】
【発明の効果】
以上説明したように、本発明によれば、ネットワーク内のノードが一貫性のない不正な転送表を用いていることなどによって転送経路のループが発生している場合にパケットが転送経路を周回する回数を抑制することができ、不要なトラヒックの増加を抑制することができる。
【図面の簡単な説明】
【図１】第一および第二実施例を説明するための概念図。
【図２】本実施例のパケット転送処理装置のブロック構成図。
【図３】第三実施例を説明するための概念図。
【図４】第二実施例のパケット転送処理手順を示すフローチャート。
【図５】ＩＰヘッダのＴＯＳオクテットを示す図。
【図６】第二実施例のＴＯＳを用いたＴＴＬ Ｍａｒｋｅｒのコーディングを示す図。
【図７】第四実施例のパケット転送処理手順を示すフローチャート。
【図８】第五実施例のパケット転送処理手順を示すフローチャート。
【図９】従来のパケット転送処理を説明するための図。
【図１０】ＴＴＬ処理を説明するための図。
【図１１】従来のパケット転送処理手順を示すフローチャート。
【図１２】不正な転送表によるループの問題を説明するための図。
【符号の説明】
Ａ〜Ｃ  ノード
１  転送表
２  次ホップ決定部
３  ＴＴＬ監視部
４  Header checksum監視部
５  ヘッダ読取部
６  転送処理部
【図１】
0003643094.tif 000002
【図２】
0003643094.tif 000003
【図３】
0003643094.tif 000004
【図４】
0003643094.tif 000005
【図５】
0003643094.tif 000006
【図６】
0003643094.tif 000007
【図７】
0003643094.tif 000008
【図８】
0003643094.tif 000009
【図９】
0003643094.tif 000010
【図１０】
0003643094.tif 000011
【図１１】
0003643094.tif 000012
【図１２】
0003643094.tif 000013