JP2010187070A - 情報処理装置、情報処理方法、プログラムおよび情報処理システム - Google Patents

情報処理装置、情報処理方法、プログラムおよび情報処理システム Download PDF

Info

Publication number
JP2010187070A
JP2010187070A JP2009028335A JP2009028335A JP2010187070A JP 2010187070 A JP2010187070 A JP 2010187070A JP 2009028335 A JP2009028335 A JP 2009028335A JP 2009028335 A JP2009028335 A JP 2009028335A JP 2010187070 A JP2010187070 A JP 2010187070A
Authority
JP
Japan
Prior art keywords
socket
processing unit
packet
caller
information
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.)
Pending
Application number
JP2009028335A
Other languages
English (en)
Inventor
Takeshi Masato
剛 正戸
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2009028335A priority Critical patent/JP2010187070A/ja
Priority to US12/687,460 priority patent/US20100205487A1/en
Publication of JP2010187070A publication Critical patent/JP2010187070A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0263Rule management

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】不正な通信相手からのパケットを破棄するフィルタリング機能を有する場合に、通信相手との通信開始時にTCPタイムアウトが発生するまで生じるブロック動作を回避する。
【解決手段】クライアント機器100のクライアントアプリケーション処理部110は、Socket処理部120を呼び出してオープン処理を行い、記憶部140が記憶する他の装置のIPアドレスおよびポート番号をsocketの接続先として指定するとともにノンブロックモードを指定してconnect処理を開始させ、タイムアウト機能付きでsocketに対する書き込みが可能になるか否かを監視する旨を指定してselect処理を開始させ、タイムアウトが発生するまでに、socketに対して書き込み可能になった旨を示す情報がSocket処理部120から出力されたか否かを判断する。
【選択図】図1

Description

本発明は、情報処理装置、情報処理方法、プログラムおよび情報処理システムに関する。
近年、不正アクセスを防止するために、ファイヤーウォールが広く一般に使われている。ファイヤーウォールとは、インターネットなどの信頼できないネットワークからの攻撃や不正アクセスから、組織内部のネットワークを保護するためのシステムである。このファイヤーウォールに使用される技術の一つに、パケットフィルタリングという機能がある。パケットフィルタリングとは、主に、TCP(Transmission Control Protocol)/IP(Internet Protocol)モデルのインターネット層に相当する機能であり、パケットの送信元や送信先、IPアドレス/ポート番号/通信の方向などの情報を基に、パケットの通過、破棄を選択的に行うことである(例えば、特許文献1参照)。
サーバとクライアントとを備えるサーバ−クライアントモデルにより構成され、実現されている特定のサービスにおいて、パケットフィルタリングを行う場合を考える。情報通信における、サーバ−クライアントモデルにおいて、サーバ側のIPアドレスおよびポート番号は通信開始前に既知である。それに対し、クライアント側について、IPアドレスは既知であるが、ポート番号は既知でない。つまり、クライアント側のポート番号は通信が確立してから決定される。従って、上記通信においてパケットフィルタリングを行う場合には、サーバ側のIPアドレスとポート番号とを使えばよいことは容易に想像できる。サーバ側でパケットフィルタリングを行う場合にはこの方法で問題は生じない。
特開2007−325293号公報
しかしながら、クライアント側では問題が発生することがある。具体的には、クライアント側のパケットフィルタがサーバからの不正パケットを検出してパケットを破棄すると、クライアント側のアプリケーションプログラムにとっては、サーバからの応答がないようにみえるという問題が起こりうる。そのため、通信のタイムアウト(TCPによるタイムアウト)が発生するまで、クライアント側のアプリケーションプログラムによる処理が止まってしまう(「ブロック動作」ともいう)という問題が発生しうる。停止時間は、TCPによるタイムアウト(以下、「TCPタイムアウト」ともいう)の場合、一般的に3分から5分程度である。また、TCPタイムアウトが発生するまでの設定時間を変更することが許されていない場合もある。
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、通信相手のIPアドレスとポート番号とを用いて不正な通信相手からのパケットを破棄するフィルタリング機能を有する場合に、TCPタイムアウトが発生するまでの設定時間を変更せずに、通信相手との通信開始時にTCPタイムアウトが発生するまで生じるブロック動作を回避することが可能な、新規かつ改良された技術を提供しようとするものである。
上記課題を解決するために、本発明のある観点によれば、ネットワークを介して他の装置とパケットの送受信を行うことが可能な通信部と、他の装置のIPアドレスおよびポート番号を記憶する記憶部と、通信部がパケットを受信すると、受信したパケットに対してフィルタリングを行うことによって、パケットを破棄または通過させるパケットフィルタ処理部と、パケットフィルタ処理部によって通過されたパケットの入力を受け付けることが可能であり、呼び出し元からsocketに対するオープン処理がなされると、呼び出し元によって指定された接続先に対して指定されたモードに従ってconnect処理を行い、呼び出し元によって指定されたモードに従ってselect処理を行うとともにselect処理の結果を出力し、socketによる通信を呼び出し元に提供するSocket処理部と、Socket処理部を呼び出してオープン処理を行い、記憶部が記憶する他の装置のIPアドレスおよびポート番号をsocketの接続先として指定するとともにノンブロックモードを指定してconnect処理を開始させ、タイムアウト機能付きでsocketに対する書き込みが可能になるか否かを監視する旨を指定してselect処理を開始させ、タイムアウトが発生するまでに、socketに対して書き込み可能になった旨を示す情報がSocket処理部から出力されたか否かを判断するアプリケーション処理部と、を備える、情報処理装置が提供される。
上記したアプリケーション処理部は、socketをノンブロックモードに指定してconnect処理を開始させると、connect処理に失敗した旨を示す情報の入力をSocket処理部から受け付け、この情報を無視してselect処理を開始させることとしてもよい。
上記したSocket処理部は、connect処理に失敗した場合に、connect処理に失敗した旨の情報をアプリケーション処理部に出力するとともに、バックグラウンドでconnect処理を継続することとしてもよい。
以上説明したように本発明によれば、通信相手のIPアドレスとポート番号とを用いて不正な通信相手からのパケットを破棄するフィルタリング機能を有する場合に、TCPタイムアウトが発生するまでの設定時間を変更せずに、通信相手との通信開始時にTCPタイムアウトが発生するまで生じるブロック動作を回避することが可能である。
情報処理システムの機能構成を示すブロック図である。 情報処理システムの各機能ブロックとTCP/IPモデルとの関係を示す図である。 クライアント機器のハードウェア構成を示すブロック図である。 サーバ機器のハードウェア構成を示すブロック図である。 一般的なサーバ機器の動作を示すフローチャートである。 一般的なクライアント機器の動作を示すフローチャートである。 本実施形態にかかるクライアント機器の動作を示すフローチャートである。
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。なお、説明は以下の順序で行う。
1. 第1実施形態
1−1. 情報処理システムの機能構成
1−2. 各機能ブロックとTCP/IPモデルとの関係
1−3. クライアント機器のハードウェア構成
1−4. サーバ機器のハードウェア構成
1−5. 一般的なサーバ機器の動作(両機器が正常な場合)
1−6. 一般的なサーバ機器の動作(クライアント機器が不正な場合)
1−7. 一般的なクライアント機器の動作(両機器が正常な場合)
1−8. 一般的なクライアント機器の動作(サーバ機器が不正な場合)
1−9. 本発明の第1実施形態にかかるクライアント機器の動作
2. 本実施形態の変形例
3. まとめ
<1.第1実施形態>
本発明の第1実施形態について説明する。
[1−1.情報処理システムの機能構成]
本発明の第1実施形態にかかる情報処理システムの機能構成について説明する。図1は、本発明の第1実施形態にかかる情報処理システムの機能構成を示すブロック図である。以下、図1を用いて本発明の第1実施形態にかかる情報処理システムの機能構成について説明する。
図1に示すように、本発明の第1実施形態にかかる情報処理システムは、情報処理装置の一例としてのクライアント機器100と情報提供装置の一例としてのサーバ機器200とが、インターネット等のネットワーク300を介して接続されて構成されている。サーバ機器200は、主に、情報提供側の機器として機能し、クライアント機器100は、主に、情報受取側の機器として機能する。
クライアント機器100は、クライアントアプリケーション処理部110と、Socket処理部120と、パケットフィルタ処理部130と、記憶部140と、通信部150とを備えて構成される。
通信部150は、通信装置等によって構成され、ネットワーク300を介して他の装置の一例としてのサーバ機器200とパケットの送受信を行うことが可能である。
記憶部140は、他の装置の一例としてのサーバ機器200のIPアドレスおよびポート番号を記憶するものである。記憶部140は、例えば、RAM(Random Access Memory)等により構成され、CPU(Central Processing Unit)の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一次記憶する。
パケットフィルタ処理部130は、例えば、CPU、ROM(Read Only Memory)、RAM等から構成されるものである。パケットフィルタ処理部130は、通信部150がパケットを受信すると、受信したパケットに対してフィルタリングを行うことによって、パケットを破棄または通過させる。
Socket処理部120は、例えば、CPU、ROM、RAM等から構成されるものである。Socket処理部120は、パケットフィルタ処理部130によって通過されたパケットの入力を受け付けることが可能である。Socket処理部120は、呼び出し元からsocketに対するオープン処理がなされると、呼び出し元によって指定された接続先に対して指定されたモードに従ってconnect処理を行う。そして、Socket処理部120は、呼び出し元によって指定されたモードに従ってselect処理を行うとともにselect処理の結果を出力し、socketによる通信を呼び出し元に提供する。
クライアントアプリケーション処理部(アプリケーション処理部)110は、例えば、CPU、ROM、RAM等から構成されるものである。クライアントアプリケーション処理部110は、Socket処理部120を呼び出してオープン処理を行う。そして、クライアントアプリケーション処理部110は、記憶部140が記憶する他の装置の一例としてのサーバ機器200のIPアドレスおよびポート番号をsocketの接続先として指定するとともにノンブロックモードを指定してconnect処理を開始させる。その後、クライアントアプリケーション処理部110は、タイムアウト機能付きでsocketに対する書き込みが可能になるか否かを監視する旨を指定してselect処理を開始させる。クライアントアプリケーション処理部110は、このタイムアウトが発生するまでに、socketに対して書き込み可能になった旨を示す情報がSocket処理部120から出力されたか否かを判断する。
クライアントアプリケーション処理部110は、socketをノンブロックモードに指定してconnect処理を開始させると、connect処理に失敗した旨を示す情報の入力をSocket処理部から受け付ける。しかし、クライアントアプリケーション処理部110は、この情報を無視してselect処理を開始させる。
Socket処理部120は、connect処理に失敗した場合に、connect処理に失敗した旨の情報をアプリケーション処理部に出力するとともに、バックグラウンドでconnect処理を継続する。
サーバ機器200は、サーバアプリケーション処理部210と、Socket処理部220と、パケットフィルタ処理部230と、記憶部240と、通信部250とを備えて構成される。
通信部250は、通信装置等によって構成され、ネットワーク300を介してクライアント機器100とパケットの送受信を行うことが可能である。
記憶部240は、自己のIPアドレスおよびポート番号を記憶するものである。記憶部240は、例えば、RAM等により構成され、CPUの実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一次記憶する。
パケットフィルタ処理部230は、例えば、CPU、ROM、RAM等から構成されるものである。パケットフィルタ処理部230は、通信部250がパケットを受信すると、受信したパケットに対してフィルタリングを行うことによって、パケットを破棄または通過させる。
Socket処理部220は、例えば、CPU、ROM、RAM等から構成されるものである。Socket処理部220は、パケットフィルタ処理部230によって通過されたパケットの入力を受け付けることが可能である。Socket処理部220は、呼び出し元からsocketに対するオープン処理がなされると、クライアント機器100からのアクセスを待ち受けるlisten処理を行い、クライアント機器100からのアクセスを受け付けるaccept処理を行う。
サーバアプリケーション処理部(アプリケーション処理部)210は、例えば、CPU、ROM、RAM等から構成されるものである。サーバアプリケーション処理部210は、Socket処理部220を呼び出してオープン処理を行う。そして、サーバアプリケーション処理部210は、listen処理を開始させ、accept処理を開始させる。
以上、本発明の第1実施形態にかかる情報処理システムの機能構成について説明した。次に、本発明の第1実施形態にかかる情報処理システムの各機能ブロックとTCP/IPモデルとの関係について説明する。
[1−2.各機能ブロックとTCP/IPモデルとの関係]
本発明の第1実施形態にかかる情報処理システムの各機能ブロックとTCP/IPモデルとの関係について説明する。図2は、本発明の第1実施形態にかかる情報処理システムの各機能ブロックとTCP/IPモデルとの関係を示す図である。以下、図2を用いて本発明の第1実施形態にかかる情報処理システムの各機能ブロックとTCP/IPモデルとの関係について説明する。
図2に示すように、パケットフィルタ処理部130、230は、第3層インターネット層の機能を実現する。Socket処理部120、220は、第4層トランスポート層の機能を実現する。サーバアプリケーション処理部210、クライアントアプリケーション処理部110は、第5層アプリケーション層の機能を実現する。第1層物理層、第2層データリンク層については、機能ブロックとして表現することを割愛する。
以上、本発明の第1実施形態にかかる情報処理システムの各機能ブロックとTCP/IPモデルとの関係について説明した。次に、本発明の第1実施形態にかかるクライアント機器のハードウェア構成について説明する。
[1−3.クライアント機器のハードウェア構成]
次に、本発明の第1実施形態にかかるクライアント機器のハードウェア構成について説明する。図3は、本発明の第1実施形態にかかるクライアント機器のハードウェア構成を示すブロック図である。以下、図3を用いて本発明の第1実施形態にかかるクライアント機器のハードウェア構成について説明する。
クライアント機器100は、主に、CPU901と、ROM903と、RAM905と、ホストバス907と、ブリッジ909と、外部バス911と、インタフェース913と、ストレージ装置919と、通信装置925とを備える。
CPU901は、演算処理装置および制御装置として機能し、ROM903、RAM905、ストレージ装置919に記録された各種プログラムに従って、クライアント機器100内の動作全般またはその一部を制御する。ROM903は、CPU901が使用するプログラムや演算パラメータ等を記憶する。RAM905は、CPU901の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一次記憶する。これらはCPUバス等の内部バスにより構成されるホストバス907により相互に接続されている。
ホストバス907は、ブリッジ909を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス911に接続されている。
ストレージ装置919は、クライアント機器100の記憶部の一例として構成されたデータ格納用の装置であり、例えば、HDD(Hard Disk Drive)等の磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイス等により構成される。このストレージ装置919は、CPU901が実行するプログラムや各種データ、および外部から取得した音響信号データや画像信号データなどを格納する。
通信装置925は、例えば、ネットワーク300に接続するための通信デバイス等で構成された通信インタフェースである。通信装置925は、例えば、有線または無線LAN(Local Area Network)、Bluetooth、またはWUSB(Wireless USB)用の通信カード、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ、または、各種通信用のモデム等である。この通信装置925は、例えば、インターネットや他の通信機器との間で音響信号等を送受信することができる。また、通信装置925に接続されるネットワーク300は、有線または無線によって接続されたネットワーク等により構成され、例えば、インターネット等であってもよい。
以上、本発明の各実施形態に係るクライアント機器100の機能を実現可能なハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用するハードウェア構成を変更することが可能である。
以上、本発明の第1実施形態にかかるクライアント機器のハードウェア構成について説明した。次に、本発明の第1実施形態にかかるサーバ機器のハードウェア構成について説明する。
[1−4.サーバ機器のハードウェア構成]
次に、本発明の第1実施形態にかかるサーバ機器のハードウェア構成について説明する。図4は、本発明の第1実施形態にかかるサーバ機器のハードウェア構成を示すブロック図である。以下、図4を用いて本発明の第1実施形態にかかるサーバ機器のハードウェア構成について説明する。
図4に示すように、サーバ機器200のハードウェアは、クライアント機器100のハードウェアと同様に構成することが可能である。したがって、サーバ機器200のハードウェアについての詳細な説明は省略する。
以上、本発明の第1実施形態にかかるサーバ機器のハードウェア構成について説明した。次に、一般的なサーバ機器の動作(両機器が正常な場合)について説明する。
[1−5.一般的なサーバ機器の動作(両機器が正常な場合)]
次に、一般的なサーバ機器の動作(両機器が正常な場合)について説明する。図5は、一般的なサーバ機器の動作を示すフローチャートである。以下、図5を用いて一般的なサーバ機器の動作(両機器が正常な場合)について説明する。
サーバアプリケーション処理部210は、自機器のIPアドレスとポート番号とを記憶部240から取得する(ステップS101)。サーバアプリケーション処理部210は、パケットフィルタに上記IPアドレスとポート番号とを指定してパケットフィルタ処理部230にパケットフィルタを開始させる(ステップS102)。サーバアプリケーション処理部210は、listen用のsocketを上記ポート番号でオープンする(ステップS103)。サーバアプリケーション処理部210は、Socket処理部220にlisten処理を開始させる(ステップS104)。
サーバアプリケーション処理部210は、クライアント機器100からアクセスが有ったか否かを判断する(ステップS105)。サーバアプリケーション処理部210は、クライアント機器100からアクセスが無いと判断した場合には(ステップS105で「No」)、ステップS105に戻る。サーバアプリケーション処理部210は、クライアント機器100からアクセスが有ったと判断した場合には(ステップS105で「Yes」)、Socket処理部220にaccept処理を開始させ、通信用のSocketを得る(ステップS106)。その後、サーバアプリケーション処理部210は、通信用のsocketで通常の通信処理を行い(ステップS107)、通信用のsocketをクローズし(ステップS108)、ステップS104に戻る。
以上、一般的なサーバ機器の動作(両機器が正常な場合)について説明した。次に、一般的なサーバ機器の動作(クライアント機器が不正な場合)について説明する。
[1−6.一般的なサーバ機器の動作(クライアント機器が不正な場合)]
次に、一般的なサーバ機器の動作(クライアント機器が不正な場合)について説明する。以下、図5を用いて一般的なサーバ機器の動作(クライアント機器が不正な場合)について説明する。
サーバアプリケーション処理部210は、自機器のIPアドレスとポート番号とを記憶部240から取得する(ステップS101)。サーバアプリケーション処理部210は、パケットフィルタに上記IPアドレスとポート番号とを指定してパケットフィルタ処理部230にパケットフィルタを開始させる(ステップS102)。サーバアプリケーション処理部210は、listen用のsocketを上記ポート番号でオープンする(ステップS103)。サーバアプリケーション処理部210は、Socket処理部220にlisten処理を開始させる(ステップS104)。
サーバアプリケーション処理部210は、クライアント機器100からアクセスが有ったか否かを判断する(ステップS105)。サーバアプリケーション処理部210は、クライアント機器100からアクセスが無いと判断した場合には(ステップS105で「No」)、ステップS105に戻る。クライアント機器100が不正な場合には、クライアント機器100からのアクセスはパケットフィルタ処理部230によって破棄される。したがって、クライアント機器100が不正な場合には、サーバ機器200は、不正なクライアント機器100からのアクセスに気付かないため、特に問題はないと想定される。
以上、一般的なサーバ機器の動作(クライアント機器が不正な場合)について説明した。次に、一般的なクライアント機器の動作(両機器が正常な場合)について説明する。
[1−7.一般的なクライアント機器の動作(両機器が正常な場合)]
次に、一般的なクライアント機器の動作(両機器が正常な場合)について説明する。以下、図6を用いて一般的なクライアント機器の動作(両機器が正常な場合)について説明する。
クライアントアプリケーション処理部110は、相手(サーバ機器200)のIPアドレスとポート番号とを記憶部140から取得する(ステップS201)。クライアントアプリケーション処理部110は、パケットフィルタに上記IPアドレスとポート番号とを指定してパケットフィルタ処理部130にパケットフィルタを開始させる(ステップS202)。クライアントアプリケーション処理部110は、socketをオープンする(ステップS203)。クライアントアプリケーション処理部110は、Socket処理部120にconnect処理を開始させる(ステップS204)。
相手が正常なので、TCPのタイムアウトは発生せず(ステップS205で「No」)、connect処理は成功し(ステップS206)、クライアントアプリケーション処理部110は、通常の通信処理を行い(ステップS207)、socketをクローズし、パケットフィルタの設定を元に戻し(ステップS209)、処理を終了する。
以上、一般的なクライアント機器の動作(両機器が正常な場合)について説明した。次に、一般的なクライアント機器の動作(サーバ機器が不正な場合)について説明する。
[1−8.一般的なクライアント機器の動作(サーバ機器が不正な場合)]
次に、一般的なクライアント機器の動作(サーバ機器が不正な場合)について説明する。以下、図6を用いて一般的なクライアント機器の動作(サーバ機器が不正な場合)について説明する。
クライアントアプリケーション処理部110は、相手(サーバ機器200)のIPアドレスとポート番号とを記憶部140から取得する(ステップS201)。クライアントアプリケーション処理部110は、パケットフィルタに上記IPアドレスとポート番号とを指定してパケットフィルタ処理部130にパケットフィルタを開始させる(ステップS202)。クライアントアプリケーション処理部110は、socketをオープンする(ステップS203)。クライアントアプリケーション処理部110は、Socket処理部120にconnect処理を開始させる(ステップS204)。
ここで、サーバ機器200が不正な場合には、サーバ機器200からの返事はパケットフィルタ処理部130によって破棄されるために処理が停止してしまう。そのため、TCPのタイムアウトが発生する(ステップS205で「Yes」)。タイムアウト後、クライアントアプリケーション処理部110は、connect処理に失敗したと判断し(ステップS208)、ステップS209に進むことになるが、ステップS205からステップS209に進むまでに、一般的には約3分程度待たされる。クライアントアプリケーション処理部110は、socketをクローズし、パケットフィルタの設定を元に戻し(ステップS208)、処理を終了する。この例では、クライアント機器100はサーバ機器200にアクセスを行おうとするが、サーバ機器200からの返事がない状態で待たされることになる。したがって、クライアント機器100の使用者がストレスを感じる原因となり得るという問題がある。
以上、一般的なクライアント機器の動作(サーバ機器が不正な場合)について説明した。次に、本発明の第1実施形態にかかるクライアント機器の動作について説明する。
[1−9.本発明の第1実施形態にかかるクライアント機器の動作]
次に、本発明の第1実施形態にかかるクライアント機器の動作について説明する。以下、図7を用いて本発明の第1実施形態にかかるクライアント機器の動作について説明する。
図7に示すように、クライアントアプリケーション処理部110は、相手(サーバ機器200)のIPアドレスとポート番号とを記憶部140から取得する(ステップS301)。クライアントアプリケーション処理部110は、パケットフィルタに上記IPアドレスとポート番号とを指定してパケットフィルタ処理部130にパケットフィルタを開始させる(ステップS302)。クライアントアプリケーション処理部110は、socketをオープンする(ステップS303)。クライアントアプリケーション処理部110は、socketをノンブロックモードにしてSocket処理部120にconnect処理を開始させる(ステップS304)。
この時点では通信は確立していないので、connect処理は必ず失敗するが、Socket処理部120は、この失敗を無視してconnect処理を継続する(ステップS305)。クライアントアプリケーション処理部110は、Socket処理部120にタイムアウト機能付きでselect処理を開始させる(ステップS306)。クライアントアプリケーション処理部110は、例えば、タイムアウトが発生するまでの時間を5秒程度に設定する。クライアントアプリケーション処理部110は、socketに書き込みが可能になったか否かを判断する(ステップS307)。
クライアントアプリケーション処理部110は、socketに書き込みが可能になったと判断した場合には(ステップS307で「Yes」)、サーバ機器200が正常であると判断し、socketを元のブロックモードに戻し(ステップS308)、通常の通信処理を行い(ステップS309)、ステップS311に進む。また、クライアントアプリケーション処理部110は、socketに書き込みが可能にならなかったと判断した場合には(ステップS307で「No」)、タイムアウトが発生し(ステップS310)、サーバ機器200が不正であると判断してステップS311に進む。クライアントアプリケーション処理部110は、socketをクローズし、パケットフィルタの設定を元に戻し(ステップS311)、処理を終了する。
これによれば、サーバ機器200が不正な場合に、3分程度待たされてしまうことが一般的であったが、待ち時間を5秒程度(設定次第でもっと短くすることもできる)に短縮することが可能となる。これにより、クライアント機器100の使用者が感じるストレスを軽減することができる。
以上、本発明の第1実施形態にかかるクライアント機器の動作について説明した。
<2.本実施形態の変形例>
なお、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
<3.まとめ>
本実施形態によれば、通信相手のIPアドレスとポート番号とを用いて不正な通信相手からのパケットを破棄するフィルタリング機能を有する場合に、TCPタイムアウトが発生するまでの設定時間を変更せずに、通信相手との通信開始時にTCPタイムアウトが発生するまで生じるブロック動作を回避することが可能となる。
100 クライアント機器(情報処理装置)
110 クライアントアプリケーション処理部
120 Socket処理部
130 パケットフィルタ処理部
140 記憶部
150 通信部
200 サーバ機器(情報提供装置)
210 サーバアプリケーション処理部
220 Socket処理部
230 パケットフィルタ処理部
240 記憶部
250 通信部
300 ネットワーク

Claims (6)

  1. ネットワークを介して他の装置とパケットの送受信を行うことが可能な通信部と、
    前記他の装置のIPアドレスおよびポート番号を記憶する記憶部と、
    前記通信部がパケットを受信すると、受信した前記パケットに対してフィルタリングを行うことによって、前記パケットを破棄または通過させるパケットフィルタ処理部と、
    前記パケットフィルタ処理部によって通過された前記パケットの入力を受け付けることが可能であり、呼び出し元からsocketに対するオープン処理がなされると、前記呼び出し元によって指定された接続先に対して指定されたモードに従ってconnect処理を行い、前記呼び出し元によって指定されたモードに従ってselect処理を行うとともに前記select処理の結果を出力し、socketによる通信を前記呼び出し元に提供するSocket処理部と、
    前記Socket処理部を呼び出して前記オープン処理を行い、前記記憶部が記憶する前記他の装置のIPアドレスおよびポート番号を前記socketの接続先として指定するとともにノンブロックモードを指定して前記connect処理を開始させ、タイムアウト機能付きで前記socketに対する書き込みが可能になるか否かを監視する旨を指定して前記select処理を開始させ、前記タイムアウトが発生するまでに、前記socketに対して書き込み可能になった旨を示す情報が前記Socket処理部から出力されたか否かを判断するアプリケーション処理部と、
    を備える、情報処理装置。
  2. 前記アプリケーション処理部は、
    前記socketを前記ノンブロックモードに指定して前記connect処理を開始させると、前記connect処理に失敗した旨を示す情報の入力を前記Socket処理部から受け付け、当該情報を無視して前記select処理を開始させる、
    請求項1に記載の情報処理装置。
  3. 前記Socket処理部は、
    前記connect処理に失敗した場合に、connect処理に失敗した旨の情報を前記アプリケーション処理部に出力するとともに、バックグラウンドでconnect処理を継続する、
    請求項1に記載の情報処理装置。
  4. ネットワークを介して他の装置とパケットの送受信を行うことが可能な通信部と、
    前記他の装置のIPアドレスおよびポート番号を記憶する記憶部と、
    前記通信部がパケットを受信すると、受信した前記パケットに対してフィルタリングを行うことによって、前記パケットを破棄または通過させるパケットフィルタ処理部と、
    前記パケットフィルタ処理部によって通過された前記パケットの入力を受け付けることが可能であり、呼び出し元からsocketに対するオープン処理がなされると、前記呼び出し元によって指定された接続先に対して指定されたモードに従ってconnect処理を行い、前記呼び出し元によって指定されたモードに従ってselect処理を行うとともに前記select処理の結果を出力し、socketによる通信を前記呼び出し元に提供するSocket処理部と、アプリケーション処理部と、を備える情報処理装置が、
    前記アプリケーション処理部により、
    前記Socket処理部を呼び出して前記オープン処理を行うステップと、
    前記記憶部が記憶する前記他の装置のIPアドレスおよびポート番号を前記Socketの接続先として指定するとともにノンブロックモードを指定して前記connect処理を開始させるステップと、
    タイムアウト機能付きで前記socketに対する書き込みが可能になるか否かを監視する旨を指定して前記select処理を開始させるステップと、
    前記タイムアウトが発生するまでに、前記socketに対して書き込み可能になった旨を示す情報が前記Socket処理部から出力されたか否かを判断するステップと、
    を含む、情報処理方法。
  5. ネットワークを介して他の装置とパケットの送受信を行うことが可能な通信部と、
    前記他の装置のIPアドレスおよびポート番号を記憶する記憶部と、
    前記通信部がパケットを受信すると、受信した前記パケットに対してフィルタリングを行うことによって、前記パケットを破棄または通過させるパケットフィルタ処理部と、
    前記パケットフィルタ処理部によって通過された前記パケットの入力を受け付けることが可能であり、呼び出し元からsocketに対するオープン処理がなされると、前記呼び出し元によって指定された接続先に対して指定されたモードに従ってconnect処理を行い、前記呼び出し元によって指定されたモードに従ってselect処理を行うとともに前記select処理の結果を出力し、socketによる通信を前記呼び出し元に提供するSocket処理部と、アプリケーション処理部と、を備える情報処理装置が、
    前記アプリケーション処理部により、
    前記Socket処理部を呼び出して前記オープン処理を行うステップと、
    前記記憶部が記憶する前記他の装置のIPアドレスおよびポート番号を前記socketの接続先として指定するとともにノンブロックモードを指定して前記connect処理を開始させるステップと、
    タイムアウト機能付きで前記socketに対する書き込みが可能になるか否かを監視する旨を指定して前記select処理を開始させるステップと、
    前記タイムアウトが発生するまでに、前記socketに対して書き込み可能になった旨を示す情報が前記Socket処理部から出力されたか否かを判断するステップと、
    を含む、情報処理方法を、コンピュータに実行させるためのプログラム。
  6. 情報提供装置と、前記情報提供装置とネットワークを介して相互に通信を行うことが可能である情報処理装置とを有する情報処理システムであって、
    前記情報処理装置は、
    ネットワークを介して前記情報提供装置とパケットの送受信を行うことが可能な通信部と、
    前記情報提供装置のIPアドレスおよびポート番号を記憶する記憶部と、
    前記通信部がパケットを受信すると、受信した前記パケットに対してフィルタリングを行うことによって、前記パケットを破棄または通過させるパケットフィルタ処理部と、
    前記パケットフィルタ処理部によって通過された前記パケットの入力を受け付けることが可能であり、呼び出し元からsocketに対するオープン処理がなされると、前記呼び出し元によって指定された接続先に対して指定されたモードに従ってconnect処理を行い、前記呼び出し元によって指定されたモードに従ってselect処理を行うとともに前記select処理の結果を出力し、socketによる通信を前記呼び出し元に提供するSocket処理部と、
    前記Socket処理部を呼び出して前記オープン処理を行い、前記記憶部が記憶する前記情報提供装置のIPアドレスおよびポート番号を前記socketの接続先として指定するとともにノンブロックモードを指定して前記connect処理を開始させ、タイムアウト機能付きで前記socketに対する書き込みが可能になるか否かを監視する旨を指定して前記select処理を開始させ、前記タイムアウトが発生するまでに、前記socketに対して書き込み可能になった旨を示す情報が前記Socket処理部から出力されたか否かを判断するアプリケーション処理部と、
    を備え、
    前記情報提供装置は、
    前記ネットワークを介して前記情報処理装置とパケットの送受信を行うことが可能な通信部と、
    前記通信部がパケットを受信すると、受信した前記パケットに対してフィルタリングを行うことによって、前記パケットを破棄または通過させるパケットフィルタ処理部と、
    前記パケットフィルタ処理部によって通過された前記パケットの入力を受け付けることが可能であり、呼び出し元からsocketに対するオープン処理がなされると、前記情報処理装置からのアクセスを待ち受けるlisten処理を行い、前記情報処理装置からのアクセスを受け付けるaccept処理を行うSocket処理部と、
    前記Socket処理部を呼び出して前記オープン処理を行い、前記listen処理を開始させ、前記accept処理を開始させるアプリケーション処理部と、
    を備える、情報処理システム。
JP2009028335A 2009-02-10 2009-02-10 情報処理装置、情報処理方法、プログラムおよび情報処理システム Pending JP2010187070A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009028335A JP2010187070A (ja) 2009-02-10 2009-02-10 情報処理装置、情報処理方法、プログラムおよび情報処理システム
US12/687,460 US20100205487A1 (en) 2009-02-10 2010-01-14 Information processing apparatus, information processing method, program and information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009028335A JP2010187070A (ja) 2009-02-10 2009-02-10 情報処理装置、情報処理方法、プログラムおよび情報処理システム

Publications (1)

Publication Number Publication Date
JP2010187070A true JP2010187070A (ja) 2010-08-26

Family

ID=42541390

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009028335A Pending JP2010187070A (ja) 2009-02-10 2009-02-10 情報処理装置、情報処理方法、プログラムおよび情報処理システム

Country Status (2)

Country Link
US (1) US20100205487A1 (ja)
JP (1) JP2010187070A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104657230A (zh) * 2015-03-20 2015-05-27 南通国芯微电子有限公司 应用于单片机的定时器系统及其处理方法
JP7151552B2 (ja) * 2019-02-28 2022-10-12 沖電気工業株式会社 支援制御装置、支援制御プログラム、及び支援制御システム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09258993A (ja) * 1995-10-27 1997-10-03 Sun Microsyst Inc コンピュータシステム
JP2000250758A (ja) * 1999-03-01 2000-09-14 Hewlett Packard Co <Hp> 組込み機器用Javaアプリケーションマネージャ
JP2001345829A (ja) * 2000-06-06 2001-12-14 Ntt Communications Kk 狭域通信システム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050289213A1 (en) * 2004-06-25 2005-12-29 International Business Machines Corporation Switching between blocking and non-blocking input/output
US7779178B2 (en) * 2005-06-29 2010-08-17 Intel Corporation Method and apparatus for application/OS triggered low-latency network communications

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09258993A (ja) * 1995-10-27 1997-10-03 Sun Microsyst Inc コンピュータシステム
JP2000250758A (ja) * 1999-03-01 2000-09-14 Hewlett Packard Co <Hp> 組込み機器用Javaアプリケーションマネージャ
JP2001345829A (ja) * 2000-06-06 2001-12-14 Ntt Communications Kk 狭域通信システム

Also Published As

Publication number Publication date
US20100205487A1 (en) 2010-08-12

Similar Documents

Publication Publication Date Title
KR101197885B1 (ko) 전력이 감소된 상태의 네트워크 프로세싱을 위한 방법, 장치 및 머신 판독가능 매체
JP5025941B2 (ja) 統合ホストプロトコルスタック管理を使用するセキュアなインターネットプロトコル(ipsec)オフロードのための方法および装置
EP1622334B1 (en) Server device, method for controlling a server device, and method for establishing a connection using the server device
US9787589B2 (en) Filtering of unsolicited incoming packets to electronic devices
JP6118122B2 (ja) 通信装置及びその制御方法、プログラム
CN105323259A (zh) 一种防止同步包攻击的方法和装置
WO2014075485A1 (zh) 网络地址转换技术的处理方法、nat设备及bng设备
JP5141328B2 (ja) 中継装置及びコンピュータプログラム
JP4620107B2 (ja) 通信エンドポイントにおける組み込みファイアウォール
JP2010187070A (ja) 情報処理装置、情報処理方法、プログラムおよび情報処理システム
WO2021135493A1 (zh) 一种家庭网关访问方法、装置、系统处理器及存储介质
JP2009230600A (ja) 情報処理装置と情報処理システムおよびプログラム
JP2003152806A (ja) 通信路のスイッチ接続制御システム
WO2017063578A1 (zh) 数据报文处理方法及装置
JP2007221395A (ja) ネットワーク端末装置
US20060198328A1 (en) Verifying packets received over a physical link
JP2004215112A (ja) ネットワーク接続装置及び不正アクセス防止方法
JP2005328354A (ja) Ip電話システムおよび加入者ルータ
JP2008011064A (ja) アクセス制御装置、無線装置及びネットワーク
JP2007228449A (ja) パケット中継装置、パケット中継方法及びパケット中継プログラム
TWI400970B (zh) 無線裝置之訊框過濾方法
JP4817900B2 (ja) 通信システム、アクセス管理方法、アクセス管理プログラムを記録した記録媒体、アクセス管理サーバ、送信端末および中継サーバ
JP2010186427A (ja) 情報処理装置およびプログラム
JP4993133B2 (ja) 中継装置
JP2009206579A (ja) シンクライアントネットワーク、シンクライアント、不正接続防止装置、これらの動作方法、及び記録媒体

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100928

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110215