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

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

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

特許7396411ネットワーク機器、入出力装置、ネットワークシステム、プログラム、方法
<>
  • 特許-ネットワーク機器、入出力装置、ネットワークシステム、プログラム、方法 図1
  • 特許-ネットワーク機器、入出力装置、ネットワークシステム、プログラム、方法 図2
  • 特許-ネットワーク機器、入出力装置、ネットワークシステム、プログラム、方法 図3
  • 特許-ネットワーク機器、入出力装置、ネットワークシステム、プログラム、方法 図4
  • 特許-ネットワーク機器、入出力装置、ネットワークシステム、プログラム、方法 図5
  • 特許-ネットワーク機器、入出力装置、ネットワークシステム、プログラム、方法 図6
  • 特許-ネットワーク機器、入出力装置、ネットワークシステム、プログラム、方法 図7
  • 特許-ネットワーク機器、入出力装置、ネットワークシステム、プログラム、方法 図8
  • 特許-ネットワーク機器、入出力装置、ネットワークシステム、プログラム、方法 図9
  • 特許-ネットワーク機器、入出力装置、ネットワークシステム、プログラム、方法 図10
  • 特許-ネットワーク機器、入出力装置、ネットワークシステム、プログラム、方法 図11
  • 特許-ネットワーク機器、入出力装置、ネットワークシステム、プログラム、方法 図12
  • 特許-ネットワーク機器、入出力装置、ネットワークシステム、プログラム、方法 図13
  • 特許-ネットワーク機器、入出力装置、ネットワークシステム、プログラム、方法 図14
  • 特許-ネットワーク機器、入出力装置、ネットワークシステム、プログラム、方法 図15
  • 特許-ネットワーク機器、入出力装置、ネットワークシステム、プログラム、方法 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-04
(45)【発行日】2023-12-12
(54)【発明の名称】ネットワーク機器、入出力装置、ネットワークシステム、プログラム、方法
(51)【国際特許分類】
   H04L 45/74 20220101AFI20231205BHJP
【FI】
H04L45/74
【請求項の数】 14
(21)【出願番号】P 2022128682
(22)【出願日】2022-08-12
(62)【分割の表示】P 2021110136の分割
【原出願日】2017-04-18
(65)【公開番号】P2022160690
(43)【公開日】2022-10-19
【審査請求日】2022-09-05
(31)【優先権主張番号】P 2016086219
(32)【優先日】2016-04-22
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100107515
【弁理士】
【氏名又は名称】廣田 浩一
(72)【発明者】
【氏名】小峰 佳高
【審査官】宮島 郁美
(56)【参考文献】
【文献】特開2001-352337(JP,A)
【文献】特開平07-235948(JP,A)
【文献】特開2007-110613(JP,A)
【文献】米国特許出願公開第2009/0073995(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L12/00-12/66,13/00,41/00-49/9057,61/00-65/80,69/00-69/40
(57)【特許請求の範囲】
【請求項1】
第一のネットワークに接続される第一のネットワークインタフェースと、
第二のネットワークに接続される第二のネットワークインタフェースと、
前記第一のネットワークおよび前記第二のネットワークとは異なる第三のネットワークに接続される第三のネットワークインタフェースと、を備えたネットワーク機器であって、
受信したデータの送信元のポート番号と送信先のネットワークとの関連付けが設定された通信経路制御情報を記憶する記憶手段と、
前記第一のネットワークインタフェースを介して、データを受信した場合、該データの送信元のポート番号と、前記通信経路制御情報に設定されているポート番号とに基づいて、該データの送信先として前記第二のネットワークまたは前記第三のネットワークのどちらに該データを送信するかを判断する送信先判断手段と、
前記第一のネットワークインタフェースを介して、前記第一のネットワークに接続された入出力装置と通信を行う第一の通信手段と、
前記第二のネットワークインタフェースを介して、前記第二のネットワークに接続された第一の機器と通信を行う第二の通信手段と、
前記第三のネットワークインタフェースを介して、前記第三のネットワークに接続された第二の機器と通信を行う第三の通信手段と、を有し、
前記第二の通信手段は、前記第二のネットワークからデータを受信した場合、前記第三のネットワークに前記データを送信することなく前記第一の通信手段から前記第一のネットワークに前記データを送信し、
前記第三の通信手段は、前記第三のネットワークからデータを受信した場合、前記第二のネットワークに前記データを送信することなく前記第一の通信手段から前記第一のネットワークに前記データを送信することを特徴とする記載のネットワーク機器。
【請求項2】
前記送信先判断手段は、前記第二のネットワークに送信すると判断した場合、受信した前記データを前記第二の通信手段に送信させ、
前記第三のネットワークに送信すると判断した場合、受信した前記データを前記第三の通信手段に送信させることを特徴とする請求項1に記載のネットワーク機器。
【請求項3】
記送信先判断手段は、前記入出力装置から前記第一のネットワークインタフェースを介して、前記第一の通信手段がデータを受信した場合、該データの送信元のポート番号と、前記通信経路制御情報に設定されているポート番号とに基づいて、該データを前記第二のネットワークインタフェース又は前記第三のネットワークインタフェースのどちらから送信するかを判断する請求項2に記載のネットワーク機器。
【請求項4】
前記第一のネットワークと前記第二のネットワークはネットワークアドレスが同じネットワークであり、前記第一のネットワーク又は前記第二のネットワークと前記第三のネットワークはネットワークアドレスが異なるネットワークである請求項1~3のいずれか1項に記載のネットワーク機器。
【請求項5】
記第二の通信手段は、前記第二のネットワークと前記第一のネットワークの間でMACアドレス及び宛先IPアドレスを変換せずデータを転送し、
記第三の通信手段は、前記第三のネットワークと前記第一のネットワークの間でMACアドレス及び宛先IPアドレスを変換してデータを転送する請求項に記載のネットワーク機器。
【請求項6】
前記第二のネットワークと前記第一のネットワークの間でブリッジ接続するブリッジ接続手段と、
前記第三のネットワークと前記第一のネットワークの間をNAT(Network Address Translation)変換するNAT変換手段と、を有する請求項に記載のネットワーク機器。
【請求項7】
前記第二の通信手段は、IPアドレス及びMACアドレスを有し、
前記第二の通信手段は前記第一のネットワークに接続された入出力装置のデフォルトゲートウェイとして設定されている請求項5又は6に記載のネットワーク機器。
【請求項8】
前記第一のネットワークと前記第二のネットワークはネットワークアドレスが異なるネットワークであり、前記第一のネットワークと前記第三のネットワークはネットワークアドレスが異なるネットワークである請求項1に記載のネットワーク機器。
【請求項9】
前記第二のネットワークと前記第一のネットワークの間でNAPT(Network Address Port Translation)変換する第一のNAPT変換手段と、
前記第三のネットワークと前記第一のネットワークの間をNAPT変換する第二のNAPT変換手段と、を有する請求項に記載のネットワーク機器。
【請求項10】
前記通信経路制御情報は外部から変更される請求項1に記載のネットワーク機器。
【請求項11】
請求項1~10のいずれか1項に記載のネットワーク機器を有する入出力装置。
【請求項12】
第一のネットワークに接続される第一のネットワークインタフェースと、
第二のネットワークに接続される第二のネットワークインタフェースと、
前記第一のネットワークおよび前記第二のネットワークとは異なる第三のネットワークに接続される第三のネットワークインタフェースと、を備えたネットワーク機器と、前記第一のネットワークに接続される入出力装置と、を有するネットワークシステムであって、
前記ネットワーク機器は、
受信したデータの送信元のポート番号と送信先のネットワークとの関連付けが設定された通信経路制御情報を記憶する記憶手段と、
前記第一のネットワークインタフェースを介して、データを受信した場合、該データの送信元のポート番号と、前記通信経路制御情報に設定されているポート番号とに基づいて、該データの送信先として前記第二のネットワークまたは前記第三のネットワークのどちらに送信するかを判断する送信先判断手段と、
前記第一のネットワークインタフェースを介して、前記第一のネットワークに接続された入出力装置と通信を行う第一の通信手段と、
前記第二のネットワークインタフェースを介して、前記第二のネットワークに接続された第一の機器と通信を行う第二の通信手段と、
前記第三のネットワークインタフェースを介して、前記第三のネットワークに接続された第二の機器と通信を行う第三の通信手段と、を有し、
前記第二の通信手段は、前記第二のネットワークからデータを受信した場合、前記第三のネットワークに前記データを送信することなく前記第一の通信手段から前記第一のネットワークに前記データを送信し、
前記第三の通信手段は、前記第三のネットワークからデータを受信した場合、前記第二のネットワークに前記データを送信することなく前記第一の通信手段から前記第一のネットワークに前記データを送信し、
前記入出力装置は、
前記第一のネットワークインタフェースを介して前記ネットワーク機器と接続された、前記第一のネットワークに接続されている、ネットワークシステム。
【請求項13】
第一のネットワークに接続される第一のネットワークインタフェースと、
第二のネットワークに接続される第二のネットワークインタフェースと、
前記第一のネットワークおよび前記第二のネットワークとは異なる第三のネットワークに接続される第三のネットワークインタフェースと、を備えた情報処理装置を、
受信したデータの送信元のポート番号と送信先のネットワークとの関連付けが設定された通信経路制御情報を記憶する記憶手段と、
前記第一のネットワークインタフェースを介して、データを受信した場合、該データの送信元のポート番号と、前記通信経路制御情報に設定されているポート番号とに基づいて、該データの送信先として前記第二のネットワークまたは前記第三のネットワークのどちらに該データを送信するかを判断する送信先判断手段と、
前記第一のネットワークインタフェースを介して、前記第一のネットワークに接続された入出力装置と通信を行う第一の通信手段と、
前記第二のネットワークインタフェースを介して、前記第二のネットワークに接続された第一の機器と通信を行う第二の通信手段と、
前記第三のネットワークインタフェースを介して、前記第三のネットワークに接続された第二の機器と通信を行う第三の通信手段、として機能させ、
前記第二の通信手段は、前記第二のネットワークからデータを受信した場合、前記第三のネットワークに前記データを送信することなく前記第一の通信手段から前記第一のネットワークに前記データを送信し、
前記第三の通信手段は、前記第三のネットワークからデータを受信した場合、前記第二のネットワークに前記データを送信することなく前記第一の通信手段から前記第一のネットワークに前記データを送信するプログラム。
【請求項14】
第一のネットワークに接続される第一のネットワークインタフェースと、
第二のネットワークに接続される第二のネットワークインタフェースと、
前記第一のネットワークおよび前記第二のネットワークとは異なる第三のネットワークに接続される第三のネットワークインタフェースと、を備えたネットワーク機器が行う方法であって、
受信したデータの送信元のポート番号と送信先のネットワークとの関連付けが設定された通信経路制御情報を記憶する記憶手段を参照し、
前記第一のネットワークインタフェースを介して、データを受信した場合、該データの送信元のポート番号と、前記通信経路制御情報に設定されているポート番号とに基づいて、該データの送信先として前記第二のネットワークまたは前記第三のネットワークのどちらに該データを送信するかを判断し、
第一の通信手段が、前記第一のネットワークインタフェースを介して、前記第一のネットワークに接続された入出力装置と通信を行い、
第二の通信手段が、前記第二のネットワークインタフェースを介して、前記第二のネットワークに接続された第一の機器と通信を行い、
第三の通信手段が、前記第三のネットワークインタフェースを介して、前記第三のネットワークに接続された第二の機器と通信を行い、
前記第二の通信手段は、前記第二のネットワークからデータを受信した場合、前記第三のネットワークに前記データを送信することなく前記第一の通信手段から前記第一のネットワークに前記データを送信し、
前記第三の通信手段は、前記第三のネットワークからデータを受信した場合、前記第二のネットワークに前記データを送信することなく前記第一の通信手段から前記第一のネットワークに前記データを送信する、ことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーク機器、入出力装置、ネットワークシステム、プログラム及び方法に関する。
【背景技術】
【0002】
同じ組織の中に異なるネットワーク(ネットワークアドレスが異なる)が存在することは少なくないが、一般にルータを介して異なるネットワークが相互に通信できる。しかしながら、同じ組織内でも異なるネットワークの相互の通信を制限したい場合がある。例えば、官公庁や病院では個人情報などの秘匿すべき情報が流れる第一のネットワークと、売上や人事データなど個人情報よりは秘匿性が高くない情報が流れるOA(Office Automation)系の第二のネットワークが存在する。また、一般企業においても、M&Aなどにより元は異なる複数の企業が同じフロアで作業する場合があり、それぞれが別のネットワークを使用する(ある企業は第一のネットワークを使用し、別の企業は第二のネットワークを使用する)場合がある。
【0003】
このような場合、第一のネットワークの情報は第二のネットワークに流れるべきでないし、第二のネットワークの情報は第一のネットワークに流れるべきでない。
【0004】
一方で、官公庁や病院、企業などの業務ではプリンタなどの入出力装置が使用される場合が多いが、ネットワーク毎に入出力装置が用意されると組織側の負担が大きいし、設置スペースも入出力装置の台数分だけ必要になってしまう。このため、異なるネットワークで共通の入出力装置を使用することで台数を削減したいという要請がある。
【0005】
このような要請に対し、複数のネットワークインタフェースを備えた入出力装置が知られている(例えば、特許文献1参照。)。特許文献1には、複数のネットワークインタフェースを備え、それら各ネットワークインタフェースにより複数のセグメントのネットワークにそれぞれ接続された画像処理装置が開示されている。この画像処理装置は、各ネットワークインタフェースとの間の通信を行うか否かが装置全体について設定された通信可否設定手段に基づいて各ネットワークインタフェースと他の機器との通信を制御する。
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1に開示されているように、入出力装置に異なるネットワークが接続されると、入出力装置を介して異なるネットワーク間で情報が漏洩するおそれがあるという問題が生じる。例えば、第一のネットワークと第二のネットワークは別々に設計されているので、同じIPアドレスを持った機器が存在する可能性がある。多くの入出力装置は1つのルーティングテーブルしか有さないので、同じIPアドレスの機器がIP通信可能な範囲に存在すると、ARP要求やTCPコネクションの確立時等において様々な不都合を引き起こし得る。この不都合が生じないとしても第一のネットワークに送信すべきデータを第二のネットワークに送信するなどの情報漏えいが生じ得る。
【0007】
また、IPアドレスを整理して同じIPアドレスの機器がない状態にすることが検討されるが、少なくともネットワークインタフェースが2つ必要になってしまう。また、第一のネットワークと第二のネットワークの間をルータで仕切ることが考えられるが、データにルータを超えるような宛先のIPアドレスが設定されることで、第一のネットワークと第二のネットワークで相互に情報が行き来してしまう。
【0008】
本発明は、上記課題に鑑み、異なるネットワーク間の情報漏えいを抑制して入出力装置を共用できるネットワーク機器を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明は、第一のネットワークに接続される第一のネットワークインタフェースと、第二のネットワークに接続される第二のネットワークインタフェースと、前記第一のネットワークおよび前記第二のネットワークとは異なる第三のネットワークに接続される第三のネットワークインタフェースと、を備えたネットワーク機器であって、受信したデータの送信元のポート番号と送信先のネットワークとの関連付けが設定された通信経路制御情報を記憶する記憶手段と、前記第一のネットワークインタフェースを介して、データを受信した場合、該データの送信元のポート番号と、前記通信経路制御情報に設定されているポート番号とに基づいて、該データの送信先として前記第二のネットワークまたは前記第三のネットワークのどちらに該データを送信するかを判断する送信先判断手段と、前記第一のネットワークインタフェースを介して、前記第一のネットワークに接続された入出力装置と通信を行う第一の通信手段と、前記第二のネットワークインタフェースを介して、前記第二のネットワークに接続された第一の機器と通信を行う第二の通信手段と、前記第三のネットワークインタフェースを介して、前記第三のネットワークに接続された第二の機器と通信を行う第三の通信手段と、を有し、前記第二の通信手段は、前記第二のネットワークからデータを受信した場合、前記第三のネットワークに前記データを送信することなく前記第一の通信手段から前記第一のネットワークに前記データを送信し、前記第三の通信手段は、前記第三のネットワークからデータを受信した場合、前記第二のネットワークに前記データを送信することなく前記第一の通信手段から前記第一のネットワークに前記データを送信することを特徴とする。
【発明の効果】
【0010】
異なるネットワーク間の情報漏えいを抑制して入出力装置を共用できるネットワーク機器を提供することができる。
【図面の簡単な説明】
【0011】
図1】本実施形態のネットワーク機器の概略的な動作を説明する図の一例である。
図2】ネットワーク機器により通信の経路が制御されるネットワークシステムの構成図の一例である。
図3】ネットワーク機器の一例のハードウェア構成図である。
図4】入出力装置の一例としての複合機のハードウェア構成図の一例である。
図5】ネットワーク機器の機能の一部を模式的に説明する図の一例である。
図6】OpenFlowを説明する図の一例である。
図7】ネットワークAのクライアント端末AとネットワークBのクライアント端末Bが入出力装置との通信を行うシーケンス図の一例である。
図8】ネットワークシステムの構成図の一例である。
図9】ネットワークAにデフォルトゲートウェイがある場合に、ネットワークAのクライアント端末AとネットワークBのクライアント端末Bが入出力装置との通信を行うシーケンス図の一例である。
図10】ネットワーク機器が通信経路を制御する場合の比較例となるネットワークシステムの構成図の一例である。
図11】ネットワーク機器の概略的な動作を説明する図の一例である(実施例2)。
図12】ネットワーク機器により通信の経路が制御されるネットワークシステムの構成図の一例である。
図13】入出力装置の機能の一部を模式的に説明する図の一例である。
図14】ネットワークAのクライアント端末Aが入出力装置との通信を行うシーケンス図の一例である。
図15】ネットワーク機器の構造を説明する図の一例である。
図16】ネットワーク機器を有する入出力装置を説明する図の一例である。
【発明を実施するための形態】
【0012】
以下、本発明を実施するための形態について図面を参照しながら説明する。
【実施例1】
【0013】
図1は、本実施形態のネットワーク機器10の概略的な動作を説明する図の一例である。図1ではネットワークAにクライアント端末30(以下、クライアント端末Aという)が接続され、ネットワークBにクライアント端末30(以下、クライアント端末Bという)が接続されている。ネットワークAとBはネットワーク機器10に接続されているが、後述するようにネットワーク機器10はネットワークAからB、又はBからAへの通信を行わない。
【0014】
ネットワーク機器10にはプリンタなどの入出力装置40が接続されている。ネットワーク機器10は入出力装置40をネットワークAに接続されている装置として扱う。すなわち、入出力装置40はクライアント端末Bが接続されたネットワークBとは別のネットワークAに属している。このような構成により以下のような通信の経路制御が可能になる。
(i) クライアント端末Aが送信するパケットはクライアント端末Aと同一ネットワークのネットワークAに属する入出力装置40にそのまま送信される。
(ii) クライアント端末Bが送信するパケットはネットワーク機器10でいわゆるルータ越えを行い入出力装置40に送信される。本実施形態では、NAT(Network Address Translation)変換を行うが通常のNAT変換とは変換の向きが逆になる。このNAT変換により入出力装置40に到達するパケットの宛先のIPアドレスはネットワーク機器10のIPアドレスから入出力装置40のIPアドレスに変換される。
【0015】
クライアント端末A、Bから入出力装置40に送信されたパケットに応答するため、入出力装置40はネットワーク機器10にパケットを送信する。入出力装置40がクライアント端末A、Bに送信するパケットは、ネットワーク機器10によって宛先を判断されネットワークA又はBに送信される。
(iii) 入出力装置40がクライアント端末Aに応答する場合、入出力装置40とクライアント端末Aのネットワークアドレスが一致するので、入出力装置40はクライアント端末Aを宛先にしてパケットを送信する。すなわち、宛先は、MACアドレス:クライアント端末A、IPアドレス:クライアント端末Aである。ネットワーク機器10は宛先のMACアドレスが自分宛でないのでネットワークAにパケットをそのまま送信する。あるいは、宛先のIPアドレスとネットワークAのサブネットマスクでパケットがネットワークAへ送信されるものであると判断してネットワークAにパケットをそのまま送信する。
(iv) 入出力装置40がクライアント端末Bに応答する場合、クライアント端末Bと入出力装置40のネットワークアドレスが一致しないので、入出力装置40はデフォルトゲートウェイであるネットワーク機器10を宛先にしてパケットを送信する。すなわち、宛先は、MACアドレス:ネットワーク機器10、IPアドレス:クライアント端末Bである。ネットワーク機器10は宛先のMACアドレスが自分宛であるので、NATテーブルを参照し送信元のIPアドレスを入出力装置40からネットワーク機器10のIPアドレスに書き換える。また、宛先のMACアドレスはクライアント端末BのMACアドレスに変換される。したがって、宛先は、MACアドレス:クライアント端末B、IPアドレス:クライアント端末Bである。
【0016】
このようにして、ネットワークAのクライアント端末Aと、ネットワークAと異なるネットワークであるネットワークBのクライアント端末Bが共通の入出力装置40を使用できる。また、入出力装置40はネットワークAに接続されており、入出力装置40がネットワークAに送信するパケットはそのままネットワークAに送信されるため、情報漏えいするおそれはほとんどない。入出力装置40がネットワークBに送信するパケットはネットワーク機器10によりネットワークBに送信されるため、情報漏えいするおそれはほとんどない。また、ネットワークAからネットワークBへパケットを送信する制御は行われないため、ネットワークAからネットワークBへパケットが漏洩するおそれはない。ネットワークBからネットワークAへパケットを送信する制御は行われないため、ネットワークBからネットワークAへパケットが漏洩するおそれはない。
【0017】
また、仮に、クライアント端末AとBが同じIPアドレスであるとしても、クライアント端末Aから送信されたパケットに入出力装置40が応答する場合、宛先のMACアドレスがクライアント端末Aのものなので、クライアント端末Aにしか送信されない。クライアント端末Bから送信されたパケットに入出力装置40が応答する場合、宛先のMACアドレスはネットワーク機器10なので、ネットワーク機器10はネットワークBにパケットを転送できる。したがって、ネットワークAとBの間で情報が漏洩することおそれがないか又はほとんどない。
【0018】
なお、本実施形態では、入出力装置40からクライアント端末A又はBに対し通信を開始する際の処理を説明しない。入出力装置40から開始する通信としては、例えば、入出力装置40が原稿を読み取って(スキャンして)生成した画像データをクライアント端末A又はBに送信する際の通信が挙げられる。このような機能はSCAN To Folderなどと呼ばれるが、本実施形態では説明の対象外とする。
【0019】
<用語について>
そのまま送信するとは、パケットをあるがままに送信することをいう。また、パケットに何ら変更が加えられないことをいう。具体的にはレイヤ2のアドレスであるMACアドレスとレイヤ3のIPアドレスに変更がないことをいう。
【0020】
アドレス情報とは、ネットワーク上で装置を識別するための情報、又は、ネットワーク機器がデータをネットワーク上の宛先の装置に転送するための情報である。具体的には、IPアドレス、MACアドレス、及び、ポート番号などである。
【0021】
データとは、ネットワーク上を流れる情報であり、具体的にはパケットやフレームなどと呼ばれる。
【0022】
<システム構成の補足>
図2を用いてシステム構成について補足する。図2は、ネットワーク機器10により通信の経路が制御されるネットワークシステム100の構成図の一例である。図2では、以後の説明を分かりやすくするため、IPアドレス及びサブネットマスクが示されている。また、IPアドレスに続くかっこ内にMACアドレスの下二桁が示されている。
【0023】
入出力装置40のIPアドレスは165.96.10.11であり、クライアント端末AのIPアドレスは165.96.10.01であり、クライアント端末BのIPアドレスは192.168.5.01である。また、ネットワーク機器10は3つのNIC(Network Interface Card)507を有しており、ネットワークAと接続されたNIC_AのIPアドレスが165.96.10.200であり、ネットワークBと接続されたNIC_BのIPアドレスが192.168.5.100である。ネットワークCと接続されたNIC_CはIPアドレスを持っていない。これは、ネットワーク機器10のネットワークCと接続されるNIC_Cは単に通信のインタフェースを提供すればよく、例えばハブやLANスイッチと同様に扱われるためである(レイヤ2以下の通信制御だけを行えばよいためである。)。また、入出力装置40がネットワークCと接続されるNIC_CのIPアドレスを宛先にして通信することもない(ネットワークCと接続されるNIC_CがIPアドレスを有する必要がない。)。
【0024】
この点は、ネットワークAと接続されたNIC_Aも同じであるが、このNIC_AがIPアドレスを有することで後述する効果(図8,9)を奏することができる。なお、ネットワークAのサブネットマスクは165.96.10.0/24であり、ネットワークBのサブネットマスクは192.168.5.0/24である。
【0025】
ネットワーク機器10が有するNICの数は3つ以上であればよく、上限はネットワーク機器10の処理能力やNICの搭載スペースなどに応じて決定される。例えば、NICの数が4つの場合、3つの異なるネットワークで1つの入出力装置40を共用できる。
【0026】
また、ネットワーク機器10と入出力装置40は例として有線で接続されていてもよいし、無線LAN(Wi-Fi)で接続されていてもよい。また、ネットワークA上に無線LANのアクセスポイントを設け、クライアント端末Aがアクセスポイントと無線LANで通信してもよい。クライアント端末Bについても同様である。
【0027】
入出力装置40は、一例として、プリント機能、コピー機能、スキャナ機能及びFAX機能といった複数の機能を1つの筐体で実現する複合機である。複合機の他、MFP(Multifunction Peripheral)、複写機、などと呼ばれていてもよい。入出力装置40は、プリント機能、コピー機能、スキャナ機能又はFAX機能の1つだけを有していてもよい。この場合、入出力装置40はプリンタ、複写機、スキャナ装置、又はFAX装置と呼ばれる。また、入出力装置40は複合機の他、電子黒板、プロジェクタ又はテレビ会議端末などでもよい。これらの装置は、ネットワークA,Bからユーザが共用することができ、電子黒板、プロジェクタ又はテレビ会議端末が扱う情報がネットワークA,Bに送信される可能性がある。
【0028】
クライアント端末A,Bは、ネットワークA,Bに接続できる情報処理装置である。例えば、PC(Personal Computer)、スマートフォン、タブレット型コンピュータ、PDA(Personal Digital Assistant)、携帯電話などである。これらの他、通信装置と情報処理装置の機能を有していれば、ウェアラブル端末(ヘッドアップディスプレイ、腕時計型端末など)、デジタルカメラ、ゲーム機などでもよい。
【0029】
ネットワーク機器10は、クライアント端末AとBのいずれからもネットワークを介した通信を可能とし、更に、入出力装置40がクライアント端末Aに送信すべきパケットをクライアント端末Bに送信したり、入出力装置40がクライアント端末Bに送信すべきパケットをクライアント端末Aに送信したりすることを防止する。ネットワーク機器10は具体的には情報処理装置である。ここで、クライアント端末Bからはネットワーク機器10が入出力装置40として見えることに注意されたい。ネットワーク機器10のNIC_Bには入出力装置40と同様のコンピュータ名が付与されており、クライアント端末BのOSやプリンタドライバなどはコンピュータ名を使ってネットワーク機器10を入出力装置40であると認識する。コンピュータ名はネットワーク上のマスターブラウザが管理しており、クライアント端末Bはネットワーク機器10のコンピュータ名を取得できる。また、SMB(Server Message Block)という通信プロトコルでコンピュータ名を宛先にネットワーク機器10に問い合わせると、ネットワーク機器10のIPアドレスを取得できる(名前解決する)。したがって、クライアント端末Bが入出力装置40と通信を開始する場合、宛先のIPアドレスはNIC_Bの192.168.5.100となる。なお、このような仕組みでの他、DNS(Domain Name System)により名前解決してもよい。
【0030】
なお、ネットワーク機器10のNIC_Aには入出力装置40と同様のコンピュータ名が付与されていない。ネットワークAとネットワークCは同じネットワークなのでNIC_AとNIC_CはハブやL2スイッチと同様に通信のインタフェースを提供するだけである。したがって、クライアント端末Aから見るとネットワーク機器10は通信経路に見え、入出力装置40は例えばプリンタとして見える。
【0031】
ネットワーク機器10と入出力装置40を1セットとすると、同じセットが他に2つネットワークA,Bに接続されている。ネットワーク機器10´と入出力装置40´が1つのセットであり、ネットワーク機器10´´と入出力装置40´´が1つのセットである。セットは4つ以上でもよい。
【0032】
入出力装置40´のIPアドレスは165.96.10.12、ネットワーク機器10´のNIC_AのIPアドレスは165.96.10.201、ネットワーク機器10´のNIC_BのIPアドレスは192.168.5.101である。したがって、入出力装置40´とネットワーク機器10´のNIC_AはネットワークAに所属しており、ネットワーク機器10´のNIC_BはネットワークBに所属している。
【0033】
入出力装置40´´のIPアドレスは165.96.10.13、ネットワーク機器10´´のNIC_AのIPアドレスは165.96.10.202、ネットワーク機器10´´のNIC_BのIPアドレスは192.168.5.102である。したがって、入出力装置40´´とネットワーク機器10´´のNIC_AはネットワークAに所属しており、ネットワーク機器10´´のNIC_BはネットワークBに所属している。
【0034】
このように、ネットワーク機器10と入出力装置40のセットをネットワークAとBに接続することにより、クライアント端末A及びBの数が増えても適正な数の入出力装置40を配置できる。また、ネットワーク機器10の処理負荷が増大しにくくなる。各クライアント端末A、Bには優先して使用する(デフォルトの)入出力装置40が設定されている。以下では特に断らない限り、ネットワーク機器10と入出力装置40の動作を説明するが、ネットワーク機器10´と入出力装置40´のセット、ネットワーク機器10´´と入出力装置40´´のセットの動作も同様になる。
【0035】
なお、各ネットワーク機器10が使用する入出力装置40が予め決まっていてもよいが、ネットワークシステム100がロードバランサを有する場合、ロードバランサが入出力装置40、40´、40´´の負荷に応じて入出力装置40、40´、40´´のいずれかを選択してもよい。
【0036】
<ハードウェア構成について>
図3は、本実施形態に係るネットワーク機器10の一例のハードウェア構成図である。ネットワーク機器10は入力装置501、表示装置502、外部I/F503、RAM504、ROM505、CPU506、NIC507及びHDD508などを備え、それぞれがバスBで相互に接続されている。なお、入力装置501及び表示装置502は必要なときに接続して利用する形態であってもよい。
【0037】
入力装置501はキーボードやマウス、タッチパネルなどを含み、ユーザが各操作信号を入力するのに用いられる。表示装置502はディスプレイ等を含み、ネットワーク機器10による処理結果を表示する。
【0038】
NIC507はネットワーク機器10をネットワークA~Cに接続するインタフェースである。ネットワーク機器10がLANに接続するための通信装置である。ネットワークカードと呼ばれてもよい。また、具体的にはやEthernet(登録商標)カードが知られている。NICは脱着可能でもよいし、ネットワーク機器10に固定されていてもよい。また、ネットワーク機器10に対し外付けされる外付け型でもよい。この場合、ネットワーク機器10とNICはUSBケーブルやIEEE1394ケーブルなどで接続される。また、図3のNIC507は3つであるが、4つ以上でもかまわない。NIC507の数は入出力装置40を共用したい異なるネットワークの数やCPU506の能力によって決定される。
【0039】
また、HDD508は、プログラムやデータを格納している不揮発性の記憶装置の一例である。格納されるプログラムやデータには、ネットワーク機器10の全体を制御する基本ソフトウェアであるOS、及びOS上において各種機能を提供するアプリケーションソフトウェア(以下、単にアプリケーションと呼ぶ)などがある。なお、HDD508に替え、記録媒体としてフラッシュメモリを用いるドライブ装置(例えばソリッドステートドライブ:SSD)を利用するものであってもよい。
【0040】
外部I/F503は、外部装置とのインタフェースである。外部装置には、記録媒体503aなどがある。これにより、ネットワーク機器10は外部I/F503を介して記録媒体503aの読み取り及び/又は書き込みを行うことができる。記録媒体503aにはフレキシブルディスク、CD、DVD等の光学ディスク、SDメモリカード、USBメモリなどがある。
【0041】
ROM505は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ(記憶装置)の一例である。ROM505にはネットワーク機器10の起動時に実行されるBIOS、OS設定、及びネットワーク設定などのプログラムやデータが格納されている。RAM504はプログラムやデータ(パケット)を一時保持する揮発性の半導体メモリ(記憶装置)の一例である。
【0042】
CPU506は、ROM505やHDD508などの記憶装置からプログラムやデータをRAM504上に読み出し、処理を実行することで、ネットワーク機器10全体の制御や機能を実現する演算装置である。
【0043】
なお、図示するネットワーク機器10のハードウェア構成は、1つの筐体に収納されていたりひとまとまりの装置として備えられていたりする必要はなく、ネットワーク機器10が備えていることが好ましいハード的な要素を示す。また、クラウドコンピューティングに対応するため、本実施例のネットワーク機器10の物理的な構成は固定的でなくてもよく、負荷に応じてハード的なリソースが動的に接続・切断されることで構成されてよい。
【0044】
図4は、入出力装置40の一例としての複合機のハードウェア構成図の一例である。複合機はコントローラ320を有する。コントローラ320は、CPU301、ASIC(Application Specific Integrated Circuit)305、SDRAM302、フラッシュメモリ303、HDD304、及び、NIC_X306を有する。
【0045】
ASIC305は、CPUインタフェース、SDRAMインタフェース、ローカルバスインタフェース、PCIバスインタフェース、MAC(Media Access Controller)、及び、HDDインタフェースなどを備える多機能デバイスボードである。
【0046】
CPU301は、ASIC305を介して各種プログラムをHDD304から読み取り実行する。
【0047】
SDRAM302は、各種プログラムを記憶するプログラムメモリや、CPU301が各種プログラムを実行する際に使用するワークメモリ等として機能する。なお、SDRAM302の代わりに、DRAMやSRAMを用いてもよい。
【0048】
フラッシュメモリ303は不揮発性メモリであり、複合機を起動させるブートローダ(ブートプログラム)やOSを記憶する。また、各プログラムを記憶するアプリケーションメモリとして機能する。また、フラッシュメモリ303は、各サービス(コピーサービス、プリントサービス、ファクシミリサービス)のソフトウェアを記憶するサービスメモリとして機能する。更に、フラッシュメモリ303は、ファームウェアを記憶するファームメモリ、ネットワークアドレスや機種機番等を記憶するデータメモリとして機能する。
【0049】
なお、フラッシュメモリ303の代わりに、RAMと電池を利用したバックアップ回路を集積した不揮発性RAMや、EEPROM(Electrically Erasable Programmable Read-Only Memory)等の他の不揮発性メモリを使用してもよい。
【0050】
HDD304は、複合機の電源のオン、オフに関わりなくデータを記憶する不揮発性の記憶媒体である。HDD304は、フラッシュメモリ303内に記憶されたプログラム及びデータ以外のプログラム及びデータを記録する。なお、HDD304は、ファームメモリとして使用してもよい。
【0051】
NIC_X306は、ネットワーク機器10が有するものと同様である。すなわち、ネットワーク機器10はNIC_X306を使用してネットワークCを介してネットワーク機器10と通信を行う。コントローラ320には、操作パネル307が接続されている。操作パネル307は、各種の操作キー、表示装置としてのLCD(Liquid crystal display)又はCRTの文字表示器及びタッチパネルを有し、ユーザ9が複合機に各種指示を入力する際に用いられる。
【0052】
更に、コントローラ320には、PCIバス330を介して、ファックス制御ユニット308、記憶媒体309aが脱着可能なUSB309、IEEE1394(310)、プロッタエンジン311、スキャナエンジン312及びBLEモジュール313が接続されている。これにより、複合機では、コピーサービス、プリントサービス、ファクシミリサービス等の各サービスを提供することができる。プロッタエンジン311は電子写真方式又はインクジェット方式のいずれの方式を採用していてもよい。
【0053】
なお、図示する構成は一例に過ぎず、複合機のハードウェア構成は図4の構成には限られない。例えば、NIC_X306はPCIバス330に接続されていてもよい。また、NIC_X306は有線でネットワークNに接続される他、無線LANなど無線で接続されていてもよい。NIC_X306が複数あってもよい。
【0054】
更に、NIC_X306に代えて又はNIC_X306と共に、電話回線網に接続するDSU(Digital Service Unit)又はモデムを有していてもよい。携帯電話網に接続する通信装置を有していてもよい。
【0055】
<ネットワーク機器の機能>
次に、図5を用いてネットワーク機器の機能について説明する。図5は、ネットワーク機器の機能の一部を模式的に説明する図の一例である。ネットワーク機器10は、ネットワークAからパケットを受信し、ネットワークAにパケットを送信する送受信部21(以下、送受信部Aという)、ネットワークBからパケットを受信し、ネットワークBにパケットを送信する送受信部22(以下、送受信部Bという)、ネットワークCからパケットを受信し、ネットワークCにパケットを送信する送受信部23(以下、送受信部Cという)を有する。送受信部A~Cは、ネットワーク機器10のCPU506がプログラムを実行しNIC507等を制御することで実現される機能又は手段である。
【0056】
また、ネットワーク機器10はブリッジ接続部24、NAT接続部26及び経路制御部25を有している。ブリッジ接続部24、NAT接続部26、及び、経路制御部25は、ネットワーク機器10のCPU506がプログラムを実行し図3に示した各種ハードウェアを制御することで実現される機能又は手段である。
【0057】
経路制御部25は、主に送受信部A又はBのどちらがパケットを受信したかによって、ブリッジ接続部24又はNAT接続部26にパケットの転送を要求する。また、送受信部Cがパケットを受信した場合は宛先のMACアドレス等によって、ブリッジ接続部24又はNAT接続部26にパケットの転送を要求する。これらの判断を行うため、経路制御部25は図3のRAM504やHDD508などにより実現される通信経路制御情報記憶部31の通信経路制御情報を参照する。
【0058】
【表1】
表1は通信経路制御情報の一例を示す。通信経路制御情報は、ネットワークインタフェースA~Cごとに、サブネットマスク、IPアドレス、接続先のネットワーク、及び、転送方式が登録されている。「ネットワークインタフェース名」はネットワークインタフェースA~Cを識別するための識別情報である。「IPアドレス」はNIC_A、NIC_Bに割り振られたIPアドレスである。上記のようにNIC_CにはIPアドレスは割り当てられない。「接続先のネットワーク」は、ネットワークインタフェースA~Cが接続するネットワークの識別情報である。「転送方式」は、NIC_A~NIC_Cで受信したパケットをブリッジ接続部24又はNAT接続部26のどちらに転送するかが登録されている。
【0059】
表1によれば、NIC_Aが165.96.10.100のIPアドレスを持ち、ネットワークAに接続し、ネットワークCとはブリッジ方式でパケットを転送することが登録されている。また、NIC_Bが192.168.5.100のIPアドレスを持ち、ネットワークBに接続し、ネットワークCとはNAT方式でパケットを転送することが登録されている。NIC_CはIPアドレスを持たず、入出力装置40に直結し、宛先MACアドレスが自機以外(ネットワーク機器10以外)の場合はネットワークAとブリッジ接続し、宛先MACアドレスが自機(ネットワーク機器)の場合はネットワークBとNAT接続することが登録されている。
【0060】
なお、通信経路制御情報はネットワーク管理者が設定・変更・削除することが可能である。例えば、IPアドレス、サブネットマスク、転送方式などをネットワークA~Cの適した値に設定できる。したがって、ユーザのネットワーク運用の変更に柔軟に対応できる。
【0061】
経路制御部25は、通信経路制御情報を参照し、以下のように制御する。
・送受信部Aが受信…ブリッジ接続部24にパケットを送出する。
・送受信部Bが受信…NAT接続部26にパケットを送出する。
・送受信部Cが受信…宛先のMACアドレスがネットワーク機器10でない場合、ブリッジ接続部24にパケットを送出する。宛先のMACアドレスがネットワーク機器10の場合、NAT接続部26にパケットを送出する。なお、宛先のIPアドレスに基づいて送信先のネットワークを判断してもよい。例えば、宛先のIPアドレスがネットワークAのネットワークアドレスの場合、ブリッジ接続部24にパケットを送出し、宛先のIPアドレスがネットワークBのネットワークアドレスの場合、NAT接続部26にパケットを送出する。しかし、宛先のMACアドレスで判断することでクライアント端末AとBが同じIPアドレスの場合も適切に通信経路を制御しやすくなる。
【0062】
ブリッジ接続部24はOSI(Open Systems Interconnection)のデータリンク層(レイヤ2)で動作するパケット(より正確にはイーサネット(登録商標)フレーム)の中継機能である。ブリッジ接続部24は、ネットワークAから送信されたパケットのMACアドレスをMACアドレステーブルに記憶しておき、ネットワークCから送信されたパケットのMACアドレスをMACアドレステーブルに記憶しておく。
【0063】
【表2】
表2はMACアドレステーブルの一例を示す。ネットワークAのNIC_AとネットワークCのNIC_Cと対応付けて、それぞれに接続されたネットワークA,Bのクライアント端末A、Bが有するMACアドレスが登録されている。
【0064】
ブリッジ接続部24は、ネットワークAから、ネットワークCの機器のMACアドレスを宛先とするパケットが送信された場合、MACアドレステーブルを参照してこのMACアドレスの機器がネットワークCにあることを検出してネットワークCにパケットをそのまま送信する。本実施形態ではネットワークCの機器は入出力装置40である。逆の場合も同様で、ネットワークCから、ネットワークAの機器のMACアドレスを宛先とするパケットが送信された場合、MACアドレステーブルを参照してこのMACアドレスの機器がネットワークAにあることを検出してネットワークAにパケットをそのまま送信する。
【0065】
ブリッジ機能は1対1の接続において(この場合は、入出力装置40とクライアント端末A)、MACアドレスに基づきデータの送信先を制御する機能であり、1対n又はn対nでMACアドレスに基づきデータの送信先を制御するハブやL2スイッチと機能は同じである。
【0066】
NAT接続部26は、OSIのIP層(レイヤ3)で動作するパケットのIPアドレスの相互変換を行う機能である。また、ネットワーク機器10は、図3のRAM504やHDD508などにより実現されるNATテーブル記憶部32を有している。NATテーブル記憶部32にはNATテーブルが記憶されている。
【0067】
【表3】
表3はNATテーブルの一例を示す。NATテーブルには、変換前のIPアドレスと変換後のIPアドレスが対応付けられている。変換前のIPアドレスはネットワーク機器10のIPアドレス(クライアント端末Bはネットワーク機器10を宛先にするため)であり、変換後のIPアドレスは入出力装置40のIPアドレスである。
【0068】
NAT接続部26は、ネットワークBのクライアント端末Bからネットワーク機器10を宛先とするIPアドレスが送信された場合(送信元のIPアドレスはクライアント端末B)、NATテーブルを参照してこのパケットの宛先のIPアドレスを入出力装置40のIPアドレスに変換する。このパケットの応答として、入出力装置40からクライアント端末BのIPアドレスを宛先とするパケットが送信された場合、NAT接続部26はNATテーブルを参照して、送信元のIPアドレスを入出力装置40のIPアドレスからネットワーク機器10のIPアドレスに変換してネットワークBに送信する。
【0069】
なお、本実施例ではNAT変換を例に説明するが、NAPT(Network Address Port Translation)変換してもよい。すなわち、IPアドレスと共にポート番号を変換してもよい。なお、NAPT変換はIPマスカレード又はNAT+(プラス)と呼ばれる場合がある。
【0070】
<ネットワーク機器の具体的な実装方法について>
従来のネットワークは、ハブ、スイッチ、ルータ、ファイアウォールなどのそれぞれ決まった機能を有する機器が配置されて構築されていた。ネットワーク構成の変更が必要な場合には、ネットワーク管理者が関連する機器の設定を変更したり、機器の接続自体を変更したりする必要があった。このような従来のネットワークに対し、ソフトウェアによってネットワークの構成や機能を設計する概念(コンセプト)としてSDN(Software-Defined Network)が知られている。また、SDNを実現するための具体的な仕組みとしてOpenFlowが知られている。
【0071】
図6は、OpenFlowを説明する図の一例である。OpenFlowは、主に、経路制御を司るOpenFlowコントローラ62と、データの転送機能を備えるOpenFlowスイッチ61と、OpenFlowコントローラ62とOpenFlowスイッチ61の通信方法を規定するOpenFlowプロトコル63とから構成される。OpenFlowコントローラ62はソフトウェアで実現され、OpenFlowスイッチ61はソフトウェア又はハードウェアで実現される。
【0072】
OpenFlowコントローラ62は処理対象となるパケットの条件とアクションを1つのエントリとして複数のエントリが含まれるルール群を「Flow Table」として定義し、OpenFlowプロトコル63にしたがってFlow TableをOpenFlowスイッチ61に書き込む。条件として、ポート番号、MACアドレス、IPアドレスなどパケットのさまざまなフィールドが使用される。また、条件に合致した場合、条件に応付けられたアクションとして、所定のポートから出力する、パケットのフィールドを書き換える、パケットを破棄する、などが指定される。
【0073】
OpenFlowスイッチ61は、書き込まれたFlow Tableにしたがってパケットを処理するため、Flow Tableが出力するポートを制御する場合は、L2スイッチとして動作し、IPアドレスでポートを制御したりIPアドレスを変換したりする制御を行う場合、ルータのように動作する。また、特定のパケットを破棄することで、ファイアウォールとして動作する。
【0074】
また、OpenFlowスイッチ61は、書き込まれたFlow Tableにしたがってパケットを処理するため、OpenFlowコントローラ62との通信を行うことなくパケットを処理できる。
【0075】
本実施形態においても、ネットワークAからのパケット、及び、ネットワークCからクライアント端末Aへのパケットに対し、ネットワーク機器がブリッジのように動作することが、OpenFlowコントローラ62によりFlow Tableとして定義される。OpenFlowスイッチ61では、ネットワークAからのパケット、及び、ネットワークCからクライアント端末Aへのパケットかどうかという条件を経路制御部25が判断し、ブリッジ接続部24がブリッジのように動作するというアクションを実行する。
【0076】
また、ネットワークBからのパケット、及び、ネットワークCからクライアント端末Bへのパケットに対し、ネットワーク機器がNAT接続部26のように動作することが、OpenFlowコントローラ62によりFlow Tableとして定義される。OpenFlowスイッチ61では、ネットワークBからのパケット、及び、ネットワークCからクライアント端末Bへのパケットがどうかという条件を経路制御部25が判断し、NAT接続部26がNAT制御を行うというアクションを実行する。
【0077】
また、OpenFlowでは、OpenFlowスイッチ61の制御を動的に変更できる。つまり、条件Aが成立する状況から条件Bが成立する状況が生じても、実行されるアクションが変わるだけで、ネットワーク管理者がネットワーク機器10を停止したり再起動させたりする必要がない。例えば、ブリッジ接続部24をNAT接続部として動作させたり、ブリッジ接続部24とNAT接続部26とを交換したりすることなども可能である。したがって、柔軟にネットワークを構築できる。
【0078】
<動作手順例>
図7は、ネットワークAのクライアント端末AとネットワークBのクライアント端末Bが入出力装置40との通信を行うシーケンス図の一例である。
(クライアント端末Aと入出力装置40の通信)
S1:ネットワークAのクライアント端末Aがネットワーク機器10にパケットを送信する。送信の契機は種々あるが、例えばユーザが印刷ジョブを要求する場合などである。クライアント端末Aは自分のIPアドレスとサブネットマスクの論理積、入出力装置40のIPアドレスとサブネットマスクの論理積が同じなので、入出力装置40が同じネットワークにあると判断する。したがって、宛先のMACアドレス及びIPアドレスはいずれも入出力装置40のものでよい。
送信元MACアドレス:XX:XX:XX:XX:XX:AA 宛先MACアドレス:XX:XX:XX:XX:XX:XX
送信元IPアドレス:165.96.10.01 宛先IPアドレス:165.96.10.11
S2:ネットワーク機器10の送受信部Aは通信経路としてパケットを受信する。送受信部Aはパケットを受信したことを経路制御部25に通知する。
【0079】
S3:経路制御部25は、NIC_Aで受信したことを検出し通信経路制御情報記憶部31を参照する。
【0080】
S4:通信経路制御情報によるとNIC_AはネットワークCとブリッジ接続しているので、経路制御部25はブリッジ接続部24にパケットを送出すると判断する。
【0081】
S5:経路制御部25はブリッジ接続部24にパケットを送出する。
【0082】
S6:ブリッジ接続部24は、MACアドレステーブルを参照し、宛先MACアドレス:XX:XX:XX:XX:XX:XXはNIC_Cと対応付けられているのでNIC_Cを制御する送受信部Cにパケットを転送する。宛先MACアドレスや宛先IPアドレスを変換することはない。
【0083】
S7:送受信部Cは入出力装置40にパケットを送信する。入出力装置40は宛先MACアドレスが自分宛なのでパケットを受信する。
送信元MACアドレス:XX:XX:XX:XX:XX:AA 宛先MACアドレス:XX:XX:XX:XX:XX:XX
送信元IPアドレス:165.96.10.01 宛先IPアドレス:165.96.10.11
S8:入出力装置40はクライアント端末Aに応答するため、ネットワークAのクライアント端末Aにパケットを送信する。ステップS7の送信元IPアドレス:165.96.10.01が宛先となる。この場合も入出力装置40とクライアント端末Aは同じネットワークなので、宛先MACアドレスと宛先IPアドレスはクライアント端末Aである。
送信元MACアドレス:XX:XX:XX:XX:XX:XX 宛先MACアドレス:XX:XX:XX:XX:XX:AA
送信元IPアドレス:165.96.10.11 宛先IPアドレス:165.96.10.01
S9:ネットワーク機器10の送受信部CはNIC_Cにてパケットを受信する。送受信部Cはパケットを受信したことを経路制御部25に通知する。
【0084】
S10:経路制御部25はNIC_Cで受信したことを検出し通信経路制御情報を参照する。
【0085】
S11:通信経路制御情報では、ネットワークAにブリッジ転送するかネットワークBにNAT転送するかを判断する。入出力装置40はネットワーク機器10に対し単なるインタフェース又は通信経路としてパケットを送信する。このため、宛先MACアドレスはXX:XX:XX:XX:XX:AAなので自機以外に送信されたことが分かる。また、宛先IPアドレス:165.96.10.01とサブネットマスクからクライアント端末AのネットワークアドレスがネットワークAと同じであることが分かる。したがって、経路制御部25はネットワークAにブリッジ転送すると判断する。
【0086】
S12:経路制御部25は、ブリッジ接続部24にパケットを転送する。
【0087】
S13:ブリッジ接続部24は、MACアドレステーブルを参照し、宛先MACアドレス:XX:XX:XX:XX:XX:AAはNIC_Aと対応付けられているのでNIC_Aを制御する送受信部Aにパケットを転送する。宛先MACアドレスや宛先IPアドレスを変換することはない。
【0088】
S14:送受信部Aは、ネットワークAのクライアント端末Aにパケットを送信する。クライアント端末Aは宛先MACアドレスが自分宛なのでパケットを受信する。
送信元MACアドレス:XX:XX:XX:XX:XX:XX 宛先MACアドレス:XX:XX:XX:XX:XX:AA
送信元IPアドレス:165.96.10.11 宛先IPアドレス:165.96.10.01
(クライアント端末Bと入出力装置40の通信)
S21:ネットワークBのクライアント端末BはNIC_Bを制御する送受信部Bにパケットを送信する。送信の契機は種々あるが、例えばユーザが印刷ジョブを要求する場合などである。クライアント端末Bからはネットワーク機器10が入出力装置40に見えている。クライアント端末Bは自分のIPアドレスとサブネットマスクの論理積、ネットワーク機器10のIPアドレスとサブネットマスクの論理積が同じなので、ネットワーク機器10が同じネットワークにあると判断する。したがって、宛先のMACアドレス及びIPアドレスはいずれもネットワーク機器10のものでよい。
送信元MACアドレス:XX:XX:XX:XX:XX:BB 宛先MACアドレス:XX:XX:XX:XX:XX:BI
送信元IPアドレス:192.168.5.01 宛先IPアドレス:192.168.5.100
S22:送受信部Bはパケットを受信したことを経路制御部25に通知する。
【0089】
S23:経路制御部25はNIC_Bでパケットを受信したことを検出し通信経路制御情報を参照する。
【0090】
S24:通信経路制御情報によるとNIC_BはネットワークCとNAT接続されているので、経路制御部25はNAT接続部26にパケットを送出すると判断する。
【0091】
S25:経路制御部25はNAT接続部26にパケットを送出する。
【0092】
S26:NAT接続部26はNAT変換テーブルを参照する。
【0093】
S27:NAT変換テーブルでは、宛先のIPアドレスを入出力装置40のIPアドレス(165.96.10.11)に変換することが登録されているので、NAT接続部26はパケットの宛先IPアドレスを入出力装置40のIPアドレスに変換する。また、送信元IPアドレスはクライアント端末Bのままでよい。この時点ではMACアドレスは付与されない。
送信元IPアドレス:192.168.5.01 宛先IPアドレス:165.96.10.11
S28:NAT接続部26は送受信部Cにパケットを転送する。
【0094】
S29:送受信部Cは入出力装置40にパケットを送信する。入出力装置40は宛先MACアドレスが自分宛なのでパケットを受信する。
送信元MACアドレス:XX:XX:XX:XX:XX:BI 宛先MACアドレス:XX:XX:XX:XX:XX:XX
送信元IPアドレス:192.168.5.01 宛先IPアドレス:165.96.10.11
S30:入出力装置40はクライアント端末Bに応答するため、ネットワーク機器にパケットを送信する。宛先IPアドレスはステップS29の送信元IPアドレス:192.168.5.01である。入出力装置40は自分のIPアドレスとサブネットマスクの論理積、クライアント端末BのIPアドレスとサブネットマスクの論理積が異なるので、クライアント端末Bが同じネットワークにないと判断する。したがって、宛先のMACアドレスはデフォルトゲートウェイとなる。説明の便宜上、デフォルトゲートウェイはネットワーク機器10のNIC_Bであるとする。したがって、宛先MACアドレスはNIC_BのMACアドレスでよい。
送信元MACアドレス:XX:XX:XX:XX:XX:XX 宛先MACアドレス:XX:XX:XX:XX:XX:BI
送信元IPアドレス:165.96.10.11 宛先IPアドレス:192.168.5.01
S31:ネットワーク機器10の送受信部Cはパケットを受信する。送受信部Cはパケットを受信したことを経路制御部25に通知する。
【0095】
S32:経路制御部25はNIC_Cでパケットを受信したことを検出し、通信経路制御情報を参照する。
【0096】
S33:通信経路制御情報により、ネットワークAにブリッジ転送するかネットワークBにNAT転送するかを判断する。宛先MACアドレスはXX:XX:XX:XX:XX:BIなので自機(ネットワーク機器10)に送信されたものであること(通信経路の制御対象であること)が分かる。また、宛先IPアドレス:192.168.5.01とサブネットマスクからクライアント端末BのネットワークアドレスがネットワークBと同じであることが分かる。したがって、経路制御部25はネットワークBにNAT転送すると判断する。
【0097】
S34:経路制御部25は、NAT接続部26にパケットを転送する。
【0098】
S35:NAT接続部26はNATテーブルを参照する。
【0099】
S36:NATテーブルによれば、入出力装置40のIPアドレスとネットワーク機器10のIPアドレスが対応付けられているので、NAT接続部26はパケットの送信元IPアドレスをネットワーク機器10のIPアドレスに変換する。
送信元IPアドレス:192.168.5.100 宛先IPアドレス:192.168.5.01
S37:また、NAT接続部26は宛先MACアドレスをクライアント端末BのMACアドレスに変換する。
【0100】
S38:NAT接続部26はNIC_Bを制御する送受信部Bにパケットを転送する。
【0101】
S39:送受信部BはパケットをネットワークBのクライアント端末Bに送信する。
送信元MACアドレス:XX:XX:XX:XX:XX:BI 宛先MACアドレス:XX:XX:XX:XX:XX:BB
送信元IPアドレス:192.168.5.100 宛先IPアドレス:192.168.5.01
以上のようにして、ネットワーク機器はネットワークA及びBからのパケットを入出力装置40に送信でき、入出力装置40からのパケットをネットワークA及びBに転送できる。
【0102】
<変形例>
図7の処理では、入出力装置40のデフォルトゲートウェイがNIC_Bであると説明した。このため、入出力装置40が送信するパケットの宛先IPアドレスがクライアント端末Bであっても(通常のNATではネットワーク機器10になる)、ネットワーク機器10にパケットが送信されクライアント端末Bに送信される。
【0103】
これに対し、図8に示すようにネットワークAに例えばインターネットiに繋がるルータ200がある場合がある。図8は、図2と同様のネットワークシステム100の構成図の一例である。図8ではネットワークAにルータ200が接続されており、ルータ200の先にインターネットiが繋がっている。このような構成では、デフォルトゲートウェイがNIC_Bだと、入出力装置40がルータ200を超えてパケットを送信する場合、デフォルトゲートウェイのNIC_Bに送信されてしまう。ネットワーク機器10はネットワークBからAにパケットを送信しないので(通信経路制御情報にそのような記述がない)、入出力装置40はルータ200を超えてパケットを送信できないことになる。
【0104】
このような不都合を回避するにはNIC_AがIPアドレス及びMACアドレスを有することが有効になる。NIC_AがIPアドレス及びMACアドレスを有するため、ネットワーク管理者は入出力装置40のデフォルトゲートウェイをNIC_AのIPアドレスに設定できる。これにより、入出力装置40がルータを超えてパケットを送信する場合、ネットワーク機器10はルーティングテーブルによりルータ200を超えるにはネットワークAに送信すればよいことが分かるので、NIC_Aからパケットを送信できる。
【0105】
一方、入出力装置40がネットワークBのクライアント端末Bにパケットを送信する場合、デフォルトゲートウェイ(NIC_A)に送信するのは同じだが、ネットワーク機器10は図7にて説明したようにMACアドレスやIPアドレスによりネットワークBに送信すればよいことが分かる。したがって、入出力装置40はルータ200の先にもクライアント端末Bにもパケットを送信できる。
【0106】
図9は、ネットワークAにデフォルトゲートウェイがある場合に、ネットワークAのクライアント端末AとネットワークBのクライアント端末Bが入出力装置40との通信を行うシーケンス図の一例である。なお、図9では主に図7との相違を説明する。また、図9では入出力装置40にデフォルトゲートウェイとしてNIC_AのIPアドレス(165.96.10.200)が設定されている。
【0107】
まず、ステップS1~S29までの処理は図7と同様でよい。
S30:入出力装置40はクライアント端末Bに応答するため、ネットワーク機器にパケットを送信する。宛先IPアドレスはステップS29の送信元IPアドレス:192.168.5.01である。入出力装置40は自分のIPアドレスとサブネットマスクの論理積、クライアント端末BのIPアドレスとサブネットマスクの論理積が異なるので、クライアント端末Bが同じネットワークにないと判断する。したがって、宛先のMACアドレスはデフォルトゲートウェイとなる。デフォルトゲートウェイはネットワーク機器のNIC_Aなので、宛先MACアドレスはNIC_AのMACアドレスとなる。
送信元MACアドレス:XX:XX:XX:XX:XX:XX 宛先MACアドレス:XX:XX:XX:XX:XX:AI
送信元IPアドレス:165.96.10.11 宛先IPアドレス:192.168.5.01
S31:ネットワーク機器10の送受信部Cはパケットを受信する。送受信部Cはパケットを受信したことを経路制御部25に通知する。
【0108】
S32:経路制御部25はNIC_Cでパケットを受信したことを検出し、通信経路制御情報を参照する。
【0109】
S33:通信経路制御情報では、ネットワークAにブリッジ転送するかネットワークBにNAT転送すると登録されている。宛先MACアドレスはXX:XX:XX:XX:XX:AIなのでネットワーク機器10に送信されたものであること(通信経路の制御対象であること)が分かる。また、宛先IPアドレス:192.168.5.01とサブネットマスクからクライアント端末BのネットワークアドレスがネットワークBと同じであることが分かる。したがって、経路制御部25はネットワークBにNAT転送すると判断する。
【0110】
S34:経路制御部25は、NAT接続部26にパケットを転送する。
【0111】
S35:NAT接続部26はNATテーブルを参照する。
【0112】
S36:NATテーブルによれば、入出力装置40のIPアドレスとネットワーク機器10のIPアドレスが対応付けられているので、NAT接続部26はパケットの送信元IPアドレスをネットワーク機器10のIPアドレスに変換する。
送信元IPアドレス:192.168.5.100 宛先IPアドレス:192.168.5.01
S37:また、NAT接続部26は宛先MACアドレスをクライアント端末BのMACアドレスに変換する。
【0113】
S38:NAT接続部26はNIC_Bを制御する送受信部Bにパケットを転送する。
【0114】
S39:送受信部BはパケットをネットワークBのクライアント端末Bに送信する。
送信元MACアドレス:XX:XX:XX:XX:XX:BI 宛先MACアドレス:XX:XX:XX:XX:XX:BB
送信元IPアドレス:192.168.5.100 宛先IPアドレス:192.168.5.01
このように、NIC_AがIPアドレスとMACアドレスを有し、NIC_Aをデフォルトゲートウェイとすることで、入出力装置40はルータの先にもクライアント端末Bにもパケットを送信できる。
【0115】
<比較例>
図10は、ネットワーク機器10が通信経路を制御する場合の比較例となるネットワークシステムの構成図を示す。図10では、クライアント端末Aと入出力装置40がネットワークAを介して接続されており、クライアント端末Bとプリントサーバ70がネットワークBを介して接続されている。また、入出力装置40とプリントサーバ70はネットワークではなく1対1での通信が可能な例えばUSBケーブル71などで接続されている。
【0116】
プリントサーバ70とは、自身に接続されたプリンタをネットワーク上の他のコンピュータと共有するためのコンピュータである。当初、プリントサーバ70は、NICを装備していないプリンタを複数のコンピュータで共有するために利用されたが、プリンタがNICを装備するようになっても多く利用されている。これは、プリントサーバ70はコンピュータから送信されたジョブをスプールして順次プリンタにジョブを実行要求するため、各コンピュータにかかる負担を軽減することができるためである。
【0117】
図10の構成で、仮にクライアント端末Aもプリントサーバ70に接続された場合、従来と同様の構成となる。すなわち、クライアント端末AとBが同じネットワークに属する状況となり、情報漏えいのおそれが生じる。
【0118】
これに対し、図10の構成では、入出力装置40とプリントサーバ70がUSBケーブル71で接続されていてもイーサネットフレームやパケットが送受信されるネットワークでないので、クライアント端末Aからクライアント端末Bに又はこの逆に情報が漏洩するおそれはほとんどない。また、クライアント端末AとBが入出力装置40を共有できる。
【0119】
しかしながら、ネットワークB側の例えば管理者端末から入出力装置40のMIB(Management Information Base)を取得することが困難である(より正確にはUSB上でパケットをカプセル化すれば取得できる)。MIBはSNMP(Simple Network Management Protocol)で取得されるがSNMPはTCP/IPネットワーク上のプロトコルのためである。また、入出力装置40の設定をネットワーク越しの管理者端末等から参照したり変更したりすることができるが、ネットワークB側の例えば管理者端末から入出力装置40の設定にアクセスできない。
【0120】
これに対し、本実施形態ではネットワーク機器10が通信経路を制御することで、クライアント端末Aと入出力装置40はネットワークAを介して接続されており、クライアント端末Bと入出力装置40はネットワークBとAを介して接続されている。したがって、クライアント端末A,BのいずれもMIBを取得できるし、入出力装置40の設定にアクセスできる。
【0121】
また、ネットワーク機器10でなくルータでネットワークA~Cが接続されると、少なくとも同じIPアドレスがあると相互に情報漏えいするおそれがある。また、同じIPアドレスがないとしても、デフォルトゲートウェイの存在などによっては相互に情報が送受信されるおそれがある。
【実施例2】
【0122】
本実施例では、ネットワークが3つに分割されている場合を説明する。すなわち、入出力装置40もクライアント端末Aとは異なるネットワークCに所属する場合である。
【0123】
図11は、本実施形態のネットワーク機器10の概略的な動作を説明する図の一例である。図11ではネットワークAにクライアント端末Aが接続され、ネットワークBにクライアント端末Bが接続され、ネットワークCに入出力装置40が接続されている。ネットワークAとCのネットワークアドレスは異なっている。このような構成でも実施例1とほぼ同様の通信経路の制御が可能である。
【0124】
(i) 本実施例のクライアント端末Aは実施例1のクライアント端末Bと同様に動作する。クライアント端末Aが送信するパケットはネットワーク機器10のIPアドレスを宛先としていわゆるルータ越えを行い入出力装置40に送信される。ルータ越えにより入出力装置40に到達するパケットの宛先IPアドレスはネットワーク機器10のIPアドレスに変換される。
【0125】
(ii) 入出力装置40がクライアント端末Aに応答する場合、クライアント端末Aと入出力装置40のネットワークアドレスが一致しないので、入出力装置40はデフォルトゲートウェイであるネットワーク機器10を宛先にしてパケットを送信する。すなわち、宛先は、MACアドレス:ネットワーク機器10、IPアドレス:クライアント端末Aである。ネットワーク機器10はIPアドレスがネットワークAに含まれるので、NATテーブルを参照し宛先のIPアドレスをクライアント端末AのIPアドレスに書き換える。すなわち、宛先は、MACアドレス:クライアント端末A、IPアドレス:クライアント端末Aである。
【0126】
(iii) クライアント端末Bが入出力装置40に送信するパケットに関する処理及び入出力装置40がクライアント端末Bに送信するパケットに関する処理は、実施例1と同様である。
【0127】
したがって、実施例1と同様に、ネットワークAのクライアント端末Aと、ネットワークAと異なるネットワークであるネットワークBのクライアント端末Bが共通の入出力装置40を使用できる。また、ネットワークAからネットワークB、ネットワークBからネットワークAへパケットが漏洩するおそれはない。
【0128】
また、クライアント端末AとBが同じIPアドレスである可能性を考慮すると、ポート番号を利用することが有効になる。クライアント端末A、Bからのパケットに対し入出力装置40が応答する場合、クライアント端末A、Bどちらの場合も宛先のIPアドレスはクライアント端末A,BのIPアドレスである。クライアント端末A、BのIPアドレスが同じでは通信制御が困難になる。そこで、変換前と後のIPアドレスとポート番号がネットワーク機器10に登録されていれば、ポート番号に基づいて通信制御が可能になる。
【0129】
本実施例では、クライアント端末Aからネットワーク機器10へのパケットの送信時、後述するNAPT機能により宛先のポート番号をネットワーク機器10のポート番号から入出力装置40のポート番号に変換する。入出力装置40は、変換されたポート番号を送信元のポート番号に設定するので、ネットワーク機器10はポート番号に基づきクライアント端末A又はBのどちらのパケットに対する応答かを判断できる。したがって、クライアント端末Aとクライアント端末BのIPアドレスが同じでも、ネットワーク機器10はクライアント端末A、Bからのパケットの通信経路を制御できる。
【0130】
なお、実施例1と同様にネットワークA及びBにはネットワーク機器10´及び10´が接続されている。ネットワーク機器10´には入出力装置40´が接続されており、ネットワーク機器10´´には入出力装置40´´が接続されている。作図の関係でネットワーク機器10´がネットワーク機器10と接続されているが実際には通信しない。同様に、ネットワーク機器10´´もネットワーク機器10´又はネットワーク機器10とは通信しない。
【0131】
入出力装置40、40´、及び40´´はネットワークCに所属している。したがって、実施例1と同様にクライアント端末A、Bは入出力装置40、40´、及び40´´を利用できる。なお、入出力装置40はネットワークC、入出力装置40´はネットワークD、入出力装置40´´はネットワークEのように、入出力装置40、40´、及び40´´が異なるネットワークに所属していてもよい。
【0132】
<システム構成>
本実施例において、実施例1の説明において同一の符号を付した構成要素は同様の機能を果たすので、主に本実施例の主要な構成要素についてのみ説明する場合がある。例えば、本実施例においても、実施例1の図3に示したネットワーク機器10のハードウェア構成図、及び、図4の入出力装置40のハードウェア構成図を使用して説明する。また、同一の符号を付した構成要素については、同様の機能を果たすので、一度説明した構成要素の説明を省略あるいは相違点についてのみ説明する場合がある。
【0133】
図12は、ネットワーク機器10により通信の経路が制御されるネットワークシステムの構成図の一例である。図12では、入出力装置40がネットワークCに所属するため、NIC_CがIPアドレスを有している。また、入出力装置40のNIC_CのIPアドレスは165.96.20.100、ネットワークCのサブネットマスクは165.96.20.0/24である。また、入出力装置40のIPアドレスは165.96.20.01である。
【0134】
ネットワーク機器10´のNIC_CのIPアドレスは165.96.20.101、ネットワークCのサブネットマスクは165.96.20.0/24である。また、入出力装置40´のIPアドレスは165.96.20.02である。ネットワーク機器10´´のNIC_CのIPアドレスは165.96.20.102、ネットワークCのサブネットマスクは165.96.20.0/24である。また、入出力装置40´´のIPアドレスは165.96.20.03である。その他の構成は実施例1の図2と同様でよい。
【0135】
なお、本実施例では、クライアント端末A、Bからネットワーク機器10が入出力装置40、40´、40´´として見える。
【0136】
<機能について>
図13は、入出力装置40の機能の一部を模式的に説明する図の一例である。実施例1の図5と比較すると、ネットワーク機器10がブリッジ接続部24の代わりにNAPT接続部27(以下、NAPT接続部Aという)を有し、NAT接続部26の代わりにNAPT接続部28(以下、NAPT接続部Bという)を有する。
【0137】
また、本実施例の経路制御部25は、主に送受信部A又はBのどちらがパケットを受信したかによって、NAPT接続部A又はNAPT接続部Bにパケットの転送を要求する。また、送受信部Cがパケットを受信した場合は、宛先又は送信元のポート番号の少なくとも一方に基づいてNAPT接続部A又はNAPT接続部Bにパケットの転送を要求する。実施例1と同様に経路制御部25は図3のRAM504やHDD508などにより実現される通信経路制御情報記憶部31の通信経路制御情報を参照する。
【0138】
【表4】
表4は本実施例の通信経路制御情報の一例を示す。表4の通信経路制御情報は、ネットワークインタフェースCがIPアドレスを有し、ネットワークインタフェースA~Cの転送方式が表1と異なっている。すなわち、ネットワークインタフェースA、Bの転送方式はどちらもネットワークCとNAPTである。また、ネットワークインタフェースCの転送方式は、宛先のポート番号がAAAAの場合は「ネットワークAとNAPT」であり、宛先のポート番号がBBBBの場合は「ネットワークBとNAPT」である。
【0139】
経路制御部25は、通信経路制御情報を参照し、以下のように制御する。
・送受信部Aが受信…NAPT接続部Aにパケットを送出する。
・送受信部Bが受信…NAPT接続部Bにパケットを送出する。
・送受信部Cが受信…宛先のポート番号がAAAA(又は送信元のポート番号がXXAA)である場合、NAPT接続部Aにパケットを送出する。宛先のポート番号がBBBB(又は送信元のポート番号がXXBB)である場合、NAPT接続部Bにパケットを送出する。
【0140】
NAPT接続部A、Bは、OSIのIP層(レイヤ3)で動作するパケットのIPアドレスとポート番号の相互変換を行う機能である。このため、ネットワーク機器10は、図3のRAM504やHDD508などにより実現されるNAPTテーブル記憶部33(以下、NAPTテーブル記憶部Aという),NAPTテーブル記憶部34(以下、NAPTテーブル記憶部Bという)を有している。NAPTテーブル記憶部AはNAPT接続部Aにより参照され、NAPTテーブル記憶部BはNAPT接続部Bにより参照される。
【0141】
【表5】
表5(a)はNAPTテーブル記憶部Aに記憶されているNAPTテーブルAの一例を示す。IPアドレスの変換は実施例1のNATテーブルと同様である。変換前のポート番号はネットワーク機器10がパケットの宛先に設定するポート番号(CCAA)であり、変換後のポート番号は、入出力装置40にパケットを送信する際の宛先のポート番号(XXAA)である。
【0142】
表5(b)はNAPTテーブル記憶部Bに記憶されているNAPTテーブルBの一例を示す。表5(b)では、表5(a)のクライアント端末Aがクライアント端末Bに変わっただけで同様の構造である。
【0143】
NAPT接続部Aは、ネットワークAのクライアント端末Aからネットワーク機器10のNIC_AのIPアドレス(165.96.10.200)とポート番号(CCAA)を宛先とするパケットが送信された場合、NAPTテーブルAを参照して宛先のIPアドレスを入出力装置40のIPアドレス(165.96.20.01)に変換する。また、パケットの宛先のポート番号(CCAA)を、入出力装置40のポート番号であるポート番号(XXAA)に変換する。
【0144】
ネットワークCの入出力装置40はクライアント端末AのIPアドレス(165.96.10.01)とポート番号(AAAA)を宛先にして、入出力装置40のIPアドレス(165.96.20.01)とポート番号(XXAA)を送信元とするパケットを送信する(応答する)。NAPT接続部Aは、送信元のIPアドレス(165.96.20.01)をネットワーク機器10のNIC_AのIPアドレス(192.168.10.200)に変換し、送信元のポート番号をネットワーク機器10のNIC_Aのポート番号(CCAA)に変換する。NAPT接続部Bは、NAPTテーブルBを参照して処理するが、処理の手順はNAPT接続部Aと同様である。
【0145】
<動作手順>
図14は、ネットワークAのクライアント端末Aが入出力装置40との通信を行うシーケンス図の一例である。なお、本実施例ではクライアント端末Bが入出力装置40との通信を行う処理はクライアント端末Aと同様でよいため図14には示されていない。また、全体的な手順は図7のクライアント端末Bの通信と同様であるため、主に相違点を説明する。
【0146】
S7:図7のステップS27に相当する。NAPT変換テーブルでは、宛先のIPアドレスを入出力装置40のIPアドレス(165.96.20.11)に変換することが登録されているので、NAPT接続部Aはパケットの宛先IPアドレスを入出力装置40のIPアドレスに変換する。また、NAPT接続部Aは宛先のポート番号(CCAA)を入出力装置40のポート番号(XXAA)に変換する。送信元IPアドレスと送信元ポート番号はクライアント端末Aのままでよい。
送信元IPアドレス:165.96.10.01 宛先IPアドレス:165.96.20.01
送信元ポート番号:AAAA 宛先ポート番号:XXAA
S8:図7のステップS28に相当する。NAPT接続部Aは送受信部Cにパケットを転送する。
【0147】
S9:図7のステップS29に相当する。送受信部Cは入出力装置40にパケットを送信する。入出力装置40は宛先MACアドレスが自分宛なのでパケットを受信する。
送信元MACアドレス:XX:XX:XX:XX:XX:BI 宛先MACアドレス:XX:XX:XX:XX:XX:XX
送信元IPアドレス:165.96.10.01 宛先IPアドレス:165.96.20.01
送信元ポート番号:AAAA 宛先ポート番号:XXAA
S10:ステップS30に相当。入出力装置40はクライアント端末Aに応答するため、ネットワーク機器にパケットを送信する。宛先IPアドレスはステップS9の送信元IPアドレス:165.96.10.01である。入出力装置40は自分のIPアドレスとサブネットマスクの論理積、クライアント端末AのIPアドレスとサブネットマスクの論理積が異なるので、クライアント端末Aが同じネットワークにないと判断する。したがって、宛先のMACアドレスはデフォルトゲートウェイとなる。説明の便宜上、デフォルトゲートウェイはネットワーク機器のNIC_Cであるとする。したがって、宛先MACアドレスはNIC_CのMACアドレスでよい。また、宛先ポート番号はクライアント端末Aのポート番号:AAAAである。
送信元MACアドレス:XX:XX:XX:XX:XX:XX 宛先MACアドレス:XX:XX:XX:XX:XX:CI
送信元IPアドレス:165.96.20.01 宛先IPアドレス:165.96.10.01
送信元ポート番号:XXAA 宛先ポート番号:AAAA
S11:ステップS31に相当。ネットワーク機器10の送受信部Cはパケットを受信する。送受信部Cはパケットを受信したことを経路制御部25に通知する。
【0148】
S12:ステップS32に相当。経路制御部25はNIC_Cでパケットを受信したことを検出し、通信経路制御情報を参照する。
【0149】
S13:ステップS32に相当。通信経路制御情報では、宛先のポート番号に応じてネットワークAにブリッジ転送するかネットワークBにNAT転送するかが登録されている。宛先のポート番号がAAAA又は送信元のポート番号がXXAAの場合、ネットワークAとNAPT接続するので、経路制御部25はネットワークAにNAPT転送すると判断する。
【0150】
S14:ステップS34に相当。経路制御部25は、NAPT接続部Aにパケットを転送する。
【0151】
S15:ステップS35に相当。NAPT接続部AはNATテーブルAを参照する。
【0152】
S16:ステップS36に相当。NAPTテーブルAによれば、入出力装置40のIPアドレスとネットワーク機器10のIPアドレスが対応付けられているので、NAPT接続部Aはパケットの送信元IPアドレスをネットワーク機器10のIPアドレスに変換する。また、NAPTテーブルAによればネットワーク機器10のポート番号CCAAと入出力装置40のポート番号XXAAが対応付けられているので、NAPT接続部Aはパケットの送信元ポート番号をネットワーク機器10のCCAAに変換する。
送信元IPアドレス:165.96.10.200 宛先IPアドレス:165.96.10.01
送信元ポート番号:CCAA 宛先ポート番号:AAAA
S17:ステップS37に相当。また、NAPT接続部Aは宛先MACアドレスをクライアント端末AのMACアドレスに変換する。
【0153】
S18:ステップS38に相当。NAPT接続部AはNIC_Aを制御する送受信部Aにパケットを転送する。
【0154】
S19:ステップS39に相当。送受信部AはパケットをネットワークAのクライアント端末Aに送信する。
送信元MACアドレス:XX:XX:XX:XX:XX:AI 宛先MACアドレス:XX:XX:XX:XX:XX:AA
送信元IPアドレス:165.96.10.200 宛先IPアドレス:165.96.10.01
送信元ポート番号:CCAA 宛先ポート番号:AAAA
以上のようにして、ネットワーク機器はネットワークA及びBからのパケットを入出力装置40に送信でき、入出力装置40からのパケットをネットワークA及びBに転送できる。
【0155】
図14はネットワークAにデフォルトゲートウェイがない場合のシーケンス図であるが、ネットワークAにデフォルトゲートウェイがある場合も図14と同様でよい。本実施例ではNIC_Cがデフォルトゲートウェイなので、ネットワークAにデフォルトゲートウェイがある場合NIC_CからネットワークAにパケットを送信できるためである。
【0156】
<その他の適用例>
<<ハードウェアスイッチとしてのネットワーク機器10>>
本実施例で説明した図3のネットワーク機器10はOpenFlowスイッチ61をソフトウェアで実現する場合のハードウェア構造であるが、ネットワーク機器10をハード的なOpenFlowスイッチ61として実現してもよい。
【0157】
図15はネットワーク機器10の構造を説明する図の一例である。図15(a)は比較のために示したL3スイッチのハードウェア構造であり、図15(b)はネットワーク機器10のハードウェア構造である。図15(a)に示すように、L3スイッチはコントロールプレーン73、データプレーン74及びバックプレーン75を有する。コントロールプレーン73は、転送処理を行うために必要な情報を管理しネットワーク機器10の全体を制御する。データプレーン74は、レイヤ2とレイヤ3の転送処理を担当し、各通信プロトコルに対応してヘッダ情報などから適切な物理ポートを決定する。バックプレーン75は、スイッチの内部でパケットを高速に運ぶための仕組みを提供する。
【0158】
OpenFlowでは、コントロールプレーンがOpenFlowコントローラ62に相当し、データプレーン74とバックプレーン75がOpenFlowスイッチ61に相当する。
【0159】
図15(b)に示すようにデータプレーン74は主にASIC74a及びTCAM74b(Ternary Content Addressable Memory)を有する。TCAM74bは連想記憶メモリなどと呼ばれ、高速な検索が可能な記憶素子である。TCAM74bにはOpenFlowの条件が記述されており、ASIC74aは条件に合致するアクション(転送)を行う。いずれもハードウェアであるため高速な処理が可能である。
【0160】
バックプレーンは主に例えばクロスバースイッチ75Aと複数のNIC507を有する。クロスバースイッチ75Aは複数のバスが網目状に構築されたバスであり、編目の交点が機械的なスイッチにより断接されることで1つのパスを形成する。パスの本数と同じ数のデータを同時に送受信できるため、高速な転送が可能である。なお、バックプレーン75の方式はバス方式や共有メモリ方式などでもよい。
【0161】
このように本実施形態のネットワーク機器10はハードウェアスイッチとしても実現可能である。
【0162】
<<入出力装置40にネットワーク機器10が組み込まれる場合>>
本実施形態では、入出力装置40とネットワーク機器10とを別体の装置として説明したが、入出力装置40とネットワーク機器10は一体でもよい。
【0163】
図16は、ネットワーク機器10を有する入出力装置40を示す。入出力装置40が有するネットワーク機器10はNIC_AとNIC_Bのインタフェースを外部に開放し、ネットワークA及びネットワークBと接続されている。また。NIC_Cはネットワーク機器10が本来有するNIC_Xと接続される。したがって、入出力装置40がネットワーク機器10を有していても、ネットワーク機器10は本実施形態と同様の処理が可能である。
【0164】
<<NAPTテーブルの有効期限>>
NAPTテーブルには有効期限が設定可能でもよい。
【0165】
【表6】
表6は実施例2のNAPTテーブルに対し有効期限が設定されたNAPTテーブルを示す。有効期限が適切に設定されていれば、古いエントリ(NAPTテーブルの一行分)が消去される(又は有効でなくなる)ので、ネットワーク機器10に接続するクライアント端末の数が増加しエントリ最大数を超えた際でも通信できるようになる。
【0166】
また、有効期限が設定されていない場合、ネットワーク機器10はNAPTテーブルのエントリが最大数を超えた際に過去のエントリから削除してもよい。接続するクライアント端末が増加しエントリ最大数を超えた際でも通信できるようになる。
【0167】
<<その他>>
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【0168】
例えば、実施例1では通常のNATと逆向きのNAT変換が行われたが、通常のNAT変換と同じ変換が行われてもよい。実施例2では通常のNAPTと逆向きのNAPT変換が行われたが、通常のNAPT変換と同じ変換が行われてもよい。
【0169】
例えば、図5,13などの構成例は、ネットワーク機器10による処理の理解を容易にするために、主な機能に応じて分割したものである。処理単位の分割の仕方や名称によって本願発明が制限されることはない。ネットワーク機器10の処理は、処理内容に応じて更に多くの処理単位に分割することもできる。また、1つの処理単位が更に多くの処理を含むように分割することもできる。
【0170】
なお、送受信部Cは第一の通信手段の一例であり、送受信部Aは第二の通信手段の一例であり、送受信部Bは第三の通信手段の一例であり、経路制御部25は送信先判断手段の一例であり、ネットワークCは第一のネットワークの一例であり、ネットワークAは第二のネットワークの一例であり、ネットワークBは第三のネットワークの一例であり、NIC_Cは第一のネットワークインタフェースの一例であり、NIC_Aは第二のネットワークインタフェースの一例であり、NIC_Bは第三のネットワークインタフェースの一例であり、ブリッジ接続部24はブリッジ接続手段の一例であり、NAT接続部26はNAT変換手段の一例である。第一のNAPT変換手段はNAPT接続部27の一例であり、第二のNAPT変換手段はNAPT接続部28の一例である。クライアント端末Aは第一の機器の一例であり、クライアント端末Bは第二の機器の一例である。TCAM74bは記憶手段の一例であり、ASIC74aは制御手段の一例である。
【符号の説明】
【0171】
10 ネットワーク機器
21~23 送受信部
24 ブリッジ接続部
25 経路制御部
26 NAT接続部
27、28 NAPT接続部
30 クライアント端末
31 通信経路制御情報記憶部
32 NATテーブル記憶部
33、34 NAPTテーブル記憶部
40 :入出力装置
【先行技術文献】
【特許文献】
【0172】
【文献】特開2005‐229332号公報
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16