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

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

Info

Publication number
JP6762911B2
JP6762911B2 JP2017119305A JP2017119305A JP6762911B2 JP 6762911 B2 JP6762911 B2 JP 6762911B2 JP 2017119305 A JP2017119305 A JP 2017119305A JP 2017119305 A JP2017119305 A JP 2017119305A JP 6762911 B2 JP6762911 B2 JP 6762911B2
Authority
JP
Japan
Prior art keywords
packet
processing unit
data
field value
header
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
JP2017119305A
Other languages
English (en)
Other versions
JP2019004398A (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 JP2017119305A priority Critical patent/JP6762911B2/ja
Publication of JP2019004398A publication Critical patent/JP2019004398A/ja
Application granted granted Critical
Publication of JP6762911B2 publication Critical patent/JP6762911B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、ハードウェアを用いた可変長パケットの識別装置および方法に関する。
従来のパケット識別方法では、ルータ装置のような安価に量産された装置においてOSI参照モデルの第4層までのパケットのヘッダ領域を識別し、サーバ上で実行されるソフトウェアや高価な専用装置を用いて第5層以降のアプリケーション層のパケットの識別処理を行うのが一般的である(例えば、「非特許文献1」参照。)。
K Oztoprak, MA Yazici, "A hybrid asymmetric traffic classifier for deep packet inspection systems with route asymmetry", Performance Computing and Communications Conference (IPCCC), 2016 IEEE 35th International
しかしながら、近年の通信ネットワークにおけるデータ通信量の増加に伴い、より高度なパケット識別によるネットワーク制御の需要が増大しており、従来のソフトウェアによるアプリケーション層のパケットの識別処理では処理能力が不足し、パケットの識別処理のための専用装置は高価でコスト負担が大きいという問題がある。
本発明は、以上のような問題を解決するためになされたものであり、アプリケーション層のパケットを含むパケットの識別処理をより高速にかつ柔軟に行うことができるパケット識別装置を提供することを目的とする。
上記の課題を解決するために、本発明のパケット識別装置は、マスク処理部と一致処理部とを備えたパケット識別装置であって、前記マスク処理部は、所与のオフセットとマスク長に従って、可変長パケットの後方からパケットデータの一部を取得することにより、所定のデータ長を有する第1のフィールド値を生成するように構成され、前記一致処理部は、前記第1のフィールド値と前記所定のデータ長を有する所与の第1のキーワードの比較処理を行って、比較結果を出力するように構成され、前記第1のキーワードは、Don'tCareビットを含み、前記一致処理部は、前記比較処理としてDon'tCareビットを含む3値比較処理を行う
また、ヘッダ処理部をさらに備え、前記ヘッダ処理部は、ヘッダデータとボディデータからなる所与のパケットフォーマットを有する前記可変長パケットの前方から、前記ヘッダデータの少なくとも一部のパケットデータを取得することにより、第2のフィールド値を生成するように構成され、前記一致処理部は、前記第2のフィールド値と所与の第2のキーワードの比較処理を行って、前記第1のフィールド値および前記第2のフィールド値に関わる比較結果を組み合わせて出力するように構成されてもよい。
上記の課題を解決するために、本発明のパケット識別方法は、マスク処理部と一致処理部とを備えたパケット識別装置におけるパケット識別方法であって、前記マスク処理部が、所与のオフセットとマスク長に従って、可変長パケットの後方からパケットデータの一部を取得することにより、所定のデータ長を有する第1のフィールド値を生成するマスク処理ステップと、前記一致処理部が、前記第1のフィールド値と前記所定のデータ長を有する所与の第1のキーワードの比較処理を行って、比較結果を出力する一致処理ステップとを含み、前記第1のキーワードは、Don'tCareビットを含み、前記一致処理ステップでは、前記一致処理部が、前記比較処理としてDon'tCareビットを含む3値比較処理を行う
また、前記パケット識別装置は、ヘッダ処理部をさらに備え前記ヘッダ処理部が、ヘッダデータとボディデータからなる所与のパケットフォーマットを有する前記可変長パケットの前方から、前記ヘッダデータの少なくとも一部のパケットデータを取得することにより、第2のフィールド値を生成するヘッダ処理ステップをさらに含み前記一致処理ステップでは、前記一致処理部が、前記第2のフィールド値と所与の第2のキーワードの比較処理を行って、前記第1のフィールド値および前記第2のフィールド値に関わる比較結果を組み合わせて出力してもよい。
本願発明によれば、アプリケーション層のパケットを含むパケットの識別処理をより高速にかつ柔軟に行うことができるパケット識別装置を提供することが可能となる。
図1は、本発明の第1の実施の形態におけるパケット識別装置の構成である。 図2は、本発明の第1の実施の形態におけるパケットの識別処理を説明するための図である。 図3は、本発明の第1の実施の形態におけるパケット識別方法のフローチャートである。 図4は、本発明の第2の実施の形態におけるパケット識別装置の構成である。 図5は、本発明の第2の実施の形態におけるパケットの識別処理を説明するための図である。 図6は、本発明の第2の実施の形態におけるパケット識別方法のフローチャートである。
以下、本願発明の実施の形態について図面を用いて説明する。但し、本願発明は、多くの異なる形態で実施することが可能であり、以下に説明する実施の形態の記載内容に限定して解釈されるものではない。
<第1の実施の形態>
図1は、本発明の第1の実施の形態におけるパケット識別装置の構成である。図2は、本発明の第1の実施の形態におけるパケットの識別処理を説明するための図であり、図3は、本発明の第1の実施の形態におけるパケット識別方法のフローチャートである。
図1のパケット識別装置1は、マスク処理部2、一致処理部3および制御部5からなる。図1の構成における各部は、FPGA(Field Programmable Gate Array)やASIC(Application Specific Integrated Circuit)上に構成されるプログラムないし回路データとして実装されるが、これらに限られるものではなく、一般に利用されているスイッチまたはルータのような汎用デバイス上のプログラム、あるいは汎用サーバ上の仮想スイッチなどを利用して構成することもできる。
本実施形態は、パケット受信端におけるパケットの識別を想定しており、パケット識別装置1にはパケット形式のデータが入力される。入力されるパケットは、ヘッダデータとボディデータからなる所与のパケットフォーマットを有する可変長パケットである。
マスク処理部2には、制御部5から識別したいアプリケーションデータのパケット上のビット位置に応じて、オフセットとマスク長の情報があらかじめ与えられており、これらのオフセットとマスク長の情報に従って、可変長パケットの後方からパケットデータの一部を取得することにより、第1のフィールド値#1を生成する。ここで、フィールド値とは、パケット内のそれぞれが特定の属性を示すデータブロック(プロトコルの各フィールド)から、任意の1つあるいは複数のデータブロックを抜粋して生成した値のことであり、第2の実施形態においても同様である。
可変長パケットにおいては、ボディデータのデータ長が送信されるデータ量に応じて変動するため、パケットフォーマットが既知であったとしても、パケットの前方から検索したのでは、所望のアプリケーションデータを識別することができない。そこで、本実施の形態では、識別したいアプリケーションデータのパケット上のビット位置に応じて、パケットの後方からオフセットとマスク長を設定して、これらのオフセットとマスク長の情報に従って、可変長パケットの後方からパケットデータの一部を取得する。
例えば、DNS(Domain Name Server)に対して送信されるURL情報を含むパケットの特定のドメインを識別したい場合には、パケットの後方から、識別したいドメイン名を表すビット列のうちco.jpに相当するビット(12バイト)をオフセットした位置からのマスク長を設定し、これらに従ってパケットデータの一部を取得することにより、アプリケーションデータに特定のドメインが含まれるパケットを識別することができる。
ここで、ビットマスクによって取得されたパケットデータが、第1のフィールド値#1の所定のデータ長より短い場合には、ビットマスクによって取得されたパケットデータ以外の部分については、第1のフィールド値#1のデータ長に合わせて0値が埋められている。マスク処理部2において生成された第1のフィールド値#1は一致処理部3へ送信され、受信したパケットは、そのまま外部装置に送信される。
一致処理部3には、制御部5から一致処理対象において正解となる第1のキーワード#1があらかじめ与えられており、第1のフィールド値#1と比較するための第1のキーワード#1は、識別したいビット列にDon’tcareビットを追加し、第1のフィールド値#1と同一のデータ長としている。
一致処理部3では、マスク処理部2で生成された第1のフィールド値#1と第1のキーワード#1において、Don’tcareビットを含む3値比較処理を行い、比較結果を外部装置(図示しない)に送信する。外部装置では、パケットデータとともにパケットの識別結果を受け取ることができる。
以上述べたように、本実施の形態によれば、パケットの識別処理を、パケットの後方から取得したパケットデータに対して3値識別処理をすることで実現しているので、アプリケーション層を含むパケットデータに対する識別処理をハードウェア処理により高速に行うことが可能となる。さらに、パケットを識別するためのオフセットやマスク長を識別したいパケットに応じて設定可能とすることにより、より柔軟なパケットの識別処理が可能となる。
<第2の実施の形態>
第2の実施の形態では、第1の実施の形態におけるアプリケーション層を含むパケットデータに対する識別処理に加えて、パケットのヘッダデータの識別処理を行い、両方の処理結果を組み合わせた結果を出力する。
図4は、本発明の第2の実施の形態におけるパケット識別装置の構成である。パケット識別装置1は、ヘッダ処理部4、マスク処理部2、一致処理部3および制御部5からなる。図5は、本発明の第2の実施の形態におけるパケットの識別処理を説明するための図であり、図6は、本発明の第2の実施の形態におけるパケット識別方法のフローチャートである。
図4のパケット識別装置1は、図1のパケット識別装置1に、パケットのヘッダデータによるパケットの識別を行うヘッダ処理部4が追加されている。図4の構成における各部は、図1と同様に、FPGA(Field Programmable Gate Array)やASIC(Application Specific Integrated Circuit)上に構成されるプログラムないし回路データとして実装されるが、これらに限られるものではなく、一般に利用されているスイッチまたはルータのような汎用デバイス上のプログラム、あるいは汎用サーバ上の仮想スイッチなどを利用して構成することもできる。
本実施形態においても、パケット受信端におけるパケットの識別を想定しており、パケット識別装置1には、ヘッダデータとボディデータからなる所与のパケットフォーマットを有する可変長パケットが入力される。マスク処理部2の動作は第1の実施の形態と同様であるが、本実施の形態では、マスク処理部2で処理されるパケットは、ヘッダ処理部4から供給されるように構成している。
ヘッダ処理部4には、制御部5から識別したいパケットのパケットフォーマットの情報があらかじめ与えられている。ヘッダ処理部4では、このパケットフォーマットの情報に従って、可変長パケットの前方からヘッダデータの一部を取得することにより、第2のフィールド値#2を生成する。パケットのヘッダデータのどのフィールド値を取得するかについても制御部5から設定すればよい。パケットのデータ長が変動したとしても、パケットのパケットフォーマットが既知であれば、識別したいパケットのヘッダデータの一部、例えば、特定のIPアドレス等を取得することができる。
ここで、マスク処理部2では、フィールド値#1のデータ長に合わせて0埋め処理を行ったが、ヘッダ処理部4では、パケットのヘッダデータの所定のフィールド値を取得するので、取得するフィールド#2のフィールド長と比較する第2のキーワード#2の長さは予め設定された値となる。ヘッダ処理部4では、生成された第2のフィールド値#2を一致処理部3へ送信し、受信したパケットは、そのままマスク処理部2に送信される。
一致処理部3には、マスク処理部2で生成されたフィールド値#1と比較するための第1のキーワード#1に加えて、ヘッダ処理部4で生成されたフィールド値#2と比較する第2のキーワード#2があらかじめ与えられており、第2のキーワード#2は、第2のフィールド値#2と同一のデータ長を有する。
一致処理部3では、マスク処理部2で生成された第1のフィールド値#1と第1のキーワード#1の比較処理と、ヘッダ処理部4で生成された第2のフィールド値#2と第2のキーワード#2の比較処理を行い、両方の比較処理の結果を組み合わせて出力する。これにより、第1の実施形態と比較してより高度なパケットデータの識別を行うことができる。
例えば、第1の実施の形態で例示した、特定のドメインを含むパケットを識別する処理に、ヘッダ処理部4によるIPアドレスの識別処理等を組み合わせることにより、特定のURLをターゲットとしたパケットの中から特定の送信元IPアドレスを有するパケットを識別する等の処理を行うことができる。
一致処理部3は、組み合わせた比較結果を外部装置(図示しない)に送信し、外部装置では、パケットデータとともにパケットの識別結果を受け取ることができる。
このように、本実施の形態によれば、アプリケーション層を含むパケットデータに対する識別処理とパケットのヘッダデータの識別処理とを組み合わせることにより、より高度なパケットデータの識別処理が可能となる。
1…パケット識別装置、2…マスク処理部、3…一致処理部、4…ヘッダ処理部、5…制御部。

Claims (4)

  1. マスク処理部と一致処理部とを備えたパケット識別装置であって、
    前記マスク処理部は、所与のオフセットとマスク長に従って、可変長パケットの後方からパケットデータの一部を取得することにより、所定のデータ長を有する第1のフィールド値を生成するように構成され、
    前記一致処理部は、前記第1のフィールド値と前記所定のデータ長を有する所与の第1のキーワードの比較処理を行って、比較結果を出力するように構成され
    前記第1のキーワードは、Don'tCareビットを含み、
    前記一致処理部は、前記比較処理としてDon'tCareビットを含む3値比較処理を行う
    ことを特徴とするパケット識別装置。
  2. ヘッダ処理部をさらに備え、
    前記ヘッダ処理部は、ヘッダデータとボディデータからなる所与のパケットフォーマットを有する前記可変長パケットの前方から、前記ヘッダデータの少なくとも一部のパケットデータを取得することにより、第2のフィールド値を生成するように構成され、
    前記一致処理部は、前記第2のフィールド値と所与の第2のキーワードの比較処理を行って、前記第1のフィールド値および前記第2のフィールド値に関わる比較結果を組み合わせて出力するように構成される
    ことを特徴とする請求項1記載のパケット識別装置。
  3. マスク処理部と一致処理部とを備えたパケット識別装置におけるパケット識別方法であって、
    前記マスク処理部が、所与のオフセットとマスク長に従って、可変長パケットの後方からパケットデータの一部を取得することにより、所定のデータ長を有する第1のフィールド値を生成するマスク処理ステップと、
    前記一致処理部が、前記第1のフィールド値と前記所定のデータ長を有する所与の第1のキーワードの比較処理を行って、比較結果を出力する一致処理ステップと
    を含み、
    前記第1のキーワードは、Don'tCareビットを含み、
    前記一致処理ステップでは、前記一致処理部が、前記比較処理としてDon'tCareビットを含む3値比較処理を行う
    ことを特徴とするパケット識別方法。
  4. 前記パケット識別装置は、ヘッダ処理部をさらに
    前記ヘッダ処理部が、ヘッダデータとボディデータからなる所与のパケットフォーマットを有する前記可変長パケットの前方から、前記ヘッダデータの少なくとも一部のパケットデータを取得することにより、第2のフィールド値を生成するヘッダ処理ステップをさらに含み
    前記一致処理ステップでは、前記一致処理部が、前記第2のフィールド値と所与の第2のキーワードの比較処理を行って、前記第1のフィールド値および前記第2のフィールド値に関わる比較結果を組み合わせて出力す
    とを特徴とする請求項記載のパケット識別方法。
JP2017119305A 2017-06-19 2017-06-19 パケット識別装置およびパケット識別方法 Active JP6762911B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017119305A JP6762911B2 (ja) 2017-06-19 2017-06-19 パケット識別装置およびパケット識別方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017119305A JP6762911B2 (ja) 2017-06-19 2017-06-19 パケット識別装置およびパケット識別方法

Publications (2)

Publication Number Publication Date
JP2019004398A JP2019004398A (ja) 2019-01-10
JP6762911B2 true JP6762911B2 (ja) 2020-09-30

Family

ID=65007007

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017119305A Active JP6762911B2 (ja) 2017-06-19 2017-06-19 パケット識別装置およびパケット識別方法

Country Status (1)

Country Link
JP (1) JP6762911B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112134757B (zh) * 2020-09-21 2022-08-19 北京信而泰科技股份有限公司 一种报文生成方法及装置
CN115065496B (zh) * 2022-04-13 2024-05-07 山石网科通信技术股份有限公司 网络安全设备上的认证用户角色映射信息生成方法及装置
CN115297056B (zh) * 2022-09-28 2023-01-06 杭州芯旗电子技术有限公司 一种基于fpga实现的掩码匹配方法及系统

Also Published As

Publication number Publication date
JP2019004398A (ja) 2019-01-10

Similar Documents

Publication Publication Date Title
CN109688057B (zh) 基于ipv6的段路由网络的报文转发方法及装置
US9606781B2 (en) Parser engine programming tool for programmable network devices
US10158568B2 (en) Method and apparatus for service function forwarding in a service domain
CN108293020B (zh) 基础设施独有的服务转发
US10148573B2 (en) Packet processing method, node, and system
TWI683587B (zh) 用於唯一枚舉解析樹中的路徑的裝置和方法
WO2019210769A1 (en) Explicit routing with network function encoding
JP6762911B2 (ja) パケット識別装置およびパケット識別方法
CN106878194B (zh) 一种报文处理方法和装置
US10103976B2 (en) Service bitmask-based service application in service function chaining
US8842672B2 (en) Systems and methods for modifying network packets to use unrecognized headers/fields for packet classification and forwarding
WO2016209275A1 (en) Server load balancing
JP2019502315A (ja) 分散型サービス拒否攻撃を防御する方法、装置、クライアントおよびデバイス
CN113411258B (zh) 报文处理方法及装置
CN105337881A (zh) 一种数据报文的处理方法、业务节点以及引流点
WO2018036254A1 (zh) 报文转发方法及装置
CN105743687B (zh) 节点故障的判断方法及装置
CN109379241A (zh) 一种路径信息确定方法及装置
US11258886B2 (en) Method of handling large protocol layers for configurable extraction of layer information and an apparatus thereof
JP6590546B2 (ja) パケットのコンテンツからハッシュ入力を形成する方法およびその装置
US20200028779A1 (en) Packet processing method and apparatus
US20170187623A1 (en) Method of identifying internal destinations of network packets and an apparatus thereof
CN108777654B (zh) 报文转发方法及路由设备
WO2015154393A1 (zh) 业务节点能力处理方法、装置、业务分类器及业务控制器
CN114285907B (zh) 数据传输方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190617

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200422

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200602

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200803

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200909

R150 Certificate of patent or registration of utility model

Ref document number: 6762911

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150