JP4213517B2 - パケット処理システム - Google Patents
パケット処理システム Download PDFInfo
- Publication number
- JP4213517B2 JP4213517B2 JP2003144137A JP2003144137A JP4213517B2 JP 4213517 B2 JP4213517 B2 JP 4213517B2 JP 2003144137 A JP2003144137 A JP 2003144137A JP 2003144137 A JP2003144137 A JP 2003144137A JP 4213517 B2 JP4213517 B2 JP 4213517B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- control device
- address
- virtual
- relay device
- 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 - Lifetime
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/24—Negotiation of communication capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
【発明の属する技術分野】
この発明は、中継装置と制御装置に分離および統合されたパケット処理システムに関し、特に、制御装置上に新たなアプリケーションが起動した場合に、制御装置が中継装置との間のパケット転送規則を動的に設定することができ、もって、従来利用されてきたアプリケーションの改修をせずに、中継装置と制御装置を分離および統合できるパケット処理システムに関するものである。
【0002】
【従来の技術】
近年、インターネットの発展に伴い、ネットワークの大規模化、高速化、サービス要求の多様化が進み、ネットワークを構成する通信装置に対する制御処理能力やそれに必要なメモリなどの情報処理リソースの要求が急速に増大している。このような背景から、通信装置を中継装置と制御装置に分離し、急速に増大する情報処理リソースの要求に見合う制御装置を提供すると共に、ネットワークを統合するという取り組みが行われてきた。
【0003】
例えば、非特許文献1では、ネットワークを統合するためにネットワークを構成する通信装置に関して中継機能と制御機能の定義と両者の間のインタフェースの規定についてIEEEのP1520WGが検討した従来技術が開示されている。また、非特許文献2では、中継装置が中継装置上の仮想制御装置に対してネットワークノードからサービス要求を受けた場合に、予め設定された中継装置と制御装置の間のパケット転送規則に基づいて最適な制御装置にサービス要求を振分ける従来技術が開示されている。
【0004】
【非特許文献1】
P1520 Reference Model[Gilad Goren](doc)、Documents,Foils and Minutesof the Fifth WG Meeting、held in Princeton(Jan 18−19,1999)、[平成15年4月16日検索]インタネット<URL:http://www.ieee−pin.org/>
【非特許文献2】
上谷一,今野徹,“連載ロードバランサの本質,第1回パケットフローから負荷分散の基本を理解する“,「Master of IPNetwork」フォーラム連載 [成15年5月20日検索]インタネット<URL:http://www.atmarkit.co.jp/fnetwork/rensai/index/index−serial.html#lb/
【0005】
【発明が解決しようとする課題】
しかし、非特許文献1の従来技術では、ネットワークを統合するためにネットワークを構成する通信装置に関して中継機能と制御機能の定義と両者の間のインタフェースの規定について検討しているが、ネットワークおよびネットワークを構成する通信装置の中継機能と制御機能を分割した場合に生じる課題が残されていた。
【0006】
例えば、非特許文献2の従来技術では、中継装置が中継装置上の仮想制御装置に対してネットワークノードからサービス要求を受けた場合に、予め設定された中継装置と制御装置の間のパケット転送規則に基づいて最適な制御装置にサービス要求を振分けることはできるが、制御装置上に新たなアプリケーションが起動した場合に、制御装置が中継装置との間のパケット転送規則を動的に設定することができないので、従来のアプリケーションを改修するか、またはパケット転送規則を手動で設定する必要があるという問題点があった。
【0007】
そこで、この発明は、上述した従来技術による問題点を解消するためになされたものであり、制御装置上に新たなアプリケーションが起動した場合に、制御装置が中継装置との間のパケット転送規則を動的に設定することができ、もって、従来利用されてきたアプリケーションの改修をせずに、中継装置と制御装置を分離および統合できるパケット処理システムを提供することを目的とする。
【0008】
【課題を解決するための手段】
上述した課題を解決し、目的を達成するため、請求項1の発明に係るパケット処理システムは、ネットワークインタフェースを用いてパケットを送受信する中継装置と、該中継装置との間で該パケットを転送するパケット転送規則に基づいてアプリケーションを用いて該パケットに応答する制御装置とを接続して構成されるパケット処理システムにおいて、前記制御装置は、前記中継装置のアドレス情報に対応付けて設定されたシンボル部と、前記アプリケーションが前記シンボル部にアクセスしたことを検知した場合に、前記ネットワークインタフェースを用いて受信した前記パケットを前記制御装置に転送するパケット転送規則を設定するよう前記中継装置に要求し、該中継装置から該シンボル部に対応付けて該制御装置に該パケットを転送するパケット転送規則を設定する転送制御手段と、を備え、前記中継装置は、前記制御装置の転送制御手段によって要求されたパケット転送規則を設定する転送制御手段を備えたことを特徴とする。
【0009】
この請求項1の発明によれば、制御装置は、中継装置のアドレス情報に対応付けて設定されたシンボル部と、アプリケーションがシンボル部にアクセスしたことを検知した場合に、ネットワークインタフェースを用いて受信したパケットを制御装置に転送するパケット転送規則を設定するよう中継装置に要求し、中継装置からシンボル部に対応付けて制御装置に該パケットを転送するパケット転送規則を設定し、中継装置は、制御装置によって要求されたパケット転送規則を設定することとしたので、制御装置上に新たなアプリケーションが起動した場合に、制御装置が中継装置との間のパケット転送規則を動的に設定することができ、もって、従来利用されてきたアプリケーションの改修をせずに、中継装置と制御装置を分離および統合できる。
【0010】
また、請求項2の発明に係るパケット処理システムは、請求項1の発明において、前記制御装置は、前記転送制御手段は、前記アプリケーションが前記シンボル部へアクセスする通信ポートを閉じたことを検出した場合に、前記ネットワークインタフェースを用いて受信した前記パケットを前記制御装置に転送するパケット転送規則を削除するよう前記中継装置に要求し、該中継装置から該シンボル部に対応付けて該制御装置に該パケットを転送するパケット転送規則を削除し、前記中継装置は、前記転送制御手段は、前記制御装置の転送制御手段によって要求されたパケット転送規則を削除することを特徴とする。
【0011】
この請求項2の発明によれば、制御装置は、アプリケーションがシンボル部へアクセスする通信ポートを閉じたことを検出した場合に、ネットワークインタフェースを用いて受信したパケットを制御装置に転送するパケット転送規則を削除するよう中継装置に要求し、中継装置からシンボル部に対応付けて制御装置にパケットを転送するパケット転送規則を削除し、中継装置は、制御装置によって要求されたパケット転送規則を削除することとしたので、制御装置上でアプリケーションが停止した場合に、制御装置が中継装置との間のパケット転送規則を動的に削除することができ、もって、従来利用されてきたアプリケーションの改修をせずに、中継装置と制御装置を分離および統合できる。
【0012】
また、請求項3の発明に係るパケット処理システムは、請求項1または請求項2の発明において、前記シンボル部は、前記ネットワークインタフェースに対応する仮想インタフェースであることを特徴とする。
【0013】
この請求項3の発明によれば、シンボル部は、ネットワークインタフェースに対応する仮想インタフェースであることとしたので、ネットワークインタフェースに対応する仮想インタフェースを用いることにより、従来利用されてきたアプリケーションの動作環境と同等の動作環境を提供することができるので、従来利用されてきたアプリケーションの改修をせずに、中継装置と制御装置を分離および統合できる。
【0014】
また、請求項4の発明に係るパケット処理システムは、請求項1または請求項2の発明において、前記パケット転送規則は、前記パケットをトンネル識別子を含むようにカプセル化して前記制御装置と前記中継装置の間で転送することを特徴とする。
【0015】
この請求項4の発明によれば、パケット転送規則は、パケットをトンネル識別子を含むようにカプセル化して制御装置と中継装置の間で転送することとしたので、パケットを確実に宛先まで転送することができる。
【0016】
また、請求項5の発明に係るパケット処理システムは、請求項4の発明において、前記トンネル識別子は、前記パケットを受信したネットワークインタフェースと、該ネットワークインタフェースに対応する仮想インタフェースと、前記制御装置のアドレスと、該制御装置のアプリケーションのプロトコルアドレスとに対応付けられた上りトンネル識別子と、該パケットを送信する送信仮想インタフェースと、前記中継装置のアドレスと、該送信仮想インタフェースに対応するネットワークインタフェースとに対応付けられた下りトンネル識別子とからなることを特徴とする。
【0017】
この請求項5の発明によれば、トンネル識別子は、パケットを受信したネットワークインタフェースと、ネットワークインタフェースに対応する仮想インタフェースと、制御装置のアドレスと、制御装置のアプリケーションのプロトコルアドレスとに対応付けられた上りトンネル識別子と、パケットを送信する送信仮想インタフェースと、中継装置のアドレスと、送信仮想インタフェースに対応するネットワークインタフェースとに対応付けられた下りトンネル識別子とからなることを特徴とすることとしたので、上り下りの双方向のパケットを確実に宛先まで転送することができる。
【0018】
また、請求項6の発明に係るパケット処理システムは、請求項1または請求項2の発明において、前記シンボル部は、前記中継装置の保持するIPアドレスに対応する仮想IPアドレスであることを特徴とする。
【0019】
この請求項6の発明によれば、シンボル部は、中継装置の保持するIPアドレスに対応する仮想IPアドレスであることとしたので、仮想IPアドレスを用いることにより、従来利用されてきたアプリケーションの動作環境と同等の動作環境を提供することができるので、従来利用されてきたアプリケーションの改修をせずに、中継装置と制御装置を分離および統合できる。
【0020】
また、請求項7の発明に係るパケット処理システムは、請求項1または請求項2の発明において、前記パケット転送規則は、前記パケットのアドレス変換をして前記制御装置と前記中継装置の間でパケット転送することを特徴とする。
【0021】
この請求項7の発明によれば、パケット転送規則は、パケットのアドレス変換をして制御装置と中継装置の間でパケット転送することとしたので、パケットを確実に宛先まで転送することができる。
【0022】
また、請求項8の発明に係るパケット処理システムは、請求項7の発明において、前記アドレス変換は、前記中継装置において前記パケットの宛先アドレスを前記仮想IPアドレスから前記制御装置のアドレスへ変換して、該制御装置に該パケットを転送した後に、該宛先アドレスを該制御装置のアドレスから該仮想IPアドレスに変換する上りアドレス変換と、該制御装置において該パケットの送信元アドレスを該仮想IPアドレスから該制御装置のアドレスに変換して、該中継装置に該パケットを転送した後に、該パケットの送信元アドレスを該制御装置のアドレスから該仮想IPアドレス変換する下りアドレス変換とからなることを特徴とする。
【0023】
この請求項8の発明によれば、アドレス変換は、中継装置においてパケットの宛先アドレスを仮想IPアドレスから制御装置のアドレスへ変換して、制御装置にパケットを転送した後に、宛先アドレスを制御装置のアドレスから仮想IPアドレスに変換する上りアドレス変換と、制御装置においてパケットの送信元アドレスを仮想IPアドレスから制御装置のアドレスに変換して、中継装置にパケットを転送した後に、パケットの送信元アドレスを制御装置のアドレスから仮想IPアドレス変換する下りアドレス変換とからなることとしたので、上り下りの双方向のパケットを確実に宛先まで転送することができる。
【0024】
また、請求項9の発明に係るパケット処理システムは、請求項1または請求項2において、前記アプリケーションは、ルータの経路制御プロセスであることを特徴とする。
【0025】
この請求項9の発明によれば、アプリケーションは、ルータの経路制御プロセスであることとしたので、従来利用されてきたアプリケーションの改修をせずに、ルータの中継機能と制御機能を分離および統合できる。
【0026】
また、請求項10の発明に係るパケット処理システムは、請求項1または請求項2の発明において、前記制御装置と前記中継装置は、データリンク層のネットワークで相互に接続され、該データリンク層のプロトコルを使用してデータ交換を行うことを特徴とする。
【0027】
この請求項10の発明によれば、制御装置と中継装置は、データリンク層のネットワークで相互に接続され、データリンク層のプロトコルを使用してデータ交換を行うこととしたので、制御装置と中継装置との間の通信に利用するインタフェースに関する上位レイヤの属性情報を変更した場合でも、通信が途絶えないようにすることができる。
【0028】
【発明の実施の形態】
以下に添付図面を参照して、この発明に係るパケット処理システムの好適な実施の形態を詳細に説明する。なお、下記に示す実施の形態1では、本発明に係るパケット処理システムを仮想インタフェースを用いてサーバの負荷分散を行うロードバランサに適用する場合について説明し、実施の形態2では、本発明に係るパケット処理システムを仮想IPアドレスを用いてサーバの負荷分散を行うロードバランサに適用する場合について説明し、本実施の形態3および4では、本発明に係るパケット処理システムを仮想インタフェースを用いて制御装置と中継装置に分離したルータに適用する場合について説明する。また、本実施の形態5では、本発明に係るパケット処理プログラムを実行するコンピュータシステムにについて説明することとする。最後に、他の実施の形態として種々の変形例を説明する。
【0029】
(実施の形態1)
本実施の形態1では、本発明に係るパケット処理システムを仮想IFを用いてサーバの負荷分散を行うロードバランサに適用する場合について説明する。ここでは、本実施の形態1に係るパケット処理システムの概要および特徴を説明した後に、このパケット処理システムの構成を説明し、最後に、このパケット処理システムの仮想IFの登録手順、振分表の登録手順、データ受信手順、およびデータ送信手順などの種々の処理手順について説明する。
【0030】
[概要および特徴]
最初に、本実施の形態1に係るパケット処理システムの概要および主たる特徴を説明する。図1は、本実施の形態1に係るパケット処理システムの構成を示す機能ブロック図である。
【0031】
同図に示すパケット処理システムは、概略的には、ネットワークインタフェースを用いてパケットを送受信する中継装置と、中継装置との間でパケットを転送するパケット転送規則に基づいてアプリケーションを用いて該パケットに応答する制御装置とを接続して構成されるシステムであり、制御装置上に新たなアプリケーションが起動した場合に、制御装置が中継装置との間のパケット転送規則を動的に設定することができ、もって、従来利用されてきたアプリケーションの改修をせずに、中継装置と制御装置を分離および統合できるパケット処理システムに関するものである。
【0032】
具体的には、本発明の請求項1に係るパケット処理システムは、サーバ200は、ロードバランサ300のアドレス情報に対応付けて設定された仮想IF222と、アプリケーション部210が仮想IF222にアクセスしたことを検知した場合に、ネットワークIF390を用いて受信したパケットをサーバ200に転送するパケット転送規則を設定するようロードバランサ300に要求し、ロードバランサ300から仮想IF222に対応付けてサーバ200にパケットを転送するパケット転送規則を設定し、ロードバランサ300は、サーバ200によって要求されたパケット転送規則を設定することを特徴とする。したがって、サーバ上に新たなアプリケーション部210が起動した場合に、サーバ200がロードバランサ300との間のパケット転送規則を動的に設定することができ、もって、従来利用されてきたアプリケーション部210の改修をせずに、ロードバランサ300とサーバ200を分離および統合できる。
【0033】
[パケット処理システムの構成]
実施の形態1に係るパケット処理システムの構成について説明する。同図に示すように、パケット処理システムは、制御装置200と、中継装置300と、通信端末装置450a〜450cと、制御装置200と中継装置300を接続するネットワーク400と、中継装置300と通信端末装置450a〜450cを接続するネットワーク410とからなる。
【0034】
ネットワーク400および410は、LAN、専用回線または/およびインターネットなどTCP/IPプロトコルによって通信するネットワークである。また、通信端末装置450a〜450cは、ネットワーク410を介して中継装置300にインターネットサービスを要求する装置である。
【0035】
制御装置200は、中継装置300のネットワークIF390を介して通信端末装置からサービス要求を受け付けて、通信端末装置450a〜450cに種々のインターネットサービスを提供するサーバであり、具体的には、Web(HTTP,HTTPS)、FTP、Email(SMTP,POP,IMAP)、DNS、DB(Oracle,DB2)などのサービスを提供する。
【0036】
制御装置200は、アプリケーション部210と、シンボル作成部220と、仮想IF222と、転送登録要求部230と、転送制御部240と、受信表242と、送信表244と、振分部250と、データ受信処理部260と、データ送信処理部270と、IF280とからなる。
【0037】
アプリケーション部210は、インターネットサービスを提供するプログラムであり、インターネットプロトコル、主としてTCP/UDPに基づいて通信端末装置450a〜450cと通信を行う。また、シンボル作成部220は、中継装置300のネットワークIF390に対応付けて制御装置200のオペレーティングシステムのカーネル内に仮想IF222を設定し、登録する処理部である。
【0038】
仮想IF222は、中継装置300のネットワークIF390に対応付けて制御装置200のオペレーティングシステムのカーネル内にシンボル作成部220によって仮想的に設定されたネットワークIFである。具体的には、アプリケーション部210が、通信端末装置450a〜450cに対してパケットの送受信を行うための機能部であり、例えば、属性情報、パケット操作手順、統計情報を管理するデータ構造を有する。
【0039】
転送登録要求部230は、アプリケーション部210が通信ポートを開設して仮想IF222にアクセスしたことを検出して、中継装置300から制御装置200へパケットを転送する上りトンネルを登録するよう要求する要求部であり、具体的には、転送削除要求部232と、仮想IFアクセス判定部234とをさらに有する。
【0040】
このうち、転送削除要求部232は、アプリケーション部210が仮想IF222へアクセスする通信ポートを閉じたことを検出して、仮想IF222に対応する上りトンネルを削除するよう要求する要求部である。また、仮想IFアクセス判定部234は、アプリケーション部210が通信ポートを開設して仮想IF222にアクセスしたことを検出して、中継装置300にパケットの転送を要求する要求部である。
【0041】
転送制御部240は、シンボル作成部220から仮想IF222を設定したとの通知を受け付けて、中継装置300へ下りトンネル作成依頼メッセージを送信する共に、中継装置300からトンネル作成応答メッセージを受信すると仮想IF222と下りトンネルと中継装置300とを対応付けて送信表244に登録する。また、転送登録要求部230からアプリケーション部210が仮想IF222に対し通信ポートを生成したとの通知を受け付けて、仮想IF222と上りトンネルとを対応付けて受信表242に登録し、中継装置300に転送依頼メッセージを送信する。
【0042】
ここで、転送登録要求部230が中継装置300に送信するトンネル作成依頼メッセージ、中継装置300から送信されるトンネル作成応答メッセージ、および転送登録要求部230が中継装置300に送信する転送依頼メッセージについて説明する。図2は、図1に示すパケット処理システムのトンネル作成依頼メッセージの一例を示す図である。また、図3は、図1に示すパケット処理システムのトンネル作成応答メッセージの一例を示す図である。また、図4は、図1に示すパケット処理システムの転送依頼メッセージの一例を示す図である。
【0043】
図2に示すように、トンネル作成依頼メッセージは、制御装置アドレスと仮想IF222とネットワークIF390を対応付けたメッセージである。また、図3に示すように、トンネル作成応答メッセージは、中継装置アドレスと仮想IF222とネットワークIF390に対応付けた下りトンネルIDを通知するメッセージである。また、図4に示すように、転送依頼メッセージは、制御装置アドレスとプロトコルアドレスと仮想IF222に対応付けた上りトンネルIDを通知するメッセージである。
【0044】
受信表242は、仮想IF222と上りトンネルIDを対応付ける制御装置200内の上りトンネルの管理表である。また、送信表244は、仮想IF222と下りトンネルIDと中継装置アドレスとを対応付ける制御装置200内の下りトンネルの管理表である。なお、ここで、パケット処理システムの受信表242および送信表244の一例について説明する。図5は、図1に示すパケット処理システムの受信表242の一例を示す図であり、図6は、図1に示すパケット処理システムの送信表244の一例を示す図である。
【0045】
受信表242は、中継装置300から転送されてきたパケットの上りトンネルIDから送信すべき仮想IF222を検索する表である。また、送信表244は、アプリケーション部210がパケットを送信した仮想IF222から下りトンネルIDおよび中継装置300のアドレスを検索する表である。
【0046】
振分部250は、アプリケーション部210が送信したパケットを仮想IF222に対応付けて下り転送する処理部であり、具体的には、パケットの宛先アドレスにより仮想IF222を決定し、仮想IF222に対応するデータ送信処理部270に下り転送する。また、データ受信処理部260によって上り転送されたパケットを受信して、パケットのヘッダに基づいてアプリケーション部210へ上り転送する処理部である。
【0047】
データ受信処理部260は、中継装置300によって上り転送されたパケットを受信して、パケットと仮想IF222とを対応付ける受信表242を検索し、仮想IF222に対応付けて上り転送する処理部であり、具体的には、上りトンネルIDでカプセル化されたパケットを受信すると、上りトンネルIDをキーに受信表242から対応する仮想IF222を検索し、パケットをデカプセル化すると共に仮想IF222に対応付けて振分部250に上り転送する。
【0048】
データ送信処理部270は、振分部250によって下り転送されたパケットを受信して、パケットを下りトンネルに対応付ける送信表244を検索し、中継装置300に下り転送する処理部であり、具体的には、振分部250からパケットを受信すると、パケットに対応する仮想IF222をキーに送信表244から下りトンネルIDを検索し、パケットをカプセル化して中継装置300へ下り転送する。また、IF280は、ネットワーク400を介して中継装置300と通信するためのインタフェースである。
【0049】
中継装置300は、ネットワーク410によって接続された通信端末装置450a〜450cからサービス要求を受け付けて、制御装置200に中継し、また、通信端末装置からの要求に応答して制御装置200から転送されたパケットを通信端末装置450a〜450cに中継するロードバランサである。
【0050】
中継装置300は、転送制御部340と、振分表342と、受信表344と、振分部350と、データ送信処理部360と、データ受信処理部370と、IF380と、ネットワークIF390,392とからなる。転送制御部340は、制御装置200からトンネル作成依頼メッセージを受信すると、トンネル作成応答メッセージを送信し、未使用の下りトンネルIDを制御装置200へ通知すると共に、受信表344に下りトンネルを登録する。また、制御装置200から転送依頼メッセージを受信すると、上りトンネルIDとアプリケーション部210のポート番号と宛先制御装置アドレスを振分表342に登録する。
【0051】
振分表342は、ネットワークIF390と、アプリケーション部210のポート番号と、上りトンネルIDと、宛先制御装置アドレスを対応付ける中継装置300内の上りトンネルの管理表である。また、受信表344は、下りトンネルIDとネットワークIF390を対応付ける中継装置300内の下りトンネルの管理表である。なお、ここで、パケット処理システムの振分表342および受信表344の一例について説明する。図7は、図1に示すパケット処理システムの振分表342の一例を示す図であり、図8は、図1に示すパケット処理システムの受信表344の一例を示す図である。
【0052】
振分表342は、ネットワークIFで受信したパケットの宛先アドレスから送信すべきアプリケーション部210を検索する表である。また、受信表344は、制御装置200から転送されてきたパケットの下りトンネルIDから送信すべきネットワークIF390を検索する表である。
【0053】
振分部350は、ネットワークIF390で受信したパケットをプロトコルアドレスに対応付ける振分表342を検索し、宛先が制御装置のアプリケ−ション部210である場合は、パケットを上り転送し、また、データ受信処理部370から受信したパケットを対応するネットワークIF390に下り転送する処理部である。
【0054】
データ送信処理部360は、振分部350によって上り転送されたパケットを受信して、パケットと制御装置200を対応付ける振分表342を検索し、制御装置200に上り転送する処理部であり、具体的には、振分部350からパケットを受信すると、パケットのプロトコルアドレスをキーに振分表342から上りトンネルIDと宛先制御装置アドレスを検索し、パケットをカプセル化して制御装置200へ上り転送する。
【0055】
データ受信処理部370は、制御装置200によって下り転送されたパケットを受信して、パケットをネットワークIF390に対応付ける受信表344を検索し、ネットワークIF390に下り転送する処理部であり、具体的には、下りトンネルIDでカプセル化されたパケットを受信すると、下りトンネルIDをキーに受信表344から対応するネットワークIF390を検索し、パケットをデカプセル化すると共にネットワークIF390に対応付けて振分部350に下り転送する。
【0056】
ネットワークIF390,392は、ネットワーク410を介して中継装置300と接続する通信端末装置450a〜450cとのインタフェースである。また、IF380は、ネットワーク400を介して制御装置200と通信するためのインタフェースである。
【0057】
[パケット処理システムの仮想IFの登録手順]
次に、図1に示すパケット処理システムにおける仮想IFの登録手順について説明する。図9は、図1に示すパケット処理システムにおける仮想IFの登録手順を示すフローチャートである。
【0058】
まず、管理者はシンボル作成部220を用いて、仮想IF222の登録を指示する(ステップS801)。そして、シンボル作成部220は、ネットワークIF390に対応付けて仮想IF222を制御装置200に作成する(ステップS802)。さらに、シンボル作成部220は、転送制御部240に対し制御装置200の仮想IF222から中継装置300のネットワークIF390の方向へパケットを転送する下りトンネルを作成するよう依頼する(ステップS803)。そして、制御装置200の転送制御部240は、中継装置300に図2に示すトンネル作成依頼メッセージを送信する(ステップS804)。
【0059】
さらに、中継装置300の転送制御部340は、未使用の下りトンネルIDを払い出し、図3に示すトンネル作成応答メッセージを制御装置200に送信すると共に(ステップS805)、中継装置300の受信表344に下りトンネルIDとネットワークIF390を対応付けて登録する(ステップS806)。そして、制御装置200の転送制御部240は、中継装置300からトンネル作成応答メッセージを受信すると、送信表244に上りトンネルIDと仮想IF222を対応付けて登録する(ステップS807)。
【0060】
[パケット処理システムの振分表の登録手順]
次に、図1に示すパケット処理システムにおける振分表の登録手順について説明する。図10は、図1に示すパケット処理システムにおける振分表の登録手順を示すフローチャートである。
【0061】
まず、アプリケーション部210は、通信を行うための通信ポートの開設をOSのカーネルに要求する(ステップS1001)。そして、転送登録要求部230は、アプリケーション部210が仮想IF222経由のポートを開設するまで待ち(ステップS1002)、仮想IF222経由のポートを開設した場合は、転送制御部240へデータ転送依頼を行う(ステップS1003)。具体的には、中継装置300から制御装置200へパケットを上り転送することができるように振分表342を設定し、上りトンネルを生成するよう要求する。
【0062】
そして、制御装置200の転送制御部240は、未使用の上りトンネルIDを払い出すと共に、受信表242に上りトンネルIDと仮想IF222を対応付けて登録する(ステップS1005)。さらに、図4に示す転送依頼メッセージを中継装置300の転送制御部340に送信する(ステップS1006)。
【0063】
そして、中継装置300の転送制御部340は、制御装置200から転送依頼メッセージを受信して、転送依頼メッセージに含まれるプロトコルアドレスと、上りトンネルIDと、制御装置アドレスとを対応付けて振分表342に登録する(ステップS1007)。
【0064】
以上説明したように、制御装置200は、中継装置300のアドレス情報に対応付けて設定された仮想IF222と、アプリケーション部210が仮想IF222にアクセスしたことを検知した場合に、ネットワークIF390を用いて受信したパケットを制御装置200に転送するパケット転送規則を設定するよう中継装置300に要求し、中継装置200から仮想IF222に対応付けて制御装置200にパケットを転送するパケット転送規則を設定し、中継装置300は、制御装置200によって要求されたパケット転送規則を設定することとしたので、制御装置200上に新たなアプリケーションが起動した場合に、制御装置200が中継装置300との間のパケット転送規則を動的に設定することができ、もって、従来利用されてきたアプリケーションの改修をせずに、中継装置300と制御装置200を分離および統合できる。
【0065】
また、制御装置200は、プリケーション部210が仮想IF222へアクセスする通信ポートを閉じたことを検出した場合に、ネットワークIF390を用いて受信したパケットを制御装置200に転送するパケット転送規則を削除するよう中継装置300に要求し、中継装置300から仮想IF222に対応付けて制御装置200にパケットを転送するパケット転送規則を削除し、中継装置300は、制御装置200によって要求されたパケット転送規則を削除することとしたので、制御装置200上でアプリケーションが停止した場合に、制御装置200が中継装置300との間のパケット転送規則を動的に削除することができ、もって、従来利用されてきたアプリケーションの改修をせずに、中継装置300と制御装置200を分離および統合できる。
【0066】
[パケット処理システムのデータ受信手順]
次に、図1に示すパケット処理システムにおけるデータ受信手順について説明する。図11は、図1に示すパケット処理システムにおけるデータ受信手順を示すフローチャートである。
【0067】
まず、中継装置300は、通信端末装置からパケットを受信する(ステップS1101)。そして、中継装置300の振分部350は、パケットのプロトコルアドレスに基づいて振分表342を検索し(ステップS1102)、プロトコルアドレスが制御装置200のアプリケ−ション部210であるか否かを調べる(ステップS1103)。その結果、プロトコルアドレスが制御装置200のアプリケ−ション部210でない場合は(ステップS1103否定)、パケットを破棄する(ステップ1104)。
【0068】
一方、プロトコルアドレスが制御装置200のアプリケ−ション部210である場合は(ステップS1103肯定)、パケットをデータ送信処理部360に転送する(ステップS1105)。さらに、データ送信処理部360は、振分表342からプロトコルアドレスに基づいて上りトンネルIDを検索し、パケットを上りトンネルIDでカプセル化して制御装置200へ転送する(ステップS1106)。
【0069】
そして、制御装置のデータ受信処理部260は、中継装置300からカプセル化されたパケットを受信して(ステップS1107)、上りトンネルIDに基づいて受信表242を検索し、パケットをデカプセル化して仮想IF222に対応付けて振分部250に転送する(ステップS1108)。さらに、振分部250は、パケットのプロトコルアドレスからアプリケーション部210の通信ポートを特定し、アプリケーション部にパケットを送信する(ステップS1109)。
【0070】
[パケット処理システムのデータ送信手順]
次に、図1に示すパケット処理システムにおけるデータ送信手順について説明する。図12は、図1に示すパケット処理システムにおけるデータ送信手順を示すフローチャートである。
【0071】
まず、アプリケーション部210は、通信端末装置450a〜450cにパケットを送信する(ステップS1201)。そして、振分部250は、宛先アドレスが仮想IF222であるパケットを待って(ステップS1202)、データ送信処理部270へ転送する(ステップS1203)。さらに、データ送信処理部270は、送信表244から仮想IF222に基づいて下りトンネルIDを検索し、パケットを下りトンネルIDでカプセル化して中継装置300へ転送する(ステップS1204)。
【0072】
そして、中継装置300のデータ受信処理部370は、制御装置200からカプセル化されたパケットを受信して(ステップS1205)、下りトンネルIDに基づいて受信表344を検索し、パケットをデカプセル化してネットワークIF390に対応付けて振分部350に転送する(ステップS1206)。さらに、振分部350は、パケットをネットワークIF390から通信端末装置450a〜450cに送信する(ステップS1207)。
【0073】
(実施の形態2)
ところで、上記実施の形態1では、本発明に係るパケット処理システムを仮想IFを用いてサーバの負荷分散を行うロードバランサに適用する場合について説明したが、本発明はこれに限られるものではなく、仮想IPアドレスを用いてサーバの負荷分散を行うロードバランサに適用することもできる。従って、本実施の形態2では、本発明に係るパケット処理システムを仮想IPアドレスを用いてサーバの負荷分散を行うロードバランサに適用する場合について説明する。ここでは、本実施の形態1に係るパケット処理システムの構成を説明した後、このパケット処理システムの仮想IPアドレスの登録手順、振分表の登録手順、データ受信手順、およびデータ送信手順などの種々の処理手順について説明する。なお、上記実施の形態1と共通する部分については説明を省略し、相違する部分について主に説明する。
【0074】
[パケット処理システムの構成]
本実施の形態2に係るパケット処理システムの構成について説明する。図13は、本実施の形態2に係るパケット処理システムの構成を示す機能ブロック図である。同図に示すように、制御装置200の仮想IPアドレス223と、仮想IPアドレスアクセス判定部235と、受信表243と、送信表245と、中継装置300の振分表343と、受信表345とが実施の形態1と相違する。
【0075】
仮想IPアドレス223は、中継装置300のIPアドレスに対応付けて制御装置200のオペレーティングシステムのカーネル内にシンボル作成部220によって仮想的に設定されたIPアドレスである。具体的には、通信端末装置450a〜450cは、中継装置300のIPアドレス宛にパケットを送信する。
【0076】
仮想IPアドレスアクセス判定部235は、アプリケーション部210が通信ポートを開設して仮想IPアドレス223にアクセスしたことを検出して、中継装置300にパケットの転送を要求する要求部である。
【0077】
受信表243は、宛先IPアドレスと、宛先ポート番号と、仮想IPアドレス223を対応付ける制御装置200内の上りアドレス変換の管理表である。また、送信表245は、仮想IPアドレス223と、送信元IPアドレスとを対応付ける制御装置200内の下りアドレス変換の管理表である。なお、ここで、パケット処理システムの受信表243および送信表245の一例について説明する。図14は、図13に示すパケット処理システムの受信表243の一例を示す図であり、図15は、図13に示すパケット処理システムの送信表245の一例を示す図である。
【0078】
受信表243は、中継装置300から転送されてきたパケットの宛先IPアドレスから送信すべき仮想IPアドレス223に変換する表である。また、送信表245は、アプリケーション部210がパケットを送信した仮想IPアドレス223から送信元IPアドレスに変換する表である。
【0079】
振分表343は、アプリケーション部210のポート番号と、宛先IPアドレスを対応付ける中継装置300内の上りアドレス変換の管理表である。また、受信表345は、仮想IPアドレス223と送信IPアドレスを対応付ける中継装置300内の下りアドレス変換の管理表である。なお、ここで、パケット処理システムの振分表343および受信表345の一例について説明する。図16は、図13に示すパケット処理システムの振分表343の一例を示す図であり、図17は、図13に示すパケット処理システムの受信表345の一例を示す図である。
【0080】
振分表343は、ネットワークIFで受信したパケットの宛先プロトコルアドレスから送信すべきアプリケーション部210のポート番号を検索する表である。また、受信表345は、制御装置200から転送されてきたパケットの送信元IPアドレスを仮想IPアドレス223に変換する表である。
【0081】
[パケット処理システムの仮想IPアドレスの登録手順]
次に、図13に示すパケット処理システムにおける仮想IPアドレスの登録手順について説明する。図18は、図13に示すパケット処理システムにおける仮想IPアドレスの登録手順を示すフローチャートである。
【0082】
まず、管理者はシンボル作成部220を用いて、仮想IPアドレス223の登録を指示する(ステップS1801)。そして、シンボル作成部220は、制御装置200のIPアドレスに対応付けて仮想IPアドレス223を制御装置300に作成する(ステップS1802)。さらに、シンボル作成部220は、転送制御部240に対し仮想IPアドレスと送信元IPアドレスを登録するよう依頼する(ステップS1803)。そして、制御装置200の転送制御部240は、中継装置300に図18に示すアドレス変換依頼メッセージを送信する(ステップS1804)。さらに、中継装置300の転送制御部340は、中継装置300の受信表344に仮想IPアドレス223と送信元IPアドレスを対応付けて登録する(ステップS1805)。なお、ここで、転送制御部240が送信するアドレス変換依頼メッセージについて説明する。図19は、図13に示すパケット処理システムのアドレス変換依頼メッセージの一例を示す図である。アドレス変換依頼メッセージは、仮想IPアドレス223と送信元IPアドレスを対応付けるメッセージである。
【0083】
[パケット処理システムの振分表の登録手順]
次に、図13に示すパケット処理システムにおける振分表の登録手順について説明する。図20は、図13に示すパケット処理システムにおける振分表の登録手順を示すフローチャートである。
【0084】
まず、アプリケーション部210は、通信を行うための通信ポートの開設をOSのカーネルに要求する(ステップS2001)。そして、転送パス登録要求部230は、アプリケーション部210が仮想IPアドレス223経由のポートを開設するまで待ち(ステップS2002)、転送制御部240へ転送依頼メッセージを送信するよう依頼する(ステップS2003)。
【0085】
そして、制御装置200の転送制御部240は、受信表242に宛先IPアドレスと仮想IPアドレス223を対応付けて登録する(ステップS2004)。さらに、図19に示す転送依頼メッセージを中継装置300の転送制御部340に送信する(ステップS2005)。
【0086】
そして、中継装置300の転送制御部340は、制御装置200から転送依頼メッセージを受信して、転送依頼メッセージに含まれるプロトコルアドレスと制御装置アドレスとを対応付けて振分表342に登録する(ステップ2006)。なお、ここで、転送制御部240が送信する転送依頼メッセージについて説明する。図21は、図13に示すパケット処理システムの転送依頼メッセージの一例を示す図である。転送依頼メッセージは、受信IPアドレスと仮想IPアドレスをプロトコルアドレスと制御装置アドレスに対応付けるメッセージである。
【0087】
以上説明したように、制御装置200は、中継装置300のアドレス情報に対応付けて設定された仮想IPアドレス223と、アプリケーション部210が仮想IPアドレス223にアクセスしたことを検知した場合に、ネットワークIF390を用いて受信したパケットを制御装置200に転送するパケット転送規則を設定するよう中継装置300に要求し、中継装置200から仮想IPアドレス223に対応付けて制御装置200にパケットを転送するパケット転送規則を設定し、中継装置300は、制御装置200によって要求されたパケット転送規則を設定することとしたので、制御装置200上に新たなアプリケーションが起動した場合に、制御装置200が中継装置300との間のパケット転送規則を動的に設定することができ、もって、従来利用されてきたアプリケーションの改修をせずに、中継装置300と制御装置200を分離および統合できる。
【0088】
また、制御装置200は、プリケーション部210が仮想IPアドレス223へアクセスする通信ポートを閉じたことを検出した場合に、ネットワークIF390を用いて受信したパケットを制御装置200に転送するパケット転送規則を削除するよう中継装置300に要求し、中継装置300から仮想IPアドレス223に対応付けて制御装置200にパケットを転送するパケット転送規則を削除し、中継装置300は、制御装置200によって要求されたパケット転送規則を削除することとしたので、制御装置200上でアプリケーションが停止した場合に、制御装置200が中継装置300との間のパケット転送規則を動的に削除することができ、もって、従来利用されてきたアプリケーションの改修をせずに、中継装置300と制御装置200を分離および統合できる。
【0089】
[パケット処理システムのデータ受信手順]
次に、図13に示すパケット処理システムにおけるデータ受信手順について説明する。図22は、図13に示すパケット処理システムにおけるデータ受信手順を示すフローチャートである。
【0090】
まず、中継装置300は、通信端末装置からパケットを受信する(ステップS2201)。そして、中継装置300の振分部350は、パケットのプロトコルアドレスに基づいて振分表343を検索し(ステップS2202)、プロトコルアドレスが制御装置200のアプリケ−ション部210であるか否かを調べる(ステップS2203)。その結果、その結果、プロトコルアドレスが制御装置200のアプリケ−ション部210でない場合は(ステップS2203否定)、パケットを破棄する(ステップ2204)。
【0091】
一方、プロトコルアドレスが制御装置200のアプリケ−ション部210である場合は(ステップS2203肯定)、パケットをデータ送信処理部360に転送する(ステップS2205)。さらに、データ送信処理部360は、振分表343からプロトコルアドレスに基づいて転送先制御装置アドレスを検索し、パケットのあて先アドレスを転送先制御装置200に変換して制御装置200へ転送する(ステップS2206)。
【0092】
そして、制御装置のデータ受信処理部260は、中継装置300からパケットを受信して(ステップS2207)、受信表242を参照し、宛先IPアドレスを仮想IPアドレス223に変換して振分部250に転送する(ステップS2208)。さらに、振分部250は、パケットのプロトコルアドレスからアプリケーション部210の通信ポートを特定し、アプリケーション部210にパケットを送信する(ステップS2209)。
【0093】
[パケット処理システムのデータ送信手順]
次に、図13に示すパケット処理システムにおけるデータ送信手順について説明する。図23は、図13に示すパケット処理システムにおけるデータ送信手順を示すフローチャートである。
【0094】
まず、アプリケーション部210は、通信端末装置にパケットを送信する(ステップS2301)。そして、振分部250は、送信元アドレスが仮想IPアドレス223であるパケットを待って(ステップS2302)、データ送信処理部270へ転送する(ステップS2303)。さらに、データ送信処理部270は、送信表245を参照し、パケットの送信元アドレスを制御装置200のIPアドレスに変換して中継装置300へ転送する(ステップS2304)。
【0095】
そして、中継装置300のデータ受信処理部370は、制御装置200からパケットを受信して(ステップS2305)、送信元IPアドレスに基づいて受信表345を検索し、パケットの送信元IPアドレスを仮想IPアドレス223に変換して振分部350に転送する(ステップS2306)。さらに、振分部350は、ネットワークIF390からパケットを通信端末装置に送信する(ステップS2307)。
【0096】
(実施の形態3)
ところで、上記実施の形態1および2では、本発明に係るパケット処理システムをロードバランサに適用する場合について説明したが、本発明はそれらに限られるものではなく、制御装置と中継装置に分離したルータに適用することができる。本実施の形態3では、本発明に係るパケット処理システムを制御装置と中継装置に分離したルータに適用する場合について説明する。ここでは、本実施の形態3に係るルータの構成を説明した後、このルータの制御装置の仮想IFと中継装置のインタフェースの間の内部通信パスを生成する手順など種々の手順について説明する。
【0097】
[パケット処理システムの構成]
本実施の形態3に係るパケット処理システムの構成を示す機能ブロック図を説明する。図24に示すように、パケット処理システムは、制御装置10と、中継装置50と、ネットワーク80、ネットワークノード90とからなる。
【0098】
ネットワーク80は、データリンク層以上の通信プロトコルに従ってデータ交換を行うことが可能な通信ネットワークであり、専用回線またはインタ−ネットのいずれでもよい。例えば、ルータは、通常ネットワーク層の通信プロトコルに従ってデータパケットの経路制御および中継を行う。ネットワークノード90はネットワーク80に接続されたルータ等の通信装置であり、本実施の形態3では、制御装置10が中継装置50を経由して通信する装置である。
【0099】
制御装置10は、ルータの制御機能を分担する装置であり、入出力部21と、経路制御部22と、経路表取得送信部23と、仮想IF受信設定部24と、仮想IFトンネル対応表生成部25(付記22の下流内部通信パス対応表生成手段に対応する。)と、仮想IFソケット対応表生成部27(付記22の上流内部通信パス対応表生成手段に対応する。)と、トンネル転送部28と、仮想IFトンネル対応表29(付記22の下流内部通信パス対応表に対応する。)、仮想IFソケット対応表30(付記22の上流内部通信パス対応表に対応する。)と、経路表31と、カーネル処理部40と、IF45とからなる。なお、IFは、インタフェースの略語であり、特に断らない限り、論理IFおよび物理IFを総称するものである。また、通常、論理IFは物理IFと対になっている。
【0100】
入出力部21は、ユーザがコマンドを入力し、制御装置10および中継装置50の動作状態、コマンドに対する応答などを出力する入出力装置であり、具体的には、キーボード、マウス、CRTや液晶ディスプレイなどの表示装置、プリンタである。
【0101】
経路制御部22は、ネットワーク80や中継装置50を介してネットワーク上のネットワークノード90と通信を行い、経路制御を行うアプリケーションプロセスであり、具体的には、RIP(Routing Information Protocol)やOSPF(Open Shortest Path First)などの経路制御プロトコルに従ってネットワークノード90から経路制御情報を収集し、経路制御情報にもとづいて経路計算を行い、経路表31を生成する。
【0102】
経路表取得送信部23は、経路制御プロセス部22が生成した経路表31を取得し、中継装置50に送信する処理部である。具体的には、経路制御部22がカーネル処理部40に経路表31の更新を通知すると、カーネル処理部40は、経路表取得送信部23に通知し、経路表取得送信部23は、経路表31を取得して、IF45を経由して中継装置50に送信する。
【0103】
仮想IF受信設定部24は、ユーザから仮想IF設定コマンドを受け付けて、中継装置50に対し論理ネットワークIF76の取得を要求し、利用可能な論理ネットワークIF76を中継装置50から受信し、仮想IF43を制御装置10上に設定する処理部である。また、仮想IF43の設定が完了したことをトンネル転送部28に通知する。
【0104】
仮想IFトンネル対応表生成部25は、中継装置50から受信したトンネル識別子に基づいて仮想IFトンネル対応表29を生成する処理部である。なお、ここでトンネルとは、制御装置10と中継装置50との間を接続する内部通信パスを意味する。この内部通信パスを転送されるデータパケットは、内部通信パスを識別する識別子によってカプセル化され、同時にデータパケットの宛先が指定される。
【0105】
仮想IFソケット対応表生成部27は、制御装置10と中継装置50との間を接続する内部通信パスの仮想IFソケット対応表30を生成する処理部である。具体的には、カーネル処理部40は、経路制御部22が開設したソケットの宛先が仮想IF43に対して開いたことを知ると、仮想IFソケット対応表生成部27に通知する。仮想IFソケット対応表生成部27は、中継装置50のIFソケット対応表生成部65にソケットアドレス(付記22の入出力ポート識別子に対応する。)、トンネル識別子を送信し、仮想IFソケット対応表30を生成する。
【0106】
トンネル転送部28は、仮想IF受信設定部24から仮想IF43の設定が完了したという通知を受けて内部通信パスの接続を行い、また、内部通信パスの接続後は、仮想IFトンネル対応表29および仮想IFソケット対応表30に基づいて仮想IF43から受け取ったデータパケットをカプセル化し、中継装置50に送信すると共に、中継装置50から受信したデータパケットをデカプセル化し、仮想IF43に転送する処理部である。
【0107】
仮想IFトンネル対応表29は、仮想IF43と中継装置IPアドレス/トンネル識別子とを対応付ける表であり、具体的には、経路制御部22から送信されたデータパケットが仮想IF43から中継装置50の方向に転送されるときに通る内部通信パスを決定する表である。また、仮想IFソケット対応表30は、トンネル識別子と仮想IF43/経路制御部22のソケットアドレス(IPアドレス+ポート番号)を対応付ける表であり、具体的には、中継装置50で受信されたデータパケットが中継装置50から仮想IF43の方向へ転送されるときに通る内部通信パスから制御装置10がデータパケットを受信する仮想IF43を決定するための表である。
【0108】
経路表31は、データパッケットの宛先のIPアドレスと次の中継先のIPアドレスを対応付けた表であり、言い換えると、経路制御プロセス部22が経路制御を行った結果求められたデータパケットの宛先までの最短の通信パスを定義する表である。
【0109】
カーネル処理部40は、オペレーティングシステムの核となる部分でファイル管理、メモリ管理、プロセス実行制御など行う処理部であり、具体的には、宛先判定部41と、仮想IF管理部42と、仮想IF43とを少なくとも含む。宛先判定部41は、プロセスがカーネル処理部40に対してソケットを開設すると、仮想IFソケット対応表生成部27に対し通知する。
【0110】
仮想IF管理部42は、仮想IF43を管理する処理部である。また、仮想IF43は、仮想IF受信設定部24によって中継装置50の論理ネットワークIF76から取得された論理IFであり、物理IFと分離して仮想的に設定されているので仮想IFと呼んでいる。
【0111】
装置間通信用物理IF45は、制御装置10が中継装置50と通信を行う為の物理IFである。また、装置間通信用論理IF46は、制御装置10が中継装置50とネットワーク80を介してデータパケットの通信をする場合のIFである。具体的には、デバイスドライバを備えたイーサネット(R)10BASE−TやRS−232Cなどの通信IFである。
【0112】
中継装置50は、ルータの中継機能を分担する装置であり、データ中継部60と、経路表受信設定部61と、提供先判定部62と、IF取得送信部63と、IFトンネル対応表生成部64(付記22の下流内部通信パス対応表生成部に対応する。)と、IFソケット対応表生成部65(付記22の上流内部通信パス対応表生成部に対応する。)と、トンネル転送部66と、IF設定許可リスト59と、IFトンネル対応表67(付記22の下流内部通信パス対応表に対応する。)と、IFソケット対応表68(付記22の上流内部通信パス対応表に対応する。)と、経路表69と、カーネル処理部70と、物理ネットワークIF73と、装置間通信用物理IF74とからなる。
【0113】
データ中継部60は、中継装置50が受信したデータパケットを次の宛先に送信する処理部であり、具体的には、カーネル処理部70の宛先判定部71がデータパケットのヘッダから他の装置に転送すべきデータパケットであることを判定すると、データ中継部60に通知し、データ中継部60は、経路表69に基づいて次の宛先に送信する。
【0114】
経路表受信設定部61は、経路表取得送信部23が送信してきた経路表31を受信して、経路表69に設定する処理部である。また、提供先判定部62は、制御装置10の仮想IF受信設定部24から論理ネットワークIF76の利用要求があった場合に、論理ネットワークIF76を利用を許可するか否かをIF設定許可リスト59に基づいて判定する判定部である。また、IF取得送信部63は、カーネル処理部70のIF情報取得部72が管理している論理ネットワークIF76から論理IFの属性情報を取得して制御装置10の仮想IF受信設定部24へ送信する処理部である。
【0115】
IFトンネル対応表生成部64は、制御装置10の仮想IFトンネル対応表生成部25にトンネル識別子を送信すると共に、IFトンネル対応表67を生成する処理部である。また、IFソケット対応表生成部65は、制御装置10の仮想IFソケット対応表生成部27からソケットアドレスとトンネル識別子を受信して、IFソケット対応表68を生成する。
【0116】
トンネル転送部66は、IFトンネル対応表67とIFソケット対応表68に基づいてデータパケットをカプセル化し、制御装置10に送信すると共に、制御装置10から受信したデータパケットをデカプセル化し、論理ネットワークIF76に転送する。
【0117】
IFトンネル対応表67は、経路制御部22から送信されたデータパケットが制御装置10から中継装置50の方向に転送されるときに通る内部通信パスからパケットを出力する論理IF76を決定するための表であり、具体的には、トンネル識別子と論理ネットワークIF76とを対応付ける表である。また、IFソケット対応表68は、物理ネットワークIF73で受信されたデータパケットが中継装置50から制御装置10の方向へ転送されるときに通る内部通信パスを決定するための表であり、具体的には、論理ネットワークIF76/ソケットアドレスとトンネル識別子とを対応付ける表である。
【0118】
経路表69は、経路表受信設定部61が経路表取得送信部23から送信された経路表31を受信して、設定した表であり、具体的には、データパッケットの宛先のIPアドレスと次のIPアドレスを対応付けた表である。また、IF設定許可リスト59は、中継装置50の論理ネットワークIF76を提供する提供先が予め設定された表であり、具体的には、論理ネットワークIF76と許可する制御装置IPアドレスを対応付けた表である。
【0119】
カーネル処理部70は、オペレーティングシステムの核となる部分でファイル管理、メモリ管理、プロセス実行制御など行う処理部であり、具体的には、宛先判定部71と、IF情報取得部72と、論理ネットワークIF76、装置間通信用IF77を少なくとも含む。宛先判定部71は、データパケットのヘッダからそのデータパケットの宛て先を判定し、必要な場合には関連する処理部に通知をする処理部であり、具体的には、データパケットのIPヘッダからIPアドレスを取得し、TCPヘッダから宛先ポート番号を読み取って、宛先を判定する。
【0120】
IF情報取得部72は、論理ネットワークIF73を管理する処理部である。また、論理ネットワークIF76は、物理ネットワークIF73に対応する論理IFであり、物理ネットワークIF73と対になってネットワークIFを形成する。
【0121】
物理ネットワークIF73は、中継装置50がネットワーク80を介してネットワークノード90または制御装置10と通信をする場合のIFであり、論理ネットワークIF76、または中継装置50が制御装置10とネットワーク80を介してデータパケットの通信をする場合の装置間通信用IF74である。具体的には、デバイスドライバを備えたイーサネット(R)10BASE−TやRS−232Cなどの通信IFである。
【0122】
[仮想IF設定および内部通信パス生成の処理手順]
次に、図24に示すパケット処理システムの仮想IF設定および内部通信パス生成の処理手順について説明する。図25は、図24に示すパケット処理システムの仮想IF設定および内部通信パス生成の処理手順を示すフローチャートである。同図に示すように、処理手順は、ステップS201〜ステップS208の初期設定フェーズと、ステップS209〜ステップS214の仮想IF設定フェーズと、ステップS215〜ステップS226のトンネル生成フェーズとに大別できる。
【0123】
最初に、初期設定フェーズでは、制御装置10および中継装置50は、各処理部の立ち上げを行う。まず、制御装置10が起動すると(ステップS201)、仮想IF受信設定部24、トンネル転送部28、仮想IFソケット対応表生成部27の順に立ち上がる。(ステップS202〜ステップS204)。これと同期して、トンネルを生成する為の内部通信パスの一部(仮想IF受信設定部24<−>仮想IF管理部42、仮想IFソケット対応表生成部27<−>宛先判定部41)が生成される。
【0124】
同様に、中継装置50が起動すると(ステップS205)、IF取得送信部63、トンネル転送部66、IFソケット対応表生成部65の順に立ち上がる。(ステップS206〜ステップS208)。これと同期して、トンネルを生成する為の内部通信パスの一部(IF取得送信部63<−>IF情報取得部72、IF取得送信部63<−>装置間通信用IF74、トンネル転送部66<−>装置間通信用IF74、トンネル転送部66<−>宛先判定部71、IFソケット対応表生成部65<−>IF74)が生成される。
【0125】
初期設定フェーズが終わると、仮想IF設定フェーズが始まる。まず、仮想IF受信設定部24は、仮想IF設定コマンドを受け付けて、内部通信パス(仮想IF受信設定部24<−>装置間通信用IF45)を設定し、中継装置50のIF取得送信部63と通信を開始する(ステップS209〜ステップS210)。
【0126】
そして、中継装置50の論理ネットワークIF76の利用を要求する(ステップS211)。論理ネットワークIF76の利用要求を受けた中継装置50のIF取得送信部63は、提供先判定部62に論理ネットワークIF76の利用を許可する否かを問い合わせる。さらに、提供先判定部62は、予め設定されていたIF設定許可リスト59に基づいて論理ネットワークIF76を提供すべきか否かを判定し、IF取得送信部63に回答する(ステップS212)。
【0127】
続いて、IF取得送信部63は、回答に基づいて論理ネットワークIF76の属性情報を仮想IF受信設定部24に送信する(ステップS213)。そして、仮想IF受信設定部24は、受信した論理ネットワークIF76の属性情報をカーネル処理部40の仮想IF管理部42に転送して、仮想IF43を設定すると共に、内部通信パス(宛先判定部41<−>仮想IF43)を設定する(ステップS214)。
【0128】
ここで、パケット処理システムの仮想IF設定フェーズにおける内部通信パスの一例を詳細に説明する。図26は、図24に示すパケット処理システムの仮想IF設定フェーズにおける内部通信パスの一例を示す図である。同図に示すように、仮想IF設定フェーズにおいては、仮想IF受信設定部24とIF取得送信部63が中継装置上の論理ネットワークIF76と制御装置上の仮想IF43との間を内部通信パスで接続し、仮想IF43を設定する。
【0129】
そして、仮想IF受信設定部24とIF取得送信部63はトンネル転送部28,66にそれぞれ仮想IFトンネル対応表29とIFトンネル対応表67を通知する。なお、仮想IFトンネル対応表29とIFトンネル対応表67は、次の内部通信パス生成フェーズにおいて生成される表である。また、IF設定許可リスト59は、ユーザによって予め設定された表である。
【0130】
このように仮想IF設定フェーズが終わると、中継装置50のIFトンネル対応表生成部64は、制御装置10から中継装置50の方向へデータパケットを転送するトンネルのトンネル識別子を制御装置10の仮想IFトンネル対応表生成部25に送信すると共に、IFトンネル対応表67を生成する(ステップS215)。一方、制御装置10の仮想IF対応表生成部25は、中継装置50のIFトンネル対応表生成部64から受信したトンネル識別子に基づいて仮想IFトンネル対応表29を生成する(ステップS216)。
【0131】
また、仮想IF受信設定部24が仮想IF43を設定すると、トンネル転送部28に通知をする(ステップS217)。仮想IF受信設定部24から通知を受けたトンネル転送部28は、内部通信パスの一部(トンネル転送部28<−>装置間通信用物理IF45、トンネル転送部28<−>仮想IF43)を生成し、中継装置50のトンネル転送部66と接続する(ステップS218〜ステップS219)。
【0132】
そして、仮想IFソケット対応表生成部27は、内部通信パス(仮想IFソケット対応表生成部27<−>装置間通信用IF45)を設定し、中継装置50のIFソケット対応表生成部65と通信を開始する(ステップS220〜ステップS221)。また、経路制御部22が起動すると同時に、内部通信パス(経路制御部22<−>宛先判定部43)が生成される(ステップS222)。さらに、経路制御部22が仮想IF43に向けてソケットを開設すると、宛先判定部41はソケットの開設を仮想IFソケット対応表生成部27に通知する(ステップS223)。
【0133】
続いて、仮想IFソケット対応表生成部27は、中継装置10から制御装置50の方向へデータパケットを転送するトンネルのトンネル識別子および経路制御部22のソケットアドレスをIFソケット対応表生成部65に送信し、仮想IFソケット対応表30を生成する(ステップS224〜ステップS225)。同時に、IFソケット対応表生成部65は、IFソケット対応表68を生成する(ステップS226)。
【0134】
ここで、パケット処理システムのトンネル生成フェーズにおける内部通信パスの一例を詳細に説明する。図27は、図24に示すパケット処理システムのトンネル生成フェーズにおける内部通信パスの一例を示す図である。同図に示すように、トンネル転送部28,66が中継装置50上の論理ネットワークIF76と制御装置上の仮想IF43との間を内部通信パスで接続し、制御装置上のプロセスと仮想IFとの間の通信を中継装置の論理ネットワークIF76にまで敷延することにより、ネットワーク上のネットワークノード90と通信を行うことができる。また、仮想IFソケット対応表30とIFソケット対応表68は、中継装置50から制御装置10の方向へデータパケットが転送される内部通信パスを定義する表であり、仮想IFソケット対応表生成部27とIFソケット対応表生成部65によって生成される。
【0135】
また、図28は、図24に示すパケット処理システムのトンネル生成フェーズにおける内部通信パスの別の例を示す図である。制御装置上の複数のプロセスごとにトンネルを生成しているが、内部通信パスの生成手順は変わらない。
【0136】
以上のように、制御装置10は、プロセスが仮想IF43と通信を開始するとの通知を受け付けて、宛先判定部41は内部通信パスの生成を通知し、宛先判定部41からの通知を受け付けて、仮想IFソケット対応表生成部27はプロセスのソケットアドレスとトンネル識別子を中継装置50に送信し、トンネル識別子と仮想IF43とソケットアドレスとを対応付ける仮想IFソケット対応表30を生成し、中継装置50は、制御装置10の仮想IFソケット対応表生成部27によって送信されたプロセスのソケットアドレスとトンネル識別子と論理ネットワークIF76を対応付けるIFソケット対応表68を生成することとしたので、制御装置上の仮想IF43と中継装置50の論理ネットワークIF76の間に内部通信パスを生成し、少なくとも従来用いられていた経路制御プロトコルソフトウエアと互換性を有するパケット処理システムを提供することができる。
【0137】
[受信パケットの転送手順]
次に、図24に示すパケット処理システムの受信パケットの転送手順について説明する。図29は、図24示すパケット処理システムの受信パケットの転送手順を示すフローチャートである。
【0138】
同図に示すように、中継装置の物理ネットワークIF73でネットワーク80上のネットワークノード90からデータパケットを受信すると(ステップS601)、宛先判定部71は、データパケットのヘッダから宛先を判定し、さらに、中継装置で受信すべきデータパケットであるか否かを判定する(ステップS602)。そして、データパケットの宛先が中継装置でない場合は(ステップS602否定)、宛先判定部71は、データ中継部60に通知し、データ中継部60は、データパケットの転送先を経路表69から取得して転送する(ステップS603〜ステップS604)。
【0139】
これに対して、データパケットの宛先が中継装置である場合は(ステップS602肯定)、宛先判定部71は、IFソケット対応表68を参照し、IFソケット対応表に一致するか否かを判定する(ステップ605)。そして、IFソケット対応表68のいずれかのエントリに一致しない(本実施の形態では、経路制御部22が開設したソケットのポート番号に一致しない)場合は(ステップS605否定)、データパケットを廃棄する(ステップS606)。これに対して、IFソケット対応表68のいずれかのエントリに一致する場合は(ステップS605肯定)、宛先判定部71は、トンネル転送部66にデータパケットの受信を通知する(ステップS607)。
【0140】
そして、トンネル転送部66は、データパケットを論理ネットワークIF76から受け取って、IFソケット対応表68に基づいてデータパケットにトンネル識別子を付加してカプセル化する(ステップS608)。さらに、トンネル転送部66は、このデータパケットを制御装置10のトンネル転送部28に転送する(ステップS609)。
【0141】
そして、トンネル転送部28は、データパケットを受け取った後、トンネル識別子を除去して(ステップS610)、トンネル識別子と仮想IFソケット対応表30に基づいて仮想IF43にデータパケットを転送する(ステップS611)。さらに、仮想IF43が、データパケットを受け取ると、カーネル処理部40は、データパケットのヘッダからポート番号を読み取って、経路制御部22にデータパケットの到着を通知する(ステップS612)。そして、経路制御部22は、仮想IF43からデータパケットを受信する(ステップS613)。
【0142】
以上のように、中継装置50は、IFソケット対応表68に基づいて論理ネットワークIF76から受け取ったデータパケットをカプセル化し、制御装置10に送信し、制御装置10は、トンネル転送部28が仮想IFソケット対応表30に基づいて中継装置50から受信したデータパケットをデカプセル化し、仮想IF43に転送することとしたので、制御装置10上の仮想IF43と中継装置50上の論理ネットワークIF76の間に内部通信パスを生成し、少なくとも従来用いられていた経路制御プロトコルソフトウエアと互換性を有するパケット処理システムを提供することができる。
【0143】
[送信パケットの転送手順]
次に、図24に示すパケット処理システムの送信パケットの転送手順について説明する。図30は、図24示すパケット処理システムの送信パケットの転送手順を示すフローチャートである。
【0144】
同図に示すように、経路制御部22がデータパケットを仮想IF43に送信すると(ステップS701)、仮想IF43はデータパケットを受信し、トンネル転送部28にデータパケットを転送する(ステップS702)。
【0145】
そして、トンネル転送部28は、仮想IFトンネル対応表29に基づいてトンネル識別子を付加し、カプセル化する(ステップS703)。さらに、トンネル転送部28は、データパケットを中継装置50のトンネル転送部66に転送する(ステップS704)。そして、中継装置50のトンネル転送部66は、IFトンネル対応表67を参照し、データパケットを受け取って、トンネル識別子を除去する(ステップS705)。さらに、トンネル転送部66は、データパケットをトンネル識別子に対応する物理ネットワークIF73から送信する(ステップS706)。
【0146】
以上のように、制御装置10は、トンネル転送部28が仮想IFトンネル対応表29に基づいて仮想IF43から受け取ったデータパケットをカプセル化し、中継装置50に送信し、中継装置50は、トンネル転送部66が制御装置10から受信したデータパケットをデカプセル化し、論理ネットワークIF76に転送することとしたので、制御装置上の仮想IF43と中継装置上の論理ネットワークIF76の間に内部通信パスを生成し、少なくとも従来用いられていた経路制御プロトコルソフトウエアと互換性を有するパケット処理システムを提供することができる。
【0147】
(実施の形態4)
ところで、上記実施の形態3では、本発明に係るパケット処理システムが通信を開始する場合の内部通信パスを生成する手順について説明したが、本発明はこれに限定されるものではなく、本発明に係るパケット処理システムが通信を終了する場合に内部通信パスを削除する手順に適用することができる。そこで、本実施の形態4では、本発明に係るパケット処理システムが通信を終了する場合に内部通信パスを削除する手順について説明する。なお、上記実施の形態3と同じ部分については説明を省略する。
【0148】
[パケット処理システムの構成]
図31は、本実施の形態4に係るパケット処理システムの構成を示す機能ブロック図である。同図に示すように、実施の形態3の機能ブロック図に、制御装置のプロセスが終了した場合の内部通信パスの削除に必要な以下の処理部が追加されている。
【0149】
制御装置10の仮想IFソケット対応表削除部47は、経路制御部22が通信を終了し、ソケットを削除した場合において、宛先判定部41が仮想IFソケット対応表30の該当個所を削除するよう通知したときに、仮想IFソケット対応表30の該当個所を削除する処理部である。また、中継装置50のIFソケット対応表削除部75は、仮想IFソケット対応表削除部47がIFソケット対応表68の該当個所を削除するよう通知したときに、IFソケット対応表68の該当個所を削除する処理部である。なお、仮想IFソケット対応表削除部47とIFソケット対応表削除部75は、仮想IFソケット対応表生成部27とIFソケット対応表生成部65が内部通信パスを生成したのと全く同様な方法で、予め接続されているものとする。
【0150】
[内部通信パス削除の処理手順]
次に、パケット処理システムの内部通信パス削除の処理手順について説明する。図32は、図24に示すパケット処理システムの内部通信パス削除の処理手順を示すフローチャートである。同図に示すように、まず制御装置の経路制御部22が通信を終了し、開いていたソケットを閉じる(ステップS901)。宛先判定部41は、経路制御部22がソケットを閉じたことを知って、仮想IFソケット対応表削除部47に該当するトンネルを削除することを通知する(ステップS902)。仮想IFソケット対応表削除部47は、宛先判定部41の通知を受けると、さらに中継装置50のIFソケット対応表削除部75にIFソケット対応表68の該当個所を削除するよう通知する(ステップS903)。
【0151】
そして、IFソケット対応表削除部75は、IFソケット対応表68の該当個所を削除する(ステップS904)。さらに、仮想IFソケット対応表削除部47は、仮想IFソケット対応表30の該当個所を削除する(ステップS905)。
【0152】
以上のように、制御装置10は、プロセスが終了した場合は、宛先判定部41においてプロセスがソケットを閉じたことを検出し、仮想IFソケット対応表削除部47がIFソケット対応表の該当個所を削除するよう中継装置50に要求し、仮想IFソケット対応表30の該当個所を削除し、中継装置50は、IFソケット対応表削除部75が制御装置によって要求されたIFソケット対応表65の該当個所を削除することとしたので、制御装置上の仮想IF43と中継装置の論理ネットワークIF76の間の内部通信パスを常に更新し、少なくとも従来用いられていた経路制御プロトコルソフトウエアと互換性を有するパケット処理システムを提供することができる。
【0153】
(実施の形態5)
ところで、上記実施の形態1〜4で説明したパケット処理システムおよびパケット処理方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。そこで、本実施の形態5では、上記実施の形態1〜4で説明したパケット処理システム(パケット処理方法)と同様の機能を有するパケット処理プログラムを実行するコンピュータシステムについて説明する。
【0154】
図33は、本実施の形態5に係るコンピュータシステムの構成を示すシステム構成図であり、図34は、このコンピュータシステムにおける本体部の構成を示すブロック図である。図33に示すように、本実施の形態3に係るコンピュータシステム100は、本体部101と、本体部101からの指示によって表示画面102aに画像などの情報を表示するためのディスプレイ102と、このコンピュータシステム100に種々の情報を入力するためのキーボード103と、ディスプレイ102の表示画面102a上の任意の位置を指定するためのマウス104とを備える。
【0155】
また、このコンピュータシステム100における本体部101は、図34に示すように、CPU121と、RAM122と、ROM123と、ハードディスクドライブ(HDD)124と、CD−ROM109を受け入れるCD−ROMドライブ125と、フレキシブルディスク(FD)108を受け入れるFDドライブ126と、ディスプレイ102、キーボード103並びにマウス104を接続するI/Oインターフェース127と、ローカルエリアネットワークまたは広域エリアネットワーク(LAN/WAN)106に接続するLANインターフェース128とを備える。
【0156】
さらに、このコンピュータシステム100には、インターネットなどの公衆回線107に接続するためのモデム105が接続されるとともに、LANインターフェース128およびLAN/WAN106を介して、他のコンピュータシステム(PC)111、中継112並びにプリンタ113などが接続される。
【0157】
そして、このコンピュータシステム100は、所定の記録媒体に記録されたパケット処理プログラムを読み出して実行することでパケット処理システム(パケット処理方法)を実現する。ここで、所定の記録媒体とは、フレキシブルディスク(FD)108、CD−ROM109、MOディスク、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」の他に、コンピュータシステム100の内外に備えられるハードディスクドライブ(HDD)124や、RAM122、ROM123などの「固定用の物理媒体」、さらに、モデム105を介して接続される公衆回線107や、他のコンピュータシステム111並びに中継112が接続されるLAN/WAN106などのように、プログラムの送信に際して短期にプログラムを保持する「通信媒体」など、コンピュータシステム100によって読み取り可能なパケット処理プログラムを記録する、あらゆる記録媒体を含むものである。
【0158】
すなわち、パケット処理プログラムは、上記した「可搬用の物理媒体」、「固定用の物理媒体」、「通信媒体」などの記録媒体に、コンピュータ読み取り可能に記録されるものであり、コンピュータシステム100は、このような記録媒体からパケット処理プログラムを読み出して実行することでパケット処理システムおよびパケット処理方法を実現する。なお、パケット処理プログラムは、コンピュータシステム100によって実行されることに限定されるものではなく、他のコンピュータシステム111または中継112がパケット処理プログラムを実行する場合や、これらが協働してパケット処理プログラムを実行するような場合にも、本発明を同様に適用することができる。
【0159】
(他の実施の形態)
さて、これまで本発明の実施の形態について説明したが、本発明は上述した実施の形態以外にも、上記特許請求の範囲に記載した技術的思想の範囲内において種々の異なる実施の形態にて実施されてもよいものである。
【0160】
例えば、本実施の形態3および4では、本発明は中継装置50とネットワークノード90が同じネットワークで接続された場合について説明したが、本発明はこれに限定されるものではなく、異なったネットワークに接続された場合に適用できる。
【0161】
また、本実施の形態3および4では、本発明はシンボル部を仮想IFとした場合について説明したが、本発明はこれに限定されるものではなく、例えばファイルとした場合に適用できる。具体的には、中継装置のIFを制御装置上の特定のディレクトリのファイルに対応付けて、制御装置上のプロセスがこのファイルをオープンし、読み出し、書き込みを行うことにより、リモートIFを介しデータを送受信することができる。
【0162】
また、本実施の形態3および4では、本発明は制御装置上の複数のプロセスが中継装置上の論理ネットワークIFの一つと通信する場合について説明したが、本発明はこれに限定するものではなく、複数のプロセスがそれぞれ複数の論理ネットワークIFと通信する場合にも適用できる。
【0163】
また、本実施の形態3および4では、一つの制御装置と一つの中継装置が連携し、プロセスと制御装置上の仮想IFの間の通信を中継装置上のIFの間にまで敷延する場合について説明したが、本発明はこれに限定されるものではなく、複数の制御装置と複数の中継装置が連携する場合にも適用できる。
【0164】
また、本実施の形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【0165】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0166】
(付記1)ネットワークインタフェースを用いてパケットを送受信する中継装置と、該中継装置との間で該パケットを転送するパケット転送規則に基づいてアプリケーションを用いて該パケットに応答する制御装置とを接続して構成されるパケット処理システムにおいて、
前記制御装置は、
前記中継装置のアドレス情報に対応付けて設定されたシンボル部と、
前記アプリケーションが前記シンボル部にアクセスしたことを検知した場合に、前記ネットワークインタフェースを用いて受信した前記パケットを前記制御装置に転送するパケット転送規則を設定するよう前記中継装置に要求し、該中継装置から該シンボル部に対応付けて該制御装置に該パケットを転送するパケット転送規則を設定する転送制御手段と、を備え、
前記中継装置は、
前記制御装置の転送制御手段によって要求されたパケット転送規則を設定する転送制御手段を備えたことを特徴とするパケット処理システム。
【0167】
(付記2)前記制御装置は、
前記転送制御手段は、前記アプリケーションが前記シンボル部へアクセスする通信ポートを閉じたことを検出した場合に、前記ネットワークインタフェースを用いて受信した前記パケットを前記制御装置に転送するパケット転送規則を削除するよう前記中継装置に要求し、該中継装置から該シンボル部に対応付けて該制御装置に該パケットを転送するパケット転送規則を削除し、
前記中継装置は、
前記転送制御手段は、前記制御装置の転送制御手段によって要求されたパケット転送規則を削除することを特徴とする付記1に記載のパケット処理システム。
【0168】
(付記3)前記シンボル部は、前記ネットワークインタフェースに対応する仮想インタフェースであることを特徴とする付記1または付記2に記載のパケット処理システム。
【0169】
(付記4)前記中継装置は、前記制御装置から前記ネットワークインタフェースの提供を要求された場合に、該制御装置に提供可能な前記ネットワークインタフェースを判定するIF提供先判定部をさらに備えることを特徴とする付記3に記載のパケット処理システム。
【0170】
(付記5)前記パケット転送規則は、前記パケットをトンネル識別子を含むようにカプセル化して前記制御装置と前記中継装置の間で転送することを特徴とする付記1または付記2に記載のパケット処理システム。
【0171】
(付記6)前記トンネル識別子は、前記パケットを受信したネットワークインタフェースと、該ネットワークインタフェースに対応する仮想インタフェースと、前記制御装置のアドレスと、該制御装置のアプリケーションのプロトコルアドレスとに対応付けられた上りトンネル識別子と、該パケットを送信する送信仮想インタフェースと、前記中継装置のアドレスと、該送信仮想インタフェースに対応するネットワークインタフェースとに対応付けられた下りトンネル識別子とからなることを特徴とする付記5に記載のパケット処理システム。
【0172】
(付記7)前記シンボル部は、前記中継装置の保持するIPアドレスに対応する仮想IPアドレスであることを特徴とする付記1または付記2に記載のパケット処理システム。
【0173】
(付記8)前記パケット転送規則は、前記パケットのアドレス変換をして前記制御装置と前記中継装置の間でパケット転送することを特徴とする付記1または付記2に記載のパケット処理システム。
【0174】
(付記9)前記アドレス変換は、前記中継装置において前記パケットの宛先アドレスを前記仮想IPアドレスから前記制御装置のアドレスへ変換して、該制御装置に該パケットを転送した後に、該宛先アドレスを該制御装置のアドレスから該仮想IPアドレスに変換する上りアドレス変換と、該制御装置において該パケットの送信元アドレスを該仮想IPアドレスから該制御装置のアドレスに変換して、該中継装置に該パケットを転送した後に、該パケットの送信元アドレスを該制御装置のアドレスから該仮想IPアドレス変換する下りアドレス変換とからなることを特徴とする付記8に記載のパケット処理システム。
【0175】
(付記10)前記アプリケーションは、ルータの経路制御プロセスであることを特徴とする付記1または付記2に記載のパケット処理システム。
【0176】
(付記11)前記制御装置と前記中継装置は、データリンク層のネットワークで相互に接続され、該データリンク層のプロトコルを使用してデータ交換を行うことを特徴とする付記1または付記2に記載のパケット処理システム。
【0177】
(付記12)ネットワークインタフェースを用いてパケットを送受信する中継装置と、該中継装置との間で該パケットを転送するパケット転送規則に基づいてアプリケーションを用いて該パケットに応答する制御装置とを接続して構成されるパケット処理システムに用いられるパケット処理方法において、
前記制御装置は、
前記中継装置のアドレス情報に対応付けてシンボル部を設定するシンボル部設定工程と、
前記アプリケーションが前記シンボル部設定工程によって設定されたシンボル部にアクセスしたことを検知した場合に、前記ネットワークインタフェースを用いて受信した前記パケットを前記制御装置に転送するパケット転送規則を設定するよう前記中継装置に要求し、該中継装置から該シンボル部に対応付けて該制御装置に該パケットを転送するパケット転送規則を設定する転送制御工程と、を含み、
前記中継装置は、
前記制御装置の転送制御工程によって要求されたパケット転送規則を設定する転送制御工程を含んだことを特徴とするパケット処理方法。
【0178】
(付記13)前記制御装置は、
前記転送制御工程は、前記アプリケーションが前記シンボル部へアクセスする通信ポートを閉じたことを検出した場合に、前記ネットワークインタフェースを用いて受信した前記パケットを前記制御装置に転送するパケット転送規則を削除するよう前記中継装置に要求し、該中継装置から該シンボル部に対応付けて該制御装置に該パケットを転送するパケット転送規則を削除し、
前記中継装置は、
前記転送制御工程は、前記制御装置の転送制御工程によって要求されたパケット転送規則を削除することを特徴とする付記12に記載のパケット処理方法。
【0179】
(付記14)前記シンボル部は、前記ネットワークインタフェースに対応する仮想インタフェースであることを特徴とする付記12または付記13に記載のパケット処理方法。
【0180】
(付記15)前記パケット転送規則は、前記パケットをトンネル識別子を含むようにカプセル化して前記制御装置と前記中継装置の間で転送することを特徴とする付記12または付記13に記載のパケット制御方法。
【0181】
(付記16)前記シンボル部は、前記中継装置の保持するIPアドレスに対応する仮想IPアドレスであることを特徴とする付記12または付記13に記載のパケット処理方法。
【0182】
(付記17)前記パケット転送規則は、前記パケットのアドレス変換をして前記制御装置と前記中継装置の間でパケット転送することを特徴とする付記12または付記13に記載のパケット処理方法。
【0183】
(付記18)ネットワークインタフェースを用いてパケットを送受信する中継装置と、該中継装置との間で該パケットを転送するパケット転送規則に基づいてアプリケーションを用いて該パケットに応答する制御装置とを接続して構成されるパケット処理システムに用いられるパケット処理プログラムにおいて、
前記制御装置は、
前記中継装置のアドレス情報に対応付けてシンボル部を設定するシンボル部設定手順と、
前記アプリケーションが前記シンボル部設定手順によって設定されたシンボル部にアクセスしたことを検知した場合に、前記ネットワークインタフェースを用いて受信した前記パケットを前記制御装置に転送するパケット転送規則を設定するよう前記中継装置に要求し、該中継装置から該シンボル部に対応付けて該制御装置に該パケットを転送するパケット転送規則を設定する転送制御手順と、をコンピュータに実行させ、
前記中継装置は、
前記制御装置の転送制御手順によって要求されたパケット転送規則を設定する転送制御手順をコンピュータに実行させることを特徴とするパケット処理プログラム。
【0184】
(付記19)前記制御装置は、
前記転送制御手順は、前記アプリケーションが前記シンボル部へアクセスする通信ポートを閉じたことを検出した場合に、前記ネットワークインタフェースを用いて受信した前記パケットを前記制御装置に転送するパケット転送規則を削除するよう前記中継装置に要求し、該中継装置から該シンボル部に対応付けて該制御装置に該パケットを転送するパケット転送規則を削除し、
前記中継装置は、
前記転送制御手順は、前記制御装置の転送制御手順によって要求されたパケット転送規則を削除することを特徴とする付記18に記載のパケット処理プログラム。
【0185】
(付記20)前記シンボル部は、前記ネットワークインタフェースに対応する仮想インタフェースであることを特徴とする付記18または付記19に記載のパケット処理プログラム。
【0186】
(付記21)前記パケット転送規則は、前記パケットをトンネル識別子を含むようにカプセル化して前記制御装置と前記中継装置の間で転送することを特徴とする付記18または付記19に記載のパケット処理プログラム。
【0187】
(付記22)前記シンボル部は、前記中継装置の保持するIPアドレスに対応する仮想IPアドレスであることを特徴とする付記18または付記19に記載のパケット処理プログラム。
【0188】
(付記23)前記パケット転送規則は、前記パケットのアドレス変換をして前記制御装置と前記中継装置の間でパケット転送することを特徴とする付記18または付記19に記載のパケット処理プログラム。
【0189】
(付記24)制御装置上のプロセスと中継装置のネットワークインタフェースを内部通信パスで接続し、該ネットワークインタフェースを介してネットワークノードと通信を行うパケット処理システムにおいて、
前記制御装置は、
前記制御装置上のプロセスと通信を行うシンボル部を前記中継装置のインタフェースに対応付けて設定するシンボル情報受信設定手段と、
前記シンボル情報受信設定手段によって設定されたシンボル部から前記中継装置のインタフェースの方向へデータを転送する下流内部通信パスの下流内部通信パス識別子を前記中継装置から受信して、該下流内部通信パス識別子を該シンボル部と前記中継装置アドレスとに対応付ける下流内部通信パス対応表を生成する下流内部通信パス対応表生成手段と、
前記プロセスが前記シンボル部と通信を開始するとの通知を受け付けて、前記中継装置のインタフェースから該シンボル部の方向へデータを転送する上流内部通信パスの生成を通知する宛先判定手段と、
前記宛先判定手段からの通知を受け付けて、前記プロセスの入出力ポート識別子と上流内部通信パス識別子を前記中継装置に送信し、前記上内部通信パス識別子を前記シンボル部と前記入出力ポート識別子とに対応付ける上流内部通信パス対応表を生成する上流内部通信パス対応表生成手段と、を備え、
前記中継装置は、
前記下流内部通信パス識別子を前記中継装置のインタフェースに対応付ける下流内部通信パス対応表を生成する下流内部通信パス対応表生成手段と、
前記制御装置の内部通信パス対応表生成手段によって送信された前記プロセスの入出力ポート識別子と前記上流内部通信パス識別子と前記インタフェースを対応付ける上流内部通信パス対応表を生成する上流内部通信パス対応表生成手段と
を備えたことを特徴とするパケット処理システム。
【0190】
(付記25)前記制御装置は、
前記プロセスが終了した場合は、前記宛先判定手段から該プロセスが終了したとの通知を受け付けて、前記内部通信パス対応表の該当個所を削除するよう前記中継装置に要求し、内部通信パス対応表の該当個所を削除する内部通信パス対応表削除手段を備え、
前記中継装置は、
前記制御装置によって要求された内部通信パス対応表の該当個所を削除する内部通信パス対応表削除手段をさらに備えたことを特徴とする付記23に記載のパケット処理システム。
【0191】
(付記26)前記中継装置は、前記制御装置からインタフェース利用要求を受信した場合、該制御装置に提供可能なインタフェースを判定する提供先判定手段をさらに備えたことを特徴とする付記24のパケット処理システム。
【0192】
(付記27)前記制御装置は、
前記内部通信パス対応表に基づいて前記シンボル部から受け取ったデータパケットをカプセル化し、該中継装置に送信すると共に、該中継装置から受信したデータパケットをデカプセル化し、前記シンボル部に転送する内部通信パス転送手段をさらに備え、
前記中継装置は、
前記内部通信パス対応表に基づいて前記インタフェースから受け取った前記データパケットをカプセル化し、該制御装置に送信すると共に、該制御装置から受信したデータパケットをデカプセル化し、前記インタフェースに転送する内部通信パス転送手段をさらに備えたことを特徴とする付記24に記載のパケット処理システム。
【0193】
(付記28)前記シンボル部は、前記中継装置のインタフェースを仮想的に設定した仮想インタフェースであることを特徴とする付記24〜27のいずれか一つに記載のパケット処理システム。
【0194】
(付記29)前記制御装置のプロセスは、ルータの経路制御プロセスであることを特徴とする付記28に記載のパケット処理システム。
【0195】
(付記30)前記制御装置と前記中継装置は、データリンク層で到達可能なネットワークで相互に接続し、データリンクアドレスを用いてデータ交換を行うプロトコルを使用して該制御装置と該中継装置との間でデータ交換を行うことを特徴とする付記24〜27のいずれか一つに記載のパケット処理システム。
【0196】
(付記31)制御装置上のプロセスと中継装置のネットワークインタフェースを内部通信パスで接続し、該ネットワークインタフェースを介してネットワークノードと通信を行うパケット処理システムに用いられるパケット処理方法において、
前記制御装置は、
前記制御装置上のプロセスと通信を行うシンボル部を前記中継装置のインタフェースに対応付けて設定するシンボル情報受信設定工程と、
前記シンボル情報受信設定工程によって設定されたシンボル部から前記中継装置のインタフェースの方向へデータを転送する下流内部通信パスの下流内部通信パス識別子を前記中継装置から受信して、該下流内部通信パス識別子を該シンボル部と前記中継装置アドレスとに対応付ける下流内部通信パス対応表を生成する下流内部通信パス対応表生成工程と、
前記プロセスが前記シンボル部と通信を開始するとの通知を受け付けて、前記中継装置のインタフェースから該シンボル部の方向へデータを転送する上流内部通信パスの生成を通知する宛先判定工程と、
前記宛先判定工程からの通知を受け付けて、前記プロセスの入出力ポート識別子と上流内部通信パス識別子を前記中継装置に送信し、前記上内部通信パス識別子を前記シンボル部と前記入出力ポート識別子とに対応付ける上流内部通信パス対応表を生成する上流内部通信パス対応表生成工程と、を含み、
前記中継装置は、
前記下流内部通信パス識別子を前記中継装置のインタフェースに対応付ける下流内部通信パス対応表を生成する下流内部通信パス対応表生成工程と、
前記制御装置の内部通信パス対応表生成工程によって送信された前記プロセスの入出力ポート識別子と前記上流内部通信パス識別子と前記インタフェースを対応付ける上流内部通信パス対応表を生成する上流内部通信パス対応表生成工程と
を含んだことを特徴とするパケット処理方法。
【0197】
(付記32)前記制御装置は、
前記プロセスが終了した場合は、前記宛先判定工程から該プロセスが終了したとの通知を受け付けて、前記内部通信パス対応表の該当個所を削除するよう前記中継装置に要求し、内部通信パス対応表の該当個所を削除する内部通信パス対応表削除工程を含み、
前記中継装置は、
前記制御装置によって要求された内部通信パス対応表の該当個所を削除する内部通信パス対応表削除工程をさらに含んだことを特徴とする付記31に記載のパケット処理方法。
【0198】
(付記33)前記中継装置は、前記制御装置からインタフェース利用要求を受信した場合、該制御装置に提供可能なインタフェースを判定する提供先判定工程をさらに含んだことを特徴とする付記31のパケット処理方法。
【0199】
(付記34)前記制御装置は、
前記内部通信パス対応表に基づいて前記シンボル部から受け取ったデータパケットをカプセル化し、該中継装置に送信すると共に、該中継装置から受信したデータパケットをデカプセル化し、前記シンボル部に転送する内部通信パス転送工程をさらに含み、
前記中継装置は、
前記内部通信パス対応表に基づいて前記インタフェースから受け取った前記データパケットをカプセル化し、該制御装置に送信すると共に、該制御装置から受信したデータパケットをデカプセル化し、前記インタフェースに転送する内部通信パス転送工程をさらに含んだことを特徴とする付記31に記載のパケット処理方法。
【0200】
(付記35)前記シンボル部は、前記中継装置のインタフェースを仮想的に設定した仮想インタフェースであることを特徴とする付記31〜34のいずれか一つに記載のパケット処理方法。
【0201】
(付記36)前記制御装置のプロセスは、ルータの経路制御プロセスであることを特徴とする付記35に記載のパケット処理方法。
【0202】
(付記37)前記制御装置と前記中継装置は、データリンク層で到達可能なネットワークで相互に接続し、データリンクアドレスを用いてデータ交換を行うプロトコルを使用して該制御装置と該中継装置との間でデータ交換を行うことを特徴とする付記31〜34のいずれか一つに記載のパケット処理方法。
【0203】
(付記38)制御装置上のプロセスと中継装置のネットワークインタフェースを内部通信パスで接続し、該ネットワークインタフェースを介してネットワークノードと通信を行うパケット処理システムに用いられるパケット処理プログラムにおいて、
前記制御装置は、
前記制御装置上のプロセスと通信を行うシンボル部を前記中継装置のインタフェースに対応付けて設定するシンボル情報受信設定手順と、
前記シンボル情報受信設定手順によって設定されたシンボル部から前記中継装置のインタフェースの方向へデータを転送する下流内部通信パスの下流内部通信パス識別子を前記中継装置から受信して、該下流内部通信パス識別子を該シンボル部と前記中継装置アドレスとに対応付ける下流内部通信パス対応表を生成する下流内部通信パス対応表生成手順と、
前記プロセスが前記シンボル部と通信を開始するとの通知を受け付けて、前記中継装置のインタフェースから該シンボル部の方向へデータを転送する上流内部通信パスの生成を通知する宛先判定手順と、
前記宛先判定手順からの通知を受け付けて、前記プロセスの入出力ポート識別子と上流内部通信パス識別子を前記中継装置に送信し、前記上内部通信パス識別子を前記シンボル部と前記入出力ポート識別子とに対応付ける上流内部通信パス対応表を生成する上流内部通信パス対応表生成手順と、をコンピュータに実行させ、
前記中継装置は、
前記下流内部通信パス識別子を前記中継装置のインタフェースに対応付ける下流内部通信パス対応表を生成する下流内部通信パス対応表生成手順と、
前記制御装置の内部通信パス対応表生成手順によって送信された前記プロセスの入出力ポート識別子と前記上流内部通信パス識別子と前記インタフェースを対応付ける上流内部通信パス対応表を生成する上流内部通信パス対応表生成手順と
をコンピュータに実行させることを特徴とするパケット処理プログラム。
【0204】
(付記39)前記制御装置は、
前記プロセスが終了した場合は、前記宛先判定手順から該プロセスが終了したとの通知を受け付けて、前記内部通信パス対応表の該当個所を削除するよう前記中継装置に要求し、内部通信パス対応表の該当個所を削除する内部通信パス対応表削除手順を備え、
前記中継装置は、
前記制御装置によって要求された内部通信パス対応表の該当個所を削除する内部通信パス対応表削除手順をさらにコンピュータに実行させることを特徴とする付記38に記載のパケット処理プログラム。
【0205】
(付記40)前記中継装置は、前記制御装置からインタフェース利用要求を受信した場合、該制御装置に提供可能なインタフェースを判定する提供先判定手順をさらにコンピュータに実行させることを特徴とする付記38に記載のパケット処理プログラム。
【0206】
(付記41)前記制御装置は、
前記内部通信パス対応表に基づいて前記シンボル部から受け取ったデータパケットをカプセル化し、該中継装置に送信すると共に、該中継装置から受信したデータパケットをデカプセル化し、前記シンボル部に転送する内部通信パス転送手順をさらにコンピュータに実行させ、
前記中継装置は、
前記内部通信パス対応表に基づいて前記インタフェースから受け取った前記データパケットをカプセル化し、該制御装置に送信すると共に、該制御装置から受信したデータパケットをデカプセル化し、前記インタフェースに転送する内部通信パス転送手順をさらにコンピュータに実行させることを特徴とする付記38に記載のパケット処理プログラム。
【0207】
(付記42)前記シンボル部は、前記中継装置のインタフェースを仮想的に設定した仮想インタフェースであることを特徴とする付記38〜41のいずれか一つに記載のパケット処理プログラム。
【0208】
(付記43)前記制御装置のプロセスは、ルータの経路制御プロセスであることを特徴とする付記42に記載のパケット処理プログラム。
【0209】
(付記44)前記制御装置と前記中継装置は、データリンク層で到達可能なネットワークで相互に接続し、データリンクアドレスを用いてデータ交換を行うプロトコルを使用して該制御装置と該中継装置との間でデータ交換を行うことを特徴とする付記38〜41のいずれか一つに記載のパケット処理プログラム。
【0210】
【発明の効果】
以上説明したように、請求項1の発明によれば、制御装置は、中継装置のアドレス情報に対応付けて設定されたシンボル部と、アプリケーションがシンボル部にアクセスしたことを検知した場合に、ネットワークインタフェースを用いて受信したパケットを制御装置に転送するパケット転送規則を設定するよう中継装置に要求し、中継装置から該シンボル部に対応付けて前記制御装置に該パケットを転送するパケット転送規則を設定し、中継装置は、制御装置によって要求されたパケット転送規則を設定するよう構成したので、制御装置上に新たなアプリケーションが起動した場合に、制御装置が中継装置との間のパケット転送規則を動的に設定することができ、もって、従来利用されてきたアプリケーションの改修をせずに、中継装置と制御装置を分離および統合できる。
【0211】
また、請求項2の発明によれば、制御装置は、アプリケーションが前記シンボル部へアクセスする通信ポートを閉じたことを検出した場合に、ネットワークインタフェースを用いて受信したパケットを制御装置に転送するパケット転送規則を削除するよう中継装置に要求し、中継装置から該シンボル部に対応付けて該制御装置に該パケットを転送するパケット転送規則を削除し、中継装置は、制御装置によって要求されたパケット転送規則を削除するよう構成したので、制御装置上でアプリケーションが停止した場合に、制御装置が中継装置との間のパケット転送規則を動的に削除することができ、もって、従来利用されてきたアプリケーションの改修をせずに、中継装置と制御装置を分離および統合できる。
【0212】
また、請求項3の発明によれば、シンボル部は、ネットワークインタフェースに対応する仮想インタフェースであるよう構成したので、ネットワークインタフェースに対応する仮想インタフェースを用いることにより、従来利用されてきたアプリケーションの動作環境と同等の動作環境を提供することができるので、従来利用されてきたアプリケーションの改修をせずに、中継装置と制御装置を分離および統合できる。
【0213】
また、請求項4の発明によれば、パケット転送規則は、パケットをトンネル識別子を含むようにカプセル化して制御装置と中継装置の間で転送するよう構成したので、パケットを確実に宛先まで転送することができる。
【0214】
また、請求項5の発明によれば、トンネル識別子は、パケットを受信したネットワークインタフェースと、ネットワークインタフェースに対応する仮想インタフェースと、制御装置のアドレスと、制御装置のアプリケーションのプロトコルアドレスとに対応付けられた上りトンネル識別子と、パケットを送信する送信仮想インタフェースと、中継装置のアドレスと、送信仮想インタフェースに対応するネットワークインタフェースとに対応付けられた下りトンネル識別子とからなることを特徴とするよう構成したので、上り下りの双方向のパケットを確実に宛先まで転送することができる。
【0215】
また、請求項6の発明によれば、シンボル部は、中継装置の保持するIPアドレスに対応する仮想IPアドレスであるよう構成したので、仮想IPアドレスを用いることにより、従来利用されてきたアプリケーションの動作環境と同等の動作環境を提供することができるので、従来利用されてきたアプリケーションの改修をせずに、中継装置と制御装置を分離および統合できる。
【0216】
また、請求項7の発明によれば、パケット転送規則は、パケットのアドレス変換をして制御装置と中継装置の間でパケット転送するよう構成したので、パケットを確実に宛先まで転送することができる。
【0217】
また、請求項8の発明によれば、アドレス変換は、中継装置においてパケットの宛先アドレスを仮想IPアドレスから制御装置のアドレスへ変換して、制御装置にパケットを転送した後に、宛先アドレスを制御装置のアドレスから仮想IPアドレスに変換する上りアドレス変換と、制御装置においてパケットの送信元アドレスを仮想IPアドレスから制御装置のアドレスに変換して、中継装置にパケットを転送した後に、パケットの送信元アドレスを制御装置のアドレスから仮想IPアドレス変換する下りアドレス変換とからなるよう構成したので、上り下りの双方向のパケットを確実に宛先まで転送することができる。
【0218】
また、請求項9の発明によれば、アプリケーションは、ルータの経路制御プロセスであるよう構成したので、従来利用されてきたアプリケーションの改修をせずに、ルータの中継機能と制御機能を分離および統合できる。
【0219】
また、請求項10の発明によれば、制御装置と中継装置は、データリンク層のネットワークで相互に接続され、データリンク層のプロトコルを使用してデータ交換を行うよう構成したので、制御装置と中継装置との間の通信に利用するインタフェースに関する上位レイヤの属性情報を変更した場合でも、通信が途絶えないようにすることができる。
【図面の簡単な説明】
【図1】本実施の形態1におけるパケット処理システムの構成を示す機能ブロック図である。
【図2】図1に示すパケット処理システムのトンネル作成依頼メッセージの一例を示す図である。
【図3】図1に示すパケット処理システムのトンネル作成応答メッセージの一例を示す図である。
【図4】図1に示すパケット処理システムの転送依頼メッセージの一例を示す図である。
【図5】図1に示すパケット処理システムの制御装置受信表の一例を示す図である。
【図6】図1に示すパケット処理システムの制御装置送信表の一例を示す図である。
【図7】図1に示すパケット処理システムの中継装置振分表の一例を示す図である。
【図8】図1に示すパケット処理システムの中継装置受信表の一例を示す図である。
【図9】図1に示すパケット処理システムにおける仮想IFの登録手順を示すフローチャートである。
【図10】図1に示すパケット処理システムにおける振分表の登録手順を示すフローチャートである。
【図11】図1に示すパケット処理システムにおけるデータ受信手順を示すフローチャートである。
【図12】図1に示すパケット処理システムにおけるデータ送信手順を示すフローチャートである。
【図13】本実施の形態2におけるパケット処理システムの構成を示す機能ブロック図である。
【図14】図13に示すパケット処理システムの制御装置受信表の一例を示す図である。
【図15】図13に示すパケット処理システムの制御装置送信表の一例を示す図である。
【図16】図13に示すパケット処理システムの中継装置振分表の一例を示す図である。
【図17】図13に示すパケット処理システムの中継装置受信表の一例を示す図である。
【図18】図13に示すパケット処理システムにおける仮想IPアドレスの登録手順を示すフローチャートである。
【図19】図13に示すパケット処理システムのアドレス変換依頼メッセージの一例を示す図である。
【図20】図13に示すパケット処理システムにおける振分表の登録手順を示すフローチャートである。
【図21】図13に示すパケット処理システムの転送依頼メッセージの一例を示す図である。
【図22】図13に示すパケット処理システムにおけるデータ受信手順を示すフローチャートである。
【図23】図13に示すパケット処理システムにおけるデータ送信手順を示すフローチャートである。
【図24】本実施の形態3に係るパケット処理システムの構成を示す機能ブロック図である。
【図25】図24に示すパケット処理システムの仮想IF設定および内部通信パス設定の処理手順を示すフローチャートである。
【図26】図24に示すパケット処理システムの仮想IF設定フェーズにおける内部通信パスの一例を示す図である。
【図27】図24に示すパケット処理システムのトンネル生成フェーズにおける内部通信パスの一例を示す図である。
【図28】図24に示すパケット処理システムのトンネルにおける内部通信パスの別の例を示す図である。
【図29】図24に示すパケット処理システムの受信パケットの転送手順を示すフローチャートである。
【図30】図24に示すパケット処理システムの送信パケットの転送手順を示すフローチャートである。
【図31】本実施の形態4に係るパケット処理システムの構成を示す機能ブロック図である。
【図32】図31に示すパケット処理システムの内部通信パス削除の処理手順を示すフローチャートである。
【図33】本実施の形態5に係るコンピュータシステムの構成を示すシステム構成図である。
【図34】図33に示したコンピュータシステムにおける本体部の構成を示すブロック図である。
【符号の説明】
10、200 制御装置
21 入出力部
22 経路制御部
23 経路表取得送信部
24 仮想IF受信設定部
25 仮想IFトンネル対応表生成部
26 仮想IFソケット対応表生成部
27 トンネル転送部
29 仮想IFトンネル対応表
30 仮想IFソケット対応表
31 経路表
40,70 カーネル処理部
41,71 宛先判定部
42 仮想IF管理部
43 仮想IF
45 装置間通信用物理IF
46 装置間通信用論理IF
47 仮想IF対応表削除部
50、300 中継装置
59 IF設定許可リスト
60 データ中継部
61 経路表設定部
62 提供先判定部
63 IF取得送信部
64 IFトンネル対応表
65 IFソケット対応表
66 トンネル転送部
67 IFトンネル対応表
68 IFソケット対応表
69 経路表
72 IF情報取得部
73 物理ネットワークIF
74 装置間通信用物理IF
75 IFソケット対応表削除部
76 論理ネットワークIF
77 装置間通信用論理IF
80 ネットワーク
90 ネットワークノード
100 コンピュータシステム
101 本体部
102 ディスプレイ
102a 表示画面
103 キーボード
104 マウス
105 モデム
106 ローカルエリアネットワークまたは広域エリアネットワーク(LAN
/WAN)
107 公衆回線
108 フレキシブルディスク(FD)
109 CD−ROM
111 他のコンピュータシステム(PC)
112 サーバ
113 プリンタ
121 CPU
122 RAM
123 ROM
124 ハードディスクドライブ(HDD)
125 CD−ROMドライブ
126 FDドライブ
127 I/Oインターフェース
128 LANインターフェース
210 アプリケーション部
220 シンボル作成部
222 仮想IF
223 仮想IPアドレス
230 転送登録要求部
232 転送削除要求部
234 仮想IFアクセス判定部
235 仮想IPアドレスアクセス判定部
240、340 転送制御部
242、243、344、345 受信表
244、245 送信表
250、350 振分部
260、370 データ受信処理部
270、360 データ送信処理部
280、380 IF
390,392 ネットワークIF
342、343 振分表
400、410 ネットワーク
450a、450b、450c 通信端末装置
Claims (10)
- ネットワークインタフェースを用いてパケットを送受信する中継装置と、該中継装置との間で該パケットを転送するパケット転送規則に基づいてアプリケーションを用いて該パケットに応答する制御装置とを接続して構成されるパケット処理システムにおいて、
前記制御装置は、
前記中継装置のアドレス情報に対応付けて設定されたシンボル部と、
前記アプリケーションが前記シンボル部にアクセスしたことを検知した場合に、前記ネットワークインタフェースを用いて受信した前記パケットを前記制御装置に転送するパケット転送規則を設定するよう前記中継装置に要求し、該中継装置から該シンボル部に対応付けて該制御装置に該パケットを転送するパケット転送規則を設定する転送制御手段と、を備え、
前記中継装置は、
前記制御装置の転送制御手段によって要求されたパケット転送規則を設定する転送制御手段を備えたことを特徴とするパケット処理システム。 - 前記制御装置は、
前記転送制御手段は、前記アプリケーションが前記シンボル部へアクセスする通信ポートを閉じたことを検出した場合に、前記ネットワークインタフェースを用いて受信した前記パケットを前記制御装置に転送するパケット転送規則を削除するよう前記中継装置に要求し、該中継装置から該シンボル部に対応付けて該制御装置に該パケットを転送するパケット転送規則を削除し、
前記中継装置は、
前記転送制御手段は、前記制御装置の転送制御手段によって要求されたパケット転送規則を削除することを特徴とする請求項1に記載のパケット処理システム。 - 前記シンボル部は、前記ネットワークインタフェースに対応する仮想インタフェースであることを特徴とする請求項1または請求項2に記載のパケット処理システム。
- 前記パケット転送規則は、前記パケットをトンネル識別子を含むようにカプセル化して前記制御装置と前記中継装置の間で転送することを特徴とする請求項1または請求項2に記載のパケット処理システム。
- 前記トンネル識別子は、前記パケットを受信したネットワークインタフェースと、該ネットワークインタフェースに対応する仮想インタフェースと、前記制御装置のアドレスと、該制御装置のアプリケーションのプロトコルアドレスとに対応付けられた上りトンネル識別子と、該パケットを送信する送信仮想インタフェースと、前記中継装置のアドレスと、該送信仮想インタフェースに対応するネットワークインタフェースとに対応付けられた下りトンネル識別子とからなることを特徴とする請求項4に記載のパケット処理システム。
- 前記シンボル部は、前記中継装置の保持するIPアドレスに対応する仮想IPアドレスであることを特徴とする請求項1または請求項2に記載のパケット処理システム。
- 前記パケット転送規則は、前記パケットのアドレス変換をして前記制御装置と前記中継装置の間でパケット転送することを特徴とする請求項1または請求項2に記載のパケット処理システム。
- 前記アドレス変換は、前記中継装置において前記パケットの宛先アドレスを前記仮想IPアドレスから前記制御装置のアドレスへ変換して、該制御装置に該パケットを転送した後に、該宛先アドレスを該制御装置のアドレスから該仮想IPアドレスに変換する上りアドレス変換と、該制御装置において該パケットの送信元アドレスを該仮想IPアドレスから該制御装置のアドレスに変換して、該中継装置に該パケットを転送した後に、該パケットの送信元アドレスを該制御装置のアドレスから該仮想IPアドレス変換する下りアドレス変換とからなることを特徴とする請求項7に記載のパケット処理システム。
- 前記アプリケーションは、ルータの経路制御プロセスであることを特徴とする請求項1または請求項2に記載のパケット処理システム。
- 前記制御装置と前記中継装置は、データリンク層のネットワークで相互に接続され、該データリンク層のプロトコルを使用してデータ交換を行うことを特徴とする請求項1または請求項2に記載のパケット処理システム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003144137A JP4213517B2 (ja) | 2003-02-28 | 2003-05-21 | パケット処理システム |
US10/769,752 US7593337B2 (en) | 2003-02-28 | 2004-02-03 | Packet processing system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003054410 | 2003-02-28 | ||
JP2003144137A JP4213517B2 (ja) | 2003-02-28 | 2003-05-21 | パケット処理システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004320694A JP2004320694A (ja) | 2004-11-11 |
JP4213517B2 true JP4213517B2 (ja) | 2009-01-21 |
Family
ID=32911461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003144137A Expired - Lifetime JP4213517B2 (ja) | 2003-02-28 | 2003-05-21 | パケット処理システム |
Country Status (2)
Country | Link |
---|---|
US (1) | US7593337B2 (ja) |
JP (1) | JP4213517B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230146525A1 (en) * | 2021-10-06 | 2023-05-11 | Juniper Networks, Inc. | Automatic policy configuration for packet flows |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4530707B2 (ja) * | 2004-04-16 | 2010-08-25 | 株式会社クラウド・スコープ・テクノロジーズ | ネットワーク情報提示装置及び方法 |
JP4641794B2 (ja) * | 2004-12-28 | 2011-03-02 | 富士通株式会社 | パケットフィルタ同期方法及びパケット中継システム |
JP4764737B2 (ja) * | 2006-02-13 | 2011-09-07 | 富士通株式会社 | ネットワークシステム、端末およびゲートウェイ装置 |
US8179895B2 (en) * | 2006-08-01 | 2012-05-15 | Tekelec | Methods, systems, and computer program products for monitoring tunneled internet protocol (IP) traffic on a high bandwidth IP network |
JP4769669B2 (ja) | 2006-09-07 | 2011-09-07 | 富士通株式会社 | モバイルipに準拠する移動通信システム、ホームエージェント、モバイルノード及び方法 |
US9379898B2 (en) | 2007-05-04 | 2016-06-28 | Tekelec, Inc. | Methods, systems, and computer program products for providing billing and usage data to downstream applications |
JP5333200B2 (ja) * | 2009-12-25 | 2013-11-06 | 富士通株式会社 | パケット通信制御装置、メモリアクセス制御装置及び情報処理システム |
US8457098B2 (en) * | 2010-01-28 | 2013-06-04 | Verizon Patent And Licensing Inc. | Data offloading at wireless node |
US9906468B2 (en) * | 2011-10-27 | 2018-02-27 | Cavium, Inc. | Packet traffic control in a network processor |
US20150085871A1 (en) * | 2013-09-25 | 2015-03-26 | RIFT.io Inc. | Dynamically scriptable ip packet processing engine |
US10594604B1 (en) * | 2013-10-08 | 2020-03-17 | Juniper Networks, Inc. | End to end application identification and analytics of tunnel encapsulated traffic in the underlay |
JP6275572B2 (ja) * | 2014-07-01 | 2018-02-07 | 株式会社日立製作所 | ネットワークシステム、管理サーバ |
CN105119783B (zh) * | 2015-09-30 | 2020-01-31 | 北京奇艺世纪科技有限公司 | 网络请求数据的检测方法及装置 |
US10015096B1 (en) | 2016-06-20 | 2018-07-03 | Amazon Technologies, Inc. | Congestion avoidance in multipath routed flows |
JP6750349B2 (ja) | 2016-07-05 | 2020-09-02 | 富士通株式会社 | 情報処理システム、情報処理装置、情報処理プログラム及び情報処理方法 |
US10069734B1 (en) | 2016-08-09 | 2018-09-04 | Amazon Technologies, Inc. | Congestion avoidance in multipath routed flows using virtual output queue statistics |
US10097467B1 (en) | 2016-08-11 | 2018-10-09 | Amazon Technologies, Inc. | Load balancing for multipath groups routed flows by re-associating routes to multipath groups |
US10116567B1 (en) | 2016-08-11 | 2018-10-30 | Amazon Technologies, Inc. | Load balancing for multipath group routed flows by re-routing the congested route |
US10009275B1 (en) * | 2016-11-15 | 2018-06-26 | Amazon Technologies, Inc. | Uniform route distribution for a forwarding table |
US10911406B2 (en) * | 2018-04-30 | 2021-02-02 | Microsoft Technology Licensing, Llc | Accessing cloud resources using private network addresses |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0666813B2 (ja) | 1988-02-29 | 1994-08-24 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | データ通信システム及び通信路確立方法 |
US5867666A (en) * | 1994-12-29 | 1999-02-02 | Cisco Systems, Inc. | Virtual interfaces with dynamic binding |
US5970066A (en) * | 1996-12-12 | 1999-10-19 | Paradyne Corporation | Virtual ethernet interface |
JP3327850B2 (ja) | 1998-10-22 | 2002-09-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | サーバ・クラスタからサーバを選択し、選択されたサーバへのスイッチング経路を選択するための分散型スケーラブル装置 |
US6609153B1 (en) * | 1998-12-24 | 2003-08-19 | Redback Networks Inc. | Domain isolation through virtual network machines |
US7203740B1 (en) * | 1999-12-22 | 2007-04-10 | Intel Corporation | Method and apparatus for allowing proprietary forwarding elements to interoperate with standard control elements in an open architecture for network devices |
US6879587B1 (en) * | 2000-06-30 | 2005-04-12 | Intel Corporation | Packet processing in a router architecture |
US6970943B1 (en) * | 2000-10-11 | 2005-11-29 | Nortel Networks Limited | Routing architecture including a compute plane configured for high-speed processing of packets to provide application layer support |
US7003574B1 (en) * | 2000-11-01 | 2006-02-21 | Microsoft Corporation | Session load balancing and use of VIP as source address for inter-cluster traffic through the use of a session identifier |
US6883099B2 (en) * | 2001-01-04 | 2005-04-19 | Troika Networks, Inc. | Secure virtual interface |
US20020143953A1 (en) * | 2001-04-03 | 2002-10-03 | International Business Machines Corporation | Automatic affinity within networks performing workload balancing |
-
2003
- 2003-05-21 JP JP2003144137A patent/JP4213517B2/ja not_active Expired - Lifetime
-
2004
- 2004-02-03 US US10/769,752 patent/US7593337B2/en active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230146525A1 (en) * | 2021-10-06 | 2023-05-11 | Juniper Networks, Inc. | Automatic policy configuration for packet flows |
US11997014B2 (en) * | 2021-10-06 | 2024-05-28 | Juniper Networks, Inc. | Automatic policy configuration for packet flows |
Also Published As
Publication number | Publication date |
---|---|
JP2004320694A (ja) | 2004-11-11 |
US20040170133A1 (en) | 2004-09-02 |
US7593337B2 (en) | 2009-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4213517B2 (ja) | パケット処理システム | |
JP4555592B2 (ja) | パケット処理システム | |
RU2595540C9 (ru) | Базовые контроллеры для преобразования универсальных потоков | |
WO2019201043A1 (zh) | 网络通信方法、系统、设备及存储介质 | |
WO2012060887A1 (en) | Integrated circuit design and operation | |
CN109361526A (zh) | 策略控制的路由方法、pcrf/pcf以及dra | |
JP4257151B2 (ja) | パケット制御システム、パケット制御装置、パケット中継装置およびパケット制御プログラム | |
JP5059473B2 (ja) | ネットワークシステム、管理計算機及び利用者端末 | |
JP2002261788A (ja) | ファイアウォール管理装置および方法 | |
JP4105520B2 (ja) | アドレス変換装置及びアドレス変換方法 | |
JP4251148B2 (ja) | グループ内通信方法、システム及び記録媒体 | |
JP2002354019A (ja) | 通信装置、宛先変更装置、通信方法及び通信制御プログラム | |
CN108809795A (zh) | 一种局域网环境中透明分流方法和装置 | |
TW591913B (en) | Public access separation in a virtual networking environment | |
JP2001227960A (ja) | 移動所要時間取得システム、局地地図情報サーバ、移動所要時間取得サーバ、これらの制御方法、および、情報記録媒体 | |
JP2000253008A (ja) | Ipアドレス変換装置及びネットワーク管理システム | |
CN107124411B (zh) | 经典网络环境下的虚拟私有云实现方法、装置、以及系统 | |
JP3509848B2 (ja) | 通信制御装置および記録媒体 | |
CN114584962A (zh) | 数据迁移方法、系统、服务器和存储介质 | |
Panti et al. | A FIPA compliant agent platform for federated information systems. | |
US8036218B2 (en) | Technique for achieving connectivity between telecommunication stations | |
JP3919735B2 (ja) | 通信経路設定装置、通信経路設定方法および通信経路設定プログラム | |
JP2000122939A (ja) | アプリケーションゲートウェイの通信制御方法 | |
JP2002335274A (ja) | パケット中継装置およびパケット中継方法 | |
JP2008021325A (ja) | マルチエージェントシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060425 |
|
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: 20081028 |
|
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: 20081030 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111107 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4213517 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: 20111107 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121107 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121107 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131107 Year of fee payment: 5 |
|
EXPY | Cancellation because of completion of term |