JP6678401B2 - 変更のためにパケットを個々のレイヤに分割し、変更後のレイヤを情報処理で継合する方法およびその装置 - Google Patents
変更のためにパケットを個々のレイヤに分割し、変更後のレイヤを情報処理で継合する方法およびその装置 Download PDFInfo
- Publication number
- JP6678401B2 JP6678401B2 JP2015122562A JP2015122562A JP6678401B2 JP 6678401 B2 JP6678401 B2 JP 6678401B2 JP 2015122562 A JP2015122562 A JP 2015122562A JP 2015122562 A JP2015122562 A JP 2015122562A JP 6678401 B2 JP6678401 B2 JP 6678401B2
- Authority
- JP
- Japan
- Prior art keywords
- protocol
- header
- packet
- layer
- network switch
- 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
Links
- 238000000034 method Methods 0.000 title claims description 63
- 230000008859 change Effects 0.000 title claims description 47
- 230000010365 information processing Effects 0.000 title description 7
- 239000013598 vector Substances 0.000 claims description 91
- 230000004048 modification Effects 0.000 claims description 21
- 238000012986 modification Methods 0.000 claims description 21
- 230000005540 biological transmission Effects 0.000 claims description 19
- 238000013507 mapping Methods 0.000 claims description 16
- 238000001514 detection method Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 23
- 238000012545 processing Methods 0.000 description 5
- 239000000284 extract Substances 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000007792 addition Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
-
- 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/08—Protocols for interworking; Protocol conversion
-
- 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/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/321—Interlayer communication protocols or service data unit [SDU] definitions; Interfaces between layers
-
- 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/12—Protocol engines
-
- 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/165—Combined use of TCP and UDP protocols; selection criteria therefor
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
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 (27)
- リライトエンジンの動作方法であって、
パケットに対するポインタ構造を保持する過程であって、前記パケットは、複数のプロトコルレイヤを含むヘッダとボディとを有し、前記ヘッダのボディは、前記リライトエンジンによって変更されない前記ヘッダの一部であり、さらに、このポインタ構造が、終点ポインタ、複数のレイヤポインタおよび前記パケットのヘッダの合計サイズを含み、当該レイヤポインタは、前記パケットのヘッダの前記複数のプロトコルレイヤの個々のレイヤの開始位置を指示し、前記終点ポインタは、前記ヘッダのボディの開始を指示する、過程と、
パケットを、レイヤの変更のために、前記レイヤポインタに基づいてレイヤに分割する過程と、
前記レイヤポインタを、レイヤの変更に基づいて更新する過程と、
複数のレイヤを、更新後のレイヤポインタに基づいて互いに継合し、それによって、新しいプロトコルレイヤスタックを形成する過程と、
を含む、方法。 - 請求項1に記載の方法において、前記ポインタ構造がN+1個のレイヤポインタを含み、前記リライトエンジンにより、パケット内のN層のレイヤを変更する、方法。
- 請求項1に記載の方法において、前記終点ポインタは、前記合計サイズと共に前記ヘッダのボディのサイズを示す、方法。
- 請求項1に記載の方法において、パケットをレイヤに分割する前記過程が、
そのパケットのプロトコルヘッダから、欠けているフィールドを検出すること、
前記プロトコルヘッダを、前記検出の結果に基づいて、そのプロトコルの汎用フォーマットであって、前記プロトコルヘッダのプロトコルによってサポートされた全てのフィールドを含む前記汎用フォーマットに拡張すること、
および
汎用的な命令のセットから、少なくとも1つの命令を用いることであって、これにより、汎用化後のプロトコルヘッダを変更すること、
を含む、方法。 - 請求項4に記載の方法において、それら各フィールドのオフセットが、前記プロトコルヘッダのプロトコルの変種にかかわらず同一である、方法。
- 請求項4に記載の方法において、前記プロトコルヘッダを拡張することが、
汎用化後のプロトコルヘッダに対するビットベクトルを保持することであって、当該ビットベクトルが、その汎用化後のプロトコルヘッダの各バイトに対して1ビットを有すること、
有効フィールドのそれぞれにおける全てのバイトに対する各ビットを、有効であるとマークすること、および
無効フィールドのそれぞれにおける全てのバイトに対する各ビットを、無効であるとマークすること、
を含む、方法。 - 請求項6に記載の方法において、少なくとも1つの命令を用いることが、前記変更後に前記ビットベクトルを更新することを含む、方法。
- ネットワークスイッチの動作方法であって、
前記ネットワークスイッチの受信ポートでパケットを受信する過程と、
ポインタ構造を用いることにより、前記パケットのプロトコルレイヤを互いに分離する、過程と、
前記プロトコルレイヤのプロトコルによってサポートされた全ての欠けているフィールドを追加することによって、分離後のプロトコルレイヤを、変更用に汎用化する過程と、
前記ポインタ構造を、前記変更の結果に基づいて更新する過程と、
更新後のポインタ構造を用いることにより、変更後のプロトコルレイヤを継合し、新しいプロトコルヘッダスタックを形成する、過程と、
前記パケットを、前記新しいプロトコルヘッダスタック付きで、前記ネットワークスイッチの送信ポートから送出する過程と、
を含み、
変更のために個々のプロトコルレイヤを汎用化することは、各レイヤについて、そのレイヤのサイズを決定して、そのサイズがそのレイヤを変更するためのサイズ閾値を超えているかどうかを特定することを含む、方法。 - 請求項8に記載の方法において、前記ポインタ構造が、前記パケット内のN+1個の位置へのN+1個のレイヤポインタ、および当該パケット内の全てのヘッダの合計サイズを含む、方法。
- 請求項9に記載の方法において、前記位置が、プロトコルレイヤの開始位置である、方法。
- 請求項8に記載の方法において、さらに、ポインタ構造を用いることにより新しいプロトコルヘッダスタックを形成する前記過程よりも前に、前記パケットをパース処理したデータに基づいて、前記ポインタ構造を初期化する過程、
を含む、方法。 - 請求項8に記載の方法において、前記ポインタ構造における2つの隣り合うレイヤポインタ同士を減算することにより、前記サイズを抽出する、方法。
- 請求項12に記載の方法において、前記レイヤのサイズを決定することに基づいて、前記2つの隣り合うレイヤポインタのうちの第1のレイヤポインタを用いてボディを形成することをさらに含む、方法。
- ボディと個々のレイヤのプロトコルヘッダスタックとを含むヘッダをそれぞれ有する複数のパケットを送受信する入力ポートおよび出力ポートと、
前記複数のパケットのうち1つのパケットをパース処理するパーサエンジンと、
前記パケットに対するポインタ構造であって、前記パーサエンジンによりパース処理されたデータを用いて初期化され、さらに、このポインタ構造が、終点ポインタ、複数のレイヤポインタおよび前記パケットのヘッダの合計サイズを含み、前記レイヤポインタの各々は、前記スタックの複数のレイヤのうちの個々のレイヤの開始位置を指示し、前記終点ポインタは、前記ヘッダのボディの開始を指示するポインタ構造と、
前記ポインタ構造を用いて、前記パケットのヘッダスタックを、変更のために前記個々のレイヤに分割し、さらに、変更後のレイヤを互いに継合することにより新しいプロトコルヘッダスタックを形成するリライトエンジンであって、前記ヘッダのボディは、前記リライトエンジンによって変更されない前記ヘッダの一部である、リライトエンジンと、
を備える、ネットワークスイッチ。 - 請求項14に記載のネットワークスイッチにおいて、前記ポインタ構造が、レイヤポインタおよび前記パケット内のヘッダスタックの合計サイズを含む、ネットワークスイッチ。
- 請求項15に記載のネットワークスイッチにおいて、前記レイヤポインタのそれぞれが、前記パケット内のあるレイヤを指示する、ネットワークスイッチ。
- 請求項14に記載のネットワークスイッチにおいて、前記リライトエンジンが、前記変更後に前記ポインタ構造を更新する、ネットワークスイッチ。
- 請求項17に記載のネットワークスイッチにおいて、前記新しいプロトコルヘッダスタックが、更新後のポインタ構造に基づいて形成される、ネットワークスイッチ。
- 請求項14に記載のネットワークスイッチにおいて、さらに、
メモリ、
を備える、ネットワークスイッチ。 - 請求項19に記載のネットワークスイッチにおいて、前記メモリが、前記個々のレイヤを汎用化するための、プロトコルの汎用フォーマットについてのソフトウェア定義のマッピングのセットを記憶する、ネットワークスイッチ。
- 請求項19に記載のネットワークスイッチにおいて、前記メモリが、汎用的な命令のセットを記憶し、
前記汎用的な命令のセットは、ヘッダレイヤがプロトコルのどの変種であるかにかかわらず前記ヘッダレイヤの変更を行うために用いられる、
ネットワークスイッチ。 - ボディおよび複数のプロトコルレイヤのうちの1つのプロトコルスタックを有するヘッダを含むパケットを受信する入力ポートと、
変更後のパケットを送信する出力ポートと、
プロトコルによってサポートされた全てのフィールドを含む、前記プロトコルの汎用フォーマットについてのソフトウェア定義のマッピングのセット、および受信時のヘッダにかかわらずヘッダの変更を行うための汎用的な変更命令のセットを記憶するメモリと、
パケットをパース処理するパーサエンジンと、
前記パケットに対するポインタ構造であって、前記パーサエンジンによりパース処理されたデータを用いて初期化されるポインタ構造と、
リライトエンジンと、
を備える、ネットワークスイッチであって、
前記リライトエンジンが、
前記ポインタ構造を用いて、前記パケットを前記プロトコルレイヤに基づいて分割することにより、当該パケットの前記複数のプロトコルレイヤの各プロトコルレイヤを互いに分離し、
前記複数のプロトコルレイヤの各々を、ソフトウェア定義のマッピングの前記セットのうちの1つに基づいて、汎用フォーマットに汎用化し、変更のために個々のプロトコルレイヤを汎用化することは、各レイヤについて、そのレイヤのサイズを決定して、そのサイズがそのレイヤを変更するためのサイズ閾値を超えているかどうかを特定することを含む、
汎用的な変更命令の前記セットを用いて、汎用化後のプロトコルレイヤを変更し、
変更後のプロトコルレイヤを互いに継合して、新しいプロトコルヘッダスタックを形成する、ネットワークスイッチ。 - 請求項22に記載のネットワークスイッチにおいて、前記ポインタ構造が、前記パケット内のN+1個の位置へのN+1個のレイヤポインタ、および当該パケット内のヘッダの合計サイズを含む、ネットワークスイッチ。
- 請求項23に記載のネットワークスイッチにおいて、前記位置が、プロトコルレイヤの開始位置である、ネットワークスイッチ。
- 請求項22に記載のネットワークスイッチにおいて、前記リライトエンジンが、さらに、汎用化後の各プロトコルレイヤに対するビットベクトルを保持する、ネットワークスイッチ。
- 請求項25に記載のネットワークスイッチにおいて、前記ビットベクトルが、汎用化後のプロトコルレイヤの各バイトに対して1ビットを有する、ネットワークスイッチ。
- 請求項22に記載のネットワークスイッチにおいて、前記リライトエンジンが、前記新しいプロトコルヘッダスタックを、前記出力ポートから送信される前記ボディに付加する、ネットワークスイッチ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/309,679 | 2014-06-19 | ||
US14/309,679 US9531849B2 (en) | 2014-06-19 | 2014-06-19 | Method of splitting a packet into individual layers for modification and intelligently stitching layers back together after modification and an apparatus thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016005284A JP2016005284A (ja) | 2016-01-12 |
JP6678401B2 true JP6678401B2 (ja) | 2020-04-08 |
Family
ID=53546503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015122562A Active JP6678401B2 (ja) | 2014-06-19 | 2015-06-18 | 変更のためにパケットを個々のレイヤに分割し、変更後のレイヤを情報処理で継合する方法およびその装置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9531849B2 (ja) |
EP (1) | EP2958282A1 (ja) |
JP (1) | JP6678401B2 (ja) |
KR (1) | KR102368168B1 (ja) |
CN (1) | CN105282137B (ja) |
HK (1) | HK1220825A1 (ja) |
TW (1) | TW201603542A (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106790762B (zh) | 2017-01-11 | 2022-05-24 | 腾讯科技(深圳)有限公司 | 域名解析方法和装置 |
CN110611625B (zh) | 2018-11-27 | 2020-11-06 | 新华三技术有限公司 | 网络设备及应用于网络设备的逻辑装置 |
US11284298B2 (en) * | 2019-10-11 | 2022-03-22 | Qualcomm Incorporated | Header compression and decompression management |
CN111245809A (zh) * | 2020-01-07 | 2020-06-05 | 北京同有飞骥科技股份有限公司 | 跨层数据处理方法及系统 |
Family Cites Families (64)
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 |
JPH05191474A (ja) * | 1992-01-10 | 1993-07-30 | Mitsubishi Electric Corp | 通信プロトコル処理装置 |
US6088356A (en) | 1997-06-30 | 2000-07-11 | Sun Microsystems, Inc. | System and method for a multi-layer network element |
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 |
JP2000253061A (ja) * | 1999-03-01 | 2000-09-14 | Hitachi Ltd | データ配送方法 |
US6789116B1 (en) | 1999-06-30 | 2004-09-07 | Hi/Fn, Inc. | State processor for pattern matching in a network monitor device |
AU1555501A (en) * | 1999-12-02 | 2001-06-12 | Matsushita Electric Industrial Co., Ltd. | Optical disc medium, recording method thereof and recorder |
JP3613102B2 (ja) * | 1999-12-14 | 2005-01-26 | 日本電気株式会社 | フレーム構成方法、フレーム構成装置およびフレーム構成転送システム |
JP4099930B2 (ja) | 2000-06-02 | 2008-06-11 | 株式会社日立製作所 | ルータ装置及びvpn識別情報の設定方法 |
GB0023169D0 (en) | 2000-09-20 | 2000-11-01 | Ibm | Message parsing in message processing systems |
US6944168B2 (en) | 2001-05-04 | 2005-09-13 | Slt Logic Llc | System and method for providing transformation of multi-protocol packets in a data stream |
US6904057B2 (en) | 2001-05-04 | 2005-06-07 | Slt Logic Llc | Method and apparatus for providing multi-protocol, multi-stage, real-time frame classification |
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 |
JP2003308206A (ja) | 2002-04-15 | 2003-10-31 | Fujitsu Ltd | プロセッサ装置 |
US20050232303A1 (en) | 2002-04-26 | 2005-10-20 | Koen Deforche | Efficient packet processing pipeline device and method |
US7408957B2 (en) | 2002-06-13 | 2008-08-05 | International Business Machines Corporation | Selective header field dispatch in a network processing system |
US7415596B2 (en) | 2003-01-24 | 2008-08-19 | Gigafin Networks, Inc. | Parser table/production rule table configuration using CAM and SRAM |
US20050281281A1 (en) | 2003-01-24 | 2005-12-22 | Rajesh Nair | Port input buffer architecture |
US7706363B1 (en) | 2003-06-11 | 2010-04-27 | Radlan Computer Communications, Ltd | Method and apparatus for managing packets in a packet switched network |
GB2406663B (en) * | 2003-10-01 | 2006-03-22 | Toshiba Res Europ Ltd | Flexible protocol stack |
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 |
US7554978B1 (en) * | 2004-03-30 | 2009-06-30 | Extreme Networks, Inc. | System for accessing content-addressable memory in packet processor |
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 |
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 |
US9143585B2 (en) | 2006-07-07 | 2015-09-22 | Wi-Lan Inc. | Method and system for generic multiprotocol convergence over wireless air interface |
KR20090099519A (ko) | 2006-12-19 | 2009-09-22 | 인터내셔널 비지네스 머신즈 코포레이션 | 네트워크 흐름을 분석하기 위한 장치 및 방법 |
US7822875B1 (en) | 2006-12-22 | 2010-10-26 | Marvell International Ltd. | Method for flexible modifications to a packet |
IL220238A (en) | 2007-03-12 | 2014-03-31 | Marvell Israel Misl Ltd | A 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 |
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 | 삼성전자주식회사 | 멀티 홉 릴레이 환경에서 대역폭 할당 요청과 할당 방법 및시스템 |
US7872993B2 (en) * | 2008-10-30 | 2011-01-18 | Alcatel Lucent | Method and system for classifying data packets |
US8234369B2 (en) | 2008-12-23 | 2012-07-31 | Verizon Patent And Licensing Inc. | Web page response monitoring |
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 |
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 |
EP2567524B1 (en) | 2010-05-03 | 2019-06-26 | Nokia Technologies Oy | Protocol overhead reduction |
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 |
TW201246867A (en) | 2011-05-06 | 2012-11-16 | Ralink Technology Corp | Packet processing accelerator and method thereof |
US8521905B2 (en) | 2011-12-22 | 2013-08-27 | Telefonaktiebolaget L M Ericsson (Publ) | System for flexible and extensible flow processing in software-defined 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 |
US9282173B2 (en) | 2012-02-17 | 2016-03-08 | Viavi Solutions Inc. | Reconfigurable packet header parsing |
EP3276977B1 (en) | 2012-10-17 | 2020-04-29 | Sony Corporation | Data processing device, data processing method, and program |
WO2014070883A2 (en) | 2012-10-30 | 2014-05-08 | Jds Uniphase Corporation | 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 |
US9628382B2 (en) | 2014-02-05 | 2017-04-18 | Intel Corporation | Reliable transport of ethernet packet data with wire-speed and packet data rate match |
-
2014
- 2014-06-19 US US14/309,679 patent/US9531849B2/en active Active
-
2015
- 2015-04-13 TW TW104111756A patent/TW201603542A/zh unknown
- 2015-05-26 CN CN201510276426.4A patent/CN105282137B/zh active Active
- 2015-06-17 KR KR1020150086078A patent/KR102368168B1/ko active IP Right Grant
- 2015-06-18 JP JP2015122562A patent/JP6678401B2/ja active Active
- 2015-06-19 EP EP15172935.7A patent/EP2958282A1/en not_active Withdrawn
-
2016
- 2016-07-26 HK HK16108882.6A patent/HK1220825A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
US20150373161A1 (en) | 2015-12-24 |
HK1220825A1 (zh) | 2017-05-12 |
CN105282137B (zh) | 2020-03-17 |
TW201603542A (zh) | 2016-01-16 |
KR102368168B1 (ko) | 2022-02-25 |
EP2958282A1 (en) | 2015-12-23 |
CN105282137A (zh) | 2016-01-27 |
US9531849B2 (en) | 2016-12-27 |
KR20150146422A (ko) | 2015-12-31 |
JP2016005284A (ja) | 2016-01-12 |
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 | |
JP6678401B2 (ja) | 変更のためにパケットを個々のレイヤに分割し、変更後のレイヤを情報処理で継合する方法およびその装置 | |
US9473601B2 (en) | Method of representing a generic format header using continuous bytes and an apparatus thereof | |
JP6608628B2 (ja) | パケットの固有の識別子を用いて、パケットの構造を特定する方法およびその装置 | |
JP6594671B2 (ja) | パケットを汎用フォーマットに変更して、プログラマブルな変更を可能にする方法およびその装置 | |
JP6594672B2 (ja) | 汎用的な変更の指示を用いて、パケットの柔軟な変更を可能にする方法およびその装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180601 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20180601 Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20180601 |
|
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 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190826 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20191125 |
|
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: 20200217 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200317 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6678401 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 |