(57)【要約】【課題】特別な装置を用いることなく、既存のソフトウェア資産を有効利用できるようにする。【解決手段】ＩＰｖ６にしたがってパケットを送受信する通信手段と、ＩＰｖ４にしたがってパケットの送受信を行うアプリケーションプログラムを実行する実行手段と、自装置および自装置の通信相手となる相手装置の各々についてＩＰｖ６アドレスに対応付けてＩＰｖ４アドレスが格納されたテーブルと、アプリケーションプログラムにしたがって実行手段が生成するＩＰｖ４パケットについては当該パケットに含まれているヘッダを前記テーブルの格納内容を参照してＩＰｖ６パケットのヘッダに差し替えて通信手段に送信させ、通信手段により受信したＩＰｖ６パケットについてはそのヘッダを前記テーブルの格納内容を参照してＩＰｖ４パケットのヘッダに差し替え実行手段に与えるプロトコル変換手段とを有する通信装置を提供する。【選択図】図３
2015043565.tif 000002
【特許請求の範囲】
【請求項１】
第１の通信プロトコルにおいてデータの送信先および送信元の各々を示す第１の種類の識別子が書き込まれた第１のヘッダ部を有するデータブロックを送受信する通信手段と、
前記第１の通信プロトコルと同じプロトコル階層に属する第２の通信プロトコルにおいてデータの送信先および送信元の各々を示す第２の種類の識別子が書き込まれた第２のヘッダ部を有するデータブロックの送受信を行うアプリケーションプログラムを実行する実行手段と、
前記アプリケーションプログラムにしたがって前記実行手段により生成されたデータブロックについては前記第２のヘッダ部を、前記第１の種類の識別子に対応付けて前記第２の種類の識別子が格納されたテーブルの格納内容を参照して前記第１のヘッダ部に差し替え、差し替え後のデータブロックを前記通信手段に送信させる一方、前記通信手段により受信されたデータブロックについては前記第１のヘッダ部を前記テーブルの格納内容を参照して前記第２のヘッダ部に差し替え、差し替え後のデータブロックを前記実行手段に与えるプロトコル変換手段と、
を有することを特徴とする通信装置。
【請求項２】
前記プロトコル変換手段は、前記実行手段により生成されたデータブロックが、自装置についての前記第２の種類の識別子の割り当てを要求するデータブロックである場合には、自装置に対して前記第１の種類の識別子の割り当てを行う他の通信装置と通信して第１の種類の識別子を取得し、当該第１の種類の識別子と自装置において生成した第２の種類の識別子とを対応づけて前記テーブルに書き込むとともに、当該第２の種類の識別子を前記実行手段に与える
ことを特徴とする請求項１に記載の通信装置。
【請求項３】
前記プロトコル変換手段は、前記実行手段により生成されたデータブロックが相手装置についての前記第２の種類の識別子を問い合わせるデータブロックである場合には、問い合わせに応じて当該相手装置についての第１の種類の識別子を返信する他の通信装置との通信により取得した第１の種類の識別子と自装置において生成した第２の種類の識別子とを対応づけて前記テーブルに書き込むとともに、当該第２の種類の識別子を前記実行手段に与える
ことを特徴とする請求項１または請求項２に記載の通信装置。
【請求項４】
前記第１の種類の識別子は階層構造を有しており、前記プロトコル変換手段は、前記他の通信装置から取得した第１の種類の識別子と対応付けて前記テーブルに書き込む第２の種類の識別子を生成する際に、当該第１の種類の識別子の階層構造の少なくとも一部を反映させて前記第２の種類の識別子を生成する
ことを特徴とする請求項２または請求項３に記載の通信装置。
【請求項５】
前記第１の通信プロトコルはＩＰｖ６であるとともに前記第１の種類の識別子はＩＰｖ６におけるＩＰアドレスである一方、前記第２の通信プロトコルはＩＰｖ４であるとともに前記第２の種類の識別子はＩＰｖ４におけるＩＰアドレスであることを特徴とする請求項４に記載の通信装置。
【請求項６】
前記プロトコル変換手段は、同じネットワークに属する複数の通信装置の各々に割り当てるＩＰアドレスの先頭から所定ビット数部分が同一になるように、ＩＰｖ４におけるＩＰアドレスを生成することを特徴とする請求項５に記載の通信装置。
【請求項７】
複数の通信装置を含み、
前記複数の通信装置の各々は、
第１の通信プロトコルにおいてデータの送信先および送信元の各々を示す第１の種類の識別子が書き込まれた第１のヘッダ部を有するデータブロックを送受信する通信手段と、
前記第１の通信プロトコルと同じプロトコル階層に属する第２の通信プロトコルにおいてデータの送信先および送信元の各々を示す第２の種類の識別子が書き込まれた第２のヘッダ部を有するデータブロックの送受信を行うアプリケーションプログラムを実行する実行手段と、
前記アプリケーションプログラムにしたがって前記実行手段により生成されたデータブロックについては前記第２のヘッダ部を、前記第１の種類の識別子に対応付けて前記第２の種類の識別子が格納されたテーブルの格納内容を参照して前記第１のヘッダ部に差し替え、差し替え後のデータブロックを前記通信手段に送信させる一方、前記通信手段により受信されたデータブロックについては前記第１のヘッダ部を前記テーブルの格納内容を参照して前記第２のヘッダ部に差し替え、差し替え後のデータブロックを前記実行手段に与えるプロトコル変換手段と、を備え、
前記複数の通信装置のうちの少なくとも１つは前記テーブルを有する第１の種類の通信装置であり、前記複数の通信装置のうち前記第１の種類の通信装置以外の通信装置の前記プロトコル変換手段は、当該第１の種類の通信装置の有する前記テーブルを参照する
ことを特徴とする通信システム。
【請求項８】
コンピュータを、
第１の通信プロトコルにおいてデータの送信先および送信元の各々を示す第１の種類の識別子が書き込まれた第１のヘッダ部を有するデータブロックを送受信する通信手段と、
前記第１の通信プロトコルと同じプロトコル階層に属する第２の通信プロトコルにおいてデータの送信先および送信元の各々を示す第２の種類の識別子が書き込まれた第２のヘッダ部を有するデータブロックの送受信を行うアプリケーションプログラムを当該コンピュータに実行させることにより生成されたデータブロックについては、前記第２のヘッダ部を、前記第１の種類の識別子に対応付けて前記第２の種類の識別子が格納されたテーブルの格納内容を参照して前記第１のヘッダ部に差し替え、差し替え後のデータブロックを前記通信手段に送信させる一方、前記通信手段により受信されたデータブロックについては前記第１のヘッダを前記テーブルの格納内容を参照して前記第２のヘッダ部に差し替え、差し替え後のデータブロックを前記アプリケーションプログラムに与えるプロトコル変換手段
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ネットワークを介したデータ通信に関する。
【背景技術】
【０００２】
従来より用いられてきたインターネットプロトコルバージョン４（以下、ＩＰｖ４）では、適用装置の増加に伴い、ＩＰ（Internet
Protocol）アドレスの枯渇が深刻な問題となってきている。この問題を解決するために、新しいインターネットプロトコルバージョン６（以下、ＩＰｖ６）の採用が始まっている。ここで問題となるのは、ＩＰｖ６とＩＰｖ４は何れもネットワーク層に属する通信プロトコルであるものの、両者に互換性は無く、インターネットの黎明期から現在に至るまでに開発された膨大な量のＩＰｖ４対応の各種アプリケーションプログラムをＩＰｖ６ネットワークではそのまま利用することはできない、という点である。
【０００３】
ＩＰｖ４対応のアプリケーションプログラムをＩＰｖ６対応に改造すれば上記問題を解決することができる。しかし、これまでに蓄積されたソフトウェア資産は膨大であり、その改造には膨大な手間を要する。したがってこのような解決方法は現実的ではない。そこで、ＩＰｖ６とＩＰｖ４の相互変換を行うトランスレータ装置をネットワークに設置することで上記問題を解決することが提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−５４３１３９号公報
【特許文献２】特開２０１０−１６６５８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、トランスレータ装置のような特別な装置を新たなに設置することはコスト面から難しい場合も多い。
本発明は上記課題に鑑みて為されたものであり、トランスレータ装置のような特別な装置を用いることなく、既存のソフトウェア資産を有効利用することを可能にする技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために本発明は、第１の通信プロトコルにおいてデータの送信先および送信元の各々を示す第１の種類の識別子が書き込まれた第１のヘッダ部を有するデータブロックを送受信する通信手段と、前記第１の通信プロトコルと同じプロトコル階層に属する第２の通信プロトコルにおいてデータの送信先および送信元の各々を示す第２の種類の識別子が書き込まれた第２のヘッダ部を有するデータブロックの送受信を行うアプリケーションプログラムを実行する実行手段と、前記アプリケーションプログラムにしたがって前記実行手段により生成されたデータブロックについては前記第２のヘッダ部を、前記第１の種類の識別子に対応付けて前記第２の種類の識別子が格納されたテーブルの格納内容を参照して前記第１のヘッダ部に差し替え、差し替え後のデータブロックを前記通信手段に送信させる一方、前記通信手段により受信されたデータブロックについては前記第１のヘッダ部を前記テーブルの格納内容を参照して前記第２のヘッダ部に差し替え、差し替え後のデータブロックを前記実行手段に与えるプロトコル変換手段と、を有することを特徴とする通信装置、を提供する。
【０００７】
本発明によれば、第２の通信プロトコルにしたがってデータブロックの送受信を行うアプリケーションプログラムを、第１の通信プロトコルにしたがってデータブロックの送受信を行う通信装置に実行させ、特別な装置を必要とすることなく、第１の通信プロトコルにしたがってデータブロックの送受信を行う他の通信装置と通信させることが可能になる。ここで、第１の通信プロトコルの具体例としてはＩＰｖ６が挙げられ、第２の通信プロトコルの具体例としてはＩＰｖ４が挙げられる。第１の通信プロトコルとしてＩＰｖ６を採用し第２に通信プロトコルとしてはＩＰｖ４を採用する場合には、上記第１の種類の識別子はＩＰｖ６におけるＩＰアドレスとなり、第２の種類の識別子はＩＰｖ４におけるＩＰアドレスとなる。また、この場合、第１の通信プロトコルにしたがって送受信されるデータブロックとはＩＰｖ６に準拠したパケットのことであり、第２の通信プロトコルにしたがって送受信されるデータブロックとはＩＰｖ４に準拠したパケットのことである。
【０００８】
このような態様によれば、既存の膨大なソフトウェア資産（ＩＰｖ４対応のアプリケーションプログラム）を特別な装置を要することなく有効利用することが可能になる。例えば、第１の通信プロトコルがＩＰｖ６であり、第２の通信プロトコルがＩＰｖ４である場合、本発明の通信装置にインストールされているＩＰｖ４対応のアプリケーションプログラムに改造を施したり、特別な装置を要することなくＩＰｖ６に準拠したデータ通信を行う通信装置のみが接続されているネットワークに本発明の通信装置を接続し上記アプリケーションプログラムにしたがったデータ通信を行わせることができる。
【０００９】
換言すれば、本発明によれば、第１の通信プロトコル（例えば、ＩＰｖ６）に準拠したデータ通信を仲介するネットワークに第２の通信プロトコル（例えば、ＩＰｖ４）対応のアプリケーションプログラムがインストールされた通信装置と第１の通信プロトコル対応のアプリケーションプログラムがインストールされた通信装置を混在させることができる。このため、第２の通信プロトコル対応の既存の通信システムを第１の通信プロトコル対応の通信システムに更新する際に、通信システムに含まれる通信装置や当該通信装置にインストールされているアプリケーションプログラムを一括して置き換える必要はなく、システム所有者のコスト負担能力等に応じて徐々に置き換えることができる。
【００１０】
なお、第１の種類の識別子に対応付けて第２の種類の識別子が格納されたテーブルについては、本発明の通信装置に記憶させておいても良いし、当該通信装置がアクセス可能な他の装置に記憶させておいても良い。特許文献１には、ＩＰｖ４に準拠したパケットのヘッダ部に書き込まれているＩＰアドレスをＩＰｖ６準拠のＩＰアドレスに書き換えることで本願と同様の課題を解決しようとする技術が記載されているが、ＩＰｖ４におけるパケットのヘッダ部とＩＰｖ６におけるパケットのヘッダ部とではデータフォーマットが異なっているため、このようなＩＰアドレスの書き換えだけでは上記課題を解決することはできず、ヘッダ部そのものの差し換えを行う本願発明とは異なる技術である。また、特許文献２には、ＩＰｖ４ネットワークとＩＰｖ６ネットワークの両方に接続され、両ネットワーク間のデータ通信を中継する通信装置に関する技術が記載されている。しかし、特許文献２に開示の技術を用いたとしても、ＩＰｖ６に準拠したデータ通信を仲介するネットワークにＩＰｖ６対応のアプリケーションプログラムがインストールされた通信装置とＩＰｖ４対応のアプリケーションプログラムがインストールされた通信装置の両者を混在させることができる訳ではない。よって、本願発明は、特許文献２に記載の技術とも異なる技術である。
【００１１】
より好ましい態様においては、前記プロトコル変換手段は、前記実行手段により生成されたデータブロックが、自装置についての前記第２の種類の識別子の割り当てを要求するデータブロックである場合には、自装置に対して前記第１の種類の識別子の割り当てを行う他の通信装置と通信して第１の種類の識別子を取得し、当該第１の種類の識別子と自装置において生成した第２の種類の識別子とを対応づけて前記テーブルに書き込むとともに、当該第２の種類の識別子を前記実行手段に与えることを特徴とする。ここで、自装置についての第２の種類の識別子の割り当てを要求するデータブロックの具体例としては、ＤＨＣＰ（Dynamic
Host Configuration Protocol）におけるアドレス割り当て要求パケットが挙げられる。ＤＨＣＰとは、通信装置の電源投入等を契機として当該通信装置にＩＰアドレスを動的に割り当てることを実現するプロトコルである。ＤＨＣＰを導入することによってネットワーク管理者のアドレス管理の手間が大幅に軽減されるため、ＤＨＣＰは従来のＩＰｖ４対応のネットワークでは広く普及していた。このような態様によれば、ＤＨＣＰによるアドレス割り当てを前提するソフトウェア資産を、特別な装置を要することなく有効利用することが可能になる。
【００１２】
また別の好ましい態様においては、前記プロトコル変換手段は、前記実行手段により生成されたデータブロックが相手装置についての前記第２の種類の識別子を問い合わせるデータブロックである場合には、問い合わせに応じて当該相手装置についての第１の種類の識別子を返信する他の通信装置との通信により取得した第１の種類の識別子と自装置において生成した第２の種類の識別子とを対応づけて前記テーブルに書き込むとともに、当該第２の種類の識別子を前記実行手段に与えることを特徴とする。上記他の通信装置の具体例としては、ドメイン名をＩＰアドレスに変換するサービスを提供するＤＮＳ（Domain Name Service）サーバが挙げられ、上記第２の種類の識別子を問い合わせるデータブロックの一例としては当該ＤＮＳサーバへアドレス解決（ドメイン名を該当するＩＰアドレスに変換すること）を要求するパケットが挙げられる。このＤＮＳも従来のＩＰｖ４対応のネットワークでは広く普及していた。このような態様によれば、ＤＮＳによるアドレス解決を前提とするソフトウェア資産を特別な装置を要することなく有効利用することが可能になる。
【００１３】
また、別の好ましい態様においては、前記第１の種類の識別子は階層構造を有しており、前記プロトコル変換手段は、前記他の通信装置から取得した第１の種類の識別子と対応付けて前記テーブルに書き込む第２の種類の識別子を生成する際に、当該第１の種類の識別子の階層構造の少なくとも一部を反映させて前記第２の種類の識別子を生成することを特徴とする。プロトコル変換手段により生成される第２の種類の識別子は本発明の通信装置内でのみ使用されるものであるから、特別な意味を有するもの（例えば、ブロードキャストアドレスなど）と一致しない限り、どのような値のものであっても良く、一連番号等であっても特段の問題は生じない。
【００１４】
しかし、上記第１および第２の種類の各識別子がＩＰアドレスである場合、同じネットワークに属する通信装置には上位所定数ビットが同じ値のＩＰアドレスが割り振られているなど、そのＩＰアドレスにネットワーク構造等の階層構造が反映されていることが一般的であり、この点はＩＰｖ４とＩＰｖ６の何れであっても変わりはない。一方、既存のＩＰｖ４対応のアプリケーションプログラムの中には、このようなＩＰアドレスの階層構造（換言すれば、ネットワーク毎のグループ分け）を前提としているものもある。本態様によれば、このようなＩＰアドレスの階層構造を前提とするアプリケーションプログラムを特別な装置を用いることなく有効利用することが可能になる。なお、ＩＰｖ６におけるアドレス空間はＩＰｖ４におけるアドレス空間に比較して広いため、ＩＰｖ６のＩＰアドレスの示す階層構造を全て反映するように上記第２の種類の識別子（ＩＰｖ４におけるＩＰアドレス）を生成することはできない。そこで、上記階層構造のうち上記第２の識別子における階層構造に反映させる部分を上記通信装置のユーザ（或いは当該通信装置の接続されるネットワークのネットワーク管理者）に予め設定させておいても良い。
【００１５】
また、上記課題を解決するために本発明は、複数の通信装置を含み、前記複数の通信装置の各々は、第１の通信プロトコルにおいてデータの送信先および送信元の各々を示す第１の種類の識別子が書き込まれた第１のヘッダ部を有するデータブロックを送受信する通信手段と、前記第１の通信プロトコルと同じプロトコル階層に属する第２の通信プロトコルにおいてデータの送信先および送信元の各々を示す第２の種類の識別子が書き込まれた第２のヘッダ部を有するデータブロックの送受信を行うアプリケーションプログラムを実行する実行手段と、前記アプリケーションプログラムにしたがって前記実行手段により生成されたデータブロックについては前記第２のヘッダ部を、前記第１の種類の識別子に対応付けて前記第２の種類の識別子が格納されたテーブルの格納内容を参照して前記第１のヘッダ部に差し替え、差し替え後のデータブロックを前記通信手段に送信させる一方、前記通信手段により受信されたデータブロックについては前記第１のヘッダ部を前記テーブルの格納内容を参照して前記第２のヘッダ部に差し替え、差し替え後のデータブロックを前記実行手段に与えるプロトコル変換手段と、を備え、前記複数の通信装置のうちの少なくとも１つは前記テーブルを有する第１の種類の通信装置であり、前記複数の通信装置のうち前記第１の種類の通信装置以外の通信装置の前記プロトコル変換手段は、当該第１の種類の通信装置の有する前記テーブルを参照することを特徴とする通信システム、を提供する。このような通信システムによっても、トランスレータ装置などの特別な装置を用いることなく、第２の通信プロトコルに対応した既存のソフトウェア資産をそのまま有効利用することが可能になるからである。
【００１６】
また、上記課題を解決するために本発明は、コンピュータを、第１の通信プロトコルにおいてデータの送信先および送信元の各々を示す第１の種類の識別子が書き込まれた第１のヘッダ部を有するデータブロックを送受信する通信手段と、前記第１の通信プロトコルと同じプロトコル階層に属する第２の通信プロトコルにおいてデータの送信先および送信元の各々を示す第２の種類の識別子が書き込まれた第２のヘッダ部を有するデータブロックの送受信を行うアプリケーションプログラムを当該コンピュータに実行させることにより生成されたデータブロックについては、前記第２のヘッダ部を、前記第１の種類の識別子に対応付けて前記第２の種類の識別子が格納されたテーブルの格納内容を参照して前記第１のヘッダ部に差し替え、差し替え後のデータブロックを前記通信手段に送信させる一方、前記通信手段により受信されたデータブロックについては前記第１のヘッダを前記テーブルの格納内容を参照して前記第２のヘッダ部に差し替え、差し替え後のデータブロックを前記アプリケーションプログラムに与えるプロトコル変換手段として機能させることを特徴とするプログラム、を提供する。このようなプログラムの提供によっても上記課題を解決することができる。このようなプログラムにしたがってコンピュータを作動させることで、当該コンピュータを上記通信装置として機能させることが可能になるからである。
【発明の効果】
【００１７】
本発明によれば、第２の通信プロトコル（例えば、ＩＰｖ４）を前提として開発された膨大なソフトウェア資産を、改造したり、トランスレータ装置などの特別な装置を用いたりすることなく第１の通信プロトコル（例えば、ＩＰｖ６）対応の通信装置において利用することが可能となる。さらに、本発明によれば、第１の通信プロトコルに準拠したネットワークに、第１の通信プロトコル対応のアプリケーションプログラムがインストールされた通信装置と第２の通信プロトコル対応のアプリケーションプログラムがインストールされた通信装置の両者を混在させて利用することが可能となる。
【図面の簡単な説明】
【００１８】
【図１】本発明の第１実施形態の通信システム１の構成例を示す図である。
【図２】同通信システム１に含まれる通信装置１０２の構成例を示す図である。
【図３】通信装置１０２の制御部１１０が各種プログラムにしたがって実現する機能の一例を示す機能ブロック図である。
【図４】アドレス管理部２０４により参照／更新されるアドレス管理テーブル２０５の一例を示す図である。
【図５】プロトコル変換部２０３が実行する送信パケット変換処理の流れを示すフローチャートである。
【図６】アドレス管理部２０４が実行するアドレス払い出し処理の流れを示すフローチャートである。
【図７】プロトコル変換部２０３が実行する受信パケット変換処理の流れを示すフローチャートである。
【図８】本発明の第２実施形態の通信システム１ａの構成例を示す図である。
【図９】同通信システム１ａに含まれる通信装置１０２ａの制御部１１０が各種プログラムにしたがって実現する機能の一例を示す機能ブロック図である。
【図１０】アドレス管理部２０４により参照／更新されるマルチキャストアドレス管理テーブル２０５ａの一例を示す図である。
【図１１】参加／離脱要求パケットを受け取った場合に、プロトコル変換部２０３およびアドレス管理部２０４が実行するプロトコル変換処理の流れを示すフローチャートである。
【図１２】マルチキャスト参加参照パケットを受信した場合にプロトコル変換器２０２が実行する処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１９】
以下、図面を参照しつつ本発明の実施形態を説明する。
【００２０】
＜第１実施形態＞
（Ａ：構成）
図１は、本発明の第１実施形態の通信システム１の一構成例を示す図である。図１に示すように、通信システム１は、ＬＡＮ（Local Area Network）１０１に各々接続された通信装置１０２と通信装置１０３を含んでいる。ＬＡＮ１０１はＩＰｖ６ネットワークである。以下では、通信装置１０２と通信装置１０３がＬＡＮ１０１に有線接続される場合について説明するが、ＬＡＮ１０１は無線ＬＡＮであっても良い。図１では詳細な図示を省略したが、ＬＡＮ１０１にはＩＰｖ６に準拠したデータ通信を行う他の通信装置も接続されている。当該他の通信装置の具体例としては、ＤＨＣＰによるアドレス割り当てを行うＤＨＣＰサーバや、ＤＮＳサービスを提供するためのＤＮＳサーバが挙げられる。
【００２１】
通信装置１０２は例えばパーソナルコンピュータである。通信装置１０２には、ＩＰｖ４対応のアプリケーションプログラムが予めインストールされている。通信装置１０３も通信装置１０２と同様にパーソナルコンピュータである。通信装置１０３にはＩＰｖ６対応のアプリケーションプログラムが予めインストールされている。通信装置１０３は自装置にインストールされているアプリケーションプログラムを実行することにより、ＬＡＮ１０１を介して他の通信装置とＩＰｖ６に準拠したデータ通信を行う。一方、通信装置１０２は自装置にインストールされているアプリケーションプログラムを実行することにより、ＬＡＮ１０１を介して他の通信装置（前述したＤＨＣＰサーバやＤＮＳサーバ、通信装置１０３）とＩＰｖ４に準拠したデータ通信を行おうとするのであるが、ＬＡＮ１０１はＩＰｖ６ネットワークであるため、このようなデータ通信を行うことはできない。従来はＬＡＮ１０１にトランスレータ装置等の特別な装置を接続することでこのような問題を解決していた。これに対して本実施形態では通信装置１０２に本発明の特徴を顕著に示す処理を実行させることで、上記問題が解決される。以下、本実施形態の特徴を顕著に示す通信装置１０２を中心に説明する。なお、以下では、通信装置１０２が自装置にインストールされているアプリケーションプログラムを実行することにより、ブロードキャスト或いはユニキャストのデータ通信を行う場合について説明する。
【００２２】
図２は、通信装置１０２の構成例を示すブロック図である。
図２に示すように通信装置１０２は、制御部１１０、通信インタフェース（以下、「Ｉ／Ｆ」と略記）部１２０、記憶部１３０、およびこれら構成要素間のデータ授受を仲介するバス１４０を含んでいる。
【００２３】
制御部１１０は例えばＣＰＵ（Central Processing Unit）である。制御部１１０は記憶部１３０（より正確には不揮発性記憶部１３４）に記憶されている各種プログラムを実行することにより、通信装置１０２の制御中枢として機能する。制御部１１０が各種プログラムにしたがって実行する処理の詳細については後に明らかにする。通信Ｉ／Ｆ部１２０は、例えばＮＩＣ（Network Interface  Card）であり、ＬＡＮケーブルなどの通信線を介してＬＡＮ１０１に接続されている。通信Ｉ／Ｆ部１２０は、ＬＡＮ１０１を介して送信されてくるデータフレームを受信して制御部１１０に与える一方、制御部１１０から与えられるデータフレームをＬＡＮ１０１へと送出する。なお、データフレームとはデータリンク層におけるデータの送受信単位となるデータブロックのことである。
【００２４】
通信Ｉ／Ｆ部１２０がＬＡＮ１０１から受信するデータフレームのペイロード部には、ＩＰｖ６に準拠したパケット（以下、ＩＰｖ６パケット）が含まれており、制御部１１０から通信Ｉ／Ｆ部１２０に与えられるデータフレームのペイロード部にもＩＰｖ６パケットが含まれている。なお、以下では、ＩＰｖ４に準拠したパケットのことを「ＩＰｖ４パケット」と呼ぶ。ＩＰｖ４パケットとＩＰｖ６パケットは、何れもヘッダ部とペイロード部によって構成されたデータブロックであり、ヘッダ部には当該パケットの送信元および送信先の各々を示す識別子（すなわち、送信元ＩＰアドレスおよび送信先ＩＰアドレス）がセットされ、ペイロード部には伝送対象のデータがセットされる。この点はＩＰｖ４パケットとＩＰｖ６パケットで共通である。
【００２５】
しかし、ＩＰｖ４パケットのヘッダ部のデータフォーマットとＩＰｖ６パケットのヘッダ部のデータフォーマットは全く異なっている。具体的には、ＩＰｖ４において使用頻度の低かったデータ項目が省略されているなど、後者の方が簡素化されている。また、ＩＰアドレスのデータサイズもＩＰｖ４とＩＰｖ６とでは全く異なっている。具体的には、ＩＰｖ４におけるＩＰアドレス（以下、ＩＰｖ４アドレス）は３２ビットのデータであり、ＩＰｖ６におけるＩＰアドレス（以下、ＩＰｖ６アドレス）は１２８ビットのデータである。ＩＰにおいてはヘッダ部に書き込まれているＩＰアドレス（特に送信先ＩＰアドレス）に基づいてパケットの転送制御や受信制御等が行われるが、ＩＰｖ６とＩＰｖ４とでは上記のようにヘッダ部の構造やＩＰアドレスのデータサイズが全く異なっている。これが、通信装置１０２がＬＡＮ１０１を介して他の通信装置とＩＰｖ４に準拠したデータ通信を行えない理由である。
【００２６】
記憶部１３０は、図２に示すように、揮発性記憶部１３２と不揮発性記憶部１３４を含んでいる。揮発性記憶部１３２は例えばＲＡＭ（Random Access Memory）である。この揮発性記憶部１３２は各種プログラムを実行する際のワークエリアとして制御部１１０によって利用される。不揮発性記憶部１３４は例えばハードディスクである。不揮発性記憶部１３４には、上記ＤＨＣＰサーバに割り当てられているＩＰｖ６アドレス（以下、ＤＨＣＰサーバアドレスｖ６）や上記ＤＮＳサーバに割り当てられているＩＰｖ６アドレス（以下、ＤＮＳサーバアドレスｖ６）などが予め記憶されている（図２では何れも図示略）。
【００２７】
また、不揮発性記憶部１３４には各種プログラムが記憶されている。不揮発性記憶部１３４に記憶されているプログラムの一例としては、ＯＳ（Operating System）を制御部１１０に実行させるためのＯＳプログラム（図２では図示略）、ＩＰｖ４アプリケーションプログラム群１３４ａ、通信制御プログラム１３４ｂが挙げられる。これらプログラムの概略は以下の通りである。
【００２８】
ＯＳプログラムは、通信装置１０２の電源（図示略）の投入またはリセットを契機として実行されるプログラムである。ＯＳプログラムにしたがってＯＳを実現している状態の制御部１１０には、予め定められたイベントの発生を契機としてＩＰｖ４アプリケーションプログラム群１３４ａに含まれるアプリケーションプログラムのうちの該当するものを不揮発性記憶部１３４から揮発性記憶部１３２に読み出して実行する機能や、複数のプログラムを並列に実行する機能が付与される。
【００２９】
ＩＰｖ４アプリケーションプログラム群１３４ａには、ＩＰｖ４に準拠したデータ通信を制御部１１０に実行させるアプリケーションプログラムが多数含まれている。ＩＰｖ４アプリケーションプログラム群１３４ａに含まれるアプリケーションプログラムの一例としては、ＩＰｖ４対応のＤＨＣＰサーバと通信してＩＰｖ４アドレスの割り当てを受けるためのＤＨＣＰクライアントプログラム、ＩＰｖ４対応のＤＮＳサーバと通信し、ドメイン名に対応するＩＰｖ４アドレスを取得するためのＤＮＳクライアントプログラムなどが挙げられる。ＤＨＣＰクライアントプログラムは、ＯＳプログラムの実行完了後、即座に実行されるプログラムである。一方、ＤＮＳクライアントプログラムは、通信装置１０２の利用者等によって通信相手となる相手装置のドメイン名を入力されたことを契機として実行されるプログラムである。
【００３０】
通信制御プログラム１３４ｂは、所謂通信ミドルと呼ばれるプログラムであり、ＩＰｖ６に準拠したデータ通信を制御部１１０に行わせるためのプログラムである。図３は、上記各種プログラムを実行することで制御部１１０に付与される機能の概略を示す図であり、図３におけるＩＰｖ６プロトコルスタック２０６は、通信制御プログラム１３４ｂにしたがって制御部１１０を作動させることで実現される。ＩＰｖ６プロトコルスタック２０６は、プロトコル変換器２０２から与えられるＩＰｖ６パケットをデータフレームのペイロード部に書き込んで通信Ｉ／Ｆ部１２０に与える処理、および通信Ｉ／Ｆ部１２０から与えられたデータフレームのペイロード部に書き込まれているＩＰｖ６パケットを読み出してプロトコル変換器２０２に与える処理（すなわち、ネットワーク層とデータリンク層のプロトコル変換）を実行する。通信制御プログラム１３４ｂにしたがって作動している制御部１１０は、ＩＰｖ６にしたがってＩＰｖ６パケットの送受信を行う通信手段の役割を果たす。
【００３１】
図３における仮想ＩＰｖ４ネットワーク空間２０７はＩＰｖ４アプリケーションプログラム群１３４ａに含まれる各アプリケーションプログラムを実行するためのプログラム実行環境であり、ＯＳプログラムによって実現される。つまり、ＯＳプログラムにしたがって作動している制御部１１０は、ＩＰｖ４アプリケーションプログラム群１３４ａに含まれる各アプリケーションプログラムを実行する実行手段の役割を果たす。
【００３２】
図３におけるプロトコル変換器２０２は、通信制御プログラム１３４ｂにしたがって制御部１１０が実現するソフトウェアモジュールである。プロトコル変換器２０２は、仮想ＩＰｖ４ネットワーク空間２０７において生成されたＩＰｖ４パケットを受け取り、受け取ったＩＰｖ４パケットをＩＰｖ６パケットに変換してＩＰｖ６プロトコルスタック２０６に与える一方、ＩＰｖ６プロトコルスタック２０６によって受信されたＩＰｖ６パケットをＩＰｖ４パケットに変換して仮想ＩＰｖ４ネットワーク空間２０７に引き渡すプロトコル変換処理を実行する。つまり、通信制御プログラム１３４ｂにしたがって作動している制御部１１０は、上記プロトコル変換処理を実行するプロトコル変換手段の役割も果たす。
【００３３】
図３に示すように、プロトコル変換器２０２は、プロトコル変換部２０３と、アドレス管理部２０４とを含んでいる。プロトコル変換部２０３は、ヘッダ部の差し換えによりＩＰｖ４パケットとＩＰｖ６パケットの相互変換を行うソフトウェアモジュールである。アドレス管理部２０４は、プロトコル変換部２０３と連携して動作するソフトウェアモジュールであり、上記ヘッダ部の差し替えを行う際に、ＩＰｖ４アドレスとＩＰｖ６アドレスの対応関係を図４に示すアドレス管理テーブル２０５を用いて管理する。アドレス管理テーブル２０５には、自装置および他の通信装置の各々についてのＩＰｖ６アドレスに対応づけてＩＰｖ４アドレス（予め便宜的に設定されたＩＰｖ４アドレス、或いはアドレス管理部２０４によって生成されたＩＰｖ４アドレス）が格納される。プロトコル変換部２０３およびアドレス管理部２０４が実行する処理の詳細については重複を避けるため、動作例において明らかにする。
以上が通信装置１０２の構成である。
【００３４】
（Ｂ：動作）
以下、通信装置１０２の制御部１１０が通信制御プログラム１３４ｂにしたがって実行する動作のうち、本実施形態の特徴を顕著に示す動作（すなわち、プロトコル変換部２０３およびアドレス管理部２０４の動作）について図面を参照しつつ説明する。
【００３５】
（Ｂ−１：ＩＰｖ４準拠の送信パケットの変換動作）
前述したように、通信装置１０２の制御部１１０は、ＩＰｖ４アプリケーションプログラム群１３４ａに含まれる各アプリケーションプログラムを実行することによってＩＰｖ４に準拠した送信パケットを生成し、送信しようとする。このＩＰｖ４準拠の送信パケットの具体例としては以下の３種類のパケットが挙げられる。第１に、ＤＨＣＰクライアントプログラムにしたがって制御部１１０が生成するパケット（すなわち、ＩＰｖ４アドレスの割り当てを要求するパケット、以下、ＤＨＣＰｖ４要求パケット）である。第２に、ＤＮＳクライアントプログラムにしたがって制御部１１０が生成するパケット（すなわち、ドメイン名に対応するＩＰｖ４アドレスの返信を要求するパケット、以下、ＤＮＳｖ４要求パケット）である。そして、第３に、ＩＰｖ４対応のＦＴＰ（File Transfer Protocol）等によって送信対象のデータをその宛先へ送り届けるためのパケット（以下、データ送信パケット）である。例えば、通信装置１０２の電源が投入され、ＯＳプログラムの実行が完了すると、ＤＨＣＰクライアントプログラムが実行され、ＤＨＣＰｖ４要求パケットが生成される。その後、通信相手を示す情報として通信装置１０３のドメイン名が入力されると、ＤＮＳクライアントプログラムが実行され、ＤＮＳｖ４要求パケットが生成される。そして、ＦＴＰによる通信装置１０３へのデータ送信の実行が指示されると、ＦＴＰによってデータ送信パケットが生成される、といった具合である。
【００３６】
このようにして上記各アプリケーションプログラムを実行することで生成されたＩＰｖ４準拠の送信パケットは、プロトコル変換部２０３によってＩＰｖ６準拠の送信パケットに変換され、ＩＰｖ６プロトコルスタック２０６における処理によってデータリンク層におけるデータの送受信単位であるデータフレームのペイロード部にセットされて通信Ｉ／Ｆ部１２０を介してＬＡＮ１０１へと送出される。図５は、ＩＰｖ４対応のアプリケーションプログラムにしたがって生成された送信パケット或いはＩＰｖ６対応のアプリケーションプログラムにしたがって生成された送信パケットを受け取った場合に、プロトコル変換部２０３が実行する送信パケット変換処理の流れを示すフローチャートである。図５に示すように、プロトコル変換部２０３は、まず、受け取った送信パケットがＩＰｖ４準拠の送信パケットであるか否かをヘッダ部のデータフォーマットを参照して判定する（ステップＳ１０１）。
【００３７】
ステップＳ１０１の判定結果が”Ｎｏ”である場合（すなわち、受け取った送信パケットがＩＰｖ６パケットであった場合）には、プロトコル変換部２０３は、上記受け取った送信パケットになんらの処理を施すことなくＩＰｖ６プロトコルスタック２０６に与えて当該送信パケット変換処理を終了する。なお、本実施形態では、通信装置１０２にはＩＰｖ４対応のアプリケーションプログラムのみがインストールされているため、ステップＳ１０１の判定結果は常に”Ｙｅｓ”となる。このステップＳ１０１の判定処理は、通信装置１０２にＩＰｖ４対応のアプリケーションプログラムとＩＰｖ６対応のアプリケーションプログラムが混在してインストールされる場合に備えて設けられている。
【００３８】
ステップＳ１０１の判定結果が”Ｙｅｓ”である場合（すなわち、受け取った送信パケットがＩＰｖ４パケットであった場合）には、プロトコル変換部２０３は、上記受け取った送信パケットがＤＨＣＰｖ４要求パケットであるか否かを当該受け取ったパケットのヘッダ部およびペイロード部を参照して判定する（ステップＳ１０２）。より詳細に説明すると、プロトコル変換部２０３は、受け取った送信パケットのヘッダ部に書き込まれている送信先アドレスがＩＰｖ４におけるブロードキャストアドレスであり、かつ同パケットのペイロード部にＤＨＣＰにおけるDISCOVERメッセージが書き込まれていた場合には、当該パケットはＤＨＣＰｖ４要求パケットであると判定する。
【００３９】
ステップＳ１０２の判定結果が”Ｙｅｓ”である場合（すなわち、受け取った送信パケットがＤＨＣＰｖ４要求パケットであった場合）には、プロトコル変換部２０３は、図５に示すようにステップＳ１０３からＳ１０５の処理を実行する。これに対して、ステップＳ１０２の判定結果が”Ｎｏ”である場合には、プロトコル変換部２０３は、受け取った送信パケットがＤＮＳｖ４要求パケットであるか否かを判定し（ステップＳ１０６）、その判定結果が”Ｙｅｓ”であればステップＳ１０７からＳ１０９の各処理を実行する一方、その判定結果が”Ｎｏ”であればステップＳ１１０およびＳ１１１の各処理を実行する。以下、プロトコル変換部２０３の受け取った送信パケットが（１）ＤＨＣＰｖ４要求パケットであった場合、（２）ＤＮＳｖ４要求パケットであった場合、（３）データ送信パケットであった場合の夫々について、プロトコル変換部２０３が実行する動作、およびこのプロトコル変換部２０３と連携してアドレス管理部２０４が実行する動作を詳細に説明する。
【００４０】
（Ｂ−１−１：ＤＨＣＰｖ４要求パケットを受け取った場合の動作）
前述したように、プロトコル変換部２０３の受け取った送信パケットがＤＨＣＰｖ４要求パケットであった場合には、プロトコル変換部２０３は図５のステップＳ１０３からＳ１０５の処理を実行する。ステップＳ１０３では、プロトコル変換部２０３は、ＬＡＮ１０１におけるＤＨＣＰサーバ（本実施形態では、不揮発性記憶部１３４に記憶されているＤＨＣＰサーバアドレスｖ６の示す通信装置）と通信し、ＩＰｖ６アドレスを取得する。
【００４１】
ステップＳ１０３に後続するステップＳ１０４では、プロトコル変換部２０３は、ステップＳ１０３にて取得したＩＰｖ６アドレスをプロセス間通信等を利用してアドレス管理部２０４に与え、当該ＩＰｖ６アドレスに対応するＩＰｖ４アドレスの払い出しを要求する。このようにＩＰアドレスの払い出しを要求された場合にアドレス管理部２０４が実行するＩＰアドレス払い出し処理の詳細については後に明らかにする。アドレス管理部２０４から上記ＩＰｖ４アドレスが払い出されると、プロトコル変換部２０３は、当該ＩＰｖ４アドレスをＤＨＣＰにより取得したものとして、ＤＨＣＰｖ４要求パケットの送信元のアプリケーションプログラム（すなわち、ＤＨＣＰクライアントプログラム）へ通知する（ステップＳ１０５）。このようにしてＤＨＣＰクライアントプログラムへ通知されたＩＰｖ４アドレスは、通信装置１０２に対してＤＨＣＰによって割り当てられたＩＰｖ４アドレスとして揮発性記憶部１３２の所定の記憶領域に書き込まれ、以降、仮想ＩＰｖ４ネットワーク空間２０７において実行される各アプリケーションプログラムによって自装置のＩＰアドレスとして使用される。
【００４２】
図６は、ＩＰアドレス払い出し要求を受け取った場合にアドレス管理部２０４が実行するＩＰアドレス払い出し処理の流れを示すフローチャートである。プロトコル変換部２０３からアドレス管理部２０４に与えられるＩＰアドレス払い出し要求には、ＩＰｖ６アドレスをアドレス管理部２０４に与えて当該ＩＰｖ６アドレスに対応するＩＰｖ４アドレスの払い出しを要求する「ＩＰｖ４アドレス払い出し要求」と、ＩＰｖ４アドレスをアドレス管理部２０４に与えて当該ＩＰｖ４アドレスに対応するＩＰｖ６アドレスの払い出しを要求する「ＩＰｖ６アドレス払い出し要求」の２種類がある。図６に示すように、アドレス管理部２０４は、まず、受け取ったＩＰアドレス払い出し要求が「ＩＰｖ４アドレス払い出し要求」であるか否かを判定する（ステップＳ３０１）。そして、アドレス管理部２０４は、ステップＳ３０１の判定結果が”Ｙｅｓ”である場合には、図６のステップＳ３０２からＳ３０５の各処理を実行する。逆に、ステップＳ３０１の判定結果が”Ｎｏ”である場合（すなわち、プロトコル変換部２０３から受け取ったＩＰアドレス払い出し要求が「ＩＰｖ６アドレス払い出し要求」であった場合）には、アドレス管理部２０４は図６のステップＳ３０６以降の処理を実行する。
【００４３】
前述したように、ＤＨＣＰｖ４要求パケットに関する送信パケット変換処理の実行過程においてプロトコル変換部２０３からアドレス管理部２０４に与えられるＩＰアドレス払い出し要求は「ＩＰｖ４アドレス払い出し要求」である。したがって、アドレス管理部２０４は図６のステップＳ３０２からＳ３０５の各処理を実行する。以下、これらの処理について詳細に説明する。なお、プロトコル変換部２０３からＩＰｖ６アドレス払い出し要求を受け取った場合にアドレス管理部２０４が実行する処理（すなわち、図６におけるステップＳ３０６以降の処理）の詳細については、データ送信パケットに関する送信パケット変換処理の説明において明らかにする。
【００４４】
図６に示すように、アドレス管理部２０４は、まず、プロトコル変換部２０３から与えられたＩＰｖ６アドレスを検索キーとしてアドレス管理テーブル２０５を検索し（ステップＳ３０２）、当該ＩＰｖ６アドレスと対応付けてアドレス管理テーブル２０５に登録されているＩＰｖ４アドレスがあるか否かを判定する（ステップＳ３０３）。該当するＩＰｖ４アドレスがある場合（すなわち、ステップＳ３０３の判定結果が”Ｙｅｓ”の場合）には、アドレス管理部２０４は当該ＩＰｖ４アドレスをアドレス管理テーブル２０５から読み出し、当該ＩＰｖ４アドレスをプロトコル変換部２０３に通知する（ステップＳ３０５）。これに対して、該当するＩＰｖ４アドレスがない場合には、アドレス管理部２０４は、まず、上記ＩＰｖ６アドレスと対応付けるＩＰｖ４アドレスを新たに生成し、当該ＩＰｖ６アドレスと対応付けてアドレス管理テーブル２０５に書き込む（ステップＳ３０４）。そして、このステップＳ３０４に後続するステップＳ３０５では、アドレス管理部２０４はステップＳ３０４にて生成したＩＰｖ４アドレスをプロトコル変換部２０３に通知する。一般に、ＤＨＣＰｖ４要求パケットについての送信パケット変換処理の実行過程で実行されるＩＰアドレス払い出し処理では、ステップＳ３０３の判定結果は”Ｎｏ”となり、ステップＳ３０４およびＳ３０５の処理が実行される。ＤＨＣＰｖ４要求パケットの送信前に通信装置１０２にＩＰｖ６アドレスが割り当てられていることはないからである。
【００４５】
ＩＰｖ６アドレスと対応付けるＩＰｖ４アドレスの具体的な生成態様としては種々の態様が考えられる。第１に、ＩＰｖ４におけるブロードキャストアドレス（具体的には、２５５．２５５．２５５．２５５）などの特別な意味を有するアドレスを除いたアドレス空間内の一連番号として機械的に生成する態様である。このようにして生成されるＩＰｖ４アドレスは通信装置１０２内でのみ使用されるため、実在のＩＰｖ４アドレスと重複が発生したとしても特段の不都合は生じないからである。なお、上記特別な意味を有するアドレスを避けてＩＰｖ４アドレスを生成するのは、アプリケーションプログラムの誤動作を回避するためである。
【００４６】
ＩＰｖ４アドレスの第２の生成態様としては、ＩＰｖ６アドレスの階層構造の少なくとも一部を反映させてＩＰｖ４を生成する態様である。具体的には、上位のＮ（任意の自然数）ビットが一致する複数のＩＰｖ６アドレス対しては、上位のＭ（Ｍ＜Ｎ）ビットが一致するようにそれらＩＰｖ６アドレスに対応付ける各ＩＰｖ４アドレスを生成するのである。このような態様でＩＰｖ４アドレスを生成する理由は以下の通りである。
【００４７】
一般にＩＰアドレスには、ＩＰｖ６準拠のものであるかＩＰｖ４準拠のものであるかを問わず、ネットワークの階層構造が反映されていることが多い。例えば、あるＩＰｖ４ネットワークにおいては、第１のセグメントに属する複数の通信装置の各々に対しては「１９２．１６８．１．１」、「１９２．１６８．１．２」、「１９２．１６８．１．３」といったアドレスが割り当てられており、第２のセグメントに属する複数の通信装置の各々に対しては「１９２．１６８．２．１」、「１９２．１６８．２．２」、「１９２．１６８．２．３」といったアドレスが割り当てられるといった具合である。このような場合には、ＩＰアドレスの上位の所定ビット数が同一のもの同士でグループ分けすることで、同一のネットワーク（或いは同一のセグメント）に属する通信装置同士をグループ化することができる。
【００４８】
アプリケーションプログラムの中には、ＩＰアドレスのこのような性質を前提としているものがある。例えば、各通信装置に関する情報をネットワーク毎（或いはセグメント毎）にグループ分けして表示するネットワーク管理支援ソフトウェアなどがこれに該当する。この種のアプリケーションプログラムについては、上記第１の態様によってＩＰｖ４アドレスを生成してしまうと本来の機能を果たせなくなる場合があるが、ＩＰｖ６アドレスの示す階層関係の少なくとも一部が反映されるようにＩＰｖ４を生成する態様であれば上記不具合を最低限に抑えることができる。これが、ＩＰｖ６アドレスの階層構造の少なくとも一部を反映させてＩＰｖ４を生成する理由である。なお、ＩＰｖ６アドレスの階層構造の全てが反映されるようにＩＰｖ４を生成するのではなく、少なくとも一部を反映させるのは、ＩＰｖ４におけるアドレス空間はＩＰｖ６におけるアドレス空間よりも狭く、ＩＰｖ６アドレスの階層構造の全てをＩＰｖ４アドレスに反映させることはできないからである。
【００４９】
以上が、ＤＨＣＰｖ４要求パケットを受け取った場合のプロトコル変換部２０３の動作、およびこのプロトコル変換部２０３と連携動作するアドレス管理部２０４が実行する動作である。
【００５０】
（Ｂ−１−２：ＤＮＳｖ４要求パケットを受け取った場合の動作）
次いで、ＤＮＳｖ４要求パケットを受け取った場合にプロトコル変換部２０３が実行する動作について説明する。前掲図５に示すように、プロトコル変換部２０３の受け取った送信パケットがＤＮＳｖ４要求パケットであった場合には、プロトコル変換部２０３はステップＳ１０７からＳ１０９の各処理を実行する。ステップＳ１０７では、プロトコル変換部２０３は、ＬＡＮ１０１におけるＤＮＳサーバ（すなわち、不揮発性記憶部１３４に記憶されているＤＮＳサーバアドレスｖ６の示す通信装置）と通信し、このＤＮＳ要求パケットのペイロード部に書き込まれているドメインネームの示す通信装置のＩＰｖ６アドレスを取得する。
【００５１】
ステップＳ１０７に後続するステップＳ１０８では、プロトコル変換部２０３は、ステップＳ１０７にて取得したＩＰｖ６アドレスをアドレス管理部２０４に与え、当該ＩＰｖ６アドレスに対応するＩＰｖ４アドレスの払い出しを要求する。このようにＩＰアドレスの払い出しを要求された場合にアドレス管理部２０４の実行するＩＰアドレス払い出し処理の処理内容は前述した通りであるため、詳細な説明は省略する。アドレス管理部２０４からＩＰｖ４アドレスが払い出されると、プロトコル変換部２０３は、当該ＩＰｖ４アドレスをＤＮＳにより取得したものとして、ＤＮＳｖ４要求パケットの送信元のアプリケーションプログラム（すなわち、ＤＮＳクライアントプログラム）へ通知し（ステップＳ１０９）、送信パケット変換処理を終了する。このようにしてＤＮＳクライアントプログラムへ通知されたＩＰｖ４アドレスは、上記ドメイン名の通信装置のＩＰｖ４アドレスとして揮発性記憶部１３２の所定の記憶領域に書き込まれ、以降、仮想ＩＰｖ４ネットワーク空間２０７において実行される各アプリケーションプログラムによって当該通信装置のＩＰｖ４アドレスとして使用される。
【００５２】
（Ｂ−１−３：ＩＰｖ４準拠のデータ送信パケットを受け取った場合の動作）
次いで、ＩＰｖ４準拠のデータ送信パケットを受け取った場合にプロトコル変換部２０３が実行する動作について説明する。前掲図５に示すように、プロトコル変換部２０３の受け取った送信パケットがデータ送信パケットであった場合には、プロトコル変換部２０３はステップＳ１１０およびＳ１１１の各処理を実行する。ステップＳ１１０では、プロトコル変換部２０３は、当該データ送信パケットのヘッダ部に書き込まれている送信元アドレスおよび送信先アドレス（何れもＩＰｖ４アドレス）の各々をプロセス間通信等によってアドレス管理部２０４に与え、これらＩＰｖ４アドレスの各々に対応するＩＰｖ６アドレスの払い出しを要求する。
【００５３】
このようにデータ送信パケットについてのプロトコル変換処理の実行過程においてプロトコル変換部２０３からアドレス管理部２０４に与えられるＩＰアドレス払い出し要求は「ＩＰｖ６アドレス払い出し要求」である。したがって、アドレス管理部２０４は前掲図６のステップＳ３０６以降の処理を実行する。図６に示すように、アドレス管理部２０４は、まず、プロトコル変換部２０３から与えられたＩＰｖ４アドレスを検索キーとしてアドレス管理テーブル２０５を検索し（ステップＳ３０６）、当該ＩＰｖ４アドレスと対応付けてアドレス管理テーブル２０５に登録されているＩＰｖ６アドレスがあるか否かを判定する（ステップＳ３０７）。該当するＩＰｖ６アドレスがある場合（すなわち、ステップＳ３０７の判定結果が”Ｙｅｓ”の場合）には、アドレス管理部２０４は当該ＩＰｖ６アドレスをアドレス管理テーブル２０５から読み出し、当該ＩＰｖ６アドレスをプロトコル変換部２０３に通知する（ステップＳ３０８）。これに対して、該当するＩＰｖ６アドレスがない場合には、アドレス管理部２０４は、該当するＩＰｖ６アドレスは無い旨をプロトコル変換部２０３に通知する（ステップＳ３０９）。
【００５４】
例えば、プロトコル変換部２０３の受け取ったデータ送信パケットが通信装置１０３へ宛てて送信されたものであり、当該パケットのヘッダ部には送信元アドレスとして通信装置１０２のＩＰｖ４アドレス（前述したＤＨＣＰｖ４要求パケットについての送信パケット変換処理の実行過程で生成されたＩＰｖ４アドレス）が書き込まれており、同送信先アドレスとして通信装置１０３のＩＰｖ４アドレス（前述したＤＮＳｖ４要求パケットについてのプロトコル変換処理の実行過程で生成されたＩＰｖ４アドレス）が書き込まれていたとする。この場合、アドレス管理テーブル２０５には、上記送信元アドレスに対応するＩＰｖ６アドレスとしてＤＨＣＰｖ４要求パケットについての送信パケット変換処理の実行過程でＤＨＣＰサーバから取得したＩＰｖ６アドレス（すなわち、ＤＨＣＰサーバによって通信装置１０２に割り当てられたＩＰｖ６アドレス）が格納されており、上記送信先アドレスに対応するＩＰｖ６アドレスとしてＤＮＳｖ４要求パケットについての送信パケット変換処理の実行過程でＤＮＳサーバから取得したＩＰｖ６アドレス（すなわち、通信装置１０３に割り当てられているＩＰｖ６アドレス）が格納されている。このため、アドレス管理部２０４は、上記送信元アドレスに対応するＩＰｖ６アドレスとして通信装置１０２のＩＰｖ６アドレスを払い出し、上記送信先アドレスに対応するＩＰｖ６アドレスとして通信装置１０３のＩＰｖ６アドレスを払い出す。
【００５５】
アドレス管理部２０４から上記送信先アドレスおよび送信元アドレスの各々に対応するＩＰｖ６アドレスが払い出されると、プロトコル変換部２０３は、これらＩＰｖ６アドレスに基づいてＩＰｖ６準拠のパケットヘッダを生成し、上記データ送信パケットに付与されているＩＰｖ４準拠のヘッダ部と差し換えてＩＰｖ６準拠のデータ送信パケットに変換し、通信Ｉ／Ｆ部１２０を介してＬＡＮ１０１へと送出する（ステップＳ１１１）。なお、ＩＰｖ６準拠のヘッダ部を生成する際には、ＩＰｖ４準拠のヘッダ部において使用され、かつＩＰｖ６準拠のヘッダ部においても使用されるデータ項目については前者におけるデータをそのまま使用するようにすれば良い。通信装置１０２から送信されたデータ送信パケットは、ＬＡＮ１０１を介してその宛先である通信装置１０３によって受信される。
【００５６】
（Ｂ−２：ＩＰｖ６パケットをＬＡＮ１０１から受信した場合の動作）
次いで、通信装置１０２に割り当てられているＩＰｖ６アドレスを送信先アドレスとするパケットを通信Ｉ／Ｆ部１２０を介してＬＡＮ１０１から受信した場合にプロトコル変換部２０３が実行する動作、およびこのプロトコル変換部２０３と連携してアドレス管理部２０４が実行する動作について図７を参照しつつ説明する。図７に示すように、プロトコル変換部２０３は、まず、通信Ｉ／Ｆ部１２０から受け取ったパケットがＩＰｖ６パケットであるか否かをそのヘッダ部のデータフォーマットを参照して判定し（ステップＳ２０１）、その判定結果が”Ｙｅｓ”である場合にのみステップＳ２０２以降の処理を実行する。本実施形態では、ＬＡＮ１０１はＩＰｖ６準拠のネットワークであるため、ＩＰｖ６パケット以外のパケット（例えば、ＩＰｖ４パケット）が当該ＬＡＮ１０１から送信されてくることはないが、ＩＰｖ４パケットとＩＰｖ６パケットとが混在して伝送されるネットワークに通信装置１０２が接続された場合を考慮して上記ステップＳ２０１の処理は設けられている。なお、ステップＳ２０１の判定結果が”Ｎｏ”である場合（すなわち、受信したパケットがＩＰｖ４パケットであった場合）には、当該パケットをそのままその宛先のアプリケーションプログラムに引き渡せば良く、特段の変換処理を行う必要はない。
【００５７】
ステップＳ２０１の判定結果が”Ｙｅｓ”である場合に実行されるステップＳ２０２では、プロトコル変換部２０３は、上記受信したパケットのヘッダ部に書き込まれている送信元アドレスおよび送信先アドレス（何れもＩＰｖ６アドレス）の各々をプロセス間通信等によってアドレス管理部２０４に与え、これらＩＰｖ６アドレスの各々に対応するＩＰｖ４アドレスの払い出しを要求する。この払い出し要求に応じてアドレス管理部２０４が実行する処理については前述した通りであるから詳細な説明を省略する。アドレス管理部２０４から上記送信先アドレスおよび送信元アドレスの各々に対応するＩＰｖ４アドレスが払い出されると、プロトコル変換部２０３は、これらＩＰｖ４アドレスに基づいてＩＰｖ４準拠のヘッダ部を生成し、上記受信したパケットに付与されているＩＰｖ６準拠のヘッダ部と差し換えてＩＰｖ４準拠のパケットに変換し、宛先のアプリケーションプログラムに与える（ステップＳ２０３）。ここで、ＩＰｖ４準拠のヘッダ部を生成する際には、ＩＰｖ６準拠のヘッダ部において使用され、かつＩＰｖ４準拠のヘッダ部においても使用されるデータ項目については前者におけるデータをそのまま使用するようにすれば良い。なお、ＩＰｖ６準拠のヘッダ部はＩＰｖ４準拠のヘッダ部に比較して簡素化されているため、ＩＰｖ４準拠のヘッダ部を生成する際に不足するデータについては予め定めた固定値を設定するようにすれば良い。このようなデータ項目は一般に使用頻度が低く、上記のような固定値を設定したとしても特段の問題は生じないからである。
【００５８】
例えば、プロトコル変換部２０３が通信Ｉ／Ｆ部１２０から受け取ったパケットが通信装置１０３からの応答パケット（通信装置１０２から通信装置１０３へ送信したデータ送信パケットに対する応答パケット）であり、当該パケットのヘッダ部には送信元アドレスとして通信装置１０３のＩＰｖ６アドレスが、同送信先アドレスとして通信装置１０２のＩＰｖ６アドレスが夫々書き込まれていたとする。この場合、アドレス管理部２０４は、上記送信元アドレスに対応するＩＰｖ４アドレスとして通信装置１０３のＩＰｖ４アドレス（前述したＤＮＳｖ４要求パケットについての送信パケット変換処理の実行過程で生成されたＩＰｖ４アドレス）を払い出し、上記送信先アドレスに対応するＩＰｖ４アドレスとして通信装置１０２のＩＰｖ４アドレス（前述したＤＨＣＰｖ４要求パケットについての送信パケット変換処理の実行過程において生成したＩＰｖ４アドレス）を払い出す。そして、これらＩＰｖ４アドレスに基づいてヘッダ部の差し替えられたＩＰｖ４パケットがその宛先のアプリケーションプログラムに引き渡される。このようにして、ＩＰｖ６にのみ対応している通信装置１０３とＩＰｖ４対応のアプリケーションプログラムとのデータ通信が実現される。
【００５９】
ここで注目すべき点は、本実施形態の通信システム１には、トランスレータ装置などの特別な装置は接続されていないという点である。このように、本実施形態の通信装置１０２によれば、トランスレータ装置などの特別な装置を用いることなく、ＩＰｖ４対応のアプリケーションプログラムを有効利用することが可能になる。また、本実施形態によれば、ＩＰｖ４アプリケーションプログラム群１３４ａに含まれる各アプリケーションプログラムに何らの改造を施す必要もない。換言すれば、本実施形態によれば、トランスレータ装置などの特別な装置を用いたり、ＩＰｖ４アプリケーションプログラムに改造を施したりすることなく、ＩＰｖ６対応のＬＡＮにＩＰｖ４対応のアプリケーションプログラムのみがインストールされた通信装置とＩＰｖ６対応のアプリケーションプログラムがインストールされた通信装置の両者を混在させることが可能になる。
【００６０】
（Ｃ：変形）
以上本発明の第１実施形態について説明したが、この実施形態を以下のように変形しても勿論良い。
（１）上記実施形態では、ＩＰｖ６に準拠したデータ通信を実行可能で、かつＩＰｖ４対応のアプリケーションプログラムを実行可能なパーソナルコンピュータへの本発明の適用例を説明した。しかし、本発明の適用対象は、このようなパーソナルコンピュータには限定されず、ＩＰｖ６に準拠したデータ通信を実行可能で、当該データ通信の終端に位置し、かつＩＰｖ４対応のアプリケーションプログラムを実行可能な通信装置であれば、どのような通信装置であっても良い。例えば、携帯電話機や、据え置き型或いは携帯型ゲーム機、データ通信機能を備えた家庭電器などに本発明を適用しても良い。また、本発明の適用対象となる通信装置は、パーソナルコンピュータや携帯電話機、ゲーム機など所謂情報システムにおいてデータ通信の終端に位置する通信装置には限定されず、工場やプラントなどの産業施設内に敷設されその操業支援を行うための制御システムに含まれる通信装置であっても良い。この種の通信装置の一例としては、上記制御システムにおけるデータ通信の終端に位置するコントローラ（例えば、ネットワークを介して上位装置から与えられる各種指令に応じて電動機の駆動制御を行うコントローラやセンサ等からデータを収集して上位装置へ送信するコントローラ）が挙げられる。また、この種のコントローラの具体例としては、プログラマブルロジックコントローラ（ＰＬＣ）やＤＣＳ（Distributed Control System：分散型制御システム或いは分散型制御装置）が挙げられる。制御システムにおいても、トランスレータ装置などの特別な装置を用いることなく既存のＩＰｖ４対応のソフトウェア資産を有効利用できることが好ましいことは言うまでもないからである。
【００６１】
（２）上記実施形態では、ＩＰｖ６とＩＰｖ４の相互変換（すなわち、ネットワーク層における第１および第２の通信プロトコルの相互変換）への適用例を説明した。しかし、本発明の適用対象はネットワーク層における第１および第２の通信プロトコルの相互変換に限定されるものではなく、他のプロトコル階層（例えば、データリンク層）における第１および第２の通信プロトコルの相互変換（およびＭＡＣ（Media Access Control）アドレスと、ＭＡＣアドレスに相当する次世代のデータリンク層の通信アドレスの相互変換）に本発明を適用しても良い。他のプロトコル階層についても、ＩＰｖ４からＩＰｖ６への世代交代と同様の世代交代が発生することが充分に考えられ、ＩＰｖ４からＩＰｖ６への世代交代の際に生じる問題と同様の問題が発生することは充分に考えられるからである。
【００６２】
また、現行のイーサネット（登録商標）におけるＭＡＣアドレスは、４８ビットのデータであり、その前半２４ビットはベンダＩＤを表し、次の８ビットは機種ＩＤを表し、残りの１６ビットがシリアル番号を表すといった具合に階層構造を有している。そこで、イーサネット（登録商標）と次世代のデータリンク層の通信プロトコルの相互変換に本発明を適用し、かつ後者における通信アドレス（第１の種類の識別子）が現行のＭＡＣアドレスと同様の階層構造を有している場合には、その階層構造を反映させて第２の種類の識別子（現行のＭＡＣアドレスに対応する識別子）を生成するようにしても良い。具体的には、次世代のデータリンク層の通信アドレスにおいて同じベンダＩＤを有する複数の通信装置の各々に割り当てる第２の種類の識別子を生成する際には、現行のＭＡＣアドレスにおけるベンダＩＤ部分に相当するビット数部分が同一になるように、当該第２の種類の識別子を生成するといった具合である。
【００６３】
（３）上記実施形態の通信システム１には、本発明の通信装置の一実施形態である通信装置１０２が１台だけ含まれていた。しかし、通信システム１が複数の通信装置１０２を含んでいても勿論良い。そして、通信システム１に複数の通信装置１０２が含まれている場合には、通信装置１０２毎にアドレス管理テーブル２０５を記憶させておいても勿論良い。また、複数の通信装置１０２のうちの少なくとも１台にアドレス管理テーブル２０５を記憶させておき（以下、アドレス管理テーブル２０５を記憶している通信装置１０２を「通信装置１０２Ａ」と表記する）、他の通信装置１０２（アドレス管理テーブルを有さない通信装置１０２、以下、「通信装置１０２Ｂ」と表記する）には通信装置１０２Ａに記憶されているアドレス管理テーブル２０５を参照させるようにしても良い。なお、通信装置１０２Ａにおけるプロトコル変換部２０３とアドレス管理部２０４の通信については前述した実施形態と同様にプロセス間通信等により実現すれば良く、通信装置１０２Ｂのプロトコル変換部２０３と通信装置１０２Ａのアドレス管理部２０４との通信についてはリモートプロシージャコール等を利用して実現すれば良い。本変形例の通信装置１０２Ｂを参照すれば明らかなように、アドレス管理テーブル２０５は本発明の通信装置の必須構成要素ではなく、他の装置に記憶されているアドレス管理テーブル２０５にアクセス可能であれば省略しても良い。また、通信システム１に含まれる複数の通信装置１０２のうちの１台だけを通信装置１０２Ａとし、他の通信装置１０２を全て通信装置１０２Ｂとする態様によれば、これら複数の通信装置１０２の各々が１つのアドレス管理テーブル２０５を共同利用することとなり、当該通信システムに含まれる通信装置１０２の各々やその通信相手に一意のＩＰｖ４アドレスを割り当てることが可能になる。
【００６４】
（４）上記実施形態では、本発明の特徴を顕著に示す処理を通信装置１０２の制御部１１０に実行させる通信制御プログラムが同通信装置１０２の不揮発性記憶部１３４に予め記憶されていた。しかし、この通信制御プログラムをＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）などのコンピュータ読み取り可能な記録媒体に書き込んで配布しても良く、また、インターネットなどの電気通信回線経由のダウンロードにより配布しても良い。ＩＰｖ４プロトコルに対応するアプリケーションプログラムのインストールされた通信装置の制御部を、このようにして配布される通信制御プログラムにしたがって作動させることで当該通信装置を本発明の通信装置として機能させることが可能になるからである。
【００６５】
＜第２実施形態＞
（Ａ：構成）
次いで、本発明の第２実施形態について説明する。
図８は、本発明の第２実施形態の通信システム１ａの構成例を示す図である。図８では図１におけるものと同一の構成要素には同一の符号が付されている。図８と図１を対比すれば明らかように、通信システム１ａの構成は通信装置１０２に代えて通信装置１０２ａを設けた点が通信システム１の構成と異なる。通信装置１０２ａのハードウェア構成は通信装置１０２のハードウェア構成と同一であるため詳細な説明を省略する。通信装置１０２ａは、ＩＰｖ４に準拠したマルチキャストのデータ通信を制御部１１０に実行させるアプリケーションプログラムをインストールされている点が通信装置１０２と異なる。
【００６６】
図９は、通信装置１０２ａにインストールされている各種プログラムを実行することで制御部１１０に付与される機能の概略を示す図である。図９では図３におけるものと同一の構成要素には同一の符号が付されている。図９と図３を対比すれば明らかように、通信装置１０２ａと通信装置１０２の相違点は、アドレス管理部２０４がアドレス管理テーブル２０５の他にマルチキャストアドレス管理テーブル２０５ａを有している点である。
【００６７】
図１０は、マルチキャストアドレス管理テーブル２０５ａの格納内容の一例を示す図である。図１０に示すように、マルチキャストアドレス管理テーブル２０５ａには、各マルチキャストグループを一意に示す識別子（本実施形態では、ＩＰｖ６マルチキャストアドレス）に対応付けて、予め便宜的に設定されたＩＰｖ４マルチキャストアドレスと当該識別子の示すマルチキャストグループへの通信装置１０２ａの参加／離脱の状態を示す状態情報が格納されている。つまり、マルチキャストアドレス管理テーブル２０５ａは、各マルチキャストグループへの通信装置１０２ａの参加／離脱の状態を管理するためのものである。
【００６８】
（Ｂ：動作）
以下、通信装置１０２の制御部１１０が各種プログラムにしたがって実行する動作のうち本実施形態の特徴を顕著に示す動作について図面を参照しつつ説明する。本実施形態の特徴を顕著に示す動作としては、通信装置１０２ａをマルチキャストグループへ参加させる動作或いは参加中のマルチキャストグループから離脱させる動作と、ＬＡＮ１０１を他の通信網に接続するルータからの問い合わせに応じて通信装置１０２ａのマルチキャストグループへの参加／離脱の状態を返信する動作の２種類が挙げられる。これら２種類の動作の内容は以下の通りである。なお、これら２種類の動作の開始時点ではＤＨＣＰによる通信装置１０２ａへのアドレスの割り当て、および上記ルータについてのアドレス解決等は第１実施形態の動作により完了しているものとする。
【００６９】
まず、通信装置１０２ａをマルチキャストグループへ参加（或いは参加中のマルチキャストグループから離脱させる）動作について説明する。通信装置１０２ａの制御部１１０は、自装置にインストールされているアプリケーションプログラムを実行することによってＩＰｖ４に準拠した送信パケットを生成し、送信しようとする。例えば上記アプリケーションプログラムがマルチキャスト通信を実現させるプログラムである場合、マルチキャストグループへの参加指示をユーザから与えられたことを契機として、制御部１１０は当該マルチキャストグループへの参加を通知する参加要求パケットを送信しようとし、当該マルチキャストグループからの離脱指示を与えられたことを契機として当該マルチキャストグループからの離脱を通知する離脱要求パケットを上記ルータへ送信しようとする、といった具合である。以下では、参加要求パケットと離脱要求パケットをまとめて「参加／離脱要求パケット」と総称する。前述したように上記アプリケーションプログラムはＩＰｖ４に準拠したデータ通信を制御部１１０に行わせるプログラムであるから、上記参加／離脱要求パケットはＩＧＭＰ（Internet Group Management Protocol）に準拠したパケットであり、参加／離脱要求パケットのペイロード部には参加（或いは離脱）するマルチキャストグループのＩＰｖ４マルチキャストアドレスが含まれている。
【００７０】
図１１は、参加／離脱要求パケットを受け取った場合に、プロトコル変換器２０２が実行するプロトコル変換処理の流れを示すフローチャートである。図１１に示すように、プロトコル変換部２０３は、まず、受け取ったパケットを解析し当該パケットが”参加要求パケット”であるか”離脱要求パケット”であるかを判定する（ステップＳ４０１）。
【００７１】
ステップＳ４０１の判定結果が”参加要求パケット”である場合には、プロトコル変換部２０３は、上記受け取ったパケットがＩＰｖ４に準拠するパケットであるか否かを判定する（ステップＳ４０２）。より詳細に説明すると、プロトコル変換部２０３は、受け取ったパケットのヘッダ部がＩＰｖ４に準拠するパケットのヘッダ部であると、当該パケットはＩＰｖ４パケットであると判定する。なお、本実施形態では、通信装置１０２ａにはＩＰｖ４対応のアプリケーションプログラムのみがインストールされているため、ステップＳ４０２の判定結果は常に”Ｙｅｓ”となる。したがって、ステップＳ４０２の判定は不必要であるかのように見える。このステップＳ４０２の判定処理は、通信装置１０２ａにＩＰｖ４対応のアプリケーションとＩＰｖ６対応のアプリケーションとの両方がインストールされている場合、もしくは、通信装置１０２ａにＩＰｖ６対応のアプリケーションプログラムのみがインストールされ、ＬＡＮ１０１がＩＰｖ４ネットワークである場合に備えて設けられている。
【００７２】
ステップＳ４０２の判定結果が”Ｙｅｓ”である場合には、プロトコル変換部２０３は、参加要求パケットにより参加を要求されたマルチキャストグループのＩＰｖ６マルチキャストアドレスを取得する（ステップＳ４０３）。より詳細に説明すると、このステップＳ４０３の処理では、プロトコル変換部２０３は、上記参加要求パケットのペイロード部からＩＰｖ４マルチキャストアドレスを読み出し、当該ＩＰｖ４マルチキャストアドレスをアドレス管理部２０４に与えて当該アドレスに対応するＩＰｖ６マルチキャストアドレスの払い出しを指示する。アドレス管理部２０４は、プロトコル変換部２０３から与えられたＩＰｖ４マルチキャストアドレスを検索キーとしてマルチキャストアドレス管理テーブル２０５ａを検索し、当該ＩＰｖ４マルチキャストアドレスと対応付けてマルチキャストアドレス管理テーブル２０５ａに登録されているＩＰｖ６マルチキャストアドレスを読み出し、このＩＰｖ６マルチキャストアドレスをプロトコル変換部２０３に払い出す。これにより、参加要求パケットにより参加を要求されたマルチキャストグループのＩＰｖ６マルチキャストアドレスの取得が完了する。これに対して、ステップＳ４０２の判定結果が”Ｎｏ”である場合（すなわち、受け取ったパケットがＩＰｖ６準拠のパケットであった場合）には、プロトコル変換部２０３は、参加要求パケットにより参加を要求されたマルチキャストグループのマルチキャストアドレス（すなわち、ＩＰｖ６マルチキャストアドレス）をアドレス管理部２０４に与え、当該マルチキャストグループに対応するＩＰｖ４マルチキャストアドレスを取得する（ステップＳ４０６）。
【００７３】
ステップＳ４０３或いはステップＳ４０６に後続するステップＳ４０４では、プロトコル変換部２０３は、ステップＳ４０３にて取得したＩＰｖ６マルチキャストアドレス（或いはステップＳ４０６にて取得したＩＰｖ４マルチキャストアドレス）の示すマルチキャストグループへの通信装置１０２ａの参加／離脱の状態を“参加”に更新する。具体的には、プロトコル変換部２０３は、ステップＳ４０３或いはステップＳ４０６にて取得したマルチキャストアドレスとともに参加／離脱状態の更新指示をアドレス管理部２０４に与える。アドレス管理部２０４は、上記マルチキャストアドレスに対応付けてマルチキャストアドレス管理テーブル２０５ａに格納されている状態情報を“参加”に書き換える。
【００７４】
そして、プロトコル変換部２０３は、アプリケーションプログラムから受け取った参加要求パケットを、ステップＳ４０３（或いはステップＳ４０６）にて取得したマルチキャストアドレスの示すマルチキャストグループへの参加要求パケットに変換して上記ルータへ送信する（ステップＳ４０５）。例えば、ステップＳ４０３の処理が実行され、ＩＰｖ６マルチキャストアドレスが取得された場合には、制御部１１０はアプリケーションプログラムから受け取ったＩＧＭＰ準拠の参加要求パケットのヘッダ部をＭＬＤ（Multicast Listener Discovery）準拠のヘッダに置き換え、さらにペイロード部に書き込まれているＩＰｖ４マルチキャストアドレスをステップＳ４０３にて取得したＩＰｖ６マルチキャストアドレスに書き換えて上記ルータに送信する。逆に、ステップＳ４０６の処理が実行され、ＩＰｖ４マルチキャストアドレスが取得された場合には、制御部１１０はアプリケーションプログラムから受け取ったＭＬＤ準拠の参加要求パケットのヘッダ部をＩＧＭＰ準拠のヘッダに置き換え、さらにペイロード部に書き込まれているＩＰｖ６マルチキャストアドレスをステップＳ４０６にて取得したＩＰｖ４マルチキャストアドレスに書き換えて上記ルータに送信する。前述したように本実施形態において通信装置１０２ａにインストールされているアプリケーションプログラムはＩＰｖ４準拠のデータ通信を制御部１１０に実行させるプログラムであるから、本実施形態では上記ステップＳ４０５の処理としてＩＧＭＰ→ＭＬＤのプロトコル変換が実行される。
【００７５】
上記の要領でプロトコル変換部２０３によるプロトコル変換を経てＬＡＮ１０１に送出された参加要求パケットは、当該ＬＡＮ１０１を他の通信網に接続するルータによって受信される。以降、当該ルータは上記参加要求パケットのペイロード部に含まれているＩＰｖ６マルチキャストアドレス宛のパケットを他の通信網から受信すると、当該パケットをＬＡＮ１０１へ転送する。通信装置１０２ａのプロトコル変換器２０２は、上記ＩＰｖ６マルチキャストアドレス宛に送信されてくるパケットをＩＰｖ６プロトコルスタック２０６介して受信すると、当該ＩＰｖ６マルチキャストアドレスの示すマルチキャストグループに自装置が参加中であるか否かをマルチキャストアドレス管理テーブル２０５ａの格納内容を参照して判定し、参加中であれば当該パケットをＩＰｖ４準拠のパケットに変換して該当するアプリケーションプログラムに与える。
【００７６】
一方、ステップＳ４０１の判定結果が”離脱要求パケット”である場合には、プロトコル変換部２０３は、その離脱要求パケットにて離脱を指示されたマルチキャストグループに対する自装置の参加／離脱状態を離脱に更新し（ステップＳ４０７）、さらに当該離脱要求パケットにプロトコル変換を施して上記ルータへ送信する（ステップＳ４０８）。なお、ステップＳ４０７における参加／離脱状態の更新についてはステップＳ４０４における参加／離脱状態の更新と同様であり、ステップＳ４０８におけるプロトコル変換についてはステップＳ４０５におけるプロトコル変換と同様であるため詳細な説明を省略する。
【００７７】
上記の要領でプロトコル変換部２０３によるプロトコル変換を経てＬＡＮ１０１に送出された離脱要求パケットは、当該ＬＡＮ１０１を他の通信網に接続するルータによって受信される。以降、当該ルータは上記離脱要求パケットの送信元の通信装置を同パケットのペイロード部に含まれているＩＰｖ６マルチキャストアドレスの示すマルチキャストグループから除外し、当該マルチキャストグループに参加中の通信装置が無くなれば、当該マルチキャストアドレス宛のパケットを他の通信網から受信しても、当該パケットを破棄してＬＡＮ１０１への転送は行わない。
【００７８】
次に、ＬＡＮ１０１を他の通信網に接続するルータからの問い合わせに応じて通信装置１０２ａのマルチキャストグループへの参加／離脱状態を報告する動作について説明する。図１２は、マルチキャストグループへの参加／離脱状態を問い合わせるパケット（以下、マルチキャストグループ参加参照パケット）を上記ルータから受信した場合に、プロトコル変換器２０２が実行する処理の流れを示すフローチャートである。このマルチキャストグループ参加参照パケットのペイロード部には参加／離脱状態の問い合わせ対象のマルチキャストグループを示すマルチキャストアドレスが含まれている。前述したように本実施形態ではＬＡＮ１０１はＩＰｖ６ネットワークであるため、上記マルチキャストグループ参加参照パケットは、ＭＬＤ準拠のパケットであり、そのペイロード部には参加／離脱状態の問い合わせ対象のマルチキャストグループのＩＰｖ６マルチキャストアドレスが書き込まれている。
【００７９】
プロトコル変換器２０２のプロトコル変換部２０３は、マルチキャストグループ参加参照パケットを受け取ったことを契機として、当該パケットにより参加／離脱状態の問い合わせを受けったマルチキャストグループ（すなわち、当該パケットのペイロード部に書き込まれているマルチキャストアドレスの示すマルチキャストグループ；以下、問い合わせ対象のマルチキャストグループ））への自装置の参加／離脱状態を示す状態情報を取得する（ステップＳ５０１）。より詳細に説明すると、プロトコル変換部２０３は、受信したマルチキャストグループ参加参照パケットのペイロード部に書き込まれているマルチキャストアドレスをアドレス管理部２０４に与え、当該マルチキャストアドレスに対応する状態情報の払い出しをアドレス管理部２０４に指示する。アドレス管理部２０４は、受け取ったマルチキャストアドレスを検索キーとしてマルチキャストアドレス管理テーブル２０５ａを検索し、当該マルチキャストアドレスに対応付けてマルチキャストアドレス管理テーブル２０５ａに格納されている状態情報を読み出し、当該状態情報をプロトコル変換部２０３に払い出す。
【００８０】
プロトコル変換部２０３は、アドレス管理部２０４から払い出された状態情報を参照し、問い合わせ対象のマルチキャストグループへ参加しているか否かを判定する（ステップＳ５０２）。ステップＳ５０２の判定結果が”Ｙｅｓ”である場合には、プロトコル変換部２０３は、問い合わせた対象のマルチキャストグループに参加中であることを上記マルチキャストグループ参加参照パケットの送信元（すなわち、ＬＡＮ１０１を他の通信網に接続するルータ）へ報告する（ステップＳ５０３）。これに対して、ステップＳ５０２の判定結果が”Ｎｏ”である場合には、プロトコル変換部２０３は、問い合わせた対象のマルチキャストグループから離脱していることを上記ルータへ報告する（ステップＳ５０４）。
【００８１】
より詳細に説明すると、上記ステップＳ５０３では、プロトコル変換部２０３は、問い合わせた対象のマルチキャストグループに参加中であることを示す情報をペイロード部に書き込んだ応答パケットを生成し、上記ルータへ送信する。これに対して、上記ステップＳ５０４では、プロトコル変換部２０３は、問い合わせた対象のマルチキャストグループから離脱していることを示す情報をペイロード部に書き込んだ応答パケットを生成し、上記ルータへ送信する。前述したように本実施形態では、ＬＡＮ１０１におけるデータ通信はＩＰｖ６に準拠しているため、上記ステップＳ５０３およびＳ５０４ではプロトコル変換部２０３はＩＰｖ６に準拠した応答パケット（より詳細にはＭＬＤに準拠した応答パケット）を返信する。
【００８２】
上記の要領で通信装置１０２ａから返信された応答パケットを受信すると、上記ルータは自装置の配下に問い合わせ対象のマルチキャストグループに参加中の通信装置があるか否かを確認することができる。そして、上記ルータは、問い合わせ対象のマルチキャストグループに参加中の通信装置があれば、当該マルチキャストグループ宛てに他の通信網から送信されてくるパケットのＬＡＮ１０１への転送を継続し、逆に、問い合わせ対象のマルチキャストグループに参加中の通信装置が１台もなければ、上記パケットの転送を取り止める。問い合わせ対象のマルチキャストグループに参加中の通信装置が１台もなければ、そのマルチキャストグループ宛てに送信されてくるパケットをＬＡＮ１０１に転送しても、ＬＡＮ１０１におけるデータ伝送帯域の無駄使いとなってしまうからである。なお、マルチキャストグループ参加参照パケットを送信してから所定時間が経過しても応答パケットが一つも返信されてこない場合には、問い合わせ対象のマルチキャストグループに参加中の通信装置は一台もないと判定する処理を上記ルータに実行させても良い。
【００８３】
前述したように、通信装置１０２ａに対してマルチキャストグループからの離脱指示が与えられれば、通信装置１０２ａから上記ルータへ離脱要求パケットが送信されるのであるが、上記離脱指示を与えることなく通信装置１０２ａの電源がオフにされる場合もあり、この場合は上記ルータに記録されている参加状態と現実の参加状態とに食い違いが生じる。マルチキャストグループ参加参照パケットを定期的にルータに送信させるようにすれば、上記食い違いを是正し、ＬＡＮ１０１におけるデータ伝送帯域の無駄使いの発生を回避することが可能になる。
【００８４】
以上説明したように本実施形態によれば、トランスレータ装置などの特別な装置を用いたり、ＩＰｖ４アプリケーションプログラムに改造を施したりすることなく、マルチキャスト通信を実現するＩＰｖ４対応のアプリケーションプログラムを有効利用することが可能になる。すなわち、本実施形態によっても、トランスレータ装置などの特別な装置を用いたり、ＩＰｖ４アプリケーションプログラムに改造を施したりすることなく、ＩＰｖ６対応のＬＡＮにＩＰｖ４対応のアプリケーションプログラムのみがインストールされた通信装置とＩＰｖ６対応のアプリケーションプログラムがインストールされた通信装置の両者を混在させることが可能になる。
【００８５】
（Ｃ：変形）
以上本発明の第２実施形態について説明したが、前述した第１実施形態における変形と同一の変形を加えても良く、また、以下のように変形しても良い。
（１）本実施形態のマルチキャストアドレス管理テーブル２０５ａでは、１つのＩＰｖ６マルチキャストアドレスに対して１つのＩＰｖ４マルチキャストアドレスが対応付けられていたが、例えば１つのＩＰｖ６マルチキャストアドレスに対して複数のＩＰｖ４マルチキャストアドレスを対応付けても良いし、逆に、複数のＩＰｖ６マルチキャストアドレスに対して１つのＩＰｖ４マルチキャストアドレスを対応付けても良い。また、１対１の対応付けと、１対多の対応付けを相互に切り換えられるようにしても良い。ＩＰｖ６マルチキャストアドレスとＩＰｖ４マルチキャストアドレスの対応付けは人為的な取り決めであるため、どのような態様であっても特段の問題は生じない一方、両者の対応付けを工夫することでマルチキャストグループの柔軟な設定および管理を行うことが可能になるからである。
【００８６】
（２）本実施形態では、マルチキャストグループ参加参照パケットに対する応答パケットの作成および返信をプロトコル変換器２０２に行わせた。しかし、プロトコル変換器２０２には、マルチキャストグループ参加参照パケットにプロトコル変換（当該パケットがＩＰｖ６パケットであればＩＰｖ４パケットへの変換、逆に当該パケットがＩＰｖ４パケットであればＩＰｖ６パケットへの変換）を施してアプリケーションプログラムに与える処理を実行させ、当該アプリケーションプログラムには上記応答パケットの生成および返信を行わるようにしても良い。この場合、プロトコル変換器２０２には、アプリケーションプログラムから返信される応答パケットに対するプロトコル変換をさらに行わせれば良い。このような態様であっても上記第２実施形態と同様の効果が得られる。
【符号の説明】
【００８７】
１，１ａ…通信システム、１０１…ＬＡＮ、１０２，１０２ａ，１０３…通信装置、１１０…制御部、１２０…通信Ｉ／Ｆ部、１３０…記憶部、１３２…揮発性記憶部、１３４…不揮発性記憶部、１３４ａ…ＩＰｖ４アプリケーションプログラム群、１３４ｂ…通信制御プログラム、１４０…バス、２０２…プロトコル変換器、２０３…プロトコル変換部、２０４…アドレス管理部、２０５…アドレス管理テーブル、２０５ａ…マルチキャストアドレス管理テーブル、２０６…ＩＰｖ６プロトコルスタック、２０７…仮想ＩＰｖ４ネットワーク空間。
【図１】
2015043565.tif 000003
【図２】
2015043565.tif 000004
【図３】
2015043565.tif 000005
【図４】
2015043565.tif 000006
【図５】
2015043565.tif 000007
【図６】
2015043565.tif 000008
【図７】
2015043565.tif 000009
【図８】
2015043565.tif 000010
【図９】
2015043565.tif 000011
【図１０】
2015043565.tif 000012
【図１１】
2015043565.tif 000013
【図１２】
2015043565.tif 000014