JP2003008620A - Packet processing method, equipment and program - Google Patents

Packet processing method, equipment and program

Info

Publication number
JP2003008620A
JP2003008620A JP2001194543A JP2001194543A JP2003008620A JP 2003008620 A JP2003008620 A JP 2003008620A JP 2001194543 A JP2001194543 A JP 2001194543A JP 2001194543 A JP2001194543 A JP 2001194543A JP 2003008620 A JP2003008620 A JP 2003008620A
Authority
JP
Japan
Prior art keywords
packet
processing
packets
processing block
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2001194543A
Other languages
Japanese (ja)
Other versions
JP3582591B2 (en
Inventor
Yoshiaki Shioda
佳明 塩田
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2001194543A priority Critical patent/JP3582591B2/en
Publication of JP2003008620A publication Critical patent/JP2003008620A/en
Application granted granted Critical
Publication of JP3582591B2 publication Critical patent/JP3582591B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a packet processing method, equipment, and a program preventing abolition of packets without increasing the equipment size. SOLUTION: A packet distribution section 21 decides the processing blocks 22-1 to 22-N to which packets are distributed, gives sequential numbers to each processing block against packets, and transmits the packets to the processing blocks and stores the packet in a buffer at the same time. The processing blocks 22-1 to 22-N distributed with the packets process the packets. The packet distribution section 21 checks whether the sequential numbers of the packets returned from the processing blocks 22-1 to 22-N are continuous or not. If the numbers are not continuous, the packet distribution section 21 removes a processing block to which a packet of the lost number is assigned from distribution targets afterwards, extracts the packets of the lost number from the buffer, and distributes again to another processing block.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、パケット通信に用
いられる通信装置に関し、特に、受信したパケットを複
数のパケット処理ブロックで分散処理するパケット処理
装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a communication device used for packet communication, and more particularly to a packet processing device for distributed processing of received packets by a plurality of packet processing blocks.

【0002】[0002]

【従来の技術】パケット交換機やルータなど、受信した
パケットを他の装置に転送するパケット中継装置ではソ
フトウェアによる複雑な処理が必要とされる場合があ
る。複雑な処理として、例えばパケットデータを暗号化
する処理や、パケットの宛先を検索する処理などがあ
る。このような複雑な処理を行う場合、パケット中継装
置には高い処理能力が要求される。
2. Description of the Related Art A packet relay device such as a packet switch or a router that transfers a received packet to another device may require complicated processing by software. Examples of complicated processes include a process of encrypting packet data and a process of searching a packet destination. When performing such complicated processing, the packet relay device is required to have high processing capability.

【0003】従来のパケット中継装置の一例として、複
雑な処理を分散して行う複数のパケット処理ブロック
と、パケット処理ブロックにパケットを振り分けるパケ
ット振り分け部を有する、分散処理方式のパケット中継
装置がある。これは、複数のパケット処理ブロックでパ
ケットを分散処理することにより、全体として高い処理
能力を発揮するものである。しかし、複数のパケット処
理ブロックを設ければ、それだけ故障が発生する可能性
のある個所が増えるのでパケット中継装置の故障の確率
も高くなる。通常、パケット中継装置には高い信頼性が
要求される。パケット中継装置に故障が発生すれば、そ
れを復旧させるまで一部または全部のパケットの中継が
停止する可能性がある。
As an example of a conventional packet relay apparatus, there is a packet relay apparatus of a distributed processing system having a plurality of packet processing blocks for performing complicated processing in a distributed manner and a packet distribution unit for distributing packets to the packet processing blocks. This shows high processing performance as a whole by performing distributed processing of packets in a plurality of packet processing blocks. However, if a plurality of packet processing blocks are provided, the number of places where a failure may occur increases, and the probability of failure of the packet relay device also increases. Usually, a packet relay device is required to have high reliability. If a failure occurs in the packet relay device, the relay of some or all of the packets may stop until the failure is restored.

【0004】そのため、分散処理方式のパケット中継装
置では、従来から一般的にパケットの中継の停止を防止
するために冗長構成が適用されていた。
Therefore, in the packet relay apparatus of the distributed processing system, conventionally, a redundant configuration has been generally applied in order to prevent suspension of packet relay.

【0005】冗長構成を適用したパケット中継装置の一
例として、複数台の現用系ブロックに対して少なくとも
1台の予備系ブロックを設けたものがある。この場合、
一般的に予備系ブロックの数は現用系ブロックの数より
少ない。このような冗長構成を以下、m:n冗長構成と
称する。
As an example of a packet relay device to which a redundant configuration is applied, there is one in which at least one spare system block is provided for a plurality of active system blocks. in this case,
Generally, the number of spare blocks is smaller than the number of active blocks. Hereinafter, such a redundant configuration will be referred to as an m: n redundant configuration.

【0006】m:n冗長構成を適用したパケット中継装
置では、複数台の現用系ブロックのうちのいずれかが故
障した場合、故障した現用系ブロックに代わって予備系
ブロックが動作する。これによりパケットの中継が継続
される。
In the packet relay device to which the m: n redundancy structure is applied, when any one of the plurality of active system blocks fails, the standby system block operates in place of the failed active system block. As a result, packet relay is continued.

【0007】また、冗長構成を適用したパケット中継装
置の他の例として、1台の現用系ブロックに対して1台
の予備系ブロックを設けたものがある。このような冗長
構成を以下、1:1冗長構成と称する。1:1冗長構成
を適用したパケット中継装置は1台の現用系ブロックに
対して1台の予備系ブロックを有するので、同時に複数
の現用系ブロックが故障してもパケットの中継を継続す
ることができる。
Another example of the packet relay device to which the redundant configuration is applied is one in which one spare block is provided for one working block. Hereinafter, such a redundant configuration will be referred to as a 1: 1 redundant configuration. Since the packet relay device to which the 1: 1 redundancy configuration is applied has one standby block for one active block, it is possible to continue packet relay even if a plurality of active blocks fail at the same time. it can.

【0008】[0008]

【発明が解決しようとする課題】冗長構成を適用したパ
ケット中継装置は、通常時には使用されない予備系ブロ
ックを有しているため、それだけ装置規模が増大する。
Since the packet relay device to which the redundant configuration is applied has the spare block that is not normally used, the size of the device increases accordingly.

【0009】また、m:n冗長構成のパケット中継装置
では、予備系ブロックがどの現用系ブロックに代わるか
予め定まっていない。したがって、現用系ブロックの障
害が検出され、予備系ブロックへの切り替えが行われた
後に、予備系ブロックがパケット処理を開始する。その
ため、m:n冗長構成のパケット中継装置は、現用系ブ
ロックで故障が発生してから予備系ブロックがパケット
処理を開始するまでの間に受信されたパケットを廃棄し
てしまう。
Further, in the packet relay device having the m: n redundant configuration, it is not previously determined which working block the backup system block will replace. Therefore, after the failure of the working system block is detected and switching to the protection system block is performed, the protection system block starts the packet processing. Therefore, the packet relay device having the m: n redundant configuration discards the packet received between the time when the failure occurs in the active block and the time when the standby block starts the packet processing.

【0010】これに対して、1:1冗長構成のパケット
中継装置では、現用系ブロックと予備系ブロックとの対
応が予め定まっている。したがって、予備系ブロック
は、現用系ブロックに故障が発生した際に即座に処理を
開始できるように準備しておくことができる。具体的に
は例えば、予備系ブロックも現用系ブロックと同様にパ
ケットを常時受信し、蓄積していることができる。その
ため、1:1冗長構成のパケット中継装置はパケットの
廃棄を最小限にすることができる。
On the other hand, in the 1: 1 redundant packet relay device, the correspondence between the active block and the standby block is predetermined. Therefore, the spare block can be prepared so that the process can be started immediately when a failure occurs in the active block. Specifically, for example, the backup system block can always receive and store the packet similarly to the active system block. Therefore, the packet relay device having the 1: 1 redundancy configuration can minimize the discard of packets.

【0011】しかし、1:1冗長構成のパケット中継装
置は、現用系ブロックと同数の予備系ブロックを必要と
するので、m:n冗長構成のパケット中継装置よりも更
に装置規模が大きい。
However, since the packet relay device having the 1: 1 redundant configuration requires the same number of backup system blocks as the active system block, the device scale is further larger than that of the packet relay device having the m: n redundant configuration.

【0012】本発明の目的は、装置規模を増大させずに
パケットの廃棄を防止するパケット処理方法、装置及び
プログラムを提供することである。
An object of the present invention is to provide a packet processing method, a device and a program for preventing packet discard without increasing the device scale.

【0013】[0013]

【課題を解決するための手段】上記目的を達成するため
に、本発明のパケット処理方法は、パケットを複数の処
理ブロックに振り分けて分散処理するパケット処理方法
であって、前記パケットを振り分ける前記処理ブロック
を決定するステップと、前記パケットに対して、前記処
理ブロック毎に順序番号を付与するステップと、前記パ
ケットを前記処理ブロックに送信すると共に、該パケッ
トをバッファに格納するステップと、前記処理ブロック
で処理され返送されたパケットの順序番号が連続してい
るか否か判定するステップと、順序番号が連続していな
い場合に、抜けた順序番号のパケットを振り分けていた
処理ブロックをそれ以降の振り分け対象から除くステッ
プと、前記抜けた順序番号のパケットを前記バッファか
ら取り出し、他の処理ブロックに振り分けるステップを
有している。
In order to achieve the above object, a packet processing method of the present invention is a packet processing method for distributing a packet by distributing the packet to a plurality of processing blocks. Determining a block, assigning a sequence number to the packet for each processing block, transmitting the packet to the processing block, and storing the packet in a buffer, the processing block The step of determining whether or not the sequence numbers of the packets that have been processed and returned in step 1 are consecutive, and if the sequence numbers are not consecutive, the processing block that was allocating the packet with the missing sequence number And removing the packet with the missing sequence number from the buffer, And a step of distributing sense block.

【0014】したがって、処理ブロックにパケットを振
り分ける際にそのパケットにパケット処理ブロック毎の
順序番号を付与すると共にパケットをバッファに格納
し、パケット処理ブロックの故障などで順序番号の抜け
が発生するとそれを検出し、バッファに格納しておいた
パケットを取り出して再度他の処理ブロックに振り分け
る。
Therefore, when a packet is assigned to a processing block, a sequence number for each packet processing block is added to the packet and the packet is stored in a buffer. The packet is detected, the packet stored in the buffer is extracted, and the packet is distributed again to another processing block.

【0015】本発明の実施態様によれば、前記処理ブロ
ックの故障を検出すると、前記順序番号が連続している
か否かに関わらず、該処理ブロックを振り分け対象から
除くステップを更に有している。
According to the embodiment of the present invention, when a failure of the processing block is detected, the method further comprises the step of excluding the processing block from the allocation target regardless of whether or not the sequence numbers are consecutive. .

【0016】これによれば、順序番号の抜けを未然に防
止することができる。
According to this, it is possible to prevent omission of the sequence number.

【0017】本発明のパケット処理装置は、パケットを
分散処理するパケット処理装置であって、振り分けられ
た前記パケットを処理する複数の処理ブロックと、前記
処理ブロックに振り分けられた前記パケットを保持する
バッファと、前記パケットを振り分ける前記処理ブロッ
クを決定し、該パケットに対して前記処理ブロック毎に
順序番号を付与し、該パケットを前記処理ブロックに送
信すると共に前記バッファに格納し、前記処理ブロック
で処理され返送されたパケットの順序番号が連続してい
るか否か判定し、順序番号が連続していない場合に、抜
けた順序番号のパケットを振り分けていた処理ブロック
をそれ以降の振り分け対象から除くと共に、前記抜けた
順序番号のパケットを前記バッファから取り出し、他の
処理ブロックに振り分けるパケット振り分け部を有して
いる。
The packet processing device of the present invention is a packet processing device for distributed processing of packets, comprising a plurality of processing blocks for processing the distributed packets, and a buffer for holding the packets distributed to the processing blocks. And determining the processing block to which the packet is distributed, assigning a sequence number to the processing block, transmitting the packet to the processing block, storing the packet in the buffer, and processing by the processing block. Then, it is determined whether or not the sequence numbers of the returned and transmitted packets are continuous, and if the sequence numbers are not continuous, the processing block that was distributing the packet with the missing sequence number is excluded from the subsequent distribution targets, and The packet with the missing sequence number is taken out of the buffer and assigned to another processing block. And a packet sorting unit to separate.

【0018】本発明の実施態様によれば、前記パケット
振り分け部は、前記処理ブロックの故障を検出すると、
前記順序番号が連続しているか否かに関わらず、該処理
ブロックを振り分け対象から除く。
According to an embodiment of the present invention, when the packet distribution unit detects a failure in the processing block,
The processing block is excluded from the allocation target regardless of whether or not the sequence numbers are consecutive.

【0019】本発明のパケット処理プログラムは、パケ
ットを複数の処理ブロックに振り分けて分散処理するた
めに、コンピュータで実行されるパケット処理プログラ
ムであって、前記パケットを振り分ける前記処理ブロッ
クを決定する処理と、前記パケットに対して、前記処理
ブロック毎に順序番号を付与する処理と、前記パケット
を前記処理ブロックに送信すると共に、該パケットをバ
ッファに格納する処理と、前記処理ブロックで処理され
返送されたパケットの順序番号が連続しているか否か判
定する処理と、順序番号が連続していない場合に、抜け
た順序番号のパケットを振り分けていた処理ブロックを
それ以降の振り分け対象から除く処理と、前記抜けた順
序番号のパケットを前記バッファから取り出し、他の処
理ブロックに振り分ける処理を有している。
A packet processing program according to the present invention is a packet processing program executed by a computer for distributing packets by dividing them into a plurality of processing blocks, and processing for determining the processing blocks to which the packets are distributed. , A process of assigning a sequence number to each of the processing blocks for the packet, a process of transmitting the packet to the processing block and a process of storing the packet in a buffer, and a process of the processing block and returning. A process of determining whether or not the sequence numbers of the packets are continuous, and a process of excluding the process block that has distributed the packets with the missing sequence numbers from the subsequent distribution targets when the sequence numbers are not continuous, The packet with the missing sequence number is taken out of the buffer and assigned to another processing block. It has a kick processing.

【0020】本発明の実施態様によれば、前記処理ブロ
ックの故障を検出すると、前記順序番号が連続している
か否かに関わらず、該処理ブロックを振り分け対象から
除く処理を更に有している。
According to the embodiment of the present invention, when a failure of the processing block is detected, the processing block is further excluded from the allocation target regardless of whether the sequence numbers are consecutive or not. .

【0021】[0021]

【発明の実施の形態】本発明の一実施形態について図面
を参照して詳細に説明する。
BEST MODE FOR CARRYING OUT THE INVENTION An embodiment of the present invention will be described in detail with reference to the drawings.

【0022】図1は、本発明の一実施形態におけるパケ
ット中継装置の構成を示すブロック図である。
FIG. 1 is a block diagram showing the configuration of a packet relay device according to an embodiment of the present invention.

【0023】図1を参照すると、パケット中継装置10
は、回線部12−1〜12−M、スイッチ13、処理部
14を有している。パケット中継装置10は、回線11
−1〜11−Mから受信したパケットを処理し、該当す
るいずれかの回線11−1〜11−Mに送信する。
Referring to FIG. 1, the packet relay device 10
Has line units 12-1 to 12-M, a switch 13, and a processing unit 14. The packet relay device 10 uses the line 11
The packets received from -1 to 11-M are processed and transmitted to any of the corresponding lines 11-1 to 11-M.

【0024】回線部12−1〜12−Mは、回線11−
1〜11−Mにそれぞれ対応しており、対応する回線1
1−1〜11−Mのパケットの送受信を行う。
The line units 12-1 to 12-M are connected to the line 11-
1 to 11-M respectively, and the corresponding line 1
The packets 1-1 to 11-M are transmitted and received.

【0025】スイッチ13は、回線部12−1〜12−
Mで受信したパケットを該当する回線部12−1〜12
−Mに転送する。その際に、スイッチ13は、回線部1
2−1〜12−Mから受信したパケットのうち、暗号化
などの所定の処理が必要なパケットについては処理部1
4に転送する。また、スイッチ13は、処理部14で所
定の処理が行われたパケットを該当する回線部12−1
〜12−Nに転送する。
The switch 13 includes line units 12-1 to 12-.
The line unit 12-1 to 12 corresponding to the packet received by M
-Transfer to M. In that case, the switch 13 is connected
Of the packets received from 2-1 to 12-M, the processing unit 1 is used for a packet that requires a predetermined process such as encryption.
Transfer to 4. In addition, the switch 13 applies the packet subjected to the predetermined processing in the processing unit 14 to the corresponding line unit 12-1.
~ 12-N.

【0026】処理部14は、スイッチ13からのパケッ
トに対して所定の処理を行った後、スイッチ13へ返送
する。
The processing unit 14 performs a predetermined process on the packet from the switch 13 and then returns the packet to the switch 13.

【0027】図2は、図1に示された処理部14の構成
を示すブロック図である。図2を参照すると、処理部1
4は、パケット振り分け部21、パケット処理ブロック
22−1〜22−N、ヒストリバッファ23、バス24
を有している。
FIG. 2 is a block diagram showing the structure of the processing unit 14 shown in FIG. Referring to FIG. 2, the processing unit 1
4 is a packet distribution unit 21, packet processing blocks 22-1 to 22-N, a history buffer 23, and a bus 24.
have.

【0028】パケット振り分け部21は、スイッチ13
から受信したパケットを負荷分散するためにパケット処
理ブロック22−1〜22−Nに振り分けて送信する。
ここでは、全てのパケット処理ブロック22−1〜22
−Nが正常な状態では、全てのパケット処理ブロック2
2−1〜22−Nに負荷が分散されており、予備系とい
う概念はない。パケット振り分け部21は、例えば、ラ
ウンドロビン方式でパケットを振り分ける。また、パケ
ット振り分け部21は、パケットを振り分ける際に、各
パケットにパケット処理ブロック22−1〜22−N毎
の順序番号を付与する。
The packet distribution unit 21 is composed of the switch 13
The packets received from are distributed to the packet processing blocks 22-1 to 22-N for load distribution and transmitted.
Here, all the packet processing blocks 22-1 to 22
-If N is normal, all packet processing blocks 2
The load is distributed to 2-1 to 22-N, and there is no concept of a backup system. The packet distribution unit 21 distributes packets by a round robin method, for example. Further, the packet sorting unit 21 assigns a sequence number to each packet processing block 22-1 to 22-N when sorting the packets.

【0029】また、パケット振り分け部21は、パケッ
ト処理ブロック22−1〜22−Nに送信したパケット
をヒストリバッファ23に格納する。
The packet distribution unit 21 also stores the packets transmitted to the packet processing blocks 22-1 to 22-N in the history buffer 23.

【0030】パケット振り分け部21は、パケット処理
ブロック22−1〜22−Nで所定の処理が行われたパ
ケットを受信すると、順序番号が連続しているかチェッ
クする。パケット振り分け部21は、順序番号が正常で
あれば、そのパケットをスイッチ13に送信する。順序
番号に抜けがあれば、パケット振り分け部21は、抜け
たパケットに対応する処理前のパケットをヒストリバッ
ファ23から取り出して、他のパケット処理ブロックに
処理させる。また、パケット振り分け部21は、順序番
号の異常を生じさせたパケット処理ブロックにその後パ
ケットを振り分けない。
Upon receiving the packets that have undergone the predetermined processing in the packet processing blocks 22-1 to 22-N, the packet distribution unit 21 checks whether the sequence numbers are continuous. If the sequence number is normal, the packet distribution unit 21 transmits the packet to the switch 13. If the sequence number is missing, the packet distribution unit 21 extracts the unprocessed packet corresponding to the missing packet from the history buffer 23 and causes another packet processing block to process the packet. Further, the packet distribution unit 21 does not distribute the packet thereafter to the packet processing block having the abnormal sequence number.

【0031】パケット処理ブロック22−1〜22−N
は、パケット振り分け部21により自身に振り分けられ
たパケットに対して所定の処理を行った後、パケット振
り分け部21に返送する。
Packet processing blocks 22-1 to 22-N
Performs a predetermined process on the packet distributed to itself by the packet distribution unit 21, and then returns the packet to the packet distribution unit 21.

【0032】ヒストリバッファ23は、パケット振り分
け部21によりパケット処理ブロック22−1〜220
−Nに振り分けられたパケットをパケット処理ブロック
22−1〜22−N毎のキューにより保持する。
The history buffer 23 includes packet processing blocks 22-1 to 220 by the packet distribution unit 21.
The packets assigned to −N are held by the queues of the packet processing blocks 22-1 to 22-N.

【0033】図4は、ヒストリバッファ23の論理イメ
ージを示す図である。図4中の○はパケットを示し、そ
の中の番号は順序番号を示す。
FIG. 4 is a diagram showing a logical image of the history buffer 23. A circle in FIG. 4 indicates a packet, and the number in the packet indicates a sequence number.

【0034】図4を参照すると、ヒストリバッファ23
にはパケット処理ブロック22−1〜22−N毎のキュ
ー41−1〜41−Nが構成されている。各パケット処
理ブロック22−1〜22−Nに送信されたパケットは
対応するキュー41−1〜41−Nの最後尾に追加され
る。各キューは所定の深さを持っており、それ以上のパ
ケットが追加されると、先頭の古いパケットから順に廃
棄するようになっている。
Referring to FIG. 4, history buffer 23
Queues 41-1 to 41-N for the packet processing blocks 22-1 to 22-N, respectively. The packets transmitted to the respective packet processing blocks 22-1 to 22-N are added to the tail end of the corresponding queues 41-1 to 41-N. Each queue has a predetermined depth, and when more packets are added, the packets are discarded in order from the oldest packet.

【0035】バス24は、パケット振り分け部21とパ
ケット処理ブロック22−1〜22−Nの間のパケット
を転送する経路である。
The bus 24 is a path for transferring packets between the packet distribution unit 21 and the packet processing blocks 22-1 to 22-N.

【0036】図5は、パケット処理ブロック22−1〜
22−Nとパケット振り分け部21の間のバス24上で
送受信されるパケットのフォーマットを示す図である。
FIG. 5 shows packet processing blocks 22-1 to 22-1.
22 is a diagram showing a format of a packet transmitted / received on the bus 24 between the 22-N and the packet distribution unit 21. FIG.

【0037】図5を参照すると、パケット50は順序番
号51、パケット処理ブロック識別子52及びペイロー
ド53から構成される。パケット処理ブロック識別子5
2は、そのパケットが振り分けられたパケット処理ブロ
ックを特定するための情報である。
Referring to FIG. 5, the packet 50 comprises a sequence number 51, a packet processing block identifier 52 and a payload 53. Packet processing block identifier 5
2 is information for specifying the packet processing block to which the packet is distributed.

【0038】図3は、図2に示されたパケット振り分け
部21の構成を示すブロック図である。図3を参照する
と、パケット振り分け部21は、スイッチインタフェー
ス部31、振り分け制御部32、パケット送信部33、
パケット受信部34、順序番号比較部35、ヒストリバ
ッファインタフェース部36を有している。
FIG. 3 is a block diagram showing the configuration of the packet distribution unit 21 shown in FIG. Referring to FIG. 3, the packet distribution unit 21 includes a switch interface unit 31, a distribution control unit 32, a packet transmission unit 33,
It has a packet receiving unit 34, a sequence number comparing unit 35, and a history buffer interface unit 36.

【0039】スイッチインタフェース部31は、スイッ
チ13との間でパケットの送受信を行う。
The switch interface section 31 transmits / receives packets to / from the switch 13.

【0040】振り分け制御部32は、一例としてラウン
ドロビン方式により、パケット処理ブロック22−1〜
22−Nへのパケットの振り分けを決定する。また、振
り分け制御部32は、順序番号比較部35から、順序番
号の抜けたパケット及び順序番号の抜けを生じさせたパ
ケット処理ブロックの通知を受けると、抜けたパケット
をヒストリバッファ36から取り出して他のパケット処
理ブロックに再度振り分ける。また、振り分け制御部3
2は、順序番号の抜けを生じさせたパケット処理ブロッ
クをラウンドロビン方式によるパケット振り分け先の対
象から除外する。
The distribution control unit 32 uses, for example, the round robin method as the packet processing blocks 22-1 to 22-1.
22-N to determine packet distribution. Further, when the distribution control unit 32 receives from the sequence number comparison unit 35 a notification of a packet with a missing sequence number and a packet processing block that caused a sequence number to be missing, the distribution control unit 32 extracts the missing packet from the history buffer 36 and Reallocate to the packet processing block of. Also, the distribution control unit 3
In No. 2, the packet processing block having the missing sequence number is excluded from the targets of packet distribution by the round robin method.

【0041】パケット送信部33は、振り分け制御部3
2で振り分け先が決定されたパケットを送信する。
The packet transmission unit 33 is the distribution control unit 3
The packet whose distribution destination is determined in 2 is transmitted.

【0042】パケット受信部34は、各パケット処理ブ
ロック22−1〜22−Nで所定の処理が行われたパケ
ットを受信する。
The packet receiving section 34 receives the packet which has been subjected to the predetermined processing in each of the packet processing blocks 22-1 to 22-N.

【0043】順序番号比較部35は、パケット受信部3
4で受信されたパケットについて、パケット処理ブロッ
ク22−1〜22−N毎に順序番号の抜けがあるか否か
チェックする。順序番号比較部35は、順序番号の抜け
を検出すると、抜けたパケット及び順序番号の抜けを生
じさせたパケット処理ブロックを振り分け制御部32に
通知する。
The sequence number comparing section 35 is included in the packet receiving section 3
For the packet received in step 4, it is checked whether or not there is a missing sequence number for each of the packet processing blocks 22-1 to 22-N. When the sequence number comparison unit 35 detects a sequence number omission, the sequence number comparison unit 35 notifies the distribution control unit 32 of the lost packet and the packet processing block causing the sequence number omission.

【0044】ヒストリバッファインタフェース部36
は、ヒストリバッファ23へのパケットの格納と、ヒス
トリバッファ23からのパケットの取り出しを行う。
History buffer interface section 36
Stores the packet in the history buffer 23 and extracts the packet from the history buffer 23.

【0045】次に、処理部14の動作について説明す
る。
Next, the operation of the processing section 14 will be described.

【0046】図6は、処理部14の動作を示すフローチ
ャートである。図6を参照すると、ステップ101に、
処理部14は、振り分け制御部32でスイッチ13から
のパケットを受信する。ステップ102に、処理部14
は、振り分け制御部32でラウンドロビン方式に従って
パケット処理ブロック22−1〜22−Nにパケットを
振り分け、順序番号を付与して送信する。ステップ10
3に、処理部14は、そのパケットをヒストリバッファ
23の該当するキューに格納する。ステップ104に、
処理部14は、パケット処理ブロック22−1〜22−
Nでパケットに対して所定の処理を行い、パケット振り
分け部21に返送する。ステップ105に、処理部14
は、パケット処理ブロック22−1〜22−Nからパケ
ット振り分け部21に返送されたパケットの順序番号を
順序番号比較部35でチェックする。順序番号が連続し
ていれば、ステップ106に、処理部14はそのパケッ
トをスイッチ13に送信する。
FIG. 6 is a flowchart showing the operation of the processing unit 14. Referring to FIG. 6, in step 101,
The processing unit 14 receives the packet from the switch 13 by the distribution control unit 32. In step 102, the processing unit 14
In the distribution control unit 32, the packets are distributed to the packet processing blocks 22-1 to 22-N according to the round-robin method, and the sequence numbers are assigned and transmitted. Step 10
3, the processing unit 14 stores the packet in the corresponding queue of the history buffer 23. In step 104,
The processing unit 14 includes packet processing blocks 22-1 to 22-.
A predetermined process is performed on the packet at N, and the packet is returned to the packet distribution unit 21. In step 105, the processing unit 14
Checks the sequence number of the packet returned from the packet processing blocks 22-1 to 22-N to the packet distribution unit 21 in the sequence number comparison unit 35. If the sequence numbers are consecutive, the processing unit 14 transmits the packet to the switch 13 in step 106.

【0047】ステップ105のチェックで順序番号が連
続していないことが検出されると、ステップ107に、
処理部14は順序番号の抜けたパケットを振り分けてい
たパケット処理ブロックをパケット振り分け先の対象か
ら除く。また、ステップ108に、処理部14は、順序
番号の抜けたパケットをヒストリバッファ23から取り
出して、他のパケット処理ブロックに再度振り分け、ス
テップ104の処理に戻る。
When it is detected in the check in step 105 that the sequence numbers are not consecutive, step 107 is executed.
The processing unit 14 excludes the packet processing block that has distributed the packets with the missing sequence numbers from the target of the packet distribution destination. Further, in step 108, the processing unit 14 takes out the packet with the missing sequence number from the history buffer 23, allocates it to another packet processing block again, and returns to the processing of step 104.

【0048】本実施形態によれば、パケット中継装置1
0は、パケット処理ブロック22−1〜22−Nにパケ
ットを振り分ける際にそのパケットにパケット処理ブロ
ック22−1〜22−N毎の順序番号を付与すると共に
ヒストリバッファ23に格納し、パケット処理ブロック
22−1〜22−Nの故障により順序番号の抜けが発生
するとそれを順序番号比較部35で検出し、予めヒスト
リバッファ23に格納しておいたパケットを取り出して
再度他のパケット処理ブロックに振り分ける。したがっ
て、いずれかのパケット処理ブロックが故障しても、パ
ケット中継装置10は、パケットの廃棄なしに処理を継
続することができる。
According to this embodiment, the packet relay device 1
When assigning a packet to the packet processing blocks 22-1 to 22-N, 0 assigns a sequence number to each packet processing block 22-1 to 22-N and stores it in the history buffer 23. When a sequence number omission occurs due to a failure of 22-1 to 22-N, the sequence number comparison unit 35 detects it, extracts a packet stored in the history buffer 23 in advance, and allocates it to another packet processing block again. . Therefore, even if any of the packet processing blocks fails, the packet relay device 10 can continue the processing without discarding the packet.

【0049】なお、本実施形態のパケット中継装置10
は、順序番号の抜けを検出した場合だけでなく、他の事
象によりパケット処理ブロックの故障を検出した場合に
も、そのパケット処理ブロックをパケット振り分け先の
対象から除いてもよい。これによれば、順序番号の抜け
を未然に防止することができる。他の事象としては、例
えば処理完了待ちタイマのタイムアウトやハードウェア
の故障などがある。
The packet relay device 10 of this embodiment
In addition to detecting a missing sequence number, the packet processing block may be excluded from the targets of packet distribution not only when a failure of the packet processing block is detected due to another event. According to this, it is possible to prevent omission of the sequence number. Other events include, for example, timeout of the processing completion waiting timer and hardware failure.

【0050】[0050]

【発明の効果】本発明によれば、処理ブロックにパケッ
トを振り分ける際にそのパケットにパケット処理ブロッ
ク毎の順序番号を付与すると共にパケットをバッファに
格納し、パケット処理ブロックの故障などで順序番号の
抜けが発生するとそれを検出し、バッファに格納してお
いたパケットを取り出して再度他の処理ブロックに振り
分ける。したがって、いずれかの処理ブロックが故障し
てもパケットを廃棄することなく、処理を継続すること
ができる。
According to the present invention, when a packet is distributed to a processing block, the packet is given a sequence number for each packet processing block, and the packet is stored in a buffer. When a dropout occurs, it is detected, the packet stored in the buffer is taken out, and the packet is reassigned to another processing block. Therefore, even if one of the processing blocks fails, the processing can be continued without discarding the packet.

【0051】また、順序番号の抜けを未然に防止するこ
とができる。
It is also possible to prevent omission of the sequence number.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の一実施形態におけるパケット中継装置
の構成を示すブロック図である。
FIG. 1 is a block diagram showing a configuration of a packet relay device according to an embodiment of the present invention.

【図2】図1に示された処理部の構成を示すブロック図
である。
FIG. 2 is a block diagram showing a configuration of a processing unit shown in FIG.

【図3】図2に示されたパケット振り分け部の構成を示
すブロック図である。
FIG. 3 is a block diagram showing a configuration of a packet distribution unit shown in FIG.

【図4】ヒストリバッファの論理イメージを示す図であ
る。
FIG. 4 is a diagram showing a logical image of a history buffer.

【図5】パケット処理ブロックとパケット振り分け部の
間のバス上で送受信されるパケットのフォーマットを示
す図である。
FIG. 5 is a diagram showing a format of a packet transmitted / received on a bus between a packet processing block and a packet distribution unit.

【図6】処理部の動作を示すフローチャートである。FIG. 6 is a flowchart showing an operation of a processing unit.

【符号の説明】[Explanation of symbols]

10 パケット中継装置 11−1〜11−M 回線 12−1〜12−M 回線部 13 スイッチ 14 処理部 21 パケット振り分け部 22−1〜22−N パケット処理ブロック 23 ヒストリバッファ 24 バス 31 スイッチインタフェース部 32 振り分け制御部 33 パケット送信部 34 パケット受信部 35 順序番号比較部 36 ヒストリバッファインタフェース部 41−1〜41−N キュー 50 パケット 51 順序番号 52 パケット処理ブロック識別子 53 ペイロード 101〜108 ステップ 10 Packet relay device 11-1 to 11-M lines 12-1 to 12-M Line part 13 switch 14 Processing unit 21 Packet distribution unit 22-1 to 22-N Packet processing block 23 History buffer 24 bus 31 Switch interface section 32 distribution control unit 33 Packet transmitter 34 Packet Receiver 35 Sequence number comparison unit 36 History buffer interface section 41-1 to 41-N queue 50 packets 51 Sequence number 52 Packet processing block identifier 53 Payload 101-108 steps

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】 パケットを複数の処理ブロックに振り分
けて分散処理するパケット処理方法であって、 前記パケットを振り分ける前記処理ブロックを決定する
ステップと、 前記パケットに対して、前記処理ブロック毎に順序番号
を付与するステップと、 前記パケットを前記処理ブロックに送信すると共に、該
パケットをバッファに格納するステップと、 前記処理ブロックで処理され返送されたパケットの順序
番号が連続しているか否か判定するステップと、 順序番号が連続していない場合に、抜けた順序番号のパ
ケットを振り分けていた処理ブロックをそれ以降の振り
分け対象から除くステップと、 前記抜けた順序番号のパケットを前記バッファから取り
出し、他の処理ブロックに振り分けるステップを有する
パケット処理方法。
1. A packet processing method for distributing a packet to a plurality of processing blocks for distributed processing, the step of determining the processing block to which the packet is distributed, and a sequence number for each processing block for the packet. A step of transmitting the packet to the processing block and storing the packet in a buffer, and a step of determining whether or not the sequence numbers of the packets processed and returned by the processing block are continuous. And, if the sequence numbers are not consecutive, removing the processing block that has distributed the missing sequence number packets from the subsequent distribution targets, and extracting the missing sequence number packets from the buffer, and A packet processing method having a step of allocating to processing blocks.
【請求項2】 前記処理ブロックの故障を検出すると、
前記順序番号が連続しているか否かに関わらず、該処理
ブロックを振り分け対象から除くステップを更に有す
る、請求項1記載のパケット処理方法。
2. When a failure of the processing block is detected,
The packet processing method according to claim 1, further comprising a step of excluding the processing block from the allocation target regardless of whether or not the sequence numbers are consecutive.
【請求項3】 パケットを分散処理するパケット処理装
置であって、 振り分けられた前記パケットを処理する複数の処理ブロ
ックと、 前記処理ブロックに振り分けられた前記パケットを保持
するバッファと、 前記パケットを振り分ける前記処理ブロックを決定し、
該パケットに対して前記処理ブロック毎に順序番号を付
与し、該パケットを前記処理ブロックに送信すると共に
前記バッファに格納し、前記処理ブロックで処理され返
送されたパケットの順序番号が連続しているか否か判定
し、順序番号が連続していない場合に、抜けた順序番号
のパケットを振り分けていた処理ブロックをそれ以降の
振り分け対象から除くと共に、前記抜けた順序番号のパ
ケットを前記バッファから取り出し、他の処理ブロック
に振り分けるパケット振り分け部を有するパケット処理
装置。
3. A packet processing device for distributed processing of packets, comprising a plurality of processing blocks for processing the distributed packets, a buffer for holding the packets distributed to the processing blocks, and distributing the packets. Determining the processing block,
A sequence number is given to the packet for each processing block, the packet is transmitted to the processing block and stored in the buffer, and the sequence numbers of the packets processed and returned by the processing block are continuous. If it is determined whether or not the sequence numbers are not consecutive, the processing block that has distributed the packet with the missing sequence number is excluded from the subsequent distribution targets, and the packet with the missing sequence number is extracted from the buffer, A packet processing device having a packet distribution unit that distributes to other processing blocks.
【請求項4】 前記パケット振り分け部は、前記処理ブ
ロックの故障を検出すると、前記順序番号が連続してい
るか否かに関わらず、該処理ブロックを振り分け対象か
ら除く、請求項3記載のパケット処理装置。
4. The packet processing according to claim 3, wherein when the packet distribution unit detects a failure in the processing block, the processing block is excluded from the distribution target regardless of whether or not the sequence numbers are consecutive. apparatus.
【請求項5】 パケットを複数の処理ブロックに振り分
けて分散処理するために、コンピュータで実行されるパ
ケット処理プログラムであって、 前記パケットを振り分ける前記処理ブロックを決定する
処理と、 前記パケットに対して、前記処理ブロック毎に順序番号
を付与する処理と、 前記パケットを前記処理ブロックに送信すると共に、該
パケットをバッファに格納する処理と、 前記処理ブロックで処理され返送されたパケットの順序
番号が連続しているか否か判定する処理と、 順序番号が連続していない場合に、抜けた順序番号のパ
ケットを振り分けていた処理ブロックをそれ以降の振り
分け対象から除く処理と、 前記抜けた順序番号のパケットを前記バッファから取り
出し、他の処理ブロックに振り分ける処理を有するパケ
ット処理プログラム。
5. A packet processing program executed by a computer for distributing a packet to a plurality of processing blocks for distributed processing, the processing comprising: determining the processing block into which the packet is distributed; , A process of assigning a sequence number to each of the processing blocks, a process of transmitting the packet to the processing block and storing the packet in a buffer, and a sequence number of a packet processed and returned by the processing block are consecutive Processing for determining whether or not the sequence numbers are not consecutive, processing for excluding the processing block that has distributed the packet with the missing sequence number from subsequent distribution targets, and the packet with the missing sequence number Processing including a process of taking out a packet from the buffer and distributing it to another processing block program.
【請求項6】 前記処理ブロックの故障を検出すると、
前記順序番号が連続しているか否かに関わらず、該処理
ブロックを振り分け対象から除く処理を更に有する、請
求項5記載のパケット処理プログラム。
6. When a failure of the processing block is detected,
The packet processing program according to claim 5, further comprising processing for excluding the processing block from the allocation target regardless of whether or not the sequence numbers are consecutive.
JP2001194543A 2001-06-27 2001-06-27 Packet processing method, apparatus and program Expired - Fee Related JP3582591B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001194543A JP3582591B2 (en) 2001-06-27 2001-06-27 Packet processing method, apparatus and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001194543A JP3582591B2 (en) 2001-06-27 2001-06-27 Packet processing method, apparatus and program

Publications (2)

Publication Number Publication Date
JP2003008620A true JP2003008620A (en) 2003-01-10
JP3582591B2 JP3582591B2 (en) 2004-10-27

Family

ID=19032659

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001194543A Expired - Fee Related JP3582591B2 (en) 2001-06-27 2001-06-27 Packet processing method, apparatus and program

Country Status (1)

Country Link
JP (1) JP3582591B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006035575A1 (en) * 2004-09-28 2006-04-06 Nec Corporation Redundant packet exchange system and system switching method for redundant packet exchange system
KR100602646B1 (en) * 2004-02-06 2006-07-19 삼성전자주식회사 Method for processing interfacing malfunction of network processor
JP2008053904A (en) * 2006-08-23 2008-03-06 Mitsubishi Electric Corp Communication equipment

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100602646B1 (en) * 2004-02-06 2006-07-19 삼성전자주식회사 Method for processing interfacing malfunction of network processor
WO2006035575A1 (en) * 2004-09-28 2006-04-06 Nec Corporation Redundant packet exchange system and system switching method for redundant packet exchange system
US8004965B2 (en) 2004-09-28 2011-08-23 Nec Corporation Redundant packet switching system and system switching method of redundant packet switching system
JP2008053904A (en) * 2006-08-23 2008-03-06 Mitsubishi Electric Corp Communication equipment
JP4680148B2 (en) * 2006-08-23 2011-05-11 三菱電機株式会社 Communication device

Also Published As

Publication number Publication date
JP3582591B2 (en) 2004-10-27

Similar Documents

Publication Publication Date Title
JP3932994B2 (en) Server handover system and method
US6282669B1 (en) Ethernet communication redundancy method
US7362761B2 (en) Packet processing apparatus
US6859889B2 (en) Backup system and method for distributed systems
EP0704125B1 (en) A method and a device for resequencing
US7974186B2 (en) Connection recovery device, method and computer-readable medium storing therein processing program
JP4748316B2 (en) Packet transmission method and packet transmission system
US6594776B1 (en) Mechanism to clear MAC address from Ethernet switch address table to enable network link fail-over across two network segments
US6072797A (en) Methods, apparatus and computer program products for aggregated transmission groups in high speed networks
US20080069114A1 (en) Communication device and method
US20080008086A1 (en) Load balancing communication device and load balance management device
US8867375B2 (en) Failback to a primary communications adapter
US20140050078A1 (en) Communication interruption time reduction method in a packet communication network
CN101383732A (en) Intelligent failback in a load-balanced networking environment
JP2008017160A (en) Packet transfer device
JP5408620B2 (en) Data distribution management system and data distribution management method
JP3582591B2 (en) Packet processing method, apparatus and program
US20090252167A1 (en) Queue processing method
WO2003088594A1 (en) A method for providing redundancy for channel adapter failure
CN108768721B (en) Primary and standby VNF switching technology based on temporary packet storage
US7072352B2 (en) Inverse multiplexing of unmanaged traffic flows over a multi-star network
US8095721B2 (en) Network switch and method of switching in network
US20240039850A1 (en) Virtual socket for load balancing and failover
CN114124666B (en) Network handling method, device, computer equipment and storage medium
US20230283543A1 (en) System and method for fault recovery in spray based networks

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040701

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040720

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20070806

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20080806

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20080806

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090806

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090806

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100806

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110806

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110806

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120806

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130806

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees