(57)【特許請求の範囲】
【請求項１】
複数の端末及び複数の中継装置がリンクによって通信可能に接続されるＩＰｖ６（Internet  Protocol  version  6）ネットワークシステムであって、
前記中継装置は、
リンク毎に定められている１回に転送可能なデータ容量である転送可能容量のうち当該中継装置から所定の端末までの経路に含まれる各リンクの最小の転送可能容量と、当該所定の端末における宛先情報とを対応付けて記憶する記憶部と、
当該中継装置と接続される所定のリンクの転送可能容量が前記記憶部に記憶されている転送可能容量以上である場合に、前記記憶部に記憶されている転送可能容量と宛先情報との組合せをルータ広告メッセージにて前記所定のリンクに送信し、前記所定のリンクの転送可能容量が前記記憶部に記憶されている転送可能容量よりも小さい場合に、前記所定のリンクの転送可能容量と前記宛先情報との組合せをルータ広告メッセージにて前記所定のリンクに送信する転送容量送信部と、
他の中継装置からルータ広告メッセージにて受信した転送可能容量と宛先情報との組合せの該宛先情報が、前記記憶部に記憶されている場合には、前記記憶部において該宛先情報と対応付けて記憶される転送可能容量を、該宛先情報と組をなす前記受信した転送可能容量で更新し、前記記憶部に記憶されていない場合には、前記受信した転送可能容量と宛先情報との組合せを前記記憶部に格納する転送容量格納部とを備え、
前記端末は、
前記中継装置から受信した転送可能容量と宛先情報との組合せに基づいて、前記所定の端末に対応する転送可能容量の単位で当該所定の端末宛にパケットを送信する送信部
を備えたことを特徴とするネットワークシステム。
【請求項２】
前記転送容量送信部は、
前記記憶部に記憶されている転送可能容量が、前記ネットワークシステムに含まれる各リンクに対して保証されている転送容量である保証転送容量よりも大きい場合に、当該転送可能容量と前記所定のリンクの転送可能容量とを比較した上で前記宛先情報と転送可能容量との組合せを前記所定のリンクに送信する
ことを特徴とする請求項１に記載のネットワークシステム。
【請求項３】
前記記憶部は、
前記所定の端末における宛先情報として、当該所定の端末のＩＰアドレス、又は、当該所定の端末のＩＰアドレスのプレフィックスに該当するネットワークアドレスを記憶する
ことを特徴とする請求項１または２に記載のネットワークシステム。
【請求項４】
複数の端末及び複数の中継装置がリンクによって通信可能に接続されるＩＰｖ６（Internet  Protocol  version  6）ネットワークシステムに含まれる中継装置であって、
リンク毎に定められている１回に転送可能なデータ容量である転送可能容量のうち当該中継装置から所定の端末までの経路に含まれる各リンクの最小の転送可能容量と、当該所定の端末における宛先情報とを対応付けて記憶する記憶部と、
当該中継装置と接続される所定のリンクの転送可能容量が前記記憶部に記憶されている転送可能容量以上である場合に、前記記憶部に記憶されている転送可能容量と宛先情報との組合せをルータ広告メッセージにて前記所定のリンクに送信し、前記所定のリンクの転送可能容量が前記記憶部に記憶されている転送可能容量よりも小さい場合に、前記所定のリンクの転送可能容量と前記宛先情報との組合せをルータ広告メッセージにて前記所定のリンクに送信する転送容量送信部と、
他の中継装置からルータ広告メッセージにて受信した転送可能容量と宛先情報との組合せの該宛先情報が、前記記憶部に記憶されている場合には、前記記憶部において該宛先情報と対応付けて記憶される転送可能容量を、該宛先情報と組をなす前記受信した転送可能容量で更新し、前記記憶部に記憶されていない場合には、前記受信した転送可能容量と宛先情報との組合せを前記記憶部に格納する転送容量格納部と
を備えたことを特徴とする中継装置。
【請求項５】
複数の端末及び複数の中継装置がリンクによって通信可能に接続されるＩＰｖ６（Internet  Protocol  version  6）ネットワークシステムで実行される通信方法であって、
前記中継装置は、
リンク毎に定められている１回に転送可能なデータ容量である転送可能容量のうち当該中継装置から所定の端末までの経路に含まれる各リンクの最小の転送可能容量と、当該所定の端末における宛先情報とを対応付けて記憶する記憶部を備え、
前記中継装置が、
当該中継装置と接続される所定のリンクの転送可能容量が前記記憶部に記憶されている転送可能容量以上である場合に、前記記憶部に記憶されている転送可能容量と宛先情報との組合せをルータ広告メッセージにて前記所定のリンクに送信し、前記所定のリンクの転送可能容量が前記記憶部に記憶されている転送可能容量よりも小さい場合に、前記所定のリンクの転送可能容量と前記宛先情報との組合せをルータ広告メッセージにて前記所定のリンクに送信する転送容量送信工程と、
他の中継装置からルータ広告メッセージにて受信した転送可能容量と宛先情報との組合せの該宛先情報が、前記記憶部に記憶されている場合には、前記記憶部において該宛先情報と対応付けて記憶される転送可能容量を、該宛先情報と組をなす前記受信した転送可能容量で更新し、前記記憶部に記憶されていない場合には、前記受信した転送可能容量と宛先情報との組合せを前記記憶部に格納する転送容量格納工程とを実行し、
前記端末が、
前記中継装置から受信した転送可能容量と宛先情報との組合せに基づいて、前記所定の端末に対応する転送可能容量の単位で当該所定の端末宛にパケットを送信する送信工程を実行する
ことを特徴とする通信方法。
【請求項６】
複数の端末及び複数の中継装置がリンクによって通信可能に接続されるＩＰｖ６（Internet  Protocol  version  6）ネットワークシステムに含まれる中継装置で実行される中継方法であって、
リンク毎に定められている１回に転送可能なデータ容量である転送可能容量のうち当該中継装置から所定の端末までの経路に含まれる各リンクの最小の転送可能容量と、当該所定の端末における宛先情報とを対応付けて記憶する記憶部に記憶されている転送可能容量と、前記中継装置と接続される所定のリンクの転送可能容量とを比較する比較工程と、
前記比較工程における比較の結果、前記所定のリンクの転送可能容量が前記記憶部に記憶されている転送可能容量以上である場合に、前記記憶部に記憶されている転送可能容量と宛先情報との組合せをルータ広告メッセージにて前記所定のリンクに送信し、前記所定のリンクの転送可能容量が前記記憶部に記憶されている転送可能容量よりも小さい場合に、前記所定のリンクの転送可能容量と前記宛先情報との組合せをルータ広告メッセージにて前記所定のリンクに送信する転送容量送信工程と、
他の中継装置からルータ広告メッセージにて受信した転送可能容量と宛先情報との組合せの該宛先情報が、前記記憶部に記憶されている場合には、前記記憶部において該宛先情報と対応付けて記憶される転送可能容量を、該宛先情報と組をなす前記受信した転送可能容量で更新し、前記記憶部に記憶されていない場合には、前記受信した転送可能容量と宛先情報との組合せを前記記憶部に格納する転送容量格納工程と
を含んだことを特徴とする中継方法。
【請求項７】
複数の端末及び複数の中継装置がリンクによって通信可能に接続されるＩＰｖ６（Internet  Protocol  version  6）ネットワークシステムに含まれる中継装置に実行させる中継プログラムであって、
リンク毎に定められている１回に転送可能なデータ容量である転送可能容量のうち当該中継装置から所定の端末までの経路に含まれる各リンクの最小の転送可能容量と、当該所定の端末における宛先情報とを対応付けて記憶する記憶部に記憶されている転送可能容量と、前記中継装置と接続される所定のリンクの転送可能容量とを比較する比較手順と、
前記比較手順における比較の結果、前記所定のリンクの転送可能容量が前記記憶部に記憶されている転送可能容量以上である場合に、前記記憶部に記憶されている転送可能容量と宛先情報との組合せをルータ広告メッセージにて前記所定のリンクに送信し、前記所定のリンクの転送可能容量が前記記憶部に記憶されている転送可能容量よりも小さい場合に、前記所定のリンクの転送可能容量と前記宛先情報との組合せをルータ広告メッセージにて前記所定のリンクに送信する転送容量送信手順と、
他の中継装置からルータ広告メッセージにて受信した転送可能容量と宛先情報との組合せの該宛先情報が、前記記憶部に記憶されている場合には、前記記憶部において該宛先情報と対応付けて記憶される転送可能容量を、該宛先情報と組をなす前記受信した転送可能容量で更新し、前記記憶部に記憶されていない場合には、前記受信した転送可能容量と宛先情報との組合せを前記記憶部に格納する転送容量格納手順と
を前記中継装置に実行させることを特徴とする中継プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ネットワークシステム、中継装置、通信方法、中継方法及び中継プログラムに関する。
【背景技術】
【０００２】
一般に、インターネットプロトコルを用いたネットワーク（ＩＰ網）は、様々な物理的なネットワーク媒体の上に構築可能なように設計されている。この物理的なネットワーク媒体には、例えば、ケーブルや無線などがある。ＩＰ網を特定のネットワーク媒体の伝送方式に依存しない形態で構築可能とするために、物理的なネットワーク媒体は、「リンク層」と呼ばれる概念で抽象化されたインタフェースを介して上位のＩＰ層から利用できるようにモデル化される。インターネットプロトコルのプロトコルモデルは、最下位層にリンク層が位置づけられ、そのリンク層の上にＩＰ層が位置付けられる概念で表される。
【０００３】
このようなＩＰ網において、データは、ＩＰパケットと呼ばれるデータの塊としてノード間を送受信される。所定のノードが大きなデータを送る場合には、必要に応じてデータは複数のＩＰパケットに分割されて送受信される。所定のネットワーク媒体上のＩＰ網に接続された２つのノード間でＩＰパケットが送受信される場合、これらの２つのノード間は、概念的な「リンク」によって結ばれる。一般に、かかるリンクには、１つのＩＰパケット相当で送信することができるデータの塊の最大サイズが定められる。かかるデータの最大サイズは、ネットワーク媒体（リンク層）で用いる通信プロトコルの関数として表現可能である。このようなリンクが許容可能なデータの最大サイズは、一般にＭＴＵ（Maximum  Transfer  Unit）値と呼ばれる。
【０００４】
ところで、複数のＩＰ網は、ルータにより相互接続される。ルータはケーブルや無線など様々なネットワーク媒体のリンクを介して複数のＩＰ網に接続し、ＩＰパケットをＩＰ網間で中継するノードの一種である。このようにルータによって相互接続されたＩＰ網の集合体は、インターネットと呼ばれる。
【０００５】
ここで、所定のネットワーク媒体上に構築されたＩＰ網に接続しているノードＡが、別のネットワーク媒体上に構築されたＩＰ網に接続しているノードＢと通信する場合について検討する。例えば、ノードＡ及びＢのそれぞれが接続する２つのＩＰ網が同一の１つのルータに接続している場合には、かかるルータは、ノードＡからノードＢ宛に送信されたＩＰパケットを中継することができる。また、ノードＡが接続するＩＰ網とノードＢが接続するＩＰ網の間に複数のルータと、かかる複数のルータ間を結ぶ複数のリンクが存在する場合にも、ノードＡからノードＢまでの経路上に存在する各ルータがＩＰパケットを中継することにより、ノードＡとノードＢとの間における通信が可能となる。
【０００６】
上記例において、ノードＡからノードＢへ到達する経路上にある複数のリンクには、それぞれのネットワーク媒体で用いる通信プロトコルに関係付けられたＭＴＵ値が定められている。そのため、ノードＡからノードＢへＩＰパケットを転送する場合、かかるＩＰパケットのサイズは、ノードＡからノードＢまでの経路上に存在する各リンクのＭＴＵ値のいずれも超えないことが求められる。すなわち、ノードＡは、ノードＢにＩＰパケットを送信する場合に、ノードＡからノードＢまでの経路を構成するリンク全体の中で、最も小さいＭＴＵ値以下のサイズでＩＰパケットを送信することが求められる。このような所定の経路上の全リンクにおける最小のＭＴＵ値は、その経路に対する「経路ＭＴＵ値」と呼ばれる。
【０００７】
インターネットプロトコルでは、所定の宛先ノードへの経路ＭＴＵ値を発見するための手順が経路ＭＴＵ探索（Path  MTU  Discovery）として標準的に定められている。インターネットプロトコル・バージョン４（IPv4）における経路ＭＴＵ探索はＲＦＣ（Request  for  Comments）１１９１に定義されており、インターネットプロトコル・バージョン６（IPv6）の経路ＭＴＵ探索はＲＦＣ１９８１に定義されている。なお、ＲＦＣ１９８１は、ＲＦＣ１１９１から派生したものである。
【０００８】
経路ＭＴＵ探索における手順の概略を説明すると、ＩＰパケットの送信元ノードは、かかるノード自身が接続しているネットワーク媒体（リンク）のＭＴＵ値を初期の経路ＭＴＵ値と仮定してＩＰパケットを送信する。このＩＰパケットは、宛先ノードに届くまでに経路上のルータとリンクを経由する。このとき、経路の途中のあるリンクのＭＴＵ値がＩＰパケットのサイズよりも小さい場合、すなわちＩＰパケットのデータサイズがリンクのＭＴＵ値を超過した場合には、かかるリンクに接続するルータは、ＩＰパケットを破棄し、送信元ノードに対してパケット過大メッセージ（Packet  Too  Big  messages）を返送する。このようなパケット過大メッセージのフォーマットと通信手順については、ＲＦＣ４４４３に定義されている。
【０００９】
パケット過大メッセージには、ＩＰパケットのサイズが超過したＭＴＵ値であって、メッセージを送出するルータが接続しているリンクのＭＴＵ値が含まれる。パケット過大メッセージが送信元ノードまで転送されることにより、かかる送信元ノードは、宛先ノードまでの経路の途中に初期に仮定した経路ＭＴＵ値よりも小さいＭＴＵ値が定められているリンクが存在することを識別できる。さらに、送信元ノードは、パケット過大メッセージに含まれるＭＴＵ値にＩＰパケットのサイズを変更して再送信することにより、少なくともパケット過大メッセージを返送したルータがかかるリンクを介して接続する次のノードまでＩＰパケットを到達させることができる。送信元ノードは、このような処理を繰り返すことにより、最終的には宛先ノードにＩＰパケットを到達させることができる。
【００１０】
ＲＦＣ１９８１には、ＩＰｖ６を使用するノードは経路ＭＴＵ探索を実装すべきであると記載されているが、必須要件ではない。また、ＲＦＣ１９８１には、経路ＭＴＵ探索を実装しないノードはＩＰｖ６の最小ＭＴＵ値を経路ＭＴＵ値として用いると記載されている。一方、ＲＦＣ２４６０のＩＰｖ６仕様では、ＩＰｖ６を使用するノードは最小のＭＴＵ値を１２８０オクテット（Octets）とするように定められている。そのため、経路ＭＴＵ探索を実装しないノードは常に経路ＭＴＵ値を１２８０オクテットとしてＩＰパケットを送信することになる。
【００１１】
以上述べたような経路ＭＴＵ探索の手順が存在する一方で、ＲＦＣ４８６１には、ルータが、ルータ自身が接続しているリンクと同一リンクに接続するノード全てに対して、かかるリンクのＭＴＵ値を広告する仕組みが記載されている。ＲＦＣ４８６１はＩＰｖ６の近隣発見プロトコル（Neighbor  Discovery  Protocol）に関する標準であり、あるノードが同一ネットワーク媒体（リンク）に接続している他ノード群を発見し、他ノードに関する情報を収集して通信可能にするための手順について定義したものである。
【００１２】
かかるＲＦＣ４８６１には、近隣発見プロトコルに関して、ルータがルータ自身の存在や通信設定に関する情報を同一リンクに接続しているノードに対して広告するためのルータ広告メッセージの仕様が定められており、そのメッセージのオプションとしてリンクのＭＴＵ値を含めることができると記載されている。ルータは、ＭＴＵオプションを用いることにより、同一リンクに接続する他ノードによって使用されることが推奨されるＭＴＵ値を指定することができる。したがって、ルータ広告メッセージのＭＴＵオプションを使用した場合、同一リンクに接続している各ノード間においては、各ノードが経路ＭＴＵ探索を行うことなく、ルータによって指定されたＭＴＵ値によりＩＰパケットを送信することが可能である。
【００１３】
なお、ＲＦＣ４８６１には、近隣発見プロトコルを実施する際に、ＩＰｖ６のノードに搭載されることが考えられる概念的な機能について記載されている。それらの機能のうち経路ＭＴＵ探索に関するものとして、近隣キャッシュ（Neighbor  Cache）と宛先キャッシュ（Destination  Cache）がある。近隣キャッシュは、所定のノードが直接接続しているリンク毎に、かかるリンク上に接続している他ノードに関する情報を一時的に蓄えておくためのキャッシュである。宛先キャッシュは、所定のノードが最近通信した宛先ノードに関する情報を一時的に蓄えておくためのキャッシュである。ＲＦＣ４８６１では、宛先キャッシュに宛先ごとの経路ＭＴＵ値を含めることも可能であると記載されている。
【００１４】
また、ＲＦＣ１１９１の経路ＭＴＵ探索の仕組みを用いて発見した経路ＭＴＵ値を宛先ノード毎にキャッシュしておき、その後に同一の宛先ノードへの通信が発生した際に、キャッシュ情報を用いることで、経路ＭＴＵ探索を行うことなく宛先ノードまでＩＰパケットを到達させる技術については、一般に知られている。
【先行技術文献】
【非特許文献】
【００１５】
【非特許文献１】J.Mogul  et  al,  "Path  MTU  Discovery",  Network  Working  Group,  RFC1191,  November  1990,  ［online］,［平成２３年１１月７日検索］、インターネット＜http://tools.ietf.org/html/rfc1191＞
【非特許文献２】J.McCann  et  al,  "Path  MTU  Discovery  for  IP  version  6",  Network  Working  Group,  RFC1981,  August  1996,  ［online］,［平成２３年１１月７日検索］、インターネット＜http://tools.ietf.org/html/rfc1981＞
【非特許文献３】S.Deering  et  al,  "Internet  Protocol,  Version  6  (IPv6)  Specification",  Network  Working  Group,  RFC2460,  December  1998,  ［online］,［平成２３年１１月７日検索］、インターネット＜http://tools.ietf.org/html/rfc2460＞
【非特許文献４】A.Conta  et  al,  "Internet  Control  Message  Protocol  (ICMPv6)  for  the  Internet  Protocol  Version  6  (IPv6)  Specification",  Network  Working  Group,  RFC4443,  March  2006,  ［online］,［平成２３年１１月７日検索］、インターネット＜http://tools.ietf.org/html/rfc4443＞
【非特許文献５】T.Narten  et  al,  "Neighbor  Discovery  for  IP  version  6  (IPv6)",  Network  Working  Group,  RFC4861,  September  2007,  ［online］,［平成２３年１１月７日検索］、インターネット＜http://tools.ietf.org/html/rfc4861＞
【発明の概要】
【発明が解決しようとする課題】
【００１６】
しかしながら、上記の従来技術には、各ノードが適切な経路ＭＴＵ値を用いて通信を行えない場合があった。具体的には、経路ＭＴＵ探索において、ルータによって返送されるパケット過大メッセージは、送信元ノードに到達しない場合がある。例えば、ルータが経路ＭＴＵ探索の仕組みを具備していない場合や、ルータと送信元ノードとの間における途中のルータが経路ＭＴＵ探索の仕組みを具備していない場合や、ファイアフォール等の関係でパケット過大メッセージが途中のルータに到達しない場合などに、パケット過大メッセージは、送信元ノードに到達しない場合がある。このような場合には、送信元ノードは、宛先ノードに対する適切な経路ＭＴＵ値を取得することができないので、適切な経路ＭＴＵ値を用いて宛先ノードとの間で通信することができない。
【００１７】
なお、上記の通り、ＩＰｖ６では、経路ＭＴＵ探索では検知不能なパケット過大による通信不能を回避するために、送信元ノードが予めＩＰｖ６の最小ＭＴＵ値である１２８０オクテットをデフォルトの経路ＭＴＵ値として使用することも考えられる。しかし、全ての宛先ノードに対して最小ＭＴＵ値である１２８０オクテットをデフォルトとして適用することは、実際には経路ＭＴＵ値が１２８０オクテットよりも大きい宛先ノードに対しても１２８０オクテットであるＩＰパケットのサイズでデータを送信することになるので、通信効率が悪くなるという問題が発生する。
【００１８】
また、送信元ノードが、上記の宛先キャッシュを使用した場合には、既に通信が成功している宛先ノードに対して、経路ＭＴＵ探索の仕組みを使うことなく適切な経路ＭＴＵ値を選択することが可能になるとも考えられる。しかし、宛先キャッシュを用いた従来技術であっても、通信が成功するまでは各ノードが経路ＭＴＵ探索を用いることになるので、パケット過大メッセージが送信元ノードに到達しないことで各ノードが適切な経路ＭＴＵ値を用いて宛先ノードとの間で通信を行えないという問題を解消することができない。
【００１９】
本願の開示する技術は、上記に鑑みてなされたものであって、各ノードが適切な経路ＭＴＵ値を用いて通信を行うことができるネットワークシステム、中継装置、通信方法、中継方法及び中継プログラムを提供することを目的とする。
【課題を解決するための手段】
【００２０】
実施形態に係るネットワークシステムは、複数の端末及び複数の中継装置がリンクによって通信可能に接続されるＩＰｖ６（Internet  Protocol  version  6）ネットワークシステムであって、前記中継装置は、リンク毎に定められている１回に転送可能なデータ容量である転送可能容量のうち当該中継装置から所定の端末までの経路に含まれる各リンクの最小の転送可能容量と、当該所定の端末における宛先情報とを対応付けて記憶する記憶部と、当該中継装置と接続される所定のリンクの転送可能容量が前記記憶部に記憶されている転送可能容量以上である場合に、前記記憶部に記憶されている転送可能容量と宛先情報との組合せをルータ広告メッセージにて前記所定のリンクに送信し、前記所定のリンクの転送可能容量が前記記憶部に記憶されている転送可能容量よりも小さい場合に、前記所定のリンクの転送可能容量と前記宛先情報との組合せをルータ広告メッセージにて前記所定のリンクに送信する転送容量送信部と、他の中継装置からルータ広告メッセージにて受信した転送可能容量と宛先情報との組合せの該宛先情報が、前記記憶部に記憶されている場合には、前記記憶部において該宛先情報と対応付けて記憶される転送可能容量を、該宛先情報と組をなす前記受信した転送可能容量で更新し、前記記憶部に記憶されていない場合には、前記受信した転送可能容量と宛先情報との組合せを前記記憶部に格納する転送容量格納部とを備え、前記端末は、前記中継装置から受信した転送可能容量と宛先情報との組合せに基づいて、前記所定の端末に対応する転送可能容量の単位で当該所定の端末宛にパケットを送信する送信部を備えたことを特徴とする。
【発明の効果】
【００２１】
実施形態に係るネットワークシステム、中継装置、通信方法、中継方法及び中継プログラムは、各ノードが適切な経路ＭＴＵ値を用いて通信を行うことができるという効果を奏する。
【図面の簡単な説明】
【００２２】
【図１】図１は、実施例１に係るネットワークシステムの構成例を示す図である。
【図２】図２は、実施例１に係るルータ広告メッセージにおける経路ＭＴＵオプションのビットフォーマットの一例を示す図である。
【図３】図３は、実施例１に係るルータの構成例を示す図である。
【図４】図４は、実施例１における近隣キャッシュの一例を示す図である。
【図５】図５は、実施例１における宛先キャッシュの一例を示す図である。
【図６】図６は、実施例１に係るノードの構成例を示す図である。
【図７】図７は、実施例１に係るネットワークシステムによる処理手順を示すシーケンス図である。
【図８】図８は、実施例１に係るルータによる送信処理手順を示すフローチャートである。
【図９】図９は、実施例１に係るルータによる受信処理手順を示すフローチャートである。
【図１０】図１０は、中継プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００２３】
以下に、本願に係るネットワークシステム、中継装置、通信方法、中継方法及び中継プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例により本願に係るネットワークシステム、中継装置、通信方法、中継方法及び中継プログラムが限定されるものではない。
【実施例１】
【００２４】
［実施例１に係るネットワークシステムの構成］
まず、図１を用いて、実施例１に係るネットワークシステムについて説明する。図１は、実施例１に係るネットワークシステムの構成例を示す図である。図１に例示するように、実施例１に係るネットワークシステム１には、ノード１１〜１３と、ルータ１０１〜１０４とが含まれる。
【００２５】
ノード１１〜１３は、ネットワークシステム１における端末であり、例えば、各種データを送受信するＰＣ（Personal  Computer）等である。実施例１におけるノード１１〜１３は、ＩＰｖ６に準拠した端末であるものとする。ルータ１０１〜１０４は、ノード１１〜１３によって送信されるＩＰパケットを中継する中継装置である。
【００２６】
ノード１１及びルータ１０１は、リンクＬ１１によって接続される。また、ルータ１０１及びルータ１０２はリンクＬ１２によって接続され、ルータ１０２及びルータ１０３はリンクＬ１３によって接続され、ノード１２及びルータ１０３はリンクＬ１４によって接続され、ルータ１０２及びルータ１０４はリンクＬ１５によって接続され、ノード１３及びルータ１０４はリンクＬ１６によって接続される。
【００２７】
また、図１に示すように、実施例１に係るネットワークシステム１では、リンクＬ１１のＭＴＵ値が１２８０オクテットであり、リンクＬ１２のＭＴＵ値が１３００オクテットであり、リンクＬ１３のＭＴＵ値が１４００オクテットであり、リンクＬ１４のＭＴＵ値が１５００オクテットであり、リンクＬ１５のＭＴＵ値が１３００オクテットであり、リンクＬ１６のＭＴＵ値が１５００オクテットであるものとする。
【００２８】
なお、図１では、３台のノードと４台のルータを示したが、ネットワークシステム１には、２台以下のノードや、４台以上のノードや、３台以下のルータや、５台以上のルータが含まれてもよい。また、ノード及びルータの接続関係は、図１に示した例に限られない。
【００２９】
ここで、実施例１に係るルータ１０１〜１０４は、自ルータが接続しているリンクのＭＴＵ値を保持しているものとする。具体的には、ルータ１０１は、リンクＬ１１のＭＴＵ値＝１２８０オクテットと、リンクＬ１２のＭＴＵ値＝１３００オクテットとを保持する。また、ルータ１０２は、リンクＬ１２のＭＴＵ値＝１３００オクテットと、リンクＬ１３のＭＴＵ値＝１４００オクテットと、リンクＬ１５のＭＴＵ値＝１３００オクテットとを保持する。また、ルータ１０３は、リンクＬ１３のＭＴＵ値＝１４００オクテットと、リンクＬ１４のＭＴＵ値＝１５００オクテットとを保持する。また、ルータ１０４は、リンクＬ１５のＭＴＵ値＝１３００オクテットと、リンクＬ１６のＭＴＵ値＝１５００オクテットとを保持する。
【００３０】
これらのルータ１０１〜１０４は、例えば、ＲＦＣ４８６１に規定されている近隣発見プロトコルや近隣キャッシュ等の技術により、各リンクのＭＴＵ値を保持する。なお、ルータ１０１〜１０４は、近隣発見プロトコルや近隣キャッシュ以外の技術により各リンクのＭＴＵ値を保持してもよい。
【００３１】
また、実施例１に係るルータ１０１〜１０４は、ＲＦＣ４８６１に規定されている近隣発見プロトコルに従って、各々のルータが接続しているリンクにルータ広告メッセージを定期的に送信する。このとき、実施例１に係るルータ１０１〜１０４は、ルータ広告メッセージにおけるＭＴＵオプションに、ルータ広告メッセージを送信する時点で把握している宛先ノードのＩＰアドレスと、かかる宛先ノードへの経路ＭＴＵ値との組合せを設定する。なお、以下では、宛先ノードのＩＰアドレスと経路ＭＴＵ値との組合せが設定されるＭＴＵオプションを「経路ＭＴＵオプション」と表記する場合がある。
【００３２】
ここで、図２に、実施例１に係るルータ広告メッセージにおける経路ＭＴＵオプションのビットフォーマットの一例を示す。図２に示すように、実施例１における経路ＭＴＵオプションは、宛先ノードのＩＰアドレス（図２では、「宛先アドレス」と表記する）と、ルータ広告メッセージを受信するルータから「宛先アドレス」によって示される宛先ノードまでの経路上に含まれる各リンクの最小ＭＴＵ値に該当する「経路ＭＴＵ値」とが設定される。実施例１に係るルータ１０１〜１０４は、１つのルータ広告メッセージに対して、図２に例示した経路ＭＴＵオプションを複数連結して設定することができる。
【００３３】
図２に例示した経路ＭＴＵオプションに含まれる各フィールドについて説明すると、「タイプ」は、ルータ広告メッセージにおけるオプションのタイプを示す値が設定される。具体的には、「タイプ」は、「宛先アドレス」及び「経路ＭＴＵ値」のフィールドを有する経路ＭＴＵオプションであることを示す値が設定される。例えば、「タイプ」は、ＲＦＣ４８６１で既に定められているタイプ「１」〜「５」以外の値（例えば、「６」等）が設定される。
【００３４】
また、「長さ」は、オプションのデータ部（「経路ＭＴＵ値」及び「宛先アドレス」）のサイズが４オクテット単位で設定される。図２に示した例では、「経路ＭＴＵ値」及び「宛先アドレス」のサイズが「４オクテット（３２ビット）×５」であるので、「長さ」には「５」が設定される。
【００３５】
また、「プレフィックス長」は、「宛先アドレス」に設定されるデータの中で有効な連続ビット数として、８ビットの符号なし整数が設定される。図２に示した例では、「宛先アドレス」のサイズが「１２８ビット」であるので、「プレフィックス長」に設定される値は「０」〜「１２８」のうちいずれかの値となる。
【００３６】
また、「経路ＭＴＵ値」は、上記の通り、図２に例示した経路ＭＴＵオプションを含むルータ広告メッセージを送信するルータから「宛先アドレス」によって示される宛先ノードまでの経路上に含まれる各リンクの最小ＭＴＵ値が設定される。図２に示した例では、「経路ＭＴＵ値」は、３２ビットの符号なし整数が設定される。
【００３７】
また、「宛先アドレス」は、宛先ノードのＩＰアドレスが設定される。図２に示した例では、「宛先アドレス」は、１２８ビットの値が設定される。
【００３８】
実施例１に係るノード１１〜１３や他のルータ１０１〜１０４は、図２に例示した経路ＭＴＵオプションを含むルータ広告メッセージをルータ１０１〜１０４から受信した場合に、かかるルータ広告メッセージに含まれる宛先アドレス（宛先ノードのＩＰアドレス）と経路ＭＴＵ値との組合せを宛先キャッシュに格納する。そして、ルータ１０１〜１０４は、ルータ広告メッセージを送信する際に、宛先キャッシュに格納した宛先ＩＰアドレスと経路ＭＴＵ値との組合せについてもルータ広告メッセージに含めて送信する。
【００３９】
このとき、実施例１に係るルータ１０１〜１０４は、宛先ＩＰアドレスと経路ＭＴＵ値との組合せを経路ＭＴＵオプションに設定する場合に、かかる経路ＭＴＵ値と、ルータ広告メッセージの送出先となるリンクのＭＴＵ値とを比較する。そして、ルータ１０１〜１０４は、送出先となるリンクのＭＴＵ値が経路ＭＴＵ値よりも小さい場合には、宛先キャッシュに記憶されている宛先ＩＰアドレスと経路ＭＴＵ値との組合せの代わりに、かかる宛先ＩＰアドレスと送出先となるリンクのＭＴＵ値との組合せを経路ＭＴＵオプションに設定する。
【００４０】
図１に示した例を用いて具体的に説明する。まず、ノード１２からノード１１までの経路を例に挙げて説明する。ここでは、ネットワークシステム１が動作を開始した状態であり、ルータ１０１〜１０４がルータ広告メッセージを１度も送信していないものとする。ルータ１０１は、近隣キャッシュ等により、ルータ１０１とノード１１とを接続するリンクＬ１１のＭＴＵ値が１２８０オクテットであること、及び、ルータ１０１とルータ１０２とを接続するリンクＬ１２のＭＴＵ値が１３００オクテットであることを保持している。すなわち、ルータ１０１は、ノード１１のＩＰアドレスと、ノード１１への経路ＭＴＵ値「１２８０」との組合せを宛先キャッシュに保持する。
【００４１】
ここで、ルータ１０１は、ルータ広告メッセージをルータ１０２に送信する場合に、宛先キャッシュに記憶されているノード１１への経路ＭＴＵ値「１２８０」と、リンクＬ１２のＭＴＵ値「１３００」とを比較する。具体的には、ルータ１０１は、ノード１２及び１３にとって宛先ノードになり得るノード１１との間におけるリンクＬ１１のＭＴＵ値「１２８０」と、ルータ広告メッセージの送出先となるリンクＬ１２のＭＴＵ値「１３００」とを比較する。ここでは、リンクＬ１２のＭＴＵ値「１３００」がノード１１への経路ＭＴＵ値「１２８０」以上であるので、ルータ１０１は、ノード１１のＩＰアドレスを図２に例示した経路ＭＴＵオプションの「宛先アドレス」に設定するとともに、ノード１１への経路ＭＴＵ値「１２８０」を経路ＭＴＵオプションの「経路ＭＴＵ値」に設定した上で、かかる経路ＭＴＵオプションを含むルータ広告メッセージをリンクＬ１２に送信する。
【００４２】
そして、ルータ１０２は、リンクＬ１２を介してルータ１０１からルータ広告メッセージを受信した場合に、かかるルータ広告メッセージに含まれるノード１１のＩＰアドレスと経路ＭＴＵ値「１２８０」との組合せを宛先キャッシュに格納する。これにより、ルータ１０２は、ルータ１０２からノード１１までの経路に含まれる各リンク（リンクＬ１２及びリンクＬ１１）の最小ＭＴＵ値「１２８０」をノード１１のＩＰアドレスに対応付けて宛先キャッシュに保持することになる。
【００４３】
また、ルータ１０２は、ルータ広告メッセージをルータ１０３に送信する場合に、宛先キャッシュに記憶されているノード１１への経路ＭＴＵ値「１２８０」と、リンクＬ１３のＭＴＵ値「１４００」とを比較する。ここでは、リンクＬ１３のＭＴＵ値「１４００」がノード１１への経路ＭＴＵ値「１２８０」以上であるので、ルータ１０２は、ノード１１のＩＰアドレスとノード１１への経路ＭＴＵ値「１２８０」とを設定した経路ＭＴＵオプションを含むルータ広告メッセージをリンクＬ１３に送信する。
【００４４】
そして、ルータ１０３は、リンクＬ１３を介してルータ１０２からルータ広告メッセージを受信した場合に、かかるルータ広告メッセージに含まれるノード１１のＩＰアドレスと経路ＭＴＵ値「１２８０」との組合せを宛先キャッシュに格納する。これにより、ルータ１０３は、ルータ１０３からノード１１までの経路に含まれる各リンク（リンクＬ１３、リンクＬ１２及びリンクＬ１１）の最小ＭＴＵ値「１２８０」をノード１１のＩＰアドレスに対応付けて宛先キャッシュに保持することになる。
【００４５】
また、ルータ１０３は、ルータ広告メッセージをノード１２に送信する場合に、宛先キャッシュに記憶されているノード１１への経路ＭＴＵ値「１２８０」と、リンクＬ１４のＭＴＵ値「１５００」とを比較する。ここでは、リンクＬ１４のＭＴＵ値「１５００」がノード１１への経路ＭＴＵ値「１２８０」以上であるので、ルータ１０３は、ノード１１のＩＰアドレスとノード１１への経路ＭＴＵ値「１２８０」とを設定した経路ＭＴＵオプションを含むルータ広告メッセージをリンクＬ１３に送信する。
【００４６】
ルータ１０３からルータ広告メッセージを受信したノード１２は、かかるルータ広告メッセージに含まれるノード１１のＩＰアドレスと経路ＭＴＵ値「１２８０」とを宛先キャッシュに格納する。そして、ノード１２は、ノード１１にＩＰパケットを送信する場合に、宛先キャッシュからノード１１への経路ＭＴＵ値「１２８０」を取得し、かかる１２８０オクテット単位のＩＰパケットをノード１１宛に送信する。ノード１２から送信されたノード１１宛のＩＰパケットは、リンクＬ１４、リンクＬ１３、リンクＬ１２及びリンクＬ１１のいずれのＭＴＵ値も超過することがない。このため、ノード１２は、経路ＭＴＵ探索を行うことなく、ノード１２からノード１１までの経路に含まれるリンクの中で最小のＭＴＵ値（最適な経路ＭＴＵ値）を用いてノード１１との間で通信を行うことができる。
【００４７】
続いて、ノード１３からノード１２までの経路を例に挙げて説明する。ここでは、上記例と同様に、ネットワークシステム１が動作を開始した状態であり、ルータ１０１〜１０４がルータ広告メッセージを１度も送信していないものとする。ルータ１０３は、近隣キャッシュ等により、ルータ１０３とノード１２とを接続するリンクＬ１４のＭＴＵ値が１５００オクテットであること、及び、ルータ１０３とルータ１０２とを接続するリンクＬ１３のＭＴＵ値が１４００オクテットであることを保持している。また、ルータ１０３は、ノード１２のＩＰアドレスと、ノード１２への経路ＭＴＵ値「１５００」との組合せを宛先キャッシュに保持する。
【００４８】
ここで、ルータ１０３は、ルータ広告メッセージをルータ１０２に送信する場合に、宛先キャッシュに記憶されているノード１２への経路ＭＴＵ値「１５００」と、リンクＬ１３のＭＴＵ値「１４００」とを比較する。ここでは、リンクＬ１３のＭＴＵ値「１４００」がノード１２への経路ＭＴＵ値「１５００」よりも小さい。かかる場合に、ルータ１０３は、ノード１２のＩＰアドレスを経路ＭＴＵオプションの「宛先アドレス」に設定し、さらに、ノード１２への経路ＭＴＵ値「１５００」の代わりにリンクＬ１３のＭＴＵ値「１４００」を経路ＭＴＵオプションの「経路ＭＴＵ値」に設定した上で、かかる経路ＭＴＵオプションを含むルータ広告メッセージをリンクＬ１３に送信する。
【００４９】
そして、ルータ１０２は、リンクＬ１３を介してルータ１０２からルータ広告メッセージを受信した場合に、かかるルータ広告メッセージに含まれるノード１２のＩＰアドレスと経路ＭＴＵ値「１４００」との組合せを宛先キャッシュに格納する。これにより、ルータ１０２は、ルータ１０２からノード１２までの経路に含まれる各リンク（リンクＬ１３及びリンクＬ１４）の最小ＭＴＵ値「１４００」をノード１２のＩＰアドレスに対応付けて宛先キャッシュに保持することになる。
【００５０】
また、ルータ１０２は、ルータ広告メッセージをルータ１０４に送信する場合に、宛先キャッシュに記憶されているノード１２への経路ＭＴＵ値「１４００」と、リンクＬ１５のＭＴＵ値「１３００」とを比較する。ここでは、リンクＬ１５のＭＴＵ値「１３００」がノード１２への経路ＭＴＵ値「１４００」よりも小さいので、ルータ１０２は、ノード１２のＩＰアドレスとノード１２への経路ＭＴＵ値「１３００」とを設定した経路ＭＴＵオプションを含むルータ広告メッセージをリンクＬ１５に送信する。
【００５１】
そして、ルータ１０４は、リンクＬ１５を介してルータ１０２からルータ広告メッセージを受信した場合に、かかるルータ広告メッセージに含まれるノード１２のＩＰアドレスと経路ＭＴＵ値「１３００」との組合せを宛先キャッシュに格納する。これにより、ルータ１０４は、ルータ１０４からノード１２までの経路に含まれる各リンク（リンクＬ１５、リンクＬ１３及びリンクＬ１４）の最小ＭＴＵ値「１３００」をノード１２のＩＰアドレスに対応付けて宛先キャッシュに保持することになる。
【００５２】
また、ルータ１０４は、ルータ広告メッセージをノード１３に送信する場合に、宛先キャッシュに記憶されているノード１２への経路ＭＴＵ値「１３００」と、リンクＬ１６のＭＴＵ値「１５００」とを比較する。ここでは、リンクＬ１６のＭＴＵ値「１５００」がノード１２への経路ＭＴＵ値「１３００」以上であるので、ルータ１０４は、ノード１２のＩＰアドレスとノード１２への経路ＭＴＵ値「１３００」とを設定した経路ＭＴＵオプションを含むルータ広告メッセージをリンクＬ１６に送信する。
【００５３】
ルータ１０４からルータ広告メッセージを受信したノード１３は、かかるルータ広告メッセージに含まれるノード１２のＩＰアドレスと経路ＭＴＵ値「１３００」とを宛先キャッシュに格納する。そして、ノード１３は、ノード１２にＩＰパケットを送信する場合に、宛先キャッシュからノード１２への経路ＭＴＵ値「１３００」を取得し、かかる１３００オクテット単位のＩＰパケットをノード１２宛てに送信する。ノード１３から送信されたノード１２宛のＩＰパケットは、リンクＬ１６、リンクＬ１５、リンクＬ１３及びリンクＬ１４のいずれのＭＴＵ値も超過することがない。このため、ノード１３は、経路ＭＴＵ探索を行うことなく、ノード１３からノード１２までの経路に含まれるリンクの中で最小のＭＴＵ値（最適な経路ＭＴＵ値）を用いて、ノード１２との間で通信を行うことができる。
【００５４】
ルータ１０１〜１０４は、上記例と同様の処理を行うことにより、ノード１１からノード１３までの経路において最適な経路ＭＴＵ値や、ノード１１からノード１２までの経路において最適な経路ＭＴＵ値をノード１１に設定し、ノード１３からノード１２までの経路において最適な経路ＭＴＵ値や、ノード１３からノード１１までの経路において最適な経路ＭＴＵ値をノード１３に設定する。
【００５５】
なお、上記例では説明を簡単にするために、各ルータが１組の宛先ＩＰアドレスと経路ＭＴＵ値を宛先キャッシュに記憶する例を示した。しかし、各ルータは、宛先キャッシュに複数組の宛先ＩＰアドレスと経路ＭＴＵ値が記憶されている場合には、全ての組について上記例と同様の処理を行い、組の数だけ図２に例示した経路ＭＴＵオプションを作成し、作成した全ての経路ＭＴＵオプションを連結してルータ広告メッセージに含める。
【００５６】
このように、実施例１に係るネットワークシステム１は、ルータ１０１〜１０４が、ルータ広告メッセージを送信する時点で把握している宛先ノードのＩＰアドレスと、かかる宛先ノードへの経路ＭＴＵ値との組合せを経路ＭＴＵオプションに設定した上で、リンクによって接続されている他のルータやノードに送信する。この結果、実施例１に係るネットワークシステム１では、各ノードが、最適な経路ＭＴＵ値を用いて他のノードとの間で通信を行うことができる。
【００５７】
［実施例１に係るルータの構成］
次に、図３を用いて、実施例１に係るルータ１０１〜１０４について説明する。なお、ルータ１０１〜１０４は同様の構成を有するので、以下ではルータ１０１〜１０４を総称して「ルータ１００」と表記する場合がある。図３は、実施例１に係るルータ１００の構成例を示す図である。
【００５８】
図３に例示するように、実施例１に係るルータ１００は、ＩＦ（interface）部１１０と、近隣キャッシュ１２１と、宛先キャッシュ１２２と、メッセージ送信部１３１と、メッセージ格納部１３２とを有する。図３では、図１を用いて説明したルータ広告メッセージの送受信処理に関する部位のみを表記する。
【００５９】
ＩＦ部１１０は、他のルータやノードとの間で各種データを送受信する。例えば、ＩＦ部１１０は、ノード間で送受信されるＩＰパケットや、図２に例示した経路ＭＴＵオプションを含むルータ広告メッセージを送受信する。なお、図３では、１つのＩＦ部１１０を示したが、ルータ１００は、リンク毎にＩＦ部を有する。例えば、図１に例示したルータ１０３は、リンクＬ１３と接続されるＩＦ部と、リンクＬ１４と接続されるＩＦ部とを有する。
【００６０】
近隣キャッシュ１２１は、ルータ１００が直接接続しているリンク毎に、かかるリンクに接続している他のノードに関する情報を記憶する。かかる近隣キャッシュ１２１は、ルータ１００によって収集されることで各種情報が格納される。
【００６１】
ここで、図４に、実施例１における近隣キャッシュ１２１の一例を示す。図４に示した例において、近隣キャッシュ１２１は、「宛先ＩＰアドレス」、「リンク層アドレス」、「リンク接続ＩＦ」、「リンクＭＴＵ」といった情報を記憶する。
【００６２】
「宛先ＩＰアドレス」は、ノード１１〜１３のＩＰアドレスを示し、１２８ビットのＩＰｖ６アドレスである。例えば、「宛先ＩＰアドレス」は、ルータ１００と直接接続される他のルータに接続されているノードのＩＰアドレスや、かかる他のルータと接続されるルータに接続されているノードのＩＰアドレス等に該当する。
【００６３】
「リンク層アドレス」は、ルータ１００と直接接続されている他のルータやノードのＭＡＣ（Media  Access  Control）アドレスを示し、４８ビットのＩＥＥＥ（The  Institute  of  Electrical  and  Electronics  Engineers）８０２におけるＭＡＣアドレス等である。「リンク接続ＩＦ」は、ルータ１００が有するＩＦ部１１０の識別子を示す。「リンクＭＴＵ」は、ルータ１００と接続されるリンクのＭＴＵ値を示し、符号なし整数である。
【００６４】
なお、図４では、近隣キャッシュ１２１が記憶する各種情報を概念的に表記しているが、実際には、近隣キャッシュ１２１は、「宛先ＩＰアドレス」に１２８ビットの情報を記憶し、「リンク層アドレス」に４８ビットの情報を記憶し、「リンク接続ＩＦ」にＩＦ部１１０を識別するための情報を記憶する。
【００６５】
図４に示した近隣キャッシュ１２１は、図１に示したルータ１０２によって保持されるものとする。具体的には、宛先ＩＰアドレス「ノード１１」は、ノード１１のＩＰアドレスを示し、宛先ＩＰアドレス「ノード１２」は、ノード１２のＩＰアドレスを示す。また、リンク層アドレス「ＭＡＣ１０１」は、ルータ１０１のＭＡＣアドレスを示し、リンク層アドレス「ＭＡＣ１０３」は、ルータ１０３のＭＡＣアドレスを示す。また、リンク接続ＩＦ「ＩＦ１２」は、リンクＬ１２と接続されるルータ１０２のＩＦ部１１０を識別するための識別子を示し、リンク接続ＩＦ「ＩＦ１３」は、リンクＬ１３と接続されるルータ１０２のＩＦ部１１０を識別するための識別子を示す。
【００６６】
すなわち、図４では、ルータ１０２が有するＩＦ部１１０のうちリンク接続ＩＦ「ＩＦ１２」によって識別されるＩＦ部１１０と、リンク層アドレス「ＭＡＣ１０１」によって識別されるルータ１０１とが接続されていることを示している。また、図４では、ルータ１０２とルータ１０１とを接続するリンクのＭＴＵ値が「１３００」オクテットであることを示している。さらに、図４では、ルータ１０２と接続されるルータ１０１の先にＩＰアドレス「ノード１１」によって識別されるノード１１が存在することを示している。
【００６７】
図３の説明に戻って、宛先キャッシュ１２２は、リンク毎に定められている１回に転送可能なデータ容量であるＭＴＵ値（転送可能容量）のうち、ルータ１００から所定のノードまでの経路に含まれる各リンクの最小のＭＴＵ値と、かかる所定のノードのＩＰアドレスとを対応付けて記憶する。かかる宛先キャッシュ１２２は、後述するメッセージ格納部１３２によって更新される。
【００６８】
ここで、図５に、実施例１における宛先キャッシュ１２２の一例を示す。図５に示した例において、宛先キャッシュ１２２は、「宛先ＩＰアドレス」、「ネクストホップルータアドレス」、「経路ＭＴＵ値」といった情報を記憶する。
【００６９】
「宛先ＩＰアドレス」は、宛先ノードのＩＰアドレスを示す。「ネクストホップルータアドレス」は、宛先ノードへの経路上で中継先となる他のルータにおける１２８ビットのＩＰｖ６アドレスを示す。「経路ＭＴＵ値」は、宛先ノードへの経路ＭＴＵ値を示し、符号なし整数である。
【００７０】
図５に示した宛先キャッシュ１２２は、図１に示したルータ１０２によって保持されるものとする。すなわち、図５では、ルータ１０２からノード１１までの経路に含まれるリンクの中で最小のＭＴＵ値である経路ＭＴＵ値が「１２８０」オクテットであることを示している。また、図５では、ルータ１０２からノード１２までの経路に含まれるリンクの中で最小のＭＴＵ値である経路ＭＴＵ値が「１４００」オクテットであることを示している。
【００７１】
図３の説明に戻って、メッセージ送信部１３１は、ルータ１００と接続される全てのリンクに対して、マルチキャストアドレス宛にルータ広告メッセージを送信する。このとき、メッセージ送信部１３１は、ルータ１００が有するリンクのＭＴＵ値が宛先キャッシュ１２２に記憶されている経路ＭＴＵ値以上である場合に、宛先キャッシュ１２２に記憶されている経路ＭＴＵ値と宛先ＩＰアドレスとの組合せをかかるリンクに送信する。また、メッセージ送信部１３１は、リンクのＭＴＵ値が宛先キャッシュ１２２に記憶されている経路ＭＴＵ値よりも小さい場合に、かかるリンクのＭＴＵ値と宛先ＩＰアドレスとの組合せをかかる所定のリンクに送信する。
【００７２】
より具体的に説明すると、実施例１におけるメッセージ送信部１３１は、宛先キャッシュ１２２から宛先ＩＰアドレスと経路ＭＴＵ値との組合せを全て取得する。また、メッセージ送信部１３１は、近隣キャッシュ１２１からリンク接続ＩＦとリンクＭＴＵ（ＭＴＵ値）との組合せを取得する。そして、メッセージ送信部１３１は、宛先キャッシュ１２２から取得した経路ＭＴＵ値と、近隣キャッシュ１２１から取得したリンクＭＴＵとを比較する。
【００７３】
このとき、メッセージ送信部１３１は、近隣キャッシュ１２１のリンクＭＴＵが宛先キャッシュ１２２の経路ＭＴＵ値よりも小さい場合には、宛先キャッシュ１２２から取得した経路ＭＴＵ値を近隣キャッシュ１２１のリンクＭＴＵに置き換える。そして、メッセージ送信部１３１は、宛先キャッシュ１２２から取得した宛先ＩＰアドレスと、リンクＭＴＵに置き換えた経路ＭＴＵ値との組合せを経路ＭＴＵオプションに設定した上で、かかる経路ＭＴＵオプションを含むルータ広告メッセージを近隣キャッシュ１２１から取得したリンク接続ＩＦによって識別されるＩＦ部１１０に送信する。
【００７４】
一方、メッセージ送信部１３１は、近隣キャッシュ１２１のリンクＭＴＵが宛先キャッシュ１２２の経路ＭＴＵ値以上である場合には、宛先キャッシュ１２２から取得した宛先ＩＰアドレスと経路ＭＴＵ値との組合せを経路ＭＴＵオプションに設定した上で、かかる経路ＭＴＵオプションを含むルータ広告メッセージをリンク接続ＩＦによって識別されるＩＦ部１１０に送信する。
【００７５】
メッセージ送信部１３１による処理について、図４及び図５に示した例を用いて説明する。例えば、メッセージ送信部１３１は、宛先キャッシュ１２２から宛先ＩＰアドレス「ノード１１」と経路ＭＴＵ値「１２８０」とを取得し、さらに、近隣キャッシュ１２１からリンク接続ＩＦ「ＩＦ１２」とリンクＭＴＵ「１３００」とを取得したものとする。かかる場合に、メッセージ送信部１３１は、宛先キャッシュ１２２から取得した経路ＭＴＵ値「１２８０」と、近隣キャッシュ１２１から取得したリンクＭＴＵ「１３００」とを比較する。ここでは、リンクＭＴＵ「１３００」が経路ＭＴＵ値「１２８０」以上であるので、メッセージ送信部１３１は、リンク接続ＩＦ「ＩＦ１２」によって識別されるＩＦ部１１０に対して、宛先ＩＰアドレス「ノード１１」と経路ＭＴＵ値「１２８０」とが設定された経路ＭＴＵオプションを含むルータ広告メッセージを送信する。
【００７６】
また、例えば、メッセージ送信部１３１は、宛先キャッシュ１２２から宛先ＩＰアドレス「ノード１２」と経路ＭＴＵ値「１４００」とを取得し、さらに、近隣キャッシュ１２１からリンク接続ＩＦ「ＩＦ１２」とリンクＭＴＵ「１３００」とを取得したものとする。かかる場合に、メッセージ送信部１３１は、リンクＭＴＵ「１３００」が経路ＭＴＵ値「１４００」よりも小さいので、リンク接続ＩＦ「ＩＦ１２」によって識別されるＩＦ部１１０に対して、宛先ＩＰアドレス「ノード１２」と経路ＭＴＵ値「１３００」とが設定された経路ＭＴＵオプションを含むルータ広告メッセージを送信する。
【００７７】
メッセージ送信部１３１は、近隣キャッシュ１２１に記憶されている全てのリンク接続ＩＦ毎に、宛先キャッシュ１２２に記憶されている宛先ＩＰアドレスと経路ＭＴＵ値との全ての組合せについて、上記例の処理を行う。
【００７８】
メッセージ格納部１３２は、他のルータからルータ広告メッセージを受信した場合に、かかるルータ広告メッセージ内の経路ＭＴＵオプションに設定されている宛先ＩＰアドレスと経路ＭＴＵ値とを宛先キャッシュ１２２に格納する。
【００７９】
具体的には、メッセージ格納部１３２は、経路ＭＴＵオプションに設定されている宛先ＩＰアドレスが宛先キャッシュ１２２に記憶されていない場合には、経路ＭＴＵオプションに設定されている宛先ＩＰアドレスと経路ＭＴＵ値との組合せを宛先キャッシュ１２２に格納する。
【００８０】
また、メッセージ格納部１３２は、経路ＭＴＵオプションに設定されている宛先ＩＰアドレスが宛先キャッシュ１２２に記憶されている場合には、かかる宛先ＩＰアドレスに対応付けて宛先キャッシュ１２２に記憶されている経路ＭＴＵ値と、経路ＭＴＵオプションに設定されている経路ＭＴＵ値とが同一であるか否かを判定する。そして、メッセージ格納部１３２は、双方の経路ＭＴＵ値が同一でない場合には、宛先キャッシュ１２２に記憶されている経路ＭＴＵ値を経路ＭＴＵオプションに設定されている経路ＭＴＵ値に更新する。一方、メッセージ格納部１３２は、双方の経路ＭＴＵ値が同一である場合には、宛先キャッシュ１２２を更新しない。
【００８１】
［実施例１に係るノードの構成］
次に、図６を用いて、実施例１に係るノード１１〜１３について説明する。なお、ノード１１〜１３は同様の構成を有するので、以下ではノード１１〜１３を総称して「ノード１０」と表記する場合がある。図６は、実施例１に係るノード１０の構成例を示す図である。
【００８２】
図６に例示するように、実施例１に係るノード１０は、ＩＦ部２１と、宛先キャッシュ２２と、メッセージ受信部２３と、送信部２４とを有する。図６では、図１を用いて説明したルータ広告メッセージの送受信処理に関する部位のみを表記する。
【００８３】
ＩＦ部２１は、ルータ１００との間で各種データを送受信するＮＩＣ（Network  Interface  Card）等である。例えば、ＩＦ部２１は、ノード間で送受信されるＩＰパケットを送受信したり、図２に例示した経路ＭＴＵオプションを含むルータ広告メッセージを受信したりする。
【００８４】
宛先キャッシュ２２は、他のノード（宛先ノード）のＩＰアドレスと、かかる他のノードへの経路ＭＴＵ値とを対応付けて記憶する。宛先キャッシュ２２は、メッセージ受信部２３によって更新される。
【００８５】
メッセージ受信部２３は、ルータ１００からルータ広告メッセージを受信し、受信したルータ広告メッセージに含まれる経路ＭＴＵオプションに設定されている宛先ＩＰアドレス及び経路ＭＴＵ値を宛先キャッシュ２２に格納する。
【００８６】
例えば、ノード１０が図１に例示したノード１２である場合に、ノード１２のメッセージ受信部２３は、ルータ１０３からルータ広告メッセージを受信する。このルータ広告メッセージに含まれる経路ＭＴＵオプションには、ノード１１のＩＰアドレスとノード１１への経路ＭＴＵ値「１２８０」との組合せ、及び、ノード１３のＩＰアドレスとノード１３への経路ＭＴＵ値「１３００」との組合せが設定され得る。かかる場合に、ノード１２のメッセージ受信部２３は、ノード１１のＩＰアドレスとノード１１への経路ＭＴＵ値「１２８０」との組合せを宛先キャッシュ２２に格納するとともに、ノード１３のＩＰアドレスとノード１３への経路ＭＴＵ値「１３００」との組合せを宛先キャッシュ２２に格納する。
【００８７】
送信部２４は、他のノードである宛先ノードに対してＩＰパケットを送信する場合に、宛先ノードのＩＰアドレスに対応付けて宛先キャッシュ２２に記憶されている経路ＭＴＵ値の単位によって、かかる宛先ノードにＩＰパケットを送信する。
【００８８】
例えば、上記例のように、ノード１２の宛先キャッシュ２２は、ノード１１のＩＰアドレスとノード１１への経路ＭＴＵ値「１２８０」との組合せ、及び、ノード１３のＩＰアドレスとノード１３への経路ＭＴＵ値「１３００」との組合せを記憶しているものとする。このとき、ノード１２の送信部２４は、宛先ノードがノード１１である場合には、経路ＭＴＵ値「１２８０」オクテットの単位でＩＰパケットを送信し、宛先ノードがノード１３である場合には、経路ＭＴＵ値「１３００」オクテットの単位でＩＰパケットを送信する。
【００８９】
［実施例１に係るネットワークシステムによる処理手順］
次に、図７を用いて、実施例１に係るネットワークシステム１による処理の流れについて説明する。図７は、実施例１に係るネットワークシステム１による処理手順を示すシーケンス図である。なお、図７では、ネットワークシステム１にルータ１００ａ〜１００ｃと、ノード１０ａ及び１０ｂとが含まれるものとする。また、ルータ１００ａにはノード１０ａが接続され、ルータ１００ｃにはノード１０ｂが接続され、ルータ１００ａとルータ１００ｂとの間は、図示しない１台以上のルータ１００によって接続されているものとする。
【００９０】
図７に示した例において、ノード１０ａが接続されているルータ１００ａは、ノード１０ａのＩＰアドレスとノード１０ａの経路ＭＴＵ値を含むルータ広告メッセージを送信する。かかるルータ広告メッセージは、複数のルータを経由することで経路ＭＴＵ値が更新されながらルータ１００ｂに到達する。
【００９１】
ルータ１００ｂは、かかるルータ広告メッセージに含まれるノード１０ａのＩＰアドレスと経路ＭＴＵ値との組合せを宛先キャッシュに登録する。また、ルータ１００ｂは、宛先キャッシュに登録したＩＰアドレスと経路ＭＴＵ値との組合せを含むルータ広告メッセージをルータ１００ｃに送信する。このとき、ルータ１００ｂは、ルータ１００ｂとルータ１００ｃとの間におけるリンクのＭＴＵ値が経路ＭＴＵ値よりも小さい場合には、宛先キャッシュに登録したノード１０ａのＩＰアドレスと、かかるリンクのＭＴＵ値との組合せを含むルータ広告メッセージをルータ１００ｃに送信する。
【００９２】
ルータ１００ｃは、ルータ１００ｂと同様に、ルータ１００ｂから受信したルータ広告メッセージに含まれるノード１０ａのＩＰアドレスと経路ＭＴＵ値との組合せを宛先キャッシュに登録する。また、ルータ１００ｃは、宛先キャッシュに登録したノード１０ａのＩＰアドレスと経路ＭＴＵ値との組合せを含むルータ広告メッセージをノード１０ｂに送信する。このとき、ルータ１００ｃは、ルータ１００ｃとノード１０ｂとの間におけるリンクのＭＴＵ値が経路ＭＴＵ値よりも小さい場合には、ノード１０ａのＩＰアドレスと、かかるリンクのＭＴＵ値との組合せを含むルータ広告メッセージをノード１０ｂに送信する。
【００９３】
ノード１０ｂは、ルータ１００ｃから受信したルータ広告メッセージを宛先キャッシュに登録する。すなわち、ノード１０ｂは、ノード１０ａのＩＰアドレスと、ノード１０ａへの最適な経路ＭＴＵ値との組合せを宛先キャッシュに保持することとなる。これにより、ノード１０ｂは、最適な経路ＭＴＵ値を用いてノード１０ａとの間で通信を行うことができる。
【００９４】
ルータ１００ａ〜１００ｃ、ノード１０ａ及び１０ｂは、上述した処理を定期的に繰り返し行う。これにより、ネットワークシステム１に含まれる各ノードは、他のノードへの最適な経路ＭＴＵ値を保持することができるので、最適な経路ＭＴＵ値を用いて通信を行うことができる。
【００９５】
［実施例１に係るルータによる送信処理手順］
次に、図８を用いて、実施例１に係るルータ１００によるルータ広告メッセージの送信処理の手順について説明する。図８は、実施例１に係るルータ１００による送信処理手順を示すフローチャートである。
【００９６】
図８に示すように、ルータ１００のメッセージ送信部１３１は、ルータ広告メッセージを送信するタイミングであるか否かを判定する（ステップＳ１０１）。例えば、メッセージ送信部１３１は、定期的にルータ広告メッセージを送信するので、所定の時間が経過するたびにルータ広告メッセージを送信するタイミングであると判定する。ここで、メッセージ送信部１３１は、ルータ広告メッセージを送信するタイミングでない場合には（ステップＳ１０１否定）、ルータ広告メッセージを送信するタイミングになるまで待機する。
【００９７】
一方、メッセージ送信部１３１は、ルータ広告メッセージを送信するタイミングである場合には（ステップＳ１０１肯定）、宛先キャッシュ１２２から宛先ＩＰアドレスと経路ＭＴＵ値との組合せを全て取得する（ステップＳ１０２）。また、メッセージ送信部１３１は、近隣キャッシュ１２１から送信先となるリンクのリンクＭＴＵ（ＭＴＵ値）を取得する（ステップＳ１０３）。
【００９８】
続いて、メッセージ送信部１３１は、宛先キャッシュ１２２から取得した宛先ＩＰアドレスと経路ＭＴＵ値との全ての組合せの中から、処理対象の宛先ＩＰアドレスと経路ＭＴＵ値との組合せを抽出する（ステップＳ１０４）。そして、メッセージ送信部１３１は、宛先キャッシュ１２２から取得した経路ＭＴＵ値と、ステップＳ１０３において取得したＭＴＵ値とを比較する（ステップＳ１０５）。
【００９９】
ここで、メッセージ送信部１３１は、ステップＳ１０３において取得したＭＴＵ値（送信先となるリンクのＭＴＵ値）が経路ＭＴＵ値よりも小さい場合には（ステップＳ１０５肯定）、宛先キャッシュ１２２から取得した経路ＭＴＵ値をステップＳ１０３において取得したＭＴＵ値に置き換える（ステップＳ１０６）。そして、メッセージ送信部１３１は、宛先キャッシュ１２２から取得した宛先ＩＰアドレスと、置き換えた経路ＭＴＵ値とを経路ＭＴＵオプションに設定する（ステップＳ１０７）。
【０１００】
一方、メッセージ送信部１３１は、ステップＳ１０３において取得したＭＴＵ値（送信先となるリンクのＭＴＵ値）が経路ＭＴＵ値以上である場合には（ステップＳ１０５否定）、ステップＳ１０６における処理を行わない。そして、メッセージ送信部１３１は、宛先キャッシュ１２２から取得した宛先ＩＰアドレスと経路ＭＴＵ値とを経路ＭＴＵオプションに設定する（ステップＳ１０７）。
【０１０１】
続いて、メッセージ送信部１３１は、宛先キャッシュ１２２から取得した宛先ＩＰアドレスと経路ＭＴＵ値との全ての組合せについて処理済みであるか否かを判定する（ステップＳ１０８）。ここで、メッセージ送信部１３１は、全ての組合せについて処理済みでない場合には（ステップＳ１０８否定）、宛先キャッシュ１２２から取得した宛先ＩＰアドレスと経路ＭＴＵ値との全ての組合せの中から、未処理の宛先ＩＰアドレスと経路ＭＴＵ値との組合せを抽出し（ステップＳ１０４）、ステップＳ１０５〜Ｓ１０７における処理を行う。
【０１０２】
一方、メッセージ送信部１３１は、宛先キャッシュ１２２から取得した宛先ＩＰアドレスと経路ＭＴＵ値との全ての組合せについて処理済みである場合には（ステップＳ１０８肯定）、ステップＳ１０７において設定した全ての経路ＭＴＵオプションを含むルータ広告メッセージを、ステップＳ１０３において取得した送信先となるリンクに送信する（ステップＳ１０９）。ルータ１００のメッセージ送信部１３１は、上述したステップＳ１０１〜Ｓ１０９における処理手順をルータ１００自身が接続している全てのリンクについて行う。
【０１０３】
［実施例１に係るルータによる受信処理手順］
次に、図９を用いて、実施例１に係るルータ１００によるルータ広告メッセージの受信処理の手順について説明する。図９は、実施例１に係るルータ１００による受信処理手順を示すフローチャートである。
【０１０４】
図９に示すように、ルータ１００のメッセージ格納部１３２は、他のルータからルータ広告メッセージを受信したか否かを判定する（ステップＳ２０１）。ここで、メッセージ格納部１３２は、ルータ広告メッセージを受信していない場合には（ステップＳ２０１否定）、ルータ広告メッセージを受信するまで待機する。
【０１０５】
一方、メッセージ格納部１３２は、ルータ広告メッセージを受信した場合には（ステップＳ２０１肯定）、かかるルータ広告メッセージにＲＦＣ４８６１に準拠したＭＴＵオプションが含まれるか否かを判定する（ステップＳ２０２）。そして、メッセージ格納部１３２は、ＲＦＣ４８６１に準拠したＭＴＵオプションが含まれる場合に（ステップＳ２０２肯定）、ルータ広告メッセージを受信したリンクと接続されるＩＦのリンク接続ＩＦに対応付けて、かかるＭＴＵオプションに設定されているＭＴＵ値を近隣キャッシュ１２１に格納する（ステップＳ２０３）。
【０１０６】
また、メッセージ格納部１３２は、ルータ広告メッセージに経路ＭＴＵオプション（図２参照）が含まれるか否かを判定する（ステップＳ２０４）。そして、メッセージ格納部１３２は、経路ＭＴＵオプションが含まれる場合には（ステップＳ２０４肯定）、ルータ広告メッセージから１つの経路ＭＴＵオプションを抽出する。
【０１０７】
そして、メッセージ格納部１３２は、抽出した経路ＭＴＵオプションに設定されている宛先ＩＰアドレスが宛先キャッシュ１２２に登録されているか否かを判定する（ステップＳ２０５）。ここで、メッセージ格納部１３２は、経路ＭＴＵオプション内の宛先ＩＰアドレスが宛先キャッシュ１２２に登録されている場合には（ステップＳ２０５肯定）、経路ＭＴＵオプションに設定されている経路ＭＴＵ値と宛先キャッシュ１２２に登録されている経路ＭＴＵ値とが同一であるか否かを判定する（ステップＳ２０６）。
【０１０８】
そして、メッセージ格納部１３２は、双方の経路ＭＴＵ値が同一でない場合には（ステップＳ２０６否定）、宛先キャッシュ１２２に記憶されている経路ＭＴＵ値を、経路ＭＴＵオプションに設定されている経路ＭＴＵ値に更新する（ステップＳ２０７）。一方、メッセージ格納部１３２は、双方の経路ＭＴＵ値が同一である場合には（ステップＳ２０６肯定）、ステップＳ２０４における処理に戻る。
【０１０９】
また、メッセージ格納部１３２は、経路ＭＴＵオプション内の宛先ＩＰアドレスが宛先キャッシュ１２２に登録されていない場合には（ステップＳ２０５否定）、経路ＭＴＵオプションに設定されている宛先ＩＰアドレスと経路ＭＴＵ値との組合せを宛先キャッシュ１２２に格納する（ステップＳ２０８）。そして、メッセージ格納部１３２は、ステップＳ２０４における処理に戻る。
【０１１０】
メッセージ格納部１３２は、ルータ広告メッセージに含まれる全ての経路ＭＴＵオプションについてステップＳ２０５〜Ｓ２０８における処理手順を行う。そして、メッセージ格納部１３２は、ルータ広告メッセージに含まれる全ての経路ＭＴＵオプションについて処理済みである場合に（ステップＳ２０４否定）、処理を終了する。
【０１１１】
［実施例１の効果］
上述してきたように、実施例１に係るネットワークシステム１は、複数のノード１０及び複数のルータ１００がリンクによって通信可能に接続される。そして、ルータ１００は、リンク毎に定められている１回に転送可能なデータ容量であるＭＴＵ値のうちルータ１００自身から所定のノード１０までの経路に含まれる各リンクの最小のＭＴＵ値と、宛先ＩＰアドレスとしてかかる所定のノード１０のＩＰアドレスとを対応付けて記憶する宛先キャッシュ１２２を有する。また、ルータ１００は、ルータ１００自身と接続される所定のリンクのＭＴＵ値が宛先キャッシュ１２２に記憶されているＭＴＵ値以上である場合に、宛先キャッシュ１２２に記憶されているＭＴＵ値と宛先ＩＰアドレスとの組合せを所定のリンクに送信し、所定のリンクのＭＴＵ値が宛先キャッシュ１２２に記憶されているＭＴＵ値よりも小さい場合に、所定のリンクのＭＴＵ値と宛先キャッシュ１２２に記憶されている宛先ＩＰアドレスとの組合せを所定のリンクに送信するメッセージ送信部１３１を有する。また、ルータ１００は、他の中継装置から受信したＭＴＵ値と宛先ＩＰアドレスとの組合せを宛先キャッシュ１２２に格納するメッセージ格納部１３２を有する。また、ノード１０は、ルータ１００から受信したＭＴＵ値と宛先ＩＰアドレスとの組合せに基づいて、所定のノード１０に対応するＭＴＵ値の単位でかかる所定のノード１０宛にパケットを送信する送信部２４を有する。
【０１１２】
これにより、実施例１に係るネットワークシステム１では、各ノードが、経路ＭＴＵ探索を行うことなく、宛先ノードまでの経路に含まれるリンクの中で最小のＭＴＵ値を用いて、宛先ノードとの間で通信を行うことができる。すなわち、実施例１に係るネットワークシステム１では、各ノードが、最適な経路ＭＴＵ値を用いて宛先ノードとの間で通信を行うことができる。
【実施例２】
【０１１３】
上述したネットワークシステム１は、上記実施例以外にも種々の異なる形態にて実施されてよい。そこで、実施例２では、上記のネットワークシステム１の他の実施例について説明する。
【０１１４】
［経路ＭＴＵオプション］
上記実施例１では、各ルータ１００及び各ノード１０が経路オプションを含むルータ広告メッセージを送受信することにより、ノード１０に最適な経路ＭＴＵ値を設定する例を示した。しかし、ルータ１００は、全ての宛先ＩＰアドレスと経路ＭＴＵ値との組合せについて経路ＭＴＵオプションに設定する必要はない。
【０１１５】
この点について具体的に説明する。図１に示した例からも分かるように、１組のノード間の経路ＭＴＵ値は、経路に含まれる各リンクの最小のＭＴＵ値と同一にすることが最適であるので、かかる経路を構成するリンクの内に一つでも小さいＭＴＵ値が存在する場合には、他のリンクが全てそれよりも大きなＭＴＵ値であっても最も小さいＭＴＵ値に経路全体の経路ＭＴＵ値を揃えることとなる。このため、様々なＭＴＵ値を持つネットワーク媒体の組み合わせから実現される現実のインターネットでは、ノードが用いるデフォルトのＭＴＵ値をＩＰｖ６の標準が定める最小ＭＴＵ値である１２８０オクテットに合わせておき、それよりも大きなＭＴＵ値で通信可能な経路のみを宛先キャッシュに登録して通信する方が効率的であると考えられる。
【０１１６】
この場合、従来の経路ＭＴＵ探索では、パケット過大が発生したリンクの情報しか伝えることができないため、デフォルトのＭＴＵ値よりも大きなＭＴＵ値で通信可能な経路を発見することはできない。しかし、上記実施例１に係るネットワークシステム１による方式を用いれば、デフォルトのＭＴＵ値よりも大きなＭＴＵ値で通信可能な経路を末端にあるノードに通知することが可能になる。
【０１１７】
すなわち、実施例１におけるルータ１００は、ＲＦＣ４８６１で規定されているルータ広告メッセージのＭＴＵオプションにリンクのデフォルトのＭＴＵ値として１２８０オクテット（保証転送容量）を設定しておき、実施例１における宛先毎の経路ＭＴＵ値が設定される経路ＭＴＵオプションにデフォルト値よりも大きなＭＴＵ値で通信可能な宛先のみを追加すればよい。例えば、図１の例において、ルータ１０３は、ノード１３に対する経路ＭＴＵ値のみを経路ＭＴＵオプションを用いて各ノードに伝えればよい。ノード１２は、ノード１１に対する経路ＭＴＵ値を宛先キャッシュに登録する必要がなく、デフォルトのＭＴＵ値である１２８０オクテットを用いる。一方、ノード１２は、ノード１３に対しては宛先キャッシュに登録した経路ＭＴＵ値（１３００オクテット）を用いることになる。ＩＰｖ６の標準が定める最小ＭＴＵ値である１２８０オクテットの経路ＭＴＵ値を持つ宛先が多ければ多いほど、宛先キャッシュに登録する数が少なくなり、経路ＭＴＵ値の選択を効率化することができる。
【０１１８】
［ＩＰアドレス］
また、上記実施例１では、ルータ１００がＩＰアドレスと経路ＭＴＵ値との組合せを経路ＭＴＵオプションに設定する例を示した。しかし、ルータ１００は、ＩＰアドレスではなく、ＩＰアドレスのプレフィックスに該当するネットワークアドレスを経路ＭＴＵオプションに設定してもよい。
【０１１９】
具体的には、ルータ広告メッセージ中の複数の連結された経路ＭＴＵオプションに含まれる宛先を示すＩＰｖ６アドレスは、１つのノードのみを特定するための完全な長さのアドレスである必要はない。ＲＦＣ２４６０のＩＰｖ６仕様にあるように、ＩＰｖ６アドレスは全体で１２８ビットの長さがあるが、プレフィックスと呼ばれるＩＰｖ６アドレスの先頭からの何ビットかだけを参照することにより、複数のノード全体を指定することが可能である。例えば、６４ビット長のプレフィックスを用いた場合には、ある特定値のプレフィックスをもつＩＰｖ６アドレスは、アドレスの下半分の６４ビット長分である２の６４乗個存在する。ルータ１００は、宛先を示すＩＰｖ６アドレスにプレフィックスを用いれば、ノード１つ１つについて経路ＭＴＵオプションを作成する必要はなく、プレフィックスから派生するアドレス全てに対して１つの経路ＭＴＵオプションで経路ＭＴＵ値を設定することが可能である。
【０１２０】
［システム構成］
また、上記実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【０１２１】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【０１２２】
例えば、図３に示したメッセージ送信部１３１は、送信先となるリンクのＭＴＵ値と宛先キャッシュ１２２に記憶されている経路ＭＴＵ値とを比較する比較部（図８のステップＳ１０５参照）と、比較部による比較の結果、経路ＭＴＵオプションを作成し、ルータ広告メッセージを送信する送信部とに分散されてもよい。
【０１２３】
［プログラム］
また、上記実施例において説明したルータ１００が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。例えば、ルータ１００が実行する処理をコンピュータが実行可能な言語で記述した中継プログラムを作成することもできる。この場合、コンピュータが中継プログラムを実行することにより、上記実施例と同様の効果を得ることができる。さらに、かかる中継プログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録された中継プログラムをコンピュータに読み込ませて実行することにより上記実施例と同様の処理を実現してもよい。以下に、図３に示したルータ１００と同様の機能を実現する中継プログラムを実行するコンピュータの一例を説明する。
【０１２４】
図１０は、中継プログラムを実行するコンピュータ１０００を示す図である。図１０に例示するように、コンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有し、これらの各部はバス１０８０によって接続される。
【０１２５】
メモリ１０１０は、図１０に例示するように、ＲＯＭ（Read  Only  Memory）１０１１及びＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、図１０に例示するように、ハードディスクドライブ１０３１に接続される。ディスクドライブインタフェース１０４０は、図１０に例示するように、ディスクドライブ１０４１に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブに挿入される。シリアルポートインタフェース１０５０は、図１０に例示するように、例えばマウス１０５１、キーボード１０５２に接続される。ビデオアダプタ１０６０は、図１０に例示するように、例えばディスプレイ１０６１に接続される。
【０１２６】
ここで、図１０に例示するように、ハードディスクドライブ１０３１は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、上記の中継プログラムは、コンピュータ１０００によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ１０３１に記憶される。例えば、図３に例示したメッセージ送信部１３１と同様の情報処理を実行するメッセージ送信手順と、メッセージ格納部１３２と同様の情報処理を実行するメッセージ格納手順とが記述されたプログラムモジュール１０９３が、ハードディスクドライブ１０３１に記憶される。または、上記例のように、メッセージ送信部１３１が比較部と送信部とに分散される場合には、比較手順と、送信手順と、メッセージ格納手順とが記述されたプログラムモジュール１０９３が、ハードディスクドライブ１０３１に記憶される。
【０１２７】
また、上記実施例で説明した近隣キャッシュ１２１及び宛先キャッシュ１２２が保持する各種データは、プログラムデータとして、例えばメモリ１０１０やハードディスクドライブ１０３１に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０３１に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出し、メッセージ送信手順（または、比較手順、送信手順）、メッセージ格納手順を実行する。
【０１２８】
なお、中継プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０３１に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、中継プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ネットワーク（ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【符号の説明】
【０１２９】
１  ネットワークシステム
１０  ノード
２２  宛先キャッシュ
２３  メッセージ受信部
２４  送信部
１００  ルータ
１２１  近隣キャッシュ
１２２  宛先キャッシュ
１３１  メッセージ送信部
１３２  メッセージ格納部
【図１】
0005657505.tif 000002
【図２】
0005657505.tif 000003
【図３】
0005657505.tif 000004
【図４】
0005657505.tif 000005
【図５】
0005657505.tif 000006
【図６】
0005657505.tif 000007
【図７】
0005657505.tif 000008
【図８】
0005657505.tif 000009
【図９】
0005657505.tif 000010
【図１０】
0005657505.tif 000011