JP2013247678A - ルーティング装置 - Google Patents

ルーティング装置 Download PDF

Info

Publication number
JP2013247678A
JP2013247678A JP2013105814A JP2013105814A JP2013247678A JP 2013247678 A JP2013247678 A JP 2013247678A JP 2013105814 A JP2013105814 A JP 2013105814A JP 2013105814 A JP2013105814 A JP 2013105814A JP 2013247678 A JP2013247678 A JP 2013247678A
Authority
JP
Japan
Prior art keywords
address
routing device
remote
packet
network
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.)
Pending
Application number
JP2013105814A
Other languages
English (en)
Inventor
min wei Huang
敏維 黄
培麟 ▲う▼
Pei Lin Wu
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.)
GEMTEC TECHNOLOGY CO Ltd
Gemtek Technology Co Ltd
Original Assignee
GEMTEC TECHNOLOGY CO Ltd
Gemtek Technology Co Ltd
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 GEMTEC TECHNOLOGY CO Ltd, Gemtek Technology Co Ltd filed Critical GEMTEC TECHNOLOGY CO Ltd
Publication of JP2013247678A publication Critical patent/JP2013247678A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/741Routing in networks with a plurality of addressing schemes, e.g. with both IPv4 and IPv6
    • 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
    • H04L61/256NAT traversal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • 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
    • H04L61/2592Translation of Internet protocol [IP] addresses using tunnelling or encapsulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/668Internet protocol [IP] address subnets
    • 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
    • H04L61/2514Translation of Internet protocol [IP] addresses between local and global IP addresses

Landscapes

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

Abstract

【課題】異なるプライベートネットワーク内の複数のホストがネットワーク通信可能となる、ルーティング装置を提供する。
【解決手段】第1のネットワークインターフェース装置はルーティング装置をローカルプライベートネットワークへ接続する。第2のネットワークインターフェース装置はルーティング装置をインターネットへ接続する。処理装置は、リモートプライベートネットワーク内のリモートホスト用のリモートルーティング装置に仮想サブネットを割り当てて、仮想サブネットに基づいて仮想インターネットプロトコル(IP)アドレスを取得する。処理装置は、ローカルプライベートネットワーク内のローカルホストから第1のネットワークインターフェース装置経由でネットワークパケットを受信し、リモートルーティング装置のパブリックIPアドレスに基づいてネットワークパケットをカプセル化して代替パケットを生成する。
【選択図】図3

Description

本発明は、ネットワーク通信技術に関する。特に、本発明はルーティング装置に関する。
インターネットの急速な普及に伴い、インターネットプロトコルバージョン4(IPv4)のアーキテクチャ下のネットワークユーザの急速な増加によりパブリックインターネットプロトコルアドレス(パブリックIPアドレス)の数が不足している。したがって、プライベートネットワーク、企業イントラネット、または仮想プライベートネットワークの構想が提案されて以来、プライベートネットワークは近年あらゆる組織および機関によって広く利用されている。
一般に、プライベートネットワークにおいて、ホストは、カスタマイズしたプライベートインターネットプロトコルアドレス(プライベートIPアドレス)により互いに通信を行うことができる。ここで、一般的なプライベートIPアドレスの例として、例えば、最初の2桁が「192.168」であるIPアドレス(例えば、192.168.1.101)または最初の1桁が「10」であるIPアドレス(例えば、10.1.2.3)等を挙げることができる。外部との通信においては、プライベートネットワーク内の各ホストは、ネットワークアドレストランスレーション(NAT)機能を有するNATサーバまたはルータ経由で、同じパブリックIPアドレスを用いてインターネットに容易に接続できる。
例えば、図1は従来技術による複数のプライベートネットワークからなるネットワークアーキテクチャを示す模式図である。図1を参照すると、プライベートネットワーク100〜120はそれぞれ、ルーティング装置10〜12およびホスト101〜103、111〜113、および121〜123によって構成され、各ルーティング装置10〜12は、各プライベートネットワーク100〜120からインターネット130へ送信されるネットワークパケットまたはインターネット130から各プライベートネットワーク100〜120へ送信されるネットワークパケットについて、それぞれNAT作業を行う。
例えば、プライベートネットワーク100のホスト101がインターネット130へネットワークパケットを送信しようとする場合、ネットワークパケットがルーティング装置10を通過すると、ルーティング装置10は当該ネットワークパケットの送信元IPアドレスおよび送信元ポート番号を、ホスト101が使用するプライベートIPアドレス(例えば、192.168.1.101)およびプライベートポート番号(例えば、254130)からルーティング装置の外部ネットワークインターフェースカード(NIC)が使用するパブリックIPアドレス(例えば、59.120.x.x)およびパブリックポート番号(例えば、5812)へそれぞれ変換し、パブリックポート番号(例えば5812)に対応するホスト101のプライベートポート番号(例えば、254130)およびプライベートIPアドレス(例えば、192.168.1.101)を指標値とともに記録し、その後ネットワークパケットをインターネット130に送信する。
したがって、ルーティング装置10がインターネット130からネットワークパケットを受信すると、ルーティング装置10は、ネットワークパケットにあるパブリックポート番号(例えば、5812)に基づいて対応する指標値を特定し、プライベートIPアドレス(例えば、192.168.1.101)およびプライベートポート番号(例えば、254130)を取得して、ネットワークパケットをホスト101へリレーする。
上記のNAT方法によれば、プライベートネットワークとインターネットとの間でネットワークパケットが送信可能となるが、複数のプライベートネットワーク間でネットワークパケットを送信するには一層の改善を要する。すなわち、図1を例として参照すると、ホスト101がネットワークパケットをホスト111に送信しようとする場合、ルーティング装置10はホスト111を特定できない場合がある(これは、ホスト201がパブリックIPアドレスではなくプライベートIPアドレスを使用しているためである)。したがって、いかにして複数のプライベートネットワーク内の各ホストを互いに通信可能とするかは、本分野における検討および開発を要する課題である。
第1のネットワークインターフェース装置と、第2のネットワークインターフェース装置と、処理装置とを備えたルーティング装置を提供する。第1のネットワークインターフェース装置は、ルーティング装置をローカルプライベートネットワークに接続する。第2のネットワークインターフェース装置は、ルーティング装置をインターネットに接続する。処理装置はリモートプライベートネットワーク内のリモートホスト用のリモートルーティング装置に仮想サブネットを割り当てて、仮想サブネットに基づいて少なくとも1つの仮想インターネットプロトコル(IP)アドレスを取得する。処理装置はローカルプライベートネットワーク内のローカルホストから第1のネットワークインターフェース装置経由でネットワークパケットを受信し、リモートルーティング装置のパブリックIPアドレスにお基づいてネットワークパケットをカプセル化して代替パケットを生成する。そして、処理装置は第2ネットワークインターフェース経由で代替パケットをインターネットに配信する。
本発明は、仮想IPアドレスを用いることにより、異なるプライベートネットワーク内の複数のホストがネットワーク通信可能となる、ルーティング装置を提案する。
本発明は、第1のネットワークインターフェース装置と、第2のネットワークインターフェース装置と、記憶装置と、処理装置とを備えたルーティング装置を提供する。第1のネットワークインターフェース装置は、ルーティング装置をローカルプライベートネットワークに接続するように構成される。第2のネットワークインターフェース装置は、ルーティング装置をインターネットに接続するように構成される。処理装置は第1のネットワークインターフェース装置および第2のネットワークインターフェース装置に接続され、リモートプライベートネットワーク内の少なくとも1つのリモートホスト用のリモートルーティング装置に仮想サブネットを割り当てて、仮想サブネットに基づいて少なくとも1つの仮想インターネットプロトコル(IP)アドレスを取得するように構成される。ローカルプライベートネットワーク内の第1のローカルホストが第1のネットワークパケットをリモートプライベートネットワーク内の対象リモートホストに送信すると、処理装置はこの第1のネットワークパケットを第1のネットワークインターフェース装置経由で受信し、リモートルーティング装置のパブリックIPアドレスおよびパブリックポート番号に基づいてこの第1のネットワークパケットをカプセル化して第1の代替パケットを生成する。次に、処理装置は第2のネットワークインターフェース装置経由で代替パケットをインターネットに配信するが、この代替パケットは第1のネットワークパケットを含み、第1のネットワークパケットの送信先IPアドレスは対象リモートホストの仮想IPアドレスである。
したがって、異なるプライベートネットワーク内の複数のホストは、それぞれ、割り当てられた仮想IPアドレスを使用することによりネットワーク通信を行うことができる。
従来技術による、複数のプライベートネットワークからなるネットワークアーキテクチャを示す模式図である。 本発明の一実施形態による、インターネットを介して接続したローカルプライベートネットワークとリモートプライベートネットワークとを示す模式図である。 本発明の一実施形態によるルーティング装置を示す概略ブロック図である。 本発明の一実施形態によるビットマップテーブルを示す模式図である。 本発明の一実施形態による、ネットワークパケットをカプセル化することにより生成した代替パケットを示す模式図である。 本発明の別の実施形態による、インターネットを介して接続したローカルプライベートネットワークとリモートプライベートネットワークとを示す模式図である。 本発明の一実施形態による、仮想プライベートネットワーク通信方法を示すフローチャートである。 本発明の別の実施形態による、仮想プライベートネットワーク通信方法を示すフローチャートである。 本発明のさらに別の実施形態による、仮想プライベートネットワーク通信方法を示す図である。 本発明のまたさらに別の実施形態による、仮想プライベートネットワーク通信方法を示すフローチャートである。
本発明は、仮想プライベートネットワーク通信方法および同方法を用いたルーティング装置に関し、各方法および装置を用いればローカルプライベートネットワーク内の各ローカルホストがリモートプライベートネットワーク内の各リモートホストとネットワーク通信を行うことができる。仮想プライベートネットワーク通信方法においては、異なる複数の仮想サブネットを適切に管理してローカルルーティング装置およびリモートルーティング装置に割り当てて、ローカルプライベートネットワークおよび少なくとも1つのリモートプライベートネットワークにおいて各仮想サブネットを繰り返し使用しないようにすることで、ローカルルーティング装置およびリモートルーティング装置により仮想プライベートネットワークを形成することができる。したがって、ローカルプライベートネットワーク内のローカルホストおよびリモートプライベートネットワーク内のリモートホストは、それぞれに割り当てられた仮想IPアドレスに基づいて、異なるプライベートネットワーク間におけるネットワークパケット通信を行うことができる。
図2は、本発明の一実施形態による、インターネットを介して接続したローカルプライベートネットワークとリモートプライベートネットワークとを示す模式図である。図3は、本発明の一実施形態によるルーティング装置を示す概略ブロック図である。
図2および図3を参照すると、ローカルルーティング装置20は、第1のネットワークインターフェース装置21、第2のネットワークインターフェース装置22、記憶装置23、および処理装置24を備える。第1のネットワークインターフェース装置21は、ローカルルーティング装置20をローカルプライベートネットワーク200に接続するように構成される。第2のネットワークインターフェース装置22は、ローカルルーティング装置20をインターネット130に接続するように構成される。本実施形態において、第1のネットワークインターフェース装置21および第2のネットワークインターフェース装置22はいずれも、例えば、ネットワークインターフェースカードとすることができる。なお、説明の便宜上、ローカルルーティング装置20を例にとって本発明を説明するが、リモートルーティング装置30の基本構造はローカルルーティング装置20とほぼ同様であり、以下において関連する説明は省略する。
記憶装置23はデータを格納するように構成される。記憶装置23として、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、およびそれらの組み合わせ等、種々の不揮発性メモリ等を用いることができる。さらに、記憶装置23は、ハードドライブ、光学ドライブ、または外部記憶装置、またはそれらを組み合わせて備えることができ、本発明における記憶装置23の実装方法は特に限定されない。
本実施形態では、処理装置24として、中央演算装置(CPU)、埋め込みコントローラ等を用いることができるが、本発明の実施方法はそれらに限定されない。処理装置24は、第1のネットワークインターフェース装置21、第2のネットワークインターフェース装置22、および記憶装置23に接続され、リモートプライベートネットワーク300内の各リモートホスト301〜303用のリモートルーティング装置30に対して仮想サブネットを割り当てて、その仮想サブネットに基づいて仮想IPアドレスをそれぞれ取得するように構成される。例えば、リモートホスト301が取得する仮想IPアドレスを10.3.21.101とし、リモートホスト302が取得する仮想IPアドレスを10.3.21.102とし、リモートホスト303が取得する仮想IPアドレスを10.3.21.103とすることができる。
なお、本発明の本実施形態における上記の仮想サブネットは、各プライベートネットワークにおいて利用可能な仮想IPアドレスの範囲と数を設定するために実質的に使用するものである。本実施形態では、仮想サブネットにおけるIPアドレスは、例えば10.3.21.x等、最終桁がx(本明細書において、xは1〜255から選択したいずれか一つの正の整数)である4桁(digits)からなり、各桁は8ビットである。例えば、ローカルルーティング装置20により割り当てられたリモートルーティング装置30の仮想サブネットにおけるIPアドレスが10.3.21.xであれば、リモートプライベートネットワーク300内の各リモートホスト301〜303において利用可能な仮想IPアドレスはそれぞれ10.3.21.1〜10.3.21.225となる。
適正な仮想IPアドレスを選択するには、例えば、本発明の本実施形態において仮想サブネットに基づいて仮想IPアドレスを割り当てる前に、リモートホスト301が使用するプライベートIPアドレスを192.168.75.101と仮定する。元のプライベートIPアドレス192.168.75.101の最終桁(すなわち、101)および仮想サブネット10.3.21.xに基づき、リモートプライベートネットワーク300において利用可能な仮想IPアドレスは仮想サブネット10.3.21.xの範囲であることをリモートルーティング装置30に通知した後、再割り当てした仮想IPアドレス10.3.21.101をリモートホスト301により取得することができる(すなわち、仮想サブネット10.3.21.xにおけるxを101と設定する)。
なお、本実施形態において説明した仮想サブネットの範囲、および仮想サブネットに基づいてプライベートネットワークに少なくとも1つの仮想IPアドレスを割り当てる方法は上記に限定されない。本発明の別の実施形態によれば、仮想サブネットの範囲を、例えば、10.3.x.x、10.x.x.x、または192.168.x.x(ここで、xは1〜255から選択したいずれか一つの正の整数)等の形式で表してもよい。例えば、仮想サブネットが10.3.x.x.である場合、10.3.1.1から10.3.255.255までの範囲にある仮想IPアドレスはすべて、仮想サブネットのプライベートネットワーク内の各ホストへの割り当て可能であることを示す。したがって、仮想サブネットにおける変数xの値および数を調整することにより、各プライベートネットワークにおけるそれぞれのホストについて仮想IPアドレスを選択する範囲を効率的に管理することができる。
なお、本実施形態においては、ローカルルーティング装置20の処理装置24が複数のリモートルーティング装置に対して仮想サブネットを割り当てる場合、割り当てようとする全ての仮想サブネットは互いに異なるものとして、各リモートプライベートネットワークにおけるリモートホストがそれぞれ同じ仮想IPアドレスを繰り返し選択してしまわないようにするする必要がある。したがって、本実施形態においては、ローカルルーティング装置20の処理装置24はリモートルーティング装置との間でIPアドレス交渉プロセスを行って、複数のリモートルーティング装置に対してそれぞれ異なる仮想サブネットを効率的に割り当てるようにすることができる。
例えば、IPアドレス交渉プロセスにおいては、まず、ローカルルーティング装置20の処理装置24が、(例えば図3に示す記憶装置23に格納した)ビットマップテーブルから割り当てられていない仮想サブネット候補を少なくとも1つ取得することができる。次に、ローカルルーティング装置20の処理装置24は、少なくとも1つの仮想サブネット候補のなかから、あらかじめ設定した選択手順によって、または無作為に、仮想サブネットを選択し、その仮想サブネットをリモートルーティング装置に割り当てる。最後に、ローカルルーティング装置20の処理装置24は、その仮想サブネットをビットマップテーブルに記録し、該仮想サブネットがすでにリモートルーティング装置に割り当て済みであるとしてマークして、このIPアドレス交渉プロセスを終了する。したがって、仮想サブネットをリモートルーティング装置に割り当てる処理が終了する度に、それに応じてビットマップテーブルが更新されるため、ローカルルーティング装置20の処理装置24は各仮想サブネットの使用状態を識別する機能を有することになる。
本実施形態では、ローカルルーティング装置20の処理装置24は、少なくとも1つの行と少なくとも1つの列を有する二次元配列により構成したビットマップテーブルを利用することができる。例えば、ビットマップテーブルを用いて各仮想サブネットを明確に示すには、ローカルルーティング装置20の処理装置24は、少なくとも1つの仮想サブネット候補の一つの桁(digit)を、二次元配列における第一次元方向に相当する少なくとも1つの行に対して記録し、少なくとも1つの仮想サブネット候補の別の一つの桁を、二次元配列における第二次元方向に相当する少なくとも1つの列に対して記録する。ここで、少なくとも1つの仮想サブネット候補は少なくとも4桁からなるものとする。さらに、ローカルルーティング装置20の処理装置24は、二次元配列における前記一つの桁と前記別の一つの桁とに対応する交点において、少なくとも1つの仮想サブネット候補の使用状態をマークしてもよい。
例えば、ビットマップテーブルを初期化したとき、または最初に作成したときに、ローカルルーティング装置20の処理装置24は、第1の識別コードを利用して、前記少なくとも一つの仮想サブネット候補を割り当てられていないものとしてビットマップテーブルにマークし、第2の識別コードを利用して、ローカルルーティング装置が所有する仮想サブネットをビットマップテーブルにマークすることができる。次に、IPアドレス交渉プロセスが終了するごとに、ローカルルーティング装置20の処理装置24は、第3の識別コードを利用して、仮想サブネット候補を割り当て済みとしてマークすることができる。第1の識別コードを「0」、第2の識別コードを「2」、および第3の識別コードを「1」とすることができる。
より具体的には、本発明の一実施形態によるビットマップテーブルの模式図を図4に示す。
図4を参照すると、ビットマップテーブル40はN行M列の二次元配列41からなり、二次元配列41の第A番目の列(すなわち、第一次元方向)は、第N番目の仮想サブネット候補の第2の桁に相当(例えば、10.A.B.xにおけるA)し、一方で、二次元配列41の第B番目の行(すなわち、第二次元方向)は、第M番目の仮想サブネット候補の第3の桁に相当(例えば、10.A.B.xにおけるB)するが、ここで、A、B、N、およびMはすべて正の整数であり、1<A<Nおよび1<B<Mの関係にある。本実施形態においては、ビットマップテーブル40を255行255列の二次元配列41として構成したが、設計上または実用上の必要条件によりNおよびMの値を実質的に調整してもよい。
例えば、本実施形態によれば、第1の識別コードを「0」、第2の識別コードを「2」、および第3の識別コードを「1」で表す。すなわち、各行および各列の交点において示した「0」、「1」、および「2」を用いて、割り当てられていない仮想サブネット候補、割り当て済みの仮想サブネット候補、およびルーティング装置が所有する仮想サブネットをそれぞれ表す。
例えば、破線領域411においては、第1行(すなわち、10.A.B.xにおけるAが1)と第1列(すなわち、10.A.B.xにおけるBが1)との交点が「1」とマークされていることにより、10.1.1.xが既に割り当て済みであることをローカルルーティング装置の処理装置に通知する。この場合、IPアドレス交渉プロセスにおいて、ローカルルーティング装置の処理装置はこの仮想サブネット候補を飛ばして、次のマークされた交点を照合してこのマークされた交点に相当する仮想サブネット候補を選択するか否かを判断することができる。破線領域412においては、第2の行と第1の列との交点が「2」とマークされており、10.1.2.xはローカルルーティング装置が所有する仮想サブネットであることをローカルルーティング装置の処理装置に通知する。破線領域413においては、第1の行と第2の列との交点が「0」とマークされており、10.2.1.xが割り当てられていないことをローカルルーティング装置の処理装置に通知し、10.2.1.xをそのまま選択して、仮想サブネット候補を要求しているリモートルーティング装置に割り当てることができる。
なお、本発明の別の実施形態によれば、一次配列または三次元配列を用いてビットマップテーブルを構成することもできる。例えば、一次元配列の第C番目の要素を用いて、10.2.C.x等のフォーマットを示すことができ、または、三次元配列の3方向に相当するA、B、およびCを組み合わせて用いて、A.B.C.x等のフォーマットを示すことができる。また、本発明のさらに別の実施形態によれば、座標を用いて、この座標に対応する仮想サブネット候補の使用状態をマークしてもよい。例えば、座標(A、B、C)をそれぞれ用いて、10.A.B.x等のフォーマットを示し、そのうち、Cは、前述したように、第1の識別コード、第2の識別コード、および第3の識別コードを割り当てるように構成されるが、本発明は上記の各実施形態に限定されない。したがって、ローカルルーティング装置の処理装置は、IPアドレス交渉プロセスを利用し、かつビットマップテーブルに基づいて、異なる仮想サブネットを各リモートルーティング装置に効率的に割り当てることができる。
以下の表1において、本実施形態におけるローカルホスト201およびリモートホスト301の元のプライベートIPアドレスおよび再割り当てした仮想IPアドレスをそれぞれ模式的に示す。
再度図2および図3を参照すると、ローカルプライベートネットワーク200内のローカルホスト201がリモートプライベートネットワーク30内のリモートホスト301にネットワークパケットを送信する際は、ローカルルーティング装置20の処理装置24は第1のネットワークインターフェース装置21を介してそのネットワークパケットを受信することができ、リモートルーティング装置30のパブリックIPアドレスに基づいて、ネットワークパケットをカプセル化して代替パケットを生成する。次に、ローカルルーティング装置20の処理装置24は、第2のネットワークインターフェース装置22経由でこの代替パケットをインターネット130に送信することができるが、該代替パケットは前記のネットワークパケットを含み、このネットワークパケットの送信先IPアドレスは、リモートホスト301が取得した10.3.21.101等の仮想IPアドレスである。
なお、本実施形態において、処理装置24は、ローカルルーティング装置20が所有する仮想サブネットに基づいて、ローカルプライベートネットワーク200内のローカルホスト201〜203にローカル仮想IPアドレスを割り当ててもよく、その結果に応じてビットマップテーブルを更新する(例えば、図4に示す破線領域412)。次に、ローカルホスト201がリモートプライベートネットワーク300内のリモートホスト301にネットワークパケットを送信する際は、ローカルホスト201はリモートホスト301により取得した仮想IPアドレス(例えば、10.30.21.101)を、そのネットワークパケットの送信先IPアドレスとして設定することができる。さらに、そのネットワークパケットをローカルルーティング装置20経由で送信する場合は、ローカルルーティング装置20の処理装置24はローカルホスト201の仮想IPアドレス(例えば、10.1.23.101)をそのネットワークパケットの送信元IPアドレスとして設定することができる。代案として、その他の実施形態においては、ローカルホスト201がネットワークパケットをリモートプライベートネットワーク300内のリモートホスト301に送信する際は、ローカルホスト201は、リモートホスト301の仮想IPアドレス(例えば、10.3.21.101)をそのネットワークパケットの送信先IPアドレスとして設定することができ、同時に、ローカルホスト201の仮想IPアドレス(例えば、10.1.23.101)をそのネットワークパケットの送信元IPアドレスとして設定することができる。
したがって、ネットワークパケットをルーティングするプロセスにおいて、リモートルーティング装置30が代替パケットを非パケット化してネットワークパケットを取得した後、リモートルーティング装置30は、ネットワークパケットにおいて再割り当てされた送信先IPアドレス(すなわち、10.3.21.101等のリモートホスト301の仮想IPアドレス)および送信元IPアドレス(すなわち10.1.23.101等のローカルホスト201の仮想IPアドレス)に基づいて、送信先IPアドレスに相当するリモートホスト301のプライベートIPアドレス(例えば、192.168.75.101)を特定することができ、リモートホスト301のプライベートIPアドレス(例えば192.168.75.101)に相当するリモートホスト301にネットワークパケットをリレーすることができる。したがって、ネットワークパケットは、リモートルーティング装置30経由でリモートホスト301に正常に(successfully)到達する。
なお、本実施形態において、各ローカルホスト201〜203および各リモートホスト301〜303がそれぞれ所有する元のプライベートIPアドレス(例えば、192.168.75.101)は、再割り当てしようとする仮想IPアドレス(例えば、10.3.21.101および10.1.23.101)へ変更することができるが、本発明はそれに限定されない。
本発明の別の実施形態によれば、各ローカルホスト201〜203および各リモートホスト301〜303がそれぞれ所有する元のプライベートIPアドレス(例えば、192.168.75.101)を大幅に変更する必要はないかわりに、再割り当てしようとする仮想IPアドレスと、各ローカルホスト201〜203および各リモートホスト301〜303の元のプライベートIPアドレスとのあいだの詳細な対応関係をローカルルーティング装置20およびリモートルーティング装置30それぞれのIPアドレスマッピングテーブルに記録してもよい。すなわち、各ローカルホスト201〜203および各リモートホスト301〜303の各プライベートネットワークにおいては、元のプライベートIPアドレス(例えば、192.168.75.101)を引き続き使用して内部通信を行う。すなわち、同じプライベートネットワーク内で送信されるネットワークパケットは、その送信元IPアドレスおよび送信先IPアドレスとして、各ローカルホスト201〜203および各リモートホスト301〜303それぞれの元のプライベートIPアドレスを実質的に用いる。
すなわち、複数のプライベートネットワーク間でネットワーク通信を行うとき(例えば、ローカルプライベートネットワーク200内のローカルホスト201がネットワークパケットをリモートプライベートネットワーク300内のリモートホスト301に送信するとき)のみ、ローカルルーティング装置20およびリモートルーティング装置30はそれぞれ、自身に格納したIPアドレスマッピングテーブルを照合して、送信元ホスト(例えば、ローカルホスト201)の元のプライベートIPアドレスと仮想IPアドレス(例えば、10.1.23.101)との間の対応関係を取得する。
一般に、データをインターネット経由で送信するためにカプセル化するプロセスにおいて、データはまず通常ユーザデータグラムプロトコル(UDP)パケットまたは送信制御プロトコル(TCP)パケットにカプセル化される。次に、UDPパケットまたはTCPパケットを順次IPパケットにカプセル化して、このIPパケットをイーサネットフレームにカプセル化する。通常、イーサネットフレームにおけるIPパケットのヘッダは、少なくとも一組の送信元IPアドレスと送信先IPアドレスを含む。したがって、IPパケットを送信するパス上のルーティング装置は、イーサネットフレーム内のIPパケットが含む送信元IPアドレスと送信先IPアドレスに基づいて、IPパケットを送信することができる。
図5は、本発明の一実施形態にしたがって、ネットワークパケットをカプセル化することにより生成した代替パケットを示す模式図である。図5を参照すると、本実施形態のカプセル化プロセスにおいては、ローカルルーティング装置の処理装置は、まずネットワークパケット51をUDPパケット52にカプセル化する。例えば、ネットワークパケット51を、代替パケットにおけるUDPパケット52のペイロード522として用いる。次に、ローカルルーティング装置の処理装置は、UDPパケット52を順次IPパケット53にカプセル化して、代替パケット54を生成する。なお、代替パケット(すなわち、IPパケット53)のIPヘッダには、送信元IPアドレス(例えば、ローカルルーティング装置20のパブリックIPアドレス)および送信先IPアドレス(例えば、リモートルーティング装置30のパブリックIPアドレス)も含まれる。
以上に基づき、本発明の各実施形態においては、ルーティング装置が代替パケットを生成した後に、その代替パケットの送信元IPアドレスおよび送信先IPアドレスに基づいて当該代替パケットを送信するためのルーティング方法(例えば、代替パケットをリモートルーティング装置30経由でリモートホスト301にリレーする等)をルーティング装置に通知することができる。なお、パケットを送信するためのルーティング方法については当業者にとって公知であるので、以下、関連する説明については省略する。
さらに、本発明の各実施形態においては、送信元IPアドレスおよび送信先IPアドレスもネットワークパケットのIPパケットに含まれるにもかかわらず、これらの送信元IPアドレスおよび送信先IPアドレスは代替パケットに含まれる送信元IPアドレスおよび送信先IPアドレスとは異なるものであることに留意されたい。より詳細には、ネットワークパケットにおいては、送信元IPアドレスを、例えば、ローカルホスト201に再割り当てした仮想IPアドレス(10.1.23.101)とする一方、送信先IPアドレスを、例えば、リモートホスト301に再割り当てした仮想IPアドレス(10.3.21.101)とすることができる。しかしながら、代替パケットにおいては、送信元IPアドレスを、例えば、ローカルルーティング装置20のパブリックIPアドレスとする一方、送信先IPアドレスを、例えば、リモートルーティング装置30のパブリックIPアドレスとすることができる。
図2および図3を再度参照すると、代替パケットの受信および処理について、ローカルルーティング装置20を例にとれば、ローカルルーティング装置の第2のネットワークインターフェース装置22が代替パケットを受信すると、ローカルルーティング装置20の処理装置24は当該代替パケットを非カプセル化して、この代替パケットからネットワークパケットを取得することができる。さらに、ローカルルーティング装置20の処理装置24は、ネットワークパケットのIPヘッダ内の送信先IPアドレス(例えば、10.1.23.101)に基づいてIPアドレスマッピングテーブル(または、仮想サブネットの割り当て記録テーブル)を照合することにより、対応するプライベートIPアドレス(例えば、ローカルホスト201の元のプライベートIPアドレスである、192.168.75.101)を特定することができる。次に、ローカルルーティング装置20の処理装置24は、取得したプライベートIPアドレスに基づき、第1のネットワークインターフェース装置21経由でネットワークパケットをローカルホスト201にリレーする。同様に、リモートルーティング装置30が、リモートホスト301への送信先IPアドレス(すなわち、仮想IPアドレス)を含む代替パケットを受信する際は、リモートルーティング装置30は、ネットワークパケットの仮想IPアドレスに基づいて適切なアドレス変換によってIPアドレスマッピングテーブルを照合することにより、対応するプライベートIPアドレスを特定することができる。次に、リモートルーティング装置30は、代替パケットを非カプセル化して得られたネットワークパケットをプライベートIPアドレスに基づいてリモートホスト301にリレーする。
なお、インターネットをフロントエンドに持ち、プライベートネットワークをバックエンドに持つルーティング装置については、通常、ファイアウォールおよびNAT両方の特徴を備えている。ここで、ファイアウォールの基本機能は、未知のネットワークトラフィックまたはネットワークパケットが、保護下のルーティング装置またはバックエンドのプライベートネットワークへ侵入するのを防ぐことである。図2を例にとると、ファイアウォールを有するローカルホスト201がリモートホスト301とネットワーク通信を行えるようにするため、または、ローカルホスト201が、ファイアウォールを有するリモートルーティング装置30のサブネット内のリモートホスト301とネットワーク通信を行えるようにするためには、ローカルルーティング装置20とリモートルーティング装置30とが相互に通信可能である必要がある。すなわち、ファイアウォールによる規制またはその他のパケットフィルタリング機構が原因で、ローカルルーティング装置20とリモートルーティング装置30との間でパケットが正常に送信できない、または通信が行えないことがある。
図6は、本発明の別の実施形態による、インターネット経由で接続されたローカルプライベートネットワークおよびリモートプライベートネットワークを示す模式図である。図3〜図6を参照すると、ローカルルーティング装置20およびリモートルーティング装置30は、図3に示すものと同様に実装される。本実施形態において、ローカルルーティング装置20の処理装置24は、第2のネットワークインターフェース装置22経由でリモートルーティング装置30とピアツーピア接続を確立しようとし、リモートルーティング装置30との間でピアツーピア接続が正常に確立されているかどうか判断する。処理装置24は、リモートルーティング装置30とのピアツーピア接続が正常に確立されていない場合、ユーザデータグラムプロトコル(UDP)サーバ61を介して、ローカルルーティング装置20のパブリックIPアドレスとパブリックポート番号を第2のネットワークインターフェース装置22経由でリモートルーティング装置30へ配信して、リモートルーティング装置30のパブリックIPアドレスおよびパブリックポート番号を取得する。
すなわち、リモートルーティング装置30とのピアツーピア接続が正常に確立されていない場合とは、パケットが正常に送信できないか、または、ファイアウォールによる規制またはその他のパケットフィルタリング機構が原因でローカルルーティング装置20とリモートルーティング装置30との間の接続が確立できないことを意味する。したがって、例えば、ローカルルーティング装置20の処理装置24は、ローカルルーティング装置20のパブリックIPアドレスおよびパブリックポート番号の情報をUDPサーバ61に格納するため、第2のネットワークインターフェース装置22経由でUDPサーバ61との接続を確立する。同様に、リモートルーティング装置30も、リモートルーティング装置30のパブリックIPアドレスおよびパブリックポート番号の情報をUDPサーバ61に格納するため、UDPサーバ61との接続を確立する。次に、ローカルルーティング装置20およびリモートルーティング装置30は、それぞれUDPサーバ61に接続して、互いのパブリックIPアドレスおよびパブリックポート番号を取得し、相手のパブリックIPアドレスおよびパブリックポート番号を使用してネットワーク通信を行う。したがって、ファイアウォールの有無は各プライベートネットワーク間の通信に影響しない。
本実施形態によれば、UDPサーバ61としては、接続機能があり接続情報を記録できるものであれば任意のサーバを用いることができ、本発明はそれに限定されない。
なお、ローカルルーティング装置とリモートルーティング装置との間にファイアウォールまたはその他のフィルタリング機構が存在しないことがわかっている場合は、ローカルルーティング装置およびリモートルーティング装置は、前記情報を交換するためにUDPサーバを使用せずに、ピアツーピア接続を介してパブリックIPアドレスおよびパブリックポート番号の情報を直接取得してもよい。
上記のように、ローカルルーティング装置(例えば、ローカルルーティング装置20)およびリモートルーティング装置(例えば、リモートルーティング装置30)がいずれも互いのパブリックIPアドレスおよびパブリックポート番号を取得済みであれば、ローカルルーティング装置の処理装置(例えば、処理装置24)は、対象リモートホスト(例えば、リモートホスト301)により取得した、受信しようとするネットワークパケットのIPヘッダにある仮想IPアドレスに基づいて、対象リモートホスト(例えば、リモートホスト301)により取得された仮想IPアドレスに対応するリモートルーティング装置(例えば、リモートルーティング装置30)のパブリックIPアドレスおよびパブリックポート番号を特定することができる。さらに、ローカルルーティング装置の処理装置によりネットワークパケットをカプセル化して代替パケットを生成するプロセスにおいて、ローカルルーティング装置の処理装置は、ローカルルーティング装置のパブリックIPアドレスおよびパブリックポート番号ならびにリモートルーティング装置のパブリックIPアドレスおよびパブリックポート番号を代替パケットにカプセル化してもよい。例えば、ローカルルーティング装置20の処理装置24は、ローカルルーティング装置20のパブリックIPアドレスおよびリモートルーティング装置30のパブリックIPアドレスを代替パケットのIPヘッダ(例えば、図5に示す、IPパケット53のIPヘッダ)にカプセル化してもよい。さらに、ローカルルーティング装置20の処理装置24は、ローカルルーティング装置20のパブリックポート番号およびリモートルーティング装置30のパブリックポート番号を代替パケットのUDPヘッダ(例えば、図5に示す、UDPパケット52のUDPヘッダ521)にカプセル化してもよい。したがって、ローカルルーティング装置またはリモートルーティング装置により代替パケットを受信する場合、当該代替パケットの前記情報により、適切なルーティング処理を行うことができる。
図7は、本発明の一実施形態による仮想プライベートネットワーク通信方法を示すフローチャートである。
図7を参照すると、ステップS702において、ローカルルーティング装置の処理装置は、リモートプライベートネットワーク内の各リモートホスト用のリモートルーティング装置に仮想サブネットを割り当ててこの仮想サブネットに基づいて仮想IPアドレスをそれぞれ取得する。なお、本実施形態において、各ホストの仮想IPアドレスは1つのルーティング装置により別個に割り当ててもよいし、または、各ホストが、割り当てられた(例えば、仮想サブネットおよび元のプライベートIPアドレスとともに割り当てられた)仮想サブネットに基づいて取得してもよいが、本発明はそれらに限定されない。
ステップS704において、ローカルプライベートネットワーク内のローカルホストがリモートプライベートネットワーク内の対象リモートホストにネットワークパケットを送信すると、ローカルルーティング装置の処理装置はリモートルーティング装置のパブリックIPアドレスおよびパブリックポート番号に基づいてネットワークパケットをカプセル化して代替パケットを生成し、その代替パケットをインターネットに配信する。代替パケットは、カプセル化したネットワークパケットを含み、カプセル化したネットワークパケットの送信先IPアドレスは、対象リモートホストにより取得した仮想IPアドレスである。
図8は、本発明の別の実施形態による、仮想プライベートネットワーク通信方法を示すフローチャートである。図8を参照すると、本実施形態において、パケットが正常に送信できない場合、またはファイアウォールによる規制またはその他のパケットフィルタリング機構が原因でローカルルーティング装置とリモートルーティング装置との間の接続が確立できない場合は、ローカルルーティング装置およびリモートルーティング装置はそれぞれ互いのパブリックIPアドレスおよびパブリックポート番号をUDPサーバを介して取得してもよい。
ステップS802において、ローカルルーティング装置の処理装置は、第2のネットワークインターフェース装置経由でリモートルーティング装置との間にピアツーピア接続を確立しようと試みる。次に、ステップS802が終了したらステップ804へ進む。ステップS804において、ローカルルーティング装置の処理装置は、リモートルーティング装置とのピアツーピア接続が正常に確立されているかを判断する。S804においてローカルルーティング装置の処理装置により、ピアリモートルーティング装置とのピアツーピア接続が正常に確立していると判断された場合、ステップS804が終了したらステップS808へ進む。ステップS804においてローカルルーティング装置の処理装置により、リモートルーティング装置とのピアツーピア接続が正常に確立していないと判断された場合、ステップS804が終了したらステップS806に進む。
ステップS806において、ローカルルーティング装置の処理装置は、ローカルルーティング装置のパブリックIPアドレスおよびパブリックポート番号をUDPサーバを介してリモートルーティング装置に配信し、リモートルーティング装置のパブリックIPアドレスおよびパブリックポート番号を取得する。次に、ステップS806が終了したらステップS808に進む。ステップS804においてローカルルーティング装置により、リモートルーティング装置とのピアツーピア接続が正常に確立していると判断された場合、ステップS804が終了したらステップS808へ進む。ステップS808において、ローカルルーティング装置の処理装置は、リモートプライベートネットワーク内の各リモートホスト用のリモートルーティング装置に仮想サブネットを割り当ててその仮想サブネットに基づいて仮想IPアドレスをそれぞれ取得する。次に、ステップS808が終了したら、ステップS810へ進む。
ステップS810において、ローカルルーティング装置の処理装置は、ネットワークパケットがローカルプライベートネットワーク内のローカルホストからリモートプライベートネットワーク内の対象リモートホストに送信されたか判断する。ローカルルーティング装置の処理装置が、ステップS810において、ローカルプライベートネットワーク内のローカルホストからリモートプライベートネットワーク内の対象リモートホストに送信されたネットワークパケットはないと判断する場合、ローカルルーティング装置の処理装置は、ステップS810が終了した後も、ネットワークパケットがローカルプライベートネットワーク内のローカルホストからリモートプライベートネットワーク内の対象リモートホストに送信されるかどうか引き続きモニタリングする。ローカルルーティング装置の処理装置が、ステップS810において、ローカルプライベートネットワーク内のローカルホストからリモートプライベートネットワーク内の対象リモートホストにネットワークパケットが送信されたと判断する場合、ステップS810が終了したらステップS812へ進む。
ステップS812において、ローカルルーティング装置の処理装置は、ローカルルーティング装置のパブリックIPアドレスおよびパブリックポート番号ならびにリモートルーティング装置のパブリックIPアドレスおよびパブリックポート番号に基づいてネットワークパケットをカプセル化して代替パケットを生成し、ローカルルーティング装置の処理装置はその代替パケットを第2のネットワークインターフェース装置経由でインターネットへ配信する。
図9は、本発明のさらに別の実施形態による仮想プライベートネットワーク通信方法を示すフローチャートである。図9を参照すると、本実施形態において、ローカルルーティング装置はIPアドレス交渉プロセスを行い、各プライベートネットワークが同じ仮想サブネットを使用しないようにする。
ステップS902において、ローカルルーティング装置の処理装置は、第2のネットワークインターフェース装置経由でリモートルーティング装置とのピアツーピア接続を確立しようと試みる。次に、ステップS902が終了したらステップS904に進む。ステップS904において、ローカルルーティング装置の処理装置は、リモートルーティング装置とのピアツーピア接続が正常に確立したか判断する。ステップS904において、ローカルルーティング装置の処理装置により、リモートルーティング装置とのピアツーピア接続が正常に確立していると判断された場合、ステップS904が終了したらステップS908へ進む。ステップS904において、ローカルルーティング装置の処理装置により、リモートルーティング装置とのピアツーピア接続が正常に確立していないと判断された場合、ステップS904が終了したらステップS906へ進む。
ステップS906において、ローカルルーティング装置の処理装置は、UDPサーバを介してローカルルーティング装置のパブリックIPアドレスおよびパブリックポート番号をリモートルーティング装置へ配信し、リモートルーティング装置のパブリックIPアドレスおよびパブリックポート番号を取得する。次に、ステップS906が終了したらステップS908へ進む。ステップS904において、ローカルルーティング装置の処理装置により、リモートルーティング装置とのピアツーピア接続が正常に確立していると判断されたら、ステップS904が終了したらステップS908へ進む。
ステップS908において、ローカルルーティング装置の処理装置はIPアドレス交渉プロセスを行う。例えば、ローカルルーティング装置の処理装置は、割り当てられていない仮想サブネットを照合し、記録し、リモートルーティング装置に割り当ててもよい。次に、ステップS908が終了したらステップS910に進む。ステップS910において、ローカルルーティング装置の処理装置は、リモートプライベートネットワーク内の各リモートホスト用のリモートルーティング装置に仮想サブネットを割り当て、その仮想サブネットに基づいて仮想IPアドレスをそれぞれ取得する。次に、ステップS910が終了したらステップS912へ進む。
ステップS912において、ローカルルーティング装置の処理装置は、ローカルプライベートネットワーク内のローカルホストからリモートプライベートネットワーク内の対象リモートホストへネットワークパケットが送信されたか判断する。ローカルルーティング装置の処理装置が、ステップS912において、ローカルプライベートネットワーク内のローカルホストからリモートプライベートネットワーク内の対象リモートホストへ送信されたネットワークパケットはないと判断する場合、ローカルルーティング装置の処理装置は、ステップS912が終了した後も、ネットワークパケットがローカルプライベートネットワーク内のローカルホストからリモートプライベートネットワーク内の対象リモートホストに送信されるかどうか引き続きモニタリングする。ローカルルーティング装置の処理装置が、ステップS912において、ローカルプライベートネットワーク内のローカルホストからリモートプライベートネットワーク内の対象リモートホストにネットワークパケットが送信されたと判断する場合、ステップS912が終了したらステップS914へ進む。
ステップS914において、ローカルルーティング装置の処理装置は、ローカルルーティング装置のパブリックIPアドレスおよびパブリックポート番号ならびにリモートルーティング装置のパブリックIPアドレスおよびパブリックポート番号に基づいてネットワークパケットをカプセル化して代替パケットを生成し、ローカルルーティング装置の処理装置はその代替パケットを第2のネットワークインターフェース装置経由でインターネットへ配信する。
図10は、本発明の一実施形態による仮想プライベートネットワーク通信方法を示すフローチャートである。より詳細には、図10を参照すると、本実施形態を用いて、代替パケットを受信した後のローカルルーティング装置またはリモートルーティング装置の動作を説明する。
ステップS1002において、ローカルルーティング装置の第2のインターフェース装置が代替パケットを受信すると、ローカルルーティング装置の処理装置がこの代替パケットを非カプセル化して、当該代替パケットからネットワークパケットを取得する。次に、ステップS1002が終了したらステップS1004へ進む。ステップS1004において、ローカルルーティング装置の第1のネットワークインターフェースは、ネットワークパケットのIPヘッダにある送信先IPアドレスに基づいてIPアドレスマッピングテーブルを調べてネットワークパケットのIPヘッダにある送信先IPアドレスに対応するプライベートIPアドレスを特定し、そのプライベートIPアドレスに対応するローカルホストにネットワークパケットをリレーする。
なお、上記の各方法については、先の各実施形態に開示した教示、示唆、および説明を参照することができるため、以下において詳細な説明は省略する。
以上より、本発明の各実施形態に開示した仮想プライベートネットワーク通信方法およびそれを用いたルーティング装置を利用して、リモートプライベートネットワーク内の少なくとも1つのリモートホストについてIPアドレス交渉プロセスを用いてリモートルーティング装置に仮想サブネットを割り当てて、この仮想サブネットに基づいて少なくとも1つの仮想IPアドレスをそれぞれ取得することができる。ローカルプライベートネットワーク内のローカルホストがリモートプライベートネットワーク内の対象リモートホストにネットワークパケットを送信するときは、対象リモートホストにより取得した仮想IPアドレスに基づいてそのネットワークパケットをカプセル化して代替パケットを生成することができる。さらに、代替パケットを受信するときは、当該代替パケットを非カプセル化して、代替パケットからネットワークパケットを取得する。次に、ネットワークパケットの送信先IPアドレスを用いて、この送信先IPアドレスに対応するプライベートIPアドレスを特定し、その後ネットワークパケットをこのプライベートIPアドレスに対応するローカルホストにリレーする。したがって、異なるプライベートネットワーク内の複数のホストは、それぞれに割り当てられた仮想IPアドレスを使用してネットワーク通信をそれぞれ行うことができる。
本開示の範囲または精神から逸脱することなく、開示した各実施形態の構成に種々の変更および変形を加えることが可能であることは当業者にとって明らかであろう。上記の事項を鑑みれば、以下の請求の範囲およびその等価物の範囲内であれば、本開示は、この明細書における変更および変形をも含むことを意図するものである
上記のように、本発明の各実施形態に開示した仮想プライベートネットワーク通信方法およびそれを用いたルーティング装置を利用して、リモートプライベートネットワーク内の少なくとも1つのリモートホストについてリモートルーティング装置に仮想サブネットを割り当てて、この仮想サブネットに基づいて少なくとも1つの仮想IPアドレスをそれぞれ取得することができる。ローカルプライベートネットワーク内のローカルホストがネットワークパケットをリモートプライベートネットワーク内の対象リモートホストに送信するときは、リモートルーティング装置のパブリックIPアドレスに基づいてネットワークパケットをカプセル化して代替パケットを生成する。代替パケットを受信すると、代替パケットを非カプセル化して、代替パケットからネットワークパケットを取得する。次に、ネットワークパケットの送信先IPアドレスを用いて、当該送信先IPアドレスに対応するプライベートIPアドレスを取得することができ、その後、このネットワークパケットをこのプライベートIPアドレスに対応するローカルホストにリレーする。したがって、異なるプライベート内の複数のホストはそれぞれ、割り当てられた仮想IPアドレスを用いてネットワーク通信を行うことができる。
10、11、12 ルーティング装置
20 ローカルルーティング装置
21 第1のネットワークインターフェース装置
22 第2のネットワークインターフェース装置
23 記憶装置
24 処理装置
30 リモートルーティング装置
40 ビットマップテーブル
41 二次元配列
51 ネットワークパケット
52 UDPパケット
521 UDPヘッダ
522 UDPペイロード
53 IPパケット
54 代替パケット
61 UDPサーバ
100、110、120 プライベートネットワーク
101〜103、111〜113、121〜123 ホスト
130 インターネット
200 ローカルプライベートネットワーク
201〜203 ローカルホスト
300 リモートプライベートネットワーク
301〜303 リモートホスト
411、412、413 破線領域

Claims (11)

  1. ルーティング装置をローカルプライベートネットワークに接続するように構成した第1のネットワークインターフェース装置と、
    前記ルーティング装置をインターネットに接続するように構成した第2のネットワークインターフェース装置と、
    前記第1のインターフェース装置および前記第2のインターフェース装置に接続され、リモートプライベートネットワーク内の少なくとも1つのリモートホスト用のリモートルーティング装置に仮想サブネットを割り当てて該仮想サブネットに基づいて少なくとも1つの仮想インターネットプロトコル(IP)アドレスを取得するように構成した処理装置と、を備えたルーティング装置において、
    前記第1のプライベートネットワーク内の第1のローカルホストが前記リモートプライベートネットワーク内の対象リモートホストに第1のネットワークパケットを送信すると、前記処理装置は、前記第1のネットワークインターフェース装置経由で前記第1のネットワークパケットを受信し、前記リモートルーティング装置のパブリックIPアドレスに基づいて前記第1のネットワークパケットをカプセル化して第1の代替パケットを生成し、前記第2のネットワークインターフェース装置経由で前記第1の代替パケットをインターネットに配信すること、および
    前記第1の代替パケットは、前記第1のネットワークパケットを含み、前記第1のネットワークパケットの送信先IPアドレスは、前記対象リモートホストの前記仮想IPアドレスであること、を特徴とするルーティング装置。
  2. 前記処理装置は少なくとも1つのリモートルーティング装置に少なくとも1つの仮想サブネットをさらに割り当てること、および
    前記少なくとも1つのリモートルーティング装置に割り当てた前記少なくとも1つの仮想サブネットは互いに異なるものであること、を特徴とする請求項1に記載のルーティング装置。
  3. ビットマップテーブルを格納するように構成した記憶装置をさらに備え、
    前記処理装置はIPアドレス交渉プロセスを行うように構成され、該IPアドレス交渉プロセスの間に、前記処理装置は割り当てられていない少なくとも1つの仮想サブネット候補を前記ビットマップテーブルから取得し、前記少なくとも1つの仮想サブネット候補から仮想サブネットを選択し、該仮想サブネットをリモートルーティング装置に割り当て、該仮想サブネットをビットマップテーブルに記録し、該仮想サブネットを前記リモートルーティング装置に割り当て済みとしてマークすること、を特徴とする請求項1〜2のルーティング装置。
  4. 前記ビットマップテーブルは、少なくとも1つの行と少なくとも1つの列を含む二次元配列で構成され、前記少なくとも1つの行および前記少なくとも1つの列は、仮想サブネットの2つの桁に対応し、前記二次元配列における前記2つの桁に対応する少なくとも1つの交点に前記仮想サブネットの使用状態をマークすること、を特徴とする、
    請求項3に記載のルーティング装置。
  5. 処理装置は、割り当てられていない前記仮想サブネットを第1の識別コードを用いて前記ビットマップテーブルにマークし、前記ルーティング装置が所有する仮想サブネットを第2の識別コードを用いて前記ビットマップテーブルにマークし、前記割り当てた前記仮想サブネット候補を第3の識別コードを用いて前記ビットマップテーブルにマークすること、特徴とする請求項3および4に記載のルーティング装置。
  6. 前記ビットマップテーブルは255行255列で構成したことを特徴とする、請求項3乃至5に記載のルーティング装置。
  7. 前記処理装置は、前記ローカルプライベートネットワーク内の前記第1のローカルホストにローカル仮想IPアドレスを割り当て、前記ローカル仮想IPアドレスを前記第1のネットワークパケットの送信元IPアドレスとして設定し、前記第1の代替パケットを生成したら前記第1の代替パケットを前記第2のネットワークインターフェース装置経由で前記リモートルーティング装置に送信して、前記対象ホストに前記第1の代替パケットをリレーすること、を特徴とする請求項1乃至6に記載のルーティング装置。
  8. 前記第2のネットワークインターフェース装置が第2の代替パケットを受信すると、前記処理装置は前記第2の代替パケットを非カプセル化して該第2の代替パケットから第2のネットワークパケットを取得し、前記第2のネットワークパケットの前記送信先IPアドレスに基づいて前記第2のネットワークパケットの送信先IPアドレスに対応するプライベートIPアドレスを特定し、前記プライベートIPアドレスに対応する第2のローカルホストに前記第2のネットワークパケットを前記第1のインターフェース装置経由でリレーすること、を特徴とする請求項7に記載のルーティング装置。
  9. 前記処理装置は、前記第2のネットワークインターフェース装置ユニット経由で前記リモートルーティング装置へのピアツーピア接続を確立しようとし、前記ピアツーピア接続が正常に確立したかを判断し、前記ピアツーピア接続が正常に確立されていない場合は前記第2のネットワークインターフェース装置経由で前記ルーティング装置の第1のパブリックIPアドレスおよび第1のパブリックポート番号をユーザデータグラムプロトコル(UDP)サーバを介して前記リモートルーティング装置に配信して前記リモートルーティング装置の第2のパブリックIPアドレスおよび第2のパブリックポート番号を取得すること、を特徴とする請求項1乃至8に記載のルーティング装置。
  10. 前記処理装置は、前記第1のネットワークパケットのIPヘッダにある前記対象リモートホストが取得した前記仮想IPアドレスに基づいて、前記仮想IPアドレスに対応する前記リモートルーティング装置の前記第2のパブリックIPアドレスおよび前記第2のパブリックポート番号を特定し、前記第1のパブリックIPアドレスおよび前記第2のパブリックアドレスを前記第1の代替パケットのIPヘッダにカプセル化し、前記第1のパブリックポート番号および前記第2のパブリックポート番号を前記第1の代替パケットのUDPヘッダにカプセル化すること、を特徴とする請求項9に記載のルーティング装置。
  11. 前記処理装置は前記第1のネットワークパケットを前記第1の代替パケットのUDPペイロードとして利用すること、を特徴とする請求項10に記載のルーティング装置。
JP2013105814A 2012-05-23 2013-05-20 ルーティング装置 Pending JP2013247678A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261650489P 2012-05-23 2012-05-23
US61/650,489 2012-05-23

Publications (1)

Publication Number Publication Date
JP2013247678A true JP2013247678A (ja) 2013-12-09

Family

ID=49621566

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013105814A Pending JP2013247678A (ja) 2012-05-23 2013-05-20 ルーティング装置

Country Status (4)

Country Link
US (1) US9130884B2 (ja)
JP (1) JP2013247678A (ja)
CN (1) CN103428097A (ja)
TW (1) TWI482469B (ja)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10749711B2 (en) 2013-07-10 2020-08-18 Nicira, Inc. Network-link method useful for a last-mile connectivity in an edge-gateway multipath system
US10454714B2 (en) 2013-07-10 2019-10-22 Nicira, Inc. Method and system of overlay flow control
FR3028371B1 (fr) * 2014-11-06 2016-11-18 Bull Sas Procede de surveillance et de controle deportes d'un cluster utilisant un reseau de communication de type infiniband et programme d'ordinateur mettant en oeuvre ce procede
US10425382B2 (en) 2015-04-13 2019-09-24 Nicira, Inc. Method and system of a cloud-based multipath routing protocol
US10498652B2 (en) 2015-04-13 2019-12-03 Nicira, Inc. Method and system of application-aware routing with crowdsourcing
US10135789B2 (en) * 2015-04-13 2018-11-20 Nicira, Inc. Method and system of establishing a virtual private network in a cloud service for branch networking
CN105162673A (zh) * 2015-08-24 2015-12-16 北京大众益康科技有限公司 数据传输接口及方法
CN105162896A (zh) * 2015-08-31 2015-12-16 上海斐讯数据通信技术有限公司 一种跨网段的设备通信方法及系统
US10057267B1 (en) * 2015-09-21 2018-08-21 Amazon Technologies, Inc. Integrating external devices with private networks in provider network environments
TWI580218B (zh) * 2015-11-05 2017-04-21 Accelstor Inc A network device for temporarily accessing a network setting and a method thereof
US10778636B2 (en) * 2016-06-28 2020-09-15 ColorTokens, Inc. Dynamic credential based addressing
US10200110B2 (en) * 2016-06-30 2019-02-05 Ge Aviation Systems Llc Aviation protocol conversion
US20180219765A1 (en) 2017-01-31 2018-08-02 Waltz Networks Method and Apparatus for Network Traffic Control Optimization
US20200036624A1 (en) 2017-01-31 2020-01-30 The Mode Group High performance software-defined core network
US10992568B2 (en) 2017-01-31 2021-04-27 Vmware, Inc. High performance software-defined core network
US11121962B2 (en) 2017-01-31 2021-09-14 Vmware, Inc. High performance software-defined core network
US10992558B1 (en) 2017-11-06 2021-04-27 Vmware, Inc. Method and apparatus for distributed data network traffic optimization
US11252079B2 (en) 2017-01-31 2022-02-15 Vmware, Inc. High performance software-defined core network
US11706127B2 (en) 2017-01-31 2023-07-18 Vmware, Inc. High performance software-defined core network
US10778528B2 (en) 2017-02-11 2020-09-15 Nicira, Inc. Method and system of connecting to a multipath hub in a cluster
US10523539B2 (en) 2017-06-22 2019-12-31 Nicira, Inc. Method and system of resiliency in cloud-delivered SD-WAN
US10999100B2 (en) 2017-10-02 2021-05-04 Vmware, Inc. Identifying multiple nodes in a virtual network defined over a set of public clouds to connect to an external SAAS provider
US10686625B2 (en) 2017-10-02 2020-06-16 Vmware, Inc. Defining and distributing routes for a virtual network
US10999165B2 (en) 2017-10-02 2021-05-04 Vmware, Inc. Three tiers of SaaS providers for deploying compute and network infrastructure in the public cloud
US10959098B2 (en) 2017-10-02 2021-03-23 Vmware, Inc. Dynamically specifying multiple public cloud edge nodes to connect to an external multi-computer node
US11089111B2 (en) 2017-10-02 2021-08-10 Vmware, Inc. Layer four optimization for a virtual network defined over public cloud
US11115480B2 (en) 2017-10-02 2021-09-07 Vmware, Inc. Layer four optimization for a virtual network defined over public cloud
US11223514B2 (en) 2017-11-09 2022-01-11 Nicira, Inc. Method and system of a dynamic high-availability mode based on current wide area network connectivity
TWI713328B (zh) * 2018-03-19 2020-12-11 和碩聯合科技股份有限公司 橋接器及網路的管理方法
US10833949B2 (en) 2018-11-20 2020-11-10 Amazon Technologies, Inc Extension resource groups of provider network services
US10999137B2 (en) 2019-08-27 2021-05-04 Vmware, Inc. Providing recommendations for implementing virtual networks
US11064017B2 (en) 2019-09-24 2021-07-13 Amazon Technologies, Inc. Peripheral device enabling virtualized computing service extensions
US11520530B2 (en) 2019-09-24 2022-12-06 Amazon Technologies, Inc. Peripheral device for configuring compute instances at client-selected servers
US11044190B2 (en) 2019-10-28 2021-06-22 Vmware, Inc. Managing forwarding elements at edge nodes connected to a virtual network
US11489783B2 (en) 2019-12-12 2022-11-01 Vmware, Inc. Performing deep packet inspection in a software defined wide area network
US11394640B2 (en) 2019-12-12 2022-07-19 Vmware, Inc. Collecting and analyzing data regarding flows associated with DPI parameters
US11606712B2 (en) 2020-01-24 2023-03-14 Vmware, Inc. Dynamically assigning service classes for a QOS aware network link
US11569997B1 (en) 2020-03-09 2023-01-31 Amazon Technologies, Inc. Security mechanisms for data plane extensions of provider network services
CN116016315A (zh) * 2020-05-25 2023-04-25 华为技术有限公司 一种路由管理方法、设备及系统
US11245641B2 (en) 2020-07-02 2022-02-08 Vmware, Inc. Methods and apparatus for application aware hub clustering techniques for a hyper scale SD-WAN
US11363124B2 (en) 2020-07-30 2022-06-14 Vmware, Inc. Zero copy socket splicing
US11575591B2 (en) 2020-11-17 2023-02-07 Vmware, Inc. Autonomous distributed forwarding plane traceability based anomaly detection in application traffic for hyper-scale SD-WAN
US11575600B2 (en) 2020-11-24 2023-02-07 Vmware, Inc. Tunnel-less SD-WAN
US11929903B2 (en) 2020-12-29 2024-03-12 VMware LLC Emulating packet flows to assess network links for SD-WAN
US11792127B2 (en) 2021-01-18 2023-10-17 Vmware, Inc. Network-aware load balancing
US11979325B2 (en) 2021-01-28 2024-05-07 VMware LLC Dynamic SD-WAN hub cluster scaling with machine learning
US11381499B1 (en) 2021-05-03 2022-07-05 Vmware, Inc. Routing meshes for facilitating routing through an SD-WAN
US11729065B2 (en) 2021-05-06 2023-08-15 Vmware, Inc. Methods for application defined virtual network service among multiple transport in SD-WAN
US11489720B1 (en) 2021-06-18 2022-11-01 Vmware, Inc. Method and apparatus to evaluate resource elements and public clouds for deploying tenant deployable elements based on harvested performance metrics
US11375005B1 (en) 2021-07-24 2022-06-28 Vmware, Inc. High availability solutions for a secure access service edge application
US11943146B2 (en) 2021-10-01 2024-03-26 VMware LLC Traffic prioritization in SD-WAN
US11909815B2 (en) 2022-06-06 2024-02-20 VMware LLC Routing based on geolocation costs

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003158520A (ja) * 2000-12-25 2003-05-30 Iiga Co Ltd ネットワークアドレス表示装置及びネットワークアドレス割り当て装置
JP2007049499A (ja) * 2005-08-10 2007-02-22 Fractalist Inc 通信方法および装置
JP2008301024A (ja) * 2007-05-30 2008-12-11 Fuji Xerox Co Ltd 仮想ネットワーク接続システム及び装置
JP2009182789A (ja) * 2008-01-31 2009-08-13 Nec Corp リング型双方向データ送受信システム、情報処理装置、リング型双方向データ送受信方法およびプログラム
JP2011515944A (ja) * 2008-03-20 2011-05-19 テレフオンアクチーボラゲット エル エム エリクソン(パブル) ローカルネットワーク間のデータパケットの通信方法および装置
JP2011188448A (ja) * 2010-03-11 2011-09-22 Evrika Inc ゲートウェイ装置、通信方法および通信用プログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002052802A1 (fr) * 2000-12-25 2002-07-04 Iiga Co., Ltd Dispositif d'affichage de l'adresse reseau et dispositif d'attribution d'adresses reseau
US20030214949A1 (en) * 2002-05-16 2003-11-20 Nadim Shaikli System for reordering sequenced based packets in a switching network
TWI238630B (en) * 2002-09-30 2005-08-21 Handlink Technologies Inc Virtual sub-network control method and its controller
CN101465844B (zh) * 2007-12-18 2012-07-04 华为技术有限公司 一种防火墙穿越方法、系统和设备
CN101197856B (zh) * 2007-12-27 2011-04-20 北京交通大学 Vpn网络间ip地址空间免规划及私有域名访问的方法
CN101572643B (zh) * 2008-04-30 2011-06-22 成都市华为赛门铁克科技有限公司 实现私网之间转发数据的方法和系统
CN102195862A (zh) * 2010-03-11 2011-09-21 正文科技股份有限公司 路由装置及相关的封包处理电路
US8374183B2 (en) * 2010-06-22 2013-02-12 Microsoft Corporation Distributed virtual network gateways
EP2719124B1 (en) * 2011-06-07 2018-04-11 Hewlett-Packard Enterprise Development LP A scalable multi-tenant network architecture for virtualized datacenters
US8660129B1 (en) * 2012-02-02 2014-02-25 Cisco Technology, Inc. Fully distributed routing over a user-configured on-demand virtual network for infrastructure-as-a-service (IaaS) on hybrid cloud networks

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003158520A (ja) * 2000-12-25 2003-05-30 Iiga Co Ltd ネットワークアドレス表示装置及びネットワークアドレス割り当て装置
JP2007049499A (ja) * 2005-08-10 2007-02-22 Fractalist Inc 通信方法および装置
JP2008301024A (ja) * 2007-05-30 2008-12-11 Fuji Xerox Co Ltd 仮想ネットワーク接続システム及び装置
JP2009182789A (ja) * 2008-01-31 2009-08-13 Nec Corp リング型双方向データ送受信システム、情報処理装置、リング型双方向データ送受信方法およびプログラム
JP2011515944A (ja) * 2008-03-20 2011-05-19 テレフオンアクチーボラゲット エル エム エリクソン(パブル) ローカルネットワーク間のデータパケットの通信方法および装置
JP2011188448A (ja) * 2010-03-11 2011-09-22 Evrika Inc ゲートウェイ装置、通信方法および通信用プログラム

Also Published As

Publication number Publication date
TWI482469B (zh) 2015-04-21
US9130884B2 (en) 2015-09-08
TW201349812A (zh) 2013-12-01
US20130315243A1 (en) 2013-11-28
CN103428097A (zh) 2013-12-04

Similar Documents

Publication Publication Date Title
JP2013247678A (ja) ルーティング装置
WO2016119747A1 (en) System and method for communicating in an ssl vpn
JP4816572B2 (ja) 仮想ネットワーク接続システム及び装置
US9137211B2 (en) Application services based on dynamic split tunneling
US7929538B2 (en) Information processing system, tunnel communication device, tunnel communication method, proxy response device, and proxy response method
US8078735B2 (en) Information processing system, tunnel communication device, tunnel communication method, and program
JP4557803B2 (ja) ネットワークシステム及び通信方法
CN106101617B (zh) 一种报文传输方法、装置及系统
JP4482601B2 (ja) ネットワーク・アドレス・ポート変換器によって扱われるクライアントからの重複ソースの防止
JP6825787B2 (ja) 識別情報指向型ネットワークの匿名識別情報及びプロトコル
CN105659568A (zh) 用于对称nat的对等通信
JP2018139448A5 (ja)
CN107948150B (zh) 报文转发方法及装置
CN108718278A (zh) 一种报文传输方法和装置
US7764691B2 (en) Allowing IPv4 clients to communicate using teredo addresses when both clients are behind a NAT
CN105591907B (zh) 一种路由获取方法和装置
US8194683B2 (en) Teredo connectivity between clients behind symmetric NATs
CN114556868B (zh) 虚拟专用网络vpn客户端的专用子网络
CN109412927A (zh) 一种多vpn数据传输方法、装置及网络设备
US7715386B2 (en) Reducing network traffic to teredo server
AU2023203289A1 (en) Systems and methods for providing a ReNAT communications environment
US20080240131A1 (en) Teredo connectivity between clients behind symmetric NATs
CN111903105A (zh) 多路复用安全隧道
GB2589045A (en) Enhancing privacy by obscuring traversal using relays around network address translator (TURN) connections, and related methods, systems and computer-readab
JP4191180B2 (ja) 通信支援装置、システム、通信方法及びコンピュータプログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140314

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140415

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140715

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141209

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20150602