JP4623177B2 - 情報処理システム - Google Patents

情報処理システム Download PDF

Info

Publication number
JP4623177B2
JP4623177B2 JP2008237720A JP2008237720A JP4623177B2 JP 4623177 B2 JP4623177 B2 JP 4623177B2 JP 2008237720 A JP2008237720 A JP 2008237720A JP 2008237720 A JP2008237720 A JP 2008237720A JP 4623177 B2 JP4623177 B2 JP 4623177B2
Authority
JP
Japan
Prior art keywords
address
information processing
packet
real
processing apparatus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008237720A
Other languages
English (en)
Other versions
JP2010074353A (ja
Inventor
貴啓 澤田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2008237720A priority Critical patent/JP4623177B2/ja
Priority to US12/368,750 priority patent/US8615604B2/en
Priority to CN200910129435.5A priority patent/CN101677295B/zh
Publication of JP2010074353A publication Critical patent/JP2010074353A/ja
Application granted granted Critical
Publication of JP4623177B2 publication Critical patent/JP4623177B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5084Providing for device mobility
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5076Update or notification mechanisms, e.g. DynDNS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、情報処理装置、情報処理システムおよびプログラムに関する。
通信中にIP(Internet Protocol)アドレスが変更されても通信セッションを継続可能とするために、従来、例えば、あるノードのIPアドレスが変更されると、その変更されたIPアドレスを通信相手のノードに通知する仕組みを備えたシステムが知られている。
例えば、このようなシステムの例としては、特許文献1及び特許文献2に開示されたシステムがある。
また特許文献3には、端末とサーバで使用するポート番号を重複しないよう設定することによって、通信セッション継続中にIPアドレスが変更されても通信セッションを継続可能な通信方法が開示されている。この方法は、TCPプロトコルで用いられるポート番号を利用することで、IPアドレスが変更されても通信続行を可能とするものである。
特開2003−018184号公報 特開2005−218111号公報 特開2007−166146号公報
本発明は、インターネットを介して通信している装置のIPアドレスが変更された場合に、IP以外のプロトコル(TCPなど)を用いずに、その通信を続行できる仕組みを提供することを目的とする。
請求項1に係る発明は、ネットワークを介して通信可能な第1の情報処理装置と第2の情報処理装置とを備え、
前記第2の情報処理装置は、前記ネットワークから到来するパケットのうち宛先IPアドレス及び送信元IPアドレスの組が過去に前記第2の情報処理装置から送信したパケットの送信元IPアドレス及び宛先IPアドレスの組に合致しないものは当該第2の情報処理装置へと転送しない検査装置に保護されており、前記第1の情報処理装置は、前記第1の情報処理装置自身の実IPアドレスの変更を検出する検出手段と、前記第2の情報処理装置と通信中に前記検出手段が実IPアドレスの変更を検出した場合に、変更前の実IPアドレスをヘッダ部の送信元IPアドレスとして含み変更後の実IPアドレスをデータ部に含む変更通知パケットを生成し、生成した変更通知パケットを前記第2の情報処理装置宛に送信する変更通知送信手段と、を備え、前記第2の情報処理装置は、前記第1の情報処理装置の変更前の実IPアドレスをヘッダ部の送信元IPアドレスとして含み変更後の実IPアドレスをデータ部に含む変更通知パケットを、前記第1の情報処理装置から受信する変更通知受信手段と、前記第1の情報処理装置と通信中に前記変更通知受信手段が前記変更通知パケットを受信した後、前記第1の情報処理装置宛にパケットを送信する場合に、当該パケットのヘッダ部における宛先IPアドレスに、前記変更通知パケットのデータ部に含まれる前記通信相手の前記変更後の実IPアドレスを設定する宛先設定手段と、
を備える、ことを特徴とする情報処理システムである。
請求項2に係る発明は、請求項1に係る発明において、前記第1の情報処理装置及び前記第2の情報処理装置には、それぞれ、少なくとも前記第1の情報処理装置と前記第2の情報処理装置との間での通信中は固定の仮想IPアドレスが割り当てられ、前記変更通知送信手段は、前記第1の情報処理装置の仮想IPアドレスをヘッダ部の送信元IPアドレスとして含み、データ部に前記変更後のIPアドレスを含んだパケットを、前記変更前の実IPアドレスを送信元IPアドレスとして含むヘッダ部によりカプセル化することで、前記変更通知パケットを生成する、ことを特徴とする。
請求項3に係る発明は、請求項1又は2に係る発明において、前記第2の情報処理装置は、前記第2の情報処理装置自身の実IPアドレスの変更を検出する第2の検出手段と、前記第1の情報処理装置と通信中に前記第2の検出手段が実IPアドレスの変更を検出した場合に、変更後の実IPアドレスをヘッダ部の送信元IPアドレスとして含む第2の変更通知パケットを生成し、生成した第2の変更通知パケットを前記第1の情報処理装置宛に送信する第2の変更通知送信手段、を更に備えることを特徴とする
請求項4に係る発明は、請求項3に係る発明において、前記第2の情報処理装置は、前記第1の情報処理装置からの応答が途絶えたと判定した場合に、前記第2の情報処理装置の実IPアドレスをヘッダ部の送信元IPアドレスとして含む第3の変更通知パケットを生成し、生成した第3の変更通知パケットを前記第1の情報処理装置宛に送信する第3の変更通知送信手段、を更に備えることを特徴とする
請求項に係る発明によれば、インターネットを介して通信している装置のIPアドレスが変更された場合に、IP以外のプロトコル(TCPなど)を用いずに、その通信を続行することができる。
請求項2に係る発明によれば、変更通知パケットを受け取った第2の情報処理装置が変更通知パケットの送信元を知ることができる。
請求項に係る発明によれば、第2の情報処理装置の実IPアドレスの変更を、IPプロトコルにて第1の情報処理装置に通知し、通信を続行することができる。
請求項に係る発明によれば、第2の情報処理装置とネットワークとの間に介在するルータ等の検査装置の実IPアドレスが変更された場合でも、その変更を通信相手に伝達し、通信を続行することができる。
図1に示すようなネットワーク構成を例にとって、本発明の実施形態を説明する。図1の例では、端末102とサーバ104とがネットワーク106を介して接続されている。ネットワーク106は、インターネット等のIPプロトコル・ベースのデータ通信ネットワークである。端末102は、ユーザが利用するパーソナルコンピュータなどのコンピュータ装置である。サーバ104は、端末102に対してサービスを提供するコンピュータ装置である。
端末102及びサーバ104は、IPプロトコルを用いた通信のための実IPアドレスを有している。サーバ104は、インターネットを介して端末102に対してサービスを提供するために、実IPアドレスとして例えばグローバルIPアドレスを有する。これに対し、端末102には、企業内のLAN(ローカルエリアネットワーク)に接続されている場合などには、実IPアドレスとして、例えばそのLAN内でのプライベートIPアドレスが割り当てられる。なお、端末102がグローバルIPアドレスを持っていてもよい。
また、端末102及びサーバ104には、それぞれ一意な仮想IPアドレスが割り当てられる。端末102及びサーバ104内のアプリケーションは、仮想IPアドレスを用いて通信を行う。すなわち、アプリケーションは、宛先及び送信元を仮想IPアドレスで表したパケット(オリジナルパケットと呼ぶ)を生成し、端末102及びサーバ104内のIPパケット処理部(後述)がそのオリジナルパケットに対し、宛先及び送信元をそれぞれ実IPアドレスで表したヘッダを付加することで、オリジナルパケットをカプセル化し、外部のネットワーク106へと送出する。
仮想IPアドレスは、例えば仮想プライベートネットワーク接続を実現するVPN(Virtual Private Network)サーバなどのサーバにより、ノードで一意になるよう管理され、クライアント102及びサーバ104に割り当てられる。なお、サーバ104がVPNサーバである場合は、サーバ104がクライアント102に仮想IPアドレスを割り当てる。
仮想IPアドレスは、割り当てを受けた通信ノード(例えば端末102又はサーバ104内のアプリケーション)がその仮想IPアドレスの使用をやめるまでは変更されない。例えば、端末102内のアプリケーションとサーバ104内のアプリケーションとが通信セッションを続けている間は、両者が用いる仮想IPアドレスは変更されない。これに対し、端末102及びサーバ104が持つ実IPアドレスは、それらアプリケーションの関知しないところで変更される可能性がある。例えば、実IPアドレスの変更は、例えば管理者がIPアドレスの変更操作を行った場合、移動端末である端末102が別のLANに移動した場合などに生じる。
図2に、端末102とサーバ104との間でやりとりされるデータパケット200のデータ構造の一例を示す。パケットとは通信データのひとまとまりであり、その構造はヘッダ部とデータ部から構成される。ヘッダ部とは、通信を実現するために必要な制御情報であり、データ部の先頭に付加される。またデータ部とは、通信を行いたい内容そのものの情報である。この例では、データパケット200のヘッダ部202内の宛先IPアドレス及び送信元IPアドレスには、それぞれ端末102又はサーバ104の実IPアドレスが設定される。一方、データパケット200のデータ部(「ペイロード」とも呼ばれる)204には、付加情報206と、端末102又はサーバ104内のアプリケーションが作成したオリジナルパケット208とが含まれる。すなわち、データパケット200は、オリジナルパケット208をカプセル化したものである。
付加情報206は、認証キー(鍵)とタイプ情報とを含んでいる。認証キーは、端末102とサーバ104との間で共有される秘密キーである。この認証キーにより、端末102はデータパケット200がサーバ104からのものであることを確認(認証)し、サーバ104はデータパケット200が端末102からのものであることを確認する。認証キーは、例えば端末102とサーバ104との間で通信を開始する際に、鍵交換プロトコルを用いて共有される。タイプ情報は、端末102とサーバ104との間でやりとりされるパケットのタイプ(種類)を表す情報である。
この実施形態では、パケットのタイプには、例えば、データパケットと変更通知パケットがある。データパケットは、端末102のアプリケーションとサーバ104のアプリケーションとがやりとりするデータを収容するパケットである。データパケットのタイプ情報の値は例えば“DATA”である。図2のデータパケット200のタイプ情報の値も“DATA”となっている。これに対し、変更通知パケット(図3参照)は、実IPアドレスの変更を通信相手に通知する際に用いられるパケットである。変更通知パケットを表すタイプ情報の値は例えば“ADDR”である。
オリジナルパケット208のヘッダ部210には、宛先IPアドレス及び送信元IPアドレスとして、それぞれ端末102又はサーバ104の仮想IPアドレスが設定される。そして、オリジナルパケット208のデータ部212には、アプリケーションが利用するデータが収容される。
図3に、変更通知パケット300のデータ構造の一例を示す。変更通知パケットは、基本的には、自分の実IPアドレスが変更された通信ノードが、その変更を通信相手のノードに通知するために送信する。なお、変形例として、通信ノードとネットワーク106とを繋ぐルータのIPアドレスが変更された場合に、その通信ノードが変更通知パケットを送信する場合もある(詳細は後述)。変更通知パケット300のヘッダ部302内の宛先IPアドレス及び送信元IPアドレスには、それぞれ端末102又はサーバ104の実IPアドレスが設定される。
ここで、変更通知パケット300は実IPアドレスの変更後に送信されるのであるから、通常であれば、ヘッダ部302の送信元IPアドレスは、変更後の実IPアドレスとなる。しかし、この実施形態では、サーバ104が発する変更通知パケット300のヘッダ部302の送信元IPアドレスは、サーバ104の変更前の実IPアドレスとする。なお、端末102が発する変更通知パケット300のヘッダ部302の送信元IPアドレスは、変更後の実IPアドレスである。このように、この実施形態では、通信ノードの種別が端末102及びサーバ104のいずれであるかに応じて、ヘッダ部302の送信元IPアドレスとして変更前及び変更後のいずれの実IPアドレスを用いるかを切り換えている。
なお、ここで言う通信ノードの種別は、当該通信ノードがネットワーク106からパケットを受け取る場合に、NAT(Network Address Translation:ネットワークアドレス変換)又はNAPT(Network Address Port Translation:ネットワークアドレスポート変換)機能を備えるルータのように到来するパケットの宛先及び送信元のIPアドレスを検査(チェック)する装置によってパケットが保護され、外部ネットワークからそのノードに対して通信セッションを開始できるか、あるいは開始できないかの違いによる。到来するパケットの宛先及び送信元のIPアドレスを検査する装置としては、他にもファイアウォールなどさまざまなものがある。この種の検査装置は、自分自身が守る内部ネットワーク(これに対してネットワーク106は外部ネットワークである)から発せられたパケットの宛先及び送信元のIPアドレスを記憶(キャッシュ)しており、その宛先から送信元へと戻ってきたパケットは内部ネットワークに通すが、それ以外のパケットは通さない。すなわち、ここで想定している例では、端末102はそのような検査装置を介してパケットを受け取るノードであり、サーバ104はそのような検査装置を介さずにパケットを受け取るノードである。
変更通知パケット300のデータ部304には、付加情報306とオリジナルパケット308とが含まれる。付加情報306は、認証キーとタイプ情報とを含んでいる。この例は変更通知パケットなのでタイプ情報の値は“ADDR”である。
オリジナルパケット308のヘッダ部310には、宛先IPアドレス及び送信元IPアドレスとして、それぞれ端末102又はサーバ104の仮想IPアドレスが設定される。オリジナルパケット308のデータ部312には、図3の例では、通知すべき変更後の実IPアドレスが収容されている。
なお、このデータ部312が収容するデータ内容は、変更通知パケット300を生成した通信ノードの種別により異なる。この通信ノードの種別は、前述のものと同様である。種別がサーバ104である場合、データ部312には変更後のIPアドレスが収容される。これに対し、種別が端末102である場合、データ部312は空となる。
次に、通信ノード(端末102及びサーバ104)の内部の機能構成の一例を、図4を用いて説明する。図4に示すように、通信ノード400は、接続情報記憶部402、IPパケット処理部404、IPアドレス変更検出部406及びアプリケーション408を有している。サーバ104のアプリケーション408は、端末102のアプリケーション408に対してサービスを提供するための処理を実行する。例えば、サーバ104がWebサーバである場合、サーバ104のアプリケーション408はWebサーバ機能を提供する。この場合、端末102のアプリケーション408は、例えばWebブラウザである。アプリケーション408は、自分及び通信相手のアプリケーションに割り当てられた仮想IPアドレスを記憶しており、通信相手に対してデータを送信する場合は、それら仮想IPアドレスを用いてオリジナルパケット208を生成する。なお、アプリケーション408は、自分及び通信相手の仮想IPアドレスを持たず、後述する接続情報記憶部402に記憶されたそれらの情報を参照するようにしてもよい。
接続情報記憶部402は、通信相手の通信ノードとの通信接続のために用いる各種情報を記憶している。図示例では、接続情報記憶部402には、認証キー、宛先実IPアドレス、送信元実IPアドレス、前の送信元実IPアドレス、宛先仮想IPアドレス、送信元仮想IPアドレス、ノード種別の情報が記憶されている。このうち、前の送信元実IPアドレスは、送信元の実IPアドレスが変更された場合における、変更前の送信元実IPアドレスである。また、ノード種別は、当該通信ノードの種別である。すなわち、ノード種別の値は、当該通信ノードが前述したサーバ又は端末のいずれの種別に該当するかを示す。ノード種別の値は、サーバの場合は例えば“SERVER”、端末の場合は例えば“CLIENT”である。接続情報記憶部402に記憶される情報項目のうち、前の送信元実IPアドレス及びノード種別以外の項目は、既に説明した。
これら各項目のうち、前の送信元実IPアドレスを除く各項目の値は、通信ノード(端末102とサーバ104)のアプリケーション間で通信を開始する前に公知の手法で設定されている。
なお、当該通信ノードが複数の通信相手と通信を行う場合、認証キー、宛先実IPアドレス、宛先仮想IPアドレスの情報は通信相手ごとに記憶される。
IPアドレス変更検出部406は、当該通信ノードの実IPアドレスの変更を検出する。IPアドレス変更検出部406は、例えば、通信ノードのオペレーティングシステム等、当該通信ノードの実IPアドレスを記憶・管理しているシステムに対し例えば定期的に問合せを行うことで、この問合せの時点での実IPアドレスの値を求める。そして、その値の前回との値との比較から実IPアドレスの変更を検出する。すなわち、例えば、今回求めた実IPアドレスが前回求めた実IPアドレスと異なっていれば、実IPアドレスが変更されたと判断する。実IPアドレスが変更されたことを検出した場合、IPアドレス変更検出部406は、接続情報記憶部402に記憶された項目「送信元実IPアドレス」の値を項目「前の送信元実IPアドレス」にコピーし、変更後の実IPアドレスを項目「送信元実IPアドレス」に上書きする。
IPパケット処理部404は、アプリケーション408とネットワークとの間に位置し、アプリケーション408とネットワーク上の通信相手との間の通信のために、IPパケットについての処理を実行する。例えば、IPパケット処理部404は、アプリケーション408が生成したオリジナルパケットをカプセル化してネットワーク上に送出したり、通信相手から送られてきたパケットをカプセル解除してオリジナルパケットを取り出し、アプリケーション408に提供したりする。また、IPパケット処理部404は、自ノードの実IPアドレスの変更が検出された場合などに、変更通知パケットを生成して通信相手に送る処理を行う。また、通信相手から変更通知パケットを受け取った場合に、その変更通知パケットに含まれる情報に基づき、接続情報記憶部402に記憶された宛先の情報を更新する等の処理も行う。
IPパケット処理部404は、カプセル化部412,送信部414,変更通知パケット生成部416,受信部418,カプセル解除部420,接続情報更新部422を備える。カプセル化部412は、アプリケーション408から受け取ったオリジナルパケット208をカプセル化して外部ネットワーク(ネットワーク106)へ送出可能なパケットを生成する。すなわちカプセル化部412は、オリジナルパケット208に対し、接続情報記憶部402に記憶された情報を用いてヘッダ202及び付加情報206を付加することで、カプセル化されたパケット(カプセル化パケットと呼ぶ)を生成する。すなわち、ヘッダ部202の宛先IPアドレス及び送信元IPアドレスに接続情報記憶部402内の宛先実IPアドレス及び送信元実IPアドレスを設定し、更に認証キーとパケットのタイプ“DATA”を付加情報206に設定し、これらヘッダ部202及び付加情報206をオリジナルパケット208に付加することで、カプセル化パケットを生成する。カプセル化部412が生成したカプセル化パケットは、送信部414を介してネットワークへと送出される。
変更通知パケット生成部416は、IPアドレス変更検出部406から当該通信ノードの実IPアドレスの変更を検出した旨の通知を受けた場合に、変更通知パケット300(図3参照)を生成する。このとき、変更通知パケット生成部416は、項目「ノード種別」の値に応じた変更通知パケット300を生成する。すなわち、ノード種別が“SERVER”であれば、項目「前の送信元実IPアドレス」(すなわち変更前)の値をヘッダ302の送信元実IPアドレスとし、項目「送信元実IPアドレス」(すなわち変更後)の値をデータ部312に含んだ変更通知パケット300を生成する。また、ノード種別が“CLIENT”であれば、項目「送信元実IPアドレス」の値をヘッダ302の送信元実IPアドレスとし、データ部312が空の変更通知パケット300を生成する。この場合、変更通知パケット300のタイプは“ADDR”であり、オリジナルパケット308のヘッダ部310の宛先IPアドレス及び送信元IPアドレスは、接続情報記憶部402から読み出された宛先仮想IPアドレス及び送信元仮想IPアドレスとなる。生成された変更通知パケット300は、送信部414によりネットワークへと送出される。
また、IPパケット処理部404が通信相手との通信セッションのタイムアウトを監視し、タイムアウトが生じた場合に、変更通知パケット生成部416に変更通知パケット300を生成させるようにしてもよい。これは、例えば、当該通信ノードが接続されている内部ネットワークと外部ネットワーク(ネットワーク106)とを接続するNATルータの実IPアドレス(ネットワーク106向けのグローバルIPアドレス)が変更された場合に対応するために行う(詳細な例は後述する)。
例えば、送信したパケットに対する通信相手からの応答が、あらかじめ設定された時間(タイムアウト値という)以内に戻って来ない場合に、通信セッションのタイムアウトが起こったと判定すればよい。ここで用いるタイムアウト値は、アプリケーション408が管理しているタイムアウト値よりも十分小さい値としておく。すなわち、アプリケーション408は、オリジナルパケット208を生成して他の通信ノードのアプリケーションと通信を行うが、その通信についてのタイムアウト値がアプリケーション408に対して設定されている。IPパケット処理部404のタイムアウト値を、そのアプリケーション408のタイムアウト値よりも十分小さい値とすることで、NATルータの実IPアドレスが変更された場合でも、アプリケーション408と通信相手のアプリケーションとの通信が途絶える前に、その変更が通信相手に通知される。この結果、通信が続行される。
受信部418は、ネットワークから到来する当該通信ノード宛のパケットを受信する。受信されたパケットはカプセル解除部420に渡される。
カプセル解除部420は、そのパケット(カプセル化パケット)のカプセル化を解除する。すなわち、受信したカプセル化パケットからヘッダ部202又は302と付加情報206又は306を除いたオリジナルパケット208又は308を取り出す。
ここで、カプセル解除部420は、オリジナルパケット208又は308のヘッダ部210又は310に設定されている宛先IPアドレス及び送信元IPアドレス、及び付加情報206又は306の認証キーが、それぞれ、接続情報記憶部402に記憶されている送信元仮想IPアドレス及び宛先仮想IPアドレス及び認証キーと一致するかどうかを調べる。ここで、それら三者のうちいずれか一つでも一致しなければ、カプセル解除部420はそのオリジナルパケットを破棄する。
また、三者全てが接続情報記憶部402に登録された値と一致した場合、カプセル解除部420は更に付加情報206又は306のタイプ情報を調べる。そして、タイプ情報が“DATA”であれば、当該データパケット200からオリジナルパケット208を取り出し、アプリケーション408に渡す。アプリケーション408は、受け取ったオリジナルパケット208からデータ部212を取り出し、そのデータ部212のデータ内容を用いて当該アプリケーション408自身の処理を行う。
一方、タイプ情報が“ADDR”であれば、当該パケットは変更通知パケット300であり、カプセル解除部420はその変更通知パケット300を接続情報更新部422に渡す。
接続情報更新部422は、受け取った変更通知パケット300を用いて、接続情報記憶部402に記憶された項目「宛先実IPアドレス」の値を更新する。すなわち、その変更通知パケット300内のオリジナルパケット308のデータ部312が空であれば、当該変更通知パケット300のヘッダ部302の送信元実IPアドレスを接続情報記憶部402内の項目「宛先実IPアドレス」に上書きする。また、その変更通知パケット300内のオリジナルパケット308のデータ部312にIPアドレスが収容されていれば、そのIPアドレスを接続情報記憶部402内の項目「宛先実IPアドレス」に上書きする。
次に、図5〜図12を参照して、具体的な状況において本実施形態のシステムがどのように動作するかの例を説明する。まず、図5及び図6を参照して、第1のケースを説明する。
第1のケースでは、図5に示すように、端末502はサーバ506と、インターネット等のネットワーク506経由で通信を行う。端末502には、プライベートな実IPアドレスAAAと、仮想IPアドレスXXXが割り当てられている。サーバ504には、実IPアドレスBBBおよび仮想IPアドレスYYYが割り当てられている。この第1のケースでは、端末502との通信中に、サーバ504の実IPアドレスがBBBからB’B’B’に変更される場合を想定する。
ここで、「通信中」とは、端末502とサーバ504との間で開始された通信セッションが、明示的な終了指示又はタイムアウトなどにより終了するまでの状態をいう。この例では、ルータ508により、外部のネットワーク506から通信セッションを開始するパケットは遮断される。
端末502は、内部ネットワークに接続されており、内部ネットワークと外部のネットワーク506との境界には、NAT(NAPT)機能を持つルータ508が設けられている。ルータ508には、インターネット506側のインターフェイスに実IPアドレスCCCが割り当てられている。ルータ508は、端末502からのパケットに対しNAPT処理を行い、処理後のパケットをインターネット506に送信する。つまり、ルータ508から送信されるパケットの送信元IPアドレスは、実IPアドレスCCCに、送信元ポートはpC(またはpC’(実IPアドレス変更後の場合))に変換される。
端末502とサーバ504のIPパケット処理部404が使用するポートはIPアドレス変更に依らず固定であり、それぞれpAおよびpBとする。また、端末502とサーバ504のアプリケーション408が使用するポートも、端末502又はサーバ504の実IPアドレスの変更に依らず固定であるとする。
図6は、第1のケースにおける処理の流れを示したものである。この流れにおける最初のステップS601が実行される前に、端末502の接続情報記憶部402には以下の値が設定されている。
認証キー:SKEY
宛先実IPアドレス:BBB
送信元実IPアドレス:AAA
前の送信元実IPアドレス:設定なし
宛先仮想IPアドレス:YYY
送信元仮想IPアドレス:XXX
ノード種別:CLIENT
また、サーバ504の接続情報記憶部402には以下の値が設定されている。
認証キー:SKEY
宛先実IPアドレス:設定なし
送信元実IPアドレス:BBB
前の送信元実IPアドレス:設定なし
宛先仮想IPアドレス:XXX
送信元仮想IPアドレス:YYY
ノード種別:SERVER
S601〜S604は、端末502とサーバ504のルータ508を介してのデータパケット208の送受信を示したものである。ここで送受信されるデータパケット200は図2に示したデータ構造のものである。端末502およびサーバ504のIPパケット処理部404は、到来するデータパケット200の宛先及び送信元の仮想IPアドレス、及び認証キーが接続情報記憶部402に記憶されたものと一致することを確認した場合に、オリジナルパケット208をアプリケーション408に送る。
すなわち、S601で端末502から発せられたデータパケット200aは、NAPT機能を備えるルータ508に受け取られる。ルータ508は、S602にてそのデータパケット200aのヘッダ部202の送信元IPアドレス及びポート番号“AAA:pA”を、ルータ508自身の外向けの送信元IPアドレス及びポート番号“CCC:pC”に変換し、変換後のパケット200bを外部のネットワーク506に送出する。このとき、ルータ508は、宛先を“BBB:pB”(内向き)と“BBB:pB”(外向き)の間で変換(ただしこの変換では値は変化しない)し、送信元を“AAA:pA”(内向き)と“CCC:pC”(外向き)との間で変換するというNAT(NAPT)エントリ650を生成して記憶(キャッシュ)する。なお、同内容のNATエントリが既に存在する場合は、生成はしなくて良い。
このデータパケット200bを受け取ったサーバ504は、その内部のアプリケーションがそのデータパケット内のデータ212を処理し、その処理結果を含んだ応答パケット200cをS603にてネットワーク506に送出する。
この応答パケット200cを受け取ったルータ508は、ヘッダ部202の宛先及び送信元IPアドレスの組が、既存のNATエントリ650の外向きの送信元及び宛先IPアドレスの組に一致するので、その応答パケット200cを内部ネットワークへと通す。このとき、ルータ508は、応答パケット200cのヘッダ部202の宛先IPアドレスを、NATエントリ650に従い“AAA:pA”に変更し、変更後のパケット200dをS604で内部ネットワークに送出する。このパケット200dは端末502により受信される。
さて、S604の後、サーバ504の実IPアドレスがBBBからB’B’B’に変更されたとする(S605)。この場合、サーバ504のIPアドレス変更検出部406がIPアドレスの変更を検出し、サーバ504の接続情報記憶部402の送信元実IPアドレスおよび前の送信元実IPアドレスの値を更新する。この更新により、サーバ504の接続情報記憶部402内の情報は以下のようになる。
認証キー:SKEY
宛先実IPアドレス:CCC
送信元実IPアドレス:B’B’B’
前の送信元実IPアドレス:BBB
宛先仮想IPアドレス:XXX
送信元仮想IPアドレス:YYY
ノード種別:SERVER
また、サーバ504のIPパケット処理部404は、変更通知パケット300aを生成し、ネットワーク506経由でルータ508に送信する(S606)。この変更通知パケット300aのヘッダ部302の送信元IPアドレスには変更前の実IPアドレスBBBが設定され、データ部312には変更後の実IPアドレスB’B’B’が収容される。
この変更通知パケット300aは、ルータ508に受信される。ルータ508は、ヘッダ部302の宛先及び送信元IPアドレスの組が、既存のNATエントリ650の外向きの送信元及び宛先IPアドレスの組に一致するので、その応答パケット300aを内部ネットワークへと通す。このとき、ルータ508は、変更通知パケット300aのヘッダ部302の宛先IPアドレスを、NATエントリ650に従い“AAA:pA”に変更し、変更後のパケット300bをS607で内部ネットワークに送出する。
ここで、仮にサーバ504が、変更通知パケットを生成する際に、有効な実IPアドレス(すなわち変更後の実IPアドレス)をヘッダ部302の送信元IPアドレスに設定したとする。この場合、その変更後の実IPアドレスを含むNATエントリがないので、ルータ508はその変更通知パケットを内部ネットワークへと通さない。このため、サーバ504の実IPアドレスの変更が端末502に伝わらない。
これに対し、この実施形態では、ヘッダ部302の送信元IPアドレスに変更前の実IPアドレスを設定しているので、変更通知パケット300aはルータ508内の既存のNATエントリ650に適合し、内部ネットワークを介して端末502へと伝達される。
変更通知パケット300bを受け取った端末502のIPパケット処理部404は、このパケット300bの宛先及び送信元の仮想IPアドレス、及び認証キーが接続情報記憶部402に記憶されたものと一致することを確認する。そして、一致を確認した場合、そのパケット300bのデータ部312内に含まれる変更後のIPアドレスの値により、端末502の接続情報記憶部402内の項目「宛先実IPアドレス」の値を更新する。この更新により、端末502の内の情報は以下のようになる。
認証キー:SKEY
宛先実IPアドレス:B’B’B’
送信元実IPアドレス:AAA
前の送信元実IPアドレス:設定なし
宛先仮想IPアドレス:YYY
送信元仮想IPアドレス:XXX
ノード種別:CLIENT
この更新の後、端末502のアプリケーション408がサーバ504のアプリケーション408宛にデータを送信した場合、端末502のIPパケット処理部404は、接続情報記憶部402内の更新後の情報を用いてカプセル化を行う。したがって、IPパケット処理部404はヘッダ部202の宛先IPアドレスをサーバ504の変更後の実IPアドレスB’B’B’としたデータパケット200eを送出する(S608)。このデータパケット200eは、ルータ508でのアドレス変換によりデータパケット200fとなってネットワーク506経由でサーバ504に送信される(S609)。なお、このアドレス変換の際に、ルータ508は、宛先を“B’B’B’:pB”(内向き)と“B’B’B’:pB”(外向き)の間で変換(ただしこの変換では値は変化しない)し、送信元を“AAA:pA”(内向き)と“CCC:pC’”(外向き)との間で変換するという新規のNATエントリ660を生成して記憶(キャッシュ)する。ここでは、ルータ508は、サーバ504の変更後のIPアドレスを用いた通信のために、新たなポート番号pC’を割り当てているが、これは必須ではない。
図示は省略したが、データパケット200fを受け取ったサーバ504がそれに対する応答のデータパケットを生成する場合、ヘッダ部202の送信元IPアドレスには、接続情報記憶部402内の送信元実IPアドレスの値B’B’B’を設定する。この応答パケットのヘッダ部202の宛先及び送信元のIPアドレスは、NATエントリ660に合致するので、その応答パケットはルータ508を通って端末502まで届く。
以上のようにして、通信セッションの継続中にサーバ504の実IPアドレスが変更されても、通信セッションが継続されることとなる。
次に図7及び図8を参照して、第2のケースを説明する。この第2のケースでは、図7に示すように、端末702はサーバ704と、インターネット等のネットワーク706経由で通信を行う。端末702には、プライベートな実IPアドレスAAAと、仮想IPアドレスXXXが割り当てられている。サーバ704には、実IPアドレスBBBおよび仮想IPアドレスYYYが割り当てられている。
端末702は、最初、ある内部ネットワークに接続されており、その内部ネットワークと外部のネットワーク706との境界には、NAT機能を持つルータ708が設けられている。ルータ708には、ネットワーク706側のインターフェイスに実IPアドレスCCCが割り当てられている。ルータ708は、端末702からのパケットに対しNAPT処理を行い、処理後のパケットをネットワーク706に送信する。
この第2のケースでは、端末702が、例えばモバイル端末であり、NAT(NAPT)機能を持つ別のルータ710の配下の内部ネットワークへと移動した場合を想定する。
この移動により、端末702には、プライベートの実IPアドレスA’A’A’が(例えば後者の内部ネットワーク内にあるDHCP(Dynamic Host Configuration Protocol)サーバから)割り当てられる。ただし、端末702の仮想IPアドレスは、移動しても変化せず、XXXのままである。
ルータ710には、ネットワーク706側のインターフェイスに実IPアドレスC’C’C’が割り当てられており、端末702からのパケットに対しNAPT処理を行い、処理結果のパケットをネットワーク706に送信する。
端末702とサーバ704のIPパケット処理部404が使用するポートはIPアドレス変更に依らず固定であり、それぞれpAおよびpBとする。また、端末702とサーバ704のアプリケーション408が使用するポートも、端末702又はサーバ704の実IPアドレスの変更に依らず固定であるとする。
図8は、第2のケースにおける処理の流れを示したものである。この流れにおける最初のステップS801が実行される前に、端末702の接続情報記憶部402に記憶されている値の組は、第1のケースにおけるステップS601の実行前に端末502及びサーバ504に記憶されている値の組と同じである。
さて、図8におけるS801〜S804までのステップは、端末702がルータ708配下の第1の内部ネットワークに居るときに、端末702からサーバ704にデータパケットが発せられ、これに対する応答パケットがサーバ704から端末702に返される流れを示す。この流れは、図6におけるS601〜S604の流れと同じである。この中で、ルータ708は、NATエントリ850を用いてアドレス変換を行っている。
さて、S804の後、端末702がルータ708の配下からルータ710の配下に移動し、この移動に伴い端末702の実IPアドレスがA’A’A’に変更されたとする(S805)。この場合、端末702のIPアドレス変更検出部406がそのIPアドレスの変更を検出し、端末702の接続情報記憶部402の送信元実IPアドレスおよび前の送信元実IPアドレスの値を更新する。この更新により、サーバ702の接続情報記憶部402内の情報は以下のようになる。
認証キー:SKEY
宛先実IPアドレス:BBB
送信元実IPアドレス:A’A’A’
前の送信元実IPアドレス:AAA
宛先仮想IPアドレス:YYY
送信元仮想IPアドレス:XXX
ノード種別:CLIENT
この変更を受けて、端末702のIPパケット処理部404は、変更通知パケット300cを生成する(S806)。ここで、IPパケット処理部404は、接続情報記憶部402内のノード種別がCLIENTであるので、この変更通知パケット300cのヘッダ部302の送信元IPアドレスには変更後の実IPアドレスA’A’A’を設定し、データ部312には空とする。
この変更通知パケット300cは、ルータ710によりNAPT処理され、その処理結果の変更通知パケット300dがサーバ704へと送られる(S807)。このとき、ルータ710は、変更通知パケット300cのヘッダ部302の宛先及び送信元のIPアドレスと、自分の外向けの実IPアドレスとから、NATエントリ860を生成し、記憶する。
変更通知パケット300dを受け取ったサーバ704のIPパケット処理部404は、そのパケット300dの宛先及び送信元の仮想IPアドレス、及び認証キーがサーバ704の接続情報記憶部402内のものと一致することを確認する。そして、一致が確認されれば、そのパケット300dのヘッダ部302の送信元IPアドレスにより、接続情報記憶部402内の値を次のように更新する。
認証キー:SKEY
宛先実IPアドレス:C’C’C’
送信元実IPアドレス:BBB
前の送信元実IPアドレス:設定なし
宛先仮想IPアドレス:YYY
送信元仮想IPアドレス:XXX
ノード種別:SERVER
この更新の後、サーバ704のアプリケーション408が端末702のアプリケーション408宛にデータを送信した場合、サーバ704のIPパケット処理部404は、接続情報記憶部402内の更新後の情報を用いてカプセル化を行う。したがって、IPパケット処理部404はヘッダ部202の宛先IPアドレスを、ルータ710の実IPアドレスC’C’C’としたデータパケット200gを送出する(S808)。このデータパケット200gは、ルータ710により受信される。ルータ710は、パケット200gのヘッダ部202の宛先及び送信元IPアドレスの組が、NATエントリ860の外向きの送信元及び宛先IPアドレスの組に一致するので、そのパケット200gを内部ネットワークへと通す。ここで、ルータ710は、NATエントリ860に従い、パケット200gの宛先IPアドレスを“A’A’A’:pA”に変更し、その変更結果のパケット200hを内部ネットワーク経由で端末702へ送信する(S809)。
以上のように、この実施形態では、通信セッションの継続中に端末702がルータ708配下の内部ネットワークからルータ710配下の内部ネットワークへ移動し、端末702の実IPアドレスが変更されても、通信セッションが継続される。
端末がネットワークから別のネットワークに移動しても通信を継続させるための技術としてMobile IPv4 (RFC 3344),Mobile IPv6 (RFC 3775)が知られている。これらはいずれもホームエージェントと呼ばれる、いわば留守番として機能する仲介サーバをネットワーク上に設けておく必要がある。これに対し、この実施形態の方式では、そのような仲介サーバが必要ない。
次に図9及び図10を参照して、第3のケースを説明する。この第3のケースでは、図9に示すように、端末902はサーバ904と、インターネット等のネットワーク906経由で通信を行う。端末902には、プライベートな実IPアドレスAAAと、仮想IPアドレスXXXが割り当てられている。サーバ904には、実IPアドレスBBBおよび仮想IPアドレスYYYが割り当てられている。
端末902は、ある内部ネットワークに接続されており、その内部ネットワークと外部のネットワーク906との境界には、NAT機能を持つルータ908が設けられている。ルータ908には、ネットワーク906側のインターフェイスに実IPアドレスCCCが割り当てられている。ルータ908は、端末902からのパケットに対しNAPT処理を行い、処理後のパケットをインターネット906に送信する。ルータ908から送信されるパケットの送信元IPアドレスは、ルータ908の実IPアドレスCCCに、送信元ポート番号はpCに変換される。
この第3のケースでは、端末902とサーバ904との通信中にルータ908の実IPアドレスがCCCからC’C’C’に変更される場合を想定する。
端末902とサーバ904のIPパケット処理部404が使用するポートはIPアドレス変更に依らず固定であり、それぞれpAおよびpBとする。また、端末902とサーバ904のアプリケーション408が使用するポートも、端末902又はサーバ904の実IPアドレスの変更に依らず固定であるとする。
図10は、第3のケースにおける処理の流れを示したものである。この流れにおける最初のステップS1001が実行される前に、端末902及びサーバ904の接続情報記憶部402に記憶されている値の組は、第1のケースにおけるステップS601の実行前に端末502及びサーバ504に記憶されている値の組と同じである。
さて、図10におけるS1001〜S1004までのステップは、端末902からサーバ904にデータパケットが発せられ、これに対する応答パケットがサーバ904から端末902に返される流れを示す。この流れは、図6におけるS601〜S604の流れと同じである。この中で、ルータ908は、NATエントリ1050を用いてアドレス変換を行っている。
さて、S1004の後、ルータ908の実IPアドレスがCCCよりC’C’C’に変更されたとする(S1005)。
この変更の前に、端末902からサーバ904へとデータパケットが送られており、そのデータパケットに対するサーバ904からの応答パケットが発せられる前にルータ908の実IPアドレスが上述のように変更されたとする。この場合、端末902のIPパケット処理部404は、端末902内のアプリケーション408でそのデータパケットに対する応答待ちのタイムアウトが生じる前に、端末902のIPパケット処理部404にて応答待ちのタイムアウトが生じる(S1006)。すると、IPパケット処理部404は、そのタイムアウトを契機として、変更通知パケット300eを生成し、送信する(S1007)。この時点では、端末902自身の実IPアドレスは変更されていないので、生成される変更通知パケット300eは、ヘッダ部302の送信元IPアドレスとして当該端末902の実IPアドレスを持ち、データ部312が空のパケットである。
この変更通知パケット300eを受け取ったルータ908は、パケットの送信元IPアドレスを自分の変更後のIPアドレスへと変換するNATエントリ1060を生成し、このNATエントリ1060に従い、アドレス変換を行う。このアドレス変換後の変更通知パケット300fがネットワーク906を介してサーバ904に送られる(S1008)。
変更通知パケット300fを受け取ったサーバ904のIPパケット処理部404は、そのパケット300fの宛先及び送信元の仮想IPアドレス、及び認証キーがサーバ904の接続情報記憶部402内のものと一致することを確認する。そして、一致が確認されれば、そのパケット300fのヘッダ部302の送信元IPアドレスにより、接続情報記憶部402内の値を次のように更新する。
認証キー:SKEY
宛先実IPアドレス:C’C’C’
送信元実IPアドレス:BBB
前の送信元実IPアドレス:設定なし
宛先仮想IPアドレス:YYY
送信元仮想IPアドレス:XXX
ノード種別:SERVER
この更新の後、サーバ904は、その接続情報記憶部402内の値を用いてデータパケット200iを生成し、ルータ908経由で端末902へ送信する(S1009,S1010)。
以上のように、この実施形態では、通信セッションの継続中にルータ908のIPアドレスが変更されても、通信セッションが継続される。
次に図11及び図12を参照して、第4のケースを説明する。この第4のケースでは、図1に示すように、端末1102はサーバ1104と、インターネット等のネットワーク1106経由で通信を行う。端末1102には、プライベートな実IPアドレスAAAと、仮想IPアドレスXXXが割り当てられている。サーバ1104には、実IPアドレスBBBおよび仮想IPアドレスYYYが割り当てられている。
端末1102は、ある内部ネットワークに接続されており、その内部ネットワークと外部のネットワーク1106との境界には、ファイアウォール1108が設けられている。ファイアウォール1108には、外部のネットワーク1106側からのセッションを開始するパケットは全て遮断する設定がされているとする。
この第4のケースでは、端末1102がサーバ1104と通信セッションを行っている間に、サーバ1104の実IPアドレスがBBBからB’B’B’に変更されることを想定する。
図12は、第4のケースにおける処理の流れを示したものである。この流れにおける最初のステップS1201が実行される前に、端末1102及びサーバ1104の接続情報記憶部402に記憶されている値の組は、第1のケースにおけるステップS601の実行前に端末502及びサーバ504に記憶されている値の組と同じである。
さて、図12におけるS1001〜S1004までのステップは、端末1102からサーバ1104にデータパケットが発せられ、これに対する応答パケットがサーバ1104から端末1102に返される流れを示す。この流れは、ファイアウォール1108がNAPT処理を行わない点を除けば、図6におけるS601〜S604の流れと同じである。
この中で、ファイアウォール1108は、例えばS1201で端末1102からサーバ1104宛のデータパケット200jを受け取った際に、ファイアウォール制御用の通信エントリ1250を生成してキャッシュする。この通信エントリ1250は、パケット200jのヘッダ部202に基づき生成され、宛先が“BBB:pB”で送信元が“AAA:pA”となっている。サーバ1104からの応答パケット200k(S1203)の宛先IPアドレス“AAA:pA”及び送信元IPアドレス“BBB:pB”は、ファイアウォール1108が持つ通信エントリ1250に適合するので、ファイアウォール1108を通って端末1102まで転送される。
さて、S1204の後、サーバ1104の実IPアドレスがBBBよりB’B’B’に変更されたとする(S1205)。
すると、サーバ1104のIPアドレス変更検出部406がIPアドレスの変更を検出し、サーバ1104の接続情報記憶部402の送信元実IPアドレスおよび前の送信元実IPアドレスの値を更新する。この更新により、サーバ1104の接続情報記憶部402内の情報は以下のようになる。
認証キー:SKEY
宛先実IPアドレス:CCC
送信元実IPアドレス:B’B’B’
前の送信元実IPアドレス:BBB
宛先仮想IPアドレス:XXX
送信元仮想IPアドレス:YYY
ノード種別:SERVER
また、サーバ1104のIPパケット処理部404は、変更通知パケット300gを生成し、ネットワーク1106へと送信する(S1206)。この変更通知パケット300gのヘッダ部302の送信元IPアドレスには変更前の実IPアドレスBBBが設定され、宛先IPアドレスには端末1102の実IPアドレスAAAが設定され、データ部312には変更後の実IPアドレスB’B’B’が収容されている。
変更通知パケット300gを受け取ったファイアウォール1108は、そのパケット300gの送信元IPアドレス及び宛先IPアドレスが、既存の通信エントリ1250の宛先及び送信元の組に合致することを検知し、そのパケット300aを内部ネットワークへと通す(S1207)。これにより、端末1102は変更通知パケット300gを受信する。
変更通知パケット300gを受け取った端末1102のIPパケット処理部404は、このパケット300gの宛先及び送信元の仮想IPアドレス、及び認証キーが接続情報記憶部402に記憶されたものと一致することを確認する。そして、一致を確認した場合、そのパケット300gのデータ部312内に含まれる変更後のIPアドレスの値により、端末1102の接続情報記憶部402内の項目「宛先実IPアドレス」の値を更新する。この更新により、端末1102の内の情報は以下のようになる。
認証キー:SKEY
宛先実IPアドレス:B’B’B’
送信元実IPアドレス:AAA
前の送信元実IPアドレス:設定なし
宛先仮想IPアドレス:YYY
送信元仮想IPアドレス:XXX
ノード種別:CLIENT
この更新の後、端末1102のアプリケーション408がサーバ1104のアプリケーション408宛にデータを送信した場合、端末1102のIPパケット処理部404は、接続情報記憶部402内の更新後の情報を用いてカプセル化を行う。したがって、IPパケット処理部404はヘッダ部202の宛先IPアドレスをサーバ1104の変更後の実IPアドレスB’B’B’としたデータパケット200lを送出する(S1208)。ファイアウォール1108は、このデータパケット200lを通過させる際に、宛先を“B’B’B’:pB”とし送信元を“AAA:pA”とした新規の通信エントリ1260を生成してキャッシュする。ファイアウォール1108からネットワーク1206へと送出されたデータパケット200lは、サーバ1104に受信される。
図示は省略したが、データパケット200lを受け取ったサーバ1104がそれに対する応答のデータパケットを生成する場合、ヘッダ部202の送信元IPアドレスには、接続情報記憶部402内の送信元実IPアドレスの値B’B’B’を設定する。この応答パケットのヘッダ部202の宛先及び送信元のIPアドレスは、通信エントリ1260に合致するので、その応答パケットはファイアウォール1108を通って端末1102まで届く。
以上のようにして、通信セッションの継続中にサーバ1104の実IPアドレスが変更されても、通信セッションが継続されることとなる。
以上に説明した各例の端末102,502,702,902,1102及びサーバ104,504,704,904,1104は、例えば、汎用のコンピュータに上述の各機能モジュールの処理を表すプログラムを実行させることにより実現される。ここで、コンピュータは、例えば、ハードウエアとして、図13に示すように、CPU1300等のマイクロプロセッサ、ランダムアクセスメモリ(RAM)1302およびリードオンリメモリ(ROM)1304等のメモリ(一次記憶)、HDD(ハードディスクドライブ)1306を制御するHDDコントローラ1308、各種I/O(入出力)インターフェイス1310、ローカルエリアネットワークなどのネットワークとの接続のための制御を行うネットワークインタフェース1312等が、たとえばバス1314を介して接続された回路構成を有する。また、そのバス1314に対し、例えばI/Oインターフェイス1310経由で、CDやDVDなどの可搬型ディスク記録媒体に対する読み取り及び/又は書き込みのためのディスクドライブ1316、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体に対する読み取り及び/又は書き込みのためのメモリリーダライタ1318、などが接続されてもよい。上に例示した各機能モジュールの処理内容が記述されたプログラムがCDやDVD等の記録媒体を経由して、又はネットワーク等の通信手段経由で、ハードディスクドライブ等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがRAM1302に読み出されCPU1300等のマイクロプロセッサにより実行されることにより、上に例示した機能モジュール群が実現される。なお、それら機能モジュール群のうちの一部又は全部を、専用LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit、特定用途向け集積回路)又はFPGA(Field Programmable Gate Array)等のハードウエア回路として構成してもよい。
実施形態の仕組みが適用されるネットワークの例を示す図である。 実施形態のシステムにおいて、端末・サーバ間でやりとりされるカプセル化されたデータパケットのデータ構造の一例を示す図である。 実施形態のシステムにおいて、端末・サーバ間でやりとりされる変更通知パケットのデータ構造の一例を示す図である。 通信ノード(端末又はサーバ)の機能的構造の一例を示す図である。 第1のケースを説明するための図である。 第1のケースにおけるパケットのやりとりの流れを説明するための図である。 第2のケースを説明するための図である。 第2のケースにおけるパケットのやりとりの流れを説明するための図である。 第3のケースを説明するための図である。 第3のケースにおけるパケットのやりとりの流れを説明するための図である。 第4のケースを説明するための図である。 第4のケースにおけるパケットのやりとりの流れを説明するための図である。 コンピュータのハードウエア構成の一例を示す図である。
符号の説明
102,502,702,902,1102 端末、104,504,704,904,1104 サーバ、106,506,706,906,1106 ネットワーク、508,708,710,908 ルータ、1108 ファイアウォール。

Claims (4)

  1. ネットワークを介して通信可能な第1の情報処理装置と第2の情報処理装置とを備え、
    前記第2の情報処理装置は、前記ネットワークから到来するパケットのうち宛先IPアドレス及び送信元IPアドレスの組が過去に前記第2の情報処理装置から送信したパケットの送信元IPアドレス及び宛先IPアドレスの組に合致しないものは当該第2の情報処理装置へと転送しない検査装置に保護されており、
    前記第1の情報処理装置は、
    前記第1の情報処理装置自身の実IPアドレスの変更を検出する検出手段と、
    前記第2の情報処理装置と通信中に前記検出手段が実IPアドレスの変更を検出した場合に、変更前の実IPアドレスをヘッダ部の送信元IPアドレスとして含み変更後の実IPアドレスをデータ部に含む変更通知パケットを生成し、生成した変更通知パケットを前記第2の情報処理装置宛に送信する変更通知送信手段と、
    を備え
    前記第2の情報処理装置は、
    前記第1の情報処理装置の変更前の実IPアドレスをヘッダ部の送信元IPアドレスとして含み変更後の実IPアドレスをデータ部に含む変更通知パケットを、前記第1の情報処理装置から受信する変更通知受信手段と、
    前記第1の情報処理装置と通信中に前記変更通知受信手段が前記変更通知パケットを受信した後、前記第1の情報処理装置宛にパケットを送信する場合に、当該パケットのヘッダ部における宛先IPアドレスに、前記変更通知パケットのデータ部に含まれる前記通信相手の前記変更後の実IPアドレスを設定する宛先設定手段と、
    を備える、ことを特徴とする情報処理システム
  2. 前記第1の情報処理装置及び前記第2の情報処理装置には、それぞれ、少なくとも前記第1の情報処理装置と前記第2の情報処理装置との間での通信中は固定の仮想IPアドレスが割り当てられ、
    前記変更通知送信手段は、前記第1の情報処理装置の仮想IPアドレスをヘッダ部の送信元IPアドレスとして含み、データ部に前記変更後のIPアドレスを含んだパケットを、前記変更前の実IPアドレスを送信元IPアドレスとして含むヘッダ部によりカプセル化することで、前記変更通知パケットを生成する、
    ことを特徴とする請求項1記載の情報処理システム
  3. 前記第2の情報処理装置は、
    前記第2の情報処理装置自身の実IPアドレスの変更を検出する第2の検出手段と、
    前記第1の情報処理装置と通信中に前記第2の検出手段が実IPアドレスの変更を検出した場合に、変更後の実IPアドレスをヘッダ部の送信元IPアドレスとして含む第2の変更通知パケットを生成し、生成した第2の変更通知パケットを前記第1の情報処理装置宛に送信する第2の変更通知送信手段、
    を更に備える請求項1又は2に記載の情報処理システム
  4. 前記第2の情報処理装置は、
    前記第1の情報処理装置からの応答が途絶えたと判定した場合に、前記第2の情報処理装置の実IPアドレスをヘッダ部の送信元IPアドレスとして含む第3の変更通知パケットを生成し、生成した第3の変更通知パケットを前記第1の情報処理装置宛に送信する第3の変更通知送信手段、
    を更に備える請求項3記載の情報処理システム
JP2008237720A 2008-09-17 2008-09-17 情報処理システム Expired - Fee Related JP4623177B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2008237720A JP4623177B2 (ja) 2008-09-17 2008-09-17 情報処理システム
US12/368,750 US8615604B2 (en) 2008-09-17 2009-02-10 Information processing apparatus, information processing system and computer readable medium for maintaining communication while IP addresses change
CN200910129435.5A CN101677295B (zh) 2008-09-17 2009-03-18 信息处理设备、信息处理系统和包管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008237720A JP4623177B2 (ja) 2008-09-17 2008-09-17 情報処理システム

Publications (2)

Publication Number Publication Date
JP2010074353A JP2010074353A (ja) 2010-04-02
JP4623177B2 true JP4623177B2 (ja) 2011-02-02

Family

ID=42008193

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008237720A Expired - Fee Related JP4623177B2 (ja) 2008-09-17 2008-09-17 情報処理システム

Country Status (3)

Country Link
US (1) US8615604B2 (ja)
JP (1) JP4623177B2 (ja)
CN (1) CN101677295B (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9565207B1 (en) 2009-09-04 2017-02-07 Amazon Technologies, Inc. Firmware updates from an external channel
US10177934B1 (en) 2009-09-04 2019-01-08 Amazon Technologies, Inc. Firmware updates inaccessible to guests
US8214653B1 (en) 2009-09-04 2012-07-03 Amazon Technologies, Inc. Secured firmware updates
US8887144B1 (en) 2009-09-04 2014-11-11 Amazon Technologies, Inc. Firmware updates during limited time period
US8971538B1 (en) 2009-09-08 2015-03-03 Amazon Technologies, Inc. Firmware validation from an external channel
US8601170B1 (en) 2009-09-08 2013-12-03 Amazon Technologies, Inc. Managing firmware update attempts
US8102881B1 (en) 2009-09-08 2012-01-24 Amazon Technologies, Inc. Streamlined guest networking in a virtualized environment
US8640220B1 (en) 2009-09-09 2014-01-28 Amazon Technologies, Inc. Co-operative secure packet management
US8155146B1 (en) 2009-09-09 2012-04-10 Amazon Technologies, Inc. Stateless packet segmentation and processing
US8300641B1 (en) 2009-09-09 2012-10-30 Amazon Technologies, Inc. Leveraging physical network interface functionality for packet processing
US8959611B1 (en) 2009-09-09 2015-02-17 Amazon Technologies, Inc. Secure packet management for bare metal access
US8381264B1 (en) 2009-09-10 2013-02-19 Amazon Technologies, Inc. Managing hardware reboot and reset in shared environments
JP5273002B2 (ja) * 2009-09-30 2013-08-28 ブラザー工業株式会社 通信システム、通信制御装置、通信制御方法、及び通信制御プログラム
JP5501052B2 (ja) * 2010-03-24 2014-05-21 キヤノン株式会社 通信装置、通信装置の制御方法、プログラム
US9025740B2 (en) * 2010-05-06 2015-05-05 Bellmar Communications Llc Method and system for improved communication security
US8428087B1 (en) 2010-09-17 2013-04-23 Amazon Technologies, Inc. Framework for stateless packet tunneling
US8462780B2 (en) 2011-03-30 2013-06-11 Amazon Technologies, Inc. Offload device-based stateless packet processing
JP2013038684A (ja) * 2011-08-10 2013-02-21 Refiner Inc Vpn接続管理システム
US9288177B2 (en) * 2011-12-14 2016-03-15 International Business Machines Corporation Inventory updating of an internet protocol (IP) alias within a highly available computing cluster
CN102664973B (zh) * 2012-05-14 2015-03-18 浙江宇视科技有限公司 一种更新ip地址的方法和装置
CN102710805B (zh) * 2012-05-14 2015-10-14 浙江宇视科技有限公司 一种更新ip地址的方法和装置
CN103428044B (zh) * 2012-05-24 2016-08-10 中国移动通信集团贵州有限公司 一种数据包监听方法、装置和系统
JP5843707B2 (ja) * 2012-06-22 2016-01-13 日本電信電話株式会社 IPv4−IPv6変換処理方法、IPv4−IPv6変換処理装置およびIPv4−IPv6統合ネットワークシステム
CN103338409A (zh) * 2013-06-20 2013-10-02 深圳市同洲电子股份有限公司 一种设备发现的方法和数字电视终端
CN107124387A (zh) * 2016-02-25 2017-09-01 上海传真通信设备技术研究所有限公司 一种阻止硬件后门的嵌入式网络系统
US10484263B2 (en) * 2017-01-16 2019-11-19 International Business Machines Corporation Route-cost acquisition from routers
JP6879014B2 (ja) * 2017-03-31 2021-06-02 株式会社リコー 監視システム、プログラム及び監視方法
CN109428916B (zh) * 2017-08-25 2022-02-22 中兴通讯股份有限公司 数据传输方法和装置、终端及服务器
US11153203B2 (en) * 2018-10-05 2021-10-19 Sandvine Corporation System and method for adaptive traffic path management

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003060672A (ja) * 2001-08-17 2003-02-28 Brains Corp 画像伝送装置
JP2006324737A (ja) * 2005-05-17 2006-11-30 Matsushita Electric Ind Co Ltd 通信システム、パケット処理装置、及びパケット処理方法
JP2007066145A (ja) * 2005-09-01 2007-03-15 Oki Data Corp 画像形成システム
JP2008098813A (ja) * 2006-10-10 2008-04-24 Matsushita Electric Ind Co Ltd 情報通信装置、情報通信方法、及びプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7096273B1 (en) * 2001-04-25 2006-08-22 Cisco Technology, Inc. DHCP over mobile IP
JP2003018184A (ja) 2001-07-04 2003-01-17 Toshiba Corp 通信制御システムおよび通信制御方法
US8195835B2 (en) 2004-01-28 2012-06-05 Alcatel Lucent Endpoint address change in a packet network
US7895648B1 (en) * 2004-03-01 2011-02-22 Cisco Technology, Inc. Reliably continuing a secure connection when the address of a machine at one end of the connection changes
CN1741523B (zh) 2004-08-25 2010-05-12 华为技术有限公司 一种实现主机移动性和多家乡功能的密钥交换协议方法
JP4327142B2 (ja) 2005-09-29 2009-09-09 パナソニック株式会社 情報処理システム、トンネル通信装置、トンネル通信方法、代理応答装置、及び代理応答方法
US20070086449A1 (en) * 2005-10-18 2007-04-19 Aten International Co., Ltd System and method for remote management
JP4586721B2 (ja) 2005-12-13 2010-11-24 Kddi株式会社 通信中にアドレス変更が可能な通信装置、システム及び通信方法
CN101043411B (zh) 2006-03-24 2012-05-23 华为技术有限公司 混合网络中实现移动vpn的方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003060672A (ja) * 2001-08-17 2003-02-28 Brains Corp 画像伝送装置
JP2006324737A (ja) * 2005-05-17 2006-11-30 Matsushita Electric Ind Co Ltd 通信システム、パケット処理装置、及びパケット処理方法
JP2007066145A (ja) * 2005-09-01 2007-03-15 Oki Data Corp 画像形成システム
JP2008098813A (ja) * 2006-10-10 2008-04-24 Matsushita Electric Ind Co Ltd 情報通信装置、情報通信方法、及びプログラム

Also Published As

Publication number Publication date
CN101677295B (zh) 2014-05-07
US20100070623A1 (en) 2010-03-18
JP2010074353A (ja) 2010-04-02
US8615604B2 (en) 2013-12-24
CN101677295A (zh) 2010-03-24

Similar Documents

Publication Publication Date Title
JP4623177B2 (ja) 情報処理システム
US8526467B2 (en) Facilitating transition of network operations from IP version 4 to IP version 6
JP5161262B2 (ja) トンネル情報に基づきアドレス指定衝突を解決する方法及びシステム
US7729366B2 (en) Method, apparatus and system for network mobility of a mobile communication device
JP4327142B2 (ja) 情報処理システム、トンネル通信装置、トンネル通信方法、代理応答装置、及び代理応答方法
US8805977B2 (en) Method and system for address conflict resolution
JP4752510B2 (ja) 暗号化通信システム
JP5516571B2 (ja) 通信方法、通信システム、匿名化装置、サーバ
US7293108B2 (en) Generic external proxy
JP5307884B2 (ja) ダイレクトアクセス及びセキュリティ評価共有を可能とするためのハードウェアインターフェース
JP4146886B2 (ja) 通信モジュール及びこの通信モジュールを備えたアプリケーションプログラム
JP4764737B2 (ja) ネットワークシステム、端末およびゲートウェイ装置
US8254286B2 (en) Method and system for detection of NAT devices in a network
US20060209830A1 (en) Packet processing system including control device and packet forwarding device
WO2005083959A1 (ja) ネットワークアクセスルータ、ネットワークアクセス方法、プログラム、及び記録媒体
EP2399197B1 (en) Service access using a service address
US7023847B2 (en) Network address translation based mobility management
CN109246016B (zh) 跨vxlan的报文处理方法和装置
CN111131539A (zh) 报文转发方法及装置
JP6516331B2 (ja) ReNAT通信環境を提供するシステム及び方法
JP2004080703A (ja) ネットワーク間通信方法およびそれに使用されるゲート装置並びに端末装置
JP2005537732A (ja) アップグレードされたコンピュータシステムにおけるオリジナルタイプメッセージの継続的処理機能
CN112751816B (zh) 一种隧道建立方法、装置、设备及计算机可读存储介质
JP5904965B2 (ja) 通信装置及び通信システム
JP2004349854A (ja) 通信システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100420

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100712

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100720

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100917

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101005

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101018

R150 Certificate of patent or registration of utility model

Ref document number: 4623177

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131112

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees