JP2004104450A - Information processor and information processing method - Google Patents

Information processor and information processing method Download PDF

Info

Publication number
JP2004104450A
JP2004104450A JP2002263437A JP2002263437A JP2004104450A JP 2004104450 A JP2004104450 A JP 2004104450A JP 2002263437 A JP2002263437 A JP 2002263437A JP 2002263437 A JP2002263437 A JP 2002263437A JP 2004104450 A JP2004104450 A JP 2004104450A
Authority
JP
Japan
Prior art keywords
information
processing
packet
storage unit
session
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2002263437A
Other languages
Japanese (ja)
Other versions
JP4195264B2 (en
Inventor
Tetsuo Ogawa
小川 哲男
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.)
IPSQUARE Inc
Original Assignee
IPSQUARE Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by IPSQUARE Inc filed Critical IPSQUARE Inc
Priority to JP2002263437A priority Critical patent/JP4195264B2/en
Priority to AU2003261982A priority patent/AU2003261982A1/en
Priority to PCT/JP2003/011405 priority patent/WO2004023744A1/en
Priority to TW92124829A priority patent/TW200410530A/en
Publication of JP2004104450A publication Critical patent/JP2004104450A/en
Priority to US10/906,836 priority patent/US20050141508A1/en
Application granted granted Critical
Publication of JP4195264B2 publication Critical patent/JP4195264B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems

Abstract

<P>PROBLEM TO BE SOLVED: To inexpensively provide an information processor processing a packet at high speed. <P>SOLUTION: The information processor processing reception information received from outside is provided with a processing information storage part which preliminarily and associatively stores processing information showing a processing on reception information by correlating it with a key comprising at least a part of reception information, a processing information control part extracting at least a part of reception information, supplying it to the processing information storage part as the key, and making the processing information storage part output processing information corresponding to reception information, a sequencer performing a sequence designated by processing information that the processing information storage part outputs, and a reception information processing part processing reception information in accordance with the sequence that the sequencer performs. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、情報処理装置及び情報処理方法に関する。特に本発明は、外部から受信した受信情報を処理する情報処理装置に関する。
【0002】
【従来の技術】
従来、シーケンサの実行するシーケンスに従って、受信したパケットを処理する情報処理装置が知られている。当該情報処理装置は、パケットが示す情報に対する条件判定をシーケンスに従って順次行って、パケットを処理する。
【0003】
【発明が解決しようとする課題】
しかし、従来の情報処理装置においては、パケットが示す情報の判定に時間がかかる場合があった。そのため、従来、パケットを高速に処理するのは困難であった。
【0004】
そこで本発明は、上記の課題を解決することのできる情報処理装置及び情報処理方法を提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【0005】
【課題を解決するための手段】
即ち、本発明の第1の形態によると、外部から受信した受信情報を処理する情報処理装置であって、受信情報の少なくとも一部を含むキーに対応付けて、当該受信情報に対する処理を示す処理情報を、予め連想記憶する処理情報格納部と、受信情報の少なくとも一部を抽出して処理情報格納部にキーとして供給し、処理情報格納部に当該受信情報に対応する処理情報を出力させる処理情報制御部と、処理情報格納部が出力する処理情報により指定されるシーケンスを実行するシーケンサと、シーケンサが実行するシーケンスに従って、受信情報を処理する受信情報処理部とを備える。
【0006】
処理情報制御部は、受信情報として、ネットワークからパケットを受信し、処理情報格納部は、パケットのヘッダの少なくとも一部を含むキーに対応付けて、処理情報を予め格納し、受信情報処理部は、処理情報に基づいてシーケンサが実行するシーケンスに従って、パケットを処理してよい。処理情報格納部は、パケットのヘッダに含まれるべき、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、及び宛先ポート番号の少なくとも一部をキーとして、処理情報を予め格納してよい。受信したパケットに対応する処理情報を処理情報格納部が格納していない場合、受信情報処理部は当該パケットを破棄してよい。
【0007】
情報処理装置の外部に設けられた通信機器との間で確立したセッションを示すセッション情報を格納するセッション情報格納部を更に備え、受信したパケットがTCP(Transport Control Protocol)に基づくTCPパケットである場合、処理情報制御部は、当該TCPパケットのヘッダに基づき、セッション情報格納部が格納するセッション情報を更新してよい。TCPパケットのヘッダに含まれるフラグがSYNである場合、セッション情報格納部は、当該TCPパケットに対応するセッションを示すセッション情報を含むエントリを、新たに格納してよい。
【0008】
セッション情報格納部は、TCPパケットのヘッダに含まれる、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号、及びフラグと、セッションを識別するセッションIDとの少なくとも一部を含むキーに対応付けて、セッション情報を連想記憶してよい。セッション情報格納部は、フラグを含むセッション情報を格納し、受信情報処理部は、受信したTCPパケットのフラグが示す遷移状態が、セッション情報に含まれるフラグが示す遷移状態の次の状態として適切か否かを判定し、適切であると判定した場合には当該TCPパケットを処理し、適切でないと判定した場合には当該TCPパケットを破棄してよい。受信したTCPパケットのフラグが示す遷移状態が、当該次の状態として適切と判定された場合、受信情報処理部は、TCPパケットを情報処理装置の外部に設けられた他の通信機器に転送してよい。
【0009】
処理情報格納部、処理情報制御部、シーケンサ、受信情報処理部、及びセッション情報格納部は、一の半導体チップにモノリシックに形成された電子回路であってよい。当該半導体チップにモノリシックに形成され、パケットを転送すべき経路を示す経路情報を格納する経路情報格納部を更に備え、受信情報処理部は、当該経路情報により指定される、情報処理装置の外部に設けられた他の通信機器に、パケットを転送してよい。処理情報格納部、セッション情報格納部、及び経路情報格納部は、入力されるキーに応じて、処理情報、セッション情報、又は経路情報のいずれかを出力する一の連想記憶メモリとして実装されてよい。
【0010】
予め定められた暗号方式で暗号化されたパケットを復号する暗号処理部を更に備え、処理情報制御部は、パケットが、当該暗号方式で暗号化されているか否かを判定し、パケットが当該暗号方式で暗号化されている場合、当該パケットを暗号処理部に復号させ、復号されたパケットからヘッダの少なくとも一部を抽出して、処理情報格納部にキーの少なくとも一部として供給し、処理情報格納部は当該キーに対応する処理情報を出力してよい。
【0011】
本発明の第2の形態によると、外部から受信した受信情報を処理する情報処理方法であって、受信情報の少なくとも一部を抽出する情報抽出段階と、受信情報の少なくとも一部を含むキーに対応付けて、当該受信情報に対する処理を示す処理情報を予め連想記憶する処理情報格納部に、抽出した受信情報の少なくとも一部をキーの少なくとも一部として供給し、処理情報格納部に当該受信情報に対応する処理情報を出力させる処理情報出力段階と、処理情報格納部が出力する処理情報により指定されるシーケンスを実行するシーケンス実行段階と、当該シーケンスに従って、受信情報を処理する受信情報処理段階とを備える。
【0012】
なお上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションも又発明となりうる。
【0013】
【発明の実施の形態】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態はクレームにかかる発明を限定するものではなく、又実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0014】
図1は、本発明の一実施形態に係るホームゲートウェイ100の構成の一例を示す。本実施形態のホームゲートウェイ100は、外部の通信機器から受け取るパケットを高速に処理して、他の通信機器に転送する。ホームゲートウェイ100は、例えば、ルータの機能を有してよい。
【0015】
ホームゲートウェイ100は、複数の通信インターフェース104−1〜2、制御インターフェース106、情報処理部102、キューバッファ116、CPU110、RAM118、初期値格納部120、DMAコントローラ112、タイマ114、ブリッジ108、及びバス122を備える。
【0016】
複数の通信インターフェース104−1〜2のそれぞれは、サーバ150及びパーソナルコンピュータ152のそれぞれと通信可能に接続され、パケットを送受信する。複数の通信インターフェース104−1〜2のそれぞれは、例えばイーサネット(登録商標)やシリアルインターフェース等であってよい。また、本実施形態において、通信インターフェース104−1は、インターネットを介してサーバ150と接続される。
【0017】
制御インターフェース106は、複数の被制御機器154−1〜2と通信可能に接続され、これらを制御する。制御インターフェース106は、例えば、802.11b、USB、Bluetooth、又はIEEE1394等に基づくインターフェースであってよく、複数の被制御機器154−1〜2に対してパケットを送受信して、これらを制御する。
【0018】
尚、サーバ150、パーソナルコンピュータ152、及び複数の被制御機器154−1〜2のそれぞれは、ホームゲートウェイ100の外部に設けられた通信機器の一例である。これらの通信機器は、例えばLAN(Local AreaNetwork)等のネットワークを介して通信インターフェース104−1〜2、又は制御インターフェース106と接続されてよい。また、複数の被制御機器154−1〜2のそれぞれは、例えば、デジタルセットトップボックス、デジタルテレビ受信機、家庭用ゲーム機、PDA、若しくは携帯電話機等の情報機器であってもよく、デジタルカメラ、HDD録画機、若しくはDVDプレイヤ等のデジタル機器、エアコン若しくは冷蔵庫等の家電製品、又は温度計若しくは圧力センサ等の各種センサ等であってよい。
【0019】
情報処理部102は、本発明に係る情報処理装置の一例であり、ホームゲートウェイ100の外部から受信した受信情報を処理する。本実施形態において、情報処理部102は、サーバ150、パーソナルコンピュータ152、又は被制御機器154−1〜2から、受信情報の一例である、IP(Internet Protocol)に基づくパケットを受け取り、処理する。
【0020】
情報処理部102は、サーバ150及びパーソナルコンピュータ152のそれぞれと、複数の通信インターフェース104−1〜2を介して接続され、制御インターフェース106、ブリッジ108、及びバス122を介して、複数の被制御機器154−1〜2に接続される。そして、情報処理部102は、サーバ150、パーソナルコンピュータ152、及び被制御機器154−1〜2における、一の通信機器から受け取ったパケットを、他の通信機器に転送する。
【0021】
キューバッファ116は、例えばDRAM等のメモリであり、情報処理部102が転送するパケットをキューとして一時記憶するバッファである。また、CPU110は、ホームゲートウェイ100の動作を制御する。RAM118は、CPU110が参照するメモリである。初期値格納部120は、例えば、フラッシュメモリ等の不揮発メモリであってよく、ホームゲートウェイ100の起動時に、情報処理部102に設定すべき情報を格納する。
【0022】
DMAコントローラ112は、制御インターフェース106とRAM118との間のデータの転送を制御する。タイマ114は、ホームゲートウェイ100の動作の同期を制御する。タイマ114は、例えば、ウォッチドックタイマの機能を有してよい。本実施形態によれば、受信したパケットを適切に処理して転送することができる。
【0023】
ここで、ホームゲートウェイ100は、例えばサーバ150等と、SNMP(Simple Network Management Protocol)等に基づいて通信し、当該通信に基づいて複数の被制御機器154−1、2を制御してよい。また、ホームゲートウェイ100は、複数の被制御機器154−1、2から受け取る情報に基づく送信情報を、例えばサーバ150等に送信してもよい。
【0024】
例えば、ホームゲートウェイ100は、被制御機器154の一例であるカメラが撮像する画像に基づいて、当該カメラの周囲の異常を検出し、異常を検出した場合、当該異常を示す送信情報を、例えばSNにより、サーバ150に送信してよい。また、ホームゲートウェイ100は、開閉扉又は門等に取り付けられた磁気センサの出力に基づき、当該開閉扉又は門等の開閉を検知して、当該検知の結果をサーバ150に送信してもよい。これらの場合、ホームゲートウェイ100が設置された家庭等の状態を、当該家庭等の外部において、適切に監視することができる。また、これにより、当該家庭等の状態を、効率よく管理及び監視する防災システム等を提供することができる。
【0025】
また、ホームゲートウェイ100は、例えば、水道、ガス、又は電気等の使用量の検針を行い、当該検針の結果をサーバ150に送信してもよい。この場合、ホームゲートウェイ100が設置された家庭等のライフラインの管理を適切に行うことができる。
【0026】
図2は、情報処理部102の詳細な構成の一例を示す。情報処理部102は、CAM204、処理情報制御部202、シーケンサ206、パケット処理部208、及び暗号処理部210を有する。
【0027】
CAM204は、連想記憶メモリの一例であり、受信するパケットに対する処理を示す処理情報を、受信すべきパケットのヘッダの少なくとも一部を含むキーに対応付けて、予め連想記憶する。これにより、CAM204は、処理情報格納部の機能を有する。CAM204は、外部から受け取るキーと、キーが一致するエントリ(行)に対応する処理情報を出力する。本実施形態において、CAM204は、ホームゲートウェイ100(図1参照)の起動時に、初期値格納部120(図1参照)から処理情報を受け取って格納する。
【0028】
また、CAM204は、ホームゲートウェイ100の外部に設けられた通信機器との間で確立したセッションを示すセッション情報を格納するセッション情報格納部の機能を更に有する。本実施形態において、CAM204は、更に、パケットを転送すべき経路を示す経路情報を格納する経路情報格納部の機能を有する。すなわち、本実施形態において、処理情報格納部、セッション情報格納部、及び経路情報格納部は、一のCAM204として実装され、入力されるキーに応じて、処理情報、セッション情報、又は経路情報のいずれかを出力する。
【0029】
処理情報制御部202は、ホームゲートウェイ100が受信したパケットのヘッダの少なくとも一部を抽出してCAM204にキーとして供給し、CAM204に当該パケットに対応する処理情報を出力させる。また、受信したパケットが、TCP(Transport Control Protocol)に基づくTCPパケットである場合、処理情報制御部202は、当該TCPパケットのヘッダに基づき、CAM204が格納するセッション情報を更新する。
【0030】
シーケンサ206は、予め定められた複数のシーケンスから、CAM204が出力する処理情報により指定される一のシーケンスを選択して実行する。これにより、シーケンサ206は、CAM204に格納された処理情報に基づき、パケットの処理において実行すべきシーケンスを速やかに決定し、パケットに応じたシーケンスを速やかに実行する。そのため、本実施形態によれば、受信したパケットを高速に処理することができる。
【0031】
また、パケット処理部208は、シーケンサ206が実行するシーケンスに従って、パケットを処理する。そのため、本実施形態によれば、汎用性の高い回路構成により、柔軟にパケットを処理することができる。これにより、ホームゲートウェイ100を低コストで提供することができる。すなわち、本実施形態によれば、高速にパケットを処理する情報処理装置を低コストで提供することができる。
【0032】
また、本実施形態において、パケット処理部208は、パケット中継部212及び転送処理部214を含む。パケット中継部212は、シーケンサ206が実行するシーケンスに従って、パケットのヘッダに基づき、パケットを転送処理部214に中継するか否かを判定する。また、パケットを転送処理部214に転送しない場合、パケット中継部212は、当該パケットを破棄する。
【0033】
例えば、受信したパケットに対応する処理情報をCAM204が格納していない場合、パケット中継部212は当該パケットを破棄する。また、パケット中継部212は、受信したTCPパケットのヘッダと、処理情報制御部202に格納されたセッション情報とを比較して、受信したTCPパケットが適切であるかを判定し、不適切なTCPパケットを破棄する。この場合、パケット中継部212は、セッション情報に対するキーとしてCAM204に格納された情報に基づき、当該判定を行ってよい。これにより、ホームゲートウェイ100は、安全にパケットを転送することができる。
【0034】
転送処理部214は、CAM204に格納された経路情報により指定される通信機器にパケットを転送する。本実施形態において、転送処理部214は、転送すべきパケットを、キューバッファ116に一旦格納し、シーケンサ206が実行するシーケンスに従って、転送処理を行う。この場合、転送処理部214は、処理情報に基づき、転送の優先度を決定し、当該優先度に従ってパケットを転送してよい。また、転送処理部214は、処理情報に基づき、当該パケットの転送の可否を判定してよい。
【0035】
暗号処理部210は、例えば、DES(Data Encryption Standard)、トリプルDES等の予め定められた暗号方式で暗号化されたパケットを復号する。例えば、ホームゲートウェイ100が暗号化されたパケットを受信した場合、暗号処理部210は、処理情報制御部202の指示に応じて、当該パケットを復号する。この場合、処理情報制御部202は、例えば、当該指示に応じて、パケットのヘッダ、及び当該パケットに対応する処理情報に基づき、復号の要否を判定し、復号が必要な場合には、予め定められた複数の暗号方式から当該パケットに対応する暗号方式を選択し、復号を行ってよい。
【0036】
また、暗号処理部210は、転送処理部214の指示に応じて、ホームゲートウェイ100の外部に転送するパケットを暗号化してよい。尚、処理情報制御部202は、例えば、IPsecのESP(Encapsulating Security Payload)暗号化及び復号化の処理と、事前共有鍵(Diffie−Hellman)の生成を行ってよい。
【0037】
尚、本実施形態において、CAM204、処理情報制御部202、シーケンサ206、パケット処理部208、及び暗号処理部210は、一の半導体チップにモノリシックに形成された電子回路である。そのため、本実施形態によれば、更に低コストでホームゲートウェイ100を提供することができる。
【0038】
図3は、処理情報制御部202の構成の一例を示す。処理情報制御部202は、ヘッダ抽出部302、ヘッダ格納部304、及びヘッダ処理部306を含む。また、本実施形態において、CAM204は、処理情報の一例であるクラスIDを予め格納する。クラスIDは、例えば、ユーザにより予め定められた、パケットに対する処理のフローを示す情報である。
【0039】
ヘッダ抽出部302は、ホームゲートウェイ100(図1参照)が受信したパケットの受信フレームからヘッダを抽出し、抽出したヘッダを、ヘッダ格納部304に格納(Capture)させる。また、ヘッダ抽出部302は、更に、抽出したヘッダに基づき、当該パケットのプロトコル、及び対応するアプリケーションを識別(Recognition)する。ヘッダ抽出部302は、例えば、ヘッダのチェックサム、又はヘッダが示すバージョン等により、ヘッダの正当性を検証(Verification)するのが好ましい。
【0040】
ここで、暗号化されたパケットを受け取った場合、ヘッダ抽出部302は、暗号処理部210の当該パケットを復号させる。また、ヘッダ抽出部302は、受け取ったパケットを、パケット中継部212に与える。
【0041】
ヘッダ格納部304は、ヘッダ抽出部302が抽出したヘッダの内容を示すヘッダ情報を一時記憶するレジスタである。ヘッダ格納部304は、パケット中継部212及びヘッダ処理部306のそれぞれの要求に応じて、ヘッダ情報をこれらに出力する。
【0042】
ヘッダ処理部306は、ヘッダ格納部304に格納されたヘッダ情報に基づき、クラスIDを、CAM204から取得する。これにより、ヘッダ処理部306は、パケットを、ユーザにより予め定められたクラスに分類する。そして、シーケンサ206(図2参照)は、パケットのクラスIDに対応するシーケンスを実行する。そのため、本実施形態によれば、シーケンサ206は、受信したパケットに応じたシーケンスを速やかに実行することができる。
【0043】
また、ヘッダ処理部306は、パケットのヘッダに基づき、CAM204に格納されたセッション情報を更新する。これにより、セッションを適切に管理することができる。
【0044】
図4は、ユーザにより予め定められた、パケットに対する処理のフローを識別する情報の一例を示す。CAM204は、図4が示す情報の少なくとも一部を含むキーに対応付けて、処理情報を格納してよい。本実施形態において、ヘッダ処理部306は、プロトコル番号、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号、及びアプリケーションが参照するURLの少なくとも一部を含むキーをCAM204に入力し、キーが一致するエントリに対応するクラスIDをCAM204から取得する。これにより、ヘッダ処理部306は、パケットをクラスに分類する。
【0045】
例えば、受信したパケットのヘッダが示すプロトコル番号が6であり、送信元IPアドレスが自己(ホームゲートウェイ100)のアドレスであり、宛先IPアドレスがERP(Enterprise Resource Planning)サーバのアドレスであり、送信元ポート番号が任意であり、及び宛先ポート番号がERPを示すポートである場合、CAM204は、ヘッダ処理部306からのキーの入力に応じて、ERPに基づくパケットに対する処理のフローを示すクラスIDである値01を出力する。
【0046】
また、プロトコル番号が17、送信元IPアドレスが自己のアドレス、宛先IPアドレスが任意、送信元ポート番号がVoIP(Voice over IP)の送信元を示すポート、宛先ポート番号がVoIPの宛先を示すポートである場合、CAM204は、VoIPに基づくパケットに対するクラスIDである値02を出力する。
【0047】
プロトコル番号が6、送信元IPアドレスがFTP(File Transfer Protocol)サーバ、宛先IPアドレスが自己のアドレス、送信元ポート番号が21番、宛先ポート番号が任意である場合、CAM204は、FTPに基づくパケットに対するクラスIDである値03を出力する。
【0048】
プロトコル番号が6、50、又は51、送信元IPアドレスが自己のアドレス、宛先IPアドレスが対向ルータのアドレス、送信元ポート番号がUDP(User Datagram Protocol)の500番、宛先ポート番号がUDPの500番である場合、CAM204は、IPsec(IP Security)に基づくパケットに対するクラスIDである値04を出力する。
【0049】
プロトコル番号が6、送信元IPアドレスがHTTP(Hyper TextTransfer Protocol)サーバ、宛先IPアドレスが自己のアドレス、送信元ポート番号が80番、宛先ポート番号が任意、アプリケーションが参照するURLが予め定められたURLである場合、CAM204は、HTTPに基づくパケットに対するクラスIDである値1Bを出力する。
【0050】
図5は、CAM204が処理情報を対応付けるキーの一例を示す。本実施形態において、CAM204は、パケットのヘッダに含まれるべき、送信元IPアドレス(SA)、宛先IPアドレス(DA)、送信元ポート番号(SP)、及び宛先ポート番号(DP)をキーとして、処理情報を予め格納する。別の実施例において、CAM204は、これらの少なくとも一部を含むキーに対応付けて、処理情報を格納してもよい。
【0051】
図6は、CAM204がセッション情報を対応付けるキーの一例を示す。CAM204は、それぞれのセッションに対し、予め定められたキーに対応するセッション情報を、当該セッションを示すエントリとして格納する。本実施形態において、CAM204は、TCP(Transport Control Protocol)に基づくパケットであるTCPパケットのヘッダに含まれる、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号、及びTCPの遷移状態を示すフラグと、セッションを識別するセッションIDとを含むキーに対応付けて、セッション情報を連想記憶する。別の実施例において、CAM204は、これらの少なくとも一部を含むキーに対応付けて、セッション情報を格納してもよい。
【0052】
CAM204は、セッション情報として、例えば、当該セッションに対応するクラスIDを、キーに対応付けて格納してよい。これにより、ホームゲートウェイ100は、パケットに対するセッションの処理を、パケットに対応するクラスに応じて適切に行うことができる。
【0053】
また、CAM204は、セッションIDにより、CAM204に登録された複数のセッションを識別する。本実施形態において、CAM204は、セッションIDを処理情報制御部202(図2参照)から受け取る。ホームゲートウェイ100(図1参照)が外部の通信機器と新たなセッションを確立する場合、処理情報制御部202は、当該セッションに対応するセッションIDを生成し、CAM204に新たなセッション情報に対応するエントリを格納する。本実施形態によれば、セッションを適切に管理することができる。
【0054】
図7は、情報処理部102の動作の一例を示すフローチャートである。最初に、処理情報制御部202は、ホームゲートウェイ100が受信したパケットのヘッダを抽出し(S102)、当該パケットがIPsecに基づくパケットか否かを判定する(S104)。これにより、処理情報制御部202は、パケットが、予め定められたの暗号方式で暗号化されているか否かを判定する。情報処理部102は、S102で抽出したヘッダに基づき、CAM204からクラスIDを取得し、取得したクラスIDに基づき、当該判定を行ってよい。
【0055】
次に、パケットがIPsecに基づくパケットであれば、処理情報制御部202は、当該パケットを暗号処理部210に復号させ(S106)、必要に応じてアプリケーション層のヘッダを更に抽出して、抽出したヘッダを処理する(S108)。一方。S104において、パケットがIPsecに基づくパケットでないと判定された場合、S108に進む。
【0056】
尚、S106において、処理情報制御部202は、復号されたパケットからヘッダの少なくとも一部を抽出し、これを処理情報に対するキーとして、CAM204に供給してよい。この場合、処理情報制御部202は、復号されたパケットに対応するクラスIDを改めて取得する。
【0057】
S108の次に、処理情報制御部202は、受信したパケットのセッションがCAM204に登録されているか否かを判定する(S110)。当該セッションに対応するエントリがCAM204に格納されている場合、処理情報制御部202は、当該セッションは登録済みであると判定する。そして、セッションが登録済みであり、対応するエントリにおけるフラグがTCPの遷移状態FINを示す場合(S112)、処理情報制御部202は、CAM204から、当該セッションに対応するエントリを抹消して(S114)、S122に進む。
【0058】
一方、S110において、登録済みのセッションでないと判定された場合、CAM204が、当該パケットに対応するクラスIDを格納しており(S116)、パケットのフラグがTCPの遷移状態SYNを示す場合(S118)、処理情報制御部202は、当該セッションに対応するエントリを、CAM204に、新たに格納させてセッションを登録し(S120)、S122に進む。
【0059】
ここで、S112において登録されたエントリにおけるフラグがFINでない場合、S116において処理情報制御部202がパケットに対応するクラスIDを格納していない場合、又はS118においてパケットのフラグがSYNでない場合は、それぞれS122に進む。
【0060】
そして、次に、パケット中継部212は、パケットのフラグが示す遷移状態が適切であるか否かを判定し(S122)、転送処理部214は、遷移状態が適切であると判定されたパケットを転送する(S124)。本実施形態によれば、パケットに対応するセッションを適切に管理して、パケットを適切に転送することができる。
【0061】
図8は、S122(図7参照)に示した、パケット中継部212の動作の一例を示すフローチャートである。最初に、パケット中継部212は、ヘッダ格納部304からパケットのヘッダ情報を取得し(S202)、ヘッダ情報に基づき、CAM204が、当該パケットに対応するクラスIDを格納しているか否かを判定する(S204)。
【0062】
そして、クラスIDが格納されている場合、パケットがTCPパケットであり(S206)、当該TCPパケットのセッションに対応するエントリがCAM204に登録されていれば(S208)、パケット中継部212は、当該エントリに対応するキー(図6参照)に含まれるフラグが示す遷移状態を識別する(S216)。ここで、パケット中継部212は、キーのうち、例えば、フラグ及びセッションIDをマスクして、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号をキーとして、CAM204に供給してよい。これにより、パケット中継部212は、エントリに含まれるフラグを取得する。
【0063】
そして、次に、当該フラグが示す遷移状態に応じて、TCPパケットのフラグが示す遷移状態が適切か否かを判定し(S218、S222、S226)、適切と判定された場合、パケット中継部212は動作を終了し、情報処理部102はS124(図7参照)に動作を進める。一方、適切でないと判定された場合、パケット中継部212は、当該TCPパケットを破棄して(S220、S224、S228)、動作を終了する。
【0064】
ここで、本実施形態のパケット中継部212は、S216において、キーに含まれるフラグを、SYN、FIN、又はその他のフラグのいずれであるかを識別する。そして、SYNと判定された場合、パケット中継部212は、S218において、セッションの確立判定を行って、TCPパケットのフラグが示す遷移状態が適切であるか否かを判定する。
【0065】
また、FINと判定された場合、パケット中継部212は、S222において、セッションの終了判定を行って、TCPパケットのフラグが示す遷移状態が適切であるか否かを判定する。その他のフラグと判定された場合、パケット中継部212は、S226において、送受信するパケットに基づき、転送の可否の判定を行って、TCPパケットのフラグが示す遷移状態が適切であるか否かを判定する。本実施形態によれば、CAM204に格納されたセッション情報に基づき、パケットの遷移状態が適切か否かを高速に判定することができる。また、これにより、受信したパケットを高速に処理することができる。
【0066】
ここで、S204において、パケットに対応するクラスIDが格納されていないと判定された場合、パケット中継部212は、パケットを破棄して(S210)、動作を終了する。また、S206において、パケットがUDPに基づくパケットであると判定された場合、パケット中継部212は、予め定められたUDP処理を行って(S212)、動作を終了する。S208において、TCPパケットに対応するセッションがCAM204に登録されていないと判定された場合、パケット中継部212は、例えば、IPヘッダのOptionフィールドの有無、又はアプリケーション層の内容検査等の詳細チェックを行って(S214)、動作を終了する。
【0067】
図9は、S124(図7参照)に示した、転送処理部214の動作の一例を示すフローチャートである。最初に、転送処理部214は、パケットのヘッダ情報に基づくキーを、CAM204に入力して、当該パケットに対応するクラスIDを取得する(S302)。
【0068】
次に、転送処理部214は、クラスIDに基づき、当該パケットの転送を許可するか否かを判定する(S304、S308、S312)。この場合、シーケンサ206はクラスIDにより指定されるシーケンスを実行し、転送処理部214は、当該シーケンスに従って、S304、S308、又はS312の処理を行う。
【0069】
本実施形態において、転送処理部214は、パケットのヘッダと、CAM204が格納するクラスIDとに基づき、パケットをクラスに高速に分類する。また、転送処理部214は、クラスIDにより指定される処理フローに基づき、転送の可否を適切に判定する。そのため、本実施形態によれば、パケットの処理を高速かつ適切に行うことができる。
【0070】
そして、転送が許可された場合、転送処理部214は、CAM204に格納された経路情報を検索し(S316)、当該経路情報に従ってパケットを転送する(S318)。一方、S304、S308、又はS312で転送が許可されなかった場合、転送処理部214はパケットを破棄する(S306、S310、S314)。本実施形態によれば、転送の可否を、パケットに応じて適切かつ高速に判定し、パケットを転送することができる。
【0071】
図10は、CAM204が処理情報を対応付けるキーの別の例を示す。本例において、CAM204は、パケットのヘッダにふくまれるべき、プロトコル番号及びアプリケーション情報と、クラスIDとを更にキーとして、クラスIDを格納する。この場合、パケットを更に詳細なクラスに分類して、クラスに応じた処理を行うことができる。また、これにより、パケットをより適切に処理することができる。
【0072】
尚、処理情報制御部202は、プロトコル番号、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号、クラスID、アプリケーション情報の一部をマスクした情報、例えば、送信元IPアドレス及び送信元ポート番号を、キーとしてCAM204に与えて、クラスIDを取得してよい。また、CAM204は、キーの一部であるアプリケーション情報として、例えば、アプリケーション層のヘッダが含む情報の一例である、HTTPアプリケーションが用いるURLを用いてよい。
【0073】
図11は、CAM204がセッション情報を対応付けるキーの別の例を示す。本例において、CAM204は、TCPパケットのヘッダに含まれる、タイムスタンプ(Time Stamp)、送信パケットのシーケンス番号(TCP seq#(out))、受信パケットのシーケンス番号(TCP seq#(in))、及び転送先情報(NAT data)を更にキーとして、セッション情報を格納する。本例によれば、セッションを更に詳細に管理することができる。
【0074】
ここで、CAM204は、タイムスタンプとして、セッションを確立したSYNパケットの受信時間を登録してよい。これにより、例えば同一のセッションIDに対応する複数のパケットを受信した場合、受信時刻とタイムスタンプとの時間差に基づき、それぞれのパケットの整合性を判定することができる。
【0075】
パケット中継部212は、例えば、送信及び/又は受信パケットのシーケンス番号と、送信及び/又は受信するパケットのACK番号とに基づき、受信したパケットが適切か否かを判定してよく、転送先情報に基づき、転送の可否を判定してもよい。転送処理部214は、例えば、転送先情報に基づき、例えば転送先情報が示す通信機器に、パケットを転送してよい。本例によれば、セッションをより適切に管理して、パケットを処理することができる。
【0076】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることができる。その様な変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0077】
【発明の効果】
上記説明から明らかなように、本発明によれば高速にパケットを処理する情報処理装置を低コストで提供することができる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るホームゲートウェイ100の構成の一例を示す図である。
【図2】情報処理部102の詳細な構成の一例を示す。
【図3】処理情報制御部202の構成の一例を示す。
【図4】パケットに対する処理のフローを識別する情報の一例を示す。
【図5】CAM204が処理情報を対応付けるキーの一例を示す。
【図6】CAM204がセッション情報を対応付けるキーの一例を示す。
【図7】情報処理部102の動作の一例を示すフローチャートである。
【図8】パケット中継部212の動作の一例を示すフローチャートである。
【図9】転送処理部214の動作の一例を示すフローチャートである。
【図10】CAM204が処理情報を対応付けるキーの別の例を示す。
【図11】CAM204がセッション情報を対応付けるキーの別の例を示す。
【符号の説明】
100・・・ホームゲートウェイ、102・・・情報処理部、104・・・通信インターフェース、106・・・制御インターフェース、108・・・ブリッジ、110・・・CPU、112・・・DMAコントローラ、114・・・タイマ、116・・・キューバッファ、118・・・RAM、120・・・初期値格納部、122・・・バス、150・・・サーバ、152・・・パーソナルコンピュータ、154・・・被制御機器、202・・・処理情報制御部、204・・・CAM、206・・・シーケンサ、208・・・パケット処理部、210・・・暗号処理部、212・・・パケット中継部、214・・・転送処理部、302・・・ヘッダ抽出部、304・・・ヘッダ格納部、306・・・ヘッダ処理部
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an information processing device and an information processing method. In particular, the present invention relates to an information processing apparatus that processes received information received from outside.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, an information processing apparatus that processes a received packet according to a sequence executed by a sequencer is known. The information processing apparatus processes the packet by sequentially performing a condition determination on the information indicated by the packet according to a sequence.
[0003]
[Problems to be solved by the invention]
However, in a conventional information processing apparatus, it sometimes takes time to determine information indicated by a packet. For this reason, conventionally, it has been difficult to process packets at high speed.
[0004]
Therefore, an object of the present invention is to provide an information processing apparatus and an information processing method that can solve the above-described problems. This object is achieved by a combination of features described in the independent claims. The dependent claims define further advantageous embodiments of the present invention.
[0005]
[Means for Solving the Problems]
In other words, according to the first aspect of the present invention, there is provided an information processing apparatus for processing received information received from the outside, the processing indicating the processing on the received information in association with a key including at least a part of the received information. A process information storage unit for associatively storing information in advance, and a process of extracting at least a part of the received information, supplying the information to the process information storage unit as a key, and outputting the process information corresponding to the received information to the process information storage unit An information control unit, a sequencer that executes a sequence specified by processing information output from the processing information storage unit, and a reception information processing unit that processes reception information according to the sequence executed by the sequencer.
[0006]
The processing information control unit receives the packet from the network as the reception information, the processing information storage unit stores the processing information in advance in association with a key including at least a part of the header of the packet, and the reception information processing unit The packet may be processed according to a sequence executed by the sequencer based on the processing information. The processing information storage unit may store the processing information in advance using at least a part of the source IP address, the destination IP address, the source port number, and the destination port number to be included in the header of the packet as a key. If the processing information storage unit does not store the processing information corresponding to the received packet, the reception information processing unit may discard the packet.
[0007]
A session information storage unit for storing session information indicating a session established with a communication device provided outside the information processing apparatus, wherein the received packet is a TCP packet based on TCP (Transport Control Protocol) The processing information control unit may update the session information stored in the session information storage unit based on the header of the TCP packet. When the flag included in the header of the TCP packet is SYN, the session information storage unit may newly store an entry including session information indicating a session corresponding to the TCP packet.
[0008]
The session information storage unit includes a key including at least a part of a source IP address, a destination IP address, a source port number, a destination port number, a flag, and a session ID for identifying a session, which are included in a header of the TCP packet. , The session information may be associated and stored. The session information storage unit stores session information including a flag, and the reception information processing unit determines whether a transition state indicated by the flag of the received TCP packet is appropriate as a state next to the transition state indicated by the flag included in the session information. It is determined whether or not the TCP packet is appropriate. If it is determined that the TCP packet is appropriate, the TCP packet may be processed. If the transition state indicated by the flag of the received TCP packet is determined to be appropriate as the next state, the reception information processing unit transfers the TCP packet to another communication device provided outside the information processing apparatus. Good.
[0009]
The processing information storage unit, the processing information control unit, the sequencer, the reception information processing unit, and the session information storage unit may be electronic circuits formed monolithically on one semiconductor chip. The information processing apparatus further includes a path information storage unit that is monolithically formed on the semiconductor chip and stores path information indicating a path to which a packet is to be transferred. The packet may be transferred to another provided communication device. The processing information storage unit, the session information storage unit, and the route information storage unit may be implemented as one associative memory that outputs any one of the processing information, the session information, and the route information according to the input key. .
[0010]
The processing information control unit further includes an encryption processing unit that decrypts a packet encrypted by a predetermined encryption method. The processing information control unit determines whether the packet is encrypted by the encryption method. If the packet is encrypted by the system, the packet is decrypted by the cryptographic processing unit, at least a part of the header is extracted from the decrypted packet, and supplied to the processing information storage unit as at least a part of the key. The storage unit may output processing information corresponding to the key.
[0011]
According to a second aspect of the present invention, there is provided an information processing method for processing received information received from outside, comprising: an information extracting step of extracting at least a part of the received information; At least a part of the extracted reception information is supplied as at least a part of a key to a processing information storage unit for associatively storing processing information indicating processing for the reception information in advance, and the reception information is stored in the processing information storage unit. A processing information output step of outputting processing information corresponding to the processing information, a sequence execution step of executing a sequence specified by the processing information output by the processing information storage unit, and a reception information processing step of processing reception information according to the sequence. Is provided.
[0012]
Note that the above summary of the present invention does not list all of the necessary features of the present invention, and a sub-combination of these features may also be an invention.
[0013]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, the present invention will be described through embodiments of the invention. However, the following embodiments do not limit the claimed invention, and all combinations of features described in the embodiments are solutions of the invention. It is not always necessary for the means.
[0014]
FIG. 1 shows an example of a configuration of a home gateway 100 according to an embodiment of the present invention. The home gateway 100 according to the present embodiment processes a packet received from an external communication device at high speed and transfers the packet to another communication device. The home gateway 100 may have, for example, a router function.
[0015]
The home gateway 100 includes a plurality of communication interfaces 104-1 and 104-2, a control interface 106, an information processing unit 102, a queue buffer 116, a CPU 110, a RAM 118, an initial value storage unit 120, a DMA controller 112, a timer 114, a bridge 108, and a bus. 122 is provided.
[0016]
Each of the plurality of communication interfaces 104-1 and 104-2 is communicably connected to each of the server 150 and the personal computer 152, and transmits and receives packets. Each of the plurality of communication interfaces 104-1 and 104-2 may be, for example, an Ethernet (registered trademark) or a serial interface. In the present embodiment, the communication interface 104-1 is connected to the server 150 via the Internet.
[0017]
The control interface 106 is communicably connected to the plurality of controlled devices 154-1 and 154-2 and controls them. The control interface 106 may be an interface based on, for example, 802.11b, USB, Bluetooth, IEEE 1394, or the like, and transmits and receives packets to and from a plurality of controlled devices 154-1 to 15-2 to control them.
[0018]
Each of the server 150, the personal computer 152, and the plurality of controlled devices 154-1 and 152-1 is an example of a communication device provided outside the home gateway 100. These communication devices may be connected to the communication interfaces 104-1 and 104-2 or the control interface 106 via a network such as a LAN (Local Area Network). Further, each of the plurality of controlled devices 154-1 to 15-2 may be, for example, an information device such as a digital set-top box, a digital television receiver, a home game machine, a PDA, or a mobile phone. , An HDD recorder, a digital device such as a DVD player, a home appliance such as an air conditioner or a refrigerator, or various sensors such as a thermometer or a pressure sensor.
[0019]
The information processing unit 102 is an example of an information processing device according to the present invention, and processes received information received from outside the home gateway 100. In the present embodiment, the information processing unit 102 receives and processes a packet based on an IP (Internet Protocol), which is an example of received information, from the server 150, the personal computer 152, or the controlled devices 154-1 and 152-1.
[0020]
The information processing unit 102 is connected to each of the server 150 and the personal computer 152 via a plurality of communication interfaces 104-1 and 104-2, and via the control interface 106, the bridge 108, and the bus 122, a plurality of controlled devices. 154-1 and 152-1. Then, the information processing unit 102 transfers the packet received from one communication device in the server 150, the personal computer 152, and the controlled devices 154-1 to 15-2 to another communication device.
[0021]
The queue buffer 116 is a memory such as a DRAM, for example, and is a buffer for temporarily storing packets transferred by the information processing unit 102 as a queue. The CPU 110 controls the operation of the home gateway 100. The RAM 118 is a memory to which the CPU 110 refers. The initial value storage unit 120 may be, for example, a nonvolatile memory such as a flash memory, and stores information to be set in the information processing unit 102 when the home gateway 100 starts.
[0022]
The DMA controller 112 controls the transfer of data between the control interface 106 and the RAM 118. The timer 114 controls the synchronization of the operation of the home gateway 100. The timer 114 may have, for example, a watchdog timer function. According to the present embodiment, a received packet can be appropriately processed and transferred.
[0023]
Here, the home gateway 100 may communicate with the server 150 or the like based on SNMP (Simple Network Management Protocol) or the like, and may control the plurality of controlled devices 154-1 and 152-1 based on the communication. In addition, the home gateway 100 may transmit transmission information based on information received from the plurality of controlled devices 154-1 and 152-1 to, for example, the server 150.
[0024]
For example, the home gateway 100 detects an abnormality around the camera based on an image captured by a camera, which is an example of the controlled device 154, and, if an abnormality is detected, transmits transmission information indicating the abnormality to, for example, SN May be transmitted to the server 150. In addition, the home gateway 100 may detect opening and closing of the door or gate based on an output of a magnetic sensor attached to the door or gate and transmit a result of the detection to the server 150. In these cases, the state of the home or the like where the home gateway 100 is installed can be appropriately monitored outside the home or the like. Further, thereby, it is possible to provide a disaster prevention system or the like that efficiently manages and monitors the state of the home or the like.
[0025]
In addition, the home gateway 100 may, for example, measure the usage amount of water, gas, electricity, or the like, and transmit a result of the meter reading to the server 150. In this case, it is possible to appropriately manage a lifeline of a home or the like where the home gateway 100 is installed.
[0026]
FIG. 2 illustrates an example of a detailed configuration of the information processing unit 102. The information processing unit 102 includes a CAM 204, a processing information control unit 202, a sequencer 206, a packet processing unit 208, and an encryption processing unit 210.
[0027]
The CAM 204 is an example of an associative storage memory, and stores, in advance, associative processing information indicating processing for a packet to be received, in association with a key including at least a part of a header of a packet to be received. Thus, the CAM 204 has a function of a processing information storage unit. The CAM 204 outputs processing information corresponding to an entry (row) whose key matches the key received from the outside. In the present embodiment, when the home gateway 100 (see FIG. 1) is activated, the CAM 204 receives and stores processing information from the initial value storage unit 120 (see FIG. 1).
[0028]
The CAM 204 further has a function of a session information storage unit that stores session information indicating a session established with a communication device provided outside the home gateway 100. In the present embodiment, the CAM 204 further has a function of a path information storage unit that stores path information indicating a path to which a packet should be transferred. That is, in the present embodiment, the processing information storage unit, the session information storage unit, and the route information storage unit are implemented as one CAM 204, and any one of the processing information, the session information, and the path information is used in accordance with the input key. Is output.
[0029]
The processing information control unit 202 extracts at least a part of the header of the packet received by the home gateway 100, supplies the extracted header to the CAM 204 as a key, and causes the CAM 204 to output processing information corresponding to the packet. If the received packet is a TCP packet based on TCP (Transport Control Protocol), the processing information control unit 202 updates the session information stored in the CAM 204 based on the header of the TCP packet.
[0030]
The sequencer 206 selects and executes one sequence specified by the processing information output from the CAM 204 from a plurality of predetermined sequences. As a result, the sequencer 206 quickly determines the sequence to be executed in the processing of the packet based on the processing information stored in the CAM 204, and quickly executes the sequence according to the packet. Therefore, according to the present embodiment, a received packet can be processed at high speed.
[0031]
The packet processing unit 208 processes a packet according to a sequence executed by the sequencer 206. Therefore, according to the present embodiment, a packet can be flexibly processed with a highly versatile circuit configuration. Thereby, the home gateway 100 can be provided at low cost. That is, according to the present embodiment, an information processing apparatus that processes packets at high speed can be provided at low cost.
[0032]
In the present embodiment, the packet processing unit 208 includes a packet relay unit 212 and a transfer processing unit 214. The packet relay unit 212 determines whether or not to relay the packet to the transfer processing unit 214 based on the header of the packet according to the sequence executed by the sequencer 206. When the packet is not transferred to the transfer processing unit 214, the packet relay unit 212 discards the packet.
[0033]
For example, when the CAM 204 does not store the processing information corresponding to the received packet, the packet relay unit 212 discards the packet. In addition, the packet relay unit 212 compares the header of the received TCP packet with the session information stored in the processing information control unit 202, determines whether the received TCP packet is appropriate, Discard the packet. In this case, the packet relay unit 212 may make the determination based on information stored in the CAM 204 as a key for the session information. Thereby, the home gateway 100 can safely transfer the packet.
[0034]
The transfer processing unit 214 transfers the packet to a communication device specified by the route information stored in the CAM 204. In the present embodiment, the transfer processing unit 214 temporarily stores a packet to be transferred in the queue buffer 116, and performs transfer processing according to a sequence executed by the sequencer 206. In this case, the transfer processing unit 214 may determine the transfer priority based on the processing information, and transfer the packet according to the priority. Further, the transfer processing unit 214 may determine whether the packet can be transferred based on the processing information.
[0035]
The encryption processing unit 210 decrypts a packet encrypted by a predetermined encryption method such as DES (Data Encryption Standard) and triple DES. For example, when the home gateway 100 receives an encrypted packet, the encryption processing unit 210 decrypts the packet according to an instruction from the processing information control unit 202. In this case, for example, the processing information control unit 202 determines whether or not decoding is necessary based on the header of the packet and the processing information corresponding to the packet in accordance with the instruction. An encryption method corresponding to the packet may be selected from a plurality of determined encryption methods, and decryption may be performed.
[0036]
Further, the encryption processing unit 210 may encrypt a packet to be transferred outside the home gateway 100 according to an instruction of the transfer processing unit 214. The processing information control unit 202 may perform, for example, IPsec ESP (Encapsulating Security Payload) encryption and decryption processing, and generate a pre-shared key (Diffie-Hellman).
[0037]
In this embodiment, the CAM 204, the processing information control unit 202, the sequencer 206, the packet processing unit 208, and the encryption processing unit 210 are electronic circuits formed monolithically on one semiconductor chip. Therefore, according to the present embodiment, the home gateway 100 can be provided at a lower cost.
[0038]
FIG. 3 shows an example of the configuration of the processing information control unit 202. The processing information control unit 202 includes a header extraction unit 302, a header storage unit 304, and a header processing unit 306. In the present embodiment, the CAM 204 stores a class ID, which is an example of processing information, in advance. The class ID is, for example, information indicating a processing flow for a packet, which is predetermined by the user.
[0039]
The header extraction unit 302 extracts a header from a received frame of a packet received by the home gateway 100 (see FIG. 1), and stores (Captures) the extracted header in the header storage unit 304. Further, the header extracting unit 302 further identifies (recognizes) a protocol of the packet and a corresponding application based on the extracted header. It is preferable that the header extraction unit 302 verifies the validity of the header based on, for example, the checksum of the header or the version indicated by the header.
[0040]
Here, when receiving the encrypted packet, the header extracting unit 302 causes the encryption processing unit 210 to decrypt the packet. Further, the header extracting unit 302 gives the received packet to the packet relay unit 212.
[0041]
The header storage unit 304 is a register for temporarily storing header information indicating the contents of the header extracted by the header extraction unit 302. The header storage unit 304 outputs header information to the packet relay unit 212 and the header processing unit 306 in response to each request.
[0042]
The header processing unit 306 acquires a class ID from the CAM 204 based on the header information stored in the header storage unit 304. As a result, the header processing unit 306 classifies the packet into a class predetermined by the user. Then, the sequencer 206 (see FIG. 2) executes a sequence corresponding to the class ID of the packet. Therefore, according to the present embodiment, the sequencer 206 can quickly execute a sequence according to the received packet.
[0043]
Further, the header processing unit 306 updates the session information stored in the CAM 204 based on the header of the packet. Thereby, the session can be appropriately managed.
[0044]
FIG. 4 shows an example of information for identifying a processing flow for a packet, which is predetermined by a user. The CAM 204 may store the processing information in association with a key including at least a part of the information shown in FIG. In the present embodiment, the header processing unit 306 inputs a key including at least a part of the protocol number, the source IP address, the destination IP address, the source port number, the destination port number, and the URL referred to by the application to the CAM 204. , The class ID corresponding to the entry with the matching key is obtained from the CAM 204. As a result, the header processing unit 306 classifies the packets into classes.
[0045]
For example, the protocol number indicated by the header of the received packet is 6, the source IP address is its own (home gateway 100) address, the destination IP address is the address of an ERP (Enterprise Resource Planning) server, and the source If the port number is arbitrary and the destination port number is a port indicating ERP, the CAM 204 is a class ID indicating a processing flow for a packet based on ERP in response to a key input from the header processing unit 306. Output the value 01.
[0046]
The protocol number is 17, the source IP address is its own address, the destination IP address is arbitrary, the source port number is a port indicating a VoIP (Voice over IP) source, and the destination port number is a port indicating a VoIP destination. , The CAM 204 outputs the value 02 which is the class ID for the VoIP-based packet.
[0047]
When the protocol number is 6, the source IP address is an FTP (File Transfer Protocol) server, the destination IP address is its own address, the source port number is 21, and the destination port number is arbitrary, the CAM 204 transmits the packet based on the FTP. The value 03, which is the class ID for, is output.
[0048]
The protocol number is 6, 50, or 51, the source IP address is its own address, the destination IP address is the address of the opposing router, the source port number is UDP (User Datagram Protocol) No. 500, and the destination port number is UDP 500. If it is the number, the CAM 204 outputs the value 04 which is the class ID for the packet based on IPsec (IP Security).
[0049]
The protocol number is 6, the source IP address is an HTTP (Hyper Text Transfer Protocol) server, the destination IP address is its own address, the source port number is 80, the destination port number is arbitrary, and the URL referred to by the application is predetermined. If the URL is the URL, the CAM 204 outputs the value 1B which is the class ID for the HTTP-based packet.
[0050]
FIG. 5 shows an example of a key in which the CAM 204 associates processing information. In the present embodiment, the CAM 204 uses, as keys, a source IP address (SA), a destination IP address (DA), a source port number (SP), and a destination port number (DP) to be included in a packet header. Processing information is stored in advance. In another embodiment, the CAM 204 may store the processing information in association with a key including at least a part of the processing information.
[0051]
FIG. 6 shows an example of a key used by the CAM 204 to associate session information. The CAM 204 stores, for each session, session information corresponding to a predetermined key as an entry indicating the session. In the present embodiment, the CAM 204 includes a source IP address, a destination IP address, a source port number, a destination port number, and a TCP transition state included in the header of a TCP packet that is a packet based on TCP (Transport Control Protocol). Is associated with a key including a flag indicating a session ID and a session ID for identifying a session. In another embodiment, the CAM 204 may store the session information in association with a key including at least some of them.
[0052]
The CAM 204 may store, as session information, for example, a class ID corresponding to the session in association with a key. Thereby, the home gateway 100 can appropriately perform the session processing for the packet according to the class corresponding to the packet.
[0053]
Further, the CAM 204 identifies a plurality of sessions registered in the CAM 204 based on the session ID. In the present embodiment, the CAM 204 receives the session ID from the processing information control unit 202 (see FIG. 2). When the home gateway 100 (see FIG. 1) establishes a new session with an external communication device, the processing information control unit 202 generates a session ID corresponding to the session, and stores an entry corresponding to the new session information in the CAM 204. Is stored. According to the present embodiment, a session can be appropriately managed.
[0054]
FIG. 7 is a flowchart illustrating an example of the operation of the information processing unit 102. First, the processing information control unit 202 extracts the header of the packet received by the home gateway 100 (S102), and determines whether the packet is a packet based on IPsec (S104). Thereby, the processing information control unit 202 determines whether or not the packet has been encrypted by a predetermined encryption method. The information processing unit 102 may acquire the class ID from the CAM 204 based on the header extracted in S102, and may make the determination based on the acquired class ID.
[0055]
Next, if the packet is a packet based on IPsec, the processing information control unit 202 causes the encryption processing unit 210 to decrypt the packet (S106), and further extracts and extracts the application layer header as necessary. The header is processed (S108). on the other hand. If it is determined in S104 that the packet is not a packet based on IPsec, the process proceeds to S108.
[0056]
In step S106, the processing information control unit 202 may extract at least a part of the header from the decrypted packet and supply the extracted header to the CAM 204 as a key for the processing information. In this case, the processing information control unit 202 newly acquires the class ID corresponding to the decrypted packet.
[0057]
Subsequent to S108, the processing information control unit 202 determines whether the session of the received packet is registered in the CAM 204 (S110). If an entry corresponding to the session is stored in the CAM 204, the processing information control unit 202 determines that the session has been registered. If the session has been registered and the flag in the corresponding entry indicates the transition state FIN of TCP (S112), the processing information control unit 202 deletes the entry corresponding to the session from the CAM 204 (S114). , S122.
[0058]
On the other hand, if it is determined in S110 that the session is not a registered session, the CAM 204 stores the class ID corresponding to the packet (S116), and the packet flag indicates the TCP transition state SYN (S118). The processing information control unit 202 causes the CAM 204 to newly store an entry corresponding to the session, registers the session (S120), and proceeds to S122.
[0059]
Here, if the flag in the entry registered in S112 is not FIN, if the processing information control unit 202 does not store the class ID corresponding to the packet in S116, or if the flag of the packet is not SYN in S118, Proceed to S122.
[0060]
Next, the packet relay unit 212 determines whether or not the transition state indicated by the packet flag is appropriate (S122), and the transfer processing unit 214 determines whether or not the packet whose transition state has been determined to be appropriate is determined. The transfer is performed (S124). According to the present embodiment, it is possible to appropriately manage a session corresponding to a packet and transfer the packet appropriately.
[0061]
FIG. 8 is a flowchart illustrating an example of the operation of the packet relay unit 212 illustrated in S122 (see FIG. 7). First, the packet relay unit 212 acquires the header information of the packet from the header storage unit 304 (S202), and determines whether or not the CAM 204 stores the class ID corresponding to the packet based on the header information. (S204).
[0062]
If the class ID is stored, the packet is a TCP packet (S206), and if an entry corresponding to the session of the TCP packet is registered in the CAM 204 (S208), the packet relay unit 212 The transition state indicated by the flag included in the key (see FIG. 6) corresponding to is identified (S216). Here, the packet relay unit 212 masks, for example, the flag and the session ID among the keys, and supplies the mask to the CAM 204 using the source IP address, the destination IP address, the source port number, and the destination port number as keys. Good. Thereby, the packet relay unit 212 obtains the flag included in the entry.
[0063]
Then, in accordance with the transition state indicated by the flag, it is determined whether the transition state indicated by the flag of the TCP packet is appropriate (S218, S222, S226). Ends the operation, and the information processing section 102 advances the operation to S124 (see FIG. 7). On the other hand, when it is determined that the packet is not appropriate, the packet relay unit 212 discards the TCP packet (S220, S224, S228) and ends the operation.
[0064]
Here, in S216, the packet relay unit 212 of the present embodiment identifies whether the flag included in the key is SYN, FIN, or another flag. If it is determined that the packet is SYN, the packet relay unit 212 performs a session establishment determination in step S218 to determine whether the transition state indicated by the TCP packet flag is appropriate.
[0065]
If it is determined that the packet is FIN, the packet relay unit 212 performs a session termination determination in S222 to determine whether the transition state indicated by the TCP packet flag is appropriate. If determined to be any other flag, in step S226, the packet relay unit 212 determines whether transfer is possible based on the packet to be transmitted and received, and determines whether the transition state indicated by the flag of the TCP packet is appropriate. I do. According to the present embodiment, it is possible to quickly determine whether or not the transition state of a packet is appropriate based on the session information stored in the CAM 204. In addition, the received packet can be processed at high speed.
[0066]
Here, if it is determined in S204 that the class ID corresponding to the packet is not stored, the packet relay unit 212 discards the packet (S210) and ends the operation. If it is determined in S206 that the packet is a UDP-based packet, the packet relay unit 212 performs a predetermined UDP process (S212), and ends the operation. In S208, when it is determined that the session corresponding to the TCP packet is not registered in the CAM 204, the packet relay unit 212 performs a detailed check such as the presence / absence of an Option field of the IP header or a content inspection of the application layer. (S214), the operation ends.
[0067]
FIG. 9 is a flowchart showing an example of the operation of the transfer processing unit 214 shown in S124 (see FIG. 7). First, the transfer processing unit 214 inputs a key based on the header information of a packet to the CAM 204, and acquires a class ID corresponding to the packet (S302).
[0068]
Next, the transfer processing unit 214 determines whether to permit the transfer of the packet based on the class ID (S304, S308, S312). In this case, the sequencer 206 executes the sequence specified by the class ID, and the transfer processing unit 214 performs the processing of S304, S308, or S312 according to the sequence.
[0069]
In the present embodiment, the transfer processing unit 214 classifies the packet into classes at high speed based on the header of the packet and the class ID stored in the CAM 204. Further, the transfer processing unit 214 appropriately determines whether or not transfer is possible based on the processing flow specified by the class ID. Therefore, according to the present embodiment, packet processing can be performed quickly and appropriately.
[0070]
Then, when the transfer is permitted, the transfer processing unit 214 searches for the route information stored in the CAM 204 (S316), and transfers the packet according to the route information (S318). On the other hand, if the transfer is not permitted in S304, S308, or S312, the transfer processing unit 214 discards the packet (S306, S310, S314). According to the present embodiment, the propriety of transfer can be determined appropriately and at high speed according to the packet, and the packet can be transferred.
[0071]
FIG. 10 shows another example of a key in which the CAM 204 associates processing information. In this example, the CAM 204 stores a class ID, further using a protocol number and application information to be included in a packet header and a class ID as keys. In this case, the packets can be classified into more detailed classes, and processing according to the classes can be performed. In addition, this makes it possible to process packets more appropriately.
[0072]
It should be noted that the processing information control unit 202 includes a protocol number, a source IP address, a destination IP address, a source port number, a destination port number, a class ID, and information obtained by masking a part of the application information. The source port number may be given as a key to the CAM 204 to obtain the class ID. The CAM 204 may use, for example, a URL used by an HTTP application, which is an example of information included in a header of an application layer, as application information that is a part of a key.
[0073]
FIG. 11 shows another example of a key in which the CAM 204 associates session information. In this example, the CAM 204 includes a time stamp (Time Stamp), a sequence number of a transmission packet (TCP seq # (out)), a sequence number of a reception packet (TCP seq # (in)) included in the header of the TCP packet, Further, session information is stored using the transfer destination information (NAT data) as a key. According to this example, the session can be managed in more detail.
[0074]
Here, the CAM 204 may register, as the time stamp, the reception time of the SYN packet that established the session. Thus, for example, when a plurality of packets corresponding to the same session ID are received, it is possible to determine the consistency of each packet based on the time difference between the reception time and the time stamp.
[0075]
The packet relay unit 212 may determine whether the received packet is appropriate based on, for example, the sequence number of the transmission and / or reception packet and the ACK number of the packet to be transmitted and / or received. May be determined based on the above. The transfer processing unit 214 may transfer the packet to, for example, the communication device indicated by the transfer destination information based on the transfer destination information. According to this example, it is possible to process a packet by managing the session more appropriately.
[0076]
As described above, the present invention has been described using the embodiments, but the technical scope of the present invention is not limited to the scope described in the above embodiments. Various changes or improvements can be added to the above embodiment. It is apparent from the description of the appended claims that embodiments with such changes or improvements can be included in the technical scope of the present invention.
[0077]
【The invention's effect】
As is clear from the above description, according to the present invention, an information processing apparatus that processes packets at high speed can be provided at low cost.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating an example of a configuration of a home gateway 100 according to an embodiment of the present invention.
FIG. 2 illustrates an example of a detailed configuration of an information processing unit 102.
FIG. 3 shows an example of the configuration of a processing information control unit 202.
FIG. 4 shows an example of information for identifying a processing flow for a packet.
FIG. 5 shows an example of a key that the CAM 204 associates with processing information.
FIG. 6 shows an example of a key that the CAM 204 associates with session information.
FIG. 7 is a flowchart illustrating an example of an operation of the information processing unit 102.
FIG. 8 is a flowchart illustrating an example of the operation of the packet relay unit 212.
FIG. 9 is a flowchart illustrating an example of the operation of the transfer processing unit 214.
FIG. 10 shows another example of a key in which the CAM 204 associates processing information.
FIG. 11 shows another example of a key in which the CAM 204 associates session information.
[Explanation of symbols]
100: Home gateway, 102: Information processing unit, 104: Communication interface, 106: Control interface, 108: Bridge, 110: CPU, 112: DMA controller, 114 .. Timer, 116 queue buffer, 118 RAM 120 initial value storage unit 122 bus 150 server 152 personal computer 154 receiver Control device, 202: processing information control unit, 204: CAM, 206: sequencer, 208: packet processing unit, 210: encryption processing unit, 212: packet relay unit, 214 ..Transfer processing unit, 302: header extraction unit, 304: header storage unit, 306: header processing unit

Claims (14)

外部から受信した受信情報を処理する情報処理装置であって、
前記受信情報の少なくとも一部を含むキーに対応付けて、当該受信情報に対する処理を示す処理情報を、予め連想記憶する処理情報格納部と、
前記受信情報の少なくとも一部を抽出して前記処理情報格納部に前記キーとして供給し、前記処理情報格納部に当該受信情報に対応する前記処理情報を出力させる処理情報制御部と、
前記処理情報格納部が出力する前記処理情報により指定されるシーケンスを実行するシーケンサと、
前記シーケンサが実行する前記シーケンスに従って、前記受信情報を処理する受信情報処理部と
を備えることを特徴とする情報処理装置。
An information processing device for processing received information received from outside,
A processing information storage unit that associates processing information indicating processing for the reception information with a key including at least a part of the reception information in advance, and associatively stores the processing information.
A processing information control unit that extracts at least a part of the reception information and supplies the processing information storage unit as the key, and causes the processing information storage unit to output the processing information corresponding to the reception information;
A sequencer that executes a sequence specified by the processing information output by the processing information storage unit;
An information processing apparatus, comprising: a reception information processing unit that processes the reception information in accordance with the sequence executed by the sequencer.
前記処理情報制御部は、前記受信情報として、ネットワークからパケットを受信し、
前記処理情報格納部は、前記パケットのヘッダの少なくとも一部を含む前記キーに対応付けて、前記処理情報を予め格納し、
前記受信情報処理部は、前記処理情報に基づいて前記シーケンサが実行する前記シーケンスに従って、前記パケットを処理することを特徴とする請求項1に記載の情報処理装置。
The processing information control unit receives a packet from a network as the reception information,
The processing information storage unit stores the processing information in advance in association with the key including at least a part of a header of the packet,
The information processing apparatus according to claim 1, wherein the reception information processing unit processes the packet according to the sequence executed by the sequencer based on the processing information.
前記処理情報格納部は、前記パケットのヘッダに含まれるべき、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、及び宛先ポート番号の少なくとも一部を前記キーとして、前記処理情報を予め格納することを特徴とする請求項2に記載の情報処理装置。The processing information storage unit stores the processing information in advance using at least a part of a source IP address, a destination IP address, a source port number, and a destination port number to be included in a header of the packet as the key. The information processing apparatus according to claim 2, wherein: 受信した前記パケットに対応する前記処理情報を前記処理情報格納部が格納していない場合、前記受信情報処理部は前記パケットを破棄することを特徴とする請求項2に記載の情報処理装置。The information processing apparatus according to claim 2, wherein, when the processing information corresponding to the received packet is not stored in the processing information storage unit, the reception information processing unit discards the packet. 前記情報処理装置の外部に設けられた通信機器との間で確立したセッションを示すセッション情報を格納するセッション情報格納部を更に備え、
受信した前記パケットがTCP(Transport Control Protocol)に基づくTCPパケットである場合、前記処理情報制御部は、当該TCPパケットのヘッダに基づき、前記セッション情報格納部が格納する前記セッション情報を更新することを特徴とする請求項2に記載の情報処理装置。
A session information storage unit that stores session information indicating a session established with a communication device provided outside the information processing apparatus,
When the received packet is a TCP packet based on TCP (Transport Control Protocol), the processing information control unit updates the session information stored in the session information storage unit based on a header of the TCP packet. The information processing apparatus according to claim 2, wherein
前記TCPパケットの前記ヘッダに含まれるフラグがSYNである場合、前記セッション情報格納部は、当該TCPパケットに対応するセッションを示す前記セッション情報を含むエントリを、新たに格納することを特徴とする請求項5に記載の情報処理装置。When the flag included in the header of the TCP packet is SYN, the session information storage unit newly stores an entry including the session information indicating a session corresponding to the TCP packet. Item 6. The information processing device according to item 5. 前記セッション情報格納部は、前記TCPパケットのヘッダに含まれる、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号、及びフラグと、前記セッションを識別するセッションIDとの少なくとも一部を含むキーに対応付けて、前記セッション情報を連想記憶することを特徴とする請求項5に記載の情報処理装置。The session information storage unit includes at least a part of a source IP address, a destination IP address, a source port number, a destination port number, and a flag included in a header of the TCP packet, and a session ID for identifying the session. The information processing apparatus according to claim 5, wherein the session information is associated and stored in association with a key including: 前記セッション情報格納部は、前記フラグを含む前記セッション情報を格納し、
前記受信情報処理部は、受信した前記TCPパケットのフラグが示す遷移状態が、前記セッション情報に含まれる前記フラグが示す遷移状態の次の状態として適切か否かを判定し、適切であると判定した場合には当該TCPパケットを処理し、適切でないと判定した場合には当該TCPパケットを破棄することを特徴とする請求項7に記載の情報処理装置。
The session information storage unit stores the session information including the flag,
The reception information processing unit determines whether a transition state indicated by a flag of the received TCP packet is appropriate as a state next to the transition state indicated by the flag included in the session information, and determines that the state is appropriate. 8. The information processing apparatus according to claim 7, wherein the TCP packet is processed in a case where it is performed, and the TCP packet is discarded in a case where it is determined that the TCP packet is not appropriate.
受信した前記TCPパケットのフラグが示す遷移状態が、前記次の状態として適切と判定された場合、前記受信情報処理部は、前記TCPパケットを前記情報処理装置の外部に設けられた他の通信機器に転送することを特徴とする請求項8に記載の情報処理装置。When the transition state indicated by the flag of the received TCP packet is determined to be appropriate as the next state, the reception information processing unit transmits the TCP packet to another communication device provided outside the information processing apparatus. The information processing apparatus according to claim 8, wherein the information is transmitted to the information processing apparatus. 前記処理情報格納部、前記処理情報制御部、前記シーケンサ、前記受信情報処理部、及び前記セッション情報格納部は、一の半導体チップにモノリシックに形成された電子回路であることを特徴とする請求項5に記載の情報処理装置。The processing information storage unit, the processing information control unit, the sequencer, the reception information processing unit, and the session information storage unit are electronic circuits formed monolithically on one semiconductor chip. 6. The information processing apparatus according to 5. 前記半導体チップにモノリシックに形成され、前記パケットを転送すべき経路を示す経路情報を格納する経路情報格納部を更に備え、
前記受信情報処理部は、前記経路情報により指定される、前記情報処理装置の外部に設けられた他の通信機器に、前記パケットを転送することを特徴とする請求項10に記載の情報処理装置。
A path information storage unit that is formed monolithically on the semiconductor chip and stores path information indicating a path to which the packet is to be transferred;
The information processing apparatus according to claim 10, wherein the reception information processing unit transfers the packet to another communication device provided outside the information processing apparatus and designated by the path information. .
前記処理情報格納部、前記セッション情報格納部、及び前記経路情報格納部は、入力されるキーに応じて、前記処理情報、前記セッション情報、又は前記経路情報のいずれかを出力する一の連想記憶メモリとして実装されることを特徴とする請求項11に記載の情報処理装置。The processing information storage unit, the session information storage unit, and the path information storage unit each output one of the processing information, the session information, or the path information according to an input key. The information processing apparatus according to claim 11, wherein the information processing apparatus is implemented as a memory. 予め定められた暗号方式で暗号化された前記パケットを復号する暗号処理部を更に備え、
前記処理情報制御部は、前記パケットが、前記暗号方式で暗号化されているか否かを判定し、前記パケットが前記暗号方式で暗号化されている場合、当該パケットを前記暗号処理部に復号させ、復号された前記パケットから前記ヘッダの少なくとも一部を抽出して、前記処理情報格納部に前記キーの少なくとも一部として供給し、
前記処理情報格納部は当該キーに対応する前記処理情報を出力することを特徴とする請求項2に記載の情報処理装置。
Further comprising an encryption processing unit for decrypting the packet encrypted by a predetermined encryption method,
The processing information control unit determines whether or not the packet is encrypted by the encryption method, and when the packet is encrypted by the encryption method, causes the encryption processing unit to decrypt the packet. Extracting at least a part of the header from the decrypted packet, supplying the processing information storage unit as at least a part of the key,
The information processing apparatus according to claim 2, wherein the processing information storage unit outputs the processing information corresponding to the key.
外部から受信した受信情報を処理する情報処理方法であって、
前記受信情報の少なくとも一部を抽出する情報抽出段階と、
前記受信情報の少なくとも一部を含むキーに対応付けて、当該受信情報に対する処理を示す処理情報を予め連想記憶する処理情報格納部に、抽出した前記受信情報の少なくとも一部をキーの少なくとも一部として供給し、前記処理情報格納部に当該受信情報に対応する前記処理情報を出力させる処理情報出力段階と、
前記処理情報格納部が出力する前記処理情報により指定されるシーケンスを実行するシーケンス実行段階と、
前記シーケンスに従って、前記受信情報を処理する受信情報処理段階と
を備えることを特徴とする情報処理方法。
An information processing method for processing received information received from outside,
An information extracting step of extracting at least a part of the received information,
At least a part of the extracted received information is stored in a processing information storage unit that associates processing information indicating a process for the received information with a key including at least a part of the received information in advance. And processing information output step of outputting the processing information corresponding to the received information in the processing information storage unit,
A sequence execution step of executing a sequence specified by the processing information output by the processing information storage unit;
A receiving information processing step of processing the received information in accordance with the sequence.
JP2002263437A 2002-09-09 2002-09-09 Information processing apparatus and information processing method Expired - Fee Related JP4195264B2 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2002263437A JP4195264B2 (en) 2002-09-09 2002-09-09 Information processing apparatus and information processing method
AU2003261982A AU2003261982A1 (en) 2002-09-09 2003-09-08 Information processing apparatus, and information processing method
PCT/JP2003/011405 WO2004023744A1 (en) 2002-09-09 2003-09-08 Information processing apparatus, and information processing method
TW92124829A TW200410530A (en) 2002-09-09 2003-09-09 Information processing device and method thereof
US10/906,836 US20050141508A1 (en) 2002-09-09 2005-03-08 Information processing apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002263437A JP4195264B2 (en) 2002-09-09 2002-09-09 Information processing apparatus and information processing method

Publications (2)

Publication Number Publication Date
JP2004104450A true JP2004104450A (en) 2004-04-02
JP4195264B2 JP4195264B2 (en) 2008-12-10

Family

ID=31973185

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002263437A Expired - Fee Related JP4195264B2 (en) 2002-09-09 2002-09-09 Information processing apparatus and information processing method

Country Status (4)

Country Link
JP (1) JP4195264B2 (en)
AU (1) AU2003261982A1 (en)
TW (1) TW200410530A (en)
WO (1) WO2004023744A1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006074780A (en) * 2004-09-02 2006-03-16 Internatl Business Mach Corp <Ibm> Low-latency data decryption interface
JP2007013793A (en) * 2005-07-01 2007-01-18 Mitsubishi Electric Corp Home gateway apparatus
WO2007010593A1 (en) * 2005-07-15 2007-01-25 Fujitsu Limited Tcp session emulator
JP2011522491A (en) * 2008-05-29 2011-07-28 クゥアルコム・インコーポレイテッド Fixed telephone and mobile phone (FMC) architecture
JP5397470B2 (en) * 2009-06-04 2014-01-22 日本電気株式会社 Gateway apparatus and method and system
US8984105B2 (en) 2008-05-27 2015-03-17 Qualcomm Incorporated FMC architecture for CDMA network

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03273738A (en) * 1990-03-22 1991-12-04 Nec Corp Packet address conversion circuit
JPH10276225A (en) * 1997-03-31 1998-10-13 Kawasaki Steel Corp Network repeater
JPH1198143A (en) * 1997-09-17 1999-04-09 Toshiba Corp Atm repeater

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006074780A (en) * 2004-09-02 2006-03-16 Internatl Business Mach Corp <Ibm> Low-latency data decryption interface
US8069353B2 (en) 2004-09-02 2011-11-29 International Business Machines Corporation Low-latency data decryption interface
JP2007013793A (en) * 2005-07-01 2007-01-18 Mitsubishi Electric Corp Home gateway apparatus
WO2007010593A1 (en) * 2005-07-15 2007-01-25 Fujitsu Limited Tcp session emulator
US8984105B2 (en) 2008-05-27 2015-03-17 Qualcomm Incorporated FMC architecture for CDMA network
JP2011522491A (en) * 2008-05-29 2011-07-28 クゥアルコム・インコーポレイテッド Fixed telephone and mobile phone (FMC) architecture
JP5397470B2 (en) * 2009-06-04 2014-01-22 日本電気株式会社 Gateway apparatus and method and system
US8681761B2 (en) 2009-06-04 2014-03-25 Nec Corporation Gateway apparatus, method, and system

Also Published As

Publication number Publication date
TW200410530A (en) 2004-06-16
AU2003261982A1 (en) 2004-03-29
WO2004023744A1 (en) 2004-03-18
JP4195264B2 (en) 2008-12-10

Similar Documents

Publication Publication Date Title
US10868893B2 (en) Network interface device
US8705348B2 (en) Use of metadata for time based anti-replay
JP4107213B2 (en) Packet judgment device
JP5205075B2 (en) Encryption processing method, encryption processing device, decryption processing method, and decryption processing device
US11240150B2 (en) Applying attestation to segment routing
US20090037587A1 (en) Communication system, communication apparatus, communication method, and program
JP2020017809A (en) Communication apparatus and communication system
US20050141508A1 (en) Information processing apparatus and method
CN112134893B (en) Internet of things safety protection method and device, electronic equipment and storage medium
US10936700B2 (en) Method and system for detecting pirated video network traffic
CN111935212B (en) Security router and Internet of things security networking method based on security router
US20080028210A1 (en) Packet cipher processor and method
US8010787B2 (en) Communication device, communication log transmitting method suitable for communication device, and communication system
AU2004297923A1 (en) Method and apparatus to inline encryption and decryption for a wireless station
JP4195264B2 (en) Information processing apparatus and information processing method
JP4933286B2 (en) Encrypted packet communication system
CN110912941A (en) Transmission processing method and device for multicast data
CN115766902A (en) Method, device, equipment and medium for transmitting non-sensitive data through QUIC
Heigl et al. A resource-preserving self-regulating Uncoupled MAC algorithm to be applied in incident detection
US20230127007A1 (en) System and method for secure transfer of completely encrypted data at wire speeds
KR101628094B1 (en) Security apparatus and method for permitting access thereof
Groen et al. Securing O-RAN Open Interfaces
Ciobanu et al. Steganography and cryptography over network protocols
Sheela et al. Quick multimedia data transfer with QUIC
Mandal Covert Channel over ICMP

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050909

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080212

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080414

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080507

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080704

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080826

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080925

R150 Certificate of patent or registration of utility model

Ref document number: 4195264

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20111003

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

Free format text: PAYMENT UNTIL: 20111003

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20111003

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20121003

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20131003

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees