JP2016005281A - パケットを汎用フォーマットに変更して、プログラマブルな変更を可能にする方法およびその装置 - Google Patents
パケットを汎用フォーマットに変更して、プログラマブルな変更を可能にする方法およびその装置 Download PDFInfo
- Publication number
- JP2016005281A JP2016005281A JP2015122559A JP2015122559A JP2016005281A JP 2016005281 A JP2016005281 A JP 2016005281A JP 2015122559 A JP2015122559 A JP 2015122559A JP 2015122559 A JP2015122559 A JP 2015122559A JP 2016005281 A JP2016005281 A JP 2016005281A
- Authority
- JP
- Japan
- Prior art keywords
- protocol
- header
- packet
- network switch
- protocol 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3081—ATM peripheral units, e.g. policing, insertion or extraction
- H04L49/309—Header conversion, routing tables or routing tags
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3009—Header conversion, routing tables or routing tags
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/164—Adaptation or special uses of UDP protocol
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/90—Services for handling of emergency or hazardous situations, e.g. earthquake and tsunami warning systems [ETWS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- Emergency Management (AREA)
- Environmental & Geological Engineering (AREA)
- Public Health (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
Description
ネットワークスイッチ等のネットワークデバイスは、ネットワーク上のトラフィックのスイッチングつまりルーティングを行うことができる。ネットワークスイッチは、パケットを受信する少なくとも1つの入力ポートつまり受信ポート、およびパケットを送信する少なくとも1つの出力ポートつまり送信ポートを備える。一部の実施形態において、ネットワークスイッチは、さらに、パーサ(パース処理手段)およびリライタ(書き換え手段)を備える。パーサ(解析手段)は、ネットワーク上のパケット(ネットワークパケット)のコンテンツを特定する少なくとも1つのパーサエンジンを含み得る。リライタ(再書込手段)は、パケットを、ネットワークスイッチから送出する前に変更する少なくとも1つのリライトエンジンを含み得る。これら少なくとも1つのパーサエンジンおよび少なくとも1つのリライトエンジンは、自由に変更可能であり、プログラマブル(設定可能)に動作し得る。
一部の実施形態において、上記ネットワークスイッチは、17種類のプロトコルおよび8層のプロトコルレイヤをサポートする。すなわち、817通りのプロトコルレイヤ組合せが想定され得る。図1に、パケット内のプロトコルレイヤ組合せの複数例を示す。一例として、パケットは、イーサネット,IPv4,ICMPのような3層プロトコルレイヤ組合せを有し得る。他の例として、パケットは、イーサネット,IPv4,UDP,VxLAN,イーサネット,ARPのような7層プロトコルレイヤ組合せを有し得る。
レイヤタイプ(LayerType)と、パケットの1つ以上のフィールドについてのハッシュとの固有の組合せにより、上記リライトエンジンに、各プロトコルレイヤの汎用フォーマットが供与され得る。一部の実施形態において、この固有の組合せにより、上記メモリに記憶された、プロトコルの汎用フォーマットについてのソフトウェア定義のマッピングのうちの1つが指定され得る。上記リライトエンジンは、この汎用フォーマットを使用して、プロトコルレイヤの拡張、さらには、ソフトウェア命令を用いてのプロトコルレイヤの変更を行い得る。このレイヤタイプ(LayerType)が、さらに、パケット内においてそのプロトコルレイヤが開始する位置(開始位置)を、上記リライトエンジンに教示し得る。
上記リライトエンジンは、パケット内の所与のデータを用いて、受信ヘッダにおけるレイヤを変更するが、そのパケット内における当該データの位置はどこであってもよい。レイヤのサイズは様々に変化し得るため、上記リライトエンジンによる変更時に必要な、データのオフセット自体も、様々に変化し得る。このことは、リライトエンジンがどのデータをどこから選択できるのかに関してのハードウェア面での柔軟性を低下させる原因となり得る。
チェックサム、長さデータ等の付帯情報(MiscellaneousInformation)は、チェックサムの再計算およびヘッダの長さの更新などといった、そのプロトコルレイヤの特殊な取扱い要件を、上記リライトエンジンに教示し得る。
略述したように、前記リライトエンジンが、パケットの各プロトコルヘッダを、そのプロトコルに特有である汎用フォーマットで表現することにより、パケットにプログラマブルな変更を可能にする。これにより、パケットのヘッダを変更する際のハードウェア面およびソフトウェア面での柔軟性が向上する。
ネットワークスイッチの入力イーサネットポートで受信した、カスタマVLANタグ付きのパケットを、タグがない状態で、出力イーサネットポートに送信する場合を考える。図9Aに、その受信イーサネットポートで受信するパケット内の、イーサネットパケットヘッダのフォーマットの一例900を示す。その受信イーサネットポートで受信するパケットに対して、ソフトウェアにより、イーサネットヘッダの汎用フォーマットが、{22’b111111_111111_0000_1111_11}であるとプログラムされる。リライトエンジンは、そのヘッダ内のプロトコルレイヤを受け取って前記メモリを参照し、このメモリは、当該ヘッダのプロトコルの汎用フォーマットが{22’b111111_111111_0000_1111_11}であることをハードウェアに認識させる。この場合、ハードウェアでは、先頭から連続する12個の(いずれも「1」にマークされた)バイトと、4バイト分シフトして後に続く6個の(いずれも「1」にマークされた)バイトとの内容について待ち受ける。前記4バイト分は、ビットベクトルにおいて「0」にマークされた4個のビットに対応する、無効なバイトである。
ネットワークスイッチの入力イーサネットポートで受信した、サービスVLANタグおよびカスタマVLANタグ付きのパケットを、タグがない状態で、出力イーサネットポートに送信する場合を考える。図10Aに、その受信イーサネットポートで受信するパケット内の、イーサネットパケットヘッダのフォーマットの一例1000を示す。その受信イーサネットポートで受信するパケットに対して、ソフトウェアにより、イーサネットヘッダの汎用フォーマットが、{22’b111111_111111_1111_1111_11}であるとプログラムされる。リライトエンジンは、そのヘッダ内のプロトコルレイヤを受け取って前記メモリを参照し、このメモリは、当該ヘッダのプロトコルの汎用フォーマットが{22’b111111_111111_1111_1111_11}であることをハードウェアに認識させる。この場合、ハードウェアは、連続する22個の(いずれも「1」にマークされた)バイトの内容について待ち受ける。
ネットワークスイッチの入力イーサネットポートで受信した、タグが付いていないパケット、またはサービスVLANタグ、カスタマVLANタグもしくは両方のタグが付いたパケットを、(別の)二重タグ付きの状態で、出力イーサネットポートに送信する場合を考える。前記受信パケットが二重タグ付きのパケットである場合、ソフトウェアにより、イーサネットヘッダの汎用フォーマットが、、{22’b111111_111111_1111_1111_11}であるとプログラムされる。前記受信パケットがタグの付いていないパケットである場合、ソフトウェアにより、イーサネットヘッダの汎用フォーマットが、{22’b111111_111111_0000_0000_11}であるとプログラムされる。前記受信パケットが単一タグ付きのパケットである場合、ソフトウェアにより、イーサネットヘッダの汎用フォーマットが、{22’b111111_111111_0000_1111_11}又は{22’b111111_111111_1111_0000_11}であるとプログラムされる。
受信時の各レイヤに含まれるバイト数は、例えば64バイトであったり、128バイトであったり、あるいは、それ以上にもなり得る。なお、これまでの例における拡張後のイーサネットヘッダのバイト数は、22バイトであった。プロトコルレイヤ内の全てのバイトをビットベクトルで表そうとすると、プロトコルによっては最悪の場合、メモリを大量に消費することになり、効率が良いとは言えないことがある。現代のシステムオンチップ(SOC)設計では、通常、組み込まれるメモリの面積および電力予算がチップ全体の予算を大きく占める。そのため、限られたメモリリソースを効率的に利用することが重要となる。
変更は、拡張後のプロトコルヘッダに適用され得る汎用的な命令のセットを用いる。これら命令は、受信時のヘッダ(例えば、サイズ、プロトコルなど)に影響されないので、いずれも汎用的な命令であると言える。
リライトエンジンは、プロトコルヘッダを変更用の汎用フォーマットに基づいて拡張するためだけに限らず、そのプロトコルヘッダを当該汎用フォーマットから「通常の」フォーマットに減縮するためにも、各プロトコルヘッダに対するビットベクトルを用い得る。典型的に、ビットベクトルの各ビットは、汎用化後のプロトコルヘッダ内の1バイトを表している。ビットベクトルにおいて0にマークされたビットは無効なバイトに対応し、1にマークされたビットは有効なバイトに対応する。汎用化後のプロトコルヘッダに対して全ての命令が実行された後、リライトエンジンが、ビットベクトルを用いて無効なバイトを全て除外することにより、新しいプロトコルヘッダを形成し得る。このように、リライトエンジンは、ビットベクトルを用いて、パケット内のプロトコルヘッダを拡張することも減縮することも可能であり得る。つまり、汎用的な命令のセットを用いることにより、パケットの柔軟な変更が実施可能になり得る。
受信パケットから、複数の互いに異なるプロトコルレイヤを汎用化のためにそれぞれ抽出したり、これらのプロトコルレイヤの変更後にパケットを再構築したりするのに、ポインタ構造(ポインタ構造体)が使用され得る。このポインタ構造は、N+1個のレイヤポインタおよびそのパケット内の全てのヘッダの合計サイズを含み得る。典型的に、このポインタ構造は、パーサエンジンにより供給されるデータを用いて予め更新(初期化)され、リライトエンジンが、そのポインタ構造を用いてパケットを個々のレイヤに分割し、さらに、そのポインタ構造を用いてこれら個々のレイヤを情報処理で(知的に(intelligently))継合する。具体的に述べると、リライトエンジンは、パケットを個々のレイヤに分割した後、プロトコルヘッダを汎用化し、汎用化後のプロトコルヘッダを変更し、さらに、無効なバイトを全て除外することによって汎用化後のプロトコルヘッダを圧縮し得る。リライトエンジンは、レイヤを変更すると、前記レイヤポインタを更新し得る。パケットをネットワークスイッチから送信するのに先立って、更新後のレイヤポインタを用いて、互いに異なるプロトコルレイヤを互いに継合し得る。このようにプロトコルレイヤを互いに継合するため、複数のプロトコルレイヤを実体的には連続させずとも、レイヤポインタによってあたかもプロコルレイヤが連続するかのように扱う(仮想的に連続させる)ことが可能となる。
Claims (28)
- リライトエンジンの動作方法であって、
受信パケットのプロトコルヘッダから、欠けているフィールドを検出する過程と、
前記プロトコルヘッダを、前記検出の結果に基づいて、そのプロトコルの汎用フォーマットに拡張する過程と、
を含む、方法。 - 請求項1に記載の方法において、前記汎用フォーマットが、プロトコルにおいて存在し得る全てのフィールドを備えており、それら各フィールドのオフセットが、前記プロトコルヘッダのプロトコルの変種にかかわらず同一である、方法。
- 請求項1に記載の方法において、前記プロトコルヘッダを拡張する過程は、
拡張後のプロトコルヘッダに対するビットベクトルを保持することであって、当該ビットベクトルが、その拡張後のプロトコルヘッダの各バイトに対して1ビットを有すること、
有効フィールドのそれぞれにおける全てのバイトに対する各ビットを、有効であるとマークすることであって、有効フィールドは、受信パケットの前記プロトコルヘッダ内に存在するフィールドであること、および
無効フィールドのそれぞれにおける全てのバイトに対する各ビットを、無効であるとマークすることであって、無効フィールドは、受信パケットの前記プロトコルヘッダ内に存在しないフィールドであること、
を含む、方法。 - 請求項1に記載の方法において、欠けているフィールドを検出する前記過程、および前記プロトコルヘッダを前記検出の結果に基づいて拡張する前記過程を、前記受信パケットの各プロトコルレイヤに対して実行する、方法。
- リライトエンジンの動作方法であって、
パケットにおける各プロトコルヘッダを、汎用フォーマットに変換する過程であって、当該汎用フォーマットは、そのプロトコルにおいて存在し得るフィールド全てを備える、過程と、
変換後の各プロトコルヘッダに対するビットベクトルを保持する過程であって、当該ビットベクトルが、その変換後のプロトコルヘッダの各バイトに対して1ビットを有する、過程と、
変換後の前記プロトコルヘッダの各フィールドにおける各バイトの有効性に基づいて、前記ビットベクトルの各ビットをマークする過程と、
変換後の前記プロトコルヘッダを変更する過程と、
変換後の前記プロトコルヘッダの前記変更に基づいて、前記ビットベクトルを更新する過程と、
を含む、方法。 - 請求項5に記載の方法において、各プロトコルヘッダを変換する過程が、プロトコルの汎用フォーマットについての、ソフトウェア定義のマッピングのセットを参照することを含む、方法。
- 請求項5に記載の方法において、前記ビットベクトルを更新する過程が、変更後のプロトコルヘッダの各フィールドにおける各バイトの有効性に基づいて、その更新されるビットベクトルの各ビットをマークすることを含む、方法。
- 請求項5に記載の方法において、前記汎用フォーマットが、プロトコルレイヤ内の特定のフィールド構成に依存しない命令の使用を可能にする、方法。
- ネットワークスイッチの動作方法であって、
前記ネットワークスイッチの受信ポートでパケットを受信する過程と、
前記パケットのプロトコルヘッダを、そのプロトコルの汎用フォーマットに従って汎用化する過程と、
少なくとも1つの命令を、汎用化後のプロトコルヘッダに適用することにより、当該汎用化後のプロトコルヘッダを変更する過程と、
変更後のプロトコルヘッダにおける無効なバイトを全て除外して新しいヘッダを形成する過程と、
前記パケットを、前記新しいヘッダ付きで、前記ネットワークスイッチの送信ポートから送出する過程と、
を含む、方法。 - 請求項9に記載の方法において、前記ネットワークスイッチが、前記プロトコルヘッダを汎用化するリライトエンジンを備える、方法。
- 請求項10に記載の方法において、プロトコルヘッダを汎用化する過程が、
前記リライトエンジンにより、パケットの前記プロトコルヘッダから、欠けているフィールドを検出すること、および
前記リライトエンジンにより、前記プロトコルヘッダを、前記検出の結果に基づいて、前記汎用フォーマットに拡張すること、
を含む、方法。 - 請求項9に記載の方法において、プロトコルヘッダを変更する前記過程が、前記送信ポートの出口側ポートタイプ(egress portType)に基づいて命令テーブルを参照して、前記少なくとも1つの命令を決定することを含む、方法。
- 請求項9に記載の方法において、さらに、受信パケットを受信する前記過程に先立って、
プロトコルの汎用フォーマットについての、ソフトウェア定義のマッピングを可能にする過程と、
前記ソフトウェア定義のマッピングを、前記ネットワークスイッチのメモリに記憶する過程と、
を含む、方法。 - ネットワークスイッチの動作方法であって、
プロトコルの汎用フォーマットについてのソフトウェア定義のマッピングを有するように、前記ネットワークスイッチを構成する過程と、
前記ネットワークスイッチの受信ポートでパケットを受信する過程と、
前記パケットのプロトコルヘッダを、前記ソフトウェア定義のマッピングのうちの1つに基づいて汎用化する過程と、
汎用化後のプロトコルヘッダに対するビットベクトルを保持する過程であって、当該ビットベクトルが、その汎用化後のプロトコルヘッダの各バイトに対して1ビットを有する、過程と、
を含む、方法。 - 請求項14に記載の方法において、前記ソフトウェア定義のマッピングを、前記ネットワークスイッチのメモリに記憶する、方法。
- パケットを送受信する入力ポートおよび出力ポートと、
プロトコルの汎用フォーマットについてのソフトウェア定義のマッピングのセットを記憶するメモリと、
前記パケットにヘッダ汎用化プロセスを実行するリライトエンジンであって、当該パケットのそれぞれにおける各プロトコルヘッダを、前記ソフトウェア定義のマッピングのうち、そのプロトコルに特有であるマッピングに基づいて汎用化するリライトエンジンと、
を備える、ネットワークスイッチ。 - 請求項16に記載のネットワークスイッチにおいて、前記ヘッダ汎用化プロセスが、あるプロトコルの、互いに異なる変種に適用される、ネットワークスイッチ。
- 請求項16に記載のネットワークスイッチにおいて、前記ヘッダ汎用化プロセスが、互いに異なるプロトコルに適用される、ネットワークスイッチ。
- 請求項16に記載のネットワークスイッチにおいて、前記パケットのそれぞれが、前記リライトエンジンにより処理された後に、正準化されたプロトコルレイヤを有する、ネットワークスイッチ。
- 請求項19に記載のネットワークスイッチにおいて、正準化後のプロトコルレイヤのそれぞれが、そのプロトコルの汎用フォーマットに従って拡張されたプロトコルレイヤである、ネットワークスイッチ。
- 請求項20に記載のネットワークスイッチにおいて、拡張後のプロトコルヘッダが、無効フィールドについてはビットが0にマークされて有効フィールドについてはビットがを1にマークされたビットベクトルを備える、ネットワークスイッチ。
- 請求項16に記載のネットワークスイッチにおいて、前記リライトエンジンが、自由に変更可能であり、かつプログラマブルに動作する、ネットワークスイッチ。
- 請求項16に記載のネットワークスイッチにおいて、前記リライトエンジンが、前記出力ポートの出口側ポートタイプ(egress portType)に基づいて命令テーブルを参照し、当該命令テーブルが、パケットのそれぞれにおける各ヘッダに適用すべき少なくとも1つの命令を前記リライトエンジンに教示する、ネットワークスイッチ。
- 請求項23に記載のネットワークスイッチにおいて、前記メモリが、命令のセットを記憶しており、この命令のセットに、前記少なくとも1つの命令が含まれる、ネットワークスイッチ。
- 請求項16に記載のネットワークスイッチにおいて、さらに、
前記パケットのコンテンツを特定するパーサエンジン、
を備える、ネットワークスイッチ。 - 請求項25に記載のネットワークスイッチにおいて、前記パーサエンジンが、自由に変更可能であり、かつプログラマブルに動作する、ネットワークスイッチ。
- 請求項25に記載のネットワークスイッチにおいて、前記パーサエンジンも、ヘッダ汎用化プロセスを実行可能である、ネットワークスイッチ。
- ボディおよびプロトコルスタックを有するパケットを受信する入力ポートと、
変更後のパケットを送信する出力ポートと、
プロトコルの汎用フォーマットについてのソフトウェア定義のマッピングのセットおよび汎用的な変更命令のセットを記憶するメモリと、
リライトエンジンと、
を備える、ネットワークスイッチであって、
前記リライトエンジンが、
前記プロトコルスタックにおける各プロトコルヘッダを、ソフトウェア定義のマッピングの前記セットのうちの1つに基づいて、汎用フォーマットに変換し、
変換後の各プロトコルヘッダに対するビットベクトルを保持し、
汎用的な変更命令の前記セットを用いて、変換後の各プロトコルヘッダを変更し、
各ビットベクトルを、そのプロトコルヘッダが変更されて新しいプロトコルスタックが形成されると更新し、
前記新しいプロトコルスタックを、前記出力ポートから送信される前記ボディに付加する、ネットワークスイッチ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/309,603 US9961167B2 (en) | 2014-06-19 | 2014-06-19 | Method of modifying packets to a generic format for enabling programmable modifications and an apparatus thereof |
US14/309,603 | 2014-06-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016005281A true JP2016005281A (ja) | 2016-01-12 |
JP6594671B2 JP6594671B2 (ja) | 2019-10-23 |
Family
ID=53541504
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015122559A Active JP6594671B2 (ja) | 2014-06-19 | 2015-06-18 | パケットを汎用フォーマットに変更して、プログラマブルな変更を可能にする方法およびその装置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9961167B2 (ja) |
EP (1) | EP2958288B1 (ja) |
JP (1) | JP6594671B2 (ja) |
KR (1) | KR102380012B1 (ja) |
CN (1) | CN105323192B (ja) |
HK (1) | HK1220834A1 (ja) |
TW (1) | TW201603535A (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9959156B2 (en) * | 2014-07-17 | 2018-05-01 | Cisco Technology, Inc. | Interest return control message |
US9883264B2 (en) * | 2015-12-31 | 2018-01-30 | Infinera Corporation | Systems and methods for multilayer peering |
CN111338696B (zh) * | 2020-02-29 | 2022-11-25 | 苏州浪潮智能科技有限公司 | 一种基于fpga的数据流字段处理方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020163935A1 (en) * | 2001-05-04 | 2002-11-07 | Terago Communications, Inc. | System and method for providing transformation of multi-protocol packets in a data stream |
JP2003308206A (ja) * | 2002-04-15 | 2003-10-31 | Fujitsu Ltd | プロセッサ装置 |
JP2005522948A (ja) * | 2002-04-11 | 2005-07-28 | エイチアイ/エフエヌ,インコーポレイテッド | 階層化ヘッダ付きのパケットの処理方法、システム及びコンピュータ製品 |
US20130039278A1 (en) * | 2010-05-03 | 2013-02-14 | Nokia Corporation | Protocol overhead reduction |
Family Cites Families (88)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5805808A (en) | 1991-12-27 | 1998-09-08 | Digital Equipment Corporation | Real time parser for data packets in a communications network |
US5793954A (en) | 1995-12-20 | 1998-08-11 | Nb Networks | System and method for general purpose network analysis |
US6088356A (en) | 1997-06-30 | 2000-07-11 | Sun Microsystems, Inc. | System and method for a multi-layer network element |
US5951651A (en) | 1997-07-23 | 1999-09-14 | Lucent Technologies Inc. | Packet filter system using BITMAP vector of filter rules for routing packet through network |
US6341129B1 (en) | 1998-04-03 | 2002-01-22 | Alteon Networks, Inc. | TCP resegmentation |
US7333484B2 (en) | 1998-08-07 | 2008-02-19 | Intel Corporation | Services processor having a packet editing unit |
FI106504B (fi) | 1998-10-06 | 2001-02-15 | Nokia Networks Oy | Datan segmentointimenetelmä tietoliikennejärjestelmässä |
US6606301B1 (en) | 1999-03-01 | 2003-08-12 | Sun Microsystems, Inc. | Method and apparatus for early random discard of packets |
US6789116B1 (en) | 1999-06-30 | 2004-09-07 | Hi/Fn, Inc. | State processor for pattern matching in a network monitor device |
CN100407324C (zh) | 1999-12-02 | 2008-07-30 | 松下电器产业株式会社 | 光盘记录方法及其光盘记录装置 |
JP3613102B2 (ja) | 1999-12-14 | 2005-01-26 | 日本電気株式会社 | フレーム構成方法、フレーム構成装置およびフレーム構成転送システム |
ATE319249T1 (de) | 2000-01-27 | 2006-03-15 | Ibm | Verfahren und vorrichtung für klassifizierung von datenpaketen |
US6831917B1 (en) | 2000-05-10 | 2004-12-14 | Cisco Technology, Inc. | Network address translation for multicast virtual sourcing |
JP4099930B2 (ja) | 2000-06-02 | 2008-06-11 | 株式会社日立製作所 | ルータ装置及びvpn識別情報の設定方法 |
US20020076142A1 (en) | 2000-08-21 | 2002-06-20 | Song Qi Wang | Optical switch and switching network |
GB0023169D0 (en) | 2000-09-20 | 2000-11-01 | Ibm | Message parsing in message processing systems |
WO2002032080A1 (en) | 2000-10-11 | 2002-04-18 | Broadcom Corporation | Cable modem system and method for supporting packet pdu compression |
US6952425B1 (en) | 2000-11-14 | 2005-10-04 | Cisco Technology, Inc. | Packet data analysis with efficient and flexible parsing capabilities |
GB0107882D0 (en) | 2001-03-29 | 2001-05-23 | Ibm | Parsing messages with multiple data formats |
US6904057B2 (en) | 2001-05-04 | 2005-06-07 | Slt Logic Llc | Method and apparatus for providing multi-protocol, multi-stage, real-time frame classification |
US7017162B2 (en) | 2001-07-10 | 2006-03-21 | Microsoft Corporation | Application program interface for network software platform |
US20030037154A1 (en) | 2001-08-16 | 2003-02-20 | Poggio Andrew A. | Protocol processor |
US7580408B2 (en) | 2001-11-21 | 2009-08-25 | Alcatel Lucent | Configurable packet processor |
US7236501B1 (en) | 2002-03-22 | 2007-06-26 | Juniper Networks, Inc. | Systems and methods for handling packet fragmentation |
US7187694B1 (en) | 2002-03-29 | 2007-03-06 | Pmc-Sierra, Inc. | Generic packet parser |
US20050232303A1 (en) | 2002-04-26 | 2005-10-20 | Koen Deforche | Efficient packet processing pipeline device and method |
US7277426B2 (en) | 2002-05-24 | 2007-10-02 | Mosaid Technologies, Inc. | Method and apparatus for reordering entries in a multi probe lookup |
US7408957B2 (en) | 2002-06-13 | 2008-08-05 | International Business Machines Corporation | Selective header field dispatch in a network processing system |
US8576173B2 (en) | 2002-07-04 | 2013-11-05 | Koninklijke Philips N. V. | Automatically adaptable virtual keyboard |
US7191241B2 (en) | 2002-09-27 | 2007-03-13 | Alacritech, Inc. | Fast-path apparatus for receiving data corresponding to a TCP connection |
US7367052B1 (en) | 2002-12-04 | 2008-04-29 | Cisco Technology, Inc. | Access list key compression |
US20050281281A1 (en) | 2003-01-24 | 2005-12-22 | Rajesh Nair | Port input buffer architecture |
US7415596B2 (en) | 2003-01-24 | 2008-08-19 | Gigafin Networks, Inc. | Parser table/production rule table configuration using CAM and SRAM |
US7293113B1 (en) | 2003-05-28 | 2007-11-06 | Advanced Micro Devices, Inc. | Data communication system with hardware protocol parser and method therefor |
US7706363B1 (en) | 2003-06-11 | 2010-04-27 | Radlan Computer Communications, Ltd | Method and apparatus for managing packets in a packet switched network |
GB0320957D0 (en) | 2003-09-08 | 2003-10-08 | Qinetiq Ltd | Document authentication |
US7685436B2 (en) | 2003-10-02 | 2010-03-23 | Itt Manufacturing Enterprises, Inc. | System and method for a secure I/O interface |
US7411957B2 (en) | 2004-03-26 | 2008-08-12 | Cisco Technology, Inc. | Hardware filtering support for denial-of-service attacks |
US7822032B1 (en) | 2004-03-30 | 2010-10-26 | Extreme Networks, Inc. | Data structures for supporting packet data modification operations |
US7580350B1 (en) | 2004-03-30 | 2009-08-25 | Extreme Networks, Inc. | System for deriving packet quality of service indicator |
US7568047B1 (en) | 2004-04-30 | 2009-07-28 | Nortel Networks Limited | Method and apparatus for adaptive service label management |
JP4392294B2 (ja) | 2004-06-15 | 2009-12-24 | 株式会社日立製作所 | 通信統計収集装置 |
JP4156568B2 (ja) | 2004-06-21 | 2008-09-24 | 富士通株式会社 | 通信システムの制御方法、通信制御装置、プログラム |
US7474619B2 (en) | 2004-07-22 | 2009-01-06 | International Business Machines Corporation | Method and apparatus for providing fragmentation at a transport level along a transmission path |
US7463630B2 (en) | 2005-02-18 | 2008-12-09 | Broadcom Corporation | Multi-part parsing in a network device |
US7414975B2 (en) | 2005-03-24 | 2008-08-19 | Ixia | Protocol stack |
US7570661B2 (en) | 2005-06-14 | 2009-08-04 | Microsoft Corporation | Script-based parser |
US7603474B2 (en) | 2005-10-05 | 2009-10-13 | Microsoft Corporation | Efficient endpoint matching using a header-to-bit conversion table |
JP4887897B2 (ja) | 2006-05-12 | 2012-02-29 | 富士通株式会社 | パケット伝送装置、パケット転送方法及びパケット伝送システム |
US9143585B2 (en) | 2006-07-07 | 2015-09-22 | Wi-Lan Inc. | Method and system for generic multiprotocol convergence over wireless air interface |
US7710959B2 (en) | 2006-08-29 | 2010-05-04 | Cisco Technology, Inc. | Private VLAN edge across multiple switch modules |
CN101563908B (zh) * | 2006-12-19 | 2013-01-09 | 国际商业机器公司 | 分析网络流的装置和方法 |
US7822875B1 (en) | 2006-12-22 | 2010-10-26 | Marvell International Ltd. | Method for flexible modifications to a packet |
IL190134A (en) | 2007-03-12 | 2012-07-31 | Marvell Israel Misl Ltd | Method and system for determining the location of fields in information units |
US8054744B1 (en) | 2007-10-25 | 2011-11-08 | Marvell International Ltd. | Methods and apparatus for flow classification and flow measurement |
US8112800B1 (en) | 2007-11-08 | 2012-02-07 | Juniper Networks, Inc. | Multi-layered application classification and decoding |
US8825592B2 (en) | 2008-03-12 | 2014-09-02 | Web Access, Inc. | Systems and methods for extracting data from a document in an electronic format |
US7843919B2 (en) | 2008-03-20 | 2010-11-30 | International Business Machines Corporation | Ethernet virtualization using a network packet alteration |
KR101456563B1 (ko) | 2008-05-14 | 2014-10-31 | 삼성전자주식회사 | 멀티 홉 릴레이 환경에서 대역폭 할당 요청과 할당 방법 및시스템 |
US8234369B2 (en) | 2008-12-23 | 2012-07-31 | Verizon Patent And Licensing Inc. | Web page response monitoring |
US9064058B2 (en) | 2008-12-24 | 2015-06-23 | Nuon, Inc. | Virtualized PCI endpoint for extended systems |
US8902886B2 (en) | 2009-04-23 | 2014-12-02 | International Business Machines Corporation | Canonicalization of network protocol headers |
US8111704B2 (en) | 2009-06-26 | 2012-02-07 | Intel Corporation | Multiple compression techniques for packetized information |
CN101621469B (zh) | 2009-08-13 | 2012-01-04 | 杭州华三通信技术有限公司 | 数据报文存取控制装置和方法 |
US9008082B2 (en) | 2009-12-07 | 2015-04-14 | Telefonaktiebolaget L M Ericsson (Publ) | Handling data packets received at a routing node |
US8472438B2 (en) | 2010-04-23 | 2013-06-25 | Telefonaktiebolaget L M Ericsson (Publ) | Efficient encapsulation of packets transmitted on a packet-pseudowire over a packet switched network |
US8576713B2 (en) | 2010-04-23 | 2013-11-05 | Ixia | Traffic generator with priority flow control |
US8804733B1 (en) | 2010-06-02 | 2014-08-12 | Marvell International Ltd. | Centralized packet processor for a network |
US8537815B2 (en) | 2010-06-17 | 2013-09-17 | Apple Inc. | Accelerating data routing |
US8705533B1 (en) | 2010-12-10 | 2014-04-22 | Juniper Networks, Inc. | Fast packet encapsulation using templates |
CN103444138B (zh) * | 2011-03-23 | 2016-03-30 | 日本电气株式会社 | 通信控制系统、交换节点以及通信控制方法 |
TW201246867A (en) | 2011-05-06 | 2012-11-16 | Ralink Technology Corp | Packet processing accelerator and method thereof |
US9590820B1 (en) | 2011-09-02 | 2017-03-07 | Juniper Networks, Inc. | Methods and apparatus for improving load balancing in overlay networks |
US8711860B2 (en) | 2011-12-22 | 2014-04-29 | Telefonaktiebolaget L M Ericsson (Publ) | Controller for flexible and extensible flow processing in software-defined networks |
US8521905B2 (en) | 2011-12-22 | 2013-08-27 | Telefonaktiebolaget L M Ericsson (Publ) | System for flexible and extensible flow processing in software-defined networks |
US9565120B2 (en) | 2012-01-30 | 2017-02-07 | Broadcom Corporation | Method and system for performing distributed deep-packet inspection |
US9282173B2 (en) | 2012-02-17 | 2016-03-08 | Viavi Solutions Inc. | Reconfigurable packet header parsing |
US9065780B2 (en) | 2012-09-18 | 2015-06-23 | Cisco Technology, Inc. | Low latency networking device using header prediction |
EP2790411B1 (en) | 2012-10-17 | 2017-04-12 | Sony Corporation | Data processing device, data processing method, and program |
EP2915287B1 (en) | 2012-10-30 | 2018-12-05 | Viavi Solutions Inc. | Method and system for identifying matching packets |
US20140153443A1 (en) | 2012-11-30 | 2014-06-05 | International Business Machines Corporation | Per-Address Spanning Tree Networks |
US9219694B2 (en) | 2013-03-15 | 2015-12-22 | Wisconsin Alumni Research Foundation | Content addressable memory with reduced power consumption |
US9769701B2 (en) | 2013-06-14 | 2017-09-19 | Texas Instruments Incorporated | Header compression for wireless backhaul systems |
US9444914B2 (en) | 2013-09-16 | 2016-09-13 | Annapurna Labs Ltd. | Configurable parser and a method for parsing information units |
US9590914B2 (en) | 2013-11-05 | 2017-03-07 | Cisco Technology, Inc. | Randomized per-packet port channel load balancing |
US9628382B2 (en) | 2014-02-05 | 2017-04-18 | Intel Corporation | Reliable transport of ethernet packet data with wire-speed and packet data rate match |
US9823925B2 (en) | 2014-03-28 | 2017-11-21 | Intel Corporation | Instruction and logic for a logical move in an out-of-order processor |
US20170048144A1 (en) | 2015-08-13 | 2017-02-16 | Futurewei Technologies, Inc. | Congestion Avoidance Traffic Steering (CATS) in Datacenter Networks |
-
2014
- 2014-06-19 US US14/309,603 patent/US9961167B2/en active Active
-
2015
- 2015-04-16 TW TW104112174A patent/TW201603535A/zh unknown
- 2015-05-26 CN CN201510276588.8A patent/CN105323192B/zh active Active
- 2015-06-15 KR KR1020150084520A patent/KR102380012B1/ko active IP Right Grant
- 2015-06-18 JP JP2015122559A patent/JP6594671B2/ja active Active
- 2015-06-19 EP EP15172942.3A patent/EP2958288B1/en active Active
-
2016
- 2016-07-26 HK HK16108893.3A patent/HK1220834A1/zh unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020163935A1 (en) * | 2001-05-04 | 2002-11-07 | Terago Communications, Inc. | System and method for providing transformation of multi-protocol packets in a data stream |
JP2005522948A (ja) * | 2002-04-11 | 2005-07-28 | エイチアイ/エフエヌ,インコーポレイテッド | 階層化ヘッダ付きのパケットの処理方法、システム及びコンピュータ製品 |
JP2003308206A (ja) * | 2002-04-15 | 2003-10-31 | Fujitsu Ltd | プロセッサ装置 |
US20130039278A1 (en) * | 2010-05-03 | 2013-02-14 | Nokia Corporation | Protocol overhead reduction |
Also Published As
Publication number | Publication date |
---|---|
CN105323192A (zh) | 2016-02-10 |
KR20150146405A (ko) | 2015-12-31 |
HK1220834A1 (zh) | 2017-05-12 |
CN105323192B (zh) | 2020-04-14 |
KR102380012B1 (ko) | 2022-03-28 |
EP2958288A1 (en) | 2015-12-23 |
US9961167B2 (en) | 2018-05-01 |
JP6594671B2 (ja) | 2019-10-23 |
US20150373155A1 (en) | 2015-12-24 |
TW201603535A (zh) | 2016-01-16 |
EP2958288B1 (en) | 2019-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240022652A1 (en) | A method of using bit vectors to allow expansion and collapse of header layers within packets for enabling flexible modifications and an apparatus thereof | |
JP6608628B2 (ja) | パケットの固有の識別子を用いて、パケットの構造を特定する方法およびその装置 | |
JP6678401B2 (ja) | 変更のためにパケットを個々のレイヤに分割し、変更後のレイヤを情報処理で継合する方法およびその装置 | |
US9473601B2 (en) | Method of representing a generic format header using continuous bytes and an apparatus thereof | |
JP6594671B2 (ja) | パケットを汎用フォーマットに変更して、プログラマブルな変更を可能にする方法およびその装置 | |
JP6590545B2 (ja) | パケットからデータを抽出する方法およびその装置 | |
JP6594672B2 (ja) | 汎用的な変更の指示を用いて、パケットの柔軟な変更を可能にする方法およびその装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180615 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20180615 Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20180615 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190308 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190318 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190618 |
|
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: 20190826 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190925 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6594671 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |