(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-15
(45)【発行日】2024-10-23
(54)【発明の名称】通信データ識別装置およびその方法
(51)【国際特許分類】
H04L 69/22 20220101AFI20241016BHJP
H04L 69/18 20220101ALI20241016BHJP
【FI】
H04L69/22
H04L69/18
(21)【出願番号】P 2023529304
(86)(22)【出願日】2021-06-23
(86)【国際出願番号】 JP2021023724
(87)【国際公開番号】W WO2022269786
(87)【国際公開日】2022-12-29
【審査請求日】2023-11-24
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】100098394
【氏名又は名称】山川 茂樹
(74)【代理人】
【識別番号】100153006
【氏名又は名称】小池 勇三
(74)【代理人】
【識別番号】100064621
【氏名又は名称】山川 政樹
(74)【代理人】
【識別番号】100121669
【氏名又は名称】本山 泰
(72)【発明者】
【氏名】関原 悠介
(72)【発明者】
【氏名】鵜澤 寛之
(72)【発明者】
【氏名】池田 奈美子
【審査官】宮島 郁美
(56)【参考文献】
【文献】特開2011-114820(JP,A)
【文献】特表2020-509478(JP,A)
【文献】特開2006-020317(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L12/00-69/00
(57)【特許請求の範囲】
【請求項1】
受信したパケットのヘッダをフィールド値に分割するヘッダ解析部と、
前記フィールド値に基づき、ハッシュ演算を実行するハッシュ演算部と
を備え
、
前記フィールド値のうち、OSI参照モデルにおいて同一レイヤで同一機能を有するフィールド値に対して、同一の前記ハッシュ演算部がハッシュ演算を実行し、
前記同一レイヤで同一機能のフィールド値それぞれに、識別ビットを付与する
こと特徴とする通信データ識別装置。
【請求項2】
受信したパケットのヘッダをフィールド値に分割するステップと、
前記フィールド値
のうち、OSI参照モデルにおいて同一レイヤで同一機能のフィールド値に対して、一括でハッシュ演算を実行するステップと
、
前記同一レイヤで同一機能のフィールド値それぞれに、識別ビットを付与するステップと
を備える通信データ識別方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パケット送受信に用いる通信データ識別装置およびその方法に関する。
【背景技術】
【0002】
近年、ネットワークの仮想化が進み、複数のネットワークのパケットを単一の装置上で処理する必要がある。このような複数ネットワークのパケットを監視するためには、多様なプロトコルを識別して処理することが重要である。
【0003】
このように、多様なプロトコルに対応するため、例えば、比較一致方式であるTCAM(Ternary Content Addressable Memory)が用いられる。しかしながら、TCAMは専用のチップとして実装されるため、高価な専用装置にしか導入できないという問題がある。
【0004】
一方、専用チップでないハードウェア及びソフトウェアにおいて、例えば、パケットヘッダのフィールド毎のハッシュ値を演算してフローを特定する技術が開示されている(特許文献1)。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
従来方法において、すべての解析対象となるフィールドに対しハッシュ演算を実行するプリミティブな方式は、多様なプロトコルに対応できる反面、ハッシュ演算リソースを大量に要するという問題があった。
【0007】
また、特許文献1に開示される方式では、フィールド位置をあらかじめ指定するため、必要最小限のハッシュ演算で実行できる反面、複数の異なるプロトコルが混在する場合には対応できないという問題があった。
【課題を解決するための手段】
【0008】
上述したような課題を解決するために、本発明に係る通信データ識別装置は、受信したパケットのヘッダをフィールド値に分割するヘッダ解析部と、前記フィールド値に基づき、ハッシュ演算を実行するハッシュ演算部とを備え、前記フィールド値のうち、OSI参照モデルにおいて同一レイヤで同一機能を有するフィールド値に対して、同一の前記ハッシュ演算部がハッシュ演算を実行し、前記同一レイヤで同一機能のフィールド値それぞれに、識別ビットを付与すること特徴とする。
【0009】
また、本発明に係る通信データ識別方法は、受信したパケットのヘッダをフィールド値に分割するステップと、前記フィールド値のうち、OSI参照モデルにおいて同一レイヤで同一機能のフィールド値に対して、一括でハッシュ演算を実行するステップと、前記同一レイヤで同一機能のフィールド値それぞれに、識別ビットを付与するステップとを備える。
【発明の効果】
【0010】
本発明によれば、演算リソースを低減して、複数の異なるプロトコルが混在するパケットを識別できる通信データ識別装置およびその方法を提供できる。
【図面の簡単な説明】
【0011】
【
図1】
図1は、本発明の第1の実施の形態に係る通信データ識別装置の構成を示すブロック図である。
【
図2】
図2は、本発明の第1の実施の形態に係る通信データ識別装置の動作を説明するための図である。
【
図3】
図3は、従来の通信データ識別装置の動作を説明するための図である。
【
図4】
図4は、本発明の第1の実施の形態に係る通信データ識別装置の動作を説明するための図である。
【
図5】
図5は、本発明の第1の実施の形態に係る通信データ識別装置の動作を説明するための図である。
【
図6A】
図6Aは、本発明の第1の実施の形態に係る通信データ識別装置の動作を説明するための図である。
【
図6B】
図6Bは、本発明の第1の実施の形態に係る通信データ識別装置の動作を説明するための図である。
【発明を実施するための形態】
【0012】
<第1の実施の形態>
本発明の第1の実施の形態に係る通信データ識別装置およびその方法ついて、
図1~
図6Bを参照して説明する。
【0013】
<通信データ識別装置の構成>
本実施の形態に係る通信データ識別装置10は、
図1に示すように、ヘッダ解析部11と、ヘッダ解析部に並列に接続する、複数のハッシュ演算部12を備える。
【0014】
図2に、解析対象となるパケットのデータ構造の一例を示す。パケットデータ1は、データ本体2と送受信に必要なヘッダデータ(ヘッダ)3で構成されている。ここで、各ヘッダ3内は任意のビット数ごとに意味づけられている。以下、この意味づけられたビット区切りをフィールド値4という。また、フィールド値4が一致するパケットの一群をフローという。
【0015】
通信データ識別装置10では、ヘッダ解析部11に、解析対象となるパケットが入力される。
【0016】
ヘッダ解析部11は、各パケットのヘッダ構成を読み取り、パケットを各ヘッダ3のフィールド値4とデータ本体2のデータ値に分割する。
【0017】
ヘッダ解析部11で分割されたフィールド値4は、ハッシュ演算部12へ通知され、ハッシュ演算部12で各フィールド値4に対応したハッシュ値が演算される。ここで、高速なネットワークへ対応するために、各フィールド値4は並列化された個別のハッシュ演算部12によってハッシュ演算が実行される。
【0018】
従来法では、
図3に示すように、各フィールド値に対応して、ハッシュ演算が実行される。
【0019】
本実施の形態に係る通信データ識別装置10では、
図4に示すように、OSI参照モデルにおいて同一機能を有するプロトコルのフィールド値は、同一のハッシュ演算部によって演算される。例えば、図中、「L2VPN Protocol1」と「L2VPN Protocol2」は、OSI参照モデルにおいて同一機能を有するので、同一のハッシュ演算部によって演算される。
【0020】
このように、通信データ識別装置10では、フィールド値のうち、OSI参照モデルにおいて同一レイヤで同一機能を有するフィールド値に対して、同一のハッシュ演算部がハッシュ演算を実行する。
【0021】
この構成では、ハッシュ演算の特性とプロトコル(フィールド値)との意味づけが利用される。プロトコルは、OSI参照モデルに基づきネットワーク上での転送を提供する。このとき、暗号化などの特定機能を提供するプロトコルを除いて、同一レイヤで同一の転送プロトコルはほとんど適用されない。そこで、VPNなど同一レイヤにおいて、同じ機能を提供する複数のプロトコルに対してハッシュ演算部を共用することができる。
【0022】
ここで、単純に同じ演算処理を実行すると、どのプロトコルがハッシュ演算対象となったのかが混同される可能性がある。そこで、ハッシュ演算を共有するプロトコルにおいて、後述のように、先頭に識別ビットを付与する。
【0023】
このように、通信データ識別装置10では、同一レイヤで同一機能のフィールド値それぞれに、識別ビットを付与する。
【0024】
このように、識別ビットを含めたフィールド値をハッシュ演算することで、ハッシュ演算対象となるプロトコルを識別して、同一レイヤにおいて、同じ機能を提供する複数のプロトコルに対してハッシュ演算部を共用することができる。
【0025】
図5に、同一機能を提供するプロトコルの一例を示す。本実施の形態では、これに限らず、同等の機能を提供する複数のプロトコル間で同様に適用できる。
【0026】
このように複数のフィールド値の間でハッシュ演算を共有するためには、ハッシュ演算部への入力データの形式が同一であることが必要である。
【0027】
そこで、通信データ識別装置では、ハッシュ演算部を共有する異なるフィールド値のうち、短いフィールド値を長いフィールド値と同じビット長となるようパディングする。例えば、
図6Aでは、MPLSラベルのフィールド値が、領域21でパディングされる。これにより、各フィールド値は同一のデータ形式として扱うことができる。
【0028】
また、同一のデータ形式として扱う場合、異なるフィールド値の間で入力データが同一になり誤検出が生じる可能性がある。
【0029】
そこで、通信データ識別装置では、ヘッダ解析部またはハッシュ演算部において、ハッシュ演算部を共有するフィールド値を識別するために、同一レイヤで同一機能のフィールド値それぞれに、識別ビットを付与する。例えば、
図6Aでは、識別ビット22として、それぞれのフィールド値の先頭に「1」、「0」が付与される。
【0030】
識別ビットは、ハッシュ演算部を共有するフィールド値を識別するために十分な長さを有するビット列であり、先頭や末尾などのフィールド値内で容易に特定できる領域に付与される。
【0031】
本実施の形態では、識別ビットに「1」、「0」を用いる例を示したが、識別できる所定の値であればよく、「10」、「111」等でもよい。
【0032】
以上の処理により、OSI参照モデルにおいて同一機能を提供するプロトコルのフィールド値を同一のハッシュ演算部で演算でき、各パケットを特定するためのハッシュ演算部に要求される演算リソースを削減できる。
【0033】
本実施の形態に係る通信データ識別装置およびその方法によれば、演算リソースを低減して、高速で、複数の異なるプロトコルが混在するパケットを識別できる。
【0034】
本実施の形態では、対応するプロトコルを例示したが、これに限らず、ネットワーク上において同様の機能を提供しているプロトコルであればよい。
【0035】
また、ハッシュ演算は空間的並列化に限らず、パイプラインなどの時間的並列化においても同様である。
【0036】
また、本発明の実施の形態における全てまたは一部を、ハードウェアの回路で実現しても、CPUを用いてソフトウェアとして実現してもよい。
【0037】
本発明の実施の形態では、通信データ識別装置の構成、その方法などにおいて、各構成部の構造、寸法、材料等の一例を示したが、これに限らない。通信データ識別装置の機能を発揮し効果を奏するものであればよい。
【産業上の利用可能性】
【0038】
本発明は、通信データ識別装置およびその方法に関し、通信ネットワークにおけるパケット送受信システムに適用することができる。
【符号の説明】
【0039】
10 通信データ識別装置
11 ヘッダ解析部
12 ハッシュ演算部