JP4680148B2 - Communication device - Google Patents

Communication device Download PDF

Info

Publication number
JP4680148B2
JP4680148B2 JP2006226367A JP2006226367A JP4680148B2 JP 4680148 B2 JP4680148 B2 JP 4680148B2 JP 2006226367 A JP2006226367 A JP 2006226367A JP 2006226367 A JP2006226367 A JP 2006226367A JP 4680148 B2 JP4680148 B2 JP 4680148B2
Authority
JP
Japan
Prior art keywords
packet
processing
unit
processed
control unit
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
JP2006226367A
Other languages
Japanese (ja)
Other versions
JP2008053904A (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2006226367A priority Critical patent/JP4680148B2/en
Publication of JP2008053904A publication Critical patent/JP2008053904A/en
Application granted granted Critical
Publication of JP4680148B2 publication Critical patent/JP4680148B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、受信したパケットに対して暗号処理や認証処理等の処理を複数の処理部で行なう通信装置に関し、特にパケット単位で複数の処理部に分散処理させるための負荷分散技術に関する。   The present invention relates to a communication device that performs processing such as encryption processing and authentication processing on a received packet by a plurality of processing units, and more particularly to a load distribution technique for distributing processing to a plurality of processing units in units of packets.

広帯域の伝送路から受信したパケットに暗号処理等の重い処理を行なう場合、複数の処理部にパケット単位で分散処理させることにより装置全体としてのスループットを確保するとともに、パケットの転送順序を保存するための工夫が必要である。そのため、通信装置の内部では種々の負荷分散の手法が利用されている。   When performing heavy processing such as encryption processing on packets received from a broadband transmission path, to ensure the throughput of the entire device by distributing the processing to multiple processing units in units of packets, and to preserve the packet transfer order It is necessary to devise. Therefore, various load distribution methods are used inside the communication apparatus.

従来の通信装置では、装置内部を一つの負荷分散部、それぞれが同一の内部構成を有する複数のパケット処理部、一つの出力制御部で構成し、負荷分散部と複数のパケット処理部、また複数のパケット処理部と出力制御部は並列に接続する形態を有していた。装置外部の広帯域伝送路から受信したパケットを負荷分散部が複数のパケット処理部に順に送信し、出力制御部はパケット処理部で暗号処理等の処理が完了したパケットを順に受信する。複数のパケット処理部に送受信する際のパケットの転送順序は、負荷分散部がパケットの転送順序を示すシーケンスNoをパケット毎に付与し、出力制御部がこのシーケンスNoを基に複数のパケット処理部から順にパケットを受信することで維持していた(例えば特許文献1および特許文献2)。   In the conventional communication apparatus, the inside of the apparatus is composed of one load distribution unit, each of which has a plurality of packet processing units having the same internal configuration, and one output control unit, and the load distribution unit, a plurality of packet processing units, The packet processing unit and the output control unit are connected in parallel. The load distribution unit sequentially transmits packets received from the broadband transmission path outside the apparatus to a plurality of packet processing units, and the output control unit sequentially receives packets that have been subjected to processing such as encryption processing by the packet processing unit. The packet transfer order when transmitting / receiving data to / from a plurality of packet processing units is such that the load distribution unit assigns a sequence No indicating the packet transfer order for each packet, and the output control unit uses the sequence No to generate a plurality of packet processing units. It was maintained by receiving packets in order (for example, Patent Document 1 and Patent Document 2).

特表2005-522924号公報 第25頁、図6JP-T 2005-522924, page 25, Fig. 6 特表2005-507614号公報 第22頁、図1Special Table 2005-507614, page 22, page 1

従来は負荷分散部および出力制御部がいずれも複数のパケット処理部に対して直接パケットの送受信を行う集中制御方式で、パケット処理部の並列度をNとすると、複数のパケット処理部とはそれぞれ1対Nの接続形態をとる。このような形態をプリント配線基板等のハードウェアに実装する場合、基板の配線リソースを多大に消費してしまう。またこれに伴い電気設計も複雑になり高速伝送が困難になる。加えて、性能向上や論理規模縮小等の理由でパケット処理部の並列度を変更する場合、負荷分散部や出力制御部に対しても変更が発生してしまうという問題点があった。   Conventionally, the load distribution unit and the output control unit are both a centralized control method in which packets are directly transmitted / received to / from a plurality of packet processing units. When the parallelism of the packet processing units is N, each of the plurality of packet processing units is A one-to-N connection configuration is used. When such a form is mounted on hardware such as a printed wiring board, wiring resources on the board are consumed greatly. This also complicates the electrical design and makes high-speed transmission difficult. In addition, when the parallelism of the packet processing unit is changed for reasons such as performance improvement or logical scale reduction, there is a problem that the load distribution unit and the output control unit are also changed.

この発明は上記のような問題点を解決するためになされたもので、装置内部を一つのヘッダ生成部、それぞれが同一の内部構成を有する複数の転送制御部とパケット処理部、一つのヘッダ削除部で構成し、ヘッダ生成部、転送制御部とパケット処理部の複数の組、ヘッダ削除部を順に直列に並べてそれぞれを1対1に接続する形態を有し、パケットの転送順序を維持する機構を有することを特徴とする。このようにすることでプリント配線基板等のハードウェアに実装する際に配線リソースを抑制するとともに容易に高速伝送が可能な回路を構成すること、および転送制御部とパケット処理部の並列度を変更する場合でもヘッダ生成部やヘッダ削除部に対しては変更を及ぼさない回路を構成することを目的とする。   The present invention has been made to solve the above-described problems. The apparatus has one header generation unit, a plurality of transfer control units and packet processing units each having the same internal configuration, and one header deletion. A mechanism for maintaining the packet transfer order, comprising a plurality of sets of header generation units, transfer control units and packet processing units, and header deletion units arranged in series in order to connect them one to one It is characterized by having. In this way, when mounting on hardware such as a printed circuit board, wiring resources are reduced and a circuit that can easily perform high-speed transmission is configured, and the parallelism between the transfer control unit and the packet processing unit is changed. The purpose of the present invention is to configure a circuit that does not change the header generation unit and the header deletion unit even when the header generation unit is used.

この発明に係る通信装置は、
転送制御部とパケット処理部が接続された組を複数組有し、この組を構成する転送制御部が順次直列に接続され、最前段の転送制御部の前段にヘッダ追加部が、最後段の転送制御部の後段にヘッダ削除部が直列に接続され
ヘッダ追加部は、外部からの受信パケットにパケット到着順序を示すシーケンスNoとパケットへの処理が実施済か否かを示す処理フラグをパケットの先頭部分に追加して、最前段の転送制御部に送信し、
転送制御部は、入力されたパケットの処理フラグと、自身に接続されたパケット処理部の稼働状態とから自身に接続されたパケット処理部か、転送制御部又はヘッダ削除部の次段処理手段かに入力パケットを振り分け、次段処理手段への送信は、処理済入力パケットの場合は、もとのパケットの受信順序に従って次段の処理手段に転送し、未処理入力パケットの場合は、受信した処理済入力パケットの転送状態には依存せずに転送し、
ヘッダ削除部は、最後段の転送制御部からのパケットの先頭部分に追加されたシーケンスNoおよび処理フラグを削除して外部に送信する構成にされる。
The communication device according to the present invention is:
There are a plurality of sets in which the transfer control unit and the packet processing unit are connected, and the transfer control units constituting this set are sequentially connected in series, and the header addition unit is connected to the last stage of the transfer control unit, and the header addition unit is connected to the last stage. A header deletion unit is connected in series after the transfer control unit, and the header addition unit displays a sequence number indicating the packet arrival order in the received packet from the outside and a processing flag indicating whether or not the processing on the packet has been performed. Add it to the beginning and send it to the transfer controller at the front,
Whether the transfer control unit is a packet processing unit connected to itself from the processing flag of the input packet and the operating state of the packet processing unit connected to itself, or the next processing means of the transfer control unit or the header deletion unit. In the case of a processed input packet, it is forwarded to the next-stage processing means according to the receiving order of the original packet, and received in the case of an unprocessed input packet. Transfer without depending on the transfer status of the processed input packet,
The header deletion unit is configured to delete the sequence number and the processing flag added to the head part of the packet from the transfer control unit at the last stage and transmit the same to the outside.

この発明によれば、ヘッダ生成部、転送制御とパケット処理部の複数の組、ヘッダ削除部を順に直列に並べてそれぞれを1対1に接続することで、パケットの転送順序を維持しつつ、プリント配線基板等のハードウェアに実装する際に配線リソースを抑制するとともに容易に高速伝送が可能な回路を構成できる。さらに転送制御部とパケット処理部の並列度を変更する場合でもヘッダ生成部やヘッダ削除部に対しては変更を及ぼさない回路が構成でき、システムの性能要件の変更に対しても柔軟に対応することができる。   According to the present invention, a plurality of sets of header generation unit, transfer control and packet processing unit, and header deletion unit are arranged in series in order and connected one to one, thereby maintaining the packet transfer order and printing. When mounted on hardware such as a wiring board, wiring resources can be suppressed and a circuit capable of easily performing high-speed transmission can be configured. In addition, even when the parallelism of the transfer control unit and the packet processing unit is changed, a circuit that does not change the header generation unit and header deletion unit can be configured, and it can flexibly respond to changes in system performance requirements. be able to.

実施の形態1.
図1はこの発明の実施の形態1による通信装置を示す構成図である。101は、外部から受信したパケットにパケットの到着順序を示すシーケンスNoと暗号あるいは認証等のパケットへの処理を実施済か否かを示すフラグ(処理フラグ)をパケットの先頭部分に追加するヘッダ追加部、102は、受信した未処理のパケットをパケット処理部103に転送してパケットへの処理を実施するか、受信した処理済のパケットもしくは受信した未処理のパケットを後段の転送制御部もしくはヘッダ削除部104に転送するかを判断する転送制御部、103はパケットに暗号あるいは認証等の所定の処理を行うパケット処理部、104はヘッダ追加部101にてパケットの先頭部分に追加されたシーケンスNoおよび処理フラグを削除して外部に送信するヘッダ削除部である。
Embodiment 1 FIG.
1 is a block diagram showing a communication apparatus according to Embodiment 1 of the present invention. 101 is a header addition for adding a sequence number indicating the arrival order of packets to a packet received from the outside and a flag (processing flag) indicating whether or not the packet processing such as encryption or authentication has been performed to the head part of the packet The unit 102 transfers the received unprocessed packet to the packet processing unit 103 and performs processing on the packet, or receives the processed packet or the received unprocessed packet in the subsequent transfer control unit or header. A transfer control unit for determining whether to transfer to the deletion unit 104; 103, a packet processing unit that performs predetermined processing such as encryption or authentication on the packet; and 104, a sequence number added to the beginning of the packet by the header addition unit 101 And a header deletion unit that deletes the processing flag and transmits it to the outside.

なお図1において、転送制御部102とパケット処理部103は接続されて組をなし、この組が複数のN個並列接続されている。また、N個のパケット処理部103はいずれも受信したパケットに対する処理の内容として同一の機能を提供することを想定している。従って、装置が受信した特定のパケットに対して所定の処理を実行して再び送信する間、そのパケットを受信して所定の処理を実行するパケット処理部は単一である。特定のパケットが複数の異なるパケット処理部に転送されて各々で処理されることはない。   In FIG. 1, the transfer control unit 102 and the packet processing unit 103 are connected to form a set, and a plurality of N sets are connected in parallel. Further, it is assumed that all N packet processing units 103 provide the same function as the contents of processing for received packets. Therefore, there is a single packet processing unit that receives a packet and executes the predetermined process while the apparatus performs the predetermined process on the received specific packet and transmits it again. A specific packet is not transferred to a plurality of different packet processing units and processed by each.

図2はこの発明の実施の形態1による転送制御部102を示す構成図である。図において、201は、ヘッダ追加部101より受信したパケットを処理フラグとパケット処理部103の処理状態をもとに、パケット処理部103あるいは処理済中継パケットFIFO221あるいは未処理中継パケットFIFO231に振り分けるとともに、当該パケットのシーケンスNoを複製して、処理済SNFIFO212あるいは処理済中継SNFIFO222あるいは未処理中継SNFIFO232に振り分ける処理状態判定部である。   FIG. 2 is a block diagram showing the transfer control unit 102 according to the first embodiment of the present invention. In the figure, 201 distributes the packet received from the header adding unit 101 to the packet processing unit 103, the processed relay packet FIFO 221 or the unprocessed relay packet FIFO 231 based on the processing flag and the processing state of the packet processing unit 103. It is a processing state determination unit that duplicates the sequence number of the packet and distributes it to the processed SNFIFO 212, the processed relay SNFIFO 222, or the unprocessed relay SNFIFO 232.

211は、パケット処理部103が所定の処理を実施したパケットを格納するFIFO(First−In−First−Out)構造を有する処理済パケットFIFO、212は、処理済パケットFIFO211に格納されるパケットのシーケンスNoを格納するFIFO構造を有する処理済SNFIFO、213は、処理済SNFIFO212および処理済SNフラグ215の状態をもとに処理済SNレジスタ214を更新する処理済SNレジスタ更新部、214は、処理済パケットFIFO211に格納され、かつ最も先頭に位置するパケットのシーケンスNoを示す処理済SNレジスタ、215は、処理済SNレジスタ214の示す値の有効あるいは無効を示す処理済SNフラグである。   211 denotes a processed packet FIFO having a FIFO (First-In-First-Out) structure for storing a packet that has been subjected to predetermined processing by the packet processing unit 103, and 212 denotes a sequence of packets stored in the processed packet FIFO 211. A processed SN FIFO 213 having a FIFO structure for storing No, a processed SN register update unit 214 for updating the processed SN register 214 based on the states of the processed SN FIFO 212 and the processed SN flag 215, A processed SN register 215 that indicates the sequence number of the packet that is stored in the packet FIFO 211 and is located at the top, and 215 is a processed SN flag that indicates whether the value indicated by the processed SN register 214 is valid or invalid.

221は、前段のパケット処理部103により所定の処理が既に実施されたパケットを格納するFIFO構造を有する処理済中継パケットFIFO、222は、処理済中継パケットFIFO221に格納されるパケットのシーケンスNoを格納するFIFO構造を有する処理済中継SNFIFO、223は、処理済中継SNFIFO222および処理済中継SNフラグ225の状態をもとに処理済中継SNレジスタ224を更新する処理済中継SNレジスタ更新部、224は、処理済中継パケットFIFO221に格納され、かつ最も先頭に位置するパケットのシーケンスNoを示す処理済中継SNレジスタ、225は、処理済中継SNレジスタ224の示す値の有効あるいは無効を示す処理済中継SNフラグである。   Reference numeral 221 denotes a processed relay packet FIFO having a FIFO structure for storing a packet for which predetermined processing has already been performed by the packet processing unit 103 in the preceding stage, and 222 denotes a sequence number of a packet stored in the processed relay packet FIFO 221. The processed relay SN FIFO 223 having the FIFO structure to be processed is a processed relay SN register update unit 224 that updates the processed relay SN register 224 based on the status of the processed relay SN FIFO 222 and the processed relay SN flag 225. The processed relay SN register 225 that indicates the sequence number of the packet that is stored in the processed relay packet FIFO 221 and is located at the head, 225 is a processed relay SN flag that indicates whether the value indicated by the processed relay SN register 224 is valid or invalid It is.

231は、前段および当該のパケット処理部103で所定の処理を実施せず、さらに後段のパケット処理部103で処理を実施すべきパケットを格納するFIFO構造を有する未処理中継パケットFIFOである。
232は、未処理中継パケットFIFO231に格納されるパケットのシーケンスNoを格納するFIFO構造を有する未処理中継SNFIFO、233は、未処理中継SNFIFO232および未処理中継SNフラグ235の状態をもとに未処理中継SNレジスタ234を更新する未処理中継SNレジスタ更新部、234は、未処理済中継パケットFIFO231を経由して転送されたパケットのシーケンスNoの履歴を示す未処理中継SNレジスタ、235は、未処理中継SNレジスタ234の示す値の有効あるいは無効を示す未処理中継SNフラグである。
Reference numeral 231 denotes an unprocessed relay packet FIFO having a FIFO structure in which a packet to be processed by the subsequent packet processing unit 103 is stored without performing predetermined processing in the previous stage and the packet processing unit 103 concerned.
232 is an unprocessed relay SNFIFO having a FIFO structure for storing a sequence number of a packet stored in the unprocessed relay packet FIFO 231, 233 is not processed based on the status of the unprocessed relay SNFIFO 232 and the unprocessed relay SN flag 235 An unprocessed relay SN register update unit 234 that updates the relay SN register 234, an unprocessed relay SN register 235 that indicates a history of sequence numbers of packets transferred via the unprocessed relay packet FIFO 231, This is an unprocessed relay SN flag indicating whether the value indicated by the relay SN register 234 is valid or invalid.

202は、各SNレジスタ214、224、234、および各SNフラグ215、225、235の状態をもとに、処理済パケットFIFO211あるいは処理済中継パケットFIFO221のいずれかを選択してパケットを読み出し後段の後段送信順序制御部204に送信する前段送信順序制御部である。
203は、当該の転送制御部102が後段の転送制御部102もしくはヘッダ削除部104に送信した、最新の処理済パケットもしくは最新の処理済中継パケットのシーケンスNoを示す中継カウンタ、204は、前段送信順序制御部202から受信するパケットあるいは未処理中継パケットFIFO231に格納されたパケットのいずれかを選択して後段の転送制御部102もしくはヘッダ削除部104に送信する後段送信順序制御部である。
202 selects a processed packet FIFO 211 or a processed relay packet FIFO 221 based on the state of each SN register 214, 224, 234, and each SN flag 215, 225, 235, reads the packet, and It is a preceding transmission order control unit that transmits to the subsequent transmission order control unit 204.
203 is a relay counter indicating the sequence number of the latest processed packet or the latest processed relay packet transmitted by the transfer control unit 102 to the subsequent transfer control unit 102 or the header deletion unit 104, and 204 is a preceding transmission. This is a subsequent transmission order control unit that selects either the packet received from the order control unit 202 or the packet stored in the unprocessed relay packet FIFO 231 and transmits it to the subsequent transfer control unit 102 or the header deletion unit 104.

次に本実施の形態における通信装置の動作について説明する。   Next, the operation of the communication apparatus in this embodiment will be described.

ヘッダ追加部101は、パケットを外部から受信するとそのパケットの受信順序を示すシーケンスNoを1から順にヘッダ部分に追加する。同様に当該パケットに対して暗号あるいは認証等のパケットへの処理を実施済か否かを後段の転送制御部102が判断するのに使用する処理フラグを処理未実施の状態にしてヘッダ部分に追加する。シーケンスNoと処理フラグをヘッダに追加後、後段(最前段)の転送制御部102に送信する。   When the header addition unit 101 receives a packet from the outside, the header addition unit 101 sequentially adds a sequence number indicating the reception order of the packet from 1 to the header part. Similarly, a processing flag used by the transfer control unit 102 in the subsequent stage to determine whether or not processing of the packet such as encryption or authentication has been performed on the packet is added to the header portion with the processing unexecuted state. To do. After adding the sequence number and the processing flag to the header, the sequence number and the processing flag are transmitted to the transfer control unit 102 at the subsequent stage (frontmost stage).

次に転送制御部102は、受信したパケットの処理フラグと自己の状態に応じて以下の段落番号[0021]〜[0032]に記載の制御を行う。   Next, the transfer control unit 102 performs the control described in the following paragraph numbers [0021] to [0032] according to the processing flag of the received packet and its own state.

処理状態判定部201は、第一のケースとして当該パケットの処理フラグが未実施を示していて、かつ接続されたパケット処理部103に処理中のパケットが存在せず新たにパケットを受信して処理が実施できる場合、当該パケットを接続されたパケット処理部103に送信する。これと並行して当該パケットからシーケンスNoを複製して処理済SNFIFO212に送信する。   In the first case, the processing state determination unit 201 indicates that the processing flag of the packet has not been executed, and there is no packet being processed in the connected packet processing unit 103, and a new packet is received and processed. Can be implemented, the packet is transmitted to the connected packet processing unit 103. In parallel with this, the sequence number is duplicated from the packet and transmitted to the processed SNFIFO 212.

処理状態判定部201は、第二のケースとして当該パケットの処理フラグが実施済を示している場合、当該パケットを処理済中継パケットFIFO221に送信する。これと並行して当該パケットからシーケンスNoを複製して処理済中継SNFIFO222に送信する。   As a second case, the processing state determination unit 201 transmits the packet to the processed relay packet FIFO 221 when the processing flag of the packet indicates execution. In parallel with this, the sequence No is copied from the packet and transmitted to the processed relay SNFIFO 222.

処理状態判定部201は、第三のケースとして当該パケットの処理フラグが未実施を示していて、かつパケット処理部103に処理中のパケットが存在し新たなパケットを受信して処理が実施できない場合、当該パケットを未処理中継パケットFIFO231に送信する。これと並行して当該パケットからシーケンスNoを複製して未処理中継SNFIFO232に送信する。   In the third case, the processing status determination unit 201 indicates that the processing flag of the packet indicates that the packet is not yet executed, and there is a packet being processed in the packet processing unit 103, and a new packet is received and processing cannot be performed. The packet is transmitted to the unprocessed relay packet FIFO 231. In parallel with this, the sequence No is duplicated from the packet and transmitted to the unprocessed relay SNFIFO 232.

パケット処理部103は、前記段落番号[0021]の処理において新たにパケットを受信すると、暗号あるいは認証等のパケットに対する所定の処理を実行する。処理が完了したパケットは処理フラグを実施済に上書きして処理済パケットFIFO211に送信する。   When the packet processing unit 103 newly receives a packet in the process of the paragraph number [0021], the packet processing unit 103 executes a predetermined process for the packet such as encryption or authentication. A packet for which processing has been completed is overwritten with the processing flag to “completed” and transmitted to the processed packet FIFO 211.

処理済SNレジスタ更新部213は、対応する処理済SNFIFO212が空でなく、かつ対応処理済SNフラグ215が無効の場合、処理済SNFIFO212からシーケンスNoを1エントリ読み出して対応する処理済SNレジスタ214にその値を書き込む。次に処理済SNフラグ215を有効に書き換える。処理済SNレジスタ更新部213は、処理済SNFIFO212が空、あるいは処理済SNフラグ215が有効の場合、それらが空でなく、かつ無効になるまで待機する。
以上の処理済SNレジスタ更新部213の動作フローを図5に示す。
When the corresponding processed SNFIFO 212 is not empty and the corresponding processed SN flag 215 is invalid, the processed SN register update unit 213 reads one entry of the sequence number from the processed SNFIFO 212 and stores it in the corresponding processed SN register 214. Write the value. Next, the processed SN flag 215 is effectively rewritten. If the processed SN FIFO 212 is empty or the processed SN flag 215 is valid, the processed SN register update unit 213 waits until they are not empty and become invalid.
FIG. 5 shows an operation flow of the processed SN register update unit 213 described above.

処理済中継SNレジスタ更新部223は、処理済中継SNFIFO222および処理済中継SNレジスタ224に対して段落番号[0025]に記載の処理と同様の処理を行う。即ち処理済中継SNFIFO222が空でなく、かつ対応処理済中継SNフラグ225が無効の場合、処理済中継SNFIFO222からシーケンスNoを1エントリ読み出して対応する処理済中継SNレジスタ224にその値を書き込む。次に処理済中継SNフラグ225を有効に書き換える。処理済中継SNレジスタ更新部223は、処理済中継SNFIFO222が空、あるいは処理済中継SNフラグ225が有効の場合、それらが空でなく、かつ無効になるまで待機する。   The processed relay SN register updating unit 223 performs the same processing as that described in paragraph [0025] on the processed relay SNFIFO 222 and the processed relay SN register 224. That is, when the processed relay SN FIFO 222 is not empty and the corresponding processed relay SN flag 225 is invalid, one entry of the sequence number is read from the processed relay SN FIFO 222 and the value is written in the corresponding processed relay SN register 224. Next, the processed relay SN flag 225 is effectively rewritten. If the processed relay SN FIFO 222 is empty or the processed relay SN flag 225 is valid, the processed relay SN register update unit 223 waits until they are not empty and become invalid.

同じく未処理中継SNレジスタ更新部233は、未処理中継SNFIFO232および未処理中継SNレジスタ234に対して段落番号[0025]に記載の処理と同様の処理を行う。   Similarly, the unprocessed relay SN register update unit 233 performs the same processing as that described in paragraph [0025] on the unprocessed relay SNFIFO 232 and the unprocessed relay SN register 234.

前段送信順序制御部202は、処理済SNレジスタ214、処理済中継SNレジスタ224、未処理中継SNレジスタ234の中から、対応するSNフラグが有効、かつ対応するSNレジスタ値が中継カウンタ203に1を加えた値であるレジスタを検索する。検索した結果に応じて以下の段落番号[0028]〜[0031]に記載の処理を行う。   The upstream transmission order control unit 202 has the corresponding SN flag valid from the processed SN register 214, processed relay SN register 224, and unprocessed relay SN register 234, and the corresponding SN register value is set to 1 in the relay counter 203. The register which is a value obtained by adding is searched. The processing described in the following paragraph numbers [0028] to [0031] is performed according to the search result.

前段送信順序制御部202は、第一のケースとして該当するレジスタが処理済SNレジスタ214である場合、処理済パケットFIFO211から1パケットを読み出して後段送信順序制御部204に送信する。続いて前段送信順序制御部202は処理済SNフラグ215を無効に書き換える。   When the corresponding register is the processed SN register 214 as the first case, the upstream transmission order control unit 202 reads one packet from the processed packet FIFO 211 and transmits it to the downstream transmission order control unit 204. Subsequently, the upstream transmission order control unit 202 rewrites the processed SN flag 215 to be invalid.

前段送信順序制御部202は、第二のケースとして該当するレジスタが処理済中継SNレジスタ224である場合、処理済中継パケットFIFO221から1パケットを読み出して後段送信順序制御部204に送信する。続いて前段送信順序制御部202は処理済中継SNフラグ225を無効に書き換える。   If the corresponding register is the processed relay SN register 224 as the second case, the upstream transmission order control unit 202 reads one packet from the processed relay packet FIFO 221 and transmits it to the downstream transmission order control unit 204. Subsequently, the upstream transmission order control unit 202 rewrites the processed relay SN flag 225 to be invalid.

前段送信順序制御部202は、第三のケースとして該当するレジスタが未処理中継SNレジスタ234である場合、未処理中継SNフラグ235を無効に書き換える。ここで前段送信順序制御部202は処理済中継パケットFIFO231から1パケットを読み出す制御は行わないことに注意する。   When the corresponding register is the unprocessed relay SN register 234 as the third case, the upstream transmission order control unit 202 rewrites the unprocessed relay SN flag 235 to be invalid. Note that the upstream transmission order control unit 202 does not control to read one packet from the processed relay packet FIFO 231.

前段送信順序制御部202は、第四のケースとして該当するレジスタが存在しない場合、該当するレジスタが見つかるまで検索を継続する。
以上の前段送信順序制御部202による第一のケースから第四のケースにおける各動作フローを図6に示す。
If there is no corresponding register as the fourth case, the upstream transmission order control unit 202 continues the search until the corresponding register is found.
FIG. 6 shows each operation flow from the first case to the fourth case by the preceding transmission order control unit 202 described above.

後段送信順序制御部204は、前段送信順序制御部202から受信したパケットをヘッダ削除部104に転送する。同様に未処理中継パケットFIFO231に格納されたパケットを読み出してヘッダ削除部104に転送する。ある時点で両者のパケットの転送が重なった場合、ラウンドロビンのアルゴリズム等で適当に分散して交互に読み出して送信する。   The subsequent transmission order control unit 204 transfers the packet received from the previous transmission order control unit 202 to the header deletion unit 104. Similarly, the packet stored in the unprocessed relay packet FIFO 231 is read and transferred to the header deletion unit 104. If transfer of both packets overlaps at a certain point in time, the packets are appropriately distributed and read alternately and transmitted by a round robin algorithm or the like.

最後に、ヘッダ削除部104はシーケンスNoと処理フラグをヘッダ部分から削除してパケットを外部に送信する。   Finally, the header deletion unit 104 deletes the sequence number and the processing flag from the header part, and transmits the packet to the outside.

図3はこの発明の実施の形態1における通信装置の動作例1を示したタイミングチャートである。   FIG. 3 is a timing chart showing an operation example 1 of the communication apparatus according to Embodiment 1 of the present invention.

TIME1において、転送制御部#1は、パケット処理部#1が新たにパケットを処理可能であることを判別しパケット#1をパケット処理部#1に送信する。パケット処理部#1はパケット#1に対して処理の処理を開始する。   In TIME1, the transfer control unit # 1 determines that the packet processing unit # 1 can newly process a packet, and transmits the packet # 1 to the packet processing unit # 1. The packet processing unit # 1 starts processing the packet # 1.

TIME2において、転送制御部#1は、パケット処理部#1がパケット#1を処理中であることを判別し、パケット#2を未処理のまま転送制御部#2に送信する。転送制御部#2は、パケット処理部#2が新たにパケットを処理可能であることを判別し、パケット#2をパケット処理部#2に送信する。パケット処理部#2はパケット#2に対して処理の処理を開始する。   In TIME2, the transfer control unit # 1 determines that the packet processing unit # 1 is processing the packet # 1, and transmits the packet # 2 to the transfer control unit # 2 without processing. The transfer control unit # 2 determines that the packet processing unit # 2 can newly process a packet, and transmits the packet # 2 to the packet processing unit # 2. The packet processing unit # 2 starts processing the packet # 2.

TIME3において、パケット処理部#1はパケット#1に対しての処理を完了しパケット#1を転送制御部#1に送信する。転送制御部#1は自身の中継カウンタ203から次に転送すべき処理済パケットもしくは処理済中継パケットがパケット#1であることを判別し、パケット#1を転送制御部#2に送信する。転送制御部#1はパケット#1を転送後に自身の中継カウンタ203に1を加える。この時点では、中継カウンタ203は次に転送すべき処理済パケットもしくは処理済中継パケットがパケット#2であることを示す。更に転送制御部#1は、自身の未処理中継SNレジスタ234および未処理中継SNフラグ235からパケット#2が既に後段の転送制御部に未処理のまま転送されてしまっていることを判別し、中継カウンタ203に更に1を加える。これにより、転送制御部#1の中継カウンタはパケット#3を示すことになる。   In TIME3, the packet processing unit # 1 completes the processing for the packet # 1, and transmits the packet # 1 to the transfer control unit # 1. The transfer control unit # 1 determines from the relay counter 203 of itself that the processed packet or the processed relay packet to be transferred next is the packet # 1, and transmits the packet # 1 to the transfer control unit # 2. The transfer control unit # 1 adds 1 to its relay counter 203 after transferring the packet # 1. At this point, the relay counter 203 indicates that the processed packet or processed relay packet to be transferred next is packet # 2. Further, the transfer control unit # 1 determines that the packet # 2 has already been transferred unprocessed to the subsequent transfer control unit from its own unprocessed relay SN register 234 and unprocessed relay SN flag 235, 1 is further added to the relay counter 203. As a result, the relay counter of the transfer control unit # 1 indicates the packet # 3.

TIME4において、転送制御部#2および転送制御部#3は、パケット#1が処理済であること、および自身の中継カウンタから次に転送すべき処理済パケットもしくは処理済中継パケットがパケット#1であることを判別しパケット#1を順に送信する。このとき転送制御部#2および転送制御部#3はパケット#1が処理済であることからパケット処理部#2およびパケット処理部#3には送信せずに後段の転送制御部もしくはヘッダ削除部に転送するのみである。   In TIME4, the transfer control unit # 2 and the transfer control unit # 3 determine that the packet # 1 has been processed, and that the processed packet or the processed relay packet to be transferred next from its relay counter is the packet # 1. It is determined that there is a packet and packet # 1 is transmitted in order. At this time, since the transfer control unit # 2 and the transfer control unit # 3 have already processed the packet # 1, the transfer control unit or the header deletion unit in the subsequent stage is not transmitted to the packet processing unit # 2 and the packet processing unit # 3. Just forward to.

図4はこの発明の実施の形態1における通信装置の動作例2を示したタイミングチャートである。   FIG. 4 is a timing chart showing an operation example 2 of the communication apparatus according to Embodiment 1 of the present invention.

TIME11において、転送制御部#1は、パケット処理部#1が新たにパケットを処理可能であることを判別しパケット#1をパケット処理部#1に送信する。パケット処理部#1はパケット#1に対しての処理を開始する。 ここでパケット#1は、後から順に転送するパケット#2、パケット#3、パケット#4に対してパケット長が長く、パケット処理部でのパケットに対する処理が他のパケットよりも時間を長く要することを想定する。   In the TIME 11, the transfer control unit # 1 determines that the packet processing unit # 1 can newly process a packet, and transmits the packet # 1 to the packet processing unit # 1. The packet processing unit # 1 starts processing for the packet # 1. Here, the packet # 1 has a longer packet length than the packet # 2, the packet # 3, and the packet # 4 that are sequentially transferred later, and the packet processing in the packet processing unit requires a longer time than other packets. Is assumed.

TIME12において、転送制御部#1は、パケット処理部#1がパケット#1を処理中であることを判別し、パケット#3を未処理のまま転送制御部#2に送信する。転送制御部#2も同様にパケット#3を未処理のまま転送制御部#3に送信する。転送制御部#3は、パケット処理部#3が新たにパケットを処理可能であることを判別し、パケット#3をパケット処理部#3に送信する。パケット処理部#3はパケット#3に対して処理の処理を開始する。   In the TIME 12, the transfer control unit # 1 determines that the packet processing unit # 1 is processing the packet # 1, and transmits the packet # 3 to the transfer control unit # 2 without processing. Similarly, the transfer control unit # 2 transmits the packet # 3 to the transfer control unit # 3 without processing. The transfer control unit # 3 determines that the packet processing unit # 3 can newly process a packet, and transmits the packet # 3 to the packet processing unit # 3. The packet processing unit # 3 starts processing the packet # 3.

TIME13において、パケット処理部#2はパケット#2に対しての処理を完了しパケット#2を転送制御部#2に送信する。転送制御部#2は自身の中継カウンタから次に転送すべき処理済パケットもしくは処理済中継パケットがパケット#1であることを判別しパケット#2を転送せずに自身の処理済パケットFIFO211に保持する。   In the TIME 13, the packet processing unit # 2 completes the processing for the packet # 2, and transmits the packet # 2 to the transfer control unit # 2. The transfer control unit # 2 determines from the relay counter of itself that the processed packet or the processed relay packet to be transferred next is the packet # 1 and holds the packet # 2 in the processed packet FIFO 211 without transferring the packet # 2. To do.

TIME14において、パケット処理部#1はパケット#1に対しての処理を完了し転送制御部#1にパケット#1を送信する。転送制御部#1は自身の中継カウンタ203から次に転送すべき処理済パケットもしくは処理済中継パケットがパケット#1であることを判別しパケット#1を転送制御部#2に送信する。   In the TIME 14, the packet processing unit # 1 completes the processing for the packet # 1, and transmits the packet # 1 to the transfer control unit # 1. The transfer control unit # 1 determines from the relay counter 203 that the processed packet or the processed relay packet to be transferred next is the packet # 1, and transmits the packet # 1 to the transfer control unit # 2.

TIME15において、転送制御部#2はパケット#1が処理済であること、および自身の中継カウンタ203から次に転送すべき処理済パケットもしくは処理済中継パケットがパケット#1であることを判別しパケット#1を転送制御部#3に送信する。ここで転送制御部#2はパケット#1送信後に自身の中継カウンタ203に1を加える。   In TIME 15, the transfer control unit # 2 determines that the packet # 1 has been processed, and determines from the relay counter 203 that the processed packet or the processed relay packet to be transferred next is the packet # 1. # 1 is transmitted to the transfer control unit # 3. Here, the transfer control unit # 2 adds 1 to its own relay counter 203 after transmitting the packet # 1.

TIME16において、転送制御部#2は自身の中継カウンタ203から次に転送すべき処理済パケットもしくは処理済中継パケットがパケット#2であることを判別し自身の処理済パケットFIFO211に保持していたパケット#2を読み出し転送制御部#3に送信する。   In TIME 16, the transfer control unit # 2 determines from the relay counter 203 that the processed packet or the processed relay packet to be transferred next is the packet # 2, and the packet held in the processed packet FIFO 211. # 2 is read and transmitted to the transfer control unit # 3.

この発明は、パケットに暗号処理や認証処理等の処理を複数の処理部にパケット単位で分散処理させる情報通信システムに適用され、パケットの転送順序を維持しつつ配線リソースを抑制し、高速伝送が可能な回路を構成できる。   The present invention is applied to an information communication system in which processing such as encryption processing and authentication processing on a packet is distributed to a plurality of processing units in units of packets, suppresses wiring resources while maintaining the packet transfer order, and enables high-speed transmission. Possible circuits can be constructed.

この発明の実施の形態1による通信装置を示す構成図である。It is a block diagram which shows the communication apparatus by Embodiment 1 of this invention. この発明の実施の形態1による転送制御部を示す構成図である。It is a block diagram which shows the transfer control part by Embodiment 1 of this invention. この発明の実施の形態1における通信装置の動作例1を示したタイミングチャートである。It is the timing chart which showed the operation example 1 of the communication apparatus in Embodiment 1 of this invention. この発明の実施の形態1における通信装置の動作例2を示したタイミングチャートである。It is the timing chart which showed the operation example 2 of the communication apparatus in Embodiment 1 of this invention. 処理済SNレジスタ更新部の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the processed SN register update part. 前段送信順序制御部の動作を示すフローチャートである。It is a flowchart which shows operation | movement of a front | former stage transmission order control part.

符号の説明Explanation of symbols

101;ヘッダ追加部、102;転送制御部、103;パケット処理部、104;ヘッダ削除部、201;処理状態判定部、202;前段送信順序制御部、203;中継カウンタ、204;後段送信順序制御部、211;処理済パケットFIFO、212;処理済SNFIFO、213;処理済SNレジスタ更新部、214;処理済SNレジスタ、215;処理済SNフラグ、221;処理済中継パケットFIFO、222;処理済中継SNFIFO、223;処理済中継SNレジスタ更新部、224;処理済中継SNレジスタ、225;処理済中継SNフラグ、231;未処理中継パケットFIFO、232;未処理中継SNFIFO、233;未処理中継SNレジスタ更新部、234;未処理中継SNレジスタ、235;未処理中継SNフラグ。   101; Header addition unit, 102; Transfer control unit, 103; Packet processing unit, 104; Header deletion unit, 201; Processing state determination unit, 202; Pre-transmission order control unit, 203; Relay counter, 204; , 211; processed packet FIFO, 212; processed SN FIFO, 213; processed SN register update unit, 214; processed SN register, 215; processed SN flag, 221; processed relay packet FIFO, 222; Relay SNFIFO, 223; processed relay SN register update unit, 224; processed relay SN register, 225; processed relay SN flag, 231; unprocessed relay packet FIFO, 232; unprocessed relay SNFIFO, 233; unprocessed relay SN Register update unit, 234; unprocessed relay SN register, 235; unprocessed relay SN Lag.

Claims (1)

接続された転送制御部とパケット処理部を一組とする複数の組と、外部からの受信パケットにパケット到着順序を示すシーケンスNoとパケットへの処理が実施済か否かを示す処理フラグをパケットの先頭部分に追加するヘッダ追加部と、入力されたパケットの先頭部分に追加されたシーケンスNoと処理フラグを削除するヘッダ削除部の各処理手段を備え、複数組の各組を構成する転送制御部が順次直列に接続され、最前段の転送制御部の前段にヘッダ追加部が、最後段の転送制御部の後段にヘッダ削除部が直列に接続され、
ヘッダ追加部は、受信パケットにシーケンスNoと処理フラグを追加して最前段の転送制御部に送信し、
転送制御部は、入力されたパケットの処理フラグと、自身に接続されたパケット処理部の稼働状態とから自身に接続されたパケット処理部か、次段処理手段かに入力パケットを振り分け、次段処理手段への送信は、処理済入力パケットの場合は、もとのパケットの受信順序に従い、未処理入力パケットの場合は、受信した処理済入力パケットの転送状態に依存せずに転送し、
ヘッダ削除部は、最後段の転送制御部からのパケットからシーケンスNoと処理フラグを削除して外部に送信する構成にされたことを特徴とする通信装置。
A plurality of sets including a connected transfer control unit and a packet processing unit, a sequence number indicating the packet arrival order and a processing flag indicating whether or not the processing on the packet has been performed on the packet received from the outside packet Transfer control comprising each processing means of a header addition unit to be added to the head portion of the packet and a header deletion unit to delete the sequence number and processing flag added to the head portion of the input packet. Units are sequentially connected in series, a header addition unit is connected in front of the front transfer control unit, a header deletion unit is connected in series after the last transfer control unit,
The header addition unit adds the sequence number and processing flag to the received packet and transmits it to the transfer control unit at the front stage,
The transfer control unit distributes the input packet from the processing flag of the input packet and the operation state of the packet processing unit connected to itself to the packet processing unit connected to itself or to the next-stage processing means. In the case of a processed input packet, the transmission to the processing means follows the original packet reception order, and in the case of an unprocessed input packet, transfers it without depending on the transfer state of the received processed input packet,
The header deletion unit is configured to delete the sequence number and the processing flag from the packet from the transfer control unit at the last stage and transmit the packet to the outside.
JP2006226367A 2006-08-23 2006-08-23 Communication device Active JP4680148B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006226367A JP4680148B2 (en) 2006-08-23 2006-08-23 Communication device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006226367A JP4680148B2 (en) 2006-08-23 2006-08-23 Communication device

Publications (2)

Publication Number Publication Date
JP2008053904A JP2008053904A (en) 2008-03-06
JP4680148B2 true JP4680148B2 (en) 2011-05-11

Family

ID=39237533

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006226367A Active JP4680148B2 (en) 2006-08-23 2006-08-23 Communication device

Country Status (1)

Country Link
JP (1) JP4680148B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6144559B2 (en) * 2013-07-16 2017-06-07 日本放送協会 Parallel distributed management device, program, and parallel distributed processing system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002176440A (en) * 2000-12-08 2002-06-21 Fujitsu Ltd Packet processing unit
JP2003008620A (en) * 2001-06-27 2003-01-10 Nec Corp Packet processing method, equipment and program

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002176440A (en) * 2000-12-08 2002-06-21 Fujitsu Ltd Packet processing unit
JP2003008620A (en) * 2001-06-27 2003-01-10 Nec Corp Packet processing method, equipment and program

Also Published As

Publication number Publication date
JP2008053904A (en) 2008-03-06

Similar Documents

Publication Publication Date Title
USRE43825E1 (en) System and method for data forwarding in a programmable multiple network processor environment
US7546399B2 (en) Store and forward device utilizing cache to store status information for active queues
US6978459B1 (en) System and method for processing overlapping tasks in a programmable network processor environment
US8848703B2 (en) On-chip router and multi-core system using the same
EP2822255B1 (en) System and method of a hardware shadow for a network element
JP5787061B2 (en) Switch system, line card, FDB information learning method and program
US8799536B2 (en) Data processing apparatus, data processing method and computer-readable medium
US9473405B2 (en) Concurrent hashes and sub-hashes on data streams
JP4415023B2 (en) Multicast traffic forwarding apparatus and control method in system supporting PPP multilink
US10038571B2 (en) Method for reading and writing forwarding information base, and network processor
JP4405277B2 (en) Disk controller
US10178018B2 (en) Transmission and reception devices
US8589593B2 (en) Method and apparatus for processing protocol messages for multiple protocol instances
US7333489B1 (en) System and method for storing frame header data
JP4680148B2 (en) Communication device
CN106372013B (en) Long-distance inner access method, device and system
CN109845199B (en) Merging read requests in a network device architecture
JP5347772B2 (en) Transfer rate setting method, data transfer apparatus, and information processing system
JP2009188623A (en) Network repeater and network repeating method
US7894341B2 (en) Switch protocol for network communications
US11888691B1 (en) Foldable ingress buffer for network apparatuses
JP2002164924A (en) Packet processing unit
JP5359357B2 (en) Packet processing apparatus, packet processing order control method and packet processing order control program used in the processing apparatus
US20230176932A1 (en) Processor, information processing apparatus, and information processing method
JPH11143847A (en) Data processor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090501

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110113

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: 20110201

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110202

R150 Certificate of patent or registration of utility model

Ref document number: 4680148

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140210

Year of fee payment: 3

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

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