JP2006180246A - Ipパケット処理装置 - Google Patents
Ipパケット処理装置 Download PDFInfo
- Publication number
- JP2006180246A JP2006180246A JP2004371754A JP2004371754A JP2006180246A JP 2006180246 A JP2006180246 A JP 2006180246A JP 2004371754 A JP2004371754 A JP 2004371754A JP 2004371754 A JP2004371754 A JP 2004371754A JP 2006180246 A JP2006180246 A JP 2006180246A
- Authority
- JP
- Japan
- Prior art keywords
- action
- packet
- circuit
- processing
- data
- 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
Links
Images
Landscapes
- Communication Control (AREA)
Abstract
【課題】 IPv6に準拠して動作する通信制御部をハードウエア化することができ、CPUの処理能力に影響されることのない高速通信を実現すること。
【解決手段】 複数のインターフェース部30−1〜30−n、31でCPU11又はネットワークからのパケットデータを受信し、送受信用メモリ23にコピーする。送受信用メモリ23から読み出したパケットデータを複数のバッファ24,25,26間を順次転送し、処理バッファ26から送受信用メモリ23にパケットデータをコピーする。受信パケットの処理工程を複数アクションに分割して、パケット毎に定まる各アクションの処理内容を順番にアクション指示発生回路102−1〜102−n、アクション回路103−1〜103−nでハードウエア処理し、パケットデータがバッファ24,25,26間を転送してRX BUFからTX BUFに一方向へ移動するようにした。
【選択図】 図2
【解決手段】 複数のインターフェース部30−1〜30−n、31でCPU11又はネットワークからのパケットデータを受信し、送受信用メモリ23にコピーする。送受信用メモリ23から読み出したパケットデータを複数のバッファ24,25,26間を順次転送し、処理バッファ26から送受信用メモリ23にパケットデータをコピーする。受信パケットの処理工程を複数アクションに分割して、パケット毎に定まる各アクションの処理内容を順番にアクション指示発生回路102−1〜102−n、アクション回路103−1〜103−nでハードウエア処理し、パケットデータがバッファ24,25,26間を転送してRX BUFからTX BUFに一方向へ移動するようにした。
【選択図】 図2
Description
本発明は、IP(インターネットプロトコル)の下でパケットデータを処理するIPパケット処理装置に係り、特にIPv6の通信プロトコルに基づいた通信制御を実現するためのIPパケット処理装置に関する。
ルータ、IP電話、IPカメラ、ネット家電等のIPネットワーク対応の通信機器は、受信パケット又は送信パケットを装置内に取り込んで解析し暗号認証等の処理を行ってから装置外へ送り出すIPパケット処理装置を備えている。かかるIPパケット処理装置は、ネットワークインターフェース(以下、ネットワークI/F部という)を介してIPネットワークに接続し、CPUがデータバッファを利用して送受信パケットの処理を行っていた。しかし、全てのパケット処理をCPUによるソフトウエア処理で行ったのでは、CPUの負荷が大きくなりすぎて処理効率が低下するという問題がある。IPv6をサポートするIPsec対応の通信機器の場合、暗号(暗号化/復号化)処理並びに認証処理といった特別の処理がある。そのため、IPsec等の特定の演算だけを専用のハードウエア回路で行うことにより、CPUの負荷を軽減し高速動作を実現することが考えられている(例えば特許文献1参照)。
特開2004−304696号公報
しかしながら、CPUによるソフトウエア処理と専用の演算回路によるハードウエア処理との組合せでパケット処理を行う方式の場合、メモリ、CPU及び演算回路間のデータ転送が頻繁に発生し、データ転送に使用するデータバスに掛かる負荷が大きくなる傾向にあり、パケット処理能力の向上を妨げる要因となっていた。
本発明は、以上のような実情に鑑みてなされたものであり、IPv6に準拠して動作する通信制御部をハードウエア化することができ、CPUの処理能力に影響されることのない高速通信を実現したIPパケット処理装置を提供することを目的とする。
本発明は、受信パケットの処理工程を通信プロトコルに対応した複数アクションに分割し、パケット毎に定まる各アクションの処理内容を順番にハードウエア処理し、パケットデータが各アクションで順次必要な処理を加えられながら受信バッファから送信バッファに向けて一方向へバッファ間を移動するようなハードウエア構成とした。
このように、受信パケットの処理工程を通信プロトコルに対応した複数アクションに分割することにより、個々のアクションの処理をハードウエアで処理可能になる。また、パケットデータに対し各アクションで順次必要な処理を加えながらバッファ間を一方向へ移動させるので、受信パケットの処理工程に関してパイプライン的なハードウエア処理が可能になり、CPUが介在することなく、受信パケットを廃棄することなくスムーズに入力IFから出力IFへ移動でき、CPUの処理能力に影響されることのない高速通信を実現できる。
本発明によれば、IPv6に基づいて動作する通信制御部をハードウエア化することができ、CPUの処理能力に影響されることのない高速通信を実現するIPパケット処理装置を提供できる。
本発明の第1の態様は、CPU又はネットワークとの間でパケットデータを送受信する複数のインターフェース部と、前記インターフェース部からパケットデータがコピーされる受信バッファと、受信バッファから読み出したパケットデータが順次転送される複数の処理バッファと、最終段の処理バッファからパケットデータがコピーされる送信バッファと、受信パケットの処理工程を通信プロトコルに対応した複数アクションに分割して、パケット毎に定まる各アクションの処理内容を順番にハードウエア処理し、パケットデータが処理バッファ間を転送して受信バッファから送信バッファに一方向へ移動するようにしたステート制御回路と、を具備したパケット処理装置である。
このように構成したパケット処理装置によれば、パケット処理をハードウエア処理可能になるので、CPUの負荷を軽減できると共にCPUの処理能力に依らず高速処理が可能になる。
本発明の第2の態様は、第1の態様のパケット処理装置において、前記ステート制御回路は、直列に接続した複数のアクション指示発生回路と、各アクション指示発生回路に対してそれぞれ設けられた複数のアクション回路とを備え、前記各アクション指示発生回路は、対応するアクション回路のアクション開始と完了を管理し、上段のアクション指示発生回路からのリクエストを受け付けると対応するアクション回路へアクション開始指示信号を出し、対応するアクション回路からアクション完了信号を受けると下段のアクション指示発生回路にリクエストを出力し、前記各アクション回路は、アクション指示発生回路からアクション開始指示信号を受けてパケット毎に定まる処理内容を実行し、処理完了すると前記アクション指示発生回路に対してアクション完了信号を出力するものとした。
これにより、パケット毎に定まる各アクションの処理内容を該当アクション回路が判定して順次ハードウエア処理し、通信プロトコルに基づいた一連の処理工程をハードウエア処理できる。また、各アクション指示発生回路が対応するアクション回路のアクション開始と完了を管理するので通信プロトコルに基づいた一連の処理工程が上流から下流に向けて順番に処理されていくこととなる。
本発明の第3の態様は、第2の態様のパケット処理装置において、前記ステート制御回路は、優先的にアクセス可能な位置に配置され受信パケット毎にパケット制御情報が格納される制御用メモリを備え、前記各アクション回路は、アクション開始後の初期段階で前記制御用メモリにアクセスして対象パケットのパケット制御情報から当該パケットの処理を実行するか否かの判定を行うものとした。
このように、優先的にアクセス可能な制御用メモリにパケット制御情報を格納したのでバス調停回路を経由する外部アクセスに比べて処理を高速化でき、またアクション開始後の初期段階で当該パケットの処理を実行するか否かの判定を行うので処理を実行する必要の無い場合は当該処理を飛ばすことができる。
本発明の第4の態様は、第3の態様のパケット処理装置において、前記各アクション回路は、パケット毎に定まる処理内容を実行する過程で得られた、後続アクション回路が使用する情報を、前記制御用メモリ上の該当パケット制御情報にコピーするものとした。
これにより、後段のアクション回路は前段のアクション回路が取得した情報をパケット制御情報から取得でき、重複した処理を回避して処理の効率化を図ることができる。
本発明の第5の態様は、第2から第4のいずれかの態様のパケット処理装置において、前記複数アクション回路は、アクション開始指示信号を受けたら、実質的な処理を行うこと無く、次の動作タイミングでアクション完了信号を出力する空アクション回路を含むものとした。
このように、空アクション回路を挿入したことにより、次段のアクション回路での処理開始タイミングを遅らせる方向に調整することができ、処理に時間を要するアクションがあってもパケットの廃棄を防止してスループットを改善することができる。
本発明の第6の態様は、第5の態様のパケット処理装置において、前記空アクション回路を、暗号化されたパケットデータを復号化するアクションを割り当てたアクション回路の直前に、複数個配置するものとした。
暗号化されたパケットデータを復号化するアクションはパケットデータのデータ量が大きいと後続パケットが停滞する可能性があるので、そのような場所に空アクション回路を複数個配置することにより、復号化を割り当てたアクション回路の手前で後続パケットが廃棄されるのを防止できる。
本発明の第7の態様は、第5の態様のパケット処理装置において、前記空アクション回路を、平文のパケットデータを暗号化するアクションを割り当てたアクション回路の直前に、複数個配置するものとした。
平文のパケットデータを暗号化するアクションはパケットデータのデータ量が大きいと後続パケットが停滞する可能性があるので、そのような場所に空アクション回路を複数個配置することにより、暗号化を割り当てたアクション回路の手前で後続パケットが廃棄されるのを防止できる。
本発明の第8の態様は、第5の態様のパケット処理装置において、前記空アクション回路を、処理バッファからパケットデータの一部を前記制御用メモリ上の該当パケット制御情報にコピーするアクションを割り当てたアクション回路の直前に、複数個配置するものとした。
処理バッファからパケットデータの一部をパケット制御情報にコピーするアクションは処理バッファへのアクセスで待ち時間が発生する。そのような場所に空アクション回路を複数個配置することにより、パケットデータのコピーを割り当てたアクション回路の手前で後続パケットが廃棄されるのを防止できる。
以下、本発明のIPパケット処理装置の一実施の形態について図面を参照して具体的に説明する。
図1はIPv6をサポートしている通信機器に備えたIPパケット処理装置の機能ブロック図である。同図に示すパケット処理装置は、CPU11、IPv6フォワーディング制御用LSI回路(以下、IPv6用LSI回路という)12、DA変換機能を有するPHY部13−1〜13−nを主な構成要素としている。PHY部13−1〜13−nの先に、各ネットワークケーブルに物理的に接続するコネクタが設置される。本実施の形態では、当該通信機器をインターネット等のIPネットワークに接続するものとするが、このような形態に限定されるものではない。
IPv6用LSI回路12は、IPv6に対応したフォワーディング制御をCPU11が介在することなく実行するハードウエア回路である。IPv6用LSI回路12は、暗号化/復号化処理及び認証処理をハードウエアにて実行する暗号認証回路21と、テーブルを内蔵するステート制御部22と、受信したIPパケット、CPU11からのイーサフレームやIPパケットが格納される送受信用メモリ23と、IPパケットやイーサフレームのフォワーディング制御において使用する複数のバッファメモリ24、25、26と、これらメモリ間のデータ転送のためのDMAコントローラ27とを備える。IPv6用LSI回路12内部でのデータ転送は内部バスを経由して行われるが、バス調停回路28が内部バスの動作管理を行う。なお、制御用メモリ29はステート制御部22が優先的に使用可能な内部メモリであり、処理パケットの制御情報を記述したパケットディスクリプタが格納(登録)される。IPv6用LSI回路12は、各PHY部13−1〜13−nに対してネットワークI/F部30−1〜30−nを介して接続される。ネットワークI/F部30−1〜30−nは当該通信機器が接続されるネットワークのプロトコルに対応したインターフェース機能をサポートしている。
図2は、IPv6用LSI回路12で行うフォワーディング制御の概念図である。同図において、図1に示す送受信用メモリ23を「TX/RX BUF」、図1に示すメモリ24を「BUF1」、図1に示すメモリ25を「BUF2」、図1に示すメモリ26を「BUF3」、図1に示すネットワークI/F部30−1、30−2を「EtherMAC」と表示している。図1に示す暗号認証回路21のうち復号化回路を「Cipher(decryption)」とし、暗号認証回路21のうち暗号化回路を「Cipher(encryption)」として表示している。なお、図1にはCPU11とのインターフェース部は図示されていないが、図2ではCPUi/f31として示している。
ネットワークから受信したIPパケット又はホスト側から与えられたIPパケットは、双方共にIPv6用LSI回路12にて処理される。
ステート制御部22は、RX BUF(23)に新たなパケットを受信すると、当該パケットに対してパケットディスクリプタを割り当てた後、BUF1へデータ転送する。これにより、RX BUF(23)に対して後続パケットデータを連続的に格納することが可能になる。
ステート制御部22は、BUF1(24)がオーバーフローする前に後段のBUF2(25)へデータ転送する。図2の例では、BUF1(24)からBUF2(25)へのデータ転送の際にパケットデータを復号化するか否か判断し、復号化の必要がある場合は復号化している。ステート制御部22は、Cipher(decryption)(21)に対して復号化処理を指示する。復号化の要否は当該パケットに関して生成したパケットディスクリプタを参照することにより判断できる。BUF1(24)のデータはCipher(decryption)(21)で復号化処理してからBUF2(25)へ転送する。BUF1(24)のデータを復号化する必要がない場合は、Cipher(decryption)(21)で復号化処理することなくBUF2(25)へ転送する。例えば、ネットワーク上へ送信する送信パケットがIPsecが必要でない場合、復号化処理は不要であるので、Cipher(decryption)(21)を通過するように制御することになる。
ステート制御部22は、BUF2(25)に転送された入力パケットデータがオーバーフローする前に後段のBUF3(26)へデータ転送する。このとき、BUF2(25)のパケットデータを暗号化する必要がある場合、Cipher(encryption)(21)に暗号化処理を指示する。暗号化の要否は当該パケットに関するパケットディスクリプタを参照することにより判断できる。例えば、BUF2(25)にこれから送信するパケットデータが格納されていたような場合は暗号化する可能性がある。一方、BUF2(25)に格納されたパケットデータを暗号化する必要が無い場合は、Cipher(encryption)(21)で暗号化することなくBUF3(26)へデータ転送する指示を発する。例えば、受信パケットデータを復号化してCPU11が内部に取り込むような場合である。
ステート制御部22は、BUF3(26)のデータをTX BUF(23)へ転送し、さらに送信先に対応した出力IF(EtherMAC又はCPUi/f)に送信要求を出す。送信要求を受けたインターフェース部、例えばEtherMAC30−2はTX BUF(23)にあるデータを外部へ送信する。以上のようにして1つの処理が完了する。
このように、IPv6用LSI回路12のRX BUF(23)からTX BUF(23)に向けてデータが滞ることなく順次転送され、その過程で復号化、暗号化等のその入力パケットデータに対して必要な処理が施されてから、送信先に対応した出力IF(CPUi/fを含む)から外部へ出力する。これにより、途中でCPU11が介在することなく、IPv6フォワーディング制御を実行することができる。
図2に示す概念図では、フォワーディング制御の過程で実行される処理として、BUF1〜BUF3へのデータ転送と、該当する場合には復号化(Cipher(decryption))と、該当する場合には暗号化(Cipher(encryption))とを例示しているが、その他の処理を随時挿入することが可能である。
図3はステート制御部22の具体的な回路構成を示す図である。受信検出回路101は、IPv6用LSI回路12のネットワークI/F部30−1〜30−n及びCPUi/f31から受信完了信号1〜3を受信する。本例はネットワークI/F部30−1、30−2に対応した2つのEtherMAC(30−1,30−2)とCPUi/f31との3つのインターフェース部を想定しているので、3つの受信完了信号1〜3を受信可能になっている。EtherMAC(30−1、30−2)及びCPUi/f31は、パケットデータの受信を完了したときに受信完了信号1〜3を出力する。
n個のアクション指示発生回路102−1〜102−nを直列に配置し、各アクション指示発生回路102−1〜102−nに対してアクション回路103−1〜103−nを設置している。すなわち、アクション指示発生回路とアクション回路とのセットをn段直列配置した構成となっている。例えば、パケットを受信してから出力するまでに、30の処理段階が存在するとすれば、後述する「空アクション」を含めて50段構成とすることができる。
アクション指示発生回路(102−1〜102−n)は、上段のアクション指示発生回路(最上段は受信検出回路101)に対してビジー/レディー状態を示すステート信号を出力する。レディー状態で上段回路からリクエストを受け付けることができる。アクション指示発生回路(102−1〜102−n)は、レディー状態の時にリクエストを受信すると、アクション回路(103−1〜103−n)に対してアクション開始指示信号(act go)を出力し、上段回路に対するステート信号をビジー信号に切り替える。また、アクション回路(103−1〜103−n)からアクション完了信号(act done)を受信すると、下段回路に対してリクエストを出力すると共に上段回路に対するステート信号をレディー信号に切り替える。
このように、アクション指示発生回路(102−1〜102−n)は、同一のアクション回路(103−1〜103−n)に対してアクション指示が時間的に重複しないように管理すると共に、自己のアクション完了後に下段回路に後続のアクションを引き継がせるように構成されている。
アクション回路(103−1〜103−n)は、各自のアクション内容に応じて各々対応するテーブルを参照可能に構成されている。アクション回路(103−1〜103−n)は、アクション指示発生回路(102−1〜102−n)からアクション開始指示信号(act go)を受けて所定のアクションが実行されるような命令を必要回路に出力し、命令したアクションが完了したことを検出するとアクション完了信号(act done)をアクション指示発生回路(102−1〜102−n)へ出力する。
また、図2に示す2つのEtherMAC(30−1、30−2)とCPUi/f31との3つのインターフェース部に対応させて3つの送信制御回路104−1〜104−3を備えている。送信制御回路104−1〜104−3は、アクション回路103−nからアクション開始指示信号(act go)を受けると、対応するインターフェース部(30−1、30−2、31)に対して送信命令を出力し、送信完了信号(1〜3)を受信したら送信命令を停止する。
本ステート制御部22は、アクション開始前に初期値の設定を行う初期値設定回路105を備える。CPU11は入力パケットに対して新しく処理を開始するときにリセット信号を初期値設定回路105に与える。初期値設定回路105は、CPU11からのリセット信号を受けて当該ステート制御部22の他の回路に内部リセットをかける働きをする。
また、ステート制御部22は、外部アクセスするためのセレクタ回路106と内部アクセスするためのセレクタ回路107とを備える。セレクタ回路106は、BUF1、BUF2、BUF3等のバス調停回路28経由の外部アクセスを行うための回路である。セレクタ回路107は制御用メモリ29のパケットディスクプリタに内部アクセスするための回路である。
図4は、アクション回路(103−1、103−2、103−3、・・・103−n)内の部分的な構成であって、レジスタから命令セットを読み出して内部アクセス又は外部アクセスするための構成を示している。アクション回路は、命令セットを格納したレジスタ41と、命令セットの読み出し位置を指定するカウンタ42と、カウンタ42の指定する命令セットをセレクタ回路106又はセレクタ回路107へ出力するセレクタ43とを備えている。その他にも内部アクセスで取得したデータを解析して実行する制御回路等を備える。なお、レジスタ41に格納する命令セットは後から追加及び削除が可能であり、仕様の変更に対応して適宜変更することがきるようにしている。
以上のように構成された実施の形態の具体的な動作について説明する。
CPU11からのアクセスによってステート制御部22の各テーブルが設定される。各アクション回路103−1〜103−nに各々必要なテーブルが割り当てられる。テーブル設定が終わると、CPU11からリセット信号を解除する信号が初期値設定回路105に対して与えられる。
初期値設定回路105は、リセット解除信号を受けて必要な初期値設定を行う。初期値設定では、図2のEhterMAC(30−1,30−2)を受信可能な状態に設定し、自身の内部メモリをクリアする処理を含む。また、制御用メモリ29に例えば56個分のパケットディスクプリタ空間を確保し、0番から55番までのパケットディスクプリタを登録する。パケットディスクリプタの割当は識別番号(アドレス)によって行われる。なお、パケットディスクリプタの初期化は受信開始後に行っても良い。
初期値設定が終了すると、内部回路である受信検出回路101、アクション指示発生回路102−1〜102−n、アクション回路103−1〜103−n等に対してリセット解除信号を与えてリセット解除する。このリセット解除により各回路が動作開始する。
リセット解除された受信検出回路101は、ポーリングを開始してCPUi/f31又はEtherMAC(30−1、30−2)に新たにパケットが受信された否か検出する。データ受信したインターフェース部(30−1、30−2、31)から受信完了信号を受信した受信検出回路101は、下段回路であるアクション指示発生回路102−1に対してリクエストを出力する。
ここで、インターフェース部(30−1、30−2、31)からRX BUF(23)に新しいパケットデータが格納されると、当該パケットの制御情報であるパケットディスクプリタが1つ識別番号と共に割り当てられる。RX BUFにパケットが受信される毎に、制御用メモリ29に登録したパケットディスクプリタ(0番から55番)を識別番号の小さい順に順番に割付け、55番目まで割り付けたら0番目に戻るように制御する。受信パケットに割り付けたパケットディスクリプタは出力されるまで識別番号で管理される。識別番号は0番から55番に対応した制御用メモリ29のアドレスを用いることができる。パケットディスクプリタの識別番号はリクエストと共にアクション指示発生回路102−1へ通知される。
アクション指示発生回路102−1は、ステート信号がレディー状態となっていればリクエストを受け付ける。なお、動作開始後で受信パケットの処理が開始されている場合、アクション回路103−1から先行アクション指示に対するアクション完了信号(act done)を未受信であればステート信号はビジー状態となっていて、リクエストは受け付けられない。アクション指示発生回路102−1は、リクエストを受け付けるとアクション回路103−1に対してアクション開始指示信号(act go)を出力する。それと共にステート信号をビジー状態に変化させる。
これによって、今回実行するアクションが終了するまで上段回路(受信検出回路)からのリクエストは受け付けない状態となる。
アクション回路103−1は、アクション開始指示信号(act go)を受けてレジスタ内容に登録された命令セットを実行する。後述する空アクション回路を除いて、レジスタ41の命令セットを順に読み出して実行することとなる。アクション回路103−1のように初期段階のアクション回路に割り当てる処理として「フレーム受信処理」がある。「フレーム受信処理」は、RX BUF(23)にあるパケットデータをBUF1にコピーする処理である。
CPU11からIPパケット又はMACフレームが渡された場合は、IPパケット又はMACフレームにCPU11が生成したパケットディスクリプタを付加することができる。この場合は、BUF1にコピーしたIPパケット又はMACフレームからパケットディスクリプタを取り出し、識別番号で指定された制御用メモリ29のアドレス空間に上書きする。
また、EtherMAC(30−1,30−2)から渡されたIPパケット又はMACフレームの場合は、パケットディスクリプタが付加されていないのが普通である。そのため、一般的にはパケットディスクリプタのコピー作業は含まれないこととなる。当該パケットのBUF1での格納先アドレス(先頭アドレス)及びデータ長をパケットディスクリプタの該当箇所に書き込む。パケットディスクリプタには、常に現在の格納先アドレス及びデータ長が書き込まれることとなる。
RX BUF(23)からBUF1(24)へのパケットデータの転送はDMAコントローラ27によって行う。なお、BUF間のデータ転送及びBUF3からTX BUFへのデータ転送もDMAコントローラ27が行う。アクション回路103−1は、DMAコントローラ27にアクセスして、書き込みアドレス及びデータ長等の必要な情報を伝えた上で転送命令を与える。
DMAコントローラ27は、アクション回路103−1からの転送命令を受けて指定されたRX BUF(23)にアクセスし、RX BUF(23)の指定アドレスにあるパケットデータをBUF1(24)へDMA転送する。DMAコントローラ27は、指定されたデータの転送が完了するとアクション回路103−1に転送完了を通知する。
以上の「フレーム受信処理」はレジスタ41に記憶した命令セット及び当該パケットのパケットディスクリプタの内容に基づいてハード的に行われる。
アクション回路103−1は、DMAコントローラ27によるデータ転送が完了したことを検出すると、アクション指示発生回路102−1に対してアクション完了信号(act done)を出力する。アクション指示発生回路102−1は、アクション完了信号(act done)を受信すると、下段回路であるアクション指示発生回路102−2に対してリクエストを送出すると共に、上段回路である受信検出回路101に対するステート信号をビジー状態からレディー状態に変化させる。
これにより、アクション回路103−1は、次のパケットデータに対して「フレーム受信処理」を実行することができる状態になると共に、下段回路に対して「フレーム受信処理」の後のアクションを実行させることができる。
アクション指示発生回路102−2は、上段回路であるアクション指示発生回路102−1からリクエスト及びパケットディスクリプタの識別番号を受信し、自信のステート信号がレディー状態となったところで当該リクエストを受け付ける。アクション指示発生回路102−2は、リクエストを受け付けると、ステート信号をビジー状態に変化させると共に、アクション回路103−2に対してアクション開始指示信号(act go)を出力する。
アクション回路103−2は、アクション開始指示信号(act go)を受信すると、レジスタ41からカウンタ42で指定されたアドレスの命令セットを読み出し、当該命令セットに応じたアクションを実行する。例えば「MACヘッダコピー処理」を実行する。例えば、最初の命令セットには、制御用メモリ29にアクセスしてパケットディスクリプタの所定情報を取り出すように命令を設定しておく。当該処理である「MACヘッダコピー処理」を実行する必要があるか否か判断できる情報を最初にチェックすることが望ましい。アクション回路103−2は、当該パケットの識別番号に基づいて制御用メモリ29に内部アクセスし、該当パケットディスクリプタからMACヘッダのコピーが必要か否かを判断する情報を取得する。パケットディスクリプタに、当該パケットがCPU11からのパケットでMACフレームの受信処理が必要ない旨のビットが立てられていれば、アクション完了信号(act done)を出力する。この結果、「MACヘッダコピー処理」について実質的な処理を行うことなく完了することができる。ここで、アクション回路103−2が「MACヘッダコピー処理」を実行するか否かの判断に使用している情報は前段回路であるアクション回路103−1が「フレーム受信処理」で当該パケットディスクリプタに書き込んだ情報である。このように、前段回路で書き込んだパケットディスクリプタの情報を後段回路のアクション回路で使用できるようにしている。このことは、他のアクション回路でも同様である。
一方、MACヘッダのコピーが「必要」と判断した場合は、BUF1(24)に格納しているパケットデータからMACヘッダを取り出して当該パケットディスクリプタにコピーする。例えば、MACフレームでは、先頭から28バイトまでにMACヘッダが含まれるので、この部分をコピーすれば良いことになる。アクション回路103−2は、「MACヘッダコピー処理」が完了したら、アクション指示発生回路102−2に対してアクション完了信号(act done)を出力する。
アクション指示発生回路102−2は、アクション回路103−2からアクション完了信号(act done)を受信すると、下段回路であるアクション指示発生回路102−3に対してリクエストを出力すると共に、上段回路であるアクション指示発生回路102−1に対するステート信号をレディー信号に切り替える。すなわち、上段回路からリクエストされたアクションが完了すると当該上段回路に対しては次のリクエストを受け付け可能にすると共に、下段回路に対しては後続アクションを引き継がせるためのリクエストを出す。
アクション指示発生回路102−3は、上段回路であるアクション指示発生回路102−2からリクエスト及びパケットディスクリプタの識別番号を受信し、自信のステート信号がレディー状態となったところで当該リクエストを受け付ける。アクション指示発生回路102−3は、リクエストを受け付けると、ステート信号をビジー状態に変化させると共に、アクション回路103−3に対してアクション開始指示信号(act go)を出力する。
アクション回路103−3は、アクション開始指示信号(act go)を受信すると、レジスタ41に格納した命令セットに応じたアクションを実行する。例えば「MACヘッダコピー処理」の後であれば、「送信元MACアドレス登録処理」を実行することができる。アクション回路103−3は、当該パケットの識別番号に基づいて制御用メモリ29に内部アクセスし、該当パケットディスクリプタから「送信元MACアドレス登録処理」を実行するか否かの情報を取得する。この情報も「フレーム受信処理」で当該パケットディスクリプタに書き込んだ情報である。当該処理を実行しないと判断した場合はアクション完了信号(act done)を送信する。
一方、「送信元MACアドレス登録処理」を実行する場合は、制御用メモリ29にアクセスして、該当パケットディスクリプタから送信元MACアドレスを取得すると共に、当該パケットを受信したインターフェース部を示すデータ(入力IF)を取得する。送信元MACアドレスは「MACヘッダコピー処理」で該当パケットディスクリプタに書き込んだ情報である。そして、送信元MACアドレスと入力IFとをMACアドレステーブルに登録する。MACアドレステーブルは制御用メモリ29内に登録することもできるし、アクション回路103−3の内部レジスタに登録することもできる。ここで登録したデータはフレーム送信時に出力IFを決めるための情報として用いる。
アクション回路103−3は、「送信元MACアドレス登録処理」が完了したら、アクション指示発生回路102−3に対してアクション完了信号(act done)を出力する。
このように、送信元MACアドレスはBUF1に格納されたパケットデータからも取得できるが、バスアクセスを伴うBUF1へのアクセスは外部アクセスとなるため、内部アクセスとなる制御用メモリ29にアクセスして必要な情報を取得することを優先している。この考え方は他のアクション回路でも同様である。内部アクセスを優先して外部アクセスを低減させる思想の下にアクセス先を設定している。
アクション指示発生回路102−3は、アクション回路103−3からアクション完了信号(act done)を受信すると、下段回路であるアクション指示発生回路102−4に対してリクエストを出力すると共に、上段回路であるアクション指示発生回路102−2に対するステート信号をレディー信号に切り替える。
アクション指示発生回路102−4は、上段回路であるアクション指示発生回路102−3からリクエスト及びパケットディスクリプタの識別番号を受信し、自信のステート信号がレディー状態となったところで当該リクエストを受け付ける。アクション指示発生回路102−4は、リクエストを受け付けると、ステート信号をビジー状態に変化させると共に、アクション回路103−4に対してアクション開始指示信号(act go)を出力する。
アクション回路103−4は、アクション開始指示信号(act go)を受信すると、レジスタ41に格納した命令セットに応じたアクションを実行する。例えば「送信元MACアドレス登録処理」の後であれば「宛先MACアドレス判定処理」を実行することができる。「宛先MACアドレス判定処理」では、先行アクション回路においてパケットディスクリプタにコピーしたデータを用いて宛先MACアドレスがブロードキャストやマルチキャストでないかを確認する。アクション回路103−4は、当該パケットの識別番号に基づいて制御用メモリ29に内部アクセスし、該当パケットディスクリプタから「宛先MACアドレス判定処理」を実行するか否かの情報を取得し、実行しないと判断した場合はアクション完了信号(act done)を出力する。CPU11からのパケットの場合は「宛先MACアドレス判定処理」を行わないことも可能である。
一方、「宛先MACアドレス判定処理」を実行する場合は、制御用メモリ29にアクセス(内部アクセス)して、該当パケットディスクリプタの所定箇所から宛先MACアドレスを読み出す。宛先MACアドレスを解析した結果、宛先MACアドレスがブロードキャスト、IPv4マルチキャスト、IPv6マルチキャストのいずれかであれば、パケットディスクリプタにそれぞれのフラグを立てる。アクション回路103−4は、「宛先MACアドレス判定処理」が完了したら、アクション指示発生回路102−4に対してアクション完了信号(act done)を出力する。
以下、同様にして上段回路でのアクションが完了すると下段回路へアクションが移行していく。
以下、主なアクションの処理内容について列挙するが、これらの処理は上記アクション回路と同様にハードウエアで実現している。
「IPv6受信処理」:先行アクション回路がパケットディスクリプタにコピーしたデータを用いて、IPv6パケットか否か判定する処理である。最初にパケットディスクリプタの所定箇所のデータを読み出して「IPv6受信処理」を行うか否か判定する。IPv6パケットの場合はBUF1からIPv6ヘッダを取り出してパケットディスクリプタの該当箇所にコピーする。次に、制御用メモリ29にアクセスして当該パケットディスクリプタからIPv6ヘッダを読み出し、バージョンチェック、データレングスチェック、ネクストヘッダチェックを行う。不正パケットであれば廃棄処分して、その情報を当該パケットディスクリプタに書き込む。以降のアクション回路では廃棄処分されたパケットであることを判定し、すぐにアクション完了信号(act done)を出力することができる。
「自ノード宛判定処理」:先行アクション回路がパケットディスクリプタにコピーしたデータを用いて、自ノード宛パケットか否か判定する処理である。最初にパケットディスクリプタの所定箇所のデータを読み出して「自ノード宛判定処理」を行うか否か判定する。不正パケット、CPU11からの受信である場合は「自ノード宛判定処理」を行わないで、すぐにアクション完了信号(act done)を出力することができる。「自ノード宛判定処理」を行う場合は、入力IFのアドレスが登録された自ノードアドレステーブルを、受信IFと宛先IPアドレスを使って検索する。ヒットすれば、自ノード宛パケットであるのでパケットディスクリプタの所定箇所にその旨のデータを書き込む。ヒットしなければ、自ノード宛パケットでないので廃棄処分して、その情報を当該パケットディスクリプタに書き込む。
「IPsec受信処理」:先行アクション回路がパケットディスクリプタにコピーしたデータを用いて、IPsecに準拠した受信処理を行うか否か判定する処理である。パケットディスクリプタにコピーされているネクストヘッダを取り出して、ネクストヘッダがESPヘッダか否は判定する。ESPヘッダの場合は、パケットディスクリプタにコピーされているSPIを使って、SAが登録されているか否か判定する。具体的には、宛先IPアドレスとプロトコル番号とSPIを用いて、SADを検索し、SA−IDを得る。ESPヘッダでなければ処理を終了する。SAが登録されていた場合は、シーケンス番号(SN)を用いて再生攻撃防止のための判定を行う。再生攻撃防止チェックを行い、OKの場合は「IPsec受信処理」を行う。NGの場合は破棄するか又はソフトウエア(CPU11側の処理)へ渡す。NGの場合はパケットディスクリプタにその旨の情報を書き込む。また、再生攻撃防止チェックを終えたら、SA−IDをパケットディスクリプタに登録し、さらにIPsec受信処理の要否を示すデータを記述する。「IPsec受信処理」によりパケットディスクリプタにはその後に復号化処理を行うか否かの情報が設定されたことになる。
「復号Cipher設定処理」:先行アクション回路がパケットディスクリプタに設定したIPsec受信処理の結果を示す情報をチェックし、IPsec復号処理を行うか、BUF2へパケットデータをコピーするだけかを判定する処理である。IPsec復号処理を行うと判定した場合、Cipher(decryption)21にIPsec復号処理用のデータ設定を行う。具体的には、暗号化処理/復号化処理のどちらであるかを示す情報、暗号方式、認証方式、鍵情報、認証範囲、復号範囲等をデータ設定する。また、IPsec復号処理を行なわないと判定した場合、Cipher(decryption)21にパケットデータコピー処理用のデータ設定を行う。具体的には、復号せずにパケットデータをそのままコピーする範囲等をデータ設定する。Cipher(decryption)21に対するデータ設定後は、パケットディスクリプタに記述された格納アドレス、データ長を修正し、Cipher(decryption)21の処理が終わるのを待つ。
「IPsec受信処理確認」:Cipher(decryption)21の処理が終了してから、認証データの比較をし、認証結果が正しいか否か判定する処理である。IPsec復号済みのデータは既にBUF2(24)へ書き出されている。BUF1(24)に格納しているパケットデータより認証データを予め読み出しておき、当該認証データ(パケットに付加されていた値)と今回Cipher(decryption)21が計算した認証値とを比較する。認証に成功したら、パケットディスクリプタにネクストヘッダの値を保持すると共に、シーケンス番号(SN)をSNテーブルへ書き込む。認証に成功しなかった場合、パケットを破棄する。これによってパケットデータはBUF1(24)からBUF2(25)へ転送されなくなる。パケットを破棄する場合、不正パケットによる攻撃があったことをCPU11が把握するために、パケットディスクリプタはCPU11へ送信するように、パケットディスクリプタの出力先としてCPUi/f31のビットを設定しておく。
「IPsecトンネルヘッダ処理」:トンネルモードの場合にトンネルヘッダの削除、内部パケットのヘッダ確認、自ノード宛判定を行う処理である。IPsec受信処理によって暗号化されていたネクストヘッダはペイロードの最後に現れる。パケットディスクリプタに保管しておいたネクストヘッダをチェックして、トンネルモード処理を行うか否かを判定する。ネクストヘッダがIPv4またはIPv6の場合はトンネルモードであることを示す。本例ではIPv6の場合だけハードウエア処理する。トンネルモードであった場合は、IPv6ヘッダをBUF2(25)からパケットディスクリプタにコピーし、バージョン、データ長等をチェックし、自ノード宛判定処理を行う。すなわち、「IPv6パケット受信処理」と同じ処理を行う。
「ルーティング検索処理」:IPヘッダ領域内の宛先IPアドレスと入力IFとを用いてルーティングテーブルを検索する処理である。「ルーティング検索処理」では、宛先IPアドレスと入力IFとを用いてルーティングテーブルを検索し、検索に成功した場合はパケットディスクリプタのステータスに記録し、検索結果として取得した出力IFとネクストホップIDをパケットディスクリプタに設定する。検索に失敗した場合は、そのことを示すデータをパケットディスクリプタに設定する。なお、送信元IPアドレスを用いてルーティング検索を行うことができる。また、ルーティング検索処理を行う前に自ノード宛パケットであることがパケットディスクリプタに登録されていることが判明している場合は、所定データを設定してこの処理を完了する。
「出力IF確認処理」:パケット長が大きすぎないことを確認すると共に、入力IFと出力IFとが異なることを確認する処理である。パケット長が大きすぎる場合、又は入力IFと出力IFとが一致する場合はソフトウエア処理部(CPU11側)へエラー通知する。
「IPsec送信判定処理」:出力IFを用いてIPsec送信処理が必要か否か判定する処理である。パケットディスクリプタの所定データを参照してIPsec送信判定処理を実行するか否か判定し、IPsec送信判定処理を実行すると判定した場合は出力IFからIPsec送信処理が必要か否か判定する。IPsec送信処理が必要な場合は、SA−IDを用いてSPIを取得し、さらにSNテーブルを検索してシーケンス番号(SN)を取得し、それぞれパケットディスクリプタに設定する。さらに、SA−IDを用いてIV長を検索し、IV長からIVを生成してパケットディスクリプタに設定する。SAテーブルを検索してトンネルモードであるか否か判定し、トンネルモードであればトンネルヘッダ付加処理を実行する。これはパケットディスクリプタのヘッダ領域にトンネルヘッダを上書きすることにより行われる。なお、CPU11からのパケットでこの処理を行わない場合はすぐに処理を完了する。
「トンネルヘッダルーティング検索処理」:パケットディスクリプタにあるIPヘッダの情報を用いてルーティング検索処理を行う処理である。トンネルモードのときだけ必要な処理である。最初にパケットディスクリプタを確認してトンネルモードか否か判定する。トンネルモードでなければ処理を完了する。トンネルモードであった場合は、ルーティング検索処理を行い、検索結果として得られたネクストホップIDと出力IFをパケットディスクリプタに設定する。
「MACアドレス解決処理」:ルーティング検索結果を用いて、ネクストホップのMACアドレスを求める処理である。パケットディスクリプタを参照してMACアドレス解決処理が必要か否か判定する。宛先IPアドレス又はネクストホップIDを用いてテーブル検索したIPアドレスを取得し、出力IFと取得したIPアドレスを用いてNC検索を行いMACアドレスを取得する。取得したMACアドレスをパケットディスクリプタの宛先MACアドレスに書き込む。
「暗号Cipher設定処理」:暗号化処理のための情報をCipher(encryption)21に設定する処理である。パケットディスクリプタを参照して、IPsec暗号化処理を行うか否か、BUF2(25)のパケットデータをBUF3(26)へコピーするだけか否を判定する。IPsec暗号化を行う場合は、Cipher(encryption)21に対して、暗号化処理/復号化処理のどちらを行うか(ここでは暗号化)、暗号方式、認証方式、鍵情報、IV、暗号化せずにパケットデータをそのままコピーする範囲(IPヘッダ)、認証範囲、暗号化範囲を、データ設定する。暗号化処理を行わない場合は、Cipher(encryption)21に対して、暗号化せずにパケットデータをそのままコピーする範囲(BUF2にあるデータのすべて)、認証範囲(ゼロ)、暗号化範囲(ゼロ)をデータ設定する。なお、CPU11からのパケットでこの処理を飛ばしたい場合はその旨のデータがパケットディスクリプタに予め設定されている。
「認証データ付加処理」:Cipher(encryption)21のレジスタからICVを取り出し、SAテーブルの認証データ長を参照して、認証値を作成し、BUF3(26)へ書き出す処理である。認証値を付加して後、データ長を計算する。パケットディスクリプタに計算したデータ長が設定される。
「MACヘッダ生成処理」:IPv4/IPv6に合わせてイーサタイプ(Ether Type)をパケットディスクリプタのMACヘッダ領域に設定する処理である。パケットディスクリプタを参照して「MACヘッダ生成処理」が必要か否か判定する。必要な場合は送信元MACアドレスを取得して、パケットディスクリプタに設定する。送信元MACアドレスは出力IFから決定可能である。次にイーサタイプ(Ether Type)をパケットディスクリプタに設定する。
以上のように、各アクション回路(103−1〜103−n)は処理対象のパケットについて生成したパケットディスクリプタを最初に参照することで各自のアクションを実行すべきか否か判定でき、実行しないと判定した場合には当該アクションを飛ばして次段のアクション回路へアクションを以降できる。したがって、n段構成のアクション回路(103−1〜103−n)の中から受信パケットに応じて必要なアクションだけを選択して実行することができる。選択されなかったアクション(不要アクション)についてはパケットディスクリプタを参照して飛ばし判定をするだけの時間で済み、処理の高速化を図ることができる。
上段のアクション回路がパケットディスクリプタに設定したデータを下段のアクション回路で使用するので、アクション回路間での重複処理を削除できると共に、バスアクセスを伴うBUF1、2、3へのアクセスを削減でき、外部アクセスよりも高速な内部アクセスを優先的に発生させることができ、高速処理を実現できる。
また、パケットディスクリプタを制御メモリ29に格納してステート制御部22がバス調停回路28を介さずに制御メモリ29に高速にアクセス可能にしたので、パケットディスクリプタの参照に関してはCPU11から完全に処理を分離でき、CPU11と処理が衝突することが無くなり、待ち時間を削減できる。
ところで、アクション回路に割り当てた処理の中には、コピー処理(外部アクセスを伴う)、復号化処理、暗号化処理等のように、アクション完了までに時間がかかるものがある。後続パケットが到着しているにも拘わらず、先行パケットのアクションがいつまでも完了しない場合、後続パケットを廃棄することとなりスループットが低下する。例えば、図2に示すBUF1からBUF2へデータ転送する際に復号化処理をしているが、データ量の大きいパケットを復号化処理している間に後続パケットが多数入力してくる可能性がある。
そこで、本実施の形態は、処理に所定以上の時間を要することが予想されるアクション回路の前段に、1つ又は複数の空アクション回路を配置することとした。空アクション回路とは、アクション指示発生回路からアクション開始指示信号(act go)を受信すると、次の動作タイミングでアクション指示発生回路に対してアクション完了信号(act done)を出力する回路のことである。このような空アクション回路も通常のアクション回路と同様にアクション指示回路とのセットで組み込むこととなる。
具体的には、1パケットの最大データ量を1500バイト、最小データ量を64バイトであるとする。1500バイトのデータ量を持つパケットを受信した直後に、64バイトのパケットを連続的に20個受信した場合を想定すると、1500バイトのパケットの復号化処理を行っている間に、20個の後続パケットを廃棄する必要が生じる。このようなケースを想定して、復号化のアクション回路の前段に20個の空アクション回路(及び対応する20個のアクション指示発生回路)を配置する。このような構成をとれば、1500バイトのデータ量を持つパケットの復号化が完了する直前で、20個の後続パケット(64バイトのパケット)でアクション回路直前の20個の空アクション回路が満たされた状態となる。図5は復号化のアクション回路の直前に配置した空アクション回路で後続パケットが処理されている状態を示している。
このように、復号化処理のアクション回路の直前にシステムに応じた適切な複数の空アクション回路を配置することにより、1つのパケットも廃棄されることなく復号化のアクション回路へ渡すことができるものとなる。なお、空アクション回路の数は適宜変更可能である。
また、復号化処理のアクション回路に限らず、処理が遅延する可能性のあるアクション回路の前段に1つ又は複数の空アクション回路を配置することが望ましい。RX BUFからBUF1へのデータコピーは、バスアクセスが発生すると共にCPU11が優先的に使用しているのでアクセスタイミングによっては時間を要する。よって、RX BUFからBUF1へのデータコピーが割り当てられたアクション回路の前段に空アクション回路を配置することが望ましい。同様に、暗号化処理のアクション回路の直前にも暗号化速度に応じた適切な数の空アクション回路を配置することが望ましい。
本発明は、IPv6での通信制御部をハードウエア化可能で、CPUの処理能力に影響されることなく高速通信を実現することができ、パケットデータをIPv6の下で処理する機器に適用可能である。
11 CPU
12 IPv6フォワーディング制御用LSI回路
13−1〜13−n PHY部
21 暗号認証回路
22 ステート制御部
23 送受信用メモリ
24、25、26 バッファメモリ
27 DMAコントローラ
28 バス調停回路
29 制御用メモリ
30−1〜30−n ネットワークI/F部
31 CPUi/f
101 受信検出回路
102−1〜102−n アクション指示発生回路
103−1〜103−n アクション回路
12 IPv6フォワーディング制御用LSI回路
13−1〜13−n PHY部
21 暗号認証回路
22 ステート制御部
23 送受信用メモリ
24、25、26 バッファメモリ
27 DMAコントローラ
28 バス調停回路
29 制御用メモリ
30−1〜30−n ネットワークI/F部
31 CPUi/f
101 受信検出回路
102−1〜102−n アクション指示発生回路
103−1〜103−n アクション回路
Claims (9)
- CPU又はネットワークとの間でパケットデータを送受信する複数のインターフェース部と、前記インターフェース部からパケットデータがコピーされる受信バッファと、受信バッファから読み出したパケットデータが順次転送される複数の処理バッファと、最終段の処理バッファからパケットデータがコピーされる送信バッファと、受信パケットの処理工程を通信プロトコルに対応した複数アクションに分割して、パケット毎に定まる各アクションの処理内容を順番にハードウエア処理し、パケットデータが処理バッファ間を転送して受信バッファから送信バッファに一方向へ移動するようにしたステート制御回路と、を具備したパケット処理装置。
- 前記ステート制御回路は、直列に接続した複数のアクション指示発生回路と、各アクション指示発生回路に対してそれぞれ設けられた複数のアクション回路とを備え、
前記各アクション指示発生回路は、対応するアクション回路のアクション開始と完了を管理し、上段のアクション指示発生回路からのリクエストを受け付けると対応するアクション回路へアクション開始指示信号を出し、対応するアクション回路からアクション完了信号を受けると下段のアクション指示発生回路にリクエストを出力し、
前記各アクション回路は、アクション指示発生回路からアクション開始指示信号を受けてパケット毎に定まる処理内容を実行し、処理完了すると前記アクション指示発生回路に対してアクション完了信号を出力する、請求項1記載のパケット処理装置。 - 前記ステート制御回路は、優先的にアクセス可能な位置に配置され受信パケット毎にパケット制御情報が格納される制御用メモリを備え、
前記各アクション回路は、アクション開始後の初期段階で前記制御用メモリにアクセスして対象パケットのパケット制御情報から当該パケットの処理を実行するか否かの判定を行う、請求項2記載のパケット処理装置。 - 前記各アクション回路は、パケット毎に定まる処理内容を実行する過程で得られた、後続アクション回路が使用する情報を、前記制御用メモリ上の該当パケット制御情報にコピーする、請求項3記載のパケット処理装置。
- 前記複数アクション回路は、アクション開始指示信号を受けたら、実質的な処理を行うこと無く、次の動作タイミングでアクション完了信号を出力する空アクション回路を含む請求項2から請求項4のいずれかに記載のパケット処理装置。
- 前記空アクション回路を、暗号化されたパケットデータを復号化するアクションを割り当てたアクション回路の直前に、複数個配置する請求項5記載のパケット処理装置。
- 前記空アクション回路を、平文のパケットデータを暗号化するアクションを割り当てたアクション回路の直前に、複数個配置する請求項5記載のパケット処理装置。
- 前記空アクション回路を、処理バッファからパケットデータの一部を前記制御用メモリ上の該当パケット制御情報にコピーするアクションを割り当てたアクション回路の直前に、複数個配置する請求項5記載のパケット処理装置。
- 前記通信プロトコルはIPv6であることを特徴とする請求項1から請求項8のいずれかに記載のパケット処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004371754A JP2006180246A (ja) | 2004-12-22 | 2004-12-22 | Ipパケット処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004371754A JP2006180246A (ja) | 2004-12-22 | 2004-12-22 | Ipパケット処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006180246A true JP2006180246A (ja) | 2006-07-06 |
Family
ID=36733916
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004371754A Pending JP2006180246A (ja) | 2004-12-22 | 2004-12-22 | Ipパケット処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006180246A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8451838B2 (en) | 2006-12-04 | 2013-05-28 | Electronics And Telecommunications Research Institute | Apparatus and method for forwarding packet in packet switch system |
JP2014090385A (ja) * | 2012-10-31 | 2014-05-15 | Universal Entertainment Corp | 通信システム、通信用lsi及び遊技機 |
CN116418734A (zh) * | 2023-06-09 | 2023-07-11 | 湖北微源卓越科技有限公司 | 一种低时延的小包发送方法及装置 |
-
2004
- 2004-12-22 JP JP2004371754A patent/JP2006180246A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8451838B2 (en) | 2006-12-04 | 2013-05-28 | Electronics And Telecommunications Research Institute | Apparatus and method for forwarding packet in packet switch system |
JP2014090385A (ja) * | 2012-10-31 | 2014-05-15 | Universal Entertainment Corp | 通信システム、通信用lsi及び遊技機 |
CN116418734A (zh) * | 2023-06-09 | 2023-07-11 | 湖北微源卓越科技有限公司 | 一种低时延的小包发送方法及装置 |
CN116418734B (zh) * | 2023-06-09 | 2023-08-18 | 湖北微源卓越科技有限公司 | 一种低时延的小包发送方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7290134B2 (en) | Encapsulation mechanism for packet processing | |
US7194766B2 (en) | Method and system for high-speed processing IPSec security protocol packets | |
EP1435716B1 (en) | Security association updates in a packet load-balanced system | |
KR100798926B1 (ko) | 패킷 스위치 시스템에서의 패킷 포워딩 장치 및 방법 | |
US11418434B2 (en) | Securing MPLS network traffic | |
CN110352586B (zh) | 用于保留网络中的数据分组的相对定时和排序的方法和装置 | |
US20060174058A1 (en) | Recirculation buffer for semantic processor | |
KR100793349B1 (ko) | Ppp 멀티링크를 지원하는 시스템에서의 멀티캐스트트래픽 포워딩 장치 및 제어방법 | |
US8438641B2 (en) | Security protocol processing for anti-replay protection | |
US7606967B2 (en) | Frame transfer method and apparatus | |
US7529924B2 (en) | Method and apparatus for aligning ciphered data | |
KR20150105910A (ko) | 데이터 스트림에 대한 동시 해시와 서브-해시 | |
US20070260719A1 (en) | Apparatus and methods for efficient insertion and removal of MPA markers and RDMA CRC digest | |
CN111385278B (zh) | 一种报文转发方法及装置 | |
JP2006180246A (ja) | Ipパケット処理装置 | |
JP2003087297A (ja) | パケット転送装置およびパケット転送方法 | |
US11677727B2 (en) | Low-latency MACsec authentication | |
CN111031055B (zh) | 一种IPsec加速装置及实现方法 | |
JP6371321B2 (ja) | 通信システム、及びパケット転送方法 | |
JP5309580B2 (ja) | ネットワーク・プロセッサ | |
JP2006165952A (ja) | パケット中継装置およびパケット通信ネットワーク | |
US8091136B2 (en) | Packet transfer device, packet transfer method, and program | |
JP7380883B2 (ja) | L2スイッチ、通信制御方法、および、通信制御プログラム | |
JP5639129B2 (ja) | パケット転送システム、パケット転送方法、及びそのためのプログラム | |
JP2004336437A (ja) | 映像受信回路および映像受信装置 |