(57)【要約】【課題】ＩＰｖ６ネットワーク上で、プレフィックス長が異なるノード間であってもパケットを宛先のノードに転送することができる中継装置を提供する。【解決手段】第１パケットを第１ノードから第２ノードへ中継する際、プレフィックスの値が異なる場合、第１パケットに含まれるアドレスを変換するＮＰＴ６６変換部４３と、変換前の第１アドレスと、変換後の第２アドレスとを関連付けて記憶するアドレス記憶部５１と、第２パケットを第２ノードから第１ノードへ中継する際、第２パケットの送信元と、第２パケットの送信先とでプレフィックスの値が異なる場合、第２パケットに含まれる送信先のアドレスが第２アドレスに含まれているか否かを判定するアドレス比較部５３と、アドレス比較部５３の判定結果に基づいて、第２パケットに含まれるアドレスを第１アドレスに書き換えるアドレス書き換え部５５と、を備えた。【選択図】図２
2015195522.tif 000002
【特許請求の範囲】
【請求項１】
ＩＰｖ６ネットワークの通信環境下に設けられ、ノード間でパケットを中継する中継装置であって、
第１パケットを第１ノードから第２ノードへ中継する際、前記第１パケットの送信元と、前記第１パケットの送信先とで、前記パケットの中継先の経路情報を含むプレフィックスの値が異なる場合、前記第１パケットに含まれるアドレスを変換すると判定する第１アドレス変換判定部と、
前記第１アドレス変換判定部の判定結果に基づいて、前記第１パケットに含まれるアドレスを変換するアドレス変換部と、
前記アドレス変換部で前記第１パケットに含まれるアドレスの変換前の第１アドレスと、変換後の第２アドレスとを関連付けて記憶するアドレス記憶部と、
第２パケットを前記第２ノードから前記第１ノードへ中継する際、前記第２パケットの送信元と、前記第２パケットの送信先とで前記プレフィックスの値が異なる場合、前記第２パケットに含まれるアドレスを変換すると判定する第２アドレス変換判定部と、
前記第２アドレス変換判定部により前記第２パケットに含まれるアドレスを変換すると判定した場合、前記第２パケットに含まれる送信先のアドレスが前記アドレス記憶部に記憶されている前記第２アドレスに含まれているか否かを判定するアドレス比較部と、
前記アドレス比較部の判定結果に基づいて、前記第２パケットに含まれるアドレスを前記第１アドレスに書き換えるアドレス書き換え部と、
を備えたことを特徴とする中継装置。
【請求項２】
前記アドレス変換部は、
前記第１パケットごとに、前記第１アドレスと、前記第２アドレスとをアドレスの組みとして前記アドレス記憶部に記憶させる
ことを特徴とする請求項１に記載の中継装置。
【請求項３】
前記アドレス書き換え部は、
前記第２パケットに含まれる送信先のアドレスが前記アドレス記憶部に記憶されている前記第２アドレスに含まれている場合、前記第２パケットに含まれるアドレスを前記第１アドレスに書き換え、
前記アドレス変換部は、
前記第２パケットに含まれる送信先のアドレスが前記アドレス記憶部に記憶されている前記第２アドレスに含まれていない場合、前記第２パケットに含まれるアドレスを変換する
ことを特徴とする請求項１に記載の中継装置。
【請求項４】
前記第１ノードは、
ＬＡＮ側の環境に設けられ、
前記第２ノードは、
ＷＡＮ側の環境に設けられた
ことを特徴とする請求項２又は３に記載の中継装置。
【請求項５】
前記パケットに含まれるアドレスは、
少なくとも、
前記プレフィックスと、
前記ＩＰｖ６ネットワークのうちで前記パケットの送信先が属する環境あるいは送信先端末を特定するサブネットと、を有し、
前記アドレス変換部は、
前記第１パケットを前記第１ノードから前記第２ノードへ中継する際、
前記第１アドレスに含まれる前記プレフィックスを、前記第２アドレスに含まれる前記プレフィックスに変換し、
前記第２パケットを前記第２ノードから前記第１ノードへ中継する際、
前記第２パケットに含まれる送信先のアドレスが前記アドレス記憶部に記憶されている前記第２アドレスに含まれていない場合、
前記第２アドレスに含まれる前記プレフィックスを、前記第１アドレスに含まれる前記プレフィックスに変換し、
前記第１パケット又は前記第２パケットを中継する際、
前記送信元と前記送信先とで前記プレフィックスの値が異なる場合、
前記第１アドレスに含まれる前記プレフィックスと、前記第２アドレスに含まれる前記プレフィックスと、の差分と、
前記送信元の前記サブネットと、
を加算したものを前記送信先の前記サブネットの領域に入れ込む
ことを特徴とする請求項１〜４の何れか一項に記載の中継装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中継装置に関し、特に、ＩＰｖ６ネットワーク上で、プレフィックス長が異なるノード間であってもパケットを宛先となっているノードに転送する中継装置に関する。
【背景技術】
【０００２】
例えば、ホームゲートウェイ（以下、ＨＧＷと称する）が２種類のＩＰｖ６ネットワークに接続されていると想定する。さらに、２種類のＩＰｖ６ネットワークのうち、一方のＩＰｖ６ネットワークは通信キャリアのネットワークであり、もう一方のＩＰｖ６ネットワークはインターネットサービスプロバイダのネットワークであると想定する。
【０００３】
上記のような想定の場合、２種類のＩＰｖ６ネットワークは、それぞれ別のＩＰｖ６アドレス空間で管理されており、両者の区別はプレフィックスによって行われる。具体的には、ＨＧＷは、２種類のＩＰｖ６ネットワーク上のそれぞれに設けられたＤＨＣＰｖ６サーバからアドレスの払い出しを受けることにより、２つのＩＰｖ６アドレスを有することとなる。
【０００４】
また、ＨＧＷは、ＩＰｖ６を使用する端末が接続されている。端末は、ＨＧＷからＩＰｖ６アドレスを割り付けられる。このとき、ＨＧＷは、それぞれのＩＰｖ６ネットワークから割り付けられたアドレスのうちの１つからプレフィックスを決定し、払い出すアドレスとする。
【０００５】
上記の前提で、ＨＧＷは、パケットの宛先を参照し、プレフィックスを元にルーティング等を実施する。ここで、ＨＧＷは、パケットをルーティングした結果、プレフィックスが異なる側のＩＰｖ６ネットワークへパケットを送信すると想定する。この想定の場合、ＨＧＷは、プレフィックスを単純に付け替えるだけでは、チェックサムの再計算が必要となるため、パケットの転送性能に影響が生じる恐れがある。
【０００６】
そこで、ＨＧＷは、ＮＰＴ６６と呼ばれる方式を使い、プレフィックスの書き換えを行う。具体的には、ＮＰＴ６６は、ＲＦＣ６２９６に記載されているＩＰｖ６アドレスの変換方式である。（例えば、非特許文献１参照）。
【０００７】
例えば、ＨＧＷは図６に示すような機能構成を備え、ＮＰＴ６６変換を行う。図６は、従来のＨＧＷの機能構成の一例を示す図である。図６に示すように、ＨＧＷは、アドレス変換判定部４１、ＮＰＴ６６変換部４３、及びアドレス変換判定部４５を備えている。ＨＧＷは、ＬＡＮ側に含まれる端末からパケットを送信する場合、端末のアドレスをパケットの送信元アドレスとしている。ＨＧＷは、アドレス変換判定部４１で判定を行い、宛先ネットワークがプレフィックスの異なるネットワークの場合、ＮＰＴ６６による変換を行う。
【０００８】
ここで、ＮＰＴ６６変換後のアドレスである仮想アドレスをパケットの宛先として対向端末からＨＧＷにパケットが送信された場合を想定する。ＨＧＷは、アドレス変換判定部４５で判定を行い、宛先が仮想アドレスである場合、宛先を仮想アドレスから元のアドレスにＮＰＴ６６を用いて変換する。ここで、ＨＧＷは、アドレスを元に戻す場合にプレフィックスが元の値になるときは、パケットに含まれるチェックサムの計算結果も同一になるため、アドレス全体として、端末の元のアドレスに戻すことができる。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】ＲＦＣ６２９６（ＩＰｖ６−ｔｏ−ＩＰｖ６  Ｎｅｔｗｏｒｋ  Ｐｒｅｆｉｘ  Ｔｒａｎｓｌａｔｉｏｎ）
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上記で説明したように、２種類のＩＰｖ６ネットワークからＨＧＷを介してそれぞれのＩＰｖ６アドレスの割り付けが端末２１に行われ、ＨＧＷは、ルーティングを行う際、必要に応じてプレフィックスの変換をＮＰＴ６６を用いて行う。
【００１１】
しかしながら、プレフィックス長がネットワークごとに異なる場合、プレフィックス長の設定によっては、ＮＰＴ６６による変換で宛先となっているノードにパケットを送信することができない恐れがあった。
【００１２】
具体的には、図７を用いて説明する。図７は、従来のＨＧＷでＮＰＴ６６変換をした場合に生じる事象の一例を説明する図である。図７に示すように、ネットワーク側のプレフィックス長の方が端末側のプレフィックス長よりも長くなる場合を想定する。この場合、ＨＧＷはネットワーク側からパケットを受信してプレフィックスを戻すとき、元のプレフィックスで上書きしたとしても、ネットワーク側のプレフィックスの方が長いため、ネットワーク側のプレフィックスが一部残ってしまう。よって、この場合、ＨＧＷは、プレフィックスを元に戻せない。この結果、ＨＧＷは、ネットワーク側から受信したパケットを端末に送信することができない。
【００１３】
なお、上記のように、ネットワーク間でプレフィックス長が異なる場合について、非特許文献１に記載の従来技術は動作の規定を開示していない。
【００１４】
したがって、ＩＰｖ６ネットワーク上で、プレフィックス長が異なるノード間であれば、パケットを宛先となっているノードに転送することができないという問題点があった。
【００１５】
そのため、ＩＰｖ６ネットワーク上で、プレフィックス長が異なるノード間であってもパケットを宛先となっているノードに転送することができる中継装置が望まれていた。
【課題を解決するための手段】
【００１６】
本発明に係る中継装置は、ＩＰｖ６ネットワークの通信環境下に設けられ、ノード間でパケットを中継する中継装置であって、第１パケットを第１ノードから第２ノードへ中継する際、前記第１パケットの送信元と、前記第１パケットの送信先とで、前記パケットの中継先の経路情報を含むプレフィックスの値が異なる場合、前記第１パケットに含まれるアドレスを変換すると判定する第１アドレス変換判定部と、前記第１アドレス変換判定部の判定結果に基づいて、前記第１パケットに含まれるアドレスを変換するアドレス変換部と、前記アドレス変換部で前記第１パケットに含まれるアドレスの変換前の第１アドレスと、変換後の第２アドレスとを関連付けて記憶するアドレス記憶部と、第２パケットを前記第２ノードから前記第１ノードへ中継する際、前記第２パケットの送信元と、前記第２パケットの送信先とで前記プレフィックスの値が異なる場合、前記第２パケットに含まれるアドレスを変換すると判定する第２アドレス変換判定部と、前記第２アドレス変換判定部により前記第２パケットに含まれるアドレスを変換すると判定した場合、前記第２パケットに含まれる送信先のアドレスが前記アドレス記憶部に記憶されている前記第２アドレスに含まれているか否かを判定するアドレス比較部と、前記アドレス比較部の判定結果に基づいて、前記第２パケットに含まれるアドレスを前記第１アドレスに書き換えるアドレス書き換え部と、を備えたものである。
【００１７】
本発明に係る中継装置において、前記アドレス変換部は、前記第１パケットごとに、前記第１アドレスと、前記第２アドレスとをアドレスの組みとして前記アドレス記憶部に記憶させるものである。
【００１８】
本発明に係る中継装置において、前記アドレス書き換え部は、前記第２パケットに含まれる送信先のアドレスが前記アドレス記憶部に記憶されている前記第２アドレスに含まれている場合、前記第２パケットに含まれるアドレスを前記第１アドレスに書き換え、前記アドレス変換部は、前記第２パケットに含まれる送信先のアドレスが前記アドレス記憶部に記憶されている前記第２アドレスに含まれていない場合、前記第２パケットに含まれるアドレスを変換するものである。
【００１９】
本発明に係る中継装置において、前記第１ノードは、ＬＡＮ側の環境に設けられ、前記第２ノードは、ＷＡＮ側の環境に設けられたものである。
【００２０】
本発明に係る中継装置において、前記パケットに含まれるアドレスは、少なくとも、前記プレフィックスと、前記ＩＰｖ６ネットワークのうちで前記パケットの送信先が属する環境あるいは送信先端末を特定するサブネットと、を有し、前記アドレス変換部は、前記第１パケットを前記第１ノードから前記第２ノードへ中継する際、前記第１アドレスに含まれる前記プレフィックスを、前記第２アドレスに含まれる前記プレフィックスに変換し、前記第２パケットを前記第２ノードから前記第１ノードへ中継する際、前記第２パケットに含まれる送信先のアドレスが前記アドレス記憶部に記憶されている前記第２アドレスに含まれていない場合、前記第２アドレスに含まれる前記プレフィックスを、前記第１アドレスに含まれる前記プレフィックスに変換し、前記第１パケット又は前記第２パケットを中継する際、前記送信元と前記送信先とで前記プレフィックスの値が異なる場合、前記第１アドレスに含まれる前記プレフィックスと、前記第２アドレスに含まれる前記プレフィックスと、の差分と、前記送信元の前記サブネットと、を加算したものを前記送信先の前記サブネットの領域に入れ込むものである。
【発明の効果】
【００２１】
本発明に係る中継装置は、ＮＰＴ６６による変換前のアドレスと変換後のアドレスとを関連付けて保持しておくため、ＩＰｖ６ネットワーク上で、プレフィックス長が異なるノード間であってもパケットを宛先となっているノードに転送することができるという効果を有する。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施の形態１におけるＩＰｖ６ネットワークシステム１の概略構成の一例を示す図である。
【図２】本発明の実施の形態１におけるＨＧＷ７の機能構成の一例を示す図である。
【図３】本発明の実施の形態１におけるＮＰＴ６６変換の概念を説明する図である。
【図４】本発明の実施の形態１におけるＬＡＮ側からＷＡＮ側へのパケット転送の動作例を説明するフローチャートである。
【図５】本発明の実施の形態１におけるＷＡＮ側からＬＡＮ側へのパケット転送の動作例を説明するフローチャートである。
【図６】従来のＨＧＷの機能構成の一例を示す図である。
【図７】従来のＨＧＷでＮＰＴ６６変換をした場合に生じる事象の一例を説明する図である。
【発明を実施するための形態】
【００２３】
以下、本発明の実施の形態１について、図面を用いて詳細に説明する。
【００２４】
実施の形態１．
＜構成の説明＞
図１は、本発明の実施の形態１におけるＩＰｖ６ネットワークシステム１の概略構成の一例を示す図である。図１に示すように、ＩＰｖ６ネットワークシステム１は、ＩＳＰネットワーク３、キャリアネットワーク５、ＨＧＷ７、対向ＨＧＷ９、インターネット１１、ＤＨＣＰｖ６サーバ１３、ＤＨＣＰｖ６サーバ１５、ＳＩＰサーバ１７、端末２１、及び対向端末２３等を備えている。
【００２５】
ＨＧＷ７は、ホームゲートウェイであって、ＷＡＮ側と、ＬＡＮ側との間で、パケットを中継する。例えば、ＨＧＷ７は、２種類のＩＰｖ６ネットワークに接続されている。２種類のＩＰｖ６ネットワークのうち、一方がＩＳＰネットワーク３であり、他方がキャリアネットワーク５である。なお、ＩＳＰネットワーク３及びキャリアネットワーク５の何れかを特に区別しない場合、図３を用いて後述するように、ネットワーク４と称する。
【００２６】
ＩＳＰネットワーク３は、ＷＡＮ側の環境であり、インターネット１１及びＤＨＣＰｖ６サーバ１３等に接続されている。キャリアネットワーク５は、ＷＡＮ側の環境であり、ＤＨＣＰｖ６サーバ１５及びＳＩＰサーバ１７等に接続されている。
【００２７】
よって、２種類のＩＰｖ６ネットワークは、それぞれ別のＩＰｖ６アドレス空間で管理されているため、ＨＧＷ７は、両者をプレフィックスで区別する。例えば、ＨＧＷ７は、ＩＳＰネットワーク３を介してＤＨＣＰｖ６サーバ１３からアドレスの払い出しを受け、キャリアネットワーク５を介してＤＨＣＰｖ６サーバ１５からアドレスの払い出しを受ける。よって、ＨＧＷ７は、２つのＩＰｖ６アドレスを有する。
【００２８】
端末２１は、ＬＡＮ側の環境に設けられ、ＨＧＷ７に接続され、ＩＰｖ６を使用する。例えば、端末２１は、ＨＧＷ７が有する２つのＩＰｖ６アドレスのうちの１つからプレフィックスを決定したものに対応するＩＰｖ６アドレスを割り付けられる。
【００２９】
対向ＨＧＷ９は、ホームゲートウェイであって、ＷＡＮ側と、ＬＡＮ側との間で、パケットを中継する。例えば、対向ＨＧＷ９は、２種類のＩＰｖ６ネットワークに接続されている。２種類のＩＰｖ６ネットワークのうち、一方がＩＳＰネットワーク３であり、他方がキャリアネットワーク５である。
【００３０】
対向ＨＧＷ９は、ＨＧＷ７と同様に、２種類のＩＰｖ６ネットワークをプレフィックスで区別する。例えば、対向ＨＧＷ９は、ＩＳＰネットワーク３を介してＤＨＣＰｖ６サーバ１３からアドレスの払い出しを受け、キャリアネットワーク５を介してＤＨＣＰｖ６サーバ１５からアドレスの払い出しを受ける。よって、対向ＨＧＷ９は、２つのＩＰｖ６アドレスを有する。
【００３１】
対向端末２３は、ＬＡＮ側の環境に設けられ、対向ＨＧＷ９に接続され、ＩＰｖ６を使用する。例えば、対向端末２３は、対向ＨＧＷ９が有する２つのＩＰｖ６アドレスのうちの１つからプレフィックスを決定したものに対応するＩＰｖ６アドレスを割り付けられる。
【００３２】
なお、上記で説明したＩＰｖ６ネットワークシステム１の構成は一例であり、特にこれに限定されない。また、インターネット１１内にも端末２１及び対向端末２３のようなノードが存在するものと想定する。また、ＤＨＣＰｖ６サーバ１３、ＤＨＣＰｖ６サーバ１５、ＳＩＰサーバ１７、端末２１、及び対向端末２３等のようにパケットの送信元及び送信先となり得るものは、ノードという概念で適宜捉えるものとする。
【００３３】
図２は、本発明の実施の形態１におけるＨＧＷ７の機能構成の一例を示す図である。図２に示すように、ＨＧＷ７は、ＬＡＮ側パケット処理部３１、ＷＡＮ側パケット処理部３３、アドレス変換判定部４１、ＮＰＴ６６変換部４３、アドレス変換判定部４５、アドレス記憶部５１、アドレス比較部５３、及びアドレス書き換え部５５を備えている。
【００３４】
ＬＡＮ側パケット処理部３１は、ＬＡＮ側の環境に設けられたノードとの間でパケットを送受信する。ＬＡＮ側パケット処理部３１は、ＬＡＮ側の環境のノードから受信したパケットをアドレス変換判定部４１に供給する。ＬＡＮ側パケット処理部３１は、ＮＰＴ６６変換部４３、アドレス書き換え部５５、及びアドレス変換判定部４５から供給されたパケットをＬＡＮ側の環境に設けられているノードに送信する。
【００３５】
アドレス変換判定部４１は、パケットに含まれる宛先アドレスがプレフィックスの異なるネットワーク４を参照する場合、つまり、送信元のＩＰｖ６ネットワーク環境と、送信先のＩＰｖ６ネットワーク環境とが異なる場合、ＮＰＴ６６変換部４３にパケットを供給する。一方、アドレス変換判定部４１は、パケットに含まれる宛先アドレスがプレフィックスの同じネットワーク４を参照する場合、つまり、送信元のＩＰｖ６ネットワーク環境と、送信先のＩＰｖ６ネットワーク環境とが同じ場合、ＷＡＮ側パケット処理部３３にパケットを供給する。
【００３６】
ここで、プレフィックスが異なるとは、プレフィックスの値が異なることを意味するものとし、後述するプレフィックスの長さ、すなわち、プレフィックス長が異なることと区別して用いることとする。
【００３７】
ＮＰＴ６６変換部４３は、非特許文献１に記載されているように、ＲＦＣ６２９６に記載されているＩＰｖ６アドレスの変換方式である。送信元のプレフィックスを送信先のプレフィックスに書き換える際、サブネットを同時に書き換えることで、チェックサムが変換前後で同一の値になるようにしたものである。例えば、ＮＰＴ６６変換部４３は、あるパケットを中継する際、送信元のノードと、送信先のノードとで、プレフィックスの値が異なる場合、送信元のアドレスに含まれるプレフィックスと、送信先のアドレスに含まれるプレフィックスと、を単純に付け替えると、チェックサムの再計算が必要となるため、転送性能に影響が生じる。そこで、ＮＰＴ６６というＩＰｖ６アドレスの変換方式を用いる。
【００３８】
例えば、ＩＰｖ６ネットワーク上であって、ＬＡＮ側にあるノードから、ＩＰｖ６ネットワーク上であって、ＷＡＮ側にあるノードにパケットを転送する場合を想定して具体的に説明する。また、ＬＡＮ側にあるノードに対応するアドレスに含まれるプレフィックスがＦＤ０１：０２０３：０４０５：／４８であると想定する。また、ＷＡＮ側にあるノードに対応するアドレスに含まれるプレフィックスが２００１：０ＤＢ８：０００１：／４８であると想定する。
【００３９】
また、ＬＡＮ側にあるノードに対応するアドレスに含まれるサブネットが０ｘ０００１であると想定する。また、ＷＡＮ側にあるノードに対応するアドレスに含まれるサブネットが０ｘＤ５５０であると想定する。
【００４０】
上記の前提で、ＮＰＴ６６というＩＰｖ６アドレスの変換方式を用いた場合、仮に、ＬＡＮ側にあって、ＦＤ０１：０２０３：０４０５：０００１：：１２３４のアドレスが割り当てられているノードが、ＮＰＴ６６変換部４３を介して、ＷＡＮ側に転送されると想定すると、ＷＡＮ側に転送されるときのアドレスは、２００１：０ＤＢ８：０００１：Ｄ５５０：：１２３４となる。
【００４１】
具体的に説明する。まず、ＦＤ０１：０２０３：０４０５の１の補数のチェックサムを以下のように計算する。第１に、１６ビットごとに値を加算するため、０ｘＦＤ０１＋０ｘ０２０３＋０ｘ０４０５を計算し、計算結果が０ｘ１０３０９となる。第２に、オーバーフローした分を足し込む。この場合、１６ビットとして桁上がりした分の値は、０ｘ１である。この桁上がり分を計算する。具体的には、０ｘ０３０９＋０ｘ１を計算し、計算結果が０ｘ０３０Ａとなる。第３に、この計算結果の論理否定を演算すると、〜０ｘ０３０Ａは、０ｘＦＣＦ５となる。この値０ｘＦＣＦ５がＦＤ０１：０２０３：０４０５の１の補数のチェックサムとなる。
【００４２】
２００１：０ＤＢ８：０００１の１の補数のチェックサムも上記と同様に計算する。第１に、１６ビットごとに値を加算するため、０ｘ２００１＋０ｘ０ＤＢ８＋０ｘ０００１を計算し、計算結果が０ｘ２ＤＢＡとなる。第２に、オーバーフローした分を足し込む。この場合、１６ビットとして桁上がりした分の値は、０ｘ０、すなわち存在しない。第３に、この計算結果の論理否定を演算すると、〜０ｘ２ＤＢＡは、０ｘＤ２４５となる。この値０ｘＤ２４５が２００１：０ＤＢ８：０００１の１の補数のチェックサムとなる。
【００４３】
次に、上記で計算した２つの１の補数を減算する。具体的には、０ｘＤ２４５から０ｘＦＣＦ５を減算すると、０ｘＤ５４Ｆとなる。ここで、送信元のデータグラムのサブネットは０ｘ０００１であり、このサブネットと、２つの１の補数の減算結果とを加算する。０ｘ０００１＋０ｘＤ５４Ｆの計算結果は、０ｘＤ５５０となる。０ｘＤ５５０は、０ｘＦＦＦではないため、サブネットを０ｘ００００に変える必要はない。よって、０ｘＤ５５０をサブネットの領域に入れ込むと、ＮＰＴ６６の変換結果は、２００１：０ＤＢ８：０００１：Ｄ５５０：：１２３４となる。
【００４４】
上記の説明は、ＬＡＮ側からＷＡＮ側へ転送する事例である。次に、ＷＡＮ側からＬＡＮ側に転送する事例について説明する。まず、２００１：０ＤＢ８：０００１の１の補数のチェックサムも上記と同様に計算する。第１に、１６ビットごとに値を加算するため、０ｘ２００１＋０ｘ０ＤＢ８＋０ｘ０００１を計算し、計算結果が０ｘ２ＤＢＡとなる。第２に、オーバーフローした分を足し込む。この場合、１６ビットとして桁上がりした分の値は、０ｘ０、すなわち存在しない。第３に、計算結果の論理否定を演算すると、〜０ｘ２ＤＢＡは、０ｘＤ２４５となる。この値０ｘＤ２４５が２００１：０ＤＢ８：０００１の１の補数のチェックサムとなる。
【００４５】
次に、ＦＤ０１：０２０３：０４０５の１の補数のチェックサムも上記と同様に計算する。第１に、１６ビットごとに値を加算するため、０ｘＦＤ０１＋０ｘ０２０３＋０ｘ０４０５を計算し、計算結果が０ｘ１０３０９となる。第２に、オーバーフローした分を足し込む。この場合、１６ビットとして桁上がりした分の値は、０ｘ１である。この桁上がり分を計算する。０ｘ０３０９＋０ｘ１を計算し、計算結果が０ｘ０３０Ａとなる。第３に、計算結果の論理否定を演算すると、〜０ｘ０３０Ａの１の補数は、０ｘＦＣＦ５となる。この値０ｘＦＣＦ５がＦＤ０１：０２０３：０４０５の１の補数のチェックサムとなる。
【００４６】
次に、上記で計算した２つの１の補数を減算する。具体的には、０ｘＦＣＦ５から０ｘＤ２４５を減算すると、０ｘ２ＡＢ０となる。ここで、送信元のデータグラムのサブネットは０ｘＤ５５０であり、このサブネットと、２つの１の補数の減算結果とを加算する。０ｘＤ５５０＋０ｘ２ＡＢ０の計算結果は、０ｘ０００１となる。０ｘ０００１は、０ｘＦＦＦではないため、サブネットを０ｘ００００に変える必要はない。よって、０ｘ０００１をサブネットの領域に入れ込むと、ＮＰＴ６６の変換結果は、２００１：０ＤＢ８：０００１：０００１：：１２３４となる。
【００４７】
よって、送信元と、送信先とが１対１で関連付けられるので、宛先アドレスが見つからないということがない。また、上記の演算過程から明らかなように、各パケット、正確には各データグラムのチェックサムがアドレスの変換前後で同一の値となっている。
【００４８】
つまり、サブネットと、２つの１の補数の減算結果とを加算したものが０ｘＦＦＦＦであれば、サブネットを０ｘ００００に変える必要があるが、上記のように０ｘＦＦＦＦではないのでサブネットを０ｘ００００に変える必要がない。そして、サブネットを強制的に０ｘ００００に変える必要がないため、各パケット、正確には、各データグラムのチェックサムがアドレスの変換前後で同一の値となる。
【００４９】
つまり、ＮＰＴ６６の変換処理は、変換前後のプレフィックスの差分と、送信元のサブネットの値とを加算した１６ビットの値を送信先のサブネットの領域に入れ込んだものとすることにより、チェックサムをアドレスの変換前後で同一の値とする。このことは、アドレス変換処理の前後でチェックサムの再計算が必要ないことを意味する。
【００５０】
ＮＰＴ６６変換部４３は、ＮＰＴ６６の変換処理の結果、ＬＡＮ側のノードにパケットを転送する場合、変換後のアドレスを含むパケットをＬＡＮ側パケット処理部３１に供給する。ＮＰＴ６６変換部４３は、ＮＰＴ６６の変換処理の結果、ＷＡＮ側のノードにパケットを転送する場合、変換後のアドレスを含むパケットをＷＡＮ側パケット処理部３３に供給する。
【００５１】
ＮＰＴ６６変換部４３は、さらに、変換前のアドレスと、変換後のアドレスとを関連付けてアドレスの組みとしたものをアドレス記憶部５１に供給する。アドレス記憶部５１は、ＮＰＴ６６変換部４３から供給されたアドレスの組みを受け取り、記憶する。
【００５２】
アドレス変換判定部４５は、パケットに含まれる宛先アドレスがプレフィックスの異なるネットワーク４を参照する場合、つまり、送信元のＩＰｖ６ネットワーク環境と、送信先のＩＰｖ６ネットワーク環境とが異なる場合、アドレス比較部５３にパケットを供給する。一方、アドレス変換判定部４５は、パケットに含まれる宛先アドレスがプレフィックスの同じネットワーク４を参照する場合、つまり、送信元のＩＰｖ６ネットワーク環境と、送信先のＩＰｖ６ネットワーク環境とが同じ場合、ＬＡＮ側パケット処理部３１にパケットを供給する。
【００５３】
アドレス比較部５３は、アドレス記憶部５１を参照し、ＮＰＴ６６の変換処理を行おうとしているパケットの宛先アドレスが、変換後のアドレスとして記憶されているか否かを検索する。アドレス比較部５３は、検索の結果、ＮＰＴ６６の変換処理を行おうとしているパケットの宛先アドレスが、変換後のアドレスとして記憶されている場合、宛先アドレスを変換前のアドレスに書き換えるために、パケットをアドレス書き換え部５５に供給する。
【００５４】
アドレス書き換え部５５は、パケットに含まれるアドレス全体を変換前のアドレスに書き換え、宛先アドレスを変換前のアドレスに書き換えたパケットをＬＡＮ側パケット処理部３１に供給する。つまり、アドレス書き換え部５５は、プレフィックスのみでなくアドレス全体を書き換えの対象とする。
【００５５】
次に、上記で説明したＮＰＴ６６の変換処理を概念的に説明する。図３は、本発明の実施の形態１におけるＮＰＴ６６変換の概念を説明する図である。図３に示すように、ＨＧＷ７が、端末２１からネットワーク４へパケットを転送する場合、つまり、ＬＡＮ側のノードからＷＡＮ側のノードへパケットを転送する場合、ＩＰｖ６ソースアドレスが、ＮＰＴ６６の変換処理で変換される。具体的には、ＩＰｖ６ソースアドレスに含まれるプレフィックス及びサブネットが上記で説明したように変換される。つまり、上記で説明したアドレス書き換え部５５は、プレフィックスと、サブネットとを含んだアドレス全体を書き換えの対象とするのである。
【００５６】
一方、ＨＧＷ７が、ネットワーク４から端末２１へパケットを転送する場合、つまり、ＷＡＮ側のノードからＬＡＮ側のノードへパケットを転送する場合、ＩＰＶ６デスティネーションアドレスが、ＮＰＴ６６の変換処理で変換される。具体的には、ＩＰｖ６デスティネーションアドレスに含まれるプレフィックス及びサブネットが上記で説明したように変換される。
【００５７】
また、ＨＧＷ７が、ＷＡＮ側のノードからＬＡＮ側のノードへパケットを転送する際、上記で説明したように、ＩＰｖ６ソースアドレスと、アドレス記憶部５１に記憶されている変換後のアドレスとが一致した場合、ＩＰｖ６デスティネーションアドレスをアドレス記憶部５１に記憶されている変換前のアドレスに書き換える。このとき、変換後のアドレスと、変換前のアドレスとは、関連付けてアドレスの組みとして記憶されているものが使用されるものとする。
【００５８】
なお、上記のデータグラムはパケットと同じものを指しているが、データグラムという用語は、正確には、宛先のノードに届かなかったとしても送信元に通知しないものを指す意味として用いるものであり、例えば、ＲＦＣ７９１に規定されているものである。
【００５９】
なお、ＮＰＴ６６という用語は、ＩＰｖ６ネットワーク上で、あるノードから別のノードへパケットを転送するときにチェックサムを再計算しなくてすむようにプレフィックスを変換する動作という意味で用いることとする。よって、ＮＰＴ６６は、ＮＰＴｖ６及びＮＡＴ６６のそれぞれと同義であるが、本発明の実施の形態では、ＮＰＴ６６という用語で説明する。
【００６０】
ＷＡＮ側パケット処理部３３は、ＷＡＮ側の環境に設けられたノードとの間でパケットを送受信する。ＷＡＮ側パケット処理部３３は、アドレス変換判定部４１及びＮＰＴ６６変換部４３から供給されたパケットをＷＡＮ側の環境に設けられているノードに送信する。ＷＡＮ側パケット処理部３３は、ＷＡＮ側の環境のノードから受信したパケットをアドレス変換判定部４５に供給する。
【００６１】
なお、アドレス変換判定部４１は、本発明における第１アドレス変換判定部に相当する。また、ＨＧＷ７は、本発明における中継装置に相当する。また、ＮＰＴ６６変換部４３は、本発明におけるアドレス変換部に相当する。また、アドレス変換判定部４５は、本発明における第２アドレス変換判定部に相当する。
【００６２】
＜動作の説明＞
図４は、本発明の実施の形態１におけるＬＡＮ側からＷＡＮ側へのパケット転送の動作例を説明するフローチャートである。
【００６３】
（パケット送信処理）
（ステップＳ１１）
ＨＧＷ７は、プレフィックスが異なるネットワーク側へパケットを転送するか否かを判定する。ＨＧＷ７は、プレフィックスが異なるネットワーク側へパケットを転送する場合、ステップＳ１２に進む。一方、ＨＧＷ７は、プレフィックスが異なるネットワーク側へパケットを転送しない場合、ステップＳ１４に進む。
【００６４】
（ステップＳ１２）
ＨＧＷ７は、ＮＰＴ６６による変換でパケットに含まれる送信元アドレスを変換する。
【００６５】
（ステップＳ１３）
ＨＧＷ７は、ＮＰＴ６６による変換前の送信元アドレスとＮＰＴ６６による変換後の送信元アドレスとをアドレスの組みとして記憶する。
【００６６】
（ステップＳ１４）
ＨＧＷ７は、パケットを転送し、処理を終了する。
【００６７】
図５は、本発明の実施の形態１におけるＷＡＮ側からＬＡＮ側へのパケット転送の動作例を説明するフローチャートである。
【００６８】
（パケット受信処理）
（ステップＳ３１）
ＨＧＷ７は、プレフィックスが異なるネットワーク側からパケットが転送されてきたか否かを判定する。ＨＧＷ７は、プレフィックスが異なるネットワーク側からパケットが転送されてきた場合、ステップＳ３２に進む。一方、ＨＧＷ７は、プレフィックスが異なるネットワーク側からパケットが転送されてきていない場合、ステップＳ３４に進む。
【００６９】
（ステップＳ３２）
ＨＧＷ７は、パケットに含まれる宛先アドレスがＮＰＴ６６による変換後の送信元アドレスとして記憶されているか否かを判定する。ＨＧＷ７は、パケットに含まれる宛先アドレスがＮＰＴ６６による変換後の送信元アドレスとして記憶されている場合、ステップＳ３３に進む。一方、ＨＧＷ７は、パケットに含まれる宛先アドレスがＮＰＴ６６による変換後の送信元アドレスとして記憶されていない場合、ステップＳ３５に進む。
【００７０】
（ステップＳ３３）
ＨＧＷ７は、パケットに含まれる宛先アドレスがＮＰＴ６６による変換前の送信元アドレスになるようにアドレス全体を書き換える。
【００７１】
（ステップＳ３４）
ＨＧＷ７は、パケットを転送し、処理を終了する。
【００７２】
（ステップＳ３５）
ＨＧＷ７は、ＮＰＴ６６による変換でパケットに含まれる宛先アドレスを変換し、ステップＳ３４に進む。
【００７３】
＜効果の説明＞
以上の説明から、ＨＧＷ７は、ＮＰＴ６６による変換前のアドレスと変換後のアドレスとを関連付けて記憶しておくため、ＩＰｖ６ネットワーク上で、プレフィックス長が異なるノード間であってもパケットを宛先となっているノードに転送することができる。
【００７４】
具体的には、ＨＧＷ７は、送信元と、送信先とで、プレフィックスが異なるために、変換前のアドレスのプレフィックスが書き換わる場合であっても、変換前のアドレスと変換後のアドレスとを関連づけたアドレスの組みを記憶してあるため、記憶してあるアドレス値を検索によって取り出すことができ、変換前のアドレスに書き換えることができる。よって、ＨＧＷ７は、送信元と、送信先とで、プレフィックスの長さ、つまり、プレフィックス長が異なる場合であっても、元の正しいアドレスに変換することができる。
【００７５】
これにより、ＨＧＷ７は、プレフィックス長が異なるノード間でパケットを中継する場合であっても、パケットを正しい転送先のノードへ送信することができる。換言すれば、ＨＧＷ７は、ＩＰｖ６ネットワークにおけるパケット通信で、ルーティング時の通信品質を向上させることができる。
【００７６】
以上、本実施の形態１において、ＩＰｖ６ネットワークの通信環境下に設けられ、ノード間でパケットを中継するＨＧＷ７であって、第１パケットを第１ノードから第２ノードへ中継する際、第１パケットの送信元と、第１パケットの送信先とで、パケットの中継先の経路情報を含むプレフィックスの値が異なる場合、第１パケットに含まれるアドレスを変換すると判定するアドレス変換判定部４１と、アドレス変換判定部４１の判定結果に基づいて、第１パケットに含まれるアドレスを変換するＮＰＴ６６変換部４３と、ＮＰＴ６６変換部４３で第１パケットに含まれるアドレスの変換前の第１アドレスと、変換後の第２アドレスとを関連付けて記憶するアドレス記憶部５１と、第２パケットを第２ノードから第１ノードへ中継する際、第２パケットの送信元と、第２パケットの送信先とでプレフィックスの値が異なる場合、第２パケットに含まれるアドレスを変換すると判定するアドレス変換判定部４５と、アドレス変換判定部４５により第２パケットに含まれるアドレスを変換すると判定した場合、第２パケットに含まれる送信先のアドレスがアドレス記憶部５１に記憶されている第２アドレスに含まれているか否かを判定するアドレス比較部５３と、アドレス比較部５３の判定結果に基づいて、第２パケットに含まれるアドレスを第１アドレスに書き換えるアドレス書き換え部５５と、を備えたことにより、ＩＰｖ６ネットワーク上で、プレフィックス長が異なるノード間であってもパケットを宛先となっているノードに転送することができる。
【００７７】
また、本実施の形態１において、ＮＰＴ６６変換部４３は、第１パケットごとに、第１アドレスと、第２アドレスとをアドレスの組みとしてアドレス記憶部５１に記憶させるようにしてもよい。
【００７８】
上記の構成から、ＨＧＷ７は、プレフィックス長が異なるノード間でパケットを転送する場合であっても、プレフィックスを元に戻せるので、パケットを宛先となっているノードに転送することができる。
【００７９】
また、本実施の形態１において、アドレス書き換え部５５は、第２パケットに含まれる送信先のアドレスがアドレス記憶部５１に記憶されている第２アドレスに含まれている場合、第２パケットに含まれるアドレスを第１アドレスに書き換え、ＮＰＴ６６変換部４３は、第２パケットに含まれる送信先のアドレスがアドレス記憶部５１に記憶されている第２アドレスに含まれていない場合、第２パケットに含まれるアドレスを変換するようにしてもよい。
【００８０】
上記の構成から、ＨＧＷ７は、プレフィックス長が異なるノード間でパケットを中継する場合であっても、記憶しておいたアドレスを利用することで元のアドレスに書き換えることができる。
【００８１】
また、本実施の形態１において、第１ノードは、ＬＡＮ側の環境に設けられ、第２ノードは、ＷＡＮ側の環境に設けられたようにしてもよい。
【００８２】
上記の構成から、ＨＧＷ７は、異なるノード間でパケットを中継するものであるため、ＬＡＮ側からＷＡＮ側への中継と、ＷＡＮ側からＬＡＮ側への中継とに対応することができる。
【００８３】
また、本実施の形態１において、パケットに含まれるアドレスは、少なくとも、プレフィックスと、ＩＰｖ６ネットワークのうちでパケットの送信先が属する環境あるいは送信先端末を特定するサブネットと、を有し、ＮＰＴ６６変換部４３は、第１パケットを第１ノードから第２ノードへ中継する際、第１アドレスに含まれるプレフィックスを、第２アドレスに含まれるプレフィックスに変換し、第２パケットを第２ノードから第１ノードへ中継する際、第２パケットに含まれる送信先のアドレスがアドレス記憶部５１に記憶されている第２アドレスに含まれていない場合、第２アドレスに含まれるプレフィックスを、第１アドレスに含まれるプレフィックスに変換し、第１パケット又は第２パケットを中継する際、送信元と送信先とでプレフィックスの値が異なる場合、第１アドレスに含まれるプレフィックスと、第２アドレスに含まれるプレフィックスと、の差分と、送信元のサブネットと、を加算したものを送信先のサブネットの領域に入れ込むようにしてもよい。
【００８４】
上記の構成から、ＨＧＷ７は、パケットのルーティングに伴い、アドレスを変換したとしても、チェックサムがアドレスの変換の前後で同一の値となるため、チェックサムの再計算を不要とすることができ、転送性能に影響が生じることがない。したがって、ＨＧＷ７は、パケットの転送時、パケットを遅延させずに転送させることができるので、通信品質を向上させることができる。
【符号の説明】
【００８５】
１  ＩＰｖ６ネットワークシステム、３  ＩＳＰネットワーク、４  ネットワーク、５  キャリアネットワーク、７  ＨＧＷ、９  対向ＨＧＷ、１１  インターネット、１３  ＤＨＣＰｖ６サーバ、１５  ＤＨＣＰｖ６サーバ、１７  ＳＩＰサーバ、２１  端末、２３  対向端末、３１  ＬＡＮ側パケット処理部、３３  ＷＡＮ側パケット処理部、４１  アドレス変換判定部、４３  ＮＰＴ６６変換部、４５  アドレス変換判定部、５１  アドレス記憶部、５３  アドレス比較部、５５  アドレス書き換え部。
【図１】
2015195522.tif 000003
【図２】
2015195522.tif 000004
【図３】
2015195522.tif 000005
【図４】
2015195522.tif 000006
【図５】
2015195522.tif 000007
【図６】
2015195522.tif 000008
【図７】
2015195522.tif 000009