JP5961745B2 - Communication device or packet transfer method - Google Patents

Communication device or packet transfer method Download PDF

Info

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
Application number
JP2015500072A
Other languages
Japanese (ja)
Other versions
JPWO2014125636A1 (en
Inventor
健 大坂
健 大坂
徹 木寺
徹 木寺
重谷 昌昭
昌昭 重谷
直樹 新井
直樹 新井
匠 仲木
匠 仲木
晴大 加賀野井
晴大 加賀野井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Alaxala Networks Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Alaxala Networks Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp, Alaxala Networks Corp filed Critical Nippon Telegraph and Telephone Corp
Application granted granted Critical
Publication of JP5961745B2 publication Critical patent/JP5961745B2/en
Publication of JPWO2014125636A1 publication Critical patent/JPWO2014125636A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing 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 Patent Document 1, a routing module capable of performing routing processing based on address information included in a received packet and relay route selection information stored in advance, and a function extension for executing additional functions such as packet processing and protocol processing. An internetwork device having a module is disclosed. In this internetwork apparatus, the additional function is executed on the packet transferred to the function expansion module by the routing module, and the routing process is executed again on the execution result packet by the routing module.

また特許文献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.

特開2002−281072JP 2002-281072 A 特開2008−060763JP2008-060763

通信装置に搭載されるパケット転送・解析専用のハードウェアは、設計段階で作りこまれたパケットフォーマットの解析や、パケットの宛先検索・転送、フィルタ処理などを高速に行う。しかし、高速処理が可能な反面、設計段階で作りこまれていないパケットフォーマットの解析・転送はできない。   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 Patent Document 1, by connecting a plurality of routing modules and extended function execution modules in parallel, a new function can be added to the hardware, and a plurality of functions can be incorporated in one node. When the extended function execution module is installed, the input packet side routing module, the output side routing module, and double search processing are required, which increases latency and decreases throughput. In other words, the extended function execution module can not process the packet without passing through the routing module, and must pass through the routing module before and after the processing.

特許文献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 Patent Document 1, but since there is no linkage between both processors, a packet of a format that cannot be processed on the packet transfer processor side is processed. In this case, it is necessary to execute all the processing by the extended function execution processor, and there is a concern that the program amount of the extended function execution processor increases and throughput decreases.

少なくとも一の課題を解決するために、本発明の態様の一つとして、通信装置は、ネットワークに接続されるネットワークインタフェイス部を有するパケット解析部と、前記パケット解析部に接続され、予め定められた複数のプロトコルに対応するパケット処理部と、を備え、前記パケット解析部は、前記ネットワークインタフェイス部を介して受信したフレームが有する情報から識別可能なプロトコルについて、前記パケット処理部が対応可能か否かに基づいて前記パケット処理部にフォーマットを変換してから出力するか、フォーマットを変換せずに出力するかを定義したテーブルを有し、前記テーブルに基づきプロトコルを識別して、前記パケット解析部における処理を実行し、前記パケット処理部にパケットを送り、前記パケット処理部は、前記パケット解析部から受信したパケットの宛先検索を行い、前記宛先検索の結果を含む出力パケットを生成し、前記出力パケットを前記パケット解析部に出力し、前記パケット解析部は、前記パケット処理部から受信した出力パケットが前記フォーマットを変換したパケットの場合には、前記出力パケットにフォーマット変換処理を行う。 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.

通信装置1の構成図Configuration diagram of communication device 1 イーサネットタイプ検索テーブルを示す図である。It is a figure which shows an Ethernet type search table. 入力パケット変換テーブルを示す図である。It is a figure which shows an input packet conversion table. パケット検索テーブルを示す図である。It is a figure which shows a packet search table. 出力パケット変換テーブルを示す図である。It is a figure which shows an output packet conversion table. 通信装置1の処理フローチャートを示す図である。It is a figure which shows the process flowchart of the communication apparatus. IPv4パケットフォーマット遷移を示す図である。It is a figure which shows IPv4 packet format transition. パケット解析プロセッサ401の処理フローチャートを示す図である。It is a figure which shows the process flowchart of the packet analysis processor. パケット処理専用ハードウェア301のパケット処理フローチャートを示す図である。It is a figure which shows the packet processing flowchart of the hardware 301 for packet processing. パケット解析プロセッサ401の処理フローチャートを示す図である。It is a figure which shows the process flowchart of the packet analysis processor. 拡張機能ボード60の処理フローチャートを示す図である。FIG. 10 is a diagram illustrating a processing flowchart of the extension function board 60. MPLS網とIP網の構成図を示す図である。It is a figure which shows the block diagram of an MPLS network and an IP network. MPLSパケットフォーマット遷移を示す図である。It is a figure which shows a MPLS packet format transition. 変形例である通信装置を示す図である。It is a figure which shows the communication apparatus which is a modification.

実施形態について図面を参照し説明する。   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 communication device 1, a device control unit 10 that controls the communication device 1, a crossbar switch 20 that is connected to the device control unit 10 through a signal line L 10, a crossbar switch 20, and a signal line L 20. Connected to the packet processing unit 30, the packet processing unit 30n connected to the crossbar switch 20 via L20n, the packet analysis unit 40 connected via the signal line L30, and the line interface connected via the signal line L50. Unit 50, an extended function board 60 connected to the packet processing unit 30n and the signal line L60, and a packet analysis unit 40n connected to the packet processing unit 30n and the signal line L4n.

また、通信装置1は、テーブル情報や、パケット解析プログラムのアップデートを行う管理端末2と接続される。   The communication device 1 is connected to a management terminal 2 that updates table information and a packet analysis program.

装置制御部10は、装置制御プロセッサ11と、装置制御プロセッサ用のメモリ12と、メモリ12内に、テーブル変換用の情報領域であるテーブル情報120と、パケット解析部40や、拡張機能ボード60の処理内容を更新するプログラム領域である処理プログラム情報部121と、パケット処理部30、パケット解析部40、拡張機能ボード60に、プログラムを格納するために接続された、信号線L10〜L1nで構成される。装置制御プロセッサ11は、信号線を介して管理端末2からの入力に応じて、パケット解析部40や拡張機能ボード60の処理内容を更新する。また、装置制御プロセッサ11は、パケット解析部40が利用するテーブルの設定を行なう。   The device control unit 10 includes a device control processor 11, a device control processor memory 12, a table information 120 that is an information area for table conversion in the memory 12, a packet analysis unit 40, and an extended function board 60. The processing program information section 121, which is a program area for updating the processing contents, is composed of signal lines L10 to L1n connected to the packet processing section 30, the packet analysis section 40, and the extended function board 60 for storing programs. The The device control processor 11 updates the processing contents of the packet analysis unit 40 and the extended function board 60 according to the input from the management terminal 2 via the signal line. In addition, the device control processor 11 sets a table used by the packet analysis unit 40.

パケット処理部30は、パケット処理に特化した、パケット処理専用ハードウェア301と、パケット処理専用ハードウェア301内で、入力パケットの宛先検索を行うパケット検索部302と、パケット検索部302が入力パケットの宛先検索とパケット変換情報を決定する、パケット検索テーブル3030を格納したメモリ303と、パケット解析部40で使用するパケット変換情報を付加する、パケット変換情報付加部304で構成される。   The packet processing unit 30 includes a packet processing dedicated hardware 301 specialized for packet processing, a packet searching unit 302 for searching for a destination of an input packet in the packet processing dedicated hardware 301, and the packet searching unit 302 includes an input packet. A memory 303 storing a packet search table 3030 for determining destination search and packet conversion information of the packet, and a packet conversion information adding unit 304 for adding packet conversion information used by the packet analysis unit 40.

パケット検索部302は、内部に通常のL2フレーム(OSI参照モデルの第2層であるデータリンク層で規定されるフレーム)/L3パケット(OSI参照モデルの第3層であるネットワーク層で規定されるパケット)、パケット解析プロセッサで変換された特定のフォーマットを検索する機能と、出力先を決定する機能とを有する。パケット変換情報付加部304は、パケット検索部302にて、入力パケットの宛先検索結果として出力されるパケット変換情報を、入力パケットにヘッダとして付加する。   The packet search unit 302 is internally defined by a normal L2 frame (frame defined by the data link layer that is the second layer of the OSI reference model) / L3 packet (network layer that is the third layer of the OSI reference model). Packet), a function of searching for a specific format converted by the packet analysis processor, and a function of determining an output destination. The packet conversion information adding unit 304 adds the packet conversion information output as the destination search result of the input packet by the packet search unit 302 to the input packet as a header.

パケット処理専用ハードウェア301は、検索結果として、出力先情報と、パケット変換情報を出力する。パケット変換情報付加部304で付加された、パケット変換情報はパケット解析プロセッサ401がパケットを生成するときに参照される。   The packet processing dedicated hardware 301 outputs output destination information and packet conversion information as a search result. The packet conversion information added by the packet conversion information adding unit 304 is referred to when the packet analysis processor 401 generates a packet.

また、パケット処理部30は、パケット解析部40が接続されているか、判定する。パケット解析プロセッサが接続されていない場合、パケット処理部30は、パケット変換情報を削除し、パケット解析プロセッサが接続されている場合は、パケット変換情報を出力先ポート情報と共に出力側のパケット解析プロセッサへ転送する。   Further, the packet processing unit 30 determines whether the packet analysis unit 40 is connected. When the packet analysis processor is not connected, the packet processing unit 30 deletes the packet conversion information. When the packet analysis processor is connected, the packet conversion information is sent to the output side packet analysis processor together with the output destination port information. Forward.

パケット解析部40は、パケット解析プロセッサ401とネットワークインタフェイス部405と、メモリ404、とを有する。パケット解析プロセッサ401は、入力パケットフォーマット解析を行うパケットフォーマット解析部402と、解析後にパケットフォーマットを変換するパケット変換部403とを有する。   The packet analysis unit 40 includes a packet analysis processor 401, a network interface unit 405, and a memory 404. The packet analysis processor 401 includes a packet format analysis unit 402 that performs input packet format analysis, and a packet conversion unit 403 that converts the packet format after analysis.

メモリ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 packet processing unit 30 from the Ethernet type of the input packet. The input packet conversion table 4042 is referred to when the Ethernet type search table determines that processing is not possible. The output packet conversion table 4043 is referred to match the format of the output network after the packet processing unit 30 finishes searching for the destination of the input packet.

パケット解析プロセッサ401は、ネットワーク(回線N10)に接続されるネットワークインタフェイス部405と、パケット処理専用ハードウェア301用のインタフェイスを持ち、パケット処理専用ハードウェア301はパケット解析プロセッサ401と接続するためのインタフェイスを持つ。   The packet analysis processor 401 has a network interface unit 405 connected to a network (line N10) and an interface for the packet processing dedicated hardware 301. The packet processing dedicated hardware 301 is connected to the packet analysis processor 401. With an interface.

パケット解析プロセッサ401は、パケット解析プロセッサ401用のメモリ404にパケット処理専用ハードウェア301が処理できるフォーマットの情報(例:タイプ情報)を格納する。パケット解析プロセッサ401は、ネットワークインタフェイス部405からパケットが入力されると、フォーマットの情報を参照して、処理可能であれば、パケット変換処理は行わず、そのままパケット処理専用ハードウェア301側のインタフェイスへ転送する。パケット解析プロセッサ401は、パケット処理専用ハードウェア301が処理出来ないイーサネットタイプの場合は、パケット処理専用ハードウェア301が処理可能な、特定のフォーマットへ変換し、パケット処理専用ハードウェア301側のインタフェイスへ転送する。   The packet analysis processor 401 stores information (eg, type information) in a format that can be processed by the packet processing dedicated hardware 301 in the memory 404 for the packet analysis processor 401. When a packet is input from the network interface unit 405, the packet analysis processor 401 refers to the format information, and if it can be processed, does not perform the packet conversion process, and directly performs the interface on the packet processing dedicated hardware 301 side. Transfer to face. In the case of an Ethernet type that cannot be processed by the packet processing dedicated hardware 301, the packet analysis processor 401 converts the packet processing processor 401 into a specific format that can be processed by the packet processing dedicated hardware 301, and an interface on the packet processing dedicated hardware 301 side. Forward to.

パケット解析プロセッサ401は、パケット処理専用ハードウェア301から出力されたパケットを受信し、そのパケットが通常のL2フレーム/L3パケットであれば、そのまま接続されたネットワークに出力する。一方パケット処理専用ハードウェア301から、パケット変換情報の入ったヘッダ付パケットを受信した場合、パケット解析プロセッサ401は、変換情報を元に、出力するネットワークのフォーマットに合わせたパケットを作成し、転送する。   The packet analysis processor 401 receives the packet output from the packet processing dedicated hardware 301, and if the packet is a normal L2 frame / L3 packet, outputs it to the connected network as it is. On the other hand, when a packet with a header containing packet conversion information is received from the packet processing dedicated hardware 301, the packet analysis processor 401 creates a packet according to the format of the network to be output based on the conversion information and transfers it. .

拡張機能ボード60は、パケットのPayload部を解析する、DPI処理部602とDPI処理部602を制御する、拡張機能ボード制御プロセッサ601と、DPI処理のデータベースとして搭載されるメモリ604で構成される。   The extended function board 60 includes a DPI processing unit 602 and a DPI processing unit 602 for analyzing the payload part of the packet and controlling the DPI processing unit 602 and a memory 604 mounted as a DPI processing database.

回線インタフェイス部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 line interface unit 50 is an interface of the packet processing unit 30 and outputs a received packet to the packet processing unit 30 or outputs a packet to the network toward a destination determined by the packet processing unit 30.
Note that the communication device 1 may include a plurality of packet processing units 30 and 30n and a plurality of packet analysis units 40 and 40n having the same configuration. The packet analysis units 40 and 40n are connected to a network (lines N10 and N30).
FIG. 2 is an Ethernet type search table 4041 stored in the memory 404 in the packet analysis unit 40. The Ethernet type search table 4041 defines an action that the packet analysis unit 40 executes on the packet for each protocol of the packet. In the Ethernet type search table 4041, for each type information 40410 that specifies a protocol included in a packet, an action that the packet analysis unit 40 executes on the packet is defined. The type information 40410 is Ethernet type information (Ethernet type number). The Ethernet type information (Ethernet type number) is a number for identifying a higher-layer protocol than the Ethernet protocol for the data part included in the packet, and is 16-bit information included in the Ethernet header. For example, when the type number is 0800, it is a number indicating that it is a protocol of Internet IP (IPv4), and when it is 0806, it is an address resolution protocol (ARP) protocol. When the type number is 8847, it is a number indicating that it is an MPLS (Multi Protocol Label Switching) unicast packet, and when it is 8848, it is a number indicating that it is an MPLS multicast packet. In addition, when the type number is 8863, it is a number indicating PPPoE Discovery Stage.

本テーブル4041では、タイプ情報40410は検索キーであり、検索結果40411の「入力パケットに対する処理」は、パケット処理専用ハードウェア301が処理可能なパケットフォーマットの場合と、処理不可能なパケットフォーマットの場合にパケット解析部40が行う処理を示す。「入力パケットに対する処理」40411には、処理不可能なパケットフォーマットの場合は、そのタイプ番号で特定されるプロトコルのパケットの特定の項目を参照して変換する、という記述があってもよい。イーサネットタイプ検索テーブル4041は、パケット解析部40が、パケットのフォーマット変換の要否を判断する場合に参照される。そして、パケット解析部40は、入力パケットフォーマットを解析し、解析結果とイーサネットタイプ検索テーブル4041とにより、入力パケットのフォーマット変換が必要か、判定する。   In this table 4041, type information 40410 is a search key, and “processing for input packet” in the search result 40411 is a packet format that can be processed by the packet processing dedicated hardware 301 and a packet format that cannot be processed. Shows processing performed by the packet analysis unit 40. The “process for input packet” 40411 may include a description that, in the case of a packet format that cannot be processed, conversion is performed with reference to a specific item of the packet of the protocol specified by the type number. The Ethernet type search table 4041 is referred to when the packet analysis unit 40 determines whether or not packet format conversion is necessary. Then, the packet analysis unit 40 analyzes the input packet format and determines whether the format conversion of the input packet is necessary based on the analysis result and the Ethernet type search table 4041.

図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 packet analysis unit 40. The packet conversion table 4042 is used when a packet determined to be unprocessable by the packet processing dedicated hardware 301 in the Ethernet type search table 4041 is transferred from the packet analysis unit 40 to the packet processing unit 30.
The input packet header information 40420 is information for designating which item of the header of the input packet is to be viewed. For example, a destination address is specified for IPv4, label information is specified for MPLS, and a VLAN tag is specified for DPI. Input packet header information 40420 serves as a search key. The search key 40421 for the packet search unit 302 is a format that can be processed by the packet search unit 302 in the packet processing dedicated hardware 301 by adding a search key 40421 corresponding to the input packet header information 40420 to the packet in the search result of this table. It becomes.

パケット変換テーブル4042は、パケット検索部302が処理できない、入力パケットの宛先検索に使用する情報を、パケット検索部302が処理可能なフォーマットへの変換を示し、入力パケットをパケット検索部302が処理できる、パケットフォーマットに変換する。   The packet conversion table 4042 indicates conversion into information that can be processed by the packet search unit 302, which can be processed by the packet search unit 302, and can be processed by the packet search unit 302. , Convert to packet format.

図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 memory 303 in the packet processing unit 30. The packet search unit 302 uses the packet search table 3030 to search for the destination of the input packet using the search result of the packet conversion table 4042 in FIG. 3 or the header information of the input packet as the search key 30300 for the packet search unit 302. The search key 30300 determines the output packet conversion information 30301, the MAC address 30302, and the output port 30303 as a result of the destination search for the input packet, and the packet search unit 302 determines Next hop.

なおパケット検索部302は、出力パケット変換情報30301を、入力パケットのヘッダ情報で検索の場合は、そのままNext Hopを示す情報とし扱い、それ以外は、パケット解析部40で使用する、パケット変換情報として扱う。   Note that the packet search unit 302 treats the output packet conversion information 30301 as information indicating Next Hop as it is when searching with the header information of the input packet, and as other packet conversion information used by the packet analysis unit 40 otherwise. deal with.

図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 packet analysis unit 40. The packet conversion table 4043 is used by the packet analysis unit 40 to convert the output packet format using the packet conversion information 30301 determined by the packet search unit 302 of the packet processing unit 30 shown in FIG. The output packet conversion information 40430 is a search result 30301 of the packet search table 3030 and is a search key for this table. The output packet header information is a search result 40431 of this table. FIG. 5 may correspond to a table showing the inverse transformation of FIG.

パケット変換部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 communication device 1. Examples of cases where filter processing by IP transfer, MPLS transfer, and DPI are performed in the communication apparatus 1 of FIG.

図6は、通信装置1の処理を示したフローチャートである。まず、通信装置1の処理を、図6に示したフローチャートに沿って説明する。ネットワークからパケットがパケット解析部40に入力される(ステップ50)。パケット解析部40は、パケットが入力されると、パケットに含まれるイーサネットタイプに基づいてパケット処理部30で検索可能なパケットフォーマットか判別し、検索可能でないフォーマットについては、パケット変換情報をパケットに付与する。変換情報が付与されたパケットあるいは、検索可能な場合は入力パケットのままで、パケット処理部30へパケットを転送する(ステップ51)。   FIG. 6 is a flowchart showing processing of the communication device 1. First, the processing of the communication device 1 will be described along the flowchart shown in FIG. A packet is input from the network to the packet analysis unit 40 (step 50). When a packet is input, the packet analysis unit 40 determines whether the packet format is searchable by the packet processing unit 30 based on the Ethernet type included in the packet, and adds packet conversion information to the packet for a format that is not searchable. To do. The packet is transferred to the packet processing unit 30 while keeping the packet with the conversion information or the input packet if searchable (step 51).

パケット解析部40からパケットを受信したパケット処理部30は、パケット解析部40で付加したパケット変換情報、もしくは入力パケットヘッダの宛先アドレスをキーに、入力パケットの宛先検索を行い、クロスバースイッチ20へパケットを転送する(ステップ52)。クロスバースイッチ20では、パケット処理部30の検索結果に基づき、次に転送すべきパケット処理部30〜30nを決定し、再びパケットを送信する(ステップ53)。   The packet processing unit 30 that has received the packet from the packet analysis unit 40 searches the destination of the input packet using the packet conversion information added by the packet analysis unit 40 or the destination address of the input packet header as a key, and sends it to the crossbar switch 20. The packet is transferred (step 52). The crossbar switch 20 determines the packet processing units 30 to 30n to be transferred next based on the search result of the packet processing unit 30, and transmits the packet again (step 53).

本例では、パケット処理部30に転送する。クロスバースイッチ20から、パケットを受信したパケット処理部30は、検索結果から、所定のボードにパケットを送信する。本例の構成では、パケット解析部40、回線インタフェイス部50、拡張機能ボード60のいずれかにパケットが送信される(ステップ54)。パケット処理部30からパケット解析部40に転送された場合、パケット解析部40は、パケットにパケット変換情報が付加された場合には、パケット変換情報を元に、パケット変換テーブル4043で出力先のパケットフォーマットに変換し、パケット変換情報が削除されている場合には、フォーマットを変換することなく、ネットワーク(N10、N30)へパケットを出力する。 In this example, the packet is transferred to the packet processing unit 30. The packet processing unit 30 that receives a packet from the crossbar switch 20 transmits the packet to a predetermined board from the search result. In the configuration of this example, the packet is transmitted to any of the packet analysis unit 40, the line interface unit 50, and the extended function board 60 (step 54). When transferred from the packet processing unit 30 to the packet analysis unit 40, the packet analysis unit 40 outputs the packet of the output destination in the packet conversion table 4043 based on the packet conversion information when the packet conversion information is added to the packet. When the packet is converted into the format and the packet conversion information is deleted, the packet is output to the network (N10, N30) without converting the format.

パケット処理部30から拡張機能ボード60に転送された場合には、入力したパケットに対し、DPI処理部602にて、payload部を参照し、予め設定された、条件に該当するか判定し、該当する場合は廃棄し、該当していない場合は、パケット処理部30nへ再度転送する。回線インタフェイス部50に転送された場合は、回線インタフェイス部50は、パケット処理部30にて決定したパケットの宛先情報元に、出力するインタフェイスを決定し、回線N20に出力する(ステップ55)。 When the packet is transferred from the packet processing unit 30 to the extended function board 60, the DPI processing unit 602 refers to the payload unit for the input packet, determines whether a preset condition is met, and If so, it is discarded, and if not, it is transferred again to the packet processing unit 30n. When transferred to the line interface unit 50, the line interface unit 50 determines an interface to be output based on the destination information of the packet determined by the packet processing unit 30, and outputs it to the line N20 (step S20). 55).

図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 communication apparatus 1. Description will be made along the flowchart of FIG. The packet 900 is an IP packet input to the communication device 1 and has the packet format at step 50. The packet 900 includes a destination MAC address 90, a transmission source MAC address 91, type information (Ethernet type number) 92, an IP header 93, a payload 94 and an FCS 95. In step 51, based on the type 92 and the Ethernet type search table 4041, a search key 40421 corresponding to the input packet header information 40420 is added to the packet 900 as the search key 96, and the format of the packet 901 is obtained.
If the packet conversion information is necessary as a result of the search processing in step 52, the packet 901 has the format of the packet 903 and is transferred to the crossbar switch 20. The packet 903 includes the updated destination MAC address 97 and the source MAC address 98 as compared with the packet 901, the search key 96 is removed, the destination MAC address 90 and the source MAC address 91 are updated. Further, packet conversion information 99 is added to the head of the packet 903.

一方、パケット変換情報が必要ない場合にはパケット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 packet 902 is transferred to the crossbar switch 20. The packet 902 includes the updated destination MAC address 97 and the source MAC address 98 as compared with the packet 900, the search key 96 is removed, the destination MAC address 90 and the source MAC address 91 are updated. In the case of the packet 902, there is no format conversion in step 53. In step 54, when the packet is transmitted to the packet analysis unit 40, in the case of the packet 903, the packet conversion is performed based on the packet conversion information 99 for 403, and in the case of the packet 902, the packet is output without being converted. To do.

次に、図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 packet analysis processor 401 when input from the network interface unit 405 to the packet analysis unit 40.
An IPv4 packet is input from the network interface unit 405 to the packet analysis processor 401 inside the packet analysis unit 40, and the packet analysis processor 401 performs processing according to the flowchart of FIG.

ノードに接続されたネットワークから、パケット900が、ネットワークインタフェイス部405に入力し、パケット解析プロセッサ401に転送される(ステップ510)。パケット解析プロセッサ401は、入力パケット900のイーサネットタイプ92に格納されている0800をキーに、パケット処理専用ハードウェア301が検索可能なフォーマットか、イーサネットタイプ検索テーブル4041で検索する(ステップ511)。検索の結果から、パケット解析プロセッサ401は、パケット処理専用ハードウェア301が処理可能なパケットフォーマットか判定する(ステップ512)。   A packet 900 is input from the network connected to the node to the network interface unit 405 and transferred to the packet analysis processor 401 (step 510). The packet analysis processor 401 searches the Ethernet type search table 4041 for a format that the packet processing dedicated hardware 301 can search using 0800 stored in the Ethernet type 92 of the input packet 900 as a key (step 511). From the search result, the packet analysis processor 401 determines whether the packet format can be processed by the dedicated packet processing hardware 301 (step 512).

パケットフォーマット解析部402は、イーサネットタイプ0800を、パケット処理専用ハードウェア301が処理できるパケットフォーマットと判定し、パケット変換部403にパケットを送信する(ステップ513)。パケット900は、パケット処理専用ハードウェア301が処理可能なフォーマットのため、パケット変換部403で処理はせず、パケット処理部30にパケット900のフォーマットのまま送信される(ステップ514)。   The packet format analysis unit 402 determines that the Ethernet type 0800 is a packet format that can be processed by the packet processing dedicated hardware 301, and transmits the packet to the packet conversion unit 403 (step 513). Since the packet 900 has a format that can be processed by the packet processing dedicated hardware 301, the packet conversion unit 403 does not process the packet 900 but transmits it to the packet processing unit 30 in the packet 900 format (step 514).

なお、本例ではパケット900を送信したが、パケット処理専用ハードウェア301が処理可能なフォーマットであっても、パケット検索部302用の検索キー96を、付加したパケット901で、転送してもよい。またステップ512にて処理不可能と判定した場合には、パケット変換部403のパケット変換テーブル4042により、パケット検索部302が処理可能なフォーマットに変換する(ステップ516)。詳細は、後述するMPLS転送の実施例に示す。   Although the packet 900 is transmitted in this example, the search key 96 for the packet search unit 302 may be transferred in the packet 901 added even if the packet processing dedicated hardware 301 can process it. . If it is determined in step 512 that processing is not possible, the packet conversion unit 404 converts the packet search unit 302 into a format that can be processed by the packet conversion table 4042 (step 516). Details will be described in an example of MPLS transfer described later.

図9は、パケット処理部30内、パケット処理専用ハードウェア301の処理を示したフローチャートである。パケット解析部40からのパケット900を受信した、パケット処理部30内のパケット処理専用ハードウェア301は、図9のフローチャートに沿って処理を行う。   FIG. 9 is a flowchart showing processing of the packet processing dedicated hardware 301 in the packet processing unit 30. The packet processing dedicated hardware 301 in the packet processing unit 30 that has received the packet 900 from the packet analysis unit 40 performs processing according to the flowchart of FIG.

パケット処理専用ハードウェア301は、パケット900が入力すると(ステップ520)、クロスバースイッチ20からのパケットか、パケット解析部40からのパケットか判定する(ステップ521)。パケット検索部302において、検索結果を出力する際に、検索が完了したことを示すフラグ情報をパケットに付加している。よってクロスバースイッチからパケットが転送される場合は、すでにパケット検索部302にて検索が行われているため、クロスバースイッチからの転送判定は、パケット検索部302にて付加された、フラグ情報を元に行われる。
パケット解析部40からのパケットと判定した場合、パケット処理専用ハードウェア301は、パケット検索部302にて、タグVLANによる転送か判定する。タグVLANでないと判定した、パケット検索部302は、パケット解析部40で付加される、302用検索キー96がヘッダとして付加されている、パケットフォーマット901か、入力パケットフォーマット900か、判定する(ステップ525)。
When the packet 900 is input (step 520), the packet processing dedicated hardware 301 determines whether the packet is from the crossbar switch 20 or the packet analysis unit 40 (step 521). When the packet search unit 302 outputs the search result, flag information indicating that the search is completed is added to the packet. Therefore, when the packet is transferred from the crossbar switch, since the packet search unit 302 has already performed the search, the transfer determination from the crossbar switch is performed by using the flag information added by the packet search unit 302. Originally done.
When it is determined that the packet is from the packet analysis unit 40, the packet processing dedicated hardware 301 determines whether or not the packet search unit 302 uses the tag VLAN for transfer. The packet search unit 302 that has determined that it is not a tag VLAN determines whether the packet format 901 or the input packet format 900 has the 302 search key 96 added by the packet analysis unit 40 added as a header (step). 525).

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 packet search unit 302 searches for the destination of the packet 900 using the destination IP address in the IP header 93 as a key. The search is executed by the packet search unit 302 using the search table 3030 in the memory 303 (step 526). The packet search unit 302 determines the output packet conversion information 99 as a search result, determines the output destination port, and resolves the MAC address (step 527).

パケット検索部302では、MACアドレス解決の結果から、パケット900の、宛先MACアドレス90と、送信元MACアドレス91を書き換え、宛先MACアドレス97と、送信元MACアドレス98を含む、パケット902を作成する(ステップ528)。   The packet search unit 302 rewrites the destination MAC address 90 and the source MAC address 91 of the packet 900 from the MAC address resolution result, and creates a packet 902 including the destination MAC address 97 and the source MAC address 98. (Step 528).

パケット902は、パケット変換情報付加部304に転送され、パケット変換情報99を付加されることなく、クロスバースイッチ20へパケットを転送される(ステップ529)。なお、本例では、パケット処理専用ハードウェア301が処理可能なパケットフォーマットのため、パケット変換情報99を削除したが、削除せずにパケット903として、パケット解析プロセッサ401に転送してもよい。   The packet 902 is transferred to the packet conversion information adding unit 304, and the packet is transferred to the crossbar switch 20 without adding the packet conversion information 99 (step 529). In this example, the packet conversion information 99 is deleted because the packet format can be processed by the packet processing dedicated hardware 301. However, the packet conversion information 99 may be transferred to the packet analysis processor 401 as a packet 903 without being deleted.

クロスバースイッチ20に転送されたパケット902は、パケット検索部302で決定した出力先ポート情報に従い、パケット処理部30〜30nのいずれかに転送される。本例では、パケット処理部30に転送するものとする。   The packet 902 transferred to the crossbar switch 20 is transferred to one of the packet processing units 30 to 30n according to the output destination port information determined by the packet search unit 302. In this example, it is assumed that the packet is transferred to the packet processing unit 30.

クロスバースイッチ20経由でパケット902を受信したパケット処理部30内部のパケット処理専用ハードウェア301は、図9の処理フローチャートに従い処理を行う。クロスバースイッチ20からパケット処理専用ハードウェア301へ、パケットが入力すると(ステップ520)、パケット処理専用ハードウェア301内のパケット検索部302は、パケット解析部40からのパケットか、クロスバースイッチ20からのパケットか判定する(ステップ521)。クロスバースイッチ20からのパケットと判定した、パケット検索部302は、出力先ポートへパケット902を転送する。本例では、出力先にパケット解析部40が接続されているものとする。   The packet processing dedicated hardware 301 inside the packet processing unit 30 that has received the packet 902 via the crossbar switch 20 performs processing according to the processing flowchart of FIG. When a packet is input from the crossbar switch 20 to the packet processing dedicated hardware 301 (step 520), the packet search unit 302 in the packet processing dedicated hardware 301 receives the packet from the packet analysis unit 40 or from the crossbar switch 20. (Step 521). The packet search unit 302 that has determined that the packet is from the crossbar switch 20 transfers the packet 902 to the output destination port. In this example, it is assumed that the packet analysis unit 40 is connected to the output destination.

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 packet analysis unit 40, the packet destination is searched with the header added by the packet analysis unit 40 (step 530), and packet conversion information is determined (step 531). .

図10は、パケット処理部30から、パケット解析部40にパケットが転送された場合の、パケット解析プロセッサ401の処理を示したフローチャートである。   FIG. 10 is a flowchart showing the processing of the packet analysis processor 401 when a packet is transferred from the packet processing unit 30 to the packet analysis unit 40.

パケット処理部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 packet analysis processor 401 in the packet analysis unit 40 that has received the packet 902 from the packet processing unit 30 performs processing according to the flowchart of FIG.
The packet 902 is input to the packet analysis processor 401 (step 550). The packet format analysis unit 402 in the packet analysis processor 401 determines the presence or absence of the packet conversion information 99 (step 551). The packet format analysis unit 402, which has determined that there is no packet conversion information 99 and transfer in the packet format 902, transfers the packet to the connected network without changing the format (step 552). FIG. 12 is a configuration diagram of the MPLS network shown in the first embodiment. The MPLS network 81 is connected to the IP networks 80 and 82. The MPLS network includes a plurality of nodes 810, 811, 812, 813, 814, 815, and 816, and MPLS transfer is performed between the nodes. In the present embodiment, description will be made assuming that the node 812 in the MPLS network 81 has the apparatus configuration of FIG. The node 812 transfers the packet input from the MPLS edge node 810 to 813 via the node 812. FIG. 13 is a packet format transition diagram of the Ethernet type MPLS in this embodiment. The Shim header 904 used for MPLS search includes label information 103 serving as a search key, Exp 104 representing QoS information, S105 representing the end of the label, and TTL (Time To Live) information 106. In addition, the packet 905 includes a destination MAC address 100, a transmission source MAC address 101, type information (Ethernet type number) 102, an IP header 107, a payload 108 and an FCS 109, similarly to the packet 900 of FIG.

図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 step 50, the packet 905 is input to the packet analysis unit 40. The packet analysis unit 40 that has received the packet 905 analyzes the packet format in step 51 and searches the Ethernet type search table 4041 using the type 102 included in the packet, and the type number corresponds to 8847 or 8848. Therefore, it is determined that processing is impossible. The packet analysis unit 40 converts the packet format into a packet format 906 that can be searched by the packet processing unit 30 in accordance with “processing for input packet” 40411. In the converted packet format 906, the search key 110 is added to the packet 905. In step 52, the packet processing unit 30 refers to the packet 906, performs a destination search for the input packet, and adds the updated destination MAC address 112, source MAC address 113, and packet conversion information 111 as the search result. Compared with the packet 906, the packet 907 is obtained by removing the search key 110 and adding the packet conversion information 111 and updating the destination MAC address and the source MAC address. The packet processing unit 30 transfers the packet 907 to the crossbar switch 20. In step 55, the packet is input to the packet analysis unit 40, and the packet analysis unit 40 generates a packet 909 using the packet conversion information 111 included in the packet 907. The packet 909 has a shim header 908 including the Label 114 and the TTL 115 updated by deleting the packet conversion information 111 from the packet 907.

図1に示す、通信装置1がMPLSのパケット905をネットワークから受信した場合の、パケット処理部40内の、パケット解析プロセッサ401は、IPv4パケット同様に図8のフローチャートに沿って処理を行う。   When the communication apparatus 1 shown in FIG. 1 receives an MPLS packet 905 from the network, the packet analysis processor 401 in the packet processing unit 40 performs processing according to the flowchart of FIG.

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 MPLS packet 905 is input to the packet analysis processor 401 (step 510). As in the IP packet search, the packet analysis processor 401 determines whether the format of the protocol specified by the Ethernet type 8847 is a format that can be processed by the packet processing dedicated hardware 301 (step 511). ). As a result of the search, it is determined that the type number 8847 corresponding to MPLS cannot be processed by the packet processing dedicated hardware 301 (step 512). The packet 905 determined to be unprocessable is transferred to the packet conversion unit 403 (step 515). The packet conversion unit 403 refers to the packet conversion table 4042 with the value of the label 103 of the MPLS shim header 904 as a key according to the “processing for input packet” 40411, and searches for the packet 906 that can be searched by the packet processing dedicated hardware 301. Generate (step 516).

例えば、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 label value 103 in the shim header 904 is “A”, a search is performed in the conversion table 4042 using the label “A” as a key, and 0.0.0.0A corresponding to the label A is obtained as a search result. Output. The search result 0.0.0.A is added to the input packet 905 as the header 110 by the packet conversion unit 403, and transferred to the packet processing dedicated hardware 301 as the packet 906 (step 514). However, the packet 906 is an example and may be in another format.

パケット解析プロセッサ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 hardware 301 that has received the packet 906 from the packet analysis processor 401 performs processing according to the flowchart of FIG. The packet 906 is input to the packet processing dedicated hardware 301 (step 520). As in the IPv4 packet search, it is determined that the packet is from the packet analysis processor 401 in step 521, it is determined that the packet is not a packet with Vlan Tag in step 522, and the destination search of the packet 906 is performed in the header 110 in step 525. Is determined. The packet search unit 302 determined to search the header 110 uses the search table 3030 in the memory 303 to execute a destination search for the packet 906 (step 530). The packet search unit 302 searches for 0.00.0. Using A as a key, the search table 3030 is used for execution. The packet search unit 302 receives 0.00.0. 0.0.0 corresponding to A. E is output as the packet conversion information 111, the output port is determined and the MAC address is resolved, and the packet is transferred to the packet conversion information adding unit 304 (step 531).

またパケット変換情報付加部304は、パケット変換情報111を付加し、図13のパケットフォーマット907を作成する(ステップ532)。L2ヘッダはIPv4パケットの場合と同様にパケット検索部302で更新され、クロスバースイッチ20へパケット907を転送する(ステップ529)。   Further, the packet conversion information adding unit 304 adds the packet conversion information 111 and creates the packet format 907 of FIG. 13 (step 532). The L2 header is updated by the packet search unit 302 as in the case of the IPv4 packet, and the packet 907 is transferred to the crossbar switch 20 (step 529).

クロスバースイッチ20に転送されたパケット907は、IPv4パケット検索と同様にクロスバースイッチ20から、パケット処理部30に転送され、その後パケット解析部40に転送される。   The packet 907 transferred to the crossbar switch 20 is transferred from the crossbar switch 20 to the packet processing unit 30 and then transferred to the packet analysis unit 40 as in the IPv4 packet search.

パケット処理部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 packet analysis processor 401 in the packet analysis unit 40 that has received a packet from the packet processing unit 30 performs processing according to the flowchart of FIG. The packet 907 is input to the packet analysis unit 402 in the packet analysis processor 401 (step 550). The packet format analysis unit 402 recognizes the header 111 (step 551), and converts the conversion information 0.0. Using E as a key, search is made in the conversion table 4043 shown in FIG. 5 stored in the memory 404, and label information “E” of the output destination is determined. The determined label value “E” is used by the packet conversion unit 403 to update the label information of the Shim header, generates a new label 114, and inserts the subtracted TTL 115 to generate a packet 909 (step 553). . The generated packet 909 is transferred to the connected network (step 552). According to the above embodiment, the communication apparatus 1 performs the packet transfer process even if the protocol identified by the type 102 is a packet of a protocol that the packet processing dedicated hardware 301 cannot recognize, such as MPLS.

次に回線インタフェイス部50を接続した場合の処理例を示す。回線インタフェイス部50は、パケットの送・受信を行う。パケット処理部30は、単独でも動作が可能なハードウェアであるため、処理可能なフォーマットであれば、パケット解析部40が接続されていなくても、パケットの宛先検索を行う。検索は、IPv4転送の例に示したパケット処理専用ハードウェア301処理と同じである。   Next, an example of processing when the line interface unit 50 is connected will be described. The line interface unit 50 transmits and receives packets. Since the packet processing unit 30 is hardware that can operate alone, the packet processing unit 30 searches the destination of the packet as long as it is a processable format even if the packet analysis unit 40 is not connected. The search is the same as the packet processing dedicated hardware 301 process shown in the IPv4 transfer example.

次に拡張機能ボード60に転送する例を示す。本例では、イーサネットタイプ8100のパケットを拡張機能ボード60のDPI処理部603で、URLを参照したフィルタリングを実施した場合を示す。   Next, an example of transferring to the extended function board 60 is shown. In this example, filtering is performed on the Ethernet type 8100 packet with reference to the URL by the DPI processing unit 603 of the extended function board 60.

パケット解析部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 packet analysis unit 40 determines that the format can be processed by the packet processing dedicated hardware 301 and transfers the packet to the packet processing dedicated hardware 301 in the same manner as in the IPv4 transfer example. The packet processing dedicated hardware 301 transfers the packet to the extended function board 60 according to the flowchart of FIG. 9 (steps 521 and 522). The packet search unit 302 that has determined in step 521 in FIG. 9 that the packet is not from the crossbar switch 20 determines whether the packet is transferred by the input packet VLAN tag (step 525), and if the VLAN tag is added, the packet search The unit 302 transfers the packet to the extended function board 60 (step 523). The VLAN tag is inserted as a type 8100 between the source MAC address 91 and the type 92 of the packet 900 of FIG. The packet transferred to the extended function board 60 is processed according to the flowchart of FIG.

図11は、拡張機能ボード60の処理をフローチャートで示したものである。   FIG. 11 is a flowchart showing the processing of the extended function board 60.

図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 extended function board 60 from the dedicated packet processing hardware 301 (step 700). Upon receiving the packet, the extended function board 60 transfers the packet to the internal DPI processing unit 602 (step 701). The DPI processing unit 602 determines whether the payload of the input packet is a packet addressed to an access-prohibited URL by referring to the access-prohibited URL list registered in advance in the memory 604 by the administrator (step 702). If the URL matches the list, the DPI processing unit 602 discards the URL (step 704). If the URL does not match, the VLAN tag is deleted and transferred to the packet processing unit 30 again for packet destination search (step 703). ). The processing after step 703 is processing in the packet search unit 302, and the processing is executed from step 524 in FIG. The processing and packet format from step 525 are the same as those shown in the IPv4 transfer example.

本例では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 hardware 301 has a format that cannot be processed as in the MPLS search example, the packet analysis unit 40 transfers the data to the extended function board 60 corresponding to the VLAN tag. The data may be converted into a packet format including data to be transmitted, and the packet may be transferred to the extended function board 60 based on the added information. Further, as an example of the processing of the extended function board 60, the example having the DPI processing unit 602 has been described. However, other than the DPI processing unit 602, for example, a log management unit that manages a history of unprocessable formats Good. In this case, the packet analysis unit 40 determines that the format cannot be processed, converts the packet format to include the data to be transferred to the extended function board 60, and transfers the packet format to the extended function board 60. The log management unit manages the history of receiving the packets that have the unprocessable format for the transferred packets.
Next, various table information of the packet analysis unit 40 and a program update method describing processing contents will be described.
Table information necessary for updating is stored in the memory 12 in the device control unit 10 from the management terminal 2 connected to the communication device 1. The device control processor 11 selects a table for updating the information in the memory 12 from the tables 4041, 4042, and 4043 in the packet analysis unit 40 via the signal lines L10 to L1n, and updates the table information.

テーブルの更新は、通信装置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 communication apparatus 1 is installed, or when the processing program corresponding to the protocol that is no longer used or the table information is deleted. To be implemented.
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 program information unit 121. The processing contents stored in the program memory area 4040 via L10 are updated.

また使用しなくなったプロトコルを削除する場合も、管理端末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 program information unit 121 into the program memory area 4040 via the signal line L10. To do. Therefore, the management terminal 2 adds and deletes the table and the processing program, and writes the data to the table and the memory for the processing program, thereby updating the table and the processing program. In this example, the entire packet conversion table information is updated, but a specific search key and a search result may be designated and deleted.

またパケット解析部40の処理内容を決定するプログラムのアップデートは、管理端末2でプログラムを作成し、装置制御部10の、装置制御用メモリ12に、処理内容を書き込む。テーブル情報のアップデート同様に、信号線L10〜L1n経由でパケット解析部40内のメモリ404内、プログラム用メモリ領域4040にアクセスし、プログラムを書き換える。   In updating the program for determining the processing contents of the packet analysis unit 40, the management terminal 2 creates a program and writes the processing contents in the device control memory 12 of the device control unit 10. Similar to the update of the table information, the program 404 is rewritten by accessing the memory 404 in the packet analysis unit 40 and the program memory area 4040 via the signal lines L10 to L1n.

つまり、通信装置1は、パケット解析部40のパケット変換テーブル4042,4043と、処理内容を記述したプログラムを更新するだけで、パケット処理専用ハードウェアが処理できないパケットフォーマットに対しても、ハードウェアによる高速検索処理が可能になる。よって新たなプロトコルを処理するためには、テーブルの更新とパケット解析プロセッサの処理内容を変更で済む。 図14は、通信装置1の変形例3を示す。通信装置3では、クロスバースイッチ20を設けていない点を除いては、図1の構成と同様である。またこの通信装置3も、上述の実施例のように、IPパケット転送、MPLSラベル転送を行う。   In other words, the communication apparatus 1 only updates the packet conversion tables 4042 and 4043 of the packet analysis unit 40 and the program describing the processing contents, and even for packet formats that cannot be processed by the dedicated hardware for packet processing, High-speed search processing is possible. Therefore, in order to process a new protocol, it is only necessary to update the table and change the processing contents of the packet analysis processor. FIG. 14 shows a third modification of the communication device 1. The communication device 3 is the same as the configuration of FIG. 1 except that the crossbar switch 20 is not provided. The communication device 3 also performs IP packet transfer and MPLS label transfer as in the above-described embodiment.

上述の実施例により、パケット転送プロセッサのハードウェアの性能を維持し、プログラマブルデバイスを用いたパケットの転送処理を行える。   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 SYMBOLS 1 Communication apparatus 2 Management terminal 10 Apparatus control part, 20 Crossbar switch 30 Packet processing part 301 Packet processing dedicated hardware 302 Packet search part 303 Packet conversion information addition part 40 Packet analysis part 401 Packet analysis processor 402 Packet format analysis part 403 Packet Conversion unit 404 Packet analysis unit memory 4040 Packet analysis processor, program memory 4041 Ethernet type search table 4042 Input packet conversion table 4043 Output packet conversion table 50 Line interface unit 60 Extended function board 601 Packet conversion unit

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 .
請求項1記載の通信装置であって、
前記パケット解析部は、前記テーブルと、前記処理を実行するプログラムを保持するメモリを備え、
前記パケット解析部は、
前記プロトコルを識別した結果と前記対応付けとに基づいて前記受信したパケットのヘッダ情報を前記パケット処理部が宛先検索処理可能な追加情報に変換して、前記受信したパケットのヘッダに付加して前記パケット処理部に送り
前記出力パケットの前記宛先検索の結果に基づいて、前記パケット処理部から受信した出力パケットが前記フォーマットを変換したパケットの場合には前記出力パケットに対しヘッダ情報の変換処理を行い、前記変換されたパケットを送信する、通信装置。
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 .
請求項2記載の通信装置であって、
前記パケット処理部は、
前記追加情報に基づいて前記宛先検索を実行し、前記追加情報に対応する変換情報、宛先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 .
請求項2記載の通信装置であって、
前記パケット処理部は、
前記追加情報と前記パケットとに基づいて前記宛先検索を実行し、
前記宛先検索により特定される宛先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 .
請求項2ないし4記載の通信装置であって、
前記パケット処理部は、さらに、ネットワークに接続される回線インタフェイス部に接続され、
前記追加情報と前記パケットとに基づいて前記宛先検索を実行し、
前記プロトコルを識別した結果に基づき前記出力パケットを出力する、通信装置。
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 .
請求項1ないし5記載の通信装置であって、  The communication device according to claim 1, wherein:
前記プロトコルは、イーサネットプロトコルより上位のプロトコルである、通信装置。  The communication apparatus is a protocol higher than the Ethernet protocol.
請求項1ないし6記載の通信装置であって、  The communication device according to claim 1, wherein:
前記テーブルは、イーサネットタイプに規定されたプロトコルと前記プロトコルに対応する処理が定義されたものである、通信装置。  The table is a communication device in which a protocol defined for an Ethernet type and a process corresponding to the protocol are defined.
請求項2記載の通信装置であって、  The communication device according to claim 2,
外部からの入力に応じて、前記テーブルの前記メモリへの更新およびプログラムの前記メモリへの追加の少なくとも一つを実行する、通信装置。  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.
請求項1記載の通信装置であって、  The communication device according to claim 1,
前記パケット解析部は、前記テーブルと、前記処理を実行するプログラムとを保持するメモリを備え、  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.
請求項1記載の通信装置であって、  The communication device according to claim 1,
前記パケット解析部は、プログラマブルに処理内容を書き換えられるプロセッサを備え、  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.
ネットワークインタフェイス部を有する通信装置におけるパケット転送方法であって、  A packet transfer method in a communication apparatus having a network interface unit,
前記ネットワークインタフェイス部を介して、パケットを受信し、  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.
JP2015500072A 2013-02-18 2013-02-18 Communication device or packet transfer method Active JP5961745B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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