JP2001057572A - アクセスルーティング方法及びアクセス提供システム - Google Patents

アクセスルーティング方法及びアクセス提供システム

Info

Publication number
JP2001057572A
JP2001057572A JP2000021419A JP2000021419A JP2001057572A JP 2001057572 A JP2001057572 A JP 2001057572A JP 2000021419 A JP2000021419 A JP 2000021419A JP 2000021419 A JP2000021419 A JP 2000021419A JP 2001057572 A JP2001057572 A JP 2001057572A
Authority
JP
Japan
Prior art keywords
address
station
guest
packet
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2000021419A
Other languages
English (en)
Other versions
JP3575369B2 (ja
Inventor
Redorikku Jean-Peter
ジャン−ピーター・レドリック
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.)
NEC Corp
Original Assignee
NEC 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
Priority claimed from US09/357,907 external-priority patent/US6591306B1/en
Application filed by NEC Corp filed Critical NEC Corp
Publication of JP2001057572A publication Critical patent/JP2001057572A/ja
Application granted granted Critical
Publication of JP3575369B2 publication Critical patent/JP3575369B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 ゲストがゲストステーションを外部ネットワ
ークに簡単につないで即時にIP接続ができるように、
ゲストステーションをホストする際の問題点を解決す
る。 【解決手段】 ゲストステーションから、元のソースI
Pアドレス及びデスティネーションIPアドレスを有す
る元の出力IPパケットをインターセプトし、そのゲス
トのIPアドレスをホスト側組織に属するc/o(care
-of)アドレスで置換する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はインテリジェントル
ータに係り、特に、ローカルネットワーク上の外部すな
わちゲストステーションにインターネットアクセスを提
供するのに用いられるルータに関する。本発明は、特
に、ルーティング装置として作用するコンピュータシス
テム、ルーティングの方法、未知のIPコンフィグレー
ションを有するコンピュータからのIPパケットをイン
ターセプト(横取り)する方法、インターセプトされた
IPトラフィックをローカルネットワークコンフィグレ
ーションに適応させる方法、悪意のあるゲストコンピュ
ータからローカルネットワークを保護する方法、ネット
ワークインタフェース、及び、ゲストステーションにI
Pネットワークアクセスを提供するのに適したコンピュ
ータプログラム製品に関する。
【0002】
【従来の技術】説明を明確にするため、ここで、いくつ
かの背景情報を提供する。まず、デジタルコンピュータ
について説明した後、コンピュータシステム及びコンピ
ュータプログラム製品について説明し、さらにその後、
コンピュータ通信及びネットワークについて説明する。
【0003】これら基礎情報を提供した後で、ネットワ
ーキング及びポータブルデバイスに関する課題について
説明する。関連技術の説明を終わると、この課題に対す
る従来の解決法について説明する。
【0004】[デジタルコンピュータ]デジタルコンピ
ュータは、科学、工業、及び商業の分野における多くの
変化を可能にしている。今日では、多くのビジネスは、
実際に使える情報システムの助けなしには機能し得な
い。多くの専用(特殊目的)及び汎用のコンピュータが
知られている。
【0005】単純な汎用デジタルコンピュータのブロッ
ク図を図1に示すが、この図は、提供される機能に応じ
て、専用デジタルコンピュータにも等しく関係する。参
照符号10は、汎用デジタルコンピュータを示す。この
ようなコンピュータは、中央処理装置(CPU)100
を有する。メインメモリ110はRAMであるとしてよ
い。この単純化された図におけるコンピュータは、ただ
1つのI/Oプロセッサ120を有する。I/Oプロセ
ッサ120は、I/Oデバイス130を制御する。I/
Oデバイス130には、ディスプレイ、キーボード、プ
リンタ、ディスクドライブ、マウス、及び、イーサネッ
ト(登録商標)カードなどのようなネットワークアダプ
タ140がある。なお、この図は単なる説明のためだけ
のものであり、本発明を限定することは全く意図してい
ないことは理解されるであろう。
【0006】CPU100は、制御ユニット、ALU、
及びレジスタを有する。制御ユニットは、メインメモリ
110から命令をフェッチし、そのタイプを判定する。
ALUは、その命令を実行するのに必要な加算や論理A
NDのような演算を実行する。CPU100のレジスタ
は、一時的な結果及びいくつかの制御情報を格納するた
めに使用される小さい高速のメモリである。レジスタに
はそれぞれ、ある特定の機能が指定されることも可能で
あり、あるいは、汎用レジスタであることも可能であ
る。レジスタの1つにプログラムカウンタPCがある。
プログラムカウンタPCは、実行される次の命令を指
す。また、命令レジスタIRがあり、これは現在実行さ
れている命令を保持する。
【0007】CPU100、メインメモリ110、及び
I/Oプロセッサ120がバスによって相互接続されて
いることは理解されるであろう。これらの相異なるユニ
ット間の通信はバスを通じて行われる。もちろん、ネッ
トワークアダプタ140やその他の任意のI/Oデバイ
ス130は、I/Oプロセッサなしで機能するように設
計され、代わりに、その他のメインモジュールによって
同じバスに接続されるように設計されてもよい。さら
に、複数のディスプレイ、複数のネットワークアダプタ
140などを有することも可能である。
【0008】このように、デジタルコンピュータは、デ
ジタルモジュールを相互接続したものと見ることができ
る。CPU100内にいくつかのモジュールがあり、ま
た、CPU、メインメモリ110、及びI/Oプロセッ
サ120自体もモジュールと見なすことができる。さら
に大きいスケールでは、これらのコンポーネントがすべ
ての同じコンテナに含まれるとき、このコンテナを1つ
のモジュールと考えることが可能であり、さまざまなI
/Oデバイス(ディスプレイやキーボードなど)自体は
モジュールであると見ることができる。
【0009】[コンピュータシステム及びコンピュータ
プログラム製品]本明細書では、「コンピュータシステ
ム」という用語は、少なくともメモリ及びプロセッサを
含むものと考える。一般に、メモリは、いろいろなとき
に、実行可能プログラムコードの少なくとも一部を格納
し、プロセッサは、その実行可能プログラムコードに含
まれる1つまたは複数の命令を実行する。理解されるだ
ろうが、「実行可能プログラムコード」という用語及び
「ソフトウェア」という用語は、この説明の目的ではほ
ぼ同じものを意味する。この説明では、メモリとプロセ
ッサは必ずしも物理的に同じ場所に位置する必要はな
い。すなわち、プロセッサとメモリは、異なる物理的装
置にあることが可能であり、地理的に異なる場所にある
ことさえ可能である。
【0010】次に、「コンピュータプログラム製品」と
いう用語について説明する。実際的なレベルでは、コン
ピュータシステムが所望のオペレーションを実行するこ
とを可能にするソフトウェアは、さまざまな媒体(メデ
ィア)で供給可能である。さらに、コンピュータオペレ
ーションの現実の実装は実際にはプログラミング言語で
書かれた文(ステートメント)であることも可能であ
る。このようなプログラミング言語ステートメントは、
コンピュータによって実行されると、コンピュータを、
そのステートメントの個々の内容に従って作用させる。
さらに、コンピュータシステムが所定の方式で作用する
ことを可能にするソフトウェアは、オリジナルソースコ
ード、アセンブリコード、オブジェクトコード、機械
語、これらのものを圧縮または暗号化したバージョン、
及び以上のものの均等物を含むさまざまな形式で提供可
能であり、また、これらには限定されない。
【0011】当業者には認識されるだろうが、本明細書
で用いられる「媒体」、あるいは「コンピュータ読取り
可能媒体」には、ディスケット、テープ、コンパクトデ
ィスク、集積回路、ROM、CD、カートリッジ、通信
回線を通じてのリモート伝送、あるいは、コンピュータ
によって使用可能なその他の同様の媒体が含まれる。例
えば、コンピュータシステムが所定の方式で動作するこ
とを可能にするソフトウェアを供給するために、供給者
は、ディスケットを提供することも可能であり、あるい
は、衛星伝送を通じて、直接の電話リンクを通じて、ま
たはインターネットを通じて、何らかの形式でそのソフ
トウェアを送信することも可能である。このように、
「コンピュータ読取り可能媒体」という用語は、上記の
ものすべて、及び、ソフトウェアがコンピュータに提供
されることが可能なその他の任意の媒体を含むことを意
図している。
【0012】コンピュータシステムが所定の方式で動作
することを可能にするソフトウェアは、ディスケットに
「書き込まれ」、集積回路に「格納され」、あるいは通
信回線を「伝送され」ることが可能であるが、認識され
るように、本発明の目的には、コンピュータが使用可能
な媒体は、ソフトウェアを「有する」ということにす
る。このように、「有する」という用語は、ソフトウェ
アがコンピュータ使用可能媒体と関連づけられる上記及
びすべての均等な方法を含むことを意図している。従っ
て、簡単のため、「プログラム製品」という用語は、コ
ンピュータシステムが所定の方式で動作することを可能
にするソフトウェアを任意の形式で有する、上記で定義
したようなコンピュータ使用可能媒体を指すために使用
される。
【0013】[ユーザインタフェース]ユーザインタフ
ェースは、実行中のプログラムによって呼び出し可能で
ある。ユーザインタフェースは、ユーザがコンピュータ
システムと相互作用することを可能にする任意のハード
ウェア、ソフトウェア、またはハードウェアとソフトウ
ェアの組合せを意味するものとする。ほとんどのプログ
ラムは、例えば、ユーザに対するグラフィカルインタフ
ェース、コマンドラインインタフェース、制御インタフ
ェース(CORBA、JAVA−RMI、DCEあるい
はその他のプロトコルに基づく)などの、さまざまなタ
イプの多くのインタフェースを有する。ここで、認識さ
れるように、「ユーザインタフェース」という用語は、
これらをすべてまとめたものを意味する。
【0014】この説明の目的では、ユーザインタフェー
スは、1個以上のユーザインタフェースオブジェクトを
含むものと考える。ユーザインタフェースオブジェクト
には、表示領域、ユーザ活性化可能領域などがある。
【0015】よく知られているように、表示領域は、ユ
ーザに対して情報を表示するユーザインタフェースの領
域である。ユーザ活性化可能領域は、ボタンやメニュー
のように、ユーザがユーザインタフェースに関して何ら
かのアクションを起こすことを可能にするユーザインタ
フェースの領域である。
【0016】ユーザインタフェースは、アプリケーショ
ンプログラムによって呼び出されることが可能である。
アプリケーションプログラムがユーザインタフェースを
呼び出すときは、一般に、ユーザと相互作用するためで
ある。しかし、本発明の目的では、必ずしも現実のユー
ザが常にユーザインタフェースと相互作用する必要はな
い。また、本発明の目的では、ユーザインタフェースと
の相互作用は、必ずしも現実のユーザによって実行され
る必要はない。すなわち、予想されるように、ユーザイ
ンタフェースは、ユーザインタフェースに関するユーザ
のアクションをシミュレートするマクロプログラミング
言語ステートメントを用いて作成されたプログラムのよ
うな別のプログラムとの相互作用を有することも可能で
ある。
【0017】[コンピュータネットワーキング]図2
に、図1に示すタイプのいくつかのコンピュータがネッ
トワークで互いに接続されたものを示す。具体的には、
コンピュータ210、220、230、及び240が第
1のネットワーク200に参加している(第2のネット
ワークについては後述する)。図2に示す構成におい
て、第1のネットワーク200に接続されたコンピュー
タ210〜240はすべて互いに通信することができ
る。コンピュータ210〜240は、ネットワーク20
0に参加するステーションともいう。さらに、コンピュ
ータ210〜240は通常、第1のネットワーク200
に参加しており、ネットワーク200の「レギュラース
テーション」あるいは「レギュラーマシン」ということ
もある。
【0018】図3に、第1のネットワーク200及び第
2のネットワーク300を示す。第2のネットワーク3
00は、いくつかのレギュラーステーション310、3
20、330、及び340を有する。図3に示すステー
ション310〜340はそれぞれ、図1に示したような
デジタルコンピュータ10とすることが可能である。ス
テーション310〜340はすべて、第2のネットワー
ク300により互いに通信することができるが、図3に
示す構成では、第1のネットワーク200のステーショ
ン210〜240のいずれとも通信することはできな
い。この理由は、ネットワーク200とネットワーク3
00の間に相互接続がないためである。
【0019】ステーション210〜240及び310〜
340のすべてを単一の大きいネットワーク上に置くこ
とも可能ではあるが、これが常に好ましいとも可能であ
るとも限らない。ネットワーク間の通信を行う一般的な
解決法は、それらのネットワークを別々に保ちながら、
互いに通信が可能であるような何らかの接続をそれらの
ネットワークの間に設けることである。
【0020】図4に、第1のネットワーク200及び第
2のネットワーク300を、より概念的に示す。具体的
には、特定のトポロジー(図2及び図3に示すような)
ではなくインターネットワーキングの概念に注目するの
を助けるように、ネットワーク200及び300は、図
4では破線のかたまりで表されている。第3のネットワ
ーク400及びそのレギュラーステーション410、4
20、430、及び440も示されている。
【0021】図5は、図4と似ているが、3個のネット
ワーク200、300、400はネットワーク500に
接続され、ネットワーク500は、ネットワーク200
〜400を相互接続するネットワークと見なすことがで
きる。特に、ネットワーク500は、インターネットワ
ークと呼ぶことができる。第1のネットワーク200
は、アクセスステーション502を通じてインターネッ
トワーク500に接続される。第2のネットワーク30
0は、アクセスステーション503を通じてインターネ
ットワーク500に接続される。第3のネットワーク4
00は、アクセスステーション504を通じてインター
ネットワーク500に接続される。インターネットワー
ク500は、任意のサイズのネットワークとすることが
可能であり、スイッチングノードを含むことも可能であ
る。実際、インターネットワーク500は、インターネ
ットの場合のように、多くの中間ネットワークを含むこ
とも可能である。
【0022】次に、ネットワーク200〜400とイン
ターネットワーク500がどのように動作するかについ
ての簡単な説明をする。
【0023】[コンピュータ通信]最も単純な形式で
は、コンピュータの間の通信は、何らかの形式のポイン
トツーポイント伝送媒体によって直接に接続された2つ
のデバイス間で行うことが可能である。しかし、多くの
場合、2つのデバイスが直接にポイントツーポイント接
続されることは実際的でない。デバイスどうしが遠く離
れていて2つのデバイス間に専用リンクを設定すること
が高価すぎる場合、あるいは、デバイスのセットがあ
り、各デバイスがさまざまなときに他の多くへのリンク
を必要とする場合、コンピュータネットワーキングが解
決法となる。
【0024】個々のステーション210〜240、31
0〜340、及び410〜440は、ユーザ、あるいは
マシンともいう(他の用語も同様に使用可能である)。
ステーションは、通信する任意のタイプのデジタルコン
ピュータであり、すべて、アクセスノードと通信する。
【0025】通信ネットワークでは、データは、ソース
からデスティネーションへ、一連の中間ノードを通って
転送される。これらのノードは、データの内容には関知
しないが、データがデスティネーションに到達するまで
ノードからノードへデータを移動させる転送ファシリテ
ィを提供するために存在する。ネットワークの1つの種
類に、回線交換ネットワークがある。回線交換ネットワ
ークでは、ネットワークのノードを通じて2つのステー
ション間に専用の通信路が確立される。中間ノードの間
の各リンク上で、論理チャネルがそのコネクションに占
有される。
【0026】もう1つの種類のネットワークは、蓄積交
換ネットワークである。これは、本明細書では、パケッ
トネットワークともいう。パケットネットワークでは、
ネットワークを通るパスに沿った伝送容量を占有する必
要はない。その代わりに、データは、パケットという小
断片の列として送出される。各パケットは、ネットワー
クを通ってノードからノードへ渡される。関与するノー
ドは、まず、パケットを受け取り、それをメモリに格納
し、出力ネットワークインタフェースを決定するために
自己のフォワーディングテーブルを参照し、そのインタ
フェースを通じて次のホップへパケットを送る。フォワ
ーディングテーブルは、RIPやOSPFのようなルー
ティングプロトコルによって定期的に計算される。パケ
ットネットワークは一般にコンピュータ間通信に使用さ
れる。
【0027】ソースコンピュータ(ソース(送信元)ス
テーション)からネットワークを通りデスティネーショ
ンコンピュータ(デスティネーション(宛先)ステーシ
ョン)までの通信を行うためには、コンピュータシステ
ム間の非常に高度な協力が要求される。このような協力
動作のためのコンピュータ間の情報交換も、コンピュー
タ通信と考えられる。同様に、複数のコンピュータが通
信ネットワークを通じて相互接続されているとき、コン
ピュータステーションのセットは一般にコンピュータネ
ットワークと呼ぶことができる。
【0028】プロトコルは、コンピュータ間でのデータ
の交換を支配する規則のセットを指すと見なすことがで
きる。2つのコンピュータが互いに通信しているときに
は、同時に多くの異なるプロトコルが動作していること
もある。実際、コンピュータ間のさまざまな通信をすべ
て実現する構造化されたプロトコルのセットは、コンピ
ュータ通信アーキテクチャと呼ばれる。周知のコンピュ
ータ通信アーキテクチャの一例は、開放型システム間相
互接続(OSI)モデルである。もう1つの例はSNA
(Systems Network Architecture)である。さらにもう
1つの例はTCP/IPであり、インターネットに関係
する。
【0029】パケット(すなわち蓄積交換)ネットワー
クでは、アドレシング及びルーティングが重要な問題で
ある。パケットネットワークの主要な機能は、その最低
レベルでは、ソースステーションからパケットを受け取
り、そのパケットをデスティネーションステーションへ
配送することであると考えられる。ソースからデスティ
ネーションまでの複数の経路が一般に可能であるため、
ルーティング機能が実行されなければならない。ある特
定のノードにおいてパケットの経路を選択することがル
ーティングの機能であると考えられる。ルーティングソ
フトウェアと、そのルーティングソフトウェアによって
計算された経路に従ってネットワーク間でパケットを転
送するハードウェアとを備えた装置をルータという。注
意すべき点であるが、小規模のルータの場合、経路を手
動で設定して、ルーティングソフトウェアが無効化され
ることもある。
【0030】図6に、第1のネットワーク200と第2
のネットワーク300の間に接続されたルータ600を
示す。ルータは以下のように動作する。ステーション2
10が、ステーション310を宛先とするパケットを送
信すると仮定する。ソースステーション210は、例え
ば図1に示すようなデジタルコンピュータ10であり、
ネットワークアダプタ140を通じてネットワーク20
0へパケットを送信する。ルータ600には、2個のネ
ットワークアダプタ140が設定される。第1のネット
ワークアダプタは第1のネットワーク200に参加し、
第2のネットワークアダプタは第2のネットワーク30
0に参加する。ルータ600は、ステーション210が
送信したパケットを受信する。ルータは、そのデスティ
ネーションのアドレスがステーション310であること
を認識する。ルータ600はメモリ内にいくつかのテー
ブルを保持しており、これらのテーブルは、デスティネ
ーションステーション310が第1ネットワーク200
に参加しているレギュラーステーションではないことを
示す情報を含む(これらのテーブルは、フォワーディン
グテーブル、あるいは、ルーティングテーブルと呼ばれ
るが、手動で設定されるか、または、RIPやOSPF
のようなルーティングプロトコルによりルーティングソ
フトウェアによって自動的に計算される)。受信したパ
ケットが、第1のネットワーク200に参加していない
ステーション宛のものであると判定すると、ルータ60
0は、その第2のネットワークアダプタ140を通じて
第2のネットワーク300へパケットを送信する。パケ
ットは、デスティネーションステーション310によっ
て、そのネットワークアダプタ140を通じて受信され
る。
【0031】同じパケットがソースステーション210
によって送信されたがステーション220がデスティネ
ーションステーションとして指定された場合、ルータ
は、そのフォワーディングテーブルから、ステーション
220は第1のネットワーク200のレギュラーステー
ションであると判定し、そのパケットのコピーを第2の
ネットワーク300には送信しない。
【0032】理解されるだろうが、パケットネットワー
クの一例は、(一般のネットワークのネットワークとし
ての)インターネット(an internet)である。このイン
ターネット(internet)の特別の例が(世界規模のネット
ワークとしての)インターネット(the Internet)であ
る。本明細書では一般に、これらの2つは交換可能であ
り、区別なしに「インターネット」という。以下の説明
は、(世界規模のネットワークとしての)インターネッ
ト(the Internet)に限定することを意図していないが、
(世界規模のネットワークとしての)インターネット(t
he Internet)がほとんどの例で用いられる。また、「デ
ータパケット」あるいは「データのパケット」という用
語は、「データグラム」と入れ替えて使用可能である。
【0033】図5に戻って、認識されるように、アクセ
スノード502、503、及び504は、ルータ600
として動作するように装備されたデジタルコンピュータ
10とすることが可能である。また、ルータは、複数の
ネットワークに所定の方式で参加することが可能なデジ
タルコンピュータ10であることは理解されるであろ
う。ルータ600は、そのコンピュータ命令に従って所
定のルーティング動作を実行するように設定されたコン
ピュータシステムである。
【0034】インターネットパケットは、デスティネー
ションのロケーションに配送されるために、デスティネ
ーションアドレスを有していなければならない。これに
関して、名前とアドレスを区別しなければならない。名
前は、アドレスが関係するエンティティを示す。すなわ
ち、アドレスは、名前を有することが可能なエンティテ
ィのロケーションを示す。IP(Internet protocol)
は、主にアドレスを扱うプロトコルである。
【0035】上記のOSIモデルには、7つの層(レイ
ヤ)、すなわち、物理層、データリンク層、ネットワー
ク層、トランスポート層、セッション層、プレゼンテー
ション層、及びアプリケーション層がある。トランスポ
ート層は、エンドポイント間での信頼性の高い透過的
(トランスペアレント)なデータの転送を提供する。ま
た、エンドツーエンドで誤り回復及びフロー制御も提供
する。インターネットに一般に関連する2つの異なるト
ランスポートレベルのプロトコルがある。これらの2つ
のプロトコルは、コネクション型のトランスミッション
コントロールプロトコルTCP(transmission control
protocol)と、コネクションレス型のユーザデータグラ
ムプロトコルUDP(user datagram protocol)である。
TCPは、インターネットの主要なトランスポートプロ
トコルである。
【0036】インターネットワーク500(以下、イン
ターネット(the Internet)のみに限定されないという
理解のもとに、これをインターネットという)は、ネッ
トワーク層でIPを使用し、その上に、TCP、UDP
及びICMPのような他の上位層プロトコルを実装す
る。IPを使用するネットワークをIPネットワークと
いう。従って、インターネット500はIPネットワー
クである。また、ネットワーク200、300、及び4
00もIPを使用すると仮定する。
【0037】TCPは、OSIモデルのトランスポート
層にほぼ対応し、IPはネットワーク層にほぼ対応する
と考えられる。IPは、ソースからデスティネーション
へパケットをルーティングすることに関与し、コネクシ
ョンレス型であるが、TCPはコネクション型である。
【0038】理解すべきもう1つのプロトコルはICM
P(Internet control message protocol)である。IC
MPは、IPとともに動作し、同じくネットワーク層に
関連する。IPはコネクションレス型であるため、発信
側にメッセージやエラーを中継する方法がない。ICM
Pは、IPのためにこのような機能を実行する。ICM
Pは、ステータスメッセージ及びエラーメッセージを送
信側ステーションに送る。ICMPメッセージはIPを
用いて運ばれる。IPネットワークにおいて重要なさら
にもう1つのプロトコルはアドレス解決プロトコルAR
P(address resolution protocol)である。IP及びI
CMPとは異なり、ARPはリンク層にある。ARP
は、IPアドレスを、ネットワークインタフェースのハ
ードウェアアドレスにマッピングする。具体的には、A
RPは、ローカルリンク上でIP/ハードウェアアドレ
スの対応に関して動的に通知及び問合せを行うために使
用される。TCP/IPはレイヤ3以上で動作するた
め、それより低いレベルのエンティティであるボードと
インタフェースする機構を必要とする。ネットワークイ
ンタフェースの一意的なレイヤ3アドレス(すなわちI
Pアドレス)は、それ自体では、物理的なネットワーク
インタフェースカードを識別しない。IPアドレスとデ
ータリンク(すなわちハードウェア)アドレスを関連づ
ける機構が要求される。ARPはこれを行う。ARPに
ついては後でさらに詳細に説明する。
【0039】TCP及びUDPについては既に言及し
た。TCP及びUDPのアドレス可能なエンドポイント
をポートという。TCP及びUDPは、ウェルノウン
(周知の)ポートに割り当てられたアプリケーション
と、動的に割り当てられるポートを使用するアプリケー
ションを有する。これらのポートはエンドポイントであ
り、論理コネクションを作成するためにアドレス可能な
エンティティである。これらをサービス契約ポートとい
う。これらは、特定のサービスのリクエスタ(要求者)
にサービスを提供することが可能であるからである。ポ
ート番号は一般に変化しない。通信エンドポイントアド
レスは、IPアドレスと、IPアドレスの終わりに付加
されたポート番号との組合せである。
【0040】IPネットワークに参加する各ステーショ
ンは、32ビットのIPアドレスで識別される。IPア
ドレスは、32ビットの固定長である。1つのアドレス
は、ネットワーク番号で始まり、その後にローカルホス
トアドレスが続く。インターネットアドレスのいくつか
のクラスが定義されている。IPネットワークの可能な
異なるサイズを考慮するために、IPアドレスのいくつ
かのクラスが提供されている。インターネット(すなわ
ち全世界ネットワーク)は、アドレシングに関して、内
部インターネット(例えば企業内ネットワーク)とは異
なる考慮点を有する。
【0041】図7に、IPパケットヘッダを示す。IP
パケットは周知であるが、以下、いくつかのフィールド
について簡単に説明する。送信元アドレスフィールド
は、パケットの発信者を示し、長さは32ビットであ
る。あて先アドレスは、パケットのターゲットである。
送信元アドレスと同様に、その長さは32ビットであ
る。「ttl」で示されるフィールドは、time-to-live
(生存時間)フィールドである。このフィールドは、パ
ケットがインターネットシステムにとどまることが許さ
れる最大時間を示す。この値が0に等しくなると、パケ
ットは破壊または廃棄される。時間は秒単位で測定さ
れ、また、パケットを処理する各エンティティは、たと
えその処理時間が1秒未満であっても、その値を1だけ
減らさなければならない。プロトコルフィールドは、受
信機側でIPパケットのワークロードに含まれるデータ
を処理すべき上位レベルプロトコルエンティティを決定
する。このような上位レベルプロトコルの例は、TCP
及びUDPである。チェックサムフィールドは、ヘッダ
のみのチェックサムを提供するように計算されるフィー
ルドである。
【0042】次に、ドメインネームサービス(DNS)
について説明する。DNSの目的は、人間が読取り可能
なコンピュータ名(例えば、castor.nec.com)を、IP
プロトコルによって使用されることが可能な対応するI
Pアドレス(例えば、140.20.20.4)に変換
することである。
【0043】DNSは、木の形の階層構造である。木の
頂点にはルートサーバがあり、これは、自分及びその直
下のトップレベルドメインに関する情報を含む。一般的
なトップレベルドメインには、.gov、.edu、.com、及
び.orgがある。
【0044】DNSのもとでは、ドメイン名は、最後に
トップレベルドメインを有する名前の列である。ドメイ
ン名の各部分をラベルという。例えば、dept.company.c
omは、dept、company、及びcomという3つのラベルを有
する。ネームサーバは、ホスト、ステーションあるいは
ノード上で動作する、名前をIPアドレスに変換するプ
ログラムである。ネームサーバは、ドメイン名をIPア
ドレスにマッピングすることによってこれを行う。ネー
ムサーバは、ネームサーバソフトウェアを実行する専用
プロセッサであることも、そうでないことも可能であ
る。ネームリゾルバは、ネームサーバとの相互作用に関
してはクライアントとして機能するソフトウェアであ
る。ネームキャッシュは、頻繁に使用される名前情報を
格納するためにネームリゾルバによって使用される記憶
領域である。
【0045】ドメインシステムは、すべてのデータが、
そのドメインシステムを使用するホストを通じて散布さ
れるマスタファイルを起源とすると仮定する。これらの
マスタファイルは、ローカルシステム管理者によって更
新される。マスタファイルは、ローカルネームサーバに
よって読み取られるテキストファイルであり、従って、
ネームサーバを通じてDNSのユーザに利用可能とな
る。ユーザプログラムは、リゾルバを通じてネームサー
バにアクセスする。一般に、ユーザプログラムは、ロー
カルリゾルバを通じてDNSにアクセスする。リゾルバ
の視点から見ると、DNSは未知の個数のネームサーバ
を含む。各ネームサーバは、全体のドメインツリーの一
部である。リゾルバは、これらのDNSサーバのそれぞ
れと、ほぼ静的な対応するデータベースとを見る。ネー
ムサーバの視点から見ると、DNSは、ゾーンと呼ばれ
るローカル情報のいくつかのセットからなる。ネームサ
ーバは、いくつかのゾーンのローカルコピーと、他のD
NSサーバ(他のゾーンを受け持つ)への参照とを有す
る。DNSサーバは、与えられた名前をローカルに保持
するデータベースから解決することができない場合、そ
の名前が属するゾーンを受け持つDNSサーバに問合せ
を転送する。
【0046】[レギュラーステーション、レギュラーネ
ットワーク]次に、ステーション210のようなレギュ
ラーステーションが自己のレギュラーネットワーク(す
なわち、第1のネットワーク200)に接続されるとき
に起こることについて考える。まず、ステーション21
0は、次ホップのルータまたはゲートウェイと、ホーム
ネットワークセグメントに属する他のマシンのハードウ
ェアアドレスを見つけなければならない。これを行うた
め、ステーション210は、ARP要求を送出する。
【0047】このレギュラー(通常)構成のもとでの動
作の例について、図17を参照して説明する。簡単のた
め、ソースステーション(送信側ステーション)は、図
5に示すようにネットワーク200に接続されたステー
ション210であり、ステーション210は、図1に示
すようにただ1つのネットワークアダプタ140(例え
ば、1個のイーサネットカード)を有すると仮定する。
【0048】ステーション210は、手動で、自己のI
Pアドレス(例えば、138.15.103.21)、
ネットマスク(例えば、255.255.255.
0)、及び、ルータ502に関連するゲートウェイIP
アドレス(例えば、138.15.103.52)が設
定されている。これらの設定は、マシンが使用されるネ
ットワーキング環境に特有である。これらのアドレス
は、ローカルシステム管理者によって割り当てられ、ス
テーション210〜240に入力される。これらは通
常、ステーションがレギュラーネットワークに接続され
ている間は変更されない。
【0049】ステーション210は、ステーション22
0(そのアドレスは138.15.103.22)にパ
ケットを送信しなければならないと仮定する。
【0050】まず、ステーション210は、デスティネ
ーションステーションと同じセグメントに直接に接続さ
れているかどうかを判定する。ステーション210は、
ネットマスクを考慮に入れて、自己のIPアドレスを受
信側のIPアドレスと比較する(ステップ1710)。
【0051】送信側ステーション210は、IPアドレ
ス及びネットマスクを32ビット値として解釈し、2つ
のIPアドレスのうち、ネットマスクの対応するビット
が1であるビットのみを比較する(この例では、これ
は、IPアドレスの最初の24ビットを比較し、最後の
8ビットは無視することを意味する)。いずれの場合で
も、最初の24ビットは138.15.103である。
【0052】ステップ1720で、マスクされたアドレ
スが等しいか等しくないかを判断する。等しい場合、処
理はステップ1725に進む。等しくない場合、処理は
ステップ1730に進む。この比較結果では、マスクさ
れたアドレスは等しいと判断されるため、処理はこの例
ではステップ1725に進む。
【0053】ステップ1720での判断により、ソース
ステーション210とデスティネーションステーション
220は同じセグメントに接続されていると推論され
る。従って、このパケットの次ホップは、デスティネー
ションステーション220のIPアドレスを有するステ
ーションとなる。
【0054】IPパケットを次ホップ(これはこの例で
はデスティネーションステーション220である)に配
送するために、IPホストは、次ホップのハードウェア
アドレス(HWアドレス)を判定しなければならない。
これは、物理伝送媒体に対してパケットをどこへ配送す
べきかについて正しく指示するために、行わなければな
らないことである。IPホストは、次ホップのIPアド
レス(すなわち、ステーション220のIPアドレス)
を知っているが、次ホップのHWアドレスはまだ知らな
い。このために、IPホストは、ネットワーク200上
のあらゆるステーションにブロードキャスト形式で、次
ホップのマシンのHWアドレスを問い合わせるARPメ
ッセージを送出する(ステップ1720)。このARP
メッセージは、デスティネーションステーション220
を宛先の受信機として識別する。
【0055】次ホップは、ローカルネットワーク200
に参加しているステーションであるため、このARP要
求を受信した後、自己のHWアドレスを応答することに
より、次ホップステーションのHWアドレスが送信側ス
テーション210に提供される。ステップ1740で、
ステーション210は、ARP応答が受信されたかどう
かをチェックする。受信されていない場合、ウェイト期
間に入る(ステップ1750)。ウェイトの後、ステッ
プ1760で、タイムアウト期間が経過したかどうかを
判定する。タイムアウトが経過していない場合、処理
は、ステップ1740に進み、ARP応答をもう一度チ
ェックする。タイムアウトが経過した場合、エラーが発
生したと判定する。
【0056】ARP応答が検出されると仮定すると、処
理はステップ1770に進む。ARP応答が検査され、
次ホップステーションのHWアドレスが判定される。
【0057】ステップ1780で、パケットは次ホップ
に送られる(この例ではステーション220)。このパ
ケットのデスティネーションIPアドレスは138.1
5.103.22である。ステーション220は、パケ
ットの送り先のHWアドレスと一致するHWアドレスを
有するため、このパケットを受信する。ステーション2
20は、このパケットが、デスティネーションアドレス
として、ステーション220のIPアドレスを有するこ
とを確認する。これにより、ステーション220はその
パケットを受け入れる。
【0058】次に、ステーション210がIPパケット
を、別のネットワーク上のステーションであるステーシ
ョン310に送る場合の例について説明する。ステーシ
ョン310のIPアドレスは、例として、141.2
0.20.31である。
【0059】まず、ステーション210は、デスティネ
ーションステーション310と同じセグメントに直接に
接続されているかどうかを判定する。ステーション21
0は、ネットマスクを考慮に入れて、自己のIPアドレ
スを受信側のIPアドレスと比較する(ステップ171
0)。
【0060】2つのアドレスは、マスクすると、ステー
ション210は138.15.103であり、ステーシ
ョン310は141.20.20である。ステップ17
20で、マスクされたアドレスが等しくないと判断され
るため、処理はステップ1730に進む。
【0061】ステップ1720での判断により、ソース
ステーション210とデスティネーションステーション
310は同じセグメントに接続されていないと推論され
る。従って、このパケットの次ホップは、ルータ(ゲー
トウェイ)502である。ルータ502のIPアドレス
は、既に述べたように、138.15.103.52で
ある。パケットのデスティネーションはステーション3
10であるが、パケットの次ホップはルータ502でな
ければならない。
【0062】IPパケットを次ホップに配送するため
に、IPホストは、次ホップのHWアドレスを判定しな
ければならない。IPホストは、次ホップのIPアドレ
ス(すなわち、ルータ502のIPアドレス)を知って
いるが、次ホップのHWアドレスはまだ知らない。この
ために、IPホストは、ネットワーク200上のあらゆ
るステーションにブロードキャスト形式で、次ホップの
マシンのHWアドレスを問い合わせるARPメッセージ
を送出する(ステップ1730)。このARPメッセー
ジは、ルータ502を宛先の受信機として識別する。
【0063】次ホップは、ローカルネットワーク200
に参加しているルータであるため、このARP要求を受
信した後、自己のHWアドレスを応答することにより、
次ホップステーションのHWアドレスが送信側ステーシ
ョン210に提供される。既に説明したように、ウエイ
トと及びタイムアウトの処理が、ステップ1740、1
750、及び1760で行われる。
【0064】ARP応答が検出されると仮定すると、処
理はステップ1770に進む。ARP応答が検査され、
次ホップステーションのHWアドレス(この例では、ル
ータ502のアドレス)が判定される。
【0065】ステップ1780で、パケットは次ホップ
に送られる(この例ではルータ502)。このパケット
のデスティネーションIPアドレスは141.20.2
0.31である。ルータ502は、パケットの送り先の
HWアドレスと一致するHWアドレスを有するため、こ
のパケットを受信する。
【0066】ルータは、自己のIPアドレスがパケット
のデスティネーションIPアドレスと一致しないことを
認める。従って、ルータ502は、図17に示す手続き
を実行して、最終受信者へのパスにより次ホップへパケ
ットを転送する。
【0067】すなわち、ステーション210がパケット
をステーション310に送ると、パケットはルータ50
2によって受け取られ、インターネット500を通じて
送られ、ルータ503によって受け取られ、ステーショ
ン310に送信される。パケットは、ソースIPアドレ
スを、210のアドレスであるとして示す。返信時に、
ステーション310は、ソースであるとして示されたI
PアドレスをデスティネーションとするIPパケットを
送出する。返信パケットは、ルータ503によって受け
取られ、インターネット500を通じて送られ、ルータ
502によって受け取られる。ルータ502は、ステー
ション210に対応するIPアドレスが自己のネットワ
ークに参加しているレギュラーステーションのものであ
るであることを知っている。ルータ502は、ネットワ
ーク200上にパケットを送信し、このパケットはステ
ーション210によって受信される。
【0068】[ゲストステーション、外部ネットワー
ク]ハードウェアに関して、「ゲストマシン」あるいは
「ゲストステーション」という用語は、周知のIP(int
ernet protocol)を用いて通信可能なさまざまなコンピ
ューティング装置あるいはコンピュータのうちの任意の
ものを意味する。ゲストマシンとしては、デスクトップ
コンピュータ、移動可能(ポータブル)コンピュータ、
ラップトップあるいはノートブックコンピュータ、パー
ムトップあるいはハンドヘルドコンピュータ、パーソナ
ルデジタルアシスタントなどが可能である。ゲストマシ
ンとなる可能性のある装置は、単に、IPを用いて通信
可能であればよい。
【0069】また、「ゲストステーション」は、レギュ
ラーネットワークに接続されていないステーションを意
味する。この状況は、以下で説明するように、さまざま
な理由で生じることがある。
【0070】しばしば、移動するビジネス旅行者や、ワ
ークショップや会議の出席者は、他のサイトを訪れると
きに、さまざまなポータブルなIP通信可能装置(少な
くともラップトップ)を持ち運ぶ。オンライン株取引、
電子メール及びその他のインターネットサービスが日常
的になっているために、彼らは通常、ホスト側組織から
インターネットにアクセスすることを要求する。そのよ
うな場合、しばしば、ホスト側組織のアナログ電話線の
うちの1つを、ゲストが提供する28.8Kビット/秒
モデムとともに使用して、ゲストのホームネットワーク
に、または公衆のISPに直接にダイヤルする。この解
決法は、高価で(長距離電話料金)遅い(28.8Kビ
ット/秒)のみならず、しばしば実際的でない(アナロ
グ電話線にアクセスできない場合や、その使用許可がな
い場合)。
【0071】従って、ホスト側組織がゲストに対して、
ポータブルデバイスをインターネットに接続するため
の、より経済的で容易に使用可能な機構を提供すること
が好ましい。
【0072】図8に、ゲストステーションが外部ネット
ワークと関与する状況を示す。図8で、ステーション2
10は、第3のネットワーク400上のゲストステーシ
ョンである。ステーション210は、第1のネットワー
ク200のレギュラーステーションである。今は、ステ
ーション210はネットワーク400に接続されてい
る。第3のネットワーク400は、ステーション210
のレギュラーネットワークではないため、第3のネット
ワーク400は、ステーション210にとって外部ネッ
トワーク(foreign network)である。従って、ステーシ
ョン210の視点から見ると、接続は外部ネットワーク
に対してなされている。第3のネットワーク400の視
点から見ると、ゲストステーションが接続されている。
実際には、第3のネットワーク400は、ゲストにIP
接続を提供するホテルや会議センタと見なすことができ
る。このサービスは、ゲストステーションをホストする
サービスと呼ばれ、ネットワーク400を、ホスティン
グネットワーク(ホストネットワーク)という。
【0073】
【発明が解決しようとする課題】[ゲストステーション
をホストする際の問題点]ゲストステーションをホスト
する際の一般的な問題点について、図8及び図17を参
照して、例を挙げて説明する。
【0074】簡単のため、ソースステーション(送信側
ステーション)は、図8に示すように、レギュラーネッ
トワーク200ではなく第3のネットワーク400に接
続されたステーション210であり、ステーション21
0は、図1に示すように、ただ1つのネットワークアダ
プタ140(例えば、1個のイーサネットカード)を有
すると仮定する。
【0075】ステーション210は、手動で、自己のI
Pアドレス(例えば、138.15.103.21)、
ネットマスク(例えば、255.255.255.
0)、及び、ルータ502に関連するゲートウェイIP
アドレス(例えば、138.15.103.52)が設
定されている。
【0076】ステーション210は、ステーション22
0(そのアドレスは138.15.103.22)にパ
ケットを送信しなければならないと仮定する。
【0077】まず、ステーション210は、デスティネ
ーションステーションと同じセグメントに直接に接続さ
れているかどうかを判定する。ステーション210は、
ネットマスクを考慮に入れて、自己のIPアドレスを受
信側のIPアドレスと比較する(ステップ1710)。
いずれのマスクされたアドレスも、最初の24ビットは
138.15.103となる。
【0078】この比較結果では、マスクされたアドレス
は等しいと判断されるため、処理はこの例ではステップ
1725に進む。
【0079】ステップ1720での判断により、ソース
ステーション210とデスティネーションステーション
220は同じセグメントに接続されていると誤って推論
される。従って、このパケットの次ホップは、デスティ
ネーションステーション220のIPアドレスを有する
ステーションとなる。
【0080】IPパケットを次ホップ(これはこの例で
はデスティネーションステーション220である)に配
送するために、ゲストステーション210は、次ホップ
のハードウェアアドレス(HWアドレス)を判定しよう
とする。ステーション210は、ネットワーク400上
のあらゆるステーションにブロードキャスト形式で、次
ホップのマシンのHWアドレスを問い合わせるARPメ
ッセージを送出する(ステップ1720)。このARP
メッセージは、デスティネーションステーション220
を宛先の受信機として識別する。
【0081】次ホップは、ローカルネットワーク200
に参加しているステーションではなく、ネットワーク4
00に参加しているいずれのステーションのIPアドレ
スも一致しないため、ARP要求はネットワーク400
上のあらゆるステーションによって無視され、いずれの
ステーションもARP応答を送信しない。
【0082】ステップ1740で、ステーション210
は、ARP応答が受信されたかどうかをチェックする。
応答が受信されていないため、結局、エラー状況が存在
すると判定される。ステーション220へのパケットは
送信することができない。
【0083】次に、第3のネットワーク400に接続さ
れたゲストステーション210がIPパケットを、別の
ネットワーク上のステーションであるステーション31
0へ送信しようとする場合の例について説明する。今度
も、ステーション310のIPアドレスは、例として、
141.20.20.31である。
【0084】まず、ステーション210は、デスティネ
ーションステーション310と同じセグメントに直接に
接続されているかどうかを判定する。ステーション21
0は、ネットマスクを考慮に入れて、自己のIPアドレ
スを受信側のIPアドレスと比較する(ステップ171
0)。
【0085】2つのアドレスは、マスクすると、ステー
ション210は138.15.103であり、ステーシ
ョン310は141.20.20である。ステップ17
20で、マスクされたアドレスが等しくないと判断され
るため、処理はステップ1730に進む。
【0086】ステップ1720での判断により、ゲスト
ステーション210とデスティネーションステーション
310は同じセグメントに接続されていないとゲストス
テーション210によって推論される。従って、少なく
ともステーション210にプログラムされている内部I
P設定によれば、このパケットの次ホップは、ルータ
(ゲートウェイ)502である。ルータ502のIPア
ドレスは、既に述べたように、138.15.103.
52である。パケットのデスティネーションはステーシ
ョン310であるが、パケットの次ホップはルータ50
2であると設定される。
【0087】IPパケットを次ホップ(これはこの例で
はルータ502である)に配送するために、ゲストステ
ーション210は、次ホップのハードウェアアドレスを
判定しなければならない。ゲストステーション210
は、次ホップのIPアドレス(すなわち、ルータ502
のIPアドレス)を知っているが、次ホップのHWアド
レスはまだ知らない。このために、ゲストステーション
210は、第3のネットワーク400上のあらゆるステ
ーションにブロードキャスト形式で、次ホップのマシン
のHWアドレスを問い合わせるARPメッセージを送出
する(ステップ1730)。このARPメッセージは、
ルータ502を宛先の受信機として識別する。
【0088】しかし、このルータは、ネットワーク40
0に参加していないため、ARP応答はステーション2
10には返ってこない。直前の例の場合と同様に、エラ
ー状況が存在すると判定され、ゲストステーション21
0からデスティネーションステーション310へパケッ
トを送信することができない。
【0089】ゲストステーション210のパケットを送
出するようにルータ504をプログラムしておくことが
できるとしても、以下で説明するように、依然として問
題点は残る。
【0090】ステーション210が第3のネットワーク
400上のゲストであり、ルータ504を通じてパケッ
トをステーション310へ送信すると仮定する。このパ
ケットは、ネットワーク400上のルータ504によっ
て受信される。ルータ504は、図6に示すルータ60
0のような構成を有することが可能である。ルータ50
4は、そのネットワークアダプタ140の一方を通じて
パケットを受信する。ルータ504は、そのルーティン
グテーブルでデスティネーションアドレスをチェック
し、このパケットが、自己のネットワーク400内のい
ずれのIPアドレスにも関係しないデスティネーション
アドレスを有することを認める。ルータ504は、他方
のネットワークインタフェース104にパケットを送信
する。この時点で、パケットは、ステーション210を
ソースIPアドレスとし、ステーション310をデステ
ィネーションIPアドレスとする。
【0091】パケットは、インターネット500を通じ
て運ばれ、ルータ503に送られる。ルータ503は、
ネットワーク300内にあると予想されるステーション
に対するすべてのパケットを受信するルータであるから
である。ルータ503は、このパケットを受信し、自己
のルーティングテーブルから、ステーション310のI
Pアドレスがネットワーク300上のIPアドレスであ
ると判断する。ルータ503は、このパケットをネット
ワーク300上に送信し、ステーション310はこれを
受信する。
【0092】ステーション310が返信パケットを送信
するときに、問題の中心が明確になる。ステーション3
10によって受信されるパケットは、ステーション21
0をソースIPアドレスとする。従って、ステーション
310は、返信パケットのデスティネーションとして、
その同じIPアドレスを有する返信パケットを送信す
る。ステーション210のアドレスをデスティネーショ
ンIPアドレスとする返信パケットは、ルータ503に
よって受け取られ、インターネット500上に送られ
る。
【0093】パケットは、インターネット500を通じ
て運ばれ、ルータ502に送られる。ルータ502は、
ネットワーク200内にあると予想されるステーション
に対するすべてのパケットを受信するルータであるから
である。ルータ502は、このパケットを受信し、自己
のルーティングテーブルから、ステーション210のI
Pアドレスがネットワーク200上のIPアドレスであ
ると判断する。ルータ502は、このパケットをネット
ワーク300上に送信するが、ステーション210はこ
のネットワークに接続されていない。従って、ステーシ
ョン310からステーション210への返信パケットは
決してステーション210に到達することはない。ステ
ーション210は外部ネットワーク400上のゲストと
して接続されているからである。
【0094】[ゲストステーションをホストする際の問
題点に対する可能な解決法の説明]ゲストステーション
をホストする際の問題点に対する解決法は、ゲストのデ
バイスに変更を要求するものであるべきではない。これ
には4つの理由がある。第1に、そのような変更をする
ことは、ローカルネットワークポリシー及びIPアドレ
スに関する知識を必要とする。第2に、ゲストステーシ
ョンのデバイスを変更することは面倒であり、エラーの
生じやすい作業である。第3に、訪問が終了した後、変
更を元に戻さなければならない。第4に、このような変
更がゲストの装置に及ぼす影響については全く明らかで
あるとはいえない。このような設定変更の後にゲストの
システムのコンポーネントの調子が悪くなると、たとえ
それが全く無関係な理由によるものだとしても、可能性
のある原因や責任について議論が起こり得る。
【0095】さらに、ゲストステーションをホストする
際の問題点に対する解決法は、ゲストからの悪意のある
攻撃を避けるために、外部ネットワーク(また、自己の
視点から見れば、ホスティングネットワーク)に対する
セキュリティを可能にすべきである。
【0096】・DHCP ダイナミックホストコンフィグレーションプロトコルD
HCP(Dynamic HostConfiguration Protocol)の使用
は、外部ネットワーク上でのゲストステーションのサポ
ートのために考慮され得る1つの機構である。しかし、
DHCPは、ホストネットワークに対しても、ゲストス
テーションに対しても、セキュリティの点を考慮してい
ないという点で不利である。
【0097】もう1つの克服しがたいDHCPの欠点
は、ゲストステーションにおけるサポートを必要とする
ことである。すべてのゲストステーションがDHCPを
サポートしているわけではなく、特に、最小のIPスタ
ックしか有しない古いシステムや単純なデバイスではそ
うである。
【0098】さらにもう1つのDHCPの欠点は、各ゲ
ストステーションごとに別々のIPアドレスを必要とす
ることである。適当な容量を提供するためには、ホスト
や会議施設は大きいIP番号のプールを取得することが
必要になるが、そのほとんどは一般には未使用のままと
なる。
【0099】・モバイルIP モバイルIPは、ゲストステーションをホストする際の
問題点に対する解決法として考慮され得るもう1つの機
構である。しかし、モバイルIPは、各ゲストに対する
ホームエージェントの存在に依存する。このようなホー
ムエージェントは通常、ほとんどのゲストにとって利用
可能でない。
【0100】予想される単純なIPデバイスのほとんど
(例えば、IPペン、ポータブルプリンタ)は、ホスト
側組織の環境だけで働く。ホームエージェントによるモ
バイルIPアプローチの場合のように、それらを論理的
にホーム環境に入れることは非効率的である。ゲストユ
ーザにとっては、ゲストステーションのレギュラーネッ
トワークを通って迂回することなく、インターネットサ
ービスのほとんど(すなわち、WWWの閲覧、電子メー
ルの送信、ftp、電子メールを読むためのtelne
tなど)にアクセスすることができたほうがよい。
【0101】・ネットワークアドレス変換 ネットワークアドレス変換NAT(network address tra
nslation)はRFC1631に記載されている。NAT
の1つのバージョンは、CISCO Systemsの市販製品で利
用可能である。
【0102】最も単純な設定では、ネットワークアドレ
ストランスレータ(NAT:Network Address Translat
or)は、2つのネットワークどうしを接続するルータ上
で動作する。これらのネットワークの一方(内部として
指定される)は、プライベートアドレスまたは旧式(obs
olete)アドレスでアドレス指定される。これらのアドレ
スは、パケットが他のネットワーク(外部として指定さ
れる)上に転送される前に、正式なアドレスに変換され
る必要がある。変換は、ルーティングとともに動作する
ため、NATは、変換が必要なときに、利用者側のイン
ターネットアクセスルータ上で簡単に実行することがで
きる。
【0103】NATデバイスの使用は、ルータプラット
フォーム上でRFC1631スタイルのネットワークア
ドレス変換を提供する(URL http://info.internet.
isi.edu:80/in-notes/rfc/files/rfc1631.txtを参
照)。NATの目標は、プライベートネットワークがあ
たかもグローバルに一意的なアドレスを有しておりNA
Tデバイスが存在していないかのような機能を提供する
ことである。市販品では、NATは、パケット内のソー
スIPアドレス及びデスティネーションIPアドレスの
両方の変換を実行することができる。この変換は、NA
T機能のあるルータで管理されるアドレス変換テーブル
を用いることによって実行される。
【0104】しかし、NATは、ゲストステーションを
扱わない。NATによる変換は、アドレス変換テーブル
にアドレスが入力されることを必要とする。パケットが
このようなルータによって受信される場合、ソースアド
レスはアドレス変換テーブルに存在せず、変換を行うこ
とができない。従って、NATの使用は、ゲストステー
ションのをアドレス変換テーブルに追加するというホス
ト側組織のサポートを要求する。
【0105】
【課題を解決するための手段】従って、本発明の目的
は、ゲストがゲストステーションを外部ネットワークに
簡単につないで即時にIP接続ができるように、ゲスト
ステーションをホストする際の問題点を解決することで
ある。もう1つの目的は、外部ネットワークがイーサネ
ットのようなブロードキャストLANを使用していると
きでもこれを実現することである。本発明のさらにもう
1つの目的は、以前に設定されたポータブルデバイスの
ネットワーク設定(IPアドレス、ネットマスク、次ホ
ップルータ(ゲートウェイ)や、DNS(Domain Name S
ervice)の設定など)への変更なしに、上記のことを実
現することである。本発明のもう1つの目的は、ゲスト
ステーションによるホスティングネットワークへの悪意
のある攻撃を防ぐような方法で、即時のIP接続を実現
することである。本発明のもう1つの目的は、ゲストス
テーションに対して、必要であれば、外部ネットワーク
からの悪意のある侵入や攻撃に対するセキュリティを提
供することを可能にするような方法で、上記の接続を実
現することである。さらに、本発明の目的は、大きいI
Pアドレスのプールを必要とせずに、ゲストステーショ
ンのIPアクセスを提供することである。最後に、本発
明の重要な目的は、ゲストステーションからのサポート
なしに、また、ゲストのレギュラーネットワークからの
サポートを期待することなく、ゲストステーションのI
Pアクセスを提供することである。
【0106】本発明による、アクセスルータがIPサー
ビスをゲストステーションに提供するアクセスルーティ
ング方法は、前記ゲストステーションから、元のソース
IPアドレス及びデスティネーションIPアドレスを有
する元の出力IPパケットをインターセプトするインタ
ーセプトステップと、前記元のソースIPアドレスをc
/o(care-of)アドレスに関連づける関連づけステッ
プと、前記元の出力IPパケットに基づいて変更された
出力IPパケットに、前記元のソースIPアドレスの代
わりに前記c/oアドレスを提供するステップと、から
なることを特徴とする。本発明は、一実施形態におい
て、ゲストから送信されるすべてのパケットをインター
セプトして、そのゲストのIPアドレスを、ホスト側組
織に属するcare-of(気付)IPアドレスで置換するイ
ンテリジェントルータ(本明細書では、アクセスルータ
ともいう)として実現される。
【0107】
【発明の実施の形態】以下の論文は、ここで説明する主
題に関する背景情報を理解するのに有用である。 (1)ISO, "Open Systems Interconnection (OSI) Ref
erence Model", Standard IS7498 (2)R. Droms, "Dynamic Host Configuration Protoc
ol", RFC 2131, IETF,1997 (3)D. Plummer, "An Ethernet Address Resolution
Protocol -or- Converting Network Addresses to 48-b
it Ethernet Address for Transmission on Ethernet H
ardware", RFC826, IETF, Nov 1982 (4)"Linux IP Masquerade mini HOWTO", http://ww
w.dlomas.com/masquera.html, Mar 1999 (5)Object Management Group (OMG), "The Common O
bject Request BrokerArchitecture (CORBA)", Version
3.0, www.omg.org, April 1999 (6)W. Simpson, "The Point-to-Point Protocol (PP
P)", RFC 1661, IETF,Jul 1994 (7)K. Hamzeh and others, "Point-to-Point Tunnel
ing Protocol", Internet Draft, IETF, Jul 1997 (8)G. S. Pall and G. Zorn, "Microsoft Point-to-
Point Encryption (MPPE) Protocol", Internet Draft,
IETF, Mar 1998 (9)"Internet Demon inetd - internet super-serve
r", Linux User Manual, Section 8, 1997 (10)B. Schneier and Mudge, "Cryptanalysis of M
icrosoft's Point-to-Point Tunneling Protocol (PPT
P)", Proceedings of the 5th ACM Conferenceon Commu
nications and Computer Security, ACM Press, Novemb
er 1998 (11)C. Perkins, "IP mobility support", RFC 200
2, IETF, Oct 1996 (12)Sun Microsystems, JINI white papers, http:
//www.sun.com/jini/whitepapers, 1999
【0108】第1実施形態 本発明は、一実施形態では、ゲストから送信されるすべ
てのパケットをインターセプトして、そのゲストのIP
アドレスを、ホスト側組織に属する care-of(気付)I
Pアドレスで置換するインテリジェントルータ(本明細
書では、アクセスルータともいう)として実現される。
【0109】ここで、ターゲットマシンとは、ゲストス
テーションがパケットを送信しようとしているステーシ
ョンであることは理解されるであろう。外部ネットワー
ク(ゲストステーションから見て)は、ホストネットワ
ークと言い換えることも可能である。care-ofアドレス
は、c/oアドレスともいう。ゲストステーションのホ
ームネットワークは、ゲストステーションのレギュラー
ネットワークとも言い換えられる。ゲストステーション
は単にゲストともいう。また、ホスト側組織は、ゲスト
ステーションにホスティングのサービスを提供する組織
または個人であることが可能であり、あるいは、このよ
うなサービスを提供するように契約した第三者であるこ
とも可能である。
【0110】上記のように、アクセスルータは、ゲスト
から送信されるすべてのパケットをインターセプトし
て、そのゲストのIPアドレスを、ホスト側組織に属す
るcare-of IPアドレスで置換する。ターゲットマシン
は、このようなパケットを受信した場合、応答をそのc
/oアドレスに(すなわち、アクセスルータに)送るこ
とになる。アクセスルータは、パケットを受信すると、
そのc/oアドレスをゲストのIPアドレスで置換し
て、リンク層アドレスを用いてそのパケットを直接にゲ
ストに配送する。ゲストの視点から見ると、(インテリ
ジェント)アクセスルータは、彼のホームネットワーク
上のマシン(特に、その次ホップルータ(ゲートウェ
イ))をエミュレートしている。ホスト側組織の視点か
ら見ると、ゲストは、内部ネットワーク上の(専用のc
/oアドレスを有する)新しいマシンになっている。
【0111】図9に示すように、IPアドレスa.b.
c.dを有するゲストステーションがIPアドレスw.
x.y.zを有するターゲットステーションをデスティ
ネーションアドレスとするパケットを送信すると、アク
セスルータは、ソースIPアドレスa.b.c.dをロ
ーカルc/oアドレスで置換する。従って、ターゲット
ステーションの返信はアクセスルータへルーティングさ
れ、そこで、アドレス変換が元に戻される。
【0112】図7を参照すると、理解されるように、ア
クセスルータは、ソースIPアドレスをc/oアドレス
で置換し、パケットの生存時間(ttl)値をデクリメ
ントして、IPチェックサムを再計算する。
【0113】アクセスルータにより、ゲストステーショ
ンは、IPトラフィックを開始することができる。すな
わち、ゲストステーションは、ターゲットステーション
へIPパケットを送信し、その返信を現在のロケーショ
ンで受信することができる。ゲストのIPアドレスをc
/oアドレスで置換しないと、すべての返信はゲストの
ホームネットワークへルーティングされ、一般にそこで
廃棄されることになる。
【0114】部外者はゲストとの通信を開始することが
できない。部外者は、ゲストからパケットを受信するま
で、c/oアドレスを知らないからである。しかし、本
発明のこの実施例によるアクセスルータは、WWWドキ
ュメント検索、電子メール送信、telnet(例え
ば、家で電子メールを読むため)及びftpを含むほと
んどのインターネットサービスにアクセスするには十分
である。
【0115】アクセスルータのソフトウェアをインスト
ールするのは簡単かつ容易である。DHCP(2)やモ
バイルIP(11)とは異なり、ゲストのマシンやゲス
トステーションのレギュラーネットワークには、セット
アップシグナリングやあらかじめインストールされたソ
フトウェアは不要である。必要なことは、ゲストが、あ
らかじめインストールされているIP設定を有すること
だけである。従って、任意の既存のIPデバイス、オペ
レーティングシステム及び設定を、変更なしでサポート
することができる。シグナリングや初期セットアップが
ないため、ここで提案する技術は高速で非常にスケーラ
ブルである。
【0116】・詳細な実装−第1実施例 以下で、本発明の第1実施例を実装することに関する詳
細について説明する。
【0117】アクセスルータを用いてゲストステーショ
ンにIPアクセスを提供する際の第1ステップは、ゲス
トのポータブルデバイスがIPパケットを任意のリモー
トデスティネーションへ送信することを可能にするこ
と、及び、そこからの返信がポータブルデバイスの現在
のロケーションに戻ってくることを保証することであ
る。これは2ステップで実現される。第1ステップで
は、アクセスルータは、ゲストから送信されるすべての
IPパケットを、指定された次ホップのIPアドレスが
何であっても、インターセプトする。第2に、インター
セプトしたパケットをさらに転送する前に、その同じア
クセスルータは、ゲストのIPアドレスをローカルc/
o IPアドレスで置換する。同様に、帰路(リター
ン)トラフィックでは、このc/oアドレスは、パケッ
トが最終的に物理リンクを通じてゲストに直接に配送さ
れる前に、ゲストの真の(ホーム)IPアドレスに逆変
換される。
【0118】・プロキシARPを用いたIPパケットイ
ンターセプション ゲストステーションとアクセスルータが物理ポイントツ
ーポイント媒体を通じて接続されているとき、IPパケ
ットのインターセプション(横取り)は容易である。ゲ
ストステーションとルータが共有媒体を通じて接続され
ているとき、いくつかの考慮すべき点がある。このよう
な共有媒体の例には、有線あるいは無線のイーサネット
がある。
【0119】インターネットのトポロジー、すなわち、
その接続グラフは、IPアドレスにより規定される。I
Pパケットを転送するとき、ネットワークノードは、そ
のパケットについてルーティングテーブル参照を行うこ
とにより、そのパケットが次に送られなければならない
ノードのIPアドレスを得る。このノードを次ホップと
いう。パケットは最終的にこれらの2つのノード間の物
理媒体により伝送されるため、送信側は、次ホップのI
Pアドレスを媒体依存のハードウェアアドレスに変換し
なければならない。共有媒体では、このIP−ハードウ
ェアアドレス変換はアドレス解決プロトコルARP
(3)によって行われる。
【0120】ネットワークノードは、IPアドレスをハ
ードウェアアドレスに変換しなければならないとき、直
接に接続されているすべてのマシンへARPメッセージ
をブロードキャストする。次ホップ(ルータまたは最終
受信者)が、これらのマシンのうちの1つとなる。次ホ
ップは、自己のIPアドレスに対するARPメッセージ
を受信すると、自己のハードウェアアドレスを応答す
る。このハードウェアアドレスを用いて、ARP要求を
発信したホストは、今度は物理層により次ホップへデー
タパケットを送信することができる。
【0121】ARP要求で指定されるIPアドレスを有
するステーションの代わりに、別のマシンがそのARP
要求に応答することが可能である。この機構をプロキシ
(代理)ARPといい、ターゲットマシンがARPをサ
ポートしていない場合に使用することができる。
【0122】ARPメッセージの交換は物理層で行われ
る。従って、各媒体ごとに、すべての可能なARPメッ
セージと、その媒体のメッセージフォーマットとの間の
マッピングを定義しておく必要がある。
【0123】本発明の第1実施例の好ましい実装によれ
ば、プロキシARPを用いて、ゲストの出力IPトラフ
ィックをインターセプトする。ゲストステーションは、
最初にホスティングネットワークに接続されるとき、そ
のネットワークのハードウェアアドレスを知らない。従
って、依然としてホームネットワークに接続されている
と仮定して、ゲストステーションは、次ホップルータ
(ゲートウェイ)と、ホームネットワークセグメントに
属する他のマシンのハードウェアアドレスについて知る
ためにARP要求を送出する。これらはホスティングネ
ットワークに存在しないため、ARP要求は未応答のま
まとなる。これらの「欠けている」マシンをエミュレー
トするため、アクセスルータは自己のハードウェアアド
レスにより(代理として)ARP要求に応答する。これ
により、ゲストステーションは、そのアクセスルータが
もともと通信したい次ホップマシンであると考えて、ア
クセスルータへすべてのトラフィックを送信することに
なる。
【0124】しかし、重要な点であるが、このアクセス
ルータは、ローカルネットワークセグメントに実際に存
在するマシン(特に、他のゲスト)のARP要求には応
答しない。もしもアクセスルータが他のゲストに代理と
して応答すれば、ゲストステーションから他のゲストス
テーション宛のすべてのIPトラフィックは物理的にア
クセスルータへ送信されることになり、他のゲストステ
ーションは実質的に到達不可能となる。
【0125】本発明のこの実施例で対処しなければなら
ないもう1つの考慮すべき点は、多くのマシンが起動時
に自己のIPアドレスのARP要求を送出することであ
る。これは、新たに起動されるマシンが、自己のIPア
ドレスが既に他のマシンによって使用されているかどう
かを判定するために行われる。もしもアクセスルータが
このようなARP要求に自己のハードウェアアドレスで
応答すると、起動されたマシンは、アクセスルータが自
分と同じIPアドレスを使用していると考え、ネットワ
ークインタフェースをシャットダウンしてしまうことに
なる。この問題に対処する1つの方法について以下で説
明する。
【0126】例えばLinuxなどのUnix(登録商
標)システムのようなBerkeley Socket Programming In
terface(ソケット)をサポートするオペレーティング
システムでは、接続されている各ネットワーク上にブロ
ードキャストされたすべてのARP要求をユーザレベル
プロセスが受信することが可能である(実装のヒント:
ETH#P#ARPとして指定されたプロトコルのパケットソケ
ットを用いる)。すべてのARPメッセージをリスン(l
isten)することにより、このプログラムは、ローカルネ
ットワークに接続されているすべてのマシン(ゲストを
含む)のIPアドレスと、対応するHWアドレスとにつ
いて知ることができる。このプログラム(インテリジェ
ントルータ内で実行される)が、まだIP/HWアドレ
スマッピングを有しないIPアドレスに対するARP要
求を受信した場合、このARP要求は、新しいゲストか
ら来ていると結論する。ただし、このプログラムはま
ず、ある期間(現在の実装では20ミリ秒間)待機す
る。この時間後、ARP要求型のマシンによって送信さ
れていない場合、このプログラムは、実際に新しいゲス
トを検出したと結論し、最初のARP要求に対して、自
己のHWアドレスにより応答する。このアルゴリズム
は、(1)新しいゲストのARP要求が応答されるこ
と、及び(2)実際に存在するマシンの代理としてAR
P応答が生成されることはないこと、を保証する。
【0127】本発明のこの第1実施例のルータによるパ
ケットのインターセプションについて、以下、図17、
図18、図19、及び図20を参照して説明する。
【0128】図19に、本発明のこの実施例によるルー
タを示す。参照符号900は、アクセスルータを示す。
アクセスルータは、CPU910、メモリ920、なら
びにネットワークアダプタ941及び942を有する。
このルータは、以下で説明するステップに従って動作さ
せるソフトウェアを備えた汎用デジタルコンピュータと
することが可能である。
【0129】図18に、前のいくつかのセクションで説
明し図8に示したのと同様のネットワークを示す。しか
し、図18では、ルータ504は、アクセスルータ90
0で置き換えられている。図19に示すように、アクセ
スルータ900の第1のネットワークアダプタ941
は、ローカルネットワーク400に接続されている。同
様に、アクセスルータ900の第2のネットワークアダ
プタ942は、参照符号500で示される外部ネットワ
ーク、あるいはインターネットに接続されている。アク
セスルータ900のメモリ920は、ARPあて先テー
ブル921及びゲストサービステーブル922を有す
る。
【0130】ステーション210は、ネットワーク40
0に対してはゲストステーションである。ステーション
210のレギュラーネットワークは第1のネットワーク
200であるからである。この例ではステーション21
0は、第2のネットワーク300内の通常の一にあるス
テーション310へIPパケットを送信しようとしてい
る。ステーション310は、このIPパケットのデステ
ィネーションステーションである。この例では、ステー
ション210の、レギュラーネットワークにおけるIP
アドレスは138.15.103.21である。ステー
ション310のアドレスは141.20.20.31で
ある。ルータ900のアドレスは、216.52.9
2.54である。ステーション210は、自己のルータ
がルータ502であり、そのIPアドレスは138.1
5.103.52であることを認識して、レギュラーネ
ットワーク内で動作するようにあらかじめ設定されてい
る。
【0131】ゲストステーション210の動作を図17
に示す。これは、ゲストステーションの視点から見て、
ゲストステーション210があたかも自己のホームアド
レスにあるのと全く同じである。
【0132】まず、ステップ1710で、ゲストステー
ション210は、自己の所定のネットマスクを用いて、
自己のIPアドレスを、出力IPパケットのデスティネ
ーションアドレスと比較する。ステップ1720の比較
は、マスクされたアドレスが等しくないことを示すた
め、処理はステップ1730に進む。ゲストステーショ
ン210は、所定のルータIPアドレス138.15.
103.52へARP要求を送出する。
【0133】通常の状況では、ネットワーク400上に
はIPアドレス138.15.103.52を有するス
テーションはないため、ゲストステーション210は通
常は応答を受信しない。しかし、アクセスルータ900
がネットワーク400上で動作しており、プロキシAR
Pプログラムにより、図20に示すようにARP要求に
応答する。
【0134】ステップ2010で、アクセスルータ90
0は、ゲストステーション210によって送信されたA
RP要求を検出する。ステップ2020で、アクセスル
ータのプロキシARPプログラムは、自己のARPテー
ブル921をチェックして、ARP宛先がアクセスルー
タに既に知られているかどうかを判定する。ARP要求
の宛先のIPアドレスが既にARP宛先テーブル921
に記録されている場合、処理はステップ2110に進
む。ARP要求の宛先のIPアドレスがARP宛先テー
ブル921にまだ記録されていない場合、処理はステッ
プ2040に進む。この例では、ゲストステーション2
10はネットワーク400に接続されたばかりであるた
め、ARP宛先テーブルは、ゲストステーション210
からのARP要求の宛先となるステーションのエントリ
を有している可能性は少ない(すなわち、ルータ502
のエントリはない)。
【0135】従って、処理はステップ2040に進む。
ステップ2040で、アクセスルータは、ネットワーク
400上の他のステーションからゲストステーション2
10へ送られるARP応答をリスンする。アクセスルー
タが、ネットワーク400上の他のステーションからの
ARP応答を検出した場合、処理はステップ2060に
進む。そうでない場合、処理はステップ2070に進
む。
【0136】ネットワーク400上の別のステーション
がゲストステーション210からのARP要求に応答し
た場合、これは、ARP宛先がローカルネットワーク4
00に参加していることを意味する。この状況は、ゲス
トステーション210とそのARP宛先との間で通信が
行われるためにこれ以上アクセスルータ900による介
入が不要であることを意味する。しかし、この例では、
目的のARP宛先(ルータ502)はネットワーク40
0に参加していないため、処理はステップ2070に進
む。
【0137】ステップ2070で、アクセスルータ90
0はウェイト状態に入る。ウェイト状態が満了した後、
処理はステップ2080に進む。ステップ2080で、
あらかじめ定義されたルータARPウェイトしきい値が
満了したかどうかが判定される。この好ましい実施例で
は、ルータARPウェイトしきい値は30ミリ秒であ
る。しかし、ARPプロトコルの要求−応答期間の最大
遅延の少なくとも2倍の時間しきい値を使用すれば十分
である。
【0138】ステップ2080で、ルータARPウェイ
トしきい値がまだ過ぎていない場合、処理はステップ2
050に進み、ARP応答が受信されたかどうかを調べ
る。この例では、ネットワーク400上の他のステーシ
ョンはゲストステーション210からのARP要求メッ
セージに対するARP応答を送信しない。従って、ルー
タARPウェイトしきい値は満たされ(経過し)、処理
はステップ2090に進む。
【0139】ステップ2090で、アクセスルータ90
0は、ステーション210へプロキシARP応答を返送
する。このプロキシARP応答は、アクセスルータ90
0のHWアドレスを示す。ステップ2100、アクセス
ルータは、IPアドレス138.15.103.52
(すなわち、ルータ502のIPアドレス)を、非ロー
カルステーションとして、ARP宛先テーブル921に
追加する。ステップ2110の処理については後述す
る。
【0140】図17に戻って、ゲストステーション21
0は前に、ARP要求を、ルータ502のあらかじめ定
義されたIPアドレス(すなわち、IPアドレス13
8.15.103.52)に送出していた。ステップ1
740で、ゲストステーション210はARP応答を検
出するため、処理はステップ1770に進む。しかし、
このARP応答は、実際にはアクセスルータ900から
送信されたプロキシARP応答である。このプロキシA
RP応答により、ゲストステーション210は、ルータ
900のHWアドレスが、自己のホームネットワークの
次ホップマシン(この例ではルータ502)のHWアド
レスであると考える。ステップ1770で、ゲストステ
ーション210によって受信された応答を解析し、次ホ
ップHWアドレスを取得する。この次ホップHWアドレ
スは、アクセスルータ900のHWアドレスである。ス
テップ1780で、ゲストステーション210は、出力
IPパケットアドレス141.20.20.31(すな
わち、デスティネーションステーション310のIPア
ドレス)を有する出力IPパケットを次ホップへ送信す
る。ゲストステーション210が、この次ホップHWア
ドレスはルータ502のHWアドレスであると考えてい
ることは問題ではない。重要な効果は、ホスティングネ
ットワーク400にとって外来者であるゲストステーシ
ョンからパケットが送信されていても、パケットが次ホ
ップへ送信されることである。
【0141】図20に戻って、次に、ステップ2110
での動作について説明する。特に、ゲストステーション
210が、ARP宛先をステーション502とするもう
1つのARP要求を送出することが起こり得る。このよ
うな場合、アクセスルータ900は、ステップ2010
でそのARP要求を検出する。アクセスルータは、ステ
ップ2020でARP宛先テーブル921をチェックす
る。ステップ2030で、そのアドレスが既に既知であ
りテーブルにあるかどうかを判定する。ステップ211
0で、ARP宛先がネットワーク400にとってローカ
ルである場合、アクセスルータ900は何のアクション
もとらない。アクセスルータ900は、ローカルステー
ションがARP要求に応答すると期待するからである。
他方、ARP宛先がARP宛先テーブル921で非ロー
カルステーションであると示されている場合、アクセス
ルータ900は、自分がプロキシARP応答を送信する
ことによってARP要求メッセージに応答しなければな
らないことを知る。この応答は、処理がステップ209
0に進むと送信される。
【0142】上記の例では、ゲストステーション210
は、通常は自己のレギュラーネットワーク200に属し
ていなかったデスティネーション310へパケットを送
信しようとしていた。次に、ゲストステーション210
が、通常はステーション210と同じレギュラーネット
ワークにあるステーション220へIPパケットを送信
しようとする場合の簡単な例について説明する。
【0143】簡単にいえば、ステップ1720における
比較の結果、ゲストステーション210とデスティネー
ションステーション220のマスクされたアドレスは等
しいと判定される。従って、ステップ1725で、ゲス
トステーション210は、ステーション220のIPア
ドレス(今の例では138.15.103.22)へA
RP要求を送出することになる。
【0144】ステップ2010で、アクセスルータは、
ARP要求メッセージを検出する。ステップ2020に
おけるARP宛先テーブルのチェックにより、ステップ
2030で、ARP宛先(すなわちステーション22
0)はアクセスルータ900にとって未知であることが
わかる。ステップ2040で、アクセスルータは、ネッ
トワーク400上のステーションがARP応答を送信す
るのをリスンする。
【0145】ステーション220の所有者も、ステーシ
ョン210の所有者と同じホテルあるいは会議に出席し
ているという場合がある。この場合、ステーション22
0は、ステーション210へ直ちにARP応答を返送
し、アクセスルータ900は、ARP宛先テーブル92
1にローカルステーションとしてステーション220の
IPアドレスを追加する。こうして、ステーション21
0と220は、アクセスルータ900の介在なしに直接
に通信することができる。しかし、ステーション220
がそのレギュラーネットワーク200に接続されている
と仮定すると、ゲストステーション210にARP応答
は戻ってこない。
【0146】ステップ2080で、ルータARPウェイ
トしきい値が経過すると、アクセスルータ900は、自
己のHWアドレスを与えるプロキシARP応答をステー
ション210へ送信する。さらに、ARP要求宛先のI
Pアドレスが、非ローカルステーションとして、ARP
宛先テーブル921に追加される。
【0147】ステップ1740で、ゲストステーション
210はARP応答を受信し、アクセスルータ900の
HWアドレスを用いて、出力IPパケットを次ホップへ
送信する。こうして、出力IPパケットのデスティネー
ションステーションが、ゲストステーションのレギュラ
ーネットワークに通常は接続されているステーションで
あるか、それとも、ゲストステーションのレギュラーネ
ットワークに通常は接続されていないデスティネーショ
ンステーションであるかにかかわらず、アクセスルータ
900は、ゲストステーション210に、出力IPパケ
ットをアクセスルータ900へ送信させる。ただし、本
発明のこの実施例は、通常は同じレギュラーネットワー
クを共有する2つのゲストステーションが存在するとい
う状況を考慮に入れている。
【0148】アクセスルータ900がそのHWアドレス
をゲストステーションに提供し、それによりゲストステ
ーションが出力IPパケットをアクセスルータに送信す
るとき、これを、アクセスルータが出力IPパケットを
インターセプトするという。
【0149】・c/oアドレス割当て アクセスルータは、出力IPパケットをインターセプト
すると、IPヘッダ(図7)のソースIPアドレスフィ
ールドから、ゲストステーションのIPアドレス、すな
わち、ゲストがそのホームネットワークで使用するIP
アドレスを知ることができる。このホームアドレスはグ
ローバルに一意的であるため、これは、ゲストステーシ
ョンを識別するためにアクセスルータ内でさらに用いら
れる。ゲストが、グローバルに一意的である必要のない
ローカル/プライベートIPアドレス(すなわち、19
2.168.x.xの形のIPアドレス)を有するとい
う特殊な場合には、ゲストのIPアドレスを、ゲストの
グローバルに一意的なHWアドレスとともに用いてゲス
トを識別する。
【0150】さらに、登録されるゲストごとに、アクセ
スルータは、ゲストサービステーブル922内に、統計
及びその他のゲストごとのデータを有するゲストサービ
スレコードを管理する。ゲストサービスレコードは、例
えば、ゲストがいくつかの連続するping要求に応答
しないときに削除される。このようなping要求は、
所定時間だけイナクティブになっている各ゲストステー
ションに対してアクセスルータが定期的に発行する。
【0151】既に説明したように、アクセスルータが通
常のゲートウェイルータのようにふるまい、インターセ
プトしたパケットを単に転送する場合、受信機はゲスト
のIPアドレスに応答し、すべてのこのような応答パケ
ットは失われてしまう。これらのパケットは、ホスティ
ングネットワークではなくゲストのホームネットワーク
へルーティングされることになるからである。これを避
けるため、アクセスルータは、ゲストのホームアドレス
にローカルc/oアドレスを関連づけ、これをIPヘッ
ダのソースアドレスフィールドに書き込む。これらのパ
ケットに対する応答はアクセルルータに戻り、そこで、
ゲストへの最終的な配送を行うことができる。ゲストス
テーションと、それに割り当てられたc/oアドレスと
の間の関連づけは、ゲストサービスレコードに保持され
る。アクセスルータは、ゲストサービスレコードの存在
しないIPパケットを受信した場合、自動的に新しいゲ
ストを認識し、新しいゲストサービスレコードを(新し
く関連づけられたc/oアドレスとともに)作成する。
【0152】入力(帰路)トラフィックでは、アクセス
ルータは、デスティネーションアドレス(これは、前に
割り当てたc/oアドレスのうちの1つであるはずであ
る)を用いて、対応するゲストサービスレコードを見つ
ける。そして、ゲストのホームIPアドレスをIPヘッ
ダのデスティネーションアドレスフィールドに入れて、
パケットを物理層によりゲストへ配送する。
【0153】・ICMPエコー応答メッセージ ICMPエコー応答メッセージは、以前に発行されたI
CMPエコー要求に対する応答である。IETF標準で
規定されているように、この応答メッセージは、もとの
エコー要求をワークロード内に「ピギーバック」して運
ぶ。特殊な扱いがなければ、アクセスルータは、もとの
メッセージ(これは、IPヘッダに、ゲストのホームア
ドレスではなくc/oアドレスを含む)をカプセル化
し、これは、アクセスルータに変更なしに渡される。一
部のシステム、具体的には、Microsoft Windowsシステ
ムは、カプセル化されたもとのエコー要求メッセージ内
に誤ったIPソースアドレスのあるICMPエコー要求
を受信すると混乱する。tracert(UNIXのt
racerouteのWindowsバージョン)のようなプ
ログラムはうまく動作しない。この特定の場合には、本
発明の第1実施例によるアクセスルータは、カプセル化
されたパケットのIPヘッダにおいて、c/oアドレス
をゲストのホームアドレスで置換することによって、I
Pパケットのワークロードを変更する。
【0154】・チェックサムの計算 IPパケットのソースアドレスまたはデスティネーショ
ンアドレスが変更された場合には、IPヘッダチェック
サムを再計算する必要がある。アクセスルータは各パケ
ットのソースIPアドレスを変更するため、ヘッダチェ
ックサムのこの再計算も同時に実行しなければならな
い。さらに、TCP、UDP、及びICMPのプロトコ
ルでは、TCP/UDP/ICMPのヘッダチェックサ
ムも再計算しなければならない。IPヘッダのソースア
ドレス及びデスティネーションアドレスがこれらのチェ
ックサムの計算には含まれるからである。
【0155】・ゲスト間通信 本発明のこの好ましい実施例は、既に説明したように、
あるゲストが別のゲストと通信したいときに、これらの
ゲストが通常は同じレギュラーネットワーク上にある場
合でも、通信を提供する。この特殊な場合は実際には、
最初に思われるほどまれではない。訪問者がいくつかの
IP機能付きデバイス(例えば、ラップトップ、ポータ
ブルプリンタ、及びその他の有用な装置)をホスト側組
織の環境に持ち込むと、それぞれがゲストステーション
となる。これらのゲストステーションはおそらく相互作
用する必要がある。この状況は、SUN MICROSYSTEMSのJ
INI技術(12)と類似している。JINIでは、ポ
ータブルデバイスはプラグアンドプレイにより即時にコ
ミュニティを形成し、事前の計画や人間のインストール
なしに、ユーザに高レベルのサービスを提供する。
【0156】上記の状況では、2つのゲストはアクセス
ルータの関与なしに相互作用した。これらの異なるゲス
トステーションあるいはデバイスがネットワーク400
に接続するタイミングに依存して、ゲストのうちの1つ
のレコードに、別のゲストの代わりにアクセスルータの
ハードウェアアドレスが記録され、アクセスルータはそ
の別のゲストの代理(プロキシ)として作用しており、
アクセスルータはそのパケットをインターセプトするこ
とになるという可能性がある。その後、通常は最初のゲ
ストと同じレギュラーネットワークを共有する別のゲス
トがネットワーク400に接続する。本発明の実施例に
よるアクセスルータは、ARP宛先テーブル921で非
ローカルであるとして示されるARP宛先が、ゲストサ
ービステーブル922においてゲストであるとして示さ
れるのを認識するようにプログラムされる。このような
場合、アクセスルータ900は、ARP宛先テーブル内
のステータスをローカルに変更することにより、そのゲ
ストが、ルータの介在なしに通信することを可能にす
る。これを実現するのに、出力パケットを、受信したの
と同じネットワークアダプタ(すなわち、図19におけ
るアダプタ941)を通じて変更なしに転送するなど
の、他の方法も可能である。いずれの場合でも、ゲスト
どうしは、ホームIPアドレスを用いて相互に通信する
ことができる。
【0157】第2実施形態 本発明の第2実施形態は、ホスティングネットワークに
対して追加のセキュリティ保護を提供する。
【0158】想起されるように、アクセスルータは、ゲ
ストから送信される各パケットを受け取り、そのソース
IPアドレス(すなわち、ゲストのアドレス)をc/o
アドレスで置換する。このc/oアドレスにより、パケ
ットは、あたかもホストネットワークに関連するIPア
ドレスから発信されたかのように見える。しかし、この
ように見えることは、ホストネットワークの観点からは
好ましくないことがある。特に、ホストネットワークの
レギュラーステーションが、通常はホスティングネット
ワークのレギュラーメンバに予約されている特権を有す
ることがある。さらに、ホスト側組織は、通常は部外者
に対してファイアウォールにより保護されているホスト
ネットワーク内でゲストがIPパケットを放出する場合
に、セキュリティハザードと見なす可能性がある。
【0159】また、悪意のあるゲストは、ホスティング
ネットワークのメンバであるふりをして、ホスティング
ネットワークに(アクセスルータを通じて)パケットを
送信することができる可能性がある。このようなパケッ
ト内のソースIPアドレスは、c/oアドレスで置換さ
れた後は、ホスティングネットワークのレギュラーステ
ーションによって送信されたパケットと区別がつかな
い。
【0160】本発明のこの第2実施形態によれば、アク
セスルータと(公衆インターネット内のルータのよう
な)外部ステーションとの間のIPトンネルを用いて、
ホスティングネットワーク及びその環境を悪意のあるゲ
ストからのIPパケットに対して保護する。パケットが
ゲストからホスト側組織内のマシンへ送信されると、ま
ず、IPトンネルを通じてホスト側組織のネットワーク
を抜けた後、企業のファイアウォールを通じて再び入ら
なければならない。ここで、「外部ステーション」と
は、ホスト側組織のファイアウォールの外側のステーシ
ョンである。これにより、ゲストからのIPパケット
は、企業ファイアウォールによって認可されなければ
(すなわち、通らなければ)、ホスティングネットワー
ク内のステーションに決して到達することができない。
【0161】この追加保護は、アクセスルータの出力ネ
ットワークインタフェースを、企業ファイアウォールの
外側の次ホップルータに物理的に(例えば、長いケーブ
ル(long cable)で)接続することによって実現すること
ができる。その場合でも、アクセスルータは依然として
物理的にはホスト側組織の構内に位置する。ネットワー
クの観点から見ると、アクセスルータは企業ネットワー
クの外側にあり、公衆インターネットドメイン内にあ
る。ゲストが、ホスト側組織の内部マシンのうちの1つ
へIPパケットを送信すると、このパケットは、公衆イ
ンターネットから来たのと全く同様に、ファイアウォー
ルを通らなければならない。
【0162】アクセスルータを外部次ホップルータに接
続するために物理配線を使用する代わりに、IPトンネ
ルの形式の「仮想配線」を用いて、ずっと経済的かつフ
レキシブルな方法で、同じ機能と同程度の保護を提供す
ることが可能である。
【0163】IPトンネルは、IPアドレスによって識
別される2つのトンネルエンドポイントにより規定され
る。トンネルの目的は、物理的なポイントツーポイント
配線をエミュレートすることである。これは、これらの
2点間でIPパケットを伝送する物理媒体の代わりに使
用することができる。システムエンジニアの観点から見
ると、IPトンネルエンドポイントは、「論理的な」ネ
ットワークインタフェース及びそれに等価のもの(例え
ば、イーサネットネットワークカードのインタフェー
ス)として表されることが多い。IPトンネルを通じて
IPパケットを送信するためには、別のIPパケット内
にカプセル化し、ホップバイホップで相手側のトンネル
エンドポイントへルーティングする。そのエンドポイン
トに到達すると、カプセル化されたパケットが取り出さ
れる。
【0164】もとのパケットは、カプセル化する側のパ
ケットのワークロードに閉じ込められるため、そのIP
ヘッダは、カプセル化する側のパケットのルーティング
に影響を及ぼすことはない。すなわち、カプセル化され
たパケットがトンネルを離れることは不可能である。
【0165】物理配線が通常有する十分なレベルのプラ
イバシをエミュレートするには、IPトンネルの両方の
トンネルエンドポイントは一般に、相互に認証し、カプ
セル化されたパケットを暗号化する必要がある。しか
し、本発明のこの実施例では、IPトンネルは、ゲスト
のトラフィックをホスト側のネットワーク内で放出する
ことができないことを保証するためにのみ使用されるた
め、認証/暗号化は、ホスト側環境にとっての関心事で
はなく、省略可能である。
【0166】図10に、アクセスルータと公衆ネットワ
ーク内の次ホップルータの間のIPトンネルを示す。ゲ
ストステーションが送信し、アクセスルータが変更する
パケットはすべてこのIPトンネルを通って送られる。
【0167】IPトンネルを作成するためにいくつかの
技術が利用可能である。すべて、明示的なトンネルセッ
トアップを必要とする。異なるのはカプセル化の方式で
ある。非常にオーバーヘッドの少ない(増えるデータは
20バイトで、パケットごとのデータ処理はない)1つ
のIPトンネリング技術はIP−over−IPであ
る。LINUXシステム上では、ifconfigコマ
ンドを用いてこのようなトンネルをセットアップするこ
とができる。
【0168】オプションとして、c/oアドレスのうち
の1つを宛先とするトラフィックがトンネルを通じてル
ーティングされることを保証するように、外部ルータの
ルーティングテーブルを調整することも可能である。
【0169】第3実施形態 本発明の第3の実施形態は、ゲストステーションに対し
て追加のセキュリティを提供する。
【0170】ゲストは、ホスト側の環境を信頼しない可
能性があり、また、公衆インターネットからの攻撃を心
配する可能性もある。ゲストと特定のc/oアドレスと
の関連づけは一時的でしかないため、インターネットか
らの攻撃はむしろ困難である。攻撃者には、いつどこ
で、彼の攻撃対象にどのc/oアドレスが割り当てられ
るかはわからないからである。アクセルルータを通じて
送信されるパケットはゲストステーションのIPアドレ
スを含まず、c/o IPアドレスのみを含む。従っ
て、ゲストステーションのIPアドレスは、アクセスル
ータにしかわからない。これに対して、ホスト側環境
は、ゲストのIPアドレスと、それに割り当てられたc
/o IPアドレスとともに知っている。従って、パス
ワードやその他の秘密情報を含むゲストのIPパケット
を容易にモニタし、その内容を変更することさえ可能な
場合がある。
【0171】ゲストのセキュリティを改善するために、
ゲストは、ゲストステーションと、ゲストステーション
のホームネットワークのような信頼される環境に存在す
るルータとの間にセキュアIPトンネルを作成すること
が可能である。このようなルータをトンネルサーバとし
て図11に示す。ゲストステーションと、信頼された環
境内のトンネルサーバとの間のセキュアIPトンネルの
作成は、ゲストがあたかも実際にホームにいるかのよう
にゲストをそのホームネットワークに接続する「ロング
ワイヤ」をエミュレートするという追加の利点を有す
る。ゲストステーションからのすべてのトラフィック
は、ホームネットワークセグメントで放出される。ゲス
ト宛のホームネットワークセグメントからのすべてのト
ラフィックはゲストによって受信されることが可能であ
る。
【0172】本発明のこの実施形態は、ゲストのホーム
ネットワークからのサポートを必要とする。具体的に
は、ホームネットワークは、相互エンドポイント認証及
びデータ暗号化を有するIPトンネルをサポートしなけ
ればならない。この方式の欠点の1つは、Windows 9
5、98、及びNTは、ゲストステーションにおけるル
ーティングをサポートしていないことである。ゲストか
らのすべてのトラフィックは同じトンネルを通じてルー
ティングされ、これは、近くのデスティネーションへの
トラフィックに対して不要な迂回を生じる。LINUX
システムでは、例えば、ゲストはインターネット内の他
の信頼されるルータへの追加のセキュアトンネルを作成
することも可能である。このような追加のトンネルを、
出力トラフィックの代替経路として使用することができ
る。
【0173】図11に示すように、ゲストは、上記の第
2実施形態によるアクセスルータによって提供されるI
P接続を使用して、ゲストステーションと、そのホーム
ネットワーク内のVPNサーバ(すなわちトンネルサー
バ)のような信頼されるエンティティとの間にセキュア
IPトンネルを作成する。
【0174】MicrosoftのWindowsオペレーティングシス
テムのうちの1つを使用するゲストステーションに対応
するために、本発明のこの第3実施形態の実際の実装
は、トンネルエンドポイント認証にMicrosoft Challeng
e Handshakeプロトコル(MS-Chap)を使用し、トラフィ
ック暗号化にMicrosoft Point-to-Point Encryption
(MPPE)(8)を用いる、PPP(6)ベースのト
ンネリング技術を使用することが好ましい。さらに、ト
ンネルの開始及び制御を行い、2つのトンネルエンドポ
イント間でPPPパケットを交換するために、Microsof
t Point-to-Point Transport Protocol(PPTP)を
使用するのが好ましい。このアプローチの主要な利点
は、すべてのコンポーネントが上記のMicrosoftのシス
テムで利用可能であることである。さらに、これらのプ
ロトコルはIETFによって標準化されているため、提
案した解決法は他のオペレーティングシステムとも互換
性がある。
【0175】従って、ゲストがMicrosoftのシステムを
使用する場合、ゲストステーションがトンネルクライア
ントの役割を果たすには新たなソフトウェアは不要であ
る。トンネルサーバ側では、市販のMicrosoft NT V
PNサーバが使用可能である。本発明のもう1つの実施
例として、同等の機能を有するサーバを、LINUXオ
ペレーティングシステムで実装することも好ましい。
【0176】ゲストステーションがホスト側組織からI
Pアクセスを取得した後、ゲストステーションのユーザ
は、簡単な方法で、ホームネットワークへのセキュアI
Pトンネルの作成を開始することが可能である。例え
ば、セキュアIPトンネルの作成は、MS Windowsのデス
クトップ上のNetwork-Dial-Inアイコンをクリックする
ことによって開始される。このダイヤルイン手続きは、
電話番号の代わりにIPアドレスがリモートピアとして
指定されることを除いては、アナログ電話線を通じての
ダイヤルインと非常に似ている。ゲストがダイヤルイン
GUIの"Connect"(接続)ボタンを押した後、クライ
アントシステムは、指定されたトンネルサーバへのPP
TPコネクションを作成する。このPPTPコネクショ
ンは、実際にはサーバポート1723へのTCPコネク
ションであり、まずIPサポートを提供するアクセスル
ータのアクティビティにより可能となる。PPTPパケ
ットは、トンネルサーバに到達すると、ホスト側組織の
c/oアドレスを運ぶ。しかし、カプセル化されたIP
パケットは、ゲスト自身のIPアドレスを運ぶが、アク
セスルータからは見えない。アクセスルータの視点から
見ると、ゲストは単にPPTPコネクションを有する。
上記のトンネルは実際は2つのトランスポートコネクシ
ョンを有する。一方は、トンネル制御のためのTCPコ
ネクションであり、他方は、カプセル化されたパケット
の交換のためのコネクションである。ただし、ゲスト
は、このトンネル内に任意の数のコネクションを維持す
ることが可能である。
【0177】本発明のこの実施例の好ましい実装では、
トンネルサーバはLINUXオペレーティングシステム
上で動作する。インターネットデーモンinetdは、
PPTPコネクション要求が到着すると、自動的にpp
tpサーバの新しいインスタンスを起動する(inet
dに関する詳細は(9)を参照)。この新しいpptp
サーバインスタンスは、入ってくるTCPコネクション
を受け入れ、クライアントともに、それをPPTP制御
コネクションとして使用する。さらに、トンネルサーバ
は、自分と発信側ゲストとの間にワークロードコネクシ
ョンを作成する。このコネクションは、リモートゲスト
によってではなくPPTPサーバによって開始されるた
め、ゲストのホームネットワークのファイアウォールが
それをブロックすることはない。このワークロードコネ
クションは、PPPパケットを含むMPPE PDUを
運ぶために使用される。最初のPPPメッセージは実際
には、2つのトンネルエンドポイントの相互認証と、ト
ンネルの動作モードのネゴシエーション(暗号化方法及
び初期キーのネゴシエーションを含む)のための制御メ
ッセージである。
【0178】注意すべき点であるが、トンネルは必ずし
も対称である必要はない。それぞれの方向で異なる動作
モードをネゴシエートすることが可能である。この実施
例の好ましい実装では、トンネルサーバはMPPE暗号
化を必要とするが、40ビットと128ビットの間の選
択はゲストに委ねられる。知られているように(10を
参照)、Microsoft MPPEで実装されるような40ビ
ット暗号化は解読可能であるが、これには非常な労力を
必要とする。
【0179】初期ネゴシエーションが完了した後、ワー
クロードコネクションを使用して、トンネルサーバとリ
モートクライアントの間で暗号化されたIPパケットを
交換する。トンネルサーバのPPP部分は、LINUX
システム上では別個のプロセス(PPPデーモンppp
d)であり、通常は、リモートトンネルエンドポイント
のIPアドレスに対するプロキシARPとなる。従っ
て、これは、ゲスト宛にホームネットワークセグメント
に到着するすべてのIPパケットをインターセプトし、
セキュアトンネルを通じてそれを転送する。逆方向で
は、ゲストからセキュアトンネルを通じてホームネット
ワークに到着するパケットはホームネットワーク内で放
出される。
【0180】このように、暗号化と組み合わせて、ゲス
ト自身が、エンドツーエンドIPトンネルを使用して、
ホスト側環境と公衆インターネットに対して自分のトラ
フィックを保護することが可能である。さらに、このよ
うなIPトンネルはゲストをホームネットワークのVP
Nサーバと接続することが可能である。この場合、ゲス
トは、ホスト側組織のネットワーク及び公衆インターネ
ットをIPトンネルのための実装基盤としてのみ使用し
て(これは、ゲストデバイスとホームネットワークセグ
メントの間の仮想的なケーブルとして作用する)、ホー
ムネットワークと(論理的に)接続されることになる。
【0181】次に、pptpサーバと、トンネルセット
アップのいくつかの実際的な事項について簡単に説明す
る。
【0182】[LINUX上におけるPPTPサーバの
インストール]本発明の実際の実装では、Microsoft Po
int-to-Point Encryption(MPPE)をサポートする
PPTPサーバの、完全にLINUXベースの実装が作
成される。このサーバは、PPPデーモン、PPTPサ
ーバプログラム及びMPPELINUXカーネルモジュ
ールという3つの部分を有する。以下、これらの3つの
部分のそれぞれについて説明する。
【0183】・PPPのインストール LINUXシステムは通常、既にPPPデーモン(pp
pd)がインストールされている可能性がある。しか
し、現在のバージョンは、Microsoft Point-to-Point E
ncryptionプロトコル(MPPE)のパラメータのネゴ
シエーションをサポートしていない可能性がある。従っ
て、新しいpppdのバージョンをPPTPサーバに含
めることが必要になる場合がある。これを実行するに
は、以下のことが必要である。
【0184】PPPデーモン実行可能ファイルを/usr/s
bin/pppdにコピーする。
【0185】/usr/sbin/pppdの所有者(オーナ)をルー
トに設定し、このファイルのset-uidビットをセットす
る(新しいトンネルを確立するとき、pppdは、プロ
グラムroute及びarpを呼び出して、システムの
ルーティングテーブル及びARPテーブルを変更する必
要があり、これはスーパーユーザ特権を必要とする)。
【0186】configファイルにより、1行に1つ
のオプションずつ、pppdを構成する。重要なオプシ
ョンを図12に示す。
【0187】MS-CHAP認証プロセス中にpppd自身を
呼出し側(リモートクライアント)に対して認証し、呼
出し側の識別を確認するために使用する、図13に示す
ような秘密情報をpppdに与える。
【0188】・PPTPデーモンのインストール PPTPデーモンは、TCPポート1723で、呼出し
の到着を待機する。ダイヤルイン要求(すなわち、新し
いトンネルを確立する要求)が受信されると、PPTP
デーモンは、呼出し側とのTCP制御コネクションと、
追加のワークロードコネクションを確立する。これらの
ステップが正しく完了した場合、PPTPデーモンはP
PPデーモンを起動し、エンドレスループで、トンネル
を通じて受信するすべてのデータをPPPデーモン入力
にコピーする。逆に、PPTPデーモンは、PPPデー
モンの出力をインターセプトして、トンネルを通じてそ
れをリモートクライアントへ送る。
【0189】PPPデーモンは、ファイル/etc/ppp/opt
ionsを読み出して自分を構成し、リモート側の相手との
ネゴシエーションを開始する。後で暗号化がネゴシエー
トされる場合でも、このネゴシエーションプロセス中に
交換されるメッセージは暗号化されない。ネゴシエーシ
ョンの完了後、PPPデーモンはローカルネットワーク
インタフェースを作成し(例えばLINUX上ではppp
0)、すべての出力IPパケットをPPPパケット内に
カプセル化する。PPTPサーバは、これらのパケット
を、PPPデーモンの出力からインターセプトして、G
RE(General Routing Encapsulation)パケット内にカ
プセル化した後にトンネルを通じて送信する。同様に、
逆方向では、PPTPデーモンはリモートクライアント
からGREパケットを受信し、PPPパケットを取り出
し、それをPPPデーモンの入力に転送し、そこで、カ
プセル化されたIPパケットが取り出される。
【0190】PPTPサーバ(pptp-server)は単一のプ
ログラムである。これは、例えば、/usr/sbin/pptp#ser
verのようにインストールされなければならない。特別
な特権は不要である。
【0191】PPTPサーバを実行するために現在のと
ころ好ましい方法は、TCPポート1723をモニタし
てこのポートに対するコネクション要求が到着したとき
に自動的にPPTPデーモンを起動するように、インタ
ーネットデーモンinetdを構成することである。P
PTPサーバの位置が上記の通りであると仮定すると、
inetd構成(コンフィグレーション)ファイル内の
対応する行は図14に示すようにすることが可能であ
る。
【0192】ただし、これは、PPTPサービスの名前
pptpが、図15に示すように/etc/servicesファイ
ル内の行によってシステムに導入されていることを仮定
している。
【0193】・MPPE暗号化モジュールのインストー
ル MPPEは、暗号化/復号を、圧縮/伸長の特殊な形式
と見なす。圧縮/伸長アルゴリズムが、圧縮モジュール
を通じてLINUXに利用可能になっていなければなら
ない。このようなモジュールは、静的にカーネル内にコ
ンパイルすることも可能であり(その場合にはこのよう
なモジュールは常に利用可能となる)、あるいは、コマ
ンドinsmod mppe#compで動的にロードされることも可能
である。
【0194】・トンネルのセットアップ IPトンネルは、アクセスルータと、ホスティングネッ
トワークの企業ファイアウォールの外部のマシンとの間
に、ゲストからのすべてのトラフィックが公衆インター
ネットまでの途中で保護されることを保証するように作
成される。ここで、「保護」とは、ファイアウォールを
通って戻ることなしに、ゲストステーションから来るパ
ケットがその出力パスを離れることや、ホスト側組織の
ネットワーク内のステーションに到達することができな
いことを保証することを意味する。
【0195】IP−over−IPトンネルは、このよ
うな保護機構を確立するための多くの可能な技術のうち
の1つに過ぎない。このようなトンネルを使用すること
は、最も少ないオーバーヘッドしか要求しないために、
好ましい。次に、このようなトンネルを確立する実際の
例について説明する。
【0196】2つのマシン128.1.1.1と12
8.2.2.2の間にIP−over−IPトンネルを
確立するために、擬似ネットワークインタフェースtun1
0を作成し構成しなければならない(これらのIPアド
レスは、これらのトンネルエンドポイントのイーサネッ
トインタフェースに属するものである)。
【0197】図16に示すコマンドは、IPアドレス1
28.1.1.1のマシン(アクセスルータ)からIP
アドレス128.2.2.2のマシン(外部ルータ)へ
の一方向トンネルを作成する。
【0198】外部ルータ(外部ポストということもあ
る)が入力トラフィックに対するルータとして作用しな
い場合、プロキシARPを用いて、外部ルータがc/o
アドレスに対する入力トラフィックを受信することを保
証しなければならない。以下のコマンドはこれを実行す
るが、認識されるように、外部ルータがイーサネットイ
ンタフェースeth0を通じて、入力トラフィックを運ぶネ
ットワークセグメントに接続されていると仮定してい
る。arp -s <c/o address> <eth0-hardware-addr> -i e
th0 pub
【0199】第4実施形態 本発明の第4実施形態は、IPアドレスの大きいプール
の必要性を回避する方法を提供する。
【0200】多数のゲストをサポートすることができる
ためには、ホスト側組織は十分多くのc/oアドレス
(ゲストごとに1つのアドレス)を確保しなければなら
ない。ゲストの数とポータブルデバイスの数は増大する
であろう。インターネットのルーティング構造のもとで
は、与えられたアクセスルータに新しいc/oアドレス
を割り当てることが困難である。これらの2つのファク
タが組み合わさることにより、ホスト側組織に重大な問
題を生じる可能性がある。
【0201】本発明のこの第4実施形態によれば、2つ
の機能がc/oアドレスによって実行される。第1に、
c/oアドレスは、応答(返信)トラフィックがゲスト
のホームネットワークの代わりにアクセスルータへルー
ティングされることを保証する。第2に、一意的なc/
oアドレスにより、アクセスルータは、それぞれの返信
パケットが属するゲストを識別する。
【0202】第1の目的を実現するためには、すべての
ゲストに対する単一のc/oアドレスで十分である。第
2の目的のためには、IPマスカレード(4)と呼ばれ
る技術を適用することにより、TCPあるいはUDPの
ポート番号を用いて、入力IPパケットに対応するゲス
トを識別する。
【0203】ホーム−c/o IPアドレス変換と同様
に、アクセスルータは、ゲストのソースポート番号を、
ルータ内で一意的なc/oソースポート番号に変換す
る。c/o IPアドレスはすべてのゲストに対して同
一となる。一意的なソースポート番号(返信トラフィッ
クにおいてデスティネーションポート番号として現れ
る)を用いて、ゲストサービスレコード(これは、c/
oアドレスをゲストの真の(ホーム)IPアドレスで置
換するために必要となる)を検索し、c/oポート番号
をもとのソースポート番号で置換することが可能であ
る。こうして、ゲストごとに平均で10個以下の同時コ
ネクションがある場合に、c/oアドレスあたり6,5
00までのゲストをサポートすることが可能である。
【0204】ただし、IPマスカレードは、UDPやT
CPのように、ポート番号で上位レベルプロトコルを運
ぶIPトラフィックに対してのみうまく動作する。しか
し、これらのプロトコルは、まさにゲストが最も関心の
あるプロトコルであり、上記のPPTP IPトンネル
を作成するのに必要なプロトコルである。ゲストは、I
Pトンネルを確立した後、再び、他のすべてのゲストと
は独立に、216個のすべてのポート番号を使用するこ
とが可能である。
【0205】第5実施形態 本発明の第5実施形態は、効率的なDNS問合せ(クエ
リ)の取扱いを実現する。
【0206】DNSは、既に述べたように、www.nec.co
mのような人間が読取り可能なホスト名を143.10
1.250.20のようなIPアドレスへと解決するネ
ットワークサービスである。ゲストステーションのIP
設定には、ゲストのホームネットワークにおけるいくつ
かのDNSサーバ(これらにすべてのDNSと居合わせ
葉送られる)が指定されているはずである。DNS問合
せを含むIPパケットは、IPヘッダのプロトコルフィ
ールドにおける値17(これはUDPを示す)と、UD
Pヘッダにおけるデスティネーションポート番号53
(これはDNSを示す)によって認識することができ
る。
【0207】この実施形態によるアクセスルータは、D
NS問合せであるIPパケットを認識すると、そのDN
Sとい合わせのデスティネーションIPアドレスを、ロ
ーカルDNSサーバのIPアドレスで置換する。DNS
はグローバルなネットワークサービスであるため、問合
せが、ゲストステーションのホームネットワークのDN
Sエージェントの代わりに実際にはホスト側組織のDN
Sエージェントによって応答されることは、ホスティン
グネットワークのローカルなDNSエージェントを使用
するほうが高速で効率的に動作することを除いては、実
際上何の問題もない。
【0208】このことは、DNS問合せが公衆インター
ネット上で見えるホストに対して行われる限りにおいて
正しい。しかし、ゲストのホームネットワークのDNS
サーバが、外部には見えないマシンに関するエントリを
維持している可能性がある。そのようなホストに関する
問合せは、ホスト側組織のローカルDNSサーバによっ
ては明らかに応答され得ない。さらに、ホスト側組織
は、ローカルDNSサーバへのアクセス権を任意のゲス
トに与えることに関して予約を有する可能性がある。ゲ
ストは、ホスト側組織のネットワークの外部から見える
ことを想定していないホスティングネットワークに関す
る情報を受けとる可能性があるからである。従って、こ
の第5実施例の変形によれば、DNS問合せをローカル
DNSサーバへリダイレクトする機能は、ホスト側組織
によってオフにすることが可能なオプションである。す
なわち、DNSリダイレクト機能は、現在の好ましい実
施例では選択可能な機能である。
【0209】このような選択可能性を実現するために、
アクセスルータは制御インタフェースを有することが可
能である。この実施例の実際の実装では、この制御イン
タフェースは、CORBA(5)に基づくオープンな実
装とすることが可能である。このようなインタフェース
により、リモートクライアントは、現在登録されている
ゲストのリストを取得することが可能となる。さらに、
これは、DNSサーバを特定のゲストに割り当てる方法
や、DNS問合せリダイレクト機能をオフにするための
方法を提供する。
【0210】CORBAは本来的にリモートアクセスを
サポートするため、ホスト側組織のネットワーク管理者
は、アクセスルータをリモート制御することができる。
相互ピア認証やデータ暗号化のようなCORBAの組込
みセキュリティ機能は、このインタフェースの無権限の
使用に対する保護を行う。
【0211】第6実施形態 DNS問合せリダイレクトが提供される第5実施形態と
同様に、この実施形態は、ローカルプリンタあるいはプ
リントサーバへのプリントジョブのリダイレクトを提供
する。アクセスルータは、プリントサービス要求が認識
されると、ゲストステーションからのパケット内のIP
デスティネーションアドレスをローカルプリンタあるい
はプリントサーバのIPアドレスで置換することにより
これをサポートすることができる。プリントサービスに
関連するトラフィックは、デスティネーションポート番
号によって認識される。本発明のこの実施形態によれ
ば、アクセスルータは、オープンなCORBAベースの
インタフェースを提供する。これによれば、特定のロー
カルプリンタを各ゲストに割り当てること、あるいは、
プリントリダイレクトを選択的にオフにすること(この
場合、プリントサービス要求によってゲストのホームに
あるプリンタが起動される)が可能となる。
【0212】第7実施形態 本発明の第7実施形態は、ゲストサービスレコードの制
御のためのGUIを提供する。このGUIは、ホスティ
ングネットワークのシステム管理者のためのコンポーネ
ントと、ゲストステーションを使用するゲストのための
コンポーネントを含む。
【0213】[ホスト側組織のシステム管理者のための
コンポーネント]ホスト側組織のシステム管理者は、C
ORBA機能付きJavaアプレットを提供するウェブ
サイトをアクセスルータ(access-router)からダウン
ロードすることができる(URL http://<access-rout
er>/GuestIPcontrol.html)。このアプレットは、現在
登録されているゲスト、そのゲストのホームIPアドレ
ス、及び、そのゲストに割り当てられているc/oアド
レスのリストを示すGUIを備える。このリストから項
目を選択することによって、システム管理者は、特定の
ゲストについての詳細、例えば、そのゲストが登録され
た時刻や、そのゲストが選択することが可能なローカル
DNSサーバ及びローカルプリンタのリスト、を問い合
わせることができる。そして、システム管理者は、この
リストをゲストごとに編集して、特定のゲストにさらに
選択肢を与えたり、選択肢を減らしたりすることができ
る。さらに、システム管理者は、選択されたゲストの代
わりに、利用可能な選択肢のうちの1つを選択する特権
を有する。
【0214】[ゲストのためのコンポーネント]ホスト
側組織のシステム管理者によって設定される制限内で、
ゲストは、ウェブページhttp://<access-router>/Guest
IP.htmlを開くことが可能である。このウェブページ
は、ローカルサーバへのDNS問合せのリダイレクト
や、ローカルプリンタへのプリンタ要求のリダイレクト
の現在の設定を示すCORBA機能付きJavaアプレ
ットを提供する。
【0215】次に、パフォーマンスについていくつかの
考察を行う。
【0216】パフォーマンス アクセスルータにおいてc/oアドレス変換を実行する
ための主なコストは、ゲストのサービスレコードのルッ
クアップと、IP/UDP/TCP/ICMPヘッダの
チェックサムの再計算である。ゲストのサービスレコー
ドは、ゲストとの間のIPパケットごとに検索する必要
がある。ルックアップは、トラフィックの方向に依存し
て、ゲストのホームアドレスまたはc/oアドレスに基
づく。このオペレーションのコストはO(log
(n))である。ただし、nは登録されているゲストの
数である。nは通常小さい(20より小さい)ため、こ
のオペレーションによって受ける転送遅延は無視し得
る。
【0217】ヘッダチェックサムの再計算(チェックサ
ムフィールド自体を除くIPパケット全体の16ビット
の1の補数の1の補数和)のコストは、IPパケットサ
イズに線形に比例する。しかし、ソースIPアドレスフ
ィールドのみが変更されるため、このコストは、ゲスト
によって前に計算されたIPチェックサムを再使用する
際には一定となる。
【0218】認識されるように、本発明の上記の実施例
によるアクセスルータを用いたIPゲストサポートはネ
ットワークエッジで提供される。ここでは、要求される
スループットは、コアネットワークほど厳しくはない。
【0219】
【発明の効果】結論 インターネットは、現在の支配的なネットワークであ
る。ユーザ数と高度なサービスの数の急速な増大によ
り、インターネットに接続されることは日々ますます重
要になっている。同時に、コンピュータのようなネット
ワークのエンドサービスの物理的サイズは急速に減少し
ており、(潜在的に)ポータブルになっている。これに
は、ラップトップのみならず、小型のプリンタ、入力/
スキャンデバイス、カメラ、及びその他の、近い将来の
多くの有用な装置が含まれる。これらのポータブルデバ
イスが固有の一意的IPアドレスを有するようになり、
これがグローバルに一意的な識別を提供する。本発明に
よれば、これらのデバイスは、一時的なロケーションに
おいても、IPサービスを容易かつ簡単に受けられ、ゲ
ストステーションをホストする際の問題点が解決され
る。
【0220】本発明によるIPアクセスによれば、ホス
ト側組織は、ローカルなc/oアドレスをポータブルデ
バイスに関連づける。ポータブルデバイス(すなわち、
ゲストステーション)でのサポートや変更を必要とせず
に、インテリジェントアクセスルータは透過的にポータ
ブルデバイスのIPアドレス(ホームアドレス)を、そ
のデバイスの現在のロケーションを指定する関連づけら
れたc/oアドレスで置換する。これにより、帰路トラ
フィックがポータブルデバイスの現在のロケーションに
到達することが可能となる。このアドレス変換は入力ト
ラフィックに対しては元に戻されるため、全体のプロセ
スはポータブルデバイスにとっては透過的なままであ
る。
【0221】ホスト側組織は、IPトンネルを用いて、
悪意のあるゲストに対して自分を効果的に保護すること
ができる。さらに、ゲスト(すなわち、ポータブルデバ
イス)は、セキュアIPトンネルを用いて、自分をホス
ト側組織及び公衆インターネットに対して保護すること
ができる。最後に、IPマスカレードにより、アクセス
ポイントにおいて多数のポータブルデバイスをサポート
するのに必要なc/oアドレスの数を大幅に少なくする
ことができる。
【0222】さらに、ゲストを、ローカルネットワーク
の設定(DNSサーバやプリンタのアドレスなど)に適
合させるためのフレキシブルな機構により、ローカルネ
ットワーク管理者の作業が軽減される。新たな、あるい
は一時的に異なるネットワーク設定についての情報をあ
らゆるユーザのローカルシステムに入れる必要がないた
めである。
【図面の簡単な説明】
【図1】コンピュータ及びそのいくつかのモジュールの
例を示す図である。
【図2】ネットワーク上のステーションを示す図であ
る。
【図3】互いに通信していない2つのネットワークの図
である。
【図4】より概念的に、互いに通信していない3つのネ
ットワークを示す図である。
【図5】ネットワークによって相互接続された図4の3
つのネットワークの図である。
【図6】ルータがどのようにして2つのネットワークを
接続するかを示す図である。
【図7】IPパケットのヘッダの図である。
【図8】1つのステーションが外部ネットワークのゲス
トステーションであるような、図5のネットワークの図
である。
【図9】本発明の実施例によるルータを通じてゲストが
ターゲットマシンと通信することを示す図である。
【図10】公衆インターネットにおける、アクセスルー
タと次ホップルータの間のIPトンネルを示す図であ
る。
【図11】IP接続を用いて、ゲストステーションがど
のようにして、自分と、信頼されたエンティティ(例え
ば、ゲストステーションのレギュラーネットワーク内の
VPNサーバ)との間にセキュアIPトンネルを作成す
るかを示す図である。
【図12】本発明の一実施例の具体的実装に関連するい
くつかの具体的なコマンド及びエントリを示す図であ
る。
【図13】本発明の一実施例の具体的実装に関連するい
くつかの具体的なコマンド及びエントリを示す図であ
る。
【図14】本発明の一実施例の具体的実装に関連するい
くつかの具体的なコマンド及びエントリを示す図であ
る。
【図15】本発明の一実施例の具体的実装に関連するい
くつかの具体的なコマンド及びエントリを示す図であ
る。
【図16】本発明の一実施例の具体的実装に関連するい
くつかの具体的なコマンド及びエントリを示す図であ
る。
【図17】IPパケットを送信するステーションに関連
する流れ図である。
【図18】本発明の実施例によるアクセスルータがホス
ティングネットワーク上に設けられた、図8のネットワ
ークの図である。
【図19】本発明の実施例によるアクセスルータの概略
図である。
【図20】本発明の実施例によるアクセスルータの動作
に関する流れ図である。
【符号の説明】
10 汎用デジタルコンピュータ 100 中央処理装置(CPU) 110 メインメモリ 120 I/Oプロセッサ 130 I/Oデバイス 140 ネットワークアダプタ 200 第1のネットワーク 210 コンピュータ 220 コンピュータ 230 コンピュータ 240 コンピュータ 300 第2のネットワーク 310 コンピュータ 320 コンピュータ 330 コンピュータ 340 コンピュータ 400 第2のネットワーク 410 レギュラーステーション 420 レギュラーステーション 430 レギュラーステーション 440 レギュラーステーション 500 インターネットワーク 502 アクセスステーション 503 アクセスステーション 504 アクセスステーション 600 ルータ 900 アクセスルータ 910 CPU 920 メモリ 921 ARPあて先テーブル 922 ゲストサービステーブル 941 ネットワークアダプタ 942 ネットワークアダプタ
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5K030 HB19 HC01 HC14 HD03 HD06 HD09 KA02 LB05 5K033 BA04 CB08 DA05 DB12 EC03 9A001 BB04 CC06 CC07 EE02 JJ25 KK56

Claims (26)

    【特許請求の範囲】
  1. 【請求項1】 アクセスルータがIPサービスをゲスト
    ステーションに提供するアクセスルーティング方法にお
    いて、 前記ゲストステーションから、元のソースIPアドレス
    及びデスティネーションIPアドレスを有する元の出力
    IPパケットをインターセプトするインターセプトステ
    ップと、 前記元のソースIPアドレスをc/o(care-of)アド
    レスに関連づける関連づけステップと、 前記元の出力IPパケットに基づいて変更された出力I
    Pパケットに、前記元のソースIPアドレスの代わりに
    前記c/oアドレスを提供するステップと、 からなることを特徴とするアクセスルーティング方法。
  2. 【請求項2】 前記インターセプトステップは、 前記ゲストステーションから送信される、前記アクセス
    ルータ以外のステーション宛のARP要求を検出するス
    テップと、 前記ARP要求に対して、前記アクセスルータのハード
    ウェアアドレスを含むプロキシARP応答を、前記ゲス
    トステーションへ送るプロキシARP応答送信ステップ
    と、 からなることを特徴とする請求項1記載の方法。
  3. 【請求項3】 前記プロキシARP応答送信ステップ
    は、前記ARP要求に対するARP応答が所定のルータ
    ARPウェイト期間内に検出されないときに実行される
    ことを特徴とする請求項2記載の方法。
  4. 【請求項4】 前記関連づけステップは、 前記ゲストステーションのソースポート番号を前記ゲス
    トステーションに一意的なc/oポート番号に関連づけ
    るステップを含むことを特徴とする請求項1記載の方
    法。
  5. 【請求項5】 外部ステーションへのIPトンネルを通
    じて前記変更された出力IPパケットを送信するステッ
    プをさらに有することを特徴とする請求項1記載の方
    法。
  6. 【請求項6】 DNSリダイレクトステップをさらに有
    し、 該DNSリダイレクトステップは、 DNS問合せパケットをインターセプトするステップ
    と、 インターセプトされたDNS問合せパケットのデスティ
    ネーションIPアドレスを、ローカルDNSサーバのI
    Pアドレスで置換して、変更されたDNS問合せパケッ
    トを提供するステップと、 前記変更されたDNS問合せパケットを前記ローカルD
    NSサーバへ送るステップと、 からなることを特徴とする請求項1記載の方法。
  7. 【請求項7】 前記DNSリダイレクトステップは選択
    可能であることを特徴とする請求項6記載の方法。
  8. 【請求項8】 プリントジョブリダイレクトステップを
    さらに有し、 該プリントジョブリダイレクトステップは、 プリントジョブパケットをインターセプトするステップ
    と、 インターセプトされたプリントジョブパケットのデステ
    ィネーションIPアドレスを、ローカルプリンタのIP
    アドレスで置換して、変更されたプリントジョブパケッ
    トを提供するステップと、 前記変更されたプリントジョブパケットを前記ローカル
    プリンタへ送るステップと、 からなることを特徴とする請求項1記載の方法。
  9. 【請求項9】 前記プリントジョブリダイレクトステッ
    プは選択可能であることを特徴とする請求項8記載の方
    法。
  10. 【請求項10】 ゲストステーションにIP層アクセス
    を提供するシステムにおいて、 ゲストステーションIPアドレスを有するゲストステー
    ションと、 前記ゲストステーションと通信するホスティングネット
    ワークと、 前記ゲストステーションによって放出されるIPパケッ
    トと、 前記ホスティングネットワークに参加するアクセスルー
    タとを有し、 前記アクセスルータは、前記ゲストステーションによっ
    て放出されたIPパケットをインターセプトして、前記
    ゲストステーションにIPアクセスを提供することを特
    徴とするゲストステーションにIP層アクセスを提供す
    るシステム。
  11. 【請求項11】 前記アクセスルータは前記放出された
    IPパケットをインターセプトすることを特徴とする請
    求項10記載のシステム。
  12. 【請求項12】 前記アクセスルータは、プロキシAR
    Pを用いて前記放出されたIPパケットをインターセプ
    トすることを特徴とする請求項11記載のシステム。
  13. 【請求項13】 前記アクセスルータは、前記ゲストス
    テーションIPアドレスをc/o IPアドレスで置換
    することによって前記放出されたIPパケットを変更す
    ることを特徴とする請求項10記載のシステム。
  14. 【請求項14】 前記アクセスルータは、IPマスカレ
    ードを用いて、前記ゲストステーションIPアドレスを
    c/o IPアドレスで置換することを特徴とする請求
    項13記載のシステム。
  15. 【請求項15】 前記アクセスルータは、前記ゲストス
    テーションIPアドレスとc/o IPアドレスの間の
    関連づけをゲストサービスレコードに記録することを特
    徴とする請求項10記載のシステム。
  16. 【請求項16】 ゲストステーションがホスティングネ
    ットワークに接続される際に該ゲストステーションにI
    Pアクセスを提供するためのコンピュータシステムにお
    いて、 プロセッサとソフトウェア命令を含むメモリとを有し、 前記ソフトウェア命令は、前記コンピュータシステム
    が、 前記ゲストステーションから、元のソースIPアドレス
    及びデスティネーションIPアドレスを有する元の出力
    IPパケットをインターセプトするインターセプトステ
    ップと、 前記元のソースIPアドレスをc/oアドレスに関連づ
    ける関連づけステップと、 前記元の出力IPパケットに基づいて変更された出力I
    Pパケットに、前記元のソースIPアドレスの代わりに
    前記c/oアドレスを提供するステップと、 を実行することを可能にすることを特徴とするコンピュ
    ータシステム。
  17. 【請求項17】 前記インターセプトステップは、 前記ゲストステーションから送信される、前記アクセス
    ルータ以外のステーション宛のARP要求を検出するス
    テップと、 前記ARP要求に対して、前記アクセスルータのハード
    ウェアアドレスを含むプロキシARP応答を、前記ゲス
    トステーションへ送るプロキシARP応答送信ステップ
    と、 からなることを特徴とする請求項16記載のコンピュー
    タシステム。
  18. 【請求項18】 前記プロキシARP応答送信ステップ
    は、前記ARP要求に対するARP応答が所定のルータ
    ARPウェイト期間内に検出されないときに実行される
    ことを特徴とする請求項17記載のコンピュータシステ
    ム。
  19. 【請求項19】 前記関連づけステップは、 前記ゲストステーションのソースポート番号を前記ゲス
    トステーションに一意的なc/oポート番号に関連づけ
    るステップを含むことを特徴とする請求項16記載のコ
    ンピュータシステム。
  20. 【請求項20】 前記ソフトウェア命令は、前記コンピ
    ュータシステムが、外部ステーションへのIPトンネル
    を通じて前記変更された出力IPパケットを送信するス
    テップをを実行することを可能にするソフトウェア命令
    を含むことを特徴とする請求項16記載のコンピュータ
    システム。
  21. 【請求項21】 ゲストステーションがホスティングネ
    ットワークに接続される際に、コンピュータが該ゲスト
    ステーションにIPアクセスを提供することを可能にす
    るコンピュータプログラム製品において、 前記コンピュータが所定のオペレーションを実行するこ
    とを可能にするソフトウェア命令と前記ソフトウェア命
    令を有するコンピュータ読取り可能媒体とを有し、 前記所定のオペレーションは、 前記ゲストステーションから、元のソースIPアドレス
    及びデスティネーションIPアドレスを有する元の出力
    IPパケットをインターセプトするインターセプトステ
    ップと、 前記元のソースIPアドレスをc/oアドレスに関連づ
    ける関連づけステップと、 前記元の出力IPパケットに基づいて変更された出力I
    Pパケットに、前記元のソースIPアドレスの代わりに
    前記c/oアドレスを提供するステップと、を含むこと
    を特徴とするコンピュータプログラム製品。
  22. 【請求項22】 前記インターセプトステップは、 前記ゲストステーションから送信される、前記アクセス
    ルータ以外のステーション宛のARP要求を検出するス
    テップと、 前記ARP要求に対して、前記アクセスルータのハード
    ウェアアドレスを含むプロキシARP応答を、前記ゲス
    トステーションへ送るプロキシARP応答送信ステップ
    と、 からなることを特徴とする請求項21記載のコンピュー
    タプログラム製品。
  23. 【請求項23】 前記プロキシARP応答送信ステップ
    は、前記ARP要求に対するARP応答が所定のルータ
    ARPウェイト期間内に検出されないときに実行される
    ことを特徴とする請求項22記載のコンピュータプログ
    ラム製品。
  24. 【請求項24】 前記関連づけステップは、 前記ゲストステーションのソースポート番号を前記ゲス
    トステーションに一意的なc/oポート番号に関連づけ
    るステップを含むことを特徴とする請求項21記載のコ
    ンピュータプログラム製品。
  25. 【請求項25】 前記所定のオペレーションは、外部ス
    テーションへのIPトンネルを通じて前記変更された出
    力IPパケットを送信するステップをさらに含むことを
    特徴とする請求項21記載のコンピュータプログラム製
    品。
  26. 【請求項26】 ホスティングネットワークに接続され
    たゲストステーションのIPアクセスを制御するため
    に、アプリケーションから呼出し可能なユーザインタフ
    ェースにおいて、 前記ホスティングネットワークに接続された、現在登録
    されているゲストステーションのリストを表示する第1
    表示領域と、 ゲストステーションごとに、該ゲストステーションの対
    応するホームIPアドレス及びc/oアドレスを表示す
    るアドレス表示領域と、 選択されると、選択されたゲストステーションが登録さ
    れた時刻を示す第1ユーザ選択可能コントロールと、 ゲストステーションに関して選択可能なローカルDNS
    サーバ及びローカルプリンタのリストを表示する第2表
    示領域と、 ゲストステーションのプリントジョブパケットのプリン
    トジョブリダイレクトのためのローカルプリンタを選択
    するための第2ユーザ選択可能コントロールと、 ゲストステーションのDNS問合せパケットのDNS問
    合せリダイレクトのためのローカルDNSサーバを選択
    するための第3ユーザ選択可能コントロールと、 から
    なることを特徴とする、ホスティングネットワークに接
    続されたゲストステーションのIPアクセスを制御する
    ためのユーザインタフェース。
JP2000021419A 1999-07-21 2000-01-31 アクセスルーティング方法及びアクセス提供システム Expired - Fee Related JP3575369B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/357,907 US6591306B1 (en) 1999-04-01 1999-07-21 IP network access for portable devices
US09/357907 1999-07-21

Publications (2)

Publication Number Publication Date
JP2001057572A true JP2001057572A (ja) 2001-02-27
JP3575369B2 JP3575369B2 (ja) 2004-10-13

Family

ID=23407520

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000021419A Expired - Fee Related JP3575369B2 (ja) 1999-07-21 2000-01-31 アクセスルーティング方法及びアクセス提供システム

Country Status (1)

Country Link
JP (1) JP3575369B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7203832B2 (en) 2002-02-05 2007-04-10 Minolta Co., Ltd. Network system
JP2008211446A (ja) * 2007-02-26 2008-09-11 Nippon Telegr & Teleph Corp <Ntt> 通信システムおよび通信方法
US8027271B2 (en) 2006-05-30 2011-09-27 Panasonic Corporation Communicating apparatus and controlling method of thereof
JP2018520598A (ja) * 2015-07-06 2018-07-26 コンヴィーダ ワイヤレス, エルエルシー モノのインターネットのための広域サービス発見

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7203832B2 (en) 2002-02-05 2007-04-10 Minolta Co., Ltd. Network system
US8027271B2 (en) 2006-05-30 2011-09-27 Panasonic Corporation Communicating apparatus and controlling method of thereof
JP2008211446A (ja) * 2007-02-26 2008-09-11 Nippon Telegr & Teleph Corp <Ntt> 通信システムおよび通信方法
JP2018520598A (ja) * 2015-07-06 2018-07-26 コンヴィーダ ワイヤレス, エルエルシー モノのインターネットのための広域サービス発見
US10715482B2 (en) 2015-07-06 2020-07-14 Convida Wireless, Llc Wide area service discovery for internet of things

Also Published As

Publication number Publication date
JP3575369B2 (ja) 2004-10-13

Similar Documents

Publication Publication Date Title
US6591306B1 (en) IP network access for portable devices
US10469444B2 (en) System and method for direct connections between previously unconnected network devices across one or more unknown networks
US8526467B2 (en) Facilitating transition of network operations from IP version 4 to IP version 6
KR100636186B1 (ko) 양방향 터널 설정 방법 및 시스템
US8594107B2 (en) System and method for establishing network connection
US7925693B2 (en) NAT access control with IPSec
US9515988B2 (en) Device and method for split DNS communications
JP4146886B2 (ja) 通信モジュール及びこの通信モジュールを備えたアプリケーションプログラム
JP2002502152A (ja) Tcp/ipネットワーク・アドレス携帯端末のためのプロキシ・サーバ
JP2011515945A (ja) ローカル・ネットワーク間でデータ・パケットを通信するための方法および装置
JP4600394B2 (ja) ネットワークアクセスルータ、ネットワークアクセス方法、プログラム、及び記録媒体
JP3858884B2 (ja) ネットワークアクセスゲートウェイ及びネットワークアクセスゲートウェイの制御方法並びにプログラム
US20050083883A1 (en) Mobile network agent
US10805260B2 (en) Method for transmitting at least one IP data packet, related system and computer program product
JP3575369B2 (ja) アクセスルーティング方法及びアクセス提供システム
US7089334B2 (en) Intelligent network interface port for visiting computers
JP3808471B2 (ja) ネットワーク及びルータ装置並びにそれらに用いるアドレス通知方法
KR102097999B1 (ko) 가상 라우터를 이용한 IP in IP 통신 시스템
Terao et al. A shared secure server for multiple closed networks
Talwar et al. Internet/Site Automatic Tunnel Addressing Protocol (ISATAP) draft-ietf-ngtrans-isatap-18. txt Status of this Memo This document is an Internet-Draft and is subject to all provisions of Section 10 of RFC2026.
JP2003324774A (ja) 無線サーバ、モバイル管理サーバ

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040323

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040524

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: 20040615

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040628

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20070716

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20080716

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090716

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100716

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110716

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110716

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120716

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120716

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130716

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees