This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2016-044660, filed on Mar. 8, 2016, the entire contents of which are incorporated herein by reference.
The embodiments discussed herein are related to a method of analyzing packets and an analysis device.
With the development of information-oriented society, opportunities in which packets are transmitted and received between different information terminals have been increasing. For example, information terminals, such as a computer and a smartphone, are coupled to a network and a cloud service is used.
In a case where packets are transmitted and received via a network, some packets may be missing on the network (also referred to as packet loss) due to some reasons. Accordingly, various packet analysis apparatuses are proposed that acquire packets flowing through a network and analyze a packet loss situation. Japanese Laid-open Patent Publication No. 2012-186772, Japanese Laid-open Patent Publication No. 2010-16722, Japanese Laid-open Patent Publication No. 2010-109499, and Japanese Laid-open Patent Publication No. 2013-150291 are examples of related-art documents.
According to an aspect of the invention, a method of analyzing packets performed by a computer, the method includes for each of a plurality of data transmission apparatuses and for each of a plurality of periods, specifying a number of packets transmitted from each of a plurality of data transmission apparatuses, for each of the plurality of data transmission apparatuses and for each of the plurality of periods, specifying a number of times that a transmission interval of the packets is equal to or larger than a first value, for each of the plurality of data transmission apparatuses and for each of the plurality of periods, specifying a ratio of the number of times to the number of packets, for each of the plurality of data transmission apparatuses and for each of the plurality of periods, specifying amount of increase of the ratio for a period immediately before each of the plurality of periods, specifying a period in which the number of the data transmission apparatuses of which the amount of increase is equal to or larger than a second value is equal to or larger than a third value among the plurality of periods, and outputting first information indicating the specified period.
The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, as claimed.
A packet analysis apparatus is inserted into a network that couples, for example, a terminal (hereinafter, referred to as a transmission terminal) which transmits packets to a terminal (hereinafter, referred to as a reception terminal) which is a transmission destination of the packets, and monitors the packets which flow through the network.
For example, in a case where a packet in conformity to a transmission control protocol/internet protocol (TCP/IP) protocol is missing between the packet analysis apparatus and the reception terminal, the packet analysis apparatus detects packet loss using duplication of a sequence number of a TCP header.
In contrast, in a case where the packet in conformity to the TCP/IP protocol is missing between the packet analysis apparatus and the transmission terminal, a missing packet retransmission process is performed by the transmission terminal before the packet is received by the packet analysis apparatus.
In this case, the transmission terminal determines whether or not the packet retransmission process is demanded in accordance with existence/non-existence of an acknowledge (ACK) for the transmitted packet from the reception terminal. In a case where ACK is not received within a certain period, the transmission terminal retransmits the transmitted packet. Accordingly, in a packet analysis apparatus according to the related art, for example, if a packet reception interval in the same session is equal to or longer than the certain period, there is a case where it is determined that packet loss has occurred between the packet analysis apparatus and the transmission terminal.
However, there is a case where the transmission terminal divides data into a plurality of packets which have packet lengths as desired, and sequentially transmits the plurality of packets to the reception terminal, similarly to, for example, chunk format encoding in a hypertext transfer protocol (HTTP). In this case, the transmission terminal transmits the packets to the reception terminal while adjusting a packet transmission interval. Accordingly, the packet transmission interval may be longer than the certain period depending on a situation, and thus a situation occurs in which the packet analysis apparatus mistakenly determines that packet loss has occurred although packet loss has not occurred between the packet analysis apparatus and the transmission terminal.
In addition, in a case where packet arrival is delayed more than the certain period due to increase in the amount of traffic in the network and a relay process by a network apparatus, such as the switch apparatus, which is coupled to the network, there is a case where the packet analysis apparatus mistakenly determines that packet loss has occurred.
Hereinafter, an example of an embodiment of a disclosed technology will be described in detail with reference to the accompanying drawings. Meanwhile, hereinafter, the same reference symbols are attached to components and processes which perform the same operations throughout the whole drawings, and the duplicate description thereof is appropriately omitted.
A network 1 illustrated in
Each of the client terminals 4-1 and 4-2 is coupled to the switch apparatus 3-1, and the switch apparatus 3-1 is coupled to the switch apparatus 3-5. In addition, each of the client terminals 4-3, 4-4, and 4-5 is coupled to the switch apparatus 3-3, and the switch apparatus 3-3 is coupled to the switch apparatus 3-5.
In contrast, each of the servers 5-1, 5-2, and 5-3 is coupled to the switch apparatus 3-2, and the switch apparatus 3-2 is coupled to the switch apparatus 3-5. In addition, each of the servers 5-4 and 5-5 is coupled to the switch apparatus 3-4, and the switch apparatus 3-4 is coupled to the switch apparatus 3-5. Furthermore, the packet analysis apparatus 2 is coupled to the switch apparatus 3-5.
Meanwhile, hereinafter, in a case where it is not demanded that the respective switch apparatuses 3-1 to 3-5 are separately described, the switch apparatuses 3-1 to 3-5 are collectively indicated as a “switch apparatus 3”. Similarly, the client terminals 4-1 to 4-5 are indicated as a “client terminal 4” and the servers 5-1 to 5-5 are indicated as a “server 5”. Meanwhile,
The client terminal 4 receives the packets from the designated server 5 through the switch apparatus 3. For example, in a case where the client terminal 4-1 receives packets from the server 5-1, the packets arrive at the client terminal 4-1 through the server 5-1, the switch apparatus 3-2, the switch apparatus 3-5, and the switch apparatus 3-1.
Accordingly, in the above-described situation, the server 5 is an example of the transmission terminal, and the client terminal 4 is an example of the reception terminal.
In contrast, in the network 1, there is a case where, for example, the client terminal 4 transmits to the server 5 a telegraphic message which demands packets. In this case, the client terminal 4 is the transmission terminal, and the server 5 is the reception terminal.
As described above, in the network 1, the transmission terminal and the reception terminal are interchanged depending on a situation. For convenience of explanation, here, an operation of the packet analysis apparatus 2 will be described using an example in which the client terminal 4 receives packets from the designated server 5. However, the server 5 may receive packets which are transmitted by the client terminal 4.
Meanwhile, in the network 1, the switch apparatus 3 is an example of the network apparatus that relays the packets which are transmitted from the server 5, and the network apparatus is not limited to the switch apparatus 3. For example, the switch apparatus 3 may be replaced by another network apparatus, such as a router, as desired.
In addition, a communication line, which respectively couples the client terminal 4 with the switch apparatus 3, the server 5 with the switch apparatus 3, the packet analysis apparatus 2 with the switch apparatus 3, and both the switch apparatuses 3, is not limited to a wired line. The communication line may be a wireless line or the mixture of the wired line and the wireless line.
The packet analysis apparatus 2 monitors the packets that pass through the switch apparatus 3-5, which is a coupling destination of the packet analysis apparatus 2, for each session in time series, and determines whether or not packets are missing in the network 1, that is, determines whether or not packet loss has occurred.
Here, the session is a one-to-one logical communication path which is established between the specific server 5 and the specific client terminal 4.
In the network 1, all of the packets, which are transmitted from the server 5, pass through the switch apparatus 3-5 and arrive at the client terminal 4. Therefore, in order to monitor the whole packets in the network 1, it is preferable that the packet analysis apparatus 2 is coupled to the switch apparatus 3-5.
Accordingly, as illustrated in
For example, in a case where packets on the communication line, which couples the switch apparatus 3-1 to the switch apparatus 3-2, are monitored using the packet analysis apparatus 2, copies of the packets, which are monitoring targets and flow through the communication line, are also output from the port 6-8 if a mirroring function of the switch apparatus 3-5 is appropriately set. As described above, in the packet analysis apparatus 2, the communication line, in which transmission and reception of the packets are monitored, is selected by selecting a port to be monitored using the mirroring function of the switch apparatus 3.
In the network 1, a connection-type protocol in which ACKs of packets are performed between the server 5 and the client terminal 4, specifically, for example, TCP/IP is used as a packet communication protocol.
Accordingly, in a case where the client terminal 4 receives the packets, which are transmitted from the server 5, the client terminal 4 transmits ACKs toward the server 5, which is a transmission source of the packets, and notifies that the packets are received, to the server 5 which is the transmission source of the packets. In a case where the server 5, which is the transmission source of the packets, receives ACKs from the client terminal 4, the server 5 determines that the packets are received by the client terminal 4, which is a packet demand source, and the process proceeds to a subsequent process.
However, for example, in a case where packets are missing in some locations in the network 1 and the packets are not delivered to the client terminal 4, ACKs from the client terminal 4 are not delivered to the server 5 which is the transmission source of the packets. Accordingly, a retransmission timer of the server 5 which is the transmission source of the packets is timed out, the server 5 retransmits packets, which have the same content as the missing packets, toward the client terminal 4 which is the demand source of the packets.
Accordingly, if packet loss has occurred between the switch apparatus 3-5, which is a coupling destination of the packet analysis apparatus 2, and the reception terminal, it is possible for the packet analysis apparatus 2 to determine whether or not packet loss has occurred based on, for example, duplication of sequence numbers of the packets. Specifically, in a case where a packet that has the same sequence number as a sequence number included in a TCP header of a packet acquired last time is again recognized in the same session, it is possible for the packet analysis apparatus 2 to determine that the packet loss has occurred.
However, as described above, in a case where packet loss has occurred between the switch apparatus 3-5, which is the coupling destination of the packet analysis apparatus 2, and the transmission terminal, it is difficult to determine whether or not packet loss has occurred based on the sequence numbers of the packets.
Hereinafter, a method of determining in the packet analysis apparatus 2 whether or not packet loss has occurred between the switch apparatus 3-5, which is the coupling destination of the packet analysis apparatus 2, and the transmission terminal will be described.
Hereinafter, a portion of the communication line between the switch apparatus 3-5, which is the coupling destination of the packet analysis apparatus 2, and the transmission terminal may be referred to as “upstream of the packet analysis apparatus 2. In addition, a portion of the communication line between the switch apparatus 3-5, which is the coupling destination of the packet analysis apparatus 2, and the reception terminal may be referred to as “downstream of the packet analysis apparatus 2”.
As illustrated in
The packet interval calculation unit 10 acquires a packet 8, which is the monitoring target, on the communication line in the switch apparatus 3-5, and generates the session management table 12. Here, the session management table 12 is a management table in which IP addresses or the like of the transmission terminal and the reception terminal are recorded for each session.
In addition, the packet interval calculation unit 10 calculates a packet interval which indicates a time interval between consecutive packets in each communication direction which are transmitted from each transmission terminal in a certain period. Furthermore, the packet interval calculation unit 10 records the number of times that the packet interval is equal to or longer than a predetermined period, together with the number of times that the packet is received, in the packet count table 14 for each certain period. Meanwhile, the communication direction will be described later in detail. In addition, the packet interval is an example of the transmission interval between packets of the disclosed technology.
Furthermore, the packet interval calculation unit 10 calculates a ratio of the number of times in which the packet interval is equal to or longer than the predetermined period to the number of times that the packet which is transmitted from the transmission terminal is received for each certain period based on the packet count table 14 for each transmission terminal. Furthermore, the packet interval calculation unit 10 outputs the above-described ratio (hereinafter, referred to as a detection rate rd) which is calculated for each certain period and for each transmission terminal as the packet interval increase detection data 16.
In contrast, the packet loss determination unit 20 acquires the packet interval increase detection data 16 which is output by the packet interval calculation unit 10, calculates the amount of increase in the detection rate rd for an immediately-before certain period for each transmission terminal, and records the calculated amount of increase in the detection rate rd in the increase amount management table 18.
In addition, the packet loss determination unit 20 sets an increase amount threshold to be compared with the amount of increase in the latest detection rate rd for each transmission terminal based on the amount of increase in a past detection rate rd which is stored in the increase amount management table 18. Furthermore, the packet loss determination unit 20 determines whether or not the amount of increase in the detection rate rd is equal to or larger than the increase amount threshold for each certain period and for each transmission terminal, and records a result of determination in the packet loss count table 22.
Furthermore, the packet loss determination unit 20 refers to the packet loss count table 22, and determines whether or not packet loss has occurred upstream of the packet analysis apparatus 2 based on the number of transmission terminals in which the amount of increase in the detection rate rd is equal to or larger than the increase amount threshold.
Furthermore, the packet loss determination unit 20 generates the packet loss notification data 26 which indicates whether or not packet loss has occurred upstream of the packet analysis apparatus 2 for each certain period and for each transmission terminal based on the result of determination. In this case, the packet loss determination unit 20 converts, for example, an IP address of the transmission terminal into an apparatus name, which is assigned to the transmission terminal in advance, with reference to the address conversion table 24, and generates the packet loss notification data 26. Furthermore, the packet loss determination unit 20 outputs the generated packet loss notification data 26.
Meanwhile, the session management table 12, the packet count table 14, the packet interval increase detection data 16, the increase amount management table 18, the packet loss count table 22, the address conversion table 24, and the packet loss notification data 26 will be described in detail later.
A computer 100 illustrated in
Here, the input device 112 includes, for example, an input unit such as a keyboard and a mouse. In addition, the input device 112 includes a reading unit that reads a program or the like which is recorded in, for example, a recording medium 118, such as a compact disc (CD), a digital versatile disk (DVD), or a memory card.
The communication device 114 includes, for example, a communication protocol (for example, the TCP/IP protocol) in order to receive the packet 8 from the switch apparatus 3, and receives the packet 8 from the switch apparatus 3. Furthermore, the communication device 114 outputs the received packet 8 to the computer 100 through the I/O 110.
The display device 116 displays, for example, an image, which is generated by the computer 100 based on the packet loss notification data 26, on a screen.
In addition, it is possible to realize the storage unit 106 using a flash memory, a hard disk drive (HDD), or the like.
Meanwhile, in an example of
The storage unit 106 stores a packet analysis program 120 which causes the computer 100 to function as the packet analysis apparatus 2 illustrated in
The CPU 102 causes the computer 100 to function as the packet analysis apparatus 2 illustrated in
That is, the CPU 102 executes the packet interval calculation process 122 and thereby the computer 100 functions as the packet interval calculation unit 10 illustrated in
In addition, the CPU 102 deploys the address conversion information 126 in the memory 104, and generates the address conversion table 24 in the memory 104.
Meanwhile, it is possible to realize the computer 100 using, for example, a semiconductor integrated circuit, more specifically, an application specific integrated circuit (ASIC) or the like.
In addition, the CPU 102 of the computer 100 according to the embodiment includes a calendar function which manages date and time. It is possible for the packet analysis program 120 to acquire date and time information from the CPU 102 using a predetermined application programming interface (API).
Next, an operation of the packet analysis apparatus 2 according to the first embodiment will be described. For example, in a case where the packet analysis apparatus 2 receives an analysis start instruction from a user through the input device 112, the packet analysis apparatus 2 performs a packet analyzing process illustrated in
Furthermore, hereinafter, the packet interval calculation unit 10 is described as the calculation unit 10, and the packet loss determination unit 20 is described as the determination unit 20. In addition, there is a case where
First, in step S10 of
In step S20, the calculation unit 10 determines whether or not a packet analyzing process end instruction is received from the user through the input device 112. In a case where the end instruction is received, a packet analyzing process illustrated in
In contrast, in a case where the packet analyzing process end instruction is not received, the process returns to step S10. Furthermore, the packet 8, which is the monitoring target and flows on the communication line, is consecutively received until the end instruction is received from the user, by repeatedly determining whether or not the packet 8 is received.
In a case where the determining process in step S10 is YES, that is, in a case where the packet 8 is received, the process proceeds to step S30.
In step S30, the calculation unit 10 associates the received packet 8 with time information (referred to as time stamp) in which the packet 8 is received, and stores the result of association in, for example, a predetermined area of the memory 104.
Furthermore, the calculation unit 10 analyzes a header of the received packet 8, and acquires an IP address (referred to as a transmission source address) and a port number (referred to as a transmission source port number) of the transmission terminal which transmits the packet 8. In addition, the calculation unit 10 analyzes the header of the received packet 8, and acquires an IP address (referred to as a transmission destination address) and a port number (referred to as a transmission destination port number) of the reception terminal which is the transmission destination of the packet 8. Furthermore, the calculation unit 10 analyzes the header of the received packet 8, and acquires a protocol which is applied to a transport layer (that is, a layer 4 in an OSI reference model) in a case where the packet 8 is transmitted and received.
In step S40, the calculation unit 10 refers to the session management table 12 which is stored in the predetermined area of the memory 104, and determines whether or not the same session information as the session of the received packet 8 is already registered in the session management table 12.
As illustrated in
Here, the communication direction is information which indicates the communication direction of the packet 8 in the network 1. For example, the communication direction of the packet 8 which is transmitted from the server 5 toward the client terminal 4 is indicated by “1”, and the communication direction of the packet 8 which is transmitted from the client terminal 4 toward the server 5 is indicated by “0”. Meanwhile, the values of “0” and “1” which indicates the communication directions are an example, and it is apparent that any value may be used if it is possible to specify the communication direction of the packet 8 from information about the communication direction in the session management table 12.
A session is indicated by, for example, a combination of the transmission destination address, the transmission destination port number, the transmission source address, the transmission source port number, and the transport layer protocol, that is, the session information. Accordingly, in a case where the session information of the received packet 8 is already included in any one of row data in the session management table 12, the calculation unit 10 determines that the same session information as the session of the received packet 8 is already registered in the session management table 12. Meanwhile, hereinafter, the row data of the session management table 12 is referred to as session data.
Since the information about the communication direction is included in the session management table 12, it is possible to treat respective pieces of session information, in which the transmission destination address and the transmission destination port number of the packet 8 are interchanged with the transmission source address and the transmission source port number of the packet 8, as one session data. Accordingly, even in a case where the session information, in which the transmission destination address and the transmission destination port number of the packet 8 are interchanged with the transmission source address and the transmission source port number of the packet 8, exists in the session management table 12, the calculation unit 10 determines completion of registration of the session information in the session management table 12.
Meanwhile, the session management table 12 may not include the information about the communication direction in some cases. In such case, respective pieces of session information before and after the transmission destination address and the transmission destination port number of the packet 8 are interchanged with the transmission source address and the transmission source port number of the packet 8 are registered as individual session data in the session management table 12.
However, as illustrated in
In a case where the determination in step S40 is NO, that is, in a case where the same session information as the session of the received packet 8 is not registered in the session management table 12, the process proceeds to step S50.
Meanwhile, time information of the packet 8 which is received last time from the transmission terminal indicated by the session information is registered in the time stamp of the session management table 12.
In step S50, the calculation unit 10 adds the session data, which includes the session information of the received packet 8, to the session management table 12 illustrated in
In addition, the calculation unit 10 sets the communication direction of the session data to be added to the session management table 12 based on, for example, the transmission source address of the packet 8. Specifically, for example, the IP address of each client terminal 4 is stored in the memory 104 in advance. Furthermore, in a case where the transmission source address of the received packet 8 does not coincide with any one of the IP addresses of the client terminals 4, the calculation unit 10 may set the communication direction to “1”. In addition, in a case where the transmission source address of the received packet 8 coincides with any one of the IP addresses of the client terminals 4, the calculation unit 10 may set the communication direction to “0”.
In contrast, in a case where the determination in the determining process in step S40 is YES, that is, the same session information as the session of the received packet 8 is registered in the session management table 12, the process proceeds to step S60.
The packet 8, which is transmitted and received in the network 1, includes ACK or the like which is used as ACK of a data packet in addition to, for example, a packet which includes data added by a transmission terminal in a data section of the packet 8, that is, a packet which is referred to as the data packet.
Accordingly, in step S60, the calculation unit 10 determines whether or not the received packet 8 is the data packet. In a case where the received packet 8 is not the data packet, the process returns to step S10, and a subsequent packet 8 is received. In contrast, in a case where the received packet 8 is the data packet, the process proceeds to step S70.
A reason why it is determined whether or not the received packet 8 is the data packet is to calculate a transmission interval between data packets which are transmitted by the transmission terminal as will be described later. Meanwhile, the calculation unit 10 refers to the data length of the data section which is included in the header of the received packet 8, and determines that the received packet 8 is not the data packet if, for example, a data length of the data section is “0”.
As described above, in step S70, the calculation unit 10 determines the communication direction of the packet 8 based on, for example, the transmission source address of the packet 8. Furthermore, the calculation unit 10 refers to the session data in the session management table 12 which includes the same session information as the session of the packet 8, and determines whether or not the communication direction of the received packet 8 is the same as the communication direction of the session data.
In a case where the communication direction of the received packet 8 is different from the communication direction of a relevant session information of the session management table 12, that is, in a case where the communication direction of the packet 8 is different from the communication direction of a packet 8 which is received last time, the process proceeds to step S120 of
In contrast, in a case where the communication direction of the packet 8 is the same as the communication direction of the relevant session information of the session management table 12, that is, in a case where the communication direction of the packet 8 is the same as the communication direction of the packet 8 which is received last time, the process proceeds to step S80.
That is, in a case where the server 5 and the client terminal 4 alternately transmit the packet 8 and the communication direction of the received packet 8 is different from the communication direction of the packet, which is received last time, in the same session, processes in steps S80 to S110 which will be described later are not performed. The reason for this is to calculate the transmission interval between the packets 8, which are consecutively transmitted from the same transmission terminal, in step S90 which will be described later.
In step S80, the calculation unit 10 first refers to the packet count table 14.
Here, the packet count table 14 will be described with reference to
The output time is a time which, in a case where time is divided into certain periods, is used as an index uniquely indicating the times included in the periods acquired through the division.
For example, an output time “9:01” indicates a period in which time passes nine o'clock and does not reach nine one. An output time “9:02” indicates a period in which time passes nine one and does not reach nine two. Meanwhile, here, an example in which the certain period is set to one minute is described. However, a value which is set to the certain period is not limited and the certain period may be set to a value other than one minute.
The number of times Call that reception is performed indicates the number of times that the packet 8 is received for each transmission source address in the certain period which is indicated by a relevant output time. The number of times Cd that the interval increases indicates the number of times in which an interval between the packet 8, which is received last time, and the packets 8 which are received for respective transmission source addresses in the certain period indicated by the relevant output time is equal to or longer than the predetermined period.
As an example, a value will be described which is included in a field, in which the transmission source address is “192.168.1.11” and the output time is “9:03”, of the packet count table 14 of
Furthermore, the calculation unit 10 increases by one in the packet count table 14 the number of times Call that the transmission source address of the packet 8 is received in the row data of the output time corresponding to the time stamp of the received packet 8. Hereinafter, the row data indicated by the output time is referred to as “output time data”, and the row data of the output time corresponding to the time stamp of the packet 8 is described as the “output time data of the packet 8”.
Meanwhile, in a case where the output time data of the received packet 8 does not exist in the packet count table 14, the calculation unit 10 adds initialized data, in which all the elements other than the output time are set to “0”, to the packet count table 14. That is, the calculation unit 10 sets the output time corresponding to the time stamp of the received packet 8 to an output time field, and adds the initialized data, in which the number of times Call that the packet 8 is received and the number of times Cd that the interval increases are set to “0”, to the packet count table 14.
Meanwhile, in a case where the output time to be added to the packet count table 14 is not consecutive to the output time of the packet count table 14 in certain period units, the calculation unit 10 adds the initialized data to the packet count table 14 such that the output time is consecutive in certain period units.
Here, the phrase “is not consecutive to the output time in certain period units” indicates a situation in which, if, for example, the certain period is one minute, an interval between the latest output time which is already recorded in the packet count table 14 and an output time to be added to the packet count table exceeds one minute.
Specifically, in a case where the time stamp of the received packet 8 is, for example, “09:06:18”, the output time corresponding to the received packet 8 is “9:07”. In this case, if the latest output time which is recorded in the packet count table 14 is “9:05”, the interval between the respective output times exceeds the certain period.
Accordingly, as illustrated in
Moreover, the calculation unit 10 increases by one the number of times Call that the transmission source address of the packet 8 is received in the output time data of the received packet 8 in the packet count table 14.
In step S90, the calculation unit 10 acquires a time stamp of session data, which includes the same session information as the session of the received packet 8, from the session management table 12 illustrated in
In contrast, the calculation unit 10 acquires the time stamp of the received packet 8 which is stored in the memory 104 in step S30.
Furthermore, the calculation unit 10 acquires a difference between the time stamp of the packet 8 which is received last time and a time stamp of a packet 8 which is received this time, and calculates the packet interval between the packets 8.
Subsequently, in step S100 of
It is preferable to set the threshold th1 to a value with which it is possible to assume that a missing packet 8 is retransmitted by the transmission terminal due to missing of the packet 8.
For example, the threshold th1 may be set to a retransmission time out (RTO) value of the packet 8, which is set to the transmission terminal in advance. Meanwhile, RTO is an ACK waiting time until retransmission of the packet 8 starts.
Furthermore, the threshold th1 may be set to an RTO value which is sequentially corrected by taking a delay time (round trip time (RTT)) into consideration from when the packet 8 is transmitted by the transmission terminal until ACK for the packet 8 is received from the reception terminal. In this case, compared to a case where the threshold th1 is set based on RTO in which a value is fixed, it is possible to set the threshold th1 according to the amount of traffic and a coupling form of the actual network 1.
Meanwhile, the threshold th1 to be compared with the calculated packet interval is an example of a first threshold in the disclosed technology.
In step S110, the calculation unit 10 increases by one the number of times Cd that an interval between the transmission source addresses of the packets 8 increases in the output time data of the received packets 8 in the packet count table 14.
In step S120, the calculation unit 10 determines whether or not the output time of the received packet 8 is a time later than the comparative time which is updated in step S160 which will be described later. In a case where the output time of the received packet 8 is the time later than the comparative time, the process proceeds to step S130. In contrast, in a case where the output time of the received packet 8 is a time previous to the comparative time, the process proceeds to step S170 without performing process in steps S130 to S160.
Meanwhile, as already described, an initial value of the comparative time is set to “0:00” such that the comparative time is a time previous to the output time of the received packet 8.
In step S130, the calculation unit 10 refers to the packet count table 14, and calculates the detection rate rd of the last output time previous to the output time of the received packet 8, that is, an immediately-before output time for each transmission source address.
The detection rate rd for each transmission source address is calculated by Equation (1) using the number of times Call that the packet 8 is received and the number of times Cd that the interval increases in each transmission source address field.
A reason of calculating the detection rate rd of the immediately-before output time for the output time of the received packet 8 in step S130 is that there is no possibility hereafter that the packet 8 associated with a time stamp included in the certain period corresponding to the immediately-before output time is received. That is, the reason for this is that the output time data of the packet count table 14 in the immediately-before output time is fixed without being changed hereafter. Meanwhile, hereinafter, there is a case where the immediately-before output time of the output time of the packet 8 which is received in step S10 is referred to as a “target output time”.
Meanwhile, in an initial output time of the packet count table 14, that is, an output time in which initially received packet 8 is included, there is a case where it is difficult to count the number of times Call that the packet 8 is received and the number of times Cd that the interval increases through a certain period depending on a reception timing of the packet 8.
For example, in a case where the time stamp of the initially received packet 8 is nine o'clock and forty seconds, the output time data of the output time “9:01” includes only the number of times Call that the packet 8 is received for 20 seconds until one minute after nine o'clock and the number of times Cd that the interval increases. Accordingly, in a case where the target output time is an initial output time of the packet count table 14, the calculation unit 10 may determine whether or not to calculate the detection rate rd in accordance with the setting performed by the user.
In step S140, the calculation unit 10 adds the detection rate rd of the target output time calculated in step S130 to the packet interval increase detection data 16 for each transmission source address. The calculation unit 10 stores the packet interval increase detection data 16, to which the detection rate rd of the target output time is added, in, for example, a predetermined area of the memory 104. Meanwhile, hereinafter, there is a case where the packet interval increase detection data 16 is referred to as “detection data 16”.
Here, the detection data 16 will be described with reference to
For example, in a case where the target output time is “9:05”, the output time data in which the output time is “9:05” is added to the detection data 16 based on the packet count table 14 illustrated in
Meanwhile, in a case where the target output time to be added is not consecutive to the latest output time of the detection data 16 in certain period units, the calculation unit 10 adds the initialized data between the target output time and the latest output time such that the output time is consecutive in certain period units.
Specifically, in a case where the target output time is “9:05” and the latest output time recorded in the detection data 16 is “9:03”, the initialized data in which the output time is “9:04” is added to the detection data 16 in addition to the output time data in which the target output time is “9:05”.
In step S150, the determination unit 20 performs a packet loss determining process of determining whether or not packet loss has occurred upstream of the packet analysis apparatus 2 in each output time and for each transmission terminal based on the detection data 16 which is generated in step S140. Meanwhile, the packet loss determining process will be described later in detail.
In step S160, the calculation unit 10 sets the output time of the received packet 8 to the comparative time. That is, the comparative time which is compared with the output time of the received packet 8 in step S120 is sequentially updated by the output time of the received packet 8.
The reason for this is to, in a case where a plurality of packets 8 whose output times are the same are received, avoid the processes in steps S130 to S160 being repeatedly performed due to packets 8 which are received afterwards.
In step S170, the calculation unit 10 updates the time stamp and the communication direction of session data in the session management table 12 which includes the same session information as the session of the received packet 8.
Specifically, the calculation unit 10 sets the time stamp of the session data to time stamp which is associated with the packet 8 in step S30. In addition, the calculation unit 10 sets the communication direction of the session data to the communication direction of the received packet 8. Accordingly, in the time stamp and the communication direction of the session management table 12, pieces of relevant information of the packet 8, which is received immediately before, are recorded for respective session data.
After the process in step S170 is performed, the process returns to step S10 of
Next, the packet loss determining process in step S150 will be described in detail.
The determination unit 20 performs the packet loss determining process illustrated in
First, in step S200 of
In step S210, the determination unit 20 selects one transmission source address, which is not selected yet, among the transmission source addresses which are included in the detection data 16 that is read in step S200.
In step S220, the determination unit 20 calculates an average rave and a standard deviation rstd of the amount of increase in the detection rate rd in the transmission source address selected in step S210 based on content of the increase amount management table 18 that is updated in step S250 which will be described later.
As illustrated in
Meanwhile, in an example of the increase amount management table 18 illustrated in
In step S230, the determination unit 20 refers to the detection data 16, and calculates the amount of change in the detection rate rd of the target output time for the detection rate rd of the immediately-before output time of the target output time.
In step S240, the determination unit 20 determines whether or not the amount of change in detection rate rd, which is calculated in step S230, is larger than 0, that is, whether or not the amount of change in detection rate rd increases. In a case where the amount of change in detection rate rd increases, the process proceeds to step S250.
In step S250, the determination unit 20 records the amount of change in detection rate rd, which is calculated in step S230, that is, the amount of increase in the detection rate rd in the increase amount management table 18 of the selected transmission source address. Accordingly, in subsequent step S220, it is possible to calculate the average rave and the standard deviation rstd of the amount of increase in the detection rate rd in a form in which the amount of increase in the detection rate rd of the target output time is included.
In step S260, the determination unit 20 determines whether or not the amount of increase in the detection rate rd of the target output time recorded in the increase amount management table 18 in step S250 is equal to or larger than a threshold th2. In a case where the amount of increase in the detection rate rd is equal to or larger than the threshold th2, the process proceeds to step S270.
Here, it is preferable that the threshold th2 is set to a value which is capable of indicating a rapid increase in the amount of increase in the detection rate rd. Specifically, the threshold th2 is set for each transmission terminal through Equation (2) using the average rave and the standard deviation rstd of the amount of increase in the detection rate rd calculated in step S220.
th
2
=r
ave+3rstd (Equation 2)
In this case, statistically, a probability that the amount of increase in the detection rate rd is equal to or larger than the threshold th2 is approximately 0.27%. Accordingly, a situation in which the amount of increase in the detection rate rd is equal to or larger than the threshold th2 is referred to as a situation in which “the amount of increase in the detection rate rd is a rapid increase”.
Meanwhile, Equation (2) is an example in which the threshold th2 is set, and it is apparent that setting of the threshold th2 is not limited to Equation (2). In addition, the threshold th2 is an example of a second threshold of the disclosed technology.
In step S270, the determination unit 20 records a fact that the amount of increase in the detection rate rd of the target output time is equal to or larger than the threshold th2 in the transmission terminal, which is indicated by the selected transmission source address, in the packet loss count table 22.
Here, the packet loss count table 22 will be described with reference to
For example, “1” is set to a relevant position of the packet loss count table 22 in a case where the amount of increase in the detection rate rd is equal to or larger than the threshold th2, and “0” is set to a relevant position of the packet loss count table 22 in a case where the amount of increase in the detection rate rd is smaller than the threshold th2.
Meanwhile, each of the values “0” and “1” is an example which indicates the size of the amount of increase in the detection rate rd, and it is apparent that the size of the amount of increase in the detection rate rd may be indicated by another value.
As an example, notice is taken to a value which is set to a position indicated by the transmission source address “192.168.1.11” and the output time “9:03” in the packet loss count table 22 of
Meanwhile, in a case where the target output time is not consecutive to the latest output time of the packet loss count table 22 in certain period units, the determination unit 20 adds the initialized data between the target output time and the latest output time such that the output time is consecutive in certain period units.
Specifically, in a case where the target output time to be added to the packet loss count table 22 is “9:05” and the latest output time which is recorded in the packet loss count table 22 is “9:03”, the determination unit 20 adds the initialized data in which the output time is “9:04”.
In contrast, in a case where determination is NO in the determining process in step S240 or S260, the process proceeds to step S280.
In step S280, the determination unit 20 records a fact that the amount of increase in the detection rate rd of the target output time is smaller than the threshold th2 in the transmission terminal, which is indicated by the selected transmission source address, in the packet loss count table 22.
In step S290, the determination unit 20 determines whether or not all of the transmission source addresses included in the detection data 16 are selected. In a case where there is a transmission source address which is not selected yet among the transmission source addresses included in the detection data 16, the process returns to step S210. Furthermore, the processes in steps S210 to S290 are repeated, and thereby the packet loss count table 22 is acquired where a situation, in which the amount of increase in the detection rate rd rapidly increases in the target output time, is set for each transmission source address.
In a transmission terminal in which the amount of increase in the detection rate rd of a specific output time rapidly increases, it may be considered that there is a high probability that the packet loss has occurred upstream of the packet analysis apparatus 2 in the certain period indicated by the specific output time, compared to the other transmission terminals in which the amount of increase in the detection rate rd of the specific output time does not rapidly increase.
However, there are many cases in which the packet loss has occurred due to failures, increase in the amount of traffic in the network 1, failures of the switch apparatus 3, and cut-off of the communication line, of a system for transmitting the packet 8 in the network 1. In this case, it may be considered that the amount of increase in the detection rate rd rapidly increases at the same time in a plurality of transmission terminals.
Accordingly, it is preferable to determine that packet loss has occurred in a case where the amount of increase in the detection rate rd rapidly increases in the plurality of transmission terminals in the specific output time instead of determining that packet loss has occurred for each transmission terminal based on the situation in which the amount of increase in the detection rate rd rapidly increases.
Therefore, in step S300, the determination unit 20 extracts a transmission source address of a transmission terminal, in which it is determined that the amount of increase in the detection rate rd of the target output time is equal to or larger than the threshold th2, from the packet loss count table 22. Specifically, the determination unit 20 extracts a transmission source address in which “1” is set to the output time data of the target output time.
In step S310, the determination unit 20 determines whether or not the number of extractions of the transmission source address extracted in step S300 is equal to or larger than a threshold th3. In a case where the number of extractions of the transmission source address is equal to or larger than the threshold th3, the process proceeds to step S320.
Here, it is preferable that the threshold th3 is set to the number of transmission terminals which are expected that the amount of increase in the detection rate rd rapidly increases in a case where, for example, failures occur in the system for transmitting the packet 8 in the network 1. As described above, in this case, it is considered that the amount of increase in the detection rate rd is rapid in the plurality of transmission terminals, and thus the threshold th3 is set to a value which is equal to or larger than 2. Meanwhile, it is possible to acquire the number of transmission terminals by, for example, actual measurement in the network 1, computer simulation based on design specification of the network 1, or the like.
In a case where the number of extractions of the transmission source address is equal to or larger than the threshold th3, the determination unit 20 determines that the packet 8 of the transmission terminal, which is indicated by the extracted transmission source address, is missing upstream of the packet analysis apparatus 2, that is, determines that packet loss has occurred.
In step S320, the determination unit 20 converts the respective transmission source addresses included in the packet loss count table 22 into host names, that is, names which are assigned to the transmission terminals corresponding to the transmission source addresses with reference to the address conversion table 24.
As illustrated in
In step S330, the determination unit 20 generates the packet loss notification data 26 based on the packet loss count table 22 and the host names acquired in step S320. Specifically, the determination unit 20 acquires the packet loss notification data 26, which was generated last time, from the memory 104, and adds the output time data, which indicates whether or not packet loss has occurred in the respective transmission terminals in the target output time, to the packet loss notification data 26. Here, in a case where the packet loss notification data 26 is not stored in the memory 104, the determination unit 20 newly generates empty packet loss notification data 26, and adds the output time data in the target output time to the packet loss notification data 26.
Meanwhile, in a case where the target output time is not consecutive to the latest output time of the packet loss notification data 26 in certain period units, the determination unit 20 adds initialized data between the target output time and the latest output time such that the output time is consecutive in certain period units.
For example, in a case where the target output time is “9:05” and the latest output time recorded in the packet loss notification data 26 is “9:03”, the determination unit 20 also adds initialized data, in which the output time is “9:04”, to the packet loss notification data 26.
The determination unit 20 outputs the generated packet loss notification data 26 to the display device 116, and ends the packet loss determining process illustrated in
The display device 116 which receives the packet loss notification data 26 displays whether or not packet loss has occurred for each transmission terminal in a form according to time series on a screen of the display device 116 based on content of the packet loss notification data 26.
In the example of the screen of
In contrast, in a case where the number of extractions of the transmission source address is smaller than the threshold th3 in step S310, the packet loss determining process illustrated in
As described above, the packet analyzing process illustrated in
In this manner, the packet analysis apparatus 2 according to the first embodiment receives the packet 8, which is the monitoring target and flows through the communication line, until an end instruction of the packet analyzing process is received from the user, and calculates the detection rate rd in each of the transmission terminals in each output time, that is, for each certain period. Furthermore, the packet analysis apparatus 2 calculates the amount of increase in the detection rate rd of consecutive output times. In a case where there are transmission terminals whose amount of increase in the detection rate rd is equal to or larger than the threshold th2 as many as a number which is equal to or larger than the threshold th3, the packet analysis apparatus 2 determines that packet loss has occurred in the transmission terminals.
Accordingly, the packet analysis apparatus 2 according to the first embodiment is capable of accurately detecting whether or not packet loss has occurred, compared to a case of detecting a fact that packet loss has occurred upstream of the packet analysis apparatus 2 in a case where the transmission interval between the packets 8 is simply longer than the predetermined interval.
In addition, in the packet analysis apparatus 2 according to the first embodiment, whenever the packet analyzing process of
In addition, the packet analysis apparatus 2 according to the first embodiment outputs a result of determination whether or not packet loss has occurred in time series using the packet loss notification data 26. Accordingly, compared to a case where only the latest result of determination relevant to whether or not packet loss has occurred is output, it is possible to supply a tendency of change in packet loss occurrence situation in the network 1 to the user.
Meanwhile, in the packet analysis apparatus 2 according to the first embodiment, the amount of increase in the detection rate rd is compared with the threshold th2 in step S260 of
In the packet analysis apparatus 2 according to the first embodiment, it is determined whether or not packet loss has occurred upstream of the packet analysis apparatus 2 based on the number of transmission terminals in which the amount of increase in the detection rate rd is equal to or larger than the threshold th2.
In a second embodiment, a packet analysis apparatus 2A will be described which determines whether or not packet loss has occurred upstream of the packet analysis apparatus based on a probability of occurrence for the transmission terminals in which the amount of increase in the detection rate rd is equal to or larger than the specific threshold in the same output time.
Meanwhile, a form of a network which is coupled to the packet analysis apparatus 2A according to the second embodiment is the same as the network 1 illustrated in in
Subsequently, an operation of the packet analysis apparatus 2A according to the second embodiment will be described. Similarly to the packet analysis apparatus 2 according to the first embodiment, the packet analysis apparatus 2A performs the packet analyzing process illustrated in
However, in step S150 of
The packet loss determining process illustrated in
In step S225 of
Specifically, the determination unit 20 refers to the packet loss count table 22, and calculates a ratio of the number of output times whose value is set to “1” to the number of output times recorded in the packet loss count table 22 for each transmission source address. Furthermore, the determination unit 20 sets each ratio to a probability pi in a transmission source address i.
For example, in the packet loss count table 22 illustrated in
The determination unit 20 stores the calculated probability pi in, for example, the predetermined area of memory 104.
Furthermore, in step S302 of
It is possible to calculate the probability p through multiplication of the probability pi corresponding to the respective transmission source addresses extracted in step S300.
For example, in a case where the transmission source addresses “192.168.1.11” and “192.168.1.12” are extracted in step S300, a probability p1 corresponding to “192.168.1.11” is the probability p1, and a probability p1 corresponding to “192.168.1.12” is the probability p2, the probability p is calculated through Equation (3).
In step S304, the determination unit 20 determines whether or not the probability p calculated in step S302 is equal to or smaller than a threshold th4. In a case where the probability p is equal to or smaller than the threshold th4, the process proceeds to step S320. Otherwise, the packet loss determining process illustrated in
Since the probability p is calculated through multiplication of the probability pi for each transmission source address in which the amount of increase in the detection rate rd is the threshold th2, there is a tendency that a value is small as the number of transmission terminals, in which the amount of increase in the detection rate rd rapidly increases, increases. Accordingly, in a case where, for example, failures occur in the system for transmitting the packet 8 in the network 1, it is preferable to set the threshold th4 based on the number of transmission terminals, which are assumed that the amount of increase in the detection rate rd rapidly increases, and a standard probability pi of the transmission terminals.
Meanwhile, it is possible to acquire the number of transmission terminals and a value of the standard probability pi in advance through, for example, actual measurement in the network 1 or computer simulation based on the design specification of the network 1.
Accordingly, in a case where the probability p calculated in step S302 is smaller than the threshold th4, it is possible for the determination unit 20 to determine that the packet 8 of the transmission terminal, which is indicated by the transmission source address extracted instep S300, is missing upstream of the packet analysis apparatus 2.
Hereinafter, similarly to the packet analysis apparatus 2 according to the first embodiment, the determination unit 20 generates the packet loss notification data 26 by performing the processes in steps S320 and step S330, and outputs the generated packet loss notification data 26 to the display device 116.
As described above, in a case where the probability p of existence of the transmission terminals in which the amount of increase in the detection rate rd is equal to or larger than the threshold th2 in the same output time is equal to or smaller than the threshold th4, the packet analysis apparatus 2A according to the second embodiment determines that packet loss has occurred in each of the transmission terminals.
Accordingly, even in a case where the number of transmission terminals whose amount of increase in the detection rate rd rapidly increases is smaller than the threshold th3, it is possible for the packet analysis apparatus 2A to determine that packet loss has occurred upstream of the packet analysis apparatus 2A.
Meanwhile, similarly to the packet analysis apparatus 2 according to the first embodiment, in the packet analysis apparatus 2A, the increase rate in the detection rate rd may be compared with the threshold instead of the amount of increase in the detection rate rd in step S260 of
In the packet analysis apparatuses 2 and 2A according to the first embodiment and the second embodiment, it is determined whether or not packet loss has occurred based on the amount of increase in the detection rate rd of the packet 8, in which the packet interval is equal to or larger than the threshold th1, among packets 8 received in the certain period.
In a third embodiment, a packet analysis apparatus 2B will be described which determines whether or not packet loss has occurred upstream of the packet analysis apparatus based on the detection rate rd instead of the amount of increase in the detection rate rd.
Meanwhile, a form of a network to which the packet analysis apparatus 2B according to the third embodiment is coupled is the same as the network 1 illustrated in
As illustrated in
Subsequently, an operation of the packet analysis apparatus 2B according to the third embodiment will be described. Similarly to the packet analysis apparatus 2 according to the first embodiment, the packet analysis apparatus 2B performs the packet analyzing process illustrated in
However, the packet analysis apparatus 2B performs a packet loss determining process illustrated in
First, in step S190, the determination unit 20 initializes, for example, a determination counter value which is stored in the predetermined area of the memory 104 as “0”.
Thereafter, steps S200 and S210 of
In step S215, the determination unit 20 calculates an average have and a standard deviation hstd of the detection rate rd so far in the transmission source address selected in step S210 based on content of the detection data 16.
In step S235, the determination unit 20 determines whether or not the detection rate rd of the target output time in the transmission source address selected in step S210 is equal to or larger than a threshold th5 with reference to the detection data 16. In a case where the detection rate rd is equal to or larger than the threshold th5, the process proceeds to step S245.
Here, it is preferable to set the threshold th5 to a value which can be considered that detection rate rd rapidly increases. Specifically, similarly to Equation (2) which is an example of calculation of the threshold th2, the threshold th5 is set for each transmission terminal as in Equation (4) using the average have and the standard deviation hstd of the detection rate rd which are calculated in step S215.
th
5
=h
ave+3hstd (Equation 4)
Meanwhile, a situation in which the detection rate rd is equal to or larger than the threshold th5 is referred to as a situation in which detection rate rd rapidly increases. In addition, it is apparent that Equation (4) is an example of setting the threshold th5 and the setting of the threshold th5 is not limited to Equation (4). The threshold th5 is an example of a second threshold of the disclosed technology.
In step S245, the determination unit 20 increases the determination counter by one.
In contrast, in a case where the detection rate rd is smaller than the threshold th5 in step S235, the process proceeds to step S290 without performing step S245.
Furthermore, as described above, the determination unit 20 determines whether or not all of the transmission source addresses included in the detection data 16 are selected in step S290, and repeats the processes in step S210 to S290 until all of the transmission source addresses are selected.
Accordingly, the number of transmission terminals, in which the detection rate rd is equal to or larger than the threshold th5 in the target output time, are recorded in the determination counter.
In step S305, the determination unit 20 determines whether or not the determination counter value is equal to or larger than a threshold th6. In a case where the determination counter value is equal to or larger than the threshold th6, the process proceeds to step S315.
Here, it is preferable that the threshold th6 is set to the number of transmission terminals which are assumed that the detection rate rd rapidly increases in a case where, for example, failures occur in the system for transmitting the packet 8 in the network 1. As described above, in this case, it is considered that the detection rate rd rapidly increases in a plurality of transmission terminal, and thus the threshold th6 is set to a value which is equal to or larger than 2. Meanwhile, it is possible to acquire the number of transmission terminals in advance through, for example, actual measurement in the network 1 or computer simulation based on the design specification of the network 1.
In a case where the determination counter value is equal to or larger than the threshold th6, the determination unit 20 determines that packet loss has occurred in the transmission terminals in which the detection rate rd is equal to or larger than the threshold thy.
Accordingly, in step S315, the determination unit 20 refers to the address conversion table 24, and converts the respective transmission source addresses included in the detection data 16 into host names.
Furthermore, the same process as in step S330 of
In contrast, in a case where the determination counter value is smaller than the threshold th6 in step S305, the packet loss determining process illustrated in
As described above, the packet analyzing process illustrated in
As described above, the packet analysis apparatus 2B according to the third embodiment determines whether or not packet loss has occurred upstream of the packet analysis apparatus 2B based on the number of transmission terminals in which the detection rate rd is equal to or larger than the threshold th5. In this case, it is not demanded to calculate the amount of increase in the detection rate rd of consecutive output times, and thus it is possible to reduce time for determining packet loss, compared to a case where it is determined whether or not packet loss has occurred based on the amount of increase in the detection rate rd.
The packet analysis apparatus 2B according to the third embodiment determines whether or packet loss has occurred upstream of the packet analysis apparatus 2B based on the number of transmission terminals in which the detection rate rd is equal to or larger than the threshold th5.
In a fourth embodiment, a packet analysis apparatus 2C will be described which determines whether or not packet loss has occurred upstream of the packet analysis apparatus based on a probability of occurrence for transmission terminals in which the detection rate rd is equal to or larger than a specific threshold in the same output time. That is, the fourth embodiment is a modified example of the packet analysis apparatus 2A according to the second embodiment, and a degree of increase in packet interval is evaluated by detection rate rd instead of the amount of increase in the detection rate rd.
Meanwhile, a form of a network to which the packet analysis apparatus 2C according to the fourth embodiment is coupled is the same as the network 1 illustrated in
As illustrated in
An example of a configuration of the packet analysis apparatus 2C illustrated in
Meanwhile, an example of a configuration in which the packet analysis apparatus 2C is realized by a computer is the same as in
Subsequently, an operation of the packet analysis apparatus 2C according to the fourth embodiment will be described. Similarly to the packet analysis apparatus 2A according to the second embodiment, the packet analysis apparatus 2C performs the packet analyzing process illustrated in
However, the packet analysis apparatus 2C performs a packet loss determining process illustrated in
The packet loss determining process illustrated in
After step S200 and S210 which are already described are performed, the determination unit 20 calculates an average have and a standard deviation hstd of the detection rate rd of the transmission source addresses, which are selected in step S210, in step S215.
In step S222, the determination unit 20 calculates a probability qi, in which the detection rate rd is equal to or larger than the threshold th5, for each transmission source address.
Specifically, the determination unit 20 refers to the detection data 16, and calculates a ratio of output times, in which the detection rate rd is equal to or larger than the threshold th5, among the respective output times for each transmission source address. Furthermore, each ratio is set to a probability qi of the transmission source address i.
The determination unit 20 stores the calculated probability qi in, for example, a predetermined area of the memory 104.
In step S232, the determination unit 20 refers to the detection data 16, and acquires the detection rate rd of the target output time in the transmission source address selected in step S210.
In step S242, the determination unit 20 determines whether or not the detection rate rd acquired in step S232 is equal to or larger than the threshold th5. In a case where the detection rate rd is equal to or larger than the threshold th5, the process proceeds to step S255.
In step S255, the determination unit 20 records a fact that the detection rate rd of the target output time in the transmission terminal, which is indicated by the transmission source address selected in step S210, is equal to or larger than the threshold th5 in the packet loss count table 22A.
Here, the packet loss count table 22A is, for example, a table in which a size of the detection rate rd of each output time is counted for each transmission source address of the packet 8, and has the same data structure as the packet loss count table 22 illustrated in
In the packet loss count table 22 illustrated in
Meanwhile, each of the values of “0” and “1” is an example which indicates the size of the detection rate rd, and it is apparent that the size of the detection rate rd may be indicated by other values.
In addition, in a case where the target output time is not consecutive to the latest output time of the packet loss count table 22A in certain period units, the determination unit 20 adds initialized data between the target output time and the latest output time such that the output time is consecutive in certain period units.
In contrast, the determining process in step S242 is NO, the process proceeds to step S265.
In step S265, the determination unit 20 records a fact that the detection rate rd of the target output time in the transmission terminal which is indicated by the transmission source address selected in step S210 is smaller than the threshold th5 in the packet loss count table 22A.
Furthermore, in step S290, the determination unit 20 determines whether or not all of the transmission source addresses included in the detection data 16 are selected, and repeats the processes in steps S210 to S290 until all of the transmission source addresses are selected.
Accordingly, the output time data of the target output time in the packet loss count table 22A, “0” or “1” is set to all of the transmission source addresses.
In step S306, the determination unit 20 extracts a transmission source address of a transmission terminal, which is determined that the detection rate rd of the target output time is equal to or larger than the threshold th5, form the packet loss count table 22A.
In step S308, the determination unit 20 calculates a probability q in which the detection rate rd is equal to or larger than the threshold th5 in the same output time in each of the transmission terminals indicated by the transmission source addresses extracted in step S306.
It is possible to calculate the probability q through multiplication of the probability qi corresponding to the respective transmission source addresses extracted in step S306.
In step S312, the determination unit 20 determines whether or not the probability q calculated in step S308 is equal to or smaller than a threshold th7. In a case where the probability q is equal to or smaller than the threshold th7, the process proceeds to step S320. Otherwise, the packet loss determining process illustrated in
Similarly to the probability p, there is a tendency that a value of the probability q is small as the number of transmission terminals, in which the detection rate rd rapidly increases, increases.
Accordingly, in a case where, for example, failures occur in the system for transmitting the packet 8 in the network 1, it is preferable to set the threshold th7 based on the number of transmission terminals, which are assumed that the detection rate rd rapidly increases, and a standard probability qi of the transmission terminals. Meanwhile, it is possible to acquire the number of transmission terminals and a value of the probability qi in advance through, for example, actual measurement in the network 1 or computer simulation based on the design specification of the network 1.
Accordingly, in a case where the probability q calculated in step S308 is equal to or smaller than the threshold th7, it is possible for the determination unit 20 to determine that the packet 8 of the transmission terminal indicated by the transmission source address extracted in step S306 is missing upstream of the packet analysis apparatus 2C.
Hereinafter, similarly to the packet analysis apparatus 2A according to the second embodiment, the determination unit 20 generates the packet loss notification data 26 by performing the processes in steps S320 and S330, and outputs the generated packet loss notification data 26 to the display device 116.
As described above, in a case where the probability q, in which there are transmission terminals whose detection rate rd is equal to or larger than the threshold th5 in the same output time, is equal to or smaller than the threshold th7, the packet analysis apparatus 2C according to the fourth embodiment determines that packet loss has occurred in each of the transmission terminals.
Accordingly, the packet analysis apparatus 2C is not desired to calculate the amount of increase in the detection rate rd of consecutive output times. In addition, even in a case where the number of transmission terminals whose detection rate rd rapidly increases is smaller than the threshold th6, it is possible for the packet analysis apparatus 2C to determine that packet loss has occurred upstream of the packet analysis apparatus 2C.
Meanwhile, in the packet analysis apparatuses 2, 2A, 2B, and 2C (hereinafter, referred to as the packet analysis apparatus 2 and the like) according to the respective embodiments which are described above, an example, in which the packet analyzing process illustrated in
For example, the packet analysis apparatus 2 and the like receives the packets 8 during a period from when an instruction to start receiving the packet 8 is received from the user to when an end instruction is received, and stores the received packets 8 in the predetermined area of the memory 104. In this case, the packet analysis apparatus 2 and the like associates time stamps with the received packets 8, respectively, and stores association results in the memory 104.
Furthermore, in a case where the analysis start instruction is received from the user, the packet analysis apparatus 2 and the like acquires the stored packets 8 from the memory 104 in order of old time stamp one by one, and may perform the packet analyzing process illustrated in
In addition, the packet analysis apparatus 2 and the like determines whether or not packet loss has occurred upstream of the packet analysis apparatus 2 and the like using a value based on the detection rate rd instead of the number of times Cd that the interval between the packets 8 increases in the packet count table 14 illustrated in
In a case where whether or not the packet loss has occurred is determined using the number of times Cd that the interval between the packets 8 increases, a tendency is seen that a transmission terminal which transmits a larger number of packets 8 in a specific output time has an increasing number of times Cd that the interval between the packets 8 increases. Accordingly, the number of times Cd that the interval between the packets 8 increases is influenced by a frequency in which the packet 8 is transmitted by the transmission terminal, and thus it is difficult to determine whether or not packet loss has occurred upstream of the packet analysis apparatus 2 and the like using the number of times Cd that the interval between the packets 8 increases.
Meanwhile, such a situation occurs in the same manner in a case of using a value based on the number of times Cd that the interval between the packets 8 increases, for example, the amount of increase in the number of times Cd that the interval between the packets 8 increases or the increase rate of the number of times Cd that the interval increases.
In addition, the packet analysis apparatus 2 and the like may transmit the packet loss notification data 26 to, for example, another terminal, such as a computer which is coupled to the network 1, and may display an example of a screen based on the packet loss notification data 26 as illustrated in
In addition, as illustrated in
In addition, it is possible to apply various modifications to a setting method relevant to the output time. For example, the output times of the packet count table 14, the packet interval increase detection data 16, the packet loss count tables 22 and 22A, and the packet loss notification data 26 are indicated by hours and minutes as an example, years, month, and dates may be added. In addition, the output time may be indicated by years, month, dates, hours, minutes, and seconds. In this case, the packet count table 14, the detection data 16, the packet loss count tables 22 and 22A, and the packet loss notification data 26 is not desired to be prepared for each date.
In addition, in a case where the output time is set in second units, for example, the output time may be set from a time in which the packet 8 is received without setting convenient time, such as nine o'clock to a setting time. For example, if a certain interval is one minute and the time in which the packet 8 is received is at nine and twenty-one seconds, the output time may be set as “9:00:21”, “9:01:21”, “9:02:21”, . . . .
Hereinabove, although the disclosed technology is described using the respective embodiments, the disclosed technology is not limited to scopes described in the respective embodiments. Various modifications and improvements of the respective embodiments are possible without departing from the gist of the disclosed technology, and embodiments to which the modifications and improvements are added are also included in the technical scope of the disclosed technology. For example, the sequence of the processes may be changed without departing from the gist of the disclosed technology.
In addition, in the respective embodiments, a form in which the packet analysis program 120 is stored (installed) in advance in the storage unit 106 is described, the disclosed technology is not limited thereto. It is possible to provide the packet analysis program according to the disclosed technology in a form in which the packet analysis program is recorded in the computer-readable recording medium 118. For example, it is possible to provide the packet analysis program according to the disclosed technology in a form in which the packet analysis program is recorded in a portable recording medium such as a CD-ROM, a DVD-ROM or a USB memory. In addition, it is possible to provide the packet analysis program according to the disclosed technology in a form in which the packet analysis program is recorded in a semiconductor memory, such as a flash memory, or the like.
All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although the embodiments of the present invention have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2016-044660 | Mar 2016 | JP | national |