JP2017204785A - Communication device, communication system, and packet transfer method of communication device - Google Patents

Communication device, communication system, and packet transfer method of communication device Download PDF

Info

Publication number
JP2017204785A
JP2017204785A JP2016096393A JP2016096393A JP2017204785A JP 2017204785 A JP2017204785 A JP 2017204785A JP 2016096393 A JP2016096393 A JP 2016096393A JP 2016096393 A JP2016096393 A JP 2016096393A JP 2017204785 A JP2017204785 A JP 2017204785A
Authority
JP
Japan
Prior art keywords
packet
destination information
buffer
destination
relay device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2016096393A
Other languages
Japanese (ja)
Inventor
孝浩 増岡
Takahiro Masuoka
孝浩 増岡
誠 白髪
Makoto Shiraga
誠 白髪
史晃 赤澤
Fumiaki Akazawa
史晃 赤澤
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2016096393A priority Critical patent/JP2017204785A/en
Publication of JP2017204785A publication Critical patent/JP2017204785A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To avoid the occurrence of packet loss.SOLUTION: A communication device includes: a change unit for changing destination information on a packet to destination information destined to a second device if the stored amount of a buffer capable of temporarily storing packets including destination information destined to a first device exceeds a prescribed value; and a management unit for storing packets in the buffer if the stored amount in the buffer is within the prescribed range when the packets which are transferred to the second device on the basis of the changed destination information and of which the destination information is changed to the first device are received from the second device.SELECTED DRAWING: Figure 2

Description

本発明は、通信装置、通信システム、及び通信装置のパケット転送方法に関する。   The present invention relates to a communication device, a communication system, and a packet transfer method for the communication device.

ネットワークを形成する通信設備(通信装置)の一つとして、端末(ホスト)間で送受信されるパケットを中継する中継装置(集線装置とも呼ばれる)がある。中継装置には、例えば、ルータ,レイヤ3スイッチ,レイヤ2スイッチ,スイッチングHUBなどが含まれ
る。
As one of communication facilities (communication devices) forming a network, there is a relay device (also called a concentrator) that relays packets transmitted and received between terminals (hosts). Examples of the relay device include a router, a layer 3 switch, a layer 2 switch, and a switching HUB.

中継装置に対し、中継装置の処理性能の限度を考慮して通信可能な通信量(帯域)が予め定められている場合がある。或いは、他の通信の疎通の保証を目的として通信量(帯域)が制限される場合もある。   A communication amount (bandwidth) that can be communicated to the relay device in consideration of the limit of the processing performance of the relay device may be determined in advance. Alternatively, the communication amount (bandwidth) may be limited for the purpose of guaranteeing communication of other communications.

近年における通信量の急激な増加に伴って、隣接する装置から想定を超える通信量のパケット(データ)が中継装置に到達する場合があり得る。この場合、中継装置で受信可能なパケットの許容量の超過によるバッファのオーバーフローなどによって、パケットの喪失(パケットロス)が生じる。パケットロスの発生により、パケットの転送経路の両端にある装置(ホスト)間での通信が異常となる。パケットロスを開始する手法としては、例えば、中継装置を高性能なものに入れ替えることが考えられる。或いは、宛先のホストまでの迂回路を増設することが考えられる。   With a rapid increase in communication volume in recent years, there may be a case where packets (data) having a communication volume exceeding the assumption from neighboring apparatuses reach the relay apparatus. In this case, a packet loss (packet loss) occurs due to an overflow of the buffer due to an excess of the allowable amount of packets that can be received by the relay device. Due to the occurrence of packet loss, communication between devices (hosts) at both ends of the packet transfer path becomes abnormal. As a method for starting the packet loss, for example, it is conceivable to replace the relay device with a high-performance one. Alternatively, it is conceivable to add a detour to the destination host.

特開2007−325178号公報JP 2007-325178 A 特開2003−78555号公報JP 2003-78555 A

しかしながら、中継装置の入れ替えや迂回路の増設には多大なコストが発生する可能性がある。   However, there is a possibility that enormous costs may be incurred when replacing relay devices or adding detours.

本発明は、通信設備の入れ替えや増設なくパケットロスを回避し得る技術を提供することを目的とする。   An object of this invention is to provide the technique which can avoid a packet loss, without replacement | exchange or expansion of communication equipment.

本発明の一態様は、通信装置である。この通信装置は、第1装置向けの宛先情報を含むパケットを一時記憶可能なバッファの記憶量が所定値を超過する場合に、前記パケットの宛先情報を第2装置向けに変更する変更部と、変更された宛先情報に基づき前記第2装置へ転送され且つ宛先情報が前記第1装置向けに変更された前記パケットが前記第2装置から受信された場合に、前記バッファの記憶量が所定範囲であれば、前記パケットを前記バッファに記憶する管理部と、を含む。   One embodiment of the present invention is a communication device. The communication device includes: a changing unit that changes the destination information of the packet for the second device when a storage amount of a buffer capable of temporarily storing the packet including the destination information for the first device exceeds a predetermined value; When the packet transferred to the second device based on the changed destination information and the destination information is changed for the first device is received from the second device, the storage amount of the buffer is within a predetermined range. And a management unit that stores the packet in the buffer.

本発明の一態様によれば、通信設備の入れ替えや増設なくパケットロスを回避することができる。   According to one embodiment of the present invention, packet loss can be avoided without replacing or adding communication facilities.

図1は、実施形態と対比される参考例の説明図である。FIG. 1 is an explanatory diagram of a reference example compared with the embodiment. 図2は、実施形態に係る通信システムの構成例を示す。FIG. 2 shows a configuration example of a communication system according to the embodiment. 図3は、中継装置のハードウェア構成例を示す。FIG. 3 shows a hardware configuration example of the relay apparatus. 図4は、中継装置3aとして動作する中継装置10が有する機能を示すブロック図であり、パケット迂回処理時の動作を示す。FIG. 4 is a block diagram showing the functions of the relay device 10 operating as the relay device 3a, and shows the operation during packet detour processing. 図5は、パケット迂回処理の例を示すフローチャートである。FIG. 5 is a flowchart illustrating an example of packet detour processing. 図6は、迂回先管理領域のデータ構造例を示す図である。FIG. 6 is a diagram illustrating a data structure example of the detour destination management area. 図7は、順序管理領域のデータ構造例を示す。FIG. 7 shows an example of the data structure of the order management area. 図8は、中継装置3b(3c)のパケット復元処理時の動作を示す図である。FIG. 8 is a diagram illustrating the operation of the relay device 3b (3c) during the packet restoration process. 図9は、パケット復元処理の例を示すフローチャートである。FIG. 9 is a flowchart illustrating an example of packet restoration processing. 図10は、中継装置3aの迂回パケット復帰処理時の動作を示す図である。FIG. 10 is a diagram illustrating an operation at the time of the detour packet restoration process of the relay device 3a. 図11は、パケット復帰処理の例を示すフローチャートである。FIG. 11 is a flowchart illustrating an example of packet return processing. 図12は、パケット復帰処理の例を示すフローチャートである。FIG. 12 is a flowchart illustrating an example of packet return processing. 図13は、中継装置2、3がレイヤ2スイッチ(又はスイッチングHUB)である場合におけるパケットの転送例の説明図である。FIG. 13 is an explanatory diagram of a packet transfer example when the relay apparatuses 2 and 3 are layer 2 switches (or switching HUBs). 図14は、中継装置2、3がルータ(又はレイヤ3スイッチ)である場合におけるパケットの転送例の説明図である。FIG. 14 is an explanatory diagram of a packet transfer example when the relay apparatuses 2 and 3 are routers (or layer 3 switches). 図15は、迂回先が1つの場合におけるパケットの転送手順を示す。FIG. 15 shows a packet transfer procedure when there is one detour destination. 図16は、迂回先が1つの場合におけるパケットの転送手順を示す。FIG. 16 shows a packet transfer procedure when there is one detour destination. 図17は、迂回先が1つの場合におけるパケットの転送手順を示す。FIG. 17 shows a packet transfer procedure when there is one detour destination. 図18は、迂回先が1つの場合におけるパケットの転送手順を示す。FIG. 18 shows a packet transfer procedure when there is one detour destination. 図19は、迂回先が2つの場合におけるパケットの転送手順を示す。FIG. 19 shows a packet transfer procedure when there are two detour destinations. 図20は、迂回先が2つの場合におけるパケットの転送手順を示す。FIG. 20 shows a packet transfer procedure when there are two detour destinations.

以下、図面を参照して本発明の実施形態について説明する。実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. The configuration of the embodiment is an exemplification, and the present invention is not limited to the configuration of the embodiment.

〔参考例〕
図1は、実施形態と対比される参考例の説明図である。参考例に係るネットワークシステムは以下のように形成されている。すなわち、図1(A)に示すように、ネットワークシステムは、複数の端末装置1と、複数の通信設備としての中継装置2とを含む。参考例では、3つの端末装置1a,1b,1cと、6つの中継装置2a〜2fとが例示されている。
[Reference example]
FIG. 1 is an explanatory diagram of a reference example compared with the embodiment. The network system according to the reference example is formed as follows. That is, as shown in FIG. 1A, the network system includes a plurality of terminal devices 1 and a relay device 2 as a plurality of communication facilities. In the reference example, three terminal devices 1a, 1b, and 1c and six relay devices 2a to 2f are illustrated.

端末装置1aは、中継装置2aに接続され、端末装置1bは、中継装置2eに接続され、端末装置1cは、中継装置2fに接続されている。端末装置1b及び端末装置1cのそれぞれから、8Mbpsの通信量で、端末装置1aへパケットが転送される場合を仮定する。   The terminal device 1a is connected to the relay device 2a, the terminal device 1b is connected to the relay device 2e, and the terminal device 1c is connected to the relay device 2f. Assume that a packet is transferred from each of the terminal device 1b and the terminal device 1c to the terminal device 1a with a communication amount of 8 Mbps.

この場合、中継装置2e及び中継装置2fからのパケットを中継する中継装置2cには、合計で16Mbpsのパケットが到達する。中継装置2cは、端末装置1a向け、すなわち中継装置2aに転送するパケットを一時記憶するバッファメモリを有している。バッファメモリの記憶量は、中継装置2cの性能や、他のトラフィックの疎通を考慮した帯域(この例では10Mbps)を超過しない範囲に制限される。すなわち、バッファメモリの記憶量(パケット蓄積量)が所定値を超過する場合、バッファメモリに対するパケットの記憶は行われず、パケットは廃棄される。   In this case, a total of 16 Mbps packets arrive at the relay device 2c that relays packets from the relay device 2e and the relay device 2f. The relay device 2c has a buffer memory for temporarily storing packets to be transferred to the terminal device 1a, that is, to the relay device 2a. The storage amount of the buffer memory is limited to a range that does not exceed the bandwidth (10 Mbps in this example) considering the performance of the relay device 2c and the communication of other traffic. That is, when the storage amount (packet accumulation amount) of the buffer memory exceeds a predetermined value, the packet is not stored in the buffer memory and the packet is discarded.

例えば、中継装置2cが端末装置1aを収容する中継装置2aへパケットを送信する能力(帯域)が10Mbpsである場合、超過分の6Mbps分のパケットは、バッファメモリに記憶されずに廃棄される。この結果、パケットロスが発生する。パケットロスによって端末装置1aと端末装置1bとの間の通信、及び端末装置1aと端末装置1cとの間の通信が異常となる。   For example, if the capability (bandwidth) of the relay device 2c to transmit a packet to the relay device 2a accommodating the terminal device 1a is 10 Mbps, the excess 6 Mbps packets are discarded without being stored in the buffer memory. As a result, packet loss occurs. The communication between the terminal device 1a and the terminal device 1b and the communication between the terminal device 1a and the terminal device 1c become abnormal due to the packet loss.

パケットロスを回避するため、図1(B)に示すように、中継装置2cを高性能な中継装置2gに入れ替えて帯域を増やすことが考えられる。或いは、図1(C)に示すように、中継装置2cと端末装置1aとの間に中継装置2hを経由する迂回路を増設して帯域を増やすことが考えられる。   In order to avoid packet loss, as shown in FIG. 1B, it is conceivable to increase the bandwidth by replacing the relay device 2c with a high-performance relay device 2g. Alternatively, as shown in FIG. 1C, it is conceivable to increase the bandwidth by adding a detour via the relay device 2h between the relay device 2c and the terminal device 1a.

しかし、中継装置の入れ替え(置換)や迂回路の増設には、多大なコストが発生する。実施形態では、高性能な中継装置2gへの入れ替えや迂回路の増設無く、パケットロス、ひいてはパケットロスによる通信異常を回避し得る通信装置,通信システム及びパケット
転送方法について説明する。
However, the replacement (replacement) of the relay device and the addition of a detour cause a great cost. In the embodiment, a communication device, a communication system, and a packet transfer method that can avoid a communication error due to packet loss and eventually packet loss without replacement with a high-performance relay device 2g or addition of a detour will be described.

〔実施形態〕
<ネットワーク構成>
図2は、実施形態に係る通信システムの構成例を示す。ネットワークの構成は、図1(A)に示した参考例のネットワークと機器の配置や接続関係は同様である。但し、実施形態では、中継装置2c,中継装置2b及び中継装置2dの代わりに、中継装置3a,中継装置3b,中継装置3cが設けられている。中継装置3a,中継装置3b,中継装置3cを区
別しない場合には、「中継装置3」と表記する。
Embodiment
<Network configuration>
FIG. 2 shows a configuration example of a communication system according to the embodiment. As for the network configuration, the arrangement and connection relationship between the network of the reference example shown in FIG. However, in the embodiment, a relay device 3a, a relay device 3b, and a relay device 3c are provided instead of the relay device 2c, the relay device 2b, and the relay device 2d. When the relay device 3a, the relay device 3b, and the relay device 3c are not distinguished, they are expressed as “relay device 3”.

中継装置は、「通信装置」の一例である。通信装置は、中継装置だけでなく、端末装置を含む概念である。実施形態の構成は、パケットを中継する中継装置だけでなく、パケットを生成して送信する端末装置が2以上の通信経路を有する場合にも適用し得る。また、中継装置3aは、「通信装置」の一例である。端末装置1aは「第1装置」の一例である。中継装置3bは、「第2装置」の一例である。中継装置3cは、「第3装置」の一例である。   The relay device is an example of a “communication device”. The communication device is a concept including not only a relay device but also a terminal device. The configuration of the embodiment can be applied not only to a relay device that relays a packet, but also when a terminal device that generates and transmits a packet has two or more communication paths. The relay device 3a is an example of a “communication device”. The terminal device 1a is an example of a “first device”. The relay device 3b is an example of a “second device”. The relay device 3c is an example of a “third device”.

実施形態に係る中継装置3aは、中継装置2cと同様に、宛先の端末装置1aへの通信経路上にある中継装置2aへ送信されるパケットを一時記憶するバッファメモリ(以下「バッファ」ともいう)を有する。バッファは、中継装置2aへ送信されるパケット量が規定量を超えないようにパケットの送信レートを調整するために使用される。バッファの使用によって、中継装置2aでのバッファのオーバーフローが回避され、パケットロスによる通信異常を回避し得る。   Similarly to the relay device 2c, the relay device 3a according to the embodiment temporarily stores a packet transmitted to the relay device 2a on the communication path to the destination terminal device 1a (hereinafter also referred to as “buffer”). Have The buffer is used to adjust the packet transmission rate so that the amount of packets transmitted to the relay device 2a does not exceed a prescribed amount. By using the buffer, an overflow of the buffer in the relay apparatus 2a can be avoided, and a communication abnormality due to a packet loss can be avoided.

実施形態に係る中継装置3aは、中継装置2cと異なり、バッファに記憶されたパケット量(「バッファの記憶量」の一例)が所定値を超過する場合に、パケットを廃棄しない。廃棄の代わりに、中継装置3aは、パケットの本来の転送先(中継装置2a)と異なる中継装置3bへ、超過分に相当するパケットを迂回送信する。   Unlike the relay device 2c, the relay device 3a according to the embodiment does not discard a packet when the amount of packets stored in the buffer (an example of “amount of buffer storage”) exceeds a predetermined value. Instead of discarding, the relay device 3a bypasses and transmits a packet corresponding to the excess to the relay device 3b different from the original transfer destination of the packet (relay device 2a).

中継装置3bは、中継装置3b内で迂回送信されたパケットを必要に応じて滞留させた後、中継装置3aへこのパケットを折り返し送信する。パケットが中継装置3aに受信されたとき、バッファメモリの記憶量が所定範囲に収まる(例えば所定値を超えていない)場合には、中継装置3aは、中継装置3bから受信されたパケットをバッファメモリに記憶し、中継装置2aへ送信する。   The relay device 3b retains the packet that is detoured in the relay device 3b as necessary, and then transmits this packet back to the relay device 3a. When the packet is received by the relay device 3a, if the storage amount of the buffer memory falls within a predetermined range (for example, does not exceed the predetermined value), the relay device 3a transmits the packet received from the relay device 3b to the buffer memory. And transmitted to the relay device 2a.

パケット量が所定値を超えている場合には、中継装置3aは、中継装置3bから受信さ
れたパケットを、中継装置3bとは異なる、他の迂回先としての中継装置3cへ送信する。中継装置3cは、必要に応じてパケットを滞留させた後、迂回されてきたパケットを中継装置3aに折り返し送信する。中継装置3aは、中継装置3cからのパケットを中継装置2aに送る。
When the packet amount exceeds the predetermined value, the relay device 3a transmits the packet received from the relay device 3b to another relay device 3c as a detour destination different from the relay device 3b. The relay device 3c retains the packet as necessary, and then sends back the detoured packet to the relay device 3a. The relay device 3a sends the packet from the relay device 3c to the relay device 2a.

このようにして、実施形態では、バッファの記憶量が所定値を超過する場合に、パケットがバッファに記憶されることなく、中継装置3a→中継装置3b→中継装置3a(→中継装置3c→中継装置3a)のルート(迂回路)をパケットが経由するようにパケット転送が制御される。これによって、パケットの遅延時間を稼ぎ、バッファのオーバーフローによるパケットの喪失や、オーバーフロー回避乃至解消のためのパケット廃棄、すなわちパケットロスが発生しないようにされる。なお、図2の例では、中継装置3aへパケットを折り返す中継装置3の数が2である場合を例示しているが、このような中継装置の数は1でも3以上であっても良い。   Thus, in the embodiment, when the storage amount of the buffer exceeds a predetermined value, the packet is not stored in the buffer, and the relay device 3a → the relay device 3b → the relay device 3a (→ the relay device 3c → the relay). The packet transfer is controlled so that the packet passes through the route (detour) of the device 3a). As a result, the packet delay time is increased, and packet loss due to buffer overflow, packet discarding for avoiding or eliminating overflow, that is, packet loss, is prevented. In the example of FIG. 2, the case where the number of relay apparatuses 3 that return a packet to the relay apparatus 3 a is two is illustrated, but the number of such relay apparatuses may be one or three or more.

<中継装置のハードウェア構成>
図3は、中継装置2、中継装置3として使用可能な中継装置10のハードウェア構成例を示す。中継装置10は、Central Processing Unit(CPU)11と、CPU11と接
続された単数又は複数のメモリ12と、CPU11と接続されたスイッチ13と、スイッチ13に含まれたメモリ14と、スイッチ13と接続されたPHY15と、PHY15に接続された複数のポート16とを含む。
<Hardware configuration of relay device>
FIG. 3 shows a hardware configuration example of the relay apparatus 10 that can be used as the relay apparatus 2 and the relay apparatus 3. The relay device 10 is connected to a central processing unit (CPU) 11, one or more memories 12 connected to the CPU 11, a switch 13 connected to the CPU 11, a memory 14 included in the switch 13, and the switch 13. PHY 15 and a plurality of ports 16 connected to PHY 15.

CPU11は、「プロセッサ」、「制御部」、「制御装置」の一例であり、メモリ12及びメモリ14のそれぞれは、「記憶装置」、「メモリ」、「記憶部」、「記憶媒体」の一例である。   The CPU 11 is an example of “processor”, “control unit”, and “control device”, and each of the memory 12 and the memory 14 is an example of “storage device”, “memory”, “storage unit”, and “storage medium”. It is.

メモリ12、メモリ14は、主記憶装置と補助記憶装置とを含む。主記憶装置は、プログラムの展開領域,CPU11の作業領域,データやプログラムの記憶領域、バッファ領域、バッファ領域として使用される。主記憶装置は、例えばRandom Access Memory(RAM),或いはRAMとRead Only Memory(ROM)との組み合わせで形成される。   The memory 12 and the memory 14 include a main storage device and an auxiliary storage device. The main storage device is used as a program development area, a work area for the CPU 11, a data and program storage area, a buffer area, and a buffer area. The main storage device is formed by, for example, a random access memory (RAM) or a combination of a RAM and a read only memory (ROM).

補助記憶装置は、例えば、ハードディスクドライブ(HDD),Solid State Drive(
SSD),フラッシュメモリ,Electrically Erasable Programmable Read-Only Memory
(EEPROM)などの不揮発性記憶媒体で形成される。補助記憶装置は、データやプログラムの記憶領域として使用される。
Auxiliary storage devices include, for example, hard disk drives (HDD), Solid State Drives (
SSD), Flash memory, Electrically Erasable Programmable Read-Only Memory
It is formed of a non-volatile storage medium such as (EEPROM). The auxiliary storage device is used as a storage area for data and programs.

メモリ12は、例えば、オペレーティングシステム(OS)がインストールされ、OS上の設定データを保存している。もっとも、メモリ12は、OS以外のプログラムやOSの設定データ以外のデータを記憶することができる。   For example, an operating system (OS) is installed in the memory 12 and stores setting data on the OS. However, the memory 12 can store programs other than the OS and data other than the OS setting data.

メモリ14は、フレーム(パケット)をバッファ(一時記憶)するバッファメモリとして使用される。また、メモリ14は、パケットの送信元情報に対応する宛先情報を記憶したテーブルを記憶する。テーブルは、MACフレームの転送に用いるMAC学習テーブルや、IPパケットの転送に用いるルーティングテーブル、IPアドレスとMACアドレスとの対応関係を示すARPテーブルなどを含む。IPアドレスは「ネットワークアドレス」の一例であり、MACアドレスは「物理アドレス」の一例である。   The memory 14 is used as a buffer memory for buffering (temporarily storing) frames (packets). In addition, the memory 14 stores a table storing destination information corresponding to packet transmission source information. The table includes a MAC learning table used for transferring a MAC frame, a routing table used for transferring an IP packet, an ARP table indicating a correspondence relationship between an IP address and a MAC address, and the like. The IP address is an example of a “network address”, and the MAC address is an example of a “physical address”.

スイッチ13は、テーブルを用いたフレーム(パケット)の転送(スイッチング)を行う。すなわち、スイッチ13は、メモリ14に記憶されたテーブルを用い、PHY15から受信されるパケットの宛先に合致する出力先を決定し、出力先に対応するポート16へ向けてパケットを送り出す。また、スイッチ13は、QoS(サービス品質)に係る処理
(トラフィックの優先度に応じた処理)、及びMAC(Media Access Control)層の処理などを行う。QoS情報は、パケットに対する優先順位を示す情報として扱われる。
The switch 13 performs frame (packet) transfer (switching) using a table. That is, the switch 13 uses the table stored in the memory 14 to determine an output destination that matches the destination of the packet received from the PHY 15 and sends the packet to the port 16 corresponding to the output destination. The switch 13 also performs QoS (service quality) processing (processing according to traffic priority), MAC (Media Access Control) layer processing, and the like. The QoS information is handled as information indicating the priority order for the packet.

PHY15は、符号化などの物理層の処理を行う。PHY15やスイッチ13は、例えば、LSIなどの集積回路で形成される。各ポート16は、外部とデータを入出力するための物理インタフェースである。各ポート16にネットワークと接続する物理リンク(ケーブル)が接続される。   The PHY 15 performs physical layer processing such as encoding. The PHY 15 and the switch 13 are formed by an integrated circuit such as an LSI, for example. Each port 16 is a physical interface for inputting / outputting data to / from the outside. A physical link (cable) connected to the network is connected to each port 16.

CPU11は、メモリ12に記憶されたプログラムを実行することによって、中継装置2(中継装置3)としての処理乃至動作を行う。実施形態は、中継装置2及び中継装置3がレイヤ3スイッチ又はルータである場合と、中継装置2及び中継装置3がレイヤ2スイッチ又はスイッチングHUBである場合とがある。   The CPU 11 performs processing or operation as the relay device 2 (relay device 3) by executing a program stored in the memory 12. In the embodiment, there are a case where the relay device 2 and the relay device 3 are layer 3 switches or routers, and a case where the relay device 2 and the relay device 3 are layer 2 switches or switching HUBs.

中継装置2及び中継装置3がレイヤ3スイッチ又はルータである場合、CPU11は、IP層のルーティングや冗長化などのソフトウェア処理を実行する。これに対し、中継装置2及び中継装置3がレイヤ2スイッチ又はHUBである場合には、CPU11は、MAC層(レイヤ2)のルーティングやソフトウェア処理を実行する。   When the relay device 2 and the relay device 3 are layer 3 switches or routers, the CPU 11 executes software processing such as IP layer routing and redundancy. On the other hand, when the relay device 2 and the relay device 3 are layer 2 switches or HUBs, the CPU 11 executes routing of the MAC layer (layer 2) and software processing.

中継装置10におけるCPU11がプログラムを実行することにより、中継装置10は、中継装置3a,中継装置3b,中継装置3cとして動作することができる。中継装置3aは、パケット迂回処理と、パケット復元処理と、迂回パケット復帰処理とを少なくとも行う。   When the CPU 11 in the relay device 10 executes the program, the relay device 10 can operate as the relay device 3a, the relay device 3b, and the relay device 3c. The relay device 3a performs at least packet detour processing, packet restoration processing, and detour packet return processing.

<中継装置の構成及び動作例>
図4は、中継装置3aとして動作する中継装置10が有する機能を示すブロック図であり、パケット迂回処理時の動作を示す。図5は、パケット迂回処理の例を示すフローチャートである。
<Configuration and operation example of relay device>
FIG. 4 is a block diagram showing the functions of the relay device 10 operating as the relay device 3a, and shows the operation during packet detour processing. FIG. 5 is a flowchart illustrating an example of packet detour processing.

図4において、中継装置3aは、パケット受信部21と、パケット受信処理部22と、優先順位判定部23と、高優先バッファ領域24と、低優先バッファ領域25と、送信制御部26と、MAC学習テーブル27とを含む。また、中継装置3aは、パケット送信部28と、制御処理部29と、ヘッダ復元部30と、ARP(Address Resolution Protocol:アドレス解決プロトコル)テーブル31と、パケット送信部37とを含む。さらに、
中継装置3aは、ヘッダ復元部30と、順序管理部32と、迂回先管理領域33と、順序管理領域34と、迂回送信制御部35と、ヘッダ変換部36と、パケット送信部37とを含む。
In FIG. 4, the relay device 3a includes a packet reception unit 21, a packet reception processing unit 22, a priority determination unit 23, a high priority buffer region 24, a low priority buffer region 25, a transmission control unit 26, a MAC A learning table 27. The relay device 3 a includes a packet transmission unit 28, a control processing unit 29, a header restoration unit 30, an ARP (Address Resolution Protocol) table 31, and a packet transmission unit 37. further,
The relay device 3 a includes a header restoration unit 30, a sequence management unit 32, a detour destination management region 33, a sequence management region 34, a detour transmission control unit 35, a header conversion unit 36, and a packet transmission unit 37. .

パケット受信部21は、各ポート16に到着するパケットを受信する。パケット受信処理部22は、パケットが自装置宛てか否かなどのパケット受信処理を行う。優先順位判定部23は、パケット中のQoSデータを参照して、パケットの優先順位を判定する。   The packet receiver 21 receives a packet that arrives at each port 16. The packet reception processing unit 22 performs packet reception processing such as whether the packet is addressed to its own device. The priority order determination unit 23 refers to the QoS data in the packet and determines the priority order of the packet.

高優先バッファ領域24は、優先順位が「高優先」と判定されたパケットを一時記憶するバッファ領域(バッファメモリ)である。低優先バッファ領域25は、優先順位が「低優先」と判定されたパケット(高優先以外のパケット)を一時記憶するバッファ領域(バッファメモリ)である。高優先バッファ領域24及び低優先バッファ領域25の容量は、各ポート16の帯域を考慮して決定される。また、高優先バッファ領域24及び低優先バッファ領域25には、パケットの記憶量の上限である所定値が予め設定されている。送信制御部26は、MAC学習テーブル27を参照して、パケットの送信先(出力先のポート16)を決定する。パケット送信部は、例えば、ポート16対応に設けられ、パケットを送信する。図4では、中継装置2aにパケットを送信するポート16に対応するパケット
送信部28と、中継装置3bにパケットを送信するポート16に対応するパケット送信部37とが例示されている。なお、パケット送信部28に対し、ポート16の先(リンク)の帯域に応じた送信レート調整を行うための一時記憶領域を設け、帯域を超過しないように送信タイミングを調整することもできる。制御処理部29は、制御用のパケットに基づく制御や処理を行う。
The high priority buffer area 24 is a buffer area (buffer memory) for temporarily storing packets determined to have a priority of “high priority”. The low priority buffer area 25 is a buffer area (buffer memory) that temporarily stores packets determined to have a priority of “low priority” (packets other than high priority). The capacities of the high priority buffer area 24 and the low priority buffer area 25 are determined in consideration of the bandwidth of each port 16. In the high priority buffer area 24 and the low priority buffer area 25, a predetermined value that is an upper limit of the packet storage amount is set in advance. The transmission control unit 26 refers to the MAC learning table 27 to determine the packet transmission destination (output destination port 16). For example, the packet transmission unit is provided for port 16 and transmits a packet. FIG. 4 illustrates a packet transmission unit 28 corresponding to the port 16 that transmits a packet to the relay device 2a and a packet transmission unit 37 corresponding to the port 16 that transmits a packet to the relay device 3b. Note that a temporary storage area for adjusting the transmission rate according to the bandwidth of the port 16 (link) can be provided for the packet transmitter 28, and the transmission timing can be adjusted so as not to exceed the bandwidth. The control processing unit 29 performs control and processing based on the control packet.

ヘッダ復元部30は、迂回先から折り返されて戻ってきたパケットのヘッダ中の宛先MACアドレスを元のMACアドレスに戻す処理を行う。ARPテーブル31は、ARP処理の結果として得られる、IPアドレスとMACアドレスとの対応関係を示す情報を記憶する。順序管理部32は、迂回先へ迂回させるパケットの順序を管理する。   The header restoring unit 30 performs processing for returning the destination MAC address in the header of the packet returned from the detour destination to the original MAC address. The ARP table 31 stores information indicating the correspondence between the IP address and the MAC address obtained as a result of the ARP process. The order management unit 32 manages the order of packets to be diverted to the detour destination.

迂回先管理領域33は、迂回先を示す情報を記憶する。図6は、迂回先管理領域33のデータ構造例を示す図である。図6に示すように、迂回先管理領域33は、迂回先となるインタフェース(ポート)毎に用意された1以上のレコードにより形成されるテーブルを記憶する。迂回先となる各ポートに接続される隣接装置は、「複数の第2装置の候補」の一例である。例えば、中継装置3b及び中継装置3cは、「複数の第2装置の候補」の一例である。   The detour destination management area 33 stores information indicating a detour destination. FIG. 6 is a diagram illustrating a data structure example of the detour destination management area 33. As shown in FIG. 6, the detour destination management area 33 stores a table formed by one or more records prepared for each interface (port) serving as a detour destination. An adjacent device connected to each port serving as a detour destination is an example of “a plurality of second device candidates”. For example, the relay device 3b and the relay device 3c are examples of “a plurality of second device candidates”.

レコードは、迂回先のインタフェース(ポート)の識別情報と、迂回先のポートに係る送信レート,受信レート,及び迂回パケット数を含む。送信レートは、単位時間当たりのパケット送信量を示し、受信レートは、単位時間当たりのパケット受信量を示す。迂回パケット数は、その迂回先のポートへ送信したパケットの数を示す。   The record includes identification information of a detour destination interface (port), a transmission rate, a reception rate, and the number of detour packets related to the detour destination port. The transmission rate indicates the amount of packet transmission per unit time, and the reception rate indicates the amount of packet reception per unit time. The number of bypass packets indicates the number of packets transmitted to the bypass destination port.

順序管理領域34は、迂回先へ送信したパケットの順序を示す情報を記憶する。図7は、順序管理領域34のデータ構造例を示す。順序管理領域34は、迂回パケットの識別情報を記憶するレコードの集合で形成されるテーブルを記憶する。パケットの識別情報として、パケットのヘッダに格納された情報(ヘッダ情報)が用いられる。図7の例では、パケットは、宛先MACアドレス,送信元MACアドレス,Etherタイプ,プロトコル,宛先IPアドレス,送信元IPアドレス,及びVLAN識別子(VLANID)の組み合わせが例示されている。もっとも、パケットの識別情報をなすヘッダ情報の組み合わせは適宜選択可能である。さらに、各レコードには、パケットの迂回先として選択されたインタフェース(迂回インタフェース)の識別情報と、タイムスタンプ(レコードの格納時刻)とが記憶される。   The order management area 34 stores information indicating the order of packets transmitted to the detour destination. FIG. 7 shows an example of the data structure of the order management area 34. The order management area 34 stores a table formed by a set of records for storing identification information of bypass packets. Information (header information) stored in the packet header is used as packet identification information. In the example of FIG. 7, the packet illustrates a combination of a destination MAC address, a source MAC address, an Ether type, a protocol, a destination IP address, a source IP address, and a VLAN identifier (VLANID). However, the combination of header information that forms packet identification information can be selected as appropriate. Further, each record stores identification information of an interface (detour interface) selected as a packet detour destination and a time stamp (record storage time).

迂回送信制御部35は、パケットの迂回先を特定する。ヘッダ変換部36は、パケットのヘッダに含まれる宛先MACアドレスの変換処理を行う。パケット送信部37は、迂回先へのパケット送信を行う。   The detour transmission control unit 35 specifies a detour destination of the packet. The header conversion unit 36 performs conversion processing of the destination MAC address included in the header of the packet. The packet transmission unit 37 transmits a packet to a detour destination.

例えば、パケット受信部21,パケット送信部28,パケット送信部37,パケット受信
処理部22は、図3に示したポート16及びPHY15が有する機能である。優先順位判定部23,送信制御部26,ヘッダ復元部30,順序管理部32,迂回送信制御部35,ヘッ
ダ変換部36は、CPU11がプログラムを実行することによって得られる機能である。換言すれば、CPU11は、これら各部として動作する。但し、CPU11の機能として説明した各部の少なくとも一部が、スイッチ13によって行われても良い。
For example, the packet reception unit 21, the packet transmission unit 28, the packet transmission unit 37, and the packet reception processing unit 22 are functions that the port 16 and the PHY 15 illustrated in FIG. 3 have. The priority determination unit 23, the transmission control unit 26, the header restoration unit 30, the order management unit 32, the bypass transmission control unit 35, and the header conversion unit 36 are functions obtained by the CPU 11 executing a program. In other words, the CPU 11 operates as each of these units. However, at least a part of each part described as the function of the CPU 11 may be performed by the switch 13.

高優先バッファ領域24,低優先バッファ領域25,MAC学習テーブル27,ARPテ
ーブル31は、メモリ14上に作成される。但し、メモリ12上に作成されても良い。また、迂回先管理領域33及び順序管理領域34のそれぞれは、メモリ12及びメモリ14の少なくとも一方上に作成することができる。その他、以下に説明する動作例や処理例で示す情報は、メモリ12又はメモリ14に記憶されている。
The high priority buffer area 24, the low priority buffer area 25, the MAC learning table 27, and the ARP table 31 are created on the memory 14. However, it may be created on the memory 12. Each of the detour destination management area 33 and the order management area 34 can be created on at least one of the memory 12 and the memory 14. In addition, information shown in an operation example and a processing example described below is stored in the memory 12 or the memory 14.

低優先バッファ領域25は、「第1装置向けの宛先情報を含むパケットを一時記憶可能なバッファ」の一例である。但し、バッファが優先順位乃至優先度と関連づけられていることは必須要件ではない。高優先バッファ領域24が「バッファ」として扱われることもあり得る。ヘッダ変換部36は、「変更部」の一例である。順序管理部32は、「管理部」、「決定部」の一例である。ヘッダ復元部30は、「書換部」の一例である。順序管理領域34は、「記憶部」の一例である。   The low priority buffer area 25 is an example of a “buffer capable of temporarily storing packets including destination information for the first device”. However, it is not an essential requirement that the buffer is associated with priority or priority. The high priority buffer area 24 may be treated as a “buffer”. The header conversion unit 36 is an example of a “change unit”. The order management unit 32 is an example of a “management unit” or “determination unit”. The header restoration unit 30 is an example of a “rewriting unit”. The order management area 34 is an example of a “storage unit”.

<<パケット迂回処理>>
以下、図4及び図5を用いてパケット迂回処理を説明する。図5の001において、パケット受信部21は、パケットを受信する(図4(1))。受信されたパケットは、受信処理部22に渡される。
<< Packet detour processing >>
Hereinafter, the packet detouring process will be described with reference to FIGS. In 001 of FIG. 5, the packet receiver 21 receives the packet (FIG. 4 (1)). The received packet is passed to the reception processing unit 22.

受信処理部22は、パケットのヘッダを参照してパケットの宛先を確認する(002,
図4(2))。確認は、例えば、ヘッダに含まれた宛先アドレスが自装置(中継装置3a)のアドレスかを判定することによって行われる。パケットの宛先が自装置である場合には(002のY)、パケットが制御パケットとして扱われ、制御処理部29に渡される。制御処理部29は、制御様パケットに基づく処理や制御を行う(003)。
The reception processing unit 22 refers to the packet header and confirms the destination of the packet (002,
FIG. 4 (2)). The confirmation is performed, for example, by determining whether the destination address included in the header is the address of the own device (relay device 3a). If the destination of the packet is its own device (Y in 002), the packet is treated as a control packet and passed to the control processing unit 29. The control processing unit 29 performs processing and control based on the control-like packet (003).

パケットが自装置宛てでなければ(002のN)、パケットが優先順位判定部23に渡される。優先順位判定部23は、パケットの優先順位(QoS)に従って、パケットの振分を行う(003,図4(3))。   If the packet is not addressed to the own device (N in 002), the packet is passed to the priority order determination unit 23. The priority determination unit 23 distributes packets according to the packet priority (QoS) (003, FIG. 4 (3)).

ここで、パケットの高優先、低優先の設定は、予め行われる。優先順位の設定は、トラフィック,サービス,ネットワーク(例えばVLAN),ユーザなど様々な単位で設定可能
である。例えば、VoIP(Voice over Internet Protocol)のパケットを高優先に設定したり、UDP(User Datagram Protocol)のパケットは低優先に設定したりすることが考えられる。優先度の判定は、例えば、パケットのヘッダ情報に基づいて行われる。
Here, setting of high priority and low priority of the packet is performed in advance. The priority order can be set in various units such as traffic, service, network (for example, VLAN), and user. For example, a VoIP (Voice over Internet Protocol) packet may be set with high priority, and a UDP (User Datagram Protocol) packet may be set with low priority. The determination of the priority is performed based on, for example, packet header information.

004の判定において、パケットが高優先パケットと判定される場合には、パケットは、高優先バッファ領域24へ格納される(005,図4(4))。高優先バッファ領域2
4へ格納されたパケットは、送信制御部26によって、優先的に読み出される(図4(5))。
If it is determined in 004 that the packet is a high priority packet, the packet is stored in the high priority buffer area 24 (005, FIG. 4 (4)). High priority buffer area 2
4 is preferentially read by the transmission control unit 26 (FIG. 4 (5)).

送信制御部26は、MAC学習テーブル27からパケットのヘッダに含まれた宛先MACアドレス(DstMAC)に対応する送信インタフェース(ポート16)を特定し(図4(6))、パケットをパケット送信部28に送る。パケット送信部28は、特定したポート16から他の装置へパケットを送信する(009)。   The transmission control unit 26 specifies a transmission interface (port 16) corresponding to the destination MAC address (DstMAC) included in the packet header from the MAC learning table 27 (FIG. 4 (6)), and transmits the packet to the packet transmission unit 28. Send to. The packet transmitter 28 transmits a packet from the identified port 16 to another device (009).

004の判定において、パケットが低優先パケットと判定される場合には、パケットは、順序管理部32へ渡される(図4(7))。順序管理部32は、順序管理領域34(図7)を参照し、受け取ったパケットの識別情報と同一の識別情報を含むレコードが存在しないか確認する(006)。レコードがある場合には、処理が012に進み、レコードがない場合には、処理が007に進む。   If it is determined in 004 that the packet is a low priority packet, the packet is passed to the order management unit 32 (FIG. 4 (7)). The order management unit 32 refers to the order management area 34 (FIG. 7) and confirms that there is no record including the same identification information as the identification information of the received packet (006). If there is a record, the process proceeds to 012. If there is no record, the process proceeds to 007.

007では、順序管理部32は、低優先バッファ領域25に空き領域があるか否かを判定する。この判定は、低優先バッファ領域25のパケット記憶量が所定値となっているか、或いは所定値を超過しているか否かの判定で行われる。記憶量が所定値となっている、或いは超過している場合には、空き領域がないと判定され、そうでなければ、空き領域があると判定される。   In 007, the order management unit 32 determines whether there is a free area in the low priority buffer area 25. This determination is made by determining whether the packet storage amount in the low priority buffer area 25 is a predetermined value or exceeds a predetermined value. When the storage amount is a predetermined value or exceeds, it is determined that there is no free area, and otherwise, it is determined that there is a free area.

空き領域があると判定する場合には(007のY)、パケットを低優先バッファ領域25に格納する(008,図4(9))。この場合、パケットは、送信制御部26によって
低優先に応じたタイミングで低優先バッファ領域25から読み出され、MAC学習テーブル27を用いて宛先に対応するポート16が特定される(図4(6))。そして、パケット送信部28によって、特定されたポート16から送信される(009)。
If it is determined that there is an empty area (Y in 007), the packet is stored in the low priority buffer area 25 (008, FIG. 4 (9)). In this case, the packet is read from the low priority buffer area 25 at a timing according to the low priority by the transmission control unit 26, and the port 16 corresponding to the destination is specified using the MAC learning table 27 ((6 in FIG. 4). )). Then, the packet transmission unit 28 transmits the specified port 16 (009).

低優先バッファ領域25に空き領域がないと判定される場合には(007のN)、順序管理部32は、パケットの迂回先があるか否かを判定する(010)。010の処理は、例えば、以下のようにして行われる。   When it is determined that there is no free area in the low priority buffer area 25 (N in 007), the order management unit 32 determines whether there is a packet detour destination (010). The process of 010 is performed as follows, for example.

順序管理部32は、順序管理領域34(図7)を参照する(図4(8))。順序管理部32は、受信されたパケットのヘッダ情報と同一の情報を含むレコードが順序管理領域34にあるか否かを判定する。   The order management unit 32 refers to the order management area 34 (FIG. 7) (FIG. 4 (8)). The order management unit 32 determines whether there is a record in the order management area 34 that includes the same information as the header information of the received packet.

このとき、該当するレコードがある場合には、順序管理部32は、該当のレコード中の迂回インタフェースを示す情報が、受信されたパケットの受信ポートを示すか否かを判定する。迂回インタフェースが受信ポートを示さない(迂回インタフェースと受信ポートとが異なる)場合には、順序管理部32は、該当レコード中の迂回インタフェースで示される迂回先のポートへパケットを送信することを決定する。その後、処理が012に進む(010のY(迂回先あり))。これによって、パケットの順序が維持される。   At this time, if there is a corresponding record, the order management unit 32 determines whether or not the information indicating the detour interface in the corresponding record indicates the reception port of the received packet. When the detour interface does not indicate a reception port (the detour interface and the reception port are different), the order management unit 32 determines to transmit a packet to the detour destination port indicated by the detour interface in the record. . Thereafter, the process proceeds to 012 (Y in 010 (there is a detour destination)). This maintains the packet order.

迂回インタフェースと受信ポートとが異なるか否かの判定は、パケットが本来の通信経路から到着したものか、迂回させたパケットが折り返して到着したものかを判定するために行われる。   Whether the bypass interface and the reception port are different is determined to determine whether the packet has arrived from the original communication path or whether the bypassed packet has returned.

順序管理部32は、受信されたパケットのヘッダ情報と同一の情報を含むレコードが順序管理領域34に格納されていない場合には、迂回先管理領域33(図6)を参照する(図4(10))。順序管理部32は、迂回先ポートとして登録された1以上のポート16の中から、送信レートと受信レートとの合計値が最も低いポートを選出する。   When the record including the same information as the header information of the received packet is not stored in the order management area 34, the order management unit 32 refers to the detour destination management area 33 (FIG. 6) (FIG. 4 ( 10)). The order management unit 32 selects a port having the lowest total value of the transmission rate and the reception rate from one or more ports 16 registered as bypass ports.

順序管理部32は、選出したポートの送信レートと受信レートと迂回パケット数の少なくとも1つが閾値を超過するかを判定する。超過しない場合は、順序管理部32は、該当ポートを迂回先のポートとして決定し、処理を012へ進める(010のY(迂回先あり))。これに対し、送信レートと受信レートと迂回パケット数の少なくとも一つが超過する場合には、選出したポートを用いた迂回は不可と判定する。迂回によるトラフィックの増加を回避するためである。迂回が不可の場合(010のN(迂回先なし))、パケットは廃棄される(011)。   The order management unit 32 determines whether at least one of the transmission rate, reception rate, and number of bypass packets of the selected port exceeds the threshold value. If not exceeding, the order management unit 32 determines the corresponding port as a bypass port and advances the process to 012 (Y in 010 (there is a bypass destination)). On the other hand, when at least one of the transmission rate, the reception rate, and the number of bypass packets exceeds, it is determined that the bypass using the selected port is not possible. This is to avoid an increase in traffic due to detours. When detouring is impossible (N of 010 (no detour destination)), the packet is discarded (011).

このように、実施形態では、宛先に対応するポートと異なるポートのうち、通信量(送信レート、受信レート)が少なく、且つ送信レート,受信レート,及びパケット数が閾値を超過しないポートが迂回先のポートとして選定される。但し、迂回先の選定方法は、上記以外であっても良い。   As described above, in the embodiment, among the ports different from the port corresponding to the destination, a port whose traffic (transmission rate, reception rate) is small and whose transmission rate, reception rate, and number of packets do not exceed the threshold is a detour destination. Selected as the port. However, the method of selecting a detour destination may be other than the above.

012では、順序管理部32が、迂回先管理領域33における該当レコード(010で決定したポートに対応するレコード)の「迂回パケット数」を+1(インクリメント)する。   In 012, the order management unit 32 increments the “number of bypass packets” in the corresponding record (the record corresponding to the port determined in 010) in the bypass destination management area 33 by 1 (increment).

013では、順序管理部32が、順序管理領域34に、迂回先へ転送するパケットの情報(宛先MAC/IPアドレス、送信元MAC/IPアドレス、プロトコル、迂回先ポー
ト、格納時刻など)を追加する(図4(11))。パケットは、迂回送信制御部35へ送られる(図4(12))。
In 013, the order management unit 32 adds information (destination MAC / IP address, transmission source MAC / IP address, protocol, detour destination port, storage time, etc.) of the packet to be transferred to the detour destination to the order management area 34. (FIG. 4 (11)). The packet is sent to the bypass transmission control unit 35 (FIG. 4 (12)).

014では、迂回送信制御部35が、ヘッダ変換部36を用いたヘッダ変換処理を行う。ヘッダ変換処理によって、予め設定してある迂回先のMACアドレス(迂回先ポートを介して接続された隣接装置のMACアドレス)がパケットのヘッダにある宛先MACアドレス(DstMAC)に変換される(図4(13))。   In 014, the bypass transmission control unit 35 performs a header conversion process using the header conversion unit 36. By the header conversion process, a preset detour destination MAC address (a MAC address of an adjacent device connected via the detour destination port) is converted into a destination MAC address (DstMAC) in the header of the packet (FIG. 4). (13)).

015では、迂回送信制御部35は、変換後の宛先MACアドレスを基にMAC学習テーブル27を参照し、変換後の宛先MACアドレスに対応する出力先のポートとして、迂回先のポート16を特定する(図4(14))。パケット送信部37は、迂回送信制御部35が特定した迂回先のポート16から隣接装置へパケットを転送する。実施形態では、中継装置3b,中継装置3cが迂回先ポートの先にある隣接装置となる。   In 015, the bypass transmission control unit 35 refers to the MAC learning table 27 based on the converted destination MAC address, and identifies the bypass destination port 16 as the output destination port corresponding to the converted destination MAC address. (FIG. 4 (14)). The packet transmission unit 37 transfers the packet from the detour destination port 16 specified by the detour transmission control unit 35 to the adjacent device. In the embodiment, the relay device 3b and the relay device 3c are adjacent devices beyond the detour destination port.

<<パケット復元処理>>
次に、図8及び図9を用いてパケット復元処理を説明する。図8は、中継装置3b(3c)のパケット復元処理時の動作を示す図であり、図9は、パケット復元処理の例を示すフローチャートである。
<< Packet restoration process >>
Next, the packet restoration process will be described with reference to FIGS. FIG. 8 is a diagram showing the operation of the relay device 3b (3c) during the packet restoration process, and FIG. 9 is a flowchart showing an example of the packet restoration process.

図8に示すように、中継装置3b(3c)も、プログラムの実行によって、中継装置3aと同様の機能を有する。以下、中継装置3bが迂回先の装置であるとの仮定で説明する。図9の101において、中継装置3bのパケット受信部21でパケット受信する(図8(1))。パケットは受信処理部22に渡される(図8(2))。   As shown in FIG. 8, the relay device 3b (3c) also has the same function as the relay device 3a by executing the program. Hereinafter, the description will be made on the assumption that the relay device 3b is a detour destination device. In 101 of FIG. 9, the packet receiving unit 21 of the relay device 3b receives the packet (FIG. 8 (1)). The packet is transferred to the reception processing unit 22 (FIG. 8 (2)).

102では、受信処理部22が宛先を確認する。確認によって、受信したパケットの宛先MACアドレスとIPアドレスとがともに自装置(中継装置3b)宛であった場合、パケットは、制御用パケットとして制御処理部29に送られる。制御処理部29は、パケットに基づく処理を行う(103,図8(3))。   In 102, the reception processing unit 22 confirms the destination. If the destination MAC address and the IP address of the received packet are both addressed to the own device (relay device 3b) by the confirmation, the packet is sent to the control processing unit 29 as a control packet. The control processing unit 29 performs processing based on the packet (103, FIG. 8 (3)).

103では、受信したパケットの宛先MACアドレスが自装置宛で、且つIPアドレスが自装置以外であった場合、パケットがヘッダ復元部30に渡され(図8(4))処理が106に進む。そうでない場合、例えば、通常のパケット転送処理が行われる(105)。   In 103, when the destination MAC address of the received packet is addressed to the own device and the IP address is other than the own device, the packet is transferred to the header restoring unit 30 (FIG. 8 (4)), and the process proceeds to 106. Otherwise, for example, normal packet transfer processing is performed (105).

106では、ヘッダ復元部30がARPテーブル31を参照する(図8(5))。ARPテーブル31には、IPアドレスとMACアドレスとの対応関係が記憶されており、ヘッダ復元部30は、パケットの宛先IPアドレスに対応するMACアドレスをARPテーブル31から読み出し、パケットのヘッダの宛先MACアドレスに設定する。これによって、中継装置3aから迂回されてきたパケットのヘッダが復元される。パケットは優先順位判定部23に渡される。   In 106, the header restoration unit 30 refers to the ARP table 31 (FIG. 8 (5)). The correspondence relationship between the IP address and the MAC address is stored in the ARP table 31, and the header restoring unit 30 reads the MAC address corresponding to the destination IP address of the packet from the ARP table 31, and the destination MAC of the packet header. Set to address. As a result, the header of the packet detoured from the relay device 3a is restored. The packet is passed to the priority determination unit 23.

107では、優先順位判定部23がパケットの優先順位を判定する。パケットが「高優先」の場合、パケットが高優先バッファ領域24に記憶される(108)。但し、迂回されてきたパケットの優先順位は「低優先」であるので、処理が109に進む(図8(7))。   In 107, the priority determination unit 23 determines the priority of the packet. If the packet is “high priority”, the packet is stored in the high priority buffer area 24 (108). However, since the priority order of the bypassed packet is “low priority”, the processing proceeds to 109 (FIG. 8 (7)).

109では、順序管理部32が、順序管理領域34を参照し、受信したパケットに対応するレコードの有無を確認する。レコードがある場合(109のY)、パケットは低優先バッファ領域25に記憶される(111)。   In 109, the order management unit 32 refers to the order management area 34 and checks whether there is a record corresponding to the received packet. If there is a record (109 Y), the packet is stored in the low priority buffer area 25 (111).

レコードがない場合(109のN)、順序管理部32は、低優先バッファ領域25に空きがあるか否かを判定する(110)。空きがある場合、パケットが低優先バッファ領域25に記憶される。空きがなければ、パケットは廃棄される(112)。   If there is no record (N of 109), the order management unit 32 determines whether or not there is a free space in the low priority buffer area 25 (110). If there is a free space, the packet is stored in the low priority buffer area 25. If there is no room, the packet is discarded (112).

低優先バッファ領域25に記憶されたパケットについて、図4及び図5を用いて説明したパケット送信処理(009)と同様の処理が行われる(113,図8(10)及び(1
1))。詳細は既に説明したのと同様であるので説明を省略する。このようにして、迂回先の中継装置3bで受信されたパケットが、迂回元の中継装置3aに折り返し送信される。
The packet stored in the low priority buffer area 25 is subjected to processing similar to the packet transmission processing (009) described with reference to FIGS. 4 and 5 (113, FIGS. 8 (10) and (1)).
1)). The details are the same as those already described, and a description thereof will be omitted. In this way, the packet received by the detour relay device 3b is sent back to the detour source relay device 3a.

<<迂回パケット復帰処理>>
次に、図10及び図11を用いて迂回パケット復帰処理を説明する。図10は、中継装置3aの迂回パケット復帰処理時の動作を示す図であり、図11は、パケット復帰処理の例を示すフローチャートである。
<< Rerouting packet return processing >>
Next, the bypass packet return process will be described with reference to FIGS. FIG. 10 is a diagram showing the operation of the relay device 3a during the detour packet restoration process, and FIG. 11 is a flowchart showing an example of the packet restoration process.

図11における、001〜006の処理は、図5に示した処理と同じであるため、説明を省略する。006において、順序管理部32は、順序管理領域34に、受信されたパケットに対応するレコードがある場合に、301へ処理を進める。   The processing from 001 to 006 in FIG. 11 is the same as the processing shown in FIG. In 006, the order management unit 32 advances the process to 301 when there is a record corresponding to the received packet in the order management area 34.

301では、順序管理部32は、順序管理領域34から、格納時刻が最も古いレコードを削除する。302では、順序管理部32は、迂回先管理領域33から、パケットの受信ポートと合致する迂回先ポートの情報を含むレコードを特定し、当該レコード中の迂回パケット数をデクリメント(1を減算)する。   In 301, the order management unit 32 deletes the record having the oldest storage time from the order management area 34. In 302, the order management unit 32 specifies a record including information on the detour destination port that matches the reception port of the packet from the detour destination management area 33, and decrements (subtracts 1) the number of detour packets in the record. .

その後は、図4に示した007,008,009の各処理と同様の処理が行われる。これらの処理の説明は省略する。303では、順序管理部は、連続迂回回数が零より大きいか否かを判定する。連続迂回回数は、或る装置から折り返されたパケットを他の迂回先へ転送可能な回数である。連続迂回回数は、予め装置のコンフィグファイルなどで設定できるようにされる。連続迂回回数が0より大きい場合には、304に処理が進み、そうでない場合には、処理が011に進み、パケットが廃棄される。   Thereafter, processing similar to each processing of 007, 008, 009 shown in FIG. 4 is performed. Description of these processes is omitted. In 303, the order management unit determines whether the number of consecutive detours is greater than zero. The continuous detour count is the number of times that a packet returned from a certain device can be transferred to another detour destination. The number of consecutive detours can be set in advance by a device configuration file or the like. If the number of consecutive detours is greater than 0, the process proceeds to 304; otherwise, the process proceeds to 011 and the packet is discarded.

304では、連続迂回回数がデクリメントされる。その後は、パケット迂回処理で説明した010〜015と同様の処理が実行される。説明は省略する。迂回パケット復帰処理によって、迂回先から折り返されて戻ってきたパケットが、本来の宛先(端末装置1a)に対応する中継装置2aと接続されたポート16から送信される。また、連続迂回回数が零でなければ、他の迂回先へ再び転送され、遅延時間を稼ぐ処理が行われる。   At 304, the number of consecutive detours is decremented. Thereafter, processing similar to 010 to 015 described in the packet detour processing is executed. Description is omitted. The packet returned from the detour destination by the detour packet return processing is transmitted from the port 16 connected to the relay apparatus 2a corresponding to the original destination (terminal apparatus 1a). If the number of consecutive detours is not zero, the process is transferred again to another detour destination, and a process for increasing the delay time is performed.

<パケットの転送例>
<<レイヤ2スイッチの場合>>
図13は、中継装置2、3がレイヤ2スイッチ(又はスイッチングHUB)である場合におけるパケットの転送例の説明図である。この例でのパケットは、MACフレームである。
<Packet transfer example>
<< For Layer 2 Switch >>
FIG. 13 is an explanatory diagram of a packet transfer example when the relay apparatuses 2 and 3 are layer 2 switches (or switching HUBs). The packet in this example is a MAC frame.

図13において、端末装置1c(MACアドレス“AA”を有する)は、端末装置1a(MACアドレス“FF”を有する)宛のパケットを送信する。パケットのヘッダには、送信元MACアドレス(SrcMAC)“AA”,宛先MACアドレス(DstMAC)
“FF”,送信元IPアドレス(SrcIP)“1.0.0.1”及び宛先IPアドレス
(DstIP)“1.0.0.2”が含まれている。宛先MACアドレス“FF”は、「第1装置向けの宛先情報」の一例である。なお、「〜装置向けの宛先情報」とは、〜装置自体のアドレスと、〜装置に至る経路上の装置のアドレスとを含む概念である。
In FIG. 13, the terminal device 1c (having the MAC address “AA”) transmits a packet addressed to the terminal device 1a (having the MAC address “FF”). In the header of the packet, the source MAC address (SrcMAC) “AA”, the destination MAC address (DstMAC)
“FF”, source IP address (SrcIP) “1.0.0.1”, and destination IP address (DstIP) “1.0.0.2” are included. The destination MAC address “FF” is an example of “destination information for the first device”. Note that the “˜address information for a device” is a concept including an address of the device itself and an address of a device on a path to the device.

パケットは、中継装置2fとして動作するレイヤ2スイッチであるスイッチAに受信される。スイッチAは、宛先MACアドレスに基づき、パケットをスイッチBに転送する。スイッチBは、中継装置3aとして動作するレイヤ2スイッチである。   The packet is received by the switch A, which is a layer 2 switch that operates as the relay device 2f. The switch A transfers the packet to the switch B based on the destination MAC address. The switch B is a layer 2 switch that operates as the relay device 3a.

スイッチBでは、低優先バッファ領域32に空き領域があるか否かを判定する。空き領域がない(キューが枯渇する)ことは、宛先MACアドレスに対応する経路に空き帯域がないことを意味する。この場合に、スイッチB(中継装置3a)は、パケット迂回処理及び迂回パケット復帰処理を行う状態となる。すなわち、スイッチBは、スイッチA(中継装置2f)から受信されるパケットに対して、パケット迂回処理を行い、スイッチD(中継装置3b)から折り返されるパケットに対して迂回パケット復帰処理を行う。   In the switch B, it is determined whether or not there is an empty area in the low priority buffer area 32. That there is no free area (the queue is depleted) means that there is no free bandwidth in the route corresponding to the destination MAC address. In this case, the switch B (relay device 3a) is in a state of performing packet detour processing and detour packet return processing. That is, the switch B performs a packet bypass process on the packet received from the switch A (relay apparatus 2f), and performs a bypass packet return process on the packet returned from the switch D (relay apparatus 3b).

図13の例では、スイッチBは、ポート“1”から受信されるパケットについて、迂回先を決定する。迂回先として、スイッチD(中継装置3bとして動作するレイヤ2スイッチ)と接続されたポート“2”が決定される。このとき、スイッチBは、迂回先ポートであるポート“2”に対応するスイッチDのMACアドレス“DA”を、パケットの宛先MACアドレスに変換する(ヘッダ変換)。これによって、パケットは迂回先のスイッチDへ転送される。宛先MACアドレス“DA”は、「第2装置向けの宛先情報」の一例である。   In the example of FIG. 13, the switch B determines a detour destination for the packet received from the port “1”. As a bypass destination, the port “2” connected to the switch D (layer 2 switch operating as the relay device 3b) is determined. At this time, the switch B converts the MAC address “DA” of the switch D corresponding to the port “2” that is the detour destination port into the destination MAC address of the packet (header conversion). As a result, the packet is transferred to the detour destination switch D. The destination MAC address “DA” is an example of “destination information for the second device”.

スイッチDでは、パケットの宛先MACアドレスが自装置で、且つ宛先IPアドレスが他装置のIPアドレスであるので、ARPテーブル31を用いてパケットの宛先MACアドレスを、元のMACアドレス“FF”に戻す(ヘッダ復元)。これによって、パケットは、スイッチBへ折り返される。宛先MACアドレス“DA”及び宛先IPアドレス“1.0.0.2”は、「所定値を示す宛先情報」の一例である。   In the switch D, since the destination MAC address of the packet is the own device and the destination IP address is the IP address of the other device, the destination MAC address of the packet is returned to the original MAC address “FF” using the ARP table 31. (Header recovery). As a result, the packet is returned to the switch B. The destination MAC address “DA” and the destination IP address “1.0.0.2” are examples of “destination information indicating a predetermined value”.

スイッチBでは、既に説明した迂回パケット復帰処理が実行され、パケットがスイッチC(中継装置2aとして動作するレイヤ2スイッチ)へ転送される。これにより、パケットが本来の通信経路を転送される。スイッチCは、宛先MACアドレスに従い、パケットを端末装置1aに送る。   In the switch B, the already-described detour packet return processing is executed, and the packet is transferred to the switch C (a layer 2 switch operating as the relay device 2a). Thereby, the packet is transferred through the original communication path. The switch C sends the packet to the terminal device 1a according to the destination MAC address.

<<ルータの場合>>
図14は、中継装置2、3がルータ(又はレイヤ3スイッチ)である場合におけるパケットの転送例の説明図である。この例でのパケットは、IPパケットである。ルータは、パケットのヘッダに含まれた宛先IPアドレスに従って、パケットの転送を行う。
<< For router >>
FIG. 14 is an explanatory diagram of a packet transfer example when the relay apparatuses 2 and 3 are routers (or layer 3 switches). The packet in this example is an IP packet. The router transfers the packet according to the destination IP address included in the packet header.

図14において、端末装置1c(IPアドレス“1.0.0.1”)は、端末装置1a(IPアドレス“1.0.0.2”)宛のパケットを送信する。パケットのヘッダには、送信元MACアドレス“AA”,宛先MACアドレス(DstMAC)“BA”,送信元IPアドレス(SrcIP)“1.0.0.1”及び宛先IPアドレス(DstIP)“1.0.0.2”が含まれている。IPアドレスに基づきパケットが転送される場合、宛先MACアドレスとして、次ホップのMACアドレスが設定される。端末装置1cの次ホップは、ルータaである。ルータaは、中継装置2fとして動作する。   In FIG. 14, the terminal device 1c (IP address “1.0.0.1”) transmits a packet addressed to the terminal device 1a (IP address “1.0.0.2”). The packet header includes a source MAC address “AA”, a destination MAC address (DstMAC) “BA”, a source IP address (SrcIP) “1.0.0.1”, and a destination IP address (DstIP) “1. 0.0.2 "is included. When the packet is transferred based on the IP address, the MAC address of the next hop is set as the destination MAC address. The next hop of the terminal device 1c is the router a. The router a operates as the relay device 2f.

ルータaは、端末装置1cからのパケットを宛先IPアドレスに基づき、ルータbに転送する。ルータbは、中継装置3aとして動作する。ルータbの受信処理部は、パケットの宛先MACアドレスに対応するキュー(バッファ)に空き領域があるか否かを判定する。空き領域がないと判定される場合、ルータbは、パケット迂回処理及び迂回パケット復帰処理を行う状態となる。すなわち、ルータbは、ルータa(中継装置2f)から受信されるパケットに対してパケット迂回処理を行い、ルータdから折り返されるパケットに対
して迂回パケット復帰処理を行う。ルータbは、パケットの宛先MACアドレスを、ルータdの“DA”に書き換え、ルータdへ送信する。MACアドレス“DA”は、「第2装置向けの宛先情報」の一例である。
The router a forwards the packet from the terminal device 1c to the router b based on the destination IP address. The router b operates as the relay device 3a. The reception processing unit of the router b determines whether or not there is a free area in the queue (buffer) corresponding to the destination MAC address of the packet. When it is determined that there is no free area, the router b enters a state in which packet detour processing and detour packet return processing are performed. That is, the router b performs a packet bypass process on the packet received from the router a (relay device 2f), and performs a bypass packet return process on the packet returned from the router d. The router b rewrites the destination MAC address of the packet with “DA” of the router d and transmits it to the router d. The MAC address “DA” is an example of “destination information for the second device”.

ルータdは、中継装置3bとして動作する。ルータdでは、ルータbから転送されたパケットの宛先MACアドレスが自装置宛てで宛先IPアドレスが他装置である場合に、宛先IPアドレスに基づくパケット転送を行う。このとき、ルータdのルーティングテーブルにおいて、宛先IPアドレス“1.0.0.2”は、ルータbの先にあるので、宛先MACアドレスがルータbに対応する“CB”に書き換えられ、ルータbへ転送される。これにより、パケットが折り返される。MACアドレス“CB”は、「第1装置向けの宛先情報」の一例である。   The router d operates as the relay device 3b. The router d performs packet transfer based on the destination IP address when the destination MAC address of the packet transferred from the router b is addressed to the own device and the destination IP address is another device. At this time, in the routing table of the router d, since the destination IP address “1.0.0.2” is ahead of the router b, the destination MAC address is rewritten to “CB” corresponding to the router b, and the router b Forwarded to As a result, the packet is folded. The MAC address “CB” is an example of “destination information for the first device”.

ルータbは、迂回パケット復帰処理を行い、宛先IPアドレスに基づいて、パケットをルータc(中継装置2aとして動作する)に転送し、ルータcは、宛先IPアドレスに基づいて、パケットを端末装置1aに転送する。   The router b performs detour packet return processing, forwards the packet to the router c (operates as the relay device 2a) based on the destination IP address, and the router c forwards the packet to the terminal device 1a based on the destination IP address. Forward to.

<パケット転送手順例1:迂回先が1つの場合>
図15〜図18は、パケット転送手順例1、すなわち端末装置1b及び端末装置1cのそれぞれから、端末装置1a向けのパケット8個を送信する場合の手順を示す。図15において、中継装置3aは、端末装置1bからのパケットを受信するポート#1と、端末装置1cからのパケットを受信するポート#2と、端末装置1aへ向けてパケットを送信するポート#3とを含んでいる。
<Example of packet transfer procedure 1: one detour destination>
15 to 18 show a packet transfer procedure example 1, that is, a procedure in the case of transmitting eight packets destined for the terminal device 1a from each of the terminal device 1b and the terminal device 1c. In FIG. 15, the relay device 3a is a port # 1 that receives a packet from the terminal device 1b, a port # 2 that receives a packet from the terminal device 1c, and a port # 3 that transmits a packet toward the terminal device 1a. Including.

ポート16は、パケットの送信部と受信部とを含んでおり、各送信部と各受信部とにそれぞれ固定サイズのパケット4個を記憶できるメモリ領域(メモリ14の領域)が割り当てられていると仮定する。優先制御(優先順位)については考慮しない。   The port 16 includes a packet transmitting unit and a receiving unit, and each transmitting unit and each receiving unit is assigned a memory area (an area of the memory 14) that can store four fixed-size packets. Assume. Priority control (priority order) is not considered.

図15の手順1では、端末装置1bからのパケット群(トラフィック1とする),端末
装置1cからのパケット群(トラフィック2とする)が送信される。手順2では、ポート#1にて、トラフィック1のパケット“1”が受信される。また、ポート#1にて、トラフィック1のパケット“1”が受信される。
In the procedure 1 of FIG. 15, a packet group (referred to as traffic 1) from the terminal device 1b and a packet group (referred to as traffic 2) from the terminal device 1c are transmitted. In the procedure 2, the packet “1” of the traffic 1 is received at the port # 1. Further, the packet “1” of the traffic 1 is received at the port # 1.

各受信部は、1タイミングで1個のパケットを受信し、1個のパケットを次へ送る。送信部も、1個のパケットを次に送る。このため、手順3では、ポート#1及びポート#2の各受信部から各パケット“1”がポート#3に転送される。また、ポート#1及びポート#2の受信部は、パケット“2”をそれぞれ受信する。   Each receiving unit receives one packet at one timing and sends one packet to the next. The transmitter also sends one packet next. Therefore, in the procedure 3, each packet “1” is transferred to the port # 3 from each receiving unit of the port # 1 and the port # 2. In addition, the receiving units of the port # 1 and the port # 2 receive the packet “2”, respectively.

手順4では、ポート#3の送信部がトラフィック1のパケット“1”を端末装置1aへ送信する一方で、ポート#1及びポート#2からのパケット“2”を受信する。また、ポート#1及びポート#2の受信部は、パケット“3”をそれぞれ受信する。   In the procedure 4, the transmission unit of the port # 3 transmits the packet “1” of the traffic 1 to the terminal device 1a, and receives the packet “2” from the port # 1 and the port # 2. In addition, the receiving units of the port # 1 and the port # 2 receive the packet “3”, respectively.

手順5にて、ポート#3の送信部がトラフィック1のパケット“2”を端末装置1aへ送信する。一方で、ポート#3の送信部は、ポート#1及びポート#2からのパケット“3”を受信する。これにより、ポート#3の送信部のメモリ領域(バッファの一例)が所定値(上限:4個)となる。また、ポート#1及びポート#2の受信部は、パケット“4”をそれぞれ受信する。   In procedure 5, the transmission unit of port # 3 transmits the packet “2” of traffic 1 to the terminal device 1a. On the other hand, the transmission unit of port # 3 receives packet “3” from port # 1 and port # 2. As a result, the memory area (an example of a buffer) of the transmission unit of port # 3 becomes a predetermined value (upper limit: 4). Further, the reception units of the port # 1 and the port # 2 receive the packet “4”, respectively.

図16に示す手順6では、トラフィック1のパケット“4”は、ポート#3の送信部のメモリ領域に記憶し得るが、トラフィック2のパケット“4”は、所定値である4個を超過するため、送信部のメモリ領域に記憶し得ない。このため、トラフィック2のパケット
“4”は、迂回先のポートであるポート#4の送信部に送られる。
In the procedure 6 shown in FIG. 16, the packet “4” of the traffic 1 can be stored in the memory area of the transmission unit of the port # 3, but the packet “4” of the traffic 2 exceeds the predetermined value of four. Therefore, it cannot be stored in the memory area of the transmission unit. Therefore, the packet “4” of the traffic 2 is sent to the transmission unit of the port # 4 that is the detour destination port.

手順7に示すように、ポート#4の送信部は、次のタイミングで、トラフィック2のパケット“4”を迂回先の中継装置3bに送る。中継装置3bで受信される。中継装置3bは、最大2個のパケットを滞留可能なメモリ領域(バッファ)を有している。   As shown in the procedure 7, the transmission unit of the port # 4 transmits the packet “4” of the traffic 2 to the detour destination relay device 3b at the next timing. Received by the relay device 3b. The relay device 3b has a memory area (buffer) capable of retaining a maximum of two packets.

このため、次のタイミングである手順8に例示するように、次のタイミングで、中継装置3bは、トラフィック2のパケット“4”及び“5”を保持する。次のタイミングである手順9では、中継装置3bは、トラフィック2のパケット“4”を中継装置3aへ折り返し(送り返し)、パケット“4”は、ポート#4の受信部で受信される。   Therefore, as illustrated in the procedure 8 which is the next timing, the relay device 3b holds the packets “4” and “5” of the traffic 2 at the next timing. In step 9, which is the next timing, the relay device 3b returns (sends back) the packet “4” of the traffic 2 to the relay device 3a, and the packet “4” is received by the reception unit of the port # 4.

次のタイミングである手順10(図17)では、ポート#4の受信部で受信されたパケットは、次のタイミングで、本来の送信先と接続されたポート#3の送信部に転送される。手順10では、トラフィック2のパケット“4”が、ポート#3の送信部で保持されている。   In step 10 (FIG. 17), which is the next timing, the packet received by the receiving unit of port # 4 is transferred to the transmitting unit of port # 3 connected to the original transmission destination at the next timing. In the procedure 10, the packet “4” of the traffic 2 is held in the transmission unit of the port # 3.

このようにして、ポート#3の送信部のメモリ領域に記憶しきれない(所定値4個を超過する)パケットは、ポート#4の送信部→中継装置3b→ポート#4の受信部→ポート#3の送信部の経路で転送される。結果、ポート#3のメモリ領域に記憶できないパケットに対し、パケット4個分の遅延時間が与えられる。その後、手順11以降同様の動作が行われ、最終的には、トラフィック1及び2に係る全てのパケットが、端末装置1aに到達し、パケットロスが生じない。   In this way, packets that cannot be stored in the memory area of the transmission unit of port # 3 (exceeding the predetermined value of 4) are transmitted from the transmission unit of port # 4 → the relay device 3b → the reception unit of port # 4 → port It is transferred via the route of the # 3 transmission unit. As a result, a delay time corresponding to four packets is given to a packet that cannot be stored in the memory area of port # 3. Thereafter, a similar operation is performed after the procedure 11, and finally, all the packets related to the traffics 1 and 2 reach the terminal device 1a, and no packet loss occurs.

<パケット転送手順例2:迂回先が2つの場合>
図19及び図20は、パケット転送手順例2、すなわち迂回先が2つの場合のパケット転送手順を示す。パケット転送手順例2では、端末装置1b及び端末装置1cから端末装置1a向けのパケット(トラフィック1及び2)が16個ずつ送信される(図19、手順1参照)。中継装置3aでは、ポート#4及びポート#5が、ポート#3の迂回先ポートとして使用される。
<Packet transfer procedure example 2: When there are two detour destinations>
19 and 20 show a packet transfer procedure example 2, that is, a packet transfer procedure when there are two detour destinations. In the packet transfer procedure example 2, 16 packets (traffic 1 and 2) destined for the terminal device 1a are transmitted from the terminal device 1b and the terminal device 1c, respectively (see procedure 1 in FIG. 19). In the relay device 3a, the port # 4 and the port # 5 are used as detour destination ports of the port # 3.

ポート#3の保持可能なパケットの上限(所定値)はパケット転送手順例1と同じである。また、1タイミングで転送されるパケットの数は1個である。これも、パケット転送手順例1と同じである。手順2以降、パケット転送手順例2と同様に、迂回先である中継装置3bを経るパケット転送が行われる(図19、手順6、手順12参照)。手順2〜5,7〜11は省略している。   The upper limit (predetermined value) of packets that can be held in port # 3 is the same as in packet transfer procedure example 1. The number of packets transferred at one timing is one. This is also the same as the packet transfer procedure example 1. After the procedure 2, the packet transfer is performed through the relay device 3b as the detour destination as in the packet transfer procedure example 2 (see FIG. 19, procedure 6, and procedure 12). Steps 2 to 5 and 7 to 11 are omitted.

図20の手順17(手順13〜16は省略)で例示するように、ポート#4の送信部におけるパケット数が所定値(4つ)となっている場合には、第2の迂回先であるポート#5の送信部にパケットが転送される。パケットは、ポート#5の送信部から中継装置3cに転送される。   As illustrated in step 17 of FIG. 20 (steps 13 to 16 are omitted), when the number of packets in the transmission unit of port # 4 is a predetermined value (four), it is the second detour destination. The packet is transferred to the transmission unit of port # 5. The packet is transferred from the transmission unit of port # 5 to the relay device 3c.

図20の例では、中継装置3cは、パケット2個を滞留させる(保持する)ことができ、中継装置3aのポート#5の受信部にパケットを折り返す(手順21参照、手順18〜20は省略)。最終的に、トラフィック1及び2のパケット(各16個)は、パケットロスなく端末装置1aに到着する(図20、手順35参照)。   In the example of FIG. 20, the relay device 3c can retain (hold) two packets, and wraps the packet back to the reception unit of port # 5 of the relay device 3a (see step 21 and steps 18 to 20 are omitted). ). Eventually, the packets of traffic 1 and 2 (16 packets each) arrive at the terminal device 1a without packet loss (see procedure 35 in FIG. 20).

<効果>
実施形態によれば、中継装置3aにおいて、低優先バッファ領域25のパケットの記憶量が所定値を超過する場合でも、パケットは廃棄されず、少なくとも1つの迂回先の中継装置(例えば中継装置3b)を経て中継装置3aに戻される。このとき、低優先バッファ
領域25に空き領域がある(「記憶量が所定範囲にある」の一例)には、パケットを低優先バッファ領域25に記憶することができ、端末装置1aへ向けて転送することができる。このような実施形態の構成によれば、中継装置3aにおける、低優先バッファ領域25のオーバーフローを回避することができる。
<Effect>
According to the embodiment, even when the amount of packets stored in the low priority buffer area 25 exceeds a predetermined value in the relay device 3a, the packets are not discarded, and at least one detour destination relay device (for example, the relay device 3b). Is then returned to the relay device 3a. At this time, if there is an empty area in the low priority buffer area 25 (an example of “the amount of storage is within a predetermined range”), the packet can be stored in the low priority buffer area 25 and transferred to the terminal device 1a. can do. According to the configuration of such an embodiment, the overflow of the low priority buffer area 25 in the relay device 3a can be avoided.

よって、パケットロスを回避し、パケットロスによる通信の異常を回避することができる。実施形態の構成は、短時間で大量のトラフィックが発生するような場面において、パケットロスの発生頻度を下げる効果がある。このため、短時間で見ればネットワークの容量を拡張したに等しい効果が得られる。   Therefore, packet loss can be avoided and communication abnormality due to packet loss can be avoided. The configuration of the embodiment has an effect of reducing the occurrence frequency of packet loss in a scene where a large amount of traffic occurs in a short time. For this reason, the effect equivalent to expanding the network capacity can be obtained in a short time.

また、実施形態の構成は、物理的なネットワーク構成を変える事なく、現有ネットワーク機器のファーム更新や記憶装置の増設で実現可能である。換言すれば、中継装置の入れ替えや迂回路の増設は不要である。このため、新たな機器の設置や光ファイバ等の回線の敷設は不要である。このため、導入コストを安価に抑える事ができる利点がある。   The configuration of the embodiment can be realized by updating the firmware of the existing network device or adding a storage device without changing the physical network configuration. In other words, it is not necessary to replace the relay device or add a detour. For this reason, it is not necessary to install new equipment or to lay lines such as optical fibers. For this reason, there exists an advantage which can suppress introduction cost cheaply.

また、実施形態では、連続迂回を可能として、遅延時間を稼ぐことにより、パケットロスの可能性を抑えることができる。また、実施形態では、順序管理領域34の利用で、同一のトラフィック(パケットフロー)に属する各パケットが同一の迂回先に転送されることを保証できる。また、順序管理領域34の利用で、迂回先から折り返されたパケットか否かを判定することができる。このようにして、構成の簡易化が図られている。   Also, in the embodiment, the possibility of packet loss can be suppressed by enabling continuous detouring and increasing the delay time. In the embodiment, by using the order management area 34, it can be guaranteed that each packet belonging to the same traffic (packet flow) is transferred to the same detour destination. Further, by using the order management area 34, it is possible to determine whether or not the packet is returned from the detour destination. In this way, the configuration is simplified.

また、実施形態では、迂回先管理領域33にて、複数の迂回先ポートの情報を用意し、通信量の少ない迂回先にパケットを転送することができる。また、迂回先の中継装置3b(3c)では、ARPテーブル31を用いたヘッダ復元処理によって、迂回元からのパケットを元の状態(ヘッダ変換前の状態)に戻すことができる。なお、実施形態では、バッファが優先度単位で設けられているが、バッファを設ける単位は、適宜設定可能であり、例えば、送信(出力)ポート単位、受信(入力)ポート単位、宛先単位等のいずれであっても良い。要は、第1装置向けの宛先情報を有するパケットを一時記憶可能なバッファの容量が所定値を超過する場合に、該バケットをバッファに記憶することなく第2の装置に送る構成となっていれば良い。以上説明した実施形態の構成は、適宜組み合わせることができる。   In the embodiment, information on a plurality of detour destination ports can be prepared in the detour destination management area 33, and a packet can be transferred to a detour destination with a small traffic. Further, the detour destination relay device 3b (3c) can return the packet from the detour source to the original state (the state before the header conversion) by the header restoration process using the ARP table 31. In the embodiment, the buffer is provided in the priority unit, but the unit in which the buffer is provided can be set as appropriate. For example, the transmission (output) port unit, the reception (input) port unit, the destination unit, etc. Either may be sufficient. In short, when the capacity of a buffer capable of temporarily storing packets having destination information for the first device exceeds a predetermined value, the bucket is sent to the second device without being stored in the buffer. It ’s fine. The configurations of the embodiments described above can be combined as appropriate.

1・・・端末装置
2,3・・・中継装置
11・・・CPU
12,14・・・メモリ
13・・・スイッチ
32・・・順序管理部
36・・・ヘッダ変換部
DESCRIPTION OF SYMBOLS 1 ... Terminal device 2, 3 ... Relay device 11 ... CPU
12, 14 ... Memory 13 ... Switch 32 ... Order management unit 36 ... Header conversion unit

Claims (8)

第1装置向けの宛先情報を含むパケットを一時記憶可能なバッファの記憶量が所定値を超過する場合に、前記パケットの宛先情報を第2装置向けに変更する変更部と、
変更された宛先情報に基づき前記第2装置へ転送され且つ宛先情報が前記第1装置向けに変更された前記パケットが前記第2装置から受信された場合に、前記バッファの記憶量が所定範囲であれば、前記パケットを前記バッファに記憶する管理部と、
を含む通信装置。
A changing unit that changes the destination information of the packet to the second device when the storage amount of the buffer capable of temporarily storing the packet including the destination information for the first device exceeds a predetermined value;
When the packet transferred to the second device based on the changed destination information and the destination information is changed for the first device is received from the second device, the storage amount of the buffer is within a predetermined range. If there is, a management unit for storing the packet in the buffer;
Including a communication device.
前記第2装置へ転送され且つ宛先情報が前記第1装置向けに変更された前記パケットが前記第2装置から受信された場合に、前記バッファの記憶量が所定範囲外であれば、前記変更部が、前記パケットの宛先情報を前記第2装置と異なる第3装置向けに変更し、
前記管理部が、変更された宛先情報に基づき前記第3装置へ転送され且つ宛先情報が前記第1装置向けに変更された前記パケットが前記第3装置から受信された場合に、前記バッファの記憶量が所定範囲であれば、前記パケットを前記バッファに記憶する
請求項1に記載の通信装置。
When the packet transferred to the second device and whose destination information is changed for the first device is received from the second device, and the storage amount of the buffer is out of a predetermined range, the changing unit Changes the destination information of the packet for a third device different from the second device,
The management unit stores the buffer when the packet is transferred from the third device to the third device based on the changed destination information and the destination information is changed for the first device. The communication device according to claim 1, wherein the packet is stored in the buffer if the amount is within a predetermined range.
宛先情報が前記第1装置向けから前記第2装置向けに変更されるパケットの識別情報を記憶する記憶部をさらに含み、
前記管理部は、前記記憶部に記憶された識別情報と同一の識別情報を有するパケットの宛先情報を前記第1装置向けから前記第2装置向けに変更することを決定する
請求項1又は2に記載の通信装置。
A storage unit for storing identification information of a packet whose destination information is changed from the first device to the second device;
The said management part determines changing the destination information of the packet which has the identification information same as the identification information memorize | stored in the said memory | storage part from the said 1st apparatus direction toward the said 2nd apparatus. The communication device described.
前記管理部は、前記第2装置から受信されたパケットのうち、識別情報が前記記憶部に記憶されているパケットを宛先情報の変更により前記第2装置へ転送されたパケットと判定する
請求項3に記載の通信装置。
The said management part determines the packet by which identification information is memorize | stored in the said memory | storage part among the packets received from the said 2nd apparatus as a packet transferred to the said 2nd apparatus by the change of destination information. The communication apparatus as described in.
複数の第2装置の候補のそれぞれに対応する通信量を示す情報に基づき、前記複数の第2装置の候補の中から、通信量の少ない候補を前記第2装置に決定する決定部
をさらに含む請求項1から4のいずれか1項に記載の通信装置。
A decision unit configured to determine a candidate having a small communication amount as the second device from the plurality of second device candidates based on information indicating a communication amount corresponding to each of the plurality of second device candidates; The communication apparatus according to any one of claims 1 to 4.
第1装置と、
第2装置と、
前記第1装置及び前記第2装置と接続される通信装置とを含み、
前記通信装置は、
前記第1装置向けの宛先情報を含むパケットを一時記憶可能なバッファの記憶量が所定値を超過する場合に、前記パケットの宛先情報を前記第2装置向けに変更する変更部と、
変更された宛先情報に基づき前記第2装置へ転送され且つ宛先情報が前記第1装置向けに変更された前記パケットが前記第2装置から受信された場合に、前記バッファの記憶量が所定範囲であれば、前記パケットを前記バッファに記憶する管理部と、を含み、
前記第2装置は、前記通信装置から受信された前記パケットの宛先情報が所定値を示す場合に、前記パケットの宛先情報を前記第1装置向けに変更して前記通信装置へ転送する通信システム。
A first device;
A second device;
A communication device connected to the first device and the second device;
The communication device
A changing unit that changes the destination information of the packet to the second device when a storage amount of a buffer capable of temporarily storing the packet including the destination information for the first device exceeds a predetermined value;
When the packet transferred to the second device based on the changed destination information and the destination information is changed for the first device is received from the second device, the storage amount of the buffer is within a predetermined range. And a management unit for storing the packet in the buffer,
The second device is a communication system in which when the destination information of the packet received from the communication device indicates a predetermined value, the destination information of the packet is changed for the first device and transferred to the communication device.
前記第2装置は、前記宛先情報が前記所定値として前記第2装置の物理アドレスと前記第1装置のネットワークアドレスとを含む場合に、アドレス解決プロトコルを用いて前記第1装置のネットワークアドレスに対応する前記第1装置の物理アドレスを求め、前記パケットの宛先情報に含まれる前記第2装置の物理アドレスを前記第1装置の物理アドレス
に書き換える書換部を含む
請求項6に記載の通信システム。
The second device corresponds to the network address of the first device using an address resolution protocol when the destination information includes the physical address of the second device and the network address of the first device as the predetermined value. The communication system according to claim 6, further comprising: a rewriting unit that obtains a physical address of the first device to perform and rewrites the physical address of the second device included in the destination information of the packet with the physical address of the first device.
通信装置が、
第1装置向けの宛先情報を含むパケットを一時記憶可能なバッファの記憶量が所定値を超過する場合に、前記パケットの宛先情報を第2装置向けに変更し、
変更された宛先情報に基づき前記第2装置へ転送され且つ宛先情報が前記第1装置向けに変更された前記パケットが前記第2装置から受信された場合に、前記バッファの記憶量が所定範囲であれば、前記パケットを前記バッファに記憶する、
ことを含む通信装置のパケット転送方法。
The communication device
When the storage capacity of the buffer that can temporarily store the packet including the destination information for the first device exceeds a predetermined value, the destination information of the packet is changed for the second device,
When the packet transferred to the second device based on the changed destination information and the destination information is changed for the first device is received from the second device, the storage amount of the buffer is within a predetermined range. If present, store the packet in the buffer;
A packet transfer method for a communication apparatus.
JP2016096393A 2016-05-12 2016-05-12 Communication device, communication system, and packet transfer method of communication device Pending JP2017204785A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016096393A JP2017204785A (en) 2016-05-12 2016-05-12 Communication device, communication system, and packet transfer method of communication device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016096393A JP2017204785A (en) 2016-05-12 2016-05-12 Communication device, communication system, and packet transfer method of communication device

Publications (1)

Publication Number Publication Date
JP2017204785A true JP2017204785A (en) 2017-11-16

Family

ID=60322546

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016096393A Pending JP2017204785A (en) 2016-05-12 2016-05-12 Communication device, communication system, and packet transfer method of communication device

Country Status (1)

Country Link
JP (1) JP2017204785A (en)

Similar Documents

Publication Publication Date Title
US10666563B2 (en) Buffer-less virtual routing
JP6418261B2 (en) COMMUNICATION SYSTEM, NODE, CONTROL DEVICE, COMMUNICATION METHOD, AND PROGRAM
EP2911348B1 (en) Control device discovery in networks having separate control and forwarding devices
JP4033773B2 (en) Method and apparatus for performing network routing
KR100308593B1 (en) How to Route Packet-Switched Traffic
JP4323355B2 (en) Packet transfer device
JP5418925B2 (en) Dynamic route branching system, dynamic route branching device, dynamic route branching method, communication system, node, control device, packet transfer method and program
JP4547339B2 (en) Packet relay device having transmission control function
US20020093957A1 (en) Packet communication system with QoS control function
US8472444B2 (en) Method and apparatus for handling traffic in a data communication network
RU2612599C1 (en) Control device, communication system, method for controlling switches and program
US20070291754A1 (en) Packet communications system and transfer device
WO2013125342A1 (en) Network system, and method for improving resource usage
US20140185618A1 (en) Path splitting with a connection-oriented network
WO2016000184A1 (en) Method, device and system for switching switch modes
KR101658299B1 (en) Control apparatus, communication system, node control method and program
WO2020170850A1 (en) Network controller device, network control system, control method for controlling communication network and program
KR100636271B1 (en) Network Routing Controlling Method and Apparatus
JP2006115362A (en) Packet repeating device
JP2017204785A (en) Communication device, communication system, and packet transfer method of communication device
JP4069107B2 (en) Packet switching equipment
JP4069106B2 (en) Packet transfer device
JP6344005B2 (en) Control device, communication system, communication method, and program
JP4143557B2 (en) Transfer device and transfer method
WO2016188058A1 (en) Cache management method, local end device, and storage medium