(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024141420
(43)【公開日】2024-10-10
(54)【発明の名称】通信システムおよびプログラム
(51)【国際特許分類】
H04L 12/66 20060101AFI20241003BHJP
H04L 45/74 20220101ALI20241003BHJP
H04L 61/4511 20220101ALI20241003BHJP
【FI】
H04L12/66
H04L45/74
H04L61/4511
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023053053
(22)【出願日】2023-03-29
(71)【出願人】
【識別番号】000005496
【氏名又は名称】富士フイルムビジネスイノベーション株式会社
(74)【代理人】
【識別番号】100104880
【弁理士】
【氏名又は名称】古部 次郎
(74)【代理人】
【識別番号】100125346
【弁理士】
【氏名又は名称】尾形 文雄
(72)【発明者】
【氏名】杉井 政登
(72)【発明者】
【氏名】渡邉 哲次
(72)【発明者】
【氏名】星野 治久
(72)【発明者】
【氏名】野中 広茂
【テーマコード(参考)】
5K030
【Fターム(参考)】
5K030HD03
5K030HD09
5K030LB05
(57)【要約】
【課題】複数のネットワークに接続された情報処理装置において、通信先への通信経路を特定することが可能な通信システムを提供する。
【解決手段】複数のネットワークに接続するための複数の通信インターフェイスを有する情報処理装置100の通信システムであって、情報処理装置100は、接続可能な複数のネットワークA200、B300の各々におけるルータ210、310を経由して到達可能なネットワークのネットワーク番号と、ルータ210、310に接続するために用いられる通信インターフェイスと、を対応付けた対応情報に基づき、複数の通信インターフェイスのうち、通信先アドレスのネットワーク番号と一致するネットワーク番号を有するネットワークへの接続に使用する通信インターフェイスを決定し、決定した通信インターフェイスを用いて通信先に接続する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
複数のネットワークに接続するための複数の通信インターフェイスを有する情報処理装置の通信システムであって、
1または複数のプロセッサを備え、
前記プロセッサは、
接続可能な前記複数のネットワークの各々におけるゲートウェイを経由して到達可能なネットワークのネットワーク番号と、当該ゲートウェイに接続するために用いられる通信インターフェイスと、を対応付けた対応情報に基づき、前記複数の通信インターフェイスのうち、通信先アドレスのネットワーク番号と一致するネットワーク番号を有するネットワークへの接続に使用する通信インターフェイスを決定し、
決定した前記通信インターフェイスを用いて通信先に接続すること
を特徴とする、通信システム。
【請求項2】
前記プロセッサは、
前記複数の通信インターフェイスを用いて接続可能な前記複数のネットワークの各々に関して、当該ネットワーク上のゲートウェイから経路情報を取得し、
取得した前記経路情報から得られる前記ゲートウェイを経由して到達可能なネットワークのネットワーク番号と、当該ゲートウェイに接続するために用いた通信インターフェイスとを対応付けた対応情報を記憶装置に格納し、
前記記憶装置に格納された前記対応情報に基づき、通信先アドレスのネットワーク番号と一致するネットワーク番号を有するネットワークに接続するための前記通信インターフェイスを決定すること
を特徴とする、請求項1に記載の通信システム。
【請求項3】
前記プロセッサは、前記通信先アドレスへの通信の有無とは別に予め定められた取得条件に従って、前記経路情報を取得することを特徴とする、請求項2に記載の通信システム。
【請求項4】
前記プロセッサは、
送信先がホスト名で指定される場合、自装置が接続可能なDNSサーバに名前解決を依頼し、
名前解決の結果得られた送信先アドレスのネットワーク番号を抽出し、当該ネットワーク番号と一致するネットワーク番号を有するネットワークへの接続に使用する通信インターフェイスを決定すること
を特徴とする、請求項1に記載の通信システム。
【請求項5】
前記複数の通信インターフェイスを用いて接続可能なDNSサーバのアドレスと、前記複数の通信インターフェイスのうち当該DNSサーバに接続するために使用可能な通信インターフェイスとを対応付けたDNS情報を前記情報処理装置の記憶装置に保持し、
前記プロセッサは、前記DNS情報を用いて、前記DNSサーバに接続する前記通信インターフェイスを決定し、当該通信インターフェイスを用いて当該DNSサーバに名前解決を依頼することを特徴とする、請求項4に記載の通信システム。
【請求項6】
前記プロセッサは、前記複数の通信インターフェイスの各々が接続するネットワークの何れかのネットワーク番号と、通信先アドレスのネットワーク番号とが一致する場合、前記対応情報に関わらず、ネットワーク番号が一致したネットワークに接続する通信インターフェイスを用いて通信先に接続することを特徴とする、請求項1乃至請求項5の何れかに記載の通信システム。
【請求項7】
前記プロセッサは、前記複数の通信インターフェイスの各々が接続するネットワークにおける自装置のアドレスと、当該ネットワークに関するサブネットマスクとに基づき、当該ネットワークのネットワーク番号を取得することを特徴とする、請求項6に記載の通信システム。
【請求項8】
複数のネットワークに接続可能なコンピュータを制御するプログラムであって、
前記コンピュータに、
接続可能な前記複数のネットワークの各々に関して、当該ネットワーク上のゲートウェイから経路情報を取得する機能と、
取得した前記経路情報から得られる前記ゲートウェイを経由して到達可能なネットワークのネットワーク番号と、当該ゲートウェイに接続するために用いた通信インターフェイスとを対応付けた対応情報を記憶装置に格納する機能と、
通信先アドレスのネットワーク番号と、前記記憶装置に格納されている前記対応情報とに基づき、使用する通信インターフェイスを決定する機能と、
決定した前記通信インターフェイスを用いて通信先に接続する機能と、
を実現させることを特徴とする、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信システムおよびプログラムに関する。
【背景技術】
【0002】
ネットワークを介して外部装置と通信を行う情報処理装置において、複数のネットワークアダプタを備え、それぞれ相異なるネットワークに接続される構成が採られる場合がある。このような構成において、特定の通信先に接続するために何れのネットワークを介して接続すれば良いかが不明である場合に、ネットワーク上のDNS(Domain Name System)サーバによる名前解決の結果を用いて通信先を特定する従来技術がある。
【0003】
特許文献1には、複数のIPネットワークのうち、アクセスすべきIPネットワークの情報を取得し、取得されたIPネットワークに対応するDNSサーバへ名前解決の要求を送信し、取得されたIPネットワークに対応しないDNSサーバへは名前解決の要求を送信しないように制御することにより、他の通信装置にアクセスするための名前解決をよりセキュアに実行する通信システムが開示されている。
【0004】
特許文献2には、ホスト名の名前解決を外部に依頼し、依頼したホスト名の名前解決が成功した場合に、名前解決に成功したDNSサーバが対応付けられている通信インタフェースを特定し、特定された通信インタフェース経由で名前解決の結果得られたIPアドレスで特定される外部装置と通信を行うための経路情報をルーティングテーブルに登録する通信システムが開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2021-118437号公報
【特許文献2】特開2021-197687号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
特定のネットワークの特定の通信先に対してのみデータを送信する場合、通信先への正確な通信経路を特定することが必要となるが、ネットワークの構成によっては、DNSサーバによる名前解決の結果だけでは、通信先への通信経路を特定することができない場合があった。
【0007】
本発明は、複数のネットワークに接続された情報処理装置において、DNSサーバによる名前解決の結果を用いて通信先を特定する手法と比較して、通信先への通信経路を特定することが可能な通信システムを提供することを目的とする。
【課題を解決するための手段】
【0008】
請求項1に係る本発明は、
複数のネットワークに接続するための複数の通信インターフェイスを有する情報処理装置の通信システムであって、
1または複数のプロセッサを備え、
前記プロセッサは、
接続可能な前記複数のネットワークの各々におけるゲートウェイを経由して到達可能なネットワークのネットワーク番号と、当該ゲートウェイに接続するために用いられる通信インターフェイスと、を対応付けた対応情報に基づき、前記複数の通信インターフェイスのうち、通信先アドレスのネットワーク番号と一致するネットワーク番号を有するネットワークへの接続に使用する通信インターフェイスを決定し、
決定した前記通信インターフェイスを用いて通信先に接続すること
を特徴とする、通信システムである。
請求項2に係る本発明は、
前記プロセッサは、
前記複数の通信インターフェイスを用いて接続可能な前記複数のネットワークの各々に関して、当該ネットワーク上のゲートウェイから経路情報を取得し、
取得した前記経路情報から得られる前記ゲートウェイを経由して到達可能なネットワークのネットワーク番号と、当該ゲートウェイに接続するために用いた通信インターフェイスとを対応付けた対応情報を記憶装置に格納し、
前記記憶装置に格納された前記対応情報に基づき、通信先アドレスのネットワーク番号と一致するネットワーク番号を有するネットワークに接続するための前記通信インターフェイスを決定すること
を特徴とする、請求項1に記載の通信システムである。
請求項3に係る本発明は、
前記プロセッサは、
前記通信先アドレスへの通信の有無とは別に予め定められた取得条件に従って、前記経路情報を取得することを特徴とする、請求項2に記載の通信システムである。
請求項4に係る本発明は、
前記プロセッサは、
送信先がホスト名で指定される場合、自装置が接続可能なDNSサーバに名前解決を依頼し、
名前解決の結果得られた送信先アドレスのネットワーク番号を抽出し、当該ネットワーク番号と一致するネットワーク番号を有するネットワークへの接続に使用する通信インターフェイスを決定すること
を特徴とする、請求項1に記載の通信システムである。
請求項5に係る本発明は、
前記複数の通信インターフェイスを用いて接続可能なDNSサーバのアドレスと、前記複数の通信インターフェイスのうち当該DNSサーバに接続するために使用可能な通信インターフェイスとを対応付けたDNS情報を前記情報処理装置の記憶装置に保持し、
前記プロセッサは、前記DNS情報を用いて、前記DNSサーバに接続する前記通信インターフェイスを決定し、当該通信インターフェイスを用いて当該DNSサーバに名前解決を依頼することを特徴とする、請求項4に記載の通信システムである。
請求項6に係る本発明は、
前記プロセッサは、前記複数の通信インターフェイスの各々が接続するネットワークの何れかのネットワーク番号と、通信先アドレスのネットワーク番号とが一致する場合、前記対応情報に関わらず、ネットワーク番号が一致したネットワークに接続する通信インターフェイスを用いて通信先に接続することを特徴とする、請求項1乃至請求項5の何れかに記載の通信システムである。
請求項7に係る本発明は、
前記プロセッサは、前記複数の通信インターフェイスの各々が接続するネットワークにおける自装置のアドレスと、当該ネットワークに関するサブネットマスクとに基づき、当該ネットワークのネットワーク番号を取得することを特徴とする、請求項6に記載の通信システムである。
請求項8に係る本発明は、
複数のネットワークに接続可能なコンピュータを制御するプログラムであって、
前記コンピュータに、
接続可能な前記複数のネットワークの各々に関して、当該ネットワーク上のゲートウェイから経路情報を取得する機能と、
取得した前記経路情報から得られる前記ゲートウェイを経由して到達可能なネットワークのネットワーク番号と、当該ゲートウェイに接続するために用いた通信インターフェイスとを対応付けた対応情報を記憶装置に格納する機能と、
通信先アドレスのネットワーク番号と、前記記憶装置に格納されている前記対応情報とに基づき、使用する通信インターフェイスを決定する機能と、
決定した前記通信インターフェイスを用いて通信先に接続する機能と、
を実現させることを特徴とする、プログラムである。
【発明の効果】
【0009】
請求項1の発明によれば、複数のネットワークに接続された情報処理装置において、DNSサーバによる名前解決の結果を用いて通信先を特定する手法と比較して、通信先への通信経路を特定することが可能な通信システムを実現することができる。
請求項2の発明によれば、ネットワーク上の公開された情報から通信先への通信経路を特定するために用いられる情報を取得することができる。
請求項3の発明によれば、事前に通信経路を特定するための情報を取得するため、通信時に通信経路を探索する構成と比較して、使用する通信インターフェイスを決定するのに要する時間が短縮される。
請求項4の発明によれば、通信先を特定する情報としてアドレスのみを用いる構成と比較して、ホスト名による指定に対応することができる。
請求項5の発明によれば、複数のネットワーク上に複数のDNSサーバがある場合であっても、通信インターフェイスを選択してDNSサーバに接続することができる。
請求項6の発明によれば、ゲートウェイが存在しないネットワークに対しても接続することができる。
請求項7の発明によれば、自装置における既知の情報に基づいて接続先のネットワークのネットワーク番号を取得することができる。
請求項8の発明によれば、複数のネットワークに接続され、本発明のプログラムをインストールした情報処理装置において、DNSサーバによる名前解決の結果を用いて通信先を特定する手法と比較して、通信先への通信経路を特定することが可能な通信システムを実現することができる。
【図面の簡単な説明】
【0010】
【
図1】本実施形態が適用される情報処理装置を含むネットワーク環境の構成例を示す図である。
【
図3】文書処理システムのハードウェア構成例を示す図である。
【
図7】通信において使用する通信インターフェイスの決定方法を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下、添付図面を参照して、本発明の実施形態について詳細に説明する。
<システム構成>
図1は、本実施形態が適用される情報処理装置を含むネットワーク環境の構成例を示す図である。情報処理装置100は、複数の通信インターフェイス(I/F A、I/F B)を備え、複数のネットワークに接続されている。
図1に示す例では、情報処理装置100は、二つのネットワーク(ネットワークA、ネットワークB)に接続されている。情報処理装置100は、ネットワークに接続して他の情報機器とデータ交換を行うことが可能な装置であれば、具体的な機器の種類は限定されない。例えば、パーソナルコンピュータの他、ネットワークに接続するための通信機能を備えた画像処理装置なども情報処理装置100として用い得る。
【0012】
ネットワークA200には、ルータ210と、端末装置220とが接続されている。ネットワークB300には、ルータ310と、端末装置320と、DNSサーバ330とが接続されている。また、ネットワークB300には、ルータ310を介してネットワークC400が接続されている。ネットワークC400には、端末装置410が接続されている。情報処理装置100は、ネットワークB300のルータ310を介してネットワークC400にも接続することができる。なお、ネットワークA200、B300、C400として、IP(Internet Protocol)ネットワークを想定する。
【0013】
図1において、ネットワークA200には一つの端末装置220が接続され、ネットワークB300には一つの端末装置320が接続され、ネットワークC400には一つの端末装置410が接続されている様子が示されているが、これはネットワークA200、B300、C400の構成を模式的に示したものである。実際には、各ネットワークA200、B300、C400には、複数の端末装置を接続することができる。
【0014】
<情報処理装置100の構成>
図2は、情報処理装置100の構成を示す図である。情報処理装置100は、処理部110と、通信制御部120と、第1通信インターフェイス130と、第2通信インターフェイス140と、記憶部150とを備える。
【0015】
処理部110は、演算処理や制御等の各種の処理を実行する。処理部110が実行する処理の種類は、情報処理装置100の種類や情報処理装置100において実行されるプログラム等に応じて様々であり、特に限定されない。例えば、情報処理装置100として画像処理装置が用いられる場合、画像読み取り処理、画像変換処理、画像形成処理、情報処理装置100の各機能の制御等が実行される。また、処理部110が実行する処理には、外部装置にデータを送信する処理や外部装置からデータを受信する処理が含まれる。
【0016】
通信制御部120は、情報処理装置100と外部装置との間でデータ交換が行われる場合に、データの送受信の制御を行う。また、通信制御部120は、データの送受信における通信先に応じて、使用する通信インターフェイス(ここでは、第1通信インターフェイス130および第2通信インターフェイス140のどちらか)を決定する。使用する通信インターフェイスの決定方法については後述する。
【0017】
第1通信インターフェイス130は、ネットワークA200に接続するためのインターフェイスである。第1通信インターフェイス130は、ネットワークA200におけるアドレス(IPアドレス)を有している。第2通信インターフェイス140は、ネットワークB300に接続するためのインターフェイスである。第2通信インターフェイス140は、ネットワークB300におけるアドレス(IPアドレス)を有している。第1通信インターフェイス130と第2通信インターフェイス140とは、個別のネットワークカードおよびコネクタにより実現しても良い。
【0018】
記憶部150は、処理部110による処理に用いられるデータや処理結果を保持する。また、記憶部150は、通信制御部120による通信制御に用いられる情報を保持する。通信制御に用いられる情報としては、第1通信インターフェイス130および第2通信インターフェイス140の情報であるインターフェイス情報151、ネットワークにおける経路情報であるルーティングテーブル152、ネットワーク上のDNSサーバに関する情報であるDNS情報153等がある。
【0019】
<ハードウェア構成>
図3は、情報処理装置100のハードウェア構成例を示す図である。情報処理装置100は、例えば
図3に示すようなコンピュータにより実現される。
図3に示すコンピュータは、演算手段である1または複数のプロセッサ101と、記憶手段である主記憶装置(メイン・メモリ)102および補助記憶装置103とを備える。プロセッサ101は、補助記憶装置103に格納されたプログラムを主記憶装置102に読み込んで実行することにより、情報処理装置100の各機能を実現する。プロセッサ101としては、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)、DSP(Digital Signal Processor)等が用いられる。主記憶装置102としては、例えばRAM(Random Access Memory)が用いられる。補助記憶装置103としては、例えば磁気ディスク装置やSSD(Solid State Drive)等が用いられる。
【0020】
また、コンピュータは、表示装置に表示を行うための表示機構104と、コンピュータの操作者による入力操作が行われる入力デバイス105とを備える。入力デバイス105としては、例えばキーボードやマウス等が用いられる。また、コンピュータは、
図2を参照して説明したように、ネットワークに接続するための第1通信インターフェイス130と第2通信インターフェイス140とを備える。なお、
図3に示すコンピュータの構成は一例に過ぎず、本実施形態で用いられるコンピュータは
図2の構成例に限定されるものではない。例えば、記憶装置としてフラッシュ・メモリ等の不揮発性メモリやROM(Read Only Memory)を備える構成としても良い。
【0021】
図2に示した情報処理装置100を
図3に示すコンピュータで構成する場合、処理部110および通信制御部120の各機能は、例えば、プロセッサ101がプログラムを実行することにより実現される。記憶部150は、例えば、主記憶装置102や補助記憶装置103により実現される。
【0022】
<通信制御に用いられる情報>
情報処理装置100の記憶部150には、通信制御に用いられる情報として、インターフェイス情報151、ルーティングテーブル152、DNS情報153等が保持されることを述べた。以下、これらの情報について説明する。
【0023】
図4は、インターフェイス情報151の例を示す図である。インターフェイス情報151には、第1通信インターフェイス130および第2通信インターフェイス140の各々に関して、通信インターフェイスの識別情報(図では、「I/F」と記載)、IPアドレス、サブネットマスク(Subnet mask)、ネットワーク番号の各項目の情報が登録されて管理されている。
図4において、識別情報(I/F)のAが第1通信インターフェイス130であり、Bが第2通信インターフェイス140である。
【0024】
IPアドレスの項目には、各通信インターフェイス130、140がそれぞれ接続されているネットワークにおける各通信インターフェイス130、140のIPアドレスが登録されている。
図4に示す例では、第1通信インターフェイス130のIPアドレスが192.168.0.10であり、第2通信インターフェイス140のIPアドレスが172.27.94.154である。
【0025】
サブネットマスクの項目には、第1通信インターフェイス130および第2通信インターフェイス140にそれぞれ設定されているサブネットマスクが登録されている。
図4に示す例では、第1通信インターフェイス130および第2通信インターフェイス140のどちらも、サブネットマスクは255.255.255.0である。
【0026】
ネットワーク番号には、第1通信インターフェイス130が接続されているネットワークA200および第2通信インターフェイス140が接続されているネットワークB300のネットワーク番号が登録されている。ネットワーク番号は、IPアドレスの値にサブネットマスクの値を掛け算することで得られる。
図4に示す例では、ネットワークA200のネットワーク番号が192.168.0.0であり、ネットワークB300のネットワーク番号が172.27.94.0である。
【0027】
図5は、ルーティングテーブル152の例を示す図である。ルーティングテーブル152には、第1通信インターフェイス130および第2通信インターフェイス140から接続可能な各ネットワークに関して、ネットワーク番号、サブネットマスク(Subnet mask)、通信インターフェイスの識別情報(図では、「I/F」と記載)、ゲートウェイの各情報が登録されて管理されている。ルーティングテーブル152の情報は、ネットワーク上のルータ間で相互にやり取りされている情報であり、ルーティングプロトコルを用いて各ネットワークのルータから取得することができる。ルーティングプロトコルによる情報の取得は、通信先のアドレスへの通信とは別に、予め定められた、定期的にルータに問い合わせる等の取得条件に基づいて行われる。
【0028】
ネットワーク番号の項目には、第1通信インターフェイス130および第2通信インターフェイス140により到達可能なネットワークのネットワーク番号が登録されている。
図5に示す例では、192.168.0.0と、172.27.94.0と、172.27.99.0の三つのネットワーク番号が登録されている。なお、図示の例において、ネットワーク番号172.27.99.0のネットワークは、ネットワークB300のルータ310に接続されるネットワークC400のネットワーク番号である。
【0029】
サブネットマスクの項目には、ネットワークA200、ネットワークB300およびネットワークC400にそれぞれ設定されているサブネットマスクが登録されている。
図5に示す例では、何れのネットワークも、サブネットマスクは255.255.255.0である。
【0030】
識別情報(I/F)の項目には、ルーティングテーブル152の情報を取得する際に各ネットワーク番号のネットワークに接続するのに用いた通信インターフェイスの識別情報が登録されている。
図5に示す例では、ネットワーク番号192.168.0.0のネットワークに接続するのに用いた通信インターフェイスは、識別情報がAなので、第1通信インターフェイス130である。ネットワーク番号172.27.94.0のネットワークに接続するのに用いた通信インターフェイスは、識別情報がBなので、第2通信インターフェイス140である。ネットワーク番号172.27.99.0のネットワークに接続するのに用いた通信インターフェイスは、識別情報がBなので、第2通信インターフェイス140である。
【0031】
ゲートウェイの項目には、各ネットワーク番号のネットワークに接続する際に経由したゲートウェイの識別情報が登録されている。ここでは、各ネットワークのルータがゲートウェイに該当する。また、
図5において、ネットワークA200のルータ210が「Router A」と記載され、ネットワークB300のルータ310が「Router B」と記載されている。よって、
図5に示す例では、ネットワーク番号192.168.0.0のネットワークに接続するのに経由したルータは、ルータ210である。また、ネットワーク番号172.27.94.0のネットワークに接続するのに経由したルータは、ルータ310である。また、ネットワーク番号172.27.99.0のネットワークに接続するのに経由したルータは、ルータ310である。
【0032】
図6は、DNS情報153の例を示す図である。DNS情報153には、情報処理装置100が接続可能なDNSサーバに関して、DNSアドレス、通信インターフェイスの識別情報(図では、「I/F」と記載)の各情報が登録されて管理されている。DNSサーバの情報は、予めユーザによりDNS情報153に登録される。
図1に示したネットワーク環境では、情報処理装置100から接続可能なDNSサーバは、ネットワークB300のDNSサーバ330のみであるので、
図6にはDNSサーバ330の情報が登録されている。
【0033】
DNSアドレスの項目には、DNSサーバのIPアドレスが登録されている。
図6に示す例では、ネットワークB300のDNSサーバ330のIPアドレス172.27.94.10が登録されている。
【0034】
識別情報(I/F)の項目には、DNSサーバに接続するのに用いた通信インターフェイスの識別情報が登録されている。
図6に示す例では、ネットワークB300のDNSサーバ330に接続するのに用いた通信インターフェイスは、識別情報がBなので、第2通信インターフェイス140である。
【0035】
<使用する通信インターフェイスの決定方法>
次に、情報処理装置100が外部装置と接続する際に使用する通信インターフェイスの決定方法について説明する。
図1に示したネットワーク環境からわかるように、情報処理装置100は、接続先のネットワークに応じて、第1通信インターフェイス130および第2通信インターフェイス140のうちどちらを使用するかを決定する。使用する通信インターフェイスの決定には、
図4乃至
図6に示した各種の情報が用いられる。
【0036】
図7は、通信において使用する通信インターフェイスの決定方法を示すフローチャートである。情報処理装置100は、外部装置と通信を行う際、まず通信先のアドレスを取得する(S701)。通信先アドレスは、ユーザによる入力操作を受け付けて取得しても良いし、アプリケーション・プログラム等の機能により取得しても良い。
【0037】
情報処理装置100の通信制御部120は、取得した通信先アドレスのネットワーク番号を算出する(S702)。通信先アドレスのネットワーク番号は、S701で取得された通信先アドレスの値に予め設定されているサブネットマスクの値を掛け算することにより求まる。
【0038】
次に、通信制御部120は、第1通信インターフェイス130および第2通信インターフェイス140のネットワーク番号を検索する(S703)。各通信インターフェイス130、140のネットワーク番号は、例えば、
図4を参照して説明したインターフェイス情報151から読み出される。
図4に示した例では、第1通信インターフェイス130のネットワーク番号が192.168.0.0であり、第2通信インターフェイス140のネットワーク番号が172.27.94.0である。
【0039】
次に、通信制御部120は、S703で検出された第1通信インターフェイス130および第2通信インターフェイス140のネットワーク番号が、通信先アドレスから算出されたネットワーク番号と一致するか否かを判定する。ネットワーク番号が通信先アドレスと一致する通信インターフェイスがある場合(S704でYES)、通信制御部120は、ネットワーク番号が通信先アドレスと一致した通信インターフェイスを、通信に使用する通信インターフェイスに決定する(S705)。
【0040】
ネットワーク番号が通信先アドレスと一致する通信インターフェイスがない場合(S704でNO)、次に通信制御部120は、ルーティングテーブル152を検索し(S706)、ルーティングテーブル152に登録されているルータのネットワーク番号が、通信先アドレスから算出されたネットワーク番号と一致するか否かを判定する。ネットワーク番号が通信先アドレスと一致するルータがある場合(S707でYES)、通信制御部120は、ネットワーク番号が通信先アドレスと一致したルータを有するネットワークに接続する通信インターフェイスを、通信に使用する通信インターフェイスに決定する(S708)。
【0041】
ネットワーク番号が通信先アドレスと一致するルータがない場合(S707でNO)、通信制御部120は、通信に使用する通信インターフェイスを決定できない。そこで、情報処理装置は、S701で取得した通信先アドレスへの通信ができないことをユーザに知らせるエラー通知を行って処理を終了する(S709)。
【0042】
以下、インターフェイス情報151、ルーティングテーブル152、DNS情報153に、
図4乃至
図6に例示した情報が登録されている場合を例として、
図7のフローチャートに基づき、使用する通信インターフェイスの決定例を説明する。ここでは、
図1に示したネットワークA200に接続されている端末装置220、ネットワークB300に接続されている端末装置320、ネットワークC400に接続されている端末装置410を通信先として、使用する通信インターフェイスを決定する。また、端末装置220のアドレスが192.168.0.13、端末装置320のアドレスが172.27.94.23、端末装置410のアドレスが172.27.99.33であるものとする。
【0043】
端末装置220との間で通信を行う場合、情報処理装置100は、まず、端末装置220のアドレス192.168.0.13を取得する(S701)。次に、情報処理装置100の通信制御部120が、サブネットマスク255.255.255.0を用いて、端末装置220が接続されているネットワークのネットワーク番号192.168.0.0を算出する(S702)。
【0044】
次に、通信制御部120が、第1通信インターフェイス130および第2通信インターフェイス140のネットワーク番号を検索する(S703)。
図4に示したインターフェイス情報151によれば、第1通信インターフェイス130のネットワーク番号192.168.0.0がS702で算出したネットワーク番号と一致している(S704でYES)。したがって、通信制御部120は、第1通信インターフェイス130を、端末装置220と通信するのに使用する通信インターフェイスに決定する(S705)。
【0045】
また、端末装置320との間で通信を行う場合、情報処理装置100は、まず、端末装置320のアドレス172.27.94.23を取得する(S701)。次に、情報処理装置100の通信制御部120が、サブネットマスク255.255.255.0を用いて、端末装置320が接続されているネットワークのネットワーク番号172.27.94.0を算出する(S702)。
【0046】
次に、通信制御部120が、第1通信インターフェイス130および第2通信インターフェイス140のネットワーク番号を検索する(S703)。
図4に示したインターフェイス情報151によれば、第2通信インターフェイス140のネットワーク番号172.27.94.0がS702で算出したネットワーク番号と一致している(S704でYES)。したがって、通信制御部120は、第2通信インターフェイス140を、端末装置320と通信するのに使用する通信インターフェイスに決定する(S705)。
【0047】
また、端末装置410との間で通信を行う場合、情報処理装置100は、まず、端末装置410のアドレス172.27.99.33を取得する(S701)。次に、情報処理装置100の通信制御部120が、サブネットマスク255.255.255.0を用いて、端末装置320が接続されているネットワークのネットワーク番号172.27.99.0を算出する(S702)。
【0048】
次に、通信制御部120が、第1通信インターフェイス130および第2通信インターフェイス140のネットワーク番号を検索する(S703)。しかし、第1通信インターフェイス130および第2通信インターフェイス140のいずれも、ネットワーク番号がS702で算出したネットワーク番号と一致しない(S704でNO)。したがって、通信制御部120は、次に、ルーティングテーブル152を検索する(S706)。
【0049】
図5に示したルーティングテーブル152によれば、S702で算出したネットワーク番号と一致するネットワーク番号172.27.99.0が登録されており(S707でYES)、このネットワーク番号を有するネットワークに接続するのに使用したゲートウェイは、ネットワークB300のルータ310である。したがって、通信制御部120は、ネットワークB300に接続する第2通信インターフェイス140を、端末装置320と通信するのに使用する通信インターフェイスに決定する(S708)。
【0050】
なお、通信先がアドレスではなくホスト名やドメイン名を含むFQDN(Fully Qualified Domain Name)で指定される場合、DNSによる名前解決を行う必要がある。この場合、通信制御部120は、第1通信インターフェイス130または第2通信インターフェイス140から接続可能なDNSサーバに接続し、名前解決を行う。名前解決とは、FQDNからIPアドレスへ変換する処理である。
図1に示したネットワーク環境では、情報処理装置100から接続可能なDNSサーバは、ネットワークB300のDNSサーバ330のみであり、このDNSサーバ330へ到達可能な通信インターフェイス(ここでは、第2通信インターフェイス140)の情報は、
図6に示したDNS情報153に登録されている。したがって、通信制御部120は、DNS情報153を参照してDNSサーバ330に接続し、名前解決を行って通信先のアドレスを取得する。
【0051】
以上、本発明の実施形態について説明したが、本発明の技術的範囲は上記実施形態には限定されない。例えば、上記の実施形態では、情報処理装置100は、第1通信インターフェイス130および第2通信インターフェイス140の二つの通信インターフェイスを有する構成としたが、情報処理装置100に設けられる通信インターフェイスは三つ以上であっても良い。その他、本発明の技術思想の範囲から逸脱しない様々な変更や構成の代替は、本発明に含まれる。
【0052】
<付記>
(((1)))
複数のネットワークに接続するための複数の通信インターフェイスを有する情報処理装置の通信システムであって、1または複数のプロセッサを備え、前記プロセッサは、接続可能な前記複数のネットワークの各々におけるゲートウェイを経由して到達可能なネットワークのネットワーク番号と、当該ゲートウェイに接続するために用いられる通信インターフェイスと、を対応付けた対応情報に基づき、前記複数の通信インターフェイスのうち、通信先アドレスのネットワーク番号と一致するネットワーク番号を有するネットワークへの接続に使用する通信インターフェイスを決定し、決定した前記通信インターフェイスを用いて通信先に接続することを特徴とする、通信システム。
(((2)))
前記プロセッサは、前記複数の通信インターフェイスを用いて接続可能な前記複数のネットワークの各々に関して、当該ネットワーク上のゲートウェイから経路情報を取得し、取得した前記経路情報から得られる前記ゲートウェイを経由して到達可能なネットワークのネットワーク番号と、当該ゲートウェイに接続するために用いた通信インターフェイスとを対応付けた対応情報を記憶装置に格納し、前記記憶装置に格納された前記対応情報に基づき、通信先アドレスのネットワーク番号と一致するネットワーク番号を有するネットワークに接続するための前記通信インターフェイスを決定することを特徴とする、(((1)))に記載の通信システム。
(((3)))
前記プロセッサは、前記通信先アドレスへの通信の有無とは別に予め定められた取得条件に従って、前記経路情報を取得することを特徴とする、(((2)))に記載の通信システム。
(((4)))
前記プロセッサは、送信先がホスト名で指定される場合、自装置が接続可能なDNSサーバに名前解決を依頼し、名前解決の結果得られた送信先アドレスのネットワーク番号を抽出し、当該ネットワーク番号と一致するネットワーク番号を有するネットワークへの接続に使用する通信インターフェイスを決定することを特徴とする、(((1)))~(((3)))のいずれかに記載の通信システム。
(((5)))
前記複数の通信インターフェイスを用いて接続可能なDNSサーバのアドレスと、前記複数の通信インターフェイスのうち当該DNSサーバに接続するために使用可能な通信インターフェイスとを対応付けたDNS情報を前記情報処理装置の記憶装置に保持し、前記プロセッサは、前記DNS情報を用いて、前記DNSサーバに接続する前記通信インターフェイスを決定し、当該通信インターフェイスを用いて当該DNSサーバに名前解決を依頼することを特徴とする、(((1)))~(((4)))のいずれかに記載の通信システム。
(((6)))
前記プロセッサは、前記複数の通信インターフェイスの各々が接続するネットワークの何れかのネットワーク番号と、通信先アドレスのネットワーク番号とが一致する場合、前記対応情報に関わらず、ネットワーク番号が一致したネットワークに接続する通信インターフェイスを用いて通信先に接続することを特徴とする、(((1)))~(((5)))のいずれかに記載の通信システム。
(((7)))
前記プロセッサは、前記複数の通信インターフェイスの各々が接続するネットワークにおける自装置のアドレスと、当該ネットワークに関するサブネットマスクとに基づき、当該ネットワークのネットワーク番号を取得することを特徴とする、(((1)))~(((6)))のいずれかに記載の通信システム。
(((8)))
複数のネットワークに接続可能なコンピュータを制御するプログラムであって、前記コンピュータに、接続可能な前記複数のネットワークの各々に関して、当該ネットワーク上のゲートウェイから経路情報を取得する機能と、取得した前記経路情報から得られる前記ゲートウェイを経由して到達可能なネットワークのネットワーク番号と、当該ゲートウェイに接続するために用いた通信インターフェイスとを対応付けた対応情報を記憶装置に格納する機能と、通信先アドレスのネットワーク番号と、前記記憶装置に格納されている前記対応情報とに基づき、使用する通信インターフェイスを決定する機能と、決定した前記通信インターフェイスを用いて通信先に接続する機能と、を実現させることを特徴とする、プログラム。
【0053】
(((1)))に係る通信システムによれば、複数のネットワークに接続された情報処理装置において、DNSサーバによる名前解決の結果を用いて通信先を特定する手法と比較して、通信先への通信経路を特定することが可能な通信システムを実現することができる。
(((2)))に係る通信システムによれば、ネットワーク上の公開された情報から通信先への通信経路を特定するために用いられる情報を取得することができる。
(((3)))に係る通信システムによれば、事前に通信経路を特定するための情報を取得するため、通信時に通信経路を探索する構成と比較して、使用する通信インターフェイスを決定するのに要する時間が短縮される。
(((4)))に係る通信システムによれば、通信先を特定する情報としてアドレスのみを用いる構成と比較して、ホスト名による指定に対応することができる。
(((5)))に係る通信システムによれば、複数のネットワーク上に複数のDNSサーバがある場合であっても、通信インターフェイスを選択してDNSサーバに接続することができる。
(((6)))に係る通信システムによれば、ゲートウェイが存在しないネットワークに対しても接続することができる。
(((7)))に係る通信システムによれば、自装置における既知の情報に基づいて接続先のネットワークのネットワーク番号を取得することができる。
(((8)))に係るプログラムによれば、複数のネットワークに接続され、本発明のプログラムをインストールした情報処理装置において、DNSサーバによる名前解決の結果を用いて通信先を特定する手法と比較して、通信先への通信経路を特定することが可能な通信システムを実現することができる。
【符号の説明】
【0054】
100…情報処理装置、110…処理部、120…通信制御部、130…第1通信インターフェイス、140…第2通信インターフェイス、150…記憶部、151…インターフェイス情報、152…ルーティングテーブル、153…DNS情報、200…ネットワークA、210…ルータ、220…端末装置、300…ネットワークB、310…ルータ、320…端末装置、330…DNSサーバ、400…ネットワークC、410…端末装置