IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社リコーの特許一覧

<>
  • 特許-情報処理装置、パケット中継方法 図1
  • 特許-情報処理装置、パケット中継方法 図2
  • 特許-情報処理装置、パケット中継方法 図3
  • 特許-情報処理装置、パケット中継方法 図4
  • 特許-情報処理装置、パケット中継方法 図5
  • 特許-情報処理装置、パケット中継方法 図6
  • 特許-情報処理装置、パケット中継方法 図7
  • 特許-情報処理装置、パケット中継方法 図8
  • 特許-情報処理装置、パケット中継方法 図9
  • 特許-情報処理装置、パケット中継方法 図10
  • 特許-情報処理装置、パケット中継方法 図11
  • 特許-情報処理装置、パケット中継方法 図12
  • 特許-情報処理装置、パケット中継方法 図13
  • 特許-情報処理装置、パケット中継方法 図14
  • 特許-情報処理装置、パケット中継方法 図15
  • 特許-情報処理装置、パケット中継方法 図16
  • 特許-情報処理装置、パケット中継方法 図17
  • 特許-情報処理装置、パケット中継方法 図18
  • 特許-情報処理装置、パケット中継方法 図19
  • 特許-情報処理装置、パケット中継方法 図20
  • 特許-情報処理装置、パケット中継方法 図21
  • 特許-情報処理装置、パケット中継方法 図22
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-05-16
(45)【発行日】2022-05-24
(54)【発明の名称】情報処理装置、パケット中継方法
(51)【国際特許分類】
   H04L 12/46 20060101AFI20220517BHJP
【FI】
H04L12/46
【請求項の数】 5
(21)【出願番号】P 2018063017
(22)【出願日】2018-03-28
(65)【公開番号】P2019176341
(43)【公開日】2019-10-10
【審査請求日】2020-12-10
(73)【特許権者】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(74)【代理人】
【識別番号】100186853
【弁理士】
【氏名又は名称】宗像 孝志
(72)【発明者】
【氏名】太田 広志
【審査官】大石 博見
(56)【参考文献】
【文献】特開2008-148243(JP,A)
【文献】特開2000-341313(JP,A)
【文献】特開2017-126876(JP,A)
【文献】特開2014-230005(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/46
(57)【特許請求の範囲】
【請求項1】
第1ネットワークセグメントと当該第1ネットワークセグメントとは異なるセグメントである第2ネットワークセグメントとの間でパケットを中継する情報処理装置であって、
前記第1ネットワークセグメントに収容される第1機器と通信をするための、前記第2ネットワークセグメントのアドレス体系に則った第2IPアドレスを記憶する記憶部と、
記第1機器に対して動的に振り出しされた第1IPアドレスを含んだパケットを受信した場合、当該パケットから、当該第1IPアドレスを取得して前記記憶部に記憶する処理部
前記第2ネットワークセグメントから送信される、前記第2IPアドレスを宛先としたパケットを受信する第1送受信部と、
前記第1送受信部により受信されるパケットの宛先IPアドレスを、前記第2IPアドレスから前記記憶部に記憶されている前記第1IPアドレスに変換し、且つ、送信元のIPアドレスを、前記第1ネットワークセグメントのアドレス体系で自身のIPアドレスとして割り当てられたIPアドレスに変換するアドレス変換部と、
前記アドレス変換部によって変換された後のパケットを、前記第1機器に向けて送信する第2送受信部と、
を有する情報処理装置。
【請求項2】
請求項に記載の情報処理装置において、
前記処理部は、前記第1機器とDHCPサーバとの間で送受信されるDHCPパケットを受信した場合、前記第1IPアドレスを取得する、情報処理装置。
【請求項3】
請求項に記載の情報処理装置において、
前記処理部は、前記第1機器から送信される、IPアドレスの振り出し要求パケットからトランザクション識別情報を取得して一時的に記憶し、前記DHCPサーバから送信される、前記振り出し要求パケットに対する応答パケットからトランザクション識別情報を取得し、これらのトランザクション識別情報が一致する場合、前記応答パケットに含まれる第1IPアドレスを取得して前記記憶部に記憶する、情報処理装置。
【請求項4】
請求項に記載の情報処理装置において、
前記処理部は、起動時または前記第1機器との通信が途絶した後の通信復帰時に、前記パケットの送信元のIPアドレスとしての送信元IPアドレスを検知し、検知した当該送信元IPアドレスに対し前記第1IPアドレスを取得するための要求をし、取得した前記第1IPアドレスを前記記憶部に記憶する、情報処理装置。
【請求項5】
第1ネットワークセグメントと当該第1ネットワークセグメントとは異なるセグメントである第2ネットワークセグメントとに接続された情報処理装置の、前記第1ネットワークセグメントと前記第2ネットワークセグメントとの間で送受信されるパケットを中継するパケット中継方法であって、
前記第1ネットワークセグメントに収容される第1機器と通信をするための、前記第2ネットワークセグメントのアドレス体系に則った第2IPアドレスを記憶し、
記第1機器に対して動的に振り出しされた第1IPアドレスを含んだパケットを受信した場合、当該パケットから、当該第1IPアドレスを取得して記憶させ、
前記第2ネットワークセグメントから送信される、前記第2IPアドレスを宛先としたパケットを受信し、
受信されるパケットの宛先IPアドレスを、前記第2IPアドレスから、記憶されている前記第1IPアドレスに変換し、且つ、送信元のIPアドレスを、前記第1ネットワークセグメントのアドレス体系で自身のIPアドレスとして割り当てられたIPアドレスに変換し、
変換された後のパケットを、前記第1機器に向けて送信する、パケット中継方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置およびパケット中継方法に関する。
【背景技術】
【0002】
情報保護などの目的で、ネットワークを分割し、複数のネットワークセグメント(ブロードキャストドメイン)を設けて運用することが増えている。また、IPアドレスなどのネットワーク設定をパーソナルコンピュータ(以下、PCと称す)で個別に行うのではなく、DHCP(Dynamic Host Configuration Protocol)サーバを用いて自動設定し、一元管理することが日常的に行われている。
【0003】
通信を中継する従来のネットワーク機器では、プリンタやサーバなどの情報機器と複数のネットワークセグメント(以下、セグメントと称する場合もある)の間でセキュアに通信をするために、情報機器のIPアドレスを事前にネットワーク機器に登録し、このアドレスを使ってアクセス制御している。よって、情報機器のIPアドレスが動的に変わると、ネットワーク機器に登録した情報もこれに応じて変更する必要がある。
【0004】
上記のような課題があるため、プリンタやサーバなどの情報機器は、固定IPアドレスを用いるケースが多いが、これらの情報機器に対しても、DHCPによって一元管理したいとの要望がある。
【0005】
関連する技術として、情報機器とDHCPサーバとの間に設置される代理ネットワーク制御装置が開示されている。この代理ネットワーク制御装置は、情報機器とDHCPサーバ装置の間のDHCP通信パケットから、アドレスが払い出されている機器に対してアクセス制御を行う(例えば特許文献1)。
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1には、ユーザ端末とDHCPサーバを1つのネットワークセグメントに収容した場合のアクセス制御しか考慮されておらず、複数のネットワークセグメントのそれぞれから、情報機器(例えばプリンタなど)に対するアクセス制御が考慮されていない。
【0007】
本発明では、複数のネットワークセグメントのそれぞれから、動的にIPアドレスが振り出された機器に対するアクセス制御を実現する技術を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明の一態様は、第1ネットワークセグメントと当該第1ネットワークセグメントとは異なるセグメントである第2ネットワークセグメントとの間でパケットを中継する情報処理装置であって、前記第1ネットワークセグメントに収容される第1機器と通信をするための、前記第2ネットワークセグメントのアドレス体系に則った第2IPアドレスを記憶する記憶部と、記第1機器に対して動的に振り出しされた第1IPアドレスを含んだパケットを受信した場合、当該パケットから、当該第1IPアドレスを取得して前記記憶部に記憶する処理部前記第2ネットワークセグメントから送信される、前記第2IPアドレスを宛先としたパケットを受信する第1送受信部と、前記第1送受信部により受信されるパケットの宛先IPアドレスを、前記第2IPアドレスから前記記憶部に記憶されている前記第1IPアドレスに変換し、且つ、送信元のIPアドレスを、前記第1ネットワークセグメントのアドレス体系で自身のIPアドレスとして割り当てられたIPアドレスに変換するアドレス変換部と、前記アドレス変換部によって変換された後のパケットを、前記第1機器に向けて送信する第2送受信部と、を有する。
【発明の効果】
【0009】
本発明によれば、複数のネットワークセグメントのそれぞれから、動的にIPアドレスが振り出された機器に対するアクセス制御を実現することができる。
【図面の簡単な説明】
【0010】
図1】実施形態のシステム全体の構成図を示す図である。
図2】各ネットワークのアドレスの体系例を示した図である。
図3図1に示す各機器のネットワーク設定例を示した図である。
図4】DHCPサーバのアドレス振り出し範囲例を示した図である。
図5】インターフェイスボックスの内部構成例と周辺の接続関係を示した図である。
図6】インターフェイスボックスのハードウェア構成例を示した図である。
図7】ブリッジ通信・制御部の詳細構成例を示した図である。
図8】NAPT通信・制御部の詳細構成例を示した図である。
図9】インターフェイスボックスの設定画面の一例を示す図である。
図10】DHCPを利用しないときの設定例を示した図である。
図11】DHCPを利用するときの設定例を示した図である。
図12】通常のDHCP処理の動作(従来技術)を示したシーケンス図である。
図13】本実施形態のDHCPによるIPアドレスの新規割り当てシーケンスを示す図である。
図14】本実施形態のDHCPによるIPアドレスの更新シーケンスを示す図であり、
図15】インターフェイスボックスが起動した際のシーケンスを示す図である。
図16】インターフェイスボックス110のリンクダウンが復帰した際のシーケンスを示す図である。
図17】Autonetの際のMFPのアドレス検知の動作を示すシーケンス図である。
図18】IPv6の近隣探索によりネットワーク設定が行われる際のシーケンス図である。
図19】第1適用例のIPアドレス体系例を示す図である。
図20】第1適用例のアドレス変換の遷移を示す図である。
図21】第2適用例のIPアドレス体系を示した図である。
図22】第2適用例のアドレス変換の遷移を示す図である。
【発明を実施するための形態】
【0011】
本実施形態では、DHCP(Dynamic Host Configuration Protocol)サーバを設け、DHCPプロトコルを用いてIPアドレスを情報機器(例えば後述のMFP)に振り出す。本実施形態では、情報機器とDHCPサーバとの間にネットワーク機器(情報処理装置)を設け、ネットワーク機器が情報機器とDHCPサーバとの間で行われる通信パケットを取得し、情報機器用としてDHCPサーバから振り出されたアドレスを、自機内に登録する。本実施形態では、この登録内容を用いてパケットの転送を行う。これにより、DHCPによりIPアドレスが動的に振り出された情報機器と、このIPアドレスと直接通信できない機器との間での通信が可能となる。
【0012】
以下、本実施形態の情報処理装置およびパケット中継方法について、図面を用いて詳細に解説する。
【0013】
図1は、システム全体の構成図を示す図である。MFP120は、コピー、印刷、スキャンの各機能を有する複合機である。インターフェイスボックス110(Boxと表記)は、ネットワーク機器である。インターフェイスボックス110は、ネットワークセグメントA(Net_Aと表記)、およびNet_Aとは異なるセグメントであるネットワークセグメントB(Net_Bと表記)、ネットワークセグメントC(Net_Cと表記)との間で、パケットを中継する。
【0014】
Net_Aには、DHCPサーバ130A(DHCP_S_Aと表記)と、パーソナルコンピュータであるPC140A(PC_Aと表記)が配置されており、またルータ150A(R_Aと表記)が配置されている。ルータ150Aは、Net_Aのネットワークからはデフォルトゲートウェイとして使われ、他のネットワークに接続される。
【0015】
Net_Bには、DHCPサーバ130B(DHCP_S_Bと表記)、PC140B(PC_Bと表記)、ファイルサーバ160B(SMB_S_Bと表記)、ルータ150B(R_B)が配置されている。
【0016】
Net_Cには、PC140C(PC_Cと表記)、ファイルサーバ160C(SMB_S_Cと表記)と、ルータ150C(R_Cと表記)があり、ルータ150Cを介してインターネット(Net_Iと表記)に接続されている。また図1の例では、Net_CにはDHCPサーバがない。
【0017】
ここで、Net_A、Net_B、Net_Cは、それぞれ別のネットワークセグメント(ブロードキャストドメイン)となっており、安全度の度合いは、(Net_A)>(Net_B)>(Net_C)という関係になっている。すなわち、Net_Aが最も安全なネットワークセグメントであり、ウィルスや第三者からの攻撃が少ないネットワークセグメントとなっている。
【0018】
インターフェイスボックス110は、Net_AからMFP120へのアクセスについては、MACアドレスを用いてペイロード部を直接転送し、またMFP120からNet_Aへのアクセスについても、MACアドレスを用いてペイロード部を直接転送する。このMACアドレスを用いた直接転送をブリッジ転送と称し、Net_Aをブリッジセグメントと称する。
【0019】
一方、Net_B、Net_Cについては、インターフェイスボックス110がネットワークアドレスポート変換(NAPT:Network Address and Port Translation)をするため、パケット転送セグメントと称する。
【0020】
ブリッジセグメントからは、MFP120の機能を基本的に全て利用でき、パケット転送セグメントからはMFP120の一部の機能を利用できる。
【0021】
図2は、それぞれのネットワークセグメントのアドレス体系例を示した図である。図2に示すように、Net_A、Net_B、Net_Cについては、いずれもプライベートネットワークであり、直接インターネットには接続されない。Net_Iについては、インターネットへパケットを送出するためのネットワークセグメントとなっている。また、Net_A、Net_B、Net_Cは、それぞれが約250台程度の機器を収容するセグメントとなっている。
【0022】
図3は、図1に示す各機器のネットワーク設定例を示した図である。図3に示す「Auto」は、DHCPによりアドレスやサブネットマスク、デフォルトゲートウェイなどのネットワーク設定を配布するための設定値である。図3に示すように、MFP120、インターフェイスボックス110、Net_A、Net_Bの各セグメント内のPCについては、運用負荷の低減のため、DHCPによりネットワーク設定を配布する設定となっている。DHCPによりネットワーク設定を配布することで、各機器で個別にIPアドレスを設定せずに、DHCPサーバ側でネットワーク設定を管理できるようになる。ここで、DHCPサーバは、動的にIPアドレスを変更することもできるが、機器に割り振られたMACアドレスに対して、ネットワーク設定を固定にする機能も有している。この機能により、機器のネットワーク設定については固定となるように運用することができる。尚、Net_CにはDHCPサーバがないため、PC140C、ファイルサーバ160Cは、個別にIPアドレスが手動で割り振られている。
【0023】
図4は、DHCPサーバ130A、およびDHCPサーバ130Bのアドレス振り出し範囲例を示した図である。DHCPサーバ130AおよびDHCPサーバ130Bからは、図4に示す範囲のIPアドレスが振り出される。図4に示す範囲外のIPアドレスにつては、DHCP以外の方法により設定することができる。ここまでは、IPv4でのDHCPによるネットワーク設定を例示であるが、IPv6の場合も同様に、DHCPを利用することができる。
【0024】
Net_Aのセグメント内に設置されるDHCPサーバ130Aは、Net_Aセグメントとして規定された範囲でアドレスを振り出す。Net_Bセグメント内に設置されるDHCPサーバ130Bも同様に、Net_Bセグメントとして規定された範囲でアドレスを振り出す。このように、DHCPサーバ130AおよびDHCPサーバ130Bで振り出されるアドレスの範囲は、図2に示すアドレス体系に則ったものとなっており、且つ、DHCPサーバ130A、DHCPサーバ130Bの双方で同じIPアドレスを振り出さないように範囲が規定されている。なお、本実施形態では、ブリッジセグメントとパケット転送セグメントとの間では通信できないことを想定しており、DHCPサーバ同士はお互いを意識する必要はない。よって、DHCPサーバ130AとDHCPサーバ130Bの双方のIPアドレスを同じとしてもよい。
【0025】
図5は、インターフェイスボックス110の内部構成例と周辺の接続関係を示した図である。インターフェイスボックス110は、ブリッジ通信・制御部520、NAPT通信・制御部530B、530C、および送受信部510A、510B、510C、510Mを有している。
【0026】
送受信部510A、510B、510C、510Mは、それぞれLANケーブルのコネクタと接続するポートを有している。送受信部510A、510B、510C、510Mは、それぞれNet_A、Net_B、Net_CおよびMFP120と接続しており、OSI参照モデルの第1層(物理層)での通信を制御する。
【0027】
ブリッジ通信・制御部520は、主としてOSI参照モデルの第2層(データリンク層)での通信を制御し、流れるデータリンクの送信先MACアドレスを参照し、保持しているMACアドレステーブルによって対応付けられているポート(送受信部)に転送する。
【0028】
NAPT通信・制御部530Bは、Net_BのセグメントからのIPパケットをMFP120に転送するため、またMFP120からのIPパケットをNet_Bのセグメントに転送するため、アドレス変換を行う。NAPT通信・制御部530Bは、IPアドレスを自らのIPアドレスに変換し、TCPまたはUDPのポート番号を自らで指定した番号に変換して送信する。この送信の際、NAPT通信・制御部530Bは、いずれのIPアドレス、ポート番号からいずれのIPアドレス、ポート番号に変換したかの情報を、対応付けて一時的に記憶しておく。そしてNAPT通信・制御部530Bは、返信パケットを受信すると、元のIPアドレス、ポート番号に戻して当該返信パケットを転送する。尚、ここでは、Net_A、Net_B、Net_Cは分離され、お互いに通信できないことを想定しているが、分離されていなくてもよい。
【0029】
NAPT通信・制御部530Cは、Net_Cのセグメントに関してのアドレス変換を行うこと以外は、NAPT通信・制御部530Bと同様の機能を有している。
【0030】
ブリッジ通信・制御部520、NAPT通信・制御部530B、530Cの詳細構成については後述する。
【0031】
Net_Aは、ブリッジセグメントであり、MFP120とブリッジ接続されている。そのため、MFP120は、Net_AにあるDHCPサーバ130Aと通信をすることで、DHCPの仕組みを利用して、アドレス、サブネットマスク、デフォルトゲートウェイなどのネットワークに関する設定を行う。このとき、MFP120からのDHCP通信は、インターフェイスボックス110内を通過するため、インターフェイスボックス110はDHCP通信を受信し、解析することで、どのような設定がMFP120に振り出されているかを検知することができる。
【0032】
またNet_BはNAPT通信によりMFP120と通信するため、Net_BにあるDHCPサーバ130Bは、MFP120にIPアドレスなどの情報を振り出さない。ただし、ここではNet_AのDHCPサーバ130Aを利用するように例示しているだけであり、Net_BのDHCPサーバ130Bとの通信をインターフェイスボックス110が通過させるように処理すれば、MFP120は、DHCPサーバ130Bを利用してネットワークの設定を行うことができる。
【0033】
また、インターフェイスボックス110自身も、Net_Aに関するネットワーク設定についてはDHCPサーバ130Aから、Net_Bに関するネットワーク設定についてはDHCP130Bから受信し、得られた各値を用いて、ネットワークの設定を行う。
【0034】
図6は、インターフェイスボックス110のハードウェア構成例を示した図である。インターフェイスボックス110は、CPU(Central Processing Unit)601、メモリ602、ストレージ603、ネットワークI/F(Interface)604、電源605、その他I/O(Input/Output)206を有する。
【0035】
CPU601は演算処理装置であり、ストレージ203に記憶されているプログラムを実行することで、インターフェイスボックス110内の各ハードウェアと協働して、上記図5で示す各ユニットを実現する。
【0036】
メモリ602は、CPU601が各処理を行うための一時記憶領域を提供するための主記憶装置である。主記憶装置は揮発性であり、電源605が切断されると、メモリ602内に記憶されているデータは失われる。
【0037】
ストレージ603は、電源が切断されても保存しておきたいデータを記憶する不揮発性の記憶装置である。一般的にストレージ203は、EEPROMやフラッシュメモリとするが、ハードディスクドライブ、SSD(solid state drive)であってもよい。
【0038】
ネットワークI/F204は、各セグメントと接続するためのLANポート端子を含んでおり、各機器と通信するための物理な通信インターフェイスである。尚、ここではケーブルを用いた有線通信とするが、無線通信を行ってもよい。
【0039】
電源605は、インターフェイスボックス110内の基板を駆動するための動力源であり、ACアダプタなどを利用して商用電力を装置内に供給する。
【0040】
その他I/Oは、例えばRS-232規格やUSB規格に準拠したケーブルを接続するための端子を有しており、他の端末装置と直接的に通信を行うための様々な入出力インターフェイスを想定している。
【0041】
尚、インターフェイスボックス110は、図6のようにコンピュータで実現されるものとするが、これに限定されず、演算処理部の一部または全てがASIC(application specific integrated circuit)などの集積回路で実装されている構成でもよい。尚、このような集積回路を含む構成も、コンピュータの一つの態様とみなすことができる。
【0042】
図7は、ブリッジ通信・制御部520の詳細構成例を示した図である。制御部730は、ブリッジ通信・制御部520内の各ユニットを統括的に制御し、各ユニット間でのデータの受け渡しを担う。通信部710は、送受信部510Aと送受信部510Mとの間をMACアドレスを用いてデータ転送する。また通信部710は、NAPT通信・制御部530B、530Cとも通信可能となるように構成されており、これら各ユニットから送信されるデータについても、転送を行う。
【0043】
DHCP処理部720は、転送する途中のパケットをスヌーピングし、DHCPのパケットであれば、さらに、パケットの中身を解析してDHCPの通信状態を把握し、ネットワーク設定の内容を検出する。このDHCPパケットの解析、ネットワーク設定内容の検出をした後に、通信制御情報記憶部740にMFP120のネットワーク設定情報を記憶する。通信部710は、この記憶された情報に基づき、MFP120とNet_A、Net_B、Net_Cとの間のアクセス制御を行う。
【0044】
上記に加え、DHCP処理部720は、MFP120からのAutonetによるARPの通信(RFC3927)を受けた場合、またはIPv6の近隣探索の通信(RFC4861)を受けた場合、送信元の機器がMFP120であるとして、通信制御情報記憶部740にMFP120のネットワーク設定情報を記憶する。通信部710は、このようにして得られた情報に基づいても、アクセス制御を行うことができる。
【0045】
NAPTテーブル記憶部750ついて説明する。本実施形態では、ブリッジ通信・制御部520、NAPT通信・制御部530B、NAPT通信・制御部530Cの各ユニット間を通信するための内部ローカルセグメントが事前に設けられている(具体例については後述の第1適用例で説明する)。すなわち、Net_AとMFP120との間の通信は、上記のとおりブリッジ転送となるが、Net_AとNet_B、Net_Cとの通信は、内部ローカルセグメントを介すためアドレス変換を伴う転送となる。NAPTテーブル記憶部750は、この内部ローカルセグメントとNet_Aセグメントとのアドレス対応テーブルを格納する。このアドレス対応テーブルは、従前のとおり、各セグメント間のIPアドレスとポート番号とを対応付けたテーブルである。
【0046】
図8は、NAPT通信・制御部530B、530Cの詳細構成例を示した図である。尚、以下の説明では、NAPT通信・制御部530Bについて言及するが、NAPT通信・制御部530Cについても同様である。
【0047】
制御部820Bは、NAPT通信・制御部530B内の各ユニットを統括的に制御し、各ユニット間でのデータの受け渡しを担う。通信部810Bは、ブリッジ通信・制御部520と送受信部510Bとの間でのデータ転送を制御する。
【0048】
DHCP処理部830Bは、上記の図7で説明したDHCP処理部720と同様である。DHCP処理部830Bは、仮にNet_Bセグメント内に配置されているDHCPサーバ130BからMFP120のIPアドレスが振り出された場合に、DHCPパケットの解析を行い、通信制御情報記憶部840BにMFP120のネットワーク設定情報を記憶する。NAPTテーブル記憶部850Bは、内部ローカルセグメントとNet_Bセグメントとの間のアドレス対応テーブルを格納する。
【0049】
図9は、インターフェイスボックス110の設定画面の一例を示す図である。図9の例のように、セグメントごとにDHCPを利用するかのチェックボックスが設定画面内にあり、この設定画面を介して、ユーザはDHCPを利用するか否かを決めることができる。尚、ここではセグメント1をブリッジセグメント(Net_A)とし、セグメント2、セグメント3をパケット転送セグメント(Net_B、Net_C)としている。もちろん、ブリッジセグメントをセグメント2またはセグメント3にしてもよいが、説明の簡単化のため、ブリッジセグメントをセグメント1に固定した説明としている。
【0050】
図10は、DHCPを利用しないときの設定例を示している。DHCPを利用しない場合、MFP120および各セグメントのインターフェイスのアドレスをすべて手動で入力する必要があり、運用が煩雑となる。
【0051】
図11は、DHCPを利用するときの設定例を示している。DHCPを利用する場合、DHCPサーバの無いNet_C(セグメント3)のみ、固定でIPアドレスなどを指定しているが、その他のアドレス、サブネットマスク、デフォルトゲートウェイについては、設定する必要がない。よって、運用が簡素になり、運用負荷が低減される。尚、当然Net_CにもDHCPサーバを設置することができ、そのときには、DHCPのチェックボックスにマークを入力することで、手作業でのネットワーク設定をする必要がなくなる。
【0052】
図12は、通常のDHCP処理の動作(従来技術)を示したシーケンス図である。MFPから、ネットワークにDiscoverパケットがブロードキャストで送付されると(S1201)、これを受信したDHCPサーバは、振り出し可能なIPアドレスを選択し(S1202)、MFPに提供するためOfferパケットを送信する(S1203)。MFPは、複数の提供があったときには、そのうちの1つを選択し(S1204)、IPアドレスの振り出し要求パケットであるRequestパケットを送信する(S1205)。Requestパケットを受け取ったDHCPサーバは、その振り出しを確定させ、応答パケットであるAcknowledgeパケット(以下、Ackパケットと表記)をMFPに送出する(S1207)。このAckパケットに記されているネットワーク設定を利用して、MFP120は、自機のネットワーク設定を変更する(S1208)。
【0053】
図13は、本実施形態のDHCPによるIPアドレスの新規割り当てシーケンスを示している。図13のシーケンスは、インターフェイスボックス110がMFP120とDHCPサーバ130Aとの間に配置されているときのシーケンスを示している。MFP120およびDHCPサーバ130Aは、従来のDHCPのシーケンスと同様の動作となり、インターフェイスボックス110は、DHCPパケットを受信して相手方にこれを転送する(S1301~S1314)。
【0054】
本実施形態では、インターフェイスボックス110内のDHCP処理部720が、通過するDHCPパケットを解析し、ネットワーク設定内容の検出を実施する。DHCPパケットには、トランザクションを識別するための情報(以下、トランザクションID)が付与されているため、MFP120からの送信されるDHCPパケットのトランザクションIDと、DHCPサーバ130Aから送信されるDHCPパケットのトランザクションIDが同一であるかを、DHCP処理部720が判定する。本実施形態では、DHCP処理部720は、MFP120からRequestパケットを受信する際、当該パケットからトランザクションIDを取得して一時的に記憶する(S1351)。そしてDHCPサーバ130AからAckパケットを受信する際、DHCP処理部720は、当該パケットからトランザクションIDを取得し、一時記憶しておいたトランザクションIDと比較する。これらが一致している場合に、Ackパケット内のネットワーク設定内容を抽出し、抽出したネットワーク設定内容を通信制御情報記憶部740に記憶する(S1352)。ここでのネットワーク設定の内容は、MFP120に振り出されたIPアドレス、サブネットマスク、デフォルトゲートウェイの情報とするが、DHCPサーバ130AはDNSサーバのIPアドレスなどの付帯情報を配布し、また、MFP120はこれを記憶してもよい。
【0055】
DHCP処理部720は、このようにMFP120から送信されたDHCPパケットのトランザクションIDと、DHCPサーバ130Aから受信したDHCPパケットのトランザクションIDとが一致しているかを判定する。よって、トランザクションを取り違える心配がない。また、インターフェイスボックス110自体がDHCPによりネットワーク設定を取得するときに、トランザクションIDが重複する可能性もある。本実施形態では、インターフェイスボックス110自体のDHCPの処理を実施した後に、MFP120のDHCPの処理を行う。このように時間差を設けることで、トランザクションIDが重複しても取り違えることはない。また、MFP120からのトランザクションIDを検知した後に、インターフェイスボックス110が別のトランザクションIDを使ってDHCPの処理をすることで、MFP120のDHCP処理と、インターフェイスボックス110のDHCP処理を並行して実施することもできる。
【0056】
図14は、本実施形態のDHCPによるIPアドレスの更新シーケンスを示す図であり、DHCPのリース期限の途中でネットワーク設定を更新(継続利用、または別のネットワーク設定に切り替える)をするときのシーケンスである。図14に示すシーケンスにおいても、MFP120およびDHCPサーバ130Aは、従来のDHCPの更新シーケンスと同様の動作となる。またインターフェイスボックス110は、各DHCPパケットを受信して相手方にこれを転送する動作となる。すなわち、MFP120がDHCPサーバ130AにRequestパケットを送信する(S1401、S1403)。これを受信したDHCPサーバ130Aは、振り出したネットワーク設定を含めてAckパケットを返信する(S1405、S1407)。MFP120は、受信した値で更新処理を行う(S1408)。
【0057】
インターフェイスボックス110のDHCP処理部720は、受信したRequestパケットを転送する際に、トランザクションIDを抽出してこれを一時的に保存する(S1451)。そしてDHCP処理部720は、DHCPサーバ130Aから返信されたAckパケット内からトランザクションIDを抽出し、一時保存したトランザクションIDと一致するかを判定する(S1452)。一致している場合は、当該Ackパケットに付与されているネットワーク設定値で、通信制御情報記憶部740に記憶されている値を更新する。
【0058】
図15は、インターフェイスボックス110が起動した際のシーケンスを示す図である。インターフェイスボックス110の起動時に(S1501)、既にMFP120がDHCPによりネットワーク設定を受け取っている場合、インターフェイスボックスがMFP120のネットワーク設定を知らない状態となる。これを解消するため、インターフェイスボックス110のDHCP処理部720は、送受信部510Mからの通信を解析し、送信元アドレスを見つけ、MFP120のIPアドレスを検知する。DHCP処理部720は、検知したIPアドレスに対して、DHCP Force Renew (RFC 3203)を送付する(S1502)。これにより、MFP120は、上記図14と同じ手法で、再度ネットワーク設定を取得する(S1503~S1510)。DHCP処理部720は、その通信のトランザクションIDを、上記図14と同じ手法で照合することで、MFP120のネットワーク設定を検出し、通信制御情報記憶部740に記憶する(S1551、S1552)。
【0059】
図16は、リンクダウンが発生し、その後復帰してリンクアップした際のDHCPのシーケンスを示す図である。リンクダウンとなるケースとしては、ケーブルの不具合以外にも、リプレースによりMFP120が他のMFPに交換されるケースや、Net_Aから別のネットワークにMFP120が接続されたりするケースなどがある。よって本実施形態では、DHCP処理部720は、リンクダウンとなり(S1601)、その後リンクアップしたときには、再度DHCPの処理が行われるように、起動時と同様にForce RenewパケットをMFPに送信する(S1602)。以降のS1603~S1610、S1651、S1652は、図15で説明した処理と同様であるため、説明を割愛する。
【0060】
図17は、Autonet(RFC3927)の際のMFP120のアドレス検知の動作を示すシーケンス図であり、DHCPではなく、AutonetでMFP120のIPアドレスが設定されるときのシーケンスである。インターフェイスボックス110のDHCP処理部720は、送受信部510MからARPのブロードキャストがあった場合(S1701)、送信元のアドレスを当該ブロードキャストパケットから抽出する。そしてDHCP処理部720は、抽出したデータをMFP120のIPアドレスであるとし、通信制御情報記憶部740に記憶する(S1702)。尚、ARPブロードキャストを送信したMFP120は、他から応答が無ければ、当該IPアドレスを自らのIPアドレスとして設定し、通信を行うものとする(S1703)。
【0061】
図18は、DHCPではなく、IPv6の近隣探索(RFC4861、Neighbor solicitation)により、IPアドレスなどのネットワーク設定が行われる際のシーケンスである。DHCP処理部720は、送受信部510Mから近隣探索のパケットを受信した場合(S1801)、当該パケットから送信元のIPアドレス(IPv6アドレス)を抽出する。そしてインターフェイスボックス110は、これをMFP120のIPアドレスとして通信制御情報記憶部740に記憶する(S1802)。
【0062】
上記では、インターフェイスボックス110がDHCPパケットをスヌーピングして、MFP120のネットワーク設定を自機内に記憶させておく実装例について説明した。以下では、DHCPサーバから振り出されたMFP120のIPアドレス(以下、実IPアドレスと称する)を知らない他の機器が、どのようにしてMFP120と通信を行うかについて説明する。また、以下の例では、MFP120の実IPアドレスを知らない、Net_Bセグメント内のPC140Bが、MFP120に対してプリントジョブを投入するケースを想定して説明する。
【0063】
(第1適用例)
図19は、インターフェイスボックス110で設定されるIPアドレス体系例を示した図である。インターフェイスボックス110内では、ブリッジ通信・制御部520、NAPT通信・制御部530B、530Cが相互に通信を行うための内部ローカルセグメントが設けられている。図19の例では、内部ローカルセグメントとして192.0.2.0/24が設けられている。またブリッジ通信・制御部520、NAPT通信・制御部530B、530Cは、内部ローカルセグメント用のIPアドレスがそれぞれ設けられている。
【0064】
図19の例では、ブリッジ通信・制御部520には、DHCPサーバ130Aにより振り出されたIPアドレスである192.168.1.11/24(このIPアドレスをBRI_Aと称す)が設定されているものとする。ブリッジ通信・制御部520には、内部ローカルセグメント用のIPアドレスとして、192.0.2.10/24(このIPアドレスをINTと称す)が設定されている。
【0065】
NAPT通信・制御部530Bには、内部ローカルセグメント用のIPアドレスとして、192.0.2.12/24(このIPアドレスをINT_Bと称す)が設定されている。NAPT通信・制御部530Cには、内部ローカルセグメント用のIPアドレスとして、192.0.2.13/24(このIPアドレスをINT_Cと称す)が設定されている。
【0066】
またNAPT通信・制御部530Bには、Net_BセグメントからMFP120にアクセスするためのIPアドレスが設けられている。図19の例では、MFP120へのアクセス用のIPアドレスとして、172.16.1.10/24(このIPアドレスをMFP_Bと称す)が設けられている。また、Net_Bセグメント内のPC140Bには、このMFP_BのIPアドレスが、MFP120のIPアドレスとして登録されているものとする。尚、NAPT通信・制御部530Bは、MFP_Bを検索するためのARP要求を受信したら、これに対して代理で応答する。
【0067】
NAPT通信・制御部530Cも同様に、Net_CセグメントからMFP120にアクセスするためのIPアドレスが設けられており、図19の例では、10.0.1.10/24(このIPアドレスをMFP_Cと称す)が設けられている。また、Net_Cセグメント内のPC140Cには、MFP120のIPアドレスとしてMFP_Cが登録されている。NAPT通信・制御部530Cは、MFP_Cに対するARP要求を受信したら、これに対して代理で応答する。
【0068】
上記図19の例を踏まえ、アドレス変換の遷移例を図20に示す。図20では、送信元であるPC140B(PC_B)から宛先となるMFP120にプリントジョブを投入する場合の行きのパケットと戻りのパケットとを示している。また、矢印前後の枠内上段には、送信元IPアドレスおよびポート番号が記され、枠内下段には、宛先IPアドレスおよびポート番号が記されている。これらの値が矢印の前後で変わる箇所で、NAPT変換処理が行われる。
【0069】
以降、送信元のIPアドレスやポート番号を変換する処理のことを、ソースNATと称する。また、宛先のIPアドレスやポート番号を変換する処理のことを、宛先NATと称する。また以下の説明では、IPアドレスの変換について言及しているが、ポート番号の変換も適宜行われる。
【0070】
図20の例において、PC140B(PC_B1)からの送信パケットについては、NAPT通信・制御部530Bが、ソースNATおよび宛先NATを行う。ここでNAPT通信・制御部530Bは、送信元IPアドレスとしてPC140BのIPアドレス(図中にはPC_Bと表記。仮に172.16.1.100とする)が設定され、宛先IPアドレスとしてMFP_B(172.16.1.10)を指定したパケットを受信する。NAPT通信・制御部530Bは、このパケットに対し、送信元をINT_B(192.0.2.12)、宛先をINT(192.0.2.10)としたアドレス変換を行う。この際、NAPTテーブル記憶部850Bには、変換前後のIPアドレスおよびポート番号が対応付けられて登録される。
【0071】
そしてブリッジ通信・制御部520は、上記の変換後のパケットを受信し、さらにソースNATおよび宛先NATを行う。ここでブリッジ通信・制御部520は、送信元をINT_B(192.0.2.12)、宛先をINT(192.0.2.10)としたパケットを受信し、これに対し、送信元をBRI_A(192.168.1.11)、宛先をMFPに振り出された実IPアドレス(図中ではMFPと表記。ここでは仮に192.168.1.10とする)としたアドレス変換を行う。このアドレス変換処理は、通信部710(図7参照)により行われ、またDHCP処理部720により取得され、通信制御情報記憶部740に記憶されたMFP120の実IPアドレス(192.168.1.10)が、変換後の宛先IPアドレスに用いられる。尚、NAPTテーブル記憶部750には、変換前後のIPアドレスおよびポート番号が対応付けられて登録される。
【0072】
これにより、MFP120は、送信元をBRI_A(192.168.1.11)、宛先を自機の実IPアドレス(192.168.1.10)としたパケットを受信する。すなわちMFP120は、インターフェイスボックス110を送信元としたパケットを受信する。
【0073】
戻りパケットについては、アドレス変換したパケットを元に戻す動作となる。MFP120は、受信した上記パケットの送信元IPアドレスと宛先IPアドレスを逆転させて、返信パケットを送信する。ブリッジ通信・制御部520は、NAPTテーブル記憶部750に記憶されている対応関係に基づき、送信元をINT、宛先をINT_BとしたパケットをNAPT通信・制御部530Bに送信する。NAPT通信・制御部530Bは、NAPTテーブル記憶部850Bに記憶されている対応関係に基づき、送信元をMFP_B、宛先をPC_BとしたパケットをPC140B(PC_B1)に送信する。PC140Bは、自らが送信したパケットの送信元IPアドレスと宛先IPアドレスとが逆転しているパケットを受信したため、これを破棄せずに許容する。
【0074】
これにより、MFP120とは別のセグメントに配置されたPCが、MFP120の現在の実IPアドレス(DHCPにより振り出されたIPアドレス)を知らなくても、MFP120にデータを正しく送信することができる。またパケットを送信したPCは、戻りの返信パケットを正しく受信することができる。
【0075】
(第2適用例)
第2適用例では、内部ローカルセグメントを設けず、NAPT通信・制御部530B、530CをNet_Aに収容する実装例について説明する。図21は、第2適用例におけるインターフェイスボックス110のIPアドレス体系を示した図である。
【0076】
NAPT通信・制御部530BおよびNAPT通信・制御部530Cには、Net_Aセグメント用として、192.168.1.12/24(このIPアドレスをINT_Bとする)、192.168.1.13/24(このIPアドレスをINT_Cとする)がそれぞれ設定されている。これらIPアドレスは、DHCPサーバ130Aが振り出したものを用いてもよい。
【0077】
またNAPT通信・制御部530B、530Cには、第1適用例と同様に、MFP120へアクセスするためのMFP_B、MFP_Cが登録されている。
【0078】
上記図21を踏まえ、第2適用例のアドレス変換の遷移例を図22に示す。図22の例も、送信元であるPC140B(PC_B)から宛先となるMFP120にプリントジョブを投入する場合の行きのパケットと戻りのパケットを示している。
【0079】
図22の例において、PC140B(PC_B1)からの送信パケットについては、NAPT通信・制御部530Bが、ソースNATおよび宛先NATを行う。ここでNAPT通信・制御部530Bは、送信元をPC_B(仮に172.16.1.100とする)、宛先をMFP_B(172.16.1.10)としたパケットを受信し、送信元をINT_B(192.168.1.12)、宛先をMFP(仮に192.168.1.10)としたアドレス変換を行う。このアドレス変換処理は、NAPT通信・制御部530Bの通信部810Bにより行われる。またNAPT通信・制御部530Bは、ブリッジ通信・制御部520の通信制御情報記憶部740に記憶されている、MFP120の実IPアドレス(192.168.1.10)を取得し、これを変換後の宛先に用いる。
【0080】
第2適用例において、ブリッジ通信・制御部520は、アドレス変換処理を行わず、そのままMFP120に向けてブリッジ転送する。これにより、MFP120は、送信元をINT_B(192.168.1.12)、宛先を自機の実IPアドレス(192.168.1.10)としたパケットを受信する。
【0081】
戻りパケットについては、アドレス変換したパケットを元に戻す動作となる。NAPT通信・制御部530Bは、MFP120から送信元IPアドレスをMFP、宛先IPアドレスをINT_Bとした返答パケットを受信し、送信元をMFP_B、宛先をPC_Bとなるようにアドレス変換して、PC140B(PC_B1)に送信する。PC140Bは、自らが送信したパケットの送信元IPアドレスと宛先IPアドレスとが逆転しているパケットを受信したため、これを破棄せずに許容する。
【0082】
第2適用例においても、MFP120とは別のセグメントに配置されたPCが、MFP120の現在の実IPアドレス(DHCPにより振り出されたIPアドレス)を知らなくても、MFP120にデータを正しく送信することができる。またパケットを送信したPCは、戻りの返信パケットも正しく受信することができる。
【0083】
ここでは、MFP120とは異なるセグメントであるNet_Bセグメントからのアクセスについて言及したが、Net_Cからも同様に、正しくデータの送受信を行うことができる。
【0084】
上記で説明したインターフェイスボックス110は、MFP120と別体であるものとして説明したが、インターフェイスボックス110をMFP120に組み入れて、同一筐体として提供してもよい。
【0085】
上記の説明において、IPアドレスなど具体的数値はあくまで一例であり、これに限定されない。また、本実施形態では、情報処理装置の一例として、ネットワーク機器であるインターフェイスボックス110を例示したが、情報処理装置は、例えばPC、サーバなどのコンピュータや、MFPなどの画像形成装置であってもよい。
【0086】
記憶部は、通信制御情報記憶部740、840B、840Cに対応する。第1送受信部は、送受信部510B、送受信部510Cに対応する。アドレス変換部は、第1適用例においては、ブリッジ通信・制御部520、NAPT通信・制御部530B、530Cを含んだ構成に対応し、第2適用例においては、NAPT通信・制御部530B、530Cに対応する。第2送受信部は、送受信部510Mに対応する。処理部は、DHCP処理部720、830B、830Cに対応する。また情報処理装置は、インターフェイスボックス110自体、もしくはインターフェイスボックス110を備える機器に対応する。第1機器はMFP120に対応するが、他のサーバなどでもよい。
【0087】
第1ネットワークセグメントはNet_Aに対応し、第2ネットワークセグメントはNet_BやNet_Cに対応する。トランザクション識別情報は、トランザクションIDに対応する。また、振り出し要求パケットはDHCPシーケンスにおけるRequestパケットに対応し、応答パケットはDHCPシーケンスにおけるAckパケットに対応する。
【0088】
第1IPアドレスは、DHCPサーバもしくはMFPが自らで振り出したIPアドレスに対応し、第2IPアドレスは、MFP_BのIPアドレスに対応する。
【0089】
以上で説明したとおり、MFPの実際のIPアドレスを認知していない機器においても、MFPと通信を行うことができ、複数のネットワークセグメントのそれぞれから、DHCPサーバによってIPアドレスが振り出された機器に対するアクセス制御を実現することができる。
【符号の説明】
【0090】
110:インターフェイスボックス
120:MFP
130A、130B:DHCPサーバ
150A、150B、150C:ルータ
160B、160C:ファイルサーバ
203:ストレージ
204:ネットワークI/F
510A、510B、510C、510M:送受信部
520:ブリッジ通信・制御部
530B、530C:NAPT通信・制御部
710、810B:通信部
720、830B:DHCP処理部
730、820B:制御部
740、840B:通信制御情報記憶部
750、850B:NAPTテーブル記憶部
【先行技術文献】
【特許文献】
【0091】
【文献】特開2004-180211号公報
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22