WO2013128483A1 - 中継装置、中継装置の制御方法、及び、ネットワークシステム - Google Patents
中継装置、中継装置の制御方法、及び、ネットワークシステム Download PDFInfo
- Publication number
- WO2013128483A1 WO2013128483A1 PCT/JP2012/001344 JP2012001344W WO2013128483A1 WO 2013128483 A1 WO2013128483 A1 WO 2013128483A1 JP 2012001344 W JP2012001344 W JP 2012001344W WO 2013128483 A1 WO2013128483 A1 WO 2013128483A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- relay device
- data
- failure
- received
- relay
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/55—Prevention, detection or correction of errors
- H04L49/555—Error detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B7/00—Radio transmission systems, i.e. using radiation field
- H04B7/14—Relay systems
- H04B7/15—Active relay systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0078—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
- H04L1/0091—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location arrangements specific to receivers, e.g. format detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0686—Additional information in the notification, e.g. enhancement of specific meta-data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/19—Flow control; Congestion control at layers above the network layer
- H04L47/193—Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/34—Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
Definitions
- 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.
- WAN Wide Area Network
- IP-VPN IP-VPN
- TCP is generally used for communication between terminals.
- the bandwidth of communication is controlled according to the size of RTT (Round Trip Time).
- RTT Red Trip Time
- communication via WAN it may be difficult to obtain high throughput.
- Patent Document 1 As a technique for realizing high throughput, there is a technique described in Patent Document 1.
- 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.
- 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.
- the present invention has been made to solve at least a part of the above problems, and can be realized as the following forms or application examples.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- the present invention can be realized in various modes.
- 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
- 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.
- FIG. 1 is a diagram for explaining a network system 5w of a reference example.
- the network system 5w includes a first communication device 20w as a terminal, a second communication device 21w as a terminal, a first relay device 10w, and a second relay device 11w.
- the first and second communication devices 20w and 21w realize data communication with the first and second relay devices 10w and 11w via the Internet.
- data communication between the first communication device 20w and the first relay device 10w and data communication between the second communication device 21w and the second relay device are managed by a TCP session.
- data communication between the first relay device 10w and the second relay device 11w is performed by a unique TCP session between the relay devices 10w and 11w (“high-speed TCP session”). It is also managed by the relay devices 10w and 11w.
- a sequence number (“original sequence number”) assigned to data transmitted from the first communication apparatus 20w or the second communication apparatus 21w
- a sequence number (also referred to as “inter-relay device sequence number”) obtained by adding a certain value is used.
- the second relay device 11w adds a certain value to the sequence number given to the data transmitted from the second communication device 21w. Then, the added sequence number is assigned to the data, and the data is transmitted to the first relay device 10w. Further, when data is transferred from the relay devices 10w and 11w to the communication devices 20w and 21w, the value added from the inter-relay device sequence number is subtracted to return to the original sequence number.
- a TCP option for identifying that the communication is between the relay apparatuses 10w and 11w is given to the data.
- the TCP option is deleted from the transmitted data when the data is transmitted from the relay devices 10w and 11w to the communication devices 20w and 21w.
- occurrence of failure refers to a case where the function of transferring data (packets) is normal, but an abnormality has occurred in the function of transferring data using an accelerated TCP session.
- occurrence of failure means that the second relay apparatus 11w cannot add a certain value to the original sequence number, or the second relay apparatus 11w cannot add or delete the TCP option data. State.
- the first relay device 10w When a failure occurs, the first relay device 10w adds a certain value to the sequence number of the data transmitted from the first communication device 20w, and the data with the inter-relay device sequence number assigned to the second sequence number. Transmit to the relay device 11w.
- the second relay device 11w transmits the data to the second communication device 21w without processing the inter-relay device sequence number assigned to the received data. Since the sequence number of the received data is different from the sequence number (original sequence number) in the TCP session, the second communication device 21w recognizes the received data as illegal data. Then, the second communication device 21w transmits a sequence number (original sequence number) used in the TCP session and ACK.
- the first relay device 10w cannot recognize the sequence number transmitted from the second communication device 21w and cannot transfer data to the first communication device 20w. That is, there arises a problem that communication between the first and second communication devices 20w and 21w cannot be continued and the session cannot be disconnected.
- FIG. 2 is a diagram for explaining a network system 5 as an embodiment of the present invention.
- the network system 5 includes first and second communication devices 454 and 455 as terminals, and first and second communication devices that relay data communication between the first and second communication devices 454 and 455. 2 relay devices 441 and 442.
- the first and second relay devices 441 and 442 are arranged in series on the transmission path of the first and second communication devices 454 and 455.
- the first and second communication devices 454 and 455 perform data (packet) communication using TCP.
- the Internet (not shown) exists between the first and second relay apparatuses 441 and 442.
- the first relay device 441 includes input / output interfaces 41 and 48 that receive and transmit data with an external device (for example, the first communication device 454), and transfer control for controlling transfer of the received data.
- the second relay device 442 has the same configuration, and thus the illustration of the internal configuration is omitted and the description thereof is omitted.
- the transfer control unit 44 includes a processing unit 48 for processing data to be transmitted and received, and a transfer unit 49 for transferring data.
- the transfer unit 49 transfers data based on an IP address or the like given to the received data.
- the processing unit 48 includes an option unit 48a, an addition unit 48b, and a subtraction unit 48c.
- the option unit 48a transfers data toward the second relay device 442 facing the option unit 48a
- the option unit 48a adds a mark to the transferred data to indicate that the data is exchanged between the first and second relay devices. Give to data.
- this mark uses the TCP option of the TCP header.
- the adder 48b transmits data to the opposite communication device (here, the first communication device 454)
- the adder 48b converts the data transmitted from the transmission source communication device (here, the second communication device 455) into data.
- a predetermined value is added to the assigned sequence number (original sequence number).
- An arbitrary value can be selected as the predetermined value, and in this embodiment, 1000000 is added to the original sequence number.
- the subtraction unit 48c receives data from the opposite communication device (here, the first communication device 454), the subtraction unit 48c sets a predetermined value (this embodiment) to the confirmation response number assigned to the data transmitted from the communication device. In the example, 1000000) is subtracted.
- the first and second relay devices 441 and 442 include a session management table (not shown) for managing unique communication between the relay devices 441 and 442.
- the processing unit 48 may have a function for performing data communication between the first and second relay apparatuses 441 and 442 at high speed.
- the content of the disclosure may be incorporated in International Publication Number WO2011 / 033894 (International Application Date: August 19, 2010).
- the processing unit 48 of the first and second relay apparatuses 441 and 442 may include a band control unit that controls the transmission band in order to transmit data based on the data retransmission status.
- the transfer unit 49 transfers data according to the controlled transmission band.
- the detection unit 46 detects the occurrence of a failure in the opposing second relay device 442 based on at least one of the TCP option and the confirmation response number. Further, for example, the occurrence of a failure detected by the detection unit 46 is transmitted as failure occurrence information to a server (not shown). Then, the server performs processing such as analysis of failure occurrence information and notification to the outside.
- FIG. 3 is a diagram showing a TCP header used in the embodiment.
- the TCP header shown in FIG. 3 has a normal header configuration defined by TCP.
- the field 101 stores a source port number and a destination port number.
- a field 102 stores a sequence number.
- the field 103 stores an acknowledgment number (ACK number).
- the field 104 stores information such as a header length, various flags such as an ACK flag, and a window size.
- the field 105 stores a checksum and an urgent pointer.
- the field 106 stores an option type, an option length, and an option value. Specifically, the field 106 stores information on MSS (Maximum Segment Size).
- the field 107 stores an option type, an option length, and an option value (version number). Specifically, information on the TCP option assigned to the data at the time of data communication between the first and second relay apparatuses 441 and 442 is stored.
- the field 108 is a data field.
- FIG. 4 is a diagram for explaining a change in the TCP head during data communication in the network system 5.
- FIG. 4 shows an example of a part of communication performed at the time of connection establishment (at the time of 3-way handshake).
- the first communication device 454 starts communication with normal TCP executed between terminals (step S30). For example, a SYN packet is transmitted with a sequence number (Seq #) 1000.
- the option unit 48a of the first relay device 441 adds a TCP option to the received data, and the transfer unit 49 transmits the data to the second relay device 442 (step S32).
- the option unit 48a of the second relay device 442 removes the TCP option from the received data, and the addition unit 48b of the second relay device adds 1000000 to the sequence number of the received data (step S33). Then, the transfer unit 49 transmits the processed data to the second communication device 455 (step S33).
- the second communication device 455 performs normal TCP processing, and adds the sequence expected next to the sequence number in the received data to the ACK number and transmits it (step S34).
- the ACK number is a value obtained by adding the predetermined values 1000000 and 1 to the original sequence number transmitted in step S30.
- the subtraction unit 48c of the second relay apparatus 442 subtracts a predetermined value of 1000000 from the ACK number of the data transmitted from the transmission source second communication apparatus 455 so that the original sequence can be matched.
- Process step S35.
- the option unit 48a of the second relay device 442 gives a TCP option to the data (step S35).
- the transfer unit 49 of the second relay device 442 transmits the processed data to the first relay device 441 (step S35).
- the option unit 48a of the first relay device 441 removes the TCP option of the data received from the second relay device 442 and matches it with the original stream (step S36). Also, the first relay device 441 adds 1000000, which is a predetermined value, to the sequence number of the received data (step S36). Then, the transfer unit 49 of the first relay device 441 transmits the processed data to the first communication device 454 (step S36). Although illustration is omitted, after step S36, the first relay device 441 transmits an ACK packet to the first relay device 441 using the ACK number of the received SYN / ACK packet as a sequence number. And the process part 48 of the 1st relay apparatus 441 and the 2nd relay apparatus 441 performs a predetermined process with respect to each ACK packet. Eventually, the second communication device 455 receives the ACK packet and a connection is established.
- 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 first communication device 454 transmits a SYN packet with an arbitrary sequence number A (an arbitrary number is input to A) to the second communication device 455 (step S40).
- the second communication device 455 adds 1 to the received sequence number A by using an arbitrary sequence number B (an arbitrary number different from A is input to B).
- the number is set to the ACK number and the SYN / ACK packet is transmitted to the first communication device 454 (step S41).
- the first communication device 454 uses a value obtained by adding 1 to the sequence number A used in the SYN packet for the received SYN / ACK packet (that is, the ACK number transmitted in step S41) as a sequence number ( Step S42). Further, the first communication device 454 sets a value (B + 1) obtained by adding 1 to the sequence number B transmitted in step S41 as an ACK number (step S42). And the data which provided the sequence number and the ACK number are transmitted to the 2nd communication apparatus 455 (step S42). As a result, a connection is established between the first and second communication devices 454 and 455.
- FIG. 6 is a diagram for explaining communication after the connection of the network system 5 is established.
- the first communication device 454 attaches a predetermined sequence number (sequence number 2001 in this embodiment) and transmits data to the first relay device 441 (step S50).
- the first relay device 441 adds a TCP option to the received data and transmits the data to the second relay device 442 (step S51). By giving the TCP option to the data, it is possible to distinguish from communication using normal TCP.
- the second relay device 442 When receiving the data transmitted from the first relay device 442, the second relay device 442 removes the TCP option from the received data and adds a predetermined value (1000000 in this embodiment) to the sequence number (step 1). S52). Then, the second relay device 442 transmits the processed data to the second communication device 455 (step S52).
- the second communication device 455 transmits data to which the ACK number in a state where a predetermined value (1000000 in this embodiment) is added to the number expected to be received next is added to the second relay device 442 (step S53). ).
- the first relay device 441 receives the data transmitted from the second relay device 442
- the first relay device 441 adds a TCP option to the received data and subtracts a predetermined value (1000000 in this embodiment) from the acknowledgment number. (Step S54). Thereby, it becomes an ACK number with respect to the original sequence number transmitted at step S50.
- the second relay device 442 transmits the processed data to the first relay device 441 (step S54).
- the first relay device 441 When receiving the data transmitted from the second relay device 442, the first relay device 441 removes the TCP option from the received data and adds a predetermined value (1000000 in this embodiment) to the sequence number (step 1). S55). Then, the first relay device 441 transmits the processed data to the first communication device 454 (step S55).
- the network system 5 performs the same processing for data communication (steps S56 to S58) after step S55. That is, the operation of step S56 is the same as the operation of step S50, the operation of step S57 is the same as the operation of step S51, and the operation of step S58 is the same as the operation of step S52.
- 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 first relay device 441 or the second relay device 442 during the three-way handshake. It is a figure for demonstrating the detection method of.
- Step S60 A SYN packet is transmitted from the first communication device 454 to the first relay device 441.
- Step S61 The data is transmitted from the first relay device 441 to the second relay device 442 with the TCP option added to the data.
- 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 second relay device 442 to the second communication device 455.
- Step S63 SYN / ACK is transmitted from the second communication device 455 to the second relay device 442.
- ACK For the ACK number, 1 is added to the received sequence number.
- 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 first communication device 454 to the first relay device 441.
- Step S67 The TCP option is added to the data, and the data is transmitted from the first relay device 441 to the second relay device 442.
- 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 second relay device 442 to the second communication device 455.
- the outline of the fault detection method when a fault occurs at each of the points 60p, 61p, 64p, 65p, 66p, and 67p shown in FIG. 7 is as follows.
- the second relay device 442 can detect a failure.
- the first relay device 441 can detect a failure.
- the first relay device 441 can detect a failure.
- the second relay device 442 can detect a failure.
- a failure occurs at point 65p (fourth failure detection mode) Since the TCP option is not added to the ACK packet, the second relay device 442 can detect a failure.
- a fault occurs at point 66p (fifth fault detection mode) Since the TCP option is not added to the ACK packet and the ACK number is not subtracted, the second relay device 442 can detect a failure.
- a fault occurs at point 67p (sixth fault detection mode) Since the TCP option is not added to the retransmitted SYN / ACK packet and the ACK number is not subtracted, the first relay device 441 can detect a failure.
- 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 first relay device 441 at the time point 60p when the first communication device 454 transmits a SYN packet.
- Step S70 When the first communication device 454 transmits a SYN packet, the first relay device 441 cannot process the SYN packet by the processing unit 48, and passes through the SYN packet (step S70).
- the detection unit 46 of the second relay device 442 can detect the occurrence of a failure in the first relay device 441 by detecting that the TCP option is not added to the received SYN packet (step S70a).
- Steps subsequent to step S71 are unique sessions (accelerated speed) that can be used between the first and second relay apparatuses 441 and 442 between the first and second relay apparatuses 441 and 442 of the network system 5. Since no session is formed, data is transferred by a normal TCP session.
- the second communication device 455 transmits a SYN / ACK packet to the second relay device 442, and the second relay device 442 and the first relay device 441 transmit the SYN / ACK packet. It transfers toward the 1st relay apparatus 441 (step S73, S73a).
- the first relay device 441 that has received the SYN / ACK packet adds 1 to the sequence number 1000 used in the SYN packet to the received SYN / ACK packet (that is, the ACK number transmitted in step S72). ) Is transmitted as a sequence number to the second communication device 455 (step S74).
- the first relay device 441 and the second relay device 442 pass through the ACK packet transmitted from the first communication device 454 and forward it to the second communication device 455 (steps S75 and S76). As a result, a connection is established between the first communication device 454 and the second communication device 455.
- 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 second relay device 442 at the time 61p when the SYN packet is transmitted from the first communication device 454.
- a SYN packet is transmitted from the first communication device 454 to the first relay device 441 (step S80).
- the first relay device 441 adds a TCP option to the SYN packet and transmits it to the second relay device 442 (step S81).
- the second relay device 442 passes through the SYN packet and transmits it to the second communication device 455 (step S81a).
- the second communication device 455 adds the TCP option to the received SYN packet.
- the second communication device 455 does not support the TCP option and cannot interpret it, the TCP option is ignored (step S81b).
- the second communication device 455 transmits a SYN / ACK packet to the second communication device 442 as a response to the received SYN packet (step S82).
- the second relay device 442 transmits the SYN / ACK packet transmitted from the second communication device 455 to the first relay device 441 without being processed by the processing unit 48 (step S82a).
- the first relay device 441 can detect the occurrence of a failure in the second relay device 442 by detecting that the TCP option is not added to the SYN / ACK packet received from the second relay device 441 (step S1). S82b).
- the first relay device 441 deletes the session management table after detecting the occurrence of a failure, and passes through the subsequent communication.
- the first relay device 441 transmits the SYN / ACK packet to the first communication device 454 without using the function of the processing unit 48 in step S83 (pass-through).
- the first communication device 454 uses the value obtained by adding 1 to the sequence number 1000 used in the SYN packet to the received SYN / ACK packet (that is, the ACK number transmitted in step S83) as an ACK packet.
- Is transmitted to the second communication device 455 step S84.
- the ACK packet is sequentially transferred to the first relay device 441, the second relay device 442, and the second communication device 455 by pass-through through a normal TCP session (steps S85 and S86). As a result, a connection is established between the first communication device 454 and the second communication device 455.
- 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 second relay device 442 at the point 64p where the second relay device 442 transmits the SYN packet to the second communication device 455.
- steps S90 to S92 are the same processing steps as steps S60 to S62 shown in FIG.
- the second communication device 455 transmits a SYN / ACK packet to the second relay device 442 as a response to the SYN packet (step S93).
- the second relay device 442 passes through the received SYN / ACK packet and transmits the SYN / ACK packet to the first relay device 441 (step S93a).
- the first relay device 441 detects that the TCP option is not added to the received SYN / ACK packet and that the ACK number is not subtracted, so that the failure of the opposing second relay device 442 occurs. Can be detected (step S94).
- the fact that the ACK number is not subtracted means that the value obtained by subtracting the predetermined value (1000000) from the received ACK number by the detection unit 46 of the second relay apparatus 442 is expected to be received. Judged by the number.
- the first relay device 441 is reset to the second communication device 455 via the first communication device 454 and the second relay device 442.
- a (RST) packet may be transmitted, and subsequent communication may be forcibly terminated.
- the first relay device 441 passes through the received SYN / ACK packet and transmits the SYN / ACK packet to the first communication device 454. The three-way handshake process may be continued.
- 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 first relay device 441 at a point 65p where the first relay device 441 transmits the SYN packet to the second relay device 442.
- Steps S100 to S103 are the same processing steps as Steps S60 to S63 shown in FIG.
- the second relay device 442 adds a TCP option and subtracts a predetermined value from the acknowledgment number to send the SYN / ACK packet to the first relay device. It transmits to 441 (step S104). Since the first relay device 441 has a fault in the processing unit 48, the first communication device 454 does not process the SYN / ACK packet received from the second relay device 442 by the processing unit 48. (Step S104a).
- the SYN / ACK packet to which the TCP option is attached. Can be received (step S104b).
- the first communication device 454 transmits an ACK packet to the first relay device 441 using the ACK number of the received SYN / ACK packet as a sequence number (step S105).
- the first relay device 441 passes through the ACK packet transmitted from the first relay device 441 and transmits it to the second relay device 442 (step S105a).
- the second relay device 442 can detect the occurrence of a failure in the opposing first relay device 441 by detecting that the TCP option is not added to the ACK packet transmitted from the first relay device 441 ( Step S106). After detecting the occurrence of a failure in the opposing first relay device 441, the second relay device 442 communicates with the first communication device 454 via the second communication device 445 and the first relay device 441. An RST packet may be transmitted to forcibly end subsequent communication. Further, after detecting the failure of the opposing first relay device 441, the second relay device 442 passes through the received ACK packet and transmits the ACK packet to the second communication device 455. The 3-way handshake process may be continued.
- 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 first relay device 441 at the point 66p where the first relay device 441 transmits the SYN / ACK packet to the first communication device 454.
- steps S110 to S115 are the same processing steps as steps S60 to S65 shown in FIG.
- the first communication device 454 transmits an ACK packet to the first relay device 441 using the ACK number of the received SYN / ACK packet as a sequence number (step S116). Since the failure has occurred in the processing unit 48, the first relay device 441 transmits the received ACK packet to the second relay device 442 without being processed by the processing unit 48 (step S117).
- the second relay device 442 detects the failure of the opposing first relay device 441 by detecting that the TCP option is not added to the received ACK packet and that the ACK number is not subtracted. Yes (step S118).
- the second relay device 442 After detecting the failure of the opposing first relay device 441, the second relay device 442 is reset to the second communication device 455 via the second communication device 455 and the first relay device 442.
- a (RST) packet may be transmitted, and subsequent communication may be forcibly terminated.
- the second relay device 442 After detecting the failure of the opposing first relay device 441, the second relay device 442 passes through the received SYN / ACK packet and transmits the SYN / ACK packet to the first communication device 454. The three-way handshake process may be continued.
- 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 second relay device 442 immediately after the second relay device 442 transmits a SYN / ACK packet to the first relay device 441.
- steps S120 to S126 are the same processing steps as steps S60 to S66 shown in FIG.
- the first relay device 441 adds a TCP option to the ACK packet transmitted from the first communication device 454, and subtracts a predetermined value of 1000000 from the ACK number to send the ACK packet to the second relay device 442.
- Step S127 Since the processing unit 48 has a failure, the second relay device 442 transmits the ACK packet received from the first relay device 442 to the second communication device 455 without being processed by the processing unit 48 ( Step S128).
- the second communication device 455 receives the ACK packet, but the sequence number of the received ACK packet is different from the expected sequence number (sequence number: 1000011).
- the second relay device 442 passes through the retransmitted SYN / ACK packet and transmits it to the first relay device 441 (step S129a).
- the first relay device 441 detects that the TCP option is not added to the received SYN / ACK packet and that the ACK number is not subtracted, so that the failure of the opposing second relay device 442 occurs. Can be detected (step S130). After detecting the failure of the opposing second relay device, the first relay device 441 resets to the second communication device 455 via the first communication device 454 and the second relay device 442 ( RST) packet may be transmitted, and subsequent communication may be forcibly terminated.
- the first relay device 441 After detecting the failure of the opposing second relay device 442, the first relay device 441 passes through the received SYN / ACK packet and transmits the SYN / ACK packet to the first communication device 454.
- the three-way handshake process may be continued.
- FIG. 14 is a diagram for explaining a first failure detection mode when a failure occurs during data communication by TCP.
- a failure occurs in the first relay device 441 at a point 140p where the transmission of the data with the sequence number 1001 to the second communication device 455 is completed (point after step S140 to step S142) 140p. It is a failure detection processing flow.
- the ACK packet for the data of sequence number 10001 is not shown.
- the first communication device 454 transmits the data with the sequence number 10001 to the first relay device 441, and then transmits the data with the sequence number 11461 to the first relay device 441 (step S150). Since the first relay device 441 has failed, the received data is transmitted to the second relay device 442 without being processed by the processing unit 48 (step S151). The second relay device 442 that has received the data with the sequence number 11461 detects that the TCP option is not added to the received data and that the ACK number is not subtracted, thereby opposing the first relay device. 441 faults can be detected (step S155).
- the second relay device 442 After detecting the failure of the opposing first relay device 441, the second relay device 442 is reset to the first communication device 454 via the second communication device 455 and the first relay device 441 ( RST) packet may be transmitted, and subsequent communication may be forcibly terminated. Further, after detecting the occurrence of a failure in the opposing first relay device 441, the second relay device 442 may transmit the received data to the second communication device 455 by pass-through. When the second relay device 442 transmits the received data to the second communication device 455 by pass-through, the second communication device 455 expects the ACK number of the received data to be added to the main body. If it is different from the value obtained by adding the predetermined value 1000000 to the ACK number, it is determined as a sequence error. Then, the second communication device 455 transmits the expected ACK number (here, ACK number 20001) to the first communication device 454 via the second relay device 442 and the first relay device 441.
- the expected ACK number here, ACK number 20001
- FIG. 15 is a process for explaining a second failure detection mode when a failure occurs during data communication by TCP.
- a failure detection flow when a failure occurs in the second relay device 442 after the transmission of the data with the sequence number 10001 to the second communication device 455 is completed (after steps S160 to S162). It is.
- the first communication device 454 transmits the data with the sequence number 10001 to the first relay device 441, and then transmits the data with the sequence number 11461 to the first relay device 441 (step S170).
- the first relay device 441 adds a TCP option to the data of the sequence number 11461, and subtracts a predetermined value of 1000000 from the ACK number and transmits the data to the second relay device 442 (step S171).
- the second relay device 442 passes through the received data (step S172).
- the second communication device 455 that has received the data from the second relay device 442 has received data with a sequence number different from the expected sequence number (sequence number 1011461).
- the packet is returned (step S180).
- the second relay device 442 passes through the ACK packet for the retransmission request because a failure has occurred (step S181).
- the first relay device 441 detects the failure of the opposing second relay device 442 by detecting that the TCP option is not added to the ACK packet of the retransmission request and that the ACK number is not subtracted. Yes (step S185).
- the first relay device 441 is reset to the second communication device 455 via the first communication device 454 and the second relay device 442 ( RST) packet may be transmitted, and subsequent communication may be forcibly terminated. Further, after detecting the failure of the opposing second relay apparatus 442, the first relay apparatus 441 may transmit the received data to the first communication apparatus 454 by pass-through.
- the first relay apparatus 441 detects the occurrence of a failure based on the ACK packet for the data of sequence number 11461 (step S185), but the transmission of the ACK packet for the data of sequence number 10001 is performed more than in step S180. If it is processed first, the occurrence of a failure can be detected based on the ACK packet.
- the first and second relay apparatuses 441 and 442 are based on at least one of the TCP option and the ACK number, and one of the relay apparatuses 441 and 442 generates a failure of the other relay apparatus 441 and 442. Can be easily detected. Thereby, for example, when a failure occurs in one of the first and second relay apparatuses 441 and 442, data transmission by pass-through, transmission of an RST packet, etc. without waiting for interruption of data communication due to timeout or the like The processing for advancing data communication can be executed promptly.
- the occurrence of a failure in the relay apparatuses 441 and 442 is detected based on the TCP option and the ACK number (for example, FIGS. 10, 12, and 13).
- the ACK number is also added to the determination element for detecting the occurrence of the failure, so that the opposite relay device 441, based on the packet to which the TCP option erroneously intruded from another network (connection) is added.
- the possibility that the occurrence of the failure 442 cannot be detected by mistake can be reduced. That is, it is possible to construct the network system 5 that can detect the failure of the relay apparatuses 441 and 442 with higher accuracy.
- the detection unit 46 when the detection unit 46 detects the failure of the opposing relay devices 441 and 442 based on the received data, the data received by the relay devices 441 and 442 that have detected the failure includes a SYN packet. In this case, the subsequent data is processed by pass-through (FIG. 8). This makes it possible to establish a connection without interrupting the 3-way handshake process.
- the detection unit 46 when the detection unit 46 detects the failure of the opposing relay devices 441 and 442 based on the received data, the data received by the relay devices 441 and 442 that detected the failure is a TCP connection establishment request.
- the ACK packet for the SYN packet for performing the process is included, the subsequent data is processed by pass-through (FIG. 9). This makes it possible to establish a connection without interrupting the 3-way handshake process.
- the first relay device 441 and the second relay device 442 of the above embodiment correspond to the “first relay device” described in the means for solving the problem.
- the second relay device 442 solves the problem. This corresponds to the “second relay device” described in the means for doing so.
- the first relay device 441 solves the problem. This corresponds to the “second relay device” described in the means.
- a mode in which the failure occurrence of the opposing relay devices 441 and 442 is detected by detecting that the TCP option is not added to the data and that the ACK number is not subtracted is detected.
- B-2-4. Third failure detection mode but is not limited to this. That is, by detecting at least one of the fact that the TCP option is not added to the data and that the ACK number is not subtracted, one of the relay devices 441 and 442 makes the other relay device 441 opposite to the other.
- the occurrence of a failure 442 may be detected. For example, in FIG.
- the first relay device 441 by detecting that the TCP option is not added to the data received by the first relay device 441, the first relay device 441 detects the failure of the opposing second relay device 442. It may be detected. Further, for example, in FIG. 10, the first relay device 441 detects that the ACK number of the data received by the first relay device 441 is not subtracted by a predetermined value, so that the first relay device 441 A failure occurrence may be detected. That is, a relay device having the following modification may be used.
- 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 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
- the 1st relay apparatus containing the said mark as an element for detecting generation
- the first relay device can detect the occurrence of a failure in the opposing second relay device based on the mark.
- 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.
- 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
- 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
- the 1st relay apparatus which contains the said confirmation response number as an element for detecting generation
- the first relay device can detect a failure of the opposing second relay device based on the confirmation response number.
- 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.
- the first and second communication devices 454 and 455 perform data communication by TCP, but the protocol used for data communication is not limited to TCP. That is, the present invention can be applied when the first and second communication devices 454 and 455 perform data communication by stream type communication using a sequence number. For example, the present invention can be applied to data communication using RTCP (Real-time Transport Control Protocol).
- RTCP Real-time Transport Control Protocol
- the first and second relay devices 441 and 442 detect the failure of the opposing relay devices 441 and 442, and the data communication is interrupted by transmitting the RST packet.
- data communication may be interrupted. That is, when a control device newly connected to the network system 5 is newly provided and a failure is detected by the relay devices 441 and 442, the relay device that has detected the failure notifies the control device of the failure detection, and information relating to failure detection The control device that has received the data may interrupt the data communication.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
Description
受信したデータの転送を行うための転送制御部と、
対向する前記第2の中継装置に障害が発生したことを検知する検知部と、を備え、
前記転送制御部は、
前記受信したデータの転送を行う転送部と、
前記第2の中継装置の障害の発生を検知するために前記受信したデータを加工する加工部であって、(i)前記第2の中継装置に向けてデータを転送する場合に、転送するデータに前記第1と第2の中継装置間でのデータのやり取りであることを示すためのマークをデータに付与するオプション部と、(ii)データを対向する前記端末に送信する場合に、送信元の前記端末から送信されるデータに付与されているシーケンス番号に所定値を加算する加算部と、(iii)データを対向する前記端末から受信した場合に、前記端末から送信されたデータに確認応答番号が付与されているときに、前記確認応答番号に対し前記所定値を減算する減算部と、を有する加工部と、を有し、
前記検知部は、前記マークと前記確認応答番号の少なくともいずれか一方に基づいて対向する前記第2の中継装置の障害の発生を検知する、第1の中継装置。
前記検知部は、前記第2の中継装置から送信されて受信したデータに前記マークが付与されていない場合に、前記第2の中継装置の障害の発生を検知する、第1の中継装置。
適用例2に記載の第1の中継装置によれば、受信したデータにマークが付与されているか否かを判別することで第2の中継装置の障害の発生を容易に検知できる。
前記検知部は、前記第2の中継装置から送信されて受信したデータのうちの前記確認応答番号が、本来受信すべき番号から前記所定値を加算した番号である場合に、前記第2の中継装置の障害の発生を検知する、第1の中継装置。
適用例3に記載の第1の中継装置によれば、受信したデータのうちの前記確認応答番号が、本来受信すべき番号から前記所定値を加算した番号であるか否かを判別することで第2の中継装置の障害の発生を容易に検知できる。
前記検知部は、前記第2の中継装置から送信されて受信したデータに前記マークが付与されていない場合であり、かつ、前記受信したデータのうちの前記確認応答番号が、本来受信すべき番号から前記所定値を加算した番号である場合に、前記第2の中継装置の障害の発生を検知する、第1の中継装置。
適用例4に記載の第1の中継装置によれば、障害発生の検知をマークと確認応答番号の2つの要素により行なうことで、障害発生検知の精度を向上できる。
前記2つの端末はTCPを用いて通信を行い、
前記転送制御部は、
受信したデータによって前記検知部が前記第2の中継装置の障害の発生を検知した場合に、前記受信したデータがTCPコネクション確立要求を行うためのSYNパケットを含む場合は、前記加工部の機能を用いることなく前記受信したデータの転送を行う、第1の中継装置。
適用例5に記載の第1の中継装置によれば、障害発生を検知した場合でも、データ通信を継続できる。
前記2つの端末はTCPを用いて通信を行い、
前記転送制御部は、
受信したデータによって前記検知部が前記第2の中継装置の障害の発生を検知した場合に、前記受信したデータがTCPコネクション確立要求を行うためのSYNパケットに対する確認応答パケットを含む場合は、前記加工部の機能を用いることなく前記受信したデータの転送を行う、第1の中継装置。
適用例6に記載の第1の中継装置によれば、障害発生を検知した場合でも、データ通信を継続できる。
A.参考例:
B.実施例:
C.変形例:
実施例を説明する前に、理解の容易のために本発明を適用していない参考例について説明する。図1は、参考例のネットワークシステム5wを説明するための図である。ネットワークシステム5wは、端末としての第1の通信装置20wと、端末としての第2の通信装置21wと、第1の中継装置10wと、第2の中継装置11wと、を備える。第1と第2の通信装置20w,21wは、第1と第2の中継装置10w,11wとインターネットを介してデータ通信を実現させている。
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-2-1.3ウェイ・ハンドシェイクにおける障害発生の検知:
図7は、3ウェイ・ハンドシェイク時の障害発生の検知について説明するための図である。すなわち、図7は、3ウェイ・ハンドシェイク時において、第1の中継装置441と第2の中継装置442のいずれかに障害(詳細には、加工部48の障害)が発生した場合の障害発生の検知方法について説明するための図である。
・ステップ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にデータを送信する。
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で障害検知が可能である。
図8は、3ウェイ・ハンドシェイク時の障害検知の第1の態様を説明するための図である。図8は、第1の通信装置454がSYNパケットを送信する時点60pで、第1の中継装置441に障害が発生していた場合の処理フローである。
図9は、3ウェイ・ハンドシェイク時の障害検知の第2の態様を説明するための図である。図9では、第1の通信装置454からSYNパケットを送信する時点61pで、第2の中継装置442に障害が発生していた場合の処理フローである。
図10は、3ウェイ・ハンドシェイク時の障害検知の第3の態様を説明するための図である。図10は、第2の中継装置442が第2の通信装置455にSYNパケットを送信した地点64pで第2の中継装置442に障害が発生した場合の処理フローを示している。
図11は、3ウェイ・ハンドシェイク時の障害検知の第4の態様を説明するための図である。図11は、第1の中継装置441がSYNパケットを第2の中継装置442に送信した地点65pで第1の中継装置441に障害が発生した場合の処理フローである。
図12は、3ウェイ・ハンドシェイク時の障害検知の第5の態様を説明するための図である。図12は、第1の中継装置441がSYN/ACKパケットを第1の通信装置454に送信した地点66pで第1の中継装置441に障害が発生した場合の処理フローである。
図13は、3ウェイ・ハンドシェイク時の障害検知の第6の態様を説明するための図である。図13は、第2の中継装置442がSYN/ACKパケットを第1の中継装置441に送信した直後に第2の中継装置442に障害が発生した場合の処理フローである。
図14は、TCPによるデータ通信中に障害が発生した場合の第1の障害検知態様を説明するための図である。図14では、シーケンス番号1001におけるデータの第2の通信装置455への送信が完了した地点(ステップS140~ステップS142の後の地点)140pで、第1の中継装置441に障害が発生した場合の障害検知処理フローである。なお、図14では、シーケンス番号10001のデータに対するACKパケットについては図示を省略している。
上記のように、第1と第2の中継装置441,442は、TCPオプションとACK番号の少なくともいずれか一方に基づいて、一方の中継装置441,442が他方の中継装置441,442の障害発生を容易に検知できる。これにより、例えば、第1と第2の中継装置441,442のいずれかに障害が発生した場合に、タイムアウト等によるデータ通信の中断を待つことなく、パススルーによるデータ送信や、RSTパケットの送信等のデータ通信を進めるための処理を速やかに実行できる。
以上、本発明の一実施例について説明したが、本発明はこのような実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができる。例えば以下のような変形が可能である。
上記実施例の障害検知の一態様では、データに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の障害発生を検知しても良い。すなわち、以下の変形態様の中継装置であっても良い。
シーケンス番号を用いたストリーム型の通信によってデータを伝送する2つの端末と、前記2つの端末の伝送路上に直列に配置され前記2つの端末間のデータを中継するための第1と第2の中継装置と、を有するネットワークに配置される第1の中継装置であって、
受信したデータの転送を行うための転送制御部と、
対向する前記第2の中継装置に障害が発生したことを検知する検知部と、を備え、
前記転送制御部は、
前記受信したデータの転送を行う転送部と、
前記第2の中継装置の障害の発生を検知するために前記受信したデータを加工する加工部であって、(i)前記第2の中継装置に向けてデータを転送する場合に、転送するデータに前記第1と第2の中継装置間でのデータのやり取りであることを示すためのマークをデータに付与するオプション部と、を有する加工部と、を有し、
前記検知部が対向する前記第2の中継装置の障害の発生を検知するための要素として前記マークを含む、第1の中継装置。
上記第1の変形態様の第1の中継装置は、マークに基づいて対向する第2の中継装置の障害発生を検知できる。ここで、検知部は、第2の中継装置から送信されて受信したデータにマークが付与されていない場合に、第2の中継装置の障害の発生を容易に検知できる。
シーケンス番号を用いたストリーム型の通信によってデータを伝送する2つの端末と、前記2つの端末の伝送路上に直列に配置され前記2つの端末間のデータを中継するための第1と第2の中継装置と、を有するネットワークに配置される第1の中継装置であって、
受信したデータの転送を行うための転送制御部と、
対向する前記第2の中継装置に障害が発生したことを検知する検知部と、を備え、
前記転送制御部は、
前記受信したデータの転送を行う転送部と、
前記第2の中継装置の障害の発生を検知するために前記受信したデータを加工する加工部であって、(i)データを対向する前記端末に送信する場合に、送信元の前記端末から送信されるデータに付与されているシーケンス番号に所定値を加算する加算部と、(ii)データを対向する前記端末から受信した場合に、前記端末から送信されたデータに付与されている確認応答番号に対し前記所定値を減算する減算部と、を有する加工部と、を有し、
前記検知部が対向する前記第2の中継装置の障害の発生を検知するための要素として前記確認応答番号を含む、第1の中継装置。
上記第2の変形態様の第1の中継装置は、確認応答番号に基づいて対向する第2の中継装置の障害発生を検知できる。ここで、検知部は、第2の中継装置から送信されて受信したデータのうち確認応答番号が、本来受信すべき番号から所定値を加算した番号である場合に、第2の中継装置の障害の発生を容易に検知できる。
上記実施例では、第1と第2の通信装置454,455はTCPによってデータ通信を行っていたが、データ通信に用いられるプロトコルはTCPに限定されるものではない。すなわち、第1と第2の通信装置454,455がシーケンス番号を用いたストリーム型の通信によってデータ通信を行う場合に、本発明を適用できる。例えば、RTCP(Real-time Transport Control Protocol)を用いたデータ通信にも本発明は適用できる。
上記実施例では、第1と第2の中継装置441,442が対向する中継装置441,442の障害発生を検知し、RSTパケットを送信することでデータ通信を中断していたが、以下のようにしてデータ通信を中断しても良い。すなわち、ネットワークシステム5に接続された制御装置を新たに備え、中継装置441,442によって障害が検知された場合に、障害を検知した中継装置が障害検知を制御装置に報知し、障害検知に関する情報を受信した制御装置がデータ通信の中断を実行しても良い。
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の通信装置
Claims (8)
- シーケンス番号を用いたストリーム型の通信によってデータを伝送する2つの端末と、前記2つの端末の伝送路上に直列に配置され前記2つの端末間のデータを中継するための第1と第2の中継装置と、を有するネットワークに配置される第1の中継装置であって、
受信したデータの転送を行うための転送制御部と、
対向する前記第2の中継装置に障害が発生したことを検知する検知部と、を備え、
前記転送制御部は、
前記受信したデータの転送を行う転送部と、
前記第2の中継装置の障害の発生を検知するために前記受信したデータを加工する加工部であって、(i)前記第2の中継装置に向けてデータを転送する場合に、転送するデータに前記第1と第2の中継装置間でのデータのやり取りであることを示すためのマークをデータに付与するオプション部と、(ii)データを対向する前記端末に送信する場合に、送信元の前記端末から送信されるデータに付与されているシーケンス番号に所定値を加算する加算部と、(iii)データを対向する前記端末から受信した場合に、前記端末から送信されたデータに確認応答番号が付与されているときに、前記確認応答番号に対し前記所定値を減算する減算部と、を有する加工部と、を有し、
前記検知部は、前記マークと前記確認応答番号の少なくともいずれか一方に基づいて対向する前記第2の中継装置の障害の発生を検知する、第1の中継装置。 - 請求項1に記載の第1の中継装置であって、
前記検知部は、前記第2の中継装置から送信されて受信したデータに前記マークが付与されていない場合に、前記第2の中継装置の障害の発生を検知する、第1の中継装置。 - 請求項1に記載の第1の中継装置であって、
前記検知部は、前記第2の中継装置から送信されて受信したデータのうちの前記確認応答番号が、本来受信すべき番号から前記所定値を加算した番号である場合に、前記第2の中継装置の障害の発生を検知する、第1の中継装置。 - 請求項1に記載の第1の中継装置であって、
前記検知部は、前記第2の中継装置から送信されて受信したデータに前記マークが付与されていない場合であり、かつ、前記受信したデータのうちの前記確認応答番号が、本来受信すべき番号から前記所定値を加算した番号である場合に、前記第2の中継装置の障害の発生を検知する、第1の中継装置。 - 請求項1乃至請求項4のいずれか一項に記載の第1の中継装置であって、
前記2つの端末はTCPを用いて通信を行い、
前記転送制御部は、
受信したデータによって前記検知部が前記第2の中継装置の障害の発生を検知した場合に、前記受信したデータがTCPコネクション確立要求を行うためのSYNパケットを含む場合は、前記加工部の機能を用いることなく前記受信したデータの転送を行う、第1の中継装置。 - 請求項1乃至請求項5のいずれか一項に記載の第1の中継装置であって、
前記2つの端末はTCPを用いて通信を行い、
前記転送制御部は、
受信したデータによって前記検知部が前記第2の中継装置の障害の発生を検知した場合に、前記受信したデータがTCPコネクション確立要求を行うためのSYNパケットに対する確認応答パケットを含む場合は、前記加工部の機能を用いることなく前記受信したデータの転送を行う、第1の中継装置。 - シーケンス番号を用いたストリーム型の通信によってデータが伝送される2つの端末と、前記2つの端末の伝送路上に直列に配置され前記2つの端末間のデータを中継するための第1と第2の中継装置と、を有するネットワークに配置される第1の中継装置の制御方法であって、
(a)受信したデータを転送する工程と、
(b)対向する前記第2の中継装置に障害が発生したことを検知する工程と、を備え、
前記工程(a)は、
(a1)前記第2の中継装置に向けてデータを転送する場合に、転送するデータに前記第1と第2の中継装置間でのデータのやり取りであることを示すためのマークをデータに付与する工程と、
(a2)データを対向する前記端末に送信する場合に、送信元の前記端末から送信されるデータに付与されているシーケンス番号に所定値を加算する工程と、
(a3)データを対向する前記端末から受信した場合に、前記対向する端末から送信されるデータに確認応答番号が付与されているときに、前記確認応答番号に前記所定値を減算する工程と、を含み、
前記工程(b)は、
前記マークと前記確認応答番号の少なくともいずれか一方に基づいて対向する前記第2の中継装置の障害の発生を検知する工程を含む、制御方法。 - ネットワークシステムであって、
シーケンス番号を用いたストリーム型の通信によってデータを伝送する2つの端末と、
前記2つの端末の伝送路上に直列に配置され前記2つの端末間のデータを中継するための第1と第2の中継装置と、を備え、
前記1と第2の中継装置は、それぞれ、
受信したデータの転送を行うための転送制御部と、
対向する他方の前記中継装置に障害が発生したことを検知する検知部と、を備え、
前記転送制御部は、
前記受信したデータの転送を行う転送部と、
前記他方の中継装置の障害の発生を検知するために前記受信したデータを加工する加工部であって、(i)前記他方の中継装置に向けてデータを転送する場合に、転送するデータに前記第1と第2の中継装置間でのデータのやり取りであることを示すためのマークをデータに付与するオプション部と、(ii)データを対向する前記端末に送信する場合に、送信元の前記端末から送信されるデータに付与されているシーケンス番号に所定値を加算する加算部と、(iii)データを対向する前記端末から受信した場合に、前記端末から送信されたデータに確認応答番号が付与されているときに、前記確認応答番号に対し前記所定値を減算する減算部と、を有する加工部と、を有し、
前記検知部は、前記マークと前記確認応答番号の少なくともいずれか一方に基づいて対向する前記他方の中継装置の障害の発生を検知する、ネットワークシステム。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP12823121.4A EP2822234A4 (en) | 2012-02-28 | 2012-02-28 | RELAY DEVICE, RELAY DEVICE CONTROL METHOD, AND NETWORK SYSTEM |
PCT/JP2012/001344 WO2013128483A1 (ja) | 2012-02-28 | 2012-02-28 | 中継装置、中継装置の制御方法、及び、ネットワークシステム |
US13/818,028 US8948185B2 (en) | 2012-02-28 | 2012-02-28 | Relay node, control method of relay node and network system |
JP2012537249A JP5363658B1 (ja) | 2012-02-28 | 2012-02-28 | 中継装置、中継装置の制御方法、及び、ネットワークシステム |
CN201280002530.9A CN103404100B (zh) | 2012-02-28 | 2012-02-28 | 中继装置、中继装置的控制方法以及网络*** |
US14/585,287 US9292370B2 (en) | 2012-02-28 | 2014-12-30 | Relay node, control method of relay node and network system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2012/001344 WO2013128483A1 (ja) | 2012-02-28 | 2012-02-28 | 中継装置、中継装置の制御方法、及び、ネットワークシステム |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/818,028 A-371-Of-International US8948185B2 (en) | 2012-02-28 | 2012-02-28 | Relay node, control method of relay node and network system |
US14/585,287 Continuation US9292370B2 (en) | 2012-02-28 | 2014-12-30 | Relay node, control method of relay node and network system |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2013128483A1 true WO2013128483A1 (ja) | 2013-09-06 |
Family
ID=49081752
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2012/001344 WO2013128483A1 (ja) | 2012-02-28 | 2012-02-28 | 中継装置、中継装置の制御方法、及び、ネットワークシステム |
Country Status (5)
Country | Link |
---|---|
US (2) | US8948185B2 (ja) |
EP (1) | EP2822234A4 (ja) |
JP (1) | JP5363658B1 (ja) |
CN (1) | CN103404100B (ja) |
WO (1) | WO2013128483A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014003700A (ja) * | 2013-09-05 | 2014-01-09 | Alaxala Networks Corp | 中継装置、及び、通信システム |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5363658B1 (ja) * | 2012-02-28 | 2013-12-11 | アラクサラネットワークス株式会社 | 中継装置、中継装置の制御方法、及び、ネットワークシステム |
US9027129B1 (en) * | 2012-04-30 | 2015-05-05 | Brocade Communications Systems, Inc. | Techniques for protecting against denial of service attacks |
US10164870B2 (en) * | 2013-06-28 | 2018-12-25 | Avago Technologies International Sales Pte. Limited | Relaxed ordering network |
TWI566616B (zh) * | 2015-03-04 | 2017-01-11 | 瑞昱半導體股份有限公司 | 三方交握方法以及電腦可讀媒體 |
US10375212B2 (en) * | 2017-01-11 | 2019-08-06 | Citrix Systems, Inc. | Systems and methods for improving the performance of a computer network using multiplexed application layer streams of network traffic |
US10367682B2 (en) * | 2017-06-30 | 2019-07-30 | Bank Of American Corporation | Node failure recovery tool |
JP7101595B2 (ja) * | 2018-11-05 | 2022-07-15 | 住友電気工業株式会社 | スイッチ装置、通信制御方法および通信制御プログラム |
US11153038B2 (en) * | 2019-11-22 | 2021-10-19 | Qualcomm Incorporated | MIC recovery of BR/EDR links |
US11706303B2 (en) * | 2021-04-22 | 2023-07-18 | Cisco Technology, Inc. | Survivability method for LISP based connectivity |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006339726A (ja) * | 2005-05-31 | 2006-12-14 | Nippon Telegr & Teleph Corp <Ntt> | 中継装置およびデータ中継方法 |
JP2008072552A (ja) * | 2006-09-15 | 2008-03-27 | Nec Corp | 中継装置、中継方法及び中継プログラム |
WO2011033894A1 (ja) | 2009-09-16 | 2011-03-24 | 株式会社日立製作所 | 端末間の通信を高速化する通信装置および通信システム |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7532588B2 (en) * | 2003-02-19 | 2009-05-12 | Nec Corporation | Network system, spanning tree configuration method and configuration program, and spanning tree configuration node |
JP4096183B2 (ja) * | 2003-02-27 | 2008-06-04 | 日本電気株式会社 | 警報転送方法及び広域イーサネット網 |
US7512064B2 (en) * | 2004-06-15 | 2009-03-31 | Cisco Technology, Inc. | Avoiding micro-loop upon failure of fast reroute protected links |
JP4629639B2 (ja) * | 2006-09-29 | 2011-02-09 | 富士通株式会社 | パケット中継装置 |
US7660254B2 (en) * | 2006-12-22 | 2010-02-09 | Cisco Technology, Inc. | Optimization of distributed tunnel rerouting in a computer network with coordinated head-end node path computation |
CN101453265A (zh) * | 2007-08-13 | 2009-06-10 | 华为技术有限公司 | 无源光网络***的故障检测方法、***和设备 |
JP2010200300A (ja) | 2009-01-28 | 2010-09-09 | Meidensha Corp | Tcp通信方式 |
WO2010106651A1 (ja) * | 2009-03-18 | 2010-09-23 | 富士通株式会社 | 経路解析装置 |
JP5533112B2 (ja) * | 2010-03-24 | 2014-06-25 | 富士通株式会社 | 監視装置,監視方法および監視プログラム |
JP5708168B2 (ja) * | 2010-06-16 | 2015-04-30 | 株式会社リコー | 伝送端末、伝送システム、伝送方法、及び伝送端末用プログラム |
JP5363658B1 (ja) * | 2012-02-28 | 2013-12-11 | アラクサラネットワークス株式会社 | 中継装置、中継装置の制御方法、及び、ネットワークシステム |
-
2012
- 2012-02-28 JP JP2012537249A patent/JP5363658B1/ja active Active
- 2012-02-28 EP EP12823121.4A patent/EP2822234A4/en not_active Withdrawn
- 2012-02-28 CN CN201280002530.9A patent/CN103404100B/zh not_active Expired - Fee Related
- 2012-02-28 WO PCT/JP2012/001344 patent/WO2013128483A1/ja active Application Filing
- 2012-02-28 US US13/818,028 patent/US8948185B2/en not_active Expired - Fee Related
-
2014
- 2014-12-30 US US14/585,287 patent/US9292370B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006339726A (ja) * | 2005-05-31 | 2006-12-14 | Nippon Telegr & Teleph Corp <Ntt> | 中継装置およびデータ中継方法 |
JP2008072552A (ja) * | 2006-09-15 | 2008-03-27 | Nec Corp | 中継装置、中継方法及び中継プログラム |
WO2011033894A1 (ja) | 2009-09-16 | 2011-03-24 | 株式会社日立製作所 | 端末間の通信を高速化する通信装置および通信システム |
Non-Patent Citations (2)
Title |
---|
See also references of EP2822234A4 |
TAKAYUKI TSUCHIYA ET AL.: "Research on a Broadband Photonic Network Transmission Protocol and Its Mounting Scheme", IEICE TECHNICAL REPORT, vol. 103, no. 56, 9 May 2003 (2003-05-09), pages 73 - 78, XP008171592 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014003700A (ja) * | 2013-09-05 | 2014-01-09 | Alaxala Networks Corp | 中継装置、及び、通信システム |
Also Published As
Publication number | Publication date |
---|---|
JPWO2013128483A1 (ja) | 2015-07-30 |
CN103404100A (zh) | 2013-11-20 |
EP2822234A4 (en) | 2015-09-16 |
US8948185B2 (en) | 2015-02-03 |
JP5363658B1 (ja) | 2013-12-11 |
CN103404100B (zh) | 2016-02-17 |
US20150113339A1 (en) | 2015-04-23 |
US20140208152A1 (en) | 2014-07-24 |
EP2822234A1 (en) | 2015-01-07 |
US9292370B2 (en) | 2016-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5363658B1 (ja) | 中継装置、中継装置の制御方法、及び、ネットワークシステム | |
US10164851B2 (en) | Transmission and reception of a diagnostic request in an IP network | |
JP4153502B2 (ja) | 通信装置及び論理リンク異常検出方法 | |
JP2019129408A (ja) | 障害検知方法、ノード装置、通信システム | |
US6760766B1 (en) | Data transmission method and device | |
US20060159011A1 (en) | Detecting unavailable network connections | |
CN104025550B (zh) | 从数据项获得信息的方法及装置 | |
JP2009296084A (ja) | マルチパス通信システム | |
JP2004535133A (ja) | Mpls網においてsctpを最適に使用するための方法 | |
CN109510690B (zh) | 传输报文的方法、网络组件和计算机可读存储介质 | |
WO2013044827A1 (zh) | 一种跟踪路由测试方法、***、装置及设备 | |
CN101425942A (zh) | 一种实现双向转发检测的方法、装置及*** | |
CN101808021A (zh) | 故障检测方法、装置及***以及报文统计方法、节点设备 | |
US20200044964A1 (en) | Defect detection in ip/mpls network tunnels | |
JP5055049B2 (ja) | Icmp変換装置 | |
CN102739462B (zh) | 一种测试报文的发送方法以及装置 | |
CN101808043B (zh) | 端口汇聚trunk成员业务报文转发状态的检测方法及装置 | |
CN113055935A (zh) | 一种拥塞控制方法、设备和*** | |
JP5672836B2 (ja) | 通信装置、通信方法、および通信プログラム | |
JP5771656B2 (ja) | 中継装置 | |
JP4505575B2 (ja) | 通信システム、ゲートウェイ送信装置、ゲートウェイ受信装置、送信方法、受信方法および情報記録媒体 | |
US8599680B2 (en) | Virtual circuit configuration method | |
CN106789639B (zh) | 一种报文处理方法和装置 | |
US20240089198A1 (en) | Packet processing method and system, and network device | |
CN101594264A (zh) | 虚拟链路状态检测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 201280002530.9 Country of ref document: CN |
|
ENP | Entry into the national phase |
Ref document number: 2012537249 Country of ref document: JP Kind code of ref document: A |
|
REEP | Request for entry into the european phase |
Ref document number: 2012823121 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2012823121 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 13818028 Country of ref document: US |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 12823121 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |