JP5771656B2 - Relay device - Google Patents
Relay device Download PDFInfo
- Publication number
- JP5771656B2 JP5771656B2 JP2013183607A JP2013183607A JP5771656B2 JP 5771656 B2 JP5771656 B2 JP 5771656B2 JP 2013183607 A JP2013183607 A JP 2013183607A JP 2013183607 A JP2013183607 A JP 2013183607A JP 5771656 B2 JP5771656 B2 JP 5771656B2
- Authority
- JP
- Japan
- Prior art keywords
- relay device
- packet
- terminal
- tcp
- relay
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Description
本発明は、端末間に配置されデータを中継するための中継装置、中継装置の制御方法、及び、端末と中継装置とを備えるネットワークシステムに関する。 The present invention relates to a relay device arranged between terminals for relaying data, a control method for the relay device, and a network system including the terminal and the relay device.
グローバル拠点間の通信網として、IP-VPN技術などを用いたWAN(Wide Area Network)を用いることが一般的になっている。ある拠点にある端末が、別の海外の拠点にある端末と通信する場合は、各拠点間をWANで接続して通信する。WANでは通常、契約によって使用可能な帯域幅が制限されている。また、海外との通信ではとくに遅延が大きくなる。 As a communication network between global bases, it is common to use a WAN (Wide Area Network) using IP-VPN technology or the like. When a terminal at a base communicates with a terminal at another overseas base, the bases are connected via a WAN for communication. In the WAN, the available bandwidth is usually limited by the contract. In addition, the delay is particularly large in communications with overseas.
端末間の通信では一般にTCPが用いられる。TCPではRTT(Round Trip Time)の大きさに応じて通信の帯域が制御される。WAN経由での通信では、高スループットを得ることが困難な場合がある。ここで、高スループットを実現するための技術として、特許文献1に記載の技術等がある。
TCP is generally used for communication between terminals. In TCP, the communication band is controlled according to the size of RTT (Round Trip Time). In communication via WAN, it may be difficult to obtain high throughput. Here, as a technique for realizing high throughput, there is a technique described in
TCPを用いた通信では、送信帯域がRTTと廃棄率に大きく左右されるため、WANのようなRTTが大きく、ホップ数が大きくて廃棄箇所が多い環境下では、契約帯域を大幅に下回る送信帯域しか得られない場合がある。 In communication using TCP, the transmission bandwidth is greatly affected by the RTT and the discard rate, so in an environment such as WAN where the RTT is large, the number of hops is large, and there are many discard locations, the transmission bandwidth is significantly lower than the contract bandwidth. There are cases where it can only be obtained.
これに対する対策として、TCPのようなシーケンス番号を用いたストリーム型の通信の伝送経路の途中において、複数の中継装置を用いて送信帯域がRTTと廃棄率に左右されないようにストリームを管理することで、送信帯域を改善することが考えられる。 As countermeasures against this, by managing the stream so that the transmission bandwidth is not affected by the RTT and the discard rate using a plurality of relay devices in the middle of the transmission path of the stream type communication using the sequence number such as TCP. It is conceivable to improve the transmission band.
このとき、中継装置で障害が発生すると、障害が発生した中継装置に対向する中継装置で障害を検出することができず、種々の不具合が発生する場合があった。例えば、通信装置(端末)間の通信が切断するまでに時間が掛かるという不具合や、中継装置にセッションが残ったままになり同一ポートでの通信が阻害される不具合や、メモリ不足が生じるという不具合等が発生する場合がある。 At this time, if a failure occurs in the relay device, the failure cannot be detected by the relay device that faces the relay device in which the failure has occurred, and various problems may occur. For example, a problem that it takes time until communication between communication devices (terminals) is disconnected, a problem that a session remains in the relay device and communication on the same port is obstructed, or a memory shortage occurs. Etc. may occur.
本発明は、上述の課題を解決するために成されたものであり、シーケンス番号を用いたストリーム型の通信を行う環境下において、対向する中継装置の障害の発生を検知できる技術を提供することを目的とする。 The present invention has been made to solve the above-described problem, and provides a technique capable of detecting the occurrence of a failure of an opposing relay device in an environment where stream-type communication using a sequence number is performed. With the goal.
本発明は、上記の課題の少なくとも一部を解決するためになされたものであり、以下の形態または適用例として実現することができる。
[形態1]
第1の端末と第2の端末との間で行われるTCPに従うパケットの伝送を、少なくとも第1の中継装置及び第2の中継装置を介して中継するために配置される前記第1の中継装置であって、
前記第1の中継装置と前記第1の端末との間で形成されるTCPセッション及び前記第2の中継装置と前記第2の端末との間で形成されるTCPセッションとは異なる所定のTCPセッションを前記第1の中継装置と前記第2の中継装置との間に形成し、前記第1の中継装置から前記第2の中継装置に向けて送信されたパケットの再送状況に基づいて、送信帯域を制御する帯域制御部と、
当該パケットのTCPヘッダに、前記第1の中継装置と所定のネットワークを介した第2の中継装置との間でのパケットのやり取りであることを示すためのマークを付与するオプション部と、
前記第2の中継装置から送信されるパケットのTCPヘッダに付与される、前記第1と第2の中継装置間でのデータのやり取りであることを示すためのマークに基づいて前記所定のTCPセッションを用いた前記第2の中継装置が提供するパケット転送機能に関する状態を検知する検知部と、を備え、
前記オプション部によって前記マークを付与する場合に、前記第1の端末から受信した前記第2の端末宛へのパケットを前記帯域制御部で制御される送信帯域によって送信する、ことを特徴とする第1の中継装置。
この形態の第1の中継装置によれば、パケットの再送状況に基づいて、送信帯域を制御できると共に、オプション部によってパケットのTCPヘッダにマークを付与する場合に第1の端末から受信した第2の端末宛てへのパケットを帯域制御部で制御される送信帯域によって送信できる。また、TCPヘッダに付与されるマークに基づいて検知部によって、所定のTCPセッションを用いた第2の中継装置が提供するパケット転送機能に関する状態を検知できる。
[形態2]
形態1記載の第1の中継装置であって、
第1の端末と第1のネットワークを介して接続される第1のネットワークインタフェースと、
第2の中継装置と前記所定のネットワークである第2のネットワークを介して接続される第2のネットワークインタフェースと、
パケットを前記第1のネットワークインタフェースまたは前記第2のネットワークインタフェースを介して転送する転送部と、をさらに有する第1の中継装置。
[形態3]
形態1または2記載の第1の中継装置であって、
前記検知部により前記第2の中継装置から送信されて受信したパケットに前記マークが付与されていないと検知した場合、前記第1の中継装置は、前記受信したパケットを前記第1の端末にパススルーによる転送あるいは前記第1の端末及び第2の端末に対してリセット信号の送信を行い、
前記検知部により前記第2の中継装置から送信されて受信したパケットに前記マークが付与されていると検知した場合、前記第1の中継装置は、前記マークを削除して前記受信したパケットを前記第1の端末に転送する、第1の中継装置。
[形態4]
形態3に記載の第1の中継装置であって、
前記第1と第2の中継装置間でのデータのやり取りは、前記所定のセッションである高速化TCPセッションを用いたパケット転送であり、
前記第2の中継装置の状態とは、前記高速化TCPセッションを用いたパケット転送機能に関する状態である、第1の中継装置。
[形態5]
形態1から4までのいずれか一つに記載の第1の中継装置であって、
前記第1の端末から受信した前記第2の端末宛へのパケットは、前記第1の端末と第2の端末との、前記受信したパケットがTCPコネクション確立要求を行うためのSYNパケットまたはTCPコネクション確立要求を行うためのSYNパケットに対する確認応答パケットである、第1の中継装置。
[形態6]
形態3、形態4、形態3又は形態4に従属する形態5のいずれか一つに記載の第1の中継装置であって、
前記第1の端末から受信し前記帯域制御部で制御される送信帯域により送信されるパケットのTCPヘッダに含まれる確認応答番号から所定の値を減算し、前記検知部によりTCPヘッダに前記マークが含まれていたと検知された前記第2の中継装置からのパケットのTCPヘッダに含まれるシーケンス番号に所定の値を加算するTCPヘッダ更新部をさらに有する、第1の中継装置。
[形態7]
第1の端末と第2の端末との間で行われるTCPに従うパケットの伝送を、少なくとも第1の中継装置及び第2の中継装置を介して中継するために配置される前記第1の中継装置であって、
前記第1の中継装置と前記第1の端末との間で形成されるTCPセッション及び前記第2の中継装置と前記第2の端末との間で形成されるTCPセッションとは異なる所定のTCPセッションを前記第1の中継装置と前記第2の中継装置との間に形成し、前記第1の中継装置から前記第2の中継装置に向けて送信されたパケットの再送状況に基づいて、送信帯域を制御する帯域制御部と、
当該パケットのTCPヘッダに、前記第1の中継装置と所定のネットワークを介した第2の中継装置との間でのパケットのやり取りであることを示すためのマークを付与するオプション部と、
前記第2の中継装置から送信されるパケットのTCPヘッダに付与される、前記第1と第2の中継装置間でのデータのやり取りであることを示すためのマークと前記第2の中継装置から送信されるパケットのTCPヘッダに含まれる確認応答番号との少なくとも一方に基づいて前記第2の中継装置の障害を検知する検知部と、
前記第1の端末から受信し前記帯域制御部で制御される送信帯域により送信される前記パケットのTCPヘッダに含まれる前記確認応答番号から所定の値を減算し、前記TCPヘッダに前記マークが含まれていたと前記検知部により検知された前記第2の中継装置からの前記パケットのTCPヘッダに含まれるシーケンス番号に所定の値を加算するTCPヘッダ更新部と、を備え、
前記第1の中継装置は、
前記オプション部によって前記マークを付与する場合に、前記第1の端末から受信した前記第2の端末宛へのパケットを前記帯域制御部で制御される送信帯域によって送信し、
受信したパケットによって前記検知部が前記第2の中継装置の障害の発生を検知した場合に、前記受信したパケットがTCPコネクション確立要求を行うためのSYNパケットである場合は、パススルーにより前記受信したデータの転送を前記第1の端末に行う、第1の中継装置。
この形態の第1の中継装置によれば、TCPヘッダに付与されるマークとTCPヘッダに含まれる確認応答番号との少なくとも一方に基づいて検知部によって第2の中継装置の状態を検知できる。
[形態8]
第1の端末と第2の端末との間で行われるTCPに従うパケットの伝送を、少なくとも第1の中継装置及び第2の中継装置を介して中継するために配置される前記第1の中継装置であって、
前記第1の中継装置と前記第1の端末との間で形成されるTCPセッション及び前記第2の中継装置と前記第2の端末との間で形成されるTCPセッションとは異なる所定のTCPセッションを前記第1の中継装置と前記第2の中継装置との間に形成し、前記第1の中継装置から前記第2の中継装置に向けて送信されたパケットの再送状況に基づいて、送信帯域を制御する帯域制御部と、
当該パケットのTCPヘッダに、前記第1の中継装置と所定のネットワークを介した第2の中継装置との間でのパケットのやり取りであることを示すためのマークを付与するオプション部と、
前記第2の中継装置から送信されるパケットのTCPヘッダに付与される、前記第1と第2の中継装置間でのデータのやり取りであることを示すためのマークと前記第2の中継装置から送信されるパケットのTCPヘッダに含まれる確認応答番号との少なくとも一方に基づいて前記第2の中継装置の障害を検知する検知部と、
前記第1の端末から受信し前記帯域制御部で制御される送信帯域により送信される前記パケットのTCPヘッダに含まれる前記確認応答番号から所定の値を減算し、前記TCPヘッダに前記マークが含まれていたと前記検知部により検知された前記第2の中継装置からの前記パケットのTCPヘッダに含まれるシーケンス番号に所定の値を加算するTCPヘッダ更新部と、を備え、
前記第1の中継装置は、
前記オプション部によって前記マークを付与する場合に、前記第1の端末から受信した前記第2の端末宛へのパケットを前記帯域制御部で制御される送信帯域によって送信し、
受信したパケットにより、前記検知部が前記第2の中継装置の障害の発生を検知した場合に、前記受信したデータがTCPコネクション確立要求を行うためのSYNパケットに対する確認応答パケットを含む場合は、パススルーにより前記受信したデータの転送を前記第1の端末に行う、第1の中継装置。
この形態の第1の中継装置によれば、TCPヘッダに付与されるマークとTCPヘッダに含まれる確認応答番号との少なくとも一方に基づいて検知部によって第2の中継装置の状態を検知できる。
[形態9]
形態7又は形態8に記載の第1の中継装置であって、
第1の端末と第1のネットワークを介して接続される第1のネットワークインタフェースと、
第2の中継装置と前記所定のネットワークである第2のネットワークを介して接続される第2のネットワークインタフェースと、
パケットを前記第1のネットワークインタフェースまたは前記第2のネットワークインタフェースを介して転送する転送部と、をさらに有する第1の中継装置。
SUMMARY An advantage of some aspects of the invention is to solve at least a part of the problems described above, and the invention can be implemented as the following forms or application examples.
[Form 1]
The first relay device arranged to relay a packet transmission according to TCP performed between the first terminal and the second terminal via at least the first relay device and the second relay device Because
A predetermined TCP session different from the TCP session formed between the first relay device and the first terminal and the TCP session formed between the second relay device and the second terminal. Is formed between the first relay device and the second relay device, and based on the retransmission status of the packet transmitted from the first relay device to the second relay device, a transmission band A bandwidth control unit for controlling
An option unit for adding a mark to the TCP header of the packet to indicate that the packet is exchanged between the first relay device and the second relay device via a predetermined network;
The predetermined TCP session based on a mark added to a TCP header of a packet transmitted from the second relay device to indicate data exchange between the first and second relay devices A detection unit that detects a state related to a packet transfer function provided by the second relay device using
When adding the mark by the option unit, the packet addressed to the second terminal received from the first terminal is transmitted using a transmission band controlled by the band control unit. 1 relay device.
According to the first relay device of this aspect, the transmission bandwidth can be controlled based on the retransmission status of the packet, and the second received from the first terminal when a mark is attached to the TCP header of the packet by the option unit Packets destined for the terminal can be transmitted by the transmission band controlled by the band control unit. Further, the state relating to the packet transfer function provided by the second relay device using the predetermined TCP session can be detected by the detection unit based on the mark given to the TCP header.
[Form 2]
The first relay device according to the first aspect,
A first network interface connected to the first terminal via the first network;
A second network interface connected to the second relay device via a second network which is the predetermined network;
A first relay device further comprising: a transfer unit configured to transfer a packet via the first network interface or the second network interface.
[Form 3]
The first relay device according to the first or second aspect ,
If it is detected with the mark in the packet received is transmitted from the second relay device by pre-Symbol detection unit has not been granted, the first relay device, the received packet to the first terminal Perform a pass-through transfer or send a reset signal to the first terminal and the second terminal,
When the detection unit detects that the mark is attached to the packet transmitted and received from the second relay device, the first relay device deletes the mark and receives the received packet. A first relay device that transfers to a first terminal.
[Form 4]
A first relay device according to mode 3,
The exchange of data between the first and second relay devices is a packet transfer using an accelerated TCP session that is the predetermined session,
The state of the second relay device is a state relating to a packet transfer function using the accelerated TCP session.
[Form 5]
The first relay device according to any one of
The packet addressed to the second terminal received from the first terminal is a SYN packet or TCP connection for the received packet to make a TCP connection establishment request between the first terminal and the second terminal. A first relay device, which is an acknowledgment packet for a SYN packet for making an establishment request.
[Form 6]
A first relay device according to any one of form 3, form 4, form 3 or
A predetermined value is subtracted from the acknowledgment number included in the TCP header of the packet received from the first terminal and transmitted in the transmission band controlled by the bandwidth control unit, and the mark is added to the TCP header by the detection unit. A first relay device further comprising a TCP header update unit that adds a predetermined value to a sequence number included in a TCP header of a packet from the second relay device detected to be included.
[Form 7]
The first relay device arranged to relay a packet transmission according to TCP performed between the first terminal and the second terminal via at least the first relay device and the second relay device Because
A predetermined TCP session different from the TCP session formed between the first relay device and the first terminal and the TCP session formed between the second relay device and the second terminal. Is formed between the first relay device and the second relay device, and based on the retransmission status of the packet transmitted from the first relay device to the second relay device, a transmission band A bandwidth control unit for controlling
An option unit for adding a mark to the TCP header of the packet to indicate that the packet is exchanged between the first relay device and the second relay device via a predetermined network;
From the second relay device and a mark added to the TCP header of the packet transmitted from the second relay device to indicate that data is exchanged between the first and second relay devices A detector that detects a failure of the second relay device based on at least one of an acknowledgment number included in a TCP header of a packet to be transmitted;
A predetermined value is subtracted from the acknowledgment number included in the TCP header of the packet received from the first terminal and transmitted in the transmission band controlled by the bandwidth control unit, and the mark is included in the TCP header that it had a and a TCP header update unit for adding a predetermined value to the sequence number contained in the TCP header of the packet from the sensed second relay apparatus by the detection unit,
The first relay device is
When the mark is given by the option unit, a packet addressed to the second terminal received from the first terminal is transmitted by a transmission band controlled by the band control unit,
If the received packet is a SYN packet for making a TCP connection establishment request when the detection unit detects a failure of the second relay device by the received packet, the received data is passed through. The first relay device that performs the transfer of the first terminal to the first terminal.
According to the first relay device of this aspect, the state of the second relay device can be detected by the detection unit based on at least one of the mark given to the TCP header and the confirmation response number included in the TCP header.
[Form 8]
The first relay device arranged to relay a packet transmission according to TCP performed between the first terminal and the second terminal via at least the first relay device and the second relay device Because
A predetermined TCP session different from the TCP session formed between the first relay device and the first terminal and the TCP session formed between the second relay device and the second terminal. Is formed between the first relay device and the second relay device, and based on the retransmission status of the packet transmitted from the first relay device to the second relay device, a transmission band A bandwidth control unit for controlling
An option unit for adding a mark to the TCP header of the packet to indicate that the packet is exchanged between the first relay device and the second relay device via a predetermined network;
From the second relay device and a mark added to the TCP header of the packet transmitted from the second relay device to indicate that data is exchanged between the first and second relay devices A detector that detects a failure of the second relay device based on at least one of an acknowledgment number included in a TCP header of a packet to be transmitted;
A predetermined value is subtracted from the acknowledgment number included in the TCP header of the packet received from the first terminal and transmitted in the transmission band controlled by the bandwidth control unit, and the mark is included in the TCP header that it had a and a TCP header update unit for adding a predetermined value to the sequence number contained in the TCP header of the packet from the sensed second relay apparatus by the detection unit,
The first relay device is
When the mark is given by the option unit, a packet addressed to the second terminal received from the first terminal is transmitted by a transmission band controlled by the band control unit,
When the detection unit detects the occurrence of a failure of the second relay device based on the received packet, if the received data includes an acknowledgment packet for the SYN packet for making a TCP connection establishment request, A first relay device that transfers the received data to the first terminal.
According to the first relay device of this aspect, the state of the second relay device can be detected by the detection unit based on at least one of the mark given to the TCP header and the confirmation response number included in the TCP header.
[Form 9]
It is the 1st relay device of form 7 or form 8,
A first network interface connected to the first terminal via the first network;
A second network interface connected to the second relay device via a second network which is the predetermined network;
A first relay device further comprising: a transfer unit configured to transfer a packet via the first network interface or the second network interface.
[適用例1]シーケンス番号を用いたストリーム型の通信によってデータを伝送する2つの端末と、前記2つの端末の伝送路上に直列に配置され前記2つの端末間のデータを中継するための第1と第2の中継装置と、を有するネットワークに配置される第1の中継装置であって、
受信したデータの転送を行うための転送制御部と、
対向する前記第2の中継装置に障害が発生したことを検知する検知部と、を備え、
前記転送制御部は、
前記受信したデータの転送を行う転送部と、
前記第2の中継装置の障害の発生を検知するために前記受信したデータを加工する加工部であって、(i)前記第2の中継装置に向けてデータを転送する場合に、転送するデータに前記第1と第2の中継装置間でのデータのやり取りであることを示すためのマークをデータに付与するオプション部と、(ii)データを対向する前記端末に送信する場合に、送信元の前記端末から送信されるデータに付与されているシーケンス番号に所定値を加算する加算部と、(iii)データを対向する前記端末から受信した場合に、前記端末から送信されたデータに確認応答番号が付与されているときに、前記確認応答番号に対し前記所定値を減算する減算部と、を有する加工部と、を有し、
前記検知部は、前記マークと前記確認応答番号の少なくともいずれか一方に基づいて対向する前記第2の中継装置の障害の発生を検知する、第1の中継装置。
Application Example 1 A first terminal for relaying data between two terminals that are arranged in series on a transmission path of the two terminals and two terminals that transmit data by stream-type communication using a sequence number And a second relay device, the first relay device arranged in a network,
A transfer control unit for transferring received data;
A detection unit that detects that a failure has occurred in the second relay device that faces the second relay device;
The transfer control unit
A transfer unit for transferring the received data;
A processing unit that processes the received data to detect occurrence of a failure in the second relay device, and (i) data to be transferred when data is transferred to the second relay device And (ii) a transmission source when transmitting data to the opposite terminal, (ii) an option unit for adding to the data a mark for indicating data exchange between the first and second relay devices. An adder for adding a predetermined value to a sequence number assigned to data transmitted from the terminal, and (iii) a confirmation response to the data transmitted from the terminal when data is received from the opposite terminal A subtraction unit that subtracts the predetermined value from the confirmation response number when a number is given, and a processing unit,
The detection unit is a first relay device that detects occurrence of a failure in the second relay device facing the mark based on at least one of the mark and the confirmation response number.
適用例1に記載の第1の中継装置によれば、加工部を有することで検知部がマークと確認応答番号の少なくともいずれか一方に基づいて対向する第2の中継装置の障害の発生を容易に検知できる。 According to the first relay device described in Application Example 1, the processing unit can easily cause a failure of the second relay device facing the detection unit based on at least one of the mark and the confirmation response number. Can be detected.
[適用例2]適用例1に記載の第1の中継装置であって、
前記検知部は、前記第2の中継装置から送信されて受信したデータに前記マークが付与されていない場合に、前記第2の中継装置の障害の発生を検知する、第1の中継装置。
適用例2に記載の第1の中継装置によれば、受信したデータにマークが付与されているか否かを判別することで第2の中継装置の障害の発生を容易に検知できる。
[Application Example 2] The first relay device according to Application Example 1,
The detection unit is a first relay device that detects occurrence of a failure in the second relay device when the mark is not attached to the data transmitted and received from the second relay device.
According to the first relay device described in Application Example 2, it is possible to easily detect the occurrence of a failure in the second relay device by determining whether or not a mark is attached to the received data.
[適用例3]適用例1に記載の第1の中継装置であって、
前記検知部は、前記第2の中継装置から送信されて受信したデータのうちの前記確認応答番号が、本来受信すべき番号から前記所定値を加算した番号である場合に、前記第2の中継装置の障害の発生を検知する、第1の中継装置。
適用例3に記載の第1の中継装置によれば、受信したデータのうちの前記確認応答番号が、本来受信すべき番号から前記所定値を加算した番号であるか否かを判別することで第2の中継装置の障害の発生を容易に検知できる。
[Application Example 3] The first relay device according to Application Example 1,
The detection unit, when the confirmation response number of the data transmitted and received from the second relay device is a number obtained by adding the predetermined value to a number that should be received originally, A first relay device that detects the occurrence of a device failure.
According to the first relay device described in Application Example 3, by determining whether the confirmation response number in the received data is a number obtained by adding the predetermined value from a number that should be received originally. The occurrence of a failure in the second relay device can be easily detected.
[適用例4]適用例1に記載の第1の中継装置であって、
前記検知部は、前記第2の中継装置から送信されて受信したデータに前記マークが付与されていない場合であり、かつ、前記受信したデータのうちの前記確認応答番号が、本来受信すべき番号から前記所定値を加算した番号である場合に、前記第2の中継装置の障害の発生を検知する、第1の中継装置。
適用例4に記載の第1の中継装置によれば、障害発生の検知をマークと確認応答番号の2つの要素により行なうことで、障害発生検知の精度を向上できる。
[Application Example 4] The first relay device according to Application Example 1,
The detection unit is a case where the mark is not attached to the data transmitted and received from the second relay device, and the confirmation response number of the received data is a number that should be received originally A first relay device that detects the occurrence of a failure in the second relay device when the number is a number obtained by adding the predetermined value to the first relay device.
According to the first relay device described in the application example 4, the accuracy of the failure occurrence detection can be improved by performing the failure detection using the two elements of the mark and the confirmation response number.
[適用例5]適用例1乃至適用例4のいずれか一つに記載の第1の中継装置であって、
前記2つの端末はTCPを用いて通信を行い、
前記転送制御部は、
受信したデータによって前記検知部が前記第2の中継装置の障害の発生を検知した場合に、前記受信したデータがTCPコネクション確立要求を行うためのSYNパケットを含む場合は、前記加工部の機能を用いることなく前記受信したデータの転送を行う、第1の中継装置。
適用例5に記載の第1の中継装置によれば、障害発生を検知した場合でも、データ通信を継続できる。
[Application Example 5] The first relay device according to any one of Application Examples 1 to 4,
The two terminals communicate using TCP,
The transfer control unit
If the received data includes a SYN packet for making a TCP connection establishment request when the detection unit detects a failure of the second relay device based on the received data, the function of the processing unit is A first relay device that transfers the received data without using it.
According to the first relay device described in Application Example 5, data communication can be continued even when a failure is detected.
[適用例6]適用例1乃至適用例5のいずれか一つに記載の第1の中継装置であって、
前記2つの端末はTCPを用いて通信を行い、
前記転送制御部は、
受信したデータによって前記検知部が前記第2の中継装置の障害の発生を検知した場合に、前記受信したデータがTCPコネクション確立要求を行うためのSYNパケットに対する確認応答パケットを含む場合は、前記加工部の機能を用いることなく前記受信したデータの転送を行う、第1の中継装置。
適用例6に記載の第1の中継装置によれば、障害発生を検知した場合でも、データ通信を継続できる。
[Application Example 6] The first relay device according to any one of Application Examples 1 to 5,
The two terminals communicate using TCP,
The transfer control unit
When the detection unit detects the occurrence of a failure of the second relay device based on the received data, if the received data includes an acknowledgment packet for a SYN packet for making a TCP connection establishment request, the processing A first relay device that transfers the received data without using the function of the unit.
According to the first relay device described in Application Example 6, data communication can be continued even when a failure is detected.
なお、本発明は、種々の態様で実現することが可能である。例えば、上記に記載の第1の中継装置に限らず、第1の中継装置の制御方法、第1の制御装置の機能や、制御方法を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記憶媒体、第1と第2の中継装置及び第1と第2の通信装置を備えたネットワークシステム等の態様で実現することができる。 Note that the present invention can be realized in various modes. For example, not only the first relay device described above, but also a control method of the first relay device, a function of the first control device, a computer program for realizing the control method, and a storage storing the computer program It can be realized in a mode such as a medium, a first and second relay device, and a network system including the first and second communication devices.
次に、本発明の実施の形態を以下の順序で説明する。
A.参考例:
B.実施例:
C.変形例:
Next, embodiments of the present invention will be described in the following order.
A. Reference example:
B. Example:
C. Variation:
A.参考例:
実施例を説明する前に、理解の容易のために本発明を適用していない参考例について説明する。図1は、参考例のネットワークシステム5wを説明するための図である。ネットワークシステム5wは、端末としての第1の通信装置20wと、端末としての第2の通信装置21wと、第1の中継装置10wと、第2の中継装置11wと、を備える。第1と第2の通信装置20w,21wは、第1と第2の中継装置10w,11wとインターネットを介してデータ通信を実現させている。
A. Reference example:
Before describing the embodiment, a reference example to which the present invention is not applied will be described for easy understanding. FIG. 1 is a diagram for explaining a
ネットワークシステム5wにおいて、第1の通信装置20wと第1の中継装置10wとの間のデータ通信、及び、第2の通信装置21wと第2の中継装置との間のデータ通信はTCPセッションで管理されている、また、ネットワークシステム5wにおいて、第1の中継装置10wと第2の中継装置11wとの間のデータ通信は、中継装置10w,11w間の固有のTCPセッション(「高速化TCPセッション」ともいう。)として中継装置10w、11wが管理している。
In the
第1と第2の中継装置10w,11w間の高速化TCPセッションでは、第1の通信装置20wや第2の通信装置21wから送信されるデータに付与されたシーケンス番号(「元のシーケンス番号」ともいう。)に一定の値を加算したシーケンス番号(「中継装置間シーケンス番号」ともいう。)が用いられる。例えば、第2の通信装置21wから送信されたデータに付与されているシーケンス番号に対し、第2の中継装置11wは一定の値を加算する。そして、加算したシーケンス番号をデータに付与して第1の中継装置10wにデータを送信する。また、中継装置10w,11wから通信装置20w,21wにデータを転送する場合は、中継装置間シーケンス番号から加算された値を減算して元のシーケンス番号に戻す。また、第1と第2の中継装置10w,11w間の高速化TCPセッションでは、中継装置10w,11w間での通信であることを識別するためのTCPオプションをデータに付与する。TCPオプションは、中継装置10w,11wから通信装置20w,21wにデータが送信される際に、送信されるデータから削除される。
In the high-speed TCP session between the first and
ここで、第2の中継装置11wに障害が発生した場合(障害発生時)を考える。ここで、「障害の発生」とは、データ(パケット)を転送する機能は正常であるが、高速化TCPセッションを用いてデータを転送する機能に異常が生じた場合を指す。すなわち、「障害の発生」とは、第2の中継装置11wが元のシーケンス番号に一定の値を加算できない状態、又は、第2の中継装置11wがTCPオプションのデータへの付与及び削除ができない状態をいう。
Here, consider a case where a failure occurs in the
障害発生時において、第1の通信装置20wから送信されたデータのシーケンス番号に対し、第1の中継装置10wは一定の値を加算して中継装置間シーケンス番号が付与されたデータを第2の中継装置11wに送信する。第2の中継装置11wは受信したデータに付与された中継装置間シーケンス番号を処理することなく第2の通信装置21wにデータを送信する。第2の通信装置21wは、受信したデータのシーケンス番号がTCPセッションにおけるシーケンス番号(元のシーケンス番号)とは異なっているため、受信したデータを不正なデータとして認識する。そして、第2の通信装置21wは、TCPセッションで用いられるシーケンス番号(元のシーケンス番号)とACKを送信する。しかしながら、第1の中継装置10wでは第2の通信装置21wから送信されたシーケンス番号を認識できず第1の通信装置20wにデータを転送することができない。すなわち、第1と第2の通信装置20w,21w間における通信の継続や、セッションの切断ができないという問題が発生する。
When a failure occurs, the
B.実施例:
B−1.ネットワークシステム5の構成:
図2は、本発明の実施例としてのネットワークシステム5を説明するための図である。図2に示すように、ネットワークシステム5は、端末としての第1と第2の通信装置454,455と、第1と第2の通信装置454,455間のデータ通信を中継する第1と第2の中継装置441,442と、を備える。第1と第2の中継装置441,442は、第1と第2の通信装置454,455の伝送路上に直列に配置されている。第1と第2の通信装置454,455はTCPを用いてデータ(パケット)通信を行う。なお、第1と第2の中継装置441,442との間にはインターネット(図示せず)が存在する。
B. Example:
B-1. Configuration of network system 5:
FIG. 2 is a diagram for explaining a
第1の中継装置441は、外部機器(例えば第1の通信装置454)との間でデータの受信及び送信を行う入出力インタフェース41,42と、受信したデータの転送を制御するための転送制御部44と、他の中継装置442の障害を検知するための検知部46と、を備える。なお、第2の中継装置442の構成も同様の構成であるため、内部構成の図示は省略すると共に説明を省略する。
The
転送制御部44は、送受信するデータに加工等を施すための加工部48と、データの転送を行う転送部49と、を備える。転送部49は、受信したデータに付与されているIPアドレス等に基づいてデータの転送を行う。
The
加工部48は、オプション部48aと、加算部48bと、減算部48cと、を備える。オプション部48aは、対向する第2の中継装置442に向けてデータを転送する場合に、転送するデータに第1と第2の中継装置間でのデータのやり取りであることを示すためのマークをデータに付与する。本実施例では、このマークはTCPヘッダのTCPオプションを使用している。加算部48bは、データを対向する通信装置(ここでは、第1の通信装置454)に送信する場合に、送信元の通信装置(ここでは、第2の通信装置455)から送信されるデータに付与されているシーケンス番号(元のシーケンス番号)に所定値を加算する。所定値は任意の値を選択可能であり、本実施例では、1000000を元のシーケンス番号に加算する。減算部48cは、データを対向する通信装置(ここでは、第1の通信装置454)から受信した場合に、通信装置から送信されたデータに付与されている確認応答番号に対し所定値(本実施例では、1000000)を減算する。また、第1と第2の中継装置441,442は、中継装置441,442間の固有の通信を管理するためのセッション管理テーブル(図示せず)を備える。
The
なお、加工部48は、第1と第2の中継装置441,442間でのデータ通信を高速に行なうための機能を有していても良い。例えば、国際公開番号WO2011/033894(国際出願日:2010年8月19日)に開示の内容を取り込んでも良い。例えば、第1と第2の中継装置441,442の加工部48は、データの再送状況に基づいてデータを送信するために送信帯域を制御する帯域制御部を備えても良い。帯域制御部を備える場合、加工部48が正常に機能している場合は、転送部49は制御された送信帯域に従って、データを転送する。
The
検知部46は、TCPオプションと確認応答番号の少なくともいずれか一方に基づいて対向する第2の中継装置442の障害の発生を検知する。また、例えば、検知部46によって検知された障害の発生は、図示しないサーバに障害発生情報として送信される。そして、サーバが、障害発生情報の解析や、外部への報知等の処理を行う。
The
図3は、実施例で用いられるTCPヘッダを示す図である。図3に示すTCPヘッダはTCPで定められている通常のヘッダ構成である。フィールド101には、送信元ポート番号及び宛先ポート番号が格納される。フィールド102には、シーケンス番号が格納される。フィールド103には、確認応答番号(ACK番号)が格納される。フィールド104には、ヘッダ長、ACKフラグ等の各種フラグ、ウィンドウサイズ等の情報が格納される。フィールド105には、チェックサム、緊急ポインタが格納される。フィールド106には、オプション種別、オプション長、オプション値が格納される。詳細には、フィールド106には、MSS(Maximum Segment Size)に関する情報が格納される。フィールド107は、オプション種別、オプション長、オプション値(バージョン番号)が格納される。詳細には、第1と第2の中継装置441,442間でのデータ通信の際にデータに付与されるTCPオプションに関する情報が格納される。フィールド108は、データフィールドである。
FIG. 3 is a diagram illustrating a TCP header used in the embodiment. The TCP header shown in FIG. 3 has a normal header configuration defined by TCP. The
図4は、ネットワークシステム5におけるデータ通信時のTCPヘッドの変化について説明するための図である。図4は、コネクション確立時(3ウェイ・ハンドシェイク時)に行なわれる通信の一部を例として示している。第1の通信装置454は、端末間で実行される通常のTCPで通信を開始する(ステップS30)。例えば、シーケンス番号(Seq♯)10000でSYNパケットを送信する。第1の中継装置441のオプション部48aは、受信したデータにTCPオプションを付与し、転送部49がデータを第2の中継装置442に送信する(ステップS32)。第2の中継装置442のオプション部48aは、受信したデータからTCPオプションを外し、第2の中継装置の加算部48bは、受信したデータのシーケンス番号に1000000を加算する(ステップS33)。そして、処理後のデータを転送部49が第2の通信装置455に送信する(ステップS33)。
FIG. 4 is a diagram for explaining a change in the TCP head during data communication in the
第2の通信装置455は、通常のTCP処理を行い、受信したデータ中のシーケンス番号に対して次に期待するシーケンスをACK番号に付与して送信する(ステップS34)。本実施例では、ACK番号はステップS30で送信された元のシーケンス番号に所定値1000000と1を加算した値となる。第2の中継装置442の減算部48cは、送信元の第2の通信装置455から送信されたデータのACK番号から所定値である1000000を減算することで、元のシーケンスと整合が取れるように処理する(ステップS35)。また、第2の中継装置442のオプション部48aは、データに対しTCPオプションを付与する(ステップS35)。そして、処理後のデータを第2の中継装置442の転送部49が第1の中継装置441に送信する(ステップS35)。第1の中継装置441のオプション部48aは、第2の中継装置442から受信したデータのTCPオプションを外し、元のストリームと整合させる(ステップS36)。また、第1の中継装置441は、受信したデータのシーケンス番号に所定値である1000000を加算する(ステップS36)。そして、第1の中継装置441の転送部49は、処理後のデータを第1の通信装置454に送信する(ステップS36)。なお、図示は省略するが、ステップS36の後、第1の中継装置441は、受信したSYN/ACKパケットのACK番号をシーケンス番号としてACKパケットを第1の中継装置441に送信する。そして、第1の中継装置441及び第2の中継装置442の加工部48は、それぞれACKパケット対し所定の処理を施す。最終的には、第2の通信装置455がACKパケットを受信してコネクションが確立される。
The
理解の容易にために、一般的に行なわれる3ウェイ・ハンドシェイクの処理について説明する。図5は、通常行なわれる3ウェイ・ハンドシェイクの処理フローである。すなわち、図5は、本発明を適用しない場合の3ウェイ・ハンドシェイク時の一般的な処理フローである。第1の通信装置454は、第2の通信装置455に対して任意のシーケンス番号A(Aには任意の番号が入力される。)でSYNパケットを送信する(ステップS40)。第2の通信装置455は、SYNパケットに対する応答として、任意のシーケンス番号B(BにはAとは異なる任意の番号が入力される。)を用いて、受信したシーケンス番号Aに1を加算した番号をACK番号に設定してSYN/ACKパケットを第1の通信装置454に送信する(ステップS41)。第1の通信装置454は、受信したSYN/ACKパケットに対して、SYNパケットで用いたシーケンス番号Aに1を加算した値(すなわち、ステップS41で送信されたACK番号)をシーケンス番号とする(ステップS42)。また、第1の通信装置454は、ステップS41で送信されたシーケンス番号Bに1を加算した値(B+1)をACK番号とする(ステップS42)。そして、シーケンス番号とACK番号を付与したデータを第2の通信装置455に送信する(ステップS42)。これにより、第1と第2の通信装置454,455間でコネクションが確立される。
In order to facilitate understanding, a three-way handshake process that is generally performed will be described. FIG. 5 is a processing flow of a three-way handshake that is normally performed. That is, FIG. 5 is a general processing flow at the time of three-way handshake when the present invention is not applied. The
図6は、ネットワークシステム5のコネクション確立後の通信を説明するための図である。図6では、第1の通信装置454から送信されるデータ量は1460バイトと仮定する。第1の通信装置454は、所定のシーケンス番号(本実施例では、シーケンス番号2001)を付してデータを第1の中継装置441に送信する(ステップS50)。第1の中継装置441は、受信したデータにTCPオプションを付与して第2の中継装置442にデータを送信する(ステップS51)。TCPオプションをデータに付与することで、通常のTCPを用いた通信と区別することができる。第2の中継装置442は、第1の中継装置442から送信されたデータを受信すると、受信したデータからTCPオプションを外すと共に、シーケンス番号に所定値(本実施例では1000000)を加算する(ステップS52)。そして、第2の中継装置442は、処理後のデータを第2の通信装置455に送信する(ステップS52)。
FIG. 6 is a diagram for explaining communication after the connection of the
第2の通信装置455は、次に受信を期待する番号に所定値(本実施例では1000000)が加算された状態のACK番号を付与したデータを第2の中継装置442に送信する(ステップS53)。第2の中継装置442は、第2の通信装置455から送信されたデータを受信すると、受信したデータに対しTCPオプションを付与すると共に、確認応答番号から所定値(本実施例では1000000)を減算する(ステップS54)。これにより、ステップS50で送信された元のシーケンス番号に対するACK番号となる。そして、第2の中継装置442は、処理後のデータを第1の中継装置441に送信する(ステップS54)。第1の中継装置441は、第2の中継装置442から送信されたデータを受信すると、受信したデータからTCPオプションを外すと共に、シーケンス番号に所定値(本実施例では1000000)を加算する(ステップS55)。そして、第1の中継装置441は、処理後のデータを第1の通信装置454に送信する(ステップS55)。
The
ネットワークシステム5は、ステップS55以降のデータ通信(ステップS56〜S58)ついても、同様の処理を行う。すなわち、ステップS56の動作はステップS50の動作と同様であり、ステップS57の動作はステップS51の動作と同様であり、ステップS58の動作はステップS52の動作と同様である。
The
なお、以降において、ネットワークシステム5の第1と第2の中継装置441,442での各場面での障害発生の検知方法について詳細に説明する。
In the following, a method for detecting a failure occurrence in each scene in the first and
B−2.障害発生の検知について:
B−2−1.3ウェイ・ハンドシェイクにおける障害発生の検知:
図7は、3ウェイ・ハンドシェイク時の障害発生の検知について説明するための図である。すなわち、図7は、3ウェイ・ハンドシェイク時において、第1の中継装置441と第2の中継装置442のいずれかに障害(詳細には、加工部48の障害)が発生した場合の障害発生の検知方法について説明するための図である。
B-2. About detection of failure occurrence:
Detection of failure in B-2-1.3 way handshake:
FIG. 7 is a diagram for explaining detection of the occurrence of a failure during a three-way handshake. That is, FIG. 7 shows that a failure occurs when a failure (specifically, a failure of the processing unit 48) occurs in either the
TCPでは、コネクションを確立する際、SYNパケットに対してSYN/ACKパケットが返信され、SYN/ACKパケットに対してACKパケットを返信することでコネクションが確立される。詳細には以下に記載する工程によりコネクションが確立される。
・ステップS60:第1の通信装置454から第1の中継装置441にSYNパケットを送信する。
・ステップS61:TCPオプションをデータに付与して第1の中継装置441から第2の中継装置442にデータを送信する。
・ステップS62:TCPオプションをデータから外すと共に、シーケンス番号に所定値である1000000を加算して第2の中継装置442から第2の通信装置455にデータを送信する。
・ステップS63:第2の通信装置455から第2の中継装置442にSYN/ACKを送信する。ACK番号は受信したシーケンス番号に1を加算する。
・ステップS64:TCPオプションをデータに付与すると共に、ACK番号から所定値である1000000を減算して第2の中継装置442から第1の中継装置441にデータを送信する。
・ステップS65:TCPオプションをデータから外すと共に、シーケンス番号に所定値である1000000を加算して第1の中継装置441から第1の通信装置454にデータを送信する。
・ステップS66:受信したACK番号をシーケンス番号とし、受信したシーケンス番号に1を加算し、ACKを第1の通信装置454から第1の中継装置441に送信する。
・ステップS67:TCPオプションをデータに付与して第1の中継装置441から第2の中継装置442にデータを送信する。
・ステップS68:TCPオプションをデータから外すと共に、シーケンス番号に所定値である1000000を加算して第2の中継装置442から第2の通信装置455にデータを送信する。
In TCP, when establishing a connection, a SYN / ACK packet is returned to the SYN packet, and a connection is established by returning an ACK packet to the SYN / ACK packet. Specifically, the connection is established by the steps described below.
Step S60: A SYN packet is transmitted from the
Step S61: The data is transmitted from the
Step S62: The TCP option is removed from the data, and a predetermined value of 1000000 is added to the sequence number, and the data is transmitted from the
Step S63: SYN / ACK is transmitted from the
Step S64: A TCP option is assigned to the data, and a predetermined value of 1000000 is subtracted from the ACK number, and the data is transmitted from the
Step S65: The TCP option is removed from the data, and a predetermined value of 1000000 is added to the sequence number, and the data is transmitted from the
Step S66: The received ACK number is set as a sequence number, 1 is added to the received sequence number, and ACK is transmitted from the
Step S67: The TCP option is added to the data, and the data is transmitted from the
Step S68: The TCP option is removed from the data, and a predetermined value of 1000000 is added to the sequence number, and the data is transmitted from the
ここで、図7に示す各地点60p,61p,64p,65p,66p,67pにおいて障害が発生した場合の障害検知方法の概略は以下の通りとなる。
Here, the outline of the failure detection method when a failure occurs at each of the
・地点60pでの障害発生時(第1の障害検知態様):
SYNパケットにTCPオプションが付与されていないため、第2の中継装置442で障害検知が可能である。
・地点61pでの障害発生時(第2の障害検知態様)
SYN/ACKパケットにTCPオプションが付与されていないため、第1の中継装置441で障害検知が可能である。
・地点64pでの障害発生時(第3の障害検知態様)
SYN/ACKパケットにTCPオプションが付与されていないことと、ACK番号が減算されていないことによって、第1の中継装置441で障害検知が可能である。
・地点65pでの障害発生時(第4の障害検知態様)
ACKパケットにTCPオプションが付与されていなため、第2の中継装置442で障害検知が可能である。
・地点66pでの障害発生時(第5の障害検知態様)
ACKパケットにTCPオプションが付与されていないことと、ACK番号が減算されていないことによって、第2の中継装置442で障害検知が可能である。
・地点67pでの障害発生時(第6の障害検知態様)
再送されたSYN/ACKパケットにTCPオプションが付与されていないことと、ACK番号が減算されていないことによって、第1の中継装置441で障害検知が可能である。
-When a failure occurs at
Since the TCP option is not given to the SYN packet, the
・ When a fault occurs at
Since the TCP option is not assigned to the SYN / ACK packet, the
・ When a failure occurs at
Since the TCP option is not added to the SYN / ACK packet and the ACK number is not subtracted, the
・ When a failure occurs at
Since the TCP option is not added to the ACK packet, the
・ When a fault occurs at
Since the TCP option is not added to the ACK packet and the ACK number is not subtracted, the
・ When a fault occurs at
Since the TCP option is not added to the retransmitted SYN / ACK packet and the ACK number is not subtracted, the
上記に挙げた各地点60p,61p,64p,65p,66p,67pでの障害発生の詳細処理フローを障害検知の実施形態として以下に詳述する。
A detailed processing flow of the occurrence of a failure at each of the
B−2−2.第1の障害検知態様:
図8は、3ウェイ・ハンドシェイク時の障害検知の第1の態様を説明するための図である。図8は、第1の通信装置454がSYNパケットを送信する時点60pで、第1の中継装置441に障害が発生していた場合の処理フローである。
B-2-2. First failure detection mode:
FIG. 8 is a diagram for explaining a first mode of failure detection during a three-way handshake. FIG. 8 is a processing flow in the case where a failure has occurred in the
第1の通信装置454がSYNパケットを送信すると、第1の中継装置441は加工部48によってSYNパケットを処理できず、SYNパケットをパススルーする(ステップS70)。第2の中継装置442の検知部46は、受信したSYNパケットにTCPオプションが付与されていないことを検知することで、第1の中継装置441の障害発生を検知できる(ステップS70a)。ステップS71以降の工程は、ネットワークシステム5の第1と第2の中継装置441,442間において、第1と第2の中継装置441,442間で用いられることが可能な固有のセッション(高速化セッション)が形成されていない為に、通常のTCPセッションによってデータを転送する。すなわち、ステップS71の次に、第2の通信装置455は、SYN/ACKパケットを第2の中継装置442に送信し、第2の中継装置442と第1の中継装置441はSYN/ACKパケットを第1の通信装置454に向けて転送する(ステップS73,S73a)。SYN/ACKパケットを受信した第1の通信装置454は、受信したSYN/ACKパケットに対して、SYNパケットで使用したシーケンス番号10000に1を加算した値(すなわち、ステップS72で送信されたACK番号)をシーケンス番号としてACKパケットを第2の通信装置455に向けて送信する(ステップS74)。第1の中継装置441と第2の中継装置442は、第1の通信装置454から送信されたACKパケットをパススルーして第2の通信装置455に転送する(ステップS75,S76)。これにより、第1の通信装置454と第2の通信装置455との間でコネクションが確立される。
When the
B−2−3.第2の障害検知態様:
図9は、3ウェイ・ハンドシェイク時の障害検知の第2の態様を説明するための図である。図9では、第1の通信装置454からSYNパケットを送信する時点61pで、第2の中継装置442に障害が発生していた場合の処理フローである。
B-2-3. Second failure detection mode:
FIG. 9 is a diagram for explaining a second mode of failure detection during a three-way handshake. FIG. 9 is a processing flow when a failure has occurred in the
コネクションを確立するために、第1の通信装置454からSYNパケットが第1の中継装置441に送信される(ステップS80)。第1の中継装置441は、第1の通信装置454からのSYNパケットを受信すると、SYNパケットにTCPオプションを付与し、第2の中継装置442に送信する(ステップS81)。しかしながら、第2の中継装置442は、加工部48(図2)において所定の処理ができないため、SYNパケットをパススルーし第2の通信装置455に送信する(ステップS81a)。第2の通信装置455は、受信したSYNパケットにTCPオプションが付与されているが、第2の通信装置455はTCPオプションをサポートしておらず解釈できない為、TCPオプションを無視する(ステップS81b)。第2の通信装置455は、受信したSYNパケットに対する応答としてSYN/ACKパケットを第2の中継装置442に送信する(ステップS82)。ここで、第2の中継装置442は、第2の通信装置455から送信されたSYN/ACKパケットを加工部48で処理することなく第1の中継装置441に送信する(ステップS82a)。第1の中継装置441は、第2の中継装置442から受信したSYN/ACKパケットにTCPオプションが付与されていないことを検知することで、第2の中継装置442の障害発生を検知できる(ステップS82b)。また、ステップS82bにおいて、第1の中継装置441は、障害発生の検知後にセッション管理テーブルを削除して以降の通信をパススルーさせる。
In order to establish a connection, a SYN packet is transmitted from the
第1の中継装置441は、ステップS83において加工部48の機能を用いることなくSYN/ACKパケットを第1の通信装置454に送信する(パススルー)。第1の通信装置454は、受信したSYN/ACKパケットに対して、SYNパケットで使用したシーケンス番号10000に1を加算した値(すなわち、ステップS83で送信されたACK番号)をシーケンス番号としてACKパケットを第2の通信装置455に向けて送信する(ステップS84)。ステップS84では、通常のTCPセッションによってACKパケットが第1の中継装置441,第2の中継装置442,第2の通信装置455に順にパススルーによって転送される(ステップS85,S86)。これにより、第1の通信装置454と第2の通信装置455との間でコネクションが確立される。
The
B−2−4.第3の障害検知態様:
図10は、3ウェイ・ハンドシェイク時の障害検知の第3の態様を説明するための図である。図10は、第2の中継装置442が第2の通信装置455にSYNパケットを送信した地点64pで第2の中継装置442に障害が発生した場合の処理フローを示している。
B-2-4. Third failure detection mode:
FIG. 10 is a diagram for explaining a third mode of failure detection during a three-way handshake. FIG. 10 shows a processing flow when a failure occurs in the
図10において、ステップS90〜ステップS92は、図7に示すステップS60〜ステップS62と同様の処理工程であるため説明を省略する。ステップS92の後に、第2の通信装置455は、SYNパケットに対する応答としてSYN/ACKパケットを第2の中継装置442に送信する(ステップS93)。ここで、第2の中継装置442は、受信したSYN/ACKパケットをパススルーして第1の中継装置441にSYN/ACKパケットを送信する(ステップS93a)。第1の中継装置441は、受信したSYN/ACKパケットにTCPオプションが付与されていないことと、ACK番号が減算されていないことを検知することで、対向する第2の中継装置442の障害発生を検知できる(ステップS94)。本実施例では、ACK番号が減算されていないことは、第2の中継装置442の検知部46が、受信したACK番号から所定値(1000000)を減算した値が、本来受信すべき期待するACK番号であることによって判別する。対向する第2の中継装置442の障害発生を検知した後に、第1の中継装置441は、第1の通信装置454、及び、第2の中継装置442を介して第2の通信装置455にリセット(RST)パケットを送信し、以降の通信を強制的に終了しても良い。また、対向する第2の中継装置442の障害発生を検知した後に、第1の中継装置441は、受信したSYN/ACKパケットをパススルーして第1の通信装置454にSYN/ACKパケットを送信し、3ウェイ・ハンドシェイクの処理を継続しても良い。
In FIG. 10, steps S90 to S92 are the same processing steps as steps S60 to S62 shown in FIG. After step S92, the
B−2−5.第4の障害検知態様:
図11は、3ウェイ・ハンドシェイク時の障害検知の第4の態様を説明するための図である。図11は、第1の中継装置441がSYNパケットを第2の中継装置442に送信した地点65pで第1の中継装置441に障害が発生した場合の処理フローである。
B-2-5. Fourth failure detection mode:
FIG. 11 is a diagram for explaining a fourth mode of failure detection during a three-way handshake. FIG. 11 is a processing flow when a failure occurs in the
図11において、ステップS100〜ステップS103は、図7に示すステップS60〜ステップS63と同様の処理工程であるため説明を省略する。第2の通信装置455から受信したSYN/ACKパケットに対し、第2の中継装置442は、TCPオプションを付与すると共に確認応答番号から所定値を減算してSYN/ACKパケットを第1の中継装置441に送信する(ステップS104)。そして、第1の中継装置441は、加工部48に障害が発生しているため、第2の中継装置442から受信したSYN/ACKパケットを加工部48で処理することなく第1の通信装置454に送信する(ステップS104a)。第1の通信装置454に送信されたSYN/ACKパケットにはTCPオプションが付与されたままであるが、第1の通信装置454は、TCPオプションを解釈できないためTCPオプションが付与されたSYN/ACKパケットを受信できる(ステップS104b)。第1の通信装置454は、受信したSYN/ACKパケットのACK番号をシーケンス番号としてACKパケットを第1の中継装置441に送信する(ステップS105)。第1の中継装置441は第1の通信装置454から送信されたACKパケットをパススルーして第2の中継装置442に送信する(ステップS105a)。第2の中継装置442は、第1の中継装置441から送信されたACKパケットにTCPオプションが付与されていないことを検知することで、対向する第1の中継装置441の障害発生を検知できる(ステップS106)。対向する第1の中継装置441の障害発生を検知した後は、第2の中継装置442は、第2の通信装置455、及び、第1の中継装置441を介して第1の通信装置454にRSTパケットを送信し、以降の通信を強制的に終了しても良い。また、対向する第1の中継装置441の障害発生を検知した後は、第2の中継装置442は、受信したACKパケットをパススルーして第2の通信装置455にACKパケットを送信することで、3ウェイ・ハンドシェイクの処理を継続しても良い。
In FIG. 11, steps S100 to S103 are the same processing steps as steps S60 to S63 shown in FIG. For the SYN / ACK packet received from the
B−2−6.第5の障害検知態様:
図12は、3ウェイ・ハンドシェイク時の障害検知の第5の態様を説明するための図である。図12は、第1の中継装置441がSYN/ACKパケットを第1の通信装置454に送信した地点66pで第1の中継装置441に障害が発生した場合の処理フローである。
B-2-6. Fifth fault detection mode:
FIG. 12 is a diagram for explaining a fifth mode of failure detection during a three-way handshake. FIG. 12 is a processing flow when a failure occurs in the
図12において、ステップS110〜ステップS115は、図7に示すステップS60〜ステップS65と同様の処理工程であるため説明を省略する。ステップS115の後に、第1の通信装置454は、受信したSYN/ACKパケットのACK番号をシーケンス番号としてACKパケットを第1の中継装置441に送信する(ステップS116)。第1の中継装置441は、加工部48に障害が発生しているため、受信したACKパケットを加工部48で処理することなく第2の中継装置442に送信する(ステップS117)。第2の中継装置442は、受信したACKパケットにTCPオプションが付与されていないことと、ACK番号が減算されていないことを検知することで、対向する第1の中継装置441の障害発生を検知できる(ステップS118)。対向する第1の中継装置441の障害発生を検知した後に、第2の中継装置442は、第2の通信装置455、及び、第1の中継装置441を介して第1の通信装置454にリセット(RST)パケットを送信し、以降の通信を強制的に終了しても良い。また、対向する第1の中継装置441の障害発生を検知した後に、第2の中継装置442は、受信したSYN/ACKパケットをパススルーして第1の通信装置454にSYN/ACKパケットを送信し、3ウェイ・ハンドシェイクの処理を継続しても良い。
In FIG. 12, steps S110 to S115 are the same processing steps as steps S60 to S65 shown in FIG. After step S115, the
B−2−7.第6の障害検知態様:
図13は、3ウェイ・ハンドシェイク時の障害検知の第6の態様を説明するための図である。図13は、第2の中継装置442がSYN/ACKパケットを第1の中継装置441に送信した直後に第2の中継装置442に障害が発生した場合の処理フローである。
B-2-7. Sixth failure detection mode:
FIG. 13 is a diagram for explaining a sixth mode of fault detection during a three-way handshake. FIG. 13 is a processing flow when a failure occurs in the
図13において、ステップS120〜ステップS126は、図7に示すステップS60〜ステップS66と同様の処理工程であるため説明を省略する。第1の通信装置454から送信されたACKパケットに対し、第1の中継装置441はTCPオプションを付与すると共に、ACK番号から所定値である1000000を減算してACKパケットを第2の中継装置442に送信する(ステップS127)。第2の中継装置442は、加工部48に障害が発生しているため、第1の中継装置441から受信したACKパケットを加工部48で処理することなく第2の通信装置455に送信する(ステップS128)。第2の通信装置455は、ACKパケットを受信するが受信したACKパケットのシーケンス番号が期待するシーケンス番号(シーケンス番号:1010001)とは異なるためシーケンス違いによりステップS123と同様のSYN/ACKパケットを第2の中継装置442に再送する(ステップS129)。また、第2の中継装置442は、再送されたSYN/ACKパケットをパススルーし、第1の中継装置441に送信する(ステップS129a)。第1の中継装置441は、受信したSYN/ACKパケットにTCPオプションが付与されていないことと、ACK番号が減算されていないことを検知することで、対向する第2の中継装置442の障害発生を検知できる(ステップS130)。対向する第2の中継装置の障害発生を検知した後に、第1の中継装置441は、第1の通信装置454、及び、第2の中継装置442を介して第2の通信装置455にリセット(RST)パケットを送信し、以降の通信を強制的に終了しても良い。また、対向する第2の中継装置442の障害発生を検知した後に、第1の中継装置441は、受信したSYN/ACKパケットをパススルーして第1の通信装置454にSYN/ACKパケットを送信し、3ウェイ・ハンドシェイクの処理を継続しても良い。
In FIG. 13, steps S120 to S126 are the same processing steps as steps S60 to S66 shown in FIG. The
B−3.コネクション確立後の障害発生の検知について:
図14は、TCPによるデータ通信中に障害が発生した場合の第1の障害検知態様を説明するための図である。図14では、シーケンス番号10001におけるデータの第2の通信装置455への送信が完了した地点(ステップS140〜ステップS142の後の地点)140pで、第1の中継装置441に障害が発生した場合の障害検知処理フローである。なお、図14では、シーケンス番号10001のデータに対するACKパケットについては図示を省略している。
B-3. About detection of failure after connection is established:
FIG. 14 is a diagram for explaining a first failure detection mode when a failure occurs during data communication by TCP. In FIG. 14, when a failure occurs in the
第1の通信装置454は、シーケンス番号10001のデータを第1の中継装置441に送信後、シーケンス番号11461のデータを第1の中継装置441に送信する(ステップS150)。第1の中継装置441は障害が発生しているため受信したデータを加工部48で処理することなく第2の中継装置442に送信する(ステップS151)。シーケンス番号11461のデータを受信した第2の中継装置442は、受信したデータにTCPオプションが付与されていないこと、ACK番号が減算されていないことを検知することで、対向する第1の中継装置441の障害を検知できる(ステップS155)。対向する第1の中継装置441の障害を検知した後に、第2の中継装置442は、第2の通信装置455、及び、第1の中継装置441を介して第1の通信装置454にリセット(RST)パケットを送信し、以降の通信を強制的に終了させても良い。また、対向する第1の中継装置441の障害発生を検知した後に、第2の中継装置442は、受信したデータをパススルーによって第2の通信装置455に送信しても良い。なお、第2の中継装置442は、受信したデータをパススルーによって第2の通信装置455に送信した場合において、第2の通信装置455は受信したデータのACK番号が、本体付加されるべき期待するACK番号に所定値である1000000を加算した値と異なるときは、シーケンスエラーと判断する。そして、第2の通信装置455は、期待するACK番号(ここでは、ACK番号20001)を第2の中継装置442,第1の中継装置441を介して第1の通信装置454に送信する。
The
図15は、TCPによるデータ通信中に障害が発生した場合の第2の障害検知態様を説明するための処理である。図15では、シーケンス番号10001のデータの第2の通信装置455への送信が完了した後(ステップS160〜ステップS162の後)に、第2の中継装置442に障害が発生した場合の障害検知フローである。
FIG. 15 is a process for explaining a second failure detection mode when a failure occurs during data communication by TCP. In FIG. 15, a failure detection flow when a failure occurs in the
第1の通信装置454は、シーケンス番号10001のデータを第1の中継装置441に送信後、シーケンス番号11461のデータを第1の中継装置441に送信する(ステップS170)。第1の中継装置441は、シーケンス番号11461のデータにTCPオプションを付与すると共に、ACK番号から所定値である1000000を減算して第2の中継装置442にデータを送信する(ステップS171)。第2の中継装置442は受信したデータをパススルーする(ステップS172)。第2の中継装置442からのデータを受信した第2の通信装置455は、期待したシーケンス番号(シーケンス番号1011461)とは異なるシーケンス番号が付与されたデータを受信したため、シーケンスエラーとして再送要求のACKパケットを返送する(ステップS180)。第2の中継装置442は、障害発生中の為、再送要求のACKパケットをパススルーする(ステップS181)。第1の中継装置441は、再送要求のACKパケットにTCPオプションが付与されていないことと、ACK番号が減算されていないことを検知することで、対向する第2の中継装置442の障害を検知できる(ステップS185)。対向する第2の中継装置442の障害を検知した後に、第1の中継装置441は、第1の通信装置454、及び、第2の中継装置442を介して第2の通信装置455にリセット(RST)パケットを送信し、以降の通信を強制的に終了させても良い。また、対向する第2の中継装置442の障害を検知した後に、第1の中継装置441は、受信したデータをパススルーによって第1の通信装置454に送信しても良い。なお、図15では、第1の中継装置441は、シーケンス番号11461のデータに対するACKパケットに基づき障害発生を検知したが(ステップS185)、シーケンス番号10001のデータに対するACKパケットの送信がステップS180よりも先に処理された場合は、該ACKパケットに基づき障害発生を検知できる。
The
B−4.効果:
上記のように、第1と第2の中継装置441,442は、TCPオプションとACK番号の少なくともいずれか一方に基づいて、一方の中継装置441,442が他方の中継装置441,442の障害発生を容易に検知できる。これにより、例えば、第1と第2の中継装置441,442のいずれかに障害が発生した場合に、タイムアウト等によるデータ通信の中断を待つことなく、パススルーによるデータ送信や、RSTパケットの送信等のデータ通信を進めるための処理を速やかに実行できる。
B-4. effect:
As described above, the first and
上記実施例では、TCPオプションとACK番号に基づいて中継装置441,442の障害発生を検知している(例えば、図10,図12,図13)。TCPオプションに加え、ACK番号も障害発生を検知するための判断要素に加えることで、他のネットワーク(コネクション)から誤って侵入したTCPオプションが付与されたパケットを元に、対向する中継装置441,442の障害発生を誤って検知できない可能性を低減できる。すなわち、より精度良く中継装置441,442の障害発生を検知できるネットワークシステム5を構築できる。
In the above embodiment, the occurrence of a failure in the
また、上記実施例では、受信したデータによって検知部46が対向する中継装置441,442の障害発生を検知した場合に、障害発生を検知した中継装置441,442が受信したデータがSYNパケットを含む場合は、パススルーによって以降のデータを処理している(図8)。これにより、3ウェイ・ハンドシェイクの処理を中断することなくコネクションを確立できる。
Further, in the above-described embodiment, when the
また、上記実施例では、受信したデータによって検知部46が対向する中継装置441,442の障害発生を検知した場合に、障害発生を検知した中継装置441,442が受信したデータがTCPコネクション確立要求を行うためのSYNパケットに対するACKパケットを含む場合は、パススルーによって以降のデータを処理している(図9)。これにより、3ウェイ・ハンドシェイクの処理を中断することなくコネクションを確立できる。
Further, in the above-described embodiment, when the
ここで、上記実施例の第1の中継装置441と第2の中継装置442が課題を解決するための手段に記載の「第1の中継装置」に相当する。詳細には、上記実施例のうち、第1の中継装置441が課題を解決するための手段に記載の「第1の中継装置」に相当する場合は、第2の中継装置442が課題を解決するための手段に記載の「第2の中継装置」に相当する。また、上記実施例のうち、第2の中継装置442が課題を解決するための手段に記載の「第1の中継装置」に相当する場合は、第1の中継装置441が課題を解決するための手段に記載の「第2の中継装置」に相当する。
Here, the
C.変形例:
以上、本発明の一実施例について説明したが、本発明はこのような実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができる。例えば以下のような変形が可能である。
C. Variation:
As mentioned above, although one Example of this invention was described, this invention is not limited to such an Example, A various structure can be taken in the range which does not deviate from the meaning. For example, the following modifications are possible.
C−1.第1変形例:
上記実施例の障害検知の一態様では、データにTCPオプションが付与されていないことと、ACK番号が減算されていないことを検知することで対向する中継装置441,442の障害発生を検知する態様を含んでいたが(例えば、B−2−4.第3の障害検知態様)、これに限定されるものではない。すなわち、データにTCPオプションが付与されていないことと、ACK番号が減算されていないことの少なくともいずれか一方を検知することで、一方の中継装置441,442が、他方の対向する中継装置441,442の障害発生を検知しても良い。例えば、図10において、第1の中継装置441が受信したデータにTCPオプションが付与されていないことを検知することで、第1の中継装置441は対向する第2の中継装置442の障害発生を検知しても良い。また、例えば図10において、第1の中継装置441が受信したデータのACK番号が所定値減算されていないことを検知することで、第1の中継装置441は対向する第2の中継装置442の障害発生を検知しても良い。すなわち、以下の変形態様の中継装置であっても良い。
C-1. First modification:
In one aspect of the failure detection of the above-described embodiment, a mode in which the failure occurrence of the opposing
・第1の変形態様:
シーケンス番号を用いたストリーム型の通信によってデータを伝送する2つの端末と、前記2つの端末の伝送路上に直列に配置され前記2つの端末間のデータを中継するための第1と第2の中継装置と、を有するネットワークに配置される第1の中継装置であって、
受信したデータの転送を行うための転送制御部と、
対向する前記第2の中継装置に障害が発生したことを検知する検知部と、を備え、
前記転送制御部は、
前記受信したデータの転送を行う転送部と、
前記第2の中継装置の障害の発生を検知するために前記受信したデータを加工する加工部であって、(i)前記第2の中継装置に向けてデータを転送する場合に、転送するデータに前記第1と第2の中継装置間でのデータのやり取りであることを示すためのマークをデータに付与するオプション部と、を有する加工部と、を有し、
前記検知部が対向する前記第2の中継装置の障害の発生を検知するための要素として前記マークを含む、第1の中継装置。
上記第1の変形態様の第1の中継装置は、マークに基づいて対向する第2の中継装置の障害発生を検知できる。ここで、検知部は、第2の中継装置から送信されて受信したデータにマークが付与されていない場合に、第2の中継装置の障害の発生を容易に検知できる。
First variant:
Two terminals that transmit data by stream-type communication using sequence numbers, and first and second relays that are arranged in series on the transmission path of the two terminals and relay data between the two terminals A first relay device arranged in a network having a device,
A transfer control unit for transferring received data;
A detection unit that detects that a failure has occurred in the second relay device that faces the second relay device;
The transfer control unit
A transfer unit for transferring the received data;
A processing unit that processes the received data to detect occurrence of a failure in the second relay device, and (i) data to be transferred when data is transferred to the second relay device A processing unit having an optional part for giving a mark to the data to indicate that the data is exchanged between the first and second relay devices,
The 1st relay apparatus containing the said mark as an element for detecting generation | occurrence | production of the failure of the said 2nd relay apparatus which the said detection part opposes.
The first relay device according to the first modified aspect can detect the occurrence of a failure in the opposing second relay device based on the mark. Here, the detection unit can easily detect the occurrence of a failure in the second relay device when a mark is not attached to the data transmitted from the second relay device and received.
・第2の変形態様:
シーケンス番号を用いたストリーム型の通信によってデータを伝送する2つの端末と、前記2つの端末の伝送路上に直列に配置され前記2つの端末間のデータを中継するための第1と第2の中継装置と、を有するネットワークに配置される第1の中継装置であって、
受信したデータの転送を行うための転送制御部と、
対向する前記第2の中継装置に障害が発生したことを検知する検知部と、を備え、
前記転送制御部は、
前記受信したデータの転送を行う転送部と、
前記第2の中継装置の障害の発生を検知するために前記受信したデータを加工する加工部であって、(i)データを対向する前記端末に送信する場合に、送信元の前記端末から送信されるデータに付与されているシーケンス番号に所定値を加算する加算部と、(ii)データを対向する前記端末から受信した場合に、前記端末から送信されたデータに付与されている確認応答番号に対し前記所定値を減算する減算部と、を有する加工部と、を有し、
前記検知部が対向する前記第2の中継装置の障害の発生を検知するための要素として前記確認応答番号を含む、第1の中継装置。
上記第2の変形態様の第1の中継装置は、確認応答番号に基づいて対向する第2の中継装置の障害発生を検知できる。ここで、検知部は、第2の中継装置から送信されて受信したデータのうち確認応答番号が、本来受信すべき番号から所定値を加算した番号である場合に、第2の中継装置の障害の発生を容易に検知できる。
Second variant:
Two terminals that transmit data by stream-type communication using sequence numbers, and first and second relays that are arranged in series on the transmission path of the two terminals and relay data between the two terminals A first relay device arranged in a network having a device,
A transfer control unit for transferring received data;
A detection unit that detects that a failure has occurred in the second relay device that faces the second relay device;
The transfer control unit
A transfer unit for transferring the received data;
A processing unit that processes the received data to detect the occurrence of a failure in the second relay device, and (i) transmitted from the terminal that is the transmission source when transmitting data to the opposite terminal An adder that adds a predetermined value to the sequence number assigned to the data to be transmitted, and (ii) the confirmation response number assigned to the data transmitted from the terminal when the data is received from the opposite terminal A processing unit having a subtraction unit for subtracting the predetermined value from
The 1st relay apparatus which contains the said confirmation response number as an element for detecting generation | occurrence | production of the failure of the said 2nd relay apparatus which the said detection part opposes.
The first relay device according to the second modification can detect a failure of the opposing second relay device based on the confirmation response number. Here, when the acknowledgment number is the number obtained by adding a predetermined value to the number that should be received from the data that is transmitted from the second relay device and received, the detection unit may fail the second relay device. Can be easily detected.
C−2.第2変形例:
上記実施例では、第1と第2の通信装置454,455はTCPによってデータ通信を行っていたが、データ通信に用いられるプロトコルはTCPに限定されるものではない。すなわち、第1と第2の通信装置454,455がシーケンス番号を用いたストリーム型の通信によってデータ通信を行う場合に、本発明を適用できる。例えば、RTCP(Real-time Transport Control Protocol)を用いたデータ通信にも本発明は適用できる。
C-2. Second modification:
In the above embodiment, the first and
C−3.第3変形例:
上記実施例では、第1と第2の中継装置441,442が対向する中継装置441,442の障害発生を検知し、RSTパケットを送信することでデータ通信を中断していたが、以下のようにしてデータ通信を中断しても良い。すなわち、ネットワークシステム5に接続された制御装置を新たに備え、中継装置441,442によって障害が検知された場合に、障害を検知した中継装置が障害検知を制御装置に報知し、障害検知に関する情報を受信した制御装置がデータ通信の中断を実行しても良い。
C-3. Third modification:
In the above embodiment, the first and
5,5w…ネットワークシステム
10w…第1の中継装置
11w…第2の中継装置
20w…第1の通信装置
21w…第2の通信装置
41,42…入出力インタフェース
44…転送制御部
46…検知部
48…加工部
48a…オプション部
48b…加算部
48c…減算部
49…転送部
441…第1の中継装置
442…第2の中継装置
454…第1の通信装置
455…第2の通信装置
5, 5w ...
Claims (9)
前記第1の中継装置と前記第1の端末との間で形成されるTCPセッション及び前記第2の中継装置と前記第2の端末との間で形成されるTCPセッションとは異なる所定のTCPセッションを前記第1の中継装置と前記第2の中継装置との間に形成し、前記第1の中継装置から前記第2の中継装置に向けて送信されたパケットの再送状況に基づいて、送信帯域を制御する帯域制御部と、
当該パケットのTCPヘッダに、前記第1の中継装置と所定のネットワークを介した第2の中継装置との間でのパケットのやり取りであることを示すためのマークを付与するオプション部と、
前記第2の中継装置から送信されるパケットのTCPヘッダに付与される、前記第1と第2の中継装置間でのデータのやり取りであることを示すためのマークに基づいて前記所定のTCPセッションを用いた前記第2の中継装置が提供するパケット転送機能に関する状態を検知する検知部と、を備え、
前記オプション部によって前記マークを付与する場合に、前記第1の端末から受信した前記第2の端末宛へのパケットを前記帯域制御部で制御される送信帯域によって送信する、ことを特徴とする第1の中継装置。 The first relay device arranged to relay a packet transmission according to TCP performed between the first terminal and the second terminal via at least the first relay device and the second relay device Because
A predetermined TCP session different from the TCP session formed between the first relay device and the first terminal and the TCP session formed between the second relay device and the second terminal. Is formed between the first relay device and the second relay device, and based on the retransmission status of the packet transmitted from the first relay device to the second relay device, a transmission band A bandwidth control unit for controlling
An option unit for adding a mark to the TCP header of the packet to indicate that the packet is exchanged between the first relay device and the second relay device via a predetermined network;
The predetermined TCP session based on a mark added to a TCP header of a packet transmitted from the second relay device to indicate data exchange between the first and second relay devices A detection unit that detects a state related to a packet transfer function provided by the second relay device using
When adding the mark by the option unit, the packet addressed to the second terminal received from the first terminal is transmitted using a transmission band controlled by the band control unit. 1 relay device.
第1の端末と第1のネットワークを介して接続される第1のネットワークインタフェースと、
第2の中継装置と前記所定のネットワークである第2のネットワークを介して接続される第2のネットワークインタフェースと、
パケットを前記第1のネットワークインタフェースまたは前記第2のネットワークインタフェースを介して転送する転送部と、をさらに有する第1の中継装置。 The first relay device according to claim 1,
A first network interface connected to the first terminal via the first network;
A second network interface connected to the second relay device via a second network which is the predetermined network;
A first relay device further comprising: a transfer unit configured to transfer a packet via the first network interface or the second network interface.
前記検知部により前記第2の中継装置から送信されて受信したパケットに前記マークが付与されていないと検知した場合、前記第1の中継装置は、前記受信したパケットを前記第1の端末にパススルーによる転送あるいは前記第1の端末及び第2の端末に対してリセット信号の送信を行い、
前記検知部により前記第2の中継装置から送信されて受信したパケットに前記マークが付与されていると検知した場合、前記第1の中継装置は、前記マークを削除して前記受信したパケットを前記第1の端末に転送する、第1の中継装置。 The first relay device according to claim 1 or 2 ,
If it is detected with the mark in the packet received is transmitted from the second relay device by pre-Symbol detection unit has not been granted, the first relay device, the received packet to the first terminal Perform a pass-through transfer or send a reset signal to the first terminal and the second terminal,
When the detection unit detects that the mark is attached to the packet transmitted and received from the second relay device, the first relay device deletes the mark and receives the received packet. A first relay device that transfers to a first terminal.
前記第1と第2の中継装置間でのデータのやり取りは、前記所定のセッションである高速化TCPセッションを用いたパケット転送であり、
前記第2の中継装置の状態とは、前記高速化TCPセッションを用いたパケット転送機能に関する状態である、第1の中継装置。 The first relay device according to claim 3,
The exchange of data between the first and second relay devices is a packet transfer using an accelerated TCP session that is the predetermined session,
The state of the second relay device is a state relating to a packet transfer function using the accelerated TCP session.
前記第1の端末から受信した前記第2の端末宛へのパケットは、前記第1の端末と第2の端末との、前記受信したパケットがTCPコネクション確立要求を行うためのSYNパケットまたはTCPコネクション確立要求を行うためのSYNパケットに対する確認応答パケットである、第1の中継装置。 The first relay device according to any one of claims 1 to 4, wherein
The packet addressed to the second terminal received from the first terminal is a SYN packet or TCP connection for the received packet to make a TCP connection establishment request between the first terminal and the second terminal. A first relay device, which is an acknowledgment packet for a SYN packet for making an establishment request.
前記第1の端末から受信し前記帯域制御部で制御される送信帯域により送信されるパケットのTCPヘッダに含まれる確認応答番号から所定の値を減算し、前記検知部によりTCPヘッダに前記マークが含まれていたと検知された前記第2の中継装置からのパケットのTCPヘッダに含まれるシーケンス番号に所定の値を加算するTCPヘッダ更新部をさらに有する、第1の中継装置。 A first relay device according to any one of claims 3, 4, 3, or 4, which is dependent on claim 4,
A predetermined value is subtracted from the acknowledgment number included in the TCP header of the packet received from the first terminal and transmitted in the transmission band controlled by the bandwidth control unit, and the mark is added to the TCP header by the detection unit. A first relay device further comprising a TCP header update unit that adds a predetermined value to a sequence number included in a TCP header of a packet from the second relay device detected to be included.
前記第1の中継装置と前記第1の端末との間で形成されるTCPセッション及び前記第2の中継装置と前記第2の端末との間で形成されるTCPセッションとは異なる所定のTCPセッションを前記第1の中継装置と前記第2の中継装置との間に形成し、前記第1の中継装置から前記第2の中継装置に向けて送信されたパケットの再送状況に基づいて、送信帯域を制御する帯域制御部と、
当該パケットのTCPヘッダに、前記第1の中継装置と所定のネットワークを介した第2の中継装置との間でのパケットのやり取りであることを示すためのマークを付与するオプション部と、
前記第2の中継装置から送信されるパケットのTCPヘッダに付与される、前記第1と第2の中継装置間でのデータのやり取りであることを示すためのマークと前記第2の中継装置から送信されるパケットのTCPヘッダに含まれる確認応答番号との少なくとも一方に基づいて前記第2の中継装置の障害を検知する検知部と、
前記第1の端末から受信し前記帯域制御部で制御される送信帯域により送信される前記パケットのTCPヘッダに含まれる前記確認応答番号から所定の値を減算し、前記TCPヘッダに前記マークが含まれていたと前記検知部により検知された前記第2の中継装置からの前記パケットのTCPヘッダに含まれるシーケンス番号に所定の値を加算するTCPヘッダ更新部と、を備え、
前記第1の中継装置は、
前記オプション部によって前記マークを付与する場合に、前記第1の端末から受信した前記第2の端末宛へのパケットを前記帯域制御部で制御される送信帯域によって送信し、
受信したパケットによって前記検知部が前記第2の中継装置の障害の発生を検知した場合に、前記受信したパケットがTCPコネクション確立要求を行うためのSYNパケットである場合は、パススルーにより前記受信したデータの転送を前記第1の端末に行う、第1の中継装置。 The first relay device arranged to relay a packet transmission according to TCP performed between the first terminal and the second terminal via at least the first relay device and the second relay device Because
A predetermined TCP session different from the TCP session formed between the first relay device and the first terminal and the TCP session formed between the second relay device and the second terminal. Is formed between the first relay device and the second relay device, and based on the retransmission status of the packet transmitted from the first relay device to the second relay device, a transmission band A bandwidth control unit for controlling
An option unit for adding a mark to the TCP header of the packet to indicate that the packet is exchanged between the first relay device and the second relay device via a predetermined network;
From the second relay device and a mark added to the TCP header of the packet transmitted from the second relay device to indicate that data is exchanged between the first and second relay devices A detection unit that detects a failure of the second relay device based on at least one of an acknowledgment number included in a TCP header of a packet to be transmitted;
A predetermined value is subtracted from the acknowledgment number included in the TCP header of the packet received from the first terminal and transmitted in the transmission band controlled by the bandwidth control unit, and the mark is included in the TCP header that it had a and a TCP header update unit for adding a predetermined value to the sequence number contained in the TCP header of the packet from the sensed second relay apparatus by the detection unit,
The first relay device is
When the mark is given by the option unit, a packet addressed to the second terminal received from the first terminal is transmitted by a transmission band controlled by the band control unit,
If the received packet is a SYN packet for making a TCP connection establishment request when the detection unit detects a failure of the second relay device by the received packet, the received data is passed through. The first relay device that performs the transfer of the first terminal to the first terminal.
前記第1の中継装置と前記第1の端末との間で形成されるTCPセッション及び前記第2の中継装置と前記第2の端末との間で形成されるTCPセッションとは異なる所定のTCPセッションを前記第1の中継装置と前記第2の中継装置との間に形成し、前記第1の中継装置から前記第2の中継装置に向けて送信されたパケットの再送状況に基づいて、送信帯域を制御する帯域制御部と、
当該パケットのTCPヘッダに、前記第1の中継装置と所定のネットワークを介した第2の中継装置との間でのパケットのやり取りであることを示すためのマークを付与するオプション部と、
前記第2の中継装置から送信されるパケットのTCPヘッダに付与される、前記第1と第2の中継装置間でのデータのやり取りであることを示すためのマークと前記第2の中継装置から送信されるパケットのTCPヘッダに含まれる確認応答番号との少なくとも一方に基づいて前記第2の中継装置の障害を検知する検知部と、
前記第1の端末から受信し前記帯域制御部で制御される送信帯域により送信される前記パケットのTCPヘッダに含まれる前記確認応答番号から所定の値を減算し、前記TCPヘッダに前記マークが含まれていたと前記検知部により検知された前記第2の中継装置からの前記パケットのTCPヘッダに含まれるシーケンス番号に所定の値を加算するTCPヘッダ更新部と、を備え、
前記第1の中継装置は、
前記オプション部によって前記マークを付与する場合に、前記第1の端末から受信した前記第2の端末宛へのパケットを前記帯域制御部で制御される送信帯域によって送信し、
受信したパケットにより、前記検知部が前記第2の中継装置の障害の発生を検知した場合に、前記受信したデータがTCPコネクション確立要求を行うためのSYNパケットに対する確認応答パケットを含む場合は、パススルーにより前記受信したデータの転送を前記第1の端末に行う、第1の中継装置。 The first relay device arranged to relay a packet transmission according to TCP performed between the first terminal and the second terminal via at least the first relay device and the second relay device Because
A predetermined TCP session different from the TCP session formed between the first relay device and the first terminal and the TCP session formed between the second relay device and the second terminal. Is formed between the first relay device and the second relay device, and based on the retransmission status of the packet transmitted from the first relay device to the second relay device, a transmission band A bandwidth control unit for controlling
An option unit for adding a mark to the TCP header of the packet to indicate that the packet is exchanged between the first relay device and the second relay device via a predetermined network;
From the second relay device and a mark added to the TCP header of the packet transmitted from the second relay device to indicate that data is exchanged between the first and second relay devices A detection unit that detects a failure of the second relay device based on at least one of an acknowledgment number included in a TCP header of a packet to be transmitted;
A predetermined value is subtracted from the acknowledgment number included in the TCP header of the packet received from the first terminal and transmitted in the transmission band controlled by the bandwidth control unit, and the mark is included in the TCP header that it had a and a TCP header update unit for adding a predetermined value to the sequence number contained in the TCP header of the packet from the sensed second relay apparatus by the detection unit,
The first relay device is
When the mark is given by the option unit, a packet addressed to the second terminal received from the first terminal is transmitted by a transmission band controlled by the band control unit,
When the detection unit detects the occurrence of a failure of the second relay device based on the received packet, if the received data includes an acknowledgment packet for the SYN packet for making a TCP connection establishment request, A first relay device that transfers the received data to the first terminal.
第1の端末と第1のネットワークを介して接続される第1のネットワークインタフェースと、 A first network interface connected to the first terminal via the first network;
第2の中継装置と前記所定のネットワークである第2のネットワークを介して接続される第2のネットワークインタフェースと、 A second network interface connected to the second relay device via a second network which is the predetermined network;
パケットを前記第1のネットワークインタフェースまたは前記第2のネットワークインタフェースを介して転送する転送部と、をさらに有する第1の中継装置。 A first relay device further comprising: a transfer unit configured to transfer a packet via the first network interface or the second network interface.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013183607A JP5771656B2 (en) | 2013-09-05 | 2013-09-05 | Relay device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013183607A JP5771656B2 (en) | 2013-09-05 | 2013-09-05 | Relay device |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012537249A Division JP5363658B1 (en) | 2012-02-28 | 2012-02-28 | RELAY DEVICE, RELAY DEVICE CONTROL METHOD, AND NETWORK SYSTEM |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014003700A JP2014003700A (en) | 2014-01-09 |
JP5771656B2 true JP5771656B2 (en) | 2015-09-02 |
Family
ID=50036363
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013183607A Active JP5771656B2 (en) | 2013-09-05 | 2013-09-05 | Relay device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5771656B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7120678B1 (en) * | 2021-05-06 | 2022-08-17 | Necプラットフォームズ株式会社 | Communication processing device, communication processing system, failure notification method and failure notification program |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09168032A (en) * | 1995-12-15 | 1997-06-24 | Furukawa Electric Co Ltd:The | Method for connecting between communication networks |
JP2001292167A (en) * | 2000-04-10 | 2001-10-19 | Fujitsu Ltd | Network-repeating system and repeater |
JP2010200300A (en) * | 2009-01-28 | 2010-09-09 | Meidensha Corp | Tcp communication scheme |
MX2012002558A (en) * | 2009-09-16 | 2012-08-31 | Hitachi Ltd | Communication apparatus and communication system for enhancing speed of communications between terminals. |
JP5363658B1 (en) * | 2012-02-28 | 2013-12-11 | アラクサラネットワークス株式会社 | RELAY DEVICE, RELAY DEVICE CONTROL METHOD, AND NETWORK SYSTEM |
-
2013
- 2013-09-05 JP JP2013183607A patent/JP5771656B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2014003700A (en) | 2014-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5363658B1 (en) | RELAY DEVICE, RELAY DEVICE CONTROL METHOD, AND NETWORK SYSTEM | |
JP6988511B2 (en) | Failure detection method, node device, communication system | |
US10164851B2 (en) | Transmission and reception of a diagnostic request in an IP network | |
WO2015180559A1 (en) | Fault detection method and apparatus for service chain | |
JP4153502B2 (en) | Communication device and logical link error detection method | |
WO2018113425A1 (en) | Method, apparatus and system for detecting time delay | |
CN104025550B (en) | The method and device of information is obtained from data item | |
CN110493069B (en) | Fault detection method and device, SDN controller and forwarding equipment | |
US10326681B2 (en) | System and method to analyze route information in a network | |
WO2013044827A1 (en) | Test method for trace route and system, apparatus and device thereof | |
CN101425942A (en) | Method, apparatus and system for bidirectional forwarding detection implementation | |
CN101808021A (en) | Fault detection method, device and system, message statistical method and node equipment | |
US20200044964A1 (en) | Defect detection in ip/mpls network tunnels | |
CN102739462B (en) | Test message sending method and device | |
CN113055935A (en) | Congestion control method, equipment and system | |
JP5771656B2 (en) | Relay device | |
CN112672363B (en) | Method and device for confirming telemetry capability of stream information | |
KR101533056B1 (en) | udp networking method for enhancement of stability | |
KR20180093175A (en) | System and method for end-to-end connection checking of SDN network | |
CN106789639B (en) | Message processing method and device | |
US20240089198A1 (en) | Packet processing method and system, and network device | |
JP5535757B2 (en) | Client device and program | |
KR20100026721A (en) | Apparatus and method for providing network interface information in stream control transmission protocol | |
JP2017147713A (en) | Node device, and communication system | |
CN101594264A (en) | Method for detecting state of virtual link |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140512 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140520 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140718 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140909 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141106 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20150224 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150522 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20150601 |
|
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: 20150616 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150629 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5771656 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313117 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |