(57)【特許請求の範囲】
【請求項１】
それぞれＩＰ（Internet Protocol）網に接続された複数のプロトコル処理部と、上記各プロトコル処理部の間でＩＰパケットを交換するスイッチ部とからなり、
ＩＰｖ４アドレスをもつＩＰパケットが転送されるＩＰｖ４網に接続された各プロトコル処理部が、
該ＩＰｖ４網から受信した入力パケットのＩＰアドレスをＩＰｖ６アドレスに変換して上記スイッチ部に入力するための入力側アドレス変換手段と、
上記入力側アドレス変換手段によるアドレス変換の実行要否を示す動作モード指定情報を記憶するための手段と、
上記動作モード指定情報に応じて、上記ＩＰｖ４網からの入力パケットをアドレス変換して上記スイッチ部に入力するＩＰｖ６ルーティングと、各入力パケットをアドレス変換することなく上記スイッチ部に入力するＩＰｖ４ルーティングとの何れかのモードで、入力パケットを選択的に転送制御するための手段と、
上記スイッチ部からＩＰｖ６アドレスをもつ出力パケットを受信した時、該出力パケットのＩＰアドレスをＩＰｖ４アドレスに変換して上記ＩＰｖ４網に転送するための出力側アドレス変換手段と、
上記スイッチ部からＩＰｖ４アドレスをもつ出力パケットを受信した時、上記出力側アドレス変換手段を経由することなく、該出力パケットを前記ＩＰｖ４網に転送するための手段とを備えたことを特徴とするパケット転送装置。
【請求項２】
前記複数プロトコル処理部のうちの少なくとも１つが、ＩＰｖ６アドレスをもつＩＰパケットが転送されるＩＰｖ６網に接続され、
該プロトコル処理部が、
前記スイッチ部からＩＰｖ４アドレスをもつ出力パケットを受信した時、該出力パケットのＩＰアドレスをＩＰｖ６アドレスに変換して上記ＩＰｖ６網に転送するための出力側アドレス変換手段と、
上記スイッチ部からＩＰｖ６アドレスをもつ出力パケットを受信した時、上記出力側アドレス変換手段を経由することなく該出力パケットを上記ＩＰｖ６網に転送するための手段を備えたことを特徴とする請求項１に記載のパケット転送装置。
【請求項３】
前記ＩＰｖ６網に接続されたプロトコル処理部が、
上記ＩＰｖ６網から受信した入力パケットのＩＰアドレスをＩＰｖ４アドレスに変換して前記スイッチ部に入力するための入力側アドレス変換手段と、
上記入力側アドレス変換手段によるアドレス変換の実行要否を示す動作モード指定情報を記憶するための手段と、
上記動作モード指定情報に応じて、上記ＩＰｖ６網からの入力パケットをアドレス変換して上記スイッチ部に入力するＩＰｖ４ルーティングと、各入力パケットをアドレス変換することなく上記スイッチ部に入力するＩＰｖ６ルーティングとの何れかのモードで、入力パケットを選択的に転送制御するための手段とを備えたことを特徴とする請求項２に記載のパケット転送装置。
【請求項４】
前記各プロトコル処理部が、
前記スイッチ部に入力される各パケットに、宛先ＩＰアドレスで特定される内部ルーティング情報を付加するための手段と、
前記スイッチ部から受信した各出力パケットの内部ルーティング情報を除去するための手段とを有し、
前記スイッチ部が、前記各プロトコル処理部からの入力パケットを上記内部ルーティング情報で特定されたプロトコル処理部に転送することを特徴とする請求項２に記載のパケット転送装置。
【請求項５】
それぞれＩＰ（Internet Protocol）網に接続された複数のプロトコル処理部と、上記各プロトコル処理部の間でＩＰパケットを交換するスイッチ部とからなり、
ＩＰｖ４アドレスをもつＩＰパケットが転送されるＩＰｖ４網に接続された各プロトコル処理部が、
上記ＩＰｖ４網から受信した入力パケットのＩＰアドレスをＩＰｖ６アドレスに変換して上記スイッチ部に入力するための入力側アドレス変換手段と、
上記スイッチ部からＩＰｖ６アドレスをもつ出力パケットを受信した時、該出力パケットのＩＰアドレスをＩＰｖ４アドレスに変換して上記ＩＰｖ４網に転送するための出力側アドレス変換手段と、
上記入力側アドレス変換手段によるアドレス変換を省略して、ＩＰｖ４アドレスをもつ入力パケットを上記スイッチ部に転送する動作モード切替え手段とを備え、
ＩＰｖ６アドレスをもつＩＰパケットが転送されるＩＰｖ６網に接続された各プロトコル処理部が、
上記ＩＰｖ６網から受信した入力パケットのＩＰアドレスをＩＰｖ４アドレスに変換して上記スイッチ部に入力するための入力側アドレス変換手段と、
上記スイッチ部からＩＰｖ４アドレスをもつ出力パケットを受信した時、該出力パケットのＩＰアドレスをＩＰｖ６アドレスに変換して上記ＩＰｖ６網に転送するための出力側アドレス変換手段と、
上記入力側アドレス変換手段によるアドレス変換を省略して、ＩＰｖ６アドレスをもつ入力パケットを上記スイッチ部に転送する動作モード切替え手段とを備えたことを特徴とするパケット転送装置。
【請求項６】
前記各プロトコル処理部が、入力パケットのアドレス変換の実行要否を示す動作モード指定情報を記憶するための手段を有し、
前記各動作モード切替え手段が、上記動作モード指定情報に応じて、各入力パケットに対するアドレス変換の要否を判定することを特徴とする請求項６に記載のパケット転送装置。
【請求項７】
前記各プロトコル処理部が、
前記スイッチ部に入力される各パケットに、宛先ＩＰアドレスで特定される内部ルーティング情報を付加するための手段と、
前記スイッチ部から受信した各出力パケットの内部ルーティング情報を除去するための手段とを有し、
前記スイッチ部が、前記各プロトコル処理部からの入力パケットを上記内部ルーティング情報で特定されたプロトコル処理部に転送することを特徴とする請求項６に記載のパケット転送装置。
【請求項８】
それぞれＩＰ（Internet Protocol）網に接続された複数のプロトコル処理部と、上記各プロトコル処理部の間でＩＰパケットを交換するスイッチ部とからなり、上記各プロトコル処理部が、
ＩＰ網からの受信パケットに付されたＩＰｖ４アドレスをＩＰｖ６アドレスに変換するための第１の入力側アドレス変換手段と、
ＩＰ網からの受信パケットに付されたＩＰｖ６アドレスをＩＰｖ４アドレスに変換するための第２の入力側アドレス変換手段と、
ＩＰ網からの受信パケット、または上記上記第１、第２の入力側アドレス変換手段でアドレス変換されたパケットに、宛先ＩＰアドレス特定される内部ルーティング情報を付加して上記スイッチ部に入力するルーティング部と、
上記スイッチ部から受信した出力パケットに付された内部ルーティング情報を除去するための手段と、
上記出力パケットがＩＰｖ６パケットの場合、該出力パケットのＩＰアドレスをＩＰｖ４アドレスに変換してＩＰ網に転送するための第１の出力側アドレス変換手段と、
上記出力パケットがＩＰｖ４パケットの場合、該出力パケットのＩＰアドレスをＩＰｖ６アドレスに変換してＩＰ網に転送するための第２の出力側アドレス変換手段と、
上記出力パケットがＩＰ網と同じアドレスバージョンの場合、出力パケットをアドレス変換することなくＩＰ網に転送するための手段と、
上記第１、第２の入力側アドレス変換手段と、上記第１、第２の出力側アドレス変換手段を選択的に動作させるための制御手段とを有すること特徴とするパケット転送装置。
【請求項９】
前記制御手段が、前記第１の入力側アドレス変換手段、または第２の入力側アドレス変換手段によるアドレス変換の実行を外部からの制御指令に応じて抑制することを特徴とする請求項８に記載のパケット転送装置。
【請求項１０】
前記制御手段が、前記各出力パケットのアドレスバージョンを前記プロトコル処理部に接続されたＩＰ網におけるアドレスバージョンに一致させるように、前記第１、第２の出力側アドレス変換手段を選択的に動作させることを特徴とする請求項８または請求項９に記載のパケット転送装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はパケット転送装置に関し、更に詳しくは、アドレスバージョンの異なる複数のＩＰ（Internet Protocol）網を接続するのに適したパケット転送装置に関する。
【０００２】
【従来の技術】
ＩＰｖ４アドレスに従ってパケット転送が行われるＩＰｖ４網と、ＩＰｖ６アドレスに従ってパケット転送が行われるＩＰｖ６網とを接続するパケット転送装置では、ＩＰｖ４網からＩＰｖ６網に向かうパケットに対して、ＩＰｖ４−ＩＰｖ６のアドレス変換を実行し、逆に、ＩＰｖ６網からＩＰｖ４網に向かうパケットに対して、ＩＰｖ６−ＩＰｖ４のアドレス変換を実行するアドレス変換機能（アドレストランスレータ機能）が必要となる。
【０００３】
従来のアドレストランスレータは、旧アドレスバージョンであるＩＰｖ４網用のパケット転送装置をベースとし、新バージョンであるＩＰｖ６網側の接続インタフェースにアドレス変換機能を配置することによって、ＩＰｖ６網からの受信パケットのアドレスをＩＰｖ４アドレスに変換して、ノード内のパケットルーティングを行っている。
【０００４】
すなわち、従来のパケット転送装置では、ＩＰｖ４網からの受信パケットのアドレスバージョンに合わせて、ＩＰｖ６網からの受信パケットに対してアドレス変換を行い、全ての入力パケットをＩＰｖ４パケット形式で内部スイッチ部に入力し、スイッチングされたＩＰｖ６網への出力パケットアドレスをＩＰｖ６網側のインタフェースでＩＰｖ６アドレスに変換している。
【０００５】
ＩＰｖ４網に接続された第１端末とＩＰｖ６網に接続された第２端末とが通信する場合、これらのＩＰｖ４網とＩＰｖ６網とを接続するパケット転送装置において、第１端末には仮想ＩＰｖ６アドレス、第２端末には仮想ＩＰｖ４アドレスを割当て、ＩＰｖ４網上のＩＰｖ４パケットでは、第１端末をＩＰｖ４アドレス、第２端末を仮想ＩＰｖ４アドレスで表示し、ＩＰｖ６網上のＩＰｖ６パケットでは、第１端末を仮想ＩＰｖ６アドレス、第２端末をＩＰｖ６アドレスで表示する。上述したアドレス変換は、ＩＰｖ４アドレスと仮想ＩＰｖ６アドレス、仮想ＩＰｖ４アドレスとＩＰｖ６アドレスとの間の変換を意味している。
【０００６】
ＩＰｖ４とＩＰｖ６との間にアドレス変換の関する従来技術として、例えば、特開２００１−２８５３６６号公報には、仮想ＩＰｖ４アドレスの不足に対処するために、ＩＰｖ４アドレスと仮想ＩＰｖ４アドレスとの組み合せを検索キーとしてアドレス変換テーブルを検索することにより、同一仮想ＩＰｖ４アドレスを複数のＩＰｖ６端末で共用することが提案されている。
【０００７】
【発明が解決しようとする課題】
然るに、従来のＩＰｖ４ベースのパケット転送装置は、アドレス変換機能がＩＰｖ６網側インタフェースに偏って配置されているため、ＩＰｖ６網側のトラヒックがＩＰｖ４網側のトラヒックよりも少ない場合には特に問題とはならない。しかしながら、今後、ＩＰｖ６網が普及し、ＩＰｖ６網側でのトラヒックが増加すると、ＩＰｖ６網側インタフェースでのアドレス変換負荷が急増するという問題がある。また、接続中のＩＰｖ４網がＩＰｖ６網に置き換えられ、パケット転送装置の入力パケットの多くが、主としてＩＰｖ６網からの入力パケットとなった場合、従来のパケット転送装置の構造では、更に高速化されたアドレス変換技術を必要となってくる。
【０００８】
本発明の目的は、旧バージョンＩＰ網から新バージョンＩＰ網への移行に適合したアドレス変換が可能なパケット転送装置を提供することにある。
本発明の他の目的は、アドレス変換のための負荷を分散可能にしたパケット転送装置を提供することにある。
本発明の更に他の目的は、収容されるＩＰ網上でのパケットアドレスバージョンに応じて、アドレス変換を選択的に実行できるようにしたパケット転送装置を提供することにある。
本発明の更に他の目的は、ＩＰ網間の通信トラヒックの変化に応じて、各ＩＰ網の接続インタフェース部におけるアドレス変換負荷を制御可能にしたパケット転送装置を提供することにある。
【０００９】
【課題を解決するための手段】
上記目的を達成するため、本発明のパケット転送装置は、それぞれＩＰ網に接続された複数のプロトコル処理部と、上記各プロトコル処理部の間でＩＰパケットを交換するスイッチ部とからなり、ＩＰｖ４アドレスをもつＩＰパケットが転送されるＩＰｖ４網に接続された各プロトコル処理部が、該ＩＰｖ４網から受信した入力パケットのアドレスをＩＰｖ６アドレスに変換して上記スイッチ部に入力するための入力側アドレス変換手段と、上記スイッチ部からＩＰｖ６アドレスをもつ出力パケットを受信した時、該出力パケットのアドレスをＩＰｖ４アドレスに変換して上記ＩＰｖ４網に転送するための出力側アドレス変換手段とを備えたことを特徴とする。
【００１０】
本発明の１実施例では、上記ＩＰｖ４網に接続された各プロトコル処理部が、上記スイッチ部からＩＰｖ４アドレスをもつ出力パケットを受信した時、出力側アドレス変換手段を経由することなく該出力パケットを前記ＩＰｖ４網に転送するための制御手段を備える。
【００１１】
本発明の１つの特徴は、上記ＩＰｖ４網に接続された各プロトコル処理部が、入力側アドレス変換手段によるアドレス変換の実行要否を示す動作モード指定情報を記憶するための手段と、上記動作モード指定情報に応じて、ＩＰｖ４網からの入力パケットをアドレス変換して上記スイッチ部に入力するＩＰｖ６ルーティングと、各入力パケットをアドレス変換することなく上記スイッチ部に入力するＩＰｖ４ルーティングとの何れかのモードで入力パケットを転送するパケット転送制御手段とを備えたことにある。
【００１２】
上記構成によれば、プロトコル処理部毎に、ＩＰｖ６ルーティング・モードとＩＰｖ４ルーティング・モードの何れかの動作モードを選択できるため、例えば、パケット転送装置に収容される全てのＩＰ網がＩＰｖ４網の場合は、全プロトコル処理部をＩＰｖ４ルーティング・モードで動作させることによって、パケット転送装置をＩＰｖ４網専用装置として機能させ、ＩＰｖ６網が追加された時、ＩＰｖ４網に接続された各プロトコル処理部をＩＰｖ６ルーティング・モードで動作させることによって、ＩＰｖ４網とＩＰｖ６網に共用のパケット転送装置として機能させることが可能となる。
【００１３】
本発明の他の特徴は、上記複数プロトコル処理部のうちの少なくとも１つが、ＩＰｖ６アドレスをもつＩＰパケットが転送されるＩＰｖ６網に接続され、該プロトコル処理部が、上記スイッチ部からＩＰｖ４アドレスをもつ出力パケットを受信した時、該出力パケットのアドレスをＩＰｖ６アドレスに変換して上記ＩＰｖ６網に転送するための出力側アドレス変換手段と、上記スイッチ部からＩＰｖ６アドレスをもつ出力パケットを受信した時、上記出力側アドレス変換手段を経由することなく該出力パケットを上記ＩＰｖ６網に転送するための手段を備えたことにある。
【００１４】
上記構成によれば、ＩＰｖ６網に接続されたプロトコル処理部でＩＰｖ４アドレスをもつ出力パケットをアドレス変換できるため、ＩＰｖ４網側でのアドレス変換を省略して、アドレス変換処理の負荷をＩＰｖ６網に選択的に移行することが可能となる。
【００１５】
本発明の１実施例では、上記ＩＰｖ６網に接続されたプロトコル処理部が、上記ＩＰｖ６網から受信した入力パケットのアドレスをＩＰｖ４アドレスに変換して前記スイッチ部に入力するための入力側アドレス変換手段と、上記入力側アドレス変換手段によるアドレス変換の実行要否を示す動作モード指定情報を記憶するための手段と、上記動作モード指定情報に応じて、前記ＩＰｖ６網からの入力パケットをアドレス変換して上記スイッチ部に入力するＩＰｖ４ルーティングと、各入力パケットをアドレス変換することなく上記スイッチ部に入力するＩＰｖ６ルーティングの何れかのモードで入力パケットを転送するパケット転送制御手段とを備える。
【００１６】
上記構成によれば、ＩＰｖ６網側のプロトコル処理部をＩＰｖ４ルーティング・モードで動作させることによって、ＩＰｖ４網側のプロトコル処理部における出力側のアドレス変換処理を省略できるため、ＩＰｖ４網側のプロトコル処理部のアドレス変換負荷を減少させることが可能となる。
【００１７】
本発明のパケット転送装置は、それぞれＩＰ網に接続された複数のプロトコル処理部と、上記各プロトコル処理部の間でＩＰパケットを交換するスイッチ部とからなり、上記各プロトコル処理部が、
ＩＰ網からの受信パケットに付されたＩＰｖ４アドレスをＩＰｖ６アドレスに変換して上記スイッチ部に入力するための第１の入力側アドレス変換手段と、
ＩＰ網からの受信パケットに付されたＩＰｖ６アドレスをＩＰｖ４アドレスに変換して上記スイッチ部に入力するための第２の入力側アドレス変換手段と、
上記スイッチ部からＩＰｖ６アドレスをもつ出力パケットを受信した時、該出力パケットのアドレスをＩＰｖ４アドレスに変換してＩＰ網に転送するための第１の出力側アドレス変換手段と、
上記スイッチ部からＩＰｖ４アドレスをもつ出力パケットを受信した時、該出力パケットのアドレスをＩＰｖ６アドレスに変換してＩＰ網に転送するための第２の出力側アドレス変換手段と、
該プロトコル処理部が接続されたＩＰ網で転送されるＩＰパケットのアドレスバージョンに応じて、上記第１、第２の何れかの入力側アドレス変換手段と、上記第１、第２の何れかの出力側アドレス変換手段を選択し、入出力パケットのアドレスを変換するための手段とを有すること特徴とする。
【００１８】
本発明の他の特徴は、上記第１、第２の入力側アドレス変換手段によるアドレス変換の実行を外部からの制御指令に応じて選択的に抑制するための手段を備えたことにある。
【００１９】
本発明の更に他の特徴は、上記第１、第２の出力側アドレス変換手段が、上記スイッチ部から受信した各出力パケットのアドレスバージョンを上記プロトコル処理部に接続されたＩＰ網におけるアドレスバージョンに一致させるように、上記スイッチ部からの各受信パケットについてアドレス変換するようにしたことにある。
【００２０】
【発明の実施の形態】
以下、本発明の実施例について図面を参照して説明する。
図１は、本発明によるアドレス変換機能を備えたパケット転送装置が適用されるネットワーク構成の１例を示す。
【００２１】
パケット転送装置１は、ＩＰｖ４アドレスに従ってパケットを転送する複数のＩＰｖ４網（ＩＰｖ４プライベート網ＮＷ−１、ＮＷ−２と、ＩＰｖ４グローバル網ＮＷ−３、ＮＷ−４）と、ＩＰｖ６アドレスに従ってＩＰパケットを転送する複数のＩＰｖ６網（ＮＷ−ｍ、ＮＷ−ｎ）とを相互に接続している。
【００２２】
図１において、３（３ａ〜３ｇ）は、上記ＩＰ網に接続された端末、４（４ａ〜４ｅ）は、上記ＩＰ網に接続された各種のサーバ、５（５−１〜５−ｎ）は、上記ＩＰ網毎に設けられたＤＮＳ（Domain Name System）サーバを示す。鍵括弧（［  ］）内に示した数値は、上述した端末およびサーバに割り当てられたＩＰアドレスの値を例示している。また、一点鎖線６１、６２、６３は、パケット転送装置１を経由する端末間通信または端末−サーバ間通信の通信パスを示す。
【００２３】
パケット転送装置１は、ＩＰｖ６網ＮＷ−ｍに接続された端末３ｄとＩＰｖ４プライベート網ＮＷ−２に接続された端末３ｅとの間の通信パス６１において、端末３ｄのＩＰｖ４アドレス「100F::30」と仮想ＩＰｖ６アドレスとの変換と、端末３ｅのＩＰｖ６アドレス「192.168.10.10」と仮想ＩＰｖ４アドレスとの変換を行う。同様に、ＩＰｖ４グローバル網ＮＷ−３に接続された端末３ｃとＩＰｖ６網ＮＷ−ｎに接続された端末３ｇとの間の通信パス６２における端末３ｃのＩＰｖ４アドレス「200.10.0.10」と端末３ｇのＩＰｖ６アドレス「3FFF::1」、ＩＰｖ４プライベート網ＮＷ−１に接続された端末３ａとＩＰｖ４プライベート網ＮＷ−２に接続されたサーバ４ｃとの間の通信パス６３における端末３ａのＩＰｖ４アドレス「192.168.10.10」とサーバ４ｃのＩＰｖ６アドレス「192.168.10.40」について、仮想ＩＰｖ６アドレスまたは仮想ＩＰｖ４アドレスへの変換と、その逆変換を行う。
【００２４】
図２は、パケット転送装置１の１実施例を示す。
パケット転送装置１は、ＩＰ網ＮＷ−ｉ（ｉ＝１〜ｎ）の入出力回線６０−ｉと接続された複数の回線インタフェース（ＩＮＦ）３０−ｉ（ｉ＝１〜ｎ）と、各回線インタフェース３０ｉと対応して設けられた複数のプロトコル処理部１０−ｉと、これらのプロトコル処理部１０−ｉに接続された内部スイッチ２０と、内部制御バス４０ｂを介して上記各プロトコル処理部１０−ｉおよび内部スイッチ２０に接続され、外部バス５０ｂを介して制御端末５０に接続された制御部４０とからなっている。制御部４０は、制御バス４０ｂを介して各プロトコル処理部１０−ｉおよび内部スイッチ２０の状態を監視し、ノード内部状態として制御端末５０に通知すると共に、制御端末５０からの指令に応答して、各プロトコル処理部１０−ｉへの各種の制御パラメータの設定を行う。
【００２５】
回線インタフェース３０−ｉは、ＩＰ網の受信信号からＩＰパケットを再生し、プロトコル処理部１０−ｉに転送すると共に、プロトコル処理部１０−ｉから受信した出力ＩＰパケットを入出力回線６０−ｉ上の通信プロトコル、例えば、イーサネット（登録商標）やＡＴＭ等に従った通信フレーム形式に変換して、ＩＰ網に送出する。
【００２６】
各プロトコル処理部１０−ｉは、回線インタフェース３０−ｉから受信したＩＰパケット毎に、ＩＰヘッダに含まれる宛先ＩＰアドレス（ＤＡ）に従ってルーティングテーブルを参照し、出力ポート番号を示す内部ヘッダを付加するＩＰルーティングや、後述するＩＰアドレス変換等を実行するプロトコル処理機能を備える。内部スイッチ２０は、各プロトコル処理部１０−ｉ（ｉ＝１〜ｎ）から受信したＩＰパケットを内部ヘッダが示すルーティング情報（出力ポート番号ｊ）で特定されるプロトコル処理部１０−ｊに転送する。
【００２７】
図３は、制御部４０の１実施例を示す。
制御部４０は、プロセッサ４１と、メモリ４２と、外部バス５０ｂを介して制御端末５０と交信するための端末インタフェース４３と、内部制御バス４０ｂを介して各プロトコル処理部１０−ｉ（ｉ＝１〜ｎ）のプロセッサと交信するためのプロセッサ間インタフェース４４とからなっている。
【００２８】
メモリ４２には、プロセッサ４１が利用する各種のプログラムとデータが格納される。プログラムとしては、主制御ルーチン４２１の他に、例えば、ＩＰｖ４ルーティング演算処理ルーチン４２２、ＩＰｖ６ルーティング演算処理ルーチン４２３、ＤＮＳ・Ｐｒｏｘｙ処理ルーチン４２４を備える。また、上記メモリ４２には、仮想ＩＰｖ４アドレスプールテーブル４２５と、仮想ＩＰｖ６アドレスプールテーブル４２６が用意され、プロセッサ４１は、これらのテーブルから未使用のＩＰアドレスを検索し、受信パケットのＩＰｖ６アドレスに対応させるべき仮想ＩＰｖ４アドレスと、ＩＰｖ４アドレスに対応させるべき仮想ＩＰｖ６アドレスの割当て処理を行う。
【００２９】
図４は、パケット転送装置１に適用されるプロトコル処理部１０（１０−１〜１０−ｎ）の１実施例を示す。
プロトコル処理部１０は、プロトコル処理プロセッサ１１と、回線インタフェース（ＩＮＦ）側受信バッファ１２と、ＩＮＦ側送信バッファ１３と、内部スイッチ（ＳＷ）側送信バッファ１４と、内部スイッチ側受信バッファ１５と、メモリ１６と、プロセッサ間通信インタフェース１７とからなる。
【００３０】
メモリ１６には、例えば、パケット転送制御ルーチン１６１、ルーティング情報登録処理ルーチン１６２、変換エントリ登録処理ルーチン１６３と、ＩＰｖ６ルーティングテーブル１６４、ＩＰｖ４ルーティングテーブル１６５、ＩＰｖ４／ＩＰｖ６変換情報テーブル１６６が用意されている。
【００３１】
プロトコル処理プロセッサ１１は、パケット転送制御ルーチン１６１によってＩＮＦ側受信バッファ１２と内部スイッチ側受信バッファ１５から交互にＩＰパケットを読み出し、必要に応じてＩＰｖ４／ＩＰｖ６変換情報テーブル１６６を参照してアドレス変換を行う。また、各ＩＰパケットのアドレスバージョンに応じて、ＩＰｖ６ルーティングテーブル１６４またはＩＰｖ４ルーティングテーブル１６５を参照したルーティング処理を実行し、内部スイッチ側送信バッファ１４またはＩＮＦ側送信バッファ１３にＩＰパケットを転送する。
【００３２】
パケット転送制御ルーチン１６１は、ＩＰｖ４からＩＰｖ６へのアドレス変換（ＩＰｖ４−ＩＰｖ６アドレス変換）またはＩＰｖ６からＩＰｖ４へのアドレス変換（ＩＰｖ６−ＩＰｖ４アドレス変換）を必要とする通信パスの最初のパケットを受信した時、変換エントリ登録処理ルーチン１６３を実行する。これによって、プロセッサ間通信ＩＮＦ１７を介して制御部４０に、ＤＮＳ・Ｐｒｏｘｙ処理の実行や仮想ＩＰｖ４／ＩＰｖ６アドレスの割当てが要求され、制御部４０からの応答結果に応じて、ＩＰｖ４／ＩＰｖ６変換情報テーブル１６６の内容が更新される。
【００３３】
パケット転送制御ルーチン１６１は、受信パケットが新規のネットワークアドレスやＩＰアドレスを含む場合、ルーティング情報登録処理部１６２を実行して、制御部４０にルーティング演算処理を要求し、その結果をＩＰｖ４ルーティングテーブル１６５およびＩＰｖ６ルーティングテーブル１６４に反映する。尚、ＩＰｖ６ルーティングテーブル１６４、ＩＰｖ４ルーティングテーブル１６５、ＩＰｖ４／ＩＰｖ６変換情報テーブル１６６への新たな情報エントリの登録と既登録データの変更は、制御端末５０からの指令に応じて行うこともできる。
【００３４】
図５は、ＩＰｖ４／ＩＰｖ６変換情報テーブル１６６の情報エントリの１例を示す。
ＩＰｖ４／ＩＰｖ６変換情報テーブル１６６は、ＩＰｖ４情報領域１６６Ａと、ＩＰｖ６情報領域１６６Ｂとからなり、図に示すように、エントリ番号１６６０をもつ複数のエントリＥ６１、Ｅ６２、・・・が登録される。
【００３５】
ＩＰｖ４情報領域１６６Ａは、ＩＰｖ４網に接続された端末（ＩＰｖ４端末）がもつＩＰｖ４アドレス１６６１ａと、該ＩＰｖ４端末と通信中のＩＰｖ６網に接続された端末（ＩＰｖ６端末）に割当てられた仮想ＩＰｖ４アドレス１６６２ａと、上記ＩＰｖ４端末が接続されたＩＰ網を示すＩＰｖ４エリア識別子１６６３ａとの関係を示す。
【００３６】
ＩＰｖ６情報領域１６６Ｂは、上記ＩＰｖ４端末に割当てられた仮想ＩＰｖ６アドレス１６６１ｂと、上記ＩＰｖ６端末がもつＩＰｖ６アドレス１６６２ｂと、上記ＩＰｖ６端末が接続されたＩＰ網を示すＩＰｖ６エリア識別子１６６３ｂとの関係を示す。
【００３７】
尚、仮想ＩＰｖ４アドレス１６６２ａと仮想ＩＰｖ６アドレス１６６１ｂは、それぞれ制御部４０の仮想ＩＰｖ４アドレスプールテーブル４２５と仮想ＩＰｖ６アドレスプールテーブル４２６から検索された仮想ＩＰアドレスの値が設定される。
【００３８】
図５の変換情報テーブル１６６において、エントリＥ６１とＥ６２は、それぞれ図１に示した通信パス６１、６２用のアドレス変換情報を示し、エントリＥ６３ａとＥ６３ｂは、通信パス６３用のアドレス変換情報を示している。
ＩＰｖ４プライベート網では、ＩＰアドレスの値を網内で自由に決定できるため、ＩＰｖ４プライベート網ＮＷ−１とＩＰｖ４プライベート網ＮＷ−２とを接続する通信パス６３においては、網ＮＷ−１側の端末３ａと網ＮＷ−２側のサーバ４ｃが同一のＩＰアドレス値をもつ可能性がある。
【００３９】
本実施例では、パケット転送装置１において、受信パケットのＩＰｖ４プライベートアドレスを仮想ＩＰｖ６アドレスに変換することにより、同一のＩＰｖ４プライベートアドレスをもつ端末間（または端末―サーバ間）で通信が行われた場合でも、パケット転送装置１の内部では、異なるＩＰｖ６アドレスをもつ端末間の通信パケットとして扱うようしている。
【００４０】
エントリＥ６３ａは、ＩＰｖ４プライベート網ＮＷ−１に接続された端末３ａからの受信パケットを処理する際に参照されるアドレス情報、エントリＥ６３ｂは、ＩＰｖ４プライベート網ＮＷ−２に接続されたサーバ４ｃからの受信パケットを処理する際に参照されるアドレス情報を示している。これらのエントリＥ６３ａ、Ｅ６３ｂのＩＰｖ６アドレス１６６２ｂとＩＰｖ６エリア識別子１６６３ｂには、何れも、パケット転送装置１の内部でのみ有効となる仮想ネットワーク用の値が設定される。図示した例では、端末３ａとサーバ３ｃとの間の通信パケットは、仮想ＩＰｖ６アドレス「1111::10」をもつ端末３ａと仮想ＩＰｖ６アドレス「2222::210」をもつサーバ４ｃとの間の通信パケットとしてスイッチング処理される。
【００４１】
図６は、ＩＰｖ４ルーティングテーブル１６５に登録される情報エントリの１例を示す。
ＩＰｖ４ルーティングテーブル１６５には、エントリ番号１６５０をもつ複数のルーティング情報エントリが登録される。各エントリは、ネットワークアドレス１６５１と、ネクストホップアドレス１６５２と、内部スイッチの出力ポート番号（プロトコル処理部番号）１６５３と、回線インタフェース番号１６５４と、ＩＰｖ４エリア識別子１６５５との関係を示している。ＩＰｖ４ルーティングテーブル１６５から、受信パケットの宛先ＩＰｖ４アドレスと一致したネットワークアドレス１６５１をもつエントリを検索することによって、受信パケットを出力すべき内部スイッチポート番号１６５３、回線インタフェース番号１６５４、ＩＰｖ４エリア識別子１６５５が特定される。
【００４２】
図７は、ＩＰｖ６ルーティングテーブル１６４に登録される情報エントリの１例を示す。
ＩＰｖ６ルーティングテーブル１６４には、エントリ番号１６４０をもつ複数のルーティング情報エントリが登録される。各エントリは、ＩＰｖ４ルーティングテーブル１６５と同様、ネットワークアドレス１６４１と、ネクストホップアドレス１６４２と、内部スイッチポート番号（プロトコル処理部番号）１６４３と、回線インタフェース番号１６４４と、ＩＰｖ６エリア識別子１６４５との関係を示している。ＩＰｖ６ルーティングテーブル１６４から、受信パケットの宛先ＩＰｖ６アドレスと一致したネットワークアドレス１６４１をもつエントリを検索することによって、受信パケットを出力すべき内部スイッチポート番号１６４３、ＩＮＦ回路番号１６４４、ｖ６エリアの識別子１６４５が特定される。
【００４３】
図８は、図１における通信パス６２に着目した従来のパケット転送装置におけるアドレストランスレータの構成を示す。
通信パス６２は、ＩＰｖ４グローバル網ＮＷ−３に接続されたプロトコル処理部１０−３と、ＩＰｖ６網ＮＷ−ｎに接続されたプロトコル処理部１０−ｎと、内部スイッチ２０を経由する。従来のパケット転送装置では、ＩＰｖ４パケットベースでパケットスイッチングが行われているため、出力パケットを対象としたＩＰｖ４−ＩＰｖ６アドレス変換処理ＣＮｖ６（Ｏ）と、入力パケットを対象としたＩＰｖ６−ＩＰｖ４アドレス変換処理ＣＮｖ４（Ｉ）がＩＰｖ６網側のプロトコル処理部１０−ｎで実行されている。
【００４４】
図９は、通信パス６２に着目した本発明によるパケット転送装置１におけるアドレストランスレータの基本的な構成を示す。
本発明では、ＩＰｖ４網側のプロトコル処理部１０−３において、入力パケットを対象としたＩＰｖ４−ＩＰｖ６アドレス変換処理ＣＮｖ６（Ｉ）と、出力パケットを対象としたＩＰｖ６−ＩＰｖ４アドレス変換処理ＣＮｖ４（Ｏ）を実行することによって、パケット転送装置内では、ＩＰｖ６パケットベースのパケットスイッチング（ＩＰｖ６ルーティング）を行う。これらのアドレス変換処理ＣＮｖ６（Ｉ）とＣＮｖ４（Ｏ）は、パケット転送制御ルーチン１６１の一部となっている。
【００４５】
図１０は、本発明のパケット転送装置１を経由する端末間通信手順の１例として、ＩＰｖ４グローバル網ＮＷ−３に接続された端末３ｃから、ＩＰｖ６網ＮＷ−ｎに接続された端末３ｇへの通信パス６２の接続要求があった場合の接続シーケンスを示す。
【００４６】
ここで、ＩＰｖ４網ＮＷ−３に接続されたＤＮＳサーバ５−３には、ＩＰｖ６網ＮＷ−ｎに接続されたＤＮＳサーバ５―ｎとの通信を可能とするために、ＤＮＳサーバ５−ｎのアドレスが仮想ＩＰｖ４アドレスとして予め登録してあり、同様に、ＤＮＳサーバ５−ｎには、ＤＮＳサーバ５−３のアドレスが仮想ＩＰｖ６アドレスとして登録されていることを前提とする。また、パケット転送装置１のＩＰｖ４／ＩＰｖ６変換情報テーブル１６６には、ＤＮＳサーバ５−３のＩＰｖ４アドレスと仮想ＩＰｖ６アドレスの対応関係と、ＤＮＳサーバ５−ｎのＩＰｖ６アドレスと仮想ＩＰｖ４アドレスとの対応関係が予め登録されているものとする。
【００４７】
端末３ｃは、ＤＮＳサーバ５−３に対して、端末３ｇのドメイン名から端末３ｇのＩＰアドレスを求めるためのアドレス解決要求ＩＰｖ４パケット：Ｑｕｅｒｙ−ｘ１を送信する(ステップＳ１０)。ＤＮＳサーバ５−３は、上記Ｑｕｅｒｙ−ｘ１が示すドメイン名と対応するＩＰアドレスを管理していないため、端末３ｇのドメイン名とＩＰアドレスを管理しているＤＮＳサーバ５−ｎに対して、アドレス解決要求ＩＰｖ４パケット：Ｑｕｅｒｙ−ｘ２を送信する（Ｓ１１）。この場合、ＩＰｖ４パケット：Ｑｕｅｒｙ−ｘ２の宛先アドレスとしては、ＤＮＳサーバ５−ｎの仮想ＩＰｖ４アドレスが適用される。
【００４８】
ＤＮＳサーバ５−３が送信したパケット：Ｑｕｅｒｙ−ｘ２は、パケット転送装置１のプロトコル処理部１０−３で受信され、制御部４０に転送される。制御部４０は、Ｑｕｅｒｙ−ｘ２を受信すると、ＤＮＳ・Ｐｒｏｘｙ処理ルーチン４２４を実行する。
【００４９】
ＤＮＳ・Ｐｒｏｘｙ処理ルーチン４２４は、図１１（Ａ）に示すＩＰｖ４側Ｑｕｅｒｙ受信処理ルーチン１１０と、図１１（Ｂ）に示すＩＰｖ６側Ｒｅｓｐｏｎｓｅ受信処理ルーチン１３０と、図１３（Ａ）に示すＩＰｖ６側Ｑｕｅｒｙ受信処理ルーチン１４０と、図１３（Ｂ）に示すＩＰｖ４側Ｒｅｓｐｏｎｓｅ受信処理ルーチン１５０とを含んでいる。
【００５０】
Ｑｕｅｒｙ−ｘ２を受信した場合、制御部４０では、プロセッサ４１が、図１１（Ａ）に示すＩＰｖ４側Ｑｕｅｒｙ受信処理ルーチン１１０を実行し、Ｑｕｅｒｙ−ｘ２の内容を一旦メモリに登録（Ｓ１１１）し、Ｑｕｅｒｙ−ｘ２のアドレスをＩＰｖ６アドレスに変換して、ＩＰｖ６網側のＤＮＳに転送する（Ｓ１１２）。上記ＩＰｖ６アドレスへの変換は、プロセッサ４１からの指令によって、プロトコル処理部１０−３のプロセッサ１１が、パケット転送制御ルーチン１６１を実行することによって行われる。
【００５１】
プロトコル処理部１０−３では、ＩＰｖ４―ＩＰｖ６アドレス変換処理ＣＮｖ６（Ｉ）によって、Ｑｕｅｒｙ−ｘ２の宛先ＩＰアドレスをＤＮＳサーバ５−ｎの仮想ＩＰｖ４アドレスからＩＰｖ６アドレスに、送信元アドレスをＤＮＳサーバ５−３のＩＰｖ４アドレスから仮想ＩＰｖ６アドレスに変換し、アドレス解決要求ＩＰｖ６パケット：Ｑｕｅｒｙ−ｘ３としてＤＮＳサーバ５−ｎに送信する（Ｓ１２）。
【００５２】
ＤＮＳサーバ５−ｎは、アドレス解決要求ＩＰｖ６パケット：Ｑｕｅｒｙ―ｘ３を受信すると、端末３ｇのＩＰｖ６アドレスを検索し、応答ＩＰｖ６パケット：Ｒｅｓｐｏｎｓｅ−ｘ３を送信する（Ｓ１３）。
上記Ｒｅｓｐｏｎｓｅ−ｘ３は、ＤＮＳサーバ５−３の代理であるパケット転送装置１で受信され、プロトコル処理部１０−ｎから制御部４０に転送される。
【００５３】
この時、制御部４０は、図１１の（Ｂ）に示すＩＰｖ６側Ｒｅｓｐｏｎｓｅ受信処理１３０を実行する。先ず、今回受信したＲｅｓｐｏｎｓｅ−ｘ３とメモリに記憶してあるＱｕｅｒｙ−ｘ２との対応関係を確認し（Ｓ１３１）、Ｒｅｓｐｏｎｓｅ−ｘ３が示す端末３ｇのＩＰｖ６アドレスと対応させるべき仮想ＩＰｖ４アドレスを仮想ＩＰｖ４アドレスプールテーブル４２５から、また、端末３ｃのＩＰｖ４アドレスと対応させるべき仮想ＩＰｖ６アドレスを仮想ＩＰｖ６アドレスプールテーブル４２６から取得する（Ｓ１３２）。
【００５４】
端末３ｃから送信されるユーザＩＰｖ４パケットを端末３ｇに転送するために必要となるルーティング情報が、プロトコル処理部１０−３のＩＰｖ４ルーティングテーブル１６５に未登録の場合、または、端末３ｇから送信されるユーザＩＰｖ６パケットを端末３ｃに転送するために必要となるルーティング情報が、プロトコル処理部１０−ｎのＩＰｖ６ルーティングテーブル１６４に未登録の場合、制御部４０は、ＩＰｖ４ルーティング演算処理ルーチン４２２、ＩＰｖ６ルーティング演算処理ルーチン４２３でルーティング情報を生成し、プロトコル処理部１０−３、１０−ｎでルーティング登録処理ルーチン１６２を実行させて、該当するルーティングテーブルにルーティング情報を登録する（Ｓ１３３）。次に、プロトコル処理部１０−３、１０−ｎの変換エントリ登録処理ルーチン１６３を介して、上記仮想ＩＰｖ４アドレスと仮想ＩＰｖ６アドレスとを含む新たなアドレス変換情報エントリをＩＰｖ４／ＩＰｖ６変換情報テーブル１６６に登録する（Ｓ１３４）。
【００５５】
これらのテーブルエントリの登録が完了すると、プロトコル処理部１０−３を介して、上記応答ＩＰｖ６パケット：Ｒｅｓｐｏｎｓｅ−ｘ３をＤＮＳサーバ５−３に送信する（Ｓ１３５）。この時、プロトコル処理部１０−３は、ＩＰｖ６―ＩＰｖ４変換処理ＣＮｖ４（Ｏ）を実行して、応答ＩＰｖ６パケット：Ｒｅｓｐｏｎｓｅ−ｘ３の宛先アドレスをＤＶＳサーバ５−３の仮想ＩＰｖ６アドレスからＩＰｖ４アドレス、また、送信元アドレスをＤＮＳサーバ５ｎのＩＰｖ６アドレスから仮想ＩＰｖ４アドレスに変換し、応答ＩＰｖ４パケット：Ｒｅｓｐｏｎｓｅ−ｘ２としてＤＮＳサーバ５−３に送信する（Ｓ１４）。
【００５６】
ＤＮＳサーバ５−３は、応答ＩＰｖ４パケット：Ｒｅｓｐｏｎｓｅ−ｘ２を受信すると、これがアドレス解決要求ＩＰｖ４パケット：Ｑｕｅｒｙ−ｘ２に対する応答パケットであることを確認した後、要求元端末３ｃに応答ＩＰｖ４パケット：Ｒｅｓｐｏｎｓｅ−ｘ１として送信する（Ｓ１５）。
Ｒｅｓｐｏｎｓｅ−ｘ１の受信によって、端末３ｇのＩＰアドレス（仮想ＩＰｖ４アドレス）を知った端末３ｃは、上記仮想ＩＰｖ４アドレスを宛先ＩＰアドレスとして、ユーザ情報を含むＩＰｖ４パケットを端末３ｇ宛に送信することが可能となる（Ｓ３０）。
【００５７】
パケット転送装置１は、ユーザＩＰｖ４パケットを受信すると、ＩＰｖ４／ＩＰｖ６変換情報テーブル１６６に従って、受信パケットの送信先アドレスを端末３ｇの仮想ＩＰｖ４アドレスからＩＰｖ６アドレスに、また、送信元アドレスを端末３ｃのＩＰｖ４アドレスから仮想ＩＰｖ６アドレスに変換し、ＩＰｖ６パケットとして端末３ｇに送信する（Ｓ３１）。端末３ｇは、上記ＩＰｖ６パケッを受信すると、端末３ｃに対して応答ＩＰｖ６パケットを返送する（Ｓ３２）。
【００５８】
上記応答ＩＰｖ６パケットは、パケット転送装置１で受信され、プロトコル変換部１０−３がＩＰｖ４／ＩＰｖ６変換情報テーブル１６６を参照して行うＩＰｖ６−ＩＰｖ４変換処理ＣＮｖ６（Ｏ）によって、送信先アドレスが端末３ｃの仮想ＩＰｖ６アドレスからＩＰｖ４アドレスに、また、送信元アドレスが端末３ｇのＩＰｖ６アドレスから仮想ＩＰｖ４アドレスに変換された後、応答ＩＰｖ４パケットとして端末３ｃに送信される（Ｓ３３）。
【００５９】
図１２は、図１０とは逆に、端末３ｇから端末３ｃへの接続要求があった場合の通信手順を示す。
端末３ｇが、ＤＮＳサーバ５−ｎに対して、端末３ｃのＩＰアドレスを求めるためのアドレス解決要求ＩＰｖ６パケット：Ｑｕｅｒｙ―ｙ１を送信（Ｓ２０）すると、ＤＮＳサーバ５−ｎは、端末３ｃのドメイン名とＩＰアドレスを管理しているＤＮＳサーバ５−３に対して、アドレス解決要求ＩＰｖ６パケット：Ｑｕｅｒｙ―ｙ２を送信する。この場合、ＩＰｖ６パケットの宛先アドレスとしては、ＤＮＳサーバ５−３に割当てられた仮想ＩＰｖ６アドレスが適用される。
【００６０】
アドレス解決要求ＩＰｖ６パケット：Ｑｕｅｒｙ―ｙ２は、ＤＮＳサーバ５−３を代理するパケット転送装置１によって受信され、制御部４０において、ＤＮＳ・Ｐｒｏｘｙ処理ルーチン４２４が実行される。この場合、図１３の（Ａ）に示すＩＰｖ６側Ｑｕｅｒｙ受信処理１４０が実行され、Ｑｕｅｒｙ―ｙ２の内容を一旦メモリに記憶（Ｓ１４１）した後、パケット転送装置１からＤＮＳサーバ５−３に、プロトコル処理部１０−３でアドレス変換したアドレス解決要求ＩＰｖ４パケット：Ｑｕｅｒｙ―ｙ３が送信される（Ｓ１４２）。
【００６１】
この時、プロトコル処理部１０−３は、ＩＰｖ６―ＩＰｖ４変換処理ＣＮｖ４（Ｏ）を実行し、ＩＰｖ６パケット：Ｑｕｅｒｙ−ｙ２の宛先アドレスを仮想ＩＰｖ６アドレスからＤＮＳサーバ５−３のＩＰｖ４アドレスに、また、送信元アドレスをＤＮＳサーバ５−ｎのＩＰｖ６アドレスから仮想ＩＰｖ４アドレスに変換し、アドレス解決要求ＩＰｖ４パケット：Ｑｕｅｒｙ−ｙ３としてＤＮＳサーバ５−３に送信する（Ｓ２２）。上記アドレス変換は、ＩＰｖ４／ＩＰｖ６変換情報テーブル１６６に従って行われる。
【００６２】
ＤＮＳサーバ５−３は、アドレス解決要求Ｑｕｅｒｙ−ｙ３を受信すると、端末３ｃのＩＰｖ４アドレスを検索し、該ＩＰｖ４アドレスを示す応答ＩＰｖ４パケット：Ｒｅｓｐｏｎｓｅ−ｙ３をＤＮＳサーバ５−ｎの代理であるパケット転送装置１に送信する（Ｓ２３）。
上記アドレス応答ＩＰｖ４パケットは、パケット転送装置１で受信され、プロトコル処理部１０−３から制御部４０に転送され、制御部４０においてＤＮＳ・Ｐｒｏｘｙ処理ルーチン４２４が実行される。
【００６３】
この場合、制御部４０は、図１３の（Ｂ）に示すＩＰｖ４側Ｒｅｓｐｏｎｓｅ受信処理１５０を実行する。図１１の（Ｂ）と同様に、今回受信したＲｅｓｐｏｎｓｅ−ｙ３とメモリに記憶してあるＱｕｅｒｙ−ｙ２との対応関係を確認し（Ｓ１５１）、Ｒｅｓｐｏｎｓｅ−ｙ３が示す端末３ｃのＩＰｖ４アドレスと対応させるべき仮想ＩＰｖ６アドレスを仮想ＩＰｖ６アドレスプールテーブル４２６から、また、端末３ｇのＩＰｖ６アドレスと対応させるべき仮想ＩＰｖ４アドレスを仮想ＩＰｖ４アドレスプールテーブル４２５から取得する（Ｓ１５２）。
【００６４】
端末３ｇから送信されるユーザＩＰｖ６パケットを端末３ｃに転送するために必要となるルーティング情報が、プロトコル処理部１０−ｎのＩＰｖ６ルーティングテーブル１６４に未登録の場合、または、端末３ｃから送信されるユーザＩＰｖ４パケットを端末３ｇに転送するために必要となるルーティング情報が、プロトコル処理部１０−３のＩＰｖ４ルーティングテーブル１６５に未登録の場合は、制御部４０は、ＩＰｖ４ルーティング演算処理ルーチン４２２とＩＰｖ６ルーティング演算処理ルーチン４２３でルーティング情報を生成し、プロトコル処理部１０−３、１０−ｎにルーティング登録処理ルーチン１６２を実行させて、ルーティング情報を該当するルーティングテーブルに登録する（Ｓ１５３）。
【００６５】
次に、プロトコル処理部１０−３、１０−ｎに変換エントリ登録処理ルーチン１６３を実行させ、上記仮想ＩＰｖ４アドレスと仮想ＩＰｖ６アドレスとを含む新たなアドレス変換情報エントリをＩＰｖ４／ＩＰｖ６変換情報テーブル１６６に登録する（Ｓ１５４）。
これらのテーブルエントリの登録が完了すると、プロトコル処理部１０−３を介して、上記応答ＩＰｖ６パケット：Ｒｅｓｐｏｎｓｅ−ｙ２をＤＮＳサーバ５−ｎに送信する（Ｓ１５５）。
【００６６】
この時、プロトコル処理部１０−３は、ＩＰｖ４―ＩＰｖ６アドレス変換処理ＣＮｖ６（Ｉ）によって、応答ＩＰｖ４パケット：Ｒｅｓｐｏｎｓｅ−ｙ３の宛先アドレスをＤＮＳサーバ５−ｎの仮想ＩＰｖ４アドレスからＩＰｖ６アドレスに、また、送信元アドレスをＤＮＳサーバ５−３のＩＰｖ４アドレスから仮想ＩＰｖ６アドレスに変換し、応答ＩＰｖ６パケット：Ｒｅｓｐｏｎｓｅ−ｙ２としてＤＮＳサーバ５−ｎに送信する（Ｓ２４）。尚、応答ＩＰｖ４パケットは、パケット転送装置１内では、プロトコル処理部１０−３のＩＰｖ４ルーティングテーブル１６５に従ってルーティングされる。
【００６７】
ＤＮＳサーバ５−ｎは、応答ＩＰｖ６パケット：Ｒｅｓｐｏｎｓｅ−ｙ２を受信すると、これがアドレス解決要求ＩＰｖ６パケット：Ｑｕｅｒｙ−ｙ１に対する応答パケットであることを確認した後、要求元端末３ｇに応答ＩＰｖ６パケット：Ｒｅｓｐｏｎｓｅ−ｙ１として送信する（Ｓ２５）。
上記アドレス応答ＩＰｖ６パケット：Ｒｅｓｐｏｎｓｅ−ｙ１の受信によって、端末３ｃのＩＰアドレス（仮想ＩＰｖ６アドレス）を知った端末３ｇは、上記仮想ＩＰｖ６アドレスを宛先ＩＰアドレスとして使用することによって、ユーザ情報を含むＩＰｖ６パケットを端末３ｃ宛に送信することが可能となる（Ｓ４０）。
【００６８】
パケット転送装置１は、上記ユーザＩＰｖ６パケットを受信すると、入力側のプロトコル処理部１０−ｎのＩＰｖ６ルーティングテーブル１６４に従って、受信パケットをルーティングし、出力側のプロトコル処理部１０−３のＩＰｖ４／ＩＰｖ６変換情報テーブル１６６に従って、受信パケットの送信先アドレスを端末３ｃの仮想ＩＰｖ６アドレスからＩＰｖ４アドレスに、また、送信元アドレスを端末３ｇのＩＰｖ６アドレスから仮想ＩＰｖ４アドレスに変換し、ＩＰｖ４パケットとして端末３ｃに送信する（Ｓ４１）。
【００６９】
端末３ｃは、上記ＩＰｖ４パケットを受信すると、端末３ｇに対して応答ＩＰｖ４パケットを返送する（Ｓ４２）。上記応答ＩＰｖ４パケットは、パケット転送装置１で受信され、入力側のプロトコル処理部１０−３において、ＩＰｖ４／ＩＰｖ６変換情報テーブル１６６に従って、送信先アドレスが端末３ｇの仮想ＩＰｖ４アドレスからＩＰｖ６アドレスに変換され、送信元アドレスが端末３ｃのＩＰｖ４アドレスから仮想ＩＰｖ６アドレスに変換される。アドレス変換された応答パケットは、ＩＰｖ６ルーティングテーブル１６４に従ってルーティングされ、応答ＩＰｖ６パケットとして端末３ｇに送信される（Ｓ４３）。
【００７０】
以上の接続シーケンスにより、ＩＰｖ４端末、ＩＰｖ６端末の何れからのアドレス解決要求に対しても適切に応答でき、ＩＰｖ４端末とＩＰｖ６端末との間の接続が可能となる。
【００７１】
図１４は、ＩＰｖ４パケットのフォーマットを示す。
ＩＰｖ４パケットは、ペイロード（情報）部７０とヘッダ部７１とからなり、ヘッダ部７１に、３２ビット長の送信元ＩＰｖ４アドレス７３、宛先ＩＰｖ４アドレス７４と、その他のヘッダ情報を含む。パケットがＩＰｖ４パケットかＩＰｖ６パケットかの区別は、バージョンフィールド７２の設定値によって判明する。
【００７２】
本発明において、ＩＰｖ４端末からＩＰｖ６端末宛に送信されたＩＰパケットの送信元ＩＰｖ４アドレスフィールド７３には、ＩＰｖ４端末のＩＰｖ４アドレスが設定され、宛先ＩＰｖ４アドレスフィールド７４には、ＩＰｖ６端末に割当てられた仮想ＩＰｖ４アドレスが設定される。また、ＩＰｖ６端末からＩＰｖ４端末宛に送信されたＩＰパケットの送信元ＩＰｖ４アドレスフィールド７２には、ＩＰｖ６端末に割当てられた仮想ＩＰｖ４アドレスが設定され、宛先ＩＰｖ４アドレスフィールド７４には、ＩＰｖ４端末のＩＰｖ４アドレスが設定される。
【００７３】
図１５は、ＩＰｖ６パケットのフォーマットを示す。
ＩＰｖ６パケットは、ヘッダ部７５に、１２８ビットの送信元ＩＰｖ６アドレス７７、宛先ＩＰｖ６アドレス７８と、その他のヘッダ情報を含み、バージョンフィールド７６に、該パケットがＩＰｖ６パケットであることを示す値が設定される。
【００７４】
本発明において、ＩＰｖ４端末からＩＰｖ６端末宛に送信されたＩＰパケットの送信元ＩＰｖ６アドレスフィールド７７には、ＩＰｖ４端末に割当てられた仮想ＩＰｖ６アドレスが設定され、宛先ＩＰｖ６アドレスフィールド７８には、ＩＰｖ６端末のＩＰｖ６アドレスが設定される。また、ＩＰｖ６端末からＩＰｖ４端末宛に送信されたＩＰパケットの送信元ＩＰｖ６アドレスフィールド７７には、ＩＰｖ６端末のＩＰｖ６アドレスが設定され、宛先ＩＰｖ６アドレスフィールド７８には、ＩＰｖ４端末に割当てられた仮想ＩＰｖ６アドレスが設定される。
【００７５】
図１６は、図１の通信パス６２に着目したパケット転送装置１の動作を概略的に示す。ここでは、図９で説明したように、ＩＰｖ４網ＮＷ−３に接続されたプロトコル処理部１０−３で、ＩＰｖ４−ＩＰｖ６アドレス変換処理ＣＮｖ６（Ｉ）と、ＩＰｖ６−ＩＰｖ４変換処理ＣＮｖ４（Ｏ）と、ＩＰｖ６ルーティングＲＴ６を行い、ＩＰｖ６網ＮＷ−ｎに接続されたプロトコル処理部１０−ｎでは、単にＩＰｖ６ルーティングＲＴ６のみを行うものとする。
【００７６】
図１７と図１８は、ＩＰｖ４網側のプロトコル処理部１０−３でプロセッサ１１が実行する入力パケット処理ルーチン２００と出力パケット処理ルーチン２１０のフローチャートを示し、図１９と図２０は、ＩＰｖ６網側のプロトコル処理部１０−ｎでプロセッサ１１が実行する入力パケット処理ルーチン２２０と出力パケット処理ルーチン２３０のフローチャートを示す。
【００７７】
これらのルーチン２００〜２３０は、図４に示したパケット転送制御ルーチン１６１を構成するものであり、ＩＰｖ４−ＩＰｖ６アドレス変換処理ＣＮｖ６（Ｉ）、ＩＰｖ６−ＩＰｖ４変換処理ＣＮｖ４（Ｏ）、ＩＰｖ６ルーティングＲＴ６は、これらのルーチンの部分的な機能に相当する。
【００７８】
先ず、図１６と図１７を参照して、プロトコル処理部１０−３におけるＩＮＦ側受信バッファ１２の入力パケット、すなわち、ＩＰｖ４端末３ｃからＩＰｖ６端末３ｇに向かうユーザＩＰｖ４パケットａ１の処理動作について説明する。
入力パケット処理ルーチン２００では、ＩＮＦ側受信バッファ１２からＩＰｖ４パケットａ１を読み出し（Ｓ２０１）、ＩＰｖ４／ＩＰｖ６変換情報テーブル１６６から、仮想ＩＰｖ４アドレス１６６２ａが上記パケットａ１の宛先ＩＰアドレス（仮想ＩＰｖ４アドレス「200.10.40.210」）７４と一致したエントリを検索する（Ｓ２０２）。宛先ＩＰアドレス「200.10.40.210」がテーブル１６６に未登録の場合は、パケットａ１を廃棄し（Ｓ２０８）、必要に応じて、パケット送信元にパケットが廃棄されたことを通知して（Ｓ２０９）、このルーチンを終了する。
【００７９】
宛先ＩＰアドレス「200.10.40.210」と対応するアドレス変換情報エントリがテーブル１６６から検索された場合は、検索エントリが示すアドレス変換情報に基づいて、ＩＰｖ４−ＩＰｖ６アドレス変換処理ＣＮｖ６（Ｉ）を実行する（Ｓ２０３）。すなわち、入力パケットａ１の送信元ＩＰｖ４アドレス７３（「200.10.0.10」）を仮想ＩＰｖ６アドレス７７（「4FFF: :201」）に変換し、宛先仮想ＩＰｖ４アドレス７４（「200.10.40.210」）を宛先ＩＰｖ６アドレス７８（「3FFF: :1」）に変換（Ｓ２０３）することによって、ＩＰｖ４パケットａ１をＩＰｖ６パケットａ２に変換する。
【００８０】
次に、ＩＰｖ６ルーティングテーブル１６４から、ネットワークアドレス１６４１がＩＰｖ６パケットａ２の宛先ＩＰｖ６アドレス７８の値「3FFF: :1」に一致するルーティング情報エントリを検索する（Ｓ２０４）。宛先ＩＰｖ６アドレス「3FFF: :1」をもつエントリがＩＰｖ６ルーティングテーブル１６４に未登録の場合は、ＩＰｖ６パケットａ２を廃棄し（Ｓ２０８）、必要に応じて、パケット送信元にパケット廃棄を通知して（Ｓ２０９）、このルーチンを終了する。
【００８１】
宛先ＩＰｖ６アドレス「3FFF: :1」をもつエントリがＩＰｖ６ルーティングテーブル１６４から検索された場合は、ＩＰｖ６ルーティング処理ＲＴＧ６を実行する。すなわち、ＩＰｖ６ルーティングテーブル１６４から検索されたエントリが示すルーティング情報、例えば、内部スイッチポート番号１６４３とネクストホップアドレス１６４２の値を含む内部ヘッダ８０を生成し、これをパケットａ２に付加し（Ｓ２０５）、該内部ヘッダ付きＩＰｖ６パケットａ３として内部スイッチ側送信バッファ１４に転送して（Ｓ２０６）、このルーチンを終了する。
【００８２】
上記ＩＰｖ６パケットａ３は、内部スイッチ２０によって、内部スイッチポート番号で特定されるプロトコル処理部１０−ｎに転送され、該プロトコル処理部の内部スイッチ側受信バッファ１５に入力される。
プロトコル処理部１０−ｎでは、図２０に示す出力パケット処理ルーチン２３０によって、上記内部スイッチ側受信バッファ１５からＩＰｖ６パケットａ３を読み出し（Ｓ２３１）、ＩＰｖ６ルーティング処理ＲＴＧ６を実行する。
【００８３】
この場合、プロトコル処理部１０−ｎはＩＰｖ６網ＮＷ−ｎに接続されているため、ＩＰｖ６ルーティング処理ＲＴＧ６としては、ＩＰｖ６パケットａ３から内部ヘッダ８０を削除し（Ｓ２３２）、ＩＰｖ６パケットａ４としてＩＮＦ側送信バッファ１３に転送（Ｓ２３３）すればよい。尚、上記ＩＰｖ６パケットａ４を受信すべきＩＰｖ６網ＮＷ−ｎ内の次ノードのＭＡＣアドレスを特定するために、上記ステップ２３３で、内部ヘッダ８０から抽出したネクストホップアドレスをＩＮＦ回路３０−ｎに通知するようにしてもよい。
【００８４】
次に、図１６と図１９を参照して、プロトコル処理部１０−ｎにおけるＩＮＦ側受信バッファ１２の入力パケット、すなわち、ＩＰｖ６端末３ｇからＩＰｖ４端末３ｃに向かうユーザＩＰｖ６パケットｂ１の処理動作について説明する。
【００８５】
入力パケット処理ルーチン２２０は、ＩＮＦ側受信バッファ１２からＩＰｖ６パケットｂ１を読み出し（Ｓ２２１）、ＩＰｖ６ルーティング処理ＲＴＧ６を実行する。すなわち、ＩＰｖ６ルーティングテーブル１６４から、宛先ネットワークアドレス１６４１が上記パケットｂ１の宛先アドレス（仮想ＩＰｖ６アドレス「4FFF: :201」）７８と一致するルーティング情報エントリを検索し（Ｓ２２２）、宛先アドレス（「4FFF: :201」）と一致するエントリがＩＰｖ６ルーティングテーブル１６４に登録されていた場合は、例えば、内部スイッチポート番号１６４３とネクストホップアドレス１６４２の値を示す内部ヘッダ８０を生成し、これをＩＰｖ６パケットｂ１に付加し（Ｓ２２３）、内部ヘッダ付きＩＰｖ６パケットｂ２として内部スイッチ側送信バッファ１４に転送し（Ｓ２２４）、このルーチンを終了する。
宛先アドレス（「4FFF: :201」）と一致するエントリがＩＰｖ６ルーティングテーブル１６４に未登録の場合は、パケットｂ１を廃棄し（Ｓ２２６）、必要に応じて送信元にパケット廃棄を通知（Ｓ２２７）した後、このルーチンを終了する。
【００８６】
上記ＩＰｖ６パケットｂ２は、内部スイッチ２０によって、内部ヘッダが示すプロトコル処理部１０−３に転送され、プロトコル処理部１０−３の内部スイッチ側受信バッファ１５に入力される。
プロトコル処理部１０−３では、図１８に示す出力パケット処理ルーチン２１０によって、内部スイッチ側受信バッファ１５からＩＰｖ６パケットｂ２を読み出し（Ｓ２１１）、ＩＰｖ６ルーティングＲＴＧ６とＩＰｖ６−ＩＰｖ４変換処理ＣＮｖ４（Ｏ）を実行する。この場合のＩＰｖ６ルーティングＲＴＧ６は、パケットｂ２から内部ヘッダ８０を削除し（Ｓ２１２）、ＩＰｖ６パケットｂ３にすることを意味している。
【００８７】
次に、ＩＰｖ４／ＩＰｖ６変換情報テーブル１６６から、仮想ＩＰｖ６アドレス１６２１ｂがＩＰｖ６パケットｂ３の宛先アドレス（仮想ＩＰｖ６アドレス「4FFF: :201」）７８と一致するエントリを検索する（Ｓ２１３）。
宛先アドレス「4FFF: :201」）と一致するエントリが見つかった場合は、パケットｂ３の送信元ＩＰｖ６アドレス（「3FFF: :1」）７７を上記エントリが示す仮想ＩＰｖ４アドレス１６６２ａの値（「200.10.40.210」）に変換し、宛先アドレス７８（「4FFF: :201」）をＩＰｖ４アドレス１６６１ａの値（「200.10.0.10」）に変換し（Ｓ２１４）、ＩＰｖ４パケットｂ４としてＩＮＦ側送信バッファ１３に送出する（Ｓ２１５）。
【００８８】
ＩＰｖ４／ＩＰｖ６変換情報テーブル１６６に宛先アドレス「4FFF: :201」）と一致するエントリが未登録の場合は、パケットｂ３を廃棄し（Ｓ２１７）、必要に応じて、パケット送信元にパケット廃棄を通知して（Ｓ２１８）、このルーチンを終了する。
【００８９】
次に、本発明の第２実施例として、動作モード選択型のパケット転送装置について説明する。
図２１〜図２４は、本発明による動作モード選択型パケット転送装置１におけるアドレス変換機能の配置例を示す。ここでは、図１に示した通信ネットワークにおけるＩＰｖ４網ＮＷ−１に接続されたプロトコル処理部１０−１、ＩＰｖ４網ＮＷ−２に接続されたプロトコル処理部１０−２、ＩＰｖ６網ＮＷ−ｍに接続されたプロトコル処理部１０−ｍ、ＩＰｖ６網ＮＷ−ｎに接続されたプロトコル処理部１０−ｎに着目して、ＩＰｖ４とＩＰｖ６のアドレス変換機能の切替えについて説明する。
【００９０】
図２１は、本発明による動作モード選択型パケット転送装置１の基本的な動作モードにおけるアドレス変換機能の配置を示す。
基本的な動作モードでは、ＩＰｖ４網ＮＷ−１、ＮＷ−２に接続されたプロトコル処理部１０−１、１０−２の入力側でＩＰｖ４−ＩＰｖ６アドレス変換処理ＣＮｖ６（Ｉ）を行い、且つ、プロトコル処理部１０−１、１０−２の出力側でＩＰＶ６−ＩＰｖ４アドレス変換処理ＣＮｖ４（Ｏ）が行なわれる。この場合、パケット転送装置１内では、全ての入力パケットがＩＰｖ６パケット形式でスイッチングされるため、ＩＰｖ６網ＮＷ−ｍに接続されたプロトコル処理部１０−ｍでは、ＩＰｖ４網ＮＷ−１、ＮＷ−２との間の送受信パケットと、ＩＰｖ６網ＮＷ−ｎとの間の送受信パケットの何れについても、アドレス変換を行う必要はない。
【００９１】
図２２は、ＩＰｖ４網ＮＷ−１に接続されたプロトコル処理部１０−１を、負荷を軽減するために、入力側ＩＰｖ４−ＩＰｖ６アドレス変換処理ＣＮｖ６（Ｉ）を省略した動作モードにした場合のアドレス変換機能の配置を示す。
【００９２】
この場合、パケット転送装置内では、ＩＰｖ４網ＮＷ−１からの入力パケットはＩＰｖ４パケット形式、ＩＰｖ４網ＮＷ−２からの入力パケットはＩＰｖ６パケット形式でスイッチングされるため、ＩＰｖ６網ＮＷ−ｍに接続されたプロトコル処理部１０−ｍでは、ＩＰｖ４網ＮＷ−１からの入力パケットについて、ＩＰｖ４−ＩＰｖ６アドレス変換処理ＣＮｖ６（Ｏ）を行う必要がある。但し、ＩＰｖ４網ＮＷ−２と他のＩＰｖ６網ＮＷ−ｎとの間での送受信パケットは、ＩＰｖ６パケット形式となっているため、これらのパケットについては、アドレス変換を必要としない。また、ＩＰｖ４網ＮＷ−２に接続されたプロトコル処理部１０−２では、ＩＰｖ４網ＮＷ−１からの受信パケットについては、ＩＰｖ６−ＩＰｖ４アドレス変換処理ＣＮｖ４（Ｏ）を行う必要がなく、その分だけアドレス変換の負荷が軽減される。
【００９３】
図２３は、ＩＰｖ４網に接続されたプロトコル処理部１０−１、１０−２のアドレス変換負荷を軽減するために、ＩＰｖ６網ＮＷ−ｍに接続されたプロトコル処理部１０−ｍを、入力側ＩＰｖ６−ＩＰｖ４アドレス変換処理ＣＮｖ４（Ｉ）を実行する動作モードにした場合のアドレス変換機能の配置を示す。
【００９４】
この場合、プロトコル処理部１０−１、１０−２は、ＩＰｖ６網ＮＷ−ｍからの受信パケットについて、ＩＰｖ６−ＩＰｖ４アドレス変換処理ＣＮｖ４（Ｏ）を省略できる。逆に、ＩＰｖ６網ＮＷ−ｎに接続されたプロトコル処理部１０−ｎでは、ＩＰｖ６網ＮＷ−ｍからの受信パケットについて、ＩＰｖ４−ＩＰｖ６アドレス変換処理ＣＮｖ６（Ｏ）を実行する必要がある。
【００９５】
図２４は、ＩＰｖ４網ＮＷ−１に接続されたプロトコル処理部１０−１で入力側ＩＰｖ４−ＩＰｖ６アドレス変換処理ＣＮｖ６（Ｉ）を省略し、ＩＰｖ６網ＮＷ−ｍに接続されたプロトコル処理部１０−ｍで入力側ＩＰｖ６−ＩＰｖ４アドレス変換処理ＣＮｖ４（Ｉ）を実行する動作モードとした場合のアドレス変換機能の配置を示す。
【００９６】
この場合、プロトコル処理部１０−１は、ＩＰｖ４網ＮＷ−１からの入力パケットに対するＩＰｖ４−ＩＰｖ６アドレス変換処理ＣＮｖ６（Ｉ）と、ＩＰｖ６網ＮＷ−ｍからの受信パケットについての出力側ＩＰｖ６−ＩＰｖ４アドレス変換処理ＣＮｖ４（Ｏ）を省略できるため、図２２に示した動作モードよりも更に負荷を軽減できる。但し、プロトコル処理部１０−ｍでは、ＩＰｖ４網ＮＷ−１からの受信パケットに対するＩＰｖ４−ＩＰｖ６アドレス変換処理ＣＮｖ６（Ｏ）が必要となるため、図２２の動作モードよりも負荷が増加する。
【００９７】
本発明の動作モード選択型パケット転送装置１では、上述したプロトコル処理部における動作モードの切替えを実現するために、各プロトコル処理部１０−ｉ（ｉ＝１〜ｍ）に、アドレス変換処理ＣＮｖ４（Ｉ）、ＣＮｖ６（Ｉ）、ＣＮｖ４（Ｏ）、ＣＮｖ６（Ｏ）の機能を装備しておき、制御端末５０から制御部４０を介して、プロトコル処理部毎に、ＩＮＦ側受信バッファ１２からの入力パケットについてのアドレス変換ＣＮｖ４（Ｉ）またはＣＮｖ６（Ｉ）の実行要否を指定する。また、各プロトコル処理部１０−ｉには、内部スイッチ側受信バッファ１５から読み出された出力パケットのアドレスバージョンを判定し、接続ＩＰ網のアドレスバージョンと各出力パケットのアドレスバージョンとが一致するか否かに応じて、アドレス変換ＣＮｖ４（Ｏ）またはＣＮｖ６（Ｏ）を選択的に実行させる。
【００９８】
図２５は、本発明による動作モード選択型パケット転送装置１が備える制御部４０のブロック構成を示す。
動作モード選択型パケット転送装置１の制御部４０は、メモリ４２に、図３に示したプログラム４２１〜４２４の他に、動作モード設定ルーチン４２７が用意される。
【００９９】
図２６は、動作モード選択型パケット転送装置１のプロトコル処理部１０の構成を示す。
動作モード選択型パケット転送装置１のプロトコル処理部１０は、メモリ１６に、図４に示したプログラム１６１〜１６３とテーブル１６４〜１６６の他に、動作モード登録処理ルーチン１６７と、接続ＩＰ網のアドレスバージョン記憶領域１６８および動作モード記憶領域１６９が用意される。
【０１００】
動作モード設定ルーチン４２７と動作モード登録処理ルーチン１６７は、例えば、オペレータが、制御端末５０からインタフェース識別子を指定して、ＩＰ網アドレスバージョン（ＩＰｖ４／ＩＰｖ６の区別）と、入力側アドレス変換の実行要否を示す動作モードの設定コマンドを入力した時、インタフェース識別子ｊが示すプロトコル処理部１０−ｊのＩＰ網アドレスバージョン記憶領域１６８と動作モード記憶領域１６９に、上記ＩＰ網アドレスバージョンとアドレス変換動作モードを設定するためのものである。
【０１０１】
図２７は、動作モード選択型パケット転送装置１におけるプロトコル処理部１０の機能ブロック図を示す。
動作モード選択型パケット転送装置１における各プロトコル処理回路１０は、ＩＰｖ４−ＩＰｖ６アドレス変換処理ＣＮｖ６（Ｉ）、ＩＰｖ４−ＩＰｖ６アドレス変換処理ＣＮｖ６（Ｏ）、ＩＰｖ６−ＩＰｖ４アドレス変換処理ＣＮｖ４（Ｉ）、ＩＰｖ６−ＩＰｖ４アドレス変換処理ＣＮｖ４（Ｏ）、ＩＰｖ４ルーティング処理ＲＴＧ４およびＩＰｖ６ルーティング処理ＲＴＧ６の機能と、これらの機能を選択的に実行するための手段として、入力側接続ＩＰ網アドレスバージョン判定部１０１、入力側のアドレス変換要否判定部１０２および１０３と、出力側の接続ＩＰ網アドレスバージョン判定部１０４、出力側のアドレス変換要否判定部１０５および１０６を備えている。
【０１０２】
入力側の接続ＩＰ網アドレスバージョン判定部１０１は、ＩＮＦ側受信バッファ１２から読み出した入力パケットをＳＷ側送信バッファ１４に転送する際に、ＩＰ網アドレスバージョン記憶領域１６８の設定値から、上記入力パケットのアドレスバージョンがＩＰｖ４アドレスかＩＰｖ６アドレスかを判定する。入力パケットがＩＰｖ４パケットの場合、アドレス変換要否判定部１０２によって、入力側でのアドレス変換の要否が判定される。同様に、入力パケットがＩＰｖ６パケットの場合、アドレス変換要否判定部１０３によって、入力側でのアドレス変換の要否が判定される。入力側でのアドレス変換の要否は、動作モード記憶領域１６９の設定値によって決まる。
【０１０３】
出力側の接続ＩＰ網アドレスバージョン判定部１０４は、ＳＷ側受信バッファ１５から読み出した出力パケットをＩＮＦ側送信バッファ１３に転送する際に、ＩＰ網アドレスバージョン記憶領域１６８の設定値から、上記ＩＰパケットが送出されるＩＰ網のアドレスバージョンがＩＰｖ４アドレスかＩＰｖ６アドレスかを判定する。
【０１０４】
ＩＰ網のアドレスバージョンがＩＰｖ４の場合、アドレス変換要否判定部１０５によって、ＩＰｖ６−ＩＰｖ４アドレス変換処理ＣＮｖ４（Ｏ）の実行要否が判定され、ＩＰ網のアドレスバージョンがＩＰｖ６の場合、アドレス変換要否判定部１０６によって、ＩＰｖ４−ＩＰｖ６アドレス変換処理ＣＮｖ６（Ｏ）の実行要否が判定される。これらの出力側のアドレス変換要否判定部１０５と１０６は、各出力パケットのＩＰヘッダ先頭に位置したバージョンフィールド７２または７６の設定値から、出力パケットがＩＰｖ４パケットかＩＰｖ６パケットかを判定し、出力パケットのアドレスバージョンが出力側ＩＰ網のアドレスバージョンと一致していた場合はスルー、不一致の場合はアドレス変換処理を実行する。
【０１０５】
図２８と図２９は、動作モード選択型パケット転送装置１の各プロトコル処理部１０において、プロセッサ１１が実行する入力パケット処理ルーチン３００のフローチャート、図３０は、上記プロセッサ１１が実行する出力パケット処理ルーチン３５０のフローチャートを示す。これらのルーチンは、図２３のパケット転送制御ルーチン１６１に該当する。
入力パケット処理ルーチン３００では、図２８に示すように、ＩＮＦ側受信バッファ１２から入力パケットを読み出し（Ｓ３０１）、メモリ領域１６８を参照して接続ＩＰ網のアドレスバージョンを判定する（Ｓ３０２）。
【０１０６】
接続ＩＰ網のアドレスバージョンがＩＰｖ４の場合は、メモリ領域１６９を参照して入力側アドレス変換の動作モードを判定する（Ｓ３０３）。動作モードがアドレス変換の実行モードとなっていた場合、ＩＰｖ４／ＩＰｖ６変換情報テーブル１６６から、仮想ＩＰｖ４アドレス１６６２ａが上記入力パケットの宛先ＩＰアドレス（仮想ＩＰｖ４アドレス）と一致したエントリを検索する（Ｓ３０４）。目的の情報エントリがテーブル１６６に未登録の場合は、入力パケットを廃棄し（Ｓ３１０）、必要に応じて、パケットの送信元にパケットが廃棄されたことを通知して（Ｓ３１１）、このルーチンを終了する。
【０１０７】
目的の情報エントリをテーブル１６６から検索できた場合は、入力パケットの送信元ＩＰｖ４アドレスと宛先仮想ＩＰｖ４アドレスを、それぞれ検索エントリが示す仮想ＩＰｖ６アドレス１６６１ｂと宛先ＩＰｖ６アドレス１６６２ｂの値に置き換えることによって、入力ＩＰｖ４パケットをＩＰｖ６パケットに変換する（Ｓ３０５）。
【０１０８】
次に、ＩＰｖ６ルーティングを実行する。すなわち、ＩＰｖ６ルーティングテーブル１６４から、ネットワークアドレス１６４１が上記ＩＰｖ６パケットの宛先ＩＰｖ６アドレスの値に一致するルーティング情報エントリを検索し（Ｓ３０６）、目的のルーティング情報エントリがテーブル１６４に未登録の場合は、ステップＳ３１０とＳ３１１を実行して、このルーチンを終了する。目的のルーティング情報エントリが検索された場合は、上記エントリが示すルーティング情報に従って、内部ヘッダを生成し、これをＩＰｖ６パケットに付加して（Ｓ３０７）、内部スイッチ側送信バッファ１４に転送して（Ｓ３０８）、このルーチンを終了する。
【０１０９】
ステップＳ３０３で、動作モードが入力側アドレス変換の実行不要モードとなっていた場合は、ＩＰｖ４ルーティングを実行する。すなわち、ＩＰｖ４ルーティングテーブル１６５から、ネットワークアドレス１６５１が上記入力パケット（ＩＰｖ４パケット）の宛先ＩＰｖ４アドレスの値に一致するルーティング情報エントリを検索し（Ｓ３１６）、目的のルーティング情報エントリがテーブル１６５に未登録の場合は、ステップＳ３１０とＳ３１１を実行して、このルーチンを終了する。目的のルーティング情報エントリが検索された場合は、上記エントリが示すルーティング情報に従って、内部ヘッダを生成し、これをＩＰｖ４パケットに付加し（Ｓ３１７）、内部スイッチ側送信バッファ１４に転送して（Ｓ３１８）、このルーチンを終了する。
【０１１０】
接続ＩＰ網のアドレスバージョンがＩＰｖ６の場合は、図２９に示すように、メモリ領域１６９を参照して入力側アドレス変換の動作モードを判定する（Ｓ３２３）。動作モードが入力側アドレス変換の実行モードを指定していた場合、ＩＰｖ４／ＩＰｖ６変換情報テーブル１６６から、仮想ＩＰｖ６アドレス１６６１ｂが上記入力パケットの宛先ＩＰアドレス（仮想ＩＰｖ６アドレス）と一致したエントリを検索する（Ｓ３２４）。目的の情報エントリがテーブル１６６に未登録の場合は、入力パケットを廃棄し（Ｓ３３０）、必要に応じて、パケットの送信元にパケットが廃棄されたことを通知して（Ｓ３３１）、このルーチンを終了する。
【０１１１】
目的の情報エントリがテーブル１６６から検索された場合は、入力パケットの送信元ＩＰｖ６アドレスと宛先仮想ＩＰｖ６アドレスを、それぞれ検索されたエントリが示す仮想ＩＰｖ４アドレス１６６２ａと宛先ＩＰｖ４アドレス１６６１ａの値に置き換えることによって、入力ＩＰｖ６パケットをＩＰｖ４パケットに変換する（Ｓ３２５）。
【０１１２】
次に、ＩＰｖ４ルーティングを実行する。すなわち、ＩＰｖ４ルーティングテーブル１６５から、宛先ネットワークアドレス１６５１が上記ＩＰｖ４パケットの宛先ＩＰｖ４アドレスの値に一致するルーティング情報エントリを検索し（Ｓ３２６）、目的のルーティング情報エントリがテーブル１６５に未登録の場合は、ステップＳ３３０とＳ３３１を実行して、このルーチンを終了する。目的のルーティング情報エントリが検索された場合は、上記エントリが示すルーティング情報に従って、内部ヘッダを生成し、これをＩＰｖ４パケットに付加して（Ｓ３２７）、内部スイッチ側送信バッファ１４に転送して（Ｓ３２８）、このルーチンを終了する。
【０１１３】
ステップＳ３２２で、動作モードが入力側アドレス変換の実行不要モードとなっていた場合は、ＩＰｖ６ルーティングを実行する。すなわち、ＩＰｖ６ルーティングテーブル１６４から、宛先ネットワークアドレス１６４１が上記入力パケット（ＩＰｖ６パケット）の宛先ＩＰｖ６アドレスの値に一致するルーティング情報エントリを検索し（Ｓ３３６）、目的のルーティング情報エントリがテーブル１６４に未登録の場合は、ステップＳ３３０とＳ３３１を実行して、このルーチンを終了する。目的のルーティング情報エントリが検索された場合は、上記エントリが示すルーティング情報に従って、内部ヘッダを生成し、これをＩＰｖ６パケットに付加して（Ｓ３３７）、内部スイッチ側送信バッファ１４に転送して（Ｓ３３８）、このルーチンを終了する。
【０１１４】
出力パケット処理ルーチン３５０では、図３０に示すように、内部ＳＷ側受信バッファ１５から出力パケットを読み出し（Ｓ３５１）、内部ヘッダを除去する（Ｓ３５２）。次に、メモリ領域１６８を参照して接続ＩＰ網のアドレスバージョンを判定する（Ｓ３５３）。
【０１１５】
接続ＩＰ網のアドレスバージョンがＩＰｖ４アドレスの場合は、出力パケットのＩＰヘッダを参照し、バージョンフィールドの設定値から該出力パケットがＩＰｖ４パケットか否かを判定する（Ｓ３５４）。出力パケットがＩＰｖ４パケットの場合は、出力側でのアドレス変換は不要となるため、出力パケットをＩＮＦ側送信バッファ１３に転送して（Ｓ３５７）、このルーチンを終了する。
【０１１６】
出力パケットがＩＰｖ６パケットの場合、ＩＰｖ４／ＩＰｖ６変換情報テーブル１６６から、仮想ＩＰｖ６アドレス１６６１ｂが上記出力パケットの宛先ＩＰアドレス（仮想ＩＰｖ６アドレス）と一致したエントリを検索する（Ｓ３５５）。目的の情報エントリがテーブル１６６に未登録の場合は、パケットを廃棄し（Ｓ３５８）、必要に応じて、パケットの送信元にパケットが廃棄されたことを通知して（Ｓ３５９）、このルーチンを終了する。
【０１１７】
目的の情報エントリがテーブル１６６から検索された場合は、出力パケットの送信元ＩＰｖ６アドレスと宛先ＩＰｖ６アドレス（仮想ＩＰｖ６アドレス）を、それぞれ検索されたエントリが示す仮想ＩＰｖ４アドレス１６６２ａと宛先ＩＰｖ４アドレス１６６１ａの値に置き換え（Ｓ３５６）、アドレス変換されたＩＰｖ４パケットをＩＮＦ側送信バッファ１３に転送して（Ｓ３５７）、このルーチンを終了する。
【０１１８】
接続ＩＰ網のアドレス体系がＩＰｖ６アドレスの場合は、出力パケットのＩＰヘッダを参照し、バージョンフィールドの設定値から該出力パケットがＩＰｖ６パケットか否かを判定する（Ｓ３６４）。出力パケットがＩＰｖ６パケットの場合は、出力側でのアドレス変換は不要となるため、出力パケットをＩＮＦ側送信バッファ１３に転送して（Ｓ３６７）、このルーチンを終了する。
【０１１９】
出力パケットがＩＰｖ４パケットの場合、ＩＰｖ４／ＩＰｖ６変換情報テーブル１６６から、仮想ＩＰｖ４アドレス１６６２ａが上記出力パケットの宛先ＩＰアドレス（仮想ＩＰｖ４アドレス）と一致したエントリを検索する（Ｓ３６５）。目的の情報エントリがテーブル１６６に未登録の場合は、ステップ３５８、Ｓ３５９を実行して、このルーチンを終了する。
【０１２０】
目的の情報エントリがテーブル１６６から検索された場合は、出力パケットの送信元ＩＰｖ４アドレスと宛先ＩＰｖ４アドレス（仮想ＩＰｖ４アドレス）を、それぞれ検索されたエントリが示す仮想ＩＰｖ６アドレス１６６１ｂと宛先ＩＰｖ６アドレス１６６２ｂの値に置き換え（Ｓ３６６）、アドレス変換されたＩＰｖ６パケットをＩＮＦ側送信バッファ１３に転送して（Ｓ３６７）、このルーチンを終了する。
【０１２１】
上記実施例では、全てのプロトコル処理部１０−ｉ（ｉ＝１〜ｎ）が、４種類のアドレス変換処理機能（ＣＮｖ６（Ｉ）、ＣＮｖ６（Ｏ）、ＣＮｖ４（Ｉ）、ＣＮｖ４（Ｏ））を備えることを前提としたが、ＩＰｖ４網に専用のプロトコル処理部には、ＩＰｖ４−ＩＰｖ６アドレス変換処理ＣＮｖ６（Ｉ）とＩＰｖ６−ＩＰｖ４アドレス変換処理ＣＮｖ４（Ｏ）の機能のみを装備し、ＩＰｖ４網とＩＰｖ６網の何れにも接続できる共用のプロトコル処理部に上記４種類のアドレス変換処理機能を装備するようにしてもよい。また、パケット転送装置に収容されるＩＰ網が全てＩＰｖ４網の場合、または、全てＩＰｖ６網の場合は、全てのプロトコル処理部をアドレス変換省略モードに設定すればよい。
【０１２２】
上記実施例では、制御端末５０からの指令によって、各プロトコル処理部における動作モードを設定したが、動作モードは、例えば、各プロトコル処理部に設けたモード切替えスイッチを操作することによって設定するようにしてもよい。また、制御部４０で全ての回線インタフェース部の動作モードを記憶しておき、各回線インタフェース部のトラヒック量の監視結果に従って、例えば、入力パケットの或る期間の平均的なトラヒック量が上限閾値を越えた回線インタフェース部では、入力側アドレス変換処理を省略し、逆に、平均的なトラヒック量が下限閾値よりも下がった回線インタフェース部では、入力側アドレス変換処理を実行させるように、動作モードを所定の周期で自動的に切替えるようにしてもよい。
【０１２３】
【発明の効果】
以上の実施例から明らかなように、本発明のパケット転送装置によれば、ＩＰｖ６ルーティングを採用したことによって、接続ＩＰ網の構造変化に柔軟に対応することができる。また、本発明の動作モード選択型のパケット転送装置によれば、接続ＩＰ網におけるトラヒック量の変化に応じてアドレス変換処理の負荷量を分散できるため、通信量と網構成が急激に変化しつつあるＩＰ網用のアドレストランスレータとして有効となる。
【図面の簡単な説明】
【図１】  アドレス変換機能を備えた本発明のパケット転送装置が適用されるネットワーク構成の１例を示す図。
【図２】  本発明によるパケット転送装置１の１実施例を示すブロック図。
【図３】  パケット転送装置１の制御部４０の１実施例を示す図。
【図４】  パケット転送装置１のプロトコル処理部１０の１実施例を示す図。
【図５】  プロトコル処理部１０が備えるＩＰｖ４／ＩＰｖ６変換情報テーブル１６６の情報エントリの１例を示す図。
【図６】  プロトコル処理部１０が備えるＩＰｖ４ルーティングテーブル１６５の情報エントリの１例を示す図。
【図７】  プロトコル処理部１０が備えるＩＰｖ６ルーティングテーブル１６４の情報エントリの１例を示す図。
【図８】  従来のパケット転送装置におけるアドレストランスレータ構成を示す図。
【図９】  本発明のパケット転送装置におけるアドレストランスレータの基本構成を示す図。
【図１０】  本発明のパケット転送装置を経由する端末３ｃから端末３ｇへの通信接続シーケンスを示す図。
【図１１】  （Ａ）は制御部４０で実行されるＩＰｖ４側Ｑｕｅｒｙ受信処理１１０、（Ｂ）はＩＰｖ６側Ｒｅｓｐｏｎｓｅ受信処理１３０のフローチャート。
【図１２】  本発明のパケット転送装置を経由する端末３ｇから端末３ｃへの通信接続シーケンスを示す図。
【図１３】  （Ａ）は制御部４０で実行されるＩＰｖ６側Ｑｕｅｒｙ受信処理１４０、（Ｂ）はＩＰｖ４側Ｒｅｓｐｏｎｓｅ受信処理１５０のフローチャート。
【図１４】  ＩＰｖ４パケットのフォーマットを示す図。
【図１５】  ＩＰｖ６パケットのフォーマットを示す図。
【図１６】  図１の通信パス６２に着目したパケット転送装置１の動作を概略的に示した図。
【図１７】  ＩＰｖ４網側のプロトコル処理部で実行される入力パケット処理ルーチン２００を示すフローチャート。
【図１８】  ＩＰｖ４網側のプロトコル処理部で実行される出力パケット処理ルーチン２１０を示すフローチャート。
【図１９】  ＩＰｖ６網側のプロトコル処理部で実行される入力パケット処理ルーチン２２０を示すフローチャート。
【図２０】  ＩＰｖ６網側のプロトコル処理部で実行されるで出力パケット処理ルーチン２３０を示すフローチャート。
【図２１】  本発明による動作モード選択型パケット転送装置における基本的なアドレス変換機能配置を示す図。
【図２２】  図２１に示したパケット転送装置において、プロトコル処理部１０−１のアドレス変換処理ＣＮｖ６（Ｉ）を省略した場合のアドレス変換機能配置を示す図。
【図２３】  図２１に示したパケット転送装置において、プロトコル処理部１０−ｍにアドレス変換処理ＣＮｖ４（Ｉ）を追加した場合のアドレス変換機能配置を示す図。
【図２４】  図２１に示したパケット転送装置において、プロトコル処理部１０−１のアドレス変換処理ＣＮｖ４（Ｉ）を省略し、プロトコル処理部１０−ｍにアドレス変換処理ＣＮｖ４（Ｉ）を追加した場合のアドレス変換機能の配置を示す図。
【図２５】  本発明による動作モード選択型パケット転送装置が備える制御部４０の１実施例を示すブロック図。
【図２６】  上記動作モード選択型パケット転送装置が備える各プロトコル処理部１０の１実施例を示すブロック図。
【図２７】  上記動作モード選択型パケット転送装置が備えるプロトコル処理部１０の機能を示すブロック図。
【図２８】  上記動作モード選択型パケット転送装置のプロトコル処理部１０で実行される入力パケット処理ルーチン３００の一部を示すフローチャート。
【図２９】  上記入力パケット処理ルーチン３００の残り部分を示すフローチャート。
【図３０】  上記動作モード選択型パケット転送装置のプロトコル処理部１０で実行される出力パケット処理ルーチン３５０の一部を示すフローチャート。
【図１】
0003857183.tif 000002
【図２】
0003857183.tif 000003
【図３】
0003857183.tif 000004
【図４】
0003857183.tif 000005
【図５】
0003857183.tif 000006
【図６】
0003857183.tif 000007
【図７】
0003857183.tif 000008
【図８】
0003857183.tif 000009
【図９】
0003857183.tif 000010
【図１０】
0003857183.tif 000011
【図１１】
0003857183.tif 000012
【図１２】
0003857183.tif 000013
【図１３】
0003857183.tif 000014
【図１４】
0003857183.tif 000015
【図１５】
0003857183.tif 000016
【図１６】
0003857183.tif 000017
【図１７】
0003857183.tif 000018
【図１８】
0003857183.tif 000019
【図１９】
0003857183.tif 000020
【図２０】
0003857183.tif 000021
【図２１】
0003857183.tif 000022
【図２２】
0003857183.tif 000023
【図２３】
0003857183.tif 000024
【図２４】
0003857183.tif 000025
【図２５】
0003857183.tif 000026
【図２６】
0003857183.tif 000027
【図２７】
0003857183.tif 000028
【図２８】
0003857183.tif 000029
【図２９】
0003857183.tif 000030
【図３０】
0003857183.tif 000031