<実施形態1>
以下、本発明の実施形態について、図面を参照して説明する。
図1は、本発明の一実施形態に係るネットワークシステムの構成図である。
100は、インターネットである。本実施形態におけるインターネット100は、インターネットに限るものではなく、WAN(Wide Area Network)、LAN(Local Area Network)、アドホックネットワークなどでもよく、それらの複合でもよい。
101aは、LAN(Local Area Network)である。LAN101aは、LANに限るものではなく、WANやアドホックネットワークなどでもよく、それらの複合でもよい。また、LAN101b(他のネットワーク)は、LAN101a(第1のネットワーク)と同一の機能を有するネットワークである。
102aは、LAN101a(第1のネットワーク)に接続され、通信アプリケーションを利用してネットワークを介した通信を行うネットワーク接続機器である。また、102bは、LAN101b(他のネットワーク)に接続され、通信アプリケーションを利用してネットワークを介した通信を行うネットワーク接続機器である。本実施形態では、ネットワーク接続機器102aとネットワーク接続機器102bは、同一の機能を有する通信装置である。
103aは、LAN101a(第1のネットワーク)に接続され、ネットワーク接続機器102aの要求に応じてVPN接続を構築する論理ネットワーク制御装置である。即ち、論理ネットワーク制御装置103aは、LAN101a(第1のネットワーク)と他のネットワークとの間で通信パケットを伝送可能とするために、LAN101aと他のネットワークを論理的に接続する。また、103bは、LAN101b(他のネットワーク)に接続され、ネットワーク接続機器102bの要求に応じてVPN接続を実現する論理ネットワーク制御装置である。本実施形態では、論理ネットワーク制御装置103aと論理ネットワーク制御装置103bは、同一の機能を有する中継装置である。
104aは、インターネット100とLAN101aのそれぞれに接続され、パケットの経路制御などを行うルーター装置である。また、104bは、インターネット100とLAN101bのそれぞれに接続され、パケットの経路制御などを行うルーター装置である。本実施形態では、ルーター装置104aとルーター装置104bは同一の機能を有するネットワーク装置である。
図2は、ネットワーク接続機器102aのハードウェア構成図である。
ネットワーク接続機器102aは、PC(パーソナルコンピュータ)などのコンピュータシステム以外に、ワークステーション、ノートブックPC、パームトップPC、コンピュータを内蔵したテレビ等の各種家電製品、通信機能を有するゲーム機、携帯電話、等を含む論理ネットワーク制御装置103と通信するための通信機能を有する端末、または、これらの組合せによっても実施可能である。
201は、コンピュータシステムの制御をつかさどる中央演算装置(以下CPUと記す)である。
202は、ランダムアクセスメモリ(以下RAMと記す)であり、CPU201の主メモリとして、及び実行プログラムの領域や該プログラムの実行エリアならびにデータエリアとして機能する。
203は、CPU201の動作処理手順を記録しているリードオンリーメモリー(以下ROMと記す)である。ROM203には、コンピュータシステムの機器制御を行うシステムプログラムである基本ソフト(OS)を記録したプログラムROMと、システムを稼動するために必要な情報などが記録されたデータROMがある。ROM203の代わりに後述のHDD209を用いる場合もある。
204は、ネットワークインターフェース(以下NETIFと記す)であり、ネットワークを介してコンピュータシステム間のデータ転送を行うための制御や接続状況の診断を行う。
205は、ビデオRAM(以下VRAMと記す)であり、コンピュータシステムの稼動状態を示す後述するCRT206の画面に表示される画像を展開し、その表示の制御を行う。
206は、表示装置であって、例えば、ディスプレイである。以下CRTと記す。
207は、後述する外部入力装置208からの入力信号を制御するコントローラである。
208は、コンピュータシステムの利用者がコンピュータシステムに対して行う操作を受け付けるための外部入力装置であり、例えば、キーボードなどである。
209は、記憶装置を示し、例えば、ハードディスクなどである。アプリケーションプログラムや、画像情報などのデータ保存用に用いられる。本実施形態におけるアプリケーションプログラムとは、本実施形態を構成するイベントの登録処理を実行するソフトウェアプログラムなどである。
210は、外部入出力装置であって、例えばフロッピー(登録商標)ディスクドライブ、CD−ROMドライブなどのリムーバブル(登録商標)を入出力するものであり、上述したアプリケーションプログラムの媒体からの読み出しなどに用いられる。以下、FDDと記す。
なお、HDD209に格納するアプリケーションプログラムやデータをFDD210に格納して使用することも可能である。
200は、上述した各ユニット間の接続するための入出力バス(アドレスバス、データバス、及び制御バス)である。
図3は、論理ネットワーク制御装置103aのハードウェア構成図である。
論理ネットワーク制御装置103aは、PC(パーソナルコンピュータ)などのコンピュータシステム以外に、ワークステーション、ノートブックPC、パームトップPC、コンピュータを内蔵したテレビ等の各種家電製品、通信機能を有するゲーム機、携帯電話、等を含む他の論理ネットワーク制御装置103と通信するための通信機能を有する端末、または、これらの組合せによっても実施可能である。
301は、コンピュータシステムの制御をつかさどる中央演算装置(以下CPUと記す)である。
302は、ランダムアクセスメモリ(以下RAMと記す)であり、CPU301の主メモリとして、及び実行プログラムの領域や該プログラムの実行エリアならびにデータエリアとして機能する。
303は、CPU301の動作処理手順を記録しているリードオンリーメモリー(以下ROMと記す)である。ROM303には、コンピュータシステムの機器制御を行うシステムプログラムである基本ソフト(OS)を記録したプログラムROMとシステムを稼動するために必要な情報などが記録されたデータROMがある。ROM303の代わりに後述のHDD309を用いる場合もある。
304は、ネットワークインターフェース(以下NETIFと記す)であり、ネットワークを介してコンピュータシステム間のデータ転送を行うための制御や接続状況の診断を行う。即ち、論理ネットワーク制御装置103aは、LAN101a(第1のネットワーク)上のネットワーク接続機器102aとの、MTUを通知するイベントの登録、及びMTUの通知を含む、各種メッセージのやり取りを、NETIF304から行う。また、他の論理ネットワーク制御装置103との、各種メッセージのやり取りを、NETIF304から行う。また、論理ネットワーク制御装置103aは、LAN101a(第1のネットワーク)上のネットワーク接続機器102aから受信した通信データの、論理的な接続(VPN)を介した他のネットワーク上の通信装置への中継を、NETIF304から行う。また、他のネットワークの論理的な接続状況の変化に応じた、論理的な接続において分割されずに伝送可能な通信パケットのデータ長の検出に関する処理を、NETIF304から行う。
305は、ビデオRAM(以下VRAMと記す)であり、コンピュータシステムの稼動状態を示す後述するCRT306の画面に表示される画像を展開し、その表示の制御を行う。
306は、表示装置であって、例えば、ディスプレイである。以下CRTと記す。
307は、後述する外部入力装置308からの入力信号を制御するコントローラである。
308は、コンピュータシステムの利用者がコンピュータシステムに対して行う操作を受け付けるための外部入力装置であり、例えば、キーボードなどである。
309は、記憶装置を示し、例えば、ハードディスクなどである。アプリケーションプログラムや、画像情報などのデータ保存用に用いられる。本実施形態におけるアプリケーションプログラムとは、本実施形態を構成する、ネットワーク間の論理的な接続(VPN)において分割されずに伝送可能な通信パケットのデータ長に応じた情報の取得を実現するソフトウェアプログラムなどである。
310は、外部入出力装置であって、例えばフロッピー(登録商標)ディスクドライブ、CD−ROMドライブなどのリムーバブル(登録商標)を入出力するものであり、上述したアプリケーションプログラムの媒体からの読み出しなどに用いられる。以下、FDDと記す。
なお、HDD309に格納するアプリケーションプログラムやデータをFDD310に格納して使用することも可能である。
300は、上述した各ユニット間の接続するための入出力バス(アドレスバス、データバス、及び制御バス)である。
図4は、本実施形態のネットワーク接続機器102aのモジュール構成図である。
ネットワーク接続機器102aは、以下に説明する各モジュールの機能を実行させるプログラムをHDD209に格納し、それらをCPU201によって適宜読み出し、実行することで各機能を実現する。
400は、ネットワーク接続機器102aの制御を行うと共に、LAN101a(第1のネットワーク)をVPNに接続する論理ネットワーク制御装置103aとの間で種々のメッセージのやり取りを行う機器制御部である。また、機器制御部400は、VPNに接続している他のネットワーク上のネットワーク接続機器102との通信を行う。
401は、論理ネットワーク制御装置103aに対して、MTUを通知するイベントの登録依頼を行うイベント制御部である。また、イベント制御部401は、論理ネットワーク制御装置103aから送信される、MTUを通知するイベントの受信を行う。
402は、論理ネットワーク制御装置103aに対して、VPNの接続、および、切断を依頼する論理ネットワーク構築制御部である。
403は、ネットワーク接続機器102aのTCP/IP処理に対して、MTUを適用するMTU適用部である。
図5は、本実施形態の論理ネットワーク制御装置103aのモジュール構成図である。
論理ネットワーク制御装置103aは、以下に説明する各モジュールの機能を実行させるプログラムをHDD309に格納し、それらをCPU301によって適宜読み出し、実行することで各機能を実現する。
500は、LAN101a(第1のネットワーク)に接続されたネットワーク接続機器102aとの間で種々のメッセージのやり取りを行う論理ネットワーク制御部である。また、論理ネットワーク制御部500は、ネットワーク接続機器102aからの依頼に応じて、他のネットワークとのVPN接続の構築、および、切断を実現する。即ち、論理ネットワーク制御部500は、LAN101a(第1のネットワーク)上のネットワーク接続機器102aから受信した通信データを、論理的な接続(VPN)を介して他のネットワーク上の通信装置へ中継する。
また、論理ネットワーク制御部500は、後述するデフォルトのMTUを記憶している。さらに、論理ネットワーク制御部500は、後述するMTU測定部502によって検出された他のネットワークとの間の装置間MTUから最適MTUを取得し、それらをMTUリストに記憶している。ここで、装置間MTUとは、論理ネットワーク制御装置103間で分割されずに伝送可能な通信パケットの最大データ長を示している。また、最適MTUは、ネットワーク接続機器102aからの通信データに対して論理ネットワーク制御装置103aが付加する、VPNに関する情報のデータ長を、装置間MTUから差し引いたデータ長を示している。VPNに関する情報とは、例えば、VPNヘッダとして付加される情報である。即ち、例えば、ネットワーク接続機器102aが装置間MTUを適用して通信パケットを送信すると、論理ネットワーク制御装置103aによって、さらにVPNヘッダが付加されることによって、通信パケットのデータ長が装置間MTUを超えてしまう恐れがある。従って、論理ネットワーク制御装置103aは、装置間MTUからVPNに関する情報のデータ長を差し引いた最適MTUを算出し、ネットワーク接続機器102aに通知する。即ち、論理ネットワーク制御部500は、論理的な接続(VPN)において分割されずに伝送可能な通信パケットのデータ長(装置間MTU)に応じた情報(最適MTU)を取得する。
また、MTUリストとは、論理ネットワークの接続先、及び、装置間MTU、最適MTUの値を含むリストである。MTUリストの詳細については、後述する。
501は、ネットワーク接続機器102aからの依頼に基づき、MTUを通知するイベントの登録処理を行うイベント制御部である。また、イベント制御部501は、MTUを通知するイベントを登録した機器に対してMTUを通知するイベントの送信を行う。
502は、論理ネットワーク制御装置103間で分割されずに伝送可能な通信パケットの最大データ長(装置間MTU)を検出するMTU測定部である。即ち、MTU測定部502は、論理的な接続(VPN)において分割されずに伝送可能な通信パケットのデータ長を検出する。
次に、ネットワーク接続機器102aが、論理ネットワーク制御装置103aに対して行う、MTUを通知するイベントの登録処理の流れを、図19を用いて説明する。
尚、ネットワーク接続機器102aは、LAN101a(第1のネットワーク)上の通信装置である。また、論理ネットワーク制御装置103aは、LAN101a(第1のネットワーク)に接続され、かつ、LAN101aと他のネットワークとの間で通信パケットを伝送可能とするために、LAN101aと他のネットワークとを論理的に接続する中継装置である。
まず、ネットワーク接続機器102aのイベント制御部401は、論理ネットワーク制御装置103aに対して、MTUを通知するイベントの登録を要求する(F101)。
イベント登録の要求を送信したネットワーク接続機器102aのイベント制御部401は、論理ネットワーク制御装置103aから送信される、MTUを通知するイベントの待ち受けを開始する(F102)。ネットワーク接続機器102aがF101、F102で行うイベントの登録要求に関する処理の詳細は、図6を用いて後に説明する。
論理ネットワーク制御装置103aのイベント制御部501は、ネットワーク接続機器102aからのイベント登録の要求を受け、イベントの登録受け付け処理を行う(F103)。
さらに、イベント制御部501は、ネットワーク接続機器102aに対して通知するMTUを判断し、読み出す(F104)。F103、F104の処理の詳細は、図7を用いて後に説明する。
そして、論理ネットワーク制御装置103aのイベント制御部501は、F104で読み出されたMTUを、イベントを登録したネットワーク接続機器102aに対して送信する(F105)。
そして、イベント制御部401で論理ネットワーク制御装置103aからMTUの通知を受けたネットワーク接続機器102aは、MTUを通知するイベントの受信処理を行う(F106)。F106では、MTU適用部403で、通知されたMTUに基づいてMTUの変更を行う。MTUを通知するイベントの受信処理の詳細は、図8を用いて後に説明する。
次に、上述したMTUを通知するイベントの登録処理のうち、ネットワーク接続機器102aが行う、イベントの登録要求に関する処理の詳細を、図6を用いて説明する。図6は、LAN101a(第1のネットワーク)上のネットワーク接続機器102a(通信装置)が、論理ネットワーク制御装置103a(中継装置)に対して行う、MTUを通知するイベントの登録処理の流れを示すフローチャートである。
S601において、ネットワーク接続機器102aのイベント制御部401は、論理ネットワーク制御装置103aに対し、MTUを通知するイベントの登録要求を送信し、S602に進む。本実施形態において、MTUを通知するイベントは、UPnP(Universal Plug and Play)を利用する。UPnPにおいて、イベントの登録処理は、サブスクライブに相当する。
S602において、イベント制御部401は、MTUを通知するイベントの待ち受け開始処理を行い、ネットワーク接続機器102aによるイベントの登録要求に関する処理を終了する。
次に、MTUを通知するイベントの登録処理のうち、論理ネットワーク制御装置103aによるイベントの登録受け付け処理、及び、通知するMTUの判断の詳細を、図7を用いて説明する。図7は、論理ネットワーク制御装置103a(中継装置)による、MTUを通知するイベントの登録受付処理、及び、通知するMTUの判断の流れを示すフローチャートである。
S701において、論理ネットワーク制御装置103aのイベント制御部501は、ネットワーク接続機器102aから受信したMTUを通知するイベントの登録要求に対する受け付け処理を行い、S702に進む。即ち、イベント制御部501は、S702で、MTUを通知するイベントの登録要求の送信元であるネットワーク接続機器102aのアドレスを記憶する。
S702において、論理ネットワーク制御部500は、ネットワーク接続機器102aに対して通知するMTUが、デフォルトのMTUと異なるか判断する。デフォルトのMTUと異なると判断するケースとして、論理ネットワーク制御装置103aが、すでに他のネットワークとVPN接続を開始しており、そのネットワークとの間で取得されたMTUが、デフォルトのMTUと異なっていた場合などがある。
尚、本実施形態において、デフォルトの装置間MTUは1500バイト、デフォルトの最適MTUは1450バイトであるとする。上述のように、装置間MTUとは、論理ネットワーク制御装置103間で分割されずに伝送可能な通信パケットの最大データ長を示している。また、最適MTUは、ネットワーク接続機器102aからの通信データに対して論理ネットワーク制御装置103aが付加する、VPNに関する情報のデータ長を、装置間MTUから差し引いたデータ長を示している。
尚、本実施形態では、デフォルトの装置間MTUの値を、1500バイトとしたが、これに限らず、適宜設定可能である。また、装置間MTUは、論理ネットワーク制御装置103間で伝送可能な通信パケットの最大データ長以下のデータ長であれば良い。
S702において、MTUが異なると判断された場合、S703に進む。MTUが異ならないと判断された場合、S704に進む。
S703において、イベント制御部501は、論理ネットワーク制御部500に記憶されているMTUリストに記憶されている最も小さな最適MTUを読み出し、S705に進む。S704において、イベント制御部501は、デフォルトの最適MTUを論理ネットワーク制御部500から読み出し、S705に進む。
S705において、イベント制御部501は、S703又はS704で読み出した最適MTUを、S701でMTUを通知するイベントを登録したネットワーク接続機器102aに対して通知し、論理ネットワーク制御装置103aの処理を終了する。尚、S705では、最適MTUをネットワーク接続機器102aに対して通知しているが、これに限らず、例えば、装置間MTUとVPNに関する情報のデータ長を通知しても良い。
次に、MTUを通知するイベントの登録処理のうち、論理ネットワーク制御装置103aからMTUを通知するイベントを受信したネットワーク接続機器102aによる、イベントの受信処理の詳細について、図8を用いて説明する。図8は、ネットワーク接続機器102a(通信装置)による、MTUを通知するイベントの受信に基づくMTUの変更処理の流れを示すフローチャートである。
S801において、ネットワーク接続機器102aのイベント制御部401は、S705において論理ネットワーク制御装置103aから送信される、MTUを通知するイベントを受信し、S802に進む。
S802において、MTU適用部403は、S801で受信したイベントに含まれていたMTUと、MTU適用部403で適用されているMTUの比較を行う。イベントに含まれていたMTUが、MTU適用部403で適用されているMTUと異なる場合、S803に進む。イベントに含まれていたMTUが、MTU適用部403で適用されているMTUと同じ場合、S804に進む。
S803において、MTU適用部403は、MTUを通知するイベントに含まれていたMTUに応じて、適用するMTUを変更し、MTUを通知するイベントの受信処理を終了する。
S804において、MTU適用部403は、適用するMTUの変更を行わずに、MTUを通知するイベントの受信処理を終了する。
次に、VPNの接続処理の流れについて、論理ネットワーク制御装置103aと論理ネットワーク制御装置103bとの間でVPN接続を開始する場合を例にして、図20を用いて説明する。
尚、ネットワーク接続機器102aは、LAN101a(第1のネットワーク)上の通信装置である。また、論理ネットワーク制御装置103aは、LAN101a(第1のネットワーク)に接続され、かつ、LAN101aと他のネットワークとの間で通信パケットを伝送可能とするために、LAN101aと他のネットワークとを論理的に接続する中継装置である。論理ネットワーク制御装置103aは、ネットワーク接続機器102a(通信装置)から受信した通信データを、論理的な接続(VPN)を介して他のネットワーク上の通信装置に中継する(中継手順)。
また、論理ネットワーク制御装置103bは、論理ネットワーク(VPN)に、LAN101b(他のネットワーク)を接続する中継装置である。
また、ネットワーク接続機器102aは、論理ネットワーク制御装置103aとの間で行う、図6、図7、図8を用いて説明した、MTUの通知に関するイベントの登録処理を完了している。同様に、ネットワーク接続機器102bは、論理ネットワーク制御装置103bとの間で行う、図6、図7、図8を用いて説明した、MTUの通知に関するイベントの登録処理を完了している。
そして、ネットワーク接続機器102a、bは、それぞれ、図8のS801において、論理ネットワーク制御装置103a、bのイベント制御部501から、デフォルトの最適MTUの通知を受けている。上述したように、本実施形態でのデフォルトの最適MTUは1450バイトである。
図20において、まず、ネットワーク接続機器102aの論理ネットワーク構築制御部402は、論理ネットワーク制御装置103aの論理ネットワーク制御部500に対し、論理ネットワーク制御装置103bへのVPN接続要求を送信する(F201)。
F201で送信されたVPN接続要求を受信した論理ネットワーク制御装置103aの論理ネットワーク制御部500は、論理ネットワーク制御装置103bとの間で、VPN接続を開始する(F202)。
そして、論理ネットワーク制御装置103aのMTU測定部502は、論理ネットワーク制御装置103bとの間の装置間MTUを検出し、論理ネットワーク制御部500に渡す。即ち、MTU測定部502は、論理的な接続(VPN)において、分割されずに伝送可能な通信パケットのデータ長を検出する(F203)。MTUを検出する方法として、例えば、分割禁止命令をつけたICMPパケットを送信する方法などがある。さらにF203において、論理ネットワーク制御部500は、渡された装置間MTUから、VPNに関する情報のデータ長を差し引いた最適MTUを取得する。
そして、論理ネットワーク制御装置103aの論理ネットワーク制御部500は、MTUリストに、VPNの接続先、F203で取得した装置間MTUと最適MTUの値を含むエントリを追加する(F205)。尚、VPNの接続先は、論理ネットワーク制御装置103bに到達可能なアドレスである。
図11は、F205において論理ネットワーク制御装置103aの論理ネットワーク制御部500が保持するMTUリストである。MTUリストに記載されている202.228.1.1のIPアドレスは、論理ネットワーク制御装置103bに到達可能なアドレスである。本実施例では、上記IPアドレスはルーター装置104bのアドレスであり、ルーター装置104bにはDMZ(DeMilitalized Zone)や、ポートフォワーディングなどの設定がされている。従って、ルーター装置104bは、論理ネットワーク制御装置103bにパケットを転送することができる。図11のVPN接続先に示したアドレスは、インターネットを介して論理ネットワーク制御装置103bと通信を行う場合に利用される。
尚、論理ネットワーク制御装置103間で検出されるMTUは、装置間MTUに示された1300バイトである。また、最適MTUは、論理ネットワーク制御装置103a、bによってネットワーク接続機器102からの通信データに付加される、VPNに関する情報のデータ長(50バイト)を、装置間MTU(1300バイト)から差し引いたデータ長である。
このように、MTUリストに装置間MTUと最適MTUを記憶させておくことで、論理ネットワーク(VPN)の接続に関するパラメータの変化などにより、装置間MTUから差し引くデータ長が変化するような場合にも、適した最適MTUを通知できる。ただし、S906において、MTUリストに記憶するMTUに関する情報は、上記の例に限らず、例えば、装置間MTUと最適MTUのどちらか一方と、VPNに関する情報のデータ長などであっても構わない。
また、論理ネットワーク制御装置103bも同様に、論理ネットワーク制御装置103aとの間で検出した装置間MTUから、VPNに関する情報のデータ長を差し引いた最適MTUを取得する(F204)。装置間MTUは、論理ネットワーク制御装置103aが検出した装置間MTUを、論理ネットワーク制御装置103aから取得する。また、装置間MTUは、論理ネットワーク制御装置103bが、分割禁止命令をつけたICMPパケットを送信することにより検出してもよい。
さらに、論理ネットワーク制御装置103aの論理ネットワーク制御部500は、F202で行ったVPN接続の接続先以外に、すでにVPNの接続をしているネットワークがあるか判断する(F207)。即ち、論理ネットワーク制御部500は、MTUリスト等を参照し、論理ネットワーク制御装置103aが、論理ネットワーク制御部103b以外にVPN接続をしているネットワークがあるか判断する。
そして、すでにVPNの接続をしているネットワークがあると判断した場合、そのVPNの接続先のエントリを含む接続開始情報を、F202で開始したVPNの接続の接続先である論理ネットワーク制御装置103bに送信する(F209)。また、F209において、論理ネットワーク制御部500は、すでにVPN接続をしている論理ネットワーク制御装置103に対して、論理ネットワーク制御装置103bのエントリを含む接続開始情報を送信する。接続開始情報を受信した論理ネットワーク制御装置103は、そこに含まれるエントリを自身のMTUリストに追加する。このように追加されたエントリはネットワーク接続機器102に対するMTUの通知に利用することができる。このエントリは、論理ネットワーク制御装置103aが、F201のVPN接続要求を受信する前から接続していたVPNの接続先、および、そのVPNにおける装置間MTU、最適MTUを含む。ただし、この例では、論理ネットワーク制御装置103aは、論理ネットワーク制御装置103b以外とのVPN接続を行っていないので、F209の通知は行わない。
また、論理ネットワーク制御装置103bの論理ネットワーク制御部500も、論理ネットワーク制御装置103aと同様に、F202で行ったVPN接続の接続先以外に、すでにVPNの接続をしているネットワークがあるか判断する(F208)。そして、すでにVPNの接続をしているネットワークがあると判断した場合、そのVPNの接続先のエントリを含む接続開始情報を、F202で開始したVPNの接続の接続先である論理ネットワーク制御装置103aに送信する(F210)。論理ネットワーク制御装置103aは、接続開始情報を受信すると、そこに含まれるエントリ(VPNの接続先、装置間MTU、最適MTU)を自身のMTUリストに追加する。このように追加されたエントリは、ネットワーク接続機器102aに対するMTUの通知に利用することができる。即ち、後述するF211における最適MTUの最小値の判断で、F210で追加したエントリに含まれている最適MTUを考慮することができる。このようにすることで、1つの論理ネットワーク制御装置103に対して複数の論理ネットワーク制御装置103がVPN接続を行うときに、変化したMTUに基づいたパケットサイズで通信が行えるようになる。また、F210において、論理ネットワーク制御装置103bの論理ネットワーク制御部500は、すでにVPN接続をしている論理ネットワーク制御装置103に対して、論理ネットワーク制御装置103aのエントリを含む接続開始情報を送信する。ただし、この例では、論理ネットワーク制御装置103bは、論理ネットワーク制御装置103a以外とのVPN接続を行っていないので、F210の通知は行わない。
続いて、論理ネットワーク制御装置103aの論理ネットワーク制御部500は、MTUリストに記憶されている最適MTUの最小値が変更されたか判断する(F211)。即ち、論理ネットワーク制御部500は、これまでにイベントとして通知したMTU(所定の情報)と、F203で取得した最適MTUを比較する。そして、F211の比較結果により、最適MTUの最小値が変更されたと判断した場合、変更された最適MTUの最小値を読み出す。この例では、MTUリストには、他の最適MTUが記憶されていないので、F203で取得された最適MTU(1250バイト)に、最小値が変更されたと判断する。そこで、論理ネットワーク制御部500は、F211で、新たに最適MTUの最小値となった論理ネットワーク制御装置103bとの間の最適MTUをMTUリストから取得する。即ち、論理ネットワーク制御部500は、他のネットワーク(LAN101b)の論理的な接続状況の変化に応じて、MTU測定部502によって検出されたデータ長に応じた情報(最適MTU)を取得する。
そして、論理ネットワーク制御部500は、イベント制御部501に、変更されたMTUを通知するイベントの送信を依頼する。イベント制御部501は、MTUを通知するイベントを登録したネットワーク接続機器102aに、F211で読み出されたMTUを通知するイベントを送信する(F213)。即ち、イベント制御部501は、F211で取得した、論理的な接続(VPN)において分割されずに伝送可能な通信パケットのデータ長に応じた情報(最適MTU)を、LAN101a(第1のネットワーク)上のネットワーク接続機器102aに通知する。尚、本実施形態では、F211において、最適MTUの最小値が変更されないと判断した場合、F213におけるイベントの送信は行わない。
ネットワーク接続機器102aは、イベント制御部401で、MTUを通知するイベントを受信し、さらにMTU適用部403で、適用するMTUを変更する。
また、論理ネットワーク制御装置103bの論理ネットワーク制御部500も、論理ネットワーク制御装置103aと同様に、MTUリストに記憶されている最適MTUの最小値が変更されたか判断する(F212)。即ち、論理ネットワーク制御部500は、これまでにイベントとして通知したMTU(所定の情報)と、F204で取得した最適MTUを比較する。そして、F212の比較結果により、最適MTUの最小値が変更されたと判断した場合、変更された最適MTUの最小値を読み出す。この例では、MTUリストには、他の最適MTUが記憶されていないので、F204で取得された最適MTU(1250バイト)に、最小値が変更されたと判断する。そして、イベント制御部501は、MTUを通知するイベントを登録したネットワーク接続機器102bに、F212で読み出されたMTUを通知するイベントを送信する(F214)。尚、F212において、最適MTUの最小値が変更されないと判断した場合、F213におけるイベントの送信は行わない。
ネットワーク接続機器102bは、イベント制御部401で、MTUを通知するイベントを受信し、さらにMTU適用部403で、適用するMTUを変更する。
次に、VPNの終了処理の流れについて、論理ネットワーク制御装置103aと論理ネットワーク制御装置103bとの間のVPN接続を終了する場合を例にして、図21を用いて説明する。
尚、論理ネットワーク制御装置103aと論理ネットワーク制御装置103bは、図20を用いて説明したような手順で、すでにVPN接続を開始している。そして、ネットワーク接続機器102a、bは、VPNの接続処理(F213、F214)において、それぞれ論理ネットワーク制御装置103a、bのイベント制御部501から、最適MTU(1250バイト)の通知を受けている。
また、ネットワーク接続機器102aは、論理ネットワーク制御装置103aとの間で行う、図6、図7、図8を用いて説明した、MTUの通知に関するイベントの登録処理を完了している。同様に、ネットワーク接続機器102bは、論理ネットワーク制御装置103bとの間で行う、図6、図7、図8を用いて説明した、MTUの通知に関するイベントの登録処理を完了している。
図21において、まず、ネットワーク接続機器102aの論理ネットワーク構築制御部402は、論理ネットワーク制御装置103aの論理ネットワーク制御部500に対し、論理ネットワーク制御装置103bへのVPN接続終了要求を送信する(F301)。
F301で送信されたVPN接続終了要求を受信した論理ネットワーク制御装置103aの論理ネットワーク制御部500は、論理ネットワーク制御装置103bとの間のVPNの接続を終了する(F302)。
そして、論理ネットワーク制御装置103aの論理ネットワーク制御部500は、MTUリストに記憶されている論理ネットワーク制御装置103bのエントリを削除する(F303)。
また、論理ネットワーク制御装置103bの論理ネットワーク制御部500も同様に、MTUリストに記憶されている論理ネットワーク制御装置103aのエントリを削除する(F304)。
さらに、論理ネットワーク制御装置103aの論理ネットワーク制御部500は、F302で終了処理を行ったVPN接続の接続先以外に、VPNの接続をしているネットワークがあるか判断する(F305)。即ち、論理ネットワーク制御部500は、MTUリスト等を参照し、論理ネットワーク制御装置103aが、論理ネットワーク制御部103b以外でVPN接続をしているネットワークがあるか判断する。そして、VPNの接続をしている他のネットワークがあると判断した場合、その接続中のVPNの接続先に対し、論理ネットワーク制御装置103bとの接続を終了したことを示す接続終了情報を送信する(F307)。この接続終了情報には、F302でVPN接続を終了したVPNの接続先(論理ネットワーク制御装置103bに到達可能なアドレス)、及び、そのVPNにおける装置間MTU、最適MTUの情報が含まれている。そして、接続終了情報を受信した論理ネットワーク制御装置103は、そこに含まれるVPNの接続先の情報から、論理ネットワーク制御装置103bのエントリを検索し、削除する。そして、その結果をネットワーク接続機器102に対するMTUの通知に利用することができる。
また、F307において、論理ネットワーク制御部500は、論理ネットワーク制御装置103bに対し、S305でVPN接続していると判断された他のネットワークとの接続が終了することを示す接続終了情報を送信する。この接続終了情報には、論理ネットワーク制御装置103aが、接続している他のVPN(論理ネットワーク制御装置103bとのVPN以外のVPN)の接続先、および、そのVPNにおける装置間MTU、最適MTUの情報が含まれている。そして、接続終了情報を受信した論理ネットワーク制御装置103bは、そこに含まれるVPNの接続先の情報から、MTUリストのエントリを検索し、対応するエントリを削除する。そして、その結果をネットワーク接続機器102bに対するMTUの通知に利用することができる。
ただし、この例では、論理ネットワーク制御装置103aは、論理ネットワーク制御装置103b以外とのVPN接続を行っていないので、F307の通知は行わない。
また、論理ネットワーク制御装置103bの論理ネットワーク制御部500も、論理ネットワーク制御装置103aと同様に、F302で終了処理を行ったVPN接続の接続先以外に、VPNの接続をしているネットワークがあるか判断する(F306)。即ち、論理ネットワーク制御装置103bの論理ネットワーク制御部500は、論理ネットワーク制御装置103a以外に、VPN接続を行っているネットワークがあるか判断する。そして、VPNの接続をしている他のネットワークがあると判断した場合、その接続中のVPNの接続先に対し、論理ネットワーク制御装置103aとの接続を終了したことを示す接続終了情報を送信する(F308)。
また、F308において、論理ネットワーク制御部500は、論理ネットワーク制御装置103aに対し、S306でVPN接続していると判断された他のネットワークとの接続が終了することを示す接続終了情報を送信する。尚、上述のように、接続終了情報には、VPN接続を終了する他のVPNの接続先の情報が含まれている。そして、論理ネットワーク制御装置103は、接続終了情報を受信すると、そこに含まれる他のVPNの接続先の情報から、MTUリストのエントリを検索し、対応するエントリを削除する。そして、その結果をネットワーク接続機器102に対するMTUの通知に利用することができる。即ち、後述するF309における最適MTUの最小値の判断で、F308でエントリを削除したことを考慮することができる。このようにすることで、1つの論理ネットワーク制御装置103に対して複数の論理ネットワーク制御装置103がVPN接続を行うときに、変化したMTUに基づいたパケットサイズで通信が行えるようになる。ただし、この例では、論理ネットワーク制御装置103bは、論理ネットワーク制御装置103a以外とのVPN接続を行っていないので、F308の通知は行わない。
続いて、論理ネットワーク制御装置103aの論理ネットワーク制御部500は、MTUリストに記憶されている最適MTUの最小値が変更されたか判断する(F309)。F309において最適MTUの最小値が変更されたと判断した場合、変更された最適MTUの最小値を読み出す。即ち、論理ネットワーク制御部500は、他のネットワーク(LAN101b)の論理的な接続状況の変化に応じて、次のような処理を行う。即ち、MTU測定部502によって検出された、論理的な接続において分割されずに伝送可能な通信パケットのデータ長に応じた情報を取得する。ただし、この例では、すべてのVPN接続を終了しているので、F309における情報の取得は行わない。
そして、F311において、読み出した最適MTUをネットワーク接続機器102aに通知する。即ち、イベント制御部501は、F309で取得された、論理的な接続(VPN)において分割されずに伝送可能な通信パケットのデータ長に応じた情報を、LAN101a(第1のネットワーク)上の通信装置(ネットワーク接続機器102a)に対して通知する。ただし、この例では、すべてのVPN接続を終了しているので、F311の処理は行わない。
また、論理ネットワーク制御装置103bの論理ネットワーク制御部500も、論理ネットワーク制御装置103aと同様に、MTUリストに記憶されている最適MTUの最小値が変更されたか判断する(F310)。そして、F310において最適MTUの最小値が変更されたと判断した場合、変更された最適MTUの最小値を読み出す。そして、F312において、読み出した最適MTUをネットワーク接続機器102aに通知する。ただし、この例では、すべてのネットワークとのVPN接続を終了しているので、F310、F312の処理は行わない。
次に、論理ネットワーク制御装置103aと論理ネットワーク制御装置103bとの間でVPN接続を開始する場合の、論理ネットワーク制御装置103aが行う処理の詳細について説明する。図9は、本実施形態の論理ネットワーク制御装置103aが、ネットワーク接続機器102a(通信装置)から、VPN接続の開始、又は終了命令を受けたときの受付処理の流れを示すフローチャートである。
尚、ネットワーク接続機器102a(通信装置)は、論理ネットワーク制御装置103aとの間で行う、図6、図7、図8を用いて説明した、MTUの通知に関するイベントの登録処理を完了している。同様に、ネットワーク接続機器102b(通信装置)は、論理ネットワーク制御装置103bとの間で行う、図6、図7、図8を用いて説明した、MTUの通知に関するイベントの登録処理を完了している。
そして、ネットワーク接続機器102a、bは、それぞれ、図8のS801において、論理ネットワーク制御装置103a、bのイベント制御部501から、デフォルトの最適MTUの通知を受けている。上述したように、本実施形態でのデフォルトの最適MTUは1450バイトである。
また、論理ネットワーク制御装置103aは、ネットワーク接続機器102a(通信装置)から受信した通信データを、論理的な接続(VPN)を介して他のネットワーク上の通信装置に中継する(中継手順)。
S901において、論理ネットワーク制御装置103aの論理ネットワーク制御部500は、ネットワーク接続機器102aから、他のネットワークとのVPN接続を開始するためのVPN接続要求、又は、VPN接続を終了するためのVPN接続終了要求を受信する。論理ネットワーク制御部500が、VPN接続要求を受信した場合、S902に進み、VPN接続終了要求を受信した場合、S911に進む。尚、S901において、論理ネットワーク制御部500が、論理ネットワーク制御装置103a内の管理アプリケーションなどから、VPN接続に関する要求受け付けの終了命令を受信した場合、VPNの接続に関する要求の受信処理を終了する。また、S901で受信されるVPN接続/終了要求には、VPNの接続先のネットワークを識別するための宛先情報が含まれる。
ここでは、S901で、論理ネットワーク制御装置103bを識別する宛先情報を含むVPN接続要求が受信されたものとして説明する。
S902において、論理ネットワーク制御部500は、受信したVPN接続要求に含まれる宛先情報に従って、VPN接続先である論理ネットワーク制御装置103bとVPN接続を開始し、S903に進む。
S903(検出手順)において、論理ネットワーク制御部500は、MTU測定部502に対して、論理ネットワーク制御装置103aと、VPNの接続先である論理ネットワーク制御装置103bとの間の装置間MTUの検出を依頼する。MTU測定部502は、前記依頼に基づいて、論理ネットワーク制御装置103aと、論理ネットワーク制御装置103bとの間の装置間MTUを検出する。即ち、MTU測定部502は、論理的な接続(VPN)において分割されずに伝送可能な通信パケットのデータ長を検出する。MTUを検出する方法として、例えば、分割禁止命令をつけたICMPパケットを送信する方法などがある。
MTU測定部502が、MTUを検出不可能であった場合、S904に進む。一方、MTU測定部502が、MTUを検出可能であった場合、検出された装置間MTUを論理ネットワーク制御装置500に渡し、S905に進む。
S904において、MTU測定部502は、あらかじめ記憶されているデフォルトの装置間MTUを読み出し、論理ネットワーク制御部500に渡す。そして、S904において、論理ネットワーク制御部500は、渡されたデフォルトの装置間MTUから、論理ネットワーク制御装置103によって付加される、VPNに関する情報のデータ長を差し引いた最適MTUを取得して、S906に進む。
このように、S904で最適MTUを求めることで、論理ネットワーク(VPN)の接続に関するパラメータに適した最適MTUを通知できる。ただし、記憶されているデフォルトのMTUが、すでにVPNに関する情報のデータ長を差し引いたものであっても良い。
S905において、論理ネットワーク制御部500は、渡された装置間MTUから、論理ネットワーク制御装置103によって付加される、VPNに関する情報のデータ長を差し引いた最適MTUを取得し、S906に進む。この例では、S903において、論理ネットワーク制御装置103bとの間の装置間MTU(1300バイト)が検出できたものとする。従って、取得される最適MTUは、1250バイトである。
S906において、論理ネットワーク制御部500は、論理ネットワーク制御装置103bのエントリ(宛先アドレス(論理ネットワーク制御装置103bに到達可能なアドレス)、装置間MTU、最適MTU)を、MTUリストに追加し、S907に進む。
図11は、論理ネットワーク制御装置103aの論理ネットワーク制御部500が保持するMTUリストである。MTUリストに記載されている202.228.1.1のIPアドレスは、論理ネットワーク制御装置103bに到達可能なアドレスである。本実施例では、ルーター装置104bのアドレスであり、ルーター装置104bにはDMZ(DeMilitalized Zone)や、ポートフォワーディングなどの設定がされている。従って、ルーター装置104bは、論理ネットワーク制御装置103bにパケットを転送することができる。図11のVPN接続先に示したアドレスは、インターネットを介して論理ネットワーク制御装置103bと通信を行う場合に利用される。
また、論理ネットワーク制御装置103a、b間で検出されるMTUは、装置間MTUに示された1300バイトである。そして、最適MTUは、論理ネットワーク制御装置103aと論理ネットワーク制御装置103bとの間でやり取りされる通信データに付加される、VPNに関する情報のデータ長(50バイト)を、装置間MTU(1300バイト)から差し引いたデータ長である。
このように、MTUリストに装置間MTUと最適MTUを記憶させておくことで、論理ネットワーク(VPN)の接続に関するパラメータの変化などに適した最適MTUを通知できる。ただし、S906において、MTUリストに記憶するMTUに関する情報は、上記の例に限らず、例えば、装置間MTUと最適MTUのどちらか一方と、VPNに関する情報のデータ長などであっても構わない。
S907において、論理ネットワーク制御装置103aの論理ネットワーク制御部500は、S902で開始したVPN接続の接続先以外に、すでにVPNの接続をしているネットワークがあるか判断する。即ち、論理ネットワーク制御部500は、MTUリスト等を参照し、論理ネットワーク制御装置103bの他に、VPN接続をしているネットワークがあるか判断する。S907において、VPN接続をしている他のネットワークがあると判断した場合は、S908に進み、VPN接続をしている他のネットワークがないと判断した場合、S909に進む。
S908では、論理ネットワーク制御部500が、S902でVPN接続を開始した論理ネットワーク制御装置103bに対し、すでにVPN接続を行っているネットワーク上の論理ネットワーク制御装置103のエントリを含む接続開始情報を送信する。このエントリは、論理ネットワーク制御装置103aが、S902でVPN接続を開始する前から接続していたVPNの接続先、および、そのVPNにおける装置間MTU、最適MTUを含む。また、論理ネットワーク制御部500は、すでにVPN接続を行っているネットワークの論理ネットワーク制御装置103に対し、S902でVPN接続を開始した論理ネットワーク制御装置103bのエントリを含む接続開始情報を送信して、S909に進む。このエントリは、論理ネットワーク制御装置103aが、S902でVPN接続を開始したVPNの接続先、および、そのVPNにおける装置間MTU、最適MTUを含む。
接続開始情報を受信した論理ネットワーク制御装置103は、そこに含まれるエントリ(VPNの接続先、装置間MTU、最適MTU)を自身のMTUリストに追加し、これをネットワーク接続機器102に対するMTUの通知に利用することができる。即ち、最適MTUの最小値の判断で、追加したエントリに含まれている最適MTUを考慮することができる。このようにすることで、1つの論理ネットワーク制御装置103に対して複数の論理ネットワーク制御装置103がVPN接続を行うときに、変化したMTUに基づいたパケットサイズで通信が行えるようになる。ただし、この例では、論理ネットワーク制御装置103aは、論理ネットワーク制御装置103b以外とのVPN接続を行っていないので、F908の通知は行わない。
S909において、論理ネットワーク制御装置103aの論理ネットワーク制御部500は、論理ネットワーク制御装置103bから接続開始情報が送信されてきたか判断する。接続開始情報が送信されてきた場合は、S910に進み、送信されなかった場合はS917に進む。
尚、接続開始情報には、論理ネットワーク制御装置103bが、論理ネットワーク制御装置103aとのVPN接続を開始する前から接続していたVPNの接続先、および、そのVPNにおける装置間MTU、最適MTUの情報が含まれている。
S910において、論理ネットワーク制御装置103aの論理ネットワーク制御部500は、受信した接続開始情報に含まれるVPNの接続先、装置間MTU、最適MTUをMTUリストに追加する。ここで、VPNの接続先は、論理ネットワーク制御装置103に到達可能なアドレスである。そして、論理ネットワーク制御装置103aは、追加したエントリを、ネットワーク接続機器102に対するMTUの通知に利用することができる。即ち、後述するS917における最適MTUの最小値の判断で、S910で追加したエントリに含まれている最適MTUを考慮することができる。このようにすることで、1つの論理ネットワーク制御装置103に対して複数の論理ネットワーク制御装置103がVPN接続を行うときに、変化したMTUに基づいたパケットサイズで通信が行えるようになる。ただし、この例では、論理ネットワーク制御装置103bは、論理ネットワーク制御装置103a以外とのVPN接続を行っていないので、S910の処理は行わない。
一方、S901において、論理ネットワーク制御装置103aが、ネットワーク接続機器102aから、論理ネットワーク制御装置103bに対するVPNの接続終了要求を受信した場合、S911に進む。
S911において、論理ネットワーク制御部500は、受信したVPN接続終了要求に含まれる宛先情報に従って、VPNの接続をしていた論理ネットワーク制御装置103bとのVPN接続の終了処理を行い、S912に進む。
S912において、論理ネットワーク制御部500は、MTUリストから、VPN接続の終了処理を行ったエントリの検索を行う。そして、論理ネットワーク制御部500は、検索されたエントリをMTUリストから削除し、S913に進む。この例では、論理ネットワーク制御装置103bのエントリが削除される。
S913において、論理ネットワーク制御部500は、S911で終了したVPN接続の接続先以外に、VPNの接続をしているネットワークがあるか判断する。即ち、論理ネットワーク制御部500は、MTUリスト等を参照し、論理ネットワーク制御装置103bの他に、VPN接続をしているネットワークがあるか判断する。S913において、VPN接続をしているネットワークがあった場合は、S914に進み、VPN接続をしているネットワークがなかった場合は、S915に進む。
S914において、論理ネットワーク制御部500は、S913で発見されたVPNの接続先の論理ネットワーク制御装置103に対し、論理ネットワーク制御装置103bとのVPN接続を終了することを示す接続終了情報を送信する。この接続終了情報には、F912でVPN接続を終了したVPNの接続先(論理ネットワーク制御装置103bに到達可能なアドレス)、及び、そのVPNにおける装置間MTU、最適MTUの情報が含まれている。そして、接続終了情報を受信した論理ネットワーク制御装置103は、そこに含まれるVPNの接続先の情報から、論理ネットワーク制御装置103bのエントリを検索し、削除する。そして、その結果をネットワーク接続機器102に対するMTUの通知に利用することができる。
さらに、S914において、論理ネットワーク制御部500は、論理ネットワーク制御装置103bに対し、S913で発見されたVPN接続先の論理ネットワーク制御装置103とのVPN接続が終了することを示す接続終了情報を送信し、S915に進む。この接続終了情報には、論理ネットワーク制御装置103aが、接続しているVPN(論理ネットワーク制御装置103bとのVPN以外のVPN)の接続先、および、そのVPNにおける装置間MTU、最適MTUの情報が含まれている。そして、接続終了情報を受信した論理ネットワーク制御装置103bは、そこに含まれるVPNの接続先の情報から、MTUリストのエントリを検索し、対応するエントリを削除する。そして、その結果をネットワーク接続機器102bに対するMTUの通知に利用することができる。ただし、この例では、論理ネットワーク制御装置103aは、論理ネットワーク制御装置103b以外とはVPN接続を行っていないので、S914の処理は行わない。
S915において、論理ネットワーク制御装置103aの論理ネットワーク制御部500は、S912でVPNの接続を終了した論理ネットワーク制御装置103bから、接続終了情報が送信されてきたか判断する。接続終了情報が送信されてきた場合はS916に進み、送信されなかった場合は、S917に進む。
尚、接続終了情報には、論理ネットワーク制御装置103bが、接続しているVPN(論理ネットワーク制御装置103aとのVPN以外のVPN)の接続先、および、そのVPNにおける装置間MTU、最適MTUの情報が含まれている。そして、S915において接続終了情報を受信した論理ネットワーク制御装置103aは、S916で、接続終了情報に含まれるVPNの接続先から、MTUリストのエントリを検索し、対応するエントリを削除する。そして、その結果をネットワーク接続機器102aに対するMTUの通知に利用することができる。即ち、後述するF917における最適MTUの最小値の判断で、F916でエントリを削除したことを考慮することができる。このようにすることで、1つの論理ネットワーク制御装置103に対して複数の論理ネットワーク制御装置103がVPN接続を行うときに、変化したMTUに基づいたパケットサイズで通信が行えるようになる。
ただし、この例では、論理ネットワーク制御装置103aは、すべてのVPN接続を終了しているので、S916の処理は行わない。また、このような場合、S915の判断を行わないようにしても良い。
S917(取得手順)において、論理ネットワーク制御部500は、MTUリストに記憶されている最適MTUの最小値が変更されたかを判断する。論理ネットワーク制御部500が、最適MTUの最小値が変更されたと判断した場合、変更された最適MTUの最小値を読み出し、S918に進む。即ち、論理ネットワーク制御部500は、他のネットワーク(LAN101b)の論理的な接続状況の変化に応じて、MTU測定部502によって検出された通信パケットのデータ長に応じた情報(最適MTU)を取得する。ただし、この例では、論理ネットワーク制御装置103aは、VPN接続を行っていないので、S917の処理は行わない。
<実施形態2>
以下、本発明の実施形態について、実施形態1との差違を中心に図面を参照して説明する。
図10は、本発明の一実施形態に係るネットワークシステムの構成図である。
101cは、LANである。LAN101cは、LANに限るものではなく、WANやアドホックネットワークなどでもよく、それらの復号でも良い。LAN101c(他のネットワーク)は、LAN101a(第1のネットワーク)、および、LAN101b(他のネットワーク)、と同一の機能を有するネットワークである。
102cは、LAN101c(他のネットワーク)に接続され、通信アプリケーションを利用してネットワークを介した通信を行うネットワーク接続機器である。本実施形態では、ネットワーク接続機器102a、ネットワーク接続機器102b、ネットワーク接続機器102cは同一の機能を有する通信装置である。
103cは、LAN101c(他のネットワーク)に接続され、ネットワーク接続機器102cの要求に応じてVPN接続を構築する論理ネットワーク制御装置である。即ち、論理ネットワーク制御装置103cは、論理ネットワーク(VPN)にLAN101c(他のネットワーク)を接続する。本実施形態では、論理ネットワーク制御装置103a、論理ネットワーク制御装置103b、論理ネットワーク制御装置103cは同一の機能を有する中継装置である。
104cは、インターネット100とLAN101cのそれぞれに接続され、パケットの経路制御などを行うルーター装置である。本実施形態では、ルーター装置104a、ルーター装置104b、ルーター装置104cは同一の機能を有するネットワーク装置である。
本実施形態では、まず、論理ネットワーク制御装置103bとVPN接続された論理ネットワーク制御装置103aが、さらに論理ネットワーク制御装置103cとVPN接続するときの処理について説明する。尚、論理ネットワーク制御装置103aは、LAN101a(第1のネットワーク)に接続され、かつ、LAN101aと他のネットワークとの間で通信パケットを伝送可能とするために、LAN101aと他のネットワークとを論理的に接続する中継装置である。論理ネットワーク制御装置103aは、LAN101a(第1のネットワーク)上のネットワーク接続機器102a(通信装置)から受信した通信データを、論理的な接続(VPN)を介して他のネットワーク上の通信装置に中継する(中継手順)。
また、論理ネットワーク制御装置103b、cは、それぞれ、論理ネットワーク(VPN)に、LAN101b、c(他のネットワーク)を接続する中継装置である。
本実施形態において、ネットワーク接続機器102aは、論理ネットワーク制御装置103aとの間で行う、図6、図7、図8を用いて説明した、MTUの通知に関するイベントの登録処理を完了している。同様に、ネットワーク接続機器102b、cは、それぞれ論理ネットワーク制御装置103b、cとの間で行う、図6、図7、図8を用いて説明した、MTUの通知に関するイベントの登録処理を完了している。
ネットワーク接続機器102cは、図8のS801において、論理ネットワーク制御装置103cのイベント制御部501から、デフォルトの最適MTUの通知を受けている。本実施形態でのデフォルトの最適MTUは1450バイトである。尚、論理ネットワークの種類は限定されるものではない。従って、論理ネットワークによる通信のために付加されるヘッダ等は、様々な長さが用いられる。本実施形態では、VPN通信のために付加される情報のデータ長を50バイトとして計算したが、これに限るものでなく、様々なデータ長をとることが可能である。
また、論理ネットワーク制御装置103aは、論理ネットワーク制御装置103bと、VPN接続を開始している。図11は、論理ネットワーク制御装置103aの論理ネットワーク制御部500が保持するMTUリストである。上述のように、論理ネットワーク制御装置103a、b間で検出されるMTUは、装置間MTUに示された1300バイトである。そして、最適MTUは、論理ネットワーク制御装置103aと論理ネットワーク制御装置103bとの間で通信データに付加される、VPNに関する情報のデータ長(50バイト)を、装置間MTU(1300バイト)から差し引いたデータ長(1250バイト)である。
また、ネットワーク接続機器102aは、論理ネットワーク制御装置103aから、既にMTUを通知するイベントとして、論理ネットワーク制御装置103a、b間の最適MTU(1250バイト)を受信している。そして、ネットワーク接続機器102aは、受信した最適MTUを利用して通信を行っている。また、ネットワーク接続機器102bも、論理ネットワーク制御装置103a、b間の最適MTUを利用して通信を行っている。
以下に、論理ネットワーク制御装置103cから送信されたVPN構築要求を受信した、論理ネットワーク制御装置103aの処理について、図22を用いて説明する。
図22は、論理ネットワーク制御装置103aが、他のネットワークの論理ネットワーク制御装置103からVPN構築要求、又は、VPN切断要求を受信したときの処理を示すフローチャートである。
まず、論理ネットワーク制御装置103aの論理ネットワーク制御部500は、論理ネットワーク制御装置103cから、VPN接続を開始するためのVPN構築要求を受信する(S2201)。
そして、論理ネットワーク制御部500は、受信したVPN構築要求に基づいて、論理ネットワーク制御装置103cとのVPN接続を開始する(S2202)。
そして、論理ネットワーク制御装置103aのMTU測定部502は、論理ネットワーク制御装置103aと論理ネットワーク制御装置103cとの間の装置間MTUを検出し、論理ネットワーク制御部500に渡す(S2203)。即ち、MTU測定部502は、論理的な接続(VPN)において分割されずに伝送可能な通信パケットのデータ長を検出する。
さらに、論理ネットワーク制御部500は、S2203で渡された装置間MTUから、VPNに関する情報のデータ長を差し引き、最適MTUを取得する(S2205)。
本実施形態において、論理ネットワーク制御装置103a、c間の装置間MTUは、1200バイトである。論理ネットワーク制御装置103aは、検出した装置間MTU(1200バイト)から、VPNに関する情報のデータ長(50バイト)を差し引き、最適MTUを取得する。従って、S2205で取得される最適MTUは、1150バイトである。
論理ネットワーク制御装置103aの論理ネットワーク制御部500は、論理ネットワーク制御装置103cのエントリ(VPN接続先、装置間MTU、最適MTUを含む情報)をMTUリストに保存する(S2206)。尚、このエントリに含まれるVPN接続先は、論理ネットワーク制御装置103cに到達可能なアドレスである。図12は、論理ネットワーク制御装置103cのエントリが追加された後の論理ネットワーク制御装置103aの論理ネットワーク制御部500に記憶されるMTUリストである。図12において、VPN接続先として記載されている202.100.1.1のIPアドレスは、論理ネットワーク制御装置103cに到達可能なアドレスであるとする。本実施例では、ルーター装置104cのアドレスであり、ルーター装置104cにはDMZ、または、ポートフォワーディングなどの設定がされている。ルーター装置104cは、論理ネットワーク制御装置103cにパケットを転送することができる。従って、このアドレスは、インターネットを介して論理ネットワーク制御装置103cと通信を行う場合に利用される。
そして、論理ネットワーク制御装置103aの論理ネットワーク制御部500は、すでにVPN接続を行っているネットワークがあるか判断する(S2207)。この例では、論理ネットワーク制御装置103aは、すでに論理ネットワーク制御装置103bとの間でVPN接続を開始している。そこで、論理ネットワーク制御装置103aの論理ネットワーク制御部500は、MTUリストから論理ネットワーク制御装置103bのエントリを読み出し、該エントリを含む接続開始情報を論理ネットワーク制御装置103cに対して送信する(S2208)。このエントリには、上述のように、論理ネットワーク制御装置103aが、S902でVPN接続を開始する前から接続していたVPNの接続先、および、そのVPNにおける装置間MTU、最適MTUの情報が含まれている。尚、VPNの接続先は、論理ネットワーク制御装置103bに到達可能なアドレスである。
また、S2208において、論理ネットワーク制御装置103aの論理ネットワーク制御部500は、すでにVPN接続を行っている論理ネットワーク制御装置103bに対し、論理ネットワーク制御装置cのエントリを含む接続開始情報を送信する。
論理ネットワーク制御装置103aから接続開始情報を受信した論理ネットワーク制御装置103cの論理ネットワーク制御部500は、論理ネットワーク制御装置103bのエントリをMTUリストに追加する。
また、論理ネットワーク制御装置103aから接続開始情報を受信した論理ネットワーク制御装置103bの論理ネットワーク制御部500は、論理ネットワーク制御装置103cに関するエントリをMTUリストに追加する。
そして、論理ネットワーク制御装置103aの論理ネットワーク制御部500は、論理ネットワーク制御装置103cから、接続開始情報が送信されてきたか判断する(S2209)。接続開始情報が送信されてきた場合は、S2210に進み、送信されなかった場合はS2217に進む。
S2210において、論理ネットワーク制御部500は、接続開始情報に含まれるエントリ(VPNの接続先、装置間MTU、最適MTU)をMTUリストに追加する。このエントリには、論理ネットワーク制御装置103cが、論理ネットワーク制御装置103aとのVPN接続を開始する前から接続していたVPNの接続先、および、そのVPNにおける装置間MTU、最適MTUの情報が含まれている。そして、論理ネットワーク制御装置103aは、これをネットワーク接続機器102aに対するMTUの通知に利用することができる。即ち、後述するS2217における最適MTUの最小値の判断で、S2210で追加したエントリに含まれている最適MTUを考慮することができる。S2210の処理が完了したら、S2217に進む。
S2210のような処理を行うことで、1つの論理ネットワーク制御装置103に対して複数の論理ネットワーク制御装置103がVPN接続を行うときに、変化したMTUに基づいたパケットサイズで通信が行えるようになる。ただし、この例では、論理ネットワーク制御装置103cは、論理ネットワーク制御装置103a以外とVPNの接続を行っていないので、S2210の処理は行わない。
そして、論理ネットワーク制御装置103aの論理ネットワーク制御部500は、S2217において、MTUリストに記憶されている最適MTUの最小値が変更されたか判断する。この例において、予め取得していた論理ネットワーク制御装置103bとの間の最適MTUは、1250バイトである。それに対し、S2206で新たに追加された、論理ネットワーク制御装置103cとの間の最適MTUは、1150バイトである。従って、S2217で、最適MTUの最小値が変更されたと判断する。
そこで、論理ネットワーク制御部500は、S2217で、新たな最適MTUの最小値となる論理ネットワーク制御装置103cとの間の最適MTUを読み出す。即ち、論理ネットワーク制御部500は、他のネットワーク(LAN101c)の論理的な接続状況の変化に応じて、S2203で検出されたデータ長に応じた情報(最適MTU)を取得する。
そして、論理ネットワーク制御装置103aのイベント制御部501は、MTUを通知するイベントを登録しているネットワーク接続機器102aに対して、変更された最適MTUの最小値(1150バイト)を通知するイベントを送信する(S2218)。
即ち、イベント制御部501は、S2217で取得された、論理的な接続(VPN)において分割されずに伝送可能な通信パケットのデータ長に応じた情報(最適MTU)を、LAN101a上のネットワーク接続機器102aに通知する。
そして、ネットワーク接続機器102aは、イベント制御部401で、通知された最適MTUを受信し、MTU適用部403で適用するMTUを変更する。
以上説明したように、論理ネットワーク制御装置103aは、論理的な接続(VPN)への他のネットワークの接続状況の変化に応じて、論理ネットワーク内において分割されずに伝送可能な通信パケットのデータ長に応じた情報を取得する。この例では、VPNにLAN101cが接続されたことに応じて、S2217で、LAN101cに分割されずに伝送可能な通信パケットのデータ長(装置間MTU)に応じた情報(最適MTU)を取得している。そして、S2218で、イベント制御部501は、MTUを通知するイベントを登録しているLAN101a(第1のネットワーク)上のネットワーク接続機器102a(通信装置)に対し、取得した情報(最適MTU)を通知する。このようにすることで、通信パケットのデータ長が変化した場合に、変化したデータ長に基づいたパケット長で通信が行えるようになる。
尚、本実施形態では、VPNの接続先の追加に伴って取得した最適MTUが、MTUリストに記憶されている最適MTUの最小値よりも小さいときに、MTUを通知するイベントを送信する。
このようにすることで、MTUを通知するイベントの通知、受信処理を効率良く行うことができる。ただし、新たなネットワークとのVPNの接続が開始されるたびに、最適MTUを通知し、ネットワーク接続機器102a側で、適用するMTUを判断するようにしても良い。
また、S2217における判断では、最適MTUの比較を行ったが、装置間MTUを比較するようにしても良い。また、本実施形態では、S2218において、最適MTUを通知したが、これに限らず、例えば、装置間MTUと、VPN通信のために付加される情報のデータ長を通知しても良い。
尚、上記の例では、論理ネットワーク制御装置103cからのVPN構築要求に基づいてVPN接続を行っていたが、論理ネットワーク制御装置103aからVPN構築要求を送信しても良い。以下に、論理ネットワーク制御装置103aから論理ネットワーク制御装置103cに対してVPN接続の要求を送信する場合の論理ネットワーク制御装置103aの処理について、図9を用いて説明する。
まず、S901において、論理ネットワーク制御装置103aの論理ネットワーク制御部500は、ネットワーク接続機器102aから、論理ネットワーク制御装置103cとのVPNの接続を開始するためのVPN接続要求を受信し、S902に進む。
そして、S902において、論理ネットワーク制御部500は、VPN接続要求に含まれる宛先情報に基づいて、論理ネットワーク制御装置103cとのVPN接続を開始し、S903に進む。
そして、S903において、論理ネットワーク制御装置103aのMTU測定部502は、論理ネットワーク制御装置103cとの間の、装置間MTUを検出する。即ち、MTU測定部502は、論理的な接続(VPN)において分割されずに伝送可能な通信パケットのデータ長を検出する。検出された場合、検出した装置間MTUを論理ネットワーク制御部500に渡し、S905に進む。この例では、論理ネットワーク制御装置a、c間の装置間MTU(1200バイト)が検出される。
そして、S905において、論理ネットワーク制御部500は、S903で渡された装置間MTUから、VPN通信のために付加される情報のデータ長(50バイト)を差し引いて最適MTUを取得し、S906に進む。
S906において、論理ネットワーク制御部500は、論理ネットワーク制御装置103cのエントリ(宛先情報、装置間MTU、最適MTU)を、MTUリストに追加し、S907に進む。ここで追加されるエントリは、論理ネットワーク制御装置103cに到達可能なアドレス(宛先情報)、および、論理ネットワーク制御装置103aと103c間のVPNにおける装置間MTU、最適MTUを含む。
S907において、論理ネットワーク制御部500は、すでに論理ネットワーク制御装置103aとVPN接続を行っている他の論理ネットワーク制御装置103があるか判断する。この例では、論理ネットワーク制御装置103bとすでにVPN接続を行っていると判断し、S908に進む。
S908において、論理ネットワーク制御装置103aの論理ネットワーク制御部500は、論理ネットワーク制御装置103cに対し、論理ネットワーク制御装置103bのエントリを含む接続開始情報を送信する。このエントリには、論理ネットワーク制御装置103bに到達可能なアドレス、および、論理ネットワーク制御装置103aと103bの間のVPNにおける装置間MTU、最適MTUの情報が含まれている。さらに、S908において、論理ネットワーク制御部500は、論理ネットワーク制御装置103bに対し、論理ネットワーク制御装置103cのエントリを含む接続開始情報を送信し、S909に進む。ここで、この接続開始情報には、論理ネットワーク制御装置103cに到達可能なアドレス、および、論理ネットワーク制御装置103aと103cの間のVPNにおける装置間MTU、最適MTUを含む。
S909において、論理ネットワーク制御装置103aの論理ネットワーク制御部500は、論理ネットワーク制御装置103cから、接続開始情報が送信されてきたか判断する。この例では、論理ネットワーク制御装置103cは、論理ネットワーク制御装置103aの他にVPN接続を行っていないので、S917に進む。
S917(取得手順)において、論理ネットワーク制御部500は、MTUリストに記憶されている最適MTUの最小値が変更されたかを判断する。この例では、最適MTUの最小値が、論理ネットワーク制御装置103cとの間の最適MTU(1150バイト)に変更されたと判断する。そこで、論理ネットワーク制御装置103aの論理ネットワーク制御部500は、変更された、論理ネットワーク制御装置103cとの間の最適MTUを読み出し、S918に進む。即ち、論理ネットワーク制御部500は、他のネットワーク(LAN101c)の論理的な接続状況の変化に応じて、論理ネットワーク内において分割されずに伝送可能な通信パケットのデータ長に応じた情報を取得する。
S918(通知手順)において、イベント制御部501は、MTUを通知するイベントを登録している、ネットワーク接続機器102a(通信装置)に対し、MTUを通知するイベントとして、S917で読み出された最適MTUを送信する。即ち、イベント制御部501は、S917で取得した論理的な接続(VPN)において分割されずに伝送可能な通信パケットのデータ長に応じた情報(最適MTU)を、LAN101a(第1のネットワーク)上の通信装置(ネットワーク接続機器102a)に通知する。
そして、ネットワーク接続機器102aは、イベント制御部401で、通知された最適MTUを受信し、MTU適用部403で適用するMTUを変更する。
一方、論理ネットワーク制御装置103bは、S908で論理ネットワーク制御装置103aから送信された接続開始情報に含まれるエントリ(VPN接続先、装置間MTU(1200バイト)、最適MTU(1150バイト))を取得する。尚、この例のVPN接続先は、論理ネットワーク制御装置103cに到達可能なアドレスである。
論理ネットワーク制御装置103aから送信される、接続情報(接続開始情報、又は接続終了情報)を受信した論理ネットワーク制御装置103bの処理の手順について図23を用いて説明する。
まず、論理ネットワーク制御装置103bの論理ネットワーク制御部500は、論理ネットワーク制御装置103aから送信された接続情報を受信する(S2301)。
そして、受信した接続情報が接続開始情報であった場合、接続情報に含まれるエントリをMTUリストに追加する。一方、受信した接続情報が、接続終了情報であった場合、接続終了情報に含まれる宛先アドレスに基づいて、MTUサイズリストから、該当するエントリを削除する(S2302)。
そして、論理ネットワーク制御装置103bの論理ネットワーク制御部500は、MTUリストに記憶されている最適MTUの最小値が変更されたかを判断する(S2303)。本実施形態では、以前取得し、MTUリストに記憶されている論理ネットワーク制御装置103aとの間の最適MTUは、1250バイトであり、S2302で新たに追加した論理ネットワーク制御装置103cとの間の最適MTUは1150バイトである。従って、論理ネットワーク制御装置103bの論理ネットワーク制御部500は、S2303において、最適MTUの最小値が変更されたと判断する。そこで、イベント制御部501は、変更された最適MTUの最小値を、MTUを通知するイベントの登録を行っているネットワーク接続機器102bへ通知する(S2304)。
以上説明したように、論理ネットワーク制御装置103aは、論理ネットワーク(VPN)への他のネットワークの接続状況の変化に応じて、論理的な接続において分割されずに伝送可能な通信パケットのデータ長に応じた情報を取得する。この例では、VPNにLAN101cが接続されたことに応じて、S917で、LAN101cに分割されずに伝送可能な通信パケットのデータ長(装置間MTU)に応じた情報(最適MTU)を取得している。そして、S918で、イベント制御部501は、MTUを通知するイベントを登録しているLAN101a(第1のネットワーク)上のネットワーク接続機器102a(通信装置)に対し、取得した情報(最適MTU)を通知する。このようにすることで、通信パケットのデータ長が変化した場合に、変化したデータ長に基づいたパケット長で通信が行えるようになる。
次に、論理ネットワーク制御装置103b、cとそれぞれVPN接続しているLAN101a上の論理ネットワーク制御装置103aが、論理ネットワーク制御装置103cからVPN切断要求を受けたときの処理について、図22を用いて説明する。
尚、論理ネットワーク制御装置103aは、LAN101a(第1のネットワーク)に接続され、かつ、LAN101aと他のネットワークとの間で通信パケットを伝送可能とするためにLAN101aと他のネットワークとを論理的に接続する中継装置である。論理ネットワーク制御装置103aは、ネットワーク接続機器102a(通信装置)から受信した通信データを、論理的な接続(VPN)を介して他のネットワーク上の通信装置に中継する(中継手順)。また、論理ネットワーク制御装置103b、cは、論理ネットワーク(VPN)にそれぞれLAN101b(他のネットワーク)、LAN101c(他のネットワーク)を接続する中継装置である。
また、論理ネットワーク制御装置103a、b、cは、それぞれ、論理ネットワーク制御装置103a、b、cのエントリをMTUリストに記憶している。従って、例えば、論理ネットワーク制御装置103aのMTUリストは図12のようになる。
S2201において、論理ネットワーク制御装置103aの論理ネットワーク制御部500は、論理ネットワーク制御装置103cから、VPN接続の切断要求を受信し、S2211に進む。
S2211において、論理ネットワーク制御装置103aの論理ネットワーク制御部500は、論理ネットワーク制御装置103cとのVPN接続の終了処理を行い、S2212に進む。
S2212において、論理ネットワーク制御装置103aの論理ネットワーク制御部500は、保持するMTUリストから、論理ネットワーク制御装置103cのエントリを消去し、S2213に進む。図13は、論理ネットワーク制御装置103cのエントリを消去した後のMTUサイズリストである。
S2213において、論理ネットワーク制御装置103aの論理ネットワーク制御部500は、他にVPN接続を行っているネットワークが存在するか判断する。この例では、論理ネットワーク制御装置103aは、論理ネットワーク制御装置103bとのVPN接続を行っている。そこで、他にVPN接続を行っているネットワークが存在すると判断し、S2214に進む。
S2214において、論理ネットワーク制御部500は、論理ネットワーク制御装置103cとのVPN接続を終了したことを示す接続終了情報を論理ネットワーク制御装置103bに通知する。尚、S2214の通知を受信した論理ネットワーク制御装置103bは、図23を用いて説明した手順に従って、接続終了情報の受信処理をする。即ち、論理ネットワーク制御装置103bは、接続終了情報に含まれるVPNの接続先の情報から、MTUリストのエントリを検索し、対応するエントリを削除する。そして、その結果をネットワーク接続機器102bに対するMTUの通知に利用する。即ち、最適MTUの最小値が変更されたかを判断する処理で、エントリを削除したことを考慮することができる。
また、S2214において、論理ネットワーク制御部500は、論理ネットワーク制御装置103cに対し、論理ネットワーク制御装置103bとのVPN接続が終了することを示す接続終了情報を送信し、S2215に進む。接続終了情報を受信した論理ネットワーク制御装置103cも同様に、接続終了情報に含まれるVPNの接続先の情報から、MTUリストのエントリを検索し、対応するエントリを削除する。そして、その結果をネットワーク接続機器102cに対するMTUの通知に利用する。即ち、最適MTUの最小値が変更されたかを判断する処理で、エントリを削除したことを考慮することができる。
S2214のようにすることで、論理ネットワーク制御装置103b、及びcが、他の論理ネットワーク制御装置103とのVPN接続を続けている場合に、変化したMTUに基づいたパケットサイズで通信を行うことができる。ただし、この例では、論理ネットワーク制御装置103cは、他の論理ネットワーク制御装置103とのVPN接続を行っていないので、S2214の処理は行わなくても良い。
S2215で、論理ネットワーク制御装置103aの論理ネットワーク制御部500は、VPN接続を終了した論理ネットワーク制御装置103cが、接続終了情報を送信してきたか判断する。尚、上述したように、接続終了情報には、VPN接続を終了する論理ネットワーク制御装置103cが接続しているVPNの接続先(論理ネットワーク制御装置103に到達可能なアドレス)が含まれている。そして、S2215において接続終了情報を受信した論理ネットワーク制御装置103aは、S2216で、接続終了情報に含まれるVPNの接続先から、MTUリストのエントリを検索し、対応するエントリを削除する。そして、その結果をネットワーク接続機器102aに対するMTUの通知に利用することができる。即ち、後述するS2217における最適MTUの最小値の判断で、S2216でエントリを削除したことを考慮することができる。このようにすることで、1つの論理ネットワーク制御装置103に対して複数の論理ネットワーク制御装置103がVPN接続を行うときに、変化したMTUに基づいたパケットサイズで通信が行えるようになる。ただし、この例では、論理ネットワーク制御装置103cは、論理ネットワーク制御装置103a以外の論理ネットワーク制御装置103とVPN接続をしていないので、S2215で通知してきていないと判断し、S2217に進む。
S2217(取得手順)において、論理ネットワーク制御部500は、MTUリストに記憶された最適MTUの最小値が変更したか判断する。この例では、これまで最適MTUの最小値であった、論理ネットワーク制御装置103cとの間の最適MTU(1150バイト)が削除されたので、最適MTUの最小値が変更したと判断する。そこで、S2217において、論理ネットワーク制御部500は、新たに最小値となる最適MTUをMTUリストから取得する。この例では、論理ネットワーク制御装置103bとの間の最適MTUが取得される。
即ち、論理ネットワーク制御部500は、他のネットワークの論理的な接続状況の変化に応じて、論理ネットワーク内において分割されずに伝送可能な通信パケットのデータ長に応じた情報を取得する。この例では、VPNへのLAN101cへの接続が終了したことに応じて、新たに最適MTUの最小値となるLAN101bに分割されずに伝送可能な通信パケットのデータ長(装置間MTU)に応じた情報(最適MTU)を取得している。S2217で最適MTUの最小値を取得したら、S2218に進む。
S2218(通知手順)において、論理ネットワーク制御装置103aのイベント制御部501は、MTUを通知するイベントを登録しているLAN101a上のネットワーク接続機器102aに対し、変更された最適MTUを送信する。
即ち、イベント制御部501は、LAN101a(第1のネットワーク)上のネットワーク接続機器102a(通信装置)に対し、S2217で取得された情報(最適MTU)を通知する。つまり、イベント制御部は、第1のネットワーク上の通信装置に対し、最適MTUの通知を行う。尚、S2218では、最適MTUを通知したが、ネットワーク接続機器102aが、最適MTUが求められるような情報であれば良い。例えば、装置間MTUと、VPN通信のために中継装置に付加されるデータ長を通知しても良い。
S2218で送信された論理ネットワーク制御装置103aからのイベントをイベント制御部401で受信したネットワーク接続機器102aは、MTU適用部403で、適用するMTUを変更する。
以上説明したように、論理ネットワーク制御装置103aは、論理ネットワーク(VPN)への他のネットワーク(LAN101c)の接続状況の変化に応じて、次のような処理を行う。即ち、まず、論理的な接続(VPN)において分割されずに伝送可能な通信パケットのデータ長に応じた情報を取得する。この例では、他のネットワーク(LAN101b)に分割されずに伝送可能な通信パケットのデータ長に応じた情報を取得している。
そして、取得された情報(最適MTU)を、LAN101a(第1のネットワーク)上のネットワーク接続機器102a(通信装置)に対して通知している。このようにすることで、通信パケットのデータ長が変化した場合に、変化したデータ長に基づいたパケット長で通信が行えるようになる。
尚、本実施形態では、VPN切断要求を、論理ネットワーク制御装置103cから送信するようにしたが、論理ネットワーク制御装置103aから論理ネットワーク制御装置103cに送信するようにしても良い。この場合、論理ネットワーク制御装置103aは、図9を用いて説明したような手順で、VPN接続の終了処理を行う。
即ち、S901において、論理ネットワーク制御装置103aの論理ネットワーク制御部500は、ネットワーク接続機器102aから、論理ネットワーク制御装置103cに対するVPN接続終了要求を受信すると、S911に進む。
S911において、論理ネットワーク制御部500は、論理ネットワーク制御装置103cとのVPN接続の終了処理を行い、S912に進む。
S912において、論理ネットワーク制御部500は、MTUリストから、論理ネットワーク制御装置103cのエントリを削除してS913に進み、S913で、他にVPN接続をしている論理ネットワーク制御装置103があるか判断する。この例では、論理ネットワーク制御装置103bとVPN接続を行っているので、他にVPN接続を行っている論理ネットワーク制御装置103があると判断し、S914に進む。
そして、S914において、すでにVPN接続を行っている論理ネットワーク制御装置103bに対し、論理ネットワーク制御装置103cとのVPN接続の終了を示す接続終了情報を送信する。また、S914において、論理ネットワーク制御装置103aの論理ネットワーク制御部500は、論理ネットワーク制御装置103cに対し、論理ネットワーク制御装置103bとのVPN接続の終了を示す接続終了情報を送信し、S915に進む。S914のようにすることで、論理ネットワーク制御装置103cが、他の論理ネットワーク制御装置103とのVPN接続を続けている場合に、変化したMTUに基づいたパケットサイズで通信を行うことができる。ただし、この例では、論理ネットワーク制御装置103cは、他の論理ネットワーク制御装置103とのVPN接続を行っていないので、S914の処理は行わなくても良い。
S915において、論理ネットワーク制御部500は、S911でVPNの接続を終了した論理ネットワーク制御装置103cから、接続終了情報が送信されてきたかを判断する。この例では、論理ネットワーク制御装置103cは、他にVPN接続を行っていないので、接続終了情報が送信されないと判断し、S917に進む。
S917(取得手順)において、論理ネットワーク制御部500は、MTUリストの最適MTUの最小値が変更されたか判断する。この例では、これまで最適MTUの最小値であった、論理ネットワーク制御装置103cの最適MTU(1150バイト)が削除されたので、最適MTUの最小値が変更されたと判断する。そこで、S917において、論理ネットワーク制御部500は、新たに最適MTUの最小値となる最適MTU(1250バイト)を取得する。
即ち、論理ネットワーク制御部500は、他のネットワークの論理的な接続状況の変化に応じて、論理ネットワーク内において分割されずに伝送可能な通信パケットのデータ長に応じた情報を取得する。この例では、VPNへのLAN101cの接続終了に応じて、最適MTUの新たな最小値となる、LAN101bに分割されずに伝送可能な通信パケットのデータ長(装置間MTU)に応じた情報(最適MTU)を取得している。S917で、最適MTUの新たな最小値を取得した場合、S918に進む。
S918(通知手順)において、イベント制御部501は、新たに最適MTUの最小値となった、論理ネットワーク制御装置103bとの間の最適MTU(1250バイト)を通知するイベントを、ネットワーク接続機器102aに送信する。
即ち、イベント制御部501は、LAN101a(第1のネットワーク)上のネットワーク接続機器102a(通信装置)に対し、S917で取得された情報(最適MTU)を通知する。
ただし、本実施形態では、S918において、最適MTUを通知したが、これに限らず、ネットワーク接続機器102aが、最適MTUが求められるような情報であれば良い。例えば、装置間MTUと、VPNの通信のために中継装置に付加される情報のデータ長を通知しても良い。
このように、論理ネットワーク制御装置103aは、VPNの接続の終了に伴って最適MTUの最小値が変化したときに、MTUを通知するイベントを送信する。このようにすることで、MTUを通知するイベントの通知、受信処理を効率良く行うことができる。ただし、VPNの接続が終了するたびに、終了された接続先に関する最適MTUを通知し、ネットワーク接続機器102a側で、利用するMTUを判断するようにしても良い。
以上説明したように、論理ネットワーク制御装置103aは、論理ネットワーク(VPN)への他のネットワーク(LAN101c)の接続状況の変化に応じて、次のような処理を行う。即ち、まず、論理的な接続において分割されずに伝送可能な通信パケットのデータ長に応じた情報を取得する。この例では、他のネットワーク(LAN101b)に分割されずに伝送可能な通信パケットのデータ長に応じた情報を取得している。
そして、取得されたデータ長に応じた情報(最適MTU)を、LAN101a(第1のネットワーク)上のネットワーク接続機器102a(通信装置)に対して通知している。このようにすることで、通信パケットのデータ長が変化した場合に、変化したデータ長に基づいたパケット長で通信が行えるようになる。
次に、論理ネットワーク制御装置103aとVPN接続された論理ネットワーク制御装置103bが、論理ネットワーク制御装置103cともVPN接続されるときの処理について説明する。
本実施形態において、論理ネットワーク制御装置103aは、LAN101a(第1のネットワーク)に接続され、かつ、LAN101aと他のネットワークとの間で通信パケットを伝送可能とするために、LAN101aと他のネットワークとを論理的に接続する中継装置である。
また、この例において、論理ネットワーク制御装置103bは、LAN101b(第2のネットワーク)に接続され、論理ネットワーク(VPN)にLAN101bを接続する第2の中継装置である。そして、論理ネットワーク制御装置103aは、LAN101a上のネットワーク接続機器102a(通信装置)からの通信データを受信する。そして、受信した通信データを、論理ネットワーク制御装置103b(第2の中継装置)を介して、LAN101b上の通信装置(ネットワーク接続機器102b)へ中継する(中継手順)。また、論理ネットワーク制御装置103cは、論理ネットワーク(VPN)にLAN101c(他のネットワーク)を接続する中継装置である。
尚、ネットワーク接続機器102aは、論理ネットワーク制御装置103aとの間で行う、図6、図7、図8を用いて説明した、MTUの通知に関するイベントの登録処理を完了している。同様に、ネットワーク接続機器102b、102cは、それぞれ論理ネットワーク制御装置103b、103cとの間で行う、図6、図7、図8を用いて説明した、MTUの通知に関するイベントの登録処理を完了している。
また、論理ネットワーク制御装置103aは、論理ネットワーク制御装置103bと、VPN接続を開始している。図11は、論理ネットワーク制御装置103aの論理ネットワーク制御部500が保持するMTUリストである。
また、ネットワーク接続機器102aは、MTUを通知するイベントとして論理ネットワーク制御装置103aから受信した論理ネットワーク制御装置103a、b間の最適MTU(1250バイト)を利用して通信を行っている。
ここでは、論理ネットワーク制御装置103cから論理ネットワーク制御装置103bにVPN接続の要求を行った場合の処理について、論理ネットワーク制御装置103bの動作を図22、論理ネットワーク制御装置103aの動作を図23を用いて説明する。ネットワーク接続機器102cが論理ネットワーク制御装置103cに、論理ネットワーク制御装置103bへのVPN接続の要求を行うと、論理ネットワーク制御装置103cは、論理ネットワーク制御装置103bに対してVPN構築要求を送信する。
S2201において、論理ネットワーク制御装置103bの論理ネットワーク制御部500は、VPN構築要求を受信し、S2202に進む。
S2202において、論理ネットワーク制御装置103bの論理ネットワーク制御部500は、受信したVPN構築要求に含まれる宛先情報に基づいて、論理ネットワーク制御装置103cとの間でVPN接続を開始し、S2203に進む。
S2203において、論理ネットワーク制御装置103bのMTU測定部502は、論理ネットワーク制御装置103cと論理ネットワーク制御装置103bとの間の装置間MTUを検出する。この例では、論理ネットワーク制御装置103b、c間の装置間MTU(1200バイト)が検出され、S2205に進む。
S2205において、論理ネットワーク制御部500は、検出された装置間MTU(1200バイト)から、VPNに関する情報のデータ長(50バイト)を差し引いた最適MTU(1150バイト)を取得し、S2206に進む。
S2206において、論理ネットワーク制御装置103bの論理ネットワーク制御部500は、論理ネットワーク制御装置103cのエントリ(宛先アドレス、装置間MTU、最適MTU)をMTUリストに保存し、S2207に進む。
S2207において、論理ネットワーク制御装置103bの論理ネットワーク制御部500は、論理ネットワーク制御装置103cの他に、すでにVPN接続を行っているネットワークがあるか判断する。この例では、論理ネットワーク制御装置103bは、すでに論理ネットワーク制御装置103aとの間でVPN接続を行っている。
そこで、S2208において、論理ネットワーク制御装置103bの論理ネットワーク制御部500は、MTUリストから論理ネットワーク制御装置103aのエントリを読み出す。そして、読み出したエントリを含む接続開始情報を論理ネットワーク制御装置103cに対して送信する。このエントリには、論理ネットワーク制御装置103aのアドレス、および、論理ネットワーク制御装置103aとのVPNにおける装置間MTU、最適MTUの情報が含まれている。また、S2208において、論理ネットワーク制御部500は、すでにVPN接続を行っている論理ネットワーク制御装置103aに対し、論理ネットワーク制御装置cのエントリを含む接続開始情報を送信し、S2209に進む。このエントリには、論理ネットワーク制御装置103cのアドレス、および、論理ネットワーク制御装置103cとのVPNにおける装置間MTU、最適MTUの情報が含まれている。
ここで、S2208で送信された接続開始情報を受信した論理ネットワーク制御装置103aの処理について、図23を用いて説明する。
S2301において、論理ネットワーク制御部500が論理ネットワーク制御装置103bから接続開始情報を受信すると、S2302に進む。
S2302において、論理ネットワーク制御部500は、S2301で受信した接続開始情報に含まれる、論理ネットワーク制御装置cのエントリをMTUリストに追加し、S2303に進む。
S2303(取得手順)において、論理ネットワーク制御部500は、MTUリストに記憶されている最適MTUの最小値が変更したか判断する。最適MTUの最小値が変更したと判断した場合、新たな最適MTUの最小値をMTUリストから取得し、S2304に進む。最適MTUの最小値が変更していないと判断した場合、エントリの受信処理を終了する。
即ち、論理ネットワーク制御部500は、論理ネットワーク制御装置103b(第2の中継装置)におけるLAN101b(第2のネットワーク)と他のネットワークとの論理的な接続状況の変化に応じて、論理ネットワーク制御装置103bから接続情報(接続開始情報)の通知を受ける。そして、論理ネットワーク制御装置500は、受信した接続情報により、接続状況が変化した後の論理的な接続において分割されずに伝送可能な通信パケットのデータ長に応じた情報を取得する。この例では、論理ネットワーク制御部500は、LAN101c(他のネットワーク)が新たにVPNに接続されたことに応じて、LAN101cに分割されずに伝送可能な通信パケットのデータ長に応じた情報(最適MTU)を取得している。
S2304(通知手順)において、イベント制御部501は、MTUを通知するイベントを登録しているLAN101a上のネットワーク接続機器102aに対し、MTUを通知するイベントとして、論理ネットワーク制御装置103cの最適MTU(1150バイト)を通知する。即ち、イベント制御部501は、LAN101a(第1のネットワーク)上の通信装置(ネットワーク接続機器102a)に対し、S2303で取得された情報を通知する。つまり、イベント制御部501は、第1のネットワーク上の通信装置に対し、S2303で取得された情報を通知する。
ネットワーク接続機器102aは、S2304で送信されるイベントを受信すると、MTU適用部403で適用するMTUを変更する。
このようにすることで、1つの論理ネットワーク制御装置103に対して複数の論理ネットワーク制御装置103がVPN接続を行うときに、変化したMTUに基づいたパケットサイズで通信が行えるようになる。
S2209において、論理ネットワーク制御装置103bの論理ネットワーク制御部500は、論理ネットワーク制御装置103cから、接続開始情報が送信されてきたか判断する。接続開始情報が送信されてきた場合は、S2210に進み、送信されなかった場合はS2217に進む。この例では、論理ネットワーク制御装置103cには、他にVPN接続を行っている論理ネットワーク制御装置103はないので、S2217に進む。
S2217において、論理ネットワーク制御装置103bの論理ネットワーク制御部500は、MTUリストの最適MTUの最小値が変更されたか判断する。この例では、以前取得し、MTUリストに記憶されている論理ネットワーク制御装置103aとの間の最適MTUは、1250バイトであり、新たに取得した論理ネットワーク制御装置103cとの間の最適MTUは1150バイトである。
そこで、論理ネットワーク制御装置103bの論理ネットワーク制御部500は、S2217で、論理ネットワーク制御装置103cとの間の最適MTU(1150バイト)をMTUリストから取得する。
そして、S2218に進み、論理ネットワーク制御装置103bのイベント制御部501は、LAN101b(第2のネットワーク)上のネットワーク接続機器102bに、MTUを通知するイベントを発行し、VPNの接続処理を終了する。
以上説明したように、論理ネットワーク制御装置103aの論理ネットワーク制御部500は、S2301で、論理ネットワーク制御装置103b(第2の中継装置)におけるLAN101b(第2のネットワーク)と他のネットワークとの論理的な接続状況の変化に応じて、論理ネットワーク制御装置103bから接続情報(接続開始情報)の通知を受ける。そして、S2303で、論理ネットワーク制御部500は、受信した接続開始情報に含まれるエントリにより、LAN101c(他のネットワーク)に分割されずに伝送可能な通信パケットのデータ長に応じた情報(最適MTU)を取得している。
さらに、イベント制御部401は、S2304で、取得されたデータ長に応じた情報(最適MTU)を、LAN101a(第1のネットワーク)上のネットワーク接続機器102a(通信装置)に対して通知している。このようにすることで、通信パケットのデータ長が変化した場合に、変化したデータ長に基づいたパケット長で通信が行えるようになる。
次に、論理ネットワーク制御装置103aと論理ネットワーク制御装置103cと、それぞれVPN接続された論理ネットワーク制御装置103bが、論理ネットワーク制御装置103cとのVPN接続を終了する処理を、図22、図23を用いて説明する。
尚、ネットワーク接続機器102a、b、cは、それぞれ論理ネットワーク制御装置103a、b、cとの間で行う、図6、図7、図8を用いて説明した、MTUの通知に関するイベントの登録処理を完了している。
また、論理ネットワーク制御装置103aは、論理ネットワーク制御装置103bと、VPN接続を開始している。また、論理ネットワーク制御装置103bは、すでに論理ネットワーク制御装置103cとのVPN接続を開始している。論理ネットワーク制御装置103aは、ネットワーク接続機器102a(通信装置)から受信した通信データを、論理的な接続(VPN)を介して他のネットワーク上の通信装置に中継する(中継手順)。図12は、論理ネットワーク制御装置103aの論理ネットワーク制御部500が保持するMTUリストである。
そして、ネットワーク接続機器102aは、MTUを通知するイベントとして論理ネットワーク制御装置103aから受信した、論理ネットワーク制御装置103b、c間の最適MTU(1150バイト)を利用して通信を行っている。
図22において、論理ネットワーク制御装置103bの論理ネットワーク制御部500は、S2201で、論理ネットワーク制御装置103cから、VPNの切断要求を受信すると、S2211に進む。
S2211において、論理ネットワーク制御装置103bの論理ネットワーク制御部500は、論理ネットワーク制御装置103cとのVPN接続の終了処理を行い、S2212に進む。
S2212において、論理ネットワーク制御装置103bの論理ネットワーク制御部500は、保持するMTUリストから、論理ネットワーク制御装置103cのエントリを削除し、S2213に進む。
S2213において、論理ネットワーク制御装置103bの論理ネットワーク制御部500は、S2211で終了した論理ネットワーク制御装置103cの他にVPN接続を行っているネットワークが存在するか判断する。この例では、論理ネットワーク制御装置103bは、論理ネットワーク制御装置103aとのVPN接続を行っている。そこで、他にVPN接続を行っているネットワークが存在すると判断し、S2214に進む。
S2214において、論理ネットワーク制御部500は、論理ネットワーク制御装置103cとの接続終了を示す接続終了情報を論理ネットワーク制御装置103aに通知してS2215に進む。
ここで、S2214で送信された接続終了情報(接続情報)を受信した論理ネットワーク制御装置103aの処理について、図23を用いて説明する。
S2301において、論理ネットワーク制御装置103aの論理ネットワーク制御部500が論理ネットワーク制御装置103bから接続終了情報を受信すると、S2302に進む。
S2302において、論理ネットワーク制御部500は、S2301で受信した接続終了情報に含まれる論理ネットワーク制御装置103cに到達可能なアドレスに対応するエントリをMTUリストから削除し、S2303に進む。
S2303(取得手順)において、論理ネットワーク制御部500は、MTUリストに記憶されている最適MTUの最小値が変更したか判断する。最適MTUの最小値が変更したと判断した場合、新たな最適MTUの最小値を取得し、S2304に進む。最適MTUの最小値が変更していないと判断した場合、接続情報の受信処理を終了する。この例では、論理ネットワーク制御装置103aは、これまで最適MTUの最小値であった論理ネットワーク制御装置103cとの間の最適MTU(1150バイト)を適用していた。しかし、S2303で、論理ネットワーク制御装置103cのエントリが削除されたため、最適MTUの最小値が変更されると判断する。尚、取得される最適MTUの最小値は、論理ネットワーク制御装置103bとの間の最適MTU(1250バイト)となる。
即ち、論理ネットワーク制御装置103aの論理ネットワーク制御部500は、論理ネットワーク制御装置103b(第2の中継装置)におけるLAN101b(第2のネットワーク)と他のネットワークとの論理的な接続状況の変化に応じて、以下の処理をする。即ち、論理ネットワーク制御部500は、論理ネットワーク制御装置103bから接続情報(接続終了情報)の通知を受ける。そして、論理ネットワーク制御装置500は、受信した接続情報により、接続状況が変化した後の論理的な接続において分割されずに伝送可能な通信パケットのデータ長に応じた情報を取得する。この例では、論理ネットワーク制御部500は、LAN101b(第2のネットワーク)とLAN101c(他のネットワーク)とのVPN接続を終了したことに応じて、論理ネットワーク制御装置103bとの間の最適MTUを取得している。
S2304(通知手順)において、イベント制御部501は、MTUを通知するイベントを登録しているLAN101a上のネットワーク接続機器102aに対し、論理ネットワーク制御装置103bの最適MTU(1250バイト)を通知する。即ち、イベント制御部501は、LAN101a(第1のネットワーク)上のネットワーク接続機器102a(通信装置)に対し、S2303で取得された情報を通知する。
ネットワーク接続機器102aは、S2304のイベントを受信すると、MTU適用部403で、適用するMTUを変更する。
このようにすることで、1つの論理ネットワーク制御装置103に対して複数の論理ネットワーク制御装置103がVPN接続を行うときに、変化したMTUに基づいたパケットサイズで通信が行えるようになる。
また、S2215で、論理ネットワーク制御装置103bの論理ネットワーク制御部500は、VPN接続を終了した論理ネットワーク制御装置103cから、接続終了情報が送信されてきたか判断する。この例では、論理ネットワーク制御装置103cは、論理ネットワーク制御装置103b以外の論理ネットワーク制御装置103とVPN接続をしていないので、S2215で送信してきていないと判断し、S2217に進む。
S2217において、論理ネットワーク制御装置103bの論理ネットワーク制御部500は、MTUリストに記憶された最適MTUの最小値が変更したか判断する。この例では、これまで最適MTUの最小値であった、論理ネットワーク制御装置103cとの間の最適MTU(1150バイト)のエントリが削除されたので、最適MTUの最小値が変更したと判断する。そこで、S2217において、論理ネットワーク制御部500は、新たに最小値となる最適MTUをMTUリストから取得する。この例では、論理ネットワーク制御装置103bとの間の最適MTU(1250バイト)が取得される。S2217で最適MTUの最小値を取得したら、S2218に進む。
S2218において、論理ネットワーク制御装置103bのイベント制御部501は、MTUを通知するイベントを登録しているLAN101b上のネットワーク接続機器102bに対し、変更された最適MTUを送信する。
S2218で送信された論理ネットワーク制御装置103bからのイベントをイベント制御部401で受信したネットワーク接続機器102bは、MTU適用部403で、適用するMTUを変更する。
以上説明したように、論理ネットワーク制御装置103aの論理ネットワーク制御部500は、S2301で、LAN101b(第2のネットワーク)と他のネットワークとの論理的な接続状況の変化に応じて、以下のような処理を行う。即ち、論理ネットワーク制御部500は、論理ネットワーク制御装置103bから接続情報(接続終了情報)の通知を受ける。そして、論理ネットワーク制御装置500は、受信した接続情報により、接続状況が変化した後の論理的な接続において分割されずに伝送可能な通信パケットのデータ長に応じた情報を取得する。この例では、論理ネットワーク制御部500は、LAN101b(第2のネットワーク)と他のネットワーク(LAN101c)との論理的な接続(VPN)の終了に応じて論理ネットワーク制御装置103cの接続終了情報(接続情報)を受信する。
そして、S2303で、論理ネットワーク制御部500は、受信した接続終了情報により、LAN101b(第2のネットワーク)に分割されずに伝送可能な通信パケットのデータ長に応じた情報(最適MTU)を取得している。
さらに、論理ネットワーク制御装置103aのイベント制御部401は、S2304で、取得されたデータ長に応じた情報(最適MTU)を、LAN101a(第1のネットワーク)上のネットワーク接続機器102a(通信装置)に対して通知している。このようにすることで、通信パケットのデータ長が変化した場合に、変化したデータ長に基づいたパケット長で通信が行えるようになる。
以上、本発明の一実施形態を示した。
<実施形態3>
以下に本発明の実施形態について、実施形態1、および、実施形態2との差異を中心に図面を参照して説明する。
図14は、本実施形態に係るネットワークシステムの構成図である。
102dは、LAN101aに接続するネットワーク接続機器である。本実施形態では、ネットワーク接続装置102a、b、c、dは同一の機能を有する通信装置である。また、ネットワーク接続機器102a、b、c、dは、同一のマルチキャストグループに属しており、マルチキャストアドレス224.1.1.1を利用する。
本実施形態において、論理ネットワーク制御装置103a、および、論理ネットワーク制御装置103bはVPN接続を開始している。同様に、論理ネットワーク制御装置103a、および、論理ネットワーク制御装置103cは、VPN接続を開始している。
尚、論理ネットワーク制御装置103aは、論理ネットワーク(VPN)に、LAN101a(第1のネットワーク)を接続する中継装置である。また、論理ネットワーク制御装置103aは、LAN101a上のネットワーク接続機器102a、dから受信した通信データを、VPNに接続している他のネットワーク上のネットワーク接続機器102に中継する。また、論理ネットワーク制御装置103a、b、cは、同一の機能を有する中継装置である。
図17は、論理ネットワーク制御装置103aが保持するMTUリストである。
宛先アドレスには、ユニキャストのアドレス、または、マルチキャストのアドレスが示されている。ネットワーク接続機器102dは、ユニキャストアドレスである192.168.1.2、および、マルチキャストアドレスである224.1.1.1を保持する。ネットワーク接続機器102bは、ユニキャストアドレスである192.168.1.12、および、マルチキャストアドレスである224.1.1.1を保持する。ネットワーク接続機器102cは、ユニキャストアドレスである192.168.1.22、および、マルチキャストアドレスである224.1.1.1を保持する。
MTUリストに記載されているVPN接続先のlocalは、ネットワーク接続機器102dが、ネットワーク接続機器102aのリンクローカル内に存在することを意味する。
MTUリストに記載されているVPN接続先の202.228.1.1のIPアドレスは、論理ネットワーク制御装置103bに到達可能なアドレスであるとする。本実施例では、ルーター装置104bのアドレスであり、ルーター装置104bにはDMZ、または、ポートフォワーディングなどの設定がされている。ルーター装置104bは、論理ネットワーク制御装置103bにパケットを転送することができる。このアドレスは、インターネットを介して論理ネットワーク制御装置103bと通信を行う場合に利用される。
MTUリストに記載されているVPN接続先の202.100.1.1のIPアドレスは、論理ネットワーク制御装置103cに到達可能なアドレスであるとする。本実施例では、ルーター装置104cのアドレスであり、ルーター装置104cにはDMZ、または、ポートフォワーディングなどの設定がされている。ルーター装置104cは、論理ネットワーク制御装置103cにパケットを転送することができる。前記アドレスは、インターネットを介して論理ネットワーク制御装置103cと通信を行う場合に利用される。
また、装置間MTUに記載されているnoneは、宛先アドレス(192.168.1.2)との中間経路でVPN接続がされていないことを示している。このエントリでは、最適MTUが9000バイトとなり、イーサネット(登録商標)のMTUの最大値よりも大きい。これは宛先アドレスがジャンボフレームに対応していることを示し、この宛先アドレスに9000バイトまでの通信パケットを送信することができる。
次に、本実施形態におけるネットワーク接続機器102の動作について、図15を用いて説明する。
図15は、本実施形態におけるネットワーク接続機器102aのVPNの接続に基づく通信の開始における処理の流れを示すフローチャートである。
S1501において、ネットワーク接続機器102aの機器制御部400は、VPN接続に基づく通信の宛先アドレスがユニキャストアドレスであるか、マルチキャストアドレスであるか判断する。宛先アドレスがユニキャストアドレスである場合、S1502に進む。宛先アドレスがマルチキャストアドレスである場合、S1503に進む。
S1502において、機器制御部400は、イベント制御部401に、論理ネットワーク制御装置103aに対して、宛先アドレスに対応するMTUの取得要求を行う。イベント制御部401は、論理ネットワーク制御装置103aから、宛先アドレスに対応する最適MTUを取得し、S1506に進む。
S1503において、イベント制御部401は、MTUを通知するイベントの登録要求がされたか判断する。イベント制御部401が、ユーザーやアプリケーションから、MTUを通知するイベントの登録が指示されたと判断した場合、S1504に進む。イベント制御部401が、ユーザーやアプリケーションから、MTUを通知するイベントの登録が指示されていないと判断した場合、S1502に進む。
S1504において、イベント制御部401は、論理ネットワーク制御装置103aに対してMTUを通知するイベントの登録、および、宛先アドレス(マルチキャストアドレス)に対応するMTUの取得要求を行う。イベントの登録については図6、7、8を用いて説明した通りである。イベント制御部401は、論理ネットワーク制御装置103aから、宛先アドレスに対応する最適MTUを取得し、S1505に進む。
S1505において、イベント制御部401は、登録を行ったMTUを通知するイベント待ち受けを開始し、S1506に進む。以降、実施形態1、2と同様に、VPNの接続状況の変化に応じて、ネットワーク接続機器102aに最適MTUが通知される。
S1506において、MTU適用部403は、S1502又はS1504で取得された最適MTUと、現在の最適MTUの比較を行う。取得された最適MTUが、現在のシステムで設定されているMTUと同じ場合、S1507に進む。取得した最適MTUが、現在のシステムで設定されているMTUと異なる場合、S1508に進む。
S1507において、MTU適用部403は、MTUを変更せずに、MTUの取得処理を終了する。
S1508において、MTU適用部403は、宛先アドレスとの間のMTUを、取得した最適MTUに変更する処理を行い、MTUの取得処理を終了する。
次に、本実施形態における、論理ネットワーク制御装置103の動作について、図16を用いて説明する。図16は、本実施形態の論理ネットワーク制御機器103aによる、VPNの接続に基づく通信の開始における処理の流れを示すフローチャートである。
S1601において、論理ネットワーク制御装置103aのイベント制御部501は、ネットワーク接続機器102aからMTUの取得要求を受信し、S1602に進む。
S1602において、イベント制御部501は、S1601で受信したMTUの取得要求に含まれる宛先アドレスがマルチキャストアドレスであるか、ユニキャストアドレスであるか判断する。即ち、イベント制御部501は、ネットワーク接続機器102a(通信装置)による通信の宛先アドレスの種別を判断する。宛先アドレスがマルチキャストアドレスであった場合、S1603に進む。宛先アドレスがユニキャストアドレスであった場合、S1605に進む。
S1603において、イベント制御部501は、受信したMTUの取得要求に、MTUを通知するイベントの登録要求が含まれているか判断する。イベントの登録要求が含まれていないと判断した場合、S1605に進む。イベント登録要求が含まれていると判断した場合、S1604に進む。
S1604において、イベント制御部501は、ネットワーク接続機器102aを、S1601で受信したMTUの取得要求に含まれる宛先アドレスの最適MTUが変更された場合のイベント送信先として追加し、S1605に進む。即ち、イベント制御部501は、S1602における判断に応じて、実施形態1、2と同様に、最適MTUの変更時に取得される、新しい最適MTUの最小値を通知する。なお、そのマルチキャストアドレスを用いた通信のためのVPNの切断時には、このイベント送信先としての登録は削除される。したがって、VPNの接続状況の変化による最適MTUの変化に応じて、そのマルチキャストアドレスに送信するパケットの長さは変化する。また、その切断時には、ネットワーク接続機器102aに設定されるパケット長は、切断後のVPNの接続状況に応じた長さに設定される。
S1605において、イベント制御部501は、S1601で受信したMTUの取得要求に含まれる宛先アドレスに対応する最適MTUを、ネットワーク接続装置102aに送信し、通信開始時におけるMTUの通知、及び、イベントの登録処理を終了する。
尚、本実施形態において、ネットワーク接続機器102aが、ネットワーク接続機器102dの宛先アドレスである192.168.1.2と通信する場合の論理ネットワーク制御装置103aの処理は、以下のようになる。
即ち、論理ネットワーク制御装置103aのイベント制御部501は、S1601において受信したMTUの取得要求に含まれる宛先アドレスがユニキャストアドレスであると判断する(S1602)。
そして、S1605において、イベント制御部501は、図17のMTUリストから、ネットワーク接続機器102dに到達可能なアドレスに対応する最適MTU(9000バイト)を取得し、ネットワーク接続機器102aに対して通知する。
このようにすることにより、ユニキャストアドレスを利用した通信において、ジャンボフレームのパケットサイズに対応したMTUに基づいたパケットサイズで通信を行うことができる。
また、本実施形態において、ネットワーク接続機器102aが、マルチキャストアドレスである224.1.1.1と通信する場合の論理ネットワーク制御装置103aの処理は、以下のようになる。
即ち、論理ネットワーク制御装置103aのイベント制御部501は、S1601において受信したMTUの取得要求に含まれる宛先アドレスがマルチキャストアドレスであると判断する(S1602)。
そして、S1603において、イベント制御部501は、受信したMTUの取得要求にMTUを通知するイベントの登録要求が含まれているか判断する。この例では、イベント登録要求が含まれていると判断し、S1604に進む。
S1604において、イベント制御部501は、ネットワーク接続機器102aを、S1601で受信したMTUの取得要求に含まれる宛先アドレス(マルチキャストアドレス)の最適MTUが変更された場合のイベント送信先として追加し、S1605に進む。
S1605において、イベント制御部501は、S1601で受信したMTUの取得要求に含まれる宛先アドレス(マルチキャストアドレス)に対応する最適MTUの最小値(1150バイト)を、ネットワーク接続装置102aに送信する。
更に、本実施形態において、論理ネットワーク制御装置103aが、論理ネットワーク制御装置103cとのVPN接続を切断した場合の例を示す。図18は、論理ネットワーク制御装置103cとのVPN接続を切断した後の論理ネットワーク制御装置103aのMTUリストである。
ネットワーク制御機器102aは、既にマルチキャストアドレスの224.1.1.1の最適MTUの最小値(1150バイト)を取得しており、論理ネットワーク制御装置103aにMTUを通知するイベントの登録を行っている。
論理ネットワーク制御装置103aの論理ネットワーク制御部500は、マルチキャストアドレスの224.1.1.1の最適MTUが変更されたと判断し、新たな最適MTU(1250バイト)を取得する。
そして、論理ネットワーク制御装置103aのイベント制御部501は、MTUを通知するイベントの登録先であるネットワーク制御装置102aに、224.1.1.1の最適MTUが1250バイトになったことを通知する。
ネットワーク接続装置102aは、MTUを通知するイベントをイベント制御部410で受信し、224.1.1.1に対して送信する通信パケットのMTUを1250バイトに変更する。
このようにすることで、ネットワーク接続装置102aは、マルチキャストアドレスを利用した通信において、VPNが接続、切断された場合にも、変化したMTUに基づいたパケットサイズで通信を行うことができる。その結果、マルチキャストで送信されるデータのスループットを増加させる事ができる。尚、上記の例において、ネットワーク接続機器102aが、MTUを通知するイベントの登録を行わなかった場合、論理ネットワーク制御装置103aは、最適MTUの変更を通知しない。従って、ネットワーク接続機器102aは、論理ネットワーク制御装置103cとの間の最適MTU(1150バイト)で通信を続けることができる。このように、MTUを通知するイベントの登録の有無を選択可能にすることで、例えば、一定のMTUで通信することが好ましいと判断される状況において、論理ネットワーク(VPN)への接続状況の変化に関わらず、一定のMTUで通信を行うことができる。
以上説明したように、本実施形態の論理ネットワーク制御装置103aは、ネットワーク接続機器102(通信装置)による通信の宛先アドレスを判断する。そして、ユニキャストアドレスであると判断された場合は、宛先アドレスに対応する最適MTUを通知する。一方、マルチキャストアドレスであると判断された場合は、MTUを通知するイベントの登録に関する処理を行い、さらに、宛先アドレスに対応する最適MTUのうち、最小の最適MTUを通知する。
このようにすることで、ネットワーク接続機器102aは、ユニキャストアドレスを利用した通信において、例えば、ジャンボフレームのパケットサイズに対応したMTUに基づいたパケットサイズで通信を行うことができる。また、ネットワーク接続機器102aは、マルチキャストアドレスを利用した通信において、マルチキャストアドレスを利用した通信において、VPNが接続、切断された場合にも、変化したMTUに基づいたパケットサイズで通信を行うことができる。
尚、本実施形態では、VPN接続の切断の例を示したが、VPN接続が接続された場合においても、実施することが可能である。
また、本実施形態では、S1501、及びS1602において、ユニキャストアドレスとマルチキャストアドレスを判断する例を示したが、これに限るものではなく、マルチキャストの代わりにブロードキャストやエニーキャストアドレスを利用しても良い。また、本実施形態では、IPv4の例を示したが、これに限るものではなく、IPv6など他のプロトコルを利用しても良い。
以上、本発明の一実施形態を示した。
<実施形態4>
本発明の目的は、次の形態によっても達成される。即ち、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(またはCPUまたはMPU)が記録媒体に格納されたプログラムコードを読み出し実行する形態である。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
また、本発明は、コンピュータが読み出したプログラムコードを実行することにより、前述した実施例の機能が実現される形態には限られない。すなわち、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOperating System(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれる。
さらに、本発明には、以下の形態も含まれる。すなわち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される形態である。
以上、本発明の一実施形態を示した。