(57)【要約】【課題】ＩＰｖ６を用いて通信を行うホストは、受信したパケットが自ホスト宛のものであるかどうかはＩＰｖ６アドレスを用いて比較する。比較するアドレスの大きさがＩＰｖ４よりも大きいので、比較にかかる時間は長くなる。【解決手段】送信時には、宛先のＩＰｖ６アドレスが、０を省略した表記で表現可能である場合には、ＩＰｖ６アドレスを代替アドレスに変換し、ＩＰｖ６アドレスの長さより代替アドレスの長さが大きい場合には、送信パケットに代替アドレスを格納して送信する。また、受信時には、受信パケットに代替アドレスが格納されている場合には、自ホストのアドレスの比較を代替アドレスで行う。【選択図】　　　　図３
2004064492.tif 000002
【特許請求の範囲】
【請求項１】
省略形式で表現可能なＩＰｖ６アドレスを代替アドレスに変換する手段、代替アドレスとＩＰｖ６のアドレスとの長さの比較を行う手段、パケットに前記代替アドレスを格納する手段、パケットに代替アドレスが格納されているか否かを調べる手段、アドレス同士の比較手段を持ち、
送信時には、送信先のＩＰｖ６アドレスが代替アドレスで表現できかつ代替アドレスの長さが送信先のＩＰｖ６アドレスよりも短い場合には、代替アドレスを送信パケットに格納して送信し、受信時には、受信したパケットに代替アドレスが格納されている場合には、自ホストの代替アドレスと前記パケットに格納されている代替アドレスとを比較するよう構成したことを特徴とする通信装置。
【請求項２】
送信時には、宛先のＩＰｖ６アドレスが省略形式で表現可能である場合には、ＩＰｖ６アドレスを代替アドレスに変換し、ＩＰｖ６アドレスの長さより代替アドレスの長さが大きい場合には、送信パケットに代替アドレスを格納して送信し、
受信時には、受信パケットに代替アドレスが格納されている場合には、自ホストのアドレスの比較を代替アドレスで行うことを特徴とするパケットの送受信方法。
【請求項３】
コンピュータに、送信時には、ＩＰｖ６アドレスが省略形式で表現可能である場合にはＩＰｖ６アドレスを代替アドレスに変換し、ＩＰｖ６アドレスの長さより代替アドレスの長さが大きい場合には、送信するパケットに代替アドレスを格納して送信する手順、受信時には、受信パケットに代替アドレスが格納されている場合には、自ホストのアドレスの比較を代替アドレスで行う手順を実行させることを特徴とするプログラム、または、該プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＩＰｖ６を用いて通信する通信装置に関するものである。
【０００２】
【従来の技術】
ＴＣＰ／ＩＰ通信で使用するネットワーク層のプロトコルとして、ＩＰ（Ｉｎｔｅｒｎｅｔ　Ｐｒｏｔｏｃｏｌ）がある。現時点ではＩＰバージョン４（以下ＩＰｖ４と記す）が広く使用されているが、近年アドレスの枯渇の懸念や経路情報の増大から、ＩＰバージョン６（以下ＩＰｖ６と記す）が注目されている。
【０００３】
ＩＰｖ４とＩＰｖ６の最も大きな違いはそのＩＰアドレスの大きさで、ＩＰｖ４では３２ｂｉｔ、ＩＰｖ６では１２８ｂｉｔである。
【０００４】
【発明が解決しようとする課題】
ＩＰｖ６を用いて通信を行うホストは、受信したパケットが自ホスト宛のものであるかどうかはＩＰｖ６アドレスを用いて比較する。比較するアドレスの大きさがＩＰｖ４よりも大きいので、比較にかかる時間は長くなる。
【０００５】
【課題を解決するための手段】
ＩＰｖ６アドレスは、ｆｅ８０：００００：００００：００００：００００：００００：ｆｅ８２：ｆ６ａ２のように１２８ｂｉｔを１６ｂｉｔずつコロンで区切って表記する。ＩＰｖ６アドレスは広大であるが、現在はそのごく一部を使っているに過ぎないので、０が連続する場合が多い。この時表記の規約により、ｆｅ８０：：ｆｅ８２：ｆ６ａ２のように０を省略して書くことができる。この時、０を省略した個所は：：のようにコロンが連続している部分である。省略個所は１個所と決められており、またＩＰｖ６アドレスの長さは固定であるので、いくつ０が省略されたかを求めることができる。
【０００６】
本発明ではこの記述法を利用し、送信時には相手のアドレスの０を省略したアドレスをパケットの末尾に付加し、受信時にはパケットの末尾に０を省略したアドレスが付加されていれば、このアドレスを用いて比較することで、アドレスの比較にかかる時間を短くしようとするものである。
【０００７】
【発明の実施の形態】
本発明を、ネットワークのプロトコルを、ソフトウエアを用いて取り扱う通信装置に実施した形態を説明する。
【０００８】
図１にＩＰｖ６の受信処理のフローチャート、図２にＩＰｖ６の送信処理のフローチャート、図３に本発明の形態に適応したパケット、図４に通常のパケット、図５にＩＰｖ６を用いて通信する情報機器（ホストＡ、Ｂ）の外観図を示す。図５において、４０１Ａ、Ｂはディスプレイ、４０２Ａ、Ｂは情報機器本体、４０３Ａ、Ｂはキーボード、４０４はイーサネット（Ｒ）である。なお、図５において、添え字のＡ、Ｂは、ホストＡ、Ｂの構成要素であることを示す。図６に於いて、４０１は、ディスプレイ、４０２１は、情報機器本体のＣＰＵ、４０２２は、情報機器本体のメモリ、４０４１は、イーサネット（Ｒ）４０４を接続するためのネットワークインターフェースである。図１、図２のフローチャートは、ＣＰＵ４０２１のプログラムの一部を示し、このプログラムは、メモリ４０２２に格納されている。ＣＰＵ４０２１は、このプログラムをメモリ４０２２から読出して、このプログラムに従った処理を実行することにより、ホストＡ、Ｂは、図１、２に示される動作を行なう。ホストＡ、Ｂは、夫々、送信時には、ＩＰｖ６パケット作成時に、図２に示される動作を行ない、受信時には、図１に示されるＩＰｖ６受信処理を行う。
【０００９】
図４のホストＡのＩＰｖ６アドレスがｆｅ８０：００００：００００：００００：００００：００００：ｆｅ８２：ｆ６ａ２、ホストＢのＩＰｖ６アドレスはｆｅ８０：００００：００００：００００：００００：００００：ｆｅ９２：ｄ６ｂ６であるとする。ホストＡとＢはＴＣＰ／ＩＰとして知られるプロトコルのうち、ＵＤＰ及びＩＰｖ６プロトコルで、イーサネット（Ｒ）を利用して通信するものとする。送信するデータに、ＵＤＰヘッダ、ＩＰｖ６ヘッダ、イーサネット（Ｒ）ヘッダと順にヘッダをつけていくことでパケット化する（図３）。図２はＩＰｖ６パケットを作成する部分のフローチャートである。
【００１０】
ホストＡ、ホストＢともに、ネットワーク起動時にあらかじめ代替アドレスを求めておく。
【００１１】
ホストＡがホストＢにパケットを送信するとする。ＵＤＰパケット作成処理においてＵＤＰのデータを作成後、図２に示すように、ＩＰｖ６パケットの作成を行う（ｓｔｅｐ　２０１）。ＩＰｖ６パケットの作成では、まず、ＩＰヘッダを付加する（ｓｔｅｐ　２０２）。ＩＰｖ６ヘッダで示されるＩＰｖ６パケットのサイズは、図３のＣ又は図４のＭである。次に、送信先のアドレスが省略形式で表現可能であるか調べる。
【００１２】
ホストＢのアドレスはｆｅ８０：００００：００００：００００：００００：００００：ｆｅ９２：ｄ６ｂ６である。このアドレスを実際のＩＰアドレスのデータとして表現すると、０ｘｆｅ　０ｘ８０　０ｘ００　０ｘ００　０ｘ００　０ｘ００　０ｘ００　０ｘ００　０ｘ００　０ｘ００　０ｘ００　０ｘ００　０ｘｆｅ　０ｘ９２　０ｘｄ６　０ｘｂ６となる。
【００１３】
ｆｅ８０：００００：００００：００００：００００：００００：ｆｅ９２：ｄ６ｂ６を、０を省略した表記にすると、ｆｅ８０：：ｆｅ９２：ｄ６ｂ６である。この短いアドレスをＩＰｖ６の代替アドレスとして変換するために、本形態では、０を省略しているので、省略した個所を示す‘‘：：’’の代わりに０ｘ００を用いることにする。ここで、送信先のアドレスが省略形式で表現可能であるかとは、０を省略した表記で表現可能であるか、すなわち、「：００００：」を含むか、どうかである。また、００を省略することでアドレスの長さが変わるので、アドレスの終端が分からなければならない。本形態では、アドレスの終端を示すデータとして、０ｘ００を用いることにする。すると、ｆｅ８０：：ｆｅ９２：ｄｂｂ６は、「００を省略した代替アドレス」のデータとして表現すると、０ｘｆｅ　０ｘ８０　０ｘ００　０ｘｆｅ　０ｘ９２　０ｘｄｂ　０ｘｂ６　０ｘ００となる。こうして作成したＩＰｖ６アドレスのデータと００を省略した代替アドレスの長さを比較する（ｓｔｅｐ　２０３）。その結果、ここでは、省略した方が短いので、代替アドレスを採用する。
【００１４】
そして、図３に示すように、この代替アドレスをパケットの末尾に付加する（ｓｔｅｐ　２０５）。代替アドレスを付加したサイズを、イーサネット（Ｒ）に送信すべきパケットのサイズとし（ｓｔｅｐ　２０６）、イーサネット（Ｒ）の処理ルーチンに渡す。ただし、ＩＰｖ６ヘッダで示されるＩＰｖ６パケットのサイズは、図３のＣである。そしてイーサネット（Ｒ）処理ルーチンは、イーサネット（Ｒ）ヘッダを付加したパケットをイーサネット（Ｒ）４０４に出力する。
【００１５】
ｓｔｅｐ　２０３で代替アドレスを使用しないと判断した場合は、ＩＰｖ６ヘッダを付加したパケットを、そのままイーサネット（Ｒ）処理ルーチンに渡す。この場合は、代替アドレスは、パケットの末尾には、付加されないので、イーサネット（Ｒ）に送信されるパケットは、図４示の構成となる。
【００１６】
通常はイーサネット（Ｒ）のチップが検知したイーサネット（Ｒ）パケットのサイズ（図４のＬ）から、イーサネット（Ｒ）ヘッダのサイズ（図４のＮ）を引いた値が、ＩＰｖ６ヘッダで示されるＩＰｖ６パケットサイズ（図４のＭ）と同じである。しかし、代替アドレスを付加した場合は、イーサネット（Ｒ）パケットのサイズ（図３のＡ）から、イーサネット（Ｒ）ヘッダのサイズ（図３のＥ）を引いた値（図３のＢ）が、ＩＰｖ６ヘッダで示されるＩＰｖ６パケットのサイズ（図３のＣ）より大きい。代替アドレスを受信するホスト（Ｂ）はこれを利用して代替アドレスがあるかどうかを判断する。
【００１７】
図１に示すように、パケットを受信したホストＢは、イーサネット（Ｒ）パケットの処理の後、ＩＰｖ６受信処理（ｓｔｅｐ　１０１）を行う。ＩＰｖ６受信処理では、イーサネット（Ｒ）パケットのサイズ（図３のＡ、あるいは、図４のＬ）からイーサネット（Ｒ）ヘッダのサイズ（図３のＥ、図４のＮ）を引いた値と、ＩＰｖ６ヘッダで示されるＩＰｖ６パケットのサイズ（図３のＣ、図４のＭ）を比較し、ＩＰｖ６ヘッダで示されるパケットサイズの方が小さければ、パケットの最後に代替アドレスが付加されていると判断する（ｓｔｅｐ　１０３）。
【００１８】
そして、代替アドレスが書かれている場合、自ホスト宛のパケットか否かのアドレス比較を、代替アドレス（０ｘｆｅ　０ｘ８０　０ｘ００　０ｘｆｅ　０ｘ９２　０ｘｄｂ　０ｘｂ６　０ｘ００）を用いて行う（ｓｔｅｐ　１０４）。この場合、比較の対象は、パケットの末尾に付加された代替アドレスである。また、代替アドレスが書かれていない場合、自ホスト宛のパケットか否かのアドレス比較を、ＩＰｖ６アドレス（０ｘｆｅ　０ｘ８０　０ｘ００　０ｘ００　０ｘ００　０ｘ００　０ｘ００　０ｘ００　０ｘ００　０ｘ００　０ｘ００　０ｘ０００ｘｆｅ　０ｘ９２　０ｘｄ６　０ｘｂ６）を用いて行う（ｓｔｅｐ　１０５）。この場合の比較の対象は、ＩＰｖ６ヘッダに書かれたＩＰｖ６アドレスである。自分宛のアドレスであれば（ｓｔｅｐ　１０６）、次のＵＤＰのパケット処理ルーチンにパケットを渡す（ｓｔｅｐ　１０７）。そうでなければ、パケットを廃棄する（ｓｔｅｐ　１０９）。
【００１９】
機器にＩＰｖ６アドレスを設定する場合は設定ファイルなどを用いて文字列で設定する場合が多い。この時のＩＰｖ６アドレスは、ｆｅ８０：：ｆｅ９２：ｄｂｂ６のような短い省略した表記で書かれるので、設定ファイルにＩＰｖ６アドレスが短い省略した表記で書かれた形態では、ホストは、これを利用することで容易に自ホストの代替アドレスを得る。
【００２０】
【発明の効果】
以上のようにＩＰｖ６を使用して通信を行う際、アドレスが省略可能であるか検知する手段、ＩＰｖ６アドレスを省略した形式の代替えアドレスがＩＰｖ６のアドレスより長いか否か判断する手段、送信パケットに代替えアドレスを格納する手段、受信したパケットに代替えアドレスが格納されているかどうか調べる手段を持ち、送信する場合には、送信先のアドレスが代替えアドレスで表現できかつ代替えアドレスの長さが短い場合には、送信パケットに代替えアドレスを格納して送信するように構成し、受信する場合には、受信パケットに代替えアドレスが格納されていれば、代替えアドレスと自ホストの代替えアドレスとを比較して自ホスト宛のパケットか否か調べるよう構成することで、受信時のアドレスの比較にかかる時間を短くするようにすることができる。
【図面の簡単な説明】
【図１】本発明の受信処理の自ホスト宛のパケットか否か調べる部分のフローチャートである。
【図２】本発明の送信処理の代替アドレスを使用するか否かを調べる部分のフローチャートである。
【図３】本発明を適用したパケットの例である。
【図４】通常のパケットの例である。
【図５】本発明を適用できる情報機器の外観図である。
【図６】本発明を適用できる情報機器のブロック図である。
【符号の説明】
４０２　情報機器本体
４０４　イーサネット（Ｒ）
【図１】
2004064492.tif 000003
【図２】
2004064492.tif 000004
【図３】
2004064492.tif 000005
【図４】
2004064492.tif 000006
【図５】
2004064492.tif 000007
【図６】
2004064492.tif 000008