JP2006246412A - 情報処理装置、情報処理方法及びプログラム - Google Patents

情報処理装置、情報処理方法及びプログラム Download PDF

Info

Publication number
JP2006246412A
JP2006246412A JP2005063153A JP2005063153A JP2006246412A JP 2006246412 A JP2006246412 A JP 2006246412A JP 2005063153 A JP2005063153 A JP 2005063153A JP 2005063153 A JP2005063153 A JP 2005063153A JP 2006246412 A JP2006246412 A JP 2006246412A
Authority
JP
Japan
Prior art keywords
address
network
information processing
node
processing apparatus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2005063153A
Other languages
English (en)
Other versions
JP4756882B2 (ja
JP2006246412A5 (ja
Inventor
Hiroki Shono
広希 庄野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2005063153A priority Critical patent/JP4756882B2/ja
Priority to US11/360,473 priority patent/US20060198390A1/en
Publication of JP2006246412A publication Critical patent/JP2006246412A/ja
Publication of JP2006246412A5 publication Critical patent/JP2006246412A5/ja
Application granted granted Critical
Publication of JP4756882B2 publication Critical patent/JP4756882B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2521Translation architectures other than single NAT servers
    • H04L61/2535Multiple local networks, e.g. resolving potential IP address conflicts
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • H04L61/5014Internet protocol [IP] addresses using dynamic host configuration protocol [DHCP] or bootstrap protocol [BOOTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】 2つ以上のローカルネットワーク間の通信を適切に行なうこと。
【解決手段】 第1ローカルネットワーク105と第2ローカルネットワーク104とに接続する情報処理装置102であって、第2ローカルネットワーク104側で使用されていない第1ローカルネットワーク105用の第1IPアドレス及び第2IPアドレスを生成し、第2ローカルネットワーク104内及び、第2ローカルネットワーク104にルータを介して接続されているネットワーク110内で、第1IPアドレス及び第2IPアドレスが使用されているか否かを確認する。第1IPアドレスが使用されていないと判断された場合には、第1IPアドレスを外部コントローラ102の第1ローカルネットワーク側のIPアドレスとして決定する。第2IPアドレスが使用されていないと判断された場合には、第2IPアドレスを第1ローカルネットワーク上のノードに割り当てる。
【選択図】 図1

Description

本発明は、ローカルネットワーク間に接続された情報処理装置、その装置を用いた情報処理方法及び情報処理プログラムに関するものである。
従来から、ローカルネットワークに所属するノードのアドレス管理技術が知られている。例えば、IP(Internet/Protocol)ネットワーク環境において、異なるネットワークアドレス間を接続する技術として、ルータ(デフォルトゲートウェイ)による接続技術がある。ルータは、自装置内にルーティングテーブルと呼ばれるテーブルを持ち、受信したIPパケットの送信方向を決定し、パケットを適切なネットワークへと転送する。たとえば、IPネットワークAに所属するノードAがIPネットワークBに所属するノードBとIP通信を行う場合には、IPネットワークAのネットワークアドレスとIPネットワークBのネットワークアドレスとが異なるため直接的に通信を行うことはできない。その場合には、ノードAが送出するパケットの送信先IPアドレスをノードBのアドレスとして、送信先MACアドレスにルータのMACアドレスを指定することにより、ルータが当該パケットを受信し、自装置のルーティングテーブルを参照することにより、ルータはパケットをネットワークBへ転送する。ネットワークBに転送されたパケットはノードBの元に届き、データの送信が完了する。
また、DHCPサーバとしての機能を持っていて、IPアドレスを付与することができるルータも存在する(例えば、特許文献1)
特開2002−217941号公報
今日のインターネット環境においては、オフィスや家庭ではそれぞれLAN(Local Area Network)が構築されている。この場合、それぞれのLANに接続されるノードのIPアドレスは、プライベートアドレスと呼ばれるアドレス範囲が使用される。プライベートアドレスはその環境において自由に使用することが許されたIPアドレスの集合であり、インターネット上で使用されるグローバルアドレスとは異なる値が定義されている。LANとインターネットとはルータによって接続されるが、LAN上のノードがインターネット上のWebサーバ等に接続する場合に、プライベートアドレスがインターネット上に流出してしまうという問題が発生する。LANとインターネットとを接続するルータは、セキュリティの観点から、LAN上のノードがインターネットへ接続することは許可しているが、インターネットからLANへのルーティングは通常は許可していないことが多い。そのため、プライベートアドレスがインターネット上に流出した場合には、通信自体が行えない現象が発生する。
その問題を回避するためにNAT(Network Address Translation)技術又はNAPT(Network Address Port Translation)を利用したネットワークルーティング技術が存在している。NATは、LAN上のノードがインターネット上のノードに通信を行う場合に、LANとインターネットとを接続するルータがパケットの送信元IPアドレスを自装置のグローバルアドレスに書き換える技術である。この処理により、LAN上のノードが送出したパケットに含まれるプライベートアドレスがインターネット上の送出されることを防ぐことが可能になり、且つインターネット上の通信先ノードも、パケットの送信元IPアドレスはルータのインターネットIPアドレスであるために、応答することが可能になる。ルータは応答パケットを受信したら、LAN上のノードにパケットを転送する。
しかしながら今日のネットワーク機器においては、機器内のモジュール間がネットワークによって接続されており、IP通信が行われている場合がある。さらには機器内のモジュールに限らず、複数の機器が集合することによって複合的な機能を実現するシステムにおいては、その機器間がIP通信を行っている場合がある。このような場合においては、機器間で使用するネットワークアドレスとオフィスのLAN内で使用するネットワークアドレスが同一または一部が重複する形になり、互いの通信に支障をきたす場合が存在した。
例えば、ネットワーク上に接続された複合機やプリンタなどの機器の機能を拡張する外部制御装置が存在する。この場合、外部制御装置と複合機やプリンタとの間はEthernetで接続されており、ローカルネットワークを構築する。そして、そのローカルネットワーク内で複合機又はプリンタと外部制御装置は所定のプライベートIPアドレスを所有してIP通信を行っている。互いの機器が使用するIPアドレス及びサブネットマスクは、現状の技術では、固定されており変更することはできない。そして外部制御装置はNAT処理を行う機能を有しており、複合機又はプリンタがオフィス内LAN上のノードと通信を行う場合には、複合機又はプリンタが送出したIPパケットに対して外部制御装置がNAT処理を行い、IPアドレスの書き換えを行った後に、オフィス内LAN上のノードに転送するといった処理を行っていた。
この場合、外部制御装置と複合機とが接続するローカルネットワークで使用しているプライベートIPアドレスが含まれるネットワークアドレスと、オフィス内LANで使用しているプライベートIPアドレスが含まれるネットワークアドレスとが同一または一部重複した場合には、NAT処理を行う外部制御装置のルーティングテーブルに矛盾が生じ、転送処理を行うことができなくなってしまうという欠点があった。たとえば、ローカルネットワークで使用されるIPアドレス及びサブネットマスクが以下のような場合であったとする。
外部制御装置のIPアドレス:192.168.0.1
複合機のIPアドレス:192.168.0.2
サブネットマスク:255.255.255.0
この場合、ローカルネットワークのネットワークアドレスは192.168.0.0である。また、オフィス内LANで使用しているネットワークアドレスが192.168.0.0という値を取るものとする。
このような場合には、外部制御装置では、ローカルネットワーク側とオフィス内LAN側のネットワークアドレスが同一であると登録されてしまう。そのため、例えば外部制御装置が192.168.0.4宛てにデータを送信したい場合、ローカルネットワーク側及びオフィス内LAN側のいずれにそのデータを送信すべきかを判断することができず、パケットルーティングを行う際に転送経路の決定ができなかった。ローカルネットワーク及びオフィス内LANでは、前述のようにプライベートIPアドレスを用いているため、そのIPアドレス範囲は制限されたものとなり重複する可能性があった。オフィス内LANで使用するIPアドレスはLAN管理者によって管理されており、IPアドレスの変更は容易な作業ではない。またローカルIPアドレスに関しては、前述の通り固定でIPアドレスを持っているため変更することができなかった。
また一部の技術では、ローカルネットワークで使用するIPアドレス及び関連情報を、DHCPといったAutoIPプロトコルを使用することにより自動で配信している。代表的な例として、家庭内LAN等で使用されるブロードバンドルータが存在する。ブロードバンドルータは家庭内LANに接続されているノードをインターネットにルーティングする機器である。ルーティングにはNATを使用するのが一般的である。このようなブロードバンドルータにおいては、家庭内LANのノードに対してDHCPプロトコルを用いてIPアドレス及び関連情報を配布することが可能であった。しかしながら、家庭内LANで使用するIPネットワークとインターネットで使用されるIPネットワークとが重複することはありえないため、重複への対策技術は存在しなかった。家庭内LANではプライベートIPアドレスが使用され、インターネットではプライベートIPアドレス外のIPアドレスが使用されるからである。そのため、DHCPで配布するIPアドレスは、ブロードバンドルータの使用者が手動でアドレス値を入力するか、またはブロードバンドルータがプライベートIPアドレスから自動的に割り当てる方法が採用されている。つまり、ブロードバンドルータで用いられている技術を外部制御装置に導入したとしても、問題を完全に解決することができなかった。
本発明は、上記従来技術の課題を解決するためになされたもので、その目的とするところは、2つ以上のローカルネットワーク間の通信を適切に行なうことを可能とする技術を提供することにある。
上記目的を達成するため、本発明に係る装置は、
第1ネットワークと第2ネットワークとに接続する情報処理装置であって、
前記第2ネットワーク側で使用されていない前記第1ネットワーク用の第1アドレス及び第2アドレスを生成するアドレス生成手段と、
前記第1アドレスを前記第1ネットワーク用の自装置のアドレスとして設定する第1のアドレス設定手段と、
前記第2アドレスを前記第1ネットワーク上のノードに割り当てる第2のアドレス設定手段と、
を有することを特徴とする。
第1ネットワークと第2ネットワークとの間に接続される情報処理装置であって、
前記第1ネットワーク上のノードが前記第2ネットワーク上のノードと通信する際にネットワークパケットのアドレスを変換するアドレス変換手段と、
前記第2ネットワーク用の自装置のアドレス及びサブネットマスクを認識するアドレス認識手段と、
前記アドレス認識手段で認識した情報に基づいて、前記第2ネットワーク側で使用されていない前記第1ネットワーク用の第1アドレス及び第2アドレスを生成するアドレス生成手段と、
前記第2ネットワーク内及び、前記第2ネットワークにルータを介して接続されているネットワーク内で、前記第1アドレス及び第2アドレスが使用されているか否かを確認する確認手段と、
前記確認手段によって前記第1アドレスが使用されていないと判断された場合に、前記第1アドレスを前記第1ネットワーク用の自装置のアドレスとして設定する第1のアドレス設定手段と、
前記確認手段によって前記第2アドレスが使用されていないと判断された場合に、前記第2アドレスを前記第1ネットワーク上のノードに割り当てる第2のアドレス設定手段と、
を有することを特徴とする。
上記目的を達成するため、本発明に係る方法は、
第1ネットワークと第2ネットワークとの間で情報処理を行なう情報処理方法であって、
前記第2ネットワーク側で使用されていない前記第1ネットワーク用の第1アドレス及び第2アドレスを生成するアドレス生成工程と、
前記第1アドレスを前記第1ネットワーク用の自装置のアドレスとして設定する第1のアドレス設定工程と、
前記第2アドレスを前記第1ネットワーク上のノードに割り当てる第2のアドレス設定工程と、
を有することを特徴とする。
第1ネットワークと第2ネットワークとの間に接続される情報処理装置を用いて情報処理を行なう情報処理方法であって、
前記第2ネットワーク用の自装置のアドレス及びサブネットマスクを認識するアドレス認識工程と、
前記アドレス認識工程で認識した情報に基づいて、前記第2ネットワーク側で使用されていない前記第1ネットワーク用の第1アドレス及び第2アドレスを生成するアドレス生成工程と、
前記第2ネットワーク内及び、前記第2ネットワークにルータを介して接続されているネットワーク内で、前記第1アドレス及び第2アドレスが使用されているか否かを確認するアドレス確認工程と、
前記アドレス確認工程によって前記第1アドレスが使用されていないと判断された場合に、前記第1アドレスを前記第1ネットワーク用の自装置のアドレスとして設定する第1のアドレス設定工程と、
前記アドレス確認工程によって前記第2アドレスが使用されていないと判断された場合に、前記第2アドレスを前記第1ネットワーク上のノードに割り当てる第2のアドレス設定工程と、
前記第1アドレス及び前記第2アドレスを用いて、前記第1ネットワーク上のノードが前記第2ネットワーク上のノードと通信する際にネットワークパケットのアドレスを変換するアドレス変換工程と、
を含むことを特徴とする。
上記目的を達成するため、本発明に係るプログラムは、
第1ネットワークと第2ネットワークとの間に接続される情報処理装置を制御する情報処理プログラムであって、
前記情報処理装置に、
前記第2ネットワーク側で使用されていない前記第1ネットワーク用の第1アドレス及び第2アドレスを生成するアドレス生成工程と、
前記第1アドレスを前記第1ネットワーク用の自装置のアドレスとして設定する第1のアドレス設定工程と、
前記第2アドレスを前記第1ネットワーク上のノードに割り当てる第2のアドレス設定工程と、
を実行させることを特徴とする。
第1ネットワークと第2ネットワークとの間に接続される情報処理装置を制御する情報処理プログラムであって、
前記情報処理装置に、
前記第2ネットワーク用の自装置のアドレス及びサブネットマスクを認識するアドレス認識工程と、
前記アドレス認識工程で認識した情報に基づいて、前記第2ネットワーク側で使用されていない前記第1ネットワーク用の第1アドレス及び第2アドレスを生成するアドレス生成工程と、
前記第2ネットワーク内及び、前記第2ネットワークにルータを介して接続されているネットワーク内で、前記第1アドレス及び第2アドレスが使用されているか否かを確認するアドレス確認工程と、
前記アドレス確認工程によって前記第1アドレスが使用されていないと判断された場合に、前記第1アドレスを前記第1ネットワーク用の自装置のアドレスとして設定する第1のアドレス設定工程と、
前記アドレス確認工程によって前記第2アドレスが使用されていないと判断された場合に、前記第2アドレスを前記第1ネットワーク上のノードに割り当てる第2のアドレス設定工程と、
前記第1アドレス及び前記第2アドレスを用いて、前記第1ネットワーク上のノードが前記第2ネットワーク上のノードと通信する際にネットワークパケットのアドレスを変換するアドレス変換工程と、
を実行させることを特徴とする。
本発明によれば、2つ以上のネットワーク間の通信を適切に行なうことが可能となる。
以下に、図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。ただし、この実施の形態に記載されている構成要素はあくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
(第1実施形態)
以下、図面を参照して本発明の第1実施形態としての外部コントローラについて説明する。まず、外部コントローラが適用可能なネットワークシステムについて図1を用いて説明する。ユーザ環境のネットワーク104にはPC103とPC106が接続され、更に外部コントローラ102とDHCPサーバ108とが接続されている。ルータ107はネットワーク104及びネットワーク110に接続されており、ネットワークルーティングを行っている。ネットワーク110にはPC109が接続されている。また、外部コントローラ102はネットワーク104とは別のローカルネットワーク105にも接続されており、ローカルネットワーク105には画像処理装置101が接続されている。ここで、ネットワーク104及びローカルネットワーク105及びネットワーク110はイーサネット(Ethernet)であるものとする。外部コントローラ102は、第1ローカルネットワークとしてのローカルネットワーク105と第2ローカルネットワークとしてのローカルネットワーク104とに接続された情報処理装置である。
画像処理装置101は複合機であるものとし、スキャナ機能、コピー機能、プリンタ機能とが動作する機器である。画像処理装置101はまた、複合機としての機能を実行する上で、様々なネットワーク通信を行う。例えば、画像処理装置101のスキャナによって読み取った画像をネットワーク上のサーバに格納する機能を有している。DHCPサーバ108はPCが基本となるハードウェアにDHCPサーバ(Dynamic Host Configuration Protocolサーバ)を動作させるためのソフトウェアを導入したものであり、DHCPプロトコルを用いてホストへのネットワークコンフィギュレーションを行うものである。
次に、図2を用いて外部コントローラ10の内部構成について説明する。図2に示すように、外部コントローラ102は、CPU201、ROM202、RAM203、マウスコントローラ205、マウス206、キーボードコントローラ207、キーボード208、CRTコントローラ209、CRT210、ディスクコントローラ211、ハードディスクドライブ212、フロッピー(登録商標)ディスクドライブ213、ネットワークインタフェースカード214、215を備えている。
ここで、CPU201は、外部コントローラ102全体の動作制御を司る。ROM202は、CPU201での動作制御のための各種プログラムやデータなどを格納する。RAM203は、CPU201の主メモリや作業エリアなどを含む。また、マウスコントローラ205は、マウス206からの指示入力を制御する。キーボードコントローラ207は、キーボード208やポインティングデバイス(図示せず)からの指示入力を制御する。CRTコントローラ209は、CRTディスプレイ210の表示を制御する。ハードディスクドライブ212及びフロッピー(登録商標)ディスクドライブ213は、各種プログラムやデータ(ブートプログラム、オペレーティングシステム、種々のアプリケーション、など)を記憶しており、ディスクコントローラ211は、ハードディスクドライブ212及びフロッピーディスクドライブ213とのアクセスを制御する。
ネットワークインターフェイスカード214及び215は、ここでは、それぞれユーザ環境のローカルネットワーク105及びネットワーク104に接続されている。そして、ネットワークインターフェイスカード214は、ネットワーク104を介してFTPサーバ103やPCと双方向にデータをやりとりする。一方、ネットワークインターフェイスカード215は、ローカルネットワーク105を介して画像処理装置101と双方向にデータをやりとりする。以上の各構成部は、システムバス204を介して互いに通信可能となっている。
次に、印刷ジョブを受信する側となる画像処理装置101の構成について図3を用いて説明する。画像処理装置101は、図3に示すように、CPU301、ROM302、RAM303、エンジン304、エンジンコントローラ305、パネル306、パネルコントローラ307、ハードディスクドライブ308、ディスクコントローラ309、NVRAM310、ネットワークインタフェースカード311、スキャナコントローラ313、スキャナ314を備えている。
このうち、CPU301は、画像処理装置101全体の動作制御を司る。RAM302は、CPU301での動作制御のための各種プログラムやデータ等を格納する。RAM303は、CPU301の主メモリや作業用エリア等を含む。エンジン304は、デバイス機能(プリンタ機能やコピー機能等)を実現する。エンジンコントローラ305は、エンジン304の駆動を制御する。パネル306は、ユーザから各種操作指示を受け付けたり種々の情報を表示する。パネルコントローラ307は、パネル306での入出力をコントロールしたりパネル306を管理する。ハードディスクドライブ308は、各種プログラムやデータを記憶しており、ディスクコントローラ309が、ハードディスクドライブ308とのアクセスを制御する。NVRAM310は、不揮発性RAMである。ネットワークインタフェイスカード311は、ローカルネットワーク105を介して外部コントローラ102やFTPサーバ103と双方向にデータをやりとりする。そして、スキャナコントローラ313はスキャナ314を制御する。これらの各構成部は、システムバス312を介して互いに通信可能なように接続されている。
次に、図4を用いて、外部コントローラ102のハードディスクドライブ212に格納されているソフトウェアのうち代表的なものについて説明する。ハードディスクドライブ212は、図4に示すように、各機能を司る複数のソフトウェアを随時読み出し可能に保存している。図4において、OS部401は、オペレーティングシステムであり、ルーティングソフトウェア402は、ネットワークインターフェイスカード214及び215で送受信するデータを互いのネットワークインターフェイスカードにルーティングするためのソフトウェアである。
ローカルアドレス生成モジュール405は、画像処理装置101及び外部コントローラ102のネットワークインターフェイスカード215に割り当てるための、IPアドレスの生成を行うソフトウェアである。つまり、このモジュールを実行するCPUは、IPアドレスを生成するIPアドレス生成手段として機能する。また、ローカルアドレス生成モジュール405は、外部コントローラ102のネットワークインターフェイスカード214に対応付けられているIPアドレスとサブネットマスク情報とを、OS部401に問い合わせるIPアドレス認識手段としても機能する。更に、このローカルアドレス生成モジュール405は、この外部コントローラ102に、直接、または間接的に接続されたネットワーク内で使用されているIPアドレスを確認する確認手段としても機能する。
NAT部406は、ルーティングソフトウェア402のサブセットモジュールであり、ローカルネットワーク105とネットワーク104とをNAT(Network Address Translation)で接続するためのソフトウェアである。タイマ407は、これらのソフトウェアを時間によって管理するために設けられている。つまり、NAT部406は、ローカルネットワーク上のノードが他のローカルネットワーク上のノードと通信する際にネットワークパケットのアドレスを変換するアドレス変換手段として機能する。
外部コントローラアプリケーション403は、画像処理装置101の機能を補足するための各種の機能を有するソフトウェアである。外部コントローラアプリケーション403の一機能としては例えば暗号化通信機能がそれにあたる。本実施の形態においては画像処理装置101は暗号化通信機能を有していない。この場合、外部コントローラプリケーション403は印刷クライアントから暗号化された印刷データを受信し、暗号を解凍した上で、解凍されたデータを画像処理装置101に送信する。こうすることによって、パブリックなネットワークであるネットワーク104上を流れるデータのセキュリティを保つことが可能である。
AutoIPサーバ404は、DHCPプロトコルを用いて画像処理装置101にIPアドレスの供給を行うモジュールであり、IPアドレスを動的にローカルネットワーク上のノードに割り当てるIPアドレス自動設定手段として機能する。そのためAutoIPサーバ404は、ネットワークインターフェイスカード215に対してポートをリッスンしている。
次に、図5を用いて、画像処理装置101のハードディスクドライブ308に格納されているソフトウェアのうち代表的なものについて説明する。ハードディスクドライブ308は、図5に示すように、各機能を司る複数のソフトウェアを随時読み出し可能に保存している。図5において、OS部501は、オペレーティングシステムであり、複合機制御ソフトウェア502は、複合機全体の動作を制御するためのソフトウェアである。複合機制御ソフトウェア502にはSNMP(Simple Network Management Protocol)プロトコル通信を行うためのモジュールが組み込まれている。DHCPクライアントソフトウェア503は、DHCPリクエストを送出し、外部からIPアドレス及びサブネットマスク及びデフォルトゲートウェイの情報を取得する。
MIB504(Management Infomation Base)は、機器情報データベースである。
次に、外部コントローラ102のパケットルーティングを実現するための構成に関してより詳細に説明していく。外部コントローラ102にはルーティング機能としてNATが実装されている。NATとは、ローカルネットワーク内のIPアドレスとパブリックネットワークとを1対1で対応付けて、ローカルネットワークのIPアドレスを持つネットワークノードがパブリックネットワーク内のノードと通信を行う際には、パブリックネットワーク側のIPアドレスに書き換えられるものである。
NATについて、図6を用いて具体的に説明する。図6は画像処理装置101がPC601とIPプロトコルを用いて通信する場合の、パケット中のIPアドレスの変化について示したものである。ここで、画像処理装置101のIPアドレスは10.255.255.2であり、外部コントローラのローカルアドレス105側のIPアドレスは10.255.255.1であるものとする。また外部コントローラ101のネットワーク104側のIPアドレスは172.24.0.2であり、PC601のIPアドレスは172.24.0.1であるものとする。ここで、ローカルネットワーク105とネットワーク104とはネットワークアドレスが異なるため、画像処理装置101がPC601とIP通信を行うためには外部コントローラ102がルータの役割を行う必要がある。
つまり、画像処理装置101に設定されているデフォルトゲートウェイアドレスは外部コントローラのIPアドレスである10.255.255.2である。その状態にて、画像処理装置101がPC601に対してTCP/IPで通信を行うことを考える。画像処理装置101がPC601に対して送信したパケット602に含まれるIPプロトコル部の送信元IPアドレスは10.255.255.2であり、送信先IPアドレスは172.24.0.1である。パケット602はルータの役割を司る外部コントローラ102に到達する。
ネットワークインターフェイスカード215が受信したパケット602は、ルーティングソフトウェア402のサブセットモジュールであるNAT部406によってIPアドレスが書き換えられる。NAT部406はパケット602の送信元IPアドレスを画像処理装置101のIPアドレスから、外部コントローラ102のパブリックネットワーク側のIPアドレスに書き換えて、送信先IPアドレスに対して送信を行う。外部コントローラ102によってネットワーク104側に送信されたパケット603の送信元IPアドレスは、外部コントローラのパブリックネットワーク側のIPアドレスである172.24.0.2であり、送信先IPアドレスはPC601のIPアドレスである172.24.0.1である。つまり、画像処理装置101がパブリックネットワーク104内に送出したパケットは、外部コントローラ102を介すことによって、送信元IPアドレスが書き換えられ、外部コントローラ102が送出したかのようなパケットに書き換えられている。
PC601はパケット603を受信して、そのパケットに対してリプライを行う。PC601が送出したリプライのパケット604は、画像処理装置101に対してのものであるが、PC601が受信したパケット603の送信元IPアドレスは外部コントローラ102のアドレスであるため、PC601は外部コントローラ102に対してパケットを送出する。そのため、パケット604の送信先IPアドレスは外部コントローラのパブリックネットワーク側のIPアドレスである172.24.0.2であり、送信元IPアドレスはPC601のIPアドレスである172.24.0.1である。外部コントローラ102がパケット604を受信すると、NAT部406は送信先IPアドレスを画像処理装置101のアドレスに書き換えてローカルネットワーク105側に送出する。
送出されたパケット605の送信先IPアドレスは、画像処理装置101のアドレスである10.255.255.2であり、送信元IPアドレスはPC601のアドレスである172.24.0.1である。これにより、パケット605は画像処理装置101によって受信される。
このように、ルータの役割を果たす外部コントローラ102がIPアドレスを付け替えることによって画像処理装置101のローカルIPアドレスを外部に出すことなくネットワーク104上のノードと通信することを可能にする技術がNATである。この場合、画像処理装置101がネットワーク104上のノードとTCPやUDPにて通信する場合の宛て先ポートの値によってNATの実行の可否が決定されることはない。画像処理装置101の通信先となるノードの待ちうけポートが何番であっても、NAT406はNAT処理を行い、通信を許可する。対して、ネットワーク104上のノードが外部コントローラ102または画像処理装置101と通信を行う場合には、セキュリティの観点から制限がかけられている。
図7は外部コントローラ102がネットワーク104上のノードからTCP/IPまたはUDP/IPによる通信を受信した場合の動作を説明するための図である。外部コントローラ102上では、TCP/IPによってネットワーク104上のノードと通信を行う機能を持つアプリケーション701が動作している。アプリケーション701はネットワークインターフェイス214側のTCPポート10000番をオープンして常にリッスンしている。また、ルーティングソフトウェア402は、ネットワークインターフェイス214側のTCPポート10100番を画像処理装置101に転送する設定がされている。
ルーティングソフトウェア402はネットワークインターフェイス214側のTCPポート10100番で受信したIPパケットの送信先IPアドレスを画像処理装置101のアドレスである10.255.255.2に付け替えて、ローカルネットワーク105に送信する。つまり、ルーティングソフトウェア402はネットワークインターフェイス214で自装置宛てに受信したIPパケットの送信先ポートが10000であればアプリケーション701に渡し、送信先ポートが10100であれば画像処理装置101に転送する。それ以外のポート番号であった場合には、パケットは破棄される。つまりネットワーク104上のノードが画像処理装置101とIP通信を行う場合には、使用する宛て先ポート番号を予めルーティングソフトウェア402に登録しておく必要がある。
次に図8を用いて本実施の形態の動作の流れについて説明していく。ステップS801では、ユーザが外部コントローラ102の電源を投入する行為を示している。本実施の形態においては、外部コントローラ102と画像処理装置101とは、互いの機能連携を保つためにそれらの電源はユーザによって連動させなければならない仕組みになっている。それぞれ単体では全ての機能を有効に活用することができないため、ユーザは外部コントローラ102や画像処理装置101を単体または複合的に使用する場合には、どちらの電源も投入しなければならない。そのため、ステップS802において、ユーザは画像処理装置101の電源を投入する。
次にステップS803において、外部コントローラ102のOSが起動する。ここでは、ハードディスクドライブ212に格納されているOS部401がRAM203にロードされる。OSの基本的な動作が立ち上がったら、次にステップS804において、外部コントローラ102のローカルネットワーク105側のIPアドレス(これを第1IPアドレスと呼ぶ)として、ローカルアドレスAを仮決定する。ローカルアドレス生成モジュール405は、外部コントローラ102のネットワークインターフェイスカード214に対応付けられているIPアドレスとサブネットマスク情報とを、OS部401に問い合わせる。本実施の形態においては、ネットワークインターフェイスカード214に対応付けられているIPアドレスとサブネットマスクには、静的なアドレス値が設定されており、そのアドレスXは172.24.0.1/24であるものとする。
ローカルアドレス生成モジュール405は、アドレスXのネットワーク空間とは異なる空間に所属し、且つプライベートIPアドレスであるIPアドレスを生成する。ネットワークインターフェイスカード214に対応付けられているサブネットマスクは255.255.255.0であるため、ネットワークインターフェイスカード214に対応付けられているIPアドレスが所属するネットワーク空間は、172.24.0.255である。ここでは、ローカルアドレス生成モジュール405は、172.24.0.255とは別のネットワークに所属していて、且つ、奇数で終わる値の中からIPアドレスを生成する。ローカルアドレス生成モジュール405はIPアドレス192.168.99.1(ローカルアドレスA)を生成したものとする。
次に、ステップS805において、ローカルアドレスAがネットワーク110上のノードですでに使用されているか否かのチェックを行う。ここでチェックを行なう理由はネットワーク110上のノードがローカルアドレスAを使用している場合、外部コントローラ装置102のルーティングテーブルに矛盾が生じて、外部コントローラ装置の通信に支障が発生する可能性があるからである。
ネットワーク110は外部コントローラ装置102が直接的に接続するネットワークとは異なり、ルータ107を介して接続しているが、そのような場合においてもネットワーク110上のノードがローカルアドレスAを使用している場合、該当ノードが外部コントローラ装置102とIPプロトコルによる通信を行うと外部コントローラ装置102のルーティングテーブルには該当ノードのIPアドレスと使用するネットワークインターフェイス及びルータ107のアドレス情報が記録される。ローカルアドレスAが外部コントローラ装置102のネットワークインターフェイスカード215又は画像処理装置101で使用されることを考える場合、そのIPアドレスと使用するネットワークインターフェイス情報もまたルーティングテーブルに記録される。つまり、互いのネットワークインターフェイスはそれぞれネットワークインターフェイスカード214及びネットワークインターフェイスカード215であるにも関わらず、送信先IPアドレスが同一であるため、外部コントローラ装置102は送出するパケットを送出するネットワークインターフェイスがどちらであるか判断することができないという現象が発生する。
ローカルアドレス生成モジュール405は、ネットワークインターフェイスカード214側のネットワークに対してARP(Address Resolution Protocol)を送出することにより、ノードがアドレスAを使用しているか否かのチェックを行う。本実施の形態においては、OS部401に設定されているデフォルトゲートウェイは、ルータ107のIPアドレスである。ローカルアドレス生成モジュール405は、ネットワークインターフェイスカード214側のネットワークに対してARPを送出するが、その際のARPプロトコルにおける宛て先ステーションのIPアドレスは192.168.99.1である。
またデータリンク層に含まれる宛て先MACアドレスはルータ107のネットワーク104側のMACアドレスである。ARPプロトコルに含まれる送信先MACアドレスは全て0である。ローカルアドレス生成モジュール405によって送出されたARPパケットは、ルータ107によって受信される。ルータ107は受信したARPパケットのデータリンク層に含まれるMacアドレスが自装置のアドレスと一致することから、当該ARPパケットが自分に宛てられたものであることを認識する。
次にルータ107は、ARPプロトコルに含まれる宛て先IPアドレスが自装置が持つアドレスとは異なる192.168.99.1であることから、受信ARPパケットを転送する。ルータ107は、自装置のルーティングテーブルを参照することで、IPアドレス192.168.99.1が所属するネットワークをマッピングする。ここでは、IPアドレス192.168.99.1に対応するアドレス空間はネットワーク110で使用されていることとする。そのためルータ107は、ネットワーク110に対して、ARPを送出する。その際のデータリンク層に含まれる宛て先MACアドレスはブロードキャストアドレスであり、ARPプロトコルに含まれる宛て先ステーションのIPアドレスは192.168.99.1であり、送信元ステーションのIPアドレスはルータ107のネットワーク110側のIPアドレスである。
ここで、ネットワーク110に、IPアドレス192.168.99.1を所有するノードが存在すれば、ノードからARP応答が返信される。ノードはARP応答を送信するが、その際のデータリンク層に含まれるMACアドレス情報はノード自身のMACアドレスである。また、ARPプロトコルに含まれる宛て先ステーションのIPアドレスは、ルータ107のネットワーク110側のIPアドレスであり、送信元ステーションのIPアドレスはノードのIPアドレス、つまり192.168.99.1である。ルータ107はARP応答を受信して、外部コントローラ102にARP応答を送信する。ルータ107が外部コントローラ102に対して送出するARP応答の、データリンク層に含まれる送信元MACアドレスは、ルータ107のネットワーク104側のMACアドレスである。また、ARPプロトコルに含まれる宛て先ステーションのIPアドレスは、外部コントローラ102のネットワークインターフェイスカード214側のIPアドレスである172.24.0.1であり、送信元ステーションのIPアドレスはネットワーク110上のノードのIPアドレスとなる。
本実施の形態においては、ネットワーク110上には192.168.99.1を所有するノードは存在していないものとし、ARP応答もなかったものとする。ステップS805で、もしARP応答があれば、192.168.99.1はネットワークインターフェイス215のIPアドレスとしては使用できないと判断できるため、再度仮アドレスの生成処理を行うためステップS804を行う。ステップS804において、再度IPアドレスの生成を行う場合には、一度生成したIPアドレスは外部コントローラ102の電源が落とされるまでの間、使用されないような仕組みが入っているものとする。
このように、生成したIPアドレスが使用済みであれば何度でもIPアドレスの生成処理を行なうため、確実に、フリーのIPアドレスを設定でき、ネットワーク間の通信を確実なものとすることができる。
ステップS804において、外部コントローラ102のローカルネットワーク105側のローカルアドレスAの仮決定処理が行われ、ステップS805で、そのローカルアドレスAが未使用と判断されたら、次にステップS806において、画像処理装置101に配布するIPアドレス(これを第2IPアドレスと呼ぶ)としてIPアドレスBの仮決定処理を行う。ここでは、IPアドレスBはローカルアドレスA+1の値が使用されるものとする。ローカルアドレスAは奇数であり、且つIPアドレスBはローカルアドレスA+1の値にすることにより、ローカルアドレスAとIPアドレスBとは実質的な最少ネットマスクである255.255.255.252で通信することが可能になる。
ここでは、ローカルアドレスAは192.168.99.1であるため、IPアドレスBは192.168.99.2になる。このような手法によって画像処理装置101に配布するIPアドレスBの仮決定が行われたら、次に、ステップS807において、IPアドレスBがネットワーク110上のノードで使用済みか否かの判定を行う。具体的には、ステップS805で説明した処理とほぼ同じ処理を行なう。すなわち、ローカルアドレス生成モジュール405が、ネットワークインターフェイスカード214側のネットワークに対してARP(Address Resolution Protocol)を送出することにより、ノードがアドレスAを使用しているか否かのチェックを行う。
ただし、ローカルアドレス生成モジュール405が、ネットワークインターフェイスカード214側のネットワークに対してARPを送出する際のARPプロトコルにおける宛て先ステーションのIPアドレスは、IPアドレスBの値である192.168.99.2である。
本実施の形態においては、ネットワーク110上のノードからの返信はなかったものとする。それにより、IPアドレスBはネットワーク110上のノードによって使用されていないと判断できるため、ローカルアドレスA及びIPアドレスBはそれぞれネットワークインターフェイスカード215及び画像処理装置101のIPアドレスとして使用可能であるものとしてアドレス値が決定される。ここで、ARP応答があれば、192.168.99.2は画像処理装置101のIPアドレスとしては使用できないと判断できる。そして、ステップS804に戻り、ローカルアドレス生成モジュール405は、再度、ネットワークインターフェイスカード215及び画像処理装置101の仮アドレスの生成処理を行う。
ステップS804からステップS807の一連の処理によってネットワークインターフェイスカード215及び画像処理装置101のIPアドレスが決定したら、次にステップS808において、外部コントローラ102のネットワークインターフェイス215のIPアドレスの設定を行う。外部コントローラ102のネットワークインターフェイス215のIPアドレスは、ステップS806及びステップS807にて決定されたIPアドレスB(192.268.99.2)である。ローカルアドレス生成モジュールは、IPアドレスBをOS部401に通知する。OS部401は通知されたIPアドレスBの値を、ネットワークインターフェイス215のIPアドレスとして設定する。この処理により、ネットワークインターフェイス215に関連付けられるIPアドレスはIPアドレスB(192.168.99.2)となる。
外部コントローラ102のネットワークインターフェイス214に関連付けられるIPアドレスは172.24.0.1であり、ネットワークインターフェイス215に関連付けられるIPアドレスは192.268.99.2であることになり、NAT部406がNAT処理を行う際に参照するOS部401のルーティングテーブルにも矛盾は発生しない。これにより、NAT部406はNAT処理を行うことが可能になる。
次にステップS809において、DHCPサーバを起動する。つまり、AutoIPサーバ404のIPアドレス配信機能の起動が行われる。この時点では、AutoIPサーバ404自体は外部コントローラ102内で起動されているが、AutoIPサーバ404におけるIPアドレスの配布機能は無効となっている。IPアドレス配布はローカルアドレス生成モジュール405からIPアドレスを受け取った時点で有効になる。
そこで、ステップS809では、ローカルアドレス生成モジュール405が、外部コントローラ101のIPアドレスとして生成した値192.168.99.1を、ローカルループバックアドレスを用いたアプリケーション間通信を使用することによって、AutoIPサーバ404に通知する。通知を受けたAutoIPサーバ404は、IPアドレスの配布処理を開始する。IPアドレスの配布は、DHCPプロトコルによって実現される。AutoIPサーバ404はDHCPサーバとしての機能を有しており、ネットワークインターフェイスカード215上のノードに対してIPアドレスを配信する。ここで、AutoIPサーバ404がDHCPサーバとして動作するのは、ネットワークインターフェイスカード215に対してのみであり、ネットワークインターフェイスカード214に対しては、ポートのリッスンは行わない。
外部コントローラ102がIPアドレスの配信が可能な状態になると、次にステップS810において、画像処理装置101内で動作するDHCPクライアントソフトウェア503がDHCPリクエストを送出する。そして、ステップS811において、外部コントローラ102は、受信したDHCPリクエストに対して、IPアドレス及びサブネットマスク及びデフォルトゲートウェイの情報を返信する。
画像処理装置101は、電源が投入されて起動した直後には、ネットワークインターフェイスカード311に対応付けられる有効なIPアドレスは所有していない。そこで、DHCPクライアントソフトウェア503が外部コントローラ102からDHCPプロトコルによってIPアドレスを取得する。ここで外部コントローラ102のAutoIPサーバ404が供給するIPアドレスは、192.168.99.1であり、サブネットマスクは255.255.255.252であり、デフォルトゲートウェイは192.168.99.2である。サブネットマスクは外部コントローラ102と画像処理装置101とがローカルネットワーク105内で同一ネットワークとして設定可能な最少マスク値である。デフォルトゲートウェイは、外部コントローラ102のネットワークインターフェイスカード215のIPアドレスであり、画像処理装置101がNATを使用してノードと通信するために必要な情報である。
ところで、外部コントローラ102と画像処理装置101とは、起動順序の連携は行っていない。そのため、ステップS809において、AutoIPサーバ404がDHCP通信可能な状態となる前に、画像処理装置101が起動して、ステップS810においてDHCPクライアントソフトウェア503がDHCPプトロコルによるリクエストを送出してしまう場合がある。そこで、ステップS810で、DHCPプトロコルによるリクエストを送出した後、ステップS812に進み、応答があったか否かの判定を行なう。そして、AutoIPサーバ404からの応答がない場合にはステップS810に戻り、一定間隔でDHCPリクエストを送出する。一方、DHCPクライアントソフトウェア503は、ステップS812において、送出したDHCPリクエストの応答を得ることができればDHCPによるアドレス取得処理を終了する。
画像処理装置101は、外部コントローラ102からIPアドレス及びサブネットマスク及びデフォルトゲートウェイを取得したら、それらの値をネットワークインターフェイスカード311に対応するIP情報として設定し、ネットワーク通信が有効な状態に移行する。
このような流れによって、外部コントローラ102及び画像処理装置101が起動したら、外部コントローラは自装置のネットワークが有効である状態の場合には、ネットワークインターフェイスカード215及び画像処理装置101のネットワークインターフェイスカード311に対応付けられているIPアドレスを使用するノードがネットワーク内に存在しないことをチェックする。その処理の流れについては、図9を用いて説明する。
図9では、その初期状態において画像処理装置101及び外部コントローラ102は起動しているものとする。外部コントローラ102のネットワークインターフェイスカード214には、IPアドレスとして172.24.0.1が設定されているものとする。またネットワークインターフェイスカード215には192.168.99.1が設定されており、画像処理装置101のネットワークインターフェイスカード311には192.168.99.2が設定されているものとする。ステップS901において、ローカルアドレス生成モジュール405は、ネットワークインターフェイスカード214側のネットワークに対してARPを送出し、ステップS902において、ARP応答があるか否かを判断することにより、ノードが192.168.99.1を使用しているか否かのチェックを行う。
OS部401に設定されているデフォルトゲートウェイは、ルータ107のIPアドレスである。ローカルアドレス生成モジュール405は、ネットワークインターフェイスカード214側のネットワークに対してARPを送出するが、その際のARPプロトコルにおける宛て先ステーションのIPアドレスは192.168.99.1である。またデータリンク層に含まれる宛て先MACアドレスはルータ107のネットワーク104側のMACアドレスである。ARPプロトコルに含まれる送信先MACアドレスは全て0である。
ステップS902でローカルアドレス生成モジュール405によって送出されたARPパケットが、ルータ107によって受信されると、ルータ107は、受信したARPパケットのデータリンク層に含まれるMacアドレスが自装置のアドレスと一致することから、当該ARPパケットが自分に宛てられたものであることを認識する。次にルータ107は、ARPプロトコルに含まれる宛て先IPアドレスが自装置が持つアドレスとは異なる192.168.99.1であることから、受信ARPパケットを転送する。更にルータ107は、自装置のルーティングテーブルを参照することで、IPアドレス192.168.99.1が所属するネットワークをマッピングする。
ここで、当該アドレス空間がネットワーク110で使用されていることとすると、ルータ107は、ネットワーク110に対して、ARPを送出する。その際のデータリンク層に含まれる宛て先MACアドレスはブロードキャストアドレスであり、ARPプロトコルに含まれる宛て先ステーションのIPアドレスは192.168.99.1であり、送信元ステーションのIPアドレスはルータ107のネットワーク110側のIPアドレスである。ここで、ネットワーク110に、IPアドレス192.168.99.1を所有するノードが存在すれば、ノードからルータ107に対してARP応答が返信される。
なお、ノードがARP応答を送信する際のデータリンク層に含まれるMACアドレス情報はノード自身のMACアドレスである。またARPプロトコルに含まれる宛て先ステーションのIPアドレスは、ルータ107のネットワーク110側のIPアドレスであり、送信元ステーションのIPアドレスはノードのIPアドレス、つまり192.168.99.1である。ルータ107はARP応答を受信して、外部コントローラ102にARP応答を送信する。ルータ107が外部コントローラ102に対して送出するARP応答の、データリンク層に含まれる送信元MACアドレスはルータ107のネットワーク104側のMACアドレスである。また、ARPプロトコルに含まれる宛て先ステーションのIPアドレスは、外部コントローラ102のネットワークインターフェイスカード214側のIPアドレスである172.24.0.1であり、送信元ステーションのIPアドレスはネットワーク110上のノードのIPアドレスとなる。
外部コントローラ102は、ルータ107からのARP応答を受信すると、192.168.99.1はネットワークインターフェイス215のIPアドレスとしては使用できないと判断できる。このため、ステップS902からステップS905に進み、ユーザに再起動を促す処理を行う。
一方、ルータ107からARP応答がなければ、外部コントローラ102がネットワークインターフェイスカード214側でIP通信が可能な範囲には、192.168.99.1を使用しているノードはないものと判断できるため、ステップS903の処理に移行する。
ステップS903においては、画像処理装置101のIPアドレスである192.168.99.2の使用状況を調査する。ローカルアドレス生成モジュール405はステップS901と同様の手法によって、192.168.99.2が外部コントローラ102がネットワークインターフェイスカード214側でIP通信が可能な範囲に存在しているか否かをテストする。ここで、ARP応答があれば、192.168.99.2はネットワークインターフェイス311のIPアドレスとしては使用できないと判断できる。ユーザに再起動を促す処理を行う。一方、ARP応答がなければ、外部コントローラ102がネットワークインターフェイスカード214側でIP通信が可能な範囲には、192.168.99.2を使用しているノードはないものと判断できステップS908へと移行する。
ステップS908では、タイマ407を起動して、一定時間のウェイト処理を行う。一定時間が経過したらステップS901に戻り、再度IPアドレスの使用状況のチェックを行う。
ステップS902又はステップS904において、ARP応答があった場合には、外部コントローラ102内のOS部401に保持されているルーティングテーブルが矛盾するため、それらのIPアドレスを所有するノードとの通信に不具合が発生する可能性がある。そのため、画像処理装置101のパネル306に、ユーザに外部コントローラ102及び画像処理装置101の再起動を促すメッセージを表示する。
このように、メッセージを表示することで、ユーザは、ローカルネットワーク間の通信に不具合が発生することを回避できる。
このため、ステップS905において、ローカルアドレス生成モジュール405はSNMPプロトコルのSetRequestを使用して、メッセージを画像処理装置101に通知する。ここで使用されるOIDはプライベートMIBの範囲であり、パネルにメッセージを表示するためのObjectが存在しているものとする。ローカルアドレス生成モジュール405はSetRequestのSNMPフォーマット内に所定のOIDをセットして、値として外部コントローラ102及び画像処理装置101の再起動を促す内容のメッセージを示すIDをセットし、画像処理装置101に送信する。
画像処理装置101はステップS906において、当該SNMPパケットを受信し、SNMPメッセージの内容は複合機制御ソフトウェア502によって解析され、受信したObjectの値はMIB504に設定される。そして更に、ステップS907において、複合機制御ソフトウェア502は、MIB504に設定された指示に従い、パネル306への図10に示すようなメッセージの表示を行う。
図10では、パネル306に表示されている複合機のメニュー画面の下部にメッセージが表示されている。メッセージ1001は「デバイスと外部コントローラの電源を入れ直してください」とパネル下部に表示されることによって、ユーザに対して、画像処理装置101及び外部コントローラ102の電源の入れ直しを促している。この処理により、画像処理装置101及び外部コントローラ102のOSが再度起動することにより、ローカルネットワーク105で使用されるIPアドレスの再割り当てが行われる。
以上に示したように、本実施形態では、ローカルネットワークとパブリックネットワーク間にルーティングを行う外部コントローラが存在し、外部コントローラはNATによってIPパケット転送を行うような環境下において、ローカルネットワークで使用されるIPアドレス及びIPネットワークとパブリックネットワークで使用されるIPアドレス及びIPネットワークとが重複しないように、IPアドレスを生成し、設定する。これにより、ローカルネットワークに接続している画像処理装置は、パブリックネットワーク上のノード又は外部コントローラとの間で、不具合なく通信を行なうことができる。また、逆に、パブリックネットワーク上のノードも、外部コントローラ又はローカルネットワークに接続された機器と不具合なく通信することができる。
また、外部コントローラは、毎回パブリックネットワークで使用しているIPネットワーク情報を探索して自動的にIPアドレス及び関連情報を生成し、割り当てるため、ユーザが手動でアドレスを入力する必要がなく、非常に簡便にネットワークの管理を行なうことができる。
(第2実施形態)
図面を参照して本発明の第2実施形態について説明する。第2実施形態が第1実施形態と異なる主なる点は、ネットワーク104側に接しているネットワークインターフェイス214に対応付けられるIPアドレスが動的に決定されるという点である。第2実施形態において、それぞれの機器の構成は第1実施形態で説明したものと同じである。また、画像処理装置101及び外部コントローラ102の動作の流れについても、第1実施形態にて図8に示された流れと一部同じ処理を行っている部分が存在する。そのため、本実施の形態においては、図8を基本的な流れとして、異なる手法が用いられている箇所を別図を用いて説明していく。まず、図8におけるステップS801からステップS803までの一連の処理に関しては第1実施形態で説明したものと同様である。
ステップS803の処理が終了した後で、第2実施形態においては、図11で示されたステップS1101に移行する。ステップS1101では、外部コントローラ102はネットワークインターフェイス214に対応付けられるIPアドレスとして、動的に値を取得する手段を用いるところが第1実施形態と異なる部分である。OS部401は、ネットワーク104に対してDHCPプロトコルによるIPアドレス取得リクエストを送出して、ステップS1102に進む。ステップS1102では、IPアドレスを取得したか否かを判断する。送出したリクエストに対して、ネットワーク104上のDHCPサーバ108が応答を返した場合、外部コントローラ102はIPアドレス情報の取得を正しく行うことができたことになり、ネットワークインターフェイスカード214にはIPアドレスが対応付けられる。
IPアドレス情報を取得することができたら、ステップS1103に進み、取得したIPアドレスを元にローカルアドレスAの値を生成するため、ネットワークインターフェイスカード214のIPアドレスを示す変数であるアドレスXの値を生成する。ステップS1103では、DHCPサーバ108からIPアドレス情報を取得することができた場合の処理が行われる。OS部401は取得したIPアドレスをネットワークインターフェイスカード214のIPアドレスとして設定するが、更にネットワークインターフェイスカード214のIPアドレスを表す内部変数であるアドレスXに、取得したIPアドレス値を格納する。
その後、図8のステップS804の処理に移行する。そのためステップS804にて生成されるローカルアドレスAは、アドレスXのネットワークと同じにならないように計算される形になる。なお、第1実施形態におけるステップS804の説明においては、アドレスXは静的なIPアドレスである172.24.0.1/24が使用されているが、第2実施形態において、DHCPプロトコルによってIPアドレスの取得が行われ、その値がアドレスXに格納されている場合には、その値が優先的に使用される。
一方、DHCPサーバ108からの応答がなかった場合など、IPアドレス情報の取得に失敗したら、ステップS1104の処理に移行する。ステップS1104では、ステップS1102にてDHCPプロトコルによるIPアドレスの取得に失敗した場合の処理が行われる。OS部401は過去にネットワークインターフェイスカード214に対応付けられるIPアドレスとして有効であったIPアドレスの中で、一番新しいIPアドレス値を読み出す。
OS部401は、OS部401の構成ファイルの一部として存在している、自装置がネットワークインターフェイス214のIPアドレスとして使用した最も新しいIPアドレスが記録されたファイルを読み込む。次にOS部401及びローカルアドレス生成モジュール405はステップS1104にて読み出したIPアドレスをアドレスXに格納する(ステップS1105)。そして更に、図8のステップS804の処理に移行する。つまり、ステップS804にて生成されるローカルアドレスAは、アドレスXのネットワークと同じにならないように計算される形になる。
(他の実施形態)
以上、本発明の実施形態について詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
なお、本発明は、前述した実施形態の機能を実現するプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置が、供給されたプログラムコードを読み出して実行することによっても達成される。従って、本発明の機能処理をコンピュータで実現するために、コンピュータにインストールされるプログラムコード自体も本発明の技術的範囲に含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などがある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明のクレームに含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
本発明の実施形態に係るシステムの接続構成を例示したブロック図である。 外部コントローラの内部構造を示すブロック図である。 画像処理装置の内部構造を示すブロック図である。 外部コントローラのソフトウェア構成を示すブロック図である。 画像処理装置のソフトウェア構成を示すブロック図である。 NAT処理におけるデータ内容を示した図である。 外部コントローラにおけるポート振り分けの構造を示した図である。 ローカルアドレス決定時において機器単位の処理フローを示した図である。 ローカルアドレス決定後において機器単位の処理フローを示した図である。 ローカルアドレスが使用不可能になった場合の、画像処理装置のパネルUI(ユーザインターフェイス)を例示した図である。 外部コントローラがDHCPによってIPアドレスを取得する際のフローを示した図である。
符号の説明
101 画像処理装置
102 外部コントローラ
103 PC
104 ネットワーク
105 ローカルネットワーク
106 PC
107 ルータ
108 DHCPサーバ
109 PC
110 ネットワーク
201 CPU
202 ROM
203 RAM
204 システムバス
205 マウスコントローラ
206 マウス
207 キーボードコントローラ
208 キーボード
209 CRTコントローラ
210 CRT
211 ディスクコントローラ
212 ハードディスクドライブ
213 フロッピーディスクドライブ
214 ネットワークインターフェイスカード
215 ネットワークインターフェイスカード
301 CPU
302 ROM
303 RAM
304 エンジン
305 エンジンコントローラ
306 パネル
307 パネルコントローラ
308 ハードディスクドライブ
309 ディスクコントローラ
310 NVRAM
311 ネットワークインターフェイスカード
312 システムバス
401 OS部
402 ルーティングソフトウェア
403 外部コントローラアプリケーション
404 AutoIPサーバ
405 ローカルアドレス生成モジュール
406 NAT部
407 タイマ
501 OS部
502 複合機制御ソフトウェア
503 DHCPクライアントソフトウェア
504 MIB
601 PC
602 パケット
603 パケット
604 パケット
605 パケット
701 アプリケーション
1001 パネルUI

Claims (9)

  1. 第1ネットワークと第2ネットワークとに接続する情報処理装置であって、
    前記第2ネットワーク側で使用されていない前記第1ネットワーク用の第1アドレス及び第2アドレスを生成するアドレス生成手段と、
    前記第1アドレスを前記第1ネットワーク用の自装置のアドレスとして設定する第1のアドレス設定手段と、
    前記第2アドレスを前記第1ネットワーク上のノードに割り当てる第2のアドレス設定手段と、
    を有することを特徴とする情報処理装置。
  2. 第1ネットワークと第2ネットワークとの間に接続される情報処理装置であって、
    前記第1ネットワーク上のノードが前記第2ネットワーク上のノードと通信する際にネットワークパケットのアドレスを変換するアドレス変換手段と、
    前記第2ネットワーク用の自装置のアドレス及びサブネットマスクを認識するアドレス認識手段と、
    前記アドレス認識手段で認識した情報に基づいて、前記第2ネットワーク側で使用されていない前記第1ネットワーク用の第1アドレス及び第2アドレスを生成するアドレス生成手段と、
    前記第2ネットワーク内及び、前記第2ネットワークにルータを介して接続されているネットワーク内で、前記第1アドレス及び第2アドレスが使用されているか否かを確認する確認手段と、
    前記確認手段によって前記第1アドレスが使用されていないと判断された場合に、前記第1アドレスを前記第1ネットワーク用の自装置のアドレスとして設定する第1のアドレス設定手段と、
    前記確認手段によって前記第2アドレスが使用されていないと判断された場合に、前記第2アドレスを前記第1ネットワーク上のノードに割り当てる第2のアドレス設定手段と、
    を有することを特徴とする情報処理装置。
  3. 前記アドレス生成手段は、
    前記確認手段によって前記第1アドレス及び第2アドレスが使用されていると判断された場合に、再度、前記第1アドレス及び第2アドレスを生成することを特徴とする請求項2に記載の情報処理装置。
  4. 前記確認手段によって前記第1アドレス及び第2アドレスが使用されていると判断された場合に、警告メッセージを通知するメッセージ通知手段を更に有することを特徴とする請求項2または3に記載の情報処理装置。
  5. 前記確認手段がルータの先のネットワーク内のアドレス使用状況を確認する際にはARP(Address Resolution Protocol)を使用することを特徴とする請求項2、3または4に記載の情報処理装置。
  6. 第1ネットワークと第2ネットワークとの間で情報処理を行なう情報処理方法であって、
    前記第2ネットワーク側で使用されていない前記第1ネットワーク用の第1アドレス及び第2アドレスを生成するアドレス生成工程と、
    前記第1アドレスを前記第1ネットワーク用の自装置のアドレスとして設定する第1のアドレス設定工程と、
    前記第2アドレスを前記第1ネットワーク上のノードに割り当てる第2のアドレス設定工程と、
    を有することを特徴とする情報処理方法。
  7. 第1ネットワークと第2ネットワークとの間に接続される情報処理装置を用いて情報処理を行なう情報処理方法であって、
    前記第2ネットワーク用の自装置のアドレス及びサブネットマスクを認識するアドレス認識工程と、
    前記アドレス認識工程で認識した情報に基づいて、前記第2ネットワーク側で使用されていない前記第1ネットワーク用の第1アドレス及び第2アドレスを生成するアドレス生成工程と、
    前記第2ネットワーク内及び、前記第2ネットワークにルータを介して接続されているネットワーク内で、前記第1アドレス及び第2アドレスが使用されているか否かを確認するアドレス確認工程と、
    前記アドレス確認工程によって前記第1アドレスが使用されていないと判断された場合に、前記第1アドレスを前記第1ネットワーク用の自装置のアドレスとして設定する第1のアドレス設定工程と、
    前記アドレス確認工程によって前記第2アドレスが使用されていないと判断された場合に、前記第2アドレスを前記第1ネットワーク上のノードに割り当てる第2のアドレス設定工程と、
    前記第1アドレス及び前記第2アドレスを用いて、前記第1ネットワーク上のノードが前記第2ネットワーク上のノードと通信する際にネットワークパケットのアドレスを変換するアドレス変換工程と、
    を含むことを特徴とする情報処理方法。
  8. 第1ネットワークと第2ネットワークとの間に接続される情報処理装置を制御する情報処理プログラムであって、
    前記情報処理装置に、
    前記第2ネットワーク側で使用されていない前記第1ネットワーク用の第1アドレス及び第2アドレスを生成するアドレス生成工程と、
    前記第1アドレスを前記第1ネットワーク用の自装置のアドレスとして設定する第1のアドレス設定工程と、
    前記第2アドレスを前記第1ネットワーク上のノードに割り当てる第2のアドレス設定工程と、
    を実行させることを特徴とする情報処理プログラム。
  9. 第1ネットワークと第2ネットワークとの間に接続される情報処理装置を制御する情報処理プログラムであって、
    前記情報処理装置に、
    前記第2ネットワーク用の自装置のアドレス及びサブネットマスクを認識するアドレス認識工程と、
    前記アドレス認識工程で認識した情報に基づいて、前記第2ネットワーク側で使用されていない前記第1ネットワーク用の第1アドレス及び第2アドレスを生成するアドレス生成工程と、
    前記第2ネットワーク内及び、前記第2ネットワークにルータを介して接続されているネットワーク内で、前記第1アドレス及び第2アドレスが使用されているか否かを確認するアドレス確認工程と、
    前記アドレス確認工程によって前記第1アドレスが使用されていないと判断された場合に、前記第1アドレスを前記第1ネットワーク用の自装置のアドレスとして設定する第1のアドレス設定工程と、
    前記アドレス確認工程によって前記第2アドレスが使用されていないと判断された場合に、前記第2アドレスを前記第1ネットワーク上のノードに割り当てる第2のアドレス設定工程と、
    前記第1アドレス及び前記第2アドレスを用いて、前記第1ネットワーク上のノードが前記第2ネットワーク上のノードと通信する際にネットワークパケットのアドレスを変換するアドレス変換工程と、
    を実行させることを特徴とする情報処理プログラム。
JP2005063153A 2005-03-07 2005-03-07 情報処理装置、情報処理方法及びプログラム Expired - Fee Related JP4756882B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005063153A JP4756882B2 (ja) 2005-03-07 2005-03-07 情報処理装置、情報処理方法及びプログラム
US11/360,473 US20060198390A1 (en) 2005-03-07 2006-02-24 Information processing apparatus, information processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005063153A JP4756882B2 (ja) 2005-03-07 2005-03-07 情報処理装置、情報処理方法及びプログラム

Publications (3)

Publication Number Publication Date
JP2006246412A true JP2006246412A (ja) 2006-09-14
JP2006246412A5 JP2006246412A5 (ja) 2008-04-24
JP4756882B2 JP4756882B2 (ja) 2011-08-24

Family

ID=36944086

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005063153A Expired - Fee Related JP4756882B2 (ja) 2005-03-07 2005-03-07 情報処理装置、情報処理方法及びプログラム

Country Status (2)

Country Link
US (1) US20060198390A1 (ja)
JP (1) JP4756882B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2010029759A1 (ja) * 2008-09-11 2012-02-02 パナソニック株式会社 情報処理端末装置及びネットワーク接続方法
JP2018148264A (ja) * 2017-03-01 2018-09-20 日本放送協会 端末装置、ネットワークモジュール中継装置、データ中継装置及びデータ通信システム

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008015880A (ja) * 2006-07-07 2008-01-24 Fuji Xerox Co Ltd ネットワークシステム、画像処理装置、およびコンピュータプログラム
JP6149741B2 (ja) * 2014-01-24 2017-06-21 富士ゼロックス株式会社 情報処理装置及びプログラム
JP6838444B2 (ja) * 2017-03-17 2021-03-03 富士通株式会社 情報処理装置、情報処理装置制御方法及び情報処理装置制御プログラム
JP7360616B2 (ja) * 2019-09-25 2023-10-13 京セラドキュメントソリューションズ株式会社 画像形成装置、画像形成方法及び画像形成プログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002237816A (ja) * 2001-02-08 2002-08-23 Ricoh Co Ltd アドレス自動割り当て方法
JP2004064379A (ja) * 2002-07-29 2004-02-26 Nec Corp ルータ装置およびプログラム
JP2004120213A (ja) * 2002-09-25 2004-04-15 Murata Mach Ltd 通信端末装置及びそのプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6532217B1 (en) * 1998-06-29 2003-03-11 Ip Dynamics, Inc. System for automatically determining a network address
US20020186698A1 (en) * 2001-06-12 2002-12-12 Glen Ceniza System to map remote lan hosts to local IP addresses
US7072337B1 (en) * 2002-01-25 2006-07-04 3Com Corporation System and method for resolving network addresses for network devices on distributed network subnets
US7633948B2 (en) * 2003-07-07 2009-12-15 Panasonic Corporation Relay device and server, and port forward setting method
KR100587560B1 (ko) * 2004-05-07 2006-06-08 삼성전자주식회사 링크 로컬 주소를 가지는 시스템에서 외부 시스템과통신하는 방법 및 장치
US8040819B2 (en) * 2005-08-30 2011-10-18 Cisco Technology, Inc. Discovery and identification of upstream device characteristics for self-configuration of customer premises equipment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002237816A (ja) * 2001-02-08 2002-08-23 Ricoh Co Ltd アドレス自動割り当て方法
JP2004064379A (ja) * 2002-07-29 2004-02-26 Nec Corp ルータ装置およびプログラム
JP2004120213A (ja) * 2002-09-25 2004-04-15 Murata Mach Ltd 通信端末装置及びそのプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2010029759A1 (ja) * 2008-09-11 2012-02-02 パナソニック株式会社 情報処理端末装置及びネットワーク接続方法
US8386603B2 (en) 2008-09-11 2013-02-26 Panasonic Corporation Information processing terminal device and network connection method
JP2018148264A (ja) * 2017-03-01 2018-09-20 日本放送協会 端末装置、ネットワークモジュール中継装置、データ中継装置及びデータ通信システム

Also Published As

Publication number Publication date
JP4756882B2 (ja) 2011-08-24
US20060198390A1 (en) 2006-09-07

Similar Documents

Publication Publication Date Title
JP4405933B2 (ja) 制御装置、通信制御方法、通信制御プログラム、及び記憶媒体
JP4974848B2 (ja) ネットワーク管理装置、ネットワーク管理方法、ならびにネットワーク管理方法を実行するプログラム
US8886776B2 (en) Communication apparatus and storing medium
EP2351315B1 (en) A virtualization platform
JP4756882B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP2008140048A (ja) 管理装置及び方法
JP2000353143A (ja) ネットワークにおけるノード検索方法、装置、および、ノード検索のためのプログラムを記録した記録媒体
US20090193133A1 (en) Network device management apparatus, control method therefor, network system, and storage medium
US8601271B2 (en) Method and system for power management using ICMPV6 options
JP2009153050A (ja) 情報処理装置、デバイス、情報処理装置の制御方法、及びコンピュータプログラム
JP4775437B2 (ja) ソフトウェアをインストールするためのコンピュータプログラム
JP5473248B2 (ja) 情報処理装置、情報処理装置の制御方法及びコンピュータプログラム
JP3609948B2 (ja) マルチプロトコルネットワーク管理方法、マルチプロトコルネットワーク管理プロキシサーバシステム、マルチプロトコルアドレス管理サーバシステム、および、マルチプロトコルネットワーク管理システム
EP1503547A1 (en) Information processing system
JP2008072519A (ja) 機器検索装置、機器検索方法及びプログラム
JP5638063B2 (ja) 通信装置、通信装置の制御方法、プログラム
JP3979055B2 (ja) 固定アドレス設定装置、固定アドレス設定方法および固定アドレス設定プログラム
Cisco Configuring IBM Channel Attach
Cisco Configuring IBM Channel Attach
Cisco Configuring IBM Channel Attach
Cisco Configuring IBM Channel Attach
Cisco Configuring IBM Channel Attach
Cisco Configuring IBM Channel Attach
Cisco Configuring IBM Channel Attach
Cisco Configuring IBM Channel Attach

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080307

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080307

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100921

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100927

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110323

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110530

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110531

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140610

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees