JP5961745B2 - Communication device or packet transfer method - Google Patents
Communication device or packet transfer method Download PDFInfo
- Publication number
- JP5961745B2 JP5961745B2 JP2015500072A JP2015500072A JP5961745B2 JP 5961745 B2 JP5961745 B2 JP 5961745B2 JP 2015500072 A JP2015500072 A JP 2015500072A JP 2015500072 A JP2015500072 A JP 2015500072A JP 5961745 B2 JP5961745 B2 JP 5961745B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- processing
- unit
- information
- communication device
- 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
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
- 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
Description
本発明は、通信装置及び、パケット転送方法に関する。 The present invention relates to a communication device and a packet transfer method.
従来の中継装置のパケットフォーマット解析および転送は、それらの処理に特化した専用のハードウェアか、パケットフォーマット解析、パケット転送処理を記述したプログラムを書き込むことで、処理内容を決めるプログラマブルデバイスによって行われてきた。 また特許文献1では、受信パケットに含まれるアドレス情報及びあらかじめ記憶された中継経路選択情報により経路検索を行なうルーティング処理が可能なルーティングモジュールと、パケット加工やプロトコル処理などの付加機能を実行する機能拡張モジュールとを有するインターネットワーク装置が開示される。このインターネットワーク装置では、ルーティングモジュールにより機能拡張モジュールに転送されたパケットに対して付加機能が実行され、実行結果のパケットは、再びルーティングモジュールでルーティング処理が実行される。
The packet format analysis and transfer of the conventional relay device is performed by dedicated hardware specialized for those processes or a programmable device that determines the processing contents by writing a program describing packet format analysis and packet transfer processing. I came. Further, in
また特許文献2では、ノード装置が有する回線収容部に、回線インタフェース、拡張機能実行用プロセッサを備え、パケット転送部や装置制御部の代わりに拡張機能実行用プロセッサが、受信パケットに対するアドレス変換、フィルタ更新、代理応答機能を実行する構成が開示されている。 Further, in Patent Document 2, the line accommodation unit included in the node device includes a line interface and an extended function execution processor, and the extended function execution processor replaces the packet transfer unit and the device control unit with address conversion and filter for received packets. A configuration for executing the update and proxy response function is disclosed.
通信装置に搭載されるパケット転送・解析専用のハードウェアは、設計段階で作りこまれたパケットフォーマットの解析や、パケットの宛先検索・転送、フィルタ処理などを高速に行う。しかし、高速処理が可能な反面、設計段階で作りこまれていないパケットフォーマットの解析・転送はできない。 The dedicated packet transfer / analysis hardware installed in the communication device performs packet format analysis, packet destination search / transfer, filter processing, etc., created at the design stage at high speed. However, while high-speed processing is possible, packet formats that have not been created at the design stage cannot be analyzed or transferred.
一方プログラマブルデバイスは、汎用性のあるものや、パケットフォーマット解析、パケット転送処理に特化したものがあり、通信装置では、パケットフォーマット解析、パケット転送処理に特化したプログラマブルデバイスを使用することが多い。このプログラマブルデバイスは、処理の追加が容易に行え、新たなパケットフォーマットが登場しても、内部処理内容を更新することで、パケットフォーマットの解析やパケット転送処理が可能になる。しかしパケット転送・解析処理専用のハードウェアに比べて、処理速度が遅いことや、プログラマブルデバイスのみでフォーマットの解析やパケットフィルタ、QoS処理を実行しようとすると、処理量に応じてプログラム量が増加し、性能が低下する。よって最適なプログラム行数で処理を行う必要がある。 On the other hand, programmable devices include general-purpose devices and devices specialized in packet format analysis and packet transfer processing, and communication devices often use programmable devices specialized in packet format analysis and packet transfer processing. . In this programmable device, processing can be easily added, and even if a new packet format appears, it is possible to analyze the packet format and perform packet transfer processing by updating the internal processing contents. However, compared to hardware dedicated to packet transfer / analysis processing, the processing speed is slow, and if you try to execute format analysis, packet filtering, and QoS processing only with a programmable device, the amount of programs increases with the amount of processing. , Performance decreases. Therefore, it is necessary to perform processing with an optimal number of program lines.
特許文献1では、ルーティングモジュールと拡張機能実行モジュールを複数個、並列に接続することで、ハードウェアに新たな機能を付加でき、1台のノードに複数の機能を盛り込むことが出来るとあるが、拡張機能実行モジュールを搭載した場合、入力パケット側のルーティングモジュールと、出力側ルーティングモジュールと、2重の検索処理が必要となり、レイテンシが増加し、スループットの低下が考えられる。つまり、ルーティングモジュールを介した後でないと拡張機能実行モジュールで、パケットの加工ができず、加工の前後でルーティングモジュールをそれぞれ通る必要がある。
In
特許文献2では、ブリッジは、パケットの入力元(パケット転送部、回線インターフェース、内部ネットワーク)に応じて、出力先を決定する。よって、パケット転送プロセッサ側で処理できないパケットフォーマットを処理する場合、拡張機能実行プロセッサに転送するしかなく、拡張機能実行プロセッサにてフォーマットの解析から、パケット変換、パケットの宛先検索までを実行しなければならず、拡張機能実行プロセッサのプログラム量が増え、スループットの低下が懸念される。 In Patent Document 2, the bridge determines an output destination according to a packet input source (packet transfer unit, line interface, internal network). Therefore, when processing a packet format that cannot be processed on the packet transfer processor side, it must be transferred to the extended function execution processor, and the extended function execution processor must perform everything from format analysis to packet conversion and packet destination search. In addition, the amount of programs of the extended function execution processor increases, and there is a concern that the throughput will decrease.
ブリッジにより拡張機能実行プロセッサと、パケット転送用プロセッサの処理を分担しており、それらのプロセッサは独立して動作している。この構成では特許文献1に示したレイテンシの増加やスループットの低下といった課題は解決可能であるが、両プロセッサ間には連動性がないため、パケット転送プロセッサ側で処理できないフォーマットのパケットを処理するためには拡張機能実行プロセッサで全ての処理を実行する必要があり、拡張機能実行プロセッサのプログラム量が増えスループットの低下が懸念される。
The bridge divides the processing of the extended function execution processor and the packet transfer processor, and these processors operate independently. This configuration can solve the problems such as the increase in latency and the decrease in throughput shown in
少なくとも一の課題を解決するために、本発明の態様の一つとして、通信装置は、ネットワークに接続されるネットワークインタフェイス部を有するパケット解析部と、前記パケット解析部に接続され、予め定められた複数のプロトコルに対応するパケット処理部と、を備え、前記パケット解析部は、前記ネットワークインタフェイス部を介して受信したフレームが有する情報から識別可能なプロトコルについて、前記パケット処理部が対応可能か否かに基づいて前記パケット処理部にフォーマットを変換してから出力するか、フォーマットを変換せずに出力するかを定義したテーブルを有し、前記テーブルに基づきプロトコルを識別して、前記パケット解析部における処理を実行し、前記パケット処理部にパケットを送り、前記パケット処理部は、前記パケット解析部から受信したパケットの宛先検索を行い、前記宛先検索の結果を含む出力パケットを生成し、前記出力パケットを前記パケット解析部に出力し、前記パケット解析部は、前記パケット処理部から受信した出力パケットが前記フォーマットを変換したパケットの場合には、前記出力パケットにフォーマット変換処理を行う。 In order to solve at least one problem, as one aspect of the present invention, a communication apparatus includes a packet analysis unit having a network interface unit connected to a network, and is connected to the packet analysis unit and predetermined. A packet processor corresponding to a plurality of protocols, wherein the packet analyzer is capable of handling a protocol that can be identified from information contained in a frame received via the network interface unit. A packet that defines whether the format is output after being converted to the packet processing unit based on whether or not the format is output without converting the format, the protocol is identified based on the table, and the packet analysis A packet is sent to the packet processing unit, and the packet processing is performed. A destination search of the packet received from the packet analysis unit, generating an output packet including a result of the destination search, and outputting the output packet to the packet analysis unit, wherein the packet analysis unit If the output packet received from the processing unit is a packet obtained by converting the format, a format conversion process is performed on the output packet.
複数のプロトコルのパケット転送制御が可能となる。 Packet transfer control of multiple protocols is possible.
実施形態について図面を参照し説明する。 Embodiments will be described with reference to the drawings.
図1は、通信装置1の構成図で、通信装置1を制御する装置制御部10と、装置制御部10と信号線L10で接続されたクロスバースイッチ20と、クロスバースイッチ20と信号線L20で接続された、パケット処理部30と、クロスバースイッチ20とL20nで接続されたパケット処理部30nと、信号線L30で接続されたパケット解析部40と、信号線L50で接続された回線インタフェイス部50と、パケット処理部30nと信号線L60で接続された拡張機能ボード60と、パケット処理部30nと信号線L4nで接続されたパケット解析部40nで構成されている。
FIG. 1 is a configuration diagram of a
また、通信装置1は、テーブル情報や、パケット解析プログラムのアップデートを行う管理端末2と接続される。
The
装置制御部10は、装置制御プロセッサ11と、装置制御プロセッサ用のメモリ12と、メモリ12内に、テーブル変換用の情報領域であるテーブル情報120と、パケット解析部40や、拡張機能ボード60の処理内容を更新するプログラム領域である処理プログラム情報部121と、パケット処理部30、パケット解析部40、拡張機能ボード60に、プログラムを格納するために接続された、信号線L10〜L1nで構成される。装置制御プロセッサ11は、信号線を介して管理端末2からの入力に応じて、パケット解析部40や拡張機能ボード60の処理内容を更新する。また、装置制御プロセッサ11は、パケット解析部40が利用するテーブルの設定を行なう。
The
パケット処理部30は、パケット処理に特化した、パケット処理専用ハードウェア301と、パケット処理専用ハードウェア301内で、入力パケットの宛先検索を行うパケット検索部302と、パケット検索部302が入力パケットの宛先検索とパケット変換情報を決定する、パケット検索テーブル3030を格納したメモリ303と、パケット解析部40で使用するパケット変換情報を付加する、パケット変換情報付加部304で構成される。
The
パケット検索部302は、内部に通常のL2フレーム(OSI参照モデルの第2層であるデータリンク層で規定されるフレーム)/L3パケット(OSI参照モデルの第3層であるネットワーク層で規定されるパケット)、パケット解析プロセッサで変換された特定のフォーマットを検索する機能と、出力先を決定する機能とを有する。パケット変換情報付加部304は、パケット検索部302にて、入力パケットの宛先検索結果として出力されるパケット変換情報を、入力パケットにヘッダとして付加する。
The
パケット処理専用ハードウェア301は、検索結果として、出力先情報と、パケット変換情報を出力する。パケット変換情報付加部304で付加された、パケット変換情報はパケット解析プロセッサ401がパケットを生成するときに参照される。
The packet processing dedicated
また、パケット処理部30は、パケット解析部40が接続されているか、判定する。パケット解析プロセッサが接続されていない場合、パケット処理部30は、パケット変換情報を削除し、パケット解析プロセッサが接続されている場合は、パケット変換情報を出力先ポート情報と共に出力側のパケット解析プロセッサへ転送する。
Further, the
パケット解析部40は、パケット解析プロセッサ401とネットワークインタフェイス部405と、メモリ404、とを有する。パケット解析プロセッサ401は、入力パケットフォーマット解析を行うパケットフォーマット解析部402と、解析後にパケットフォーマットを変換するパケット変換部403とを有する。
The
メモリ404は、パケットフォーマット解析部402またはパケット変換部403で使用する、テーブル情報と、プログラム情報を格納する。具体的には、メモリ404は、パケットフォーマット解析部402、パケット変換部403の処理内容を決定するプログラムを格納する領域4040を備える。メモリ404は、イーサネットタイプ検索テーブル4041と、入力パケット変換テーブル4042と、出力パケット変換テーブル4043と、を格納する(イーサネット、Ethernetは、登録商標)。 The memory 404 stores table information and program information used by the packet format analysis unit 402 or the packet conversion unit 403. Specifically, the memory 404 includes an area 4040 for storing a program for determining processing contents of the packet format analysis unit 402 and the packet conversion unit 403. The memory 404 stores an Ethernet type search table 4041, an input packet conversion table 4042, and an output packet conversion table 4043 (Ethernet and Ethernet are registered trademarks).
イーサネットタイプ検索テーブル4041は、入力パケットのイーサネットタイプから、パケット処理部30で処理可能なパケットであるかを判別するために用いられる。入力パケット変換テーブル4042は、イーサネットタイプ検索テーブルで処理不可と判定された場合に参照される。出力パケット変換テーブル4043は、パケット処理部30にて入力パケットの宛先検索が終了してから、出力ネットワークのフォーマットに合わせるために参照される。
The Ethernet type search table 4041 is used to determine whether the packet can be processed by the
パケット解析プロセッサ401は、ネットワーク(回線N10)に接続されるネットワークインタフェイス部405と、パケット処理専用ハードウェア301用のインタフェイスを持ち、パケット処理専用ハードウェア301はパケット解析プロセッサ401と接続するためのインタフェイスを持つ。
The
パケット解析プロセッサ401は、パケット解析プロセッサ401用のメモリ404にパケット処理専用ハードウェア301が処理できるフォーマットの情報(例:タイプ情報)を格納する。パケット解析プロセッサ401は、ネットワークインタフェイス部405からパケットが入力されると、フォーマットの情報を参照して、処理可能であれば、パケット変換処理は行わず、そのままパケット処理専用ハードウェア301側のインタフェイスへ転送する。パケット解析プロセッサ401は、パケット処理専用ハードウェア301が処理出来ないイーサネットタイプの場合は、パケット処理専用ハードウェア301が処理可能な、特定のフォーマットへ変換し、パケット処理専用ハードウェア301側のインタフェイスへ転送する。
The
パケット解析プロセッサ401は、パケット処理専用ハードウェア301から出力されたパケットを受信し、そのパケットが通常のL2フレーム/L3パケットであれば、そのまま接続されたネットワークに出力する。一方パケット処理専用ハードウェア301から、パケット変換情報の入ったヘッダ付パケットを受信した場合、パケット解析プロセッサ401は、変換情報を元に、出力するネットワークのフォーマットに合わせたパケットを作成し、転送する。
The
拡張機能ボード60は、パケットのPayload部を解析する、DPI処理部602とDPI処理部602を制御する、拡張機能ボード制御プロセッサ601と、DPI処理のデータベースとして搭載されるメモリ604で構成される。
The
回線インタフェイス部50は、パケット処理部30のインターフェイスであり、パケット処理部30に受信パケットを出力し、または、パケット処理部30が決定した宛先に向けて、ネットワークにパケットを出力する。
なお、通信装置1は、同様の構成を備える複数のパケット処理部30、30n、及び複数のパケット解析部40、40nを含んでもよい。パケット解析部40、40nは、ネットワーク(回線N10、N30)に接続される。
図2は、パケット解析部40内のメモリ404に格納した、イーサネットタイプ検索テーブル4041である。イーサネットタイプ検索テーブル4041は、パケットのプロトコルごとに、パケット解析部40がそのパケットに対して実行するアクションが定義される。イーサネットタイプ検索テーブル4041は、パケットに含まれるプロトコルを特定するタイプ情報40410ごとに、パケット解析部40がそのパケットに対して実行するアクションが定義される。タイプ情報40410は、イーサネットタイプ情報(Ethernetタイプ番号)である。イーサネットタイプ情報(Ethernetタイプ番号)は、パケットに含まれるデータ部についてイーサネットプロトコルより上位層のプロトコルを識別する為の番号のことであり、Ethernetヘッダに含まれる16ビットの情報である。例えば、タイプ番号が0800の場合はInternet IP(IPv4)、0806の場合はAddress Resolution Protocol(ARP)のプロトコルであることを示す番号である。また、タイプ番号が8847の場合はMPLS(Multi Protocol Label Switching)のユニキャストパケットであることを示す番号で、8848の場合は、MPLSのマルチキャストパケットであることを示す番号である。また、タイプ番号が8863の場合はPPPoE Discovery Stageであることを示す番号である。The
Note that the
FIG. 2 is an Ethernet type search table 4041 stored in the memory 404 in the
本テーブル4041では、タイプ情報40410は検索キーであり、検索結果40411の「入力パケットに対する処理」は、パケット処理専用ハードウェア301が処理可能なパケットフォーマットの場合と、処理不可能なパケットフォーマットの場合にパケット解析部40が行う処理を示す。「入力パケットに対する処理」40411には、処理不可能なパケットフォーマットの場合は、そのタイプ番号で特定されるプロトコルのパケットの特定の項目を参照して変換する、という記述があってもよい。イーサネットタイプ検索テーブル4041は、パケット解析部40が、パケットのフォーマット変換の要否を判断する場合に参照される。そして、パケット解析部40は、入力パケットフォーマットを解析し、解析結果とイーサネットタイプ検索テーブル4041とにより、入力パケットのフォーマット変換が必要か、判定する。
In this table 4041, type
図3は、パケット解析部40内のメモリ404に格納される、入力パケット変換テーブル4042を示す。パケット変換テーブル4042は、イーサネットタイプ検索テーブル4041でパケット処理専用ハードウェア301で処理不可と判定されたパケットをパケット解析部40からパケット処理部30へパケットを転送する際に使用される。
入力パケットヘッダ情報40420は、入力パケットのヘッダのどの項目をみるかを指定する情報である。例えば、IPv4であれば宛先アドレス、MPLSであればラベル情報、DPIであればVLANタグが指定される。入力パケットヘッダ情報40420は、検索キーとなる。パケット検索部302用検索キー40421は、本テーブルの検索結果で、入力パケットヘッダ情報40420に対応する検索キー40421がパケットに付加され、パケット処理専用ハードウェア301内のパケット検索部302が処理できるフォーマットとなる。FIG. 3 shows an input packet conversion table 4042 stored in the memory 404 in the
The input
パケット変換テーブル4042は、パケット検索部302が処理できない、入力パケットの宛先検索に使用する情報を、パケット検索部302が処理可能なフォーマットへの変換を示し、入力パケットをパケット検索部302が処理できる、パケットフォーマットに変換する。
The packet conversion table 4042 indicates conversion into information that can be processed by the
図4はパケット検索テーブル3030を示す。パケット検索テーブル3030は、パケット処理部30内のメモリ303に格納される。パケット検索部302は、パケット検索テーブル3030を使用し、図3のパケット変換テーブル4042検索結果、もしくは入力パケットのヘッダ情報をパケット検索部302用検索キー30300として、入力パケットの宛先を検索する。検索キー30300にて、入力パケットの宛先検索の結果として、出力パケット変換情報30301、MACアドレス30302、出力ポート30303を決定し、パケット検索部302にてNext hopの決定を行う。
FIG. 4 shows the packet search table 3030. The packet search table 3030 is stored in the
なおパケット検索部302は、出力パケット変換情報30301を、入力パケットのヘッダ情報で検索の場合は、そのままNext Hopを示す情報とし扱い、それ以外は、パケット解析部40で使用する、パケット変換情報として扱う。
Note that the
図5は、出力パケット変換テーブル4043を示す。出力パケット変換テーブル4043は、パケット解析部40内のメモリ404に格納される。パケット変換テーブル4043は、図4に示したパケット処理部30のパケット検索部302で決定した、パケット変換情報30301を使用し、パケット解析部40で、出力パケットフォーマットを変換するために使用される。出力パケット変換情報40430は、パケット検索テーブル3030の検索結果30301で、本テーブルの検索キーである。出力パケットヘッダ情報は、本テーブルの検索結果40431である。図5は、図3の逆変換を示すテーブルに対応していてもよい。
FIG. 5 shows the output packet conversion table 4043. The output packet conversion table 4043 is stored in the memory 404 in the
パケット変換部403は、出力パケット変換テーブル4043で、出力先のネットワークのパケットフォーマットに対応するパケットフォーマットを変換する。 The packet conversion unit 403 converts the packet format corresponding to the packet format of the output destination network in the output packet conversion table 4043.
図6は、通信装置1の処理を示したフローチャートである。図1の通信装置1で、IP転送、MPLS転送、DPIによるフィルタ処理を実施した場合の例をそれぞれ示す。
FIG. 6 is a flowchart showing processing of the
図6は、通信装置1の処理を示したフローチャートである。まず、通信装置1の処理を、図6に示したフローチャートに沿って説明する。ネットワークからパケットがパケット解析部40に入力される(ステップ50)。パケット解析部40は、パケットが入力されると、パケットに含まれるイーサネットタイプに基づいてパケット処理部30で検索可能なパケットフォーマットか判別し、検索可能でないフォーマットについては、パケット変換情報をパケットに付与する。変換情報が付与されたパケットあるいは、検索可能な場合は入力パケットのままで、パケット処理部30へパケットを転送する(ステップ51)。
FIG. 6 is a flowchart showing processing of the
パケット解析部40からパケットを受信したパケット処理部30は、パケット解析部40で付加したパケット変換情報、もしくは入力パケットヘッダの宛先アドレスをキーに、入力パケットの宛先検索を行い、クロスバースイッチ20へパケットを転送する(ステップ52)。クロスバースイッチ20では、パケット処理部30の検索結果に基づき、次に転送すべきパケット処理部30〜30nを決定し、再びパケットを送信する(ステップ53)。
The
本例では、パケット処理部30に転送する。クロスバースイッチ20から、パケットを受信したパケット処理部30は、検索結果から、所定のボードにパケットを送信する。本例の構成では、パケット解析部40、回線インタフェイス部50、拡張機能ボード60のいずれかにパケットが送信される(ステップ54)。パケット処理部30からパケット解析部40に転送された場合、パケット解析部40は、パケットにパケット変換情報が付加された場合には、パケット変換情報を元に、パケット変換テーブル4043で出力先のパケットフォーマットに変換し、パケット変換情報が削除されている場合には、フォーマットを変換することなく、ネットワーク(N10、N30)へパケットを出力する。
In this example, the packet is transferred to the
パケット処理部30から拡張機能ボード60に転送された場合には、入力したパケットに対し、DPI処理部602にて、payload部を参照し、予め設定された、条件に該当するか判定し、該当する場合は廃棄し、該当していない場合は、パケット処理部30nへ再度転送する。回線インタフェイス部50に転送された場合は、回線インタフェイス部50は、パケット処理部30にて決定したパケットの宛先情報を元に、出力するインタフェイスを決定し、回線N20に出力する(ステップ55)。
When the packet is transferred from the
図7は、通信装置1内で、IPv4パケット処理時の、パケットフォーマット遷移図である。図6のフローチャートに沿って説明する。パケット900は通信装置1に入力したIPパケットであり、ステップ50のときのパケットフォーマットである。パケット900には、宛先MACアドレス90、送信元MACアドレス91、タイプ情報(Ethernetタイプ番号)92、IPヘッダ93、payload94とFCS95を含む。 ステップ51にて、タイプ92とイーサネットタイプ検索テーブル4041とに基づいて、入力パケットヘッダ情報40420に対応する検索キー40421が検索キー96としてパケット900に付加され、パケット901のフォーマットとなる。
パケット901は、ステップ52にて、検索処理の結果、パケット変換情報が必要な場合は、パケット903のフォーマットとなり、クロスバースイッチ20へ転送される。パケット903は、パケット901に比べて、検索キー96が外れ、宛先MACアドレス90及び送信元MACアドレス91が更新され、更新された宛先MACアドレス97及び送信元MACアドレス98が含まれる。さらに、パケット変換情報99が、パケット903の先頭に付加される。FIG. 7 is a packet format transition diagram when processing an IPv4 packet in the
If the packet conversion information is necessary as a result of the search processing in
一方、パケット変換情報が必要ない場合にはパケット902が、クロスバースイッチ20へ転送される。パケット902は、パケット900に比べて、検索キー96が外れ、宛先MACアドレス90及び送信元MACアドレス91が更新され、更新された宛先MACアドレス97及び送信元MACアドレス98が含まれる。パケット902の場合、ステップ53ではフォーマットの変換はない。ステップ54にて、パケット解析部40へパケットが送信された場合、パケット903の場合には、403用パケット変換情報99を元にパケット変換を行い、パケット902の場合は、変換せずパケットを出力する。
On the other hand, when packet conversion information is not required, the
次に、図6のフローチャートの各ステップについて、IPv4パケット、MPLSラベル転送を例に説明する。 図8は、ネットワークインタフェイス部405からパケット解析部40に入力した場合の、パケット解析プロセッサ401の処理を示したフローチャートである。
IPv4のパケットが、ネットワークインタフェイス部405からパケット解析部40内部のパケット解析プロセッサ401に入力され、パケット解析プロセッサ401は、図8のフローチャートに沿って処理をする。Next, each step of the flowchart of FIG. 6 will be described using IPv4 packet and MPLS label transfer as an example. FIG. 8 is a flowchart showing processing of the
An IPv4 packet is input from the network interface unit 405 to the
ノードに接続されたネットワークから、パケット900が、ネットワークインタフェイス部405に入力し、パケット解析プロセッサ401に転送される(ステップ510)。パケット解析プロセッサ401は、入力パケット900のイーサネットタイプ92に格納されている0800をキーに、パケット処理専用ハードウェア301が検索可能なフォーマットか、イーサネットタイプ検索テーブル4041で検索する(ステップ511)。検索の結果から、パケット解析プロセッサ401は、パケット処理専用ハードウェア301が処理可能なパケットフォーマットか判定する(ステップ512)。
A
パケットフォーマット解析部402は、イーサネットタイプ0800を、パケット処理専用ハードウェア301が処理できるパケットフォーマットと判定し、パケット変換部403にパケットを送信する(ステップ513)。パケット900は、パケット処理専用ハードウェア301が処理可能なフォーマットのため、パケット変換部403で処理はせず、パケット処理部30にパケット900のフォーマットのまま送信される(ステップ514)。
The packet format analysis unit 402 determines that the
なお、本例ではパケット900を送信したが、パケット処理専用ハードウェア301が処理可能なフォーマットであっても、パケット検索部302用の検索キー96を、付加したパケット901で、転送してもよい。またステップ512にて処理不可能と判定した場合には、パケット変換部403のパケット変換テーブル4042により、パケット検索部302が処理可能なフォーマットに変換する(ステップ516)。詳細は、後述するMPLS転送の実施例に示す。
Although the
図9は、パケット処理部30内、パケット処理専用ハードウェア301の処理を示したフローチャートである。パケット解析部40からのパケット900を受信した、パケット処理部30内のパケット処理専用ハードウェア301は、図9のフローチャートに沿って処理を行う。
FIG. 9 is a flowchart showing processing of the packet processing dedicated
パケット処理専用ハードウェア301は、パケット900が入力すると(ステップ520)、クロスバースイッチ20からのパケットか、パケット解析部40からのパケットか判定する(ステップ521)。パケット検索部302において、検索結果を出力する際に、検索が完了したことを示すフラグ情報をパケットに付加している。よってクロスバースイッチからパケットが転送される場合は、すでにパケット検索部302にて検索が行われているため、クロスバースイッチからの転送判定は、パケット検索部302にて付加された、フラグ情報を元に行われる。
パケット解析部40からのパケットと判定した場合、パケット処理専用ハードウェア301は、パケット検索部302にて、タグVLANによる転送か判定する。タグVLANでないと判定した、パケット検索部302は、パケット解析部40で付加される、302用検索キー96がヘッダとして付加されている、パケットフォーマット901か、入力パケットフォーマット900か、判定する(ステップ525)。When the
When it is determined that the packet is from the
302用検索キー96が付加されていないと判定した場合、パケット検索部302は、IPヘッダ93内の宛先IPアドレスをキーに、パケット900の宛先を検索する。検索は、パケット検索部302にて、メモリ303内の検索テーブル3030を使用し、実行される(ステップ526)。パケット検索部302は、検索の結果として出力パケット変換情報99の決定と、出力先ポートの決定と、MACアドレスの解決を行う(ステップ527)。
If it is determined that the 302 search key 96 is not added, the
パケット検索部302では、MACアドレス解決の結果から、パケット900の、宛先MACアドレス90と、送信元MACアドレス91を書き換え、宛先MACアドレス97と、送信元MACアドレス98を含む、パケット902を作成する(ステップ528)。
The
パケット902は、パケット変換情報付加部304に転送され、パケット変換情報99を付加されることなく、クロスバースイッチ20へパケットを転送される(ステップ529)。なお、本例では、パケット処理専用ハードウェア301が処理可能なパケットフォーマットのため、パケット変換情報99を削除したが、削除せずにパケット903として、パケット解析プロセッサ401に転送してもよい。
The
クロスバースイッチ20に転送されたパケット902は、パケット検索部302で決定した出力先ポート情報に従い、パケット処理部30〜30nのいずれかに転送される。本例では、パケット処理部30に転送するものとする。
The
クロスバースイッチ20経由でパケット902を受信したパケット処理部30内部のパケット処理専用ハードウェア301は、図9の処理フローチャートに従い処理を行う。クロスバースイッチ20からパケット処理専用ハードウェア301へ、パケットが入力すると(ステップ520)、パケット処理専用ハードウェア301内のパケット検索部302は、パケット解析部40からのパケットか、クロスバースイッチ20からのパケットか判定する(ステップ521)。クロスバースイッチ20からのパケットと判定した、パケット検索部302は、出力先ポートへパケット902を転送する。本例では、出力先にパケット解析部40が接続されているものとする。
The packet processing dedicated
IPパケット転送以外で、タグVLANによる転送の場合は、DPI処理を実施するため、拡張機能ボード60へ転送(ステップ523)し、DPI処理を実施する(ステップ524)。またパケットフォーマットが、パケット解析部40にて変換されている場合には、パケット解析部40で付加されたヘッダでパケットの宛先を検索し(ステップ530)、パケット変換情報を決定する(ステップ531)。
In the case of transfer by tag VLAN other than IP packet transfer, in order to perform DPI processing, it is transferred to the extended function board 60 (step 523), and DPI processing is performed (step 524). If the packet format is converted by the
図10は、パケット処理部30から、パケット解析部40にパケットが転送された場合の、パケット解析プロセッサ401の処理を示したフローチャートである。
FIG. 10 is a flowchart showing the processing of the
パケット処理部30からパケット902を受信したパケット解析部40内のパケット解析プロセッサ401は、図10のフローチャートに沿って処理を行う。
パケット解析プロセッサ401にパケット902が入力される(ステップ550)。パケット解析プロセッサ401内のパケットフォーマット解析部402は、パケット変換情報99の有無を判定する(ステップ551)。パケット変換情報99がなく、パケットフォーマット902での転送と判定した、パケットフォーマット解析部402は、フォーマットを変更することなく、接続されたネットワークへパケットを転送する(ステップ552)。 図12は実施例1で示すMPLS網の構成図である。MPLS網81は、IP網80、82に接続される。MPLS網は、複数のノード810、811、812、813、814、815、816を含み、ノード間でMPLS転送が行なわれる。本実施例では、MPLS網81内のノード812が、図1の装置構成を有するものとして説明する。ノード812は、MPLSエッジノード810から入力したパケットは、ノード812を経由して813へ転送される。 図13は、本実施例における、イーサネットタイプMPLSの、パケットフォーマット遷移図である。MPLSの検索に使われるShimヘッダ904の構成として、検索キーになるラベル情報103、QoS情報をあらわすExP 104、ラベルの終了を表すS105、TTL(Time To Live)情報106である。そのほか、図7のパケット900と同様に、パケット905は、宛先MACアドレス100、送信元MACアドレス101、タイプ情報(Ethernetタイプ番号)102、IPヘッダ107、payload108とFCS109を含む。The
The
図13のMPLS転送時のパケット遷移を、図6のフローチャートに沿って説明する。ステップ50で、パケット解析部40にパケット905が入力する。パケット905を受信したパケット解析部40は、ステップ51にて、パケットフォーマットの解析を行い、パケットに含まれるタイプ102を用いてイーサネットタイプ検索テーブル4041を検索すると、タイプ番号が8847または8848に該当するので、処理不可能と判定する。パケット解析部40は、「入力パケットに対する処理」40411に従ってパケット処理部30が検索可能な、パケットフォーマット906に変換する。変換されたパケットフォーマット906は、パケット905に検索キー110が付加される。パケット処理部30は、ステップ52にて、パケット906を参照して、入力パケットの宛先検索を実施、検索結果として更新した宛先MACアドレス112及び送信元MACアドレス113、パケット変換情報111を付加する。パケット907は、パケット906に比較すると、検索キー110が外れパケット変換情報111が付加され、宛先MACアドレス及び送信元MACアドレスが更新されたものとなる。パケット処理部30は、パケット907を、クロスバースイッチ20へ転送する。ステップ55で、パケット解析部40にパケットが入力され、パケット907に含まれるパケット変換情報111を用いて、パケット解析部40にてパケット909が生成される。パケット909は、パケット907からパケット変換情報111が削除され、更新されたLabel114、TTL115を含むshimヘッダ908を有する。
Packet transition during the MPLS transfer of FIG. 13 will be described with reference to the flowchart of FIG. In
図1に示す、通信装置1がMPLSのパケット905をネットワークから受信した場合の、パケット処理部40内の、パケット解析プロセッサ401は、IPv4パケット同様に図8のフローチャートに沿って処理を行う。
When the
MPLSのパケット905がパケット解析プロセッサ401に入力する(ステップ510)。パケット解析プロセッサ401は、IPパケット検索時と同様に、イーサネットタイプ8847で特定されるプロトコルのフォーマットが、パケット処理専用ハードウェア301が処理できるフォーマットか、パケットフォーマット解析部402にて判定する(ステップ511)。検索の結果、MPLSに対応するタイプ番号8847は、パケット処理専用ハードウェア301が処理不可能と判定される(ステップ512)。処理不可能と判定されたパケット905は、パケット変換部403に転送される(ステップ515)。パケット変換部403は、「入力パケットに対する処理」40411に従ってMPLSのshimヘッダ904のラベル103の値をキーに、パケット変換テーブル4042を参照し、パケット処理専用ハードウェア301が検索可能な、パケット906を生成する(ステップ516)。
The
例えば、shimヘッダ904内のラベル値103が“A”の場合、ラベル"A"をキーに、変換テーブル4042で検索し、検索結果としてラベルAに対応している0.0.0.Aを出力する。検索結果0.0.0.Aは、パケット変換部403にて、ヘッダ110として入力パケット905に付加され、パケット906として、パケット処理専用ハードウェア301へ転送される(ステップ514)。ただしパケット906は一例であり、別のフォーマットにしてもよい。
For example, when the
パケット解析プロセッサ401から、パケット906を受信した、パケット処理専用ハードウェア301は、図9のフローチャートに従い処理を行う。パケット処理専用ハードウェア301にパケット906が入力する(ステップ520)。IPv4パケット検索時と同様に、ステップ521にて、パケット解析プロセッサ401からのパケットと判定し、ステップ522でVlan Tag付のパケットでないと判定し、ステップ525にて、ヘッダ110でパケット906の宛先検索と判定する。ヘッダ110の検索と判定したパケット検索部302は、メモリ303内の検索テーブル3030を使用し、パケット906の宛先検索を実行する(ステップ530)。検索は、パケット検索部302で、ヘッダ110の0.0.0.Aをキーに検索テーブル3030を使用し実行する。パケット検索部302は、検索結果として0.0.0.Aに対応した0.0.0.Eをパケット変換情報111として出力し、出力先ポート決定と、MACアドレス解決を行い、パケット変換情報付加部304に転送する(ステップ531)。
The packet processing dedicated
またパケット変換情報付加部304は、パケット変換情報111を付加し、図13のパケットフォーマット907を作成する(ステップ532)。L2ヘッダはIPv4パケットの場合と同様にパケット検索部302で更新され、クロスバースイッチ20へパケット907を転送する(ステップ529)。
Further, the packet conversion
クロスバースイッチ20に転送されたパケット907は、IPv4パケット検索と同様にクロスバースイッチ20から、パケット処理部30に転送され、その後パケット解析部40に転送される。
The
パケット処理部30からパケットを受信した、パケット解析部40内のパケット解析プロセッサ401は、図10のフローチャートに従い処理を行う。パケット解析プロセッサ401内のパケット解析部402にパケット907が入力する(ステップ550)。パケットフォーマット解析部402は、ヘッダ111を認識し(ステップ551)、パケット変換情報111に格納されている変換情報0.0.0.Eをキーに、メモリ404に格納された、図5に示す変換テーブル4043で検索し、出力先のラベル情報”E”を決定する。決定したラベル値“E”は、パケット変換部403にて、Shimヘッダのラベル情報の更新に使用され、新たなラベル114を生成し、減算したTTL115を入れ、パケット909を生成する(ステップ553)。生成したパケット909を接続されたネットワークへ転送する(ステップ552)。以上の実施例により、通信装置1は、タイプ102で識別されるプロトコルがMPLSのように、パケット処理専用ハードウェア301が認識できないプロトコルのパケットであってもパケット転送処理を行う。
The
次に回線インタフェイス部50を接続した場合の処理例を示す。回線インタフェイス部50は、パケットの送・受信を行う。パケット処理部30は、単独でも動作が可能なハードウェアであるため、処理可能なフォーマットであれば、パケット解析部40が接続されていなくても、パケットの宛先検索を行う。検索は、IPv4転送の例に示したパケット処理専用ハードウェア301処理と同じである。
Next, an example of processing when the
次に拡張機能ボード60に転送する例を示す。本例では、イーサネットタイプ8100のパケットを拡張機能ボード60のDPI処理部603で、URLを参照したフィルタリングを実施した場合を示す。
Next, an example of transferring to the
パケット解析部40にて図8のフローチャートに従い、IPv4転送の例と同じように、パケット処理専用ハードウェア301が処理可能なフォーマットと判定し、パケット処理専用ハードウェア301にパケットを転送する。パケット処理専用ハードウェア301では、図9のフローチャート(ステップ521、522)に従い、パケットを拡張機能ボード60へ転送する。図9のステップ521にて、パケットがクロスバースイッチ20からでないと判定したパケット検索部302は、入力パケットVLAN tagによる転送か判定し(ステップ525)、VLAN tagが付加されている場合、パケット検索部302は拡張機能ボード60へパケットを転送する(ステップ523)。VLAN tagは、タイプ8100として、図7のパケット900の送信元MACアドレス91及びタイプ92の間に挿入されている。拡張機能ボード60に転送されたパケットは、図11のフローチャートに沿って処理を行う。
According to the flowchart of FIG. 8, the
図11は、拡張機能ボード60の処理をフローチャートで示したものである。
FIG. 11 is a flowchart showing the processing of the
図11のフローチャートよりパケット処理専用ハードウェア301から、パケットが拡張機能ボード60へ入力する(ステップ700)。パケットを受信した拡張機能ボード60は、内部のDPI処理部602にパケットを転送する(ステップ701)。DPI処理部602では、入力パケットのpayload部を、予め管理者によってメモリ604に登録したアクセス禁止URLリストを参照し、アクセス禁止のURL宛のパケットか判定する(ステップ702)。リストに一致したURLの場合は、DPI処理部602で廃棄し(ステップ704)、不一致の場合は、VLAN tagを削除し、パケットの宛先検索のため、再びパケット処理部30へ転送する(ステップ703)。ステップ703以降の処理は、パケット検索部302での処理となり、図9のステップ524から処理を実行する。ステップ525から処理とパケットフォーマットは、IPv4転送の例に示したものと同じである。
From the flowchart of FIG. 11, the packet is input to the
本例ではVLAN tagとしたが、MPLS検索の例ように、パケット処理専用ハードウェア301が処理不可能なフォーマットの場合、パケット解析部40にて、VLAN tagに相当する、拡張機能ボード60に転送するためのデータを含む、パケットフォーマットに変換し、その付加した情報を元に、拡張機能ボード60へパケットを転送してもよい。また、拡張機能ボード60の処理の例として、DPI処理部602を有する例を説明したが、DPI処理部602以外の例えば、処理不可能なフォーマットの履歴を管理するログ管理部を有してもよい。この場合、パケット解析部40は、処理不可能なフォーマットとして判断し、拡張機能ボード60に転送するためのデータを含む、パケットフォーマットに変換し、拡張機能ボード60に転送する。転送されたパケットを、ログ管理部が、処理不可能なフォーマットであるパケットを受信した履歴を管理する。
次にパケット解析部40の各種テーブル情報と、処理内容を記述したプログラムのアップデート方法を示す。
通信装置1に接続された、管理端末2より、装置制御部10内のメモリ12へ、更新に必要なテーブル情報が格納される。装置制御プロセッサ11は、信号線L10〜L1n経由でメモリ12内の情報を、パケット解析部40内の、テーブル4041、4042、4043からアップデートするテーブルを選択し、テーブル情報を更新する。In this example, the VLAN tag is used. However, when the packet processing dedicated
Next, various table information of the
Table information necessary for updating is stored in the
テーブルの更新は、通信装置1が設置されるネットワーク環境で、新たなパケットフォーマットによる転送が必要になった場合や、使用しなくなったプロトコルに対応した処理プログラムや、テーブル情報を削除する際に、実施される。
例えば、実施例に記述したMPLS転送の場合、管理端末2より、パケット変換テーブルの検索キーにMPLSのラベル情報を、検索結果にパケット変換情報を、それぞれ追加し、信号線L2経由でテーブル情報120に更新したテーブル情報を登録し、信号線L10経由でパケット変換テーブル4042,4043をそれぞれ更新する。また管理端末2より、処理プログラム情報部121に信号線L2経由で、イーサネットタイプMPLSのフォーマット情報と、ラベル情報抽出処理と、抽出したラベル情報の変換処理、を実行するプログラムを登録し、信号線L10経由でプログラム用メモリ領域4040に格納している処理内容を更新する。The table is updated when it is necessary to transfer a new packet format in the network environment where the
For example, in the case of the MPLS transfer described in the embodiment, the management terminal 2 adds MPLS label information to the search key of the packet conversion table and packet conversion information to the search result, respectively, and the table information 120 via the signal line L2. The updated table information is registered, and the packet conversion tables 4042 and 4043 are updated via the signal line L10. Further, the management terminal 2 registers a program for executing the Ethernet type MPLS format information, the label information extraction process, and the conversion process of the extracted label information via the signal line L2 in the processing
また使用しなくなったプロトコルを削除する場合も、管理端末2より設定する。例えば、パケット変換テーブル4042,4043からラベル情報を削除したい場合、テーブル情報を追加する場合と同様に、管理端末2でMPLS転送関連の検索キー、検索結果を削除したテーブルを、テーブル情報120に登録し、パケット変換テーブル4042,4043を上書きする。また処理プログラムの削除も処理プログラム追加の例と同様に、管理端末2より、MPLS転送の一連の処理を削除したプログラムを、処理プログラム情報部121から信号線L10経由でプログラム用メモリ領域4040に登録する。よって管理端末2にて、テーブルおよび処理プログラムの追記、削除を行い、データをテーブルや処理プログラム用のメモリに書き込むことで、テーブル更新、処理プログラム更新を行う。本例では、パケット変換テーブル情報全体を更新したが、特定の検索キー、と検索結果を指定して削除してもよい。
Also, when deleting a protocol that is no longer used, it is set from the management terminal 2. For example, when it is desired to delete label information from the packet conversion tables 4042 and 4043, the search key related to MPLS transfer and the table from which the search result has been deleted are registered in the table information 120 in the management terminal 2 as in the case of adding table information. The packet conversion tables 4042 and 4043 are overwritten. Similarly to the example of adding a processing program, the processing program is deleted from the management terminal 2 by registering a program from which a series of MPLS transfer processing has been deleted from the processing
またパケット解析部40の処理内容を決定するプログラムのアップデートは、管理端末2でプログラムを作成し、装置制御部10の、装置制御用メモリ12に、処理内容を書き込む。テーブル情報のアップデート同様に、信号線L10〜L1n経由でパケット解析部40内のメモリ404内、プログラム用メモリ領域4040にアクセスし、プログラムを書き換える。
In updating the program for determining the processing contents of the
つまり、通信装置1は、パケット解析部40のパケット変換テーブル4042,4043と、処理内容を記述したプログラムを更新するだけで、パケット処理専用ハードウェアが処理できないパケットフォーマットに対しても、ハードウェアによる高速検索処理が可能になる。よって新たなプロトコルを処理するためには、テーブルの更新とパケット解析プロセッサの処理内容を変更で済む。 図14は、通信装置1の変形例3を示す。通信装置3では、クロスバースイッチ20を設けていない点を除いては、図1の構成と同様である。またこの通信装置3も、上述の実施例のように、IPパケット転送、MPLSラベル転送を行う。
In other words, the
上述の実施例により、パケット転送プロセッサのハードウェアの性能を維持し、プログラマブルデバイスを用いたパケットの転送処理を行える。 According to the above-described embodiment, the performance of the packet transfer processor hardware can be maintained, and packet transfer processing using a programmable device can be performed.
上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置いてもよい。 また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。 Each of the above-described configurations, functions, processing units, processing means, and the like may be realized by hardware by designing a part or all of them with, for example, an integrated circuit. Each of the above-described configurations, functions, and the like may be realized by software by interpreting and executing a program that realizes each function by the processor. Information such as programs, tables, and files for realizing each function may be stored in a memory, a hard disk, a recording device such as an SSD (Solid State Drive), or a recording medium such as an IC card, an SD card, or a DVD. Further, the control lines and information lines indicate what is considered necessary for the explanation, and not all the control lines and information lines on the product are necessarily shown. Actually, it may be considered that almost all the components are connected to each other.
変形例としては、以下の態様がある。通信装置において、パケット検索・転送処理、フィルタ処理、QoS処理を行うパケット処理専用ハードウェアと、パケット処理専用ハードウェアが検索で参照するテーブル情報を格納するメモリとを搭載したパケット処理部と、プログラマブルにパケットフォーマット解析、パケット転送処理が可能なパケット解析プロセッサと、パケット解析プロセッサが、検索やパケット変換を行う際に使用するメモリとを搭載したパケット解析部を設ける。パケット解析プロセッサは、ネットワークのインタフェイスと、パケット処理専用ハードウェア用のインタフェイスを持ち、パケット処理専用ハードウェアはパケット解析プロセッサと接続するためのインタフェイスを有する。 As modifications, there are the following modes. A packet processing unit equipped with packet processing dedicated hardware for performing packet search / forwarding processing, filter processing, and QoS processing, and memory for storing table information to be referenced by the packet processing dedicated hardware in the communication device, and programmable The packet analysis unit is provided with a packet analysis processor capable of performing packet format analysis and packet transfer processing and a memory used when the packet analysis processor performs search and packet conversion. The packet analysis processor has a network interface and an interface for dedicated packet processing hardware, and the dedicated packet processing hardware has an interface for connecting to the packet analysis processor.
パケット解析プロセッサは、パケット解析プロセッサ用のメモリにパケット処理専用ハードウェアが処理できるフォーマットの情報(例:タイプ情報、プロトコル)を格納しており、ネットワークのインタフェイス部からパケットが入力されると前記フォーマットの情報を参照して、処理可能であれば、パケット変換処理は行わず、そのままパケット処理専用ハードウェア側のインタフェイスへ転送する。パケット処理専用ハードウェアが処理出来ないタイプやプロトコルの場合は、パケット処理専用ハードウェアが処理可能な、特定のフォーマットへ変換し、パケット処理専用ハードウェア側のインタフェイスへ転送する。 The packet analysis processor stores information in a format that can be processed by dedicated packet processing hardware (eg, type information, protocol) in the memory for the packet analysis processor. When a packet is input from the interface unit of the network, the packet analysis processor With reference to the format information, if processing is possible, packet conversion processing is not performed, and the packet processing is directly transferred to the hardware interface dedicated to packet processing. In the case of a type or protocol that cannot be processed by the packet processing dedicated hardware, it is converted into a specific format that can be processed by the packet processing dedicated hardware, and transferred to the interface on the packet processing dedicated hardware side.
パケット処理専用ハードウェアは、通常のL2(OSI参照モデルで規定される第2層(レイヤ2)のフォワーディング機能)フレーム/L3(OSI参照モデルで規定される第3層のルーティング機能、IPプロトコル)パケット、パケット解析プロセッサで変換された特定のフォーマットを検索する機能と、出力先を決定する機能とを持ち、検索結果として出力先情報と、パケット変換情報を出力する。パケット変換情報はパケット解析プロセッサがパケットを生成するときに使われ、パケット解析プロセッサが接続されていない場合は削除し、パケット解析プロセッサが接続されている場合は出力先ポート情報と共に出力側のパケット解析プロセッサへ転送する。
パケット処理専用ハードウェアから出力されたパケットを受信するパケット解析プロセッサでは、通常のL2フレーム/L3パケットであれば、そのまま接続されたネットワークに出力する。一方パケット処理専用ハードウェアから、パケット変換情報の入ったヘッダ付パケットを受信したパケット解析プロセッサは、変換情報を元に、出力するネットワークのフォーマットに合わせたパケットを生成し、転送する。The dedicated hardware for packet processing is the normal L2 (second layer (layer 2) forwarding function defined by the OSI reference model) frame / L3 (third layer routing function defined by the OSI reference model, IP protocol) It has a function of searching for a packet and a specific format converted by the packet analysis processor and a function of determining an output destination, and outputs output destination information and packet conversion information as a search result. The packet conversion information is used when the packet analysis processor generates a packet. When the packet analysis processor is not connected, the packet conversion information is deleted. When the packet analysis processor is connected, the packet analysis on the output side is performed together with the output destination port information. Transfer to processor.
A packet analysis processor that receives a packet output from dedicated packet processing hardware outputs a normal L2 frame / L3 packet to a connected network as it is. On the other hand, the packet analysis processor that has received the packet with the header containing the packet conversion information from the packet processing dedicated hardware generates and transfers a packet according to the format of the network to be output based on the conversion information.
本実施例によると、パケット処理専用ハードウェアにとって、未知のパケットフォーマットであっても、ハードウェアを更新することなく、処理することが可能となる。 According to the present embodiment, it becomes possible for the packet processing dedicated hardware to process even an unknown packet format without updating the hardware.
本実施例によると、パケット解析用プロセッサに搭載する機能を、入力パケットフォーマット解析、パケット変換、パケット転送に限定できるため、パケット解析プロセッサのプログラムリソースを確保することができ、性能劣化を抑えつつ拡張性を保持することができる。 According to this embodiment, the functions installed in the packet analysis processor can be limited to input packet format analysis, packet conversion, and packet transfer, so that the program resources of the packet analysis processor can be secured and expanded while suppressing performance degradation. Sex can be maintained.
本実施例によると、パケット処理専用ハードウェアは通常のL2フレーム/L3パケットを検索することができるため、プログラマビリティが不要な場合には転送専用ハードウェアだけで装置を構成することが可能であり、必要に応じてパケット処理専用ハードウェアの入力側と、出力側にそれぞれパケット解析プロセッサを配備することができ、性能、コスト、電力において最適なモジュール構成で装置を構成することが可能になる。以上が別の態様例である。 According to this embodiment, since the dedicated packet processing hardware can search for ordinary L2 frames / L3 packets, the apparatus can be configured with only the dedicated transfer hardware when programmability is not required. If necessary, packet analysis processors can be provided on the input side and output side of the dedicated hardware for packet processing, and the apparatus can be configured with an optimal module configuration in terms of performance, cost, and power. The above is another example.
1 通信装置
2 管理端末
10 装置制御部、20 クロスバースイッチ
30 パケット処理部
301 パケット処理専用ハードウェア
302 パケット検索部
303 パケット変換情報付加部
40 パケット解析部
401 パケット解析プロセッサ
402 パケットフォーマット解析部
403 パケット変換部
404 パケット解析部用メモリ
4040 パケット解析プロセッサ、プログラム用メモリ
4041 イーサネットタイプ検索テーブル
4042 入力パケット変換テーブル
4043 出力パケット変換テーブル
50 回線インタフェイス部
60 拡張機能ボード
601 パケット変換部DESCRIPTION OF
Claims (11)
ネットワークに接続されるネットワークインタフェイス部を有するパケット解析部と、
前記パケット解析部に接続され、予め定められた複数のプロトコルに対応するパケット処理部と、を備え、
前記パケット解析部は、前記ネットワークインタフェイス部を介して受信したフレームが有する情報から識別可能なプロトコルについて、前記パケット処理部が対応可能か否かに基づいて前記パケット処理部にフォーマットを変換してから出力するか、フォーマットを変換せずに出力するかを定義したテーブルを有し、前記テーブルに基づきプロトコルを識別して、前記パケット解析部における処理を実行し、前記パケット処理部にパケットを送り、
前記パケット処理部は、前記パケット解析部から受信したパケットの宛先検索を行い、前記宛先検索の結果を含む出力パケットを生成し、前記出力パケットを前記パケット解析部に出力し、
前記パケット解析部は、前記パケット処理部から受信した出力パケットが前記フォーマットを変換したパケットの場合には、前記出力パケットにフォーマット変換処理を行う
ことを特徴とする通信装置。 A communication device,
A packet analysis unit having a network interface unit connected to the network;
A packet processing unit connected to the packet analysis unit and corresponding to a plurality of predetermined protocols ,
The packet analysis unit converts the format to the packet processing unit based on whether the packet processing unit can cope with a protocol that can be identified from information included in a frame received through the network interface unit. A table that defines whether to output data without conversion or format conversion, identifies a protocol based on the table, executes processing in the packet analysis unit, and sends the packet to the packet processing unit ,
The packet processing unit performs a destination search of the packet received from the packet analysis unit , generates an output packet including a result of the destination search, and outputs the output packet to the packet analysis unit ,
The communication device , wherein the packet analysis unit performs format conversion processing on the output packet when the output packet received from the packet processing unit is a packet whose format has been converted .
前記パケット解析部は、前記テーブルと、前記処理を実行するプログラムとを保持するメモリを備え、
前記パケット解析部は、
前記プロトコルを識別した結果と前記対応付けとに基づいて前記受信したパケットのヘッダ情報を前記パケット処理部が宛先検索処理可能な追加情報に変換して、前記受信したパケットのヘッダに付加して前記パケット処理部に送り、
前記出力パケットの前記宛先検索の結果に基づいて、前記パケット処理部から受信した出力パケットが前記フォーマットを変換したパケットの場合には前記出力パケットに対しヘッダ情報の変換処理を行い、前記変換されたパケットを送信する、通信装置。 The communication device according to claim 1,
The packet analysis unit has a memory for retaining said table, and a program for executing the processing,
The packet analysis unit
Based on the result of identifying the protocol and the association, the received packet header information is converted into additional information that can be processed by the packet processing unit, and added to the received packet header. Sent to the packet processor ,
Based on the result of the destination search of the output packet, if the output packet received from the packet processing unit is a packet whose format has been converted, the output packet is subjected to header information conversion processing, and the converted A communication device that transmits packets .
前記パケット処理部は、
前記追加情報に基づいて前記宛先検索を実行し、前記追加情報に対応する変換情報、宛先MACアドレス及び送信元MACアドレスを含む前記宛先検索の結果を前記出力パケットのヘッダに付加する、通信装置。 The communication device according to claim 2,
The packet processing unit
A communication device that performs the destination search based on the additional information, and adds a result of the destination search including conversion information corresponding to the additional information, a destination MAC address, and a source MAC address to a header of the output packet .
前記パケット処理部は、
前記追加情報と前記パケットとに基づいて前記宛先検索を実行し、
前記宛先検索により特定される宛先MACアドレス及び送信元MACアドレスを含むパケットに前記追加情報に対応する変換情報を付与すべきか否かを、前記追加情報の有無に基づいて判別する、通信装置。 The communication device according to claim 2,
The packet processing unit
Performing the destination search based on the additional information and the packet;
A communication device that determines whether or not conversion information corresponding to the additional information should be added to a packet including a destination MAC address and a transmission source MAC address specified by the destination search based on the presence or absence of the additional information .
前記パケット処理部は、さらに、ネットワークに接続される回線インタフェイス部に接続され、
前記追加情報と前記パケットとに基づいて前記宛先検索を実行し、
前記プロトコルを識別した結果に基づき前記出力パケットを出力する、通信装置。 The communication device according to claim 2, wherein:
The packet processing unit is further connected to a line interface unit connected to a network,
Performing the destination search based on the additional information and the packet;
A communication device that outputs the output packet based on a result of identifying the protocol .
前記プロトコルは、イーサネットプロトコルより上位のプロトコルである、通信装置。 The communication apparatus is a protocol higher than the Ethernet protocol.
前記テーブルは、イーサネットタイプに規定されたプロトコルと前記プロトコルに対応する処理が定義されたものである、通信装置。 The table is a communication device in which a protocol defined for an Ethernet type and a process corresponding to the protocol are defined.
外部からの入力に応じて、前記テーブルの前記メモリへの更新およびプログラムの前記メモリへの追加の少なくとも一つを実行する、通信装置。 A communication device that executes at least one of updating the table to the memory and adding a program to the memory in response to an input from the outside.
前記パケット解析部は、前記テーブルと、前記処理を実行するプログラムとを保持するメモリを備え、 The packet analysis unit includes a memory that holds the table and a program that executes the processing,
前記パケット解析部は、 The packet analysis unit
前記受信したパケットのプロトコルがMPLSと識別された場合、前記テーブルを参照し、前記受信したパケットに含まれるMPLSのラベル値に基づいて前記パケット処理部が宛先検索処理可能な追加情報を前記受信したパケットに付与し、前記受信したパケットを前記パケット処理部に送り、 When the protocol of the received packet is identified as MPLS, the packet processing unit refers to the table and receives the additional information that the packet processing unit can perform destination search processing based on the MPLS label value included in the received packet. A packet is sent, the received packet is sent to the packet processor,
前記パケット処理部からの出力パケットに含まれる情報に基づいて、前記MPLSのラベル値を生成してパケットに付加し、前記ネットワークに送信する、通信装置。 A communication apparatus that generates an MPLS label value based on information included in an output packet from the packet processing unit, adds the MPLS label value to the packet, and transmits the packet to the network.
前記パケット解析部は、プログラマブルに処理内容を書き換えられるプロセッサを備え、 The packet analysis unit includes a processor that can rewrite the processing contents in a programmable manner,
前記パケット処理部は、予め定められた複数のプロトコルのパケット処理に特化したハードウェアを有し、 The packet processing unit has hardware specialized for packet processing of a plurality of predetermined protocols,
前記プロセッサは、受信したパケットのプロトコルを識別し、前記ハードウェアが処理可能なプロトコルか否かを判別し、判別の結果に基づいて前記ハードウェアが処理可能でないプロトコルの場合には、受信パケットに前記ハードウェアが処理可能な追加情報を付加することで前記パケットのフォーマットを変換し、 The processor identifies the protocol of the received packet, determines whether or not the hardware is a protocol that can be processed, and if the protocol is not processable by the hardware based on the determination result, The packet format is converted by adding additional information that can be processed by the hardware,
前記ハードウェアは、前記プロセッサから受信したパケットに基づいて宛先検索を行い、出力先情報と前記追加情報が付加されていた場合には変換情報を付加して前記プロセッサに出力する、通信装置。 The communication apparatus, wherein the hardware performs a destination search based on a packet received from the processor, and adds output information to the processor when output destination information and the additional information are added.
前記ネットワークインタフェイス部を介して、パケットを受信し、 Receiving a packet via the network interface unit;
受信したフレームが有する情報から識別可能な上位のプロトコルを特定し、前記プロトコルが宛先検索が可能か否かに基づいて、宛先検索が可能なプロトコルの場合にはフォーマット変換を実行せずに宛先検索を実行し、宛先検索が可能でないプロトコルの場合には前記受信したパケットの宛先検索を可能とする追加情報を付加するフォーマット変換を行って宛先検索を実行し、 Identify the higher-level protocol that can be identified from the information contained in the received frame, and search for the destination without performing format conversion if the protocol is a destination-searchable protocol based on whether the destination is searchable. In the case of a protocol that cannot be searched for a destination, the destination is searched by performing format conversion to add additional information that enables the destination search of the received packet,
前記追加情報が付加されたパケットには、前記宛先検索の実行の結果に変換情報を付与し、 For the packet with the additional information added, conversion information is added to the result of the destination search execution,
前記付与された変換データと前記パケットに基づいてパケットを生成し、前記生成されたパケットを送信する、パケット送信方法。 A packet transmission method for generating a packet based on the assigned conversion data and the packet and transmitting the generated packet.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2013/053798 WO2014125636A1 (en) | 2013-02-18 | 2013-02-18 | Communication device or packet transfer method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP5961745B2 true JP5961745B2 (en) | 2016-08-02 |
JPWO2014125636A1 JPWO2014125636A1 (en) | 2017-02-02 |
Family
ID=51353662
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015500072A Active JP5961745B2 (en) | 2013-02-18 | 2013-02-18 | Communication device or packet transfer method |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP5961745B2 (en) |
WO (1) | WO2014125636A1 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6501999B2 (en) * | 2017-02-06 | 2019-04-17 | 三菱電機株式会社 | Packet format estimation device and packet format estimation program |
US10389626B2 (en) | 2017-03-28 | 2019-08-20 | Alaxala Networks Corporation | Transfer device |
CN112217765B (en) * | 2019-07-10 | 2023-06-30 | 深圳市中兴微电子技术有限公司 | Message parsing method and device |
CN111131325A (en) * | 2020-01-03 | 2020-05-08 | 浙江大学 | Data protocol anomaly identification system and method |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001186184A (en) * | 1999-12-24 | 2001-07-06 | Nec Corp | System for retrieving transfer destination information |
JP2002247086A (en) * | 2001-02-14 | 2002-08-30 | Nec Corp | Router, its packet switching method and packet switching program |
JP2002335275A (en) * | 2001-05-09 | 2002-11-22 | Fujitsu Ltd | Packet processing unit |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005064803A (en) * | 2003-08-11 | 2005-03-10 | Mitsubishi Electric Corp | Packet transfer apparatus |
JP4443266B2 (en) * | 2004-03-03 | 2010-03-31 | 富士通株式会社 | Packet update device |
-
2013
- 2013-02-18 WO PCT/JP2013/053798 patent/WO2014125636A1/en active Application Filing
- 2013-02-18 JP JP2015500072A patent/JP5961745B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001186184A (en) * | 1999-12-24 | 2001-07-06 | Nec Corp | System for retrieving transfer destination information |
JP2002247086A (en) * | 2001-02-14 | 2002-08-30 | Nec Corp | Router, its packet switching method and packet switching program |
JP2002335275A (en) * | 2001-05-09 | 2002-11-22 | Fujitsu Ltd | Packet processing unit |
Also Published As
Publication number | Publication date |
---|---|
WO2014125636A8 (en) | 2014-10-09 |
WO2014125636A1 (en) | 2014-08-21 |
JPWO2014125636A1 (en) | 2017-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10237177B2 (en) | Transfer device and transfer system | |
JP5610247B2 (en) | Network system and policy route setting method | |
JP7432095B2 (en) | How to forward packets in SRv6 service function chain, SFF, and SF devices | |
US9560177B2 (en) | Network system and network flow tracing method | |
TWI520527B (en) | Switch system, switch control method, and non-transitory computer readable storage medium | |
JP6369532B2 (en) | Network control method, network system and apparatus, and program | |
US9331910B2 (en) | Methods and systems for automatic generation of routing configuration files | |
JP2014171226A (en) | Switch system and centralized monitoring management method | |
KR20130125826A (en) | Network system and method for acquiring vlan tag information | |
JP5961745B2 (en) | Communication device or packet transfer method | |
CN112953949B (en) | Message header processing method, device, equipment and storage medium of network message | |
CN109088957B (en) | NAT rule management method, device and equipment | |
Zuraniewski et al. | Facilitating icn deployment with an extended openflow protocol | |
CN112787922A (en) | Message processing method, network node and system | |
US9203758B2 (en) | Network system, packet processing method and recording medium | |
JP6678401B2 (en) | Method and apparatus for dividing a packet into individual layers for change and joining the layers after change by information processing | |
JP4758302B2 (en) | Network node | |
JP2016506217A (en) | Packet processing method and forwarding element | |
EP4027594B1 (en) | Information processing device, information processing method, and information processing program | |
WO2022252569A1 (en) | Packet processing method, apparatus and system | |
WO2024083219A1 (en) | Message processing method and apparatus, and device and storage medium | |
US20230327988A1 (en) | Media access control address rewrite using egress header editing in traffic aggregation mode | |
JP2017034723A (en) | Packet processing method and forwarding element | |
CN117714398A (en) | Data transmission system, method, electronic equipment and storage medium | |
WO2020054637A1 (en) | Transfer device and transfer method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160520 |
|
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: 20160607 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160627 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5961745 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |