特許第5964692号(P5964692)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電気通信システム株式会社の特許一覧

特許5964692プロトコル変換支援装置、プロトコル変換支援方法、及び、プロトコル変換支援プログラム
<>
  • 特許5964692-プロトコル変換支援装置、プロトコル変換支援方法、及び、プロトコル変換支援プログラム 図000002
  • 特許5964692-プロトコル変換支援装置、プロトコル変換支援方法、及び、プロトコル変換支援プログラム 図000003
  • 特許5964692-プロトコル変換支援装置、プロトコル変換支援方法、及び、プロトコル変換支援プログラム 図000004
  • 特許5964692-プロトコル変換支援装置、プロトコル変換支援方法、及び、プロトコル変換支援プログラム 図000005
  • 特許5964692-プロトコル変換支援装置、プロトコル変換支援方法、及び、プロトコル変換支援プログラム 図000006
  • 特許5964692-プロトコル変換支援装置、プロトコル変換支援方法、及び、プロトコル変換支援プログラム 図000007
  • 特許5964692-プロトコル変換支援装置、プロトコル変換支援方法、及び、プロトコル変換支援プログラム 図000008
  • 特許5964692-プロトコル変換支援装置、プロトコル変換支援方法、及び、プロトコル変換支援プログラム 図000009
  • 特許5964692-プロトコル変換支援装置、プロトコル変換支援方法、及び、プロトコル変換支援プログラム 図000010
  • 特許5964692-プロトコル変換支援装置、プロトコル変換支援方法、及び、プロトコル変換支援プログラム 図000011
  • 特許5964692-プロトコル変換支援装置、プロトコル変換支援方法、及び、プロトコル変換支援プログラム 図000012
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5964692
(24)【登録日】2016年7月8日
(45)【発行日】2016年8月3日
(54)【発明の名称】プロトコル変換支援装置、プロトコル変換支援方法、及び、プロトコル変換支援プログラム
(51)【国際特許分類】
   H04L 12/66 20060101AFI20160721BHJP
   H04L 12/749 20130101ALI20160721BHJP
   H04L 29/06 20060101ALI20160721BHJP
【FI】
   H04L12/66 E
   H04L12/749
   H04L13/00 305B
【請求項の数】8
【全頁数】16
(21)【出願番号】特願2012-179499(P2012-179499)
(22)【出願日】2012年8月13日
(65)【公開番号】特開2014-39113(P2014-39113A)
(43)【公開日】2014年2月27日
【審査請求日】2015年7月22日
(73)【特許権者】
【識別番号】000232254
【氏名又は名称】日本電気通信システム株式会社
(74)【代理人】
【識別番号】100109313
【弁理士】
【氏名又は名称】机 昌彦
(74)【代理人】
【識別番号】100124154
【弁理士】
【氏名又は名称】下坂 直樹
(72)【発明者】
【氏名】川津 哲司
(72)【発明者】
【氏名】重松 宏敏
【審査官】 速水 雄太
(56)【参考文献】
【文献】 特開平06−029972(JP,A)
【文献】 特開2005−117503(JP,A)
【文献】 特開2009−207182(JP,A)
【文献】 Fiuczynski, Marc E., et al.,The Design and Implementation of an IPv6/IPv4 Network Address and Protocol Translator,USENIX Annual Technical Conference,1998年
【文献】 Singh, Abhinav, et al.,Internet Protocol Version 6 (IPv6)-Internet Protocol Version 4 (IPv4) Network Address, Port & Protocol Translation And Multithreaded DNS-Application Gateway,Proceedings of the Asia-Pacific Advanced Network 31,2011年,pp. 12-22
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/66
H04L 12/749
H04L 29/06
(57)【特許請求の範囲】
【請求項1】
第1通信プロトコルに従い記述されたパケットのヘッダが持つ第1データ量と第2通信プロトコルに従い記述された前記パケットのヘッダが持つ第2データ量との差と、前記パケットにおけるペイロードに存在するIPアドレスの数とに応じて第3データ量を算出する算出部と、
前記パケットにおいて、前記ヘッダと前記IPアドレスとを前記第2通信プロトコルに従い変換し、その結果を変換パケットとする変換部とを備え、
前記変換パケットのデータ量は、前記パケットのデータ量と前記第3データ量との和である第4データ量以下である
プロトコル変換支援装置。
【請求項2】
前記算出部と前記変換部とは、情報処理装置の通信機能におけるデータリンク層に存在する
請求項1に記載のプロトコル変換支援装置。
【請求項3】
前記第1通信プロトコルは、インターネットプロトコルバージョン4であり、
前記第2通信プロトコルは、インターネットプロトコルバージョン6である
請求項1あるいは請求項2に記載のプロトコル変換支援装置。
【請求項4】
前記情報処理装置はメモリを有し、
前記第4データ量を前記メモリにバッファとして確保する確保部を更に備え、
前記変換部は、前記変換パケットを前記確保部に記憶させる
請求項1乃至請求項3のいずれか1項に記載のプロトコル変換支援装置。
【請求項5】
請求項1乃至請求項に記載のプロトコル変換支援装置を有し、
前記プロトコル変換支援装置が出力した結果を参照する
プロトコル変換装置。
【請求項6】
請求項に記載の前記プロトコル変換装置を有する情報処理装置。
【請求項7】
第1通信プロトコルに従い記述されたパケットのヘッダが持つ第1データ量と第2通信プロトコルに従い記述された前記パケットのヘッダが持つ第2データ量との差と、前記パケットにおけるペイロードに存在するIPアドレスの数とに応じて第3データ量を算出すると共に、前記パケットにおいて、前記ヘッダと前記IPアドレスとを前記第2通信プロトコルに従い変換し、その結果を変換パケットとし、前記変換パケットのデータ量は、前記パケットのデータ量と前記第3データ量との和である第4データ量以下であるプロトコル変換支援方法。
【請求項8】
第1通信プロトコルに従い記述されたパケットのヘッダが持つ第1データ量と第2通信プロトコルに従い記述された前記パケットのヘッダが持つ第2データ量との差と、前記パケットにおけるペイロードに存在するIPアドレスの数とに応じて第3データ量を算出する算出機能と、
前記パケットにおいて、前記ヘッダと前記IPアドレスとを前記第2通信プロトコルに従い変換し、その結果を変換パケットとする変換機能とを、
コンピュータに実現させ、
前記変換パケットのデータ量は、前記パケットのデータ量と前記第3データ量との和である第4データ量以下である
プロトコル変換支援プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、効率的なプロトコルの変換を支援する情報処理装置等に関する。
【背景技術】
【0002】
図11を参照しながら、インターネットプロトコルバージョン4(Internet Protocol version 4、以降、「IPV4」と略記する)からインターネットプロトコルバージョン6(Internet Protocol version 6、以降、「IPV6」と略記する)へ、パケットを変換する一般的な方法について説明する。図11は、本発明に関連する一般的なプロトコル変換装置38の構成を示すブロック図である。図11を参照すると、プロトコル変換装置38は、通信ドライバ処理部34と、IPV4処理部35と、アプリケーションレベルゲートウェイ(以降、「ALG」と表す)処理部36と、IPV6処理部37とを有する。パケットは、レイヤ2(データリンク層とも表す、以降、「L2」と表す)ヘッダと、レイヤ3(ネットワーク層とも表す、以降、「L3」と表す)ヘッダと、レイヤ4(トランスポート層とも表す、以降、「L4」と表す)ヘッダと、L4ペイロードとを有する。
【0003】
通信ドライバ処理部34は、IPV4に従い記述されたパケット(以降、「IPV4のパケット」と略記する)を、通信コントローラーを介して受信し、受信したパケットにおいてL2ヘッダを特定する。次に、通信ドライバ処理部34は、特定したL2ヘッダを基に、受信したパケットにおいてL3ヘッダを特定し、特定した先頭アドレスをIPV4処理部35に送信する。
【0004】
次に、IPV4処理部35は、通信ドライバ処理部34が送信した先頭アドレスを受信し、該パケットのL3ヘッダに存在するIPV4のパケットに存在するインターネットプロトコル(以降、「IP」と表す)アドレスを読み取り、読み取ったIPアドレスをIPV6に変換する。次に、IPV4処理部35は、情報処理装置(計算処理装置、コンピュータなどとも表す)における主記憶装置(メインメモリ、以降、単に、「メモリ」と表す)に、変換後のIPアドレスを記憶するバッファを確保し、確保したバッファにIPV6に従い記述されたIPアドレス(以降、「IPV6のパケット」と略記する)を記憶する。次に、IPV4処理部35は、受信したパケットにおいてL4ペイロードの先頭アドレスを特定し、その先頭アドレスをALG処理部36に送信する。
【0005】
ALG処理部36は、IPV4処理部35が送信した先頭アドレスを受信し、その後、L4ペイロードにおけるIPV4に従い記述されたIPアドレスを探し、該IPアドレスをIPV6に変換する。ALG処理部36は、変換したIPV6のIPアドレスを記憶するバッファ領域をメモリに確保し、確保したバッファ領域にIPV6のIPアドレスを記憶する。次に、ALG処理部36は、受信したパケットにおいてL3ヘッダの先頭アドレスをIPV6処理部37に送信する。
【0006】
IPV6処理部37は、ALG処理部36が送信したL3ヘッダの先頭アドレスを受信し、その後、IPV6におけるルーティング処理に従い、IPV6のパケットを、通信コントローラーを介して送信する。
【0007】
例えば、上述したプロトコル変換装置には、特許文献1乃至特許文献3が開示するような装置等が存在する。
【0008】
特許文献1が開示するアドレス変換プログラムは、パケットを受信すると、受信したパケットを解析し、その後、あらかじめ設定された複数のアドレス変換部に振り分ける。例えば、特許文献1が開示するアドレス変換プログラムにおいて、該複数のアドレス変換部は、アプリケーション層とネットワーク層とに存在する。該アドレス変換プログラムは、パケット単位でアプリケーションデータ内に変換が必要なIPアドレスが含まれるか否かを判定する。次に、該アドレス変換プログラムは、アプリケーション層において変換が必要なパケットのみを、アプリケーション層にて変換する。該アドレス変換プログラムは、アプリケーション層において変換が必要でないパケットを、高速なネットワーク層にて変換する。特許文献1が開示するアドレス変換プログラムは、上述のように処理することで、変換の高速化と、通信の高速化とを両立する。
【0009】
特許文献2が開示するプロトコル変換制御装置は、IPV4のパケットを受信する。次に該プロトコル変換制御装置は、受信したパケットにおけるヘッダ内の送信先IPアドレスがプロトコル変換制御装置におけるアドレス変換テーブルにする場合に、該送信先IPアドレスに関連付けされたIPV6のIPアドレスに変換し、その後、IPV6のヘッダを作成する。次に、該プロトコル変換制御装置は、作成したパケットを、LAN上に送信する。
【0010】
特許文献3が開示するプロトコル変換装置は、受信したフレームにおける特定の部分を抜き出し、抜き出した部分と予め登録されたデータとを比較すると共に、抜き出したデータから、ヘッダの変換処理に必要なデータを算出する。次に、該プロトコル変換装置は、その比較結果に応じて、上述のように算出した結果と、変換データテーブルに存在するデータとを基に、フレームにおけるヘッダを変換し、変換後のヘッダをメモリに格納する。次に、該プロトコル変換装置は、ステータスの監視結果を基に、当該フレームを送信する。
【先行技術文献】
【特許文献】
【0011】
【特許文献1】特開2005−117503号公報
【特許文献2】特開2009−207182号公報
【特許文献3】特開2010−147617号公報
【発明の概要】
【発明が解決しようとする課題】
【0012】
トランスミッションコントロールプロトコル/インターネットプロトコル(Transmission Control Protocol/Internet Protocol、以降「TCP/IP」と表す)を利用するアプリケーションプロトコルにおいて、セッション記述プロトコル(以下、Session Description Protocol、以降、「SDP」と表す)は異なる。SDPには、IPV4のIPアドレスやIPV6のIPアドレスが存在する。そのため、IPV4とIPV6とのIPアドレスを変換するためには、アプリケーションプロトコルごとに、SDPにおける記述を変換するためのALG処理を行う必要がある。
【0013】
そのため、変換対象のアプリケーションプロトコルが多くなるほど、ALG処理を行うプログラムを記憶するリードオンリーメモリー(Read Only Memory、ROMとも表す)の記憶領域は増加する。また、変換前と変換後とにおいて、二つのバッファを準備してコピーすることは、ランダムアクセスメモリー(Random Access Memory、RAMとも表す)の記憶領域を増加させ、さらに、通信性能を劣化させる。特に、送受信を行うデータ量が小さく、リアルタイム性を要するシステムにおいて、必要なRAMの記憶領域が増加することと、通信性能が劣化することとは、課題である。
【0014】
そこで、本発明の主たる目的は、処理性能が低い情報処理装置においても、プロトコル変換を効率よく支援するプロトコル変換支援装置等を提供することである。
【課題を解決するための手段】
【0015】
前述の目的を達成するために、本発明に係るプロトコル変換支援装置は、以下の構成を備えることを特徴とする。
【0016】
即ち、本発明に係るプロトコル変換支援装置は、
第1通信プロトコルに従い記述されたパケットのヘッダが持つ第1データ量と第2通信プロトコルに従い記述された前記パケットのヘッダが持つ第2データ量との差と、前記パケットにおけるペイロードに存在するIPアドレスの数とに応じて第3データ量を算出する算出部と、
前記パケットにおいて、前記ヘッダと前記IPアドレスとを前記第2通信プロトコルに従い変換し、その結果を変換パケットとする変換部とを備え、
前記変換パケットのデータ量は、前記パケットのデータ量と前記第3データ量との和である第4データ量以下である
ことを特徴とする。
【0017】
また、本発明の他の見地として、本発明に係るプロトコル変換支援方法は、
第1通信プロトコルに従い記述されたパケットのヘッダが持つ第1データ量と第2通信プロトコルに従い記述された前記パケットのヘッダが持つ第2データ量との差と、前記パケットにおけるペイロードに存在するIPアドレスの数とに応じて第3データ量を算出すると共に、前記パケットにおいて、前記ヘッダと前記IPアドレスとを前記第2通信プロトコルに従い変換し、その結果を変換パケットとし、前記変換パケットのデータ量は、前記パケットのデータ量と前記第3データ量との和である第4データ量以下である
ことを特徴とする。
【発明の効果】
【0018】
本発明に係るプロトコル変換支援装置等によれば、処理性能が低い情報処理装置においても、効率的にプロトコルを変換する支援を行うことができる。
【発明を実施するための形態】
【0019】
次に、発明を実施するための最良の形態について図面を参照して詳細に説明する。
【0020】
<第1の実施形態>
本発明の第1の実施形態に係るプロトコル変換支援装置が有する構成と、そのプロトコル変換支援装置が行う処理とについて、図1図2とを参照しながら詳細に説明を行う。図1は、本発明の第1の実施形態に係るプロトコル変換支援装置1の構成を示すブロック図である。図2は、本発明の第1の実施形態に係るプロトコル変換支援装置1における処理の流れを示すフローチャートである。
【0021】
図1を参照すると、本発明の第1の実施形態に係るプロトコル変換支援装置1は、算出部2と、変換部3とを有する。プロトコル変換支援装置1は、通信コントローラー(図1には不図示)を介して第1通信プロトコルのパケット4を受信する。パケット4は、ヘッダとペイロードとから構成される。
【0022】
算出部2は、パケット4のデータ量を測定すると共に、パケット4におけるヘッダの位置を特定する。ヘッダは、通信プロトコルごとに所定のフォーマットが定義されている。例えば、プロトコルには、IPV4やIPV6の他、インターネットプロトコルバージョン5、インターネットプロトコルバージョン7、インターネットプロトコルバージョン8、インターネットプロトコルバージョン9、インターネットプロトコルバージョン10、インターネットプロトコルバージョン11、インターネットプロトコルバージョン12、インターネットプロトコルバージョン13、インターネットプロトコルバージョン14、インターネットプロトコルバージョン15、モバイルIPV4、モバイルIPV6等が存在する。通信プロトコルは、上述した例には限定されない。所定のフォーマットについては、様々な文献に記述されているため、ここでは説明を省略する。
【0023】
第1通信プロトコルから第2通信プロトコルに変換するのに要するデータ量は、第1通信プロトコルに従い記述されたパケットのデータ量と、当該2つの通信プロトコルにおけるヘッダのデータ量の差との和である。即ち、そのヘッダのデータ量の差は、第1通信プロトコルに従い記述されたパケットのヘッダが持つ第1データ量と、第2通信プロトコルに従い記述された前記パケットのヘッダが持つ第2データ量との差である。算出部2は、必ずしもヘッダが有するデータ量の差を算出する必要はなく、ヘッダのデータ量の差を所定のヘッダのデータ量の差として算出しておくこともできる。あるいは、算出部2は、ヘッダのデータ量の差よりも大きな値を算出することもできる。
【0024】
次に、算出部2は、例えば、ペイロードに存在する第1通信プロトコルにて記述されたIPアドレスの数と、測定したパケットのデータ量と、上述した所定のヘッダにおけるデータ量の差とに応じて、第1通信プロトコルから第2通信プロトコルへプロトコル変換する際の第4データ量を算出する(ステップS1)。
【0025】
例えば、算出部2は、第4データ量を、式1に従い算出することができる。
【0026】
B+R・・・(式1)
ただし
R=H+(D―E)×A、即ち、第3データ量、
Bは、パケットのデータ量、
Hは、第1データ量―第2データ量であり、算出値が0以下のときは、0とする、
Dは、第1通信プロトコルにて記述するときのIPアドレスの長さ、
Eは、第2通信プロトコルにて記述するときのIPアドレスの長さ、
D−Eの値が0以下のときは、D−Eの値を0とする、
Aは、ペイロードに存在する第1通信プロトコルにて記述されたIPアドレス数である。
【0027】
算出部2は、必ずしも、上述した方法で第4データ量を算出する必要はなく、例えば、上述した値に正の値を加えたり、あるいは、1以上の値を掛けたりしても良い。算出する方法は、上述した方法に限定されない。
【0028】
次に、変換部3は、受信したパケット4におけるヘッダを、第1通信プロトコルから第2通信プロトコルに変換する(ステップS2)。次に、変換部3は、受信したパケット4におけるペイロードに存在するIPアドレスを、第1通信プロトコルから第2通信プロトコルに変換する(ステップS3)。
【0029】
プロトコル変換支援装置1は、ステップS1にて算出した第4データ量のバッファを、外部記憶装置(図1には不図示)に確保し、確保したバッファに、変換後のパケットを記憶させることもできる。あるいは、プロトコル変換支援装置1がメモリを有する場合には、プロトコル変換支援装置1は、自装置におけるメモリにおいて、ステップS1にて算出した第4データ量のバッファを確保し、確保したバッファに変換後のパケットを記憶させることもできる。あるいは、プロトコル変換支援装置1は、算出した第4データ量と変換後のパケットとを外部に送信することもできる。その場合、外部の処理装置(図1には不図示)は、算出した第4データ量と変換パケットとを受信し、上述したような処理を行うこともできる。背景技術にて説明したALG処理は、上述したようなバッファを参照することで実施される。
【0030】
図3に示すように、プロトコル変換支援装置1は、例えば、通信機能におけるデータリンク層に設置することもできる。図3は、本発明の第1の実施形態に係るプロトコル変換支援装置1を有する情報処理装置11における通信機能を概念的に表す図である。図3を参照すると、情報処理装置11における通信機能は、物理層9(「レイヤ1」、「L1」とも表す)と、データリンク層8(「レイヤ2」、「L2」とも表す)と、ネットワーク層7(「レイヤ3」、「L3」とも表す)と、トランスポート層6(「レイヤ4」、「L4」とも表す)とを概念的に有する。この概念は、オープンシステムインターコネクション(Open Systems Interconnection、以降、「OSI」と表す)参照モデルとして知られており、一般の情報処理装置における通信機能を、階層構造により概念的に表したモデルである。プロトコル変換支援装置1は、例えば、データリンク層8に位置しており、受信したパケット4において、ヘッダとペイロードに関するプロトコル変換を行う。
【0031】
特許文献1乃至特許文献3が開示する装置は、アプリケーションプロトコルごとにIPアドレスを変換する。そのため、それらの装置によれば、アプリケーションプロトコルが多くなるほど、変換等を処理するプログラムを記憶する記憶領域や、変換後のパケットを記憶するバッファを確保する処理が冗長に行われる。
【0032】
一方、本発明における第1の実施形態に係るプロトコル変換支援装置1によれば、変換後のパケットに関する情報を保存する。そのため、本発明における第1の実施形態に係るプロトコル変換支援装置1によれば、アプリケーションプロトコルごとにアドレス変換等の処理を行う必要がなくなる。即ち、本発明における第1の実施形態に係るプロトコル変換支援装置1は、アドレス変換等に付随する冗長な処理を削減する。冗長な処理は、情報処理装置の処理性能が低いほど、より多くの時間を必要とする。そのため、本発明における第1の実施形態に係るプロトコル変換支援装置1は、処理性能が低い情報処理装置ほど、効率的に通信プロトコルを変換する支援を行う。
【0033】
即ち、本発明における第1の実施形態に係るプロトコル変換支援装置によれば、処理性能が低い情報処理装置においても効率的にプロトコルを変換する支援を行うことができる。
【0034】
<第2の実施形態>
次に、上述した第1の実施形態を基本とする第2の実施形態について説明する。
【0035】
以下の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第1の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
【0036】
図4図5とを参照しながら、本発明の第2の実施形態に係るプロトコル変換支援装置12が有する構成と、プロトコル変換支援装置12が行う処理とについて説明を行う。図4は、本発明の第2の実施形態に係るプロトコル変換支援装置12の構成を示すブロック図である。図5は、本発明の第2の実施形態に係るプロトコル変換支援装置12における処理の流れを示すフローチャートである。
【0037】
図4を参照すると、プロトコル変換支援装置12は、算出部13と、変換部14と、確保部15とを有する。情報処理装置16は、プロトコル変換支援装置12と、メモリ17とを有する。プロトコル変換支援装置12は、パケット4を受け取る。次に、算出部13は、プロトコル変換支援装置12が受け取ったパケット4のデータ量に関する情報を得る(ステップS4)。次に、算出部13は、本発明の第1の実施形態に示したような方法に従い、データ量を算出する。次に、算出部13は、算出したデータ量に関する情報を確保部15に送信する。
【0038】
確保部15は、メモリ17に、算出部13が送信したデータ量のバッファを確保する(ステップS5)。
【0039】
次に、変換部14は、受信したパケット4におけるヘッダを、第1通信プロトコルから第2通信プロトコルに変換し、変換後のヘッダを確保部15が確保したバッファに記憶する(ステップS6)。次に、変換部14は、受信したパケット4におけるペイロードを、第1通信プロトコルから第2通信プロトコルに変換し、変換後のペイロードを確保部15が確保したバッファに記憶する(ステップS7)。
【0040】
本発明における第2の実施形態に係るプロトコル変換支援装置12は、上述したように、確保部15がメモリ17にバッファを確保し、変換後のパケットを確保したバッファに記憶させる。アプリケーションプロトコルは、そのバッファに存在するパケットを参照する。そのため、本発明における第2の実施形態に係るプロトコル変換支援装置12によれば、異なるアプリケーションプロトコルにおける冗長な処理を減らすことができる。
【0041】
即ち、本発明における第2の実施形態に係るプロトコル変換支援装置によれば、処理性能が低い情報処理装置においても効率的にプロトコルを変換する支援を行うことができる。
【0042】
<第3の実施形態>
次に、上述した第1の実施形態を基本とする第3の実施形態について説明する。
【0043】
以下の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第1の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
【0044】
図6図7とを参照しながら、本発明の第3の実施形態に係るプロトコル変換支援装置18が有する構成と、プロトコル変換支援装置18が行う処理とについて説明を行う。図6は、本発明の第3の実施形態に係るプロトコル変換支援装置18の構成を示すブロック図である。図7は、本発明の第3の実施形態に係るプロトコル変換支援装置18における処理の流れを示すフローチャートである。
【0045】
図6を参照すると、プロトコル変換支援装置18は、算出部19と、変換部3とを有する。算出部19は、上述した式1に従い値を算出する(ステップS8)。算出部19が算出した値に応じてバッファ(図6には不図示)が確保され、確保されたバッファに変換部3が変換したパケットが記憶される。
【0046】
本発明における第3の実施形態に係る算出部19は、変換後のパケットを記憶するために必要なバッファ領域の大きさを算出する。そのため、本発明における第3の実施形態に係るプロトコル変換支援装置は、本発明における第1の実施形態に係るプロトコル変換支援装置が持つ効果を有する。
【0047】
即ち、本発明における第3の実施形態に係るプロトコル変換支援装置によれば、処理性能が低い情報処理装置においても効率的にプロトコルを変換する支援を行うことができる。
【0048】
<第4の実施形態>
次に、上述した第1の実施形態を基本とする第4の実施形態について説明する。
【0049】
以下の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第1の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
【0050】
図8図9とを参照しながら、本発明の第4の実施形態に係るプロトコル変換支援装置10が有する構成と、プロトコル変換支援装置10が行う処理とについて説明を行う。図8は、本発明の第4の実施形態に係るプロトコル変換支援装置10の構成を示すブロック図である。図9は、本発明の第4の実施形態に係るプロトコル変換支援装置10における処理の流れを示すフローチャートである。
【0051】
図8を参照すると、プロトコル変換支援装置10は、確保部15、算出部19、変換部21とを有する。変換部21は、第1処理部22と、第2処理部23と、第3処理部24と、第4処理部25とを有する。情報処理装置20は、プロトコル変換支援装置10と、メモリ17とを有する。受信するパケット26は、L2ヘッダ、L3ヘッダ、L4ヘッダ、L4ペイロードに関する情報を有する。
【0052】
まず、算出部19は、本発明における第3の実施形態における方法に従い、データ量を算出し、その算出した値を確保部15に送信する。次に、確保部15は、算出部19が算出したデータ量の大きさを持つバッファを、メモリ17に確保する。次に、第1処理部22は、受信したパケット26を、バッファにおけるアドレスがR(式1にて定義)以降のバッファ領域にコピーする(ステップS9)。その後、第1処理部22は、L2ヘッダに対応するバッファ領域の先頭アドレスを第2処理部23に送信する。
【0053】
次に、第2処理部23は、第1処理部22が送信した先頭アドレスを受信し、L2ヘッダに対応するバッファ領域を見つけ、そのバッファ領域をバッファの先頭アドレスに移動する(ステップS10)。その後、第2処理部23は、L3ヘッダに対応するバッファ領域の先頭アドレスを第3処理部24に送信する。
【0054】
次に、第3処理部24は、第2処理部23が送信した先頭アドレスを受信し、L3ヘッダとL4ヘッダとに対応するバッファ領域を見つける。
【0055】
次に、第3処理部24は、見つけたバッファ領域のデータ、即ち、L3ヘッダとL4ヘッダとを第2通信プロトコルに変換し、変換したデータをバッファのL2ヘッダの後ろに存在するバッファ領域に記憶させる(ステップS11)。その後、第2処理部23は、L4ペイロードに対応するバッファ領域の先頭アドレスを第4処理部25に送信する。
【0056】
次に、第4処理部25は、第3処理部24が送信した先頭アドレスを受信し、L4ペイロードに対応するバッファ領域を見つける。
【0057】
次に、第4処理部25は、見つけたバッファ領域のデータがIPアドレスであると判定する場合には、そのIPアドレスを第2通信プロトコルに変換した変換データを作成する。第4処理部25は、見つけたバッファ領域のデータがIPアドレスでないと判定する場合には、そのデータを変換データとする。
【0058】
次に、第4処理部25は、変換データをバッファのL4ヘッダの後ろに記憶させる(ステップS12)。
【0059】
本発明における第4の実施形態に係るプロトコル変換支援装置10は、複数のアプリケーションプロトコルの変換処理を実施する前に、データリンク層で変換する処理を行う。本発明における第4の実施形態に係るプロトコル変換支援装置10は、変換後のパケットを記憶するバッファ領域の大きさをあらかじめ計算し、当該大きさのバッファを確保する。複数のアプリケーションプロトコルにおける変換処理は、確保したバッファだけを使用する。さらに、本発明における第4の実施形態に係るプロトコル変換支援装置10によれば、変換対象のパケットを変換しやすいように、上述したような処理を行う。
【0060】
即ち、本発明における第4の実施形態に係るプロトコル変換支援装置によれば、処理性能が低い情報処理装置においても効率的にプロトコルを変換する支援を行うことができる。
【0061】
(ハードウェア構成例)
図10は、本発明の各実施形態に係るプロトコル変換支援装置を実現可能な情報処理装置のハードウェア構成を、概略的に示すブロック図である。
【0062】
次に、上述した本発明の各実施形態におけるプロトコル変換支援装置を、1つの情報処理装置(計算処理装置、コンピュータ)を用いて実現するハードウェア資源の構成例について説明する。但し、係るプロトコル変換支援装置は、物理的または機能的に少なくとも2つの情報処理装置を用いて実現してもよい。また、係るプロトコル変換支援装置は、専用の装置として実現してもよい。
【0063】
図10は、本発明の第1の実施形態乃至本発明の第4の実施形態に係るプロトコル変換支援装置を実現可能な情報処理装置のハードウェア構成を概略的に示す図である。情報処理装置33は、中央処理演算装置(Central Processing Unit、以降「CPU」と表す)27、メモリ28、ディスク29、不揮発性記録媒体30、出力装置31、および、入力装置32を有する。
【0064】
不揮発性記録媒体30は、例えば、コンパクトディスク(Compact Disc)、デジタルバーサタイルディスク(Digital Versatile Disc)、ブルーレイディスク(Blu−ray Disc)、ユニバーサルシリアルバスメモリ(USBメモリ)などを指しており、電源を供給しなくても係るプログラムを保持し、持ち運びを可能にする。不揮発性記録媒体30は、上述した媒体に限定されない。また、不揮発性記録媒体30の代わりに、通信ネットワークを介して係るプログラムを持ち運びしても良い。
【0065】
即ち、CPU27は、ディスク29が記憶するソフトウェア・プログラム(コンピュータ・プログラム:以下、単に「プログラム」と称する)を、実行時にメモリ28にコピーし、演算処理を実行する。CPU27は、プログラム実行に必要なデータをメモリ28から読み込む。表示が必要な場合には、CPU27は、出力装置31に出力結果を表示する。外部からプログラムを入力する場合、CPU27は、入力装置32からプログラムを読み取る。CPU27は、メモリ28にあるプロトコル変換プログラム(図2図5図7図9)を解釈し実行を行う。CPU27は、上述した本発明の各実施形態において説明した処理を順次行う。
【0066】
即ち、このような場合、本発明は、係るプロトコル変換プログラムによっても成し得ると捉えることができる。更に、係るプロトコル変換プログラムが記録されたコンピュータ読み取り可能な記録媒体によっても、本発明は成し得ると捕らえることができる。
【0067】
尚、上述した各実施形態の一部又は全部は、以下の付記のようにも記載されうる。しかしながら、上述した各実施形態により例示的に説明した本発明は、以下には限られない。即ち、
(付記1)
第1通信プロトコルに従い記述されたパケットのヘッダが持つ第1データ量と第2通信プロトコルに従い記述された前記パケットのヘッダが持つ第2データ量との差と、前記パケットにおけるペイロードに存在するIPアドレスの数とに応じて第3データ量を算出する算出部と、
前記パケットにおいて、前記ヘッダと前記IPアドレスとを前記第2通信プロトコルに従い変換し、その結果を変換パケットとする変換部とを備え、
前記変換パケットのデータ量は、前記パケットのデータ量と前記第3データ量との和である第4データ量以下である
プロトコル変換支援装置。
【0068】
(付記2)
前記算出部と前記変換部とは、情報処理装置の通信機能におけるデータリンク層に存在する
付記1に記載のプロトコル変換支援装置。
【0069】
(付記3)
前記第1通信プロトコルは、インターネットプロトコルバージョン4であり、
前記第2通信プロトコルは、インターネットプロトコルバージョン6である
付記1あるいは付記2に記載のプロトコル変換支援装置。
【0070】
(付記4)
前記第1通信プロトコルは、インターネットプロトコルバージョン6であり、
前記第2通信プロトコルは、インターネットプロトコルバージョン4である
付記1あるいは付記2に記載のプロトコル変換支援装置。
【0071】
(付記5)
前記情報処理装置はメモリを有し、
前記第4データ量を前記メモリにバッファとして確保する確保部を更に備え、
前記変換部は、前記変換パケットを前記確保部に記憶させる
付記1乃至付記4のいずれか1項に記載のプロトコル変換支援装置。
【0072】
(付記6)
前記算出部は、
B+R、
(ただし、
R=H+(D―E)×A、即ち、前記第3データ量、
Bは、前記パケットのデータ量、
Hは、前記第1データ量―前記第2データ量であり、算出値が0以下のときは、0とする、
Dは、前記第1通信プロトコルにて記述するときのIPアドレスの長さ、
Eは、前記第2通信プロトコルにて記述するときのIPアドレスの長さ、
D―Eの算出値が0以下のときは、D―Eの値を0とする、
Aは、前記IPアドレスの数である)、
を前記第4データ量とする
付記1乃至付記5のいずれか1項に記載のプロトコル変換支援装置。
【0073】
(付記7)
前記パケットには、データリンク層ヘッダと、ネットワーク層ヘッダと、トランスポート層ヘッダと、トランスポート層ペイロードとが順に存在し、
前記変換部は、
前記バッファにおける前記R以降の領域に、前記パケットをコピーする第1処理部と、
前記バッファにおいて前記データリンク層ヘッダに対応する部分を、前記バッファの先頭部分に移動させる第2処理部と、
前記バッファにおいて前記ネットワーク層ヘッダに対応する部分を、前記第2通信プロトコルに変換し、該変換した結果と、前記バッファにおいて前記トランスポート層ヘッダに対応する部分とを、前記第2処理部が書き込んだ前記バッファ以降の領域に書き込む第3処理部と、
前記バッファにおいて前記トランスポート層ペイロードに対応するデータを読み、
前記データが、前記第1通信プロトコルに従って記述されたIPアドレスである場合には、前記データを前記第2通信プロトコルに変換し、変換後のデータを書き込みデータとし、
前記データが、前記第1通信プロトコルに従って記述されたIPアドレスでない場合には、前記データを前記書き込みデータとし、
前記書き込みデータを、前記第3処理部が書き込んだ前記バッファ以降の領域に書き込む第4処理部とを
備える付記6に記載のプロトコル変換支援装置。
【0074】
(付記8)
付記1乃至付記7に記載のプロトコル変換支援装置を有し、
前記プロトコル変換支援装置が出力した結果を参照する
プロトコル変換装置。
【0075】
(付記9)
付記8に記載の前記プロトコル変換装置を有する情報処理装置。
【0076】
(付記10)
第1通信プロトコルに従い記述されたパケットのヘッダが持つ第1データ量と第2通信プロトコルに従い記述された前記パケットのヘッダが持つ第2データ量との差と、前記パケットにおけるペイロードに存在するIPアドレスの数とに応じて第3データ量を算出すると共に、前記パケットにおいて、前記ヘッダと前記IPアドレスとを前記第2通信プロトコルに従い変換し、その結果を変換パケットとし、前記変換パケットのデータ量は、前記パケットのデータ量と前記第3データ量との和である第4データ量以下であるプロトコル変換支援方法。
【0077】
(付記11)
第1通信プロトコルに従い記述されたパケットのヘッダが持つ第1データ量と第2通信プロトコルに従い記述された前記パケットのヘッダが持つ第2データ量との差と、前記パケットにおけるペイロードに存在するIPアドレスの数とに応じて第3データ量を算出する算出機能と、
前記パケットにおいて、前記ヘッダと前記IPアドレスとを前記第2通信プロトコルに従い変換し、その結果を変換パケットとする変換機能とを、
コンピュータに実現させ、
前記変換パケットのデータ量は、前記パケットのデータ量と前記第3データ量との和である第4データ量以下である
プロトコル変換支援プログラム。
【図面の簡単な説明】
【0078】
図1】本発明の第1の実施形態に係るプロトコル変換支援装置の構成を示すブロック図である。
図2】本発明の第1の実施形態に係るプロトコル変換支援装置における処理の流れを示すフローチャートである。
図3】本発明の第1の実施形態に係るプロトコル変換支援装置を有する情報処理装置における通信機能を概念的に表す図である。
図4】本発明の第2の実施形態に係るプロトコル変換支援装置の構成を示すブロック図である。
図5】本発明の第2の実施形態に係るプロトコル変換支援装置における処理の流れを示すフローチャートである。
図6】本発明の第3の実施形態に係るプロトコル変換支援装置の構成を示すブロック図である。
図7】本発明の第3の実施形態に係るプロトコル変換支援装置における処理の流れを示すフローチャートである。
図8】本発明の第4の実施形態に係るプロトコル変換支援装置の構成を示すブロック図である。
図9】本発明の第4の実施形態に係るプロトコル変換支援装置における処理の流れを示すフローチャートである。
図10】本発明の各実施形態に係るプロトコル変換支援装置を実現可能な計算処理装置のハードウェア構成を、概略的に示すブロック図である。
図11】本発明に関連するプロトコル変換支援装置の構成を示すブロック図である。
【符号の説明】
【0079】
1 プロトコル変換支援装置
2 算出部
3 変換部
4 パケット
6 トランスポート層
7 ネットワーク層
8 データリンク層
9 物理層
11 情報処理装置
12 プロトコル変換支援装置
13 算出部
14 変換部
15 確保部
16 情報処理装置
17 メモリ
18 プロトコル変換支援装置
19 算出部
20 情報処理装置
21 変換部
22 第1処理部
23 第2処理部
24 第3処理部
25 第4処理部
10 プロトコル変換支援装置
26 パケット
27 CPU
28 メモリ
29 ディスク
30 不揮発性記録媒体
31 出力装置
32 入力装置
33 情報処理装置
34 通信ドライバ処理部
35 IPV4処理部
36 ALG処理部
37 IPV6処理部
38 プロトコル変換装置
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11