(57)【要約】【課題】接続するネットワークに応じて、通信パケットの通信特性に関する設定を適切かつ効率的に実行することができる通信装置を提供する。【解決手段】通信装置は、送信すべきデータに通信ヘッダが付加された通信パケットを取得する取得手段と、取得手段により取得された通信パケットの通信ヘッダ中のＩＰアドレスを参照して、通信パケットを送信すべきネットワークを判定する判定手段と、判定手段により判定されたネットワークに基づいて、通信パケットの通信ヘッダに、通信パケットの通信特性に関する情報を設定する設定手段と、設定手段により通信特性に関する情報が通信ヘッダに設定された通信パケットを送信する送信手段と、を備える。【選択図】  図１
2019134238.tif 000002
【特許請求の範囲】
【請求項１】
送信すべきデータに通信ヘッダが付加された通信パケットを取得する取得手段と、
前記取得手段により取得された前記通信パケットの前記通信ヘッダ中のＩＰアドレスを参照して、前記通信パケットを送信すべきネットワークを判定する判定手段と、
前記判定手段により判定された前記ネットワークに基づいて、前記通信パケットの前記通信ヘッダに、前記通信パケットの通信特性に関する情報を設定する設定手段と、
前記設定手段により前記通信特性に関する情報が前記通信ヘッダに設定された通信パケットを送信する送信手段と、
を備えることを特徴とする通信装置。
【請求項２】
前記判定手段は、前記通信装置のネットワークインタフェースに割り当てられたアドレスを参照して、前記通信装置が接続されるネットワークを、前記通信パケットを送信すべき前記ネットワークとして判定する、
ことを特徴とする請求項１に記載の通信装置。
【請求項３】
前記判定手段は、前記通信パケットの送信先アドレスを参照して、前記通信パケットの送信先のネットワークを、前記通信パケットを送信すべき前記ネットワークとして判定する、
ことを特徴とする請求項１または２に記載の通信装置。
【請求項４】
前記判定手段は、前記通信装置のネットワークインタフェースに割り当てられたアドレスを参照して前記通信装置が接続されるネットワークが判定できない場合に、前記送信先アドレスを参照して前記通信パケットの前記送信先のネットワークを判定する、
ことを特徴とする請求項３に記載の通信装置。
【請求項５】
前記設定手段により前記通信ヘッダに設定される前記通信特性に関する情報は、前記判定手段により判定された前記ネットワークが要求する前記通信パケットの品質に関する情報を含む、
ことを特徴とする請求項１から４のいずれか１項に記載の通信装置。
【請求項６】
前記通信パケットの前記品質に関する情報は、ＩＰｖ４プロトコルにおけるＴｙｐｅ  Ｏｆ  ＳｅｒｖｉｃｅおよびＴｉｍｅ  Ｔｏ  Ｌｉｖｅの少なくとも１つを含む、
ことを特徴とする請求項５に記載の通信装置。
【請求項７】
前記通信パケットの前記品質に関する情報は、ＩＰｖ６プロトコルにおけるＴｒａｆｆｉｃ  Ｃｌａｓｓ、Ｆｌｏｗ  Ｌａｂｅｌ、およびＨｏｐ  Ｌｉｍｉｔの少なくとも１つを含む、
ことを特徴とする請求項５に記載の通信装置。
【請求項８】
前記判定手段は、前記通信パケットの送信先アドレスを参照して、前記通信パケットの送信先のネットワークを判定し、
前記設定手段は、前記判定手段により判定された前記ネットワークの特性に基づいて、前記通信装置に割り当て可能な複数の送信元アドレスから１つの送信元アドレスを選択して、前記通信特性に関する情報として、前記通信ヘッダに設定する、
ことを特徴とする請求項１から７のいずれか１項に記載の通信装置。
【請求項９】
ネットワークごとに、前記通信パケットの通信プロトコル、宛先ポート番号、および送信元ポート番号の少なくとも１つに対して、前記通信パケットの前記通信特性に関する情報をテーブルとして保持する保持手段をさらに備え、
前記設定手段は、前記保持手段により保持される前記テーブルを参照して、前記通信パケットの前記通信ヘッダに前記通信パケットの前記通信特性に関する情報を設定する、
ことを特徴とする請求項１から８のいずれか１項に記載の通信装置。
【請求項１０】
前記設定手段は、前記通信パケットの前記通信ヘッダから、前記通信パケットの前記通信プロトコル、前記宛先ポート番号、および前記送信元ポート番号の少なくとも１つを取得して、前記テーブルを参照する、
ことを特徴とする請求項９に記載の通信装置。
【請求項１１】
前記取得手段は、前記送信すべきデータを、前記通信装置上で稼働するアプリケーションから取得し、
少なくとも前記判定手段および前記設定手段は、前記アプリケーションの下位レイヤであるネットワークスタックに実装される、
ことを特徴とする請求項１から１０のいずれか１項に記載の通信装置。
【請求項１２】
前記通信装置は、複数のネットワークを接続して前記通信パケットを前記複数のネットワークの間で中継するルータに実装される、
ことを特徴とする請求項１から１１のいずれか１項に記載の通信装置。
【請求項１３】
通信パケットを送信する通信装置の制御方法であって、
送信すべきデータに通信ヘッダが付加された通信パケットを取得するステップと、
取得された前記通信パケットを送信すべきネットワークを判定するステップと、
判定された前記ネットワークに基づいて、前記通信パケットの前記通信ヘッダに、前記通信パケットの通信特性に関する情報を設定するステップと、
前記通信特性に関する情報が前記通信ヘッダに設定された通信パケットを送信するステップと、
を含むことを特徴とする通信装置の制御方法。
【請求項１４】
コンピュータを、請求項１から１２のいずれか１項に記載の通信装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、通信装置の制御方法およびプログラムに関する。
【背景技術】
【０００２】
通信プロトコルにおいて通信パケットを送信する際に、通信機器は、通信パケットがネットワークに対して提供するサービスの品質の水準を示すＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）パラメータを設定する。このＱｏＳを通信パケットのヘッダに設定することにより、ネットワーク上に様々な種類の通信が混在している場合であっても、通信内容に応じて、通信パケットの伝送における優先度や帯域幅など所望の通信品質を確保することができる。
【０００３】
ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）／ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）やＵＤＰ（Ｕｓｅｒ Ｄａｔａｇｒａｍ Ｐｒｏｔｏｃｏｌ）等の通信プロトコルを使用する場合、ＩＰヘッダにＱｏＳを設定する。具体的には、ＩＰｖ４のＩＰヘッダでは、Ｔｙｐｅ  Ｏｆ  Ｓｅｒｖｉｃｅ（ＴＯＳ）フィールドに、ＩＰｖ６のＩＰヘッダでは、Ｔｒａｆｆｉｃ  Ｃｌａｓｓ（ＴＣＬＡＳＳ）やＦｌｏｗ  Ｌａｂｅｌフィールドに、それぞれＱｏＳが実装されている。
また、ＩＰヘッダ中、Ｔｉｍｅ  Ｔｏ  Ｌｉｖｅ（ＴＴＬ）フィールド（ＩＰｖ４）にパケットの有効期間を、またはＨｏｐ  Ｌｉｍｉｔフィールド（ＩＰｖ６）に経由するルータ数を設定して、通信パケットのネットワーク上の到達範囲を制限することができる。これらもＱｏＳパラメータの一種である。
通信機器上で動作する通信アプリケーションは、通信パケットのＩＰヘッダ内のこれらのＱｏＳパラメータの値を変更することで、送信する通信パケットの所望の品質をネットワークや通信相手機器に要求することができる。複数のネットワークを中継するルータやＬａｙｅｒ３（Ｌ３）スイッチ等は、通信機器から受信するパケットのＩＰヘッダに設定されたこれらのＱｏＳパラメータを使用して、異なるネットワーク間でのパケットの転送や中継を制御することができる。
【０００４】
例えば、特許文献１は、使用したいネットワークの属性とＱｏＳ制御パラメータとの関係を示すプロファイルパラメータを参照して、ＩＰヘッダにＱｏＳ制御パラメータを設定する技術を開示する。
具体的には、特許文献１の技術によれば、通信装置のネットワークアプリケーションは、通信装置内部で使用する優先度、帯域、および許容できる最大レイテンシーと、ネットワーク経路でのＴＯＳ値等との関係を、プロファイルパラメータとして設定する。通信装置は、このプロファイルパラメータを参照することにより、通信パケットの内容に適したＴＯＳ値等のＱｏＳ制御パラメータをＩＰヘッダに可変に設定することができる。
これにより、ＡＶデータ等の広帯域データと、コントロールコマンドのような非常に高いリアルタイム性が要求されるデータとを、それぞれに適した異なるＱｏＳ制御パラメータで、１本のネットワークケーブルで混在させて伝送させることができる。
【０００５】
特許文献２は、ネットワークプロトコル処理の一部をハードウエアにオフロードする通信装置において、オフロードエンジンが固定値として保持するＩＰヘッダ中のＴＯＳ等のフィールドを、アプリケーションが指定するＴＯＳ値等に書き換える技術を開示する。
これにより、ＱｏＳ制御を容易化することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−２６０４６０号公報
【特許文献２】特開２０１４−２２５７６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記の特許文献１および特許文献２に記載の技術ではいずれも、通信装置のアプリケーションが、パケット化されるデータに応じて、通信パケットのＩＰヘッダのＱｏＳパラメータのフィールドを設定ないし変更している。すなわち、通信パケットのＩＰヘッダ中の、ＴＯＳフィールドやＴＣＬＡＳＳフィールド等のＱｏＳパラメータを使用して、通信パケットの品質をネットワークに要求するのは、通信機器のネットワークスタックの上位レイヤにあるアプリケーションであった。
【０００８】
しかしながら、近年では、通信機器が接続するネットワーク側から、当該ネットワークに接続する機器に対し、通信パケットに対する特定のＱｏＳパラメータを要求する場合がある。また、このようなネットワークは、当該ネットワークで使用可能なプロトコル毎に、ＴＯＳやＴＣＬＡＳＳ等の値を設定するよう要求することができる。
また、通信機器が接続するネットワークの規模に応じて、通信パケットのＴＴＬやＨｏｐ  Ｌｉｍｉｔを切り替えたいという要請がある。例えば、ＳＯＨＯのＬＡＮに接続する場合には、インターネットに接続する場合よりネットワークの構成が小さいため、ＴＴＬを小さな値に設定したい。また、複雑な構成のネットワークに接続する場合にも、ルータの設定ミスなどの場合のルータの負荷を減らすため、ＴＴＬを小さな値に設定したい等である。  
【０００９】
この場合、上記の技術のように、通信機器のアプリケーションがＩＰヘッダのＱｏＳパラメータのフィールドを設定ないし変更しようとすると、アプリケーションが、接続先のネットワークやパケットの送信先のネットワークを参照しなければならない。このため、ネットワーク側から要求されるＱｏＳパラメータをＩＰヘッダに設定する処理が煩雑となり、またパケット送信における効率性を損なってしまう。
さらに、通信装置上で稼働するアプリケーション毎に、それぞれ、通信パケット用のＱｏＳパラメータを判断して、通信パケットのＩＰヘッダに設定する機能を実装しなければ、通信パケットの品質等、所望される通信特性の要求に対応することができない。
【００１０】
本発明は、上述の課題に鑑みてなされたものであり、通信パケットを送信すべきネットワークに応じて、通信パケットの通信特性に関する設定を適切かつ効率的に実行することが可能な通信装置、通信装置の制御方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するため、本発明に係る通信装置のある態様によれば、送信すべきデータに通信ヘッダが付加された通信パケットを取得する取得手段と、前記取得手段により取得された前記通信パケットの前記通信ヘッダ中のＩＰアドレスを参照して、前記通信パケットを送信すべきネットワークを判定する判定手段と、前記判定手段により判定された前記ネットワークに基づいて、前記通信パケットの前記通信ヘッダに、前記通信パケットの通信特性に関する情報を設定する設定手段と、前記設定手段により前記通信特性に関する情報が前記通信ヘッダに設定された通信パケットを送信する送信手段と、を備える通信装置が提供される。
【発明の効果】
【００１２】
本発明によれば、通信パケットを送信すべきネットワークに応じて、通信パケットの通信特性に関する設定を適切かつ効率的に実行することができる。
【図面の簡単な説明】
【００１３】
【図１】実施形態１に係る通信装置１のハードウエアおよび機能構成の一例を示すブロック図
【図２】実施形態１において通信装置１が各種ネットワークにそれぞれ接続された状態を示す図
【図３】実施形態１において通信装置１が実行する通信パケット生成および送信処理の処理手順の一例を示すフローチャート
【図４】実施形態１において通信装置１が参照する接続ネットワークテーブルおよびヘッダ書換テーブルの構成の一例を示す図
【図５】通信装置１が備えるネットワークスタック（プロトコルスタック）の一例を示す図
【図６】ＩＰｖ４の場合のＩＰｖ４／ＴＣＰヘッダのヘッダレイアウトを示す図
【図７】ＩＰｖ４の場合のＩＰｖ４／ＵＤＰヘッダのヘッダレイアウトを示す図
【図８】ＥｔｈｅｒｎｅｔヘッダおよびＩＰヘッダの間でのＣＯＳ（Ｃｌａｓｓ  Ｏｆ  Ｓｅｒｖｉｃｅ）およびＴＯＳ（Ｔｙｐｅ  Ｏｆ  Ｓｅｒｖｉｃｅ）の関係を示す図
【図９】実施形態２に係る通信装置１０のハードウエアおよび機能構成の一例を示すブロック図
【図１０】実施形態２において通信装置１０がルータを介して各種ネットワークに接続された状態を示す図
【図１１】実施形態２において通信装置１０が実行する通信パケット生成および送信処理の処理手順の一例を示すフローチャート
【図１２】実施形態２において通信装置１０が参照する送信先ネットワークテーブルおよびヘッダ書換テーブルの構成の一例を示す図
【図１３】実施形態３に係る通信装置１００のハードウエアおよび機能構成の一例を示す図
【図１４】実施形態３において通信装置１００がルータを介して各種ネットワークに接続された状態を示す図
【図１５】実施形態３において通信装置１００が実行する通信パケット生成および送信処理の概略処理手順の一例を示すフローチャート
【図１６】図１５の送信元アドレス選択処理（S１５２）の詳細処理手順の一例を示すフローチャート
【図１７】実施形態３において通信装置１００が参照する送信元アドレスプレフィクス選択テーブルの構成の一例を示す図
【図１８】実施形態３において通信装置１００が参照する送信先ネットワークテーブルおよびヘッダ書換テーブルの構成の一例を示す図
【発明を実施するための形態】
【００１４】
以下、添付図面を参照して、本発明を実施するための実施形態について詳細に説明する。なお、以下に説明する実施形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施形態に必ずしも限定されるものではない。また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成については、同じ符号を付して説明する。
【００１５】
（実施形態１）
本実施形態においては、通信パケットを生成および送信可能な通信装置において、通信パケットを送信すべきネットワークを判定し、判定されたネットワークに応じて、通信パケットに、通信パケットの通信特性を設定する。
具体的には、本実施形態において、通信装置は、通信装置が接続する接続先ネットワークの通信プロトコルごとに、通信パケットの通信特性を定義するテーブルを参照する。そして、通信装置は、参照したテーブルに定義された通信パケットの通信特性で、通信パケットのヘッダを書き換える。
これにより、通信装置上で稼働するアプリケーションが接続先のネットワークを参照して、通信パケットの通信特性を都度設定することなく、接続先のネットワークに適した通信パケットの通信特性に関する設定を適切かつ効率的に実行することができる。
また、通信パケットの新たな通信特性を要求するネットワークに新たに接続する必要が生じた場合も、上記テーブルを追加するだけで足り、アプリケーションは何ら変更する必要がない。
【００１６】
ここで、「通信パケットの通信特性」は、通信パケットの通信に関連するあらゆる特性を含み、少なくとも、通信パケットの品質に関する特性の情報を含む。本実施形態では、通信パケットの品質に関する特性の情報は、通信パケットがネットワークに対して提供するサービスの品質の水準を規定するＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）パラメータを含む。
このＱｏＳパラメータは、ＩＰｖ４プロトコルの場合、ＩＰヘッダ中のＴｙｐｅ  Ｏｆ  Ｓｅｒｖｉｃｅ（ＴＯＳ）フィールドおよびＴｉｍｅ  ｔｏ  Ｌｉｖｅ（ＴＴＬ）フィールドを含むフィールドに実装できる。ＩＰｖ６プロトコルの場合、ＩＰヘッダ中のＴｒａｆｆｉｃ  Ｃｌａｓｓ（ＴＣＬＡＳＳ）、Ｆｌｏｗ  Ｌａｂｅｌフィールド、およびＨｏｐ  Ｌｉｍｉｔフィールド（ＩＰｖ６）を含むフィールドに実装できる。
また、「通信パケットを送信すべきネットワーク」とは、本実施形態における通信装置が接続する接続先ネットワークの他、送信先の通信装置が属する送信先ネットワークや中継ネットワークを含む。「接続先ネットワーク」とは、通信装置が接続するネットワークをいう。この接続先ネットワークの識別子は、例えば、通信装置のネットワークインタフェースに割り当てられたアドレスで示すことができ、通信装置のＩＰアドレスの上位ビットに記述されるネットワークアドレスを参照して取得することができる。
以下、本実施形態では、ＩＰｖ４プロトコルにおけるＱｏＳパラメータを設定する場合を例として説明するが、本実施形態がＩＰｖ６プロトコルにも適用可能であることはいうまでもない。
【００１７】
＜本実施形態のハードウエアおよび機能構成＞
図１は、本実施形態に係る通信装置のハードウエア構成および機能構成の一例を示す図である。
図１に示す通信装置１の各機能モジュールのうち、ソフトウエアにより実現される機能については、各機能モジュールの機能を提供するためのプログラムがＲＯＭ等のメモリに記憶され、ＲＡＭに読み出してＣＰＵが実行することにより実現される。ハードウエアにより実現される機能については、例えば、所定のコンパイラを用いることで、各機能モジュールの機能を実現するためのプログラムからＦＰＧＡ上に自動的に専用回路を生成すればよい。ＦＰＧＡとは、Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙの略である。また、ＦＰＧＡと同様にしてＧａｔｅ  Ａｒｒａｙ回路を形成し、ハードウエアとして実現するようにしてもよい。また、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）により実現するようにしてもよい。なお、図１に示した機能ブロックの構成は一例であり、複数の機能ブロックが１つの機能ブロックを構成するようにしてもよいし、いずれかの機能ブロックが複数の機能を行うブロックに分かれてもよい。
【００１８】
通信装置１は、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１１と、１つまたは複数のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１２と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１３とを備える。通信装置１は、さらに、ＬＡＮ制御部１４と、ＩＰヘッダ書換部と、接続ネットワーク判定部１６とを備える。通信装置１は、ＬＡＮ制御部１４を介してネットワーク１７に接続されて、他の通信装置と相互に通信することができる。ＤＲＡＭ１１、ＣＰＵ１２、ＲＯＭ１３、ＬＡＮ制御部１４、ＩＰヘッダ書換部１５、および接続ネットワーク判定部１６は、システムバスを介して相互に接続される。
【００１９】
ＤＲＡＭ１１は、システムバスを介して、通信装置１内の各機能ブロックが共有して利用可能なメインメモリとして動作し、ＣＰＵ１２が利用するワークメモリなどを含む。
ＣＰＵ１２は、通信装置１上で稼働するアプリケーションを実行するとともに、通信装置１全体の制御を実行する。具体的には、ＣＰＵ１２は、アプリケーションを実行する上で必要となるデータなどをＤＲＡＭ１１の内部に記憶し、必要に応じてシステムバスを介して読み出しや書き込みを行う。
ＲＯＭ１３は、ＣＰＵ１２が実行する各種プログラムを格納する不揮発性メモリである。
【００２０】
ＬＡＮ制御部１４は、通信装置１が有線または無線で通信を行うための通信インターフェースである。ＬＡＮ制御部１４は、有線または無線のネットワーク１７に接続されている。ネットワーク１７は、有線である場合、例えばＥｔｈｅｒｎｅｔ（登録商標）規格に準拠してよい。また、無線である場合は、例えばＩＥＥＥ８０２．１１シリーズ規格に準拠した無線ＬＡＮであってよい。
ネットワーク１７には、他の通信装置が接続されており、ネットワーク１７を介して通信装置１が他の通信装置と相互に通信することが可能である。以下、通信装置１は、通信方式としてＴＣＰ／ＩＰプロトコルを使用するものとして説明する。
なお、ＴＣＰ／ＩＰプロトコルは説明を行うために示す一例であり、通信装置１は、その他の通信プロトコルの通信プロトコル処理を実行することができる。以下、ＴＣＰ／ＩＰプロトコルは、別段の定義のない限り、ＵＤＰプロトコルを含むものとして説明する。
【００２１】
ＩＰヘッダ書換部１５は、接続ネットワーク判定部１６が接続ネットワークテーブルを参照することにより判定する接続先ネットワークに従って、ヘッダ書換テーブルを参照し、通信パケットのＩＰヘッダ中のＱｏＳパラメータを書き換える。接続ネットワークテーブルおよびヘッダ書換テーブルの詳細は図４を参照して後述する。
接続ネットワーク判定部１６は、接続ネットワークテーブルを参照して、通信装置１が接続するネットワークを判定する。本実施形態では、接続ネットワーク判定部１６は、通信装置１のネットワークインタフェースに割り当てられたＩＰアドレスを用いて複数のネットワークから接続先ネットワークを判定する。
【００２２】
＜ネットワーク構成例＞
図２（ａ）から図２（ｃ）は、通信装置１が、各種ネットワークにそれぞれ直接接続された状態を示す。
具体的には、図２（ａ）は、通信装置１が、高品質ネットワークＡに直接接続された状態を示す。図２（ａ）において、通信装置１は、ＩＰアドレス「１７２．１０．１０．２５」を有し、接続先の高品質ネットワークＡへのネットワークインタフェース（Ｉ／Ｆ）には、ＩＰアドレス「１７２．１０．０．０／１６」が割り当てられているものとする。同様に、図２（ｂ）は、通信装置１が、高品質ネットワークＢに直接接続された状態を示す。図２（ｂ）において、通信装置１は、ＩＰアドレス「１７２．２４０．３０．１１２」を有し、接続先の高品質ネットワークＢへのネットワークインタフェースには、ＩＰアドレス「１７２．２４０．０．０／１６」が割り当てられているものとする。図２（ｃ）は、通信装置１が、通常ネットワークに直接接続された状態を示す。図２（ｃ）において、通信装置１は、ＩＰアドレス「１９２．１６８．１．２６」を有し、接続先の通常ネットワークへのネットワークインタフェースには、ＩＰアドレス「１９２．１６８．１．０／２４」が割り当てられているものとする。
【００２３】
なお、以下、「高品質ネットワーク」とは、当該ネットワークに接続する通信装置に対して特定のプロトコルについて所定のＱｏＳパラメータを設定するよう要求することが可能なネットワークをいうものとする。一方、「通常ネットワーク」とは、当該ネットワークに接続する通信装置に対して特定のプロトコルについて所定のＱｏＳパラメータを設定するよう要求しないネットワークをいうものとする。
通信装置１のＩＰアドレスは、それぞれのネットワークへの接続時に、例えば、ＤＨＣＰ（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）サーバ（不図示）により割り当てられることができる。
【００２４】
＜接続ネットワークテーブルおよびヘッダ書換テーブルの構成例＞
図４は、実施形態１において通信装置１が参照する接続ネットワークテーブルおよびヘッダ書換テーブルの構成の一例を示す。
図４において、接続ネットワークテーブル４１は、通信装置１のネットワークインタフェース（Ｉ／Ｆ）のＩＰアドレスと、このＩＰアドレスに対応する接続先ネットワークのヘッダ書換テーブルのＩＤとを定義する。図４の接続ネットワークテーブル４１は、図２（ａ）の高品質ネットワークＡへのネットワークＩ／ＦのＩＰアドレス「１７２．１０．０．０／１６」のエントリを含む。さらに、接続ネットワークテーブル４１は、図２（ｂ）の高品質ネットワークＢへのネットワークＩ／ＦのＩＰアドレス「１７２．２４０．０．０／１６」のエントリを含む。一方、図２（ｃ）の通常ネットワークへのネットワークＩ／ＦのＩＰアドレス「１９２．１６８．１．０／２４」は、図４の接続ネットワークテーブル４１に登録されていない。
【００２５】
接続ネットワークテーブル４１で、図２（ａ）の高品質ネットワークＡへのネットワークＩ／ＦのＩＰアドレス「１７２．１０．０．０／１６」が選択された場合、高品質ネットワークＡ用のヘッダ書換テーブル４２が参照される。一方、図２（ｂ）の高品質ネットワークＢへのネットワークＩ／ＦのＩＰアドレス「１７２．２４０．０．０／１６」が選択された場合、高品質ネットワークＢ用のヘッダ書換テーブル４３が参照される。
ヘッダ書換テーブル４２、４３は、それぞれ、高品質ネットワークに実装されるプロトコル、宛先ポート番号、および送信元ポート番号の組み合わせに対して、ＩＰヘッダに設定すべきＱｏＳパラメータを定義する。図４では、ＱｏＳパラメータとして、ＴＯＳおよびＴＴＬ（ＩＰｖ４）、またはＴＣＬＡＳＳおよびＨｏｐ  Ｌｉｍｉｔ（ＩＰｖ６）が定義されている。
図４に示す接続先ネットワークテーブル４１およびヘッダ書換テーブル４２、４３は、通信装置１が接続される接続先ネットワークが要求する通信パケットの品質に関する特性の仕様に応じて、予め登録しておく。
【００２６】
図５は、通信装置１が備えるネットワークスタックの一例を示す。図５において、ＬＡＮ制御部１４の上位レイヤかつアプリケーションの下位レイヤにネットワークスタック５が位置付けられる。本実施形態において、図１のＩＰヘッダ書換部１５および接続先ネットワーク判定部１６は、ネットワークスタック(プロトコルスタック)５に実装される。すなわち、図４のテーブルを参照して通信パケットのＩＰヘッダを書き換えるプロトコルスタック処理は、最上位レイヤのアプリケーションではなく、ネットワークスタック５により実行される。
ネットワークスタック５は、下位レイヤから順に、イーサネット（登録商標）駆動部、ＩＰ、ＴＣＰ／ＵＤＰ、ソケット（ｓｏｃｋｅｔ）ＡＰＩを備える。最上位レイヤのアプリケーションＡ、Ｂは、ソケットＡＰＩを呼び出すことにより、ネットワークスタック５に対して、それぞれ、パケット化して送信すべきデータ（ペイロード）を受け渡したり、パケット送信を指示することができる。
【００２７】
トランスポートレイヤに対応するＴＣＰまたはＵＤＰは、アプリケーションから受け渡されたデータ（ペイロード）に対して、ＴＣＰヘッダまたはＵＤＰヘッダをそれぞれ付加する。具体的には、ＴＣＰは、図６に示すＴＣＰヘッダ６２を、ＵＤＰは、図７に示すＵＤＰヘッダ７２を、それぞれデータ（ペイロード）に付加する。図６のＴＣＰヘッダ６２および図７のＵＤＰヘッダ７２は、それぞれ送信元ポート番号（Ｓｏｕｒｃｅ  Ｐｏｒｔ）および宛先ポート番号（Ｄｅｓｔｉｎａｔｉｏｎ  Ｐｏｒｔ）フィールドを含む。
【００２８】
インターネットレイヤに対応するＩＰは、ＴＣＰヘッダまたはＵＤＰヘッダが付加されたデータに対して、ＩＰヘッダを付加する。図６および図７のＩＰヘッダ６１は、それぞれＴＯＳ（Ｔｙｐｅ  Ｏｆ  Ｓｅｒｖｉｃｅ）フィールドおよびＴＴＬ（Ｔｉｍｅ  Ｔｏ  Ｌｉｖｅ）フィールドを含む。また、ＩＰヘッダ６１は、送信元ＩＰアドレス（Ｓｏｕｒｃｅ  Ａｄｄｒｅｓｓ）および宛先ＩＰアドレス（Ｄｅｓｔｉｎａｔｉｏｎ  Ａｄｄｒｅｓｓ）フィールドを含む。ＩＰヘッダ６１のプロトコル（Ｐｒｏｔｏｃｏｌ）フィールドに規定されるプロトコルの値で、ＩＰヘッダをＴＣＰヘッダまたはＵＤＰヘッダのいずれに付加すべきかを区別することができる。ＩＰレイヤは、ＩＣＭＰ（Ｉｎｔｅｒｎｅｔ  Ｃｏｎｔｒｏｌ  Ｍｅｓｓａｇｅ  Ｐｒｏｔｏｃｏｌ）を含んでよい。また、ＩＰおよび下位のイーサネット駆動部は、ＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）を含んでよい。
【００２９】
ネットワークアクセスレイヤに対応するイーサネット駆動部は、ＴＣＰヘッダまたはＵＤＰヘッダ、およびＩＰヘッダが付加されたデータに、イーサネットヘッダを付加して、ネットワークに送出される通信パケット（イーサネットフレーム）を生成する。
図８は、ＴＣＰヘッダまたはＵＤＰヘッダに対してＩＰヘッダが付加されたデータに対して付加されるイーサネットヘッダのレイアウトを示す。
図２（ａ）ないし図２（ｃ）の通信装置１が直接接続されるネットワーク（ＬＡＮ）がブロードキャストドメインを構成するＶＬＡＮ（Ｖｉｒｔｕａｌ  ＬＡＮ）を通過する場合、図８に示すＶＬＡＮタグがイーサネットヘッダに追加される。具体的には、ＶＬＡＮ内で、イーサネットフレーム８１中のイーサネットヘッダは、宛先ＭＡＣアドレス（ｄｅｓｔｉｎａｔｉｏｎ  ＭＡＣ）、送信元ＭＡＣアドレス（ｓｏｕｒｃｅ  ＭＡＣ）、ＶＬＡＮタグ、イーサネットタイプ（Ｅｔｈｅｒ  Ｔｙｐｅ）を含む。このＶＬＡＮタグは、ＩＥＥＥ８０２．１Ｑ規格に準拠し、タグプロトコルＩＤ（ＴＰＩＤ）およびＴＣＩ（Ｔａｇ  Ｃｏｎｔｒｏｌ  Ｉｎｆｏｒｍａｔｉｏｎ）フィールドから構成される。
【００３０】
ＶＬＡＮタグ中のＴＣＩフィールドは、３ビットのＣｏＳ（Ｃｌａｓｓ  Ｏｆ  Ｓｅｒｖｉｃｅ）フィールドとＶＬＡＮ  ＩＤ（ＶＩＤ）フィールドを含む。ＴＣＩフィールド中のＣｏＳフィールドは、ＩＥＥＥ８０２．１ｐ規格に準拠する優先制御で使用されるＱｏＳに関するフィールドであり、ＩＰヘッダ中のＴＯＳ（Ｔｙｐｅ  Ｏｆ  Ｓｅｒｖｉｃｅ）フィールドから変換して取得できる。ＣｏＳおよびＴＯＳフィールドの間では、直接対応付けられた値として、相互に変換することができる。
ＶＬＡＮ内のイーサネットフレーム８１がルータを介して（イーサネットフレーム８２）ＶＬＡＮ外へ送出される際に、ＶＬＡＮタグはイーサネットヘッダから削除され、イーサネットフレーム８３としてＶＬＡＮ外へ送出される。ＶＬＡＮ外へ送出されるイーサネットフレーム８３では、削除されるＴＣＩフィールド中のＣｏＳフィールドは、ＩＰヘッダ中のＴＯＳフィールドに変換されることができる。
【００３１】
＜本実施形態における通信ヘッダ生成および通信パケット生成処理の処理フロー＞
図３は、本実施形態に係る通信装置１が実行する通信ヘッダ生成および通信パケット生成処理の一例を示すフローチャートである。
図３に示す処理は、例えば、通信装置１の通信機能が起動され、通信装置１がネットワークを介して他の通信装置と通信状態となったことを契機に開始されてよい。ただし、図２に示す処理の開始タイミングは上記に限定されない。
以下では、通信装置１が他の通信装置との間でデータ転送する際に使用する通信プロトコルとしてＴＣＰ／ＩＰプロトコルを使用する例を説明するが、本実施形態はＴＣＰ／ＩＰプロトコル以外の通信プロトコルも使用することができる。
通信装置１は、ＣＰＵ１２が必要なプログラムをＲＯＭ１３から読み出して実行することにより、ネットワークスタック５に実装されるＩＰヘッダ書換部１５および接続ネットワーク判定部１６の動作を制御して図３に示す処理を実行することができる。  
【００３２】
まず、通信装置１が図２（ａ）の高品質ネットワークＡに接続され、ＤＨＣＰサーバ等を介してＩＰアドレス「１７２．１０．１０．２５」が割り当てられている場合を例として説明する。図３を参照して、Ｓ１で、通信装置１のアプリケーションがソケットＡＰＩを使用してパケット送信要求を呼び出すと、ネットワークスタック５が、ＴＣＰ／ＩＰ等のプロトコルスタック処理を実行して、アプリケーションからの送信データをＩＰパケット化する。
Ｓ２で、通信装置１の接続ネットワーク判定部１６は、自ホスト（通信装置１）のＩＰアドレスを取得し、取得したＩＰアドレスを用いて図４の接続ネットワークテーブル４１を検索する。
Ｓ３で、通信装置１の接続ネットワーク判定部１６は、Ｓ２で取得された自ホストのＩＰアドレスに対応するエントリが接続ネットワークテーブル４１にあるか否かを判定すする。自ホストのＩＰアドレスに対応するエントリが接続ネットワークテーブル４１にある場合（Ｓ３：Ｙ）はＳ４に進んでヘッダ書換テーブルが選択され（Ｓ４）、ＩＰヘッダ書換部１５は、Ｓ４からＳ８のＩＰヘッダ書換処理を実行する。一方、自ホストのＩＰアドレスに対応するエントリが接続ネットワークテーブル４１にない場合（Ｓ３：Ｎ）はＳ９に進んで、ＩＰヘッダ書換処理は実行されない。
【００３３】
図４の接続ネットワークテーブル４１の１番目のエントリ「１７２．１０．０．０／１６」は、ＩＰアドレスの上位１６ビット（ネットワークアドレス）が「１７２．１０」と一致することを表している。また２番目のエントリ「１７２．２４０．０．０／１６」は、ＩＰアドレスの上位１６ビット（ネットワークアドレス）が「１７２．２４０」と一致することを表している。
ここで、通信装置１が図２（ａ）の高品質ネットワークＡに接続されている場合の通信装置１のＩＰアドレスは「１７２．１０．１０．２５」である。このため、Ｓ３で、接続ネットワークテーブル４１の「１７２．１０．０．０／１６」のエントリに対応するネットワーク（高品質ネットワークＡ）であることが分かる。次にＳ４で、高品質ネットワークＡのＩＰヘッダを書き換えるためのヘッダ書換テーブル４２が選択される。
【００３４】
Ｓ５で、ＩＰヘッダ書換部１５は、Ｓ４で選択されたヘッダ書換テーブル４２からＩＰヘッダ書き換えに使用するエントリを選択する。具体的には、ＩＰヘッダ書換部１５は、送信すべきＩＰパケットのＩＰヘッダからプロトコルフィールドの値を、ＴＣＰ／ＵＤＰヘッダから宛先ポート番号および送信元ポート番号の値をそれぞれ取得する。
Ｓ６で、ＩＰヘッダ書換部１５は、取得されたプロトコル、宛先ポート番号、および送信元ポート番号をキーとして、ヘッダ書換テーブル４２のエントリを検索する。
【００３５】
Ｓ７で、ＩＰヘッダ書換部１５は、取得されたプロトコル、宛先ポート番号、および送信元ポート番号に一致するエントリが高品質ネットワークＡのヘッダ書換テーブル４２にあるか否かを判定する。取得されたプロトコル、宛先ポート番号、および送信元ポート番号に対応するエントリがヘッダ書換テーブル４２にある場合（Ｓ７：Ｙ）、Ｓ８に進み、一方、ない場合（Ｓ７：Ｎ）、Ｓ９に進む。
Ｓ８で、ＩＰヘッダ書換部１５は、Ｓ７で選択されたヘッダ書換テーブル４２のエントリに規定されるＱｏＳパラメータ（ＴＯＳ、ＴＴＬ）の値に従って、通信パケットのＩＰヘッダの値を書き換える。
Ｓ９で、ネットワークスタック５から、ＬＡＮ制御部１４を介して、イーサネットヘッダが付加されたＩＰパケットが通信パケットとして、ネットワーク１７に送出される。Ｓ７でヘッダ書換テーブル４２に取得されたプロトコル、宛先ポート番号、および送信元ポート番号に対応するエントリがあった場合には、Ｓ８で書き換えられたＩＰヘッダを使用して、ＩＰパケットが送信される。一方、ヘッダ書換テーブル４２に取得されたプロトコル、宛先ポート番号、および送信元ポート番号に対応するエントリがない場合には、Ｓ１で生成されたＩＰヘッダのままで、ＩＰパケットが送信される。
【００３６】
ヘッダ書換テーブル４２が選択されている場合、例えば、送信するＩＰパケットのＩＰヘッダに規定されるプロトコルが「ＴＣＰ」であり、ＴＣＰヘッダに規定される宛先ポート番号が「５０６０」であるとする。この場合、プロトコルが「ＴＣＰ」かつ宛先ポート番号が「５０６０」に一致するエントリは、ヘッダ書換テーブル４２の２番目のエントリとなる。ヘッダ書換テーブル４２の２番目のエントリには、ＱｏＳパラメータの値として、ＴＯＳフィールドに「０ｘ８０」、ＴＴＬフィールドに「無変換」と規定されている。このため、ＩＰヘッダ書換部１５は、送信するＩＰパケットのＩＰヘッダ中のＴＯＳフィールドの値を、ヘッダ書換テーブル４２に規定される値「０ｘ８０」で書き換える。
一方、Ｓ７で、取得されたプロトコル、宛先ポート番号、および送信元ポート番号に対応するエントリがない場合は、Ｓ８でＩＰヘッダの書き換えは実行されない。例えば、送信するＩＰパケットのＩＰヘッダに規定されるプロトコルが「ＵＤＰ」であり、ＵＤＰヘッダに規定される宛先ポート番号が「６７」、送信元ポート番号が「６８」であるとする。この場合、ヘッダ書換テーブル４２には、プロトコルが「ＵＤＰ」、かつ宛先ポート番号が「６７」、送信元ポート番号が「６８」に一致するエントリがないため、Ｓ８で通信パケットのＩＰパケットは書き換えられずにＳ９でＩＰパケットが送信される。なお、各フィールドの値「ａｎｙ」はあらゆる値を許容する。
【００３７】
次に、通信装置１が図２（ｂ）の高品質ネットワークＢに接続され、ＤＨＣＰサーバ等を介してＩＰアドレス「１７２．２４０．１０．２５」が割り当てられている場合を例として説明する。図３を参照して、Ｓ２で、自ホスト（通信装置１）のＩＰアドレスは、図２（ｂ）に示すように、「１７２．２４０．３０．１１２」となる。このため、Ｓ３で、ＩＰアドレスの上位１６ビットが「１７２．２４０」と一致する、接続ネットワークテーブルの第２のエントリの「１７２．２４０．０．０／１６」が選択され、Ｓ４でヘッダ書換テーブル４３が選択される。
一方、通信装置１が図２（ｃ）の通常ネットワークに接続され、ＤＨＣＰサーバ等を介してＩＰアドレス「１９２．１６８．１．２６」が割り当てられている場合を例として説明する。図３を参照して、Ｓ２で、自ホスト（通信装置１）のＩＰアドレスは、図２（ｃ）に示すように、「１９２．１６８．１．２６」となる。このため、Ｓ３で、ＩＰアドレスの上位１６ビットが「１９２．１６８」である接続ネットワークテーブル４１のエントリは存在せず、Ｓ９で、ＩＰヘッダが書き換えられずに、ＩＰパケットが送信される。
【００３８】
なお、図３では、Ｓ１でＩＰパケットが生成された後に、ＩＰヘッダを書き換えているが、本実施形態はこれに限定されない。例えば、ＩＰパケットを生成する際に、接続ネットワークテーブル４１およびヘッダ書換テーブル４２、４３を検索（参照）し、取得されたＱｏＳパラメータ（ＴＯＳ、ＴＴＬ）の値をＩＰヘッダに設定してもよい。
また、図１のＩＰヘッダ書換部１５および接続ネットワーク判定部１６の少なくとも一方をプログラムに従ってヘッダ書換処理を実行するＣＰＵ１２により実現してもよく、専用ハードウエアに実装してもよい。
【００３９】
通信装置１が、別のＱｏＳパラメータを要求する新たなネットワークに接続する必要が出てきた場合は、図４の接続ネットワークテーブル４１に新たなエントリを追加すればよい。また、既に接続可能なネットワークが、所定のプロトコルに対して、新たにＴＯＳを設定するよう要求した場合は、図４のヘッダ書換テーブル４２、４３に新たなエントリを追加すればよい。
また、上記ではＩＰｖ４プロトコルの例を説明したが、ＩＰｖ６に対応する場合は、接続ネットワークテーブル４１のＩＰｖ４でのＩ／ＦアドレスをＩＰｖ６でのＩ／アドレスにすればよい。また、ヘッダ書換テーブル４２、４３のＴＯＳフィールドの値をＴＣＬＡＳＳ（Ｔｒａｆｆｉｃ  Ｃｌａｓｓ）の値に、ＴＴＬフィールドの値をＨｏｐ  Ｌｉｍｉｔの値に、それぞれ設定すればよい。
【００４０】
以上説明したように、本実施形態では、通信装置は、接続先ネットワークをし、接続先ネットワークの通信プロトコルごとに通信パケットの通信特性を定義するテーブルを参照する。そして、通信装置１は、参照したテーブルに定義された通信パケットの通信特性で、送信すべき通信パケットのヘッダを書き換える。
これにより、通信装置上で稼働するアプリケーションが接続先のネットワークを参照して通信パケットの通信特性を都度設定することなく、接続先のネットワークに適した通信パケットの通信特性に関する設定を適切かつ効率的に実行することができる。
また、通信パケットの新たな通信特性を要求するネットワークに新たに接続する必要が生じた場合も、上記テーブルを追加するだけで足り、アプリケーションは何ら変更する必要がないという利点が得られる。
【００４１】
（実施形態２）
以下、実施形態２を、図９から図１２を参照して、上記の実施形態１と異なる点についてのみ詳細に説明する。本実施形態は、通信パケットの送信先ネットワークを判定する。そして本実施形態は、送信先ネットワークの通信プロトコルごとに通信パケットの品質に関する特性を定義するヘッダ書換テーブルを参照し、このテーブルに定義された通信パケットの品質に関する特性で、送信すべき通信パケットのヘッダを書き換える。送信先パケットの判定は、通信装置が、接続ネットワークテーブルを参照して、ヘッダ書換テーブルを示すエントリーが選択されない場合に実行されてよい。
これにより、例えば、家庭内ＬＡＮやＳＯＨＯに接続する通信装置が、ルータを介して高品質ネットワークに接続されている場合に、通信パケットの送信先のネットワークに適した通信パケットの品質に関する設定を適切かつ効率的に実行することができる。
なお、「送信先ネットワーク」とは、通信パケットを送信すべきネットワークのうち、通信パケットの送信先の通信装置が属するネットワークをいう。この送信先ネットワークの識別子は、例えば、通信パケットのＩＰヘッダ中の送信先ＩＰアドレスの上位ビットに記述されるネットワークアドレスを参照して取得することができる。
以下、本実施形態では、ＩＰｖ４プロトコルにおけるＱｏＳパラメータを設定する場合を例として説明するが、本実施形態がＩＰｖ６プロトコルにも適用可能であることはいうまでもない。
【００４２】
図９は、本実施形態に係る通信装置のハードウエア構成および機能構成の一例を示す図である。
本実施形態に係る通信装置１０は、図１に示す実施形態１の通信装置１の構成に加えて、送信先ネットワーク判定部１８をさらに備える。
送信先ネットワーク判定部１８は、通信パケットの送信先ネットワークを判定して、判定された送信先ネットワークに対応するヘッダ書換テーブルをＩＰヘッダ書換部１５に通知する。この送信先ネットワークは、上記のとおり、送信すべき通信パケットのＩＰヘッダ中の送信先ＩＰアドレス（図６、図７のＩＰｖ４ヘッダ６１のＤｅｓｔｉｎａｔｉｏｎ  Ａｄｄｒｅｓｓ）から判定することができる。
【００４３】
図１０は、通信装置１０が、家庭内ＬＡＮやＳＯＨＯを構成する通常ネットワークに直接接続され、さらに、ルータを介して複数の高品質ネットワークに接続された状態を示す。
具体的には、図１０において、通信装置１０は、ＩＰアドレス「１９２．１６８．１．２６」（図２（ｃ）と同じＩＰアドレス）を有する。また、通信装置１０において、接続先の通常ネットワークへのネットワークインタフェース（Ｉ／Ｆ）には、ＩＰアドレス「１９２．１６８．１．０／２４」が割り当てられているものとする。図１０の通常ネットワークには、通信装置１０の他、ＩＰアドレス「１９２．１６８．１．１」を有する通信装置１０１が接続されている。
図１０において、通信装置１０は、ルータ１０４を介して、高品質ネットワークＣに接続され、さらに、ルータ１０４、高品質ネットワークＣを経由し、ルータ１０５を介して、高品質ネットワークＤに接続される。
通信装置１０は、同一ネットワークに接続される通信装置１０１を通信パケットの送信先とすることができる。通信装置１０はさらに、高品質ネットワークＣに接続される通信装置１０２、高品質ネットワークＤに接続される通信装置１０３を、それぞれ通信パケットの送信先とすることができる。
通信装置１０２は、ＩＰアドレス「１９２．１６８．９１．３６」を有し、接続先の高品質ネットワークＣへのネットワークインタフェースには、ＩＰアドレス「１９２．１６８．９１．０／２４」が割り当てられているものとする。同様に、通信装置１０３は、ＩＰアドレス「１７２．１１．５５．９２」を有し、接続先の高品質ネットワークＤへの根とワークインタフェースには、ＩＰアドレス「１７２．１１．０．０／１６」が割り当てられているものとする。
【００４４】
図１２は、実施形態２において通信装置１０が参照する送信先ネットワークテーブルおよびヘッダ書換テーブルの構成の一例を示す。
図１０において、送信先ネットワークテーブル１２１は、通信装置１０が通信パケットを送信する送信先ＩＰアドレスと、対応するヘッダ書換テーブルのＩＤとを定義する。図１０の送信先ネットワークテーブル１２１は、送信先アドレスとして、図１０の高品質ネットワークＣの送信先ＩＰアドレス「１９２．１６８．９１．０／２４」のエントリを含む。さらに送信先ネットワークテーブル１２１は、高品質ネットワークＤの送信先ＩＰアドレス「１７２．１１．０．０／１６」のエントリを含む。なお、送信先ネットワークテーブル１２１の送信先アドレスは、通信パケットのＩＰヘッダの宛先アドレス（Ｄｅｓｔｉｎａｔｉｏｎ  Ａｄｄｒｅｓｓ）フィールドから取得することができる。
【００４５】
送信先ネットワークテーブル１２１で、高品質ネットワークＣの送信先ＩＰアドレス「１９２．１６８．９１．０／２４」が選択された場合、高品質ネットワークＣ用のヘッダ書換テーブル４４が参照される。一方、高品質ネットワークＤの送信先ＩＰアドレス「１７２．１１．０．０／１６」が選択された場合、高品質ネットワークＤ用のヘッダ書換テーブル４５が参照される。
ヘッダ書換テーブル４４、４５は、図４に示すヘッダ書換テーブルと同様のエントリーを有する。すなわち、ヘッダ書換テーブル４４、４５は、高品質ネットワークに実装されるプロトコル、宛先ポート番号、および送信元ポート番号の組み合わせに対して、ＩＰヘッダに設定すべきＱｏＳパラメータを定義する。図１２では、ＱｏＳパラメータとして、ＴＯＳおよびＴＴＬ（ＩＰｖ４）、またはＴＣＬＡＳＳおよびＨｏｐ  Ｌｉｍｉｔ（ＩＰｖ６）が定義されている。
図１０に示す送信先ネットワークテーブル１２１およびヘッダ書換テーブル４４、４５は、通信装置１０が通信パケットを送信する送信先ネットワークが要求する通信パケットの品質に関する特性の仕様に応じて、予め登録しておく。
【００４６】
図１１は、実施形態２に係る通信装置１０が実行する通信パケット生成および送信処理の処理手順の一例を示すフローチャートである。図３に示す実施形態１に係る通信装置１が実行する処理に対して、Ｓ３で接続ネットワークテーブルに接続先ネットワークへのネットワークインタフェースアドレスがない場合の処理として、Ｓ１０およびＳ１１が追加されている。
【００４７】
通信装置１０が図１０に示す複数のネットワークに接続され、ＤＨＣＰサーバ等を介してＩＰアドレス「１９２．１６８．１．２６」が割り当てられている場合を例として説明する。この通信装置１０が、ルータ１０４を介して高品質ネットワークＣに接続し、ＩＰアドレス「１９２．１６８．９１．３６」を有する通信装置１０２と通信するものとする。
図１１を参照して、Ｓ１で、通信装置１０のアプリケーションがソケットＡＰＩを介してパケット送信要求を呼び出すと、ネットワークスタック５が、ＴＣＰ／ＩＰ等の通信プロトコル処理を実行して、アプリケーションからの送信データをＩＰパケット化する。
Ｓ２で、通信装置１０の接続ネットワーク判定部１６は、自ホスト（通信装置１０）のＩＰアドレス「１９２．１６８．１．２６」を取得し、取得したＩＰアドレスを用いて図４の接続ネットワークテーブル４１を検索する。
Ｓ３で、通信装置１の接続ネットワーク判定部１６は、Ｓ２で取得された自ホストのＩＰアドレス「１９２．１６８．１．２６」に対応するエントリが接続ネットワークテーブル４１にないと判定し、Ｓ１０に進む。
【００４８】
Ｓ１０で、本実施形態では、接続ネットワークテーブルに自ホスト（通信装置１０）のＩＰアドレスのエントリがない場合、さらに、通信パケットの送信先アドレスをキーとして、図１２の送信先ネットワークテーブル１２１を検索する。
Ｓ１１で、通信パケットの送信先アドレスに対応するエントリが送信先ネットワークテーブル１２１にあるか否かを判定する。送信先アドレスに対応するエントリが送信先ネットワークテーブル１２１にある場合（Ｓ１１：Ｙ）、Ｓ４に進み、図３を参照して説明したＳ４からＳ８のＩＰヘッダ書換処理を実行する。一方、送信先アドレスに対応するエントリが送信先ネットワークテーブル１２１にない場合（Ｓ１１：Ｎ）、Ｓ９に進んで、ＩＰパケット書換処理は実行されない。
【００４９】
ここで、通信装置１０２を送信先とする通信パケットの送信先アドレスは「１９２．１６８．９１．３６」である。このため、「１９２．１６８．９１．０／２４」のエントリに対応するネットワーク（高品質ネットワークＣ）であることが分かる。このため、Ｓ４で、高品質ネットワークＣのＩＰヘッダを書き換えるためのヘッダ書換テーブル４４が選択される。
以下、Ｓ４からＳ９までの処理は、図３と同様である。
【００５０】
次に、図１０に示す、ＩＰアドレス「１９２．１６８．１．２６」を有する通信装置１０が、高品質ネットワークＤに接続し、ＩＰアドレス「１７２．１１．５５．９２」を有する通信装置１０３と通信する場合を説明する。
この場合は、Ｓ１１で、送信先ネットワークテーブル１２１から、パケットの送信先アドレス「１７２．１１．５５．９２」に対応する送信先アドレス「１７２．１１．０．０／１６」のエントリが選択され、Ｓ４で、ヘッダ書換テーブル４５が選択される。
一方、図１０に示す、ＩＰアドレス「１９２．１６８．１．２６」を有する通信装置１０が、通信装置１０と同一の通常ネットワークに接続し、ＩＰアドレス「１９２．１６８．１．１」を有する通信装置１０１と通信する場合を説明する。
この場合は、Ｓ１１で、送信先ネットワークテーブル１２１に、パケットの送信先アドレス「１９２．１６８．１．１」に対応するエントリがないため、Ｓ９に進み、ＩＰヘッダを書き換えずにＩＰパケットを送信する。
【００５１】
なお、上記では、通信装置１０が図１２の送信先ネットワークテーブル１２１およびヘッダ書換テーブル４４、４５を参照してヘッダ書換処理を実行する例を説明したが、本実施形態はこれに限定されない。
例えば、ルータ１０４が、ＩＰヘッダ書換部１５および送信先ネットワーク判定部１８を備え、図１２に示す送信先ネットワークテーブル１２１およびヘッダ書換テーブル４４、４５を参照してもよい。この場合、通常ネットワークと高品質ネットワークＣとを中継するルータ１０４が、通信パケットをネットワーク間で中継する際に、送信先ネットワークの判定を実行して、ポート番号やプロトコルに応じてヘッダの書き換えを実行すればよい。
また、図１１では、Ｓ３で接続先ネットワークテーブル４１に自ホスト（通信装置１０）のＩＰアドレスのエントリーがない場合に、Ｓ１０で送信先ネットワークテーブル１２１を検索する例を説明したが、本実施形態はこれに限定されない。
例えば、接続先ネットワークテーブル４１中での、自ホストのＩＰアドレスのエントリー有無にかかわりなく送信先ネットワークテーブル１２１を検索し、ヘッダ書換テーブルの選択の際に、どのヘッダ書換テーブルを優先するかの優先制御を実行してもよい。
【００５２】
以上説明したように、本実施形態では、通信装置は、通信パケットの送信先ネットワークを判定する。そして、通信装置は、送信先ネットワークの通信プロトコルごとに通信パケットの品質に関する特性を定義するヘッダ書換テーブルを参照し、このテーブルに定義された通信パケットの品質に関する特性で、送信すべき通信パケットのヘッダを書き換える。
これにより、例えば、家庭内ＬＡＮやＳＯＨＯに接続する通信装置が、ルータを介して高品質ネットワークに接続されている場合等に、通信パケットの送信先のネットワークに適した通信パケットの品質に関する設定を適切かつ効率的に実行することができる。  
【００５３】
（実施形態３）
以下、実施形態３を、図１３から図１８を参照して、上記の各実施形態と異なる点についてのみ詳細に説明する。本実施形態は、ＩＰｖ６プロトコルを使用する通信装置において、１つのネットワークＩ／Ｆに複数のＩＰｖ６グローバルアドレスが割り当てられる場合に、パケット通信の所望の品質を維持可能なグローバルアドレスを選択して通信パケットのヘッダに設定する。
これにより、例えば、高品質ネットワークと通常ネットワークとが混在するネットワーク環境において、動画等の品質を要求するサービスを提供する相手通信装置から送信される応答パケットの取得経路を指示し、応答パケットの品質を維持することができる。
なお、本実施形態において選択される、パケット通信の所望の品質を維持可能な通信装置のグローバルアドレスも、通信パケットの品質に関する情報であって、通信パケットの通信特性に含まれるものとする。
【００５４】
図１３は、本実施形態に係る通信装置のハードウエア構成および機能構成の一例を示す図である。
本実施形態に係る通信装置１００は、図９に示す実施形態２の通信装置１０の構成に加えて、送信元アドレス選択部１９をさらに備える。
送信元ネットワーク選択部１９は、通信パケットの送信先ネットワークの判定結果から、判定された送信先ネットワークに対応する送信元ＩＰｖ６グローバルアドレスを、複数のＩＰｖ６グローバルアドレスから選択する。ＩＰヘッダ書換部１５は、送信元ネットワーク選択部１９により選択された送信元ＩＰｖ６グローバルアドレスを、送信すべき通信パケットのＩＰヘッダ中の送信元ＩＰアドレスに設定する。
【００５５】
図１４は、通信装置１００が、高品質ネットワークＨに接続され、高品質ネットワークＨがルータを介して通常ネットワークおよび高品質ネットワークＩにそれぞれ接続された状態を示す。図１４に示すネットワークは、ＩＰｖ６で構成されている。
具体的には、図１４において、通信装置１００は、ＤＨＣＰなしでデフォルト使用可能な、かつローカルネットワーク内でのみ有効であるリンクローカルアドレス１００ａ「fe80::200:ff:fe00:112」を有する。通信装置１００にはさらに、複数のＩＰｖ６グローバルアドレス１００ｂ「3ffe:5::200:ff:fe00:112」、「3ffe:4::200:ff:fe00:112」が付与されている。これらのＩＰｖ６グローバルアドレス１００ｂは、高品質ネットワークＨと通常ネットワークを中継するルータ１４３および高品質ネットワークＨと高品質ネットワークＩを中継するルータ１４４からそれぞれ受信するルータ・アドバタイジングで指定される。
【００５６】
通常ネットワークに接続する通信装置１４１は、ＩＰｖ６グローバルアドレス「3ffe:1::200:ff:fe00:1201」を有し、Ｗｅｂ等の通常のサービスを提供するものとする。
一方、高品質ネットワークＩに接続する通信装置１４２は、ＩＰｖ６グローバルアドレス「3ffe:3:200:ff:fe00:1203」を有し、例えば動画配信等、通信パケットに所定の品質を要求するサービスを提供するものとする。通信装置１４２は、通信パケット（応答パケット）を送信する際に、この通信パケットの送信先ＩＰアドレスのプレフィクスを参照する。この通信パケットの送信先ＩＰアドレスのプレフィクスが、高品質ネットワークを示していればルータ１４４へ、通常ネットワークを示していればルータ１４５へ、通信パケットを送信するよう設定されている。このような経路設定は、ルーティングテーブルを利用することで実現することができる。
【００５７】
図１７は、実施形態３において通信装置１００が参照する送信元アドレスプレフィクステーブルの構成の一例を示す。
図１７において、送信元アドレスプレフィクステーブル１７１は、通信装置１００が通信パケットを送信するネットワークのＩＰｖ６アドレス（送信先アドレス）と、対応するヘッダ書換テーブルのＩＤと、対応する送信元アドレスプレフィクスとを定義する。図１７の送信元アドレスプレフィクステーブル１７１は、２つのエントリ「3ffe:5::/64」、「3ffe:3::/64」を有し、それぞれ高品質ネットワークＨ、Ｉの送信先アドレスに対応する。
送信元アドレスプレフィクステーブル１７１は、送信先アドレスが高品質ネットワークを示す場合（「3ffe:5::/64」、「3ffe:3::/64」）に、高品質ネットワークのルータ１４４から通知されたプレフィクス「3ffe:5::/64」を選択するように登録しておく。
【００５８】
次に、本実施形態の動作を説明する。通信装置１００は、ネットワーク起動時、まずＩＰｖ６リンクローカルアドレス１００ａ「fe80::200:ff:fe00:112」を自ホストのＩＰアドレスとして設定する。その後、高品質ネットワークＩのルータ１４４から、ＩＰｖ６プレフィクスアドレス「3ffe:5::/64」を通知されると、ＩＰｖ６グローバルアドレス１００ｂの１番目「3ffe:5::200:ff:fe00:112」を、自ホストに設定する。通常ネットワークのルータ１４３から、ＩＰｖ６プレフィクスアドレス「3ffe:4::/64」を通知されると、ＩＰｖ６グローバルアドレス１００ｂの２番目「3ffe:4::200:ff:fe00:112」を、自ホストに設定する。なお、このＩＰｖ６アドレス付与の動作詳細は、ＲＦＣ４８６２に記述されている。上記の動作の結果、通信装置１００は、図１７に示すように、１つのリンクローカルアドレス１００ａと、２つのＩＰｖ６グローバルアドレス１００ｂの３つのＩＰアドレスを持つ。
【００５９】
通信装置１００が、ＩＰｖ６グローバルアドレス「3ffe:3::200:ff:fe00:1203」を有する通信装置１４２に対してパケットを送信する場合を考える。この場合、送信先アドレスは、ＩＰｖ６グローバルアドレスである。このため、通信装置１００のネットワークスタック５は、自ホストの送信元アドレスとして、ＩＰｖ６グローバルアドレス１００ｂ「3ffe:5::200:ff:fe00:112」および「3ffe:4::200:ff:fe00:112」のうち、本来いずれを選択してもよい。ここで、通信装置１００が、２つのＩＰｖ６グローバルアドレス１００ｂのうち、「3ffe:4::200:ff:fe00:112」を選択し、自ホストの送信元アドレスとして通信パケットのＩＰヘッダに設定して通信パケット送信したものと仮定する。
【００６０】
この場合、通信パケットを受信した通信装置１４２は、通信装置１００に対して応答パケットを送信する際、送信すべき応答パケットの送信先アドレスに通信装置１００が送信した通信パケットに設定された送信元アドレスを設定することになる。すなわち、通信装置１４２は、応答パケットの送信先アドレスに、「3ffe:4::200:ff:fe00:112」を設定する。このため、通信装置１００への応答パケットは、ルータ１４５へ送信され、通常ネットワークを経路として高品質ネットワークＨに接続されている通信装置１００に送信される。その結果、通信装置１４２からの応答パケットは、高品質なネットワーク環境を利用することができなくなってしまう。本実施形態では、このようなパケット通信における品質劣化を回避するため、高品質なパケット通信を維持可能な送信元アドレスを選択する。
【００６１】
＜通信装置１００の送信元アドレス選択処理の処理手順＞
図１５は、実施形態３において通信装置１００が実行する通信パケット生成および送信処理の概略処理手順の一例を示すフローチャートであり、図１６は、図１５の送信元アドレス選択処理（S１５２）の詳細処理手順の一例を示すフローチャートである。
図１５を参照して、Ｓ１５１で、アプリケーションから、ＴＣＰまたはＵＤＰパケット送信要求があると、Ｓ１５２で、通信装置１００の送信元アドレス選択部１９は、通信パケットのＩＰヘッダに設定すべき送信元アドレスを選択する。この送信元アドレス選択処理の詳細は、図１６を参照して後述する。
【００６２】
Ｓ１５３で、通信装置１００のネットワークスタック５は、ＴＣＰまたはＵＤＰのヘッダを生成し、生成したＴＣＰまたはＵＤＰヘッダをアプリケーションから受け渡されたデータ（ペイロード）に付加して、ＴＣＰまたはＵＤＰパケット化する。
Ｓ１５４で、通信装置１００のネットワークスタック５は、ＩＰヘッダを生成し、Ｓ１５３で生成されたＴＣＰまたはＵＤＰパケットに付加して、ＩＰパケット化する。このとき、ＩＰヘッダ書換部１５は、送信元アドレス選択部１９が選択した送信元アドレスを、ＩＰヘッダの送信元アドレスフィールドに設定する。
【００６３】
次に、図１６を参照して、図１５のＳ１５２の送信元アドレス選択処理を詳述する。
送信元アドレス選択処理が開始すると、Ｓ１５２１で、通信装置１００の送信元アドレス選択部１９は、送信元アドレスがリンクローカルアドレスか否かを判定する。送信元アドレスがリンクローカルアドレスでない場合（Ｓ１５２１：Ｎ）、Ｓ１５２２に進む。
一方、送信元アドレスがリンクローカルアドレスである場合（Ｓ１５２１：Ｙ）、Ｓ１５２６に進んでこのリンクローカルアドレス「fe80::200:ff:fe00:112」を選択し、Ｓ１５２８に進んで送信元アドレス選択処理を終了する。
なお、送信元アドレスがユニキャストである場合、送信元アドレスの先頭１０ビットをマスクした値が「fe80::」であれば、リンクローカルアドレスであると判定することができる。
【００６４】
Ｓ１５２１で送信元アドレスがリンクローカルアドレスでない場合、Ｓ１５２２で、通信装置１００の送信元アドレス選択部１９は、送信元アドレスプレフィクステーブル１７１を検索する。この送信元アドレスプレフィクステーブル１７１は、送信先ネットワークのアドレスから、送信元アドレスのプレフィクスを選択するためのテーブルである。
Ｓ１５２３で、通信装置１００の送信元アドレス選択部１９は、送信元アドレスプレフィクステーブル１７１に、送信先アドレスに対応するエントリがあるか否かを判定する。送信元アドレスプレフィクステーブル１７１に、送信先アドレスに対応するエントリがある場合（Ｓ１５２３：Ｙ）、Ｓ１５２４に進む。一方、送信元プレフィクステーブル１７１に、送信先アドレスに対応するエントリがない場合（Ｓ１５２３：Ｎ），Ｓ１５２７に進み、複数のＩＰｖ６グローバルアドレスの中から、任意の送信元アドレスを選択して、Ｓ１５２８で送信元アドレス選択処理を終了する。
【００６５】
Ｓ１５２３に戻り、送信元アドレスプレフィクステーブル１７１に、送信先アドレスに対応するエントリがある場合、Ｓ１５２４で、選択されたエントリに対して規定された送信元アドレスのプレフィクスに該当するアドレスがあるか否かを判定する。
選択された送信元アドレスのプレフィクスに該当するアドレスを、通信装置１００が有していた場合（Ｓ１５２４：Ｙ）、Ｓ１５２５に進み、プレフィクスに該当する自ホストのアドレスを送信元アドレスとして選択して、送信元アドレス選択処理を終了する。
一方、選択された送信元アドレスのプレフィクスに該当するアドレスを、通信装置１００が有していない場合（Ｓ１５２４：Ｎ）、Ｓ１５２７に進む。
【００６６】
例えば、送信先アドレスが通信装置１４２である場合、送信先の高品質ネットワークＩのアドレスは「3ffe:3::/64」であるから、送信元アドレスプレフィクステーブル１７１の２番目のエントリ「3ffe:3::/64」と一致する。このため、通信装置１００の送信元アドレス選択部１９は、送信元アドレスのプレフィクスを「3ffe:5::/64」とすればよいことが分かる。
通信装置１００に付与された３つのアドレス１００ａ、１００ｂのうち、「3ffe:5::/64」と一致するＩＰｖ６グローバルアドレスは、「3ffe:5::200:ff:fe00:112」であるので、Ｓ１５２５で、「3ffe:5::200:ff:fe00:112」が送信元アドレスとして選択される。
【００６７】
一方、通信装置１００から、ＩＰｖ６グローバルアドレス「3ffe:1::200:ff:fe00:1201」を有する通信装置１４１にパケットを送信する場合、図１７の送信先アドレスプレフィクステーブルには、該当する送信元アドレスのエントリがない。このため、通信装置１００の送信元アドレス選択部１９は、通信装置１００に付与されたＩＰｖ６グローバルアドレスの中から、任意のアドレスを送信元アドレスとして選択する。
例えば、高品質ネットワークＨと高品質ネットワークＩとが接続されていない場合、通信装置１００は、ルータ１４４からのルータ・アドバタイジング信号を受信しない。このため、通信装置１００に付与されるアドレスは、リンクローカルアドレス「fe80::200:ff:fe00:112」とＩＰｖ６グローバルアドレス「3ffe:4::200:ff:fe00:112」の２つとなる。
【００６８】
この場合、通信装置１００が、ＩＰｖ６グローバルアドレス「3ffe:3::200:ff:fe00:1203」を有する通信装置１４２に通信パケットを送信しようとすると、送信元アドレスプレフィクステーブル１７１には送信先アドレスに該当するエントリ「3ffe:3::/64」がある。しかしながら、この送信先アドレスエントリ「3ffe:3::/64」に対応して規定される送信元アドレスのプレフィクス「3ffe:5::/64」と一致するアドレスを通信装置１００は有していない。このため、Ｓ１５２７で、通信装置１００の送信元アドレス選択部１９は、使用可能なＩＰｖ６グローバルアドレスの中から、送信元アドレスを選択する。  
ここで、通常ネットワークに接続する通信装置１４１にパケットを送信する場合、Ｓ１５２７で、通信装置１００の高品質ネットワークＨのＩＰｖ６アドレスが選択されたとしても問題はない。これは、通信装置１４１から送信される応答パケットが高品質を要求するものではなく、従って、ＩＰｖ６パケットのＴＣＬＡＳＳフィールドを書き換える必要は生じず、通常のパケットとして取り扱われるためである。
【００６９】
通信装置１００の送信元アドレス選択部１９を上記のように構成することで、通信装置１００が高品質ネットワークＩに接続された通信装置１４２にパケットを送信する場合、相手通信装置から送信される応答パケットの所望の品質を維持することができる。
すなわち、高品質ネットワークＩへの通信パケットに設定すべき送信元アドレスとして、「3ffe:5::200:ff:fe00:112」が選択されるため、このパケットを受信した通信装置１４２からの応答パケットを、高品質ネットワークのアドレス宛に送信することができる。
【００７０】
図１８は、本実施形態に係る通信装置１００が参照する、送信先ネットワークテーブル１８１と、ヘッダ書換テーブル１８２〜１８４の構成の一例を示す。
図１４に示すようなネットワーク構成を採用する場合、ルータに設定されるルーティングテーブルの設定をいずれかで誤ってしまうと、パケットが、高品質ネットワークＨ、Ｉ、および通常ネットワークの間で、不所望にループする可能性がある。
これに対して、図１８に示すように、ヘッダ書換テーブル１８２〜１８４のＨｏｐ  Ｌｉｍｉｔフィールド（ＩＰｖ４の場合はＴＴＬフィールド）の値を小さく設定して、通信パケットを送信すればよい。これにより、ルータやネットワークの負荷を軽減することができる。
なお、図１８に示すように、それぞれの高品質ネットワークに対応するヘッダ書換テーブル１８２、１８３に加えて、すべてのネットワークについてＱｏＳパラメータのデフォルト値を規定するデフォルトヘッダ書換テーブル１８４を別途設けてもよい。
【００７１】
以上説明したように、本実施形態によれば、ＩＰｖ６プロトコルを使用する通信装置において、１つのネットワークＩ／Ｆに複数のＩＰｖ６グローバルアドレスが割り当てられる場合に、パケット通信の所望の品質を維持可能なグローバルアドレスを選択する。そして、選択されたグローバルアドレスを通信パケットのヘッダに設定する。
これにより、例えば、高品質ネットワークと通常ネットワークとが混在するネットワーク環境において、動画等の品質を要求するサービスを提供する相手通信装置から送信される応答パケットの取得経路を指示し、応答パケットの品質を維持することができる。
【００７２】
＜他の実施形態＞
なお、上述した各実施形態は、その複数を組み合わせて実現することが可能である。
また、本発明は、上述の実施形態の一部または１以上の機能を実現するプログラムによっても実現可能である。すなわち、そのプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータ（またはＣＰＵやＭＰＵ等）における１つ以上のプロセッサがプログラムを読出し実行する処理により実現可能である。また、そのプログラムをコンピュータ可読な記録媒体に記録して提供してもよい。
また、コンピュータが読みだしたプログラムを実行することにより、実施形態の機能が実現されるものに限定されない。例えば、プログラムの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって上記した実施形態の機能が実現されてもよい。
【符号の説明】
【００７３】
１、１０、１００…通信装置、１１…ＤＲＡＭ、１２…ＣＰＵ、１３…ＲＯＭ、１４…ＬＡＮ制御部、１５…ＩＰヘッダ書換部、１６…接続ネットワーク判定部、１７…ネットワーク、１８…送信先ネットワーク判定部、１９…送信元アドレス選択部、４１…接続ネットワークテーブル、４２、４３、４４、４５…ヘッダ書換テーブル、１２１…送信先ネットワークテーブル、１７１…送信元アドレスプレフィクステーブル
【図１】
2019134238.tif 000003
【図２】
2019134238.tif 000004
【図３】
2019134238.tif 000005
【図４】
2019134238.tif 000006
【図５】
2019134238.tif 000007
【図６】
2019134238.tif 000008
【図７】
2019134238.tif 000009
【図８】
2019134238.tif 000010
【図９】
2019134238.tif 000011
【図１０】
2019134238.tif 000012
【図１１】
2019134238.tif 000013
【図１２】
2019134238.tif 000014
【図１３】
2019134238.tif 000015
【図１４】
2019134238.tif 000016
【図１５】
2019134238.tif 000017
【図１６】
2019134238.tif 000018
【図１７】
2019134238.tif 000019
【図１８】
2019134238.tif 000020