以下に添付図面を参照して、通信制御装置、通信制御プログラムおよび通信制御方法の実施形態を詳細に説明する。
(第1の実施形態に適用可能な通信システムの構成)
図1は、第1の実施形態に適用可能な通信システムの一例の構成を示す。図1の例では、通信システム1は、通信制御装置10と、ネットワーク11に接続される有線スイッチ(SW)20aおよび無線アクセスポイント(AP)20bと、管理者用パーソナルコンピュータ(PC)21と、初期設定用PC22と、DHCP(Dynamic Host Configuration Protocol)サーバ23とを含む。通信制御装置10は、ルータ12を介してネットワーク11に接続される。DHCPサーバ23は、ネットワーク11に接続される各機器に対してIP(Internet Protocol)アドレスを割り当てる。また、有線SW20aおよび無線AP20bは、何れか一方のみを含んでもよいし、それぞれさらに多数を含んでもよい。
ネットワーク11に対して機密ネットワーク40が接続される。図1の例では、機密ネットワーク40は、プリンタ50と、機密情報サーバ51、…とを含んでいる。機密ネットワーク40は、例えば組織体内に構築される組織内LANであって、組織体外からのアクセスに対して制限を与える。
通信制御装置10は、通信制御部100と、Webサーバ101とを含む。Webサーバ101は、通信制御装置10における外部に対するユーザインタフェースを提供する。例えば、管理者は、管理者用PC21からネットワーク11を介して通信制御装置10内のWebサーバ101にアクセスすることで、通信制御部100の機能の管理および設定を行うことができる。
また、通信制御部100は、OpenFlow(登録商標)コントローラ(OFC)102を含む。さらに、有線SW20aおよび無線AP20bは、それぞれOpenFlowスイッチ(OFS)200aおよび200bを含む。OFC102は、例えば管理者用PC21による設定に従い、OFS200aおよび200bに設定するフローエントリを生成し、生成したフローエントリをOFS200aおよび200bに登録する。
ここで、OFC102や、OFS200aおよび200bが適用される技術であるOpenFlow(登録商標)について、概略的に説明する。OpenFlowは、ネットワーク上のデータの動きをソフトウェアだけで制御可能とするSDN(Software-Defined Network)と呼ばれる概念に基づく技術仕様の一つであり、仮想化されたネットワーク上での通信を制御する手法(プロトコル)を提供する。
ネットワークの仮想化は、例えば、一つの物理インタフェースを複数に、若しくは複数の物理インタフェースを一つに見せるような仮想インタフェース技術や、仮想インタフェースを接続中継する仮想スイッチ技術などに至る、複数の構成要素を含む技術の集合体である。ネットワーク仮想化は、物理ネットワーク機器と仮想ネットワーク部品、プロトコル技術の組合せによって、物理的なネットワーク構成から論理的なネットワーク構成を仮想的に分離し、物理構成に縛られない柔軟なネットワーク構成を実現する。
OpenFlowは、通信をエンド・ツー・エンドのフローとして捉えて、そのフロー単位に経路制御、負荷分散、最適化などを行うことができる。具体的には、OpenFlowは、データ通信経路の中継機器などにおいて自律分散的に各データパケットを解析して転送するのではなく、集中制御型に変えることで実現する。
OpenFlowでは、データの解析と転送先判断および決定制御とを行う「コントロール・プレーン」と、単なるパケットの物理的な伝送を担う部分である「データ・プレーン」とを分離する。OpenFlowでは、コントロール・プレーンを司るOpenFlow(登録商標)コントローラ(以下、OFC)が転送ルールを指示し、データ・プレーンを担うOpenFlow(登録商標)スイッチ(以下、OFS)は、OFCの指示に従ってパケットの転送を行う。より具体的には、OFSは、OFCが追加および書き換えを行う、OFSが持つフローテーブルに従って、パケットの転送を行う。この仕組みを用いることで、上述したネットワークの仮想化を制御するためのツールなどとしてOpenFlowを活用できる。
図1の説明に戻り、利用者端末30は、通信システム1の外部のユーザ、例えば通信システム1にログインするための認証情報を持っていないユーザが使用する外部の端末装置である。利用者端末30は、有線SW20aに有線で接続され、有線SW20aに含まれるOFS200aの制御に従い、有線SW20aを介してネットワーク11と通信を行うことができる。
また、利用者端末31も同様に、外部ユーザが使用する外部の端末装置である。この例では、利用者端末31は、例えば、無線LANを用いてネットワーク接続が可能な情報処理装置であるスマートデバイスであって、タブレット型コンピュータや、多機能型携帯電話端末(スマートフォン)を含む。利用者端末31は、無線AP20bと無線LANにより無線で接続され、無線AP20bに含まれるOFS200bの制御に従い、無線AP20bを介してネットワーク11と通信を行うことができる。
初期設定用PC22は、ハードウェア構成としては、互いにバスで接続されたCPU、ROM、RAM、ストレージ、通信I/FおよびデータI/Fを備え、ユーザ操作を受け付ける入力デバイスと、表示信号に応じた画面を表示する表示デバイスとを内蔵あるいは接続可能とされた、一般的なコンピュータの構成を有する。
初期設定用PC22は、ケーブルを用いて直接的に、または、ネットワークを介して通信制御装置10に接続され、少なくとも、通信制御装置10の機能の管理および設定を行うための管理設定画面にアクセスするための認証情報を初期化するために用いられる。例えば、初期設定用PC22は、Webサーバ101において通信制御部100に対する設定を行う際にWebサーバ101にアクセスするために用いる認証情報(パスワード、Webサーバ101の証明書情報など)を初期化することができる。
ネットワーク11に対して、機密ネットワーク40が接続される。機密ネットワーク40は、外部ユーザに公開してはならない機密情報を含む機密情報サーバ51を複数含む。また、機密ネットワーク40内は、プリンタ50をさらに含む。図1の例では、機密ネットワーク40は、例えばネットワークアドレス「192.168.1.0/24」が与えられ、プリンタ50は、IPアドレス「192.168.1.2」が与えられている。利用者端末30および31は、ネットワーク11に接続される各部のうち、機密ネットワーク40の内部に対するアクセスが制限され、機密ネットワーク40の外部には、自由なアクセスが許可されているものとする。
図2は、図1の構成において各機器に割り当てられるIPアドレスの例を示す。なお、ネットワークアドレスおよびIPアドレスは、スラッシュ記号の前側がアドレスを示し、後側がネットマスクを示している。図2に示される各ネットワークアドレスおよび各IPアドレスは、24ビットのネットマスクが設定されている。
図2において、ルータ12の一方の接続部に接続されるネットワーク13に、ネットマスクを24ビットとして、ネットワークアドレス「192.168.10.0/24」が割り当てられる。ルータ12の他方の接続部に接続されるネットワーク11(第1のネットワーク)に、ネットワークアドレス「192.168.20.0/24」が割り当てられる。また、通信制御装置10と初期設定用PC22とのケーブルまたはネットワーク14による直接的な接続をネットワーク(第2のネットワーク)と見做して、このネットワークにネットワークアドレス「192.168.254.0/24」が割り当てられる。表1は、これら各ネットワークアドレスを纏めて示す。
DHCPサーバ23は、IPアドレス「192.168.20.200/24」が割り当てられる。管理者用PC21、無線AP20bおよび利用者端末31は、それぞれ、IPアドレス「192.168.20.102/24」、「192.168.20.100/24」および「192.168.20.101/24」がDHCPサーバ23により割り当てられる。ルータ12は、ネットワークアドレス「192.168.10.0/24」側にIPアドレス「192.168.10.1」が割り当てられ、ネットワークアドレス「192.168.20.0/24」にIPアドレス「192.168.20.1」が割り当てられる。
通信制御装置10は、2つの通信ポートを有する。2つの通信ポートのうち送受信部130a(第1の接続部)は、ルータ12を介してネットワーク11に接続するための、主ポートと呼ばれる通信ポートを含む。送受信部130aにおいて、主ポートは、IPアドレス「192.168.10.2/24」が割り当てられる。この送受信部130aのIPアドレス「192.168.10.2/24」は、通信制御装置10に対する設定に応じて変更が可能である。以下、特に記載の無い限り、送受信部130aが含む主ポートに割り当てられるIPアドレスを、送受信部130aのIPアドレスであるとして説明を行う。
一方、通信制御装置10が有する2つの通信ポートのうち送受信部130b(第2の接続部)は、ケーブルまたはネットワーク14を介して初期設定用PC22に接続するための、初期設定用ポートと呼ばれる通信ポートを含む。送受信部130bは、初期設定用ポートにIPアドレス「192.168.254.254/24」が割り当てられる。この送受信部130bのIPアドレス「192.168.254.254/24」は、固定とされる。初期設定用PC22は、IPアドレス「192.168.254.2/24」が割り当てられる。この初期設定用PC22のIPアドレス「192.168.254.2/24」は、例えば、手動により固定的に設定される。以下、特に記載の無い限り、送受信部130bが含む初期設定用ポートに割り当てられるIPアドレスを、送受信部130bのIPアドレスであるとして説明を行う。
また、ルータ12において、ネットワーク13に接続される一方の接続部に対してIPアドレス「192.168.10.1/24」が割り当てられ、ネットワーク11に接続される他方の接続部に対してIPアドレス「192.168.20.1/24」が割り当てられる。ここでは、ルータ12は、デフォルトゲートウェイを利用できないとされている。
表2は、これら通信システム1における各機器に割り当てられるIPアドレスを纏めて示す。
(第1の実施形態に係る構成)
次に、第1の実施形態に係る構成について説明する。図3は、第1の実施形態に係る通信制御装置10の一例のハードウェア構成を示す。図3において、通信制御装置10は、CPU(Central Processing Unit)1000と、ROM(Read Only Memory)1001と、RAM(Random Access Memory)1002と、ストレージ1003と、データI/F1004と、通信I/F1005aおよび1005bとを含み、これらがバス1010により互いに通信可能に接続される。このように、第1の実施形態に係る通信制御装置10は、一般的なコンピュータと同様の構成により実現できる。
ストレージ1003は、ハードディスクドライブや不揮発性半導体メモリ(フラッシュメモリ)により構成され、CPU1000が動作するための各種プログラムやデータが格納される。また、ROM1001は、例えば通信制御装置10が起動、動作するために用いるプログラムやデータが予め記憶される。CPU1000は、ストレージ1003やROM1001に格納されるプログラムに従い、RAM1002をワークエリアとして用いて動作し、通信制御装置10の全体の動作を制御する。データI/F1004は、外部の機器との間でデータの入出力を行うためのインタフェースであって、例えばUSB(Universal Serial Bus)を適用できる。
通信I/F1005aおよび1005bは、それぞれCPU1000の指示に従い、通信制御装置10の外部との通信を行う。通信I/F1005aおよび1005bは、それぞれ上述した送受信部130aおよび130bに対応する。
図4は、第1の実施形態に係る通信制御装置10の機能を説明するための一例の機能ブロック図である。図4において、通信制御装置10は、Webサーバ部122と、送受信部130aおよび130bと、通信制御部131aおよび131bと、ブリッジ部132とを含む。また、通信制御部131aは、OFC102を含む。
なお、図4において、送受信部130aおよび131bは、それぞれ送受信部#0および送受信部#1としても記載されている。同様に、通信制御部131aおよび131bは、それぞれ通信制御部#0および通信制御部#1としても記載されている。
これらWebサーバ部122、送受信部130aおよび130b、通信制御部131a131b、ならびに、ブリッジ部132は、CPU1000上で動作するプログラムが動作することにより構成される。これに限らず、これらWebサーバ部122、送受信部130aおよび130b、通信制御部131aおよび131b、ならびに、ブリッジ部132の一部または全部を、互いに協働して動作するハードウェア回路により構成してもよい。
送受信部130aは、予め記憶されるルーティングテーブルに従い、通信I/F1005aを制御してルータ12を介してネットワーク11に接続し、ネットワーク11を介した通信を行う。すなわち、送受信部130aは、ネットワークインタフェースとして通信制御装置10の外部から通信パケットを受け取り、また、ルーティングテーブルに従い、通信制御装置10の外部に通信パケットを送出する。
なお、通信パケットは、通信に用いる情報を含むヘッダと、送信するデータの本体を含むデータ部とを含む。送信対象のデータは、例えば所定サイズに分割され、分割されたそれぞれがデータ部に詰め込まれ、各データ部にそれぞれヘッダを付加されて各通信パケットが構成される。
表3は、送受信部130aが記憶するルーティングテーブルの例を示す。このルーティングテーブルは、例えば、通信制御装置10が含むストレージ1003に予め記憶される。これに限らず、ルーティングテーブルは、通信I/F1005aが持つROMなどの記憶媒体に予め記憶しておいてもよい。
表3において、ルーティングテーブルは、送信先IPアドレスとして、ネットマスクを含めてIPアドレス「0.0.0.0/0」が設定され、このIPアドレス「0.0.0.0/0」に、ゲートウェイのIPアドレスとして、ルータ12の「192.168.10.1」が関連付けられている。すなわち、送受信部130aは、通信制御装置10から送出する通信パケットの宛先IPアドレスが、送受信部130a自身が属するネットワークのネットワークアドレス「192.168.10.0/24」以外のIPアドレスである場合に、その通信パケットを、ゲートウェイとしてルータ12のIPアドレス「192.168.10.1」に送出する。
Webサーバ部122は、図1におけるWebサーバ101に対応し、通信制御装置10の外部に対するユーザインタフェースを提供する。Webサーバ部122は、ユーザインタフェースにより外部に画面情報を提供し、画面情報に基づきユーザインタフェースを介して入力された入力情報に応じた処理を実行する、処理実行部として機能する。Webサーバ部122は、送受信部130aを介して、ネットワーク11に対してHTTP(Hypertext Transfer Protocol)やFTP(File Transfer Protocol)に対応した通信を行うことができる。
通信制御部131a(第1の通信制御部)は、例えばNAPT(Network Address and Port Translation)を用いて送受信部130aによる通信を制御する。通信制御部131aは、送受信部130aが受信した通信パケットを送出するか否かの決定および実行を行う。また、通信制御部131aは、送受信部130aから送出される通信パケットの宛先IPアドレス、送信元IPアドレスを書き換えることができる。
また、通信制御部131aは、OFC102(転送装置制御部)の機能を含み、例えば管理者用PC21からの指示に従い、OFS200aおよび200bが含むフローテーブルに適用するためのフローエントリを生成する。通信制御部131aは、例えば、管理者用PC21からの要求に応じたWebサーバ部122の指示に従い、フローエントリを生成する。通信制御部131aは、OFC102の機能により、生成したフローエントリを例えば無線AP20b(転送装置)に転送する。無線AP20bは、転送されたフローエントリを、無線AP20bが含むOFS200bが有するフローテーブルに書き込む。
送受信部130bは、予め記憶されるルーティングテーブルに従い、通信I/F1005bを制御して、ケーブルまたはネットワーク14を介して初期設定用PC22との間で通信を行う。すなわち、送受信部130bは、上述の送受信部130aと同様に、ネットワークインタフェースとして、初期設定用PC22から通信パケットを受け取り、また、ルーティングテーブルに従い、初期設定用PC22に通信パケットを送出する。
表4は、送受信部130bが記憶するルーティングテーブルの例を示す。
表4において、ルーティングテーブルは、送信先IPアドレスとして、IPアドレス「0.0.0.0/0」が設定される。一方、このルーティングテーブルでは、ゲートウェイのIPアドレスが設定されない。したがって、送受信部130bは、通信制御装置10から送出する通信パケットの宛先IPアドレスが、送受信部130b自身が属するネットワークのネットワークアドレス「192.168.254.0/24」以外のIPアドレスである場合に、その通信パケットを外部に送出しない。
すなわち、第1の実施形態では、送受信部130bは、通信制御装置10の初期設定および初期化の際の、初期設定用PC22との通信に使用される。そのため、送受信部130bは、セキュリティなどの観点から、ルータを超えて接続される端末装置との通信は想定していない。したがって、送受信部130bが有するルーティングテーブルでは、ゲートウェイの設定を行わない。
表4のルーティングテーブルの設定によれば、送受信部130bが、例えばルータを介して、送受信部130b自身が属するネットワークと異なるネットワークアドレスが割り当てられた他のネットワークが接続されている場合に、送受信部130bから当該他のネットワークへの通信パケットの送出が行われない。そのため、送受信部130bによる通信は、例えばPCを送受信部130b(通信I/F1005b)に対して、ルータを介さずに直接的に接続する必要がある。
したがって、送受信部130bによる通信は、通信制御装置10の近傍において行われることになり、例えば、通信制御装置10をサーバルームに設置した場合、送受信部130bにPCなどを接続して行う作業がサーバルーム内に限定される。そのため、作業を行うユーザが限定され、作業に対する権限を管理可能となる。
通信制御部131b(第2の通信制御部)は、例えばNAPTを用いて送受信部130bによる通信を制御する。すなわち、通信制御部131bは、上述した通信制御部131aと同様に、送受信部130bが受信した通信パケットを送出するか否かの決定および実行を行う。また、通信制御部131bは、送受信部130bから送出される通信パケットの宛先IPアドレス、送信元IPアドレスを書き換えることができる。この場合、通信制御部131bは、送受信部130bから送出される通信パケットの宛先IPアドレスおよび送信元IPアドレスを、それぞれIPアドレス「192.168.254.2/24」および「192.168.254.254/24」に、固定的に書き換える。
ブリッジ部132は、一方の接続部に通信制御部131aが接続され、他方の接続部に通信制御部131bが接続され、通信制御部131aと通信制御部131bとの間の通信を中継する中継部として機能する。ここで、通信制御部131aのブリッジ部132側の接続部に、IPアドレス「169.254.0.1/24」が割り当てられる。一方、通信制御部131bのブリッジ部132側の接続部に、IPアドレス「169.254.0.2/24」が割り当てられる。これらIPアドレス「169.254.0.1/24」および「169.254.0.2/24」は、通信制御装置10の内部で使用される内部アドレスである。
表5は、これら通信制御装置10の内部で使用される内部アドレスを纏めて示す。表5の例では、IPアドレス「169.254.0.1/24」および「169.254.0.2/24」に、それぞれ名称「INT_0」および「INT_1」が与えられている。
なお、ここでは、送受信部130aおよび130bがそれぞれイーサネット(登録商標)に対応したインタフェースであり、且つ、ケーブル接続されることを想定しているが、これはこの例に限られない。例えば、送受信部130aおよび130bのうち少なくとも一方が無線LANに対応していてもよい。また、送受信部130aおよび130bが対応するインタフェースは、PCI(Peripheral Component Interconnect) ExpressやUSB(Universal Serial Bus)などのシリアルインタフェースであってもよい。さらに、送受信部130aおよび130bは、それぞれ異なる種類のインタフェースに対応していてもよい。
なお、通信制御部131aおよび131b、ならびに、ブリッジ部132の構成は、それぞれ送受信部130aおよび130bから転送された通信パケットと、それに対する応答の通信パケットとを適切に処理することができれば、構成は特に限定されない。また、上述では、通信制御部131aおよび131bがNAPTを用いて通信を制御するように説明したが、これはこの例に限定されない。例えば、通信制御部131aおよび131bは、NAT(Network Address Translation)を用いて通信を制御してもよい。
図5は、第1の実施形態に係る通信制御部131aの機能を説明するための一例の機能ブロック図である。図5において、通信制御部131aは、通信部1310と、制御部1311と、通信経路制御情報記憶部1312と、NAPTテーブル記憶部1313とを含む。また、通信制御部131aにおいて、制御部1311は、OFC102の機能を含む。通信経路制御情報記憶部1312およびNAPTテーブル記憶部1313は、例えば通信制御装置10のストレージ1003における所定の記憶領域が用いられる。
通信部1310は、送受信部130aとの間で通信パケットを送受信する第1の通信ポートと、ブリッジ部132との間で通信パケットを送受信する第2の通信ポートの、2つの通信ポートを含む。通信部1310は、第1の通信ポートおよび第2の通信ポートから通信部1310に入力された通信パケットからヘッダ情報を抽出し、抽出したヘッダ情報を制御部1311に渡す。通信部1310は、このヘッダ情報に基づく制御部1311の指示に応じて、入力された通信パケットの処理を行う。
制御部1311は、通信経路制御情報記憶部1312およびNAPTテーブル記憶部1313に記憶される情報に基づき、通信部1310から渡されたヘッダ情報に応じた処理を通信部1310に指示する。
通信経路制御情報記憶部1312は、通信制御装置10の内部の通信と外部の通信とを行うための制御情報を記憶する。通信経路制御情報記憶部1312により記憶される制御情報は、通信制御装置10内部の通信を行うための第1の実施形態に係るパケット処理テーブルと、通信制御装置10の外部と通信を行うための、ARP(Address Resolution Protocol)による通信を行うための所定のARPテーブルなどの情報とを含む。NAPTテーブル記憶部1313は、例えば通信制御装置10のストレージ1003といった記憶媒体への所定のNAPTテーブルの記憶およびNAPTテーブルの読み出しを制御する。
表6は、通信制御部131aにおいて通信経路制御情報記憶部1312が含む、第1の実施形態に係るパケット処理テーブルの例を示す。
表6において、パケット処理テーブルは、「入力ポート(in port)」、「タイプ(type)」、「送信元(src)」、「宛先(dst)」および「処理(actions)」の各項目を含むエントリを1以上有する。通信制御部131aの制御部1311は、通信部1310に入力された通信パケットが、エントリの各項目「入力ポート」、「タイプ」、「送信元」および「宛先」に記述される条件を満たす場合に、そのエントリの項目「処理」に記述される処理を実行する。
各エントリの先頭の項目「#」は、エントリ毎の通し番号を示している。各エントリは、エントリの値が小さい通し番号から順に、各項目「入力ポート」、「タイプ」、「送信元」および「宛先」に記述される条件の判定が行われる。項目「#」において、値「default」は、項目「#」に数値が記述されるエントリに記述される各条件を満たさないパケットに対する処理が定義される。
項目「入力ポート」は、通信ポートを示す情報が記述される。表6の例では、通し番号「1」および「2」のエントリでは、項目「入力ポート」にそれぞれ「送受信部#0」および「ブリッジ部」が記述され、それぞれ、通信部1310の第1の通信ポートおよび第2の通信ポートが指定されている。また、通し番号の値が「default」のエントリでは、項目「入力ポート」に任意の通信ポートを示す「ANY」が記述されている。
項目「タイプ」は、通信パケットのタイプが記述される。表6の例では、通し番号「1」および「2」のエントリでは、項目「タイプ」に「IP」が記述され、通信パケットのタイプとしてIPパケットが指定されている。また、通し番号の値が「default」のエントリでは、項目「タイプ」に任意のタイプを示す「ANY」が記述されている。
項目「送信元」は、通信パケットの送信元が記述される。表6の例では、通し番号「1」のエントリでは、項目「送信元」に、IPアドレス「192.168.10.2」およびポート番号「80, 443」が記述され、送受信部130aのIPアドレスと、HTTPおよびHTTPS(HTTP Secure)に対応するポート番号とが指定されている。一方、通し番号「2」のエントリでは、項目「送信元」に、IPアドレス「169.254.0.2」が記述され、通信制御部131bが指定されている。また、通し番号の値が「default」のエントリでは、項目「送信元」に任意の送信元を示す「ANY」が記述されている。
項目「宛先」は、通信パケットの宛先が記述される。表6の例では、通し番号「1」のエントリでは、項目「宛先」に、IPアドレス「169.254.0.2」が記述され、通信制御部131bが指定されている。一方、通し番号「2」のエントリでは、項目「宛先」に、IPアドレス「169.254.0.1」およびポート番号「80, 443」が記述され、通信制御部131aのIPアドレスと、HTTPおよびHTTPSに対応するポート番号とが指定されている。この場合、ポート番号「80, 443」は、何れか一方に対する一致を判定される。また、通し番号の値が「default」のエントリでは、項目「宛先」に任意の宛先を示す「ANY」が記述されている。
項目「処理」は、上述した各項目「入力ポート」、「タイプ」、「送信元」および「宛先」に記述された各値が全て一致する通信パケットに対して実行するための処理が記述される。通し番号「1」のエントリにおいて、項目「処理」は、送信元を、IPアドレス「169.254.0.1」およびポート番号「80, 443」に変換する「NAPT(SNAT, 169.254.0.1:{80, 443})」が記述されている。項目「処理」は、さらに、当該通信パケットの出力が指定される(Output)。この場合、宛先IPアドレス「169.254.0.2」に従い、当該通信パケットは、ブリッジ部132に送出されることになる。
一方、通し番号「2」のエントリにおいて、項目「処理」は、宛先をIPアドレス「192.168.10.2」に変換する「NAPT(DNAT, 192.168.10.2)」が記述されている。項目「処理」は、さらに、当該通信パケットの出力が指定される(Output)。この場合、変換後の宛先IPアドレス「192.168.10.2」に従い、当該通信パケットは、送受信部130bに送出されることになる。
また、通し番号の値が「default」のエントリでは、項目「処理」に、通信パケットを破棄する「drop」が記述されている。
通信制御部131bは、上述した通信制御部131aと同様に、通信部1310と、制御部1311と、通信経路制御情報記憶部1312と、NAPTテーブル記憶部1313とを含む。なお、通信制御部131bにおいては、制御部1311は、OFC102の機能を省略することができる。
通信制御部131bにおいて、通信部1310は、送受信部130bとの間で通信パケットを送受信する第3の通信ポートと、ブリッジ部132との間で通信パケットを送受信する第4の通信ポートの、2つの通信ポートを含む。通信部1310は、第3の通信ポートおよび第4の通信ポートから通信部1310に入力された通信パケットからヘッダ情報を抽出し、抽出したヘッダ情報を制御部1311に渡す。通信制御部131bにおいて、通信部1310は、このヘッダ情報に基づく制御部1311の指示に応じて、入力された通信パケットの処理を行う。
通信制御部131bにおいて、制御部1311は、上述の通信制御部131aと同様に、通信経路制御情報記憶部1312およびNAPTテーブル記憶部1313に記憶される情報に基づき、通信部1310から渡されたヘッダ情報に応じた処理を通信部1310に指示する。
通信制御部131bにおいて、通信部1310に対して送受信部130bと、ブリッジ部132を介して通信制御部131aとが接続される点が、上述の通信制御部131aと異なる。通信制御部131bは、通信部1310の接続先が通信制御部131aと異なるため、それに応じて、通信経路制御情報記憶部1312およびNAPTテーブル記憶部1313に記憶される各情報も、通信制御部131aにおいて記憶される各情報と異なったものとなる。
表7は、通信制御部131bにおいて通信経路制御情報記憶部1312が含む、第1の実施形態に係るパケット処理テーブルの例を示す。
表7において、パケット処理テーブルがエントリに含む各項目「入力ポート」、「タイプ」、「送信元」、「宛先」および「処理」の意味は、表6で説明したパケット処理テーブルの各項目と同一であるので、ここでの詳細な説明を省略する。
項目「入力ポート」は、表7の例では、通し番号「1」および「2」のエントリでは、それぞれ「送受信部#1」および「ブリッジ部」が記述され、それぞれ、通信制御部131bにおける通信部1310の第3の通信ポートおよび第4の通信ポートが指定されている。また、通し番号の値が「default」のエントリでは、項目「入力ポート」に任意の通信ポートを示す「ANY」が記述されている。
項目「タイプ」は、表7の例では、通し番号「1」および「2」のエントリでは、「IP」が記述され、通信パケットのタイプとしてIPパケットが指定されている。また、通し番号の値が「default」のエントリでは、項目「タイプ」に任意のタイプを示す「ANY」が記述されている。
項目「送信元」は、表7の例では、通し番号「1」のエントリでは、「ANY」が記述され、任意の送信元が指定されている。一方、通し番号「2」のエントリでは、項目「送信元」に、IPアドレス「169.254.0.1」およびポート番号「80, 443」が記述され、通信制御部131aのIPアドレスと、HTTPおよびHTTPSに対応するポート番号とが指定されている。また、通し番号の値が「default」のエントリでは、項目「送信元」に任意の送信元を示す「ANY」が記述されている。
項目「宛先」は、表7の例では、通し番号「1」のエントリでは、項目「宛先」に、IPアドレス「192.168.254.254」およびポート番号「80, 443」が記述され、送受信部130bのIPアドレスと、HTTPおよびHTTPSに対応するポート番号とが指定されている。一方、通し番号「2」のエントリでは、項目「宛先」に、IPアドレス「169.254.0.2」が記述され、通信制御部131bのIPアドレスが指定されている。また、通し番号の値が「default」のエントリでは、項目「宛先」に任意の宛先を示す「ANY」が記述されている。
項目「処理」は、表7の例では、通し番号「1」のエントリにおいて、送信元をIPアドレス「169.254.0.2」に変換する「NAPT(SNAT, 169.254.0.2)」と、宛先をIPアドレス「169.254.0.1」に変換する「NAPT(DNAT, 169.254.0.1)」とが記述されている。項目「処理」は、さらに、当該通信パケットの出力が指定される(Output)。この場合、変換後の宛先IPアドレス「169.254.0.1」に従い、当該通信パケットは、ブリッジ部132に送出されることになる。
一方、通し番号「2」のエントリにおいて、項目「処理」は、送信元をIPアドレス「192.168.254.254」に変換する「NAPT(SNAT, 192.168.254.254)」と、宛先をIPアドレス「192.168.254.2」に変換する「NAPT(DNAT, 192.168.254.2)」とが記述されている。なお、この変換先のIPアドレス「192.168.254.2」は、一例であり、初期設定用PC22のIPアドレスに応じた値が設定される。項目「処理」は、さらに、当該通信パケットの出力が指定される(Output)。この場合、変換後の宛先IPアドレス「192.168.254.2」に従い、当該通信パケットは、送受信部130bを介して初期設定用PC22に送出されることになる。
また、通し番号の値が「default」のエントリでは、項目「処理」に、通信パケットを破棄する「drop」が記述されている。
図6は、第1の実施形態に係るブリッジ部132の機能を説明するための一例の機能ブロック図である。図6において、ブリッジ部132は、通信部1320と、制御部1321と、通信情報記憶部1322とを含む。
通信部1320は、通信制御部131aとの間で通信パケットを送受信する第3の接続ポートと、通信制御部131bとの間で通信パケットを送受信する第4の接続ポートの、2つの通信ポートを含む。通信部1320は、第3の通信ポートおよび第4の通信ポートから通信部1320に入力された通信パケットからヘッダ情報を抽出し、抽出したヘッダ情報を制御部1321に渡す。通信部1320は、このヘッダ情報に基づく制御部1321の指示に応じて、入力された通信パケットの処理を行う。
制御部1321は、通信情報記憶部1322に記憶される情報に基づき、通信部1320から渡されたヘッダ情報に応じた処理を通信部1320に指示する。
通信情報記憶部1322は、ブリッジ部132の第3の通信ポートと第4の通信ポートとの間で通信を行うための制御情報を記憶する。通信情報記憶部1322により記憶される制御情報は、ブリッジ部132内部の通信を行うための第1の実施形態に係るパケット処理テーブルと、ブリッジ部132を介した通信を行うための、ARPによる通信を行うための所定のARPテーブルなどの情報とを含む。
表8は、ブリッジ部132において通信情報記憶部1322が含む、第1の実施形態に係るパケット処理テーブルの例を示す。
表8において、パケット処理テーブルがエントリに含む各項目「入力ポート」、「タイプ」、「送信元」、「宛先」および「処理」の意味は、表6で説明したパケット処理テーブルの各項目と同一であるので、ここでの詳細な説明を省略する。
項目「入力ポート」は、表8の例では、通し番号「1」および「2」のエントリでは、それぞれ「通信制御部#0」および「通信制御部#1」が記述され、それぞれ、ブリッジ部132における通信部1320の第3の通信ポートおよび第4の通信ポートが指定されている。また、通し番号の値が「default」のエントリでは、項目「入力ポート」に任意の通信ポートを示す「ANY」が記述されている。
項目「タイプ」は、表8の例では、通し番号「1」および「2」のエントリでは、「IP」が記述され、通信パケットのタイプとしてIPパケットが指定されている。また、通し番号の値が「default」のエントリでは、項目「タイプ」に任意のタイプを示す「ANY」が記述されている。
項目「送信元」および「宛先」は、表8の例では、通し番号「1」〜「3」のエントリの全てにおいて、「ANY」が記述され、任意の送信元および宛先が指定されている。項目「処理」は、表8の例では、通し番号「1」および「2」のエントリにおいて、通信パケットの出力が指定される(Output)。通し番号「1」のエントリでは、項目「入力ポート」に示される通信制御部131aからブリッジ部132の一方の端に入力された通信パケットは、ブリッジ部132の他方の端から通信制御部131bに出力されることになる。また、通し番号「2」のエントリでは、逆に、項目「入力ポート」に示される通信制御部131bからブリッジ部132の他方の端に入力された通信パケットは、ブリッジ部132の一方の端から通信制御部131aに出力されることになる。
また、通し番号の値が「default」のエントリでは、項目「処理」に、通信パケットを破棄する「drop」が記述されている。
これらの表8の記述から、ブリッジ部132は、通信制御部131aから入力された通信パケットをそのまま通信制御部131bに送出し、通信制御部131bから入力された通信パケットをそのまま通信制御部131aに送出する処理を行う。より具体的には、ブリッジ部132は、通信制御部131aおよび通信制御部131bの間で、通信パケットを、宛先IPアドレスおよび送信元IPアドレスを変更せずに、送受信する。
上述した表6および表7に示したように、通信制御装置10は、通信制御部131aと通信制御部131bとの間で送受信する通信パケットの宛先IPアドレスおよび送信元IPアドレスを、それぞれ内部アドレスとしている。そのため、送受信部130aと、送受信部130bとに接続されるネットワークを、それぞれのネットワークに分離することができる。そのため、送受信部130aおよび130bに、互いに重複するIPアドレスや、同一のサブネットに所属するIPアドレスを設定した場合であっても、送受信部130aと送受信部130bとの間の通信パケットの送受信を、正常に実行できる。
次に、通信制御装置10に含まれる、Webサーバ部122(処理実行部)について説明する。図7は、第1の実施形態に適用可能なWebサーバ部122の機能を説明するための一例の機能ブロック図である。図7において、Webサーバ部122は、パスワード記憶部1220と、証明書情報記憶部1221と、設定部1222と、認証部1223と、入力情報受付部1224と、画面情報生成部1225と、通信部1226とを含む。
通信部1226は、通信制御装置10の外部との、HTTPおよびHTTPSによる通信を行う。画面情報生成部1225は、画面を表示させるための表示制御情報を生成する。画面情報生成部1225は、例えばHTML(HyperText Markup Language)を用いて表示制御情報を生成し、生成した表示制御情報を、所定のURL(Uniform Resource Locator)を与えて例えば通信制御装置10のストレージ1003に記憶する。
入力情報受付部1224は、通信部1226により受信された入力情報を受け付ける。設定部1222は、例えば入力情報受付部1224に受け付けられた入力情報に従い、通信制御装置10の動作を制御するための設定を行う。
パスワード記憶部1220および証明書情報記憶部1221は、それぞれ、このWebサーバ部122にアクセスする際の認証を行うための認証情報としてのパスワードおよび証明書情報が記憶される。認証部1223は、入力情報受付部1224に受け付けられた認証情報に対して、パスワード記憶部1220および証明書情報記憶部1221にそれぞれ記憶されるパスワードおよび証明書情報に基づく認証を行う。
図8は、第1の実施形態に適用可能な初期設定用PC22の機能を説明するための一例の機能ブロック図である。図8において、初期設定用PC22は、ブラウザ部220と、制御部221と、通信部222と、入力受付部223と、表示制御部224とを含む。これらブラウザ部220、制御部221、通信部222、入力受付部223および表示制御部224は、初期設定用PC22が有するCPU上で動作するプログラムにより構成される。これに限らず、ブラウザ部220、制御部221、通信部222、入力受付部223および表示制御部224の一部または全部を、互いに協働して動作するハードウェア回路により構成してもよい。
制御部221は、初期設定用PC22の全体の動作を制御する。通信部222は、初期設定用PC22が備える通信I/Fを制御して、例えばケーブルまたはネットワーク14を介した通信を行う。入力受付部223は、初期設定用PC22が備える入力デバイスに対する操作に応じた入力情報を受け付ける。表示制御部224は、表示制御情報に応じた表示信号を生成する。
ブラウザ部220は、HTMLに従い記述されたファイルを読み込み所定の動作を行うブラウザアプリケーションプログラムの機能を備える。ブラウザ部220は、例えば指定されたURLに従いHTMLファイルを読み込み、読み込んだHTMLファイルに従い表示制御情報を生成し、生成した表示制御情報を表示制御部224に渡す。また、ブラウザ部220は、入力受付部223に受け付けられた入力情報に応じた処理を実行する。
なお、管理者用PC21は、上述した初期設定用PC22と同様の構成を適用可能であるので、ここでの説明を省略する。
(第1の実施形態に係る通信処理)
次に、第1の実施形態に係る処理について、より具体的に説明する。第1の実施形態では、送受信部130bに接続される初期設定用PC22から、通信制御装置10の管理および設定を行う管理設定画面にアクセスするための認証情報の初期化を行う。この認証情報の初期化は、例えば当該管理設定画面にアクセスするユーザが当該認証情報を忘れてしまった場合などに、緊急措置として実行されることを想定した処理である。
通常の場合、すなわち、この認証情報を正確に入力可能な場合には、管理者用PC21を用いてネットワーク11などを介して通信制御装置10と通信を行って通信制御装置10内のWebサーバ101にアクセスし、管理設定画面を管理者用PC21の表示デバイスに表示させる。通常の場合は、これにより、管理者用PC21を用いて通信制御装置10の管理および設定を行う。
図9は、第1の実施形態に適用可能な、管理者用PC21から通信制御装置10内のWebサーバ部122にアクセスする際のパケットフローの例を示す。なお、図9において、各ステップS200、ステップS201、ステップS210およびステップS211は、図の左上に示されるように、上側が送信元IPアドレスおよびポートを示し(SRC IP:PORT)、下側が宛先IPアドレスおよびポートを示している(DST IP:PORT)。また、図9において、上述した図2および図4と共通する部分には同一の符号を付して、詳細な説明を省略する。
Webサーバ部122は、送受信部130aとの間で通信パケットのやり取りを行うため、管理者用PC21とWebサーバ部122との間の通信は、図9に示されるように、送受信部130aを介したものとなる。
管理者用PC21は、例えば管理者用PC21に搭載されるブラウザにより生成された情報を含む通信パケットを、ネットワーク11に対して送出する(ステップS200)。
この通信パケットは、管理者用PC21に与えられるIPアドレス「192.168.20.102」を送信元IPアドレスとし、プライベートポート番号であるポート番号「50376」が送信元のポート番号として指定される。例えば、管理者用PC21は、URLを指定してWebサーバ部122にアクセスする場合、ポート番号として、HTTPを示す「80」、あるいは、HTTPSを示す「443」を指定する。
また、当該通信パケットは、宛先IPアドレスとして送受信部130aのIPアドレス「192.168.10.2」が指定され、宛先のポート番号としてTCP(Transmission Control Protocol)/UDP(User Datagram Protocol)上のHTTPSを示すポート番号「443」が指定される。なお、宛先IPアドレス「192.168.10.2」は、例えば、管理者用PC21のブラウザに対して手動にて入力された値が用いられる。これら送信元IPアドレスおよびポート番号、ならびに、宛先IPアドレスおよびポート番号は、処理対象の通信パケットのヘッダに埋め込まれる。
この通信パケットは、ルータ12を介して送受信部130aに受信される。送受信部130aは、受信した通信パケットを、内容を変更せずにWebサーバ部122に転送する(ステップS201)。例えば、Webサーバ部122は、送受信部130aに、ポート番号がHTTPまたはHTTPSを示す「80」または「443」が含まれる通信パケットが受け取られた場合に、その通信パケットをWebサーバ部122に転送するように、送受信部130aに要求する。
Webサーバ部122は、転送された通信パケットに応答して、通信パケットを送受信部130aに転送する(ステップS210)。例えばWebサーバ部122は、転送された通信パケットに応答して所定の処理を行い、当該処理により生成した通信パケットを送受信部130aに転送する。
この通信パケットは、送信元IPアドレスとして送受信部130aのIPアドレス「192.168.10.2」が指定され、ポート番号「443」が指定される。また、当該通信パケットは、宛先IPアドレスとして送受信部130aのIPアドレス「192.168.20.102」が指定され、宛先のポート番号としてポート番号「50376」が指定される。
処理対象の通信パケットのヘッダは、これら送信元IPアドレスおよびポート番号、ならびに、宛先IPアドレスおよびポート番号により書き換えられる。
送受信部130aは、Webサーバ部122から転送されたこの通信パケットを、内容を変更せずに送出する。送受信部130aから送出されたこの通信パケットは、ルータ12を介して管理者用PC21に送信され(ステップS211)、管理者用PC21に受信される。
図10は、第1の実施形態に係る、初期設定用PC22からWebサーバ部122にアクセスする際のパケットフローの例を示す。なお、図10において、各ステップS220〜ステップS225、ステップS230〜ステップS235は、図9と同様に、上側が送信元IPアドレスおよびポートを示し、下側が宛先IPアドレスおよびポートを示している。また、図10において、上述した図2および図4と共通する部分には同一の符号を付して、詳細な説明を省略する。
上述したように、Webサーバ部122は、送受信部130aとの間で通信パケットのやり取りを行う。そのため、初期設定用PC22とWebサーバ部122との間の通信は、図10に示されるように、送受信部130bと、通信制御部131bと、ブリッジ部132と、通信制御部131aと、送受信部130aとを介したものとなる。
初期設定用PC22は、例えば初期設定用PC22に搭載されるブラウザにより生成された情報を含む通信パケットを、ケーブルまたはネットワーク14に対して送出する(ステップS220)。
この通信パケットは、パケットのタイプを「IP」とされ、初期設定用PC22に与えられるIPアドレス「192.168.254.2」を送信元IPアドレスとし、プライベートポート番号であるポート番号「50382」が送信元のポート番号として指定される。また、当該通信パケットは、宛先IPアドレスとして送受信部130bのIPアドレス「192.168.254.254」が指定され、宛先のポート番号としてTCP/UDP上のHTTPを示すポート番号「80」が指定される。例えば、初期設定用PC22は、URLを指定してWebサーバ部122にアクセスする場合、ポート番号として、HTTPを示す「80」、あるいは、HTTPSを示す「443」を指定する。なお、宛先IPアドレス「192.168.254.254」は、初期設定用PC22においてブラウザに対して手動で入力される。
これらタイプと、送信元IPアドレスおよびポート番号と、宛先IPアドレスおよびポート番号とを含む各情報が、処理対象の通信パケットのヘッダに埋め込まれる。
この通信パケットは、ケーブルまたはネットワーク14を介して直接的に送受信部130bに受信される。送受信部130bは、受信した通信パケットを、内容を変更せずに通信制御部131bに転送する(ステップS221)。この通信パケットにおいて、送信元IPアドレスおよびポート番号は、「192.168.254.2:50382」であり、宛先IPアドレスおよびポート番号は、「192.168.254.254:80」である。
通信制御部131bは、通信パケットを受け取ると、当該通信パケットが入力された入力ポートと、当該通信パケットのヘッダに含まれる、タイプと、送信元IPアドレスおよびポート番号と、宛先IPアドレスおよびポート番号とを含む各情報を取得する。通信制御部131bは、取得した各情報に基づき、表7に示したパケット処理テーブルを参照し、取得した各情報と一致するエントリが存在するか否かを判定する。
通信制御部131bは、この例では、表7の通し番号「1」のエントリが、通信パケットから取得した各情報と一致すると判定する。通信制御部131bは、この判定結果に従い、当該エントリの項目「処理」に記述される処理を実行し、送信元IPアドレスおよび宛先IPアドレスを、それぞれ内部アドレスであるIPアドレス「169.254.0.2」および「169.254.0.1」に変換し、通信パケットの出力を指示する。また、通信制御部131bは、当該項目「処理」の記述に従い、送信元および宛先のポート番号の変更は行わない。処理対象の通信パケットのヘッダは、これら送信元IPアドレスおよびポート番号と、宛先IPアドレスおよびポート番号と、タイプとを含む各情報により書き換えられる。
この通信パケットは、出力指示および宛先IPアドレスに従い、通信制御部131bからブリッジ部132に転送される(ステップS222)。この通信パケットにおいて、送信元IPアドレスおよびポート番号は、「169.254.0.2:50382」であり、宛先IPアドレスおよびポート番号は、「169.254.0.1:80」である。
ブリッジ部132は、通信パケットを受け取ると、当該通信パケットが入力された入力ポートと、当該通信パケットのヘッダに含まれる、タイプと、送信元IPアドレスおよびポート番号と、宛先IPアドレスおよびポート番号とを含む各情報を取得する。ブリッジ部132は、表8に示したパケット処理テーブルを参照し、取得した各情報と一致するエントリが存在するか否かを判定する。
表8の例では、各エントリにおいて送信元および宛先が任意(ANY)とされているため、ブリッジ部132は、入力ポートおよびパケットのタイプに基づき、通し番号「2」のエントリが当該通信パケットに一致すると判定する。ブリッジ部132は、当該エントリの項目「処理」に記述される処理を実行し、通信パケットの出力を指示する。また、ブリッジ部132は、通信パケットのヘッダに含まれる各情報(送信元および宛先のIPアドレスおよびポート番号)の変更は行わない。
この通信パケットは、出力指示および宛先IPアドレスに従い、ブリッジ部132から通信制御部131aに転送される(ステップS223)。この通信パケットにおいて、送信元IPアドレスおよびポート番号は、ステップS222と変わらず「169.254.0.2:50382」であり、宛先IPアドレスおよびポート番号は、「169.254.0.1:80」である。
通信制御部131aは、通信パケットを受け取ると、当該通信パケットが入力された入力ポートと、当該通信パケットのヘッダに含まれる、送信元IPアドレスおよびポート番号、ならびに、宛先IPアドレスおよびポート番号とを含む各情報を取得する。通信制御部131aは、表6に示したパケット処理テーブルを参照し、取得した各情報と一致するエントリが存在するか否かを判定する。
通信制御部131aは、この例では、表6の通し番号「2」のエントリが、通信パケットから取得した各情報と一致すると判定する。通信制御部131aは、この判定結果に従い、当該エントリの項目「処理」に記述される処理を実行し、送信元IPアドレスをIPアドレス「192.168.10.2」に変換し、通信パケットの出力を指示する。また、通信制御部131aは、当該項目「処理」の記述に従い、送信元および宛先のポート番号の変更は行わない。
処理対象の通信パケットのヘッダは、これら送信元IPアドレスおよびポート番号と、宛先IPアドレスおよびポート番号と、タイプとを含む各情報により書き換えられる。
この通信パケットは、出力指示および宛先IPアドレスに従い、通信制御部131aから送受信部130aに転送される(ステップS224)。この通信パケットにおいて、送信元IPアドレスおよびポート番号は、「169.254.0.2:50382」であり、宛先IPアドレスおよびポート番号は、「192.168.10.2:80」である。
送受信部130aは、受信した通信パケットを、内容を変更せずにWebサーバ部122に転送する(ステップS225)。送受信部130aは、例えば、受信した通信パケットにおいて、宛先IPアドレスが自身のIPアドレス「192.168.10.2」であり、宛先IPアドレスに付加されるポート番号がHTTP(ポート番号「80」またはHTTPS(ポート番号「443」)を示している場合、その通信パケットをWebサーバ部122に転送する。
このようにして、Webサーバ部122は、初期設定用PC22から送信された通信パケットを受け取ることができる。
Webサーバ部122は、初期設定用PC22から受け取った通信パケットの内容に応じて、初期設定用PC22に通信パケットを送信することができる。この場合、通信パケットは、上述したステップS220〜ステップS225とは逆のフローに従い、Webサーバ部122から初期設定用PC22に転送される。
Webサーバ部122は、例えば、上述したステップS220〜ステップS225のフローにより初期設定用PC22から転送された通信パケットに対して応答する通信パケットを生成する。
この通信パケットは、パケットのタイプを「IP」とされ、送受信部130aに与えられるIPアドレス「192.168.10.2」を送信元IPアドレスとし、HTTPを示すポート番号「80」が送信元のポート番号として指定される。また、当該通信パケットは、宛先IPアドレスとして、ステップS225で受信した通信パケットの送信元のIPアドレス「169.254.0.2」が指定され、ポート番号「50382」が宛先のポート番号として指定される。Webサーバ部122は、これら送信元IPアドレスおよびポート番号、ならびに、宛先IPアドレスおよびポート番号を、例えば、上述したステップS225で受け取った通信パケットのヘッダ情報に基づき生成する。
これら送信元IPアドレスおよびポート番号と、宛先IPアドレスおよびポート番号と、タイプとを含む各情報は、処理対象の通信パケットのヘッダに埋め込まれる。
Webサーバ122は、上述した、初期設定用PC22に送信するための通信パケットを、送受信部130aに渡す(ステップS230)。送受信部130aは、渡された通信パケットを、内容を変更せずに通信制御部131aに転送する。この通信パケットにおいて、送信元IPアドレスおよびポート番号は、「192.168.10.2:80」であり、宛先IPアドレスおよびポート番号は、「169.254.0.2:50382」である。
通信制御部131aは、通信パケットを受け取ると、当該通信パケットが入力された入力ポートと、当該通信パケットのヘッダに含まれる、タイプと、送信元IPアドレスおよびポート番号と、宛先IPアドレスおよびポート番号とを含む各情報を取得する。通信制御部131aは、取得した各情報に基づき、表6に示したパケット処理テーブルを参照し、取得した各情報と一致するエントリが存在するか否かを判定する。
通信制御部131aは、この例では、表6の通し番号「1」のエントリが、通信パケットから取得した各情報と一致すると判定する。通信制御部131aは、この判定結果に従い、当該エントリの項目「処理」に記述される処理を実行し、送信元IPアドレスを内部アドレスであるIPアドレス「169.254.0.1」に変換し、通信パケットの出力を指示する。また、通信制御部131aは、当該項目「処理」の記述に従い、送信元および宛先のポート番号の変更は行わない。処理対象の通信パケットのヘッダは、これら送信元IPアドレスおよびポート番号と、宛先IPアドレスおよびポート番号と、タイプとを含む各情報により書き換えられる。
この通信パケットは、出力指示および宛先IPアドレスに従い、通信制御部131aからブリッジ部132に転送される(ステップS232)。この通信パケットにおいて、送信元IPアドレスおよびポート番号は、「169.254.0.1:80」であり、宛先IPアドレスおよびポート番号は、「169.254.0.2:50382」である。
ブリッジ部132は、通信パケットを受け取ると、当該通信パケットが入力された入力ポートと、当該通信パケットのヘッダに含まれる、タイプと、送信元IPアドレスおよびポート番号と、宛先IPアドレスおよびポート番号とを含む各情報を取得する。ブリッジ部132は、表8に示したパケット処理テーブルを参照し、取得した各情報と一致するエントリが存在するか否かを判定する。
表8の例では、各エントリにおいて送信元および宛先が任意(ANY)とされているため、ブリッジ部132は、入力ポートおよびパケットのタイプに基づき、通し番号「1」のエントリが当該通信パケットに一致すると判定する。ブリッジ部132は、当該エントリの項目「処理」に記述される処理を実行し、通信パケットの出力を指示する。また、ブリッジ部132は、通信パケットのヘッダに含まれる各情報(送信元および宛先のIPアドレスおよびポート番号)の変更は行わない。
この通信パケットは、出力指示および宛先IPアドレスに従い、ブリッジ部132から通信制御部131bに転送される(ステップS233)。この通信パケットにおいて、送信元IPアドレスおよびポート番号は、ステップS232と変わらず「169.254.0.1:80」であり、宛先IPアドレスおよびポート番号は、「169.254.0.2:50382」である。
通信制御部131bは、通信パケットを受け取ると、当該通信パケットが入力された入力ポートと、当該通信パケットのヘッダに含まれる、送信元IPアドレスおよびポート番号、ならびに、宛先IPアドレスおよびポート番号とを含む各情報を取得する。通信制御部131bは、表7に示したパケット処理テーブルを参照し、取得した各情報と一致するエントリが存在するか否かを判定する。
通信制御部131bは、この例では、表7の通し番号「2」のエントリが、通信パケットから取得した各情報と一致すると判定する。通信制御部131bは、この判定結果に従い、当該エントリの項目「処理」に記述される処理を実行し、送信元IPアドレスおよび宛先IPアドレスを、それぞれIPアドレス「192.168.254.254」および「192.168.254.2」に変換し、通信パケットの出力を指示する。また、通信制御部131bは、当該項目「処理」の記述に従い、送信元および宛先のポート番号の変更は行わない。処理対象の通信パケットのヘッダは、これら送信元IPアドレスおよびポート番号と、宛先IPアドレスおよびポート番号と、タイプとを含む各情報により書き換えられる。
この通信パケットは、出力指示および宛先IPアドレスに従い、通信制御部131bから送受信部130bに転送される(ステップS234)。この通信パケットにおいて、送信元IPアドレスおよびポート番号は、「192.168.254.254:80」であり、宛先IPアドレスおよびポート番号は、「192.168.254.2:50382」である。
送受信部130bは、受信した通信パケットを、内容を変更せずに初期設定用PC22に転送する(ステップS235)。これにより、Webサーバ部122から送出された通信パケットが、初期設定用PC22に受信される。
(第1の実施形態に係る初期化処理)
次に、第1の実施形態に係る、初期設定用PC22から行われる認証情報の初期化処理について説明する。上述したように、この初期化処理は、初期設定用PC22を、ケーブルまたはネットワーク14を介して送受信部130b(通信I/F1005b)に直接的に接続して行う。
図11は、第1の実施形態に係る、初期設定用PC22と通信制御装置10との間で行われる通信処理を示す一例のシーケンス図である。なお、図11において、上述した図4および図8と共通する部分には同一の符号を付して、詳細な説明を省略する。
図11において、ステップS100で、ユーザは、初期設定用PC22においてブラウザを起動させ、ブラウザ部220に対して、認証情報の初期化を行う初期化画面にアクセスするためのURL「http://192.168.254.254/rescue」を指定する。ここでは、当該URLは、通信制御装置10において予め設定され、ユーザに通知されているものとする。
ブラウザ部220は、指定されたURLを通信制御装置10に送信し、通信制御装置10に対して、認証情報を初期化するための初期化画面を要求する(ステップS110)。例えば、初期設定用PC22において制御部221は、ブラウザ部220に対するURLの指定に応じて、図10のステップS220で説明した送信元IPアドレスおよびポート番号、ならびに、宛先IPアドレスおよびポート番号と、ブラウザ部220に指定されたURLとをヘッダに含む通信パケットを生成し、生成した通信パケットを通信部222により通信制御装置10に送信する。
ここで、初期設定用PC22は、通信制御装置10と、ケーブルまたはネットワーク14により直接的に接続されている。したがって、初期設定用PC22を操作できるユーザを限定できるため、管理者用PC21から通信制御装置10に接続する場合のような、認証情報の入力が必要無い。
初期設定用PC22より送信されたこの通信パケットは、通信制御装置10において、通信I/F1005bすなわち送受信部130bに受信される。送受信部130bに受信された当該通信パケットは、図10のステップS220〜ステップS225で示したフローに従いWebサーバ部122に転送される。Webサーバ部122は、この通信パケットに含まれるURLに従い、図10のステップS230〜ステップS235で示したフローに従い、初期化画面を表示するための表示制御情報(例えばHTMLファイル)を初期設定用PC22に送信する(ステップS111)。この表示制御情報は、初期設定用PC22に受信されブラウザ部220に渡される。
ブラウザ部220は、渡された表示制御情報に従い、初期化画面を初期設定用PC22のディスプレイに表示させる(ステップS112)。図12は、第1の実施形態に係る初期化画面の例を示す。図12において、初期化画面70aは、URL表示入力領域700と、ボタン701、702および703とを含む。URL表示入力領域700は、現在アクセスしているURLが表示される。また、URL表示入力領域700にURLを入力することで、入力されたURLにアクセスすることができる。
ボタン701および702は、それぞれ認証情報の初期化を指示するためのボタンである。図12の例では、ボタン701は、認証情報のうちパスワードの初期化を指示するためのボタンである。ボタン702は、認証情報のうちWebサーバ部122に対する証明書情報を初期化するためのボタンである。また、ボタン703は、この初期化画面70aを閉じるためのボタンである。
図11において、ステップS120が、ボタン701が操作されパスワードの初期化が指示された場合の処理の例を示す。また、ステップS130が、ボタン702が操作され証明書情報の初期化がしされた場合の処理を示す。これらボタン701の操作およびボタン702の操作は、それぞれ実行してもよいし、何れか一方を実行してもよい。
先ず、ステップS120の、ボタン701が操作された場合について説明する。初期設定用PC22において、ユーザ操作によりボタン701が指定されると(ステップS1200)、パスワードの初期化の指示を含むHTTPメッセージを含む通信パケットが初期設定用PC22から通信制御装置10に向けて送信される(ステップS1201)。この通信パケットは、通信制御装置10の送受信部130bにより受信され、図10のステップS220〜ステップS225のパケットフローに従いWebサーバ部122に転送される。
Webサーバ部122は、この通信パケットに含まれるHTTPメッセージからパスワードの初期化の指示を取り出し、取り出した指示に応じてパスワードの初期化処理を実行する(ステップS1202)。例えば、Webサーバ部122は、設定部1222により、パスワード記憶部1220に現在記憶されているパスワードを、デフォルト値として予め設定されるパスワードにより上書きする。
Webサーバ部122は、パスワードの初期化が完了すると、パスワード初期化の完了を示す完了通知を含むHTTPステータスを含む通信パケットを、初期設定用PC22に送信する(ステップS1203)。この通信パケットは、通信制御装置10内において図10のステップS230〜ステップS235で説明したパケットフローに従いWebサーバ部122から送受信部130bに転送され、送受信部130bから初期設定用PC22に送信される。初期設定用PC22は、受信した通信パケットを、ブラウザ部220に渡す。
ブラウザ部220は、渡された通信パケットに含まれる完了通知に応じて、図13に例示されるように、初期化画面70aに対して、パスワードの初期化が完了した旨を示す完了メッセージ7010(この例では「Done!」)を、例えばボタン701の近傍に表示させる(ステップS1204)。ブラウザ部220は、この完了メッセージ7010を、表示されてから所定時間の経過後に、初期化画面70aから消去することができる(ステップS1205)。なお、図13において、上述した図12と共通する部分には同一の符号を付して、詳細な説明を省略する。
次に、ステップS130の、ボタン702が操作された場合について説明する。このステップS130による処理は、上述したステップS120による処理と対応する処理となっている。
初期設定用PC22において、ユーザ操作によりボタン702が指定されると(ステップS1300)、証明書情報の初期化の指示を含むHTTPメッセージを含む通信パケットが初期設定用PC22から通信制御装置10に向けて送信される(ステップS1301)。この通信パケットは、通信制御装置10の送受信部130bにより受信され、図10のステップS220〜ステップS225のパケットフローに従いWebサーバ部122に転送される。
Webサーバ部122は、この通信パケットに含まれるHTTPメッセージから証明書情報の初期化の指示を取り出し、取り出した指示に応じて証明書情報の初期化処理を実行する(ステップS1302)。例えば、Webサーバ部122は、設定部1222により、証明書情報記憶部1221に現在記憶されている証明書情報を、デフォルト値として予め設定される証明書情報により上書きする。
Webサーバ部122は、証明書情報の初期化が完了すると、証明書情報初期化の完了を示す完了通知を含むHTTPステータスを含む通信パケットを、初期設定用PC22に送信する(ステップS1303)。この通信パケットは、通信制御装置10内において図10のステップS230〜ステップS235で説明したパケットフローに従いWebサーバ部122から送受信部130bに転送され、送受信部130bから初期設定用PC22に送信される。初期設定用PC22は、受信した通信パケットを、ブラウザ部220に渡す。
ブラウザ部220は、渡された通信パケットに含まれる完了通知に応じて、図13と同様にして、初期化画面70aに対して、証明書情報の初期化が完了した旨を示す完了メッセージを、例えばボタン702の近傍に表示させる(ステップS1304)。ブラウザ部220は、この完了メッセージを、表示されてから所定時間の経過後に、初期化画面70aから消去することができる(ステップS1305)。
上述のようにして認証情報を初期化した後は、ユーザ(例えば管理者)は、管理者用PC21を用いて通信制御装置10と通信を行い、Webサーバ部122に対し、デフォルト値の認証情報を用いた認証を要求することができる。これにより、管理者用PC21においてWebサーバ部122から提示される管理設定画面を表示させ、通信制御装置10の管理および設定を行うことが可能となる。
このように、第1の実施形態によれば、初期設定用PC22は、通信制御装置10と、ケーブルまたはネットワーク14により直接的に接続されている。したがって、初期設定用PC22を操作できるユーザが限定されるため、管理者用PC21から通信制御装置10に接続する場合のような、認証情報の入力の必要が無く、通信制御装置10に対する外部機器からの設定が、より容易に実行可能なる。
また、初期設定用PC22が通信制御装置10に接続されるネットワークは、管理者用PC21などが接続されるネットワークに対して、通信制御装置10の内部で分離されている。そのため、初期設定用PC22が通信制御装置10に接続される際の通信ポート(初期設定用ポート)と、管理者用PCなどが接続される通信ポート(主ポート)との間でIPアドレスなどが生じた場合であっても、初期設定用PC22は、通信制御装置10と正常に通信できる。
さらに、初期設定用PC22が通信制御装置10に接続される初期設定用ポート(送受信部130b)は、自身と異なるネットワークアドレスに対する通信パケットの送信を行わないように設定されたルーティングテーブルを有する。そのため、初期設定用ポートに、例えばルータを介して初期設定用PC22を接続したような場合に、初期設定用PC22と通信制御装置10との間の通信が不可となり、簡易な構成でセキュリティを高めることができる。
(第1の実施形態の第1の変形例)
次に、第1の実施形態の第1の変形例について説明する。この第1の実施形態の第1の変形例では、Webサーバ部122が初期設定用PC22から送信された認証情報の初期化処理の指示に応じて初期化処理が開始されてから当該初期化処理が完了するまでの間、主ポートすなわち送受信部130aに対する通信制御装置10の外部からのアクセスを無効化する。
図14は、第1の実施形態の第1の変形例に係る、初期設定用PC22と通信制御装置10との間で行われる通信処理を示す一例のシーケンス図である。なお、図14において、上述した図4、図8および図11と共通する部分には同一の符号を付して、詳細な説明を省略する。
図14において、ステップS100で、ユーザ(例えば管理者)は、初期設定用PC22においてブラウザを起動させ、ブラウザ部220に対して、認証情報の初期化を行う初期化画面にアクセスするためのURL「http://192.168.254.254/rescue」を指定する。
ブラウザ部220は、指定されたURLを通信制御装置10に送信し、通信制御装置10に対して、認証情報を初期化するための初期化画面を要求する。このURLおよび要求を含む通信パケットは、通信制御装置10において送受信部130bに受信され(ステップS110a)、図10のステップS220〜ステップS225で示したフローに従いWebサーバ部122に転送される(ステップS110b)。
Webサーバ部122は、送受信部130bから転送されたこの通信パケットに含まれるURLに従い、図10のステップS230〜ステップS235で示したフローに従い、初期化画面を表示するための表示制御情報(例えばHTMLファイル)を含む通信パケットを送受信部130bに転送する(ステップS111a)。送受信部130bは、転送された、表示制御情報を含む通信パケットを初期設定用PC22に送信する(ステップS111b)。この表示制御情報を含む通信パケットは、初期設定用PC22に受信されブラウザ部220に渡される。ブラウザ部220は、渡された通信パケットに含まれる表示制御情報に従い、図12に示した初期化画面70aを初期設定用PC22のディスプレイに表示させる(ステップS112)。
ユーザは、初期化画面70aに設けられるボタン701および702を操作して、パスワードおよび証明書情報の初期化を指示する。ボタン701の操作に応じたパスワードの初期化処理と、ボタン702の操作に応じた証明書情報の初期化処理は、図11にステップS120およびステップS130にて説明したように、初期化の対象が異なる以外は共通の処理となる。図14においては、煩雑さを避けるため、ボタン701または702が操作されて実行されるパスワードの初期化処理または証明書情報の初期化処理を、ステップS140により纏めて示している。すなわち、ボタン701が操作され、パスワードの初期化が指示された場合、ステップS140においてパスワードの初期化処理が実行される。ステップS140において証明書情報の初期化処理が実行される。これらボタン701の操作およびボタン702の操作は、それぞれ実行してもよいし、何れか一方を実行してもよい。
初期設定用PC22において、ユーザ操作により初期化画面70aのボタン701または702が指定されると(ステップS1400)、パスワードまたは証明書情報の初期化の指示を含むHTTPメッセージを含む通信パケットが初期設定用PC22から通信制御装置10に向けて送信される(ステップS1401)。この通信パケットは、通信制御装置10の送受信部130bにより受信され、図10のステップS220〜ステップS225のパケットフローに従いWebサーバ部122に転送される(ステップS1402)。
以下では、特に記載の無い限り、「パスワードまたは証明書情報の初期化処理」を、「認証情報の初期化処理」として纏めて説明を行う。
Webサーバ部122は、送受信部130bから認証情報の初期化処理の指示を含む通信パケットを受け取ると、主ポートすなわち送受信部130aに対して、通信制御装置10の外部からのアクセスを無効化する指示を出す(ステップS1403)。
また、Webサーバ部122は、送受信部130bから認証情報の初期化指示を含むHTTPメッセージを含む通信パケットを受け取ると、初期化処理中を示す処理中通知を含むHTTPステータスを含む通信パケットを生成し、この通信パケットを、初期設定用PC22に送信する。この通信パケットは、通信制御装置10内において図10のステップS230〜ステップS235で説明したパケットフローに従いWebサーバ部122から送受信部130bに転送され(ステップS1404)、送受信部130bから初期設定用PC22に送信される(ステップS1405)。初期設定用PC22は、受信した通信パケットを、ブラウザ部220に渡す。
ブラウザ部220は、渡された通信パケットに含まれる処理中通知に応じて、例えば、初期化画面70aに対して、初期化処理中を示すメッセージ(例えば「Processing…」)を表示させる(ステップS1406)。
一方、Webサーバ部122は、ステップS1402にて送受信部130bから渡された通信パケットから初期化処理の指示を取り出し、取り出した指示に応じて初期化処理を実行する(ステップS1407)。Webサーバ部122は、初期化処理が完了すると、主ポートすなわち送受信部130aに対して、通信制御装置10の外部からのアクセスを有効化する指示を出す(ステップS1408)。
例えば、Webサーバ部122は、初期化処理の指示が、パスワードの初期化処理の指示である場合には、設定部1222により、パスワード記憶部1220に現在記憶されているパスワードを、デフォルト値として予め設定されるパスワードにより上書きする。同様に、Webサーバ部122は、初期化処理の指示が、証明書情報の初期化処理の指示である場合には、設定部1222により、証明書情報記憶部1221に現在記憶されている証明書情報を、デフォルト値として予め設定される証明書情報により上書きする。
Webサーバ部122は、認証情報の初期化が完了すると、認証情報の初期化完了を示す完了通知を含むHTTPステータスを含む通信パケットを、初期設定用PC22に送信する。この通信パケットは、通信制御装置10内において図10のステップS230〜ステップS235で説明したパケットフローに従いWebサーバ部122から送受信部130bに転送され(ステップS1409)、送受信部130bから初期設定用PC22に送信される(ステップS1410)。初期設定用PC22は、受信した通信パケットを、ブラウザ部220に渡す。
ブラウザ部220は、渡された通信パケットに含まれる完了通知に応じて、初期化画面70aに対して、認証情報の初期化処理が完了した旨を示す完了メッセージ7010を表示させる(ステップS1410)。ブラウザ部220は、この完了メッセージ7010を、表示されてから所定時間の経過後に、初期化画面70aから消去することができる(ステップS1411)。
このように、第1の実施形態の第1の変形例では、初期設定用PC22が認証情報の初期化のためにWebサーバ部122にアクセスした時点から、初期設定用PC22において初期化処理完了の通知が送信されるまで、主ポートすなわち送受信部130aに対する、通信制御装置10の外部からのアクセスが無効とされる。したがって、通信制御装置10の外部から主ポートへのアクセスに起因する誤動作が防がれ、ネットワークを利用するユーザおよび管理者の利便性が向上される。
(第1の実施形態の第2の変形例)
次に、第1の実施形態の第2の変形例について説明する。第1の実施形態の第2の変形例では、上述の第1の変形例と同様に、Webサーバ部122が、初期設定用PC22から送信された認証情報の初期化指示に応じて初期化処理が開始された時点から、主ポートすなわち送受信部130aに対する、通信制御装置10の外部からのアクセスを無効化する。さらに、この第2の変形例では、当該時点から所定の時間が経過するまで初期化処理が完了しない場合に、送受信部130aに対する通信制御装置10の外部からのアクセスを有効化すると共に、初期設定用PC22に対して例えばエラー通知を送信する。
図15は、第1の実施形態の第2の変形例に適用可能な通信制御装置10’の機能を説明するための一例の機能ブロック図である。図15に示す通信制御装置10’は、図4に示した通信制御装置10に対して、タイマ部124が追加されている。タイマ部124は、Webサーバ部122からの指示に従い、計時を開始し、掲示された時間を示す時間情報を、Webサーバ部122に渡す。
図16は、第1の実施形態の第2の変形例に係る、初期設定用PC22と通信制御装置10’との間で行われる通信処理を示す一例のシーケンス図である。なお、図16において、上述した図8、図11および図15に共通する部分には同一の符号を付して、詳細な説明を省略する。
図16において、ステップS100で、ユーザ(例えば管理者)は、初期設定用PC22においてブラウザを起動させ、ブラウザ部220に対して、認証情報の初期化を行う初期化画面にアクセスするためのURL「http://192.168.254.254/rescue」を指定する。
ブラウザ部220は、指定されたURLを通信制御装置10’に送信し、通信制御装置10’に対して、認証情報を初期化するための初期化画面を要求する。このURLおよび要求を含む通信パケットは、通信制御装置10’において送受信部130bに受信され(ステップS110a)、図10のステップS220〜ステップS225で示したフローに従いWebサーバ部122に転送される(ステップS110b)。
Webサーバ部122は、ステップS110bで送受信部130bから転送された通信パケットに含まれるURLに従い、図10のステップS230〜ステップS235で示したフローに従い、初期化画面を表示するための表示制御情報を含む通信パケットを送受信部130bに転送する(ステップS111a)。送受信部130bは、転送された、表示制御情報を含む通信パケットを初期設定用PC22に送信する(ステップS111b)。この表示制御情報を含む通信パケットは、初期設定用PC22に受信されブラウザ部220に渡される。ブラウザ部220は、渡された通信パケットに含まれる表示制御情報に従い、図12に示した初期化画面70aを初期設定用PC22のディスプレイに表示させる(ステップS112)。
初期設定用PC22において、ユーザ操作により初期化画面70aのボタン701または702が指定されると(ステップS1500)、認証情報の初期化指示を含むHTTPメッセージを含む通信パケットが初期設定用PC22から通信制御装置10に向けて送信される(ステップS1501)。この通信パケットは、通信制御装置10の送受信部130bにより受信され、図10のステップS220〜ステップS225のパケットフローに従いWebサーバ部122に転送される(ステップS1502)。
Webサーバ部122は、ステップS1502で送受信部130bから認証情報の初期化指示を含むHTTPメッセージを含む通信パケットを受け取ると、タイマ部124に対して、初期化および計時の開始を指示する(ステップS1503)。この指示に応じて、タイマ部124は、計時時間を「0」に初期化し、この時間「0」から計時を開始する。なお、タイマ部124には、所定の長さの時間tを示す情報が予め設定されているものとする。
Webサーバ部122は、ステップS1503におけるタイマ部124に対する指示の後、主ポートすなわち送受信部130aに対して、通信制御装置10の外部からのアクセスを無効化する指示を出す(ステップS1504)。
また、Webサーバ部122は、送受信部130bから認証情報の初期化指示を含むHTTPメッセージを含む通信パケットを受け取ると、初期化処理中を示す処理中通知を含むHTTPステータスを含む通信パケットを生成し、この通信パケットを、初期設定用PC22に送信する。この通信パケットは、通信制御装置10内において図10のステップS230〜ステップS235で説明したパケットフローに従いWebサーバ部122から送受信部130bに転送され(ステップS1505)、送受信部130bから初期設定用PC22に送信される(ステップS1506)。初期設定用PC22は、受信した通信パケットを、ブラウザ部220に渡す。
ブラウザ部220は、渡された通信パケットに含まれる処理中通知に応じて、例えば、初期化画面70aに対して、初期化処理中を示すメッセージ(例えば「Processing…」)を表示させる(ステップS1507)。
一方、Webサーバ部122は、ステップS1502にて送受信部130bから渡された通信パケットから初期化処理の指示を取り出し、取り出した指示に応じて認証情報の初期化処理を実行する(ステップS1508)。
例えば、Webサーバ部122は、初期化処理の指示が、パスワードの初期化処理の指示である場合には、設定部1222により、パスワード記憶部1220に現在記憶されているパスワードを、デフォルト値として予め設定されるパスワードにより上書きする。同様に、Webサーバ部122は、初期化処理の指示が、証明書情報の初期化処理の指示である場合には、設定部1222により、証明書情報記憶部1221に現在記憶されている証明書情報を、デフォルト値として予め設定される証明書情報により上書きする。
タイマ部124は、ステップS1503で計時が開始されてから、予め定められた時間tが経過すると、Webサーバ部122に、所定時間が経過した旨が通知される(ステップS1509)。
ここで、ステップS1508にて開始された認証情報の初期化処理が、上述の時間tが経過する時間内に完了しなかったものとする。この場合、Webサーバ部122は、認証情報の初期化処理に関して何らかの異常が発生したとして、当該初期化処理に対してエラー処理(例えば初期化処理の強制停止)を実行する(ステップS1510)。Webサーバ部122は、さらに、送受信部130aに対して、通信制御装置10’の外部からのアクセスを有効化する指示を出す(ステップS1511)。また、Webサーバ部122は、初期化処理が完了できなかった旨を警告する警告通知を含むHTTPメッセージを含む通知パケットを、送受信部130bを介して初期設定用PC22に送信する(ステップS1512、ステップS1513)。
初期設定用PC22において、ブラウザ部220は、渡された通信パケットに含まれる警告通知に応じた画面を初期設定用PC22のディスプレイに表示させる(ステップS1514)。
なお、Webサーバ部122は、ステップS1503でタイマ部124による計時が開始されてから時間tが経過する前に、認証情報の初期化処理が完了した場合には、タイマ部124による計時を解除し、送受信部130aに対する、通信制御装置10’の外部からのアクセスを有効化する。さらに、Webサーバ部122は、初期設定用PC22に対して、初期化が完了した旨を示す完了通知を送信する。
このように、第1の実施形態の第2の変形例では、Webサーバ部122は、初期設定用PC22が認証情報の初期化のためにWebサーバ部122にアクセスした時点で主ポートすなわち送受信部130aに対する通信制御装置10’の外部からのアクセスを無効化する。Webサーバ部122は、その後、所定時間が経過する間に初期設定用PC22から何らかの指示が無かった場合に、送受信部130aに対する通信制御装置10’の外部からのアクセスを有効化する。
そのため、例えば初期設定用PC22を操作するユーザが、初期化画面70aを表示させたまま長時間初期設定用PC22から離れたような場合であっても、送受信部130aに対する通信制御装置10’の外部からのアクセスが自動的に有効化され、通信制御装置10’の利便性が向上される。
(第1の実施形態の第3の変形例)
次に、第1の実施形態の第3の変形例について説明する。第1の実施形態の第3の変形例は、初期設定用PC22から通信制御装置10のWebサーバ部122にアクセスする際に、誤ったURLを指定した場合のWebサーバ部122における処理に関する。
一例として、Webサーバ部122は、宛先IPアドレスを「192.168.254.154」として送受信部130bから転送される通信パケットは、図12を用いて説明した初期化画面70aへのアクセスに関するものであると予め設定されているものとする。また、図12を用いて説明した初期化画面70aのURLが「http://192.168.254.254/rescue」であり、初期設定用PC22のIPアドレスが「192.168.254.2」であるものとし、Webサーバ部122は、送受信部130bに対する送信元IPアドレスが「192.168.254.2」であるアクセスに対し、このURL「http://192.168.254.254/rescue」に対するアクセスのみを受け付けるものとする。
ここで、初期設定用PC22において、ブラウザ部220に対し、例えばURL「http://192.168.254.254/」といった、誤ったURLが指定され、この誤ったURLに従い、Webサーバ部122に対するアクセスが行われたものとする。この場合、Webサーバ部122は、この初期設定用PC22からの誤ったURL「http://192.168.254.254/」によるアクセスを、正しいURL「http://192.168.254.254/rescue」に誘導する。
例えば、Webサーバ部122は、図17(a)に示されるような誘導画面70bを初期設定用PC22に提示する。図17(a)において、正しい初期化画面70aに誘導している旨を示すメッセージ711が表示されている。
すなわち、Webサーバ部122は、送受信部130bから宛先IPアドレスが「192.168.254.254」として転送された通信パケットが、URL「http://192.168.254.254/rescue」に対するアクセスであることが予め設定されている。そのため、誤ったURLが指定されていても、正しいURL「http://192.168.254.254/rescue」に誘導することができる。
誘導後は、図17(b)に例示されるように、上述の図12と同等の初期化画面70aが初期設定用PC22に表示される。ユーザは、この誘導後の初期化画面70aに対してボタン701やボタン702を操作することで、上述した図11におけるステップS120やステップS130の処理が実行され、認証情報の初期化を実行できる。
なお、図17(a)および図17(b)において、上述した図12と共通する部分には同一の符号を付して、詳細な説明を省略する。
このように、第1の実施形態の第3の変形例によれば、ユーザが初期化画面70aを表示させるためのURLを忘れている場合であっても、正しい初期化画面70aを表示させることができ、ネットワークを利用するユーザおよび管理者の利便性が向上される。
(第1の実施形態の第4の変形例)
次に、第1の実施形態の第4の変形例について説明する。第1の実施形態の第4の変形例は、送受信部130aからWebサーバ部122にアクセスする際に、誤ったURLを指定した場合のWebサーバ部122における処理に関する。
一例として、管理者用PC21において、管理者用PC21からWebサーバ部122に対して指定すべきURL(例えば通信制御装置10の管理設定画面のURL)以外のURLが指定された場合、Webサーバ部122は、初期化画面70aへのアクセスを提案する提案画面を、管理者用PC21に提示する。
図18は、第1の実施形態の第4の変形例に係る提案画面の例を示す。なお、図18において、上述した図12と共通する部分には同一の符号を付して、詳細な説明を省略する。図18の例では、提案画面70cは、誤ったURLが指定された旨と、それに対するユーザの次の行動の提案とを含むメッセージ730が表示されている。
より詳細には、図18の例では、メッセージ730は、誤ったURLが指定された旨と、ユーザに対して初期化画面70aへのアクセスを希望しているか否かの確認を促すメッセージとを含む。さらに、メッセージ730は、管理者用PC21を通信制御装置10の別のポート(例えば送受信部130b)に接続して再度同じURLでのアクセスの試行と、初期化画面70aのURL730aへのアクセスの試行とを提案するメッセージを含む。
このように、第1の実施形態の第4の変形例によれば、ユーザが管理者用PC21から誤ったURLにアクセスを試みた場合に、ユーザの次の行動を提案する提案画面70cを提示するため、ネットワークを利用するユーザおよび管理者の利便性が向上される。
(第2の実施形態)
次に、第2の実施形態について説明する。上述した第1の実施形態では、初期設定用PC22が接続される送受信部130bに記憶されるルーティングテーブルに、ゲートウェイのIPアドレスを設定しないものとした。これに対して、第2の実施形態では、送受信部130bに記憶されるルーティングテーブルに対し、ゲートウェイのIPアドレスを設定する。
表9は、第2の実施形態に適用可能な、送受信部130bが記憶するルーティングテーブルの例を示す。表9において、ルーティングテーブルは、送信先IPアドレスとして、ネットマスクを含めてIPアドレス「0.0.0.0/0」が設定され、このIPアドレス「0.0.0.0/0」に、ゲートウェイのIPアドレス「198.168.254.1」が関連付けられている。
ここで、図19に示されるように、初期設定用PC22が、ルータ15を介して送受信部130bに接続される構成を考える。なお、図19は、上述した図2の構成に対し、送受信部130bと初期設定用PC22との間にルータ15を接続した例であり、上述した図2と共通する部分には同一の符号を付して、詳細な説明を省略する。
図19の例において、ルータ15と送受信部130bとが接続されるネットワークにネットワークアドレス「192.168.254.0/24」を、初期設定用PC22とルータ15とのケーブルまたはネットワーク14がネットワークを構成すると見做して、このネットワークにネットワークアドレス「192.168.30.0/24」を、それぞれ割り当てるものとする。また、初期設定用PC22は、IPアドレス「192.168.30.2/24」が固定値として手動にて設定されるものとする。
さらに、ルータ15の送受信部130b側の接続部は、表9においてゲートウェイとして設定されるIPアドレス「192.168.254.1」が、IPアドレスとして設定される。
このような構成において、送受信部130bに表9に示すルーティングテーブルを記憶させることで、初期設定用PC22と送受信部130bとの間で、ルータ15を介して双方向に通信を行うことができる。したがって、初期設定用PC22は、送受信部130bに対してルータ15を超えたネットワークに接続されている場合であっても、通信制御装置10内のWebサーバ部122にアクセスして初期化画面70aを表示させることができる。
なお、上述の各実施形態は、本発明の好適な実施の例ではあるがこれに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変形による実施が可能である。