JP5282124B2 - Packet transfer apparatus and packet transfer method - Google Patents

Packet transfer apparatus and packet transfer method Download PDF

Info

Publication number
JP5282124B2
JP5282124B2 JP2011144515A JP2011144515A JP5282124B2 JP 5282124 B2 JP5282124 B2 JP 5282124B2 JP 2011144515 A JP2011144515 A JP 2011144515A JP 2011144515 A JP2011144515 A JP 2011144515A JP 5282124 B2 JP5282124 B2 JP 5282124B2
Authority
JP
Japan
Prior art keywords
packet
transfer
received
address
fragment
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
JP2011144515A
Other languages
Japanese (ja)
Other versions
JP2013012922A (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.)
Anritsu Corp
Original Assignee
Anritsu 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 Anritsu Corp filed Critical Anritsu Corp
Priority to JP2011144515A priority Critical patent/JP5282124B2/en
Publication of JP2013012922A publication Critical patent/JP2013012922A/en
Application granted granted Critical
Publication of JP5282124B2 publication Critical patent/JP5282124B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、受信したパケットを他の装置に転送するパケット転送装置およびパケット転送方法に関する。   The present invention relates to a packet transfer apparatus and a packet transfer method for transferring a received packet to another apparatus.

従来、マルチポートスイッチと、マルチポートスイッチと複数のシリアルバスを介して接続される複数のデバイスとを備え、送信元のデバイスが、複数のデバイスのなかで少なくとも1つの送信先のデバイスを選択し、選択した送信先のデバイスにマルチポートスイッチとシリアルバスを通じてデータを送信する送信部を有し、送信先のデバイスが、送信元のデバイスからマルチポートスイッチとシリアルバスを通じてデータを受信する受信部を有するデータ伝送システムが知られている(例えば、特許文献1参照)。   2. Description of the Related Art Conventionally, a multiport switch and a plurality of devices connected to the multiport switch via a plurality of serial buses are provided, and the transmission source device selects at least one transmission destination device from the plurality of devices. A transmission unit that transmits data to the selected transmission destination device through the multiport switch and the serial bus, and a transmission unit that receives data from the transmission source device through the multiport switch and the serial bus. A data transmission system is known (see, for example, Patent Document 1).

この従来のデータ伝送システムは、送信部が複数の送信先のデバイスを選択した場合に、選択した複数の送信先のデバイスの受信レートに基づいて、選択した複数の送信先のデバイスに対して送信するデータ量の比率を決定することにより、選択した複数の送信先のデバイスに効率よくデータを送信していた。   In this conventional data transmission system, when the transmission unit selects a plurality of destination devices, transmission is performed to the selected plurality of destination devices based on the reception rates of the selected plurality of destination devices. By determining the ratio of the amount of data to be transmitted, data is efficiently transmitted to a plurality of selected transmission destination devices.

国際公開第2010/122896号パンフレットInternational Publication No. 2010/122896 Pamphlet

しかしながら、上述したような従来の技術では、送信するデータが構成するパケットのインターフェース規格を送信元のデバイスと送信先のデバイスとの間で予め定めておかなければならないといった課題があった。   However, the conventional technology as described above has a problem in that an interface standard of a packet formed by data to be transmitted must be determined in advance between a transmission source device and a transmission destination device.

本発明は、このような課題を解決するためになされたもので、パケットのインターフェース規格に依らずに、パケットを転送することができるパケット転送装置およびパケット転送方法を提供することを目的とする。   The present invention has been made to solve such a problem, and an object of the present invention is to provide a packet transfer apparatus and a packet transfer method capable of transferring a packet regardless of the packet interface standard.

本発明のパケット転送装置は、受信パケットを他の装置(3a〜3c)に転送するパケット転送装置において、前記受信パケットの断片と、前記他の装置の記憶媒体(21)に対する該断片の書き込みアドレスとを含む複数の転送用パケットに該受信パケットをフォーマット変換するパケット変換部(11)と、前記転送用パケットを前記他の装置に転送するパケット転送部(12)と、を備え、前記パケット変換部は、前記記憶媒体に対して前記断片を書き込む領域の直前に該受信パケットの長さを書き込むための予約領域を確保するように前記転送用パケットに前記書き込みアドレスを指定し、該転送用パケットの転送が完了したことを条件として、該受信パケットの長さを表すデータと、前記予約領域の先頭アドレスとを含む転送用パケットを生成し、前記パケット転送部は、前記パケット変換部によって生成された転送用パケットを前記他の装置に転送するように構成されている。   The packet transfer device of the present invention is a packet transfer device for transferring a received packet to another device (3a to 3c), and a write address of the fragment to the storage medium (21) of the other device and the fragment of the received packet. A packet converter (11) that converts the received packet into a plurality of transfer packets including a packet transfer unit (12) that transfers the transfer packet to the other device. The unit specifies the write address in the transfer packet so as to reserve a reserved area for writing the length of the received packet immediately before the area in which the fragment is written to the storage medium, and the transfer packet On the condition that the transfer of the received packet has been completed, the transfer packet includes data indicating the length of the received packet and the start address of the reserved area. It generates Tsu bets, the packet transfer unit is configured to forward the transfer packet generated by the packet conversion unit to the other apparatus.

この構成により、転送先の装置が、予約領域に書き込まれた長さ分のデータを記憶媒体から読み出すことにより、受信パケットを再生することができるため、本発明のパケット転送装置は、パケットのインターフェース規格に依らずに、パケットを転送することができる。   With this configuration, since the transfer destination device can reproduce the received packet by reading out the data for the length written in the reserved area from the storage medium, the packet transfer device of the present invention has a packet interface. Packets can be transferred regardless of the standard.

なお、前記パケット変換部は、前記書き込みアドレスをペイロードの特定位置に格納した転送用パケットに前記受信パケットをフォーマット変換するようにしてもよい。   The packet conversion unit may convert the format of the received packet into a transfer packet in which the write address is stored at a specific position in the payload.

また、前記パケット変換部は、Serial RapidIO(登録商標)規格に準拠した転送用パケットに前記受信パケットをフォーマット変換するようにしてもよい。   In addition, the packet conversion unit may convert the format of the received packet into a transfer packet that conforms to the Serial RapidIO (registered trademark) standard.

また、前記パケット変換部は、前記書き込みアドレスがヘッダに追加された転送用パケットに前記受信パケットをフォーマット変換するようにしてもよい。   The packet conversion unit may convert the format of the received packet into a transfer packet in which the write address is added to a header.

また、本発明のパケット転送方法は、受信パケットを他の装置(3a〜3c)に転送するパケット転送装置(1a〜1c)を用いたパケット転送方法において、前記受信パケットの断片と、前記他の装置の記憶媒体(21)に対する該断片の書き込みアドレスとを含む複数の転送用パケットに該受信パケットをフォーマット変換するパケット変換ステップと、前記転送用パケットを前記記憶媒体に転送するパケット転送ステップと、を有し、前記パケット変換ステップは、前記記憶媒体に対して前記断片を書き込む領域の直前に該受信パケットの長さを書き込むための予約領域を確保するように前記転送用パケットに前記書き込みアドレスを指定するアドレス指定ステップと、該転送用パケットの転送が完了したことを条件として、該受信パケットの長さを表すデータと、前記予約領域の先頭アドレスとを含む転送用パケットを生成するパケット生成ステップと、を含み、前記パケット転送ステップは、前記パケット生成ステップで生成された転送用パケットを転送するステップを含む。   The packet transfer method of the present invention is the packet transfer method using the packet transfer device (1a to 1c) for transferring the received packet to the other device (3a to 3c). A packet conversion step for converting the format of the received packet into a plurality of transfer packets including a write address of the fragment for the storage medium (21) of the device; a packet transfer step for transferring the transfer packet to the storage medium; And the packet converting step assigns the write address to the transfer packet so as to reserve a reserved area for writing the length of the received packet immediately before the area for writing the fragment to the storage medium. On the condition that the address designation step to be designated and the transfer of the transfer packet have been completed, A packet generation step of generating a transfer packet including data representing the length of the packet and a start address of the reserved area, wherein the packet transfer step includes the transfer packet generated in the packet generation step The step of transferring is included.

したがって、転送先の装置が、予約領域に書き込まれた長さ分のデータを記憶媒体から読み出すことにより、受信パケットを再生することができるため、本発明のパケット転送方法は、パケットのインターフェース規格に依らずに、パケットを転送することができる。   Therefore, since the transfer destination device can reproduce the received packet by reading the length of data written in the reserved area from the storage medium, the packet transfer method of the present invention complies with the packet interface standard. The packet can be transferred independently.

本発明は、パケットのインターフェース規格に依らずに、パケットを転送することができるパケット転送装置およびパケット転送方法を提供することができる。   The present invention can provide a packet transfer apparatus and a packet transfer method capable of transferring a packet without depending on the packet interface standard.

本発明の実施の形態に係るパケット転送装置によって構成されるシステムのブロック図である。It is a block diagram of the system comprised by the packet transfer apparatus which concerns on embodiment of this invention. 本発明の実施の形態に係るパケット転送装置の転送動作を説明するための概念図である。It is a conceptual diagram for demonstrating the transfer operation | movement of the packet transfer apparatus which concerns on embodiment of this invention. 本発明の実施の形態に係るパケット転送装置のパケットの転送先であるパケット受信装置のバッファのメモリマップを示す概念図である。It is a conceptual diagram which shows the memory map of the buffer of the packet receiver which is a packet transfer destination of the packet transfer apparatus which concerns on embodiment of this invention. 本発明の実施の形態に係るパケット転送装置の転送動作の他の例を説明するための概念図である。It is a conceptual diagram for demonstrating the other example of the transfer operation | movement of the packet transfer apparatus which concerns on embodiment of this invention.

以下、本発明の実施の形態について、図面を参照して説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

図1に示すように、本発明の実施の形態としてのシステムは、複数のパケット転送装置1a〜1cと、スイッチ2と、複数のパケット受信装置3a〜3cとを備え、複数のパケット転送装置1a〜1cに受信されたパケットが複数のパケット受信装置3a〜3cの何れかに送信されるようになっている。   As shown in FIG. 1, the system according to the embodiment of the present invention includes a plurality of packet transfer apparatuses 1a to 1c, a switch 2, and a plurality of packet reception apparatuses 3a to 3c, and includes a plurality of packet transfer apparatuses 1a. The packets received by ˜1c are transmitted to any of the plurality of packet receiving devices 3a-3c.

なお、図1において、それぞれ3つのパケット転送装置1a〜1cおよびパケット受信装置3a〜3cが図示されているが、これらの数を限定するものではない。また、以下の説明において、パケット転送装置1a〜1cを総称して「パケット転送装置1」といい、パケット受信装置3a〜3cを総称して「パケット受信装置3」という。   In FIG. 1, three packet transfer apparatuses 1a to 1c and packet reception apparatuses 3a to 3c are shown, respectively, but the number is not limited. In the following description, the packet transfer apparatuses 1a to 1c are collectively referred to as “packet transfer apparatus 1”, and the packet reception apparatuses 3a to 3c are collectively referred to as “packet reception apparatus 3”.

パケット転送装置1は、パケットを受信するパケット受信部10と、受信パケットを複数の転送用パケットにフォーマット変換するパケット変換部11と、転送用パケットをパケット受信装置3に転送するパケット転送部12とを備えている。   The packet transfer apparatus 1 includes a packet reception unit 10 that receives a packet, a packet conversion unit 11 that converts a received packet into a plurality of transfer packets, and a packet transfer unit 12 that transfers a transfer packet to the packet reception apparatus 3. It has.

本実施の形態において、パケット受信部10、パケット変換部11およびパケット転送部12は、論理回路等のハードウェア素子の組み合わせ、または、FPGA(Field Programmable Gate Array)等によって一体に構成される。   In the present embodiment, the packet reception unit 10, the packet conversion unit 11, and the packet transfer unit 12 are integrally configured by a combination of hardware elements such as a logic circuit or an FPGA (Field Programmable Gate Array).

パケット受信装置3は、パケット転送装置1からスイッチ2を介して送信された転送用パケットを受信するパケット受信部20と、転送用パケットをバッファするバッファ21と、転送用パケットを更に他の装置に送信するパケット送信部22とを備えている。   The packet receiving device 3 includes a packet receiving unit 20 that receives a transfer packet transmitted from the packet transfer device 1 via the switch 2, a buffer 21 that buffers the transfer packet, and further transfers the transfer packet to another device. A packet transmission unit 22 for transmission.

本実施の形態において、パケット受信部20およびパケット送信部22は、論理回路等のハードウェア素子の組み合わせ、または、FPGA等によって一体に構成される。また、バッファ21は、RAM(Random Access Memory)等の記憶媒体によって構成される。   In the present embodiment, the packet receiving unit 20 and the packet transmitting unit 22 are integrally configured by a combination of hardware elements such as a logic circuit, or an FPGA. The buffer 21 is configured by a storage medium such as a RAM (Random Access Memory).

パケット転送装置1およびパケット受信装置3には、予めIDが割り当てられている。スイッチ2は、転送用パケットのヘッダに含まれるIDに基づいて、パケット転送装置1から転送された転送用パケットを何れかのパケット受信装置3に送信するようになっている。   IDs are assigned to the packet transfer apparatus 1 and the packet reception apparatus 3 in advance. The switch 2 transmits the transfer packet transferred from the packet transfer device 1 to any one of the packet reception devices 3 based on the ID included in the header of the transfer packet.

パケット転送装置1のパケット受信部10は、任意の規格に準拠したパケットを受信できるようになっている。パケット変換部11は、受信パケットを断片化し、各断片と、この断片のパケット受信装置3のバッファ21に対する書き込みアドレスとを含む複数の転送用パケットに受信パケットをフォーマット変換するようになっている。   The packet receiving unit 10 of the packet transfer apparatus 1 can receive a packet conforming to an arbitrary standard. The packet converting unit 11 fragments the received packet, and converts the format of the received packet into a plurality of transfer packets including each fragment and a write address of the fragment to the buffer 21 of the packet receiving device 3.

ここで、転送用パケットは、書き込みアドレスをヘッダに含めることができる規格に準拠し、本実施の形態においては、Serial RapidIO(以下、単に「sRIO」という)規格に準拠するものとする。すなわち、パケット転送部12は、sRIO規格に準拠して、転送用パケットをパケット受信装置3に転送するようになっている。   Here, the transfer packet conforms to a standard in which a write address can be included in the header, and in this embodiment, conforms to the Serial RapidIO (hereinafter simply referred to as “sRIO”) standard. That is, the packet transfer unit 12 transfers the transfer packet to the packet receiving device 3 in accordance with the sRIO standard.

sRIOは、CPU(Central Processing Unit)、DSP(Digital Signal Processing)、FPGA(Field Programmable Gate Array)等のボード上に設けられたデバイス間で1.25Gbps、2.5Gbps、3.125Gbpsといった高速通信を実現するためのバスの規格であり、バックプレーン間や筐体間の転送規格としても採用されている。   sRIO performs high-speed communication such as 1.25 Gbps, 2.5 Gbps, and 3.125 Gbps between devices provided on a board such as a CPU (Central Processing Unit), DSP (Digital Signal Processing), and FPGA (Field Programmable Gate Array). It is a standard for the bus to be realized, and is also adopted as a transfer standard between backplanes and cases.

sRIOの論理層は、メモリにデータを書き込むDMA(Direct Memory Address)を実現することが可能になっており、ヘッダには、少なくとも転送元装置のID(Source-ID)と、転送先装置のID(Destination-ID)と、転送先装置のメモリアドレスとを指定することができる。   The logical layer of sRIO can realize DMA (Direct Memory Address) for writing data to the memory, and at least the transfer source device ID (Source-ID) and the transfer destination device ID are included in the header. (Destination-ID) and the memory address of the transfer destination device can be specified.

本実施の形態においては、転送元装置のIDには、パケット転送装置1のIDが指定され、転送先装置のIDには、パケット受信装置3のIDが指定され、転送先装置のメモリアドレスには、パケット受信装置3のバッファ21におけるアドレスが指定される。   In the present embodiment, the ID of the packet transfer device 1 is specified as the ID of the transfer source device, the ID of the packet reception device 3 is specified as the ID of the transfer destination device, and the memory address of the transfer destination device is set. The address in the buffer 21 of the packet receiving device 3 is designated.

また、パケット変換部11は、バッファ21に対して受信パケットの断片を書き込む領域の直前に、この受信パケットの長さを書き込むための予約領域を確保するように転送用パケットのヘッダに書き込みアドレスを指定するようになっている。本実施の形態において、予約領域の長さは、4バイトとする。   Further, the packet conversion unit 11 sets a write address in the header of the transfer packet so as to secure a reserved area for writing the length of the received packet immediately before the area in which the fragment of the received packet is written in the buffer 21. It is designed to specify. In the present embodiment, the length of the reserved area is 4 bytes.

すなわち、バッファ21が空であると仮定すると、パケット変換部11は、予約領域として、先頭から4バイトを確保し、5バイト目から受信パケットの断片が順次書き込まれていくように転送用パケットのヘッダに書き込みアドレスを指定するようになっている。   That is, assuming that the buffer 21 is empty, the packet converting unit 11 secures 4 bytes from the head as a reserved area, and transfers the packet of the transfer packet so that the received packet fragments are sequentially written from the 5th byte. The write address is specified in the header.

また、バッファ21にデータが書き込み済みであると仮定すると、パケット変換部11は、予約領域として、書き込み済みのデータに続く4バイトを確保し、以降から受信パケットの断片が順次書き込まれていくように転送用パケットのヘッダに書き込みアドレスを指定するようになっている。   Assuming that data has been written to the buffer 21, the packet conversion unit 11 secures 4 bytes following the written data as a reserved area, and the received packet fragments are sequentially written thereafter. The write address is specified in the header of the transfer packet.

パケット転送部12は、このようにパケット変換部11によってフォーマット変換された転送用パケットをパケット受信装置3にスイッチ2を介して転送するようになっている。   The packet transfer unit 12 transfers the transfer packet that has been converted in format by the packet conversion unit 11 to the packet receiving device 3 via the switch 2.

また、パケット変換部11は、受信パケットの全ての断片を含む転送用パケットの転送が完了したことを条件として、受信パケットの長さを表すデータと、予約領域の先頭アドレスとをヘッダに含む転送用パケットを生成するようになっている。パケット転送部12は、このようにパケット変換部11によって生成された転送用パケットをパケット受信装置3に転送するようになっている。   In addition, the packet conversion unit 11 performs transfer including data indicating the length of the received packet and the start address of the reserved area in the header on the condition that transfer of the transfer packet including all fragments of the received packet has been completed. Packet is generated. The packet transfer unit 12 transfers the transfer packet generated by the packet conversion unit 11 in this way to the packet receiving device 3.

本実施の形態において、パケット受信装置3のパケット受信部20は、sRIO規格に準拠して、パケット転送装置1からスイッチ2を介して転送された転送用パケットを受信するようになっている。   In the present embodiment, the packet receiving unit 20 of the packet receiving device 3 receives a transfer packet transferred from the packet transfer device 1 via the switch 2 in accordance with the sRIO standard.

バッファ21は、パケット転送装置1a〜1cに対応する数の論理的または物理的なセグメント31a〜31cに記憶領域が分割されている。以下、セグメント31a〜31cを総称して「セグメント31」という。   The buffer 21 has a storage area divided into a number of logical or physical segments 31a to 31c corresponding to the packet transfer apparatuses 1a to 1c. Hereinafter, the segments 31a to 31c are collectively referred to as “segment 31”.

各パケット受信装置3のパケット受信部20は、セグメント31aに対して、パケット転送装置1aから転送された転送用パケットのヘッダに含まれる書き込みアドレスが指す位置に、転送用パケットのペイロードを書き込むようになっている。   The packet receiving unit 20 of each packet receiving device 3 writes the payload of the transfer packet to the segment 31a at the position indicated by the write address included in the header of the transfer packet transferred from the packet transfer device 1a. It has become.

また、各パケット受信装置3のパケット受信部20は、セグメント31bに対して、パケット転送装置1bから転送された転送用パケットのヘッダに含まれる書き込みアドレスが指す位置に、転送用パケットのペイロードを書き込むようになっている。   Further, the packet receiving unit 20 of each packet receiving device 3 writes the payload of the transfer packet to the segment 31b at the position indicated by the write address included in the header of the transfer packet transferred from the packet transfer device 1b. It is like that.

同様に、各パケット受信装置3のパケット受信部20は、セグメント31cに対して、パケット転送装置1cから転送された転送用パケットのヘッダに含まれる書き込みアドレスが指す位置に、転送用パケットのペイロードを書き込むようになっている。   Similarly, the packet receiving unit 20 of each packet receiving device 3 places the payload of the transfer packet at the position indicated by the write address included in the header of the transfer packet transferred from the packet transfer device 1c with respect to the segment 31c. It comes to write.

パケット送信部22は、例えば、ラウンドロビン方式で、セグメント31a〜31cに書き込まれたデータをパケット単位で他の装置に送信するようになっている。ここで、セグメント31a〜31cに書き込まれたデータは、まず、受信パケットの長さを表し、それに続いて受信パケットを表すことになる。   The packet transmission unit 22 is configured to transmit data written in the segments 31a to 31c to other devices in units of packets, for example, in a round robin method. Here, the data written in the segments 31a to 31c first represents the length of the received packet, and subsequently represents the received packet.

このため、パケット送信部22は、セグメント31から4バイトのデータを読み出し、この4バイトのデータが表す受信パケットの長さ分のデータ、すなわち、受信パケットを読み出すようになっている。   For this reason, the packet transmission unit 22 reads out 4-byte data from the segment 31, and reads out data corresponding to the length of the received packet represented by the 4-byte data, that is, the received packet.

以上のように構成されたパケット転送装置1の転送動作について図2を参照して説明する。ここでは、受信パケットがイーサネット(登録商標)フレーム50を構成するものとする。   A transfer operation of the packet transfer apparatus 1 configured as described above will be described with reference to FIG. Here, it is assumed that the received packet constitutes an Ethernet (registered trademark) frame 50.

なお、図2において、「H」は、イーサネット(登録商標)フレーム50のヘッダを表し、「D」は、イーサネット(登録商標)フレーム50のペイロードを表し、「F」は、イーサネット(登録商標)フレーム50のフッタを表している。   In FIG. 2, “H” represents the header of the Ethernet (registered trademark) frame 50, “D” represents the payload of the Ethernet (registered trademark) frame 50, and “F” represents Ethernet (registered trademark). A footer of the frame 50 is represented.

パケット転送装置1のパケット受信部10に受信されたイーサネット(登録商標)フレーム50は、パケット変換部11によって断片化され、それぞれsRIOパケットのヘッダHsおよびフッタFsが付された転送用パケット51a〜51dに変換され、パケット転送部12によって転送される。   The Ethernet (registered trademark) frame 50 received by the packet receiver 10 of the packet transfer apparatus 1 is fragmented by the packet converter 11 and transferred packets 51a to 51d to which the header Hs and footer Fs of the sRIO packet are added, respectively. And is transferred by the packet transfer unit 12.

ここで、sRIOパケットの各ヘッダHsには、パケット変換部11によって、転送元装置のIDとしてパケット転送装置1のIDが指定され、転送先装置のIDとしてパケット受信装置3のIDが指定され、転送先装置のメモリアドレスとしてパケット受信装置3のセグメント31におけるアドレスが指定される。   Here, in each header Hs of the sRIO packet, the packet conversion unit 11 specifies the ID of the packet transfer device 1 as the ID of the transfer source device, and the ID of the packet reception device 3 as the ID of the transfer destination device. The address in the segment 31 of the packet receiving device 3 is designated as the memory address of the transfer destination device.

受信パケットの全ての断片を含む転送用パケットの転送が完了すると、パケット受信部10によるバイトカウント等によって得られた受信パケットの長さを表すデータLにsRIOパケットのヘッダHsおよびフッタFsが付された転送用パケット52がパケット変換部11によって生成され、パケット転送部12によって転送される。   When transfer of the transfer packet including all fragments of the received packet is completed, the header Hs and footer Fs of the sRIO packet are added to the data L indicating the length of the received packet obtained by byte counting by the packet receiving unit 10 or the like. The transfer packet 52 is generated by the packet conversion unit 11 and transferred by the packet transfer unit 12.

このように、パケット転送装置1によって転送された転送用パケットに基づいてセグメント31に格納されるデータは、図3に示すようになる。なお、図3においても、「H」は、イーサネット(登録商標)フレームのヘッダを表し、「D」は、イーサネット(登録商標)フレームのペイロードを表し、「F」は、イーサネット(登録商標)フレームのフッタを表している。   As described above, the data stored in the segment 31 based on the transfer packet transferred by the packet transfer apparatus 1 is as shown in FIG. In FIG. 3, “H” represents the header of the Ethernet (registered trademark) frame, “D” represents the payload of the Ethernet (registered trademark) frame, and “F” represents the Ethernet (registered trademark) frame. Represents the footer.

データの格納位置としては、まず、セグメント31の先頭から、受信パケットの長さを表すデータLが格納され、続いて、イーサネット(登録商標)フレームのヘッダH、ペイロードD、フッタFが格納される。続いて、次の受信パケットの長さを表すデータLnが格納され、以降、同様に格納される。したがって、パケット送信部22がセグメント31をリングバッファのように用いることにより、受信パケットの長さと受信パケット(H、D、D、D、F)とを順次読み出すことが可能となる。   As the data storage position, first, data L representing the length of the received packet is stored from the beginning of the segment 31, and then the header H, payload D, and footer F of the Ethernet (registered trademark) frame are stored. . Subsequently, data Ln representing the length of the next received packet is stored, and thereafter stored in the same manner. Therefore, by using the segment 31 as a ring buffer, the packet transmission unit 22 can sequentially read the length of the received packet and the received packets (H, D, D, D, F).

なお、データの格納順序としては、図2に示したように、イーサネット(登録商標)フレームのヘッダH、ペイロードDおよびフッタFが格納された後に、受信パケットの長さを表すデータLが格納される。以降の受信パケットについても、同様な順序でデータが格納される。   As shown in FIG. 2, after the header H, payload D, and footer F of the Ethernet (registered trademark) frame are stored, the data L representing the length of the received packet is stored as the data storage order. The For subsequent received packets, data is stored in the same order.

以下、セグメント31に対するデータの格納について、より詳細に説明する。各セグメント31a〜31cは、ライトポインタの値に基づいて、書き込み位置が管理される。各パケット転送装置1a〜1cのパケット転送部12は、対応するセグメント31a〜31cのライトポインタの値をそれぞれ管理すると共に、このライトポインタの値に基づいて、転送パケットのペイロード、すなわち、受信パケットの書き込みアドレスを決定する。   Hereinafter, storage of data in the segment 31 will be described in more detail. The write positions of each segment 31a to 31c are managed based on the value of the write pointer. The packet transfer unit 12 of each of the packet transfer apparatuses 1a to 1c manages the value of the write pointer of the corresponding segment 31a to 31c, and based on the value of the write pointer, the payload of the transfer packet, that is, the received packet Determine the write address.

例えば、図3に示すように、アドレスA0の直前のアドレスまで、セグメント31に書き込みが行われている状態であるとする。このとき、ライトポインタの値は、次に書き込みが可能なアドレスA0である。   For example, as shown in FIG. 3, it is assumed that the segment 31 has been written to the address immediately before the address A0. At this time, the value of the write pointer is an address A0 that can be written next.

ここで、パケット転送部12は、受信パケットを転送しようとするときに、ライトポインタの値に基づいたアドレスA0に対して、前述した予約領域(例えば、4バイト)を確保して、アドレスA1を書き込みアドレスとして決定し、決定したアドレスA1を指定して、受信パケットを転送するための最初の転送パケットを送信する。   Here, when trying to transfer the received packet, the packet transfer unit 12 secures the above-described reserved area (for example, 4 bytes) for the address A0 based on the value of the write pointer, and sets the address A1. The address is determined as a write address, the determined address A1 is designated, and the first transfer packet for transferring the received packet is transmitted.

そして、パケット転送部12は、受信パケットの転送済みのデータ長分だけアドレスをシフトしていくことにより、書き込みアドレス(A2、A3、A4)を決定し、決定したアドレス(A2、A3、A4)を指定して、以降の転送パケットを送信する。   Then, the packet transfer unit 12 determines the write address (A2, A3, A4) by shifting the address by the transferred data length of the received packet, and determines the determined address (A2, A3, A4). Is specified, and subsequent transfer packets are transmitted.

受信パケットの転送が完了すると、パケット転送部12は、予約領域のアドレスA0を書き込みアドレスとして決定、決定したアドレスA0を指定して、受信パケットの長さを表すデータLを格納した転送パケットを送信する。   When transfer of the received packet is completed, the packet transfer unit 12 determines the address A0 of the reserved area as the write address, specifies the determined address A0, and transmits the transfer packet storing the data L indicating the length of the received packet To do.

その後、パケット転送部12は、セグメント31の次の書き込みが可能なアドレスA5を示すようにライトポインタの値を更新して、この受信パケットに対する転送処理を完了する。以降、パケット転送部12は、受信パケットを転送する度に、以上に説明した転送動作をライトポインタの値を更新しながら繰り返し実行する。   Thereafter, the packet transfer unit 12 updates the value of the write pointer so as to indicate the address A5 where the next write of the segment 31 is possible, and completes the transfer process for this received packet. Thereafter, each time the received packet is transferred, the packet transfer unit 12 repeatedly executes the transfer operation described above while updating the value of the write pointer.

一方、各セグメント31a〜31cは、リードポインタの値に基づいて、読み出し位置が管理される。各パケット受信装置3a〜3cのパケット送信部22は、対応するセグメント31a〜31cのリードポインタの値をそれぞれ管理し、このリードポインタの値に基づいて、受信パケットの読み出しアドレスを決定する。   On the other hand, the read position of each segment 31a to 31c is managed based on the value of the read pointer. The packet transmission unit 22 of each of the packet reception devices 3a to 3c manages the read pointer value of the corresponding segment 31a to 31c, and determines the read address of the received packet based on the read pointer value.

例えば、図3に示すように、アドレスA0の直前のアドレスまで、セグメント31から読み出しが行われている状態であるとする。このとき、リードポインタの値は、次に読み出しが可能なアドレスA0である。   For example, as shown in FIG. 3, it is assumed that reading is performed from the segment 31 up to the address immediately before the address A0. At this time, the value of the read pointer is an address A0 that can be read next.

ここで、パケット送信部22は、ライトポインタの値がアドレスA0を示し、アドレスA0に対するデータの書き込みが完了し、ライトポインタの値が他のアドレスを示したことを条件として、リードポインタの値に基づいたアドレスA0を読み出しアドレスとして決定し、決定したアドレスA0を指定して、受信パケットの長さを表すデータLを予約領域から読み出す。   Here, the packet transmission unit 22 sets the value of the read pointer to the value of the read pointer on the condition that the write pointer value indicates the address A0, the writing of data to the address A0 is completed, and the write pointer value indicates another address. The base address A0 is determined as a read address, the determined address A0 is specified, and data L representing the length of the received packet is read from the reserved area.

次に、パケット送信部22は、アドレスA0から予約領域分シフトしたアドレスA1を読み出しアドレスとして決定し、決定したアドレスA1を指定して、アドレスA1からデータLが表す長さ分のデータ、すなわち、受信パケットを読み出す。   Next, the packet transmission unit 22 determines the address A1 shifted from the address A0 by the reserved area as a read address, specifies the determined address A1, and the data for the length represented by the data L from the address A1, that is, Read the received packet.

その後、パケット送信部22は、アドレスA1からデータLが表す長さ分シフトしたアドレスA5を示すようにリードポインタの値を更新して、この受信パケットに対する読み出し動作を完了する。以降、パケット送信部22は、パケット転送部12によって転送され、セグメント31に格納された受信パケットを読み出す度に、以上に説明した読み出し動作をリードポインタの値を更新しながら繰り返し実行する。   Thereafter, the packet transmitter 22 updates the value of the read pointer so as to indicate the address A5 shifted from the address A1 by the length indicated by the data L, and completes the read operation for the received packet. Thereafter, each time the received packet transferred by the packet transfer unit 12 and stored in the segment 31 is read, the packet transmission unit 22 repeatedly executes the read operation described above while updating the value of the read pointer.

以上に説明したように、パケット受信装置3が、予約領域に書き込まれた長さ分のデータをバッファ21から読み出すことにより、受信パケットを再生することができるため、本実施の形態のパケット転送装置1は、パケットのインターフェース規格に依らずに、パケットを転送することができる。   As described above, since the packet receiving device 3 can reproduce the received packet by reading the data corresponding to the length written in the reserved area from the buffer 21, the packet transfer device according to the present embodiment. 1 can transfer a packet regardless of the interface standard of the packet.

なお、本実施の形態において、転送用パケットがsRIO規格に準拠するものとして説明したが、本発明においては、本発明において、転送用パケットは、ヘッダに書き込みアドレスを含めることができる規格に準拠していればよい。   In this embodiment, the transfer packet has been described as conforming to the sRIO standard. However, in the present invention, in the present invention, the transfer packet conforms to a standard in which a write address can be included in the header. It only has to be.

また、図4に示すように、パケット変換部11は、書き込みアドレスをペイロードの特定位置に格納し、他の転送規格に準拠した転送用パケットに受信パケットをフォーマット変換するようにしてもよい。この場合には、パケット受信部20は、DMA機能を有するように構成される。   Also, as shown in FIG. 4, the packet converter 11 may store the write address at a specific position in the payload and convert the format of the received packet into a transfer packet compliant with another transfer standard. In this case, the packet receiver 20 is configured to have a DMA function.

なお、図4においても、「H」は、イーサネット(登録商標)フレーム50のヘッダを表し、「D」は、イーサネット(登録商標)フレーム50のペイロードを表し、「F」は、イーサネット(登録商標)フレーム50のフッタを表している。   4, “H” represents the header of the Ethernet® frame 50, “D” represents the payload of the Ethernet® frame 50, and “F” represents the Ethernet®. ) Represents the footer of the frame 50.

具体的には、パケット転送装置1のパケット受信部10に受信されたイーサネット(登録商標)フレーム50は、パケット変換部11によって断片化され、それぞれ転送用パケットのヘッダHi、書き込みアドレスUiおよびフッタFiが付された転送用パケット61a〜61dに変換され、パケット転送部12によって転送される。   Specifically, the Ethernet (registered trademark) frame 50 received by the packet receiving unit 10 of the packet transfer apparatus 1 is fragmented by the packet converting unit 11, and each of the header Hi, the write address Ui, and the footer Fi of the transfer packet. Are transferred to the transfer packets 61 a to 61 d with “” and transferred by the packet transfer unit 12.

ここで、パケット変換部11によって、転送用パケットのヘッダHsには、転送元装置のIDとしてパケット転送装置1のIDが指定され、転送先装置のIDとしてパケット受信装置3のIDが指定され、書き込みアドレスUiには、転送先装置のメモリアドレスとしてパケット受信装置3のセグメント31におけるアドレスが指定される。   Here, the packet conversion unit 11 specifies the ID of the packet transfer device 1 as the ID of the transfer source device and the ID of the packet reception device 3 as the ID of the transfer destination device in the header Hs of the transfer packet. In the write address Ui, an address in the segment 31 of the packet receiving device 3 is designated as a memory address of the transfer destination device.

受信パケットの全ての断片を含む転送用パケットの転送が完了すると、パケット受信部10によるバイトカウント等によって得られた受信パケットの長さを表すデータLに転送用パケットのヘッダHi、書き込みアドレスUiおよび転送用パケットのフッタFiが付された転送用パケット62がパケット変換部11によって生成され、パケット転送部12によって転送される。   When the transfer of the transfer packet including all fragments of the received packet is completed, the transfer packet header Hi, the write address Ui, and the data L representing the length of the received packet obtained by byte counting by the packet receiving unit 10 and the like. A transfer packet 62 with a transfer packet footer Fi is generated by the packet conversion unit 11 and transferred by the packet transfer unit 12.

本発明に係るパケット転送装置は、ボード上に設けられたデバイス間に配置されるパケット転送装置に適用する他に、例えば、移動端末の試験装置の内部データ転送機能に適用することができる。   The packet transfer apparatus according to the present invention can be applied to, for example, an internal data transfer function of a test apparatus of a mobile terminal, in addition to being applied to a packet transfer apparatus arranged between devices provided on a board.

1、1a〜1c パケット転送装置
2 スイッチ
3、3a〜3c パケット受信装置
10、20 パケット受信部
11 パケット変換部
12 パケット転送部
21 バッファ
22 パケット送信部
31、31a〜31c セグメント
DESCRIPTION OF SYMBOLS 1, 1a-1c Packet transfer apparatus 2 Switch 3, 3a-3c Packet reception apparatus 10, 20 Packet reception part 11 Packet conversion part 12 Packet transfer part 21 Buffer 22 Packet transmission part 31, 31a-31c Segment

Claims (5)

受信パケットを他の装置(3a〜3c)に転送するパケット転送装置において、
前記受信パケットの断片と、前記他の装置の記憶媒体(21)に対する該断片の書き込みアドレスとを含む複数の転送用パケットに該受信パケットをフォーマット変換するパケット変換部(11)と、
前記転送用パケットを前記他の装置に転送するパケット転送部(12)と、を備え、
前記パケット変換部は、前記記憶媒体に対して前記断片を書き込む領域の直前に該受信パケットの長さを書き込むための予約領域を確保するように前記転送用パケットに前記書き込みアドレスを指定し、該転送用パケットの転送が完了したことを条件として、該受信パケットの長さを表すデータと、前記予約領域の先頭アドレスとを含む転送用パケットを生成し、
前記パケット転送部は、前記パケット変換部によって生成された転送用パケットを前記他の装置に転送することを特徴とするパケット転送装置。
In a packet transfer device that transfers received packets to other devices (3a to 3c),
A packet converter (11) for converting the format of the received packet into a plurality of transfer packets including the fragment of the received packet and the write address of the fragment for the storage medium (21) of the other device;
A packet transfer unit (12) for transferring the transfer packet to the other device;
The packet conversion unit designates the write address in the transfer packet so as to secure a reserved area for writing the length of the received packet immediately before the area in which the fragment is written to the storage medium, On the condition that transfer of the transfer packet is completed, a transfer packet including data indicating the length of the received packet and the start address of the reserved area is generated,
The packet transfer unit, wherein the packet transfer unit transfers the transfer packet generated by the packet conversion unit to the other device.
前記パケット変換部は、前記書き込みアドレスをペイロードの特定位置に格納した転送用パケットに前記受信パケットをフォーマット変換することを特徴とする請求項1に記載のパケット転送装置。   The packet transfer apparatus according to claim 1, wherein the packet conversion unit converts the format of the received packet into a transfer packet in which the write address is stored at a specific position of a payload. 前記パケット変換部は、Serial RapidIO規格に準拠した転送用パケットに前記受信パケットをフォーマット変換することを特徴とする請求項2に記載のパケット転送装置。   3. The packet transfer apparatus according to claim 2, wherein the packet conversion unit converts the format of the received packet into a transfer packet compliant with the Serial RapidIO standard. 前記パケット変換部は、前記書き込みアドレスがヘッダに追加された転送用パケットに前記受信パケットをフォーマット変換することを特徴とする請求項1に記載のパケット転送装置。   The packet transfer apparatus according to claim 1, wherein the packet conversion unit converts the format of the received packet into a transfer packet in which the write address is added to a header. 受信パケットを他の装置(3a〜3c)に転送するパケット転送装置(1a〜1c)を用いたパケット転送方法において、
前記受信パケットの断片と、前記他の装置の記憶媒体(21)に対する該断片の書き込みアドレスとを含む複数の転送用パケットに該受信パケットをフォーマット変換するパケット変換ステップと、
前記転送用パケットを前記記憶媒体に転送するパケット転送ステップと、を有し、
前記パケット変換ステップは、
前記記憶媒体に対して前記断片を書き込む領域の直前に該受信パケットの長さを書き込むための予約領域を確保するように前記転送用パケットに前記書き込みアドレスを指定するアドレス指定ステップと、
該転送用パケットの転送が完了したことを条件として、該受信パケットの長さを表すデータと、前記予約領域の先頭アドレスとを含む転送用パケットを生成するパケット生成ステップと、を含み、
前記パケット転送ステップは、
前記パケット生成ステップで生成された転送用パケットを転送するステップを含むことを特徴とするパケット転送方法。
In a packet transfer method using a packet transfer device (1a to 1c) for transferring a received packet to another device (3a to 3c),
A packet conversion step for converting the format of the received packet into a plurality of transfer packets including the fragment of the received packet and the write address of the fragment for the storage medium (21) of the other device;
A packet transfer step of transferring the transfer packet to the storage medium,
The packet conversion step includes:
An address designating step for designating the write address in the transfer packet so as to reserve a reserved area for writing the length of the received packet immediately before the area in which the fragment is written to the storage medium;
A packet generation step of generating a transfer packet including data indicating the length of the received packet and the start address of the reserved area on the condition that the transfer of the transfer packet is completed,
The packet transfer step includes:
A packet transfer method comprising the step of transferring the transfer packet generated in the packet generation step.
JP2011144515A 2011-06-29 2011-06-29 Packet transfer apparatus and packet transfer method Active JP5282124B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011144515A JP5282124B2 (en) 2011-06-29 2011-06-29 Packet transfer apparatus and packet transfer method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011144515A JP5282124B2 (en) 2011-06-29 2011-06-29 Packet transfer apparatus and packet transfer method

Publications (2)

Publication Number Publication Date
JP2013012922A JP2013012922A (en) 2013-01-17
JP5282124B2 true JP5282124B2 (en) 2013-09-04

Family

ID=47686428

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011144515A Active JP5282124B2 (en) 2011-06-29 2011-06-29 Packet transfer apparatus and packet transfer method

Country Status (1)

Country Link
JP (1) JP5282124B2 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000020490A (en) * 1998-07-01 2000-01-21 Fujitsu Ltd Computer having remote procedure calling mechanism or object request broker mechanism, data transfer method and transfer method storage medium
JP4662273B2 (en) * 2006-03-24 2011-03-30 富士通株式会社 Communication apparatus, method and program
JP2010212987A (en) * 2009-03-10 2010-09-24 Kyocera Corp Data transmission system, and method of reading data for the same
JP2010258567A (en) * 2009-04-22 2010-11-11 Kyocera Corp Data transmission system, and data transmission method of the same

Also Published As

Publication number Publication date
JP2013012922A (en) 2013-01-17

Similar Documents

Publication Publication Date Title
JP5280135B2 (en) Data transfer device
US11954055B2 (en) Mapping high-speed, point-to-point interface channels to packet virtual channels
JP4477613B2 (en) NoC system applying AXI protocol
JP4974078B2 (en) Data processing device
US11539623B2 (en) Single field for encoding multiple elements
US11777864B2 (en) Transparent packet splitting and recombining
US11412075B2 (en) Multiple protocol header processing
JP7074839B2 (en) Packet processing
CN108052750B (en) SPI FLASH controller based on FPGA and design method thereof
US11695704B2 (en) Reduced sized encoding of packet length field
WO2021147050A1 (en) Pcie-based data transmission method and apparatus
US20230244416A1 (en) Communicating a programmable atomic operator to a memory controller
CN114385240A (en) Method for organizing programmable atomic unit instruction memory
CN116583829A (en) Programmable atomic operator resource locking
CN114385241A (en) Method for completing programmable atomic transaction
CN113439419B (en) PCIe-based data transmission method, device and system
CN116636189A (en) Packet arbitration for buffered packets in a network device
JP2010211322A (en) Network processor, reception controller, and data reception processing method
WO2021147051A1 (en) Data transmission method and apparatus based on pcie
JP2014179066A (en) Storage control device, storage system, and storage control method
JP5282124B2 (en) Packet transfer apparatus and packet transfer method
WO2010122897A1 (en) Data transmission system and data transmission method
JP2004056376A (en) Semiconductor device and data transfer control method
CN117234977B (en) Data processing method, system, device and computer readable storage medium
CN116048893B (en) Method for testing optical fiber bus interface and related equipment

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130510

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130527

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5282124

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

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