JP5816872B2 - 情報処理装置、プログラム、情報処理方法、および情報処理システム - Google Patents
情報処理装置、プログラム、情報処理方法、および情報処理システム Download PDFInfo
- Publication number
- JP5816872B2 JP5816872B2 JP2010095429A JP2010095429A JP5816872B2 JP 5816872 B2 JP5816872 B2 JP 5816872B2 JP 2010095429 A JP2010095429 A JP 2010095429A JP 2010095429 A JP2010095429 A JP 2010095429A JP 5816872 B2 JP5816872 B2 JP 5816872B2
- Authority
- JP
- Japan
- Prior art keywords
- vpn
- address
- interface
- group
- packet
- 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.)
- Active
Links
Images
Description
また、通信事業者が管理する専用のサービス網を用いて提供されるVPNには、ラベルとルーティングテーブルを用いたMPLS(Multi Protocol Label Switching)によってVPNを実現するIP−VPNと、EthernetフレームにVLANタグと呼ばれる情報を付加してVPNを実現する広域Ethernetなどがある(例えば、MPLSについて特許文献1参照)。
例えば図19に示したシステムでは、VPNクライアント500A及びこれに接続する端末600AとLAN1に属する端末130A、VPNクライアント500B及びこれに接続する端末600BとLAN2に属する端末130B、VPNクライアント500C及びこれに接続する端末600CとLAN3に属する端末130Cが、同じグループに属しており、各グループ内でVPNの通信ができる。
図2は、一般的な通信パケットの構造を示す図である。ここで、Ethernetフレームは、図2に示す通り、MACヘッダとIPパケットからなる。IPパケットは、IPヘッダとデータからなる。データはTCPヘッダとデータ断片からなる。
設定されたTCPヘッダ内のアドレスを用いて、VPNクライアントとVPNサーバ間でEthernetフレームが送受信される。
一方、図1におけるVPNクライアント500A乃至CのIPアドレスは、ISPのネトワークに接続する際にISPから割り当てられて動的に決定される。
VPNクライアント500BからVPNサーバ100へ送信されるパケットは、パケット内の宛先IPアドレスとルータが持つ従来の一般的なルーティングテーブルに基づいて送信される。
次に、決定したVPNクライアント500Aをキーにして図3のVPNセッションテーブルを検索して使用するTCP自側アドレスとTCPクライアント側IPアドレスを選択し、選択したVPNクライアント500A宛にパケットを送信する。
しかしVPNサーバ100が複数のISPに接続している場合は、いずれのISPに送信するかを含めて最適な転送先を選択する必要がある。転送先が不適の場合は、パケットが遠回りすることで通信品質が劣化する場合や、転送先のVPNクライアントにパケットが到達しない場合が起こりうるためである。
このため、IPパケットの宛先IPアドレスが、経路制御の対象となる宛先IPアドレスのグループに含まれていれば、そのグループに関連付けられた転送先ルータにIPパケットを転送する経路制御ができる。
しかし、宛先IPアドレスと同数の項目を備えてルーティングテーブルを作成することは、管理運用のコストが嵩むことに加えて、規模拡張性に欠くという問題がある。
前記中央処理装置は、第1のテーブルに記録された所定のグループに属する端末又はローカルエリアネットワークからパケットを受信した場合は、第1のテーブルに基づいて所定のグループに属する他の端末又はローカルエリアネットワークを特定し、第2のテーブルに基づいて転送先となるアドレスを特定し、前記パケットを特定した前記アドレスに転送する情報処理装置である。
また、前記情報処理装置は、VPNサーバであり、前記第1のインターフェースは、少なくとも一つのVPNクライアントと接続し、前記VPNサーバと前記VPNクライアントの間の通信はVPNによる通信である
1.本発明の実施の形態に係るネットワーク構成
2.VPNサーバのパケット転送処理のフロー例
3.ソースIPアドレスルーティングテーブルの例
4.最適候補エントリの探索処理フロー例
5.最適候補エントリの探索処理フローの第2の実施例
6.LAN側インターフェースの実施例
まず、本発明の実施の形態に係るネットワーク構成について説明する。図1は本実施の形態に係るネットワークの構成を説明するための説明図である。
VPNサーバ100は、図5に示す通り、CPU101、VPNセッションテーブル102、ソースIPアドレスルーティングテーブル103、宛先アドレスによるIPルーティングテーブル104、インターフェースA105、B106、C107、記憶部108からなる。
ソースIPアドレスルーティングテーブル103は、図6に示す通り、ソースIPアドレス、転送先ルータ、使用インターフェースの項目を有し、事前にISPA乃至ISPCから割り当てられたソースIPアドレスと、転送先ルータ及び使用するインターフェースを一組として管理する。
VPNサーバのCPU101は、いずれかのインターフェースで受信した転送対象となるパケットのソース(送信元)IPアドレスをキーにしてソースIPアドレスルーティングテーブル103を検索し、転送先ルータと使用するインターフェースを決定する。このテーブルの詳細については後述する。
ソースIPアドレスには、事前にISPA乃至Cから割り当てられた固定IPアドレスが使用される。このため、ソースIPアドレスルーティングテーブルの項目数は、接続するISPの数で足り、接続するVPNクライアントの数と同数の項目を持つ必要がない。また、このテーブルは、例えばVPNサーバの起動時に設定することにしてもよい。
ルータ200A乃至200Cは、図7に示す通り、CPU201と、ルーティングテーブル202とインターフェース203、204からなる。
なお、ルータ400A乃至400Cは、ルータ200A乃至200Cと実質的に同一の機能構成であるため説明を省略する。
VPNクライアント500A乃至500Cは、図8に示す通り、CPU501、記憶部502、インターフェース503、504からなる。
次に、本発明のVPNサーバのパケット転送処理フローについて説明する。図9は、VPNサーバのパケット転送処理のフロー図である。
VPNサーバ100のCPU101が、受信したパケットのMACヘッダに記載されたMACアドレスに基づいて転送先VPNクライアントを決定する(S704)。
VPNサーバ100のCPU101が、決定した転送先VPNクライアントをVPNセッションテーブル102に参照し、TCPの自側アドレスを決定する(S706)。
TCP自側アドレスがソースIPアドレスルーティングテーブル103に存在する場合は、ソースIPアドレスルーティングテーブルから転送先ルータ及び使用インターフェースを決定する(S710)。
TCP自側アドレスがソースIPアドレスルーティングテーブル103に存在しない場合は、宛先アドレスによるIPルーティングテーブルから転送先ルータ及び使用インターフェースを決定する(S712)。
また、ソースIPアドレスルーティングテーブル103と宛先アドレスを使用したルーティングテーブル104の双方を用いることで、宛先アドレスを使用したルーティングテーブル104のみを用いて処理する場合に比較して、最適な転送先の選択に使用するテーブルの項目数を少なくすることができる。
図10は、ソースIPアドレスルーティングテーブル103の構造を示す構造図である。ソースIPアドレスルーティングテーブル103は、先に図6において説明した通り、ソースIPアドレス、転送先ルータ、使用インターフェースの項目を有するテーブルである。しかし、より詳細には、図10に示す通り、各項目がツリー構造を模したリンク付きリストである。
より詳細には、ソースIPアドレスルーティングテーブル103の各構成要素は、IPアドレスプレフィックス、ネットマスク、使用インターフェース、転送先ルータ、next、childからなる。
「プレフィックス」及び「ネットマスク」は、IPアドレスブロックの範囲を示している。
32bitで構成されるIPアドレスは、アドレスをグループに分割して扱う場合に、一般に「プレフィックス」と呼ばれる部分と「ネットマスク」と呼ばれる部分で表現される。すなわち、あるIPアドレスに対して「ネットマスク」とのAND演算を行い、その結果が「プレフィックス」と一致する場合、そのIPアドレスは当該プレフィックスとネットマスクで表現される。
例えば、図11のIPアドレスのグループには、例えば、192.168.1.1や192.168.1.250等のIPアドレスが含まれる。ネットマスク255.255.255.0とAND演算を行うといずれも192.168.1.0となってプレフィックスと一致するためである。一方、例えば172.16.250.1等のIPアドレスは、AND演算結果がプレフィックスと一致しないため、IPアドレスのグループには含まれない。
一方、childは、より小さいIPアドレスプレフィックスを持つエントリへのリンクである。childでリンクするエントリは、さらに狭い範囲のIPアドレスグループを指す。
図10に示したエントリ▲1▼、▲3▼及び▲7▼とエントリ▲4▼及び▲5▼はnextの関係にある。これはIPアドレスの範囲が異なり、IPアドレスを番号順に並べた際、前後のIPアドレスグループに位置することになる。
一方、エントリ▲1▼のchildでリンクするエントリ▲2▼、エントリ▲3▼のchildでリンクするエントリ▲4▼、エントリ▲5▼のchildでリンクするエントリ▲6▼は、IPアドレスを番号順に並べた際、より狭い範囲のIPアドレスグループに位置することになる。
ソースIPアドレスルーティングテーブル103を用いてIPパケットを転送する場合は、IPパケットのソースアドレスが、テーブルを構成するどのエントリに含まれているかを判断し、そのエントリに記載されている転送先ルータおよび使用インターフェースを使用する。
ここで、IPアドレスグループは、図12に示す通り階層構造を持つため、一のIPアドレスに対する最適なエントリとは、そのIPアドレスが属しうるグループで最も範囲が狭いものとなる。
図13は、ソースIPアドレスルーティングテーブル103の最適なエントリ探索処理のフロー図である。
VPNサーバ100のCPU101は、変数である最適候補エントリを初期化する(S804)。
VPNサーバ100のCPU101は、変数である現在エントリをrootエントリのchildに設定する(S806)。
変数である最適候補エントリの初期化と、同じく変数である現在エントリの設定を終えた後、VPNサーバ100のCPU101は、探索ループ処理を行う(S808)。当該処理の詳細は図14で説明する。
最適候補エントリが存在する場合は、VPNサーバ100のCPU101は、存在する最適候補エントリを転送先に設定する(S812)。
最適候補エントリが存在しない場合は、VPNサーバ100のCPU101は、転送先が存在しないと判断して処理を終える(S814)。
探索ループ処理のスタート(S902)の後、VPNサーバ100のCPU101は、現在エントリのIPアドレスの範囲にパケットのIPアドレスが含まれるか否かを判断する(S904)。
現在エントリのIPアドレスの範囲にパケットのIPアドレスが含まれている場合は、VPNサーバ100のCPU101は、現在エントリを最適候補エントリとする(S906)。
現在エントリのchildが存在する場合は、現在エントリをそのchildに設定する(S910)。
現在エントリのIPアドレスの範囲にパケットのIPアドレスが含まれていない場合は、VPNサーバ100のCPU101は、現在エントリのnextが存在するか否かを判断する(S912)。
現在エントリのnextが存在する場合は、VPNサーバ100のCPU101は、現在エントリをそのnextへと設定する(S914)。
現在エントリのnextが存在しない場合は、VPNサーバ100のCPU101は、探索ループを終了する(S916)。
また、現在エントリのchildが存在しない場合は、VPNサーバ100のCPU101は、探索ループを終了する(S916)。
図15は、ソースIPアドレスルーティングテーブル102の最適候補エントリの探索処理の第2の実施例を示すフロー図である。
VPNサーバ100のCPU101は、パケットからソースIPアドレスを抽出する(S1002)。
VPNサーバ100のCPU101は、最適候補エントリを初期化する(S1004)。
変数である最適候補エントリの初期化を終えた後、VPNサーバ100のCPU101は、探索ループ処理を行う(S1006)。当該処理の詳細は図16で説明する。
最適候補エントリが存在する場合は、VPNサーバ100のCPU101は、存在する最適候補エントリを転送先に設定する(S1010)。
最適候補エントリが存在しない場合は、VPNサーバ100のCPU101は、転送先が存在しないと判断して処理を終える(S1012)。
走査対象となるエントリのIPアドレスの範囲に、パケットのIPアドレスが含まれていない場合は、追って説明するS1116の処理を行う。
最適候補エントリのIPアドレスの範囲が走査対象エントリのIPアドレスの範囲よりも狭い範囲ではない場合は、追って説明するS1116の処理を行う。
また、ルーティングテーブルが小規模となるため、管理・運用のコストを安価とすることができる。
図20は、LAN側のインターフェースの実施例の形態に係るネットワークの構成を説明するための説明図である。
また、VLAN対応スイッチ140は、LAN側インターフェース122とVLAN1乃至3とを単に結線したものであるため、構成の詳細な説明は省略する。
VPNサーバ120は、図21に示す通り、CPU101、記憶部108、WAN側インターフェース121、LAN側インターフェース122、グループテーブル123、転送先テーブル124からなる。なお、図面番号が同一のブロックの機能は前述の通りであるため、説明を省略する。
また、この結果、物理的にインターフェースを増設する必要がないため、管理・運用のコストを安価とすることができる。
101 CPU
102 VPNセッションテーブル
103 ソースIPアドレスルーティングテーブル
104 宛先アドレスを使用したルーティングテーブル
105 インターフェースA
106 インターフェースB
107 インターフェースC
108 記憶部
110 VPNサーバ
111 WAN側インターフェース
112 LAN側インターフェース
112A LAN側インターフェースA
112B LAN側インターフェースB
112C LAN側インターフェースC
120 VPNサーバ
121 WAN側インターフェース
122 LAN側インターフェース
123 グループテーブル
124 転送先テーブル
130 端末
130A 端末A
130B 端末B
130C 端末C
140 VLAN対応スイッチ
200 ルータ
200A ルータA
200B ルータB
200C ルータC
201 CPU
202 ルーティングテーブル
203 インターフェース
204 インターフェース
300 ISP
300A ISPA
300B ISPB
300C ISPC
400 ルータ
400A ルータD
400B ルータE
400C ルータF
500 VPNクライアント
500A VPNクライアントA
500B VPNクライアントB
500C VPNクライアントC
501 CPU
502 記憶部
503 インターフェース
504 インターフェース
600 端末
600A 端末A
600B 端末B
600C 端末C
701 IPヘッダ
702 TCPヘッダ
703 データ断片
Claims (4)
- 中央処理装置と、
2以上の端末と接続する第1のインターフェースと、
2以上の端末又はバーチャルローカルエリアネットワーク(VLAN)と接続する第2のインターフェースと、
第1のインターフェースと接続する所定の端末と、第2のインターフェースと接続する所定の端末又はバーチャルローカルエリアネットワーク(VLAN)とを、グループとして記録する第1のテーブルと、
第2のインターフェースと接続する前記グループに属する転送先となるVPN端末又はバーチャルローカルエリアネットワーク(VLAN)と、宛先MACアドレスを関連付けて記録する第2のテーブルと、
を備え、
前記中央処理装置は、第1のテーブルに記録された所定のグループに属する端末又はバーチャルローカルエリアネットワーク(VLAN)からパケットを前記第1又は第2のインターフェースで受信した場合は、受信した前記パケットのソース(送信元)IPアドレスを用いて、第1のテーブルに基づいて所定のグループを特定し、
前記特定されたグループを用いて、第2のテーブルに基づいて転送先となるVPN端末又はバーチャルローカルエリアネットワーク(VLAN)と宛先MACアドレスを特定した場合は、前記パケットを特定した前記アドレスに転送し、
前記特定されたグループを用いて、第2のテーブルに基づいて転送先となるVPN端末又はバーチャルローカルエリアネットワーク(VLAN)と宛先MACアドレスを特定できなかった場合は、前記パケットを特定した前記所定のグループに属するすべてのVPN端末及びバーチャルローカルエリアネットワーク(VLAN)の宛先MACアドレスに送信する、
情報処理装置。 - 前記第2のテーブルに記録されたローカルエリアネットワークは、VLANタグによって識別され、
前記中央処理装置は、受信したパケットに含まれるVLANタグによって、前記第1のテーブルに記録した所定のグループに属する他の端末又はローカルエリアネットワークを特定する
請求項1に記載の情報処理装置。 - 前記情報処理装置は、VPNサーバであり、
前記第1のインターフェースは、少なくとも一つのVPNクライアントと接続し、
前記VPNサーバと前記VPNクライアントの間の通信はVPNによる通信である、
請求項2に記載の情報処理装置。 - コンピュータに、
2以上の端末と接続する第1のインターフェースと、
2以上の端末又はバーチャルローカルエリアネットワーク(VLAN)と接続する第2のインターフェースと、
第1のインターフェースと接続する所定の端末と、第2のインターフェースと接続する所定のVPN端末又はバーチャルローカルエリアネットワーク(VLAN)とを、グループとして記録する第1のテーブルと、
第2のインターフェースと接続する前記グループに属する転送先となるVPN端末又はバーチャルローカルエリアネットワーク(VLAN)と、宛先MACアドレスを関連付けて記録する第2のテーブルと、
を用いて通信を行い、
前記中央処理装置は、第1のテーブルに記録された所定のグループに属する端末又はバーチャルローカルエリアネットワーク(VLAN)からパケットを前記第1又は第2のインターフェースで受信した場合は、受信した前記パケットのソース(送信元)IPアドレスを用いて、第1のテーブルに基づいて所定のグループを特定し、
前記特定されたグループを用いて、第2のテーブルに基づいて転送先となるVPN端末又はバーチャルローカルエリアネットワーク(VLAN)と宛先MACアドレスを特定した場合は、前記パケットを特定した前記アドレスに転送し、
前記特定されたグループを用いて、第2のテーブルに基づいて転送先となるVPN端末又はバーチャルローカルエリアネットワーク(VLAN)と宛先MACアドレスを特定できなかった場合は、前記パケットを特定した前記所定のグループに属するすべてのVPN端末及びバーチャルローカルエリアネットワーク(VLAN)の宛先MACアドレスに送信する、
ためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010095429A JP5816872B2 (ja) | 2010-03-31 | 2010-03-31 | 情報処理装置、プログラム、情報処理方法、および情報処理システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010095429A JP5816872B2 (ja) | 2010-03-31 | 2010-03-31 | 情報処理装置、プログラム、情報処理方法、および情報処理システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011217335A JP2011217335A (ja) | 2011-10-27 |
JP5816872B2 true JP5816872B2 (ja) | 2015-11-18 |
Family
ID=44946570
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010095429A Active JP5816872B2 (ja) | 2010-03-31 | 2010-03-31 | 情報処理装置、プログラム、情報処理方法、および情報処理システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5816872B2 (ja) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3491828B2 (ja) * | 2000-09-04 | 2004-01-26 | 日本電信電話株式会社 | 閉域網間接続システムと閉域網間接続方法およびその処理プログラムを記録した記録媒体ならびにホスティングサービスシステム |
US7099912B2 (en) * | 2001-04-24 | 2006-08-29 | Hitachi, Ltd. | Integrated service management system |
TWI310275B (en) * | 2004-10-19 | 2009-05-21 | Nec Corp | Virtual private network gateway device and hosting system |
JP2006128803A (ja) * | 2004-10-26 | 2006-05-18 | Japan Telecom Co Ltd | ネットワーク中継装置及びネットワークシステム |
JP2008060631A (ja) * | 2006-08-29 | 2008-03-13 | Alaxala Networks Corp | 通信装置及びマルチキャストユーザ認証方法 |
-
2010
- 2010-03-31 JP JP2010095429A patent/JP5816872B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2011217335A (ja) | 2011-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3342127B1 (en) | Network packet flow controller with extended session management | |
US11503116B1 (en) | Network neighborhoods for establishing communication relationships between communication interfaces in an administrative domain | |
EP3231160B1 (en) | Stateful load balancing in a stateless network | |
EP3198822B1 (en) | Computer network packet flow controller | |
US8396954B2 (en) | Routing and service performance management in an application acceleration environment | |
US8165023B2 (en) | Methods for the secured interconnection of VNET sites over WAN | |
US8462790B2 (en) | Label switching in fibre channel networks | |
CN1879388B (zh) | 双模式防火墙 | |
WO2017209932A1 (en) | Link status monitoring based on packet loss detection | |
WO2004075482A1 (ja) | ネットワークシステム、ラーニングブリッジノード、ラーニング方法及びそのプログラム | |
WO2017209925A1 (en) | Flow modification including shared context | |
WO2017209944A1 (en) | Session continuity in the presence of network address translation | |
CN107948150B (zh) | 报文转发方法及装置 | |
JP4241329B2 (ja) | 仮想アクセスルータ | |
JP5589210B2 (ja) | 情報処理装置、プログラム、情報処理方法、および情報処理システム | |
JP5816872B2 (ja) | 情報処理装置、プログラム、情報処理方法、および情報処理システム | |
JP2005057693A (ja) | ネットワーク仮想化システム | |
SE541314C2 (en) | Methods and apparatuses for routing data packets in a network topology | |
US7454522B2 (en) | Connection management apparatus for network devices | |
KR100431207B1 (ko) | 엠피엘에스(mpls)기반망에서의 엑스트라넷아이피-브이피엔(ip-vpn)서비스 제공 방법 | |
Mehra et al. | Analyzing security attack on layer 2 and comparing the performance of different routing protocols | |
WO2023125993A1 (zh) | 隧道加密,转发和解密方法以及装置 | |
JP2003258876A (ja) | パケット転送装置、パケット転送方法およびその処理プログラム | |
CHAKMA | Study of Computer Networking Protocols and an implementation by writing a program to retrieve a data file from a network drive of another Computer. | |
CN116389340A (zh) | 数据传输方法、装置和网络设备、系统及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130325 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131111 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131119 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140116 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140610 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140811 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150203 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150331 |
|
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: 20150707 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150724 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5816872 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |