Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5817458B2 - Transfer processing device - Google Patents
[go: Go Back, main page]

JP5817458B2 - Transfer processing device - Google Patents

Transfer processing device Download PDF

Info

Publication number
JP5817458B2
JP5817458B2 JP2011252694A JP2011252694A JP5817458B2 JP 5817458 B2 JP5817458 B2 JP 5817458B2 JP 2011252694 A JP2011252694 A JP 2011252694A JP 2011252694 A JP2011252694 A JP 2011252694A JP 5817458 B2 JP5817458 B2 JP 5817458B2
Authority
JP
Japan
Prior art keywords
frame
processing unit
transfer
speed
speed transfer
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
JP2011252694A
Other languages
Japanese (ja)
Other versions
JP2013110509A (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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2011252694A priority Critical patent/JP5817458B2/en
Publication of JP2013110509A publication Critical patent/JP2013110509A/en
Application granted granted Critical
Publication of JP5817458B2 publication Critical patent/JP5817458B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は転送処理装置に関し、例えば、複雑なフレーム処理や制御を行うアプリケーション用プロセッサと、フレームを高速にブリッジ転送するためのファストパス用プロセッサを有するものに適用し得るものである。   The present invention relates to a transfer processing apparatus and can be applied to, for example, an application processor that performs complex frame processing and control and a fast path processor that bridges and transfers frames at high speed.

転送処理などを行う転送処理装置を有する通信装置において、リンク速度の速いポートからリンク速度の遅いポートヘフレーム転送する場合には、リンク速度の速いポートからのデータをシェーピングし、速度を調整する必要がある。シェーピングには、周知のように、バッファが利用される(特許文献1参照)。従来では、ハードウェア実装されたバッファ(例えば、内部スイッチに設けられているフレームバッファ)を利用し、フレームロスを抑制していた。   When a frame transfer is performed from a port with a high link speed to a port with a low link speed in a communication apparatus having a transfer processing apparatus that performs transfer processing, etc., it is necessary to shape the data from the port with a high link speed and adjust the speed. There is. As is well known, a buffer is used for shaping (see Patent Document 1). Conventionally, a frame loss is suppressed by using a hardware-mounted buffer (for example, a frame buffer provided in an internal switch).

特開2008−205932号公報JP 2008-205932 A

しかしながら、内部スイッチ内の入出力のタイミングを調整するバッファメモリをシェーピング用のフレームバッファとして用いているため、シェーピング機能から見た場合、そのバッファの容量は小さい。そのため、バースト耐性が低くなっていた。また、バッファ容量が少ないため、キューイングの観点を動的に変化させるようなことにも対応し難いものであった。   However, since the buffer memory for adjusting the input / output timing in the internal switch is used as a frame buffer for shaping, the capacity of the buffer is small when viewed from the shaping function. Therefore, the burst tolerance was low. In addition, since the buffer capacity is small, it is difficult to cope with dynamically changing the viewpoint of queuing.

一方、より大きなバースト耐性を達成でき、動的にキューイングできるようにするためには、バッファを大きくするなど、バッファ回りのハードウェア構成を変更しなければならないという課題があった。   On the other hand, in order to achieve greater burst tolerance and to enable dynamic queuing, there has been a problem that the hardware configuration around the buffer has to be changed, such as increasing the buffer.

そのため、ハードウェア構成を変更することなく、フレームのキューイングを動的に変更し得て、バースト耐性を確保できる転送処理装置が望まれている。   Therefore, there is a demand for a transfer processing device that can dynamically change the queuing of frames without changing the hardware configuration and can ensure burst tolerance.

本発明は、入出力ポートから入力されたフレームを宛先の入出力ポートへ転送する転送処理装置において、(1)高速転送対象のフレーム情報を記憶した第1の記憶部と、(2)高速転送するフレームをバッファリングするフレームバッファと、(3)複数のソフトウェアキューを内蔵し、キューイングされる高速転送のフレームを上記フレームバッファに格納させながら、高速転送処理する高速転送処理部と、(4)非高速転送対象のフレーム情報を記憶した第2の記憶部と、(5)非高速転送のフレームに対する転送処理を行うと共に、非高速転送のフレームが高速転送のフレームへ変更が可能か否かを判定し、変更が可能な場合に、オフロード設定要求を発行するブリッジ処理部と、(6)オフロード設定要求が発行されたとき、高速転送のフレームへ変更されるフレームに適用するソフトウェアキューを動的に割り当てるオフロード設定処理部とを有することを特徴とする。   The present invention relates to a transfer processing apparatus for transferring a frame input from an input / output port to a destination input / output port. (1) a first storage unit storing frame information to be transferred at high speed; and (2) high-speed transfer. A frame buffer for buffering frames to be transmitted; (3) a high-speed transfer processing unit that incorporates a plurality of software queues and performs high-speed transfer processing while storing the queued high-speed transfer frames in the frame buffer; ) Second storage unit storing frame information for non-high-speed transfer; and (5) Performing transfer processing for non-high-speed transfer frames and whether non-high-speed transfer frames can be changed to high-speed transfer frames. A bridge processing unit that issues an offload setting request when the change is possible, and (6) a high speed when the offload setting request is issued And having a offload setting processing unit for dynamically allocating a software queue to be applied to the frame to be changed to send the frame.

本発明によれば、ハードウェア構成を変更することなく、フレームのキューイングを動的に変更し得て、バースト耐性を確保できる転送処理装置を実現できる。   According to the present invention, it is possible to realize a transfer processing apparatus that can dynamically change the queuing of frames without changing the hardware configuration and can ensure burst tolerance.

第1の実施形態の転送処理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the transfer processing apparatus of 1st Embodiment. 第1の実施形態の転送処理装置における高速転送処理部がキューイングを制御するソフトウェアキューの説明図である。It is explanatory drawing of the software queue which the high-speed transfer process part in the transfer processing apparatus of 1st Embodiment controls queuing. 第1の実施形態の転送処理装置におけるソフトウェアキューに対する優先度の設定例を示す説明図である。It is explanatory drawing which shows the example of a setting of the priority with respect to the software queue in the transfer processing apparatus of 1st Embodiment. 第1の実施形態の転送処理装置における高速転送処理部及びブリッジ処理部が転送対象とするフレームの説明図である。It is explanatory drawing of the flame | frame made into the transfer object by the high-speed transfer process part and bridge process part in the transfer processing apparatus of 1st Embodiment. 第1の実施形態の転送処理装置において、フレーム転送時にフレームの宛先ポートを自動的に判定し、ソフトウェアキューを割り当てる動作を示すシーケンス図である。FIG. 7 is a sequence diagram illustrating an operation of automatically determining a destination port of a frame and assigning a software queue at the time of frame transfer in the transfer processing device according to the first embodiment. 第1の実施形態の転送処理装置において、バースト耐性を具備したい方向と逆方向のフレーム転送時に、フレームの送信元ポートを自動的に判定し、ソフトウェアキューを割り当てる動作を示すシーケンス図である。FIG. 6 is a sequence diagram illustrating an operation of automatically determining a frame transmission source port and allocating a software queue when transferring a frame in a direction opposite to a direction in which burst tolerance is desired in the transfer processing device according to the first embodiment. 第1の実施形態の転送処理装置において、自動的にシェーパのシェーピング帯域(シェーピングレート)を設定する動作を示すシーケンス図である。FIG. 6 is a sequence diagram illustrating an operation of automatically setting a shaping band (shaping rate) of a shaper in the transfer processing device according to the first embodiment. 第2の実施形態の転送処理装置において、フレーム転送時にフレームの優先度を自動的に判定し、ソフトウェアキューを割り当てる動作を示すシーケンス図である。FIG. 10 is a sequence diagram illustrating an operation of automatically determining frame priority at the time of frame transfer and assigning a software queue in the transfer processing device according to the second embodiment.

(A)第1の実施形態
以下、本発明による転送処理装置の第1の実施形態を、図面を参照しながら説明する。
(A) First Embodiment Hereinafter, a first embodiment of a transfer processing apparatus according to the present invention will be described with reference to the drawings.

(A−1)第1の実施形態の構成
図1は、通信装置内に実装される第1の実施形態の転送処理装置1の構成を示すブロック図である。以下の構成説明では、後述する実施形態に関係する部分をも区別することなく説明している。
(A-1) Configuration of First Embodiment FIG. 1 is a block diagram illustrating a configuration of a transfer processing device 1 according to the first embodiment mounted in a communication device. In the following description of the configuration, portions related to embodiments described later are also described without distinction.

ここで、通信装置は、例えば、有線通信機能に対応しているものであり、第1の実施形態の転送処理装置1に加え、受信部、送信部などを有している。通信装置は、例えば、VoIP(Voice over IP)ゲートウェイやホームゲートウェイなどである。   Here, the communication device corresponds to, for example, a wired communication function, and includes a reception unit, a transmission unit, and the like in addition to the transfer processing device 1 of the first embodiment. The communication device is, for example, a VoIP (Voice over IP) gateway or a home gateway.

第1の実施形態の転送処理装置1は、例えば、全体が1チップの半導体集積回路で構成されており、大きくは、CPU(Central Processing Unit)2と内部スイッチ(内部SW)3とに分かれている。CPU2は、複雑なフレーム処理や制御を行うアプリケーション用プロセッサ(以下、APと呼ぶ)10と、フレームを高速にブリッジ転送するためのファストパス用プロセッサ(以下、FPと呼ぶ)20とを有する。内部スイッチ3は、例えば、CPU2とLAN(Local Area Network)ポート/WAN(Wide Area Network)ポートを中継するためのレイヤ2スイッチである。CPU2と内部スイッチ3は、RGMII(Reduced Gigabit Media Independent Interface)等で接続されており、LAN用とWAN用がそれぞれ別に接続されている。   The transfer processing apparatus 1 according to the first embodiment is configured, for example, as a whole by a one-chip semiconductor integrated circuit, and is roughly divided into a CPU (Central Processing Unit) 2 and an internal switch (internal SW) 3. Yes. The CPU 2 includes an application processor (hereinafter referred to as AP) 10 that performs complex frame processing and control, and a fast path processor (hereinafter referred to as FP) 20 for bridge-transferring frames at high speed. The internal switch 3 is a layer 2 switch for relaying, for example, the CPU 2 and a LAN (Local Area Network) port / WAN (Wide Area Network) port. The CPU 2 and the internal switch 3 are connected by RGMII (Reduced Gigabit Media Independent Interface) or the like, and LAN and WAN are connected separately.

AP10上では、Linux(登録商標)のようなネットワークスタックを持つ汎用OS(Operating System)が動作しており、その上で、例えば、DHCP(Dynamic Host Confuguration Protocol)サーバ/クライアント、PPPoE(PPP over Ethernet)クライアント/サーバ、VoIPアプリケーション等のアプリケーションが動作する。   On the AP 10, a general-purpose OS (Operating System) having a network stack such as Linux (registered trademark) operates, and, for example, a DHCP (Dynamic Host Configuration Protocol) server / client, a PPPoE (PPP over Ethernet). ) Applications such as a client / server and a VoIP application operate.

FP20は、有線WANインタフェースや有線LANインタフェースから入ってきたフレームの高速転送を実現するものである。   The FP 20 realizes high-speed transfer of a frame that has entered from a wired WAN interface or a wired LAN interface.

FP20は、高速転送処理部21、第1のアドレス記憶部22及び第1のフレームバッファ23を有する。ここで、高速転送処理部21はCPU2内の構成であり、CPU2内のプログラムメモリに記憶されているプログラムに従ってソフトウェア的に処理するものである。   The FP 20 includes a high-speed transfer processing unit 21, a first address storage unit 22, and a first frame buffer 23. Here, the high-speed transfer processing unit 21 has a configuration in the CPU 2, and performs software processing in accordance with a program stored in a program memory in the CPU 2.

高速転送処理部21は、MACアドレスやIPアドレス等のパケットヘッダを検査することによって、高速転送(高速ブリッジ転送)の設定がなされているか否かを判定し、高速転送の設定がなされている場合には、そのフレームのヘッダを変換して、フレームの高速転送を行うものである。高速転送の設定がなされていないフレームを受信した場合には、高速転送処理部21は、そのフレームをAP10に転送する。高速転送処理部21は、高速転送の設定がなされているか否かの判定や、フレームヘッダの変換には、第1のアドレス記憶部22に保持された情報を利用する。   The high-speed transfer processing unit 21 determines whether or not high-speed transfer (high-speed bridge transfer) is set by inspecting a packet header such as a MAC address or an IP address, and when high-speed transfer is set In this method, the header of the frame is converted to transfer the frame at high speed. When a frame for which high-speed transfer is not set is received, the high-speed transfer processing unit 21 transfers the frame to the AP 10. The high-speed transfer processing unit 21 uses information held in the first address storage unit 22 for determining whether high-speed transfer is set or for converting the frame header.

また、高速転送処理部21は、フレームを転送する際、その転送フレームをどのソフトウェアキュー(Software queue)にキューイングするかを決定するのに、第1のアドレス記憶部22の後述するソフトウェアキュー番号の情報を利用する。このようなキューイング処理などを通じて、設定されたレートにシェーピングすることも可能である。   In addition, the high-speed transfer processing unit 21 determines a software queue to which the transfer frame is queued when transferring the frame, and a software queue number (described later) of the first address storage unit 22 is used. Use the information. It is also possible to shape to a set rate through such a queuing process.

図2は、高速転送処理部21がキューイングを制御するソフトウェアキューの説明図である。なお、フレームのデータ自体は、第1のフレームバッファ23に格納されるが、フレームの先入れ先出しを制御するためのフレーム特定情報だけをキューイングしたソフトウェアキューは高速転送処理部21内に設けられる。   FIG. 2 is an explanatory diagram of a software queue in which the high-speed transfer processing unit 21 controls queuing. Although the frame data itself is stored in the first frame buffer 23, a software queue that queues only frame specifying information for controlling the first-in first-out of the frame is provided in the high-speed transfer processing unit 21.

WANポート若しくはLANポートから入力され、内部スイッチ3を介して、高速転送処理部21に与えられたフレーム(の情報)は、目的側のWANポート若しくはLANポートに対応したソフトウェアキューSQ0〜SQNにキューイングされ、ソフトウェアキューSQ0〜SQNから出力されたフレームは、各ソフトウェアキューSQ0〜SQNにそれぞれ対応するシェーパ(Shaper)SH0〜SHNに与えられ、シェーパSH0〜SHNによって、送信帯域(レート)の設定値に応じて送信タイミングが制御され、シェーパSH0〜SHNから出力されたフレームは、内部スイッチ3を介して、目的側のWANポート若しくはLANポートに与えられる。   Frames (information) input from the WAN port or LAN port and given to the high-speed transfer processing unit 21 via the internal switch 3 are queued in the software queues SQ0 to SQN corresponding to the target WAN port or LAN port. The frames output from the software queues SQ0 to SQN are given to the shapers SH0 to SHN respectively corresponding to the software queues SQ0 to SQN. The frames output from the shapers SH0 to SHN are supplied to the target WAN port or LAN port via the internal switch 3.

ソフトウェアキューSQ0及びSQ1がシェーパSH0を共有しているように、複数のソフトウェアキュー(例えば優先度が異なるソフトウェアキュー)で1つのシェーパを共有することも可能である
また、各ソフトウェアキューSQ0〜SQNには優先度を設定することが可能で、設定された優先度に応じて、フレーム転送することが可能となる。
As the software queues SQ0 and SQ1 share the shaper SH0, a plurality of software queues (for example, software queues having different priorities) can share one shaper. Also, each software queue SQ0 to SQN It is possible to set a priority, and it is possible to transfer a frame according to the set priority.

図3は、ソフトウェアキューに対する優先度の設定例を示す説明図である。図3の例は、入出力ポートとして、1Gbps、100Mbps、10Mbpsに設定可能な4つのLANポート#1〜#4と、1Gbpsに固定であって設定不可の1つのWANポートを有し、フレームの優先度は、IPヘッダに含まれているDSCP(Differentiated Services Code Point)値によって4段階に設定されており、シェーパは、5つの入出力ポートに対応して5つ設けられている例である。ソフトウェアキューの数は、入出力ポートの数と、優先度の段階とを乗算した20である。図3の1行目L1は、ソフトウェアキュー「0」に関する設定を記述している。ソフトウェアキュー「0」は、WANポート宛てのフレームのうち、DSCP値が「46」の最低優先のフレームをキューイングするものであり、これに対応するシェーパは存在していない。また、図3の8行目L8は、ソフトウェアキュー「7」に関する設定を記述している。ソフトウェアキュー「7」は、LANポート#1宛てのフレームのうち、DSCP値が「46」、「32」及び「8」以外の値である最高優先のフレームをキューイングするものであり、これに対応するシェーパはシェーパ「1」であって、このシェーパ「1」はシェーピング帯域として、0、100Mbps、10Mbpsに設定可能なものである。   FIG. 3 is an explanatory diagram showing a setting example of priority for the software queue. The example of FIG. 3 has four LAN ports # 1 to # 4 that can be set to 1 Gbps, 100 Mbps, and 10 Mbps as input / output ports, and one WAN port that is fixed at 1 Gbps and cannot be set. The priorities are set in four stages according to DSCP (Differentiated Services Code Point) values included in the IP header, and five shapers are provided corresponding to five input / output ports. The number of software queues is 20, which is obtained by multiplying the number of input / output ports by the priority level. The first line L1 in FIG. 3 describes the setting for the software queue “0”. The software queue “0” is for queuing the lowest priority frame having the DSCP value “46” among the frames addressed to the WAN port, and there is no corresponding shaper. Further, the eighth line L8 in FIG. 3 describes the setting relating to the software queue “7”. The software queue “7” is for queuing the highest priority frame whose DSCP value is a value other than “46”, “32”, and “8” among the frames addressed to the LAN port # 1. The corresponding shaper is the shaper “1”, and this shaper “1” can be set to 0, 100 Mbps, and 10 Mbps as the shaping band.

図3の5行目L5〜L8に示すように、同じLANポート#1宛てのフレームをキューイングするソフトウェアキューの番号は、「4」、「5」、「6」、「7」のように連番となっており、「最低優先」、「低優先」、「高優先」、「最高優先」の4段階の優先度を、「0」、「1」、「2」、「3」と数値化した場合、「低優先」、「高優先」、「最高優先」のフレームをキューイングするソフトウェアキューの番号「5」、「6」、「7」は、「最低優先」のフレームをキューイングするソフトウェアキューの番号「4」に優先度数値「1」、「2」、「3」を加算したものとなっている。後述する第2の実施形態では、このようなソフトウェアキューの番号の割り付けを利用している。   As shown in the fifth line L5 to L8 in FIG. 3, the numbers of software queues for queuing frames addressed to the same LAN port # 1 are “4”, “5”, “6”, and “7”. It is a serial number, and the four priority levels of “lowest priority”, “low priority”, “high priority”, and “highest priority” are “0”, “1”, “2”, “3”. When digitized, software queue numbers “5”, “6”, and “7” that queue “low priority”, “high priority”, and “highest priority” frames queue “lowest priority” frames. The priority numbers “1”, “2”, and “3” are added to the software queue number “4” to be processed. In the second embodiment to be described later, such software queue number assignment is used.

図3に示すような設定が、高速転送処理部21に対して予めなされ、設定内容に応じて、高速転送処理部21がキューング処理やシェーピング処理を制御する。   Settings as shown in FIG. 3 are made in advance for the high-speed transfer processing unit 21, and the high-speed transfer processing unit 21 controls the queuing process and the shaping process according to the setting contents.

高速転送処理部21は、MACアドレスやIPアドレス等のパケットヘッダを検査することによって、高速転送の設定がなされているか否かを判定し、高速転送の設定がなされている場合には、そのフレームのヘッダを変換して、フレームの高速転送を行う。高速転送の設定がなされていないフレームを受信した場合には、高速転送処理部21は、そのフレームをAP10に転送する。   The high-speed transfer processing unit 21 determines whether or not high-speed transfer is set by inspecting a packet header such as a MAC address or an IP address. The frame header is converted to transfer the frame at high speed. When a frame for which high-speed transfer is not set is received, the high-speed transfer processing unit 21 transfers the frame to the AP 10.

第1のアドレス記憶部22は、FP20が高速転送処理すべきフレームの情報を保持しているものである。第1のアドレス記憶部22の記憶単位であるエントリは、[1]宛先MACアドレス、[2]送信元MACアドレス、[3]宛先IPアドレス、[4]送信元IPアドレス、[5]プロトコル、[6]宛先ポート、[7]送信元ポート、[8]イーサタイプ、[9]入力インタフェース、[10]出力インタフェース、[11]ソフトウェアキュー番号、[12]ハッシュ値などの項目を有する。   The first address storage unit 22 holds information on frames that the FP 20 should perform high-speed transfer processing. The entry as a storage unit of the first address storage unit 22 includes: [1] destination MAC address, [2] source MAC address, [3] destination IP address, [4] source IP address, [5] protocol, [6] Destination port, [7] Source port, [8] Ether type, [9] Input interface, [10] Output interface, [11] Software queue number, [12] Hash value.

プロトコルは、TCP、UDP等を規定している。イーサタイプは、IPv4なのか、IPv6なのか等を判定するためのものであり、この項目は、あってもなくても良い。入力インタフェースは、どのインタフェースから入ってきたものなのかを判定するために用いるものである。出力インタフェースは、どのインタフェースヘ転送すべきなのかを判定するために用いるものである。ソフトウェアキュー番号は、上述した[1]〜[10]の項目と一致するフレームをどのソフトウェアキュー番号のキューにキューイングするかを指定するものである。ハッシュ値は、第1のアドレス記憶部22で採用しているテーブルに対する検索速度を向上させるためものの値であり、テーブル内のエントリを一意に決めることができれば、上述した[1]〜[11]の全て又は一部の項目の値をハッシュ値の算出に使っても良い。ハッシュ値は、あってもなくても良いものである。   The protocol defines TCP, UDP and the like. The ether type is for determining whether it is IPv4 or IPv6, and this item may or may not be present. The input interface is used to determine from which interface the input has been received. The output interface is used to determine which interface to transfer to. The software queue number designates to which software queue number a queue that matches the items [1] to [10] described above is queued. The hash value is a value for improving the search speed with respect to the table adopted in the first address storage unit 22, and if the entry in the table can be uniquely determined, the above-described [1] to [11]. The values of all or some of the items may be used for calculating the hash value. The hash value may or may not be present.

以下、エントリの設定例を説明する。但し、以下では、項3]宛先IPアドレス、[4]送信元IPアドレス、[8]イーサタイプ、[9]入力インタフェース、[10]出力インタフェースについての設定内容のみ言及する。   An example of entry setting will be described below. However, in the following, only the setting contents for item 3] destination IP address, [4] source IP address, [8] ether type, [9] input interface, and [10] output interface will be mentioned.

例えば、有線LAN端末Aと有線WAN端末Bが、当該転送処理装置1を有する通信装置に接続されており、IPv4のフレームを送受信するとする。この場合、下記のように双方向の2エントリが、第1のアドレス記憶部22に記述されることになる。   For example, it is assumed that a wired LAN terminal A and a wired WAN terminal B are connected to a communication apparatus having the transfer processing apparatus 1 and transmit / receive an IPv4 frame. In this case, two bidirectional entries are described in the first address storage unit 22 as described below.

[端末B→端末Aのエントリ]では、宛先IPアドレス=端末A、送信元IPアドレス=端末B、イーサタイプ=IPv4、入力インタフェース=WAN、出力インタフェース=LANが記述される。   [Entry of terminal B → terminal A] describes destination IP address = terminal A, transmission source IP address = terminal B, ether type = IPv4, input interface = WAN, and output interface = LAN.

[端末A→端末Bのエントリ]では、宛先IPアドレス=端末B、送信元IPアドレス=端末A、イーサタイプ=IPv4、入力インタフェース=LAN、出力インタフェース=WANが記述される。   [Entry of terminal A → terminal B] describes destination IP address = terminal B, transmission source IP address = terminal A, ether type = IPv4, input interface = LAN, and output interface = WAN.

また例えば、有線LAN端末Aと有線WAN端末Bが、当該転送処理装置1を有する通信装置に接続されており、IPv6のフレームを送受信するとする。この場合、下記のように双方向のそれぞれに、イーサタイプが異なる2エントリずつの計4エントリが、第1のアドレス記憶部22に記述されることになる。   Further, for example, it is assumed that the wired LAN terminal A and the wired WAN terminal B are connected to a communication apparatus having the transfer processing apparatus 1 and transmit / receive an IPv6 frame. In this case, a total of four entries, each having two entries with different ether types, are described in the first address storage unit 22 in both directions as described below.

[端末B→端末Aの第1のエントリ]では、宛先IPアドレス=端末A、送信元IPアドレス=端末B、イーサタイプ=IPv4、入力インタフェース=WAN、出力インタフェース=LANが記述される。   [First entry of terminal B → terminal A] describes destination IP address = terminal A, source IP address = terminal B, ether type = IPv4, input interface = WAN, and output interface = LAN.

[端末A→端末Bの第1のエントリ]では、宛先IPアドレス=端末B、送信元IPアドレス=端末A、イーサタイプ=IPv4、入力インタフェース=LAN、出力インタフェース=WANが記述される。   [First entry of terminal A → terminal B] describes destination IP address = terminal B, transmission source IP address = terminal A, ether type = IPv4, input interface = LAN, and output interface = WAN.

[端末B→端末Aの第2のエントリ]では、宛先IPアドレス=端末A、送信元IPアドレス=端末B、イーサタイプ=IPv6、入力インタフェース=WAN、出力インタフェース=LANが記述される。   [Second entry of terminal B → terminal A] describes destination IP address = terminal A, source IP address = terminal B, ether type = IPv6, input interface = WAN, and output interface = LAN.

[端末A→端末Bの第2のエントリ]では、宛先IPアドレス=端末B、送信元IPアドレス=端末A、イーサタイプ=IPv6、入力インタフェース=LAN、出力インタフェース=WANが記述される。   [Second entry of terminal A → terminal B] describes destination IP address = terminal B, transmission source IP address = terminal A, ether type = IPv6, input interface = LAN, and output interface = WAN.

第1のフレームバッファ23は、高速転送処理部21がフレームを転送する際、一時的にフレームデータを保存するバッファである。ソフトウェアキューにキューイングされたフレームは、この第1のフレームバッファ23に保持される。ソフトウェアキューは、上述したように、フレームの優先度毎や、フレームの転送方向毎に複数持たせることが可能である。第1のフレームバッファ23としては、DRAM(Dynamic Random Acces Memory)を適用でき、動的な領域確保が可能なため、各ソフトウェアキューのサイズをコンフィグレーションすることが可能である。   The first frame buffer 23 is a buffer that temporarily stores frame data when the high-speed transfer processing unit 21 transfers a frame. The frames queued in the software queue are held in the first frame buffer 23. As described above, a plurality of software queues can be provided for each frame priority and each frame transfer direction. As the first frame buffer 23, a DRAM (Dynamic Random Access Memory) can be applied, and a dynamic area can be secured, so that the size of each software queue can be configured.

AP10は、ブリッジ処理部11、第2のアドレス記憶部12及びオフロード設定処理部13を有する。ここで、ブリッジ処理部11及びオフロード設定処理部13はCPU2内の構成であり、CPU2内のプログラムメモリに記憶されているプログラムに従ってソフトウェア的に処理するものである。   The AP 10 includes a bridge processing unit 11, a second address storage unit 12, and an offload setting processing unit 13. Here, the bridge processing unit 11 and the offload setting processing unit 13 are configured in the CPU 2 and are processed in software according to a program stored in a program memory in the CPU 2.

ブリッジ処理部11は、例えば、Linuxカーネルのネットワークスタック内のブリッジ処理部が該当し、フレームの転送を行うものである。ブリッジ処理部11は、内蔵するMACテーブルリストを検索し、フレームの宛先MACと比較を行うことで出力先インタフェースの決定を行い、ブリッジ転送を行う。また、ブリッジ処理部11は、第2のアドレス記憶部12に保持されているエントリの各エージングタイマを監視し、一定の時間が経過した場合に、そのエントリを削除する機能を有する。   The bridge processing unit 11 corresponds to, for example, a bridge processing unit in the network stack of the Linux kernel, and transfers frames. The bridge processing unit 11 searches the built-in MAC table list, determines the output destination interface by comparing with the destination MAC of the frame, and performs bridge transfer. Further, the bridge processing unit 11 has a function of monitoring each aging timer of an entry held in the second address storage unit 12 and deleting the entry when a predetermined time has elapsed.

図4は、高速転送処理部21及びブリッジ処理部11が転送対象とするフレームの説明図である。   FIG. 4 is an explanatory diagram of frames to be transferred by the high-speed transfer processing unit 21 and the bridge processing unit 11.

フレームは、いずれかの入出力ポートから入力され、高速転送処理部21で転送処理されて他の入出力ポートに出力される高速転送フレームと、いずれかの入出力ポートから入力され、高速転送処理部21を介してブリッジ処理部11に与えられ、ブリッジ処理部11で転送処理されて高速転送処理部21を介して他の入出力ポートに出力される例外フレームとがある。   A frame is input from one of the input / output ports, transferred at the high-speed transfer processing unit 21 and output to another input / output port, and input from one of the input / output ports to perform high-speed transfer processing. There is an exception frame that is given to the bridge processing unit 11 via the unit 21, transferred by the bridge processing unit 11, and output to another input / output port via the high-speed transfer processing unit 21.

例外フレームは、(1)自装置発のフレーム若しくは自装置宛のフレーム、(2)FP20の高速転送に対応していない種類のパケット(ブロードキャストパケット、マルチキャストパケット、制御用パケットであるICMP(Internet Control Message Protocol)パケットなど)、(3)後述する高速転送の設定(オフロード設定)がされる前のフレーム、などである。この例外フレームは、HTTP(Hyper Text Transfer Protocol)サーバなどの様々なアプリケーションも動作することを想定しているAP10上で転送されるため、比較的低速な転送能力しかなく、フレーム転送処理そのものがそれらのアプリケーションの処理遅延を引き起こしたり、フレーム転送性能の低下/転送遅延を招く可能性がある。   The exception frame includes (1) a frame originated from the own device or a frame addressed to the own device, and (2) a packet of a type not compatible with high-speed transfer of the FP 20 (an ICMP (Internet Control) which is a broadcast packet, a multicast packet, or a control packet (Message Protocol) packet), (3) a frame before high-speed transfer setting (offload setting) described later is set, and the like. Since this exceptional frame is transferred on the AP 10 that assumes that various applications such as an HTTP (Hyper Text Transfer Protocol) server also operate, there is only a relatively low transfer capability, and the frame transfer process itself is the same. May cause processing delay of the application, or may cause deterioration in frame transfer performance / transfer delay.

一方、高速転送フレームは、最小のAP負荷で、FP20による高速転送を実現することができる。そのため、後述のように、高速転送の設定(オフロード設定)を可能とし、例外フレームの一部を高速転送フレームに変換し得るようにしている。   On the other hand, the high-speed transfer frame can realize high-speed transfer by the FP 20 with a minimum AP load. Therefore, as described later, high-speed transfer setting (offload setting) is enabled, and a part of the exception frame can be converted into a high-speed transfer frame.

第2のアドレス記憶部12は、AP10のネットワークスタックが持っている各ストリーム情報を保持するテーブルである。テーブルのエントリは、[1]宛先MACアドレス、[2]送信元MACアドレス、[3]宛先IPアドレス、[4]送信元IPアドレス、[5]プロトコル、[6]宛先ポート、[7]送信元ポート、[8]イーサタイプ、[9]入力インタフェース、[10]出力インタフェース、[11]ソフトウェアキュー番号、[12]ハッシュ値などの項目を有する。   The second address storage unit 12 is a table that holds each stream information that the network stack of the AP 10 has. The entries in the table are: [1] destination MAC address, [2] source MAC address, [3] destination IP address, [4] source IP address, [5] protocol, [6] destination port, [7] transmission It has items such as original port, [8] Ether type, [9] input interface, [10] output interface, [11] software queue number, [12] hash value.

オフロード設定処理部13は、ブリッジ処理部11からの要求を受け、ブリッジ転送しようとしているフレームが、FP20にオフロード設定が可能か否かを判定するものである。すなわち、オフロード設定処理部13は、ブリッジ処理部11が実行しようとする転送処理を、FP20側で実行して、ブリッジ処理部11の処理を軽減できるか否かを判定するものである。例えば、転送フレームが下記のフレームF1、F2の場合には、オフロード設定処理部13は、オフロード不可と判定する。   The offload setting processing unit 13 receives a request from the bridge processing unit 11 and determines whether or not a frame that is about to be bridge-transferred can be set to offload in the FP 20. That is, the offload setting processing unit 13 determines whether or not the processing of the bridge processing unit 11 can be reduced by executing the transfer processing to be executed by the bridge processing unit 11 on the FP 20 side. For example, when the transfer frames are the following frames F1 and F2, the offload setting processing unit 13 determines that offload is not possible.

F1:自装置発のフレーム若しくは自装置宛のフレーム
F2:FP20での高速転送に対応していない種類のパケット(ブロードキャストパケット、マルチキャストパケット、ICMPパケットなど)
オフロード設定処理部13は、オフロード設定可能と判定した場合には、FP20(正確には、第1のアドレス記憶部22)にオフロード設定を行う。オフロード設定処理部13は、オフロード設定不可能と判定した場合には何らの処理も実行しない。
F1: Frame originating from own device or frame destined for own device F2: Type of packet not compatible with high-speed transfer in FP20 (broadcast packet, multicast packet, ICMP packet, etc.)
When the offload setting processing unit 13 determines that the offload setting is possible, the offload setting processing unit 13 performs the offload setting in the FP 20 (more precisely, the first address storage unit 22). The offload setting processing unit 13 does not execute any processing when it is determined that the offload setting is impossible.

オフロード設定処理部13は、オフロードの重複設定を避けるため、第2のアドレス記憶部12の各エントリが既にFP20へオフロード設定されているかどうかも保持している。   The offload setting processing unit 13 also holds whether or not each entry in the second address storage unit 12 has already been offloaded to the FP 20 in order to avoid duplicate setting of offload.

また、オフロード設定処理部13は、下記の(イ)及び(ロ)の判定処理を行い、その結果に応じ、第2のアドレス記憶部12への保存や、オフロード設定を行う。   In addition, the offload setting processing unit 13 performs the following determination processes (a) and (b), and performs saving to the second address storage unit 12 and offload setting according to the determination result.

(イ)転送フレームが、どのポートヘ転送されるべきかを判定する。例えば、内部スイッチ3のMACアドレス記憶部32の情報と、その転送フレームの宛先MACアドレスを照合することで判定する。   (A) It is determined to which port the transfer frame should be transferred. For example, the determination is made by comparing the information in the MAC address storage unit 32 of the internal switch 3 with the destination MAC address of the transfer frame.

(ロ)転送フレームが、どの優先度かを判定する。例えば、フレームのヘッダ情報(CoS(Class of Service)値、DSCP値、IPアドレス、MACアドレス、ポート番号等)を照合することで判定する。   (B) The priority level of the transfer frame is determined. For example, it is determined by collating frame header information (CoS (Class of Service) value, DSCP value, IP address, MAC address, port number, etc.).

さらに、オフロード設定処理部13は、各LANポート/WANポートがリンクアップした際、割り込みを受信することで、そのリンク速度を検知し、高速転送処理部21へ通知する機能を有する。こうすることで、FP20の高速転送処理部21が、各ポート宛のフレームをリンク速度にあわせてシェーピングすることが可能となる。高速転送処理部21は、例えば、リンク速度の範囲と、シェーピング帯域とを対応付けた変換テーブルを内蔵し、リンク速度に応じたシェーピング帯域を設定することができる。   Further, the offload setting processing unit 13 has a function of detecting the link speed by receiving an interrupt when each LAN port / WAN port is linked up and notifying the high-speed transfer processing unit 21 of the link speed. By doing so, the high-speed transfer processing unit 21 of the FP 20 can shape the frame addressed to each port according to the link speed. For example, the high-speed transfer processing unit 21 includes a conversion table in which a link speed range and a shaping band are associated with each other, and can set a shaping band corresponding to the link speed.

内部スイッチ3は、第2のフレームバッファ31とMACアドレス記憶部32とを有する。   The internal switch 3 has a second frame buffer 31 and a MAC address storage unit 32.

第2のフレームバッファ31は、内部スイッチ3がフレームを転送する際、一時的にフレームデータを保存するバッファである。FP20の第1のフレームバッファ23と比較すると、小容量であり、バッファサイズのコンフィグレーションを行うことができない。そのため、第1の実施形態では、転送フレームのキューイングにFP20の第1のフレームバッファ23を利用することとしている。   The second frame buffer 31 is a buffer that temporarily stores frame data when the internal switch 3 transfers a frame. Compared with the first frame buffer 23 of the FP 20, the capacity is small, and the buffer size cannot be configured. Therefore, in the first embodiment, the first frame buffer 23 of the FP 20 is used for queuing transfer frames.

MACアドレス記憶部32は、AP10内のブリッジ処理部11が有する下記のネイバー情報を保持するテーブルである。ネイバー情報は、例えば、[1]MACアドレス(受信フレームの送信元MACアドレス)、[2]LANポート/WANポートの番号(フレームを受信したLANポート/WANポートの番号;あるMACアドレスを持つ端末がどのポートに接続されているかを判定するのに使う)、[3]エージングタイマ(一定期間ごとにインクリメントされるタイマ値;一定時間経過後、この値が予め設定された閾値を越えると、このエントリはエージング(削除)される)、[4]スタティックフラグ(ユーザ等に静的に設定されたエントリか否かを示すフラグ;静的に設定されたエントリをフラグONとしエージング対象外とする)、[5]ハッシュ値(テーブル検索速度向上のために設けられたものであり、テーブル内のエントリを一意に決めることができれば、上記の項目のいくつかの値をハッシュ値算出に使うようにしても良い)などからなる。なお、スタティックフラグやハッシュ値はなくても良いものである。   The MAC address storage unit 32 is a table that holds the following neighbor information included in the bridge processing unit 11 in the AP 10. Neighbor information includes, for example, [1] MAC address (source MAC address of received frame), [2] LAN port / WAN port number (LAN port / WAN port number that received the frame; terminal having a certain MAC address 3) Aging timer (a timer value that is incremented every certain period; if this value exceeds a preset threshold after a certain period of time, this Entry is aged (deleted)), [4] static flag (flag indicating whether or not the entry is statically set by the user or the like; the statically set entry is flag ON and excluded from aging) , [5] Hash value (provided to improve table search speed, and uniquely determines an entry in the table If it is possible, may be using the hash value calculation some of the value of the item) and the like. Note that there is no need for static flags or hash values.

(A−2)第1の実施形態の動作
第1の実施形態の転送処理装置1は、ソフトウェアキューを適用していること、キューイングされているフレームのデータ自体は、FP20の第1のフレームバッファ23に格納することを1つの特徴としている。
(A-2) Operation of the first embodiment The transfer processing device 1 of the first embodiment applies a software queue, and the data of the queued frame itself is the first frame of the FP 20. One feature is that the data is stored in the buffer 23.

また、転送フレームをどのソフトウェアキューにどのように割り当てるかも特徴をなしており、シェーピングレートの設定も特徴をなしている。以下では、ソフトウェアキューへの割当て動作や、シェーピングレートの設定動作を順次説明する。   In addition, it is characterized by how to assign the transfer frame to which software queue, and the shaping rate setting is also characteristic. In the following, the assignment operation to the software queue and the setting operation of the shaping rate will be sequentially described.

ます、フレーム転送時にフレームの宛先ポートを自動的に判定し、自動的に各ソフトウェアキューにキューイングされるように割り当てる動作を、図5のシーケンス図を参照しながら説明する。なお、上述した図3では、優先度も割り当てる動作に影響するように記載しているが、優先度を利用した割当てについては、後述する第2の実施形態の動作の項で説明する。   First, the operation of automatically determining the destination port of a frame at the time of frame transfer and automatically allocating it to each software queue will be described with reference to the sequence diagram of FIG. In FIG. 3 described above, the priority is also described so as to affect the operation of assigning. However, the assignment using the priority will be described in the operation section of the second embodiment to be described later.

ブリッジ処理部11は、フレームの転送を検出すると(ステップ100)、そのフレームのヘッダ情報を含むオフロード設定要求を、オフロード設定処理部13に送出する(ステップ101)。   When the bridge processing unit 11 detects transfer of a frame (step 100), it sends an offload setting request including header information of the frame to the offload setting processing unit 13 (step 101).

このとき、オフロード設定処理部13は、ブリッジ転送しようとしているフレームが、オフロード設定が可能であることを確認した後、MACアドレス記憶部32の情報を得て(ステップ102)、その転送フレームの宛先MACアドレスを照合することで、宛先ポート番号を得、その結果、キューイングするソフトウェアキューの番号を取得する(ステップ103)。   At this time, the offload setting processing unit 13 obtains information of the MAC address storage unit 32 after confirming that the frame to be bridge-transferred can be set offload (step 102), and the transfer frame The destination port number is obtained by checking the destination MAC address of the destination, and as a result, the number of the software queue to be queued is obtained (step 103).

その後、オフロード設定処理部13は、上述した取得内容などに応じ、第2のアドレス記憶部12へエントリデータを保存させると共に(ステップ104)、高速転送処理部21へ高速転送対象としてのエントリ設定(オフロード設定)を行う(ステップ105)。
高速転送処理部21は、これにより、第1のアドレス記憶部22に対して、当該フレームを高速転送対象とするエントリ追加を行う(ステップ106)。
Thereafter, the offload setting processing unit 13 stores the entry data in the second address storage unit 12 in accordance with the acquired contents described above (step 104) and sets the entry as a high-speed transfer target in the high-speed transfer processing unit 21. (Offload setting) is performed (step 105).
Accordingly, the high-speed transfer processing unit 21 adds an entry to the first address storage unit 22 with the frame as a high-speed transfer target (step 106).

以上のようにして、フレーム転送時にフレームの宛先ポートを自動的に判定し、自動的に各ソフトウェアキューにキューイングされるように割り当てることができ、バースト耐性を確保することができる。   As described above, it is possible to automatically determine the destination port of the frame at the time of frame transfer and assign it to be automatically queued in each software queue, and to ensure burst tolerance.

次に、ソフトウェアキューヘの設定が行われていない状態で、突発的にフレームがバースト的に流れてくる場合に対応できるようにした割当て動作について説明する。上述の場合、まだ、FP20の高速転送処理部21に設定がなされていないため、低速なトラフィック転送しか行うことができないAP10のブリッジ処理部11でバースト状のフレームをロスしてしまう可能性がある。そのため、バースト耐性が必要なフレームとは逆方向のフレーム転送時に、予めソフトウェアキューの設定を行うことができるようにして、フレームが突発的かつバースト的に流れてくる場合に対応できるようにした。ここで、バースト耐性が必要なフレームとは、リンク速度の速いポートからリンク速度の遅いポートヘ流れるフレームである。   Next, an allocation operation that can cope with a case where a frame suddenly flows in a burst state without setting the software queue will be described. In the above-described case, since the high-speed transfer processing unit 21 of the FP 20 has not been set, there is a possibility that a burst frame is lost in the bridge processing unit 11 of the AP 10 that can perform only low-speed traffic transfer. . For this reason, a software queue can be set in advance when transferring a frame in the direction opposite to that of a frame that requires burst tolerance, so that it can cope with a case where a frame flows suddenly and in bursts. Here, a frame that requires burst tolerance is a frame that flows from a port with a high link speed to a port with a low link speed.

以下では、バースト耐性を具備したい方向と逆方向のフレーム転送時に、フレームの送信元ポートを自動的に判定し、自動的に各ソフトウェアキューにキューイングされるように割り当てる動作を、図6のシーケンス図を参照しながら説明する。   In the following, the operation of automatically determining the frame source port and assigning it to be queued in each software queue at the time of frame transfer in the direction opposite to the direction in which burst tolerance is desired is performed as shown in the sequence of FIG. This will be described with reference to the drawings.

ブリッジ処理部11は、バースト耐性を具備したい方向と逆方向のフレームの転送を検出すると(ステップ150)、そのフレームのヘッダ情報を含む逆方向のオフロード設定要求を、オフロード設定処理部13に送出する(ステップ151)。   When the bridge processing unit 11 detects the transfer of the frame in the direction opposite to the direction in which the burst tolerance is desired (step 150), the bridge processing unit 11 sends an offload setting request in the reverse direction including the header information of the frame to the offload setting processing unit 13. It is sent out (step 151).

このとき、オフロード設定処理部13は、ブリッジ転送しようとしているフレームが、オフロード設定が可能であることを確認した後、MACアドレス記憶部32の情報を得て(ステップ152)、その転送フレームの送信元MACアドレスを照合することで、逆方向についての宛先ポート番号を得、その結果、キューイングするソフトウェアキューの番号を取得する(ステップ153)。   At this time, the offload setting processing unit 13 obtains information of the MAC address storage unit 32 after confirming that the frame to be bridge-transferred can be offloaded (step 152), and the transfer frame. The destination MAC number in the reverse direction is obtained by collating the source MAC address of, and as a result, the number of the software queue to be queued is obtained (step 153).

その後、オフロード設定処理部13は、上述した取得内容などに応じ、第2のアドレス記憶部12へ逆方向のエントリデータを保存させると共に(ステップ154)、高速転送処理部21へ逆方向の高速転送対象としてのエントリ設定(オフロード設定)を行う(ステップ155)。高速転送処理部21は、これにより、第1のアドレス記憶部22に対して、当該フレームと逆方向に流れるフレームを高速転送対象とするエントリ追加を行う(ステップ156)。 Thereafter, the offload setting processing unit 13 stores the entry data in the reverse direction in the second address storage unit 12 in accordance with the acquisition contents described above (step 154) and the high-speed transfer processing unit 21 in the reverse direction at high speed. Entry setting (offload setting) as a transfer target is performed (step 155). Accordingly, the high-speed transfer processing unit 21 adds an entry to the first address storage unit 22 with a frame flowing in the opposite direction to the frame as a target for high-speed transfer (step 156).

次に、各LANポート/WANポートのリンクアップを検出した際、自動的に関連するシェーパのシェーピング帯域(シェーピングレート)を設定する動作を、図7のシーケンス図を参照しながら説明する。   Next, an operation of automatically setting a shaping band (shaping rate) of a related shaper when a link up of each LAN port / WAN port is detected will be described with reference to the sequence diagram of FIG.

内部スイッチ3は、ある入出力ポートのリンクアップを検出すると(ステップ200)、オフロード設定処理部13へリンクアップ割り込み通知を送付する(ステップ201)。このとき、オフロード設定処理部13は、その入出力ポートのリンクアップを認識し、内部スイッチ3の通信速度に関するレジスタ値を読み込むことで(ステップ202)、その入出力ポートのリンク速度を取得する(ステップ203)。そして、オフロード設定処理部13は、取得したリンク速度から、FP20の高速転送処理部21のシェーパに設定するシェーピングレートを決定し(ステップ204)、高速転送処理部21のシェーパに設定させる。これにより、リンク速度に応じたフレーム高速転送を行うことができるようになる。   When the internal switch 3 detects a link up of a certain input / output port (step 200), it sends a link up interrupt notification to the offload setting processing unit 13 (step 201). At this time, the offload setting processing unit 13 recognizes the link up of the input / output port and reads the register value related to the communication speed of the internal switch 3 (step 202), thereby acquiring the link speed of the input / output port. (Step 203). Then, the offload setting processing unit 13 determines a shaping rate to be set for the shaper of the high-speed transfer processing unit 21 of the FP 20 from the acquired link speed (step 204), and causes the shaper of the high-speed transfer processing unit 21 to set it. Thereby, high-speed frame transfer according to the link speed can be performed.

(A−3)第1の実施形態の効果
以上のように、第1の実施形態によれば、従来ではハードウェア構成を変更することでしか対応できなかったバッファサイズを、ソフトウェアキューを用いて動的に確保することで、ハードウェア変更なしで、より大きなバースト耐性を有することができる。
(A-3) Effects of the First Embodiment As described above, according to the first embodiment, the buffer size that can only be dealt with by changing the hardware configuration in the past can be obtained using the software queue. By securing dynamically, it is possible to have greater burst tolerance without hardware change.

また、第1の実施形態によれば、ソフトウェアキューヘの設定が行われていない状態で、突発的にバースト状にフレームが流れてくる場合も、バースト耐性が必要なフレームとは逆方向のフレーム転送時に、予めソフトウェアキューの設定を行うようにしたので、フレームロスなしでバースト状のフレームを転送することができる。   Further, according to the first embodiment, even when a frame suddenly flows in a burst state when the software queue is not set, a frame in a direction opposite to a frame that requires burst tolerance is used. Since the software queue is set in advance at the time of transfer, burst-like frames can be transferred without frame loss.

さらに、第1の実施形態によれば、オートネゴシエーションにより動的にリンク速度が変更された場合も、そのリンク速度の変更が各ソフトウェアキューに接続されたシェーパのシェーピングレートヘ動的に反映させるので、フレームロスなしでのバーストフレーム転送が可能となる。   Furthermore, according to the first embodiment, even when the link speed is dynamically changed by auto-negotiation, the change in the link speed is dynamically reflected on the shaping rate of the shaper connected to each software queue. Thus, burst frame transfer without frame loss is possible.

(B)第2の実施形態
次に、本発明による転送処理装置の第2の実施形態を、図面を参照しながら説明する。
(B) Second Embodiment Next, a second embodiment of the transfer processing apparatus according to the present invention will be described with reference to the drawings.

第2の実施形態の転送処理装置も、その構成は、第1の実施形態の説明で用いた図1で表すことができる。   The configuration of the transfer processing apparatus of the second embodiment can also be represented by FIG. 1 used in the description of the first embodiment.

第2の実施形態の転送処理装置は、フレーム転送時にフレームの優先度を自動的に判定し、自動的に各ソフトウェアキューにキューイングされるように割り当てることで、バースト耐性を確保しつつ、自由な優先制御を行うことができるようにしたものである。   The transfer processing device of the second embodiment automatically determines the priority of a frame at the time of frame transfer, and assigns it to be automatically queued to each software queue, thereby ensuring burst tolerance and free. Thus, priority control can be performed.

以下では、フレーム転送時にフレームの優先度を自動的に判定し、自動的に各ソフトウェアキューにキューイングされるように割り当てる動作を、図8のシーケンス図を参照しながら説明する。   In the following, an operation for automatically determining the priority of a frame at the time of frame transfer and automatically allocating it to each software queue will be described with reference to the sequence diagram of FIG.

ブリッジ処理部11は、フレームの転送を検出すると(ステップ250)、そのフレームのヘッダ情報を含むオフロード設定要求を、オフロード設定処理部13に送出する(ステップ251)。   When the bridge processing unit 11 detects transfer of a frame (step 250), it sends an offload setting request including header information of the frame to the offload setting processing unit 13 (step 251).

このとき、オフロード設定処理部13は、ブリッジ転送しようとしているフレームが、オフロード設定が可能であることを確認した後、MACアドレス記憶部32の情報を得て(ステップ252)、その転送フレームの宛先MACアドレスを照合することで、宛先ポート番号を得、その結果、ソフトウェアキューの番号を取得する(ステップ253)。   At this time, the offload setting processing unit 13 obtains information of the MAC address storage unit 32 after confirming that the frame to be bridge-transferred can be offloaded (step 252), and the transfer frame The destination port number is obtained by checking the destination MAC address of the destination, and as a result, the software queue number is obtained (step 253).

その後、オフロード設定処理部13は、フレームのDSCP値から優先度を算出し、オフセットとして、ステップ253で取得したソフトウェアキューの番号に加算して、最終的に利用するソフトウェアキューの番号を得る(ステップ254)。例えば、ステップ253で得られたソフトウェアキューの番号が「4」で優先度が「3」であれば、最終的に利用するソフトウェアキューの番号として「7」(=4+3)を得る。   After that, the offload setting processing unit 13 calculates the priority from the DSCP value of the frame and adds it as an offset to the software queue number acquired in step 253 to obtain the software queue number to be finally used ( Step 254). For example, if the software queue number obtained in step 253 is “4” and the priority is “3”, “7” (= 4 + 3) is finally obtained as the software queue number to be used.

そして、オフロード設定処理部13は、上述したようにして取得した内容などに応じ、第2のアドレス記憶部12へエントリデータを保存させると共に(ステップ255)、高速転送処理部21へ高速転送対象としてのエントリ設定(オフロード設定)を行う(ステップ256)。高速転送処理部21は、これにより、第1のアドレス記憶部22に対して、当該フレームを高速転送対象とするエントリ追加を行う(ステップ257)。
Then, the offload setting processing unit 13 stores the entry data in the second address storage unit 12 in accordance with the contents acquired as described above (step 255), and the high-speed transfer processing unit 21 performs high-speed transfer. Entry setting (offload setting) is performed (step 256). Accordingly, the high-speed transfer processing unit 21 adds an entry to the first address storage unit 22 with the frame as a high-speed transfer target (step 257).

以上のように、第2の実施形態によれば、従来ではハードウェア(内部スイッチ)で行っていたバースト耐性及び優先制御機能を、ソフトウェア上で具備することができる。   As described above, according to the second embodiment, the burst tolerance and priority control function that has been conventionally performed by hardware (internal switch) can be provided on software.

(C)他の実施形態
上記各実施形態の説明においても、種々変形実施形態に言及したが、さらに、以下に例示するような変形実施形態を挙げることができる。
(C) Other Embodiments In the description of each of the above-described embodiments, various modified embodiments have been referred to. However, modified embodiments as exemplified below can be given.

上記各実施形態では、FP20の第1のフレームバッファ23にDRAMを適用したものを示したが、フレームを保持できる記憶媒体であれば、SRAM(Static RAM)等、他の記憶媒体であっても良い。   In each of the above embodiments, a DRAM is applied to the first frame buffer 23 of the FP 20, but any other storage medium such as SRAM (Static RAM) may be used as long as the storage medium can hold a frame. good.

上記各実施形態では、「内部スイッチ(内部SW)」を装置上に配置し、全LANポートは1本のCPUのインタフェースを経由して接続される構成を示したが、フレームがどのLANポート/WANポートで受信したのかを判定することができれば、各LANポート/WANポートが独立したインタフェース経由でCPUに接続するようにしても良い。   In each of the above embodiments, the “internal switch (internal SW)” is arranged on the apparatus and all LAN ports are connected via the interface of one CPU. Each LAN port / WAN port may be connected to the CPU via an independent interface as long as it can be determined whether the message is received at the WAN port.

上記各実施形態では、「AP」が1つの場合を示したが、2つ以上あっても良く、同様に、「FP」も1つに限定されず、2つ以上あっても良い。   In each of the embodiments described above, the case where there is one “AP” is shown, but there may be two or more, and similarly, “FP” is not limited to one and may be two or more.

上記第2の実施形態では、フレームの宛先ポートと優先度との組み合わせで、適用するソフトウェアキューを決めるものを示したが、フレームの優先度だけで適用するソフトウェアキューを決めるようにしても良い。   In the second embodiment, the software queue to be applied is determined by the combination of the frame destination port and the priority. However, the software queue to be applied may be determined only by the frame priority.

上記第2の実施形態では、フレームの宛先ポートに応じて、適用するソフトウェアキューを数個に絞った上で、フレームの優先度に応じて、最終的に適用する1つのソフトウェアキューを決定するものを示したが、逆に、フレームの優先度に応じて、適用するソフトウェアキューを数個に絞った上で、フレームの宛先ポートに応じて、最終的に適用する1つのソフトウェアキューを決定するようにしても良い。   In the second embodiment, the number of software queues to be applied is limited to several according to the destination port of the frame, and finally one software queue to be applied is determined according to the priority of the frame. However, conversely, after limiting the number of software queues to be applied to several according to the priority of the frame, one software queue to be finally applied is determined according to the destination port of the frame. Anyway.

1…転送処理装置、2…CPU、3…内部スイッチ(内部SW)、10…アプリケーション用プロセッサ(AP)、11…ブリッジ処理部、12…第2のアドレス記憶部、13…オフロード設定処理部、20…ファストパス用プロセッサ(FP)、21…高速転送処理部、22…第1のアドレス記憶部、23…第1のフレームバッファ、31…第2のフレームバッファ、32…MACアドレス記憶部。   DESCRIPTION OF SYMBOLS 1 ... Transfer processing apparatus, 2 ... CPU, 3 ... Internal switch (internal SW), 10 ... Application processor (AP), 11 ... Bridge processing part, 12 ... 2nd address storage part, 13 ... Offload setting processing part , 20 ... fast path processor (FP), 21 ... high-speed transfer processing unit, 22 ... first address storage unit, 23 ... first frame buffer, 31 ... second frame buffer, 32 ... MAC address storage unit.

Claims (5)

入出力ポートから入力されたフレームを宛先の入出力ポートへ転送する転送処理装置において、
高速転送対象のフレーム情報を記憶した第1の記憶部と、
高速転送するフレームをバッファリングするフレームバッファと、
複数のソフトウェアキューを内蔵し、キューイングされる高速転送のフレームを上記フレームバッファに格納させながら、高速転送処理する高速転送処理部と、
非高速転送対象のフレーム情報を記憶した第2の記憶部と、
非高速転送のフレームに対する転送処理を行うと共に、非高速転送のフレームが高速転送のフレームへ変更が可能か否かを判定し、変更が可能な場合に、オフロード設定要求を発行するブリッジ処理部と、
オフロード設定要求が発行されたとき、高速転送のフレームへ変更されるフレームに適用するソフトウェアキューを動的に割り当てるオフロード設定処理部と
を有することを特徴とする転送処理装置。
In a transfer processing device that transfers a frame input from an input / output port to a destination input / output port,
A first storage unit storing frame information for high-speed transfer;
A frame buffer for buffering high-speed transfer frames;
A high-speed transfer processing unit that incorporates a plurality of software queues and performs high-speed transfer processing while storing the queued high-speed transfer frames in the frame buffer;
A second storage unit storing frame information for non-high-speed transfer;
Bridge processing unit that performs transfer processing for non-high-speed transfer frames, determines whether non-high-speed transfer frames can be changed to high-speed transfer frames, and issues an offload setting request if change is possible When,
An offload setting processing unit that dynamically assigns a software queue to be applied to a frame to be changed to a high-speed transfer frame when an offload setting request is issued.
上記オフロード設定処理部は、高速転送のフレームへ変更されるフレームの宛先の入出力ポートに応じて、適用するソフトウェアキューを割り当てることを特徴とする請求項1に記載の転送処理装置。   The transfer processing apparatus according to claim 1, wherein the offload setting processing unit assigns a software queue to be applied according to an input / output port of a destination of a frame to be changed to a high-speed transfer frame. 上記オフロード設定処理部は、高速転送のフレームへ変更されるフレームの優先度に応じて、適用するソフトウェアキューを割り当てることを特徴とする請求項1又は2に記載の転送処理装置。   The transfer processing apparatus according to claim 1, wherein the offload setting processing unit assigns a software queue to be applied according to a priority of a frame to be changed to a high-speed transfer frame. 上記オフロード設定処理部は、上記ブリッジ処理部からの要求により、バースト耐性が必要な方向に転送されるフレームとは逆方向のフレームの転送時に、フレームの送信元ポートを自動的に判定し、自動的に各ソフトウェアキューにキューイングされるように割り当てることを特徴とする請求項1〜3のいずれかに記載の転送処理装置。 The offload setting processing unit automatically determines a transmission source port of a frame when transferring a frame in a direction opposite to a frame transferred in a direction that requires burst tolerance, according to a request from the bridge processing unit , 4. The transfer processing device according to claim 1, wherein the transfer processing device is assigned so as to be automatically queued to each software queue . 上記高速転送処理部は、内蔵する各ソフトウェアキューに対応したシェーパを内蔵し、
上記オフロード設定処理部は、入出力ポートのリンク速度を検知し、その入出力ポートに係るソフトウェアキュー対応のシェーパのシェーピングレートを、検知したリンク速度に応じて設定することを特徴とする請求項1〜4のいずれかに記載の転送処理装置。
The high-speed transfer processing unit has a built-in shaper corresponding to each built-in software queue,
The offload setting processing unit detects a link speed of an input / output port, and sets a shaping rate of a shaper corresponding to a software queue related to the input / output port according to the detected link speed. The transfer processing device according to any one of 1 to 4.
JP2011252694A 2011-11-18 2011-11-18 Transfer processing device Active JP5817458B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011252694A JP5817458B2 (en) 2011-11-18 2011-11-18 Transfer processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011252694A JP5817458B2 (en) 2011-11-18 2011-11-18 Transfer processing device

Publications (2)

Publication Number Publication Date
JP2013110509A JP2013110509A (en) 2013-06-06
JP5817458B2 true JP5817458B2 (en) 2015-11-18

Family

ID=48706891

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011252694A Active JP5817458B2 (en) 2011-11-18 2011-11-18 Transfer processing device

Country Status (1)

Country Link
JP (1) JP5817458B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016035306A1 (en) * 2014-09-01 2016-03-10 日本電気株式会社 Control system, communication system, communication method, and recording medium
JP6396934B2 (en) * 2016-02-15 2018-09-26 日本電信電話株式会社 Packet processing system and packet processing method

Also Published As

Publication number Publication date
JP2013110509A (en) 2013-06-06

Similar Documents

Publication Publication Date Title
CN113676361B (en) On-demand probing for quality of experience metrics
US7701849B1 (en) Flow-based queuing of network traffic
US10225204B2 (en) Content based overload protection
EP3393094A1 (en) Method and device for allocating service traffic
WO2017215392A1 (en) Network congestion control method, device, and system
US20210218831A1 (en) TCP Packet Processing Method, Toe Component, and Network Device
WO2020022209A1 (en) Network control device and network control method
CN106059821A (en) Software-defined network (SDN)-based data center service quality assurance method
CN111585896A (en) A data forwarding method, device and readable storage medium
WO2017025021A1 (en) Method and device for processing flow table
TWI721103B (en) Cluster accurate speed limiting method and device
CN111224888A (en) Method for sending message and message forwarding device
WO2011095017A1 (en) Method and routing device for implementing load sharing
WO2020088624A1 (en) Traffic balancing method and device
CN102413051B (en) Method and device for scheduling quality of service (QOS)
US8160105B2 (en) Apparatus and method for processing IP packet fragmentation in routing system using network processor
JP5817458B2 (en) Transfer processing device
CN109547352B (en) Dynamic allocation method and device for message buffer queue
US20060251071A1 (en) Apparatus and method for IP packet processing using network processor
US20060176893A1 (en) Method of dynamic queue management for stable packet forwarding and network processor element therefor
CN113691410B (en) Network performance data acquisition method, device and server
CN109792405B (en) Method and apparatus for shared buffer allocation in a transmission node
CN105634842A (en) Method and system for detecting bandwidth, and devices
JP2011087068A (en) Communication equipment and congestion control method
CN116248590A (en) Data forwarding method, device, equipment and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140815

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150410

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150414

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150615

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20150615

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150914

R150 Certificate of patent or registration of utility model

Ref document number: 5817458

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150