【文献】
伊藤 玄蕃,これならわかる ルータ,NETWORK MAGAZINE 第8巻 第9号,日本,株式会社アスキー,2003年,第8巻,第72-79頁
(58)【調査した分野】(Int.Cl.,DB名)
ルーティングテーブルを記憶する記憶部を備えるとともにファイアウォール機能及びレイヤ2ブリッジ機能を備えた通信制御装置によって実行される通信制御方法であって、
通信経路上の経路情報を前記ルーティングテーブルに反映する反映ステップと、
前記レイヤ2ブリッジ機能により、受信したパケットを前記ルーティングテーブルに基づき中継する中継ステップと、
サブネットワーク内の機器から他のサブネットワーク内の機器に送信されたパケットを、前記ルーティングテーブルに基づき、前記ファイアウォール機能へ転送することなく前記他のサブネットワーク内の機器に転送するフィルタリングステップと、
を有し、
前記ルーティングテーブルは、受信したパケットの転送先のサブネットワークを示すサブネット情報と、前記サブネット情報が示す転送先のサブネットワークに転送可能な転送先の機器を指定するネクストホップ情報と、を関連付けたテーブルを含み、
予め定められた前記他のサブネットワークに関連付けられた前記ネクストホップ情報は、前記サブネットワーク内の機器のうちの予め定められた機器を示す第1情報であり、
予め定められていない前記他のサブネットワークに関連付けられた前記ネクストホップ情報は、前記サブネットワーク内の機器のうちの、前記ファイアウォール機能を通過して渡す予め定められた機器を示す第2情報であり、
前記ファイアウォール機能は、前記第2情報が示す機器と前記フィルタリングステップの処理位置との間の経路に設けられた機能である、
通信制御方法。
ルーティングテーブルを記憶する記憶部を備えるとともにファイアウォール機能及びレイヤ2ブリッジ機能を備えた通信制御装置に実行させるための制御プログラムであって、
前記通信制御装置に、
通信経路上の経路情報を前記ルーティングテーブルに反映する反映ステップと、
前記レイヤ2ブリッジ機能により、受信したパケットを前記ルーティングテーブルに基づき中継する中継ステップと、
サブネットワーク内の機器から他のサブネットワーク内の機器に送信されたパケットを、前記ルーティングテーブルに基づき、前記ファイアウォール機能へ転送することなく前記他のサブネットワーク内の機器に転送するフィルタリングステップと、
を実行させるための制御プログラムであり、
前記ルーティングテーブルは、受信したパケットの転送先のサブネットワークを示すサブネット情報と、前記サブネット情報が示す転送先のサブネットワークに転送可能な転送先の機器を指定するネクストホップ情報と、を関連付けたテーブルを含み、
予め定められた前記他のサブネットワークに関連付けられた前記ネクストホップ情報は、前記サブネットワーク内の機器のうちの予め定められた機器を示す第1情報であり、
予め定められていない前記他のサブネットワークに関連付けられた前記ネクストホップ情報は、前記サブネットワーク内の機器のうちの、前記ファイアウォール機能を通過して渡す予め定められた機器を示す第2情報であり、
前記ファイアウォール機能は、前記第2情報が示す機器と前記フィルタリングステップの処理位置との間の経路に設けられた機能である、
制御プログラム。
【発明を実施するための形態】
【0015】
以下、図面を参照して、実施形態について説明する。なお、実施形態において、同一又は同等の要素には、同一の符号を付し、重複する説明は省略される。
【0016】
<実施形態1>
図1は、実施形態1に係る通信制御装置の一構成例を示すブロック図である。
図1に示すように、本実施形態に係る通信制御装置1は、制御部1a及び記憶部1bを有する。通信制御装置1は、通信を中継することができる装置であり、そのための通信ポート(通信インタフェース)等を有することができる。
【0017】
例えば、制御部1a(又は制御部1a及び記憶部1b)は集積回路(Integrated Circuit)によって実現することができ、記憶部1bは半導体メモリによって実現することができる。また、制御部1aは、例えば、CPU(Central Processing Unit)、作業用メモリ、及びプログラムを記憶した不揮発性の記憶装置などによって実現することもできる。
【0018】
そして、本実施形態の主たる特徴として、制御部1aは、ファイアウォール機能、レイヤ2ブリッジ機能、反映機能、及びフィルタ機能を有する。レイヤ2ブリッジ機能は、受信したパケットをルーティングテーブルに基づき中継する機能である。記憶部1bは、制御部1aで使用するこのルーティングテーブルを記憶する。
【0019】
レイヤ2ブリッジ機能は、中継先として通常、ファイアウォール機能を経由した機器を選択するが、後述するようにフィルタ機能によりこのような機器以外に中継することもある。ファイアウォール機能は、不正なパケットの受信を拒否する機能をもち、受信したパケットのうちセキュリティ上問題のないパケットを通過させ、問題のあるパケット(不正なパケット)をブロックして破棄することができる。
【0020】
このように、通信制御装置1は、レイヤ2ブリッジとして設置される装置であり、ファイアウォール機能を有する。つまり、通信制御装置1は、レイヤ2ブリッジ機能及びファイアウォール機能をもつ装置であり、レイヤ2ブリッジで動作するファイアウォール装置と称することもできる。
【0021】
また、反映機能は、通信経路上の経路情報(通信情報)を記憶部1bのルーティングテーブルに反映する。この反映機能により、レイヤ2ブリッジとして設置された通信制御装置1は、動的なネットワークの変更に対応可能で、レイヤ2ブリッジ機能により受信パケットを反映後の(保存した)ルーティングテーブルから適切な中継先(転送先)に中継することができる。なお、反映機能は、レイヤ2ブリッジ機能における設定機能の一つとして含めることができる。
【0022】
そして、フィルタ機能は、サブネットワーク内の機器から他のサブネットワーク内の機器に送信されたパケットを、ルーティングテーブルに基づき、ファイアウォール機能へ転送することなく上記他のサブネットワーク内の機器に転送する。ここで参照されるルーティングテーブルは、記憶部1bに記憶されたもの、つまり反映機能で反映されたものである。
【0023】
本実施形態に係る通信制御装置1によれば、ファイアフォール機能を備えレイヤ2ブリッジモードで働かせるに際し、システムエンジニアや装置メーカの手間をかけることなく、異なるサブネット内に設置された機器間での通信を支障なく行うことができる。
【0024】
<実施形態2>
実施形態2について、
図2〜
図7を併せて参照しながら、実施形態1との相違点を中心に説明するが、実施形態1で説明した様々な例が適用できる。
図2は、実施形態2に係る通信制御装置を備えた通信システムの一構成例を示す図で、
図3は、
図2の通信システムにおける通信制御装置の一構成例を示す機能ブロック図である。
図4は、
図3の通信制御装置で使用されるルーティングテーブルの一例を示す図である。
【0025】
図2に示すように、本実施形態に係る通信システムは、通信制御装置10と、ルータA(2)、PC3、及びルータB(4)とが接続され、ルータB(4)と転送先サーバ5とが接続されたネットワーク構成を有する。以下、
図2に示すようなネットワーク構成に基づき本実施形態を説明するが、本実施形態はこのようなネットワーク構成に限ったものではない。例えばルータ等の通信装置が複数存在して通信経路が複数存在するようなネットワーク構成であって、通信制御装置10がレイヤ2ブリッジとして設置されるようなネットワーク構成に適用できる。なお、PC3の代わりに、携帯電話機(スマートフォンと称されるものも含む)等の機器を配置することもできる。
【0026】
ルータA(2)は、インターネットに接続されており、通信制御装置10は、そのルータA(2)とPC3及びルータB(4)との間にレイヤ2ブリッジとして接続されている。なお、PC3及びルータB(4)は、LAN(Local Area Network)を構成することができる。転送先サーバ5は、PC3からパケットを転送する転送先の例であり、例えば他のPC等とすることもできる。
【0027】
このネットワーク構成においては、各機器のIPアドレスの例を図示したように、ルータA(2)、PC3、及びルータB(4)は第1サブネット6に属する。また、このネットワーク構成では、転送先サーバ5は第1サブネット6とは異なる第2サブネット7に属し、ルータB(4)は第2サブネット7にも属することとなる。このように、本実施形態に係る通信システムは、通信制御装置10と、サブネットワーク(この例では第1サブネット6)に属する機器と、他のサブネットワーク(この例では第2サブネット7)に属する機器と、を備えることができる。
【0028】
通信制御装置10は、
図1の通信制御装置1に対応する装置であり、
図3に通信制御装置10の内部構成例を示すような構成を有することができる。即ち、通信制御装置10は、ファイアウォール機能11、フィルタ機能12、ルーティングテーブル13、INPUT(INPUTブロック)14、及びOUTPUT(OUTPUTブロック)15を備えることができる。
【0029】
ファイアウォール機能11、フィルタ機能12、INPUT14、及びOUTPUT15は、制御プログラム(ソフトウェア;ファームウェアとも称する)、それを実行するCPU等の制御部、及びハードウェアとしての入出力ポートなどで実現することができる。その他、通信制御装置10は、図示しないレイヤ2ブリッジ機能及び反映機能を有する。このレイヤ2ブリッジ機能及び反映機能もソフトウェア、それを実行する制御部、及び上記入出力ポートなどで実現することができる。なお、反映機能は、レイヤ2ブリッジ機能における設定機能の一つとして含めることができる。
【0030】
INPUT14は、PC3又はルータB(4)から送信されるTCPパケットを受信し、フィルタ機能12にそのパケットを渡す。フィルタ機能12は、受け取ったパケットの宛先MAC(Media Access Control)アドレスと宛先IPアドレスとルーティングテーブル13を比較して、宛先MACアドレスを書き換える機能を有する。フィルタ機能12は、宛先MACアドレスを書き換えたパケットの宛先を確認し、ファイアウォール機能11又はOUTPUT15のうちの宛先に対応する側にそのパケット渡す。
【0031】
OUTPUT15は、フィルタ機能12から渡されたパケットを転送する。ファイアウォール機能11は、フィルタ機能12から送られてきたパケットを検査し、セキュリティ上問題がない場合にはルータA(2)にそのパケットを転送する。
【0032】
また、上述の反映機能は、受信したパケットから経路情報(通信情報)を取得し、取得された経路情報に基づきルーティングテーブル13を反映することができる。この取得は、通信経路上を定期的に監視しておくことで自動的に実行するようにすることが好ましい。つまり、反映機能は自動反映機能を有することが好ましい。これにより動的にネットワークの変更に対応することができる。
【0033】
また、上述の反映機能は、ユーザ操作により入力された経路情報に基づきルーティングテーブル13を反映することができる。つまり、反映機能は手動反映機能を有することができる。通信制御装置10は、ルーティングテーブル13の反映を、上述のような自動的な実行とユーザ操作による手動での実行との双方で行うことができるように構成しておくことが好ましい。手動での経路情報の入力は、通信制御装置10に別途設けた操作スイッチ等の操作部から行うことができ、また、通信制御装置10に接続したPC(例えばPC3)などから、通信制御装置10が提供するユーザインタフェースを使用して行うことができる。
【0034】
また、ルーティングテーブル13は、
図4に示すルーティングテーブル40のように、サブネット情報とネクストホップ情報とを対で保持することができる。つまり、ルーティングテーブル13には、サブネット情報とネクストホップ情報とを関連付けたテーブルが含まれている。サブネット情報は、受信したパケットの転送先のサブネットワーク(サブネット)を示す情報である。ネクストホップ情報は、そのサブネット情報が示す転送先のサブネットワークに転送可能な転送先の機器を指定する情報である。
【0035】
例えば、反映機能は、ユーザが手動設定した経路情報と通信経路に転送されるパケットの情報を基に、LAN側のサブネット情報とルータA(2)やルータB(4)のIPアドレスをネクストホップ情報として、ルーティングテーブル13に保持(反映)する。その結果として、ルーティングテーブル13は、ルーティングテーブル40に示すような情報が保持されることになる。
【0036】
また、ルーティングテーブル40で例示したように、ネクストホップ情報は、次のような情報とすることができる。即ち、予め定められた他のサブネットワーク(この例では第2サブネット7)に関連付けられたネクストホップ情報は、サブネットワーク(この例では第1サブネット6)内の機器のうちの予め定められた機器を示す情報とすることができる。この予め定められた機器は、この例ではルータB(4)に該当する。なお、予め定められたとは、ルーティングテーブル13(40)を参照する時点で定められていればよく、予め定められていないとはその時点で定められていなければよい。
【0037】
さらに、予め定められていない他のサブネットワーク(この例では第2サブネット7以外)に関連付けられたネクストホップ情報は、サブネットワーク(この例では第1サブネット6)内の機器のうちのデフォルト機器を示す情報とすることができる。このデフォルト機器は、ファイアウォール機能11を通過して渡す予め定められた機器を指し、この例ではルータA(2)に該当する。
【0038】
フィルタ機能12における、このような情報が含まれるルーティングテーブル13(40)を参照したフィルタリング処理について説明する。フィルタ機能12は、第1サブネット6に流れているパケットを監視し、送信先IPアドレスとサブネット情報を内部のルーティングテーブル13(40)と比較する。
【0039】
そして、フィルタ機能12は、そのパケットに含まれる情報がルーティングテーブル40に一致していれば、登録先のネクストポップ情報が示す機器にそのパケットを転送する。この際、上述したように、フィルタ機能12は、受け取ったパケットの宛先MAC(Media Access Control)アドレスと宛先IPアドレスとルーティングテーブル13を比較して、宛先MACアドレスを転送先の機器を示すものに書き換える。ルーティングテーブル40の一段目に示すサブネット情報である場合には、転送先の機器がルータB(4)と決まり、ルータB(4)を示す宛先MACアドレスに書き換えられることになる。そして、この場合、フィルタ機能12は、OUTPUT15にそのパケット渡すことになり、ファイアウォール機能11を通過させない。
【0040】
このようにして、フィルタ機能12は、異なるサブネットの機器に対して送信されたパケットを、ルーティングテーブル40に基づき、ファイアウォール機能11へ転送することなく送信先のサブネット内の機器(この例ではルータB(4))に転送する。
【0041】
このように、通信制御装置10は、レイヤ2ブリッジモードで働く装置であって、ファイアウォール機能11の前段に、フィルタ機能12を設けている。そして、フィルタ機能12が、PC3から送信された要求パケットを、ファイアウォール機能11側へ転送することなく、転送先サーバ5が属する第2サブネット7のルータB(4)へリダイレクトする。これにより、TCPの行きと戻りが異なる経路を通るパケットを、ファイアウォール機能11で廃棄することなく通信することができる。
【0042】
一方、登録されていなければ、フィルタ機能12は、送信元IPアドレスと登録済みのネクストホップ情報から送信先(転送先)を判定し、判定した転送先にそのパケットを転送する。この例では、判定によりデフォルトのサブネットに対応するIPアドレス192.168.0.1(つまりルータA(2))が転送先として判定され、転送が実行される。この場合、フィルタ機能12は、上述したように、ルータA(2)の前段に存在するファイアウォール機能11にそのパケットを渡すことになる。
【0043】
この例からも分かるように、フィルタ機能12は、次のような宛先変更機能とすることができる。即ち、宛先変更機能は、TCPパケットの宛先MACアドレスと送信元IPアドレスがルーティングテーブル13(40)に存在するか否かを確認し、宛先MACアドレスを書き換える。宛先MACアドレスは、ルーティングテーブルを基にファイアウォール機能11を介するか直接送るかを判定し、その判定結果に従い切り替える(書き換える)。
【0044】
次に、
図5〜
図7を参照しながら、本実施形態に係る通信システムにおける通信制御方法の一例を説明する。
図5は、通信制御装置1において書き換えられる前のパケットの一例を示す図で、
図6は、書き換えられた後のパケットの一例を示す図である。
図7は、
図3の通信システムにおける通信制御方法の一例を説明するためのフロー図である。
【0045】
この例では、PC3には、ルーティングテーブルとして、デフォルトルートがルータA(2)のみ設定されているものとする。このとき、第1サブネット6に属するPC3から第2サブネット7に属する転送先サーバ5へパケットを送信する場合、PC3は、ルータA(2)を経由して送信する。つまり、
図5で示すパケット51のようなパケットを送信する。
【0046】
第1サブネット6に属するPC3から第2サブネット7に属する転送先サーバ5へパケットを送信する場合について、
図7のフローに沿って説明する。PC3から転送先サーバ5へのTCP通信の場合、最初に送信されるPC3が送信するTCP SYNパケットはレイヤ2ブリッジのファイアウォール装置である通信制御装置10が受信する。つまり、PC3はTCPセッション確立のためのTCP SYNパケットをデフォルトゲートウェイであるルータA(2)に送信する(ステップS1)。このSYNパケットを通信制御装置10のフィルタ機能12で一旦終端し、パケットの検査を行う。
【0047】
フィルタ機能12では、INPUT14に入ってきたパケットに対し、送信先IPアドレスである192.168.100.100とサブネット情報である192.168.100.0/24をルーティングテーブル40と比較する。この例では、送信先IPアドレス192.168.100.100がルーティングテーブル40に存在する。よって、フィルタ機能12は、ネクストホップとしてその送信先IPアドレスに関連付けられたルータB(4)のIPアドレス192.168.0.10を決定する(ステップS2)。また、ステップS2においては、反映機能により経路情報の学習(反映)も行うことができる。フィルタ機能12は、決定した転送先に従い、そのパケットをファイアウォール機能11に転送せずに、OUTPUT15に転送する。
【0048】
具体的には、フィルタ機能12は、送信先IPアドレスがルーティングテーブル40に存在する場合、ルーティングテーブル40のネクストホップ情報に従い、パケットの宛先MACアドレスをルータA(2)からルータB(4)に書き換える。そして、フィルタ機能12は、書き換えたパケットをOUTPUT15に渡す。書き換え後のパケットは、
図6で示すパケット52のように、宛先MACアドレスがルータB(4)を指すパケットとなる。
【0049】
この処理で転送先サーバ5へのパケットは、ルータA(2)を介することなくルータB(4)宛てにTCP SYNパケットとして送信される(ステップS3)。ルータB(4)は、このパケットを転送先サーバ5に転送する(ステップS4)。転送先サーバ5は、転送先サーバ5からの戻りのパケットであるTCP SN,ACKパケットをルータB(4)に返送する(ステップS5)。ルータB(4)は、
図2に示すようにPC3と同一の第1サブネット6であるため、TCP SYN,ACKを直接PC3に転送する(ステップS6)。
【0050】
この動作により、PC3と転送先サーバ5間のパケットは通信制御装置10のファイアウォール機能11を通過しないため、ファイアウォール機能11のステートフルパケットインスペクションによって、該当のパケットが廃棄されるような事象は発生しない。なお、このステートフルパケットインスペクションについては後述する。
【0051】
このようにして、この通信システムでは、PC3からのTCP SYNパケットを通信制御装置10で一旦終端させ、経路情報を判定した後に、ルータB(4)にTCP SYNパケットを転送する。そして、この通信システムでは、転送先サーバ5からの戻りパケットがルータB(4)からPC3に直接送られる。
【0052】
その後(ステップS6の後)、PC3からのTCP ACKパケットは、通信制御装置10で一旦終端し、同様に経路情報を判定して経路情報の学習及び決定を行う(ステップS8)。その後、このパケットは、ルータB(4)に転送され(ステップS9)、ルータB(4)から転送先サーバ5へ転送され(ステップS10)、TCPセッションが確立する。
【0053】
一方で、送信先IPアドレスである192.168.100.100がルーティングテーブル40に存在しない場合、フィルタ機能12は、次のような処理を行う。即ち、フィルタ機能12は、パケットの宛先MACアドレスを書き換えずにファイアウォール機能11に送り、デフォルトのネクストホップであるルータA(2)に転送する。
【0054】
ここで、比較例として、本実施形態とは異なり、フィルタ機能12が存在しない場合について説明する。フィルタ機能12が存在しない場合には、次のような処理になる。
【0055】
まず、ファイアウォール機能11及びフィルタ機能12が存在しない場合において、異なるサブネットに属するPC3と転送先サーバ5の間で通信する場合、次のようにして転送先サーバ5へ到達する。即ち、PC3から送信された要求パケットは、PC3が属する第1サブネット6のルータA(2)で転送先サーバ5が属する第2サブネット7のルータB(4)へリダイレクトされ、転送先サーバ5へ到達する。リダイレクトする際、ルータA(2)はPC3と直接通信するよう転送先サーバ5へ指示する。そのため、転送先サーバ5からの応答パケットは、ルータB(4)を経由した後、ルータA(2)を経由せず、PC3へ到達する。よって、その後は、PC3と転送先サーバ5の間で直接通信するようになる。
【0056】
そして、このようなネットワーク環境において、ルータA(2)の内側に、レイヤ2ブリッジモードで働くファイアウォール機能11を含む通信装置(通信制御装置)を追加設置した場合には、次のような処理となる。即ち、PC3からの最初の要求パケットは、その通信制御装置内のファイアウォール機能11を通過し、ルータA(2)でリダイレクトされることになる。一方で、要求パケットに対する転送先サーバ5からの応答パケットが通信制御装置内のファイアウォール機能11を通過しないため、ファイアウォール機能11は、当該通信は不正な通信であると判断する。そして、ファイアウォール機能11は、その後同様の通信要求があった場合に、当該要求パケットをブロックするように働き、PC3と転送先サーバ5の間の通信が不可能になってしまう。
【0057】
フィルタ機能12が存在しない場合について、具体的に説明する。PC3から転送先サーバ5にパケットを送信する場合、転送先サーバ5のIPアドレスのサブネット192.168.100.0/24はPC3のサブネット192.168.0.0/24と異なる。よって、PC3はサブネットの異なるパケットをデフォルトゲートウェイであるルータA(2)に転送することになる。
【0058】
ルータA(2)は、ルータB(4)と自動的に行われる経路情報の交換処理にて転送先サーバ5がルータB(4)の管理するネットワークに存在していることを認識している。このため、ルータA(2)は、ルータA(2)のルーティングテーブルに従って、パケットをルータB(4)に転送する。これにより、転送先サーバ5にPC3から送信されたパケットが到達することになる。転送先サーバ5からの戻りのパケットは、転送先サーバ5からルータB(4)に送られる。ルータB(4)は、PC3のサブネット情報が192.168.0.0/24であるため、ルータA(2)に転送することなく同一サブネットであるPC3に、この戻りパケットを直接転送する。このとき、戻りパケットは通信制御装置(通信制御装置10においてフィルタ機能12を備えない装置)を経由しない。このため、この後のPC3から転送先サーバ5へのパケットは、通信制御装置のファイアウォール機能11のステートフルパケットインスペクションによって廃棄されてしまう。
【0059】
ファイアウォール機能11の処理としての、ステートフルパケットインスペクションについて補足する。これは、パケットの時間的な前後関係まで追跡し、TCPセッションに基づく正当な手順を踏んだパケットか、手続きを装った不正なものか見極め、不正なパケットの受信を拒否する仕組みである。なお、TCPセッションに限らず、UDP(User Datagram Protocol)等の他のトランスポート層のセッションについても同様である。よって、PC3から見て、通信経路にルータが複数存在するネットワーク構成において、ファイアウォール機能11が動作している通信制御装置にTCP 3ウェイハンドシェイクのパケットの全てが通過しない場合がある。そして、この場合、ファイアウォール機能11のステートフルパケットインスペクションによって、該当のパケットが廃棄されてしまい、通信のノード間でTCP通信ができないという問題が発生する。
【0060】
上述したようにフィルタ機能12が具備されていない場合には通信不可状態となる。しかしながら、本実施形態に係る通信制御装置10では、フィルタ機能12を実装している。フィルタ機能12では、上述したようにPC3から転送されてきた宛先IPアドレスからサブネット情報を確認し、通信制御装置10に保持させるルーティングテーブル13(40)に従って、そのサブネットを管理する適切なネクストホップに転送する処理を行う。よって、本実施形態では、上述のようなパケットの廃棄は生じない。
【0061】
また、本実施形態に係る通信制御装置10は、サブネット情報とネクストホップの情報をルーティングテーブルで保持しており、ルーティングテーブルへの情報の反映を行う反映機能も備えている。上述したように、反映機能は、手動反映機能及び自動反映機能を有することができ、特に少なくとも自動反映機能を有することが好ましい。上述した通り、自動反映機能は、通信制御装置10を経由する通信を監視した情報を反映させる自律学習を実行する機能である。
【0062】
以上に説明した本実施形態に係る通信制御装置10によれば、次の(I)〜(III)のような効果を奏する。
【0063】
(I)レイヤ2ブリッジモードで働く、ファイアウォール機能を含む、通信装置の配下に、異なるサブネットが設けられたネットワーク環境において、その異なるサブネット内に設置されたPC3と転送先サーバ5の間で、支障なく通信が行えるようになる。従って、ユーザが運用していたネットワーク構成に依存することなく、本実施形態のレイヤ2ブリッジとしての通信制御装置10として、ファイアウォール機能11によるセキュリティを担保できる。
【0064】
(II)本実施形態に係る通信システムは、ルータA(2)の直下にファイアウォール機能11を具備している通信制御装置10をレイヤ2のブリッジとして設置しているネットワーク構成を有する。そして、このようなネットワーク構成において、通信制御装置10がTCPセッションの管理ができない場合にも、対象経路となる設定を自動反映機能により動的に学習して転送することができる。このように、通信制御装置10の設定をユーザが意識することなく、自動的に反映させることもできるため、ユーザビリティが向上する。例えば、ネットワーク設計にコストをかけられないユーザの環境においても、ネットワークを構成する各ノードのネクストホップを設定することなく、通信制御装置10でネクストホップ情報を集約させ、効率化できるという効果もある。
【0065】
図8を併せて参照し、上記(II)に関する効果について説明する。
図8は、本実施形態に係る通信システムの他の構成例を示す図である。
図8で示す通信システムは、
図2及び
図3に示した通信システムにおいて、1台のPC3から見て、ルータA(2)とルータB(4)のように通信経路が複数存在する環境で、新規にルータC(8)を追加したものである。
【0066】
新規にルータC(8)を追加した場合、自動反映機能がない場合にはルータA(2)に経路情報を設定する必要があるが、追加削除毎に設定変更を実施しなければならない点で利便性が悪い。しかしながら、本実施形態に係る通信システムでは、自動反映機能を備えた通信制御装置10を設置することで、このような点にも対処することができ、利便性を向上させることができる。
【0067】
(III)通信制御装置10で自動的に転送先を判定するため、PC3、ルータA(2)、及びルータB(4)にその都度設定を行う必要がなくなり、システムエンジニアや装置メーカの手間を軽減できるため、メンテナンスのコストが削減できる。よって、ネットワーク管理者など専門の人員がいない企業やネットワーク設定にコストをかけられないユーザであっても、容易に複数のルータのネットワークを構成できる。
【0068】
<実施形態3>
実施形態3について、
図9及び
図10を併せて参照し、その効果も含めた実施形態2との相違点を中心に説明する。但し、実施形態3は、実施形態1,2で説明した様々な例が適用できる。
図9は、実施形態3に係る通信制御装置の一構成例を示す機能ブロック図で、
図10は、その通信制御装置で解析されるパケットの一例を示す図である。
【0069】
本実施形態に係る通信制御装置10aは、上述した自動反映機能の一例として、ICMP(Internet Control Message Protocol)解析機能16を備える。なお、反映機能について説明したように、ICMP解析機能16も制御プログラム(ソフトウェア)及びそれを実行するCPU等で実現することができる。
【0070】
ICMP解析機能16は、ルータA(2)からのICMP Redirectメッセージを解析し、ルーティング情報として反映させる。この反映は、ICMP解析機能16がルーティングテーブル13へネクストホップ情報を反映させることで行うことができる。
【0071】
ICMP解析機能16は、通信制御装置10aを経由するICMP Redirectパケットを解析し、そのゲートウェイIPアドレス情報を、ルーティングテーブル13に反映させる自律学習を行う。具体的には、ICMP解析機能16は、
図10のICMP Redirectメッセージのフォーマット60に示すようなICMP Redirectパケットを解析する。特に、ICMP解析機能16は、ICMP Redirectパケットのタイプとゲートウェイインターネットアドレス、インターネットヘッダ部分を解析し、ルーティングテーブル13に反映する。
【0072】
通信制御装置10aのルーティングテーブル13に転送先サーバ5のネクストホップ情報が存在しない場合、PC3から転送先サーバ5へのパケットはルータA(2)に送信される。これは、PC3には、ルーティングテーブルとして、デフォルトルートがルータA(2)のみ設定されているためである。このとき、ルータA(2)は、PC3とルータB(4)が同一第1サブネット6であるため、経路の変更要求であるICMP RedirectパケットをPC3に送信する。
【0073】
ルータA(2)が生成するICMP Redirectパケットには、
図10のフォーマット60における「インターネットヘッダ+データグラムのデータ64ビット」のフィールドにPC3が送信したパケットの情報が載る。また、このICMP Redirectパケットには、ゲートウェイインターネットアドレスのフィールドに、ルータA(2)が保持するルーティングテーブルのネクストホップ情報が載る。ルータA(2)は、生成したICMP RedirectパケットをPC3に送信する。
【0074】
このように、通信制御装置10aは、ICMP解析機能16で通信制御装置10aを通過するICMP Redirectパケットを監視する。そして、ICMP解析機能16は、フォーマット60におけるタイプが「5」のICMP Redirectであるか否かを判定する。
【0075】
ICMP解析機能16は、タイプが「5」の場合、「インターネットヘッダ+データグラムのデータ64ビット」のフィールドから送信先IPアドレス情報を抽出する。これに加え、ICMP解析機能16は、「ゲートウェイインターネットアドレス」のフィールドから、ルータA(2)が指示したネクストホップ情報を抽出する。そして、ICMP解析機能16は、抽出した送信先IPアドレスとネクストホップ情報が通信制御装置10aのルーティングテーブル13に存在するか否か確認して、存在しなければルーティングテーブル13に追加する。
【0076】
このようにして、本実施形態に係る通信制御装置10aでは、手動設定したルーティングテーブル13にネクストホップ情報が存在しない場合にも、自動的にルーティングテーブル13を生成することができる。
【0077】
<他の実施形態>
[a]
実施形態1では、
図1に示す通信制御装置1の制御部1a及び記憶部1bの機能について説明したが、通信制御装置1としてこれらの機能が実現できればよい。同様に、実施形態2,3では、
図3又は
図9に示す通信制御装置10又は10a内の各構成要素の機能について説明したが、通信制御装置としてこれらの機能が実現できればよい。また、各実施形態に係る通信制御装置は、レイヤ2ブリッジモードで働かせるような様々な製品に搭載することができる。
【0078】
[b]
実施形態1〜3に係る通信制御装置は、次のようなハードウェア構成を有していてもよい。
図11は、実施形態1〜3に係る通信制御装置のハードウェア構成の一例を示す図である。なお、上記他の実施形態[a]についても同様である。
【0079】
図11に示す通信制御装置100は、プロセッサ101及びメモリ102を有する。実施形態1〜3で説明した通信制御装置における制御部1aの機能或いは各機能11,12,16は、プロセッサ101がメモリ102に記憶された制御プログラムを読み込んで実行することにより実現される。この制御プログラムは、プロセッサ101を制御部1aとして機能させるためのプログラムとすることができる。また、各機能11,12,14〜16についてソフトウェアの構成として説明したことからも分かるように、この制御プログラムは、機能11,12,14〜16の少なくとも1つの機能を実現させるためのプログラムを含むことができる。また、メモリ102には、ルーティングテーブル13も記憶しておくことができる。
【0080】
上述の例において、制御プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)を含む。さらに、この例は、CD−ROM(Read Only Memory)、CD−R、CD−R/Wを含む。さらに、この例は、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0081】
[c]
さらに、上述した様々な実施形態において、通信制御装置における通信制御方法の手順を例示したように、本開示は、通信制御方法としての形態も採り得る。この通信制御方法は、ルーティングテーブルを記憶する記憶部を備えるとともにファイアウォール機能及びレイヤ2ブリッジ機能を備えた通信制御装置によって実行される方法である。そして、この通信制御方法は、次のような、反映ステップ、中継ステップ、及びフィルタリングステップを有する。反映ステップは、通信経路上の経路情報を前記ルーティングテーブルに反映する。中継ステップは、レイヤ2ブリッジ機能により、受信したパケットをルーティングテーブルに基づき中継する。フィルタリングステップは、サブネットワーク内の機器から他のサブネットワーク内の機器に送信されたパケットを、ルーティングテーブルに基づき、ファイアウォール機能へ転送することなく上記他のサブネットワーク内の機器に転送する。なお、その他の例については、上述した様々な実施形態で説明した通りである。また、上記制御プログラムは、通信制御装置に上述した反映ステップ、中継ステップ、及びフィルタリングステップを実行させるためのプログラムであると言える。
【0082】
なお、本開示は上記実施形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。また、本開示は、それぞれの実施形態を適宜組み合わせて実施されてもよい。
【課題】ファイアフォール機能を備えレイヤ2ブリッジモードで働く通信制御装置において、システムエンジニアや装置メーカの手間をかけることなく、異なるサブネット内に設置された機器間での通信を支障なく行う。
【解決手段】通信制御装置1は、ルーティングテーブルを記憶する記憶部1bと、制御部1aと、を備える。制御部1aは、ファイアウォール機能と、受信したパケットを上記ルーティングテーブルに基づき中継するレイヤ2ブリッジ機能と、通信経路上の経路情報を上記ルーティングテーブルに反映する反映機能と、を有する。制御部1aは、サブネットワーク内の機器から他のサブネットワーク内の機器に送信されたパケットを、上記ルーティングテーブルに基づき、上記ファイアウォール機能へ転送することなく上記他のサブネットワーク内の機器に転送するフィルタ機能を有する。