(58)【調査した分野】(Int.Cl.,DB名)
運用系として稼働しているアドレス変換を行う第1のアドレス変換装置がパケットの受信を契機として生成した動的なアドレスの変換情報を、PCP(Port Control Protocol)に従って該第1のアドレス変換装置から受信するステップと、
受信した前記変換情報をPCPに従ってアドレス変換を行う待機系の第2のアドレス変換装置に送信するステップと
をコンピュータに実行させ、
前記受信するステップでは、伝達対象が動的なアドレスの変換情報であるのか静的なアドレスの変換情報であるのかを通知するための領域を有するように拡張されたPCP PEER信号を用いて、動的なアドレスの変換情報を受信し、
前記送信するステップでは、前記拡張されたPCP PEER信号を用いて、動的なアドレスの変換情報を送信する
プログラム。
【発明を実施するための形態】
【0012】
(本発明にかかる実施の形態の概要)
実施の形態の説明に先立って、本発明にかかる実施の形態の概要を説明する。
図1は、本発明の実施の形態にかかるアドレス変換システム1の構成を示す模式図である。アドレス変換システム1は、アドレス変換装置2と、アドレス変換装置3と、PCP装置4とを備えている。アドレス変換システム1において、アドレス変換装置2と、PCP装置4とは、互いにPCPに従って通信を行う。また、同様に、アドレス変換装置3と、PCP装置4とは、互いにPCPに従って通信を行う。
【0013】
アドレス変換装置2及びアドレス変換装置3は、いずれも、内部ネットワーク等の第1のネットワークと、外部ネットワーク等の第2のネットワークとの間でアドレス変換を行うNAT装置である。ここで、アドレス変換システム1において、アドレス変換装置2及びアドレス変換装置3のうちいずれか一方が、運用系として稼働しており、他方は待機系となっている。すなわち、アドレス変換システム1では、アドレス変換装置2及びアドレス変換装置3を用いて、アドレス変換処理はホットスタンバイによる二重化がなされている。
【0014】
アドレス変換装置2は、アドレス変換制御部21と、記憶部22と、送信部23と、受信部24とを有する。アドレス変換制御部21は、記憶部22に記憶された変換情報に基づいて、アドレス変換を行う。また、アドレス変換制御部21は、自装置が運用系として稼働している場合、パケットの受信を契機として動的なアドレスの変換情報を生成して記憶部22に記憶する。なお、変換情報は、変換におけるアドレスの対応関係を示す情報に限らず、変換におけるポートの対応関係を示す情報を含んでもよい。したがって、アドレス変換装置2は、アドレス変換として、アドレスのみならずポートの変換を行ってもよい。
【0015】
記憶部22は、RAM(Random Access Memory)等の記憶装置によって実現され、変換情報を記憶する。送信部23及び受信部24は、PCPに従って、PCP装置4と通信を行う。特に、送信部23は、アドレス変換制御部21により生成された動的なアドレスの変換情報を、PCP装置4に送信する。また、受信部24は、PCP装置4が送信する変換情報を受信し、記憶部22に記憶する。
【0016】
アドレス変換装置3は、アドレス変換装置2と同様の構成を備えている。すなわち、アドレス変換装置3は、アドレス変換制御部31と、記憶部32と、送信部33と、受信部34とを有する。なお、アドレス変換装置3の各構成は、上述の通り、アドレス変換装置2と同様であるため、説明を省略する。
【0017】
PCP装置4は、PCPに従って、アドレス変換装置2及びアドレス変換装置3と少なくともアドレスの変換情報について通信を行う装置である。PCP装置4は、受信部41と、送信部42と、記憶部43とを有する。
【0018】
受信部41は、アドレス変換装置2の送信部23又はアドレス変換装置3の送信部33により送信された変換情報を受信し、記憶部43に記憶する。より具体的には、受信部41は、アドレス変換装置2及びアドレス変換装置3のうち、運用系として稼働いる方から、変換情報を受信し、受信した変換情報を記憶部43に記憶する。
【0019】
送信部42は、記憶部43に記憶された、アドレス変換装置2の送信部23又はアドレス変換装置3の送信部33により送信された変換情報を、アドレス変換装置2及びアドレス変換装置3のうち待機系の方へ送信する。すなわち、送信部42は、アドレス変換装置2及びアドレス変換装置3のうち運用系の方から送信された変換情報を記憶部43から読み出して、待機系の方へ送信する。
記憶部43は、RAM等の記憶装置によって実現され、変換情報を記憶する。
【0020】
このように、アドレス変換システム1では、PCP装置4を介して、運用系のアドレス変換装置から待機系のアドレス変換装置へと、パケットの受信を契機として生成された動的なアドレスの変換情報を転送することができる。したがって、アドレス変換システム1によれば、アドレス変換の処理を二重化することができる。
【0021】
(実施の形態の詳細)
以下、図面を参照して本発明の実施の形態の詳細について説明する。
図2は、本発明の実施の形態にかかるアドレス変換システム100の構成を示す模式図である。
図2に示されるように、アドレス変換システム100は、NAT装置200と、NAT装置300と、PCPクライアント装置400と、L2スイッチ110と、L2スイッチ120とを有する。なお、NAT装置200、300は、アドレス変換装置と称されることがある。また、PCPクライアント装置400は、PCP装置と称されることがある。
【0022】
アドレス変換システム100は、vCPE NATシステムであり、インターネットサービスプロバイダの施設(局舎)に配置されている。アドレス変換システム100は、汎用的なサーバ構成による仮想マシン上で実現されている。したがって、アドレス変換システム100におけるNAT装置200、NAT装置300及びPCPクライアント装置400では、この仮想マシンに割り当てられたCPUやメモリなどのリソースを用いて、下記の構成要素が実現されている。
【0023】
アドレス変換システム100において、NAT装置200と、PCPクライアント装置400とは、通信プロトコルとしてPCPを用いて、互いに通信する。同様に、NAT装置300と、PCPクライアント装置400とは、通信プロトコルとしてPCPを用いて、互いに通信する。
【0024】
NAT装置200及びNAT装置300は、いずれも、ネットワーク501と、ネットワーク502との間で、アドレス変換を行うNAT装置である。本実施の形態では、ネットワーク501は、インターネットサービスプロバイダが提供するネットワークであり、ネットワーク502はインターネットである。なお、ネットワーク501には、例えば、加入者端末600が接続されている。NAT装置200及びNAT装置300は、L2スイッチ110を介してネットワーク501とパケットを送受信する。また、NAT装置200及びNAT装置300は、L2スイッチ120を介してネットワーク502とパケットを送受信する。
【0025】
アドレス変換システム100では、NAT装置200及びNAT装置300のうちいずれか一方が、運用系として稼働しており、他方は待機系となっている。このように、アドレス変換システム100では、NAT装置200及びNAT装置300を用いることで、ネットワーク501とネットワーク502との間の通信の際のアドレス変換処理の二重化を実現している。
【0026】
以下の本実施の形態の説明では、説明の便宜のため、NAT装置200が運用系であり、NAT装置300が待機系であるものとする。このため、NAT装置200の各構成を説明する際、運用系としての構成について説明する。また、NAT装置300の各構成を説明する際、待機系としての構成について説明する。しかしながら、待機系として機能するために、NAT装置200の各構成が、後述するNAT装置300における対応する構成を備えていてもよい。また、同様に、運用系として機能するために、NAT装置300の各構成が、後述するNAT装置200における対応する構成を備えていてもよい。
【0027】
NAT装置200は、NAT制御部210と、記憶領域220と、PCPサーバ部235とを有する。
NAT制御部210は、記憶領域220に記憶された変換情報に基づいて、アドレス変換を行う。本実施の形態では、記憶領域220に記憶された変換情報とは、具体的には、待ち受けポート設定情報及びポート変換情報である。なお、待ち受けポート設定情報は、加入者端末600がネットワーク502側の図示しない機器からアクセスされる際の待ち受けポートについての変換情報であり、具体的にはアドレス及びポート番号の変換テーブルである。また、ポート変換情報とは、加入者端末600がネットワーク502側の図示しない機器へアクセスする際の変換情報であり、具体的にはアドレス及びポート番号の変換テーブルである。
【0028】
また、NAT制御部210は、加入者端末600からのパケットの受信を契機として動的な変換情報を生成して記憶領域220に記憶する。すなわち、NAT制御部210は、ダイナミックNATのための変換情報を生成して記憶部22に記憶する。より具体的には、NAT制御部210は、加入者端末600からのパケットを受信してセッションを生成する際、ポート変換情報を生成する。なお、NAT装置200によるポート変換情報は、公知の技術により生成される。例えば、NAT制御部210は、NAT装置200において管理されているアドレステーブルを参照して、未払い出しのアドレスを選択することにより、ポート変換情報を生成する。
【0029】
記憶領域220は、RAM等の記憶装置における記憶領域であり、変換情報を記憶する。記憶領域220には、NAT制御部210により生成された動的な変換情報と、PCPクライアント装置400から受信した変換情報とが記憶される。
【0030】
PCPサーバ部235は、PCPに従って、PCPクライアント装置400と通信を行う。具体的には、PCPサーバ部235は、以下の通信を行う。PCPサーバ部235は、NAT制御部210により生成された動的な変換情報を、PCPクライアント装置400に送信する。また、PCPサーバ部235は、PCPクライアント装置400が送信する変換情報を受信する。PCPサーバ部235は、受信した変換情報を記憶領域220に記憶する。
【0031】
PCPサーバ部235は、PCPに従った送信として、具体的には、PCPクライアント装置400に対して、PCP MAP応答信号、PCP PEER応答信号、及びPCP Announce応答信号を送信する。また、PCPサーバ部235は、PCPに従った受信として、具体的には、PCPクライアント装置400から送信されたPCP MAP要求信号、PCP PEER要求信号、及びPCP Announce要求信号を受信する。
【0032】
RFC 6887によれば、PCPクライアント装置400から発せられる信号を「要求」信号と呼び、NAT装置200又はNAT装置300から発せられる信号を「応答」信号と呼びこととなる。したがって、このような定義に沿って、PCP MAP応答信号、PCP PEER応答信号、PCP Announce応答信号、PCP MAP要求信号、PCP PEER要求信号、PCP Announce要求信号と称することがあるが、PCP MAP応答信号、PCP PEER応答信号、及びPCP Announce応答信号が、PCP MAP要求信号、PCP PEER要求信号、及びPCP Announce要求信号に対する応答として発せられるとは限らず、自発的に発せられる場合がある。このため、以下の説明では、単に、「応答」又は「要求」を省略して、PCP MAP信号、PCP PEER信号、PCP Announce信号、PCP MAP信号、PCP PEER信号、PCP Announce信号と呼ぶことがある。なお、これら各信号の詳細については、後述する。
【0033】
なお、PCPサーバ部235の送信にかかる構成は、送信手段と称されることがあり、PCPサーバ部235の受信にかかる構成は、受信手段と称されることがある。
【0034】
次に、PCPクライアント装置400について説明する。PCPクライアント装置400は、PCPクライアント部415と、記憶領域430と、静的変換情報取得部440と、切替部450とを有する。
【0035】
PCPクライアント部415は、PCPに従って、NAT装置200及びNAT装置300と通信を行う。具体的には、PCPクライアント部415は、以下の通信を行う。
PCPクライアント部415は、NAT装置200のPCPサーバ部235又はNAT装置300のPCPサーバ部335から送信された動的な変換情報を受信する。なお、PCPクライアント部415は、NAT装置200が運用系である場合に、NAT装置200から動的な変換情報を受信し、NAT装置300が運用系である場合に、NAT装置300から動的な変換情報を受信する。PCPクライアント部415は、受信した変換情報を記憶領域430に記憶する。
【0036】
また、PCPクライアント部415は、記憶領域430に記憶された変換情報を読み出して、NAT装置200及びNAT装置300に送信する。ここで、後述する静的変換情報取得部440により取得された静的な変換情報については、PCPクライアント部415は、NAT装置200及びNAT装置300に送信する。また、NAT装置200又はNAT装置300から送信された動的な変換情報については、PCPクライアント部415は、NAT装置200及びNAT装置300のうち待機系の方へ送信する。すなわち、PCPクライアント部415は、運用系のNAT装置から得た動的な変換情報を待機系のNAT装置へとPCPに則って伝達する役割を担っている。
【0037】
PCPクライアント部415は、PCPに従った送信として、具体的には、NAT装置200又はNAT装置300に対して、PCP MAP要求信号、PCP PEER要求信号、及びPCP Announce要求信号を送信する。また、PCPクライアント部415は、PCPに従った受信として、具体的には、NAT装置200又はNAT装置300から送信されたPCP MAP応答信号、PCP PEER応答信号、及びPCP Announce応答信号を受信する。
【0038】
なお、PCPクライアント部415の送信にかかる構成は、送信手段と称されることがあり、PCPクライアント部415の受信にかかる構成は、受信手段と称されることがある。
【0039】
記憶領域430は、RAM等の記憶装置における記憶領域であり、変換情報を記憶する。記憶領域430には、静的変換情報取得部440により取得された静的な変換情報と、NAT装置200又はNAT装置300から受信した動的な変換情報とが記憶される。
【0040】
静的変換情報取得部440は、静的な変換情報を取得する。すなわち、静的変換情報取得部440は、スタティックNATについての変換情報を取得する。静的変換には、待ち受けポート設定情報及びポート変換情報が含まれる。すなわち、本実施の形態において、静的な変換情報は、アドレス及びポート番号の変換テーブルである。
【0041】
なお、静的変換情報取得部440は、公知の方法で、静的な変換情報を取得する。例えば、加入者などのユーザが指定した変換情報又は既定の変換情報を、加入者端末600から取得する。より具体的には、ユーザは、宅内などに配置された加入者端末600を用いて、NAT装置200又はNAT装置300を経由して、PCPクライアント装置400に対し、待ち受けポート設定情報及びポート変換情報を送信する。なお、その際の通信プロトコルとしては、HTTP(Hypertext Transfer Protocol)が用いられる。
【0042】
また、静的変換情報取得部440は、取得した静的な変換情報を記憶領域430に記憶する。記憶領域430に記憶された静的な変換情報は、PCPクライアント部415によりNAT装置200及びNAT装置300に送信される。NAT装置200及びNAT装置300では、受信した待ち受けポート設定情報及びポート変換情報を記憶領域220又は記憶領域320に記憶し、これら情報の登録を行う。
【0043】
切替部450は、NAT装置200及びNAT装置300のうち運用系として稼働している方の稼働状態を監視し、稼働状態が異常である場合に、NAT装置200及びNAT装置300のうち待機系の方を運用系として稼働するよう切り替える。切替部450は、PCPに従った通信をNAT装置200及びNAT装置300と行うことにより、切替を実現する。切替部450は、後述するPCP Announce信号を運用系のNAT装置に送信し、その応答を確認することで運用系のNAT装置の稼働状態を監視する。また、切替部450は、PCP Announce信号を用いて、NAT装置の切替を実施する。
【0044】
次に、NAT装置300について説明する。NAT装置300は、NAT制御部310と、記憶領域320と、PCPサーバ部335とを有する。ここで、NAT制御部310はNAT装置200におけるNAT制御部210に相当し、記憶領域320は、NAT装置200における記憶領域220に相当し、PCPサーバ部335はNAT装置200におけるPCPサーバ部235に相当する。
【0045】
以下、待機系としてのNAT装置300の構成を説明する。待機系の場合、パケットは、NAT装置300を経由しない。このため、NAT制御部310は、待機系の場合、運用系のNAT装置200のNAT制御部210の処理として説明した、アドレス変換や動的な変換情報の生成は行わない。
【0046】
NAT制御部310は、PCPサーバ部335がPCPクライアント装置400から運用系への切り替え指示を受信した場合、運用系としての上記処理を開始する。その際、NAT制御部310は、L2スイッチ110及びL2スイッチ120に対し、切替信号としてGArp(Gratuitous ARP)信号を送信することによりパケットの経路の切り替えを指示する。ここで、記憶領域320にはNAT装置200が運用時に用いていた変換情報が記憶されているため、NAT装置300が待機系から運用系へと切り替わっても支障をきたさない。
【0047】
記憶領域320は、RAM等の記憶装置における記憶領域であり、変換情報を記憶する。NAT装置300が待機中であっても、記憶領域320には、PCPサーバ部335がPCPクライアント装置400から受信した変換情報が記憶される。
【0048】
PCPサーバ部335は、PCPに従って、PCPクライアント装置400と通信を行う。具体的には、PCPサーバ部335は、以下の通信を行う。すなわち、待機系のPCPサーバ部335は、PCPクライアント装置400から、PCPクライアント装置400が取得した静的な変換情報と運用系のNAT装置200が生成した動的な変換情報を受信する。PCPサーバ部335は、受信した変換情報を記憶領域320に記憶する。
【0049】
PCPサーバ部335は、運用系のPCPサーバ部235と同様、PCPに従った受信として、PCPクライアント装置400から送信されたPCP MAP要求信号、PCP PEER要求信号、及びPCP Announce要求信号を受信する。また、PCPサーバ部335は、PCPに従った送信として、PCPクライアント装置400に対して、PCP MAP応答信号、PCP PEER応答信号、及びPCP Announce応答信号を送信する。
【0050】
なお、PCPサーバ部335の送信にかかる構成は、送信手段と称されることがあり、PCPサーバ部335の受信にかかる構成は、受信手段と称されることがある。
【0051】
L2スイッチ110及びL2スイッチ120は、NAT装置200又はNAT装置300からの切替信号(GArp信号)の受信を契機として、パケットの経路を切替える。すなわち、L2スイッチ110及びL2スイッチ120は、新たに運用系として稼働するNAT装置をパケットが経由するよう、経路の切替えを実施する。
【0052】
ここで、変換テーブルについて説明する。NAT装置200の記憶領域220、NAT装置300の記憶領域320、及びPCPクライアント装置400の記憶領域430は、例えば、
図3に示されるような変換テーブルを記憶する。なお、変換テーブルは、テーブル形式で表された変換情報であり、具体的には、待ち受けポート設定情報及びポート変換情報を格納したテーブルである。
図3に示すように、例えば、変換情報は一つのテーブルに集約される。
【0053】
図3に示される変換テーブルにおいて、「SA」(source address)は加入者端末600のIPアドレスを表し、「SP」(source port)は加入者端末600のポート番号を表している。また、「DA」(destination address)はネットワーク502に存在する機器の宛先IPアドレスを表し、「DP」(destination port)はこの機器の宛先ポート番号を表している。さらに、「PA」(public address)はNAT制御部210若しくはNAT制御部310から払い出されたIPアドレス又はユーザにより静的な変換情報として設定されたIPアドレスを表する。同様に、「PP」(public port)はNAT制御部210若しくはNAT制御部310から払い出されたポート番号又はユーザにより静的な変換情報として設定されたポート番号を表す。また、「Protocol」はプロトコル番号を表している。そして、「Dynamic/Static」は動的な変換情報であるか、静的な変換情報であるかを表している。すなわち、表中の「static」は静的な変換情報であることを表し、「dynamic」は動的な変換情報であることを表している。
【0054】
図3に示される変換テーブルが、NAT装置200の記憶領域220に記憶された変換テーブルであるものとして、
図3に示される変換テーブルの内容について以下説明する。
図3に示される変換テーブルにおいて、No.1の変換情報は、PCP MAP要求信号により登録された待ち受けポート設定情報の一例である。すなわち、No.1の変換情報は、PCPクライアント装置400からNAT装置200が受信した静的な変換情報である。また、No.2の変換情報は、PCP PEER要求信号により登録されたポート変換情報の一例である。すなわち、No.2の変換情報も、PCPクライアント装置400からNAT装置200が受信した静的な変換情報である。No.3の変換情報は、運用系のNAT装置、つまりNAT装置200が生成したポート変換情報の一例である。すなわち、No.3の変換情報は、動的な変換情報である。
【0055】
このように、NAT装置200、NAT装置300、及びPCPクライアント装置400は、加入者などのユーザにより静的に設定された変換情報に加え、動的な変換情報を一つのテーブルにより管理する。ここで、
図3に示されるように、本実施の形態では、変換情報が静的な変換情報であるのか動的な変換情報であるのかを管理しているので、記憶された各変換情報が静的なものであるのか動的なものであるのかを識別することが可能である。このため、静的であるか動的であるかによって、変換情報の扱いを変えることができる。例えば、静的な変換情報については半永久的に記憶し、動的な変換情報に対しては記憶期限を設けることができる。
【0056】
次に、本実施の形態におけるPCPに従った通信の詳細について説明する。本実施の形態では、PCP PEER信号、PCP MAP信号、及びPCP Announce信号を用いて、変換情報の転送及びNAT装置の切替が行われる。本実施の形態では、RFC 6887に規定されているこれら信号を以下のように拡張して用いている。なお、RFC 6887によれば、PCP PEER信号は、加入者端末600からネットワーク502側の機器へアクセスするために必要となるアドレス及びポート変換の情報をユーザが登録する際に使用される信号である。また、RFC 6887によれば、PCP MAP信号は、ネットワーク502側の機器から加入者端末600へアクセスするために必要となるアドレス及びポート変換の情報をユーザが登録する際に使用される信号である。さらに、RFC 6887によれば、PCP Announce信号は、PCPクライアント装置400から送信された変換情報によるポートマッピングの設定が、NAT装置の再起動等の理由により消失してしまった際に、使用される信号である。
【0057】
ここで、本実施の形態に用いられるPCP PEER信号について説明する。
図4は、本実施の形態に用いられるPCP PEER信号のフレーム内の主な要素を示す表である。なお、
図4の表において、「Req」で示される項目はPCP PEER要求信号の要素を示し、「Res」で示される項目はPCP PEER応答信号の要素を示す。
【0058】
本実施の形態で用いられるPCP PEER信号は、次の点で、RFC 6887に規定されているPCP PEER信号を拡張している。すなわち、
図4に示されるように、本実施の形態で用いられるPCP PEER信号では、新たにDynamic/Static通知領域(
図4で太線で囲まれた要素)が信号の要素として追加されている。また、上述のように、RFC 6887に規定されているPCP PEER信号は、静的な変換情報を伝達するために用いられるが、本実施の形態にかかるPCP PEER信号では、静的な変換情報以外に動的な変換情報の伝達にも用いられる点で、特徴的である。
【0059】
運用系であるNAT装置200のPCPサーバ部235は、NAT制御部210により生成された動的な変換情報を、PCP PEER応答信号によりPCPクライアント装置400へ送信する。また、PCPクライアント装置400のPCPクライアント部415は、このPCP PEER応答信号を受信することにより、NAT制御部210により生成された動的な変換情報を取得する。また、PCPクライアント装置400のPCPクライアント部415は、取得した動的な変換情報をPCP PEER要求信号により、待機系であるNAT装置300に送信する。そして、NAT装置300のPCPサーバ部335は、このPCP PEER要求信号を受信することにより、NAT装置200で生成された動的な変換情報を取得する。
【0060】
図5は、運用系のNAT装置200及びPCPクライアント装置400における変換テーブルの要素と、PCP PEER応答信号の要素との対応関係を示す表である。
図5に示されるように、変換テーブルの各要素はPCP PEER応答信号により、運用系のNAT装置200からPCPクライアント装置400へと次のように送受信される。
テーブル要素「Protocol」は、PCP PEER応答信号の信号要素「Protocol」により送受信される。
テーブル要素「Dynamic/Static」は、PCP PEER応答信号の信号要素「Dynamic/Static」により送受信される。
テーブル要素「SP」は、PCP PEER応答信号の信号要素「Internal Port」により送受信される。
テーブル要素「PP」は、PCP PEER応答信号の信号要素「Assigned External Port」により送受信される。
テーブル要素「PA」は、PCP PEER応答信号の信号要素「Assigned External IP Address」により送受信される。
テーブル要素「SA」は、PCP PEER応答信号の信号要素「Internal IP Address」により送受信される。
テーブル要素「DA」は、PCP PEER応答信号の信号要素「Remote peer IP Address」により送受信される。
テーブル要素「DP」は、PCP PEER応答信号の信号要素「Remote peer port」により送受信される。
【0061】
なお、変換情報が静的である場合、PCP PEER信号における拡張された信号要素「Dynamic/Static」の値は、静的であることを示す値、すなわち「static」となる。また、変換情報が動的である場合、PCP PEER信号における拡張された信号要素「Dynamic/Static」の値は、動的であることを示す値、すなわち「dynamic」となる。したがって、運用系のNAT装置200から送信される、NAT制御部210により生成された動的な変換情報については、信号要素「Dynamic/Static」の値は、「dynamic」である。このように、運用系のNAT装置200は、動的な変換情報であることを示す識別子である「dynamic」が付加されたPCP PEER信号を用いて動的な変換情報を送信する。
【0062】
PCPクライアント装置400は、運用系のNAT装置200から変換情報を受信した際、信号要素「Dynamic/Static」を確認することにより、各変換情報が動的な変換情報であるのか静的な変換情報であるのかを区別することができる。すなわち、PCPクライアント装置400は、PCP PEER応答信号の拡張された領域において「static」が設定されていた場合、静的な変換情報であると判断し、PCP PEER応答信号の拡張された領域において「dynamic」が設定されていた場合、動的な変換情報であると判断する。
【0063】
なお、本実施の形態では、静的な変換情報の場合、変換テーブル及びPCP PEER信号において、明示的に「static」と設定するが、「static」と設定されなくてもよい。すなわち、静的な変換情報である場合、テーブル要素「Dynamic/Static」及び信号要素「Dynamic/Static」において、何も設定されていなくてもよい。この場合、PCPクライアント装置400は、信号要素「Dynamic/Static」において何も指定されていない場合、静的な変換情報であると判断する。
【0064】
図6は、待機系のNAT装置300及びPCPクライアント装置400における変換テーブルの要素と、PCP PEER要求信号の要素との対応関係を示す表である。
図6に示されるように、変換テーブルの各要素はPCP PEER要求信号により、PCPクライアント装置400から待機系のNAT装置300へと次のように送受信される。
テーブル要素「Protocol」は、PCP PEER要求信号の信号要素「Protocol」により送受信される。
テーブル要素「Dynamic/Static」は、PCP PEER要求信号の信号要素「Dynamic/Static」により送受信される。
テーブル要素「SP」は、PCP PEER要求信号の信号要素「Internal Port」により送受信される。
テーブル要素「PP」は、PCP PEER要求信号の信号要素「Suggested External Port」により送受信される。
テーブル要素「PA」は、PCP PEER要求信号の信号要素「SuggestedExternal IP Address」により送受信される。
テーブル要素「SA」は、PCP PEER要求信号の信号要素「Internal IP Address」により送受信される。
テーブル要素「DA」は、PCP PEER要求信号の信号要素「Remote peer IP Address」により送受信される。
テーブル要素「DP」は、PCP PEER要求信号の信号要素「Remote peer port」により送受信される。
【0065】
ここで、PCPクライアント装置400から待機系のNAT装置300へと送信される、NAT制御部210により生成された動的な変換情報については、テーブル要素「Dynamic/Static」の値及び信号要素「Dynamic/Static」の値は、「dynamic」である。
【0066】
PCP PEER要求信号は、待機系のNAT装置300への動的な変換情報の送信のみならず、運用系のNAT装置200及び待機系のNAT装置300への静的な変換情報の送信にも用いられる。この場合、PCPクライアント装置400から送信される静的な変換情報については、テーブル要素「Dynamic/Static」の値及び信号要素「Dynamic/Static」の値は、「static」である。なお、静的な変換情報をPCP PEER要求信号により運用系のNAT装置200に送信する場合の対応関係についても、
図6に示される対応関係と同じである。すなわち、
図6中の待機系NAT装置を運用系NAT装置に置き換えればよい。
【0067】
上記のようなPCP PEER要求信号を受信することにより、待機系のNAT装置300は、運用系のNAT装置200で生成された動的な変換情報を取得する。このように、本実施の形態では、PCP PEER信号により、静的な変換情報のみならず、運用系のNAT装置により生成された動的な変換情報も、NAT装置とPCPクライアント装置間で送受信される。
【0068】
次に、本実施の形態に用いられるPCP MAP信号について説明する。
図7は、本実施の形態に用いられるPCP MAP信号のフレーム内の主な要素を示す表である。なお、
図7の表において、「Req」で示される項目はPCP MAP要求信号の要素を示し、「Res」で示される項目はPCP MAP応答信号の要素を示す。
【0069】
本実施の形態で用いられるPCP MAP信号は、次の点で、RFC 6887に規定されているPCP MAP信号を拡張している。すなわち、
図7に示されるように、本実施の形態で用いられるPCP MAP信号では、PCP PEER信号と同様、新たにDynamic/Static通知領域(
図7で太線で囲まれた要素)が信号の要素として追加されている。
【0070】
PCPクライアント装置400のPCPクライアント部415は、静的変換情報取得部440により取得された静的な変換情報を、PCP MAP要求信号によりNAT装置200及びNAT装置300へ送信する。NAT装置200のPCPサーバ部235及びNAT装置300のPCPサーバ部335は、このPCP MAP要求信号を受信することにより、静的な変換情報を取得する。
【0071】
図8は、運用系のNAT装置200、待機系のNAT装置300、及びPCPクライアント装置400における変換テーブルの要素と、PCP MAP要求信号の要素との対応関係を示す表である。
図8に示されるように、変換テーブルの各要素はPCP MAP要求信号により、PCPクライアント装置400からNAT装置200及びNAT装置300へと次のように送受信される。
テーブル要素「Protocol」は、PCP MAP要求信号の信号要素「Protocol」により送受信される。
テーブル要素「Dynamic/Static」は、PCP MAP要求信号の信号要素「Dynamic/Static」により送受信される。
テーブル要素「SP」は、PCP MAP要求信号の信号要素「Internal Port」により送受信される。
テーブル要素「PP」は、PCP MAP要求信号の信号要素「Suggested External Port」により送受信される。
テーブル要素「PA」は、PCP MAP要求信号の信号要素「Suggested External IP Address」により送受信される。
テーブル要素「SA」は、PCP MAP要求信号の信号要素「Internal IP Address」により送受信される。
【0072】
上述の通り、本実施の形態にかかるPCP MAP信号は、変換情報が静的であるか動的であるかを示すDynamic/Static通知領域を信号要素として含むよう拡張されている。このため、PCPクライアント装置400は、PCP MAP信号による送信対象の変換情報が静的な変換情報であるか動的な変換情報であるかを区別することができる。なお、PCP MAP信号により静的な変換情報が送信される際、信号要素及びテーブル要素のDynamic/Static領域は、「static」となる。
【0073】
次に、本実施の形態に用いられるPCP Announce信号について説明する。
図9は、本実施の形態に用いられるPCP Announce信号のフレーム内の主な要素を示す表である。なお、
図9の表において、「Req」で示される項目はPCP Announce要求信号の要素を示し、「Res」で示される項目はPCP Announce応答信号の要素を示す。
【0074】
本実施の形態で用いられるPCP Announce信号は、次の点で、RFC 6887に規定されているPCP Announce信号を拡張している。すなわち、本実施の形態では、PCP Announce信号をNAT装置の系切替に利用するため、PCP Announce信号は、信号要素として、Active/Inactive/Announce通知領域(
図9で太線で囲まれた要素)を含むよう拡張されている。この信号要素は、PCP Announce信号が、PCP Announce信号を利用した、運用系への切替を通知する信号であるか、PCP Announce信号を利用した、待機系への切替を通知する信号であるか、通常のPCP Announce信号であるかを識別するためのものである。
【0075】
PCPクライアント装置400の切替部450は、切替を指示する情報である「Active」又は「Inactive」が付加されたPCP Announce信号を用いて切替を行う。このため、PCPクライアント装置400のPCPクライアント部415は、運用系への切替をNAT装置に指示する際は、この信号要素に「Active」を設定してPCP Announce信号を当該NAT装置に送信する。
【0076】
また、PCPクライアント部415は、待機系への切替をNAT装置に指示する際は、この信号要素に「Inactive」を設定してPCP Announce信号を当該NAT装置に送信する。
【0077】
PCPクライアント部415は、ポートマッピングの設定が消失した場合などの際に通常のPCP Announce信号として、PCP Announce信号を送信する場合、この信号要素に「Announce」を設定して送信を行う。なお、通常のPCP Announce信号の場合、この信号要素に何も指定がなくてもよい。
【0078】
次に、アドレス変換システム100の動作について説明する。まず、パケットの受信を契機として生成された動的な変換情報を運用系のNAT装置から待機系のNAT装置へと転送する動作について説明する。なお、ここでも、NAT装置200が運用系であり、NAT装置300が待機系であるものとして説明する。
【0079】
図10は、パケットの受信を契機として生成された動的な変換情報を待機系のNAT装置へと転送する動作の一例を示すシーケンスチャートである。以下、
図10に沿って動作の流れを説明する。
【0080】
ステップ10(S10)において、NAT装置200はパケットを受信する。
【0081】
ステップ11(S11)において、NAT装置200のNAT制御部210は、動的な変換情報を生成する。具体的には、NAT制御部210は、ポート変換情報を作成する。
【0082】
ステップ12(S12)において、NAT制御部210は、作成されたポート変換情報を保存する。具体的には、NAT制御部210は、
図3に示したような形式で、記憶領域220に記憶する。
【0083】
ステップ13(S13)において、NAT装置200のPCPサーバ部235は、作成されたポート変換情報をPCPクライアント装置400に送信する。具体的には、PCPサーバ部235は、上述したPCP PEER応答信号を用いて、ポート変換情報をPCPクライアント装置400に送信する。
【0084】
ステップ14(S14)において、PCPクライアント装置400は、ステップ13で送信されたポート変換情報を受信し、保存する。具体的には、PCPクライアント部415が、ステップ13で送信されたPCP PEER応答信号を受信し、ポート変換情報を記憶領域430に記憶する。
【0085】
ステップ15(S15)において、PCPクライアント装置400のPCPクライアント部415は、現在保持しているポート変換情報を待機系のNAT装置300に送信する。具体的には、PCPクライアント部415は、上述したPCP PEER要求信号を用いて、ポート変換情報をNAT装置300に送信する。
【0086】
ステップ16(S16)において、NAT装置300は、受信したポート変換情報を保存する。具体的には、NAT装置300のPCPサーバ部335が、ステップ15で送信されたPCP PEER要求信号を受信し、ポート変換情報を記憶領域320に記憶する。
【0087】
ステップ17(S17)において、PCPサーバ部335は、PCPクライアント装置400に対して、PCP PEER応答信号を送信することで、ステップ16の処理結果をPCPクライアント装置400に伝える。
【0088】
以上の動作により、運用系のNAT装置及び待機系のNAT装置にて、ポート変換情報の同期を行い、故障による系の切替が発生した際の呼情報の継続を可能にしている。
【0089】
次に、PCPクライアント装置400が取得した静的な変換情報をNAT装置200及びNAT装置300へ送信する動作について説明する。
【0090】
図11は、PCPクライアント装置400が取得した静的な変換情報をNAT装置200及びNAT装置300へ送信する動作の一例を示すシーケンスチャートである。以下、
図11に沿って動作の流れを説明する。
【0091】
ステップ20(S20)において、PCPクライアント装置400のPCPクライアント部415は、記憶領域430から、ユーザにより設定された静的な変換情報を取得する。具体的には、PCPクライアント部415は、静的変換情報取得部440により取得された静的な待ち受けポート設定情報及びポート変換情報を記憶領域430から読み出す。
【0092】
ステップ21(S21)において、PCPクライアント部415は、取得した静的な変換情報をNAT装置200及びNAT装置300に送信する。具体的には、PCPクライアント部415は、静的な待ち受けポート設定情報を上述したPCP MAP要求信号を用いて、NAT装置200及びNAT装置300に送信する。また、PCPクライアント部415は、静的なポート変換情報を上述したPCP PEER要求信号を用いて、NAT装置200及びNAT装置300に送信する。
【0093】
ステップ22(S22)において、NAT装置200及びNAT装置300は、ステップ21で送信された待ち受けポート設定情報及びポート変換情報を受信し、保存する。具体的には、PCPサーバ部235はステップ21で送信されたPCP MAP要求信号を受信した場合、待ち受けポート設定情報を記憶領域220に記憶する。PCPサーバ部235はステップ21で送信されたPCP PEER要求信号を受信した場合、ポート変換情報を記憶領域220に記憶する。同様に、PCPサーバ部335はステップ21で送信されたPCP MAP要求信号を受信した場合、待ち受けポート設定情報を記憶領域320に記憶する。PCPサーバ部335はステップ21で送信されたPCP PEER要求信号を受信した場合、ポート変換情報を記憶領域320に記憶する。
【0094】
ステップ23(S23)において、PCPサーバ部235及びPCPサーバ部335は、PCPクライアント装置400に対して、PCP MAP応答信号又はPCP PEER応答信号を送信することで、ステップ22の処理結果をPCPクライアント装置400に伝える。
【0095】
以上の動作により、NAT装置200及びNAT装置300は、PCPクライアント装置400が保持する、静的な変換情報の取得が可能となる。
【0096】
次に、NAT装置の切替動作について説明する。運用系のNAT装置においてシャットダウン又は接続断などが発生した場合、アドレス変換システム100は、待機系のNAT装置を運用系のNAT装置へと切り替える。なお、この切替野動作では、上述したPCP Announce信号が用いられる。
【0097】
図12は、NAT装置の切替動作の一例を示すシーケンスチャートである。なお、ここでは、運用系であるNAT装置200に異常が発生し、待機系のNAT装置300が運用系へと切り替えられる場合の動作を例に説明する。以下、
図12に沿って動作の流れを説明する。
【0098】
ステップ30(S30)において、運用系のNAT装置200に、シャットダウン、接続断などの異常が発生する。
【0099】
ステップ31(S31)において、PCPクライアント装置400は、運用系であるNAT装置200に対して、上述したPCP Announce要求信号を送信する。具体的には、PCPクライアント装置400のPCPクライアント部415は、PCP Announce要求信号のActive/Inactive/Announce通知領域に、Announceが設定して、送信を行う。なお、PCPクライアント部415は、この通知領域に何も設定せずに送信を行ってもよい。
【0100】
PCPクライアント装置400の切替部450は、ステップ31で送信した信号に対し、NAT装置200から上述のPCP Announce応答信号を受信しなかった場合、NAT装置200に異常が発生していると判断する。
【0101】
ステップ32(S32)において、切替部450は、NAT装置の切替を開始する。これにより、PCPクライアント部415は、NAT装置300に対して運用系への切替を指示するため、上記通知領域に「Active」を設定してPCP Announce要求信号をNAT装置300に送信する。
【0102】
ステップ33(S33)において、待機系であったNAT装置300が運用系へと状態遷移する。
【0103】
ステップ34(S34)において、NAT装置300のPCPサーバ部335は、PCPクライアント装置400に対して、状態遷移結果を伝えるため、PCP Announce応答信号を送信する。
【0104】
ステップ35(S35)において、PCPクライアント部415は、これまで運用系であったNAT装置200に対し待機系への切替を指示するため、上記通知領域に「Inactive」を設定してPCP Announce要求信号をNAT装置200に送信する。
【0105】
ステップ36(S36)において、NAT装置200が待機系へと状態遷移する。
ステップ37(S37)において、NAT装置200のPCPサーバ部235は、PCPクライアント装置400に対して、状態遷移結果を伝えるため、PCP Announce応答信号を送信する。
【0106】
ステップ38(S38)において、NAT装置300は、L2スイッチ110及びL2スイッチ120に対し、GArp信号を送信する。また、ステップ39(S39)において、NAT装置300は、ステップ38で送信されたGArp信号に対する応答信号であるGArp Reply信号を受信する。
以上の動作により、アドレス変換システム100はNAT装置の系切替を実施する。
【0107】
最後に、NAT装置が交換された場合の動作について説明する。
図13は、NAT装置が交換された場合のアドレス変換システム100の動作の一例を示すシーケンスチャートである。なお、ここでは、
図12に示す動作により、待機系となったNAT装置200が新たなNAT装置200に交換された場合を例に説明する。すなわち、
図12において、NAT装置300が運用系であり、NAT装置200が待機系である。以下、
図13に沿って動作の流れを説明する。
【0108】
ステップ40(S40)において、待機系であるNAT装置200の装置交換が行われる。
【0109】
ステップ41(S41)において、新たなNAT装置200は、PCPクライアント装置400に対して、PCP Announce応答信号を送信する。なお、PCPクライアント部415は、PCP Announce応答信号のActive/Inactive/Announce通知領域に、Announceを設定し、送信を行う。
【0110】
ステップ42(S42)において、PCPクライアント部415は、NAT装置200に対し待機系となるよう指示するため、上記通知領域に「Inactive」を設定してPCP Announce要求信号をNAT装置200に送信する。
【0111】
ステップ43(S43)において、NAT装置200のは、PCPクライアント装置400に対して、PCP Announce応答信号を送信する。
【0112】
ステップ44(S44)において、PCPクライアント装置400のPCPクライアント部415は、記憶領域430から変換情報を取得する。具体的には、PCPクライアント部415は、静的な待ち受けポート設定情報及びポート変換情報並びに動的なポート変換情報を記憶領域430から読み出す。
【0113】
ステップ45(S45)において、PCPクライアント部415は、変換情報をNAT装置200に送信する。具体的には、PCPクライアント部415は、待ち受けポート設定情報を上述したPCP MAP要求信号を用いて、NAT装置200に送信する。また、PCPクライアント部415は、ポート変換情報を上述したPCP PEER要求信号を用いて、NAT装置200に送信する。
【0114】
ステップ46(S46)において、NAT装置200は、受信したポート変換情報及び待ち受けポート設定情報を保存する。具体的には、NAT装置200のPCPサーバ部235が、ステップ45で送信されたPCP PEER要求信号及びPCP MAP要求信号を受信し、ポート変換情報及び待ち受けポート設定情報を記憶領域320に記憶する。
以上の動作により、交換された新たな待機系のNAT装置は、変換情報を取得することができる。
【0115】
以上説明したとおり、アドレス変換システム100では、PCPクライアント装置400を介して、運用系のNAT装置から待機系のNAT装置へと、パケットの受信を契機として生成された動的なアドレスの変換情報を転送することができる。また、変換情報の転送及びNAT装置の切替が、PCPの信号を用いることで実現されている。このようなアドレス変換システム100によれば、アドレス変換の処理を二重化することができる。より具体的には、アドレス変換システム100によれば、運用系のNAT装置及び待機系のNAT装置のロケーションによらず、ホットスタンバイの二重化が可能となる。
【0116】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。また、アドレス変換システム100はコンピュータとしての機能を備えており、アドレス変換システム100の各構成はCPUによってプログラムを実行することによって実現し得る。
【0117】
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。