JP4282648B2 - 通信装置及びアクセス方法 - Google Patents

通信装置及びアクセス方法 Download PDF

Info

Publication number
JP4282648B2
JP4282648B2 JP2005277853A JP2005277853A JP4282648B2 JP 4282648 B2 JP4282648 B2 JP 4282648B2 JP 2005277853 A JP2005277853 A JP 2005277853A JP 2005277853 A JP2005277853 A JP 2005277853A JP 4282648 B2 JP4282648 B2 JP 4282648B2
Authority
JP
Japan
Prior art keywords
interface
address
link layer
communication
frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005277853A
Other languages
English (en)
Other versions
JP2007089019A (ja
Inventor
恵介 米良
直紀 江坂
丈士 石原
茂雄 松澤
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2005277853A priority Critical patent/JP4282648B2/ja
Publication of JP2007089019A publication Critical patent/JP2007089019A/ja
Application granted granted Critical
Publication of JP4282648B2 publication Critical patent/JP4282648B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、複数のネットワークに接続して通信可能な通信装置に関する。
通信ネットワークの分野では、ITU−TとISOが共同で定めたOSI基本参照モデルを基に通信プロトコルが規定されている。
そのOSI基本参照モデルは、通信プロトコルを7つの層(物理層(L1)・データリンク層(L2)・ネットワーク層(L3)・トランスポート層(L4)・セッション層(L5)・プレゼンテーション層(L6)・アプリケーション層(L7)で規定している。
オフィスや家庭などで広く使われている物理層及びリンク層の通信方式の代表的なものとして、イーサネット(登録商標)や無線LANが挙げられる。通信装置が持つインタフェースには、固有のアドレスであるリンク層アドレスが割り当てられている。イーサネット(登録商標)に代表される有線ネットワーク及び無線LANは、ネットワーク層のパケットをリンク層フレームにカプセル化し、通信回線上にて送受信を行う。
IPv6(internet protocol version 6)とは、現在インターネットにて広く使われているIPv4(internet protocol version 4)の後継プロトコルである。IPv6アドレスは、128ビットで表現され、ネットワークを識別するために使用される上位64ビット(プレフィックス)と、端末を識別するために使用される下位64ビット(インタフェースID)から成る。
IPv6では、IPアドレスを自動的に設定することができる自動構成という機能を持つ。自動構成はさらにステートフルな自動構成とステートレスな自動構成の2つに分類される。ステートフルな自動構成とは、IPv4でのIPアドレス自動設定技術であるDHCP(dynamic host configuration protocol)のIPv6版であるDHCPv6という技術を用いて、ホストはDHCPv6サーバからIPv6アドレスを取得する方法である。また、ステートレスな自動構成とは、まず下位64ビットのインタフェースIDをインタフェースのMACアドレスから生成し、DAD(duplicate address detection)によってサブネット内で重複が無いか確認する。そして、IPv6ルータが配信するRA(Router Advertisement)メッセージを受信し、メッセージ内に載っているプレフィックスを取得する。このプレフィックスとインタフェースIDを組み合わせて、インタフェースのIPアドレスを構成する。
Mobile IP(mobile internet protocol)は、異なるネットワーク間を端末が移動しても、同じIPアドレスを使用してIP通信を継続することができる技術として知られていて、IETF(インターネット・エンジニアリング・タスク・フォース)が発行するRFC(リクエスト・フォー・コメント)2002及びRFC3220(非特許文献1参照)によって規定されている。
このMobile IP技術を実施するためには、移動元のサブネットにて端末の移動先の管理とデータパケットの中継を行う「ホームエージェント」と、移動先のサブネットにて端末の現在位置をホームエージェントに伝え、データパケットを転送する「フォーリンエージェント」などの機器を使用する。このため、Mobile IPを実施するためには、端末がMobile IPプロトコルに対応するだけでなく、移動元・移動先共にMobile IP対応のエージェントが動作している必要がある。
Mobile IPv6(モバイルアイピーブイ6)は、Mobile IPのIPv6版で、主な相違点としてフォーリンエージェントが廃止された点が挙げられる。これにより、移動先のネットワークにフォーリンエージェントが動作していなくても、ホームエージェントを介した通信が可能となる。IETFでは現在標準化作業が進められている。
Mobile IPやMobile IPv6では、IPパケットを遠隔まで転送することを特徴としているため、IPプロトコル以外のパケットを転送することができず、IP以外の代表的なプロトコルであるARPやAppleTalk(登録商標),NetBIOS等のプロトコルでの通信ができない。このため、Mobile IP並びにMobile IPv6は、遠隔から同一サブネットでの通信を行うことは不可能である。
VPN(virtual private network)とは、既存のネットワークにオーバーレイな仮想ネットワークを構築する技術である。IPパケットを、実ネットワークのIPパケットに格納する「カプセル化」を行うことにより、実ネットワーク上に仮想的なネットワークを構築することが可能である。しかし、IPパケットをカプセル化して転送する形態のVPN(これをIP−VPNと呼ぶ)は、Mobile IPと同様に、IP以外のプロトコルを用いたパケットを扱うことができないうえ、ブロードキャストやマルチキャスト通信を扱う際に特別な配慮が必要になる。
Layer2 VPN(layer 2 virtual private network、略してL2VPN)とは、イーサネット(登録商標)等のリンク層フレームをIPパケット内にカプセル化して転送する技術で、Layer2とは、OSI基本参照モデルでのデータリンク層を表している。
実際のネットワーク回線を介して、遠隔のネットワークまたはホスト間で仮想のイーサネット(登録商標)接続を可能にするものであるため、それらが同じIPサブネットで接続することが可能になる。また、IP以外のプロトコルを使用したパケットを扱うことが可能であるため、ARPやAppleTalk(登録商標),NetBIOSのようなIP以外のプロトコルでの通信も可能になる。従って、例えば職場や宅内のネットワークに接続された機器等へ、あたかも職場や宅内にいるかのように遠隔からアクセスすることが可能になる。
このように、L2VPN技術は遠隔から宅内や職場等のネットワークに、同一サブネットでアクセスできる技術として知られている。しかし、通信端末が異なるネットワーク間を移動する場合は、その都度L2VPNの接続と切断を繰り返すことになる。このような場合、L2VPNのインタフェースが有効化と無効化を繰り返し、その度にOSのルーティングテーブルに影響が出る。このような端末上でアプリケーションが通信を行っていると、アプリケーションの通信に影響が出る可能性がある。
OS(オペレーティングシステム)に搭載されているAPI(アプリケーション・プログラム・インタフェース)を使用して、通信機器に搭載されているネットワークインタフェースの状態を検知することができる。インタフェースの状態としては、イーサネット(登録商標)ケーブルが接続されているか(キャリア・センス)や、OS上でインタフェースが有効であるか否か、インタフェースの生成・消滅のようなものが挙げられる。ソフトウェアがOSに対して問合せをし、返答を得るという方法で取得するAPIや、状態の変化をOSが検出して随時ソフトウェアに報知するAPIが知られている。
IPv6ネットワークのリンク層(L2)やネットワーク層(L3)に関する情報を取得する方法が、DNA(detecting network attachment)というIETFのワーキンググループによって議論されており、IPv6ルータがRAを配布する際に、RAメッセージの情報から接続サブネットを識別する方式などが検討されている。
同一サブネット内で異なるネットワークアクセス技術(以下、「リンク」と表記)を切り替えながら通信を継続するための方法が考案されている。
一つ目の例は、ネットワークアプリケーションが通信する際に、実際のネットワークインタフェースを切り替ながら使うかわりに、代表する1つの仮想ネットワークインタフェースを通信に使うという方法(特許文献1参照)がある。アプリケーションは常に代表する仮想アンカー・アダプタ・ドライバを通じて通信を行う。実際のネットワーク・アダプタがネットワークフレームを受信した際は、そのフレームのリンク層アドレスを仮想アンカー・アダプタ・ドライバのリンク層アドレスに書き換えて、仮想アンカー・アダプタ・ドライバに転送する。仮想アンカー・アダプタ・ドライバからネットワークフレームを送信する際は、そのフレームのリンク層アドレスを実際のネットワーク・アダプタのリンク層アドレスに書き換えて、実際のネットワーク・アダプタから送信される。
実際のネットワーク・アダプタのリンク層アドレスはアダプタ毎に異なっているため、リンクが切り替わると、ノードのIPアドレスに対応するリンク層アドレスが変化することになる。
二つ目の例として、ノードのIPアドレスを、異なるネットワーク・アダプタのリンク層アドレスに動的に結合させることでリンク切替を行うという方法(特許文献2参照)である。優先すべきネットワーク・アダプタを選択し、ノードのIPアドレスを優先アダプタのリンク層アドレスに対応付ける。優先アダプタが変化した場合は、IPアドレスに対応づけられるリンク層アドレスを変更することでリンクを切替えることができる。一つ目の例と同様に、実際のネットワーク・アダプタのリンク層アドレスはアダプタ毎に異なっているため、リンク切替時にノードのIPアドレスに対応するリンク層アドレスが変化することになる。
特許文献1記載の技術では、フレームの送受信する際に、受信フレームの宛先リンク層アドレス、送信フレームの送信元リンク層アドレスを書き替える必要があり、フレーム処理に負荷がかかるという問題点がある。
また、特許文献1並びに特許文献2記載の技術では、インタフェース切り替え時に、IPアドレスに対するリンク層アドレスが変わるため、通信相手が保持しているIPアドレスとリンク層アドレスの対応関係(ARPテーブル)を変更させなければ、通信が継続できないという問題があった。
さらに、特許文献1並びに特許文献2記載の技術は、同一サブネットに接続されたインタフェース同士を切り替えることを原則としているため、遠隔からのアクセスについては十分考慮されていないという問題もある。
特開2001−127822号公報 特開2003−333080号公報 IETF編集「RFC2002」「RFC3220」
以上説明したように、従来は、複数のインタフェースを備え、複数のネットワークに接続して通信可能な通信装置が、ある特定ネットワーク上の通信機器と通信を行う際に用いるインタフェースを切り替える場合、当該通信装置は変わらないにもかかわらず、当該通信装置が備えるインタフェース毎にリンク層アドレスが異なるため、当該通信装置では、送受信フレーム中の宛先アドレスや送信元アドレスの書き換えを行うか、当該特定ネットワーク上の通信相手は、IPアドレスとリンク層アドレスの対応関係(ARPテーブル)を変更しなければ、通信を継続することができないという問題点があった。
さらに、従来の技術では、前記通信装置が具備する複数のインタフェースのうち、どのインタフェースが特定ネットワークに接続しているかを認識することができないため、当該複数のインタフェースが、特定ネットワークと、特定ネットワーク以外のネットワークに接続している場合、特定ネットワーク上の通信相手との通信に使うインタフェースを選択することができず、通信を継続することができないという問題があった。
そこで、本発明は、上記問題点に鑑み、複数のネットワークに接続して通信可能な通信装置が、ある特定ネットワークに接続しているインタフェースを認識することができ、ある特定ネットワーク上の相手通信機器と通信を行う際に用いるインタフェースを切り替えても、送受信フレーム中のアドレスの書き換え、相手通信機器におけるIPアドレスとリンク層アドレスの対応関係の変更を行うことなく、容易に当該特定ネットワーク上の相手通信機器との通信を継続することができる通信装置及び当該特定ネットワークへのアクセス方法を提供することを目的とする。
(1)本発明の通信装置は、予め定められたリンク層アドレスを記憶するアドレス記憶手段を備え、特定ネットワークを含む複数のネットワークのうちの1つに接続して、接続したネットワークへ、前記アドレス記憶手段に記憶したリンク層アドレスを送信元アドレスとするフレームを送信するとともに、前記接続したネットワークから、前記アドレス記憶手段に記憶したリンク層アドレスを宛先アドレスとするフレームを受信する通信インタフェースと、当該特定ネットワーク上の通信機器と通信を行うための予め定められた特定リンク層アドレスを記憶する記憶手段とを備え、前記通信インタフェースが前記特定ネットワークに接続しているとき、当該通信インタフェースを用いて前記特定ネットワーク上の通信機器と通信を行うために、当該通信インタフェースの前記アドレス記憶手段に記憶されているリンク層アドレスを、前記特定リンク層アドレスに書き換える。
(2)本発明の通信装置は、予め定められたリンク層アドレスを記憶するアドレス記憶手段を備え、特定ネットワークを含む複数のネットワークのうちの1つに接続して、接続したネットワークへ、前記アドレス記憶手段に記憶したリンク層アドレスを送信元アドレスとするフレームを送信するとともに、前記接続したネットワークから、前記アドレス記憶手段に記憶したリンク層アドレスを宛先アドレスとするフレームを受信する複数の通信インタフェースと、当該特定ネットワーク上の通信機器と通信を行うための予め定められた特定リンク層アドレスを記憶する第1の記憶手段と、前記複数の通信インタフェースのうち、前記特定ネットワーク上の通信機器と通信を行うために用いるスレーブインタフェースの元のリンク層アドレスを記憶する第2の記憶手段とを備え、(a)前記複数の通信インタフェースのうち、前記特定ネットワークに接続している通信インタフェースを検知し、(b)前記特定ネットワークに接続している通信インタフェースのうちの1つを、前記スレーブインタフェースとして選択し、(c)前記選択された通信インタフェースの前記アドレス記憶手段に記憶されているリンク層アドレスを、前記第2の記憶手段に記憶し、当該アドレス記憶手段に記憶されているリンク層アドレスを、前記特定リンク層アドレスに書き換えることにより、当該選択された通信インタフェースを前記スレーブインタフェースに設定する。
本発明によれば、複数のネットワークに接続して通信可能な通信装置が、ある特定ネットワーク上の相手通信機器と通信を行う際に用いるインタフェースを切り替えても、容易に当該特定ネットワーク上の相手通信機器との通信を継続することができる。
以下、本発明の実施形態について図面を参照して説明する。
図1は、2つのネットワークインタフェースを有する通信装置100の構成例を示したものである。ここでは、これら2つのネットワークインタフェースを第1のインタフェース106、第2のインタフェース108とする。
図1では、通信装置100は、2つのサブネット(ホームサブネット113とリモートサブネット114)のうち、第1のインタフェース106を介してホームサブネット113に接続している場合を示している。
ホームサブネット113は、通信装置100のホームネットインタフェース部102が接続する必要のあるネットワーク(例えば、宅内や職場のサブネット等)のことである。すなわち、ホームサブネット113は、ホームネットインタフェース部102に対し、予め定められたネットワークである。
リモートサブネット114は、ホームサブネット113以外のネットワークである。
ホームサブネット113とリモートサブネット114の物理レイヤ、データリンクレイヤなどの仕様は、同一であってもよいし、異なっていてもよい。
通信装置100は、アプリケーション101、第1及び第2のインタフェース106,108の他に、L2VPNインタフェース120,ホームネットインタフェース部102、ホームネットインタフェースコントローラ(以下、簡単にコントローラと呼ぶことがある)115を備える。
第1の及び第2のインタフェース106、108は、イーサネット(登録商標)などの有線ネットワークインタフェースや無線ネットワークインタフェースである。
ホームネットインタフェース部102は、アプリケーション101がホームサブネット113と通信する際に用いる仮想ネットワークインタフェースである。
ホームネットインタフェース部102は、アプリケーション101がホームネットインタフェース部102を介してホームサブネット113上の通信機器と通信を行う際に用いるIPアドレスを記憶するIPアドレス記憶部103、ホームネットインタフェース部102のリンク層アドレス(ここでは、「HNIF」)を記憶する第1のリンク層アドレス記憶部104、通信装置100が備える各インタフェース(ここでは、第1のインタフェース106,第2のインタフェース108、L2VPNインタフェース120)のうち、スレーブ化したインタフェースのリンク層アドレスを記憶する第2のリンク層アドレス記憶部105を有する。
なお、IPアドレス記憶部103に記憶されているIPアドレスは、予め静的に割り当てられたIPアドレスか、自動構成によって設定されたIPアドレスか、ホームネットインタフェース部102のリンク層アドレス「HNIF」に対応して、DHCPを用いるなどして取得したIPアドレスである。
ホームネットインタフェース部102は、ホームサブネット113に接続しているインタフェース(図1では、第1のインタフェース106)を通じて、ホームサブネット113上の通信機器とデータフレームのやり取りを行う。これにより、アプリケーション101はホームネットインタフェース部102を通じて、ホームサブネット113とフレームの送受信を行うことが可能になる。
ホームネットインタフェース部102がホームサブネット113上の通信機器との通信に使用するネットワークインタフェースを「スレーブインタフェース」と呼ぶ。ホームネットインタフェース部102が、通信装置100が持ついずれかのインタフェースを、ホームサブネット113との間での通信に利用できるように設定することを「スレーブ化」と呼ぶことにする。
図1において、現在、ホームネットインタフェース部102のスレーブインタフェースである第1のインタフェース106が、ホームネットインタフェース部102とホームサブネット113を介してリンク層フレームを配送する際には、データフレームのリンク層ヘッダのみを参照し、ネットワーク層のヘッダを参照する必要がない。そのため、スレーブ化された第1のインタフェース106にIPアドレスを設定する必要はない。
ホームネットインタフェース部102は、仮想ネットワークインタフェースであるため、ホームネットインタフェース部102の初期設定時に、ホームネットインタフェース部102が使用するリンク層アドレスを決定する必要がある。
ホームネットインタフェース部102のリンク層アドレスの決定方法としては複数考えられるが、ここではそのうちのいくつかを例にとり説明する。
1つ目の方法は、設定ファイルや設定ツールを用いて、アドレスを静的に決める方法である。予め定められたリンク層アドレスを記憶媒体に記録しておき、ホームネットインタフェース部102の機能を実現するためのソフトウェアの起動時にその記憶媒体から、ホームネットインタフェース部102で使用するリンク層アドレスを読み出し、ホームネットインタフェース102部の第1のリンク層アドレス記憶部104に記憶する。
2つ目の方法は、通信装置100が持つネットワークインタフェースのリンク層アドレスを利用する方法である。ホームネットインタフェース部102が最初にスレーブ化したネットワークインタフェースのリンク層アドレスを、ホームネットインタフェース部102に初期設定する。すなわち、当該リンク層アドレスを第2のリンク層アドレス記憶部104に記憶する。以後スレーブのネットワークインタフェースを変更してもホームネットインタフェース部102はそのリンク層アドレスをそのままホームネットインタフェース部102のリンク層アドレスとして使用する。なお、初期設定以後にリンク層アドレス記憶部104のリンク層アドレスを変更することも可能である。
次に、アプリケーション101とネットワークとの間でのデータフレーム送受信について図1及び図2を参照して説明する。
アプリケーション101からホームネットインタフェース部102に入力された送信フレームは、現在、ホームネットインタフェース部102のスレーブインタフェースに設定されている第1のインタフェース106に転送され、ホームサブネット113に送信される。
図2において、スレーブインタフェース(ここでは、第1のインタフェース106)が、ホームサブネット113からのフレームを受信すると(ステップS1)、第1のインタフェース106は、ホームサブネット113から受信したフレームを、ホームネットインタフェース部102に転送するか否かを、2つの条件に従って決定する。
ここで、スレーブインタフェースは、受信したフレームを全て、ホームネットインタフェース部102に転送する無差別モード(プロミスキャスモード)と、受信したフレームの宛先リンク層アドレスが、当該スレーブインタフェースのアドレス(つまりここでは、後述するように、ホームネットインタフェース部102のリンク層アドレス)、マルチキャストアドレス及びブロードキャストアドレスであるフレームのみをホームネットインタフェース部102に転送する、無差別モードでない通常の動作モードのいずれか一方に設定されているものとする。
第1のインタフェース106が無差別モード(プロミスキャスモード)に設定されている場合には(ステップS2)、受信したフレームは、全て、ホームネットインタフェース部102に転送する(ステップS4)。
第1のインタフェース部102が無差別モードに設定されていると、ホームネットインタフェース部102で受信する必要のない、ホームネットインタフェース部102宛でないユニキャストフレーム(マルチキャストやブロードキャスト宛でないフレーム)も受信してしまうことになり、必要の無いフレームを処理する負荷が通信装置100に掛かってしまうという欠点がある。
第1のインタフェース106が、上記無差別モードに設定されていない場合には(ステップS3)、ホームネットインタフェース部102宛でないユニキャストフレームは破棄し、ホームネットインタフェース部102宛てのユニキャストフレーム、マルチキャストアドレス及びブロードキャストアドレスのフレームは、ホームネットインタフェース部102に転送する(ステップS4)。
スレーブインタフェースのリンク層アドレスをホームネットインタフェース部102のリンク層アドレスに変更することにより、スレーブインタフェースを無差別モードに設定しなくても、当該スレーブインタフェースのアドレス(つまりここでは、ホームネットインタフェース部102のリンク層アドレス)、マルチキャストアドレス及びブロードキャストアドレスであるフレームを、ホームネットインタフェースに転送させ、それ以外のフレームを破棄させることができる。不要なフレームをスレーブインタフェースに破棄させることにより、スレーブインタフェースからホームネットインタフェース部102へのフレーム転送の負荷や、ホームネットインタフェース部102でのフレーム受信処理の負荷を軽減することが可能になる。
次に、スレーブインタフェースを変更する際の処理手順について説明する。
図3は、ホームネットインタフェース部102にスレーブ化されているインタフェースと各インタフェースのリンク層アドレスの関係を示すテーブルである。
図3(c)は、通信装置100のインタフェース106、108のいずれもスレーブインタフェースとして設定されていない場合を示している。この場合には、ホームネットインタフェース部102のリンク層アドレスは、当該ホームネットインタフェース部102に予め定められた(あるいは上述のように設定された)リンク層アドレス「HNIF」であり、このリンク層アドレス「HNIF」が第1のリンク層アドレス記憶部104に記憶されている。また、スレーブインタフェースが存在しないことから、第2のリンク層アドレス記憶部105には、何も記憶されていない。
第1のインタフェース106のリンク層アドレスは、当該第1のインタフェースに予め定められているリンク層アドレス「IF1」であり、このリンク層アドレス「IF1」がリンク層アドレス記憶部107に記憶されている。
第2のインタフェース108のリンク層アドレスは、当該第2のインタフェースに予め定められているリンク層アドレス「IF2」であり、このリンク層アドレス「IF2」がリンク層アドレス記憶部109に記憶されている。
図3(a)は、第1のインタフェース106がスレーブ化されている場合を示している。スレーブインタフェースである第1のインタフェース106のリンク層アドレス記憶部107は、ホームネットインタフェース部102のリンク層アドレス「HNIF」で上書きされている。第1のインタフェース106のスレーブ化される前の、もともとのリンク層アドレス「IF1」は、ホームネットインタフェース部102の第2のリンク層アドレス記憶部105に記憶される。
図3(b)は、第2のインタフェース108がスレーブ化されている場合を示している。図3(a)と同様に、スレーブインタフェースである第2のインタフェース108のリンク層アドレス記憶部109は、ホームネットインタフェース部102のリンク層アドレス「HNIF」で上書きされている。また、第2のインタフェース108のスレーブ化される前の、もともとのリンク層アドレス「IF2」は、ホームネットインタフェース部102の第2のリンク層アドレス記憶部105に記憶される。
スレーブインタフェースを切替える際の処理手順について説明する。ここでは、スレーブインタフェースを第1のインタフェース106から第2のインタフェース108に切替える場合を例にとり説明する。
まず、第1のインタフェース106のリンク層アドレス記憶部107に、第1のインタフェース106のスレーブ化前のアドレス「IF1」を書き込む。次に、スレーブ化される第2のインタフェース108のリンク層アドレス記憶部109に記憶されているアドレス「IF2」を、ホームネットインタフェース102の第2のリンク層アドレス記憶部105に記憶する。そして、ホームネットインタフェース102の第1のリンク層アドレス104に記憶されているアドレス「HNIF」をスレーブインタフェースである第2のインタフェース108のリンク層アドレス記憶部109に書き込む。
この結果、図3(a)に対応する状態から図3(b)に対応する状態へと移行した。
ホームネットインタフェース部102・スレーブインタフェース間では、全ての送受信フレームをそのまま転送する。ホームネットインタフェース部102とスレーブインタフェースのリンク層アドレスは同じアドレスになっているため、転送するフレームのアドレスの書換え等を行う必要はない。
スレーブインタフェースを変更する際に、変更前と変更後の各インタフェースのリンク層アドレスが変更されるため、その変更をスイッチに知らせ、スイッチのFDB(フォワーディングデータベース)を更新させる。FDBは、スイッチがどのポートにどの宛先アドレスのフレームを転送するかを示す情報を記憶する。
スイッチに対してFDBを更新させるための方法として、スレーブ化されたインタフェースが、無償ARP(gratuitous ARP)要求などの、送信元リンク層アドレスとしてホームネットインタフェース部102のアドレス「HNIF」を有するフレームをブロードキャストする方法がある。
インタフェースのリンク層アドレスと、スイッチ200のフォワーディングデータベース(FDB)との関係について、図4及び図5を参照して説明する。
図4は、通信装置100の第1のインタフェース106がスイッチ200の第1のポート201に接続されている様子を示している。また、第1のFDB211は、第1のポート201に対応するFDBであり、第1のポート201に転送すべきフレームの宛先アドレスを記憶する。
図5は、第1のインタフェース106が、ホームネットインタフェース部102にスレーブ化される際の、リンク層アドレス、及びスイッチ200の第1のFDB211の状態を示している。
まず、第1のインタフェース106が、図5(a)の状態から、ホームネットインタフェース部102にスレーブ化されると、第1のインタフェース106のリンク層アドレス「IF1」がホームネットインタフェース部102のリンク層アドレス「HNIF」に変更され、図5(b)に示す状態に移る。
しかし、スイッチ200の第1のポート201に対応する第1のFDB211は、変更前の第1のインタフェース106のリンク層アドレス「IF1」のままであるため、ホームネットインタフェース部102のリンク層アドレスを宛先とするデータフレームは、第1のポート201には転送されない。
そこで、第1のインタフェース106のリンク層アドレスの変化をスイッチ200の第1のポート201に知らせるため、第1のインタフェース106は、無償ARP(gratuitous ARP)等の、送信元リンク層アドレスが変更後の「HNIF」であるフレームを、スイッチ200の第1のポート201に送信する。これにより、第1のポート201に対応する第1のFDB211に、変更後のアドレス「HNIF」が登録され、図5(c)の状態へと移行する。
第1のポート201の第1のFDB211に、変更後のリンク層アドレスが登録されたことにより、スイッチ200は、ホームネットインタフェース部102宛のフレームを第1のポート201に転送するようになり、第1のインタフェース106はホームネットインタフェース部102宛のフレームを受信できるようになる。
このように、インタフェースのリンク層アドレスが変化する場合や、インタフェースが接続しているスイッチやポートが変わる場合などに、通信装置100が無償ARP等のフレームを能動的に送信することで、スイッチのフォワーディングデータベース(FDB)の更新を早めることが可能である。
但し、これはあくまでスイッチのフォワーディングデータベースを更新するための処理であり、通信相手ホストのARPテーブル等スイッチ以外の通信機器のデータベースを変更させるものではない。
本実施形態では、ホームネットインタフェース部102のリンク層アドレスは変更しないため、インタフェース切り替え時に、IPアドレスとリンク層アドレスの対応は変化せず、通信相手のホストのARPテーブルを変更させる必要性は生じないことは前述の通りである。
ホームネットインタフェースコントローラ(簡単に、コントローラと呼ぶ)115は、ホームネットインタフェース部102がスレーブ化するインタフェースを選択するために、通信装置100が持つ各ネットワークインタフェースの情報を取得する。通信装置100が持つ各ネットワークインタフェースのリストや、設定されているIPアドレスやリンク層アドレス、リンク状態(インタフェースの有効/無効、キャリアのON/OFF等)などの各インタフェースの情報は、ホームサブネット113に接続しているインタフェースの検出(後述)を行う場合に有用である。
また、各インタフェースの状態が変化した場合は、随時インタフェース状態の変化を検知する。例えば、通信装置100として、ノートパソコン(ノートPC)を使用している場合、本体にあるネットワークインタフェース部102に加えて、新たに、例えばPCMCIA(personal computer memory card international association)規格のPCカード型のネットワークインタフェースが挿入されてオペレーティング・システムに認識された場合、そのインタフェースがホームサブネットに接続されているか否かを検知する必要性が出てくるため、インタフェースの追加・削除やリンク状態の変化、IPアドレスやリンク層アドレスの変化を検知する。
インタフェースの情報が変化した際に、随時インタフェースの情報を取得するためには、例えば、定期的にインタフェースの状態を取得するためのAPI等を通じて問合せを行う方法や、インタフェースの状態変化をその都度検知するためのAPIを利用する方法などがある。
ホームネットインタフェースコントローラ115が、スレーブ化するインタフェースを選択する際には、通信装置100が備える各インタフェースの情報を保持するインタフェース状態テーブル116を用いる。インタフェース状態テーブル116を参照することで、ホームネットインタフェース部102がスレーブ化するインタフェースを選択する際の処理を効率化することが可能である。
各インタフェースの情報とは、接続しているサブネットがホームサブネットであるか否かや、インタフェースのIPアドレス、リンク層アドレス、各種パラメータ(リンクスピードやIPパケットのカプセル化方式等)のような、スレーブ化するインタフェースを選択する際に基準とする情報のことである。
ホームネットインタフェースコントローラ115は、各インタフェースの情報の変化を監視し、インタフェース状態テーブル116を随時検知・更新し、常に最新の情報を保持するようにする。
次に、ホームネットインタフェースコントローラ115がスレーブ化するインタフェースを選択するための処理手順について説明する。
ホームネットインタフェースコントローラ115がスレーブ化するインタフェースを選択するためには、各インタフェースがホームサブネット113に接続されているか否かを検知する必要がある。
例えば、図1ではホームサブネット113に接続している第1のインタフェース106がホームネットインタフェース部102にスレーブ化されているため、ホームネットインタフェース部102は、ホームサブネット113と通信を行うことが可能になっている。
第1のインタフェース108がリモートサブネット114に接続しているとする。このとき、もしホームネットインタフェース1部02が第2のインタフェース108をスレーブ化すると、第2のインタフェース108はリモートサブネット114に接続しているため、ホームネットインタフェース部102は、ホームサブネット113と通信をすることができなくなってしまう。
つまり、通信装置100が持つインタフェースのなかから、ホームサブネット113に接続しているインタフェースを検出する必要がある。
通信装置100が備える各インタフェースが、ホームサブネット113に接続されているかどうかを検知する方法を大きく2つに分類して示す。
第1の種別の方法は、ホームサブネット113内の特定のホストへの通信可能性(アクセシビリティ)を調べることである。但し、ここでは例としてホームサブネット113に接続されているルータにフレームを送信する場合を扱うが、ルータに限らずホームサブネットに接続されているホストであれば利用可能である。
第2の種別の方法は、各インタフェースが接続しているネットワークで使用されているIPアドレスに関する情報から、ホームサブネットであるか否かを検知する方法である。
第1の種別の方法について説明する。
まず、通信装置100が備えるネットワークインタフェース夫々から、ホームサブネット113に接続している特定のホストに対してICMP(internet control message protocol)/ICMPv6 echoフレームを送信することで検知する方法を説明する。
図6は、通信装置100のホームネットインタフェースコントローラ115の処理動作を示すフローチャートである。
ホームネットインタフェースコントローラ115は、通信装置100が備えるネットワークインタフェース夫々からホームサブネット113のルータへ向けてICMP echoリクエストまたはICMPv6 echoリクエストを、各インタフェースが接続しているネットワークに対して送信する(ステップS11)。
その後、各インタフェースで、当該インタフェースが接続するネットワークから、予め定められた時間内に、フレームを受信した場合(ステップS12,ステップS13)、当該フレームの宛先リンク層アドレスが、ホームサブネット113のルータのアドレスか否かを調べる(ステップS14)。
宛先リンク層アドレスが、ホームサブネット113のルータのアドレスであれば、ホームネットインタフェースコントローラ115は、そのフレームを受信したインタフェースは、ホームサブネット113に接続されていると検知する(ステップS15)。宛先リンク層アドレスが、ホームサブネット113のルータのアドレスでなければ(ステップS14)、再びフレーム受信ループステップS12に戻る。
予め定められた時間内に、ホームサブネット113のルータからのフレームの受信を確認できなかったインタフェースについては、当該インタフェースの接続先ネットワークはホームサブネット113ではなく、リモートサブネット114であると検知する(ステップS16)。
ICMP/ICMPv6 echoリクエストフレームのフォーマットを図7に示す。宛先リンク層アドレスは、ホームサブネット113のルータのリンク層アドレス、送信元リンク層アドレスは、ホームネットインタフェース部102のリンク層アドレス「HNIF」である。また、宛先IP/IPv6アドレスは、ホームサブネット113のルータのIP/IPv6アドレス、送信元IP/IPv6アドレスは、ホームネットインタフェース部102のIP/IPv6アドレスである。
もし、ICMP/ICMPv6 echoリクエストフレームの送信元リンク層アドレスを、そのフレームを送信する実際のインタフェースのアドレスに設定してしまうと、ホームサブネット113のルータが、ホームネットインタフェース部102のIP/IPv6アドレスに対して複数の異なるリンク層アドレスからフレームを受信してしまい、ルータのARP(address resolution protocol)テーブルを混乱させてしまう要因になりかねない。これを回避するために、当該フレームの送信元リンク層アドレスをホームネットインタフェース部102のリンク層アドレス「HNIF」に設定する。
ICMP/ICMPv6 echoリクエストフレームの送信元リンク層アドレスをホームネットインタフェース部102のリンク層アドレスに設定すると、ホームサブネット113のルータからの返信フレームの宛先リンク層アドレスもホームネットインタフェース部102のリンク層アドレスになる。その結果、ICMP/ICMPv6 echoリクエストフレームの送信元のインタフェースが当該フレームの返信フレームを受信した場合、自分宛のフレームでないと判断し、ルータからの当該返信フレームを破棄してしまう可能性がある。このため、図6の処理手順では、ホームネットインタフェースコントローラ115は、各インタフェースを無差別モード(プロミスキャスモード)に設定し、全てのフレームを受信するように設定する。
以上の方法は、ホームサブネット113のルータが通信装置100からのICMP/ICMPv6 echoリクエストフレームを受信した直後に、通信装置100宛のICMP echo replyを送信する場合を想定しているが、当該ルータがreplyを返す代わりに、ホームネットインタフェース部102のIPアドレスに対するリンク層アドレスを問い合わせるためのARP requestフレームを送信する可能性がある。この場合の通信装置100とルータとの間の処理シーケンスを図8及び図9に示す。
図8は、ホームサブネット113に接続しているインタフェースからICMP echoリクエストフレームを送信する場合を示している。
通信端末100の備える複数のインタフェースのうちの1つが、ホームサブネット113に接続している場合、当該インタフェースがICMP echoリクエストフレームを送信する(ステップS21)。当該フレームが、ホームサブネット113のルータが受信すると、ルータは、ARP requestフレームを送信する(ステップS22)。
当該ARP requestフレームの送信元リンク層アドレスは、当該ルータのリンク層アドレスである。このフレームを受信した通信装置100のコントローラ115は、当該フレームの送信元リンク層アドレスが、ホームサブネット113のルータのアドレスであることから、当該インタフェースは、ホームサブネット113に接続されていると検知する(ステップS23)。
なお、冗長ではあるが、ホームサブネット113のルータからのARP requestフレームを通信装置100が受信すると、そのフレームに対して、ホームネットインタフェース部102のリンク層アドレス「HNIF」を返答するARP replyフレームを送信し、ルータからのICMP echo replyフレームを受信することで検知する方法も考えられる(ステップS24〜ステップS25)。
ホームサブネット113のルータのIPアドレスがグローバルアドレスである場合は、当該ルータから送信されるフレームの送信元IPアレスが当該ルータのIPアドレスかどうかを調べることでも検知することができる。通信装置100のいずれかのインタフェースで受信したフレームの送信元IPアドレスが、ホームサブネット113のルータのIPアドレスと一致した場合、当該インタフェースはホームサブネット113に接続されていると検知する。
図9は、ホームサブネット113ではない別のネットワーク、すなわち、リモートサブネット114に接続されているインタフェースからICMP echoリクエストフレームを送信する場合を示している。
リモートサブネット114に接続されているインタフェースから、ICMP echoフレームを送信すると(ステップS31)、当該フレームの宛先リンク層アドレスは、ホームサブネット113上のルータのリンク層アドレスであるため、当該フレームは、ホームサブネット113上のルータへは到達できない。従って、当該インタフェースは、当該ルータからのフレームを受信できず、コントローラ115は、当該インタフェースはホームサブネット113に接続されていない、すなわち、リモートサブネット114に接続されていると検知する(ステップS32)。
ホームサブネット113上のルータのIPアドレスに対するリンク層アドレスを問い合わせるARP requestフレームを送信することにより、ホームサブネット113に接続されているか否かを検知する方法について、図10を参照して説明する。
図10は、通信装置100のホームネットインタフェースコントローラ115の処理動作を示すフローチャートである。
通信装置が備えるネットワークインタフェースからARP requestフレームを送信する(ステップS41)。これ以降の処理フローは、図6のICMP echoを使った検知方法のステップS12以降と同様である。
すなわち、インタフェースが所定時間内に受信したフレームのリンク層アドレスが、ホームサブネット113上のルータのアドレスであれば、コントローラ115は、当該インタフェースはホームサブネット113に接続されていると検知する(ステップS42〜ステップS45)。リンク層アドレスがホームサブネット113上のルーラのアドレスであるフレームを所定時間内に受信できなかったインタフェースは、リモートサブネット114に接続されていると検知する(ステップS42,ステップS43、ステップS46)。
ARP requestフレームのフォーマットを図11に示す。宛先リンク層アドレスはマルチキャストアドレス、送信元リンク層アドレスはホームネットインタフェース部のリンク層アドレス「HNIF」である。ARPヘッダの送信元リンク層アドレス及びIPアドレスは、「HNIF」及びホームネットインタフェース部102のIPアドレスである。また、ARPヘッダのターゲットIPアドレスは、ホームサブネット113上のルータのIPアドレスである。
ホームサブネット113がIPv6で運用されている場合も、上記同様に、ルータに対してICMPv6 echoを送信し、ルータからのICMPv6 echo replyフレームを受信することで検知が可能である。IPv4の場合と異なる点として、送信する検知フレームの宛先IPアドレスは、グローバルスコープのアドレスではなくリンクローカルアドレスを使用する方が検知の正確さが向上する。なぜなら、もしグローバルアドレスを使用した場合、プレフィックスが変更されるネットワークでは、ルータのグローバルアドレスが変化した場合に検知できなくなってしまうからである。検知手順は、IPv4の場合の図6と同様である。
また、ICMPv6 echoフレーム送信の際に、宛先IPアドレスをAll Router MulticastアドレスまたはAll Node Multicastアドレスに設定することによっても実施可能である。この場合、同一リンク内のルータ全てにechoフレームを送信することができ、ホームサブネット113のルータからのecho replyを受信することができる。この方法の特徴は、ホームサブネット113のルータのIPアドレスを予め知っておく必要がなく、当該ルータのリンク層アドレスさえ保持してあれば検知が可能である点である。検知手順は、IPv4の場合の図6と同様である。
ホームサブネット113に接続されている特定のホストへのアクセシビリティを基準にホームサブネットに接続しているか否かを検知するためには、通信装置100は予め、検知する対象のホストの情報を記憶しておく必要がある。ホストの情報とは、リンク層アドレスやIPアドレスで、検知フレームの生成の際と、受信フレームがルータからのフレームか否かを判断する際に必要になる。
オームサブネット113のルータに対して、RARP(reverse address resolution protocol) requestフレームを送信することにより、通信装置100がホームサブネットに接続されているか否かを検知することができる。この場合の通信装置100のホームネットインタフェースコントローラ115の処理動作を図12に示す。
通信装置100が備えるネットワークインタフェースのそれぞれから、ホームサブネット113のルータのリンク層アドレスから当該ルータのIPアドレスを問い合わせるためのRARP requestフレームを送信する(ステップS51)。
その後、各インタフェースで、当該インタフェースが接続するネットワークから、予め定められた時間内に、フレームを受信した場合(ステップS52、ステップS53)、当該フレームの宛先リンク層アドレスが、ホームサブネット113のルータのアドレスか否かを調べる(ステップS54)。
宛先リンク層アドレスが、ホームサブネット113のルータのアドレスであれば、コントローラ115は、そのフレームを受信したインタフェースは、ホームサブネット113に接続されていると検知する(ステップS55)。宛先リンク層アドレスが、ホームサブネット113のルータのアドレスでなければ(ステップS54)、再びフレーム受信ループステップS52に戻る。
予め定められた時間内に、ホームサブネット113のルータからのフレームの受信を確認できなかったインタフェースについては、当該インタフェースの接続先ネットワークはホームサブネット113ではなく、リモートサブネット114であると検知する(ステップS56)。
RARP requestフレームのフォーマットを図13に示す。宛先リンク層アドレスは、ホームサブネット113のルータのリンク層アドレス、送信元リンク層アドレスは、ホームネットインタフェース部102のリンク層アドレス「HNIF」である。また、RARPヘッダ内のターゲットアドレスは、ホームサブネット113のルータのリンク層アドレス、送信元アドレスは、ホームネットインタフェース部102のIPアドレスである。
この方法の特徴は、ホームサブネット113のルータについて予め保持するべき情報はリンク層アドレスのみでよく、IPアドレスを必要としない点である。IPアドレスが変化してしまうホストに対してもリンク層アドレスが変更されない限り検知可能である。但し、アクセシビリティを調べるためのターゲットとなるホストがRARP reqestに対して返答しない場合は、この方法を使うことはできない。
次に、第2の種別の方法について説明する。
第2の種別の方法は、各インタフェースが接続しているネットワークで使用されているIPアドレスに関する情報から、ホームサブネットであるか否かを検知する方法である。
IPv4ネットワークでは、DHCP(dynamic host configuration protocol)によってグローバルアドレスを取得できる場合、そのアドレス中のサブネットアドレス(ネットワークアドレス)を比較することで検知する方法を説明する。
図14は、通信装置100のコントローラ115の処理動作を示すフローチャートである。
コントローラ115は、通信装置100が備えるネットワークインタフェース夫々からDHCP discoverフレームを送信する(ステップS61)。
その後、各インタフェースで、当該インタフェースが接続するネットワークから、予め定められた時間内に、DHCPサーバからDHCP offerフレームを受信した場合(ステップS62、ステップS63)、当該フレームに含まれる取得可能なIPアドレスがグローバルアドレスであり(ステップS64)、しかも、当該アドレスに含まれるネットワークアドレスは、ホームサブネット113で使用されている当該ホームサブネット113に対応するネットワークアドレスであるとき(ステップS65)、当該インタフェースはホームサブネット113に接続されていると検知する(ステップS66)。
予め定められた時間内に受信された、DHCP offerフレームに含まれる取得可能なIPアドレスがグローバルアドレスでないとき(ステップS64)、あるいは、グローバルアドレスであっても当該アドレスのネットワークアドレスは、ホームサブネット113に対応するネットワークアドレスでないとき(ステップS65)、当該インタフェースはリモートサブネット114に接続されていると検知する(ステップS67)。
さらに、DHCP discoverフレームを送信した後、予め定められた時間内に、DHCP offerフレームを受信できなったときも、ステップS67へ進む。
なお、ホームサブネット113で使われているIPアドレスがプライベートアドレスである場合は、IPアドレスだけではホームサブネット113であるか否かを同定できないため、この方法によるサブネット検知は適用できない。
IPv6ネットワークでは、ICMPv6 ND(Neighbor Discovery)機能を利用することで検知が可能である。RA(Router Advertisement)でIPv6アドレスのプレフィックスが配布されている場合、そのプレフィックスがホームサブネット113のものかどうか比較することで検知可能である。
この場合の通信装置100のコントローラ115の処理動作を、図15に示す。
ホームサブネット113のルータからRAを受信するために、通信装置100が備えるネットワークインタフェース夫々からICMPv6 RS(Router Solicitation)フレームを送信する(ステップS71)。なお、上記RSフレームを送信することなく、ホームサブネット113のルータから定期的に送信されるRAフレームを受信する、という手法もある。
その後、各インタフェースで、当該インタフェースが接続するネットワークから、予め定められた時間内に、RAフレームを受信した場合(ステップS72,ステップS73)、当該フレーム中のプレフィックスが、ホームサブネット113のプレフィックスと同一であれば、コントローラ115は、そのフレームを受信したインタフェースは、ホームサブネット113に接続されていると検知する(ステップS75)。
受信したRAフレーム中のプレフィックスが、ホームサブネット113のプレフィックスとは異なるとき(ステップS74)、当該インタフェースはリモートサブネット114に接続されていると検知する(ステップS76)。
さらに、RSフレームを送信した後、予め定められた時間内に、RAフレームを受信できなったときも、ステップS76へ進む。
ICMPv6 RSフレームのフォーマットを図16に示す。リンク層ヘッダの宛先リンク層アドレスは、マルチキャストアドレス、送信元アドレスは、ホームネットインタフェース部102のリンク層アドレス「HNIF」である。また、IPv6ヘッダの送信元アドレスは、ホームネットインタフェース部102のIPv6アドレス、宛先アドレスは、ARM(All Router Multicast)、もしくはAll Node Multicastである。
IPv6グローバルアドレスをDHCPv6によって取得できる場合には、IPv4のDHCPの場合と同様に、取得したIPアドレスがホームサブネットのものかどうかを調べることで検知が可能である。
この場合、図14と同様に、コントローラ115は、通信装置100が備えるネットワークインタフェースそれぞれから、上記DHCP discoverフレームに対応する、DHCPv6リクエストフレームを送信する。その後、各インタフェースで、当該インタフェースが接続するネットワークから、予め定められた時間内に、DHCPv6サーバから、上記DHCP offerフレームに対応するDHCPv6リプライフレームを受信した場合、当該フレームに含まれる取得可能なIPv6アドレスがグローバルアドレスであり、しかも、当該アドレスに含まれるネットワークアドレスは、ホームサブネット113で使用されている当該ホームサブネット113に対応するネットワークアドレスであるとき、当該インタフェースはホームサブネット113に接続されていると検知する。
予め定められた時間内に受信された、DHCPv6リプライフレームに含まれる取得可能なIPv6アドレスがグローバルアドレスでないとき、あるいは、グローバルアドレスであっても当該アドレスのネットワークアドレスは、ホームサブネット113に対応するネットワークアドレスでないとき、当該インタフェースはリモートサブネット114に接続されていると検知する。さらに、DHCPv6リクエストフレームを送信した後、予め定められた時間内に、DHCPv6リプライフレームを受信できなったときも、当該インタフェースはリモートサブネット114に接続されていると検知する。
ここまでは、それぞれの方法を単独で適用する方法を述べてきたが、上記のような方法を組み合わせてホームサブネットに接続しているか否かを検知することも可能である。
ここでは一例として、ICMPv6 echoフレームと、ICMPv6 NDを使ってホームサブネットに接続しているか否かの検知を行う方法について、図17に示すフローチャートを参照して説明する。
コントローラ115は、通信装置100が備えるネットワークインタフェース夫々から、ICMPv6 RSフレームと、ICMPv6 echoリクエストフレームとを送信する(ステップS81、ステップS82)。
その後、各インタフェースで、当該インタフェースが接続するネットワークから、予め定められた時間内に、フレームを受信した場合(ステップS83、ステップS84)、当該フレームの送信元リンク層アドレスが、ホームサブネット113のルータのリンク層アドレスであるときには(ステップS85)、コントローラ115は、当該フレームを受信したインタフェースは、ホームサブネット113に接続されていると検知する(ステップS88)。
送信元リンク層アドレスが、ホームサブネット113のルータのものでない場合は、当該フレームは、ホームサブネット113のルータ以外のホストから送信されたICMPv6 RAフレームである可能性がある。当該フレームが、ICMPv6 RAフレームである場合には(ステップS86)、当該フレーム中のIPアドレスのプレフィックスがホームサブネット113のプレフィックスであるとき(ステップS87)、コントローラ115は、当該フレームを受信したインタフェースは、ホームサブネット113に接続されていると検知する(ステップS88)。
ICMPv6 RAフレームと、ICMPv6 echoリクエストフレームとを送信した後、予め定められた時間内に、ICMP echo replyフレームあるいはICMPv6 RAフレームを受信できなったときは、当該インタフェースはホームサブネット113に接続されていないことを検知する(ステップS89)。
以上のような方法で、通信装置100が備える各インタフェースが接続しているネットワークがホームサブネット113であるか否かを検知することができる。
ホームサブネット113に接続しているインタフェースの検出方法について、以下いくつかの例を挙げる。
第一の例は、図18に示すように、ホームサブネット113に接続しているインタフェースが見つかるまで、コントローラ115は、前述の図6〜図17を用いて説明した検知処理のいずれかを用いて、ホームサブネットに接続しているインタフェースを検知する方法である。
通信装置100が備える各ネットワークインタフェースについて、コントローラ115は、前述の図6〜図17を用いて説明した検知処理のいずれかを用いてホームサブネット113に接続されているインタフェースを検知する(ステップS91〜ステップS92)。ホームサブネット113に接続されているインタフェースが1つでも検知されたら(ステップS93)、処理を終了する。
図18に示す処理手順では、ホームサブネット113に接続しているインタフェースが1つでも検知されたら、その時点で処理を終了してしまうので、ホームサブネット113に接続しているインタフェースが複数ある場合は、そのうちの1つしか検出できないことになる。
例えば、通信装置100が、無線ネットワークインタフェースと有線ネットワークインタフェースインタフェースを具備していて、その両方が同じサブネットに接続されている場合には、そのどちらか一方しか検出できないことになる。
第二の例は、図19に示すように、単純に、無線端末100が備える全てのインタフェースについて、コントローラ115は、当該インタフェースが接続するネットワークがホームサブネット113であるか否かを前述の図6〜図17を用いて説明した検知処理のいずれかを用いて調べる方法である。
図19に示す処理手順は、図18に示す処理手順と違い、ホームサブネット113に接続しているインタフェースを検出しても処理を終了せずに、全てのインタフェースについて検知処理を行う。これにより、ホームサブネット113に接続されているインタフェースが複数であっても、その全て検出することができる。
但し、図19に示す処理手順を用いた場合、通信装置100の複数のインタフェースがホームサブネットに接続している場合、検知処理に不具合が生じる可能性がある。接続先のネットワークを検知するために送信するフレームの送信元アドレスには、いずれもホームネットインタフェース部102のアドレスを使用しているが、通信装置100からホームサブネット113へのリンクが複数ある場合、スイッチ200が、送信元リンク層アドレスが同じフレームを異なるポートで受信してしまうため、スイッチ200のFDBが混乱してしまう問題が発生しかねないためである。
第三の例として、第一及び第二の例の問題を回避することのできる方法を図20に示すフローチャートを参照して説明する。
通信装置100が備える各ネットワークインタフェースについて、順番に、コントローラ115は、前述の図6〜図17を用いて説明した検知処理のいずれかを用いてホームサブネット113に接続されているインタフェースを検知する(ステップS111〜ステップS113)。
検知処理を実行するインタフェースの順番は、ホームネットインタフェース部102にスレーブ化されているインタフェースがあれば、一番目に当該インタフェースに対し検知処理を実行する。それ以外のインタフェースについては、任意の順番で検知処理を実行する。
ホームサブネット113に接続しているインタフェースを検出した場合は(ステップS113)、当該インタフェースから、ホームサブネット113にブロードキャストアドレスまたはマルチキャストアドレスのフレーム(ここでは、同一リンク検知フレームと呼ぶ)を送信し(ステップS114)、まだ検知処理を実行していないインタフェースがこのフレームを受信するかどうかを調べる。検知処理を実行していないインタフェースが、同一リンク検知フレームを受信した場合には(ステップS115)、当該インタフェースはホームサブネット113に接続されているインタフェースと同一サブネットに接続されている、つまりホームサブネット113に接続されていると検知できる(ステップS116)。一方、まだ検知処理を実行していないインタフェースが、同一リンク検知フレームを予め定められた時間までに受信しなければ、当該インタフェースは、ホームサブネット113に接続していないと検知できる(ステップS117)。
ステップS114で送信する同一リンク検知フレームは、例えば、図7のICMP/ICMPv6 echoリクエストフレームであり、このフレームの宛先リンク層アドレスと宛先IPアドレスがブロードキャストまたはマルチキャストアドレスに設定されたフレームである。なお、上記同一リンク検知フレームは、図7のICMP echoフレームに限るものではなく、ネットワークにブロードキャストまたはマルチキャスト送信できる他のプロトコルのフレームでも可能である。
図20に示す手順によれば、通信装置100は、当該通信装置100が備える複数のネットワークインタフェースのうち、ホームサブネット113に接続されているインタフェース全てを検出することができる。
コントローラ115は、例えば、図20に示す手順により、ホームサブネット113に接続しているインタフェースを検出すると、そのインタフェースをスレーブ化するようにホームネットインタフェース部102に対して指示を出す。ホームサブネット113に接続しているインタフェースが検出されなかった場合には、ホームサブネット113へL2VPN接続を行う。
(L2VPN(Layer2バーチャルプライベートネットワーク)接続)
次に、コントローラ115が、例えば、図20に示す手順を行った後のコントローラ115の処理動作について、図21に示すフローチャートを参照して説明する。
例えば、図20に示す手順を行った後、ホームサブネット113に接続しているインタフェースがあった場合には(ステップS201)、コントローラ115は、ホームサブネット113に接続されている複数のインタフェースのうち、最も優先度の高いインタフェースを選択する(ステップS202)。これは、ホームサブネット113に接続しているインタフェースが複数あった場合に、どのインタフェースをスレーブ化させるかを選ぶための処理である。選択する基準となるポリシーは様々なものが考えられるが、例えば、無線LANでホームサブネット113に接続するインタフェースと、有線LANでホームサブネット113に接続するインタフェースが存在する場合、「無線より有線を優先する」といったポリシーが考えられる。また、各インタフェースのリンクスピードを参照したり、予め設定ファイル等で優先するインタフェースを指示しておき、それを参照して優先度を決める方法等も考えられる。
選択されたインタフェースが、ホームネットインタフェース部102にスレーブ化されていない場合は、ホームネットインタフェース部102に対して、当該インタフェースをスレーブ化するよう指示を出す(ステップS204)。選択されたインタフェースが既にスレーブ化されている場合は何もせず、処理を終了する。
ホームサブネット113に接続しているインタフェースが存在しない場合は(ステップS201)、L2VPNを用いた接続により、ホームサブネット113と同一サブネットでの遠隔アクセスを実現する必要がある。
ホームサブネットへL2VPN接続が可能である場合は(ステップS205)、L2VPN接続を行う(ステップS206)。L2VPN接続中は、ホームネットインタフェース部102からみれば、L2VPNインタフェース120がホームサブネット113に接続していることになる。
通信装置100がどのネットワークにも接続していない場合や、いずれかのリモートサブネットに接続していてもホームサブネットへのL2VPN接続ができない場合は、L2VPN接続を行わず終了する。
以下、通信装置100がサブネット間を移動する場合に、ホームサブネット113とL2VPN接続して通信を行う場合の処理動作について説明する。なお、ここで、リモートサブネット114とは、ホームサブネット113以外のネットワークを指し、ホームサブネット113へ接続するためのL2VPNサーバへアクセスすることが可能であることを想定している。
また、ホームネットインタフェース部102を備える通信装置100としては、図1に示すような、有線LANに接続するための第1のインタフェース106、無線LANに接続するための第2のインタフェース108、L2VPNインタフェース120といった3つのインタフェースを持つ通信装置100を例にとり説明する。
なお、L2VPNインタフェース120は、当該インタフェースに予め定められたリンク層アドレスを記憶するリンク層アドレス記憶部121を有する。
図22は、通信装置100のホームネットインタフェースコントローラ(簡単にコントローラとも呼ぶ)115の構成例を示したもので、コントローラ115とともに、ネットワークインタフェース部102と、L2VPN接続した場合に有効化されるL2VPNインタフェース120と、第1及び第2のインタフェース106,108を示している。
コントローラ115は、インタフェース状態テーブル116、IF状態変化検出部117、サブネット検出部118、制御部119を含む。
IF状態変化検出部117は、通信装置100へのインタフェースの追加・削除やリンク状態の変化、IPアドレスやリンク層アドレスなどの各インタフェースの状態の変化を検知し、通信装置100が持つ各インタフェースの情報を取得する。通信装置100が持つ各ネットワークインタフェースのリストや、設定されているIPアドレスやリンク層アドレス、リンク状態(インタフェースの有効/無効、キャリアのON/OFF等)などの各インタフェースの情報は、インタフェース状態テーブル116に記憶されている。また、各インタフェースの状態の変化を検知した場合には、その都度、インタフェース状態テーブル116を更新する。
サブネット検出部118は、前述の図6〜図17を用いて説明した検知処理のいずれかと、図18〜図10のうちのいずれからの手順を用いてホームサブネット113に接続されているインタフェースを検出する。検出結果は、インタフェース状態テーブル116に記憶する。
制御部119は、ホームネットインタフェース部102に対して、スレーブインタフェースを変更する指示や、L2VPNインタフェース120に対してL2VPN接続・切断の制御を行う。
L2VPNインタフェース120は、制御部119からの制御により、有効化/無効化され、L2VPN接続の接続・切断の処理や、L2VPNで送受信するデータの処理を行う。データの処理とは、フレームをカプセル化する処理や、カプセル化を解いてフレームを取り出す処理のことを指す。これらの処理の詳細は後述する。
図23は、図22に示したコントローラ115の処理動作を説明するためのフローチャートである。
IF状態変化検出部117は、通信装置100が備える各インタフェースの状態変化を検出し(ステップS201)、インタフェース状態テーブル116の更新を行う(ステップS202)。サブネット検出部118は、前述の図6〜図17を用いて説明した、ホームサブネット113に接続しているインタフェースの検知処理のいずれかと、図18〜図10のうちのいずれからの手順を用いてホームサブネット113に接続されているインタフェースを検出し(ステップS203)、検出結果をインタフェース状態テーブル116に記憶する(ステップS204)。
制御部119は、インタフェース状態テーブル116を参照して、ホームサブネット113に接続しているインタフェースがある場合には(ステップS205)、図21に示すような処理動作を行って、そのうちのいずれか1つを、ホームネットインタフェース部102のスレーブインタフェースとして選択し、ホームネットインタフェース102へ、当該選択されたインタフェースをスレーブインタフェースとするための指示を出す。この指示を受けて、ホームネットインタフェース102は、選択されたインタフェースをスレーブ化する(ステップS206)。
制御部119は、ホームサブネット113に接続しているインタフェースが存在しない場合には、L2VPN接続を行う(ステップS207)。
以上の処理が終了すると、コントローラ115は、再びステップS201へ戻り、上記ステップS201〜ステップS207の処理を行うことで、ホームネットインタフェース部102は、第1及び第2のインタフェース106,108、L2VPNインタフェース120のうちのいずれかのインタフェースをスレーブインタフェースとして用い、常にホームサブネット113に接続していることになる。
[動作例1]
通信装置100が、ホームサブネット113に接続している状態から、ホームサブネット113以外のネットワーク(リモートサブネット114)に接続する場合の通信装置100の動作について説明する。
図24、図25、及び図26はそれぞれ、通信装置100がホームサブネット113に接続している場合、通信装置100がホームサブネット・リモートサブネット間を移動中の場合、通信装置100がリモートサブネット114に接続した場合を示す図である。
図24に示すように、通信装置100がホームサブネット113に接続されている初期状態では、通信装置100のホームネットインタフェース部102は、ホームサブネット113に接続している第1のインタフェース105をスレーブ化している。ホームネットインタフェース部102のIPアドレスはDHCP等にて動的に割り当てられているか、固定的に割り当てられているか、または自動構成によって設定されているものとする。
IF状態変化検出部117は、常時または定期的に、通信装置100の各インタフェースの状態を監視していて(図23のステップS201)、インタフェースの状態の変化を検出したか、予め設定された一定時間、インタフェースの状態の変化が無かった場合は、ステップS203のサブネット検出部118の処理に移る。
ステップS203で、スレーブインタフェースが変更されない場合、再びステップS201に戻る。このように、サブネット検出部118は、インタフェースの状態に変化がない場合でも定期的に処理を行い、各インタフェースの接続されているネットワークが変化していないかどうか監視を行う。
ここで、通信装置100の第1のインタフェース106が、一旦ホームサブネット113との接続を切断すると、図25に示す状態に移行する。
図25に示す状態では、ホームサブネット113へのアクセシビリティが無くなっているため、図23のステップS203のサブネット検出部118の処理が行われると、ホームサブネット113に接続しているインタフェースを検出できないため、図23のステップS207のL2VPN接続の処理に移る。図25に示す状態では、通信装置100は、どのネットワークにも接続されていないため、ステップS207では、L2VPN接続を行わず処理を終了し、再びステップS201に戻る。
この間、ホームネットインタフェース部102とスレーブインタフェースである第1のインタフェース106の状態は変化しない。すなわち、第1のインタフェース106のリンク層アドレス記憶部107には、ホームネットワークインタフェース部102のリンク層アドレス「HNIF」が記憶され、ホームネットワークインタフェース部102の第2のリンク層アドレス記憶部105には、第1のインタフェース106のリンク層アドレスが記憶されており、第1のインタフェース106は、スレーブインタフェースのままである。また、アプリケーション101から見ると、パケットの送信はできるものの受信ができないという状態である。
この後、通信装置100が、ホームサブネット113以外のネットワークであるリモートサブネット114に接続すると、図26に示す状態に移行する。図26では、通信装置100は、第1のインタフェースを通じて、リモートサブネット114に接続している。
IF状態変化検出部117は、このようなインタフェースの状態変化を検出する(図23のステップS201)。そして、ステップS203では、第1のインタフェース106はホームサブネット113に接続されていないため、サブネット検出部118は、ホームサブネット113に接続されているインタフェースを検出できない。そこで、ステップS207へ進み、L2VPN接続処理を行う。
この場合、制御部119は、L2VPNインタフェース120を制御し、ホームサブネット113へのL2VPN接続を行う。L2VPNインタフェース120は、実際にリモートサブネット114に接続している第1のインタフェース106を通じて、ホームサブネット113のルータ301との間で通信を行い、L2VPN接続のための予め定められた処理手順を実行する。
L2VPN接続が成功すると、無線端末100のL2VPNインタフェース120と、ホームサブネット113のルータ301のL2VPNインタフェース304とが有効となり、通信装置100のL2VPNインタフェース120と、ホームサブネット113のルータ301のL2VPNインタフェース304との間のL2VPNトンネル501が有効となる。
この時、ルータ301では、ホームサブネット113に接続されている第1のインタフェース302とL2VPNインタフェース304とをブリッジ305で接続する。
これにより、L2VPNインタフェース120は、L2VPNトンネル501を介してホームサブネット113上の通信機器とデータの送受信を行うことができる。
通信装置100でL2VPNインタフェース120が有効化されると、IF状態変化検出部117は、L2VPNインタフェース120が新たに有効化されたことを検知し(図23のステップS201)、インタフェース状態テーブル116に、L2VPNインタフェース120に関する情報を記憶する(ステップS202)。そして、ステップS203へ進む。
ステップS203において、L2VPNインタフェース120は、第1のネットワーク106を介してホームサブネット113とフレームの送受信が可能なため、サブネット検出部118は、L2VPNインタフェース120は、ホームサブネット113に接続されていると検知する。従って、ステップS205からステップS206へ進む。
ステップS206では、制御部119は、ホームネットインタフェース部102に対し、L2VPNインタフェース120をスレーブ化すべく指示を出す。
この指示を受けて、ホームネットワークインタフェース部102は、L2VPNインタフェース120のリンク層アドレス記憶部121に記憶されている、当該L2VPNインタフェース本来のリンク層アドレスを第2のリンク層アドレス記憶部105に記憶し、ホームネットインタフェース部102のリンク層アドレス「HNIF」をL2VPNインタフェース120のリンク層アドレス記憶部121に書き込む。この結果、L2VPNインタフェース120は、ホームネットインタフェース部102のスレーブインタフェースとして設定され、ホームネットインタフェース部102が、ホームサブネット113と再び接続されたことになり、アプリケーション101は、ホームネットインタフェース部102を用いてホームサブネット113上の通信機器との通信が行える。
次に、図24に示すように、通信装置100が第1のインタフェースをスレーブインタフェースとして用いてホームサブネット113に接続しているときの、通信装置100におけるフレーム送受信の手順について、図27を参照して説明する。
通信装置100で動作しているアプリケーション101が、送信すべきデータ「データ1」をホームネットインタフェース部102へ渡す(ステップS301)。
ホームネットインタフェース部102は、アプリケーション101から渡されたデータ「データ1」に、宛先リンク層アドレスD1として、ホームサブネット113上の通信機器のリンク層アドレスを付加し、送信元リンク層アドレスS1として、ホームネットインタフェース部102のリンク層アドレス「HNIF」を付加して、ホームサブネット113上の通信機器へ送信するフレームを生成し、生成されたフレームを、スレーブインタフェースである第1のインタフェース106に渡す(ステップS302)。
第1のインタフェース106は、渡されたフレームの送信元リンク層アドレスS1が、リンク層アドレス記憶部107に記憶されているリンク層アドレス「HNIF」と同一であることから、(このフレームの送信元リンク層アドレスS1を書き換えることなく)そのまま、接続しているホームサブネット113へ送出する(ステップS303)。
これにより、ホームネットインタフェース部102から出力されたフレームが、ホームサブネット113に送信されたことになる。
一方、ホームサブネット113上の通信機器から送信されたフレームを通信装置100が受信する場合には、まず、スレーブインタフェースである第1のインタフェース106が当該フレームを受信する(ステップS311)。第1のインタフェース106のリンク層アドレス記憶部107に記憶されているリンク層アドレスが「HNIF」であることから、第1のインタフェース106は、受信したフレームに付加されている宛先リンク層アドレスD2が、「HNIF」、マルチキャストアドレス、ブロードキャストアドレスのうちのいずれかであれば、当該フレームをホームネットインタフェース部102へ出力する(ステップS312)。ホームネットインタフェース部102は、渡されたフレーム中のデータ「データ2」をアプリケーション101へ渡す(ステップS313)。
これにより、ホームサブネット113上の通信機器からホームネットインタフェース部102宛に送信されたフレームが、ホームネットインタフェース部102に送信されたことになる。
次に、図26に示すように、第1のインタフェース106を介して、リモートサブネット114に接続している通信装置100が、L2VPNインタフェース120をスレーブインタフェースとして用いてホームサブネット113に接続しているときの、通信装置100におけるフレーム送受信の手順について、図28を参照して説明する。
通信装置100で動作しているアプリケーション101が、送信すべきデータ「データ1」をホームネットインタフェース部102へ渡す(ステップS321)。
ホームネットインタフェース部102は、アプリケーション101から渡されたデータ「データ1」に、宛先リンク層アドレスD1として、ホームサブネット113上の通信機器のリンク層アドレスを付加し、送信元リンク層アドレスS1として、ホームネットインタフェース部102のリンク層アドレス「HNIF」を付加して、ホームサブネット113上の通信機器へ送信するフレームを生成し、生成されたフレームを、スレーブインタフェースであるL2VPNインタフェース120に渡す(ステップS322)。
L2VPNインタフェース120は、渡されたフレームの送信元リンク層アドレスS1が、L2VPNインタフェース120のリンク層アドレス記憶部121に記憶されているリンク層アドレス「HNIF」と同一であることから、当該フレームの送信元リンク層アドレスS1を書き換えることなく、当該フレームにL2VPNプロトコルヘッダを付加するなどのL2VPNの所定の処理を施し、L2VPNデータを生成する。生成された当該L2VPNデータは、第1のインタフェース106へ出力される(ステップS323)。
第1のインタフェース106は、渡されたL2VPNデータにIPヘッダを付加し、IPパケットを生成し、当該IPパケットに宛先リンク層アドレスD2を付加し、さらに、送信元リンク層アドレスS2として、リンク層アドレス記憶部107に記憶されているリンク層アドレス「IF1」を付加して、接続しているリモートサブネット114へ送出する(ステップS324)。
なお、宛先リンク層アドレスD2は、リモートサブネット114上のルータ401の当該リモートサブネット114に接続するインタフェース402のリンク層アドレスである。
また、第1のインタフェース106で生成されるIPパケットの送信元IPアドレスは、第1のインタフェース106のIPアドレスであり、宛先IPアドレスは、ホームサブネット113上のルータ301の第2のインタフェース303のIPアドレスである。
リモートサブネット114のルータ401は、通信装置100の第1のインタフェース106から送信されたフレームを受信すると、当該フレームのIPパケット部分を取り出して、インターネット500へ送出する(ステップS325)。
ホームサブネット113上のルータ301は、図26に示すように、第2のインタフェース303でインターネット500に接続されている。ルータ301は、第2のインタフェース303を通じて当該IPパケットを受信し、当該IPパケットからL2VPNデータを取り出す。当該L2VPNデータは、L2VPNインタフェース304に渡される(ステップS326)。
L2VPNインタフェース304は、当該L2VPNデータから、フレームを取り出し、当該フレームをブリッジ305に渡す。なお、このフレームの送信元リンク層アドレスS1は、前述したように、「HNIF」である。
ブリッジ305は、当該フレームを第1のインタフェース302から、ホームサブネット113へ送出する(ステップS327)。
これにより、通信装置100のホームネットインタフェース部102から出力されたフレームが、ホームサブネット113上の通信機器に送信されたことになる。
次に、ホームサブネット113上の通信機器から送信されたフレームを通信装置100が受信する場合について、図28を参照して説明する。
ホームサブネット上の通信機器から送信されたフレームには、宛先リンク層アドレスD3として、「HNIF」、マルチキャストアドレス、ブロードキャストアドレスのうちのいずれかが付加されているものとする(ステップS331)。このフレームは、ルータ301の第1のインタフェース302で受信され、そのままブリッジ305へ出力される。ブリッジ305は、当該フレームをL2VPNインタフェース304へ渡し、L2VPNインタフェース304は、当該フレームにL2VPNプロトコルヘッダを付加するなどの、L2VPNの所定の処理を施す。生成された当該L2VPNデータは、第2のインタフェース303にてIPヘッダが付加され、当該インタフェースからインターネット500へ送出される(ステップS332)。
なお、当該IPパケットの送信元IPアドレスは、第2のインタフェース303のIPアドレスであり、宛先IPアドレスは、通信装置100の第1のインタフェース106のIPアドレスである。
当該IPパケットは、リモートサブネット114のルータ401により受信される(ステップS333)。ルータ401は、当該IPパケットに、宛先リンク層アドレスD4として、第1のインタフェースのリンク層アドレス「IF1」を付加し、さらに、送信元リンク層アドレスS4として、リモートサブネット114上のルータ401の当該リモートサブネット114に接続するインタフェース402のリンク層アドレスを付加して、リモートサブネット114へ送出する(ステップS334)。
ルータ401で、宛先及び送信元リンク層アドレスが付加されて、リモートサブネット114へ送出されたフレームは、第1のインタフェース106で受信される。第1のインタフェース106は、当該フレーム中のL2VPNデータをL2VPNインタフェース120へ出力する(ステップS335)。
L2VPNインタフェース120は、当該L2VPNデータからフレームを取り出す。当該フレームに付加されている宛先リンク層アドレスが、「HNIF」、マルチキャストアドレス、ブロードキャストアドレスのうちのいずれかである場合には、当該フレームをホームネットインタフェース部102へ出力する(ステップS336)。なお、L2VPNインタフェース120が無差別モードに設定されている場合は、宛先リンク層アドレスに係わらず全てのフレームをホームネットインタフェース部102へ出力する。
ホームネットインタフェース部102は、入力されたフレームからアプリケーション101へ渡すべきデータ「データ2」を取り出して、それをアプリケーション101へ出力する(ステップS337)。
これにより、ホームサブネット113から、通信装置100のホームネットインタフェース部102宛に送信されたフレームが、ホームネットインタフェース部102に受信されたことになる。
[動作例2]
上記[動作例2]とは逆に、通信装置100が、リモートサブネット114に接続している状態から、ホームサブネット113に接続する場合の通信装置100の動作について説明する。
図26に示すように、通信装置100が、第1のインタフェース106を通じて、リモートサブネット114に接続されている初期状態では、ホームネットインタフェース部102は、L2VPNインタフェース120をスレーブインタフェースとして用いて、ホームサブネット113上の通信機器と通信を行っている。
L2VPNインタフェース120のリンク層アドレスは、ホームネットインタフェース部102のリンク層アドレス「HNIF」である。すなわち、第1のインタフェース106をスレーブ化してホームサブネット113に接続されているときと同じリンク層アドレスであるから、当該L2VPNインタフェース120及びホームネットインタフェース部102のIPアドレスは、第1のインタフェース106をスレーブ化してホームサブネット113に接続されているときと同じIPアドレスである。
リモートサブネット114に接続している間は、[動作例1]で述べたように、ホームサブネット113に接続されていた場合と同様、定期的にIF状態変化検出部117やサブネット検出部118による監視が行われる。
この状態から、通信装置100の第1のインタフェース106が一旦リモートサブネット114との接続を切断した場合、図25に示す状態に移行する。
通信装置100は、L2VPNトンネル501を介したホームサブネット113との通信ができなくなるため、この間、ホームサブネット113へのアクセシビリティが失われる。この間の動作は、[動作例1]で述べた、ホームサブネット113との接続を切断さいた場合の動作と同様である。
この後、通信装置100が、ホームサブネット113に接続すると、図24に示す状態に移行する。図24では、通信装置100が、第1のインタフェース106を介してホームサブネット113に接続している。
IF状態変化検出部117で、このようなインタフェースの状態変化を検出する(図23のステップS201)。そして、ステップS203では、サブネット検出部118は、第1のインタフェース106はホームサブネット113に接続されていると検知し、ステップS206へ進む。
ステップS206では、制御部119は、ホームネットインタフェース部102に対し、第1のインタフェース106をスレーブ化するための指示を出す。
ホームネットインタフェース部102は、この指示を受けて、第1のインタフェース106のリンク層アドレス記憶部107に記憶されている、第1のインタフェース106のリンク層アドレス「IF1」をホームネットワークインタフェース部102の第2のリンク層アドレス記憶部105に記憶し、第1のインタフェース106のリンク層アドレス記憶部107に、ホームネットワークインタフェース部102のリンク層アドレス「HNIF」を書き込み、第1のインタフェース106をスレーブインタフェースとする。
これにより、ホームネットインタフェース部102が、ホームサブネット113と再び接続されたことになり、アプリケーション101はホームネットインタフェース部102を用いてホームサブネット113との通信が可能になる。
[動作例3]
次に、通信装置100が複数のネットワークに接続する場合の通信装置100の動作を説明する。
通信装置100が備える複数のインタフェースのうちの1つが、既にホームサブネット113に接続しているときに、当該複数のインタフェースのうちの他の1つが、さらにホームサブネット113に接続した場合の通信装置100の動作について説明する。
図29は、通信装置100が、第2のインタフェース108を通じて無線LANで、ホームサブネット113に接続している状態を示している。通信装置100のホームネットインタフェース部102は、第2のインタフェース108をスレーブインタフェースに設定して、ホームサブネット113と無線接続して通信を行っている。
ホームネットインタフェース部102のIPアドレスは、DHCPで割り当てられているか、固定的に割り当てられているか、または自動構成によって設定されているものとする。
この後、通信装置100の第1のインタフェース108が、第1のインタフェース106を通じて有線LANで、ホームサブネット113に接続すると、図30に示す状態に移行する。
IF状態変化検出部117が、このようなインタフェースの状態の変化を検出し(図23のステップS201)、ステップS203において、サブネット検出部118の処理が行われる。この場合のサブネット検出部118の処理動作を、図20を参照して説明する。
図20のステップS113では、ホームネットインタフェース部102の現在のスレーブインタフェースである第2のインタフェース108が、ホームサブネット113に接続されていると検知されるので、ステップS114へ進み、この第2のインタフェース108から同一リンク検知フレームを送信する。
図30に示す状態では、第1のインタフェース106がホームサブネット113に接続しているため、第1のインタフェース106は、当該同一リンク検知フレームを受信するので(ステップS115)、サブネット検出部118は、第1のインタフェース106は、ホームサブネット113に接続していると検知する(ステップS116)。
そこで、次に、制御部119は、ホームサブネット113に接続されている第1及び第2のインタフェース106,108のうちのいずれか一方を選択する。
図30に示すような状況は、例えば有線LANと無線LANが同じ場所で運用されていて、通信装置100の有線インタフェースと無線インタフェースの両方がそれぞれ有線LANと無線LANに接続するような場合に起こり得る。
ここでは、制御部119は、無線より有線を優先するポリシーに基づき、有線LANで接続されている第1のインタフェース106をスレーブインタフェースとして選択する(図23のステップS206、図21のステップS202)。制御部119は、ホームネットインタフェース部102に、第1のインタフェース106をスレーブ化するための指示を出力する(図23のステップS206,図21のステップS204)。
この指示を受けて、ホームネットインタフェース部102は、まず、第2のリンク層アドレス記憶部105に記憶されている、現在のスレーブインタフェースである第2のインタフェース108のリンク層アドレスを、第2のインタフェース108のリンク層アドレス記憶部109に書き込み、第2のインタフェース108のスレーブ化を解く。次に、新たなスレーブインタフェースである第1のインタフェース106のリンク層アドレス記憶部107に記憶されている、第1のインタフェース106のリンク層アドレス「IF1」をホームネットワークインタフェース部102の第2のリンク層アドレス記憶部105に記憶し、第1のインタフェース106のリンク層アドレス記憶部107に、ホームネットワークインタフェース部102のリンク層アドレス「HNIF」を書き込み、第1のインタフェース106をスレーブインタフェースとする。
これにより、ホームネットインタフェース部102が、第1のインタフェース106を介してホームサブネット113と接続されたことになり、アプリケーション101はホームネットインタフェース部102を用いてホームサブネット113との通信が可能になる。
[動作例4]
リモートサブネット114に接続されている通信装置100のホームネットインタフェース部102が、L2VPNインタフェース120をスレーブインタフェースとして用いてホームサブネット113に接続しているときに、当該通信装置100の備える他のインタフェースが、さらにホームサブネット113に接続した場合の通信装置100の動作について説明する。
図31に示すように、通信装置100が、第1のインタフェース106を通じて、リモートサブネット114に接続されている初期状態では、ホームネットインタフェース部102は、L2VPNインタフェース120をスレーブインタフェースとして用いて、ホームサブネット113上の通信機器と通信を行っている。この状態は、図26と同様である。
ホームネットインタフェース部102のIPアドレスは、DHCPで割り当てられているか、固定的に割り当てられているか、または自動構成によって設定されているものとする。
この後、通信装置100の第2のインタフェース108が、ホームサブネット113に接続する。
IF状態変化検出部117は、このようなインタフェースの状態変化を検知し(図23のステップS201)、ステップS203において、サブネット検出部118の処理が行われる。この場合のサブネット検出部118は、前述の[動作例3]と同様、図20に示す処理動作を行い、L2VPNインタフェース120の他に、第2のインタフェース108もホームサブネット113に接続していると検知する。
このような状況は、例えば有線LANと無線LANが同じ場所で運用されていて、有線LANと無線LANが別のセグメントで運用されている場合に、通信装置100の有線インタフェースと無線インタフェースの両方がそれぞれ有線LANと無線LANに接続するような場合に起こり得る。
次に、制御部119は、ホームサブネット113に接続されているL2VPNインタフェース120及び第2のインタフェース108のうちのいずれか一方を選択する。ここでは、L2VPNインタフェースよりも直接ホームサブネット113に接続している第2のインタフェース108を優先するというポリシーが適用されていると仮定する。すると、制御部119は、第2のインタフェース108を新たなスレーブインタフェースとして選択し、ホームネットインタフェース部102へ第2のインタフェース108をスレーブ化するよう指示する(図23のステップS206)。
この指示を受けて、ホームネットインタフェース部102は、まず、第2のリンク層アドレス記憶部105に記憶されている、現在のスレーブインタフェースであるL2VPNインタフェース120のリンク層アドレスを、L2VPNインタフェース120のリンク層アドレス記憶部121に書き込み、スレーブ化を解く。次に、新たなスレーブインタフェースである第2のインタフェース108のリンク層アドレス記憶部109に記憶されている、第2のインタフェース106のリンク層アドレス「IF2」をホームネットワークインタフェース部102の第2のリンク層アドレス記憶部105に記憶し、第2のインタフェース108のリンク層アドレス記憶部109に、ホームネットワークインタフェース部102のリンク層アドレス「HNIF」を書き込み、第2のインタフェース108をスレーブインタフェースとする。
以上の動作を行った結果を図32に示す。ホームサブネット113に接続されている第2のインタフェース108をホームネットインタフェース部102がスレーブ化している。ホームサブネットインタフェース部102は、第2のインタフェース108から、直接ホームサブネット113に接続するため、ルータ301と通信装置1000間のL2VPN接続が切断されている。但し、スレーブインタフェースを切替えてからすぐにL2VPNを切断しなければならないというわけではなく、例えば一定時間L2VPNの切断を保留するようなポリシーも考えられる。
[動作例5]
図32に示すように、通信装置100の備える第1のインタフェース106,第2のインタフェースがリモートサブネット114とホームサブネット113とにそれぞれ接続している状態から、ホームサブネット113への接続が切断された場合の通信装置100の動作について説明する。
図32に示すように、通信装置100の第2のインタフェース108は、ホームサブネット113に接続し、ホームネットインタフェース部102のスレーブインタフェースに設定されている。ホームネットインタフェース部102のIPアドレスは、DHCPで割り当てられているか、固定的に割り当てられているか、または自動構成によって設定されているものとする。
この後、第2のインタフェース108とホームサブネット113との接続が切断されると、IF状態変化検出部117は、このようなインタフェースの状態変化を検出し(図23のステップS201)、ステップS203において、サブネット検出部118の処理が行われる。
この場合、ホームサブネット113に接続しているインタフェースが存在しないため(ステップS205)、ステップS207へ進み、L2VPN接続のための処理が行われる。
制御部119は、L2VPNインタフェース120を制御し、ホームサブネット113へのL2VPN接続を行う。L2VPNインタフェース120は、実際にリモートサブネット114に接続している第1のインタフェース106を通じて、ホームサブネット113のルータ301との間で通信を行い、L2VPN接続のための予め定められた処理手順を実行する。
L2VPN接続が成功すると、図31に示すように、無線端末100のL2VPNインタフェース120と、ホームサブネット113のルータ301のL2VPNインタフェース304とが有効となり、通信装置100のL2VPNインタフェース120と、ホームサブネット113のルータ301のL2VPNインタフェース304との間のL2VPNトンネル501が有効となる。
IF状態変化検出部117は、L2VPNインタフェース120が新たに有効化されたことを検知し(図23のステップS201)、インタフェース状態テーブル116に、L2VPNインタフェース120に関する情報を記憶する(ステップS202)。そして、ステップS203へ進む。
ステップS203において、L2VPNインタフェース120は、第1のネットワーク106を介してホームサブネット113とフレームの送受信が可能なため、サブネット検出部118は、L2VPNインタフェース120は、ホームサブネット113に接続されていると検知する。従って、ステップS205からステップS206へ進む。
ステップS206では、制御部119は、ホームネットインタフェース部102に対し、L2VPNインタフェース120をスレーブ化すべく指示を出す。
この指示を受けて、ホームネットワークインタフェース部102は、まず、第2のリンク層アドレス記憶部105に記憶されている、現在のスレーブインタフェースである第2のインタフェース108のリンク層アドレスを、第2のインタフェース108のリンク層アドレス記憶部109に書き込み、スレーブ化を解く。次に、L2VPNインタフェース120のリンク層アドレス記憶部121に記憶されている、当該L2VPNインタフェース本来のリンク層アドレスを第2のリンク層アドレス記憶部105に記憶し、ホームネットインタフェース部102のリンク層アドレス「HNIF」をL2VPNインタフェース120のリンク層アドレス記憶部121に書き込む。この結果、L2VPNインタフェース120は、ホームネットインタフェース部102のスレーブインタフェースとして設定され、ホームネットインタフェース部102が、ホームサブネット113と再び接続されたことになり、アプリケーション101は、ホームネットインタフェース部102を用いてホームサブネット113上の通信機器との通信が行える。
以上説明したように、上記実施形態によれば、ホームネットインタフェース部102がホームサブネット113上の通信機器と通信を行う際に用いるスレーブインタフェースが切り替わっても(図1の第1のインタフェース106、第2のインタフェース108、L2VPNインタフェース120のうちのどれがスレーブインタフェースに設定されようと)、スレーブインタフェースのリンク層アドレスは、常に、ホームネットインタフェース部102のリンク層アドレス「HNIF」である。
スレーブインタフェースのIPアドレスがDHCP等で動的に割り当てられる場合、スレーブインタフェースであるインタフェースのリンク層アドレスは、常に同じリンク層アドレス「HNIF」であるから、このリンク層アドレス「HNIF」に対応して、IPアドレスを取得するようにDHCP等が適切に設定されていれば、ホームネットインタフェース部102が、どのインタフェースをスレーブインタフェースとして用いていようと、同じIPアドレスである確率が非常に高くなる。
すなわち、通信装置100は、どこにいようと(どのインタフェースをスレーブインタフェースとして用いようとも)、常に同じリンク層アドレス「HNIF」とIPアドレスを用いて、ホームサブネット113上の通信機器と通信を行うことができる。
通信装置100が、どのインタフェースをスレーブインタフェースとして用いようとも、ホームサブネット113上の通信機器と通信を行う際に用いるリンク層アドレスとIPアドレスの組合せが不変であると、ホームサブネット113上の通信機器のARPテーブル上の書き換えを行う必要が無くなり、より安定した通信の継続が可能となる。
また、通信装置100では、スレーブインタフェースの切替が起こった場合に、フレーム中の送信元・宛先リンク層アドレスの書き換えが不要となり、フレーム処理の負荷を軽減することができる。
通信装置100がどのネットワーク(サブネット)に接続していても、L2VPN接続が可能な限り、アプリケーション101は、ホームサブネット113内にいる場合と同様の環境で継続的にホームサブネット113へアクセスすることが可能になる。
本発明の実施形態にかかる通信装置の構成例を示した図。 スレーブインタフェースのフレーム受信動作を説明するためのフローチャート。 ホームネットインタフェース部にスレーブ化されているインタフェースと各インタフェースのリンク層アドレスの関係を示す図。 通信装置の第1のインタフェースがスイッチの第1のポートに接続されている様子を示す図。 第1のインタフェースが、ホームネットインタフェース部にスレーブ化される際の、リンク層アドレス、及びスイッチの第1のFDBの状態を示す図。 通信装置が備える複数のインタフェースのうち、ホームサブネットに接続しているインタフェースの検知方法の一例を説明するためのフローチャート。 ICMP/ICMPv6 echoリクエストフレームのフォーマットを示す図。 通信装置が備える複数のインタフェースのうち、ホームサブネットに接続しているインタフェースの検知方法の他の例を示すシーケンス図。 通信装置が備える複数のインタフェースのうち、ホームサブネットに接続しているインタフェースの検知方法の他の例を示すシーケンス図。 通信装置が備える複数のインタフェースのうち、ホームサブネットに接続しているインタフェースの他の検知方法を説明するためのフローチャート。 ARPフレームのフォーマットを示す図。 通信装置が備える複数のインタフェースのうち、ホームサブネットに接続しているインタフェースのさらに他の検知方法を説明するためのフローチャート。 RARPフレームのフォーマットを示す図。 通信装置が備える複数のインタフェースのうち、ホームサブネットに接続しているインタフェースのさらに他の検知方法を説明するためのフローチャート。 通信装置が備える複数のインタフェースのうち、ホームサブネットに接続しているインタフェースのさらに他の検知方法を説明するためのフローチャート。 ICMPv6 RSフレームのフォーマットを示す図。 通信装置が備える複数のインタフェースのうち、ホームサブネットに接続しているインタフェースのさらに他の検知方法を説明するためのフローチャート。 通信装置が、ホームサブネットに接続している全てのインタフェースを検知するための処理手順を示すフローチャート。 通信装置が、ホームサブネットに接続している全てのインタフェースを検知するための他の処理手順を示すフローチャート。 通信装置が、ホームサブネットに接続している全てのインタフェースを検知するためのさらに他の処理手順を示すフローチャート。 ホームネットインタフェース部の制御部において、スレーブインタフェースとするイオンタフェースを選択するための処理手順を示すフローチャート。 ホームネットインタフェース部の構成例を示す図。 ホームネットインタフェースの処理動作を説明するためのフローチャート。 通信装置がホームサブネットに接続している状態を示す図。 通信装置がホームサブネット・リモートサブネット間を移動中の状態を示す図。 通信装置がリモートサブネットに接続している状態を示す図。 通信装置が第1のインタフェースをスレーブインタフェースとして用いてホームサブネットに接続しているときの、通信装置におけるフレーム送受信の手順を説明するための図。 第1のインタフェースを介して、リモートサブネットに接続している通信装置が、L2VPNインタフェースをスレーブインタフェースとして用いてホームサブネットに接続しているときの、通信装置におけるフレーム送受信の手順を説明するための図。 通信装置が、第2のインタフェースを通じて無線LANで、ホームサブネットに接続している状態を示す図。 通信装置が、第2のインタフェースを通じて無線LANでホームサブネットに接続し、さらに、第1のインタフェースを通じて有線LANでホームサブネット113に接続している状態を示す図。 通信装置が、第1のインタフェースを通じて、リモートサブネットに接続されている状態を示す図。 通信装置の備える第1のインタフェース、第2のインタフェースがリモートサブネットとホームサブネット113とにそれぞれ接続している状態を示す図。
符号の説明
100…通信装置;101…アプリケーション;102…ホームネットインタフェース部;
103…IPアドレス記憶部;104…第1のリンク層アドレス記憶部;
105…第2のリンク層アドレス記憶部;106…第1のインタフェース;
107…リンク層アドレス記憶部;108…第2のインタフェース;
109…リンク層アドレス記憶部;115…ホームネットインタフェースコントローラ(コントローラ);116…インタフェース状態テーブル;
120…L2VPNインタフェース;121…リンク層アドレス記憶部

Claims (19)

  1. 予め定められたリンク層アドレスを記憶するアドレス記憶手段を備え、特定ネットワークを含む複数のネットワークのうちの1つに接続して、接続したネットワークへ、前記アドレス記憶手段に記憶したリンク層アドレスを送信元アドレスとするフレームを送信するとともに、前記接続したネットワークから、前記アドレス記憶手段に記憶したリンク層アドレスを宛先アドレスとするフレームを受信する複数の通信インタフェースと、
    当該特定ネットワーク上の通信機器と通信を行うための予め定められた特定リンク層アドレスを記憶する第1の記憶手段と、
    前記複数の通信インタフェースのうち、前記特定ネットワーク上の通信機器と前記特定リンク層アドレスを用いて通信を行うために用いるスレーブインタフェースの元のリンク層アドレスを記憶する第2の記憶手段と、
    前記複数の通信インタフェースのうち、前記特定ネットワークに接続している通信インタフェースを検知する検知手段と、
    前記特定ネットワークに接続している通信インタフェースのうちの1つを、前記スレーブインタフェースとして選択する選択手段と、
    前記選択手段で、現在のスレーブインタフェースとは異なる通信インタフェースを新たなスレーブインタフェースとして選択した場合には、現在のスレーブインタフェースの前記アドレス記憶手段に、前記第2の記憶手段に記憶したリンク層アドレスを書き込んだ後に、新たにスレーブインタフェースとして選択された通信インタフェースの前記アドレス記憶手段に記憶されているリンク層アドレスを、前記第2の記憶手段に記憶し、当該アドレス記憶手段に記憶されているリンク層アドレスを、前記特定リンク層アドレスに書き換えることにより、前記複数の通信インタフェースのうち当該選択された通信インタフェースのみを前記特定リンク層アドレスを有する前記スレーブインタフェースに設定する設定手段と、
    を備えたことを特徴とする通信装置。
  2. 前記複数の通信インタフェースのうちの1つは、前記アドレス記憶手段に記憶したリンク層アドレスを送信元アドレスとするフレームを含むパケットを生成し、当該パケットを送信するとともに、前記アドレス記憶手段に記憶したリンク層アドレスを宛先アドレスとするフレームを含むパケットを受信するL2VPN(layer 2 virtual private network)インタフェースであることを特徴とする請求項記載の通信装置。
  3. 前記複数の通信インタフェースの中から、前記特定ネットワークに接続している通信インタフェースを検知しないとき、前記選択手段は、前記L2VPNインタフェースを前記スレーブインタフェースとして選択することを特徴とする請求項記載の通信装置。
  4. 前記スレーブインタフェースに設定された前記L2VPNインタフェースは、前記複数の通信インタフェースのうち前記特定ネットワーク以外のネットワークに接続している前記L2VPNインタフェース以外の通信インタフェースを介して、前記パケットを送受信することを特徴とする請求項記載の通信装置。
  5. 前記設定手段で前記スレーブインタフェースに設定された通信インタフェースは、宛先が前記特定リンク層アドレスであるフレームが当該通信インタフェースへ転送されるために、前記特定リンク層アドレスを送信元リンクアドレスとする無償ARP(address resolution protocol)フレームを送信する請求項1記載の通信装置。
  6. 前記検知手段は、各通信インタフェースから、前記特定ネットワーク上の予め定められたホスト通信機器を宛先とするICMP(internet control message protocol)/ICMPv6 echoリクエストフレームを送信し、予め定められた所定時間内に、前記ホスト通信機器のリンク層アドレスを送信元アドレスとする応答フレームを受信した通信インタフェースを検知することを特徴とする請求項記載の通信装置。
  7. 前記検知手段は、各通信インタフェースから、ターゲットIPアドレスを前記特定ネットワーク上の予め定められたホスト通信機器のIPアドレスとするARP(address resolution protocol)リクエストフレームを送信し、予め定められた所定時間内に、前記ホスト通信機器のリンク層アドレスを送信元アドレスとする応答フレームを受信した通信インタフェースを検知することを特徴とする請求項記載の通信装置。
  8. 前記検知手段は、各通信インタフェースから、ターゲットリンク層アドレスを前記特定ネットワーク上の予め定められたホスト通信機器のリンク層アドレスとするRARP(reverse address resolution protocol)リクエストフレームを送信し、予め定められた所定時間内に、前記ホスト通信機器のリンク層アドレスを送信元アドレスとする応答フレームを受信した通信インタフェースを検知することを特徴とする請求項記載の通信装置。
  9. 前記検知手段は、各通信インタフェースから、DHCP(dynamic host configuration protocol) discoverフレームを送信し、予め定められた所定時間内に、前記特定ネットワークに対応するネットワークアドレスを有するIPv4アドレスを含むDHCP offerフレームを受信した通信インタフェースを検知することを特徴とする請求項記載の通信装置。
  10. 前記検知手段は、各通信インタフェースから、DHCPv6(dynamic host configuration protocol for IPv6) リクエストフレームを送信し、予め定められた所定時間内に、前記特定ネットワークに対応するネットワークアドレスを有するIPv6アドレスを含むDHCPv6 リプライフレームを受信した通信インタフェースを検知することを特徴とする請求項記載の通信装置。
  11. 前記検知手段は、各通信インタフェースから、ICMP(internet control message protocol)v6 RS(Router Solicitation)フレームを送信し、予め定められた所定時間内に、前記特定ネットワークに対応するIPv6アドレスのプレフィックスを含むICMPv6 RA(Router Advertisement)フレームを受信した通信インタフェースを検知することを特徴とする請求項記載の通信装置。
  12. 前記検知手段は、前記特定ネットワークに対応するIPv6アドレスのプレフィックスを含むICMP(internet control message protocol)v6 RA(Router Advertisement)フレームを受信した通信インタフェースを検知することを特徴とする請求項記載の通信装置。
  13. 前記検知手段は、
    前記特定ネットワークに接続している通信インタフェースを検知するまで、前記複数の通信インタフェースを順番に、前記特定ネットワークに接続しているか否かチェックし、
    前記特定ネットワークに接続している通信インタフェースを検知したとき、当該最初に検知された通信インタフェースから前記特定ネットワーク内へのマルチキャストフレームを送信し、当該最初に検知された通信インタフェースより順番が後の通信インタフェースのなかから、前記マルチキャストフレームを受信した通信インタフェースを検知する請求項乃至11のいずれか1つに記載の通信装置。
  14. 予め定められたリンク層アドレスを記憶するアドレス記憶手段を備え、特定ネットワークを含む複数のネットワークのうちの1つに接続して、接続したネットワークへ、前記アドレス記憶手段に記憶したリンク層アドレスを送信元アドレスとするフレームを送信するとともに、前記接続したネットワークから、前記アドレス記憶手段に記憶したリンク層アドレスを宛先アドレスとするフレームを受信する複数の通信インタフェースと、
    前記特定ネットワーク上の通信機器と通信を行うための予め定められた特定リンク層アドレスを記憶する第1の記憶手段と、
    前記複数の通信インタフェースのうち、前記特定ネットワーク上の通信機器と前記特定リンク層アドレスを用いて通信を行うために用いるスレーブインタフェースの元のリンク層アドレスを記憶する第2の記憶手段と、
    備えた通信装置における前記特定ネットワークへのアクセス方法であって、
    前記複数の通信インタフェースのうち、前記特定ネットワークに接続している通信インタフェースを検知する検知ステップと、
    前記特定ネットワークに接続している通信インタフェースのうちの1つを、前記スレーブインタフェースとして選択する選択ステップと、
    前記選択ステップで、現在のスレーブインタフェースとは異なる通信インタフェースを新たなスレーブインタフェースとして選択した場合には、現在のスレーブインタフェースの前記アドレス記憶手段に、前記第2の記憶手段に記憶したリンク層アドレスを書き込んだ後に、新たにスレーブインタフェースとして選択された通信インタフェースの前記アドレス記憶手段に記憶されているリンク層アドレスを、前記第2の記憶手段に記憶し、当該アドレス記憶手段に記憶されているリンク層アドレスを、前記特定リンク層アドレスに書き換えることにより、前記複数の通信インタフェースのうち当該選択された通信インタフェースのみを前記特定リンク層アドレスを有する前記スレーブインタフェースに設定する設定ステップと、
    を有するアクセス方法。
  15. 前記スレーブインタフェースが、当該スレーブインタフェースの前記アドレス記憶手段に記憶したリンク層アドレスを送信元アドレスとするフレームを、前記特定ネットワークへ送信する送信ステップと、
    前記スレーブインタフェースが、前記アドレス記憶手段に記憶したリンク層アドレスを宛先アドレスとするフレームを受信する受信ステップと、
    をさらに有する請求項14記載のアクセス方法。
  16. 前記複数の通信インタフェースのうちの1つは、前記アドレス記憶手段に記憶したリンク層アドレスを送信元アドレスとするフレームを含むパケットを生成し、当該パケットを送信するとともに、前記アドレス記憶手段に記憶したリンク層アドレスを宛先アドレスとするフレームを含むパケットを受信するL2VPN(layer 2 virtual private network)インタフェースであることを特徴とする請求項14記載のアクセス方法。
  17. 前記複数の通信インタフェースの中から、前記特定ネットワークに接続している通信インタフェースを検知しないとき、前記選択ステップは、前記L2VPNインタフェースを前記スレーブインタフェースとして選択することを特徴とする請求項16記載のアクセス方法。
  18. 前記スレーブインタフェースに設定された前記L2VPNインタフェースは、前記複数の通信インタフェースのうち前記特定ネットワーク以外のネットワークに接続している前記L2VPNインタフェース以外の通信インタフェースを介して、前記パケットを送受信することを特徴とする請求項17記載のアクセス方法。
  19. 前記設定ステップで前記スレーブインタフェースに設定された通信インタフェースは、宛先が前記特定リンク層アドレスであるフレームが当該通信インタフェースへ転送されるために、前記特定リンク層アドレスを送信元リンクアドレスとする無償ARP(address resolution protocol)フレームを送信するステップをさらに含む請求項14記載のアクセス方法。
JP2005277853A 2005-09-26 2005-09-26 通信装置及びアクセス方法 Expired - Fee Related JP4282648B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005277853A JP4282648B2 (ja) 2005-09-26 2005-09-26 通信装置及びアクセス方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005277853A JP4282648B2 (ja) 2005-09-26 2005-09-26 通信装置及びアクセス方法

Publications (2)

Publication Number Publication Date
JP2007089019A JP2007089019A (ja) 2007-04-05
JP4282648B2 true JP4282648B2 (ja) 2009-06-24

Family

ID=37975530

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005277853A Expired - Fee Related JP4282648B2 (ja) 2005-09-26 2005-09-26 通信装置及びアクセス方法

Country Status (1)

Country Link
JP (1) JP4282648B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8386603B2 (en) 2008-09-11 2013-02-26 Panasonic Corporation Information processing terminal device and network connection method
JP5329244B2 (ja) 2009-01-16 2013-10-30 株式会社東芝 無線端末および無線通信方法
JP5315101B2 (ja) * 2009-03-18 2013-10-16 キヤノン株式会社 ネットワークインターフェイス制御装置及び制御方法
JP6176074B2 (ja) 2013-11-14 2017-08-09 富士通株式会社 Macアドレスの修復方法、macアドレスの修復プログラム
CN117596651A (zh) * 2024-01-18 2024-02-23 煤炭科学技术研究院有限公司 工业设备的接入方法、装置、设备及存储介质

Also Published As

Publication number Publication date
JP2007089019A (ja) 2007-04-05

Similar Documents

Publication Publication Date Title
US7486670B2 (en) Method for packet communication and computer program stored on computer readable medium
JP3876741B2 (ja) プロトコル変換方法及び装置
JP4118909B2 (ja) デュアルスタック変換メカニズムを用いたIPv4−IPv6変換システム及びその方法
US8724583B2 (en) Neighbor discovery message handling to support roaming of wireless mobile client devices
WO2006106712A1 (ja) 通信制御方法及び通信ノード並びにモバイルノード
CA2453924A1 (en) Ip network node and middleware for establishing connectivity to both the ipv4 and ipv6 networks
US9294548B2 (en) Mobility handling in a communication network
JP4282648B2 (ja) 通信装置及びアクセス方法
JP2007142699A (ja) 情報通信プログラム、情報通信装置、情報通信方法
JP5585584B2 (ja) 移動通信システム、移動通信方法及びプログラム
JP2004135108A (ja) 通信制御方法、通信端末、ルータ、通信端末の制御プログラム、およびルータの制御プログラム
JP4791402B2 (ja) 移動通信システム及び移動通信プログラム
WO2008069447A1 (en) Automatic tunnel configuration method using router advertisement message
JP3669366B2 (ja) 移動端末及びネットワークインタフェース切替方法
JP4228817B2 (ja) ネットワークシステム
CN107547376B (zh) 路由探测方法和装置
JP3861885B2 (ja) 移動端末及びパケット送信方法
JP4218063B2 (ja) IPv6通信システム、IPv6端末、中継装置及びその通信方法
JP2006025341A (ja) Vlanの近隣探索代理方式および方法、並びにルータ装置
JP4727613B2 (ja) 移動通信システム及び移動通信プログラム
JP4791401B2 (ja) 移動通信システム及び移動通信プログラム
JP4432599B2 (ja) モバイルipのha及び/又は通信相手端末への登録方法及び通信端末
JP3861903B2 (ja) 移動端末及びパケット送信方法
JP2004214850A (ja) ゲートウェイ
JP4481915B2 (ja) 通信システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061221

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081118

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090119

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090317

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

Free format text: PAYMENT UNTIL: 20120327

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees