ネットワークの識別子に対応付けて、前記ネットワークに属する装置に送信するパケットの長さを格納するパケット長テーブルと、宛先装置が属するネットワークに対応付けられたパケットの長さを、前記パケット長テーブルから取得すると共に、取得したパケットの長さ以下のパケットを前記宛先装置に送信する送信部と、前記宛先装置に向けて送信されたパケットの長さが前記宛先装置に到達するまでの経路に含まれるネットワークに送信できるパケットの長さよりも長い場合、前記経路に含まれるネットワークに送信できる最大のパケット長である最大パケット長を通知する通知メッセージを受信する受信部と、前記パケット長テーブル中で、前記宛先装置を含むネットワークに対応付けられているパケットの長さを、前記最大パケット長に更新するテーブル更新部を備えることを特徴とした通信装置。前記パケット長テーブルは、前記宛先装置のアドレスのルーティングプレフィックスと、前記ルーティングプレフィックスで指定されるネットワークに送信できるパケット長を対応付けて記憶し、前記通知メッセージは、前記宛先装置のアドレスを含み、前記テーブル更新部は、前記宛先アドレスのルーティングプレフィクスに対応付けられているパケット長の値を、前記最大パケット長に変更することを特徴とする請求項1に記載の通信装置。送信元装置から送信されたパケットを中継する中継装置であって、前記パケットを受信する受信部と、前記パケットの宛先である宛先装置を含むネットワークの識別子に対応付けて、前記ネットワークに属する装置に送信できるパケットの長さを格納するパケット長テーブルと、前記パケットを転送する転送先ネットワークを決定する転送先決定部と、前記パケットの長さが、前記宛先装置を含むネットワークを識別する識別子に対応付けて記憶されているパケットの長さ以下の場合、前記受信部により受信したパケットを転送対象であると判定する判定部と、前記転送対象であると判定されたパケットを、前記転送先ネットワークに送信する送信部を備えることを特徴とする中継装置。前記宛先装置に向けて送信されたパケットの長さが前記転送先ネットワークに向けて送信できるパケットの長さである最大パケット長よりも長いことと、前記最大パケット長の値を通知する通知メッセージを生成するメッセージ生成部をさらに備え、前記パケットの長さが前記最大パケット長を超えていると前記判定部が判定した場合、前記通知メッセージを前記送信元装置に送信することを特徴とする請求項3に記載の中継装置。前記受信部により受信したパケットは第1のプロトコルに基づいて生成されており、前記転送先ネットワークでは前記第1のプロトコルとは異なる第2のプロトコルが用いられる場合に、前記受信部により受信したパケットに前記第2のプロトコルを用いた処理を行うためのヘッダを付加するカプセル化部をさらに備え、前記パケット長テーブルは、前記宛先装置を含むネットワークを識別する識別子に対応付けて、前記最大パケット長から前記ヘッダの長さを差し引いた値を記憶することを特徴とする請求項4に記載の中継装置。送信元装置から送信されたパケットを中継する中継装置が、前記パケットを受信し、前記パケットを転送する転送先ネットワークを決定し、前記パケットの長さが、前記宛先装置を含むネットワークを識別する識別子に対応付けて記憶されているパケットの長さ以下の場合、前記パケットを転送対象であると判定し、前記転送対象であると判定したパケットを、前記転送先ネットワークに送信する処理を行うことを特徴とする通信方法。パケットを送信する送信元装置は、宛先装置ごとに対応するPMTUを記憶しているため、送信元装置に記憶されているPMTUのエントリは、宛先装置数が増加すると共に増加する。記憶しているエントリ数が多くなるとパケットの宛先装置に対応付けられたエントリを検索する時間が長くなるため、送信元装置が宛先装置に対応付けられたPMTUを取得するまでに時間がかかってしまう。PMTUの取得に時間がかかると、パケットの生成に時間がかかるため、通信に時間がかかってしまう。本発明は、送信元装置が宛先装置に対応付けられたPMTUを検索する時間を短縮することを目的とする。ある実施形態に係る通信装置は、パケット長テーブル、送信部、受信部、および、テーブル更新部を備える。パケット長テーブルは、ネットワークの識別子に対応付けて、前記ネットワークに属する装置に送信するパケットの長さを格納する。送信部は、宛先装置が属するネットワークに対応付けられたパケットの長さを、前記パケット長テーブルから取得すると共に、取得したパケットの長さ以下のパケットを前記宛先装置に送信する。受信部は、前記宛先装置に向けて送信されたパケットの長さが前記宛先装置に到達するまでの経路に含まれるネットワークに送信できるパケットの長さよりも長い場合、通知メッセージを受信する。通知メッセージは、前記経路に含まれるネットワークに送信できる最大のパケット長である最大パケット長を通知する。テーブル更新部は、前記パケット長テーブル中で、前記宛先装置を含むネットワークに対応付けられているパケットの長さを、前記最大パケット長に更新する。送信元装置が宛先装置に対応付けられたPMTUを検索する時間が短縮される。図1は、実施形態に係る通信装置10を含むネットワークの例を示す図である。図1に示すネットワークには、通信装置1010a~10c、ルータ4、ネットワーク22a~2cが含まれている。図1の例では、通信装置10aに10.1.0.1、通信装置10bに10.2.0.1、通信装置10cに10.3.0.1のIPアドレスが割り当てられているものとする。また、通信装置10aが属するネットワーク2aのプレフィックスは10.1.0.0/16であるものとする。さらに、ネットワーク2bのプレフィックスは10.2.0.0/16、ネットワーク2cのプレフィックスは10.3.0.0/16であるものとする。さらに、通信装置10bはネットワーク2bに属し、通信装置10cはネットワーク2cに属するものとする。また、各々のネットワーク2で送信可能なパケットの大きさ、すなわちMTUMaximumTransferUnit、MTUは、ネットワーク2aと2bでは1500バイト、ネットワーク2cでは1400バイトであるものとする。通信装置10aは、図2に示すようなパケット長テーブル20を備える。パケット長テーブル20には、パケットの宛先装置が属するネットワーク2のプレフィックスと、そのネットワーク2に到る通信経路上で送信可能なパケットの大きさPMTUが対応付けて記憶されている。例えば、通信装置10bが宛先装置の場合、ネットワーク2aと2bのいずれもMTU=1500バイトである。このため、パケット長テーブル20には、ネットワーク2bに対応付けてPMTU=1500バイトが記録される。一方、通信装置10cが宛先である場合、ネットワーク2cのMTUが1400バイトであるため、通信装置10aから通信装置10cに向けたパケットの長さが1400バイト以下でなければ、ネットワーク2cに送信されない。従って、ネットワーク2cに宛先装置が属する場合は、PMTU=1400バイトであることがパケット長テーブル20に記録される。このように、本実施形態では、宛先装置の属するネットワーク2ごとに、そのネットワーク2に到達できる通信経路上のパケット長の最大値が記憶される。従って、宛先装置ごとに1つのエントリを作成する場合に比べて、パケット長テーブル20に含まれるエントリ数が減少する。このため、通信装置10がPMTUを求めるために検索するエントリの数が少ない。すなわち、パケット長テーブル20が用いられる通信装置10では、通信装置10が宛先装置に応じたPMTUを検索する時間が短縮される。<第1の実施形態>まず、第1の実施形態に係る通信装置10について説明する。なお、以下の説明では、ルータ4でパケットの分割が行われないものとする。例えば、IPv4パケットがルータ4で転送される場合、そのパケットのIPヘッダに含まれるDon’tFragmentationbitは、ON分割禁止に設定されているものとする。なお、以下の説明で送受信されるパケットは、IPv4パケットとすることができ、また、IPv6パケットとすることもできるものとする。図3は、通信装置10の機能構成の例を示す図である。通信装置10は、送信データバッファ11、受信データバッファ12、パケット化部13、非パケット化部14、テーブル更新部15、ネットワークインタフェース16、および、パケット長テーブル20を有する。ここで、ネットワークインタフェース16は、送信部17と受信部18を有する。送信データバッファ11には、宛先装置に送信されるデータが一時的に格納される。送信データバッファ11に格納されたデータは、適宜、パケット化部13に出力される。受信データバッファ12は、受信部18を介して受信されたパケットから得られたデータを格納する。受信データバッファ12に記憶されたデータは、適宜、通信装置10での処理に用いられる。パケット化部13は、送信データバッファ11から入力されたデータをPMTU以下の大きさのパケットにパケタイズする。パケット化部13は、データの宛先アドレスをキーとしてパケット長テーブル20を検索し、宛先アドレスに含まれるルーティングプレフィクスと一致するアドレスのネットワーク2に対応付けられているPMTUを取得する。パケット化部13は、パケット長テーブル20から取得したPMTU以下の大きさになるようにデータをパケタイズする。パケット化部13は、生成したパケットを送信部17に出力する。非パケット化部14は、受信部18を介して受信した受信パケットから、データを取得する。非パケット化部14は、取得したデータを受信データバッファ12に格納することができる。さらに、非パケット化部14は、受信部18で受信されたパケットが通知メッセージである場合、通知メッセージに含まれているデータをテーブル更新部15に出力する。ここで、通知メッセージは、例えば、パケットの長さが宛先装置に向けて送信できるパケットの長さよりも長いこと、宛先装置に送信できる最大のパケット長である最大パケット長などの情報を通知するものとする。例えば、通知メッセージは、InternetControlMessageProtocolICMPエラーメッセージ、ICMPv6エラーメッセージのうちのPackettoobigメッセージなどが用いられることがある。通知メッセージについては、後で詳しく説明する。テーブル更新部15は、非パケット化部14から入力されたデータに応じてパケット長テーブル20を更新する。テーブル更新部15の動作については、後で詳しく説明する。図4は、通信装置10のハードウェア構成の例を示す図である。通信装置10は、CPU31、メモリ32、入力装置33、出力装置34、バス35、外部記憶装置36、媒体駆動装置37、ネットワーク接続装置39を備える。CPU31は、パケット化部13、非パケット化部14、テーブル更新部15として動作する。さらに、CPU31は、適宜、周辺機器を制御し、また、各種ソフトウェアを実行する。メモリ32は、送信データバッファ11、受信データバッファ12として動作し、さらに、パケット長テーブル20を格納する。また、メモリ32は、適宜、CPU31での処理に用いられるデータやプログラムなどを格納する。入力装置33は、例えばキーボードやマウスなどであり、ユーザは入力装置33を用いて、通信装置10にデータを入力できる。出力装置34は、適宜、データ等を表示する。バス35は、CPU31、メモリ32、入力装置33、出力装置34、外部記憶装置36、媒体駆動装置37、ネットワーク接続装置39などの間を相互にデータの受け渡しが行えるように接続する。外部記憶装置36は、プログラムやデータなどを格納し、適宜、CPU31などに格納している情報を提供する。媒体駆動装置37は、メモリ32や外部記憶装置36に格納されているデータを可搬記憶媒体38に出力することができ、また、可搬記憶媒体38からからプログラムやデータ等を読み出すこともできる。ここで、可搬記憶媒体38は、フロッピイディスク、MagnetoOpticalMOディスク、CompactDiscRecordableCD-RやDigitalVersatileDiskRecordableDVD-Rを含む、持ち運びが可能な任意の記憶媒体とすることができる。ネットワーク接続装置39は、ネットワークインタフェース16として動作し、ネットワーク2との間でパケットの送受信などを行う。次に、パケット長テーブル20の生成方法について説明する。ここでは、図1に示したネットワークについて、通信装置10aが通信装置10bと通信装置10cとにパケットを送信することにより、図2に示すパケット長テーブル20が生成される場合について説明する。また、以下の説明では、パケットの区別を容易にするために、パケットP1、パケットP2などのようにアルファベットと数字の組み合わせをパケットの識別子とする。1通信装置10aは、図1に示すように、MTU=1500バイトのネットワーク2aに接続されている。すなわち、通信装置10aは、通信装置10aが属するネットワーク2aに、パケット長が1500バイトのパケットまで送信することができる。従って、通信装置10aに電源が投入されると、パケット長テーブル20では、通信装置10aに接続されているネットワーク2のMTUが通信装置10からパケットを送信できるネットワーク2のPMTUの初期値に設定される。ここでは、図5に示すように、通信装置10aがパケットを送信することができる装置を含むネットワーク2のプレフィクスに対応付けて、ネットワーク2aでのMTUが記録される。2通信装置10aが通信装置10bにパケットP1を送信するとする。このとき、通信装置10aのパケット化部13は、パケット長テーブル20を参照してパケットP1のサイズを決定する。パケット化部13は、宛先の通信装置10bのアドレスをキーとしてパケット長テーブル20を検索し、ネットワークプレフィックスが通信装置10bのアドレスのルーティングプレフィクスと同じネットワーク2のエントリを検出する。図5に示すように、パケット長テーブル20には、ネットワーク2b10.2.0.0/16とネットワーク2c10.3.0.0/16の2つのネットワークについてプレフィックスが記憶されている。通信装置10bのアドレスは、10.2.0.1であるので、通信装置10bに宛てたパケットはネットワーク2b10.2.0.0/16に送信される。従って、パケット化部13は、検出したネットワーク2bのPMTUを用いてパケットを生成する。ここでは、通信装置10aのパケット化部13は、1500バイトのパケットP1を生成して、送信部17に出力する。送信部17は、パケットP1を通信装置10bに向けて送信する。3ルータ4は、通信装置10aから通信装置10bに向けて送信されたパケットP1を受信すると、ルーティングテーブル図示せずを参照して、ネットワーク2bにパケットを転送する。ここで、ネットワーク2bのMTUは1500バイトであるため、ルータ4は、通信装置10aから受信したパケットP1をネットワーク2bに転送する。4通信装置10bは、通信装置10aから送信されたパケットP1を受信する。通信装置10aは、通信装置10bに送信したパケットP1に関するエラーメッセージを受信しないため、テーブル更新部15は、パケット長テーブル20の記録を変更しない。5次に、通信装置10aが通信装置10cにパケットP2を送信する場合について述べる。パケット化部13は、パケット長テーブル20を用いて、手順1で述べた方法と同様に、通信装置10cのアドレスをキーとしてパケット長テーブル20を検索し、通信装置10cがネットワーク2cに属することを検出する。この時点では、図5に示すように、ネットワーク2cに対応付けてPMTU=1500バイトが記録されている。そこで、パケット化部13は、通信装置10cに送信するために1500バイトのパケットP2を生成する。パケット化部13で生成されたパケットP2が入力されると、送信部17は、通信装置10cに向けてパケットP2を送信する。6ルータ4は、通信装置10cに宛てたパケットP2を受信すると、ネットワーク2cに転送しようとする。しかし、ネットワーク2cのMTUは1400バイトであるため、ルータ4は、パケットP2をネットワーク2cに転送できない。そこで、ルータ4は、通信装置10aに対してパケットP2の転送に失敗したことを通知する通知メッセージを送信する。図6は、通知メッセージの構成の例を示す図である。転送に失敗したパケットがIPv4パケットである場合、ルータ4は、通信装置10aに、図6aに示すICMPエラーメッセージを送信する。ICMPエラーメッセージは、図6aに示すようにMediaAccessControlMACヘッダ、IPヘッダ、ICMPヘッダ、および、データを含む。図6bは、ICMPエラーメッセージに含まれるICMPヘッダとデータの例を示す図である。図6bに示すICMPヘッダは、IPv4パケットの転送に失敗したことを通知する場合に用いられる。なお、図6bに示すICMPヘッダを備えたメッセージは、ICMPFragmentationNeededandDFsetメッセージと呼ばれることもある。ICMPヘッダには、Typeフィールド、Codeフィールド、チェックサムフィールド、Next-HopMTUフィールドが含まれる。ルータ4から送信されるICMPエラーメッセージでは、Typeフィールドに3、Codeフィールドに4が設定される。また、unusedフィールドは0に設定され、Next-HopMTUフィールドには、ルータ4がパケットを転送しようとしたネットワーク2でのMTUの値が格納される。この例では、ネットワーク2cのMTUである1400バイトが格納される。さらに、ICMPエラーメッセージのBodyには、転送に失敗したパケットのインターネットヘッダと先頭の64ビットが含まれる。ICMPエラーメッセージのIPヘッダ中の宛先IPアドレスには通信装置10aのIPアドレスが設定され、ルータ4から通信装置10aにICMPエラーメッセージが送信される。7通信装置10aは、受信部18でICMPエラーメッセージを受信する。受信部18は、ICMPエラーメッセージを非パケット化部14に出力し、非パケット化部14は、ICMPエラーメッセージから得られた情報をテーブル更新部15に出力する。ICMPエラーメッセージには、送信に失敗したパケットのIPヘッダが含まれているので、非パケット化部14は、送信に失敗したパケットの宛先IPアドレスを取得することができる。テーブル更新部15は、非パケット化部14から入力された情報により、通信装置10cに向けたパケットP2の送信に失敗したことを認識する。さらに、Next-HopMTUフィールドに記録された値から、宛先の通信装置10cに向けて送信できるパケット長の最大値PMTUは1400バイトであることを認識する。8テーブル更新部15は、パケットP2の宛先IPアドレスを用いて、通信装置10cが属するネットワークに対応付けられたエントリを検索する。テーブル更新部15は、通信装置10cのアドレス10.3.0.1/16を用いてパケット長テーブル20を検索することにより、通信装置10cがネットワーク2c10.3.0.0/16に含まれることを認識する。次に、テーブル更新部15は、ネットワーク2cに対応付けられたPMTUを1400バイトに変更する。変更後のパケット長テーブル20は、図2に示すとおりである。9テーブル更新部15は、パケット長テーブル20を変更すると、パケット化部13にパケットP2の再送を要求する。以下の記載では、パケットP2の再送パケットをパケットP3と記載する。なお、テーブル更新部15は、パケット長テーブル20を変更したこともパケット化部13に通知することもできる。10パケット化部13は、手順5と同様に、通信装置10cに送信するためのパケットP3のPMTUをパケット長テーブル20から取得する。手順9でパケット長テーブル20が変更されているため、ここでは、ネットワーク2cに1400バイトが対応付けられている。そこで、パケット化部13は、1400バイト以下のパケットP3を生成して、送信部17に出力する。送信部17は、パケットを通信装置10cに向けて送信する。11ルータ4は、通信装置10aから通信装置10c宛てのパケットP3を受信する。パケットP3は1400バイト以下であるので、ルータ4は、パケットP3をネットワーク2cに転送することができる。12通信装置10cは、ネットワーク2cを介してパケットP3を受信する。このように、パケット長テーブル20を備える通信装置10は、宛先の通信装置10が属するネットワークごとにPMTUの値を記憶することができる。このため、通信装置10ごとにPMTUが記録される場合に比べてパケット長テーブル20の容量が小さくなる。また、送信元の通信装置10から宛先の通信装置10に送信するパケットの大きさはパケット長テーブル20を参照して決定されるので、1つのパケットの送信に成功すると、以後のパケットについては送信可能なパケット長に設定することができる。なお、以上の説明では、例としてIPv4のパケットが送受信される場合について説明したが、IPv6のパケットが送受信されるネットワークでもパケット長テーブル20やテーブル更新部15などを備える通信装置10を用いることができる。ただし、IPv6パケットが送受信される場合、転送に失敗したときにルータ4が生成するメッセージがICMPv6エラーメッセージに変更される。図6cは、ICMPv6エラーメッセージに含まれるICMPヘッダとボディの例を示す。ICMPv6エラーメッセージのICMPヘッダには、Typeフィールド、Codeフィールド、チェックサムフィールド、MTUフィールドが含まれる。パケットの送信の失敗を通知するICMPv6エラーメッセージでは、Typeフィールドに2、Codeフィールドに0が設定されている。また、MTUフィールドには、ルータ4がパケットを転送しようとしたネットワーク2でのMTUの値が格納される。さらに、ボディには、送信に失敗したパケットのIPヘッダとデータの一部が含まれる。ICMPv6エラーメッセージが通信装置10aの受信部18で受信されると、手順7~12で説明した処理と同様の処理が行われる。図7は、通信装置10の動作の例を説明するフローチャートである。図7aは、通信装置10の初期化の際に行われる動作を説明するフローチャートである。通信装置10に電源が投入されると、テーブル更新部15は、パケット長テーブル20を初期化するステップS1、S2。すなわち、テーブル更新部15は、通信装置10が接続されているネットワークのMTUをPMTUとして、ルーティングテーブルに記録されている全てのプレフィックスに対応付けてパケット長テーブル20に記録する。図7bは、初期化が終了した後で、通信装置10がパケットを受信したときの動作の例を説明するフローチャートである。初期化が終了すると、受信部18はパケットを受信するまで待機するステップS11。受信部18は、パケットを受信すると非パケット化部14に出力する。非パケット化部14は、入力されたパケットが通知メッセージであるかを確認するステップS12。入力されたパケットが通知メッセージである場合、非パケット化部14は、通知メッセージに含まれているデータをテーブル更新部15に出力する。テーブル更新部15は、非パケット化部14から入力されたデータを用いてパケット長テーブル20を更新するステップS13。その後、ステップS11以降の処理が繰り返される。一方、非パケット化部14に通知パケットではないパケットが入力された場合、非パケット化部14は、パケットに含まれているデータを受信データバッファ12に出力する。そこで、通信装置10は、適宜、受信データバッファ12に格納されたデータを処理するステップS14。その後、ステップS11以降の処理が繰り返される。図8は、通信装置10の動作の例を説明するフローチャートである。図8aは、初期化が終了した後で、通信装置10がパケットを送信するときの動作の例を説明するフローチャートである。パケット化部13は、パケットの送信の指示を受けるまで待機するステップS21。ユーザの操作などによりパケット送信の指示を受けると、パケット化部13は、送信先のIPアドレスをキーとしてパケット長テーブル20を検索し、宛先の通信装置10を含むネットワークのプレフィックスに対応付けて記録されているPMTUを求めるステップS22。パケット化部13は、送信データバッファ11からデータを取得し、ステップS22で取得したPMTUを用いて、送信パケットを生成するステップS23。パケット化部13は、生成したパケットを送信部17に出力すると、送信部17は、宛先に向けてパケットを送信するステップS24。その後、ステップS20~S24の処理が繰り返される。図8bは、パケット長テーブル20の管理方法の例を説明する。テーブル更新部15は、タイマ図示せずから時刻情報を取得する。ここで、タイマはパケット長テーブル20が初期化されたときに初期化されるものとし、タイマの値は、最後にパケット長テーブル20が初期化されてから経過した時間を示すものとする。テーブル更新部15は、タイマの値が予め決められた時間n時間を経過したかを確認するステップS31。ここで、予め決められた時間は、任意の長さであり、nは任意の正の数とする。テーブル更新部15は、タイマの時刻情報がn時間になると、パケット長テーブル20を初期化するステップS32。初期化の方法は、ステップS2と同様である。ステップS31とS32の処理は、通信装置10の電源が切られるまで繰り返される。本実施形態にかかる通信装置10では、ネットワーク2ごとにPMTUがパケット長テーブル20中に記録される。このため、通信装置10の通信先となる通信装置10の数が増大しても、宛先ごとにPMTUを記録している装置に比べて、PMTUを記録するテーブル中のエントリの数は少ない。従って、通信装置10では、宛先の通信装置10ごとにPMTUを記録している装置に比べて、PMTUの検索にかかる時間が短くなる。PMTUの検索は、サーバがパケットを送信する度に行われるため、検索時間の短縮は、通信装置10の通信性能の改善につながる。また、PMTUを用いて通信が行われるので、本実施形態では、PMTUよりも小さなパケット長で通信が行われる場合よりも通信効率が良好になる。例えば、100万台のクライアントにサービスを提供するサーバからデータが送信されるとする。また、ここでは、100万台のクライアントが100のネットワーク2に収容されているとする。この場合、もし、クライアントごとにエントリが作成されてPMTUが記憶されていると、サーバは、100万のエントリから送信先のクライアントに関するエントリを検索してPMTUを取得することになる。エントリ数が大きくなると、1回の検索にかかる時間が長くなる上に、PMTUの検索はサーバがパケットを送信する度に行われるため、検索時間の増加は、パケット通信性能の劣化を引き起こしてしまう。一方、第1の実施形態にかかる通信装置10では、100万台のクライアントが100のネットワーク2に収容されていることから、パケット長テーブル20には100しかエントリを作成しない。従って、通信装置10がクライアントにデータを送信しようとする場合は、パケット長テーブル20に含まれている100のエントリから宛先のクライアントへの送信に用いられるPMTUを検索することができる。従って、通信装置10は、クライアントごとにPMTUを記憶している装置に比べて、パケットの宛先のクライアントに対するPMTUを早く検索することができる。結果として、通信装置10の通信性能は、クライアントごとにPMTUを記憶している装置よりも改善される。メモリ容量の削減量や検索速度の改善の程度について、図1のネットワークの場合について述べる。図1に示したネットワークには、3個の/16のネットワークが含まれている。1個の/16のネットワークには、最大約6.5万台のホストが存在し得る。このため、宛先装置別にPMTUが記憶される場合、最大で、13万台の通信装置についてのPMTUが記憶されることになる。ここで、1エントリには、32ビットのIPアドレスが用いられるので、PMTU長に8ビットを割り当てた場合、1つのエントリ当り40ビット5バイトとなる。そこで、約13万台分のテーブルを保持するには、65万バイトのメモリが用いられる。しかし、通信装置10はパケット長テーブル20を用いてネットワークごとにPMTUを記憶するので、記憶するエントリは2つである。IPv4のインターネットには、2の32乗約4.3億台の通信装置が存在し得る。この場合に全ての通信装置までのPMTUを記録するテーブルを生成すると、そのテーブルのサイズは、約20Gバイトとなる。一方、インターネットのフルルート数経路数は数十万であるため、通信装置10は、20~30万エントリを記憶すればよい。つまり、通信装置10は、インターネット全体の装置についてPMTUを記憶する場合でも、宛先ごとにPMTUを記憶する場合に比べて、1400~2100分の1のデータを記憶すればよい。検索速度で見れば、通信装置10は、宛先ごとにPMTUを記憶する通信装置に比べて、1400~2100倍もPMTUの検索速度を短縮でき、通信性能を向上できる。なお、第1の実施形態では、分かりやすくするために図1のようなネットワークでの通信を例としたが、データの送受信を行う通信装置10同士を結ぶ経路に含まれるルータ4の数は任意に変更される場合がある。この場合、テーブル更新部15は、IMCPエラーメッセージなどの通知メッセージを受信するたびに、送信元の通信装置10から宛先の通信装置10に到達するまでに含まれるネットワーク2でのPMTUの最小値を更新する。<第2の実施形態>第2の実施形態では、ネットワーク2ごとにPMTUを記憶するトンネルルータ40について説明する。トンネルルータ40を介してパケットを送受信する通信装置は、通信装置10であっても良く、また、パケット長テーブル20を備えない任意の通信装置1であっても良い。以下の説明では、通信装置1がトンネルルータ40を介してパケットを送受信している場合を例として説明する。トンネルルータ40では、パケットの転送先に応じてカプセル化やデカプセル化が行われる。カプセル化では、パケットに新たなヘッダが付加される。カプセル化によって付加されるヘッダは、例えば、IPv4ヘッダやIPv6ヘッダとすることができる。一方、デカプセル化では、カプセル化の際に付加されたヘッダが、パケットから除去される。以下の説明では、カプセル化される前のパケットのヘッダをインナーヘッダ、カプセル化によって付加されたヘッダをアウターヘッダと記載するものとする。カプセル化されると、パケットの長さは付加されたアウターヘッダの分だけ長くなる。例えば、アウターヘッダがIPv4ヘッダである場合、カプセル化後のパケットはカプセル化の前に比べて20バイト以上長くなる。同様に、アウターヘッダがIPv6ヘッダである場合は、パケットの長さが40バイト以上長くなる。このため、カプセル化の対象となるパケットは、カプセル化されたパケットが転送されるネットワークのMTUよりも、カプセル化で付加されるアウターヘッダの長さ分短い場合に、宛先装置に向けて転送される。第2の実施形態に係るトンネルルータ40は、カプセル化されたパケットが転送される宛先ネットワークまで通信系路上で送信可能なパケットの大きさの最大値であるPMTUからアウターヘッダの長さを引いた値を、宛先ネットワークごとに記憶する。なお、カプセル化されたパケットが転送される宛先のネットワークまでのPMTUからアウターヘッダの長さを引いた値を、以下の説明では、トンネルPMTUTunnelPathMaximumTransferUnitと記載することがある。後述するように、トンネルルータ40は、パケットをカプセル化する前に、カプセル化の対象となるパケットの長さとトンネルPMTUを比較することにより、カプセル化後のパケットを送信先のネットワーク2に送信できるかを確認する。図9は、トンネルルータ40の機能構成の例を示す図である。トンネルルータ40は、ネットワークインタフェース41、54、ルーティング部44、51、パケット長テーブル47、経路テーブル48、55、カプセル化部49、通知メッセージ生成部50、受信パケット処理部56、テーブル更新部57、デカプセル化部58を備える。ネットワークインタフェース41は、受信部42と送信部43を有する。ネットワークインタフェース54は、受信部52と送信部53を有する。ルーティング部44は、転送先決定部45と判定部46を有する。以下の例では、ネットワークインタフェース41、ルーティング部44、経路テーブル48は、インナーヘッダによるルーティングに用いられるものとする。一方、ルーティング部51、ネットワークインタフェース54、経路テーブル55は、アウターヘッダによるルーティングに用いられる。以下の説明では、経路テーブル48、55には、宛先ネットワークごとに、転送先のルータのアドレス、転送先のネットワークに関する情報などが記録されているものとする。なお、転送先のネットワークに関する情報には、転送先のネットワークで用いられているプロトコルの情報など、そのネットワークに転送されるパケットをカプセル化するかをルーティング部44が判定する際に用いられる情報が含まれているものとする。ネットワークインタフェース41は、受信部42と送信部43を有する。受信部42は、カプセル化される前のパケットを受信し、ルーティング部44に出力する。送信部43は、トンネルルータ40が受信したパケットのうちでトンネルルータ40によってカプセル化されずに転送されるパケットを、ルーティング部44から指定された転送先に出力する。また、送信部43は、トンネルルータ40に接続されている通信装置1などにパケットを送信する。転送先決定部45は、受信部42から入力されたパケットのヘッダインナーヘッダを確認し、パケットの宛先アドレスを取得する。また、後述するように、通知メッセージ生成部50から通知メッセージが入力された場合も、転送先決定部45は、同様に、パケットの宛先アドレスを取得する。転送先決定部45は、得られた宛先アドレスをキーとして経路テーブル48を検索する。転送先決定部45は、受信部42から入力されたパケットを転送するルータのアドレス、および、転送先のネットワーク情報を、経路テーブル48から取得する。また、転送先決定部45は、取得した情報を判定部46に通知することができる。判定部46は、転送先のネットワーク情報に基づいて、パケットをカプセル化するかを決定する。パケットがカプセル化の対象でない場合、判定部46は、パケット長テーブル47を参照して、宛先ネットワークまでの通信経路に対するトンネルPMTUを取得する。カプセル化の対象ではないパケットの長さが取得したトンネルPMTU以下であれば、判定部46は、そのパケットを送信部43に出力すると共に、送信部43に転送先を通知する。一方、パケットがカプセル化の対象である場合、判定部46は、パケット長テーブル47を参照して、宛先ネットワークまでの通信経路に対するトンネルPMTUを取得する。パケット長テーブル47の例を図10に示す。判定部46は、カプセル化の対象のパケットの長さを、トンネルPMTUと比較する。カプセル化されるパケットの長さがトンネルPMTU以下の場合、トンネルルータ40は、カプセル化後のパケットを転送先のネットワークに送信することができる。そこで、カプセル化されるパケットの長さがトンネルPMTU以下である場合、判定部46は、カプセル化されるパケットをカプセル化部49に出力する。この場合、転送先決定部45は、カプセル化部49に対し、カプセル化後のパケットの転送先、転送先のネットワークのトンネルPMTUなどの情報を出力する。カプセル化部49は、予め、パケットに付加されるアウターヘッダの種類を記憶しているものとする。カプセル化部49は、ルーティング部44から入力されたパケットにアウターヘッダを付加してルーティング部51に出力する。一方、カプセル化されるパケットの長さがトンネルPMTUより長い場合、トンネルルータ40は、カプセル化した後のパケットを転送先のネットワークに送信できない。この場合、判定部46は、カプセル化後のパケットを転送できないことと、転送先のネットワーク2のトンネルPMTUを、通知メッセージ生成部50に通知する。また、判定部46は、ルーティング部44から入力されたパケットも、通知メッセージ生成部50に出力する。通知メッセージ生成部50は、カプセル化後のパケットを転送できないことが通知されると、通知メッセージを生成する。通知メッセージは、例えば、ICMPエラーメッセージ、Packettoobigメッセージなどであり、図6を参照しながら述べたような情報要素を備える。なお、通知メッセージのタイプフィールド、コードフィールド、チェックサムフィールドなどに設定される値は、予め、通知メッセージ生成部50が記憶しているものとする。通知メッセージ生成部50は、カプセル化部49から入力されたパケットに含まれるIPヘッダとパケット中のデータの一部を、MTUの値と共に、通知メッセージに含める。なお、判定部46から通知されたトンネルPMTUの値がMTUに設定される。さらに、通知メッセージ生成部50は、通知メッセージを生成したパケットの送信元IPアドレスを取得し、取得した送信元IPアドレスを通知メッセージの宛先とする。通知メッセージ生成部50は、生成した通知メッセージをルーティング部44に出力する。カプセル化部49からパケットが入力されると、ルーティング部51は、カプセル化されたパケットのアウターヘッダを参照して、宛先アドレスを取得する。ルーティング部51は、経路テーブル55を参照してパケットの転送先を取得する。また、ルーティング部51は、受信部52から入力されたパケットについても、アウターヘッダに記載されている宛先と経路テーブル55を参照して、転送先のネットワークなどの情報を取得する。ルーティング部51は、カプセル化部49から入力されたパケットや他のネットワークに転送するパケットを送信部53に出力し、転送先のネットワークの情報等を通知する。一方、受信部52から入力されたパケットのアウターヘッダ中の宛先アドレスが、そのパケットを受信したトンネルルータ40のアドレスである場合、ルーティング部51は、パケットを受信パケット処理部56に出力する。受信パケット処理部56は、ルーティング部51から入力されたパケットが通知メッセージのパケットであるかを確認する。受信パケット処理部56は、通知メッセージをテーブル更新部57に出力する。さらに、受信パケット処理部56は、通知メッセージではないパケットを、デカプセル化部58に出力する。テーブル更新部57は、IMCPエラーメッセージなどの通知メッセージから、MTUの値と送信に失敗したパケットの宛先IPアドレスを取得する。テーブル更新部57は、取得したIPアドレスとパケット長テーブル47に記録されているプレフィックスを比較し、送信に失敗したパケットの宛先IPアドレスのプレフィックスに対応付けられているエントリを検出する。テーブル更新部57は、検出したエントリに記録されているトンネルPMTUの値を、通知メッセージから取得したMTUの値で変更する。テーブル更新部57の動作の例については、後述する。デカプセル化部58は、受信パケット処理部56から入力されたパケットからアウターヘッダを除去する。デカプセル化部58は、アウターヘッダを除去したパケットをルーティング部44に出力する。トンネルルータ40は、メモリ、プロセッサ、および、スイッチ図示せずを有しているものとする。メモリは、パケット長テーブル47、経路テーブル48、経路テーブル55を格納する。プロセッサは、通知メッセージ生成部50、受信パケット処理部56、テーブル更新部57として動作する。スイッチは、ルーティング部44やルーティング部51として動作する。カプセル化部49とデカプセル化部58は、チップなどのハードウェアにより実現される場合がある。図11は、トンネルルータ40を含むネットワークの例を示す図である。図11に示すネットワークには、通信装置11a~1c、トンネルルータ4040a~40c、ルータ4、ネットワーク22d~2iが含まれている。図11の例では、通信装置1のIPアドレスと、ネットワーク2d、2h、2iのプレフィックスは以下のとおりであるものとする。通信装置1aのIPアドレス:10.1.0.1通信装置1bのIPアドレス:10.2.0.1通信装置1cのIPアドレス:10.3.0.1ネットワーク2dのプレフィックス:10.1.0.0/16ネットワーク2hのプレフィックス:10.2.0.0/16ネットワーク2iのプレフィックス:10.3.0.0/16図11の例では、通信装置1aはネットワーク2d、通信装置1bはネットワーク2h、通信装置1cはネットワーク2iに属するものとする。また、トンネルルータ40aは、ネットワーク2d、2eに接続されている。また、トンネルルータ40bは、ネットワーク2f、2hに、トンネルルータ40cは、ネットワーク2g、2iに接続されている。さらに、ルータ4は、ネットワーク2e、2f、2gに接続されている。以下、図11に示すネットワークで通信装置1aが通信装置1cにパケットを送信することにより、図10に示すパケット長テーブル20が変更される場合について説明する。トンネルルータ40aでは、IPv4overIPv6のカプセル化が行われるものとする。また、以下の説明では、パケット化部13で生成されたパケットの区別を容易にするために、パケットP11、パケットP12などのようにPと数字の組み合わせを用いる。図12は、通信装置1aが通信装置1cにパケットを送信した場合に送受信されるパケットを示すシーケンス図の例である。なお、図12中の数字は以下の説明の手順の番号を表す。また、図12の例では、通知メッセージは、ICMPエラーメッセージであるものとする。1トンネルルータ40aは、図11に示すように、MTU=1500バイトのネットワーク2eに接続されている。トンネルルータ40aが起動されると、テーブル更新部57は、ネットワーク2eのMTUを用いてパケット長テーブル47の初期値を設定する。ここでは、トンネルルータ40aは、ネットワーク2eに転送するパケットにIPv4overIPv6のカプセル化を行うために、40バイトのIPv6ヘッダをアウターヘッダとして付加するものとする。すると、カプセル化後のパケットがネットワーク2eに転送されるには、カプセル化前のパケットが1500-40=1460バイト以下であればよい。また、10.2.0.0/16と10.3.0.0/16のいずれのネットワークに含まれる装置を宛先とするパケットも、トンネルルータ40aからネットワーク2eに転送される。そこで、テーブル更新部57は、図10に示すパケット長テーブル47を生成する。2通信装置1aが通信装置1cにパケットP11を送信するとする。このとき、通信装置1aは、通信装置1aが接続されているネットワーク2のMTUの長さにあわせて生成したパケットを送信する。通信装置1aは、ネットワーク2dに接続されており、ネットワーク2dのMTUは1500バイトであるので、通信装置1aは、1500バイトのパケットを通信装置1cに宛てて送信する。なお、通信装置1aはIPv4を用いて通信を行い、パケットP11はIPv4ヘッダを備えたパケットであるとする。3トンネルルータ40aは、受信部42からパケットP11を受信する。受信部42は、パケットP11を転送先決定部45と判定部46に出力する。転送先決定部45は、パケットP11のIPヘッダから宛先アドレスを取得し、経路テーブル48を参照して、パケットP11の転送先がネットワーク2eであることを認識する。4判定部46は、転送先のネットワークに関する情報を参照して、ネットワーク2eでは、IPv6を用いた通信が行われることを認識する。パケットP11がIPv4のパケットであり、さらに、パケットP11の転送先のネットワーク2ではIPv6による通信が行われるため、判定部46は、パケットP11がIPv4overIPv6のカプセル化の対象であると判定する。5次に、判定部46は、パケット長テーブル47を参照して通信装置1cの属するネットワーク2に送信するために用いられるトンネルPMTUを取得する。図10に示すとおり、この時点では、通信装置1cの属するネットワーク2に対応付けられたトンネルPMTUは1460バイトであるものとする。判定部46は、パケットP11のパケット長を、取得したトンネルPMTUと比較する。パケットP11は1500バイトであり、パケットP11のほうがトンネルPMTUよりも長いので、トンネルルータ40aは、パケットP11をカプセル化しても転送先のネットワーク2eに送信することはできない。そこで、判定部46は、パケットP11とネットワーク2eのMTUの値を通知メッセージ生成部50に出力して、通知メッセージの生成を要求する。6通知メッセージ生成部50は、通知メッセージN1を生成し、ルーティング部44を介して送信部43に出力する。送信部43は、通知メッセージN1を通信装置1aに送信する。7通信装置1aは、通知メッセージN1を受信すると、1460バイトのパケットであれば通信装置1cに送信できると認識する。そこで、通信装置1cあてのパケットP12のサイズを1460バイトにして、再度、通信装置1cに向けて送信する。8トンネルルータ40aは、パケットP12を受信すると、パケットP12について手順3、4で述べた処理を行う。次に、判定部46は、パケットP12のパケット長とトンネルPMTUの値を比較する。ここでは、パケットP12のパケット長とトンネルPMTUの値が等しいので、パケットP12をカプセル化部49に出力する。カプセル化部49は、パケットP12にIPv6ヘッダを付加する。カプセル化されたパケットP12は、ルーティング部51と送信部53を介して、ネットワーク2eに転送される。9ルータ4は、カプセル化されたパケットP12を受信すると、アウターヘッダに含まれている宛先アドレスとルータ4が記憶しているルーティングテーブルに基づいて、転送先のネットワーク2を決定する。カプセル化されたパケットP12の転送先は、ネットワーク2gである。次に、ルータ4は、カプセル化されたパケットP12の長さを、ネットワーク2gのMTUと比較する。カプセル化されたパケットP12は1500バイトであるのに対し、図11に示すように、ネットワーク2gのMTUは1400バイトである。そこで、ルータ4は、カプセル化されたパケットP12を転送することができないので、ICMPエラーメッセージを生成して、MTUが1400バイトであることを、トンネルルータ40bに通知する。10トンネルルータ40aは、受信部52でICMPエラーメッセージを受信する。受信部52は、ICMPエラーメッセージをルーティング部51に出力する。ICMPエラーメッセージの宛先アドレスはトンネルルータ40aであるので、ルーティング部51は、ICMPエラーメッセージを受信パケット処理部56に出力する。受信パケット処理部56は、入力されたパケットがICMPエラーメッセージであるので、ICMPエラーメッセージをテーブル更新部57に出力する。11テーブル更新部57は、ICMPエラーメッセージから、送信に失敗したパケットの宛先IPアドレスとMTUの値を取得する。ここでは、通信装置1cのIPアドレス10.3.0.1/16であることと、通信装置1cまでの経路に含まれるネットワーク2ではMTUが1400バイト以下であることを認識する。次に、テーブル更新部57は、ICMPエラーメッセージに含まれているMTUからアウターヘッダの長さを差し引いて、トンネルPMTUの長さを求める。ここでは、アウターヘッダが40バイトであるので、トンネルPMTUは、1400-40=1360バイトである。テーブル更新部57は、求めたトンネルPMTUの長さを、パケット長テーブル47に記録する。テーブル更新部57によって変更されたパケット長テーブル47の例を図13に示す。12トンネルルータ40は、パケット長テーブル47を変更しても、パケットの送信元の通信装置1aにはトンネルPMTUを通知しない。従って、通信装置1aは、パケットP12の送信時刻から一定の時間内に、パケットP12に対するAckメッセージを受信できない場合、パケットP12が通信装置10cに到達できなかったと判断する。すると、通信装置1aは、パケットP12の再送パケットであるパケットP13を生成し、通信装置1cに向けて再送する。ここで、図12に示すように、通信装置1aは、ICMPエラーメッセージなどの通知メッセージを受信していないので、通信装置1cに送信可能なPMTUの値を変更していない。従って、パケットP13は、パケットP12と同じように、1460バイトで生成される。13トンネルルータ40aは、通信装置1aからパケットP13を受信すると、手順3、4で説明したように、パケットP13を処理し、カプセル化の対象であると判断する。さらに、判定部46は、パケット長テーブル47を参照して通信装置1cの属するネットワーク2に送信するために用いられるトンネルPMTUが1360バイトであることを認識する。判定部46は、パケットP13のパケット長1460バイトは、トンネルPMTUよりも長いので、通知メッセージ生成部50に、通知メッセージの生成を要求する。14通知メッセージ生成部50は、通知メッセージN2を生成し、ルーティング部44を介して送信部43に出力する。送信部43は、通知メッセージN2を通信装置1aに送信する。ここで、通知メッセージN2には、MTUとして、トンネルMTUが1360バイトであることが記録されている。15通信装置1aは、通知メッセージN2を受信すると、1360バイトのパケットであれば通信装置1cに送信できると認識する。そこで、通信装置1cあてのパケットP14のサイズを1360バイトにして、再度、通信装置1cに向けて送信する。16トンネルルータ40aは、パケットP14を受信すると、パケットP14について手順3、4で述べた処理を行う。次に、判定部46は、パケットP14のパケット長とトンネルPMTUの値を比較する。ここでは、パケットP14のパケット長とトンネルPMTUの値が等しいので、パケットP14をカプセル化部49に出力する。カプセル化部49は、パケットP14にIPv6ヘッダを付加する。カプセル化されたパケットP12は、ルーティング部51と送信部53を介して、ネットワーク2eに転送される。17ルータ4は、カプセル化されたパケットP14を受信すると、手順9に記載したように転送先のネットワーク2がネットワーク2gであることを認識する。また、ルータ4は、カプセル化されたパケットP14の長さが、ネットワーク2gのMTU以下であることを確認して、パケットP14をネットワーク2gに転送する。18トンネルルータ40cは、カプセル化されたパケットP14を受信部52から受信する。受信部52は、カプセル化されたパケットP14をルーティング部51に出力する。アウターヘッダの宛先アドレスはトンネルルータ40cであるので、ルーティング部51は、カプセル化されたパケットP14を受信パケット処理部56に出力する。受信パケット処理部56は、入力されたパケットが通知メッセージではないので、そのパケットをデカプセル化部58に出力する。デカプセル化部58は、受信パケット処理部56から入力されたパケットをデカプセル化してパケットP14をルーティング部44に出力する。ルーティング部44は、パケットP14のIPv4ヘッダ中のIPアドレス10.3.0.1/16を取得する。トンネルルータ40cはアドレスが10.3.0.0/16であるネットワーク2iに接続しているので、トンネルルータ40cは、ネットワーク2i中の通信装置1cにパケットP14を送信する。19通信装置1cは、パケットP14を受信する。図14はトンネルルータ40の動作の例を説明するフローチャートである。図14は、トンネルルータ40がバックボーンネットワーク側からパケットを受信し、スタブネットワークにパケットを転送する場合の動作を表している。図11の例では、トンネルルータ40aにとって、バックボーンネットワーク側はネットワーク2e側であり、スタブネットワーク側はネットワーク2d側である。また、トンネルルータ40cにとっては、バックボーンネットワーク側はネットワーク2g側であり、スタブネットワーク側はネットワーク2i側である。受信部52は、バックボーンネットワークからのパケットを受信するまで待機するステップS41。受信部52は、パケットを受信するとルーティング部51に出力する。ルーティング部51は、トンネルルータ40を宛先としたパケットを受信パケット処理部56に出力する。受信パケット処理部56は、受信したパケットが通知メッセージであるかを確認するステップS42。受信パケット処理部56は、通知メッセージを受信した場合、テーブル更新部57に出力する。テーブル更新部57は、通知メッセージからMTUの値を取得して、パケット長テーブル47を更新するステップS43。一方、受信パケット処理部56に入力されたパケットが通知メッセージではない場合、受信パケット処理部56は、パケットをデカプセル化部58に出力する。デカプセル化部58は、受信パケット処理部56から入力されたパケットのアウターヘッダを除去することにより、デカプセル化するステップS44。デカプセル化されたパケットは、ルーティング部44を介し、送信部43からインナーヘッダに記録された宛先に向けて送信されるステップS45。ステップS43もしくはS45が行われた後、ステップS41以降の処理が繰り返される。図15はトンネルルータ40の動作の例を説明するフローチャートである。図15は、トンネルルータ40がスタブネットワークからパケットを受信し、バックボーンネットワーク側にパケットを転送する場合の動作を表している。受信部42は、スタブネットワークからのパケットを受信するまで待機するステップS51。受信部42は、パケットを受信するとルーティング部44に出力する。判定部46は、転送先に関する情報に基づいて受信パケットがカプセル化の対象であることを認識する。さらに、判定部46は、パケット長テーブル47を参照して、パケットの宛先のネットワークまでのトンネルPMTUを取得する。ステップS52。判定部46は、パケットの長さがトンネルPMTUを超えている場合、判定部46は、カプセル化したパケットを転送することはできないと判定して、通知メッセージ生成部50に判定結果を通知する。通知メッセージ生成部50は、通知メッセージを生成し、送信部43を介して受信パケットの送信元に返信するステップS53でNo、ステップS54。一方、受信パケットの長さがトンネルPMTU以下である場合、受信パケットはカプセル化部49に出力され、カプセル化されるステップS53でYes、ステップS55。カプセル化されたパケットは、ルーティング部51や送信部53を介して、バックボーンネットワーク側に送信されるステップS56。ステップS51~S56の処理は、トンネルルータ40の電源が切られるまで繰り返される。なお、トンネルルータ40に備えられたパケット長テーブル47も、パケット長テーブル20と同様に、トンネルルータ40に電源が投入されたときや、パケット長テーブル47が初期化されてから所定の時間が経過したときに初期化される。パケット長テーブル47の初期化はテーブル更新部57によって行われ、初期化の方法は、図7aおよび図8bを参照しながら説明した方法と同様である。このように、トンネルルータ40が備えるパケット長テーブル47において、トンネルPMTUをネットワークごとに記録することができる。また、トンネルPMTUをネットワークごとに記録すると、トンネルルータ40により中継されるパケットの宛先に応じたトンネルPMTUを記録するための記憶量を宛先ごとに記録する場合に比べて、トンネルPMTUの記録に用いられるエントリ数を削減することができる。ルータが扱うパケットは非常に膨大であり、なおかつ宛先も多様である。トンネルルータ40で中継されるパケットの宛先の種類の数は、サーバやホストなどの単一の通信装置10に比べて大きい。従って、トンネルルータで宛先ごとにトンネルPMTUを記録すると、トンネルPMTUを記憶するテーブルのエントリ数は膨大になってしまうため、パケットの転送に際してトンネルPMTUを検索するために時間がかかってしまう。第2の実施形態では、トンネルルータ40が備えるパケット長テーブル47で、ネットワークごとにトンネルPMTUを記録することにより、パケット長テーブル47に記録されるエントリ数を抑えることができる。このため、トンネルルータ40でのトンネルPMTUの検索時間が短くなり、転送処理が早くなる。また、トンネルルータ40がパケット長テーブル47を備える場合、パケット長テーブル47のために用いるメモリの容量は、宛先装置ごとにトンネルPMTUが記録される場合に比べて小さくなる。従って、メモリ不足でトンネルPMTUが記録できなくなる恐れが小さくなる。また、トンネルルータ40では、宛先装置ごとにトンネルPMTUが記録される場合に比べて、搭載するメモリの量を小さくすることができる。さらに、トンネルルータ40においてメモリ不足が発生することによりトンネルPMTUが記録できなくなる恐れが小さいため、トンネルルータ40をリセットする回数も少なくなり、トンネルルータ40のメンテナンスも簡便になる。<第3の実施形態>第3の実施形態では、トンネルルータ40がStatelessAutomaticIPv4overIPv6TunnelingSA46Tによる通信で用いられる場合について説明する。例えば、図11に示すネットワークのうち、ネットワーク2dがIPv4で動作し、残りのネットワーク2e~2iはIPv6で動作しているとする。この場合、トンネルルータ40aは、宛先のネットワークのIPv6アドレスのプレフィックスSA46Tプレフィックスに対応付けてトンネルPMTUを記録したパケット長テーブル47を備えている。図16は、第3の実施形態で用いられるパケット長テーブル47の例を示す図である。第3の実施形態で用いられるパケット長テーブル47では、パケットの宛先のネットワークを識別できるSA46TプレフィックスにトンネルPMTUが対応付けられている。ルータ40aは、IPv6で通信が行われているネットワーク2hや2iにIPv4のパケットを転送する際に、パケットにIPv6ヘッダを付加する。トンネルPMTUの値は、ネットワーク2h、2iの各々に到達することができる最大のパケット長からIPv6ヘッダの長さを差し引いた値となる。パケット長テーブル47の生成方法や変更方法は、第2の実施形態で述べた方法と同様である。ただし、本実施形態では、トンネルルータ40aは、通知メッセージとしてPackettoobigメッセージを受信する。本実施形態で説明したように、トンネルPMTUをSA46Tプレフィックスに対応付けて記録すると、宛先ごとにトンネルPMTUが記録される場合に比べて、トンネルPMTUの記録に用いられるエントリ数を削減することができる。このため、トンネルPMTUを検索するための時間が短縮される。<その他>なお、実施形態は上記に限られるものではなく、様々に変形可能である。以下にその例をいくつか述べる。パケット長テーブル47は、宛先ネットワークごとにトンネルPMTUを記録するので、ルータのルーティングテーブルを拡張して、パケット長テーブル47と経路テーブル48を統合することも可能である。図17は、パケット長テーブル47と経路テーブル48を統合した場合のトンネルルータ60の構成の例を示す。トンネルルータ60は、ネットワークインタフェース41、54、ルーティング部44、51、カプセル化部49、通知メッセージ生成部50、経路テーブル55、受信パケット処理部56、テーブル更新部57、デカプセル化部58、経路およびパケット長テーブル61を有する。経路およびパケット長テーブル61は、パケット長テーブル47と経路テーブル48を統合したテーブルである。経路およびパケット長テーブル61の例を図18に示す。経路およびパケット長テーブル61中のトンネルPMTUの変更方法は、第2および第3の実施形態と同様である。図18に示すようにパケット長テーブル47と経路テーブル55が統合されることにより、経路の検索とトンネルPMTUの検索が一度に行われるため、トンネルルータ60の処理効率は、トンネルルータ40に比べて改善される。図19は、トンネルルータ70の機能構成の例を表す図である。トンネルルータ70は、カプセル化されるパケットを送受信するインタフェースを複数備える。すなわち、トンネルルータ70は、カプセル化された後のパケットのルーティングに、ネットワークインタフェース71とルーティング部72、経路テーブル55を用いる。カプセル化の対象のパケットは、ネットワークインタフェース4141a~41c、ルーティング部4444a~44c、カプセル化部4949a~49cで処理される。カプセル化後のパケットを転送できない場合、パケットの転送ができないと判定されたパケットが入力されたネットワークインタフェース41に接続されている通知メッセージ生成部50は、通知メッセージを生成する。ネットワークインタフェース71を介して受信されたパケットは、受信パケット処理部5656a~56c、テーブル更新部5757a~57c、デカプセル化部5858a~58c、経路およびパケット長テーブル6161a~61cにより処理される。トンネルルータ70は、例えば、VirtualPrivateNetworkVPNを実現する際に用いられることがある。パケット長テーブル20、パケット長テーブル47、経路およびパケット長テーブル61、経路テーブル48、55などは、連想メモリを用いることができ、また、ハードウェアにより生成することにより、高速で検索が可能な構成で生成される。なお、経路テーブルにデフォルトルートが設定されている場合、パケット長テーブル20やパケット長テーブル47は、デフォルトルートを用いてルーティングされた宛先については、ホストごとにPMTUを記憶するように変形されることがある。第2および第3の実施形態や図17~図19を参照しながら説明した形態では、トンネルルータが用いられた場合について説明したが、カプセル化を行わないルータ4などの中継装置がパケット長テーブル20を備えることもできる。この場合、中継装置は、転送先のネットワークのプレフィックスに対応付けてパケット長テーブル20に記録されているPMTUを取得し、転送対象のパケットの長さと比較する。