JP6907903B2 - パケット識別装置および方法 - Google Patents

パケット識別装置および方法 Download PDF

Info

Publication number
JP6907903B2
JP6907903B2 JP2017225639A JP2017225639A JP6907903B2 JP 6907903 B2 JP6907903 B2 JP 6907903B2 JP 2017225639 A JP2017225639 A JP 2017225639A JP 2017225639 A JP2017225639 A JP 2017225639A JP 6907903 B2 JP6907903 B2 JP 6907903B2
Authority
JP
Japan
Prior art keywords
information
key information
circuit
packet
delimiter
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.)
Active
Application number
JP2017225639A
Other languages
English (en)
Other versions
JP2019097053A (ja
Inventor
彩希 八田
彩希 八田
晃嗣 山崎
晃嗣 山崎
羽田野 孝裕
孝裕 羽田野
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2017225639A priority Critical patent/JP6907903B2/ja
Publication of JP2019097053A publication Critical patent/JP2019097053A/ja
Application granted granted Critical
Publication of JP6907903B2 publication Critical patent/JP6907903B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、ハードウェアを用いて可変長パケットを識別するためのパケット識別技術に関する。
通信ネットワークを介してパケットを送受信するネットワーク装置の1つとして、ルータが用いられている。ルータは、受信パケットの識別を行い、識別結果に基づいた転送処理やフィルタリング処理等のパケット経路制御を行う。量産された廉価なルータでは、OSI参照モデルの第4層までのパケットのヘッダ情報を参照したパケット識別が可能であるが、可変長パケットを扱う第5層から上位のアプリケーション層レベルでのパケット識別が難しい。そのため、第5層から上位層でのパケット識別には、サーバ上で実行されるソフトウェアやアプリケーションごとに高価な専用装置が用いられている。
一方、近年の通信トラヒックの爆発的な増加に伴い、アプリケーション層レベルでのパケット識別による、より高度なパケット経路制御の実現が求められている。例えば、DNS(Domain Name System)プロトコルのペイロード情報に格納されているURL情報に含まれるドメイン名識別によるパケット経路制御が挙げられる。ペイロード情報内のドメイン名識別が可能となると、例えば、ドメインDAに関するパケットは通信装置UAへ転送し、ドメインDBに関するパケットは通信装置UBへ転送するなどの、より細かな経路制御が可能となる。
さらに、近年、通信ネットワークに仮想化技術を適用する動きが加速しており、1つの物理サーバ上に複数のVM(Virtual Machine)を構築し、1つのサーバで複数のアプリケーションを動作させる事例もある。VMごとに異なるアプリケーションを処理する場合も、パケット識別に基づく振り分け制御技術が必要であり、このような制御をソフトウェア処理のみで実現しようとすると性能が不足する。また、専用装置で実現しようとすると、アプリケーションごとに専用装置が必要となるため、コストが増大する。したがって、1つの装置により、様々な通信プロトコルをアプリケーションレベルで識別可能なパケット識別技術が必要とされている。
従来、このようなパケットを識別するパケット識別装置として、第5層から上位層で用いるペイロード情報を含むパケットを識別可能な、ハードウェアベースのパケット識別装置がある。
図12に示す従来のパケット識別装置50は、ヘッダ処理部51、キー情報抽出部52、および検索部53とを備えている。
このパケット識別装置50では、まず、ヘッダ処理部51が、入力パケットのヘッダ情報を識別し、DNSやHTTP(Hyper Text Transfer Protocol)などのプロトコル種別を特定する。キー情報抽出部52は、ヘッダ処理部51で得られたプロトコル種別に基づいて、入力パケットの特定領域をキー情報として抽出する。検索部53は、予め登録されている、識別対象のペイロード情報を示す各エントリを参照して、キー情報抽出部52で抽出されたキー情報とペイロード情報が一致するエントリを検索し、得られた検索結果すなわち登録有無に基づいて、入力パケットが識別対象となるペイロード情報を含むパケットであるかどうかを識別している。
なお、ヘッダ処理部51でのヘッダ処理はあくまでも、入力パケットのパケットフォーマットに従い、パケットの先頭から順次ヘッダ情報を解析していく識別処理であり、一般的な公知のパーサー処理方法で実現可能である(例えば、非特許文献1や非特許文献2など参照)。
また、検索部53は、一般的な連想メモリである、CAM(Content Addressable Memory)やTCAM(Ternary Content Addressable Memory)を用いて実現することができる。
一方、キー情報抽出部52における、入力パケットのペイロード情報から特定領域をキー情報として抽出する方法については、プロトコル種別ごとにキー情報として抽出すべきペイロード情報や最適な抽出方法が異なるため、従来ではプロトコル種別ごとに抽出回路が設けられている。
図13に示す従来のキー情報抽出部52では、前段にプロトコル種別ごとにキー情報を抽出する抽出器52Aが設けられており、後段には、指定されたプロトコル種別に基づいて、これら抽出器52Aのうち、対応するプロトコル種別の抽出器52Aの出力を切替選択するセレクタ52Bが設けられている。この回路構成により、プロトコル種別に応じて検索部53へのキー情報出力を切り替えられるようになっている。
「SDNet Packet Processor User Guide」、UG1012 (v2017.1)、Xilinx社、June 15,2017 「P416 Language Specification version1.0.0」、The P4 Language Consortium、2017-05-22
しかしながら、このような従来技術では、複数のプロトコル種別に関するパケットを識別する場合、これらプロトコル種別ごとにキー情報抽出回路を設ける必要があるため、パケット識別装置全体の回路規模が増大するという問題点があった。また、キー情報抽出回路をASIC(Application Specific Integrated Circuit)に実装した場合、設計時に想定したプロトコル以外のキー情報抽出処理ができない。このため、将来の新たなプロトコルへの対応という観点からすれば、柔軟性に欠けるという問題点があった。なお、キー情報抽出回路をFPGA(Field Programmable Gate Array)に実装した場合、後から回路の書き換え・追加が可能であるが、回路変更のための全体設計の見直しが必要となり、結果として設計コストが増大することになる。
本発明はこのような課題を解決するためのものであり、アプリケーションに特有のキー情報を用いたパケット識別処理を、小規模かつ低コストな回路構成で柔軟に行うことができるパケット識別技術を提供することを目的としている。
このような目的を達成するために、本発明にかかるパケット識別装置は、入力パケットから特定した、前記入力パケットのプロトコル種別と、前記入力パケットのアプリケーションに特有のキー情報とに基づいて、前記入力パケットをアプリケーションごとに識別するパケット識別装置であって、前記入力パケットのヘッダ情報を識別することにより、前記入力パケットのプロトコル種別を特定するヘッダ処理回路と、前記入力パケットのプロトコル種別ごとに、前記入力パケットに含まれるキー情報を特定するためのデリミタ情報を記憶するデリミタ情報記憶回路と、前記入力パケットを一定の遅延時間だけ遅延させて出力する遅延回路と、前記ヘッダ処理回路で特定された前記プロトコル種別に応じて前記デリミタ情報記憶回路から出力された、前記入力パケットのプロトコル種別に関するデリミタ情報に基づいて、前記遅延回路から出力された前記入力パケットのうち前記デリミタ情報の近傍から前記キー情報を抽出するキー情報抽出回路と、前記キー情報抽出回路で抽出された前記キー情報で、識別対象となるアプリケーションごとに当該アプリケーションに特有のキー情報が予め登録されている検索テーブルを検索し、得られた検索結果に基づいて前記入力パケットに関する識別結果を出力する検索回路とを備えている。
また、本発明にかかる上記パケット識別装置は前記デリミタ情報記憶回路が、前記入力パケットのプロトコル種別ごとに複数の前記デリミタ情報を記憶し、前記キー情報抽出回路は、前記デリミタ情報ごとに設けられて、対応する前記デリミタ情報に基づいて、前記入力パケットからそれぞれ個別のキー情報を抽出し、前記キー情報抽出回路のそれぞれで抽出された複数のキー情報を1つの結合キー情報に結合するキー情報結合回路をさらに備え、前記検索回路は、前記キー情報結合回路から出力された前記結合キー情報で前記検索テーブルを検索することにより、前記入力パケットに関するアプリケーションを示す識別結果を出力するようにしたものである。
また、本発明にかかる上記パケット識別装置の一構成例は、前記デリミタ情報記憶回路が、前記入力パケットのプロトコル種別ごとに、前記デリミタ情報と前記デリミタ情報に対する前記キー情報の位置を示す位置情報とを記憶し、前記キー情報抽出回路は、前記デリミタ情報記憶回路から出力された前記デリミタ情報と前記位置情報とに基づいて、前記入力パケットから前記キー情報を抽出するようにしたものである。
また、本発明にかかる上記パケット識別装置の一構成例は、前記位置情報が、前記キー情報が前記デリミタ情報の前方または後方のいずれに位置するかを示す情報であり、前記キー情報抽出回路は、前記入力パケットのうち、前記位置情報が示す前記デリミタ情報の前方または後方から、指定長のデータを前記キー情報として抽出するようにしたものである。
また、本発明にかかる上記パケット識別装置の一構成例は、前記遅延回路が、一定の長さで分割入力される前記入力パケットを、前記遅延時間だけ順次遅延させて遅延データとして出力し、前記キー情報抽出回路は、前記遅延データをバッファデータとして保持するバッファと、前記バッファデータ内で前記デリミタ情報を探索することにより、前記デリミタ情報が存在するデリミタ情報位置を特定する比較器と、前記デリミタ情報位置を基準とした位置範囲のデータを、前記キー情報として前記バッファデータから抽出する抽出器とを備えるものである。
また、本発明にかかるパケット識別方法は、入力パケットから特定した、前記入力パケットのプロトコル種別と、前記入力パケットのアプリケーションに特有のキー情報とに基づいて、予め設定されているアプリケーションごとに前記入力パケットを識別するパケット識別装置で用いられるパケット識別方法であって、ヘッダ処理回路が、前記入力パケットのヘッダ情報を識別することにより、前記入力パケットのプロトコル種別を特定するヘッダ処理ステップと、デリミタ情報記憶回路が、前記入力パケットのプロトコル種別ごとに、前記入力パケットに含まれるキー情報を特定するためのデリミタ情報を記憶するデリミタ情報記憶ステップと、遅延回路が、前記入力パケットを一定の遅延時間だけ遅延させて出力する遅延ステップと、キー情報抽出回路が、前記ヘッダ処理回路で特定された前記プロトコル種別に応じて前記デリミタ情報記憶回路から出力された、前記入力パケットのプロトコル種別に関するデリミタ情報に基づいて、前記遅延回路から出力された前記入力パケットのうち前記デリミタ情報の近傍から前記キー情報を抽出するキー情報抽出ステップと、検索回路が、前記キー情報抽出回路で抽出された前記キー情報で、識別対象となるアプリケーションごとに当該アプリケーションに特有のキー情報が予め登録されている検索テーブルを検索し、得られた検索結果に基づいて前記入力パケットに関する識別結果を出力する検索ステップと備え、前記デリミタ情報記憶ステップでは、前記デリミタ情報記憶回路が、前記入力パケットのプロトコル種別ごとに複数の前記デリミタ情報を記憶し、前記キー情報抽出ステップでは、前記デリミタ情報ごとに設けられた前記キー情報抽出回路が、対応する前記デリミタ情報に基づいて、前記入力パケットからそれぞれ個別のキー情報を抽出し、キー情報結合回路が、前記キー情報抽出回路のそれぞれで抽出された複数のキー情報を1つの結合キー情報に結合するキー情報結合ステップをさらに備え、前記検索ステップでは、前記検索回路が、前記キー情報結合回路から出力された前記結合キー情報で前記検索テーブルを検索することにより、前記入力パケットに関するアプリケーションを示す識別結果を出力する。
本発明によれば、入力パケットのプロトコル種別が異なる場合でも、プロトコル種別間で同一のキー情報抽出回路を共用して、所望のキー情報Keyを抽出できる。このため、プロトコル種別ごとにキー情報抽出回路を設ける必要がなくなり、デリミタ情報記憶回路のデリミタ情報を再設定するだけで、新たなプロトコルからもキー情報を抽出できる。したがって、アプリケーションに特有のキー情報を用いたパケット識別処理を、小規模かつ低コストな回路構成で柔軟に行うことが可能となる。
第1の実施の形態にかかるパケット識別装置の構成を示すブロック図である。 第1の実施の形態にかかるデリミタ情報の構成例である。 入力パケットの構成例である。 第1の実施の形態にかかるキー情報抽出回路の構成例である。 第1の実施の形態にかかるキー情報抽出処理を示すフローチャートである。 キー情報抽出動作を示す説明図である。 第1の実施の形態にかかるパケット識別装置の他の構成を示すブロック図である。 第2の実施の形態にかかるキー情報抽出回路の構成例である。 第2の実施の形態にかかるデリミタ情報の構成例である。 第2の実施の形態にかかるキー情報抽出処理を示すフローチャートである。 第2の実施の形態にかかるキー情報抽出処理(続き)を示すフローチャートである。 第3の実施の形態にかかるパケット識別装置の構成を示すブロック図である。 従来のパケット識別装置の構成例である。 従来のキー情報抽出回路の構成例である。
次に、本発明の実施の形態について図面を参照して説明する。
[第1の実施の形態]
まず、図1を参照して、本発明の第1の実施の形態にかかるパケット識別装置10について説明する。
図1に示すパケット識別装置10は、通信ネットワーク(図示せず)を介してパケットを送受信する各種のネットワーク装置(図示せず)に接続されて、当該ネットワーク装置から入力された入力パケットから特定した、入力パケットのプロトコル種別と、入力パケットのアプリケーションに特有のキー情報とに基づいて、入力パケットをアプリケーションごとに識別する装置である。
以下では、本発明にかかるパケット識別装置10を、パケットを受信して予めアプリケーションごとに指定されている処理を実行するネットワーク装置(パケット受信端)に接続して、受信したパケットのアプリケーションを識別する場合を例として説明するが、これに限定されるものではない。例えば、パケットを中継転送するネットワーク装置(パケット中継端)やパケットを送信するネットワーク装置(パケット送信端)で、パケットのアプリケーションを識別する場合にも、以下と同様にして本発明にかかるパケット識別装置10を適用することができる。
[発明の原理]
一般に、可変長パケットは、ペイロード情報のデータ長が送信されるデータ量に応じて変動するため、ドメイン情報などのアプリケーションに特有のキー情報が、ペイロード情報のどの位置に格納されているかわからない。一方で、パケットフォーマットは既知なので、所望のキー情報の近傍には必ず目印となるデリミタ情報が存在する。DNSプロトコルのドメイン情報を例に挙げると、ドメイン情報「xxx.jp(x:Don’t care)」のうち、「jp」をデリミタ情報とすれば「jp」を含むパケットを識別することが可能となる。
本発明は、このような可変長パケットに、各プロトコル種別に特有のデリミタ情報が含まれていること、および、可変長パケットのうちデリミタ情報の近傍に位置するキー情報に基づいて、可変長パケットに関するアプリケーションを識別可能であることに着目したものである。そして、可変長パケットのプロトコル種別に基づいて、キー情報を抽出するためのデリミタ情報を切替制御するようにしたものである。
具体的には、パケット識別装置10において、プロトコル種別ごとにデリミタ情報を予め登録しておき、入力パケットのプロトコル種別と対応するデリミタ情報に基づいて、入力パケットのうちデリミタ情報の近傍から各アプリケーションに特有のキー情報を抽出し、得られたキー情報に基づいて入力パケットに関するアプリケーションを示す識別結果を出力するようにしたものである。
[パケット識別装置]
次に、図1を参照して、本実施の形態にかかるパケット識別装置10の回路構成について詳細に説明する。
図1に示すように、パケット識別装置10は、主な回路部として、ヘッダ処理回路11、デリミタ情報記憶回路12、遅延回路13、キー情報抽出回路14、および検索回路15を備えている。これら回路部は、1つまたは複数のASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路により実現されている。
ヘッダ処理回路11は、順次入力されるパケットデータDinに基づいて、入力パケットのヘッダ情報を識別することにより、DNSやHTTPなどのプロトコル種別を特定する機能と、特定したプロトコル種別を示すプロトコル情報PIDを出力する機能とを有している。この際、パケットデータDinが比較的短い場合には、例えば複数のパケットデータDinをヘッダ情報の長さ分だけ蓄積した後、プロトコル種別を特定すればよい。なお、ヘッダ処理回路11でプロトコル種別を特定する手法については、前述した従来技術などの公知の手法を用いればよい。
デリミタ情報記憶回路12は、全体として半導体メモリからなり、プロトコル種別ごとにデリミタ情報を記憶する機能と、ヘッダ処理回路11から出力されたプロトコル情報PIDに基づいて、プロトコル情報PIDと対応するデリミタ情報DLを出力する機能とを有している。
デリミタ情報記憶回路12は、例えば図2に示すように、アドレスADRごとにそれぞれのプロトコル種別と対応するデリミタ情報DLを記憶するように構成してもよい。この際、数値で表わされたプロトコル情報PIDをそのまま、あるいは整数倍することにより、アドレスADRとして用いてもよい。
遅延回路13は、パケットデータDinを一定の遅延時間だけ遅延させた遅延データDdを出力する機能を有している。この遅延時間は、ヘッダ処理回路11でプロトコル情報PIDが特定されて、デリミタ情報記憶回路12から入力パケットのプロトコル種別と対応するデリミタ情報DLが出力されるのに要する時間長を有している。
以下では、図3に示すように、パケット識別装置10に入力される入力パケットは、ヘッダ情報とペイロード情報からなる所与のパケットフォーマットを有する可変長パケットであり、そのデータ長は可変長Lbyteであるものとする。この際、入力パケットがNbyte長のパケットデータDinごとに分割されて順次入力されるものと想定した場合、可変長Lは、L=N×H+α(Hは0以上の整数、αは0以上N未満の整数)byteで表される。Hは入力パケットに含まれるDinの個数を示し、αはNに満たない端数分のDinを示している。
キー情報抽出回路14は、デリミタ情報記憶回路12から出力された、入力パケットのプロトコル種別に関するデリミタ情報DLに基づいて、遅延回路13から順次出力される遅延データDdのうち、デリミタ情報DLの近傍から、入力パケットのアプリケーションに特有のキー情報Keyを抽出する機能を有している。
図3では、デリミタ情報DLがAbyteのデータ長を有し、入力パケットのうち、PからP+Aの位置にDLが存在しており、PからMbyte前方のP−Mまでの範囲からキー情報Keyが抽出される例が示されている。なお、KeyにDLを含めて抽出してもよい。
検索回路15は、識別対象となるアプリケーションを示す識別情報とキー情報Keyとの対応関係が予め登録されている検索テーブル15Aを有し、キー情報抽出回路14で抽出されたキー情報Keyに基づいて検索テーブル15Aを検索する機能と、得られた検索結果に基づいて当該キー情報Keyと対応する識別情報を入力パケットの識別結果Rとして出力する機能とを有している。なお、検索回路15で識別結果Rを特定する手法については、前述した従来技術などの公知の手法を用いればよい。
これにより、例えば、DNSプロトコルを用いるアプリケーションごとに、ドメイン情報「AAA.co.jp」とドメイン情報「BBB.co.jp」を識別する場合、図2に示すように、デリミタ情報記憶回路12に、DNSプロトコルに関するデリミタ情報DLとして、「jp」に相当するキャラクタコードを登録しておく。これにより、キー情報抽出回路14において、DNSプロトコルのキー情報としてドメイン情報「xxx.jp」(x:Don't care)が抽出される。
したがって、検索回路15の検索テーブル15Aに、ドメイン情報「AAA.co.jp」と対応するアプリケーションを示す識別情報RAと、ドメイン情報「BBB.co.jp」と対応するアプリケーションを示す識別情報RBとを登録しておけば、キー情報である「xxx.jp」と対応するアプリケーションを示す識別情報が、検索回路15から識別結果Rとして出力されることになる。
[キー情報抽出回路]
次に、図4を参照して、本実施の形態にかかるキー情報抽出回路14について詳細に説明する。
キー情報抽出回路14は、主な回路部として、バッファ14A、比較器14B、抽出器14C、OR回路14D、およびキーレジスタ14Eを備えている。
バッファ14Aは、遅延回路13から出力された遅延データDdをバッファデータQとして一時保持する機能を有している。バッファデータQは、少なくともキー情報Keyのデータ長Mbyteとデリミタ情報DLのデータ長Abyteを加えたデータ長Lqを有し、1つまたは複数の遅延データDdに相当する。
比較器14Bは、バッファデータQ内でデリミタ情報DLを探索し、デリミタ情報DLが存在するデリミタ情報位置Pを特定する機能を有している。
具体的には、比較器14Bは、バッファ14AのバッファデータQから1byteずつシフトして順に取得した、デリミタ情報DLと等しいデータ長Abyteを有するブロックBLKと、デリミタ情報記憶回路12から出力されたデリミタ情報DLとを比較する機能と、これらBLKごとに得られた一致/不一致を示す1ビットの比較結果を、バッファデータQごとにまとめたビットマップBmapで一括出力する機能とを有している。
また、比較器14Bは、入力パケットの先頭タイミングを示すパケット先頭信号SOP(Start of Packet)に基づいて、BLKとDLとの比較動作を開始する機能と、入力パケットの末尾タイミングを示すパケット末尾信号EOP(End of Packet)に基づいてBLKとDLとの比較動作を終了する機能とを有している。これらSOPとEOPは、例えば、ネットワーク装置からパケットデータDinと同期して並列的に入力される。
抽出器14Cは、比較器14Bから出力されたビットマップBmapに基づいて、バッファデータQのうち、DLが存在するデリミタ情報位置Pを基準として予め設定されているPの近傍位置から、Mbyteのキー情報Keyを抽出する機能を有している。
OR回路14Dは、比較器14Bから出力されたビットマップBmapの各ビットを論理和(OR)演算することにより、バッファデータQ内にデリミタ情報DLが存在するか否かを検査し、得られた検査結果Txを出力する機能を有している。これにより、Q内にDLが存在すればTx=1が出力され、Q内にDLが存在しなければTx=0が出力される。
キーレジスタ14Eは、OR回路14Dから出力された検査結果TxがDLの存在あり(Tx=1)を示す場合、抽出器14Cから出力されているキー情報Keyを保持して出力する機能を有している。
[キー情報抽出動作]
次に、図5および図6を参照して、本実施の形態にかかるパケット識別装置10の動作として、キー情報抽出回路14におけるキー情報抽出動作について説明する。
ここでは、バッファ14Aに蓄積されているバッファデータQのうち、デリミタ情報DLが存在するデリミタ情報位置Pから前方Mbyte分のデータをキー情報Keyとして抽出する場合を例として説明する。
図5のキー情報抽出処理に示すように、比較器14Bは、パケット先頭信号SOPが「1」に変化するまで待機し(ステップS100:NO)、SOPが「1」に変化してバッファデータQにパケット先頭が含まれることが確認された場合(ステップS100:YES)、以下のようなQから取得したBLKとDLとの比較動作を開始する。
まず、バッファ14Aは、自己のバッファ長Lqbyte分の遅延データDdがバッファデータQとして蓄積されるまで待機し(ステップS101:NO)、Qの蓄積が完了した時点で(ステップS101:YES)、バッファデータQの先頭からキー情報Key分のMbyteを除いた、それ以外の探索領域Sから、Abyte長のBLKを1byteずつシフトして順に読み出して比較器14Bへ出力する(ステップS102)。
比較器14Bは、これらBLKとDLとを順次比較する(ステップS103)。
図6に示すキー情報抽出動作例のように、バッファ長LqbyteのバッファデータQの先頭からMbyteがキー情報Keyであるものと想定し、それ以外のデータ長β(=Lq−M)byte分が探索領域Sであるものとする。デリミタ情報DLが2byte長(A=2)である場合、QのうちSの先頭位置M+1byte目から2byteずつブロックBLKとして読み出されて比較器14BでDLと比較される。
この際、1回目の比較では、QのM+1byte目とM+2byte目のデータqM+1,qM+2からなるBLK#1がDLのDL1,DL2と比較され、その一致/不一致を示す比較結果がBmapの1bit目のb1に格納される。
次の2回目の比較では、1byte分シフトした位置、すなわちQのM+2byte目とM+3byte目のデータqM+2,qM+3からなるBLK#2がDLのDL1,DL2と比較され、その一致/不一致を示す比較結果がBmapの2bit目のb2に格納される。
この後、Qの末尾までBLKとDLがβ回分繰り返し比較され、最後はQのβbyte目とβ+1byte目のデータqβ,qβ+1からなるBLK#2がDLのDL1,DL2と比較され、その一致/不一致を示す比較結果がBmapのβbit目のbβに格納される。
したがって、図6に示すように、データqβ−1がDL1であり、データqβがDL2である場合、これらデータqβ−1,qβがDLと一致するため、Bmapのβ−1bit目のbβ−1が「1」となり、Bmapのうちその他のビットはすべて不一致を示す「0」となる。
比較器14Bは、このようにして、比較ごとに得られた一致/不一致を示す1ビットの比較結果を、Qごとにまとめたβbit長のビットマップBmapで一括出力する(ステップS104)。
抽出器14Cは、比較器14Bから出力されたBmapに基づいて、バッファデータQのうちデリミタ情報DLが存在するデリミタ情報位置Pを特定し(ステップS105)、QのうちPから前方Mbyte分のデータをキー情報Keyとして抽出する(ステップS106)。
また、OR回路14Dは、比較器14Bから出力されたBmapの各ビットを論理和演算することにより、Q内にDLが存在するか否かを検査し、得られた検査結果Txを出力する(ステップS107)。
ここで、Tx=1の場合(ステップS107:YES)、キーレジスタ14Eは、抽出器14Cから出力されているKeyで保持内容を更新する(ステップS108)。また、Tx=0の場合(ステップS107:NO)、キーレジスタ14Eは、保持内容を更新しない(ステップS109)。
この後、バッファ14Aは、バッファデータQの末尾からキー情報Keyのデータ長Mbyte分のデータを取得し、バッファデータQの先頭にシフトする(ステップS110)。これにより、今回のキー情報抽出処理で用いた探索領域Sの末尾のデータが、次回のキー情報抽出処理でQのキー情報Keyに相当するデータとして用いられる。ただし、比較後のバッファデータを更新する際には、探索領域Sの末尾にデリミタが分割されて保存される場合を想定して、ある程度データを重複させて更新するものとする。この場合、ステップS110で先頭にシフトするデータのデータ長をMbyteより重複させる分だけ長くすればよい。
次に、比較器14Bは、パケット末尾信号EOPが「1」であるか確認し(ステップS111)、パケット末尾信号EOPが「0」を示す場合には(ステップS111:NO)、ステップS101に戻って、新たな遅延データDdをQに順次追加する。
一方、パケット末尾信号EOPが「1」を示す場合(ステップS111:YES)、一連のキー情報抽出処理を終了する。
[第1の実施の形態の効果]
このように、本実施の形態は、入力パケットのプロトコル種別ごとに、入力パケットに含まれるキー情報Keyを特定するためのデリミタ情報DLを記憶するデリミタ情報記憶回路12を設け、キー情報抽出回路14が、ヘッダ処理回路11で特定されたプロトコル種別に応じてデリミタ情報記憶回路12から出力された、入力パケットのプロトコル種別に関するデリミタ情報DLに基づいて、遅延回路13から出力された入力パケットのうちデリミタ情報の近傍からキー情報を抽出するようにしたものである。
より具体的には、遅延回路13が、入力パケットが一定の長さで分割入力されるパケットデータDinを、遅延時間だけ順次遅延させて遅延データDdとして出力し、キー情報抽出回路14において、バッファ14Aが、遅延データDdをバッファデータQとして保持し、比較器14Bが、バッファデータQ内でデリミタ情報DLを探索することにより、DLが存在するデリミタ情報位置Pを特定し、抽出器14Cがデリミタ情報位置Pを基準とした位置範囲のデータを、キー情報KeyとしてバッファデータQから抽出するようにしたものである。
これにより、入力パケットのプロトコル種別に応じたデリミタ情報DLが、デリミタ情報記憶回路12から切替出力され、このDLに基づいて入力パケットから、アプリケーションに特有のキー情報Keyがキー情報抽出回路14で抽出されることになる。したがって、入力パケットのプロトコル種別が異なる場合でも、プロトコル種別間で同一のキー情報抽出回路14を共用して、所望のキー情報Keyを抽出できる。
このため、従来技術のように、プロトコル種別ごとにキー情報抽出部を設ける必要がなくなり、デリミタ情報記憶回路12のデリミタ情報DLを再設定するだけで、新たなプロトコルからもキー情報を抽出できる。したがって、アプリケーションに特有のキー情報Keyを用いたパケット識別処理を、小規模かつ低コストな回路構成で柔軟に行うことが可能となる。
また、本実施の形態において、デリミタ情報記憶回路12で記憶する、プロトコル種別とデリミタ情報DLとの対応関係を再設定する場合、図7に示すように、パケット識別装置10の内部または外部に設けられた制御回路(CPU)から、プロトコル種別とデリミタ情報DLとの対応関係を書き換えるようにしてもよい。また、遅延回路13の遅延時間についても、ヘッダ処理回路11で入力パケットのプロトコル種別を特定してから、デリミタ情報記憶回路12で対応するデリミタ情報DLを読み出すまでの所要時間は、実装ごとに依存する。このため、実装ごとに最適な遅延時間を、図7に示すように、パケット識別装置10の内部または外部に設けられた制御回路(CPU)から、遅延回路13に設定するようにしてもよい。
[第2の実施の形態]
次に、図8を参照して、本発明の第2の実施の形態にかかるパケット識別装置10について説明する。
第1の実施の形態では、各プロトコル種別に共通して、デリミタ情報DLの前方にキー情報Keyが存在する場合を例として説明した。本実施の形態では、プロトコル種別ごとに、キー情報Keyが存在する位置を任意に設定する場合について説明する。
本実施の形態において、デリミタ情報記憶回路12は、図9に示すように、入力パケットのプロトコル種別ごとに、デリミタ情報DLとこのDLに対するキー情報Keyの位置を示す位置情報とを記憶する機能を有している。具体的には、位置情報LOCは、キー情報Keyがデリミタ情報DLの前方または後方のいずれに位置するかを示す、1bitの位置情報からなる。
キー情報抽出回路14の抽出器14Cは、デリミタ情報記憶回路12から出力されたデリミタ情報DLと位置情報LOCとに基づいて、入力パケットからキー情報Keyを抽出する機能を有している。この際、位置情報LOCが前方Fを示す場合、キー情報抽出回路14は、DLの前方MbyteをKeyとして抽出し、位置情報LOCが後方Bを示す場合、キー情報抽出回路14は、DLの後方MbyteをKeyとして抽出する。
また、キー情報抽出回路14のバッファ14Aは、デリミタ情報記憶回路12から出力された位置情報LOCに基づいて、バッファデータQのうちブロックBLKを探索する探索領域Sを特定する機能を有している。
[第2の実施の形態の動作]
次に、図10Aおよび図10Bを参照して、本実施の形態にかかるパケット識別装置10の動作として、キー情報抽出回路14におけるキー情報抽出動作について説明する。
ここでは、バッファ14Aに蓄積されているバッファデータQのうち、デリミタ情報DLが存在するデリミタ情報位置Pから、位置情報LOCが示す前方または後方のMbyte分のデータをキー情報Keyとして抽出する場合を例として説明する。なお、図10A,図10Bのうち前述した図5と同じまたは同等部分には同一符号を付してある。
図10Aのキー情報抽出処理に示すように、比較器14Bは、パケット先頭信号SOPが「1」に変化するまで待機し(ステップS100:NO)、SOPが「1」に変化してバッファデータQにパケット先頭が含まれることが確認された場合(ステップS100:YES)、以下のようなQから取得したBLKとDLとの比較動作を開始する。
まず、バッファ14Aは、自己のバッファ長Lqbyte分の遅延データDdがバッファデータQとして蓄積されるまで待機し(ステップS101:NO)、Qの蓄積が完了した時点で(ステップS101:YES)、LOCを確認する(ステップS200)。
ここで、LOCがFを示す場合(ステップS200:YES)、バッファ14Aは、Qの先頭からMbyteを除いた部分をSとし(ステップS201)、LOCがBを示す場合(ステップS200:NO)、Qの末尾からMbyteを除いた部分をSとする(ステップS200)。この後、バッファ14Aは、バッファデータQのうち上記探索領域Sから、Abyte長のBLKを1byteずつシフトして順に読み出して比較器14Bへ出力する(ステップS203)。
比較器14Bは、これらBLKとDLとを順次比較し(ステップS103)、比較ごとに得られた一致/不一致を示す1ビットの比較結果を、Qごとにまとめたβbit長のビットマップBmapで一括出力する(ステップS104)。
この後、図10Bのキー情報抽出処理(続き)に示すように、抽出器14Cは、比較器14Bから出力されたBmapに基づいて、バッファデータQのうちデリミタ情報DLが存在するデリミタ情報位置Pを特定し(ステップS105)、LOCを確認する(ステップS210)。
ここで、LOCがFの場合(ステップS210:YES)、抽出器14Cは、QのうちPから前方Mbyte分のデータをキー情報Keyとして抽出し(ステップS211)、LOCがBの場合、抽出器14Cは、QのうちPから後方Mbyte分のデータをキー情報Keyとして抽出する(ステップS212)。
また、OR回路14Dは、比較器14Bから出力されたBmapの各ビットを論理和演算することにより、Q内にDLが存在するか否かを検査し、得られた検査結果Txを出力する(ステップS107)。
ここで、Tx=1の場合(ステップS107:YES)、キーレジスタ14Eは、抽出器14Cから出力されているKeyで保持内容を更新する(ステップS108)。また、Tx=0の場合(ステップS107:NO)、キーレジスタ14Eは、保持内容を更新しない(ステップS109)。
この後、バッファ14Aは、バッファデータQの末尾からキー情報Keyのデータ長Mbyte分のデータを取得し、バッファデータQの先頭にシフトする(ステップS110)。これにより、デリミタ情報DLの前方にキー情報Keyが存在する場合には、今回のキー情報抽出処理で用いた探索領域Sの末尾のデータが、次回のキー情報抽出処理でQのキー情報Keyに相当するデータとして用いられる。
また、デリミタ情報DLの後方にキー情報Keyが存在する場合には、今回のキー情報抽出処理で用いたQのキー情報Keyに相当するデータが、次回のキー情報抽出処理で探索領域Sの先頭のデータとして用いられる。ただし、比較後のバッファデータを更新する際には、探索領域Sの末尾にデリミタが分割されて保存される場合を想定して、ある程度データを重複させて更新するものとする。この場合、ステップS110で先頭にシフトするデータのデータ長をMbyteより重複させる分だけ長くすればよい。
次に、比較器14Bは、パケット末尾信号EOPが「1」であるか確認し(ステップS111)、パケット末尾信号EOPが「0」を示す場合には(ステップS111:NO)、ステップS101に戻って、新たな遅延データDdをQに順次追加する。
一方、パケット末尾信号EOPが「1」を示す場合(ステップS111:YES)、一連のキー情報抽出処理を終了する。
[第2の実施の形態の効果]
このように、本実施の形態は、デリミタ情報記憶回路12が、入力パケットのプロトコル種別ごとに、デリミタ情報DLとこのDLに対するキー情報Keyの位置を示す位置情報LOCとを記憶し、キー情報抽出回路14は、デリミタ情報記憶回路12から出力されたデリミタ情報DLと位置情報LOCとに基づいて、入力パケットからキー情報Keyを抽出するようにしたものである。
具体的には、位置情報LOCは、キー情報Keyがデリミタ情報DLの前方Fまたは後方Bのいずれに位置するかを示す情報であり、キー情報抽出回路14は、入力パケットのうち、位置情報LOCが示すデリミタ情報DLの前方Fまたは後方Bから、指定長のデータをキー情報Keyとして抽出するようにしたものである。
これにより、プロトコル種別ごとに、キー情報Keyが存在する位置を任意に設定することができ、1つのパケット識別装置10で識別できるパケットのプロトコル種別を大幅に拡張することが可能となる。
なお、本実施の形態において、位置情報LOCは、入力パケットのうちキー情報Keyがデリミタ情報DLの前方Fまたは後方Bのいずれに位置するかを示す情報からなる場合を例として説明したが、これに限定されるものではない。例えば、位置情報LOCとして、デリミタ情報位置Pからキー情報Keyの先頭位置または末尾位置までの相対位置を示す情報を用いてもよく、さらにキー情報Keyのデータ長を含んでもよい。
これにより、プロトコル種別ごとに個別の位置からキー情報Keyを抽出することが可能となる。
[第3の実施の形態]
次に、図11を参照して、本発明の第3の実施の形態にかかるパケット識別装置10について説明する。
第1および第2の実施の形態では、入力パケットから抽出した1つのキー情報Keyに基づいて、入力パケットをアプリケーションごとに識別する場合を例として説明した。本実施の形態では、入力パケットから抽出した複数のキー情報Keyに基づいて、入力パケットをアプリケーションごとに識別する場合を例として説明する。
本実施の形態において、デリミタ情報記憶回路12は、入力パケットのプロトコル種別ごとに複数のデリミタ情報DLを記憶する機能を有している。
キー情報抽出回路14は、デリミタ情報DLごとに設けられて、対応するデリミタ情報DLと位置情報LOCとに基づいて、入力パケットからそれぞれ個別のキー情報Keyを独立して抽出する機能を有している。
キー情報結合回路16は、キー情報抽出回路14のそれぞれで抽出された複数のキー情報Keyを1つの結合キー情報Keyに結合する機能を有している。
検索回路15は、キー情報結合回路16から出力された結合キー情報Keyで検索テーブル15Aを検索することにより、入力パケットに関するアプリケーションを示す識別結果Rを出力する機能を有している。
図11の例では、入力パケットのプロトコル種別ごとに2つのデリミタ情報DLX,DLYが登録されており、それぞれのデータ長がXbyte,Ybyteである。
また、これらDLX,DLYごとに、キー情報抽出回路14X,14Yが設けられており、それぞれでキー情報KeyX,KeyYが抽出される。キー情報抽出回路14X,14Yの具体的なキー情報抽出処理については、前述した図10A,図10Bと同等である。
これらキー情報KeyX,KeyYは、キー情報結合回路16で1つの結合キー情報Keyに結合されている。結合方法としては、KeyXとKeyYを連結することにより、X+Ybyteの結合キー情報Keyを生成すればよい。
検索回路15の検索テーブル15Aには、識別対象となるアプリケーションごとに当該アプリケーションに特有の結合キー情報Keyが予め登録されている。したがって、結合キー情報Keyと対応するアプリケーションを示す識別結果Rが出力される。
[第3の実施の形態の効果]
このように、本実施の形態は、デリミタ情報記憶回路12が、入力パケットのプロトコル種別ごとに複数のデリミタ情報DLを記憶し、キー情報抽出回路14が、デリミタ情報DLごとに設けられて、対応するデリミタ情報DLと位置情報LOCとに基づいて、入力パケットからそれぞれ個別のキー情報Keyを抽出し、キー情報結合回路16が、キー情報抽出回路14のそれぞれで抽出された複数のキー情報Keyを1つの結合キー情報Keyに結合するようにしたものである。
これにより、入力パケットから抽出した複数のキー情報Keyに基づいて、入力パケットをアプリケーションごとに識別することができ、より高度なパケット識別を実現することが可能となる。
本実施の形態では、入力パケットのプロトコル種別ごとに2つのデリミタ情報DLX,DLYを登録した場合を例として説明したが、デリミタ情報DLの数は、3以上であってもよい。その場合、キー情報抽出回路14をデリミタ情報DLの数に合わせて設ければよい。
また、本実施の形態において、複数のキー情報Keyを連結することにより結合キー情報Keyを生成する場合を例として説明したが、これに限定されるものではない。例えば、複数のキー情報Keyを論理演算したり数値計算処理したりすることにより、結合キー情報Keyを生成してもよい。
また、プロトコル種別ごと、結合キー情報Keyの生成方法を示す結合種別情報をデリミタ情報記憶回路12に登録しておき、入力パケットのプロトコル種別に応じて、デリミタ情報記憶回路12から出力された結合種別情報に基づいて、キー情報結合回路16が結合キー情報Keyを生成するようにしてもよい。これにより、より高度で詳細なパケット識別を実現することが可能となる。
[実施の形態の拡張]
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しうる様々な変更をすることができる。また、各実施形態については、矛盾しない範囲で任意に組み合わせて実施することができる。
10…パケット識別装置、11…ヘッダ処理回路、12…デリミタ情報記憶回路、13…遅延回路、14,14X,14Y…キー情報抽出回路、14A…バッファ、14B…比較器、14C…抽出器、14D…OR回路、14E…キーレジスタ、15…検索回路、15A…検索テーブル、16…キー情報結合回路、20…制御回路、Din…パケットデータ、Dd…遅延データ、PID…プロトコル情報、DL,DLX,DLY…デリミタ情報、Q…バッファデータ、S…探索領域、BLK…ブロック、Bmap…ビットマップ、P…デリミタ情報位置、LOC…位置情報、Key,KeyX,KeyY…キー情報(結合キー情報)、Tx…検査結果、R…識別結果。

Claims (5)

  1. 入力パケットから特定した、前記入力パケットのプロトコル種別と、前記入力パケットのアプリケーションに特有のキー情報とに基づいて、前記入力パケットをアプリケーションごとに識別するパケット識別装置であって、
    前記入力パケットのヘッダ情報を識別することにより、前記入力パケットのプロトコル種別を特定するヘッダ処理回路と、
    前記入力パケットのプロトコル種別ごとに、前記入力パケットに含まれるキー情報を特定するためのデリミタ情報を記憶するデリミタ情報記憶回路と、
    前記入力パケットを一定の遅延時間だけ遅延させて出力する遅延回路と、
    前記ヘッダ処理回路で特定された前記プロトコル種別に応じて前記デリミタ情報記憶回路から出力された、前記入力パケットのプロトコル種別に関するデリミタ情報に基づいて、前記遅延回路から出力された前記入力パケットのうち前記デリミタ情報の近傍から前記キー情報を抽出するキー情報抽出回路と、
    前記キー情報抽出回路で抽出された前記キー情報で、識別対象となるアプリケーションごとに当該アプリケーションに特有のキー情報が予め登録されている検索テーブルを検索し、得られた検索結果に基づいて前記入力パケットに関する識別結果を出力する検索回路と
    を備え
    前記デリミタ情報記憶回路は、前記入力パケットのプロトコル種別ごとに複数の前記デリミタ情報を記憶し、
    前記キー情報抽出回路は、前記デリミタ情報ごとに設けられて、対応する前記デリミタ情報に基づいて、前記入力パケットからそれぞれ個別のキー情報を抽出し、
    前記キー情報抽出回路のそれぞれで抽出された複数のキー情報を1つの結合キー情報に結合するキー情報結合回路をさらに備え、
    前記検索回路は、前記キー情報結合回路から出力された前記結合キー情報で前記検索テーブルを検索することにより、前記入力パケットに関するアプリケーションを示す識別結果を出力す
    ことを特徴とするパケット識別装置。
  2. 請求項1に記載のパケット識別装置において、
    前記デリミタ情報記憶回路は、前記入力パケットのプロトコル種別ごとに、前記デリミタ情報と前記デリミタ情報に対する前記キー情報の位置を示す位置情報とを記憶し、
    前記キー情報抽出回路は、前記デリミタ情報記憶回路から出力された前記デリミタ情報と前記位置情報とに基づいて、前記入力パケットから前記キー情報を抽出する
    ことを特徴とするパケット識別装置。
  3. 請求項2に記載のパケット識別装置において、
    前記位置情報は、前記キー情報が前記デリミタ情報の前方または後方のいずれに位置するかを示す情報であり、
    前記キー情報抽出回路は、前記入力パケットのうち、前記位置情報が示す前記デリミタ情報の前方または後方から、指定長のデータを前記キー情報として抽出する
    ことを特徴とするパケット識別装置。
  4. 請求項1に記載のパケット識別装置において、
    前記遅延回路は、一定の長さで分割入力される前記入力パケットを、前記遅延時間だけ順次遅延させて遅延データとして出力し、
    前記キー情報抽出回路は、
    前記遅延データをバッファデータとして保持するバッファと、
    前記バッファデータ内で前記デリミタ情報を探索することにより、前記デリミタ情報が存在するデリミタ情報位置を特定する比較器と、
    前記デリミタ情報位置を基準とした位置範囲のデータを、前記キー情報として前記バッファデータから抽出する抽出器とを備える
    ことを特徴とするパケット識別装置。
  5. 入力パケットから特定した、前記入力パケットのプロトコル種別と、前記入力パケットのアプリケーションに特有のキー情報とに基づいて、予め設定されているアプリケーションごとに前記入力パケットを識別するパケット識別装置で用いられるパケット識別方法であって、
    ヘッダ処理回路が、前記入力パケットのヘッダ情報を識別することにより、前記入力パケットのプロトコル種別を特定するヘッダ処理ステップと、
    デリミタ情報記憶回路が、前記入力パケットのプロトコル種別ごとに、前記入力パケットに含まれるキー情報を特定するためのデリミタ情報を記憶するデリミタ情報記憶ステップと、
    遅延回路が、前記入力パケットを一定の遅延時間だけ遅延させて出力する遅延ステップと、
    キー情報抽出回路が、前記ヘッダ処理回路で特定された前記プロトコル種別に応じて前記デリミタ情報記憶回路から出力された、前記入力パケットのプロトコル種別に関するデリミタ情報に基づいて、前記遅延回路から出力された前記入力パケットのうち前記デリミタ情報の近傍から前記キー情報を抽出するキー情報抽出ステップと、
    検索回路が、前記キー情報抽出回路で抽出された前記キー情報で、識別対象となるアプリケーションごとに当該アプリケーションに特有のキー情報が予め登録されている検索テーブルを検索し、得られた検索結果に基づいて前記入力パケットに関する識別結果を出力する検索ステップと
    を備え
    前記デリミタ情報記憶ステップでは、前記デリミタ情報記憶回路が、前記入力パケットのプロトコル種別ごとに複数の前記デリミタ情報を記憶し、
    前記キー情報抽出ステップでは、前記デリミタ情報ごとに設けられた前記キー情報抽出回路が、対応する前記デリミタ情報に基づいて、前記入力パケットからそれぞれ個別のキー情報を抽出し、
    キー情報結合回路が、前記キー情報抽出回路のそれぞれで抽出された複数のキー情報を1つの結合キー情報に結合するキー情報結合ステップをさらに備え、
    前記検索ステップでは、前記検索回路が、前記キー情報結合回路から出力された前記結合キー情報で前記検索テーブルを検索することにより、前記入力パケットに関するアプリケーションを示す識別結果を出力す
    ことを特徴とするパケット識別方法。
JP2017225639A 2017-11-24 2017-11-24 パケット識別装置および方法 Active JP6907903B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017225639A JP6907903B2 (ja) 2017-11-24 2017-11-24 パケット識別装置および方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017225639A JP6907903B2 (ja) 2017-11-24 2017-11-24 パケット識別装置および方法

Publications (2)

Publication Number Publication Date
JP2019097053A JP2019097053A (ja) 2019-06-20
JP6907903B2 true JP6907903B2 (ja) 2021-07-21

Family

ID=66972234

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017225639A Active JP6907903B2 (ja) 2017-11-24 2017-11-24 パケット識別装置および方法

Country Status (1)

Country Link
JP (1) JP6907903B2 (ja)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6238054A (ja) * 1985-08-13 1987-02-19 Fujitsu Ltd 受信側予約通信方式
JP2002368793A (ja) * 2001-06-06 2002-12-20 Toshiba Corp ネットワーク間中継装置及びパケットフロー識別方法
JP3489573B2 (ja) * 2001-07-11 2004-01-19 日本電気株式会社 パケット処理装置
JP2003209558A (ja) * 2002-01-10 2003-07-25 Toyo Commun Equip Co Ltd ノード装置
JP4872412B2 (ja) * 2006-03-31 2012-02-08 日本電気株式会社 情報検知処理方法及び装置
JP4858468B2 (ja) * 2008-03-12 2012-01-18 日本電気株式会社 プロトコル処理装置及び処理方法
JP6147095B2 (ja) * 2013-05-31 2017-06-14 Kddi株式会社 データパケットのペイロードを検査キーと照合する入出力装置、方法及びプログラム
JP2015095768A (ja) * 2013-11-12 2015-05-18 国立大学法人 東京大学 情報伝送装置、及びプログラム

Also Published As

Publication number Publication date
JP2019097053A (ja) 2019-06-20

Similar Documents

Publication Publication Date Title
JP3627697B2 (ja) パケットの宛先検索システム
JP3489573B2 (ja) パケット処理装置
US9606781B2 (en) Parser engine programming tool for programmable network devices
Wang et al. Wire Speed Name Lookup: A {GPU-based} Approach
CN103067353B (zh) 将来自远程发送者的数据流传递到远程目的地的方法
EP0993144B1 (en) Packet relaying apparatus and method and circuit thereof
US7599364B2 (en) Configurable network connection address forming hardware
KR100586461B1 (ko) 파이프라인 이진 트리를 이용한 ip 어드레스 검색 방법,하드웨어 구조 및 기록매체
JP2006005636A (ja) パケット転送装置
CN107431660B (zh) 检索装置、检索方法及记录介质
CN102035738B (zh) 一种获取路由信息的方法及装置
JP2001326679A (ja) 情報装置、テーブル検索装置、テーブル検索方法、及び記録媒体
US8331368B2 (en) Method of processing information packets and telecommunication apparatus using the same
JP6623849B2 (ja) 通信装置、通信システム、通信制御装置、通信方法、及び、通信制御方法
JP6907903B2 (ja) パケット識別装置および方法
CN105187330A (zh) 使用唯一分组标识符来标识分组的结构的方法及其装置
US11258885B2 (en) Flexible parser in a networking device
CN105282137A (zh) 将分组拆分成各层以供修改且之后将层拼接的方法及装置
CN116319553A (zh) 一种表项查找方法以及网络设备
JP2000151709A (ja) ルーティングアドレス検索システム
WO2018159677A1 (ja) データ処理装置、ネットワークシステム、パケット順序制御回路、およびデータ処理方法
CN105450527B (zh) 处理报文、发送信息、接收信息的方法及装置
CN105282033A (zh) 允许报头层的扩展和塌缩以实现灵活修改的方法及其装置
JP4726310B2 (ja) 情報検索装置、情報検索用マルチプロセッサおよびルータ
JP6073706B2 (ja) 通信装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201023

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201110

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210105

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: 20210601

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210614

R150 Certificate of patent or registration of utility model

Ref document number: 6907903

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150