JPH10178450A - フレームを捕獲、カプセル化及び暗号化するための擬似ネットワークアダプタ - Google Patents

フレームを捕獲、カプセル化及び暗号化するための擬似ネットワークアダプタ

Info

Publication number
JPH10178450A
JPH10178450A JP29073997A JP29073997A JPH10178450A JP H10178450 A JPH10178450 A JP H10178450A JP 29073997 A JP29073997 A JP 29073997A JP 29073997 A JP29073997 A JP 29073997A JP H10178450 A JPH10178450 A JP H10178450A
Authority
JP
Japan
Prior art keywords
tunnel
network adapter
protocol stack
pseudo
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.)
Granted
Application number
JP29073997A
Other languages
English (en)
Other versions
JP3343064B2 (ja
Inventor
Kenneth F Alden
エフ オルデン ケニス
Mitchell P Lichtenberg
ピー リクテンバーグ ミッチェル
Edward P Wobber
ピー ウォーバー エドワード
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.)
Digital Equipment Corp
Original Assignee
Digital Equipment Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of JPH10178450A publication Critical patent/JPH10178450A/ja
Application granted granted Critical
Publication of JP3343064B2 publication Critical patent/JP3343064B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • H04L61/5014Internet protocol [IP] addresses using dynamic host configuration protocol [DHCP] or bootstrap protocol [BOOTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0485Networking architectures for enhanced packet encryption processing, e.g. offloading of IPsec packet processing or efficient security association look-up
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Abstract

(57)【要約】 (修正有) 【課題】 メッセージ又はフレームを捕獲し、カプセル
化しそして暗号化するための擬似ネットワークアダプタ
を提供する。 【解決手段】 擬似ネットワークアダプタ259は、D
HCPサーバエミュレータ272及びARPサーバエミ
ュレータ270を備える。システムは、リモートプライ
ベートネットワークのノードにGWを経て到達でき、こ
のGWに擬似ネットワークアダプタを経て到達できるこ
とをローカル通信プロトコルスタック260に指示す
る。送信経路は、擬似ネットワークアダプタを経て送信
するため前記スタックからのデータパケットを処理す
る。暗号化エンジン265はデータパケットを暗号化
し、カプセル化エンジン268は暗号化データパケット
をトンネルデータフレームへカプセル化する。リモート
サーバノードから受け取ったデータパケットを捕獲する
スタックのトランスポートレイヤと、捕獲データパケッ
トを処理する受信経路も備える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般に、機密の仮
想プライベートネットワークに係り、より詳細には、メ
ッセージ又はフレームを捕獲し、カプセル化しそして暗
号化するための擬似ネットワークアダプタに係る。
【0002】
【従来の技術】データ通信においては、異なる物理的位
置においてネットワークステーション(ネットワークノ
ードとも称する)のユーザ間に機密の通信を与えること
がしばしば必要とされる。機密通信は、潜在的に、公衆
ネットワークを通りそして機密プライベートネットワー
クを経て延びねばならない。機密プライベートネットワ
ークは、そのプライベートネットワークを公衆ネットワ
ークから分離する「ファイアウオール(防火壁)」によ
って保護される。ファイアウオールは、一般に、プライ
ベートネットワークを公衆ネットワークとの不所望な通
信から絶縁するためのパケットフィルタ、回路ゲートウ
ェイ及びアプリケーションゲートウェイ技術のある組合
せを与える。
【0003】機密通信を与えるための1つの解決策は、
仮想プライベートネットワークを形成することである。
仮想プライベートネットワークにおいては、メッセージ
をカプセル化及び暗号化することにより機密通信が与え
られる。カプセル化されたメッセージ送信は、一般に、
「トンネル送信」と称する。暗号化を用いたトンネル
は、公衆ネットワークにより分離されたユーザ間、又は
プライベートネットワークのユーザのサブセット間に保
護された通信を与える。
【0004】暗号化は、例えば、1つ以上の暗号「キ
ー」を用いる暗号化アルゴリズムを使用して実行され
る。暗号キーが使用されるときには、キーの値が、デー
タをいかに暗号化しそして解読するかを決定する。公開
キー暗号化システムが使用されるときには、キー対が各
通信エンティティに関連される。キー対は、暗号キー及
び解読キーより成る。これら2つのキーは、一方のキー
を他方のキーから形成できないように作られる。各エン
ティティは、その暗号キーを公開するが、その解読キー
を機密に保つ。例えば、ノードAにメッセージを送信す
るときには、送信側エンティティは、ノードAの公開キ
ーを使用してメッセージを暗号化し、そのメッセージ
は、ノードAのプライベートキーを用いてノードAしか
解読することができない。
【0005】対称的キー暗号化システムにおいては、単
一のキーが暗号及び解読の両方に対するベースとして使
用される。対称的キー暗号化システムにおける暗号キー
は、「共用」キーと称することもある。例えば、一対の
通信ノードA及びBは、次のように機密に通信すること
ができる。即ち、第1の共用キーを用いて、ノードAか
らノードBへ送られるデータを暗号化する一方、第2の
共用キーは、ノードBからノードAへ送られるデータを
暗号化するのに使用される。このようなシステムにおい
ては、ノードA及びノードBの両方が2つの共用キーを
知らねばならない。暗号化アルゴリズム及びキー型暗号
化の更に別の例が多数の文献、例えば、「応用暗号学−
Cでのプロトコル、アルゴリズム及びソースコード(App
lied Cryptography - Protocols, Algorithms and Sour
ce Code in C) 」、ブルース・シュナイラ著、ニューヨ
ーク州、ニューヨークのジョン・ウイリー・アンド・ソ
ンズ出版、コピーライト1994年に開示されている。
【0006】どんな暗号キーを使用すべきか及びそれら
をいかに使用して所与の機密通信セッションのデータを
暗号化すべきかに関する情報は、「キー交換資料」と称
されている。キー交換資料は、例えば、どんなキーが使
用されるか及び各キーが有効である時間巾を決定する。
一対の通信ステーションに対するキー交換資料は、機密
通信セッションにおいて暗号化データを交換する前に両
ステーションが知っていなければならない。所与の機密
通信に対しキー交換資料を通信ステーションにいかに分
からせるかは、「セッションキー確立」と称されてい
る。
【0007】通信プロトコルスタックに対して物理的な
デバイスとして見えそして仮想プライベートネットワー
クを形成する仮想即ち「擬似」ネットワークアダプタを
使用してトンネルを実施することができる。擬似ネット
ワークアダプタは、通信プロトコルスタックからパケッ
トを受け取り、そしてその受け取ったパケットをプロト
コルスタックを経てユーザへ戻すか又は送信するという
能力を有していなければならない。
【0008】トンネルのエンドポイントは、トンネルに
より与えられる暗号/解読及びカプセル化/カプセル解
除が実行されるポイントである。既存のシステムでは、
トンネルのエンドポイントは、予め決定されたネットワ
ークレイヤ(層)アドレスである。受け取ったメッセー
ジにおけるソースネットワークレイヤアドレスを用い
て、トンネル接続の確立を要求するエンティティの「信
用性」が決定される。例えば、トンネルサーバは、ソー
スネットワークレイヤアドレスを用いて、要求されたト
ンネル接続が許可されるかどうかを決定する。又、ソー
スネットワークレイヤアドレスは、受け取ったメッセー
ジを解読するのにどの暗号キーを使用すべきかを決定す
るのにも使用される。
【0009】
【発明が解決しようとする課題】既存のトンネル送信技
術は、一般に、暗号化されたネットワークレイヤパケッ
ト(フレームとも称する)をネットワークレイヤにおい
てカプセル化することにより実行される。このようなシ
ステムは、暗号化されたメッセージの「ネットワークレ
イヤ内ネットワークレイヤ」カプセル化を与える。既存
のシステムのトンネルは、通常、静的に割り当てられた
IPアドレスを有するファイアウオールノード間に存在
する。このような既存のシステムでは、ファイアウオー
ルの静的に割り当てられたIPアドレスが、ファイアウ
オール内のトンネルエンドポイントのアドレスである。
既存のシステムは、ネットワークレイヤアドレスを動的
に割り当てねばならないエンティティをベースとして許
可を出すことのできるトンネルを与えるものではない。
これは、特に、ユーザが移動計算環境においてトンネル
を確立しようとする場合及びインターネットサービスプ
ロバイダ(ISP)から動的に割り当てられたIPアド
レスを要求する場合に問題となる。
【0010】既存の仮想プライベートネットワークは、
ネットワークレイヤ内ネットワークレイヤカプセル化を
ベースとしているので、一般に、接続なしのデータグラ
ム型サービスしか提供することができない。データグラ
ム型サービスは、パケットの供給を保証しないので、既
存のトンネルは、各送信されたパケット内に含まれたデ
ータに対して暗号化方法を容易に使用できるに過ぎな
い。多数のパケットの内容をベースとする暗号化、例え
ば、多数のパケットに対する暗号化ブロックチェーン又
はストリーム暗号化が望まれる。例えば、暗号化データ
は、暗号化される現在パケットデータの内容に基づくだ
けでなく、通信ステーション間の接続又はセッションの
経歴のある属性にも基づいて形成されるのが好都合であ
る。暗号化アルゴリズム及びキー型暗号化の例が、多数
の文献、例えば、「応用暗号学−Cでのプロトコル、ア
ルゴリズム及びソースコード(Applied Cryptography -
Protocols, Algorithms and Source Code in C) 」、ブ
ルース・シュナイラ著、ニューヨーク州、ニューヨーク
のジョン・ウイリー・アンド・ソンズ出版、コピーライ
ト1994年に開示されている。
【0011】従って、移動計算環境にいるユーザをサポ
ートするために動的に決定されたエンドポイントを有す
る仮想プライベートネットワークを与える新規な擬似ネ
ットワークアダプタが要望される。この新規な擬似ネッ
トワークアダプタは、ノードの通信プロトコルスタック
に対し実際の物理的デバイスへのインターフェイスとし
て見えねばならない。この新規な擬似ネットワークアダ
プタは、多数のパケットに対する暗号化ブロックチェー
ンモード又はストリーム暗号化を便利にサポートするた
めに、トンネルを通るフレームの保証された整然とした
供給をサポートしなければならない。
【0012】
【課題を解決するための手段】本発明は、仮想プライベ
ートネットワークを与える新規な擬似ネットワークアダ
プタを提供する。この新規なシステムは、仮想プライベ
ートネットワークを経て送信するためにローカル通信プ
ロトコルスタックからパケットを捕獲するインターフェ
イスを備えている。このインターフェイスは、ローカル
通信スタックには、ネットワークアダプタのためのネッ
トワークアダプタデバイスドライバとして見える。
【0013】本発明は、その広い形態において、仮想ネ
ットワークを与える請求項1に記載の擬似ネットワーク
アダプタ、及び請求項9に記載の方法を包含する。
【0014】本発明のシステムは、以下に述べるよう
に、ダイナミックホストコンフィギュレーションプロト
コル(DHCP)サーバエミュレータと、アドレスレゾ
リューションプロトコル(ARP)サーバエミュレータ
とを更に備えている。この新規なシステムは、リモート
プライベートネットワークのノードにゲートウェイを経
て到達できそしてこのゲートウェイに擬似ネットワーク
アダプタを経て到達できることをローカル通信プロトコ
ルスタックに指示する。この新規な擬似ネットワークア
ダプタは、この擬似ネットワークアダプタを経て送信す
るためにローカル通信プロトコルスタックからのデータ
パケットを処理する送信路を備えている。この送信路
は、データパケットを暗号化するための暗号化エンジン
と、暗号化されたデータパケットをトンネルデータフレ
ームへとカプセル化するためのカプセル化エンジンとを
備えている。擬似ネットワークアダプタは、トンネルデ
ータフレームを、リモートサーバノードの物理的ネット
ワークアダプタへ送信するために、ローカル通信プロト
コルスタックへ返送する。
【0015】好ましくは、以下に述べるように、擬似ネ
ットワークアダプタは、各トンネルデータフレームのダ
イジェストフィールドにダイジェスト値を含む。キー型
のハッシュファンクションは、データ及び共用暗号キー
を入力として取り上げそしてダイジェストと称するデジ
タル符号を出力するハッシュファンクションである。ダ
イジェストフィールドの値はキー型ハッシュファンクシ
ョンの出力に等しく、このキー型ハッシュファンクショ
ンは、トンネルデータフレーム内にカプセル化されたデ
ータパケットより成るデータであって、リモートサーバ
ノードへ既に送られたトンネルデータフレームの全数に
等しいカウンタ値と連結されたデータに適用される。。
このシステムの別の特徴においては、擬似ネットワーク
アダプタは、捕獲されたデータパケットの各々における
イーサネットヘッダを処理し、これは、イーサネットヘ
ッダを除去することを含む。
【0016】新規な擬似ネットワークアダプタは、更
に、リモートサーバノードから受け取ったデータパケッ
トを捕獲するためのローカル通信プロトコルスタックの
搬送レイヤへのインターフェイスと、ローカル通信プロ
トコルスタックの搬送レイヤから捕獲された受け取った
データパケットを処理するための受信経路とを備えてい
る。受信経路は、カプセル解除エンジン及び暗号解読エ
ンジンを備え、暗号解読されカプセル解除されたデータ
パケットを、ユーザへ付与するために、ローカル通信プ
ロトコルスタックへ返送する。
【0017】従って、移動計算環境にいるユーザをサポ
ートするために動的に決定されたエンドポイントを有す
る仮想プライベートネットワークを与える新規な擬似ネ
ットワークアダプタが提供される。この新規な擬似ネッ
トワークアダプタは、完全に形成されたフレームを送信
の前に捕獲するシステムを備えている。この新規な擬似
ネットワークアダプタは、ステーションの通信プロトコ
ルスタックに対し実際の物理的デバイスへのインターフ
ェイスとして見える。更に、この新規な擬似ネットワー
クアダプタは、多数のパケットに対しストリームモード
暗号化又は暗号ブロックチェーンを用いてトンネルのエ
ンドポイント間に機密通信を便利に与えるための暗号化
機能も備えている。
【0018】
【発明の実施の形態】本発明は、添付図面を参照した好
ましい実施形態の以下の詳細な説明より充分に理解され
よう。先ず、図1を参照し、オープンシステムインター
コネクション(OSI)基準モデルをベースとする通信
について説明する。図1には、第1プロトコルスタック
10と、第2プロトコルスタック14との間の通信12
が示されている。第1プロトコルスタック10及び第2
プロトコルスタック14は、OSI基準モデルの7つの
プロトコルレイヤ(アプリケーションレイヤ、プレゼン
テーションレイヤ、セッションレイヤ、トランスポート
レイヤ、ネットワークレイヤ、データリンクレイヤ及び
フィジカルレイヤ)を実施するものである。プロトコル
スタックは、通常は、ソフトウェア及びハードウェアの
ある組合せにおいて実施される。OSI基準モデルの各
プロトコルレイヤにより与えられる特定のサービスの説
明は、多数の文献、例えば「コンピュータネットワーク
(Computer Networks) 」、第2版、アンドリュー・S・
タネンバウム著、ニュージャージ州、イングルウッド・
クリフのプレンティス・ホール出版、コピーライト19
88年に見られる。
【0019】図1に示すように、送信プロセス13から
受信プロセス15へ送られるべきデータ11は、送信プ
ロセスのプロトコルスタック10を経てフィジカルレイ
ヤ9へと下方に通され、データ経路7を経て受信プロセ
ス15へ送られる。データ11がプロトコルスタック1
0を経て下方に通されるときに、各プロトコルレイヤ
は、そのプロトコルレイヤにより使用される情報を搬送
するために、ヘッダ部分(及びおそらくはトレーラ部分
も)を添付する。例えば、送信プロセスのデータリンク
レイヤ16は、ネットワークレイヤ17から受け取った
情報をデータリンクヘッダ18及びデータリンクレイヤ
トレーラ20で包み、その後、メッセージは、フィジカ
ルレイヤ9へ通されて、実際の送信経路7を経て送信さ
れる。
【0020】図2は、TCP/IPプロトコルスタック
を示す。このTCP/IPプロトコルスタックの幾つか
のプロトコルレイヤは、図1に示すOSIプロトコルス
タックのレイヤに対応する。TCP/IPプロトコルス
タックにおける各レイヤのサービス及びヘッダフォーマ
ットは、多数の文献、例えば、「TCP/IPとのイン
ターワーキング、第1巻、原理、プロトコル及びアーキ
テクチャー(Interworking with TCP/IP, Vol. 1: Princ
iples, Protocols, and Architecture) 」、第2版、ダ
グラス・E・コマー著、ニュージャージ州、イングルウ
ッド・クリフのプレンティス・ホール出版、コピーライ
ト1991年に詳細に説明されている。トランスポート
コントロールプロトコル(TCP)22は、OSI基準
モデルのトランスポートレイヤに対応する。TCPプロ
トコル22は、保証された順序正しいパケット供給を伴
う接続指向の端/端トランスポートサービスを提供す
る。このように、TCPプロトコル22は、信頼性の高
いトランスポートレイヤ接続を与える。
【0021】IPプロトコル26は、OSI基準モデル
のネットワークレイヤに対応する。IPプロトコル26
は、ユーザレイヤへのパケット供給について何ら保証を
与えない。ハードウェアリンクレベル及びアクセスプロ
トコル32は、OSI基準モデルのデータリンク及びフ
ィジカルレイヤに対応する。
【0022】アドレスレゾルーションプロトコル(AR
P)28は、IPレイヤアドレス(IPアドレスと称す
る)を、ハードウェアリンクレベル及びアクセスプロト
コル32(フィジカルアドレス又はMACアドレスと称
する)へマップするのに使用される。各ネットワークス
テーションのARPプロトコルレイヤは、通常、IPア
ドレスとフィジカルアドレスとの間のマッピングのテー
ブル(ARPキャッシュと称する)を備えている。IP
アドレスとそれに対応するフィジカルアドレスとの間の
マッピングが未知であるときには、ARPプロトコル2
8は、ローカルネットワークにブロードキャストパケッ
ト(ARP要求パケット)を発生する。ARP要求は、
フィジカルアドレスが要求されるところのIPアドレス
を指示する。ローカルネットワークに接続された各ステ
ーションのARPプロトコル28は、ARP要求を検討
し、そしてARP要求により指示されたIPアドレスを
ステーションが確認した場合に、応答者のフィジカルア
ドレスを指示する応答(ARPレスポンス又はARPレ
プライパケット)をその要求を発しているステーション
へ発生する。要求を発しているARPプロトコルは、受
け取ったフィジカルアドレスをローカルIPレイヤへ報
告し、このローカルIPレイヤは、次いで、それを用い
て、データグラムを応答側ステーションへ直接送信す
る。各ステーションがそれ自身のIPアドレスのみに応
答するのとは別に、ARPサーバを使用して、それが内
部に記憶する1組のIPアドレスに応答するようにし、
これにより、ブロードキャスト要求の必要性を潜在的に
排除することもできる。この場合には、ARP要求を、
ARPサーバ内に記憶されたIPアドレスマッピングに
対応するフィジカルアドレスに対しARPサーバへ直接
送信することができる。
【0023】システムの始動時に、ネットワーク上の各
ステーションは、TCP/IPを用いて通信する前に、
そのネットワークインターフェイスの各々に対するIP
アドレスを決定しなければならない。例えば、ステーシ
ョンは、1つ以上のネットワークインターフェイスに対
するIPアドレスを動的に得るためにサーバとコンタク
トをとらねばならない。ステーションは、ダイナミック
ホストコンフィギュレーションプロトコル(DHCP)
と称するものを使用して、IPアドレスの要求をDHC
Pサーバへ発生することができる。例えば、DHCPモ
ジュールは、指示されたネットワークインターフェイス
に対するIPアドレスの割り当てを要求するDHCP要
求パケットをシステムの始動時に送信する。DHCPサ
ーバは、DHCP要求パケットを受け取ると、指示され
たネットワークインターフェイスと共に使用される要求
側ステーションへIPアドレスを割り当てる。次いで、
その要求側ステーションは、そのIPアドレスを、TC
P/IPを用いて通信するときにそのネットワークイン
ターフェイスと関連させるためのIPアドレスとしてサ
ーバからの応答に記憶する。
【0024】図3は、ここに開示するシステムを適用で
きるネットワークノードの構成例を示す。図3の例にお
いて、トンネルサーバAは、トンネル接続の開始側であ
る。図3に示すように、「トンネル中継」ノードという
用語は、トランスポートレイヤ接続(例えば、TCP接
続)間にデータパケットを送信するステーションを指す
ものとして使用される。
【0025】例えば、本発明のシステムにおいては、ト
ンネル中継装置は、トランスポートレイヤ接続1とトラ
ンスポートレイヤ接続2との間にパケットを送信するよ
うに動的に構成することができる。トンネル中継装置
は、トランスポートレイヤ接続1を経て受け取ったパケ
ットのヘッダ情報を、トランスポートレイヤ接続2を示
すヘッダ情報と置き換える。次いで、トンネル中継装置
は、パケットをファイアウオールへ送信することがで
き、このファイアウオールは、トランスポートレイヤ接
続2を経て受け取ったパケットをファイアウオールの他
側のプライベートネットワークへ通すように便利にプロ
グラムすることができる。本発明のシステムでは、トン
ネル中継装置は、トンネル接続が確立されるときにトラ
ンスポートレイヤ接続を動的に形成する。従って、トン
ネル中継装置は、トンネル接続が確立されるときに、1
つ以上のトンネルサービスに対し動的な負荷バランスを
とるか又は欠陥許容のための冗長サービスを与えること
ができる。
【0026】図3は、プライベートネットワークN1
(48)のトンネルサーバA(46)を、第1のファイ
アウオール50に物理的に接続された状態で示してい
る。第1のファイアウオール50は、プライベートネッ
トワークN1(48)を、例えばインターネットのよう
な公衆ネットワーク52から分離する。第1のファイア
ウオール50は、例えば、トンネル中継装置B(54)
に物理的に接続され、この中継装置は、次いで、公衆ネ
ットワーク52を経てトンネル中継装置Cと物理的に接
続される。トンネル中継装置Bとトンネル中継装置Cと
の間の接続は、例えば、公衆ネットワーク52を経てル
ータやゲートウェイのような多数の介在する送信ノード
をまたぐ。
【0027】トンネル中継装置Cは、第2のファイアウ
オール58に物理的に接続され、このファイアウオール
は、公衆ネットワーク52をプライベートネットワーク
N2(60)から分離する。第2のファイアウオール5
8は、プライベートネットワークN2(60)のトンネ
ルサーバD(62)と物理的に接続される。図3に示す
要素の動作中に、トンネルサーバD(62)は、トンネ
ルサーバA(46)とのトンネル接続と、プライベート
ネットワークN2(60)上の他のステーションとの間
にIPパケットのルートを与える。このように、トンネ
ルサーバD(62)は、トンネル接続と、プライベート
ネットワークN2(60)との間のルータとして働く。
【0028】図3に示す要素の動作中に、本発明のシス
テムは、プライベートネットワークN1(48)とプラ
イベートネットワークN2(60)との間にトンネル接
続を確立する。従って、図3の実施形態は、プライベー
トネットワーク48とプライベートネットワーク60と
の間に機密通信を与えるための専用の物理的ケーブル又
はラインの必要性を排除する。トンネルサーバA(4
6)とトンネルサーバD(62)との間のトンネル接続
は、トンネルサーバA(46)(ノードA)と、トンネ
ル中継装置B(54)(ノードB)と、トンネル中継装
置C(56)(ノードC)と、トンネルサーバD(6
2)(ノードD)との間の確実な対方式のトランスポー
トレイヤ接続で構成される。例えば、このような対方式
の接続は、各ノードAとノードBとの間、ノードBとノ
ードCとの間、及びノードCとノードDとの間の個々の
トランスポートレイヤ接続である。別の実施形態では、
以下に述べるように、トンネル接続は、公衆ネットワー
クのスタンドアローンPCと、プライベートネットワー
ク内のトンネルサーバとの間に接続されてもよい。
【0029】図4及び5は、図3に示すように、トンネ
ルサーバA(46)(ノードA)とトンネルサーバD
(62)(ノードD)との間にトンネル接続を確立する
間に実行される段階を例示するものである。図4に示す
段階の前に、ノードAは、ノードDに到達するためのト
ンネル経路を選択する。トンネル経路は、トンネルのエ
ンドポイント及び介在するトンネル中継装置を含む。ト
ンネル経路は、例えば、ノードAのシステム管理装置に
よって予め決定される。トンネル経路に沿った各トンネ
ル中継装置は、例えば、与えられた次のノード名(又は
next node arc)に基づき、予め決定され
た命名規定及びサービス、例えば、TCP/IPプロト
コルスイートのドメインネームシステム(DNS)を用
いて、トンネル経路の次のノードを見つけることができ
る。
【0030】図4に示す段階中に、ノードA、B及びC
の各々は、次の段階を実行する。 − 例えば、トンネル中継フレームにおいて見つかった
トンネル経路の次のノードのノード名を分析する。 − トンネル経路の次のノードへの確実なトランスポー
トレイヤ(TCP)接続を確立する。 − 新たに形成された確実なトランスポートレイヤ接続
に沿ってトンネル経路の次のノードへトンネル中継フレ
ームを送信する。
【0031】例えば、図4に示すように、ステップ70
において、ノードAは、ノードBとの確実なトランスポ
ートレイヤ接続を確立する。ステップ72において、ノ
ードAは、ノードAとノードBとの間の確実なトランス
ポートレイヤ接続を経てトンネル中継フレームをノード
Bに送ることによりノードBに対する次の下流ノードを
識別する。トンネル中継フレームは、トンネル経路に沿
った全てのノードを記述するストリングバッファを含む
(例示的なトンネル中継フレームフォーマットの以下に
説明を参照)。ステップ74において、ノードAからの
トンネル中継フレームに応答して、ノードBは、中継フ
レームのストリングバッファをサーチして、ストリング
バッファがノードBのノード名を含むかどうか決定す
る。ノードBがストリングバッファにおいてそのノード
名を見つけると、ストリングバッファにおいて次のノー
ド名を探し、トンネル経路の次のノードのノード名を見
つける。
【0032】ノードBは、トンネル経路の次のノード、
例えば、ノードCとの確実なトランスポートレイヤ接続
を確立する。ノードBは、更に、中継フレームが受け取
られたところのノードAとノードBとの間の確実なトラ
ンスポートレイヤ接続と、ノードBとノードCとの間の
新たに形成された確実なトランスポートレイヤ接続との
間の関連を形成し、その結果、ノードAとの確実なトラ
ンスポートレイヤ接続を経て受け取った後続パケットを
ノードCとの確実なトランスポートレイヤ接続へ及びそ
の逆にも送信する。ステップ76において、ノードB
は、トンネル中継フレームを新たに形成された確実なト
ランスポートレイヤ接続を経てノードCへ送信する。
【0033】ステップ78において、ノードBから送ら
れた中継フレームに応答して、ノードCは、トンネル経
路の次のノードがトンネル経路の最後のノードであり、
従って、トンネルサーバであることを決定する。ノード
Cは、トンネル接続を形成するために別のトンネルサー
バが使用できるかどうかを能動的に決定することができ
る。ノードCは、使用できる別のトンネルサーバの1つ
を選択し、負荷バランス又は欠陥許容を与えるためのト
ンネル接続を形成することができる。その結果として、
ノードCは、多数の使用可能なトンネルサーバの1つ、
例えば、トンネル接続が確立されるときに比較的利用性
の低いトンネルサーバとのトランスポートレイヤ接続を
形成することができる。ここに例示する実施形態では、
ノードCは、トンネル経路に沿った次のノード、この場
合は、ノードDとの確実なトランスポートレイヤ接続を
確立する。
【0034】更に、ノードCは、中継フレームが受け取
られたところのノードBとノードCとの間の確実なトラ
ンスポートレイヤ接続と、ノードCとノードDとの間の
新たに形成された確実なトランスポートレイヤ接続との
間の関連を形成し、その結果として、ノードBとの確実
なトランスポートレイヤ接続を経て受け取った後続パケ
ットをノードDとの確実なトランスポートレイヤ接続へ
及びその逆にも送信する。ステップ80において、ノー
ドCは、中継フレームを新たに形成された確実なトラン
スポートレイヤ接続を経てノードDへ送信する。
【0035】図5は、トンネルエンドポイントの確証、
及び本発明のシステムにより与えられるキー交換資料の
共用の例を示す。本発明のシステムは、トンネル経路に
おいて予め確立された確実なトランスポートレイヤ接続
に確証データ及びキー交換資料を通すことをサポートす
る。キー交換/確証要求(REQUEST)フレーム及
びキー交換/確証応答(RESPONSE)フレームの
使用により次のことが与えられる。 a)トンネル接続の両エンドポイントの相互確証; b)トンネル接続を経て送られる後続データを暗号化/
確証するための共用セッション暗号キー及びキー寿命の
確立; c)後続データに適用されるべき暗号化変換の共用セッ
トに関する合意;及び d)例えば、使用されるべき暗号の強さ及び形式、使用
されるべきデータの圧縮等の、トンネルエンドポイント
間の他の接続特有のデータの交換。このデータは、確証
された接続の特性を定めるためにこのプロトコルのクラ
イエントにより使用することもできる。
【0036】ステップ90において、キー交換/確証要
求フレームは、トンネル経路に沿ってノードAからノー
ドDへと形成された確実なトランスポートレイヤ接続を
経て送信される。ステップ92において、キー交換/確
証応答フレームは、確実なトランスポートレイヤ接続を
経てノードDからノードAへ返送される。図5に示す段
階を用いて交換される属性は、トンネル接続の寿命中使
用することができる。別の実施形態では、図5に示す段
階は、暗号キー、キーの巾、及び暗号/解読アルゴリズ
ムの選択といったトンネル接続中に使用する1組のセッ
ションパラメータに基づいて合意するに充分なキー交換
資料をトンネルのエンドポイントが交換するために必要
に応じて繰り返される。
【0037】更に、ここに開示するシステムにおいて、
ノードA及びノードDに対する確証及びアクセス制御に
使用するための名前は、ネットワークのレイヤアドレス
又はノードのフィジカルアドレスである必要はない。例
えば、トンネル中継フレームを送信する開始ノードが公
衆ネットワーク内に位置するスタンドアローン型PCで
あるような別の実施形態では、確証及び/又はアクセス
制御の目的でユーザの名前を使用することができる。こ
れは、所定のIPアドレスに基づく確証をベースとする
既存のシステムに勝る著しい改善を与える。
【0038】図6は、トンネル中継フレームの実施形態
のフォーマットを示す。図6、7、8及び9に示すトン
ネルフレームフォーマットは、送信時にトランスポート
レイヤ(TCP)フレームのデータ部分内にカプセル化
される。或いは又、保証された順序正しいフレーム供給
をもつ別の同等の接続指向のトランスポートレイヤプロ
トコルを使用してもよい。TCPヘッダフィールドを含
むTCPフレームフォーマットは、通常のものであり、
図示されていない。
【0039】フィールド100は、フレームの長さを含
む。フィールド102は、フレームの形式、例えば、R
ELAY(中継)の形式を含む。フィールド104は、
トンネルプロトコルのバージョン番号を含む。フィール
ド106は、発信ノードの名前、例えば、中継フレーム
を最初に発生するノードのDNSホスト名(図3のノー
ドA)が位置されるストリングバッファフィールド11
2へのインデックスを含む。この起点インデックスフィ
ールド106に続くフィールドは、トンネル経路に沿っ
たノードの名前が位置するストリングバッファ112へ
のインデックスを含む。例えば、各インデックスは、ス
トリングバッファ112内のDNSホスト名のオフセッ
トであってもよい。このように、フィールド108は、
トンネル経路における第1ノード、例えば、ノードB
(図3)の名前のインデックスを含む。フィールド11
0は、トンネル経路における第2ノードの名前のインデ
ックスを含み、等々となる。フィールド112は、トン
ネル経路におけるノードのノード名のストリングを含
む。
【0040】本発明のシステムの動作中に、開始ノー
ド、例えば、図3に示すノードAは、図6に示すトンネ
ル中継フレームのようなトンネル中継フレームを送信す
る。ノードAは、既に確立された確実なトランスポート
レイヤ接続を経て、トンネル経路に沿った第1のステー
ション、例えば、ノードB(図3)へトンネル中継フレ
ームを送信する。ノードBは、トンネル中継フレームの
ストリングバッファをサーチして、そのノード名、例え
ばそのDNSホスト名を見つける。ノードBは、経路イ
ンデックス0により指示されたストリングバッファのノ
ード名を見つけ、そして経路インデックス1(110)
の内容を使用して、トンネル経路に沿った次のノードの
ノード名のストリングバッファ112内の位置を決定す
る。ノードBは、このノード名を使用して、トンネル経
路に沿った次のノードとの確実なトランスポートレイヤ
接続を確立する。次いで、ノードBは、中継フレームを
次のノードへ送信する。このプロセスは、トンネルルー
トの最終ノード、例えば、トンネルサーバD(62)
(図3)に達するまで続けられる。
【0041】図7は、キー交換/キー確証要求フレーム
の実施形態のフォーマットを示す。フィールド120
は、フレームの長さを含む。フィールド122は、フレ
ームの形式、例えば、キー交換/キー確証要求フレーム
を指示するREQUEST(要求)を含む。フィールド
124は、トンネルプロトコルバージョン番号を含む。
フィールド126は、トンネル接続を開始するエンティ
ティの名前、例えば、要求フレームを最初に発生するノ
ードのユーザの名前のオフセットを含む。要求フレーム
におけるこの名前及びキー交換資料は、受信側トンネル
のエンドポイントにより、キー交換/確証要求を確証す
るのに使用される。又、トンネル接続を開始するエンテ
ィティの名前は、システムの所定の機密方針に基づいて
後続のトンネル接続を許可するために使用される。フィ
ールド128は、行先ノード、例えば、図3にノードD
(62)として示すトンネルの端末ノードのノード名の
フレームへのオフセットを含む。
【0042】フィールド130は、キー交換データが、
例えば、ストリングバッファフィールド138内に記憶
されるところのフレームへのオフセットを含む。キー交
換データは、例えば、暗号キー及びこれらキーに関連し
た有効時間のようなトンネル接続の寿命に対する暗号パ
ラメータの共用セットを決定するのに使用されるキー交
換資料を含む。キー交換データ及びフィールド132
は、更に、使用されるべき暗号変換の共用セットと、他
の接続特有のパラメータ、例えば、使用されるべき暗号
の強さ及び形式、使用されるべきデータの圧縮の形式、
等に関する情報も含む。フィールド134は、例えば、
フレームに関する更に別の情報を指示するフラグを含
む。フィールド136は、仮想プライベートネットワー
クを経て到達し得るノードのためのパケットが擬似ネッ
トワークアダプタを経て送信されるようにローカルルー
トテーブルを構成するためにトンネルのエンドポイント
に使用されるクライエントデータを含む。ある実施形態
では、ストリングバッファ138は、受信側トンネルの
エンドポイントの公開暗号キーを用いて暗号化される。
【0043】本発明のシステムの動作中に、トンネルの
端末ノードの一方は、図7に示すキー交換/確証要求フ
レームをトンネルの他方の端末ノードへ送信し、図5の
段階90で述べたキー交換及び確証を実行する。
【0044】図8は、接続RESPONSE(応答)フ
レームと称するキー交換/キー確証応答フレームの実施
形態のフォーマットを示す。フィールド150は、フレ
ームの長さを含む。フィールド152は、フレームの形
式、例えば、キー交換/キー確証応答フレームを指示す
る接続RESPONSE(応答)を含む。フィールド1
54は、トンネルプロトコルバージョン番号を含む。
【0045】フィールド156は、キー交換データが例
えばストリングバッファフィールド163内に記憶され
るところのフレームへのオフセットを含む。キー交換デ
ータは、例えば、トンネル接続の寿命にわたり暗号/解
読に使用されるべきキー交換資料と、このキー交換資料
に関連した有効時間を含む。キー交換データ及びフィー
ルド158は、更に、後続データに適用されるべき暗号
変換の共用セットと、他の接続特有のパラメータ、例え
ば、使用されるべき暗号の強さ及び形式、使用されるべ
きデータの圧縮等に関する情報も含む。フィールド16
0は、例えば、フレームに関する他の情報を指示するフ
ラグを含む。クライエントデータフィールド162は、
仮想プライベートネットワークのノードのためのパケッ
トが擬似ネットワークアダプタを経て送信されるように
ローカルルートテーブルを構成するためにトンネルのエ
ンドポイントの擬似ネットワークアダプタにより使用さ
れるデータを含む。ストリングバッファは、キー交換資
料を含む。ストリングバッファは、例えば、受信側のト
ンネルエンドポイント、この場合はトンネル接続の開始
者の公開暗号キーを用いて暗号化される。
【0046】本発明のシステムの動作中に、トンネルの
端末ノードの一方は、図7に示すキー交換/確証応答フ
レームをトンネルの他方の端末ノードへ送信し、図5の
段階92で述べたキー交換及び確証を実行する。
【0047】図9は、トンネル接続を経て通信するのに
使用されるトンネルデータフレームの実施形態のフォー
マットを示す。図9は、仮想プライベートネットワーク
を通る機密通信のために本発明のシステムによりIPデ
ータグラムをトンネルフレーム内にいかにカプセル化す
るかを示す。フィールド170は、フレームの長さを含
む。フィールド172は、フレームの形式、例えば、ト
ンネルデータフレームを指示するDATA(データ)を
含むフィールド174は、トンネルプロトコルのバージ
ョン番号を含む。
【0048】フィールド176、178及び182は、
カプセル化されたデータグラムに関する情報を含む。フ
ィールド180は、フレームに関する情報を指示するフ
ラグを含む。フィールド184は、フレームの終りの任
意のパッド189の長さを指示する値を含む。このフレ
ームフォーマットは、ブロック暗号を用いて暗号化する
目的で偶数ブロック境界にある量のフレームデータを詰
め込む必要がある場合に、任意のパッド充填を行えるよ
うにする。フィールド186は、ダイジェストフィール
ド187の長さを指示する値を含む。
【0049】このデータフレームフォーマットは、「ダ
イジェスト」と称する送信側のトンネルエンドポイント
により発生されるデジタル符号を含む。このダイジェス
トの値は、例えば、無効フレーム及び既に送信された有
効フレームの応答を検出することにより、データの完全
性を確保する。ダイジェストは、カプセル化されたデー
タグラム190及び単調に増加するシーケンス番号の両
方に適用される従来のキー型暗号化ハッシュファンクシ
ョンの出力である。これにより得られるハッシュ出力
は、ダイジェストフィールド187の値として通され
る。シーケンス番号は、データフレームには含まれな
い。この実施形態では、シーケンス番号は、トンネル接
続の確立以来、受信側ノード(例えば、図3のノード
D)へ送られた全てのデータフレームについて送信側
(例えば、図3のノードA)に維持されるカウンタであ
る。
【0050】データフレームが無効であるか又は複製で
あるかを判断するために、受信側ノードは、カプセル化
されたデータグラム190を暗号解読し、そしてキー型
暗号化ハッシュファンクション(図5に示す段階中にト
ンネルの端末ノードによって合意された)を、その暗号
解読されたカプセル化データグラムと、トンネル接続の
確立以来送信側から受け取ったデータフレームの数を指
示するカウンタの値との両方に適用する。例えば、キー
型ハッシュファンクションは、カウンタ値に連結された
データグラムに適用される。これにより得られるハッシ
ュ出力がダイジェストフィールド187の値に一致する
場合には、カプセル化されたデータグラム190が正し
く受け取られており、複製ではない。ハシュ出力がダイ
ジェストフィールド187の値に一致しない場合には、
完全性チェックが不合格となり、トンネル接続がクロー
ズされる。フィールド188は、暗号化されたネットワ
ークレイヤデータグラム、例えば、暗号化されたIPデ
ータグラムを含む。
【0051】カプセル化されたデータグラムは、種々の
暗号化技術を用いて暗号化される。本発明のシステムの
実施形態では、好都合にも、トンネル接続の寿命中に送
信される全てのデータに対し、ストリーム暗号又は暗号
ブロックチェーン暗号化を用いてデータグラム190が
暗号化される。これは、トンネル接続内のトランスポー
トレイヤ接続の信頼性によって可能となる。使用される
暗号化及び接続特有の対称的暗号キーの特定の形式は、
図5に示す段階を用いて決定される。カプセル化された
データグラム188以外のトンネルデータフレームのフ
ィールドは、トンネルデータフレームヘッダフィールド
と称される。
【0052】図10は、「クローズ接続」フレームの実
施形態を示すブロック図である。フィールド190は、
フレームの長さを含む。フィールド191は、例えば、
CLOSE(クローズ)に等しい値を有するフレーム形
式を含む。フィールド192は、トンネルプロトコルの
現在プロトコルバージョン番号に等しい値を含む。フィ
ールド193は、トンネル接続がクローズされる理由を
指示する状態コードを含む。
【0053】本発明のシステムの動作中に、トンネル接
続のエンドポイントがトンネル接続をクローズすべきで
あると決定したときには、図10に示すクローズ接続フ
レームがトンネル接続の他方のエンドポイントに送信さ
れる。クローズ接続のクローズフレームが受け取られる
と、受信側は、トンネル接続をクローズし、トンネル接
続を経てそれ以上のデータが送信も受信もされない。
【0054】図11は、トンネル接続を開始するノード
においてトンネル接続を形成する実施形態を示す状態図
である。図11、12及び13においては、状態が楕円
形で示され、そして動作及び事象が長方形で示されてい
る。例えば、図3に示すトンネルサーバノードAは、ト
ンネルサーバノードDとトンネル接続を確立するときに
トンネル接続の開始側として働く。同様に、図14のク
ライエントシステム247は、トンネルサーバノードと
のトンネル接続を確立するときにトンネル接続の開始者
として働く。トンネル開始者は、アイドル状態194で
始まる。トンネル接続を確立すべきであることを指示す
るユーザからの入力に応答して、トンネル開始者は、ア
イドル状態194からTCPオープン状態195へ遷移
する。このTCPオープン状態195において、トンネ
ル開始者は、トンネル経路に沿った第1のノードとの確
実なトランスポートレイヤ接続を確立する。例えば、ト
ンネル開始者は、トンネル経路に沿った第1ノードへの
TCP接続に関連したソケットインターフェイスをオー
プンする。図3において、ノードAは、ノードBとのT
CP接続に関連したソケットインターフェイスをオープ
ンする。
【0055】TCPオープン状態195における確実な
トランスポートレイヤ接続の確立に続いて、トンネル開
始者は、「中継送信」状態197に入る。この「中継送
信」状態197において、トンネル開始者は、198に
おいて、確実なトランスポートレイヤ接続を経て中継フ
レームを送信する。中継フレームの送信に続いて、トン
ネル開始者は、接続状態199に入る。中継フレームの
送信中に、送信エラーが生じた場合には、トンネル開始
者は、ネットワークエラー状態215及びその後にダイ
イング状態208に入る。ダイイング状態208におい
て、トンネル開始者は、例えば、ノードBとのTCP接
続を切断することにより、TCPオープン状態195で
形成された確実なトランスポートレイヤ接続を切断す
る。209での切断に続いて、トンネル開始者は、デッ
ド状態210に入る。その後、トンネル開始者は、シス
テム機密構成パラメータにより予め決定された時点でア
イドル状態194へ遷移して戻る。
【0056】接続状態199において、トンネル開始者
は、キー交換/確証要求フレームを200においてトン
ネルサーバへ送信する。キー交換/確証要求フレーム2
00の送信に続いて、トンネル開始者は、応答待機状態
201に入る。トンネル開始者は、トンネルサーバから
キー交換/確証応答フレーム202を受け取るまで、応
答待機状態201に留まる。キー交換/確証応答フレー
ムが202において受け取られた後、トンネル開始者
は、許可状態203に入り、トンネルデータフレームの
送信又は受信が行われる。許可状態203においてクロ
ーズ接続フレームを216で受け取ると、トンネル開始
者は、ダイイング状態208へ移行する。
【0057】セッション暗号キーが211において終了
すると、トンネル開始者は、再接続状態212に入り、
クローズ接続フレームを213において送信し、そして
トンネル経路に沿った第1ノードとのTCP接続を21
4において切断する。その後に、トンネル開始者は、T
CPオープン状態195に入る。
【0058】許可状態203の間に、ローカルユーザが
セッション終了コマンドを204において発生するか、
又は受け取ったデータフレームに確証エラー又は暗号エ
ラーがあることが205で検出されると、トンネル開始
者は、クローズ状態206に入る。クローズ状態206
の間に、トンネル開始者は、クローズ接続フレームを2
07においてトンネルサーバに送信する。次いで、トン
ネル開始者は、ダイイング状態208に入る。
【0059】図12は、トンネルサーバ、例えば、図3
のノードD又は図14のトンネルサーバ253内の状態
を示す状態図である。トンネルサーバは、受け入れ待機
状態217で始まる。受け入れ待機状態217におい
て、トンネルサーバは、確実なトランスポートレイヤ接
続の要求、例えば、TCP接続要求218を、トンネル
サーバの前のトンネル経路の最後のノード、例えば、図
3のノードCから受け取る。TCP接続要求218に応
答して、トンネルサーバは、その要求を受け入れそして
それにより生じるノードCとのTCP接続に関連したソ
ケットインターフェイスを確立する。
【0060】トンネルサーバの前のトンネル経路の最後
のノードとのTCP接続が確立されると、トンネルサー
バは、中継受信状態219に入る。中継受信状態219
において、トンネルサーバは、220において中継フレ
ームを受け取るよう待機し、受け取った時点で、接続待
機状態221に入る。219における中継フレームの受
信中に何らかのネットワークエラー234が発生した場
合には、トンネルサーバは、ダイイング状態230に入
る。ダイイング状態230の間に、トンネルサーバは、
トンネルサーバの前のトンネル経路の最後のノードとの
トランスポートレイヤ接続を231において切断する。
接続の切断後に、トンネルサーバは、デッド状態232
に入る。
【0061】接続待機状態221において、トンネルサ
ーバは、222におけるキー交換/確証要求フレームの
受信を待機する。222におけるキー交換/確証要求フ
レームの受信に続いて、トンネルサーバは、要求された
トンネル接続がステップ223において許可されるかど
うか決定する。トンネル接続が許可されるかどうかの決
定は、トンネル開始者の名前、及びキー交換/確証要求
フレーム内のキー交換資料をベースとする。
【0062】要求されたトンネル接続が許可された場合
には、トンネルサーバは、キー交換/確証応答フレーム
を224においてトンネル開始者へ返送する。要求され
たトンネル接続が許可されない場合には、トンネルサー
バは、クローズ状態228に入り、クローズ接続フレー
ムを229においてトンネルクライエントへと送信す
る。229におけるクローズ接続フレームの送信に続い
て、トンネルサーバは、ダイイング状態230に入る。
【0063】要求されたトンネル接続がステップ223
において許可されると判断された場合には、トンネルサ
ーバは、許可状態225に入る。この許可状態におい
て、トンネルサーバは、それ自身とトンネル開始者との
間でトンネルデータフレームを送信及び受信する。許可
状態225において、トンネルサーバは、クローズ接続
フレームを233において受け取ると、トンネルサーバ
は、ダイイング状態230へと移行する。許可状態22
5において、トンネルサーバは、226においてユーザ
からセッション終了コマンドを受け取ると、クローズ状
態228へ移行しそして229においてクローズ接続フ
レームをトンネル開始者へ送信する。トンネルサーバ
は、許可状態225において、受信パケットの完全性欠
陥を検出すると、クローズ状態228へ移行する。クロ
ーズ状態228において、トンネルサーバは、クローズ
接続フレーム229を送信し、その後、ダイイング状態
230に入る。
【0064】図13は、トンネル中継ノード内の状態マ
シンを例示する状態図である。トンネル中継ノードは、
受け入れ待機状態235で始まる。確実なトランスポー
トレイヤ接続を形成する要求が236において受け取ら
れると、その要求側ノードで確実なトランスポートレイ
ヤ接続が受け入れられる。例えば、中継ノードと、トン
ネル経路における手前のノードとの間でTCP接続が受
け入れられる。
【0065】次いで、中継ノードは、中継受信状態23
7へと移行する。中継受信状態237の間に、中継ノー
ドは、238において中継フレームを受信する。238
における中継フレームの受信に続いて、中継ノードは、
TCP接続事象236に応答して確立されたTCP接続
から受け取ったフレームを前進させるためにどんな前進
アドレスを使用すべきか決定する。トンネル経路におけ
る次のノードがトンネルサーバである場合には、使用可
能なトンネルサーバのグループから利用性の低いトンネ
ルサーバを選択するか、又は他のものが動作していない
場合には動作しているサーバを選択するように、前進ア
ドレスが239において選択される。
【0066】ステップ239における前進アドレスの決
定に続いて、中継ノードは前進接続状態240に入る。
この前進接続状態240において、中継ノードは、ステ
ップ239で決定された前進アドレス(1つ又は複数)
により指示されたノード(1つ又は複数)との確実なト
ランスポートレイヤ接続を確立する。
【0067】事象241での新たな接続の確立に続い
て、トンネル中継ノードは、前進状態242に入る。こ
の前進状態242において、中継ノードは、236で確
立された接続と、241で確立された接続との間に全て
のフレームを前進させる。243においてネットワーク
エラーが検出されるか又はトンネル接続の閉止を指示す
るフレームが受け取られると、トンネル中継ノードは、
ダイイング状態244に入る。ダイイング状態244に
続いて、中継ノードは、事象241で確立された接続を
切断する。次いで、中継ノードは、デッド状態246に
入る。
【0068】図14は、擬似ネットワークアダプタ24
8により形成される仮想プライベートネットワーク24
9、及び公衆ネットワーク251にわたるトンネルクラ
イエント247とトンネルサーバ253との間のトンネ
ル接続を例示する。トンネルサーバ253及びトンネル
クライエント247は、例えば、CPU又はマイクロプ
ロセッサ、メモリ、及び種々のI/Oデバイスを含むネ
ットワークステーションである。トンネルサーバ253
は、フィジカルネットワークアダプタ254を経て、ネ
ットワークノード1(257)及びネットワークノード
2(258)を含むプライベートLAN256に物理的
に接続されて示されている。トンネルサーバ253は、
更に、プライベートLAN256を公衆ネットワーク2
51から分離するファイアウオール252に物理的に接
続されて示されている。ファイアウオール252は、公
衆ネットワーク251に物理的に接続される。トンネル
サーバ253は、更に、擬似ネットワークアダプタ25
5を含むように示されている。クライエントシステム2
47は、公衆ネットワーク251に物理的に接続された
フィジカルネットワークアダプタ250を含むように示
されている。
【0069】図14に示す要素の動作中に、仮想プライ
ベートネットワーク249内のノードは、トンネルクラ
イエント247に対し、あたかも擬似ネットワークアダ
プタ248を経てクライエントシステムに物理的に接続
されたかのように見える。トンネルクライエントと、仮
想プライベートネットワーク内にあるように見えるノー
ドとの間の送信は、擬似ネットワークアダプタ248を
経て送られる。トンネルクライエント247とトンネル
サーバ253との間のデータ送信は、トンネルクライエ
ント247とトンネルサーバ253との間のトンネル接
続を用いて物理的に実行される。
【0070】図15は、図14の擬似ネットワークアダ
プタ248のような擬似ネットワークアダプタの要素を
例示するものである。1つの実施形態において、図15
に示す要素は、図14に示すトンネルクライエント24
7において実行されるソフトウェアとして実施される。
図15に示すように、擬似ネットワークアダプタ259
は、仮想アダプタドライバインターフェイス263と、
カプセル化エンジン264と、暗号化エンジン265
と、カプセル解除エンジン268と、暗号解読エンジン
266とを備えている。更に、擬似ネットワークアダプ
タ259には、ARPサーバエミュレータ270、及び
ダイナミックホストコンフィギュレーションプロトコル
(DHCP)サーバエミュレータ272も示されてい
る。
【0071】擬似ネットワークアダプタ259は、仮想
アダプタドライバインターフェイス263を経てTCP
/IPプロトコルスタック260へインターフェイスさ
れて示されている。TCP/IPプロトコルスタック2
60は、オペレーティングシステム261の他のサービ
ス、及びフィジカルネットワークアダプタのドライバ2
62へインターフェイスされて示されている。フィジカ
ルネットワークアダプタのドライバ262は、例えば、
図14に示すフィジカルネットワークアダプタ250の
ようなフィジカルネットワークアダプタの動作を制御す
るデバイスドライバである。
【0072】図15に示す要素の動作中に、擬似ネット
ワークアダプタ259は、図14に示した仮想プライベ
ートネットワーク249内のノードのIPアドレスに到
達できることをTCP/IPスタック260のネットワ
ークレイヤに登録する。例えば、クライエントシステム
の擬似ネットワークアダプタは、サーバの擬似ネットワ
ークアダプタに到達できることを登録する。その後、仮
想プライベートネットワークを経て到達できるノードへ
アドレスされたトンネルクライエントからのメッセージ
がTCP/IPスタックにより擬似ネットワークアダプ
タ259へ通される。擬似ネットワークアダプタ259
は、次いで、メッセージを暗号化し、そしてメッセージ
をトンネルデータフレームへとカプセル化する。擬似ネ
ットワークアダプタ259は、次いで、トンネルデータ
フレームをTCP/IPスタック260へ返送し、トン
ネルサーバのフィジカルネットワークアダプタへと送信
する。トンネルサーバは、受け取ったデータフレームを
サーバの擬似ネットワークアダプタへ通し、これがメッ
セージをカプセル解除しそして暗号解読する。
【0073】図16は、擬似ネットワークアダプタ28
0を詳細に例示する。擬似ネットワークアダプタ280
は、仮想ネットワークアダプタドライバインターフェイ
ス288を備えている。送信経路290は、暗号化エン
ジン292及びカプセル化エンジン294を備えてい
る。カプセル化エンジン294は、TCP/IPプロト
コルスタック内のTCP/IP送信インターフェイス3
12とインターフェイスされ、例えば、トンネル経路の
第1中継ノード、又はトンネル経路に中継ノードがない
場合には遠隔のトンネルエンドポイントに関連されたソ
ケットインターフェイスとインターフェイスされる。
【0074】図16の実施形態においては、擬似ネット
ワークアダプタ280は、TCP/IPプロトコルスタ
ック282にとってイーサネットアダプタのように見え
る。従って、TCP/IPプロトコルスタックにより仮
想プライベートネットワークを経て到達できると理解さ
れる行先アドレスのイーサネットパケット286は、T
CP/IPプロトコルスタック282から仮想ネットワ
ークアダプタインターフェイス288へそして送信経路
290を経て送られる。同様に、擬似ネットワークアダ
プタ280を経て受け取られるイーサネットパケット2
84は、受信経路296から仮想ネットワークアダプタ
インターフェイス288へそしてTCP/IPプロトコ
ルスタック282へ送られる。
【0075】図16の擬似ネットワークアダプタ280
に示された受信経路296は、仮想ネットワークアダプ
タインターフェイス288にインターフェイスされた暗
号解読エンジン298と、カプセル解除エンジン300
とを有する。カプセル解除エンジン300は、次いで、
TCP/IPプロトコルスタック282のTCP/IP
受信ファンクション314にインターフェイスされ、例
えば、トンネル経路の第1中継ノード、又はトンネル経
路に中継ノードがない場合には遠隔のトンネルエンドポ
イントに関連されたソケットインターフェイスにインタ
ーフェイスされる。擬似ネットワークアダプタ280
は、更に、ARPサーバエミュレータ304及びDHC
Pサーバエミュレータ306を備えている。ARP及び
DHCP要求パケット302は、各々、ARPサーバエ
ミュレータ304及びDHCPサーバエミュレータ30
6へ通される。受け取ったパケットが受信経路296か
らTCP/IPスタック282へ通されるときは、例え
ば、マイクロソフト社により定義されたネットワークデ
バイスインターフェイススペシフィケーション(NDI
S)のようなインターフェイスを経てTPC/IPスタ
ック282へ受信事象が指示されねばならない。
【0076】又、図16に示すように、オペレーティン
グシステム310は、TCP/IPプロトコルスタック
282に接続される。TCP/IPプロトコルスタック
282は、一般に、オペレーティングシステムの構成要
素であると考えられる。従って、図16のオペレーティ
ングシステム310は、TCP/IPプロトコルスタッ
ク282以外の残りのオペレーティングシステムファン
クション及び手順である。更に、フィジカルネットワー
クアダプタ308は、TCP/IPプロトコルスタック
282により動作されるように示されている。
【0077】図16に示す要素の動作中に、ユーザは、
TCP/IPプロトコルスタック282へ送信するため
のデータを通し、そしてメッセージが送信されるべきノ
ードのIPアドレスを、例えばソケットインターフェイ
スを経てTCPレイヤに指示する。TCP/IPプロト
コルスタック282は、次いで、仮想プライベートネッ
トワークを経て行先ノードに到達できるかどうか判断す
る。メッセージが、仮想プライベートネットワークを経
て到達できるノードのためのものである場合には、TC
P/IPプロトコルスタック282は、そのメッセージ
に対応するイーサネットパケット286を擬似ネットワ
ークアダプタ280へ送る。次いで、擬似ネットワーク
アダプタ280は、イーサネットパケット286を送信
経路に通し、イーサネットパケットは、トンネルデータ
フレームへと暗号化及びカプセル化される。トンネルデ
ータフレームは、TCP/IP送信ファンクション31
2を経てTCP/IPプロトコルスタック282へ返送
され、トンネル接続を経てトンネルサーバへ送信され
る。ここに示す実施形態では、擬似ネットワークアダプ
タの送信経路内で暗号化される前にトンネルデータフレ
ームに対してダイジェスト値が計算される。
【0078】更に、図16に示す要素の動作中に、TC
P/IPプロトコルスタック282がTCP/IPトン
ネル接続のリモートエンドポイント、例えばトンネルサ
ーバからパケットを受信したときに、そのパケットは、
TCP受信事象に応答して、擬似ネットワークアダプタ
280へ通される。次いで、擬似ネットワークアダプタ
280は、トンネルヘッダを除去することによりそのパ
ケットをカプセル解除する。更に、擬似ネットワークア
ダプタは、そのカプセル解除されたデータを暗号解読
し、そしてそれをTCP/IPプロトコルスタック28
2へ戻す。擬似ネットワークアダプタ280から送られ
たデータは、TCP/IPプロトコルスタック282に
とって、実際のフィジカルデバイスから受け取ったイー
サネットパケットのように見え、そしてそれに含まれた
データは、擬似ネットワークアダプタにより与えられる
イーサネットパケットのヘッダの情報に基づいてTCP
/IPプロトコルスタック282により適当なユーザへ
送られる。
【0079】図17は、例えば、図14の送信経路29
0におけるパケット送信中に、擬似ネットワークアダプ
タにより実行される段階を示すフローチャートである。
TCP/IPプロトコルスタックは、パケットの行先I
Pアドレス及びネットワークレイヤルートテーブルに基
づき、仮想LANを経て、送信されるべきパケットの行
先ノードに到達し得ると決定する。ステップ320にお
いて、パケットは、TCP/IPプロトコルスタックか
ら擬似ネットワークアダプタへ通される。その結果、擬
似アダプタの送信ルーチンが、例えば、図16の仮想ネ
ットワークアダプタインターフェイス288においてト
リガーされる。
【0080】ステップ322において、擬似ネットワー
クアダプタの送信ルーチンは、TCP/IPスタックに
より与えられるパケットのイーサネットヘッダを処理
し、そしてそれを除去する。ステップ324において、
送信ルーチンは、パケットがARP要求パケットである
かどうか決定する。パケットが、トンネルサーバの擬似
ネットワークアダプタのような仮想LAN上のノードの
IPアドレスのためのARP要求パケットである場合に
は、ステップ324の後にステップ326へと続く。さ
もなくば、ステップ324の後にステップ330へと続
く。
【0081】ステップ326において、擬似ネットワー
クアダプタのARPサーバエミュレータは、ARP応答
パケットを発生する。例えば、ARP要求が、トンネル
サーバの擬似ネットワークアダプタのIPアドレスに対
応するフィジカルアドレスに対するものである場合に
は、ARP応答は、そのIPアドレスに関連されるべき
所定の指定済のフィジカルアドレスを指示する。ステッ
プ328において、擬似ネットワークアダプタは、AR
P応答を仮想ネットワークアダプタインターフェイスへ
通す。次いで、仮想ネットワークアダプタインターフェ
イスは、受け取ったパケットを、例えば、NDISイン
ターフェイスを用いて、TCP/IPプロトコルスタッ
クへ指示する。次いで、TCP/IPプロトコルスタッ
クは、ARP応答を、あたかも実際のフィジカルネット
ワークを経て受け取ったかのように処理する。
【0082】ステップ330において、送信ルーチン
は、パケットが、擬似ネットワークアダプタのIPアド
レスを要求するDHCP要求パケットであるかどうかを
決定する。もしそうであれば、ステップ330の後にス
テップ332が続く。さもなくば、ステップ330の後
にステップ334が続く。
【0083】ステップ334において、擬似ネットワー
クアダプタのDHCPサーバエミュレータは、DHCP
応答を発生する。DHCPのフォーマットは、一般に、
DHCP REFにおいて説明する。ステップ328に
おいて、擬似ネットワークアダプタは、DHCP応答を
仮想ネットワークアダプタインターフェイスへ通し、こ
れは、例えば、トンネルサーバから受け取ったIPアド
レスをキー交換/確証応答フレームのクライエントデー
タフィールドに指示する。次いで、仮想ネットワークア
ダプタインターフェイスは、受け取ったパケットをTC
P/IPプロトコルスタックへ指示する。TCP/IP
プロトコルスタックは、次いで、DHCP応答を、あた
かもそれが実際のフィジカルネットワークを経て受け取
られたかのように処理する。
【0084】ステップ334において、擬似ネットワー
クアダプタは、暗号化エンジンを用いてメッセージを暗
号化し、受信者のみがメッセージを暗号解読して読み取
れるようにする。ステップ336において、擬似ネット
ワークアダプタは、暗号化されたメッセージをトンネル
データフレームへとカプセル化する。ステップ338に
おいて、擬似ネットワークアダプタは、TCP/IPプ
ロトコルスタックを用いてトンネル接続を経てトンネル
データフレームを送信する。
【0085】図18は、例えば、図14の受信経路29
6におけるパケット受信中に、擬似ネットワークアダプ
タにより実行される段階を示すフローチャートである。
ステップ350において、擬似ネットワークアダプタ
は、パケットがトンネル接続を経て受け取られたことが
通知される。ステップ352において、擬似ネットワー
クアダプタは、トンネルデータフレームのヘッダフィー
ルドを除去することにより、受け取ったメッセージをカ
プセル解除する。ステップ354において、擬似ネット
ワークアダプタは、トンネルデータフレームからカプセ
ル解除されたデータグラムを暗号解読する。ここに示す
実施形態では、ステップ356において、擬似ネットワ
ークアダプタは、カプセル解除されたメッセージからイ
ーサネットパケットを形成する。ステップ358におい
て、擬似ネットワークアダプタは、イーサネットパケッ
トが仮想ネットワークアダプタインターフェイスを経て
TCP/IPプロトコルスタックへ受け取られたことを
指示する。これは、TCP/IPプロトコルスタック
が、あたかも実際のイーサネットアダプタからイーサネ
ットパケットを受信したかのように振る舞うようにさせ
る。
【0086】図19は、擬似ネットワークアダプタの実
施形態における送信経路内のデータ流を示す。ステップ
1(370)において、アプリケーションは、送信され
るべきデータをTCP/IPプロトコルスタック内のT
CPプロトコルレイヤ372へ送る。アプリケーション
は、TCPプロトコルレイヤ372への従来のソケット
インターフェイスを使用してデータを通すと共に、デー
タを送信すべき行先IPアドレスを指示する。次いで、
TCPプロトコルレイヤ372は、TCP/IPプロト
コルスタック内のIPプロトコルレイヤ374へデータ
を通す。ステップ2(376)において、TCP/IP
プロトコルスタックは、ルートテーブル378を参照し
て、行先IPアドレスに到達するのにどのネットワーク
インターフェイスを使用すべきかを決定する。
【0087】この例においては、行先IPアドレスが、
仮想プライベートネットワークを経て到達し得るノード
であるから、IPレイヤ374は、擬似ネットワークア
ダプタを経て行先IPアドレスに到達し得ることをルー
トテーブル378から決定する。従って、ステップ3
(380)において、TCP/IPプロトコルスタック
は、データを含むパケットを擬似ネットワークアダプタ
382へ通す。
【0088】ステップ4(384)において、擬似ネッ
トワークアダプタ382は、データパケットを暗号化
し、そしてそれらをトンネルデータフレームへとカプセ
ル化する。次いで、擬似ネットワークアダプタ382
は、トンネル経路の第1ノードとのトンネル接続への従
来のソケットインターフェイスを経て、TCP/IPプ
ロトコルスタック内のTCPプロトコルレイヤ372へ
トンネルデータフレームパケットを返送する。
【0089】TCPプロトコルレイヤ372は、次い
で、トンネルデータフレームをそのデータとして有する
TCPレイヤパケットを各トンネルデータフレームごと
に形成する。TCPフレームは、IPレイヤ374へ通
される。ステップ5(386)において、ルートテーブ
ル378が再びサーチされ、このときは、行先IPアド
レスが、トンネルサーバのフィジカルネットワークアダ
プタに関連したIPアドレスであり、従って、フィジカ
ルネットワークアダプタ390を経て到達し得ると判断
される。従って、ステップ6(388)において、フィ
ジカルネットワークアダプタのデバイスドライバ390
が呼び出され、パケットをフィジカルネットワークアダ
プタへ通す。ステップ7(392)において、フィジカ
ルネットワークアダプタは、データをフィジカルネット
ワーク394へ送信する。
【0090】図20は、擬似ネットワークアダプタを伴
うパケット受信の実施形態におけるデータ流を示す図で
ある。ステップ1(410)において、データは、フィ
ジカルネットワーク412を経て到着し、フィジカルネ
ットワークアダプタにより受信され、そしてフィジカル
ネットワークドライバ414へ通される。フィジカルネ
ットワークドライバ414は、データを、ステップ2
(418)においてIPレイヤ420及びTCPレイヤ
422に通し、そしてステップ3(424)において例
えば従来のソケットインターフェイスを経て擬似ネット
ワークアダプタ426へ通す。ステップ4(428)に
おいては、擬似ネットワークアダプタ426は、受け取
ったデータを暗号解読及びカプセル解除し、そしてそれ
を、例えばTCP/IPスタックのTDI(トランスポ
ートレイヤデペンデントインターフェイスAPI)を経
てTCP/IPプロトコルスタックのIPレイヤへ送
る。次いで、データは、TCP/IPプロトコルスタッ
クに通され、そしてステップ5(430)において、カ
プセル解除されたデータグラムの行先IPアドレスに関
連したユーザへ通される。
【0091】図21は、擬似ネットワークアダプタを伴
うパケット送信の実施形態におけるデータ流を示すもの
である。図21は、Microsoft Window
s95(登録商標)PCプラットホームでの使用例を示
す。図21において、ユーザアプリケーション450
は、暗号解読されたデータを、例えば、WinSock
API 452のTCP/IPプロトコルのTCPレ
イヤへのインターフェイスへ通す。ユーザは、擬似ネッ
トワークアダプタを経てアクセスできる仮想プライベー
トネットワークを経て到達し得るノードに関連した行先
IPアドレスを指示する。
【0092】TCPレイヤ454は、データをIPレイ
ヤ456へ通し、該IPレイヤは、次いで、データをネ
ットワークデバイスインターフェイススペシフィケーシ
ョンメディアアクセスコントロール(NDIS MA
C)インターフェイス458へ通す。擬似ネットワーク
アダプタ459は、ユーザデータの行先IPアドレスに
関連したゲートウェイアドレスに到達できることをルー
トレイヤ(IP)に既に登録している。従って、IPレ
イヤは、NDIS MACレイヤインターフェイスを使
用して、擬似ネットワークアダプタ459への仮想デバ
イスドライバインターフェイス460を呼び出す。擬似
ネットワークアダプタ459は、仮想デバイスドライバ
インターフェイス460と、ARPサーバエミュレータ
462と、DHCPサーバエミュレータ464とを備え
ている。
【0093】図21の実施形態においては、擬似ネット
ワークアダプタ459は、データをトンネルアプリケー
ションプログラム466へ通す。トンネルアプリケーシ
ョンプログラム466は、IPレイヤから受け取ったI
Pパケットを暗号化し、そしてそれをトンネルデータフ
レームへとカプセル化する。次いで、トンネルアプリケ
ーションは、暗号化されたデータを含むトンネルデータ
フレームをWinSockインターフェイス452へ通
し、リモートトンネルエンドポイントの行先IPアドレ
スを指示する。次いで、トンネルデータフレームは、T
CPレイヤ454、IPレイヤ456、NDIS MA
Cレイヤインターフェイス458及びフィジカルレイヤ
468を経てネットワーク470へ送信される。これに
より得られるパケットは、擬似ネットワークアダプタが
搬送のために登録した行先IPアドレスを含んでいない
ので、これらのパケットは、擬似ネットワークアダプタ
に供給されない。
【0094】図22は、擬似ネットワークアダプタを伴
うパケット送信の実施形態におけるデータ流を示す図で
ある。図22に示す実施形態は、UNIXプラットホー
ムに使用される。図22において、ユーザアプリケーシ
ョン472は、暗号解読されたデータをUNIXソケッ
トレイヤ474のTCP/IPプロトコルスタックへの
ソケットインターフェイスへ通し、仮想プライベートネ
ットワークを経て到達し得るノードの行先IPアドレス
を指示する。
【0095】UNIXソケットレイヤ474は、TCP
レイヤ476及びIPレイヤ478を経てデータを送
る。擬似ネットワークアダプタ480は、ユーザデータ
の行先IPアドレスに関連したゲートウェイに到達でき
ることをルートレイヤ(IP)に既に登録している。従
って、IPレイヤ478は、擬似ネットワークアダプタ
480への仮想デバイスドライバインターフェイス48
2を呼び出す。IPレイヤ478は、擬似ネットワーク
アダプタ480へデータを通す。擬似ネットワークアダ
プタ480は、仮想デバイスドライバインターフェイス
482及びDHCPサーバエミュレータ484を備えて
いる。
【0096】図22の実施形態では、擬似ネットワーク
アダプタ480は、送信されるべきIPデータグラム
を、トンネル接続に関連したUNIX Daemon4
86へ送る。UNIX Daemon486は、IPレ
イヤ478から受け取ったIPパケットを暗号化し、そ
してそれらをトンネルデータフレームへとカプセル化す
る。次いで、UNIX Daemon486は、トンネ
ル接続に関連したソケットを経てUNIXソケットレイ
ヤ474へトンネルデータフレームを通す。次いで、ト
ンネルデータフレームは、TCPレイヤ476、IPレ
イヤ478、データリンクレイヤ488及びフィジカル
レイヤ490により、ネットワーク492へ送信される
べく処理される。これにより得られるパケットは、擬似
ネットワークアダプタ480が搬送のために登録したI
Pアドレスへ宛てられないので、パケットは、擬似ネッ
トワークアダプタ480へは送られない。
【0097】図23は、1つの実施形態による仮想プラ
イベートネットワークを初期化するための段階を示すフ
ローチャートである。図23に示す段階は、例えば、図
14に示すトンネルクライエント247において実行さ
れる。ステップ500においては、トンネルクライエン
トで実行されるトンネルアプリケーションプログラム
が、トンネル中継フレームをトンネルサーバへ送信す
る。ステップ502では、トンネルアプリケーションプ
ログラムが、トンネルキー交換/確証要求フレームをト
ンネルサーバへ送信する。トンネルサーバのトンネルア
プリケーションは、トンネルキー交換/確証要求フレー
ムにおけるクライエントデータフィールドの内容を無視
する。トンネルサーバのトンネルアプリケーションは、
トンネルキー交換/確証応答フレームのクライエントデ
ータフィールドに、例えば、標準DHCPフォーマット
の次のような情報を含むダイナミックホストコンフィギ
ュレーションプロトコル(DHCP)情報を充填する。 1)トンネルクライエントの擬似ネットワークアダプタ
のIPアドレス、 2)トンネルサーバの擬似ネットワークアダプタのIP
アドレス、及び 3)トンネル接続を経て到達できるべきトンネルサーバ
に物理的に接続されたプライベートネットワーク上のノ
ードへのルート。
【0098】ステップ504において、トンネルアプリ
ケーションは、トンネルサーバからトンネルキー交換/
確証応答フレームを受け取る。トンネル接続応答におけ
るクライエントデータフィールド508は、トンネルク
ライエントの擬似ネットワークアダプタに使用できるよ
うにされる。トンネルクライエントのトンネルアプリケ
ーションは、トンネルクライエントの擬似ネットワーク
アダプタがアクティブであることをTCP/IPスタッ
クに知らせる。トンネルクライエントの擬似ネットワー
クアダプタは、アクティブであり、ステップ510にお
いて初期化される準備ができる。
【0099】トンネルクライエントシステムは、トンネ
ルクライエントの擬似ネットワークアダプタに対するI
Pアドレスを動的に得なければならないように構成され
る。それ故、トンネルクライエントのTCP/IPスタ
ックは、擬似ネットワークアダプタを経てDHCP要求
パケットをブロードキャストする。従って、ステップ5
12において、クライエントの擬似ネットワークアダプ
タは、擬似ネットワークアダプタに関連するために動的
に割り当てられたIPアドレスを要求する通常のDHC
P要求パケットをTCP/IPスタックから受け取る。
擬似ネットワークアダプタは、DHCP要求パケットを
擬似ネットワークアダプタ内のDHCPサーバエミュレ
ータへ通し、これは、トンネルアプリケーションから受
け取ったクライエントデータ508に基づきDHCP応
答を形成する。DHCP応答は、クライエントデータに
おいてトンネルサーバにより与えられたクライエント擬
似アダプタのIPアドレスを含む。ステップ514にお
いて、擬似ネットワークアダプタは、DHCP応答をT
CP/IPスタックへ送る。
【0100】ステップ520において、トンネルアプリ
ケーションは、トンネルサーバが取り付けられたプライ
ベートネットワークに取り付けられているノードへの全
てのルートにトンネルサーバの擬似ネットワークアダプ
タのみを経て到達できることを指示するために、トンネ
ルクライエントのTCP/IPスタック内のルートテー
ブルを変更する。クライエントデータに与えられたトン
ネルサーバの擬似ネットワークアダプタのIPアドレス
は、このように、トンネルサーバが取り付けられたプラ
イベートネットワーク上のノードへのゲートウェイとし
て指定される。従って、これらのリモートノードは、T
CP/IPスタックにより、仮想プライベートネットワ
ークを経、クライエント擬似ネットワークアダプタを経
て到達し得るものとみなされる。
【0101】ステップ516において、トンネルクライ
エントの擬似ネットワークアダプタは、トンネルサーバ
の擬似ネットワークアダプタのIPアドレスに関連した
フィジカルアドレスのためのARP要求を受け取る。擬
似ネットワークアダプタは、ARP要求をARPサーバ
エミュレータへ送り、これは、トンネルサーバの擬似ネ
ットワークアダプタのIPアドレスに関連されるべき指
定のフィジカルアドレスを指示するARP応答を形成す
る。ステップ518において、擬似ネットワークアダプ
タは、ARP応答をトンネルクライエントのTCP/I
Pスタックへ通す。このARP応答に応答して、TCP
/IPスタックは、仮想プライベートネットワーク上の
いずれかのノードにアドレスされるパケットが擬似ネッ
トワークアダプタを経て最初に送信されねばならないこ
とを決定する。
【0102】ここに示す実施形態において、本発明のシ
ステムは、クライエントの擬似ネットワークアダプタ及
びサーバの擬似ネットワークアダプタに各々関連される
べき2つのフィジカルアドレスを指定する。これらの指
定されたフィジカルアドレスは、擬似ネットワークアダ
プタを経て送られたARP要求に応答して、クライエン
トの擬似ネットワークアダプタ及びサーバの擬似ネット
ワークアダプタのためのIPアドレスに各々対応するフ
ィジカルアドレスとして使用される。これらの指定され
たフィジカルアドレスは、実際のネットワークインター
フェイスに使用されない高い確率を有していなければな
らない。
【0103】以上、特定の実施形態を参照して本発明を
詳細に説明したが、本発明は、これに限定されるもので
はない。上記説明から、当業者であれば、上記実施形態
の種々の変更、及び本発明の別の実施形態が明らかであ
ろう。特に、TCP/IPプロトコルスタックを使用し
た種々の実施形態を説明したが、他の通信プロトコルが
使用される場合にも本発明を効果的に適用することがで
きる。又、種々のフローチャートは、例示的な順序で実
行される段階を有するものとして示したが、異なる順序
の段階を使用して本発明を実施することもできる。更
に、ある特定のソフトウェア及び/又はハードウェアプ
ラットホームを使用して説明したが、本発明は、他のプ
ラットホームで適用しても、同様の効果が達成される。
それ故、本発明の範囲内に包含される全ての変更及び実
施形態は、特許請求の範囲内に網羅されるものとする。
【図面の簡単な説明】
【図1】オープンシステムズインターコネクション(O
SI)基準モデルを示すブロック図である。
【図2】TCP/IPインターネットプロトコルスイー
トを示すブロック図である。
【図3】2つのトンネルサーバ間の公衆ネットワークに
わたるトンネル接続の実施形態を示すブロック図であ
る。
【図4】トンネル接続を確立するために行われる段階の
実施形態を示すフローチャートである。
【図5】トンネル接続のためのセッションキーマネージ
メントを実行するために行われる段階の実施形態を示す
フローチャートである。
【図6】中継フレームの実施形態を示すブロック図であ
る。
【図7】接続要求フレームの実施形態を示すブロック図
である。
【図8】接続応答フレームの実施形態を示すブロック図
である。
【図9】データフレームの実施形態を示すブロック図で
ある。
【図10】クローズ接続フレームの実施形態を示すブロ
ック図である。
【図11】トンネル接続を開始するネットワークノード
においてトンネル接続を形成する状態マシンの実施形態
を示す状態図である。
【図12】サーバコンピュータにおいてトンネル接続を
形成する状態マシンの実施形態を示す状態図である。
【図13】中継ノードにおいてトンネル接続を形成する
状態マシンの実施形態を示す状態図である。
【図14】クライエントコンピュータ(トンネルクライ
エント)と、サーバコンピュータ(トンネルサーバ)と
の間のトンネル接続の実施形態を示すブロック図であ
る。
【図15】擬似ネットワークアダプタの実施形態を示す
ブロック図である。
【図16】擬似ネットワークアダプタの実施形態を示す
ブロック図である。
【図17】パケット送信中に擬似ネットワークアダプタ
により実行される段階を示すフローチャートである。
【図18】パケット受信中に擬似ネットワークアダプタ
により実行される段階を示すフローチャートである。
【図19】パケット送信中の擬似ネットワークアダプタ
におけるデータの流れを示すデータ流図である。
【図20】パケット受信中の擬似ネットワークアダプタ
におけるデータの流れを示すデータ流図である。
【図21】擬似ネットワークアダプタを含むシステムの
実施形態において暗号化されたデータ及び暗号解読され
たデータの動きを示す図である。
【図22】擬似ネットワークアダプタを含むシステムの
実施形態において暗号化されたデータ及び暗号解読され
たデータの動きを示す図である。
【図23】擬似ネットワークアダプタを含むシステムを
初期化する段階を示すフローチャートである。
【符号の説明】 7 データ経路 9 フィジカルレイヤ 10 第1プロトコルスタック 11 データ 12 通信 13 送信プロセス 14 第2プロトコルスタック 15 受信プロセス 16 データリンクレイヤ 17 ネットワークレイヤ 18 データリンクヘッダ 20 データリンクレイヤトレーラ 22 トランスポートコントロールプロトコル(TC
P) 26 IPプロトコル 28 アドレスレゾルーションプロトコル(ARP) 32 ハードウェアリンクレベル及びアクセスプロトコ
ル 46 トンネルサーバA 48 プライベートネットワークN1 50 第1ファイアウオール 52 公衆ネットワーク 54 トンネル中継装置B 58 第2ファイアウオール 60 プライベートネットワークN2 62 トンネルサーバD
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 FI // H04L 9/36 (72)発明者 ミッチェル ピー リクテンバーグ アメリカ合衆国 カリフォルニア州 94087 サニーヴェイル セロ ドライヴ 1339 (72)発明者 エドワード ピー ウォーバー アメリカ合衆国 カリフォルニア州 94025 メンロ パーク サンタ モニカ アベニュー 460

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】 仮想プライベートネットワークを備えた
    擬似ネットワークアダプタにおいて、 上記仮想プライベートネットワークを経て送信するため
    にローカル通信プロトコルスタックからパケットを捕獲
    するインターフェイスを備え、このインターフェイス
    は、上記ローカル通信プロトコルスタックには、上記仮
    想プライベートネットワークに接続されたネットワーク
    アダプタのためのネットワークアダプタデバイスドライ
    バとして見え、 上記仮想プライベートネットワークを経て送信するため
    に上記ローカル通信プロトコルスタックからパケットを
    捕獲する上記インターフェイスにより捕獲された第1要
    求パケットに応答して第1応答パケットを与える第1サ
    ーバエミュレータを備え、上記第1要求パケットは、上
    記擬似ネットワークアダプタのためのネットワークレイ
    ヤアドレスを要求し、そして上記第1応答パケットは、
    上記擬似ネットワークアダプタのためのネットワークレ
    イヤアドレスを指示し、 更に、上記仮想プライベートネットワークを経て送信す
    るために上記ローカル通信プロトコルスタックからパケ
    ットを捕獲する上記インターフェイスにより捕獲された
    第2要求パケットに応答して第2応答パケットを与える
    第2サーバエミュレータを備え、上記第2要求パケット
    は、リモートサーバノードに位置された第2擬似ネット
    ワークアダプタのネットワークレイヤアドレスに対応す
    るフィジカルアドレスを要求し、そして上記第2応答パ
    ケットは、所定の指定済のフィジカルアドレスを指示す
    ることを特徴とする擬似ネットワークアダプタ。
  2. 【請求項2】 上記所定の指定済のフィジカルアドレス
    に上記擬似ネットワークアダプタを経て到達し得ること
    を上記ローカル通信プロトコルスタックへと指示する手
    段を更に備え、この指示手段は、ローカルシステムの各
    ネットワークインターフェイスを経てどのノード又はネ
    ットワークに到達し得るかを指示する上記ローカル通信
    プロトコルスタックのデータ構造を変更する請求項1に
    記載の擬似ネットワークアダプタ。
  3. 【請求項3】 上記リモートサーバノードに接続された
    リモートプライベートネットワークの1つ以上のノード
    に、上記リモートサーバノードの上記第2の擬似ネット
    ワークアダプタに等しいゲートウェイノードを経て到達
    し得ることを上記ローカル通信プロトコルスタックへと
    指示する手段を更に備えた請求項1に記載の擬似ネット
    ワークアダプタ。
  4. 【請求項4】 上記仮想プライベートネットワークを経
    て送信するために上記ローカル通信プロトコルスタック
    からパケットを捕獲する上記インターフェイスにより捕
    獲されたデータパケットを処理するための送信経路と、 上記送信経路内にあって、上記データパケットを暗号化
    するための暗号化エンジンと、 上記送信経路内にあって、上記暗号化されたデータパケ
    ットをトンネルデータフレームへとカプセル化するため
    のカプセル化エンジンと、 上記トンネルデータフレームを、上記リモートサーバノ
    ードのフィジカルネットワークアダプタへ送信するため
    に、上記ローカル通信プロトコルスタックへと通過させ
    る手段と、を更に備えた請求項1に記載の擬似ネットワ
    ークアダプタ。
  5. 【請求項5】 上記送信経路は、更に、上記トンネルデ
    ータフレーム各々のダイジェストフィールドにダイジェ
    スト値を記憶する手段を備え、このダイジェスト値は、
    上記トンネルデータフレーム内にカプセル化されたデー
    タパケットであって、上記リモートサーバノードに既に
    送信されたトンネルデータフレームの全数に等しいカウ
    ンタ値と連結されたデータパケットに適用されるキー型
    ハッシュファンクションの出力に等しい請求項4に記載
    の擬似ネットワークアダプタ。
  6. 【請求項6】 上記送信経路は、更に、上記捕獲された
    データパケットの各々のイーサネットヘッダを処理する
    ための手段を備え、上記イーサネットヘッダの上記処理
    は、上記イーサネットヘッダを除去することを含む請求
    項4に記載の擬似ネットワークアダプタ。
  7. 【請求項7】 上記リモートサーバノードから受け取っ
    たデータパケットを捕獲するための上記ローカル通信プ
    ロトコルスタックのトランスポートレイヤへのインター
    フェイスを更に備えた請求項1に記載の擬似ネットワー
    クアダプタ。
  8. 【請求項8】 上記リモートサーバノードから受け取っ
    たデータパケットを捕獲するための上記ローカル通信プ
    ロトコルスタックの上記トランスポートレイヤへの上記
    インターフェイスにより捕獲された受け取ったデータパ
    ケットを処理するための受信経路と、 上記受信経路内にあって、トンネルフレームヘッダを除
    去することにより上記受け取ったデータパケットをカプ
    セル解除するためのカプセル解除エンジンと、 上記受信経路内にあって、上記受け取ったデータパケッ
    トを暗号解読するための暗号解読エンジンと、 上記受け取ったデータパケットを、ユーザへ付与するた
    めに、上記ローカル通信プロトコルスタックへ返送する
    ための手段と、を更に備えた請求項7に記載の擬似ネッ
    トワークアダプタ。
  9. 【請求項9】 仮想プライベートネットワークのための
    擬似ネットワークアダプタを形成する方法において、 上記仮想プライベートネットワークを経て送信するため
    にローカル通信プロトコルスタックからパケットを捕獲
    し、この捕獲は、上記ローカル通信プロトコルスタック
    に対し、上記仮想プライベートネットワークに接続され
    たネットワークアダプタのためのネットワークアダプタ
    デバイスドライバとして見えるインターフェイスを経て
    行い、 上記仮想プライベートネットワークを経て送信するため
    に上記ローカル通信プロトコルスタックからパケットを
    捕獲する上記インターフェイスにより捕獲された第1要
    求パケットに応答して第1応答パケットを発生し、上記
    第1要求パケットは、上記擬似ネットワークアダプタの
    ためのネットワークレイヤアドレスを要求し、そして上
    記第1応答パケットは、上記擬似ネットワークアダプタ
    のためのネットワークレイヤアドレスを指示し、そして
    上記仮想プライベートネットワークを経て送信するため
    に上記ローカル通信プロトコルスタックからパケットを
    捕獲する上記インターフェイスにより捕獲された第2要
    求パケットに応答して第2応答パケットを発生し、上記
    第2要求パケットは、リモートサーバノードに位置され
    た第2擬似ネットワークアダプタのネットワークレイヤ
    アドレスに対応するフィジカルアドレスを要求し、そし
    て上記ARP応答パケットは、所定の指定済のフィジカ
    ルアドレスを指示する、という段階を備えたことを特徴
    とする方法。
  10. 【請求項10】 上記所定の指定済のフィジカルアドレ
    スに上記擬似ネットワークアダプタを経て到達し得るこ
    とを上記ローカル通信プロトコルスタックへと指示する
    段階を更に備え、上記ローカル通信プロトコルスタック
    へ指示するこの段階は、ローカルシステムの各ネットワ
    ークインターフェイスを経てどのノード又はネットワー
    クに到達し得るかを指示する上記ローカル通信プロトコ
    ルスタックのデータ構造を変更する請求項9に記載の方
    法。
  11. 【請求項11】 上記リモートサーバノードに接続され
    たリモートプライベートネットワークの1つ以上のノー
    ドに、上記リモートサーバノードの上記第2の擬似ネッ
    トワークアダプタに等しいゲートウェイノードを経て到
    達し得ることを上記ローカル通信プロトコルスタックへ
    と指示する段階を更に備え、上記リモートサーバノード
    に接続されたリモートプライベートネットワークの1つ
    以上のノードに、上記リモートサーバノードの上記第2
    の擬似ネットワークアダプタに等しいゲートウェイノー
    ドを経て到達し得ることを上記ローカル通信プロトコル
    スタックへと指示する上記段階は、上記ローカル通信プ
    ロトコルスタックのネットワークレイヤルートテーブル
    を変更する請求項9に記載の方法。
  12. 【請求項12】 送信データ経路において上記仮想プラ
    イベートネットワークを経て送信するために上記ローカ
    ル通信プロトコルスタックからパケットを捕獲する上記
    インターフェイスにより捕獲されたデータパケットを処
    理し、 上記送信経路内において暗号化エンジンで上記データパ
    ケットを暗号化し、 上記送信経路内においてカプセル化エンジンにより上記
    暗号化されたデータパケットをトンネルデータフレーム
    へとカプセル化し、そして上記トンネルデータフレーム
    を、上記リモートサーバノードのフィジカルネットワー
    クアダプタへ送信するために、上記ローカル通信プロト
    コルスタックへと通過し、上記送信経路は、更に、上記
    トンネルデータフレーム各々のダイジェストフィールド
    にダイジェスト値を記憶し、このダイジェスト値は、上
    記トンネルデータフレーム内にカプセル化されたデータ
    パケットであって、上記リモートサーバノードに既に送
    信されたトンネルデータフレームの全数に等しいカウン
    タ値と連結されたデータパケットに適用されるキー型ハ
    ッシュファンクションの出力に等しい請求項9に記載の
    方法。
  13. 【請求項13】 上記送信経路は、更に、上記捕獲され
    たデータパケットの各々のイーサネットヘッダを処理す
    ることを含み、上記イーサネットヘッダの上記処理は、
    上記イーサネットヘッダを除去することを含む請求項1
    2に記載の方法。
  14. 【請求項14】 上記ローカル通信プロトコルスタック
    のトランスポートレイヤへのインターフェイスを経て上
    記リモートサーバノードから受け取ったデータパケット
    を捕獲する段階を更に含み、更に、 受信経路において上記リモートサーバノードから受け取
    ったデータパケットを捕獲するための上記ローカル通信
    プロトコルスタックの上記トランスポートレイヤへの上
    記インターフェイスにより捕獲された受け取ったデータ
    パケットを処理し、 上記受信経路内においてカプセル解除エンジンでトンネ
    ルフレームヘッダを除去することにより上記受け取った
    データパケットをカプセル解除し、 上記受信経路内において暗号解読エンジンで上記受け取
    ったデータパケットを暗号解読し、そして上記受け取っ
    たデータパケットを、ユーザへ付与するために、上記ロ
    ーカル通信プロトコルスタックへ返送する、という段階
    を備えた請求項9に記載の方法。
  15. 【請求項15】 上記擬似ネットワークアダプタの上記
    ネットワークレイヤアドレス及び上記所定の指定済のフ
    ィジカルアドレスは、接続応答フレームにおけるクライ
    エントデータとして上記リモートサーバノードから上記
    擬似ネットワークアダプタへ通信される請求項9に記載
    の方法。
JP29073997A 1996-10-25 1997-10-23 フレームを捕獲、カプセル化及び暗号化するための擬似ネットワークアダプタ Expired - Fee Related JP3343064B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/738155 1996-10-25
US08/738,155 US6101543A (en) 1996-10-25 1996-10-25 Pseudo network adapter for frame capture, encapsulation and encryption

Publications (2)

Publication Number Publication Date
JPH10178450A true JPH10178450A (ja) 1998-06-30
JP3343064B2 JP3343064B2 (ja) 2002-11-11

Family

ID=24966799

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29073997A Expired - Fee Related JP3343064B2 (ja) 1996-10-25 1997-10-23 フレームを捕獲、カプセル化及び暗号化するための擬似ネットワークアダプタ

Country Status (3)

Country Link
US (1) US6101543A (ja)
EP (1) EP0838930A3 (ja)
JP (1) JP3343064B2 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007195217A (ja) * 2004-07-23 2007-08-02 Citrix Systems Inc パケットをエンドポイントからゲートウェイにルーティングするための方法およびシステム
JP2011511559A (ja) * 2008-01-28 2011-04-07 マイクロソフト コーポレーション 仮想ネットワークインターフェースを有するメッセージ処理エンジン
JP2011141689A (ja) * 2010-01-06 2011-07-21 Video Research:Kk 調査システム、端末装置、調査サーバ、通信方法及び通信プログラム
US8117292B2 (en) 2002-11-29 2012-02-14 Freebit Co., Ltd. Server for routing connections between the server and a client machine
US8848710B2 (en) 2005-01-24 2014-09-30 Citrix Systems, Inc. System and method for performing flash caching of dynamically generated objects in a data communication network
US8856777B2 (en) 2004-12-30 2014-10-07 Citrix Systems, Inc. Systems and methods for automatic installation and execution of a client-side acceleration program
US8914522B2 (en) 2004-07-23 2014-12-16 Citrix Systems, Inc. Systems and methods for facilitating a peer to peer route via a gateway
US8954595B2 (en) 2004-12-30 2015-02-10 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP buffering
JP2022500889A (ja) * 2018-07-29 2022-01-04 ヌーヴェン コーポレイションNouvenn Corporation データ通信ネットワークのセキュリティ方法

Families Citing this family (247)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3731263B2 (ja) * 1996-09-11 2006-01-05 ソニー株式会社 通信方法及び電子機器
USRE39501E1 (en) 1996-10-31 2007-03-06 Nvidia Corporation Multiple network protocol encoder/decoder and data processor
US6578146B2 (en) * 1996-11-19 2003-06-10 R. Brent Johnson System, method and article of manufacture to remotely configure and utilize an emulated device controller via an encrypted validation communication protocol
US6493347B2 (en) * 1996-12-16 2002-12-10 Juniper Networks, Inc. Memory organization in a switching device
US6324267B1 (en) * 1997-01-17 2001-11-27 Scientific-Atlanta, Inc. Two-tiered authorization and authentication for a cable data delivery system
DE69801420T2 (de) * 1997-01-24 2002-07-18 Peregrine Extricity Inc System und verfahren zum erstellen, ausführen und warten vond zwischenbetrieb-lichen vorgängen
CA2283964C (en) 1997-03-12 2008-05-06 Nomadix, Llc Nomadic translator or router
US6226748B1 (en) * 1997-06-12 2001-05-01 Vpnet Technologies, Inc. Architecture for virtual private networks
DE19727267A1 (de) * 1997-06-26 1999-01-07 Siemens Ag Verfahren und Computersystem zur Codierung einer digitalen Nachricht, zur Übertragung der Nachricht von einer ersten Computereinheit zu einer zweiten Computereinheit und zur Decodierung der Nachricht
US6006268A (en) * 1997-07-31 1999-12-21 Cisco Technology, Inc. Method and apparatus for reducing overhead on a proxied connection
US6463475B1 (en) * 1997-09-26 2002-10-08 3Com Corporation Method and device for tunnel switching
DK0909068T3 (da) * 1997-10-13 2001-05-07 X Way Rights B V Fremgangsmåde og apparat til struktureret kommunikation
US7032242B1 (en) 1998-03-05 2006-04-18 3Com Corporation Method and system for distributed network address translation with network security features
US6353614B1 (en) 1998-03-05 2002-03-05 3Com Corporation Method and protocol for distributed network address translation
US7450560B1 (en) 1998-03-05 2008-11-11 3Com Corporation Method for address mapping in a network access system and a network access device for use therewith
US6560200B1 (en) * 1998-04-16 2003-05-06 Kabushiki Kaisha Kenwood Serial bus experimental apparatus
US6377571B1 (en) * 1998-04-23 2002-04-23 3Com Corporation Virtual modem for dialout clients in virtual private network
FR2778809B1 (fr) * 1998-05-18 2000-07-28 Inst Nat Rech Inf Automat Installation de transmission de messages a stations perfectionnees, et procede correspondant
US6269099B1 (en) * 1998-07-01 2001-07-31 3Com Corporation Protocol and method for peer network device discovery
US6571289B1 (en) * 1998-08-03 2003-05-27 Sun Microsystems, Inc. Chained registrations for mobile IP
AU1309600A (en) * 1998-09-30 2000-04-17 Xbind, Inc. System for building and dynamically reconfiguring protocol stacks
US6151677A (en) * 1998-10-06 2000-11-21 L-3 Communications Corporation Programmable telecommunications security module for key encryption adaptable for tokenless use
US7188180B2 (en) 1998-10-30 2007-03-06 Vimetx, Inc. Method for establishing secure communication link between computers of virtual private network
ATE441275T1 (de) 1998-10-30 2009-09-15 Virnetx Inc Netzwerkprotokol zur sicheren kommunikation mit gesicherter systemverfügbarkeit
US7418504B2 (en) 1998-10-30 2008-08-26 Virnetx, Inc. Agile network protocol for secure communications using secure domain names
WO2001086911A2 (en) * 1998-10-30 2001-11-15 Science Applications International Corporation Protocol for secure communications
US6502135B1 (en) 1998-10-30 2002-12-31 Science Applications International Corporation Agile network protocol for secure communications with assured system availability
US10511573B2 (en) 1998-10-30 2019-12-17 Virnetx, Inc. Agile network protocol for secure communications using secure domain names
US7194554B1 (en) 1998-12-08 2007-03-20 Nomadix, Inc. Systems and methods for providing dynamic network authorization authentication and accounting
US8266266B2 (en) 1998-12-08 2012-09-11 Nomadix, Inc. Systems and methods for providing dynamic network authorization, authentication and accounting
US8713641B1 (en) 1998-12-08 2014-04-29 Nomadix, Inc. Systems and methods for authorizing, authenticating and accounting users having transparent computer access to a network using a gateway device
US6542508B1 (en) * 1998-12-17 2003-04-01 Watchguard Technologies, Inc. Policy engine using stream classifier and policy binding database to associate data packet with appropriate action processor for processing without involvement of a host processor
US7305695B1 (en) 1999-01-20 2007-12-04 Intel Corporation System for providing video on demand with pause feature
US6973057B1 (en) * 1999-01-29 2005-12-06 Telefonaktiebolaget L M Ericsson (Publ) Public mobile data communications network
US6760775B1 (en) 1999-03-05 2004-07-06 At&T Corp. System, method and apparatus for network service load and reliability management
AU3394000A (en) * 1999-03-05 2000-09-21 At & T Corporation System, method and apparatus for network service load and reliability management
US6640251B1 (en) * 1999-03-12 2003-10-28 Nortel Networks Limited Multicast-enabled address resolution protocol (ME-ARP)
US7000014B2 (en) 1999-04-02 2006-02-14 Nortel Networks Limited Monitoring a virtual private network
US6701358B1 (en) 1999-04-02 2004-03-02 Nortel Networks Limited Bulk configuring a virtual private network
US7831689B2 (en) 1999-04-02 2010-11-09 Nortel Networks Corporation Virtual private network manager GUI with links for use in configuring a virtual private network
US6765591B2 (en) 1999-04-02 2004-07-20 Nortel Networks Limited Managing a virtual private network
US6731642B1 (en) 1999-05-03 2004-05-04 3Com Corporation Internet telephony using network address translation
US7213262B1 (en) 1999-05-10 2007-05-01 Sun Microsystems, Inc. Method and system for proving membership in a nested group using chains of credentials
US7882247B2 (en) * 1999-06-11 2011-02-01 Netmotion Wireless, Inc. Method and apparatus for providing secure connectivity in mobile and other intermittent computing environments
US7607022B1 (en) * 1999-06-11 2009-10-20 General Instrument Corporation Configurable encryption/decryption for multiple services support
AU7060300A (en) 1999-08-16 2001-03-13 Iready Corporation Internet jack
US6757717B1 (en) * 1999-09-16 2004-06-29 Proxyconn, Inc. System and method for data access
US6430622B1 (en) * 1999-09-22 2002-08-06 International Business Machines Corporation Methods, systems and computer program products for automated movement of IP addresses within a cluster
US6248081B1 (en) * 1999-09-28 2001-06-19 Scimed Life Systems, Inc. Endoscopic submucosal core biopsy device
US8190708B1 (en) 1999-10-22 2012-05-29 Nomadix, Inc. Gateway device having an XML interface and associated method
US6781982B1 (en) 1999-10-26 2004-08-24 3Com Corporation Method and system for allocating persistent private network addresses between private networks
US6708219B1 (en) 1999-10-26 2004-03-16 3Com Corporation Method and system for dual-network address utilization
US6768743B1 (en) 1999-10-26 2004-07-27 3Com Corporation Method and system for address server redirection for multiple address networks
US6717944B1 (en) * 1999-11-10 2004-04-06 Nortel Networks Corporation System, device, and method for allocating virtual circuits in a communication network
US6976258B1 (en) 1999-11-30 2005-12-13 Ensim Corporation Providing quality of service guarantees to virtual hosts
US7117530B1 (en) 1999-12-07 2006-10-03 Watchguard Technologies, Inc. Tunnel designation system for virtual private networks
US6996621B1 (en) 1999-12-07 2006-02-07 3Com Corporation Method for supporting secondary address delivery on remote access servers
US6879593B1 (en) * 1999-12-20 2005-04-12 Intel Corporation Connections of nodes on different networks
US6857132B1 (en) * 2000-01-14 2005-02-15 Terayon Communication Systems, Inc. Head end multiplexer to select and transmit video-on-demand and other requested programs and services
FR2805059A1 (fr) * 2000-02-10 2001-08-17 Bull Cp8 Procede de chargement d'une piece de logiciel dans une carte a puce, notamment du type dit "applet"
US6754716B1 (en) 2000-02-11 2004-06-22 Ensim Corporation Restricting communication between network devices on a common network
US7343421B1 (en) * 2000-02-14 2008-03-11 Digital Asset Enterprises Llc Restricting communication of selected processes to a set of specific network addresses
US7171492B1 (en) 2000-02-24 2007-01-30 Utstarcom, Inc. Method and application programming interface for assigning multiple network addresses
EP2271148B1 (en) * 2000-03-03 2012-10-31 Qualcomm Incorporated Communication device and its corresponding method for providing security in a group communication network
US6948074B1 (en) 2000-03-09 2005-09-20 3Com Corporation Method and system for distributed generation of unique random numbers for digital tokens
US6948003B1 (en) 2000-03-15 2005-09-20 Ensim Corporation Enabling a service provider to provide intranet services
ATE268529T1 (de) * 2000-03-17 2004-06-15 America Online Inc Heimnetz
US7814208B2 (en) * 2000-04-11 2010-10-12 Science Applications International Corporation System and method for projecting content beyond firewalls
US6631416B2 (en) 2000-04-12 2003-10-07 Openreach Inc. Methods and systems for enabling a tunnel between two computers on a network
US6996628B2 (en) 2000-04-12 2006-02-07 Corente, Inc. Methods and systems for managing virtual addresses for virtual networks
US7028333B2 (en) 2000-04-12 2006-04-11 Corente, Inc. Methods and systems for partners in virtual networks
US7085854B2 (en) 2000-04-12 2006-08-01 Corente, Inc. Methods and systems for enabling communication between a processor and a network operations center
US7181766B2 (en) 2000-04-12 2007-02-20 Corente, Inc. Methods and system for providing network services using at least one processor interfacing a base network
US7028334B2 (en) 2000-04-12 2006-04-11 Corente, Inc. Methods and systems for using names in virtual networks
US7181542B2 (en) * 2000-04-12 2007-02-20 Corente, Inc. Method and system for managing and configuring virtual private networks
US7047424B2 (en) 2000-04-12 2006-05-16 Corente, Inc. Methods and systems for hairpins in virtual networks
US7069592B2 (en) 2000-04-26 2006-06-27 Ford Global Technologies, Llc Web-based document system
WO2001092997A2 (en) * 2000-04-26 2001-12-06 Science Applications International Corporation Secure domain name service
GB2368675A (en) * 2000-05-02 2002-05-08 Ford Motor Co Online invention disclosure system and docket system
FI113606B (fi) * 2000-05-03 2004-05-14 Nokia Corp Menetelmä sanomien välittämiseksi, tiedonsiirtojärjestelmä ja päätelaite
US6985937B1 (en) 2000-05-11 2006-01-10 Ensim Corporation Dynamically modifying the resources of a virtual server
US7149816B1 (en) * 2000-05-16 2006-12-12 Lucent Technologies Inc. System and method for peer-level communication with a network interface card
US6907421B1 (en) 2000-05-16 2005-06-14 Ensim Corporation Regulating file access rates according to file type
US7143024B1 (en) 2000-07-07 2006-11-28 Ensim Corporation Associating identifiers with virtual processes
US6909691B1 (en) 2000-08-07 2005-06-21 Ensim Corporation Fairly partitioning resources while limiting the maximum fair share
AU2001278086A1 (en) * 2000-08-11 2002-02-25 Ip Dynamics, Inc. Pseudo addressing
DE10051147B4 (de) * 2000-10-16 2005-04-14 Siemens Ag Verfahren zum Zugriff auf ein IP-Netz und zur Arbeit in diesem
US6862564B1 (en) * 2000-10-26 2005-03-01 Sycamore Networks, Inc. Network emulator
US7039717B2 (en) 2000-11-10 2006-05-02 Nvidia Corporation Internet modem streaming socket method
US6915437B2 (en) * 2000-12-20 2005-07-05 Microsoft Corporation System and method for improved network security
US7219354B1 (en) 2000-12-22 2007-05-15 Ensim Corporation Virtualizing super-user privileges for multiple virtual processes
US20020099668A1 (en) * 2001-01-22 2002-07-25 Sun Microsystems, Inc. Efficient revocation of registration authorities
US7379475B2 (en) 2002-01-25 2008-05-27 Nvidia Corporation Communications processor
DE10107883B4 (de) * 2001-02-19 2006-02-09 Deutsche Post Ag Verfahren zur Übertragung von Daten, Proxy-Server und Datenübertragungssystem
FI20010511A0 (fi) 2001-03-14 2001-03-14 Stonesoft Oy Datapakettien käsittely
US20020181476A1 (en) * 2001-03-17 2002-12-05 Badamo Michael J. Network infrastructure device for data traffic to and from mobile units
US7533409B2 (en) 2001-03-22 2009-05-12 Corente, Inc. Methods and systems for firewalling virtual private networks
MXPA02011835A (es) * 2001-03-29 2003-10-06 Matsushita Electric Ind Co Ltd Sistema de proteccion de datos que proteje datos al encriptar los datos.
US7062562B1 (en) * 2001-04-11 2006-06-13 Cisco Technology, Inc. Methods and apparatus for content server selection
US8218555B2 (en) 2001-04-24 2012-07-10 Nvidia Corporation Gigabit ethernet adapter
US20030051142A1 (en) * 2001-05-16 2003-03-13 Hidalgo Lluis Mora Firewalls for providing security in HTTP networks and applications
US20050198379A1 (en) 2001-06-13 2005-09-08 Citrix Systems, Inc. Automatically reconnecting a client across reliable and persistent communication sessions
US7051116B1 (en) * 2001-06-21 2006-05-23 America Online, Inc. Client device identification when communicating through a network address translator device
WO2003003664A1 (en) * 2001-06-27 2003-01-09 Hyglo Ab System and method for address and key distribution in virtual networks
US7149892B2 (en) 2001-07-06 2006-12-12 Juniper Networks, Inc. Secure sockets layer proxy architecture
US7228412B2 (en) * 2001-07-06 2007-06-05 Juniper Networks, Inc. Bufferless secure sockets layer architecture
US7853781B2 (en) * 2001-07-06 2010-12-14 Juniper Networks, Inc. Load balancing secure sockets layer accelerator
US7908472B2 (en) 2001-07-06 2011-03-15 Juniper Networks, Inc. Secure sockets layer cut through architecture
US7165110B2 (en) * 2001-07-12 2007-01-16 International Business Machines Corporation System and method for simultaneously establishing multiple connections
US7827292B2 (en) * 2001-07-23 2010-11-02 At&T Intellectual Property Ii, L.P. Flexible automated connection to virtual private networks
US7827278B2 (en) * 2001-07-23 2010-11-02 At&T Intellectual Property Ii, L.P. System for automated connection to virtual private networks related applications
US8239531B1 (en) * 2001-07-23 2012-08-07 At&T Intellectual Property Ii, L.P. Method and apparatus for connection to virtual private networks for secure transactions
US7774492B2 (en) * 2001-07-26 2010-08-10 Citrix Systems, Inc. System, method and computer program product to maximize server throughput while avoiding server overload by controlling the rate of establishing server-side net work connections
US20040029562A1 (en) * 2001-08-21 2004-02-12 Msafe Ltd. System and method for securing communications over cellular networks
US20030041191A1 (en) * 2001-08-27 2003-02-27 Roger Pinate Network-enabled and intelligent versatile device (VD)
US7089312B2 (en) * 2001-09-20 2006-08-08 Intel Corporation System and method for reducing retransmissions due to tunneled TCP-in-TCP communication in a network
US20030056008A1 (en) * 2001-09-20 2003-03-20 Russell Richard Francis Automatic remote assignment of internet protocol address information to a network device
US6920485B2 (en) * 2001-10-04 2005-07-19 Hewlett-Packard Development Company, L.P. Packet processing in shared memory multi-computer systems
US6999998B2 (en) * 2001-10-04 2006-02-14 Hewlett-Packard Development Company, L.P. Shared memory coupling of network infrastructure devices
US20030069949A1 (en) * 2001-10-04 2003-04-10 Chan Michele W. Managing distributed network infrastructure services
US6766482B1 (en) 2001-10-31 2004-07-20 Extreme Networks Ethernet automatic protection switching
MXPA04004466A (es) * 2001-11-14 2004-08-11 Nokia Corp Soporte de enrutador movil para protocolo de internet version 6.
AU2002219006A1 (en) * 2001-12-04 2003-06-17 Siemens Aktiengesellschaft Method for transmitting information and signalling data in a communication system with optimized distribution of control data and an information data level for hosts
CA2414216C (en) * 2001-12-12 2007-05-22 At&T Corp. A secure ip access protocol framework and supporting network architecture
JP3625445B2 (ja) * 2001-12-13 2005-03-02 株式会社東芝 ネットワーク中継装置およびネットワーク中継方法
US7395354B2 (en) 2002-02-21 2008-07-01 Corente, Inc. Methods and systems for resolving addressing conflicts based on tunnel information
DE10207976B4 (de) * 2002-02-25 2004-04-15 Siemens Ag Verfahren zum netzübergreifenden Verbindungsaufbau und Netzübergangseinrichtung zur Realisierung des Verfahrens
US7984157B2 (en) 2002-02-26 2011-07-19 Citrix Systems, Inc. Persistent and reliable session securely traversing network components using an encapsulating protocol
US7661129B2 (en) 2002-02-26 2010-02-09 Citrix Systems, Inc. Secure traversal of network components
US7535913B2 (en) 2002-03-06 2009-05-19 Nvidia Corporation Gigabit ethernet adapter supporting the iSCSI and IPSEC protocols
US7492787B2 (en) * 2002-03-29 2009-02-17 Fujitsu Limited Method, apparatus, and medium for migration across link technologies
US6715085B2 (en) * 2002-04-18 2004-03-30 International Business Machines Corporation Initializing, maintaining, updating and recovering secure operation within an integrated system employing a data access control function
US7266842B2 (en) * 2002-04-18 2007-09-04 International Business Machines Corporation Control function implementing selective transparent data authentication within an integrated system
US7089419B2 (en) 2002-04-18 2006-08-08 International Business Machines Corporation Control function with multiple security states for facilitating secure operation of an integrated system
US7937471B2 (en) * 2002-06-03 2011-05-03 Inpro Network Facility, Llc Creating a public identity for an entity on a network
US8051213B2 (en) * 2002-06-06 2011-11-01 International Business Machines Corporation Method for server-directed packet forwarding by a network controller based on a packet buffer threshold
US7315896B2 (en) * 2002-06-06 2008-01-01 International Business Machines Corporation Server network controller including packet forwarding and method therefor
EP1381190A1 (en) * 2002-07-12 2004-01-14 Alcatel Method for accessing a virtual private network resource based on uniform resource identifiers
US7836295B2 (en) * 2002-07-29 2010-11-16 International Business Machines Corporation Method and apparatus for improving the resilience of content distribution networks to distributed denial of service attacks
US7383339B1 (en) 2002-07-31 2008-06-03 Aol Llc, A Delaware Limited Liability Company Local proxy server for establishing device controls
US7139828B2 (en) * 2002-08-30 2006-11-21 Ip Dynamics, Inc. Accessing an entity inside a private network
US8234358B2 (en) * 2002-08-30 2012-07-31 Inpro Network Facility, Llc Communicating with an entity inside a private network using an existing connection to initiate communication
JP3834280B2 (ja) * 2002-10-01 2006-10-18 Necインフロンティア株式会社 端末装置、端末装置内の優先処理方法、およびプログラム
US20040078471A1 (en) * 2002-10-18 2004-04-22 Collatus Corporation, A Delaware Corportion Apparatus, method, and computer program product for building virtual networks
US7630305B2 (en) 2003-07-29 2009-12-08 Orbital Data Corporation TCP selective acknowledgements for communicating delivered and missed data packets
US7616638B2 (en) 2003-07-29 2009-11-10 Orbital Data Corporation Wavefront detection and disambiguation of acknowledgments
US8233392B2 (en) 2003-07-29 2012-07-31 Citrix Systems, Inc. Transaction boundary detection for reduction in timeout penalties
US8270423B2 (en) 2003-07-29 2012-09-18 Citrix Systems, Inc. Systems and methods of using packet boundaries for reduction in timeout prevention
ATE370601T1 (de) * 2002-11-27 2007-09-15 Research In Motion Ltd Datenübertragung von einem hostserver via tunnelserver zu einem drahtlosen gerät und zuordnung einer temporären ipv6 addresse zu einer temporären ipv4 addresse für die kommunikation in einem ipv4 drahtlosen netzwerk mit dem gerät
EP1429497B1 (en) * 2002-12-09 2016-03-02 Alcatel Lucent Method of relaying traffic from a source to a targeted destination in a communications network and corresponding equipment
US7779152B2 (en) * 2003-01-24 2010-08-17 Nokia Corporation Establishing communication tunnels
US7603549B1 (en) * 2003-02-11 2009-10-13 Cpacket Networks Inc. Network security protocol processor and method thereof
US20040176942A1 (en) * 2003-03-04 2004-09-09 International Business Machines Corporation Method, system and program product for behavioral simulation(s) of a network adapter within a computing node or across multiple nodes of a distributed computing environment
WO2004081805A1 (en) * 2003-03-10 2004-09-23 Uhs Systems Pty Ltd A dedicated communications system and interface
US20040249973A1 (en) * 2003-03-31 2004-12-09 Alkhatib Hasan S. Group agent
US20040249974A1 (en) * 2003-03-31 2004-12-09 Alkhatib Hasan S. Secure virtual address realm
US7949785B2 (en) 2003-03-31 2011-05-24 Inpro Network Facility, Llc Secure virtual community network system
US7337219B1 (en) 2003-05-30 2008-02-26 Aol Llc, A Delaware Limited Liability Company Classifying devices using a local proxy server
US7664096B2 (en) * 2003-06-25 2010-02-16 At&T Intellectual Property I, Lp Remote location VOIP roaming behind firewalls
US8862866B2 (en) 2003-07-07 2014-10-14 Certicom Corp. Method and apparatus for providing an adaptable security level in an electronic communication
US8238241B2 (en) 2003-07-29 2012-08-07 Citrix Systems, Inc. Automatic detection and window virtualization for flow control
US8437284B2 (en) 2003-07-29 2013-05-07 Citrix Systems, Inc. Systems and methods for additional retransmissions of dropped packets
US8432800B2 (en) 2003-07-29 2013-04-30 Citrix Systems, Inc. Systems and methods for stochastic-based quality of service
DE102004040312B4 (de) 2003-08-19 2018-11-15 Certicom Corp. Verfahren und Vorrichtung zum Synchronisieren einer anspassbaren Sicherheitsstufe bei einer elektronischen Datenübertragung
US20050188002A1 (en) * 2003-09-02 2005-08-25 Guanghong Yang Apparatus, method, and computer program product for building virtual networks
US7437457B1 (en) 2003-09-08 2008-10-14 Aol Llc, A Delaware Limited Liability Company Regulating concurrent logins associated with a single account
GB0321335D0 (en) * 2003-09-11 2003-10-15 Rogers Paul J Method and apparatus for use in security
US8850179B2 (en) * 2003-09-15 2014-09-30 Telecommunication Systems, Inc. Encapsulation of secure encrypted data in a deployable, secure communication system allowing benign, secure commercial transport
US7401215B2 (en) * 2003-09-29 2008-07-15 Sun Microsystems, Inc. Method and apparatus for facilitating cryptographic layering enforcement
US20070223408A1 (en) * 2003-10-06 2007-09-27 Broadbeam Corporation Method and Apparatus for Intelligent Seamless Network Switching
US7978716B2 (en) 2003-11-24 2011-07-12 Citrix Systems, Inc. Systems and methods for providing a VPN solution
JP2007533172A (ja) * 2003-11-11 2007-11-15 サイトリックス ゲートウェイズ, インコーポレイテッド 偽サーバを備えた仮想プライベートネットワーク
US8176545B1 (en) 2003-12-19 2012-05-08 Nvidia Corporation Integrated policy checking system and method
US8549170B2 (en) 2003-12-19 2013-10-01 Nvidia Corporation Retransmission system and method for a transport offload engine
US7899913B2 (en) 2003-12-19 2011-03-01 Nvidia Corporation Connection management system and method for a transport offload engine
US7624198B1 (en) 2003-12-19 2009-11-24 Nvidia Corporation Sequence tagging system and method for transport offload engine data lists
US7260631B1 (en) 2003-12-19 2007-08-21 Nvidia Corporation System and method for receiving iSCSI protocol data units
US8065439B1 (en) 2003-12-19 2011-11-22 Nvidia Corporation System and method for using metadata in the context of a transport offload engine
US7487513B1 (en) 2003-12-30 2009-02-03 Sap Ag Web service archive
EP1738493A4 (en) * 2004-02-19 2012-02-22 Georgia Tech Res Inst SYSTEMS AND METHOD FOR PARALLEL COMMUNICATION
US7206872B2 (en) 2004-02-20 2007-04-17 Nvidia Corporation System and method for insertion of markers into a data stream
US7249306B2 (en) 2004-02-20 2007-07-24 Nvidia Corporation System and method for generating 128-bit cyclic redundancy check values with 32-bit granularity
US7383555B2 (en) * 2004-03-11 2008-06-03 International Business Machines Corporation Apparatus and method for sharing a network I/O adapter between logical partitions
US7698413B1 (en) 2004-04-12 2010-04-13 Nvidia Corporation Method and apparatus for accessing and maintaining socket control information for high speed network connections
US8495305B2 (en) 2004-06-30 2013-07-23 Citrix Systems, Inc. Method and device for performing caching of dynamically generated objects in a data communication network
US7757074B2 (en) 2004-06-30 2010-07-13 Citrix Application Networking, Llc System and method for establishing a virtual private network
US8739274B2 (en) 2004-06-30 2014-05-27 Citrix Systems, Inc. Method and device for performing integrated caching in a data communication network
US7697545B1 (en) * 2004-07-14 2010-04-13 Computer Associates Think, Inc. Discovery of component relationships in distributed data processing networks
US7461268B2 (en) * 2004-07-15 2008-12-02 International Business Machines Corporation E-fuses for storing security version data
US20080092031A1 (en) * 2004-07-30 2008-04-17 Steven John Simske Rich media printer
US8180883B1 (en) 2004-08-02 2012-05-15 Cisco Technology, Inc. Method and system for processing directives included in management events
EP1776825B1 (en) * 2004-08-13 2012-12-19 Citrix Systems, Inc. A method for maintaining transaction integrity across multiple remote access servers
US20060039276A1 (en) * 2004-08-18 2006-02-23 International Business Machines Corporation Failback to a primary communications adapter
US7647492B2 (en) * 2004-09-15 2010-01-12 Check Point Software Technologies Inc. Architecture for routing and IPSec integration
JP4411171B2 (ja) * 2004-09-27 2010-02-10 日本電気株式会社 通信システム、情報処理方法、およびルータ
JP4480535B2 (ja) * 2004-09-30 2010-06-16 株式会社アドイン研究所 トンネル装置、中継装置、端末装置、呼制御システム、ip電話システム、会議装置、これらの制御方法及びプログラム
US7957379B2 (en) 2004-10-19 2011-06-07 Nvidia Corporation System and method for processing RX packets in high speed network applications using an RX FIFO buffer
JP4759574B2 (ja) 2004-12-23 2011-08-31 ソレラ ネットワークス インコーポレイテッド ネットワークパケットキャプチャ分散ストレージシステムの方法及び機器
US8549149B2 (en) 2004-12-30 2013-10-01 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP multiplexing
US8706877B2 (en) 2004-12-30 2014-04-22 Citrix Systems, Inc. Systems and methods for providing client-side dynamic redirection to bypass an intermediary
US8700695B2 (en) 2004-12-30 2014-04-15 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP pooling
US8077632B2 (en) * 2005-01-20 2011-12-13 Citrix Systems, Inc. Automatic LAN/WAN port detection
US7581005B2 (en) * 2005-01-20 2009-08-25 Citrix Systems, Inc. Systems and methods for preserving transport layer protocol options
CN102104632B (zh) 2005-01-24 2012-08-22 茨特里克斯系统公司 在网络中对动态产生的对象执行缓存的系统和方法
WO2006091043A1 (en) * 2005-02-24 2006-08-31 Lg Electronics Inc. Packet structure and packet transmission method of network control protocol
JP4427483B2 (ja) * 2005-04-27 2010-03-10 株式会社東芝 通信装置および通信方法
CA2632235A1 (en) 2005-12-02 2007-06-07 Citrix Systems, Inc. Method and apparatus for providing authentication credentials from a proxy server to a virtualized computing environment to access a remote resource
US7845008B2 (en) * 2005-12-07 2010-11-30 Lenovo (Singapore) Pte. Ltd. Virus scanner for journaling file system
US8301839B2 (en) 2005-12-30 2012-10-30 Citrix Systems, Inc. System and method for performing granular invalidation of cached dynamically generated objects in a data communication network
US7921184B2 (en) 2005-12-30 2011-04-05 Citrix Systems, Inc. System and method for performing flash crowd caching of dynamically generated objects in a data communication network
US20070214233A1 (en) * 2006-03-07 2007-09-13 Daryl Cromer System and method for implementing a hypervisor for server emulation
US20070242671A1 (en) * 2006-04-13 2007-10-18 Christenson David A Method and Apparatus for Routing Data Packets Between Different Internet Communications Stack Instances
CA2941216C (en) 2006-04-13 2018-11-27 Certicom Corp. Method and apparatus for providing an adaptable security level in an electronic communication
US20070288645A1 (en) * 2006-06-08 2007-12-13 International Business Machines Corporation Method and System for Persistent and Reliable Data Transmission
US20080052284A1 (en) * 2006-08-05 2008-02-28 Terry Stokes System and Method for the Capture and Archival of Electronic Communications
US7664857B2 (en) * 2007-01-26 2010-02-16 Citrix Systems, Inc. Systems and methods of using an IP ID field for automatic WAN/LAN detection
US20100290621A1 (en) * 2007-03-12 2010-11-18 Nortel Networks Limited Tunneling support for mobile ip using a key for flow identification
US8181014B2 (en) * 2007-05-09 2012-05-15 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for protecting the routing of data packets
US9037750B2 (en) * 2007-07-10 2015-05-19 Qualcomm Incorporated Methods and apparatus for data exchange in peer to peer communications
US8908700B2 (en) 2007-09-07 2014-12-09 Citrix Systems, Inc. Systems and methods for bridging a WAN accelerator with a security gateway
US8972547B2 (en) * 2007-10-18 2015-03-03 International Business Machines Corporation Method and apparatus for dynamically configuring virtual internet protocol addresses
US10105168B2 (en) * 2008-01-09 2018-10-23 Stryker European Holdings I, Llc Stereotactic computer assisted surgery based on three-dimensional visualization
WO2009086837A2 (en) * 2008-01-09 2009-07-16 Secomea A/S Communication with a network device over a data network
US8825883B2 (en) * 2008-02-29 2014-09-02 Microsoft Corporation Connectivity platform
US8364847B2 (en) * 2008-02-29 2013-01-29 Microsoft Corporation Address management in a connectivity platform
US8625642B2 (en) 2008-05-23 2014-01-07 Solera Networks, Inc. Method and apparatus of network artifact indentification and extraction
US8521732B2 (en) 2008-05-23 2013-08-27 Solera Networks, Inc. Presentation of an extracted artifact based on an indexing technique
US8019837B2 (en) * 2009-01-14 2011-09-13 International Business Machines Corporation Providing network identity for virtual machines
US10588647B2 (en) * 2010-03-01 2020-03-17 Stryker European Holdings I, Llc Computer assisted surgery system
US8875220B2 (en) * 2010-07-01 2014-10-28 Raytheom Company Proxy-based network access protection
ES2702370T3 (es) 2010-07-16 2019-02-28 Stryker European Holdings I Llc Sistema y método de focalización quirúrgica
US8849991B2 (en) 2010-12-15 2014-09-30 Blue Coat Systems, Inc. System and method for hypertext transfer protocol layered reconstruction
US8666985B2 (en) 2011-03-16 2014-03-04 Solera Networks, Inc. Hardware accelerated application-based pattern matching for real time classification and recording of network traffic
US9626284B2 (en) * 2012-02-09 2017-04-18 Vmware, Inc. Systems and methods to test programs
EP2900156B1 (en) 2012-09-27 2017-07-12 Stryker European Holdings I, LLC Rotational position determination
US9930066B2 (en) * 2013-02-12 2018-03-27 Nicira, Inc. Infrastructure level LAN security
US9596077B2 (en) * 2013-04-22 2017-03-14 Unisys Corporation Community of interest-based secured communications over IPsec
US9613218B2 (en) 2014-06-30 2017-04-04 Nicira, Inc. Encryption system in a virtualized environment
US9787776B2 (en) * 2014-08-29 2017-10-10 Pismo Labs Technology Limited Methods and systems for transmitting packets through an aggregated connection
US10834065B1 (en) 2015-03-31 2020-11-10 F5 Networks, Inc. Methods for SSL protected NTLM re-authentication and devices thereof
US10404698B1 (en) 2016-01-15 2019-09-03 F5 Networks, Inc. Methods for adaptive organization of web application access points in webtops and devices thereof
US10931727B2 (en) * 2016-03-30 2021-02-23 Arris Enterprises Llc Transparent intercept for adaptive bitrate splicer
US10798073B2 (en) 2016-08-26 2020-10-06 Nicira, Inc. Secure key management protocol for distributed network encryption
CN111294155B (zh) * 2016-11-17 2021-12-31 华为技术有限公司 一种适配器、数据传输系统及方法
US10491520B2 (en) * 2017-04-06 2019-11-26 Ca, Inc. Container-based software appliance
US11303619B2 (en) * 2020-06-05 2022-04-12 Vmware, Inc. Encapsulated encrypted packet handling for receive-side scaling (RSS)
CN114640627B (zh) * 2022-03-10 2024-02-20 网宿科技股份有限公司 报文转发方法及装置、非易失性存储介质、处理器

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8117292B2 (en) 2002-11-29 2012-02-14 Freebit Co., Ltd. Server for routing connections between the server and a client machine
US8892778B2 (en) 2004-07-23 2014-11-18 Citrix Systems, Inc. Method and systems for securing remote access to private networks
US8914522B2 (en) 2004-07-23 2014-12-16 Citrix Systems, Inc. Systems and methods for facilitating a peer to peer route via a gateway
JP4708376B2 (ja) * 2004-07-23 2011-06-22 サイトリックス システムズ, インコーポレイテッド プライベートネットワークへのアクセスを安全にする方法およびシステム
US9219579B2 (en) 2004-07-23 2015-12-22 Citrix Systems, Inc. Systems and methods for client-side application-aware prioritization of network communications
JP2007202178A (ja) * 2004-07-23 2007-08-09 Citrix Systems Inc プライベートネットワークへのアクセスを安全にする方法およびシステム
US8897299B2 (en) 2004-07-23 2014-11-25 Citrix Systems, Inc. Method and systems for routing packets from a gateway to an endpoint
JP2007195217A (ja) * 2004-07-23 2007-08-02 Citrix Systems Inc パケットをエンドポイントからゲートウェイにルーティングするための方法およびシステム
US8856777B2 (en) 2004-12-30 2014-10-07 Citrix Systems, Inc. Systems and methods for automatic installation and execution of a client-side acceleration program
US8954595B2 (en) 2004-12-30 2015-02-10 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP buffering
US8848710B2 (en) 2005-01-24 2014-09-30 Citrix Systems, Inc. System and method for performing flash caching of dynamically generated objects in a data communication network
US8705529B2 (en) 2008-01-28 2014-04-22 Microsoft Corporation Message processing engine with a virtual network interface
JP2011511559A (ja) * 2008-01-28 2011-04-07 マイクロソフト コーポレーション 仮想ネットワークインターフェースを有するメッセージ処理エンジン
JP2011141689A (ja) * 2010-01-06 2011-07-21 Video Research:Kk 調査システム、端末装置、調査サーバ、通信方法及び通信プログラム
JP2022500889A (ja) * 2018-07-29 2022-01-04 ヌーヴェン コーポレイションNouvenn Corporation データ通信ネットワークのセキュリティ方法

Also Published As

Publication number Publication date
EP0838930A2 (en) 1998-04-29
JP3343064B2 (ja) 2002-11-11
US6101543A (en) 2000-08-08
EP0838930A3 (en) 2003-02-19

Similar Documents

Publication Publication Date Title
JP3343064B2 (ja) フレームを捕獲、カプセル化及び暗号化するための擬似ネットワークアダプタ
US11283772B2 (en) Method and system for sending a message through a secure connection
US5918019A (en) Virtual dial-up protocol for network communication
US8984268B2 (en) Encrypted record transmission
US6073176A (en) Dynamic bidding protocol for conducting multilink sessions through different physical termination points
US7908472B2 (en) Secure sockets layer cut through architecture
US7725707B2 (en) Server, VPN client, VPN system, and software
US8095786B1 (en) Application-specific network-layer virtual private network connections
US8194654B1 (en) Virtual dial-up protocol for network communication
JP4727125B2 (ja) ファイア・ウォールを経由する安全なデュアル・チャネル通信システム及び方法
US7149892B2 (en) Secure sockets layer proxy architecture
JP3457645B2 (ja) ネットワーク・アドレス変換とプロトコル変換が存在する場合のパケット認証の方法
US20040243837A1 (en) Process and communication equipment for encrypting e-mail traffic between mail domains of the internet
WO2009082950A1 (fr) Procédé, dispositif et système de distribution de clés
CN110351308B (zh) 一种虚拟专用网络通信方法和虚拟专用网络设备
Cisco Configuring IPSec Network Security
JPH1132088A (ja) ネットワークシステム
JPH07107084A (ja) 暗号通信システム
JP2006033350A (ja) 代理セキュアルータ装置及びプログラム

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20080823

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090823

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100823

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110823

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110823

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120823

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees