Communication apparatus, communication system, communication method, and program

JP2025033441APending Publication Date: 2025-03-13NEC CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2023139161
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-08-29
Publication Date
2025-03-13

AI Technical Summary

Benefits of technology

【0014】 本発明の各視点によれば、充分かつ自然なネットワークの遅延を生成可能な通信装置、通信システム、通信方法、及びプログラムを提供することが可能である。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025033441000001_ABST
    Figure 2025033441000001_ABST
Patent Text Reader

Abstract

To provide a communication apparatus, a communication system, a communication method, and a program, capable of generating a delay of a natural and sufficient network.SOLUTION: The present invention provides a communication apparatus including: a packet identification information acquisition part that acquires packet identification information for identifying a packet received from a transmission source; a packet identification information holding part that holds the packet identification information; a transfer part that transfers the packet to be received to the other communication apparatus; a packet identification information verification determination part that verifies responce packet identification information for identifying a responce packet from the other communication apparatus with the packet identification information held to the packet identification information holding part, and determines whether or not it is the same or the corresponded packet; and a transmission part that transmits the packet to a transmission destination on the basis of a determination result of the packet identification information verification determination part.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a communication device, a communication system, a communication method, and a program capable of generating a natural and sufficient network delay. [Background technology]

[0002] In a network, communication delays occur depending on the physical distance between the communication partners. The time of communication delay is called latency, and the round trip latency from when a request is sent until a response arrives is called RTT (Round Trip Time). When developing a communication program, it is often necessary to keep this RTT in mind, and network emulators that intentionally increase or decrease the RTT may be used during development.

[0003] Patent Document 1 discloses the following invention of a network emulator device, etc. In this invention, a timer and a delay processing unit are provided in a virtual node in a network emulator to generate a delay time from when a request is sent to the virtual node until a response to the request is received. The delay processing unit executes a process of storing the response to the request for a predetermined time based on the timer's timing, and transmitting the response after the predetermined time has elapsed. The setting of the degree of delay generated in the delay processing unit is determined by a predetermined delay model. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] JP 2011-101140 A Summary of the Invention [Problem to be solved by the invention]

[0005] The disclosures of the above-mentioned prior art documents are incorporated herein by reference. The following analysis has been carried out by the present inventors.

[0006] As described above, the invention disclosed in Patent Document 1 makes it possible to emulate the RTT in communication by generating a delay in network communication. In addition, it is possible to control the length of the communication path where the delay occurs, i.e., the amount of delay, by adjusting the parameters of the model.

[0007] However, in the invention disclosed in Patent Document 1, firstly, in order to generate a delay of a predetermined time, it is necessary to have a function of waiting and storing the transfer of a response packet. In other words, the packet needs to be stored in a storage area, and the size of the storage area needs to be the communication bandwidth x delay time. If the generated delay time becomes extremely long, there is a problem that an enormous storage area is required. Secondly, since the generation of the delay is based on a mathematical model, there is a problem that the distribution is not necessarily the same as the distribution of delays in an actual network.

[0008] Therefore, in one aspect of the present invention, an object is to provide a communication device, a communication system, a communication method, and a program that are capable of generating a sufficient and natural network delay. [Means for solving the problem]

[0009] According to a first aspect of the present invention, there is provided a communication device having a packet identification information acquisition unit that acquires packet identification information for identifying a packet received from a source, a packet identification information holding unit that holds the packet identification information, a forwarding unit that forwards the received packet to another communication device, a packet identification information matching and judgment unit that compares response packet identification information that identifies a response packet from the other communication device with the packet identification information held in the packet identification information holding unit to determine whether the packets are identical or corresponding, and a transmitting unit that transmits the packet to a destination based on a judgment result of the packet identification information matching and judgment unit.

[0010] According to a second aspect of the present invention, there is provided a communication system including a response device having a response unit that generates a response packet using the payload of the received packet as is and responds, a packet identification information acquisition unit that acquires packet identification information that identifies the packet received from a sender, a packet identification information holding unit that holds the packet identification information, a transfer unit that transfers the received packet to the response device, a packet identification information matching and judgment unit that compares response packet identification information that identifies a response packet from the other communication device with the packet identification information held in the packet identification information holding unit to determine whether the packets are identical or corresponding, and a transmission unit that transmits the packet to a destination based on a judgment result of the packet identification information matching and judgment unit.

[0011] According to a third aspect of the present invention, there is provided a communication method for causing a computer to execute the following steps, the communication method including: a step of acquiring packet identification information for identifying a packet received from a source; a step of storing the packet identification information in a memory area; a step of transferring the received packet to another communication device; a step of comparing response packet identification information for identifying a response packet from the other communication device with the packet identification information stored in the memory area to determine whether the packets are identical or corresponding to each other; and a step of transmitting the packet to a destination based on the determination result.

[0012] According to a fourth aspect of the present invention, there is provided a program for causing a computer to execute the steps of: acquiring packet identification information for identifying a packet received from a source; storing the packet identification information in a memory area; forwarding the received packet to another communication device; comparing response packet identification information for identifying a response packet from the other communication device with the packet identification information stored in the memory area to determine whether the packets are identical or corresponding; and transmitting the packet to a destination based on the determination result.

[0013] The program can be recorded on a computer-readable storage medium. The storage medium can be a non-transient medium such as a semiconductor memory, a hard disk, a magnetic recording medium, an optical recording medium, etc. The present invention can also be embodied as a computer program product. Effect of the Invention

[0014] According to each aspect of the present invention, it is possible to provide a communication device, a communication system, a communication method, and a program capable of generating a sufficient and natural network delay. [Brief description of the drawings]

[0015] [Figure 1] 1 is a block diagram showing an example of a configuration of a communication device according to the present disclosure. [Diagram 2] 1 is a diagram showing an overview of processing in a communication device according to the present disclosure. [Diagram 3] FIG. 2 is a diagram illustrating an example of packet identification information of the present disclosure. [Figure 4] 4 is a flowchart for explaining the operation of the communication device of the present disclosure. [Diagram 5] 2 is a block diagram showing an example of a hardware configuration of a communication device according to the present disclosure. [Figure 6] FIG. 2 is a diagram showing an overview of the processing of a communication device according to the present disclosure. [Figure 7] 1 is a block diagram illustrating an example of a configuration of a communication device according to the present disclosure. [Figure 8] 1 is a diagram showing an example of a delay policy in a communication device according to the present disclosure; [Figure 9] 11 is a diagram showing another example of a delay policy in the communication device of the present disclosure. FIG. [Figure 10] FIG. 2 is a diagram showing an overview of processing performed by a communication device according to the present disclosure. [Figure 11] 11 is a flowchart for explaining an operation of a communication device according to the present disclosure. [Figure 12]FIG. 1 is a diagram illustrating an example of a configuration of a communication system according to the present disclosure. [Figure 13] 4 is a flowchart for explaining the operation of the communication system of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0016] First, an outline of one embodiment will be described. Note that the reference numerals in the drawings are given to each element for convenience as an example to facilitate understanding, and the description of the outline is not intended to be limiting. In this disclosure, the drawings relate to one or more embodiments.

[0017] 1 is a block diagram showing an example of the configuration of a communication device according to the present disclosure. A communication device 10 according to the present disclosure includes a packet identification information acquisition unit 11, a packet identification information storage unit 12, a transfer unit 13, a packet identification information matching and determination unit 14, and a transmission unit 15.

[0018] Packet identification information acquisition unit 11 acquires packet identification information for identifying a packet received from a transmission source. Packet identification information holding unit 12 holds the packet identification information. Transfer unit 13 transfers the received packet to another communication device. Packet identification information matching and judgment unit 14 matches response packet identification information for identifying a response packet from the other communication device with packet identification information held in the packet identification information holding unit, and judges whether the packets are the same or corresponding. Transmission unit 15 transmits the packet to a transmission destination based on the judgment result of packet identification information matching and judgment unit 14.

[0019] In this manner, the communication device of the present disclosure forwards a packet from a sender to another communication device. The device receives a response packet for the forwarded packet and transmits it to the destination. In this manner, it is possible to generate a communication delay by forwarding a packet to another communication device and diverting it. By acquiring packet identification information before forwarding, it is possible to determine whether this packet identification information matches the identification information of a response packet forwarded to another device and arriving in response thereto, and to transmit the packet based on the result of the determination, thereby making it possible to deliver the packet to the destination.

[0020] The delay on the network generated through the above process is not generated by emulation using a model, but is generated by actual communication, and shows a more natural distribution than the delay distribution generated by the model. Also, it is possible to generate a long delay by setting the distance to the other destination device sufficiently long.

[0021] [First embodiment] [Processing Overview] 2 is a diagram showing an overview of the process in the communication device of the present disclosure. As shown in this diagram, a communication device X21, a communication management DB22 connected thereto, and another communication device C23 are arranged. Here, a test is performed to see whether an application program communicating between a source A24 and a destination B25 operates normally under a specified delay.

[0022] Here, a packet 26 is sent from source A 24 to destination B 25. The header of the packet 26 contains source A and destination (destination) B. The packet 26 reaches the communication device X 21. The communication device X 21 acquires the packet identification information of the packet 26 and stores it in the communication management DB 22. The communication device X 21 rewrites the header of the packet 26 and transmits a packet 27 toward another communication device C 23. The other communication device C receives the packet 27 and transmits it again as a response packet 28 toward the communication device X 21. The communication device X 21 receives this packet and compares it with the packet identification information in the communication management DB 22 to find packet identification information that matches the identification information of the response packet 28. If the packet 28 is determined to match the identification information of the packet 26 as a result of the comparison, it is transmitted to destination B with the source A and destination B in the header.

[0023] In this way, it is possible to generate a delay by forwarding a packet to destination B from communication device X21 to another communication device C23 and making a round trip to detour the packet. In order to generate a delay, the source and destination of the packet 26 are rewritten in the header information of the packet 26 by forwarding it, but it is possible to maintain identity by acquiring packet identification information in communication device X21 and comparing it with the identification information of the response packet 28.

[0024] [Device configuration] An example of the configuration of a communication device according to the present disclosure is similar to the example of the configuration in one embodiment, and is shown in Fig. 1. A communication device 10 according to the present disclosure includes a packet identification information acquisition unit 11, a packet identification information storage unit 12, a transfer unit 13, a packet identification information matching and determination unit 14, and a transmission unit 15, similar to the one embodiment.

[0025] The packet identification information acquisition unit 11 acquires packet identification information for identifying a packet received from a sender. "Acquisition" means generating and extracting information required for identifying a packet from packet data. For example, it means processing such as acquiring a sender address or a destination address from the header information data of a packet, or calculating a hash value of payload data by calculation. FIG. 3 is a diagram showing an example of packet identification information. As shown in this figure, the sender, the destination, and the hash value of the payload are shown. In the example of FIG. 2, as shown in the first line, the sender is "A", the destination is "B", and the hash value of the payload is "1234abcd". Such information may be held as a list, a queue, or a stack in order of reception time, for example.

[0026] Specifically, the source and destination may be the IP addresses described in the "Source Address" and "Destination Address" described in the IP header, respectively. In addition to these pieces of information, the reception time may be included. In addition to the hash value of the payload, a value combining, for example, "Identification" and "Fragment Offset" in the IP header may be used to indicate the uniqueness of the packet in each row. In this way, by using the hash value of the payload, etc., instead of adopting the data of the entire packet as the identification information, firstly, it becomes possible to perform high-speed processing when identifying a response packet in the packet identification information matching and judging unit 14 described later. Secondly, it becomes possible to save the storage area of ​​the packet identification information holding unit 12 described later.

[0027] The packet identification information holding unit 12 holds packet identification information. The packet identification information acquired by the packet identification information acquisition unit 11 is stored and held, and corresponds to the communication management DB 22 in Fig. 2. Although the communication management DB 22 is arranged outside the communication device X21 in Fig. 2, the communication management DB 22 may be arranged inside the communication device X21.

[0028] The forwarding unit 13 forwards the received packet to another communication device. Specifically, the forwarding unit 13 rewrites the header of the received packet and executes a process for sending the packet to another server. In FIG. 2, the forwarding unit 13 rewrites the header of packet 26 to the header of packet 27 and transmits the packet to another communication device C23.

[0029] The packet identification information collation and determination unit 14 compares the response packet identification information for identifying a response packet from the other communication device with the packet identification information held in the packet identification information holding unit 12 to determine whether they are identical or corresponding packets. The other communication device responds to the communication device with the packet forwarded by the forwarding unit 13 as a response packet with the payload intact. The communication device receives the response packet and performs a collation process for the packet identification information. Specifically, the communication device first obtains the response packet and processes it in the same way as the stored packet identification information to obtain the response packet identification information. Then, the packet identification information holding unit 12 is searched for whether the same or corresponding packet identification information is held in the packet identification information holding unit 12 using the response packet identification information as a key. If it is determined that the same or corresponding packet identification information has been found as a result, the packet data is passed to the transmission unit 15 described later.

[0030] The transmitting unit 15 transmits the packet to the destination based on the judgment result of the packet identification information matching and judging unit 14. As described above, the transmitting unit 15 executes a process for transmitting the response packet data received from the packet identification information matching and judging unit 14 to the destination. Specifically, the transmitting unit 15 rewrites the destination (destination) on the header of the response packet to the destination of the packet identification information held in the packet identification information holding unit 12, and transmits the packet to the destination.

[0031] In addition, if the packet identification information matching and judgment unit 14 finds no match as a result of searching the packet identification information storage unit 12, it either ends the process or returns to the process of receiving another packet from the sender via the packet identification information acquisition unit 11.

[0032] In addition, the transmitting unit 15 may compare the response packet identification information with the packet identification information held in the packet identification information holding unit 12 in the packet identification information matching and judgment unit 14, and if it determines that the packets are the same or corresponding, transmit the packet to the destination and delete the same or corresponding packet identification information held in the packet identification information holding unit.

[0033] 1, the communication device 10 may further include a timeout processing unit. When a response packet from another communication device is not received within a predetermined time after being forwarded by the forwarding unit 13, the timeout processing unit may perform a process of deleting the packet identification information corresponding to the response packet, which is held in the packet identification information holding unit 12.

[0034] [Explanation of operation] FIG. 4 is a flowchart for explaining the operation of the communication device 10 of the present disclosure. As shown in this figure, when the communication device 10 starts its operation, it acquires packet identification information received from the source (step S41). It saves the acquired packet identification information in a storage area (step S42). It then transfers the received packet to another communication device (step S43). When it receives a response packet from another communication device, it compares the response packet identification information with the packet identification information stored in the storage area (step S44). It judges whether the packet is the same or a corresponding packet as a result of the comparison (step S45). If the same or a corresponding packet exists (step S45, Y), it transmits the packet to the destination (step S46) and judges whether it is finished (step S47). If the same or a corresponding packet does not exist (step S45, N), it judges whether it is finished (step S47). If it is not finished (step S47, N), it receives a transmission packet again and returns to the process of acquiring the packet identification information (step S41).

[0035] [Hardware configuration] Next, a description will be given of the hardware configuration of the communication device according to the first embodiment. Fig. 5 is a block diagram showing an example of the hardware configuration of the communication device 10 according to the first embodiment.

[0036] The communication device 10 constituting the communication device can be configured by an information processing device (computer) and has the configuration exemplified in Fig. 5. For example, the communication device 10 includes a CPU (Central Processing Unit) 51, a memory 52, an input / output interface 53, and a NIC (Network Interface Card) 54 as a communication means, which are mutually connected by an internal bus 55.

[0037] However, the configuration shown in Fig. 5 is not intended to limit the hardware configuration of each device constituting the communication device 10. Each communication device 10 may include hardware not shown, and may not include the input / output interface 53 as necessary. In addition, the number of CPUs and the like included in the communication device 10 is not intended to be limited to the example shown in Fig. 5, and for example, each device may include multiple CPUs.

[0038] The memory 52 is a random access memory (RAM), a read only memory (ROM), or an auxiliary storage device (such as a hard disk).

[0039] The input / output interface 53 is a means for interfacing with a display device and an input device (not shown). The display device is, for example, a liquid crystal display, etc. The input device is, for example, a keyboard, a mouse, etc. that accepts user operations.

[0040] The functions of the communication device 10 are realized by processing modules such as a packet identification information acquisition program, a forwarding program, a packet identification information matching and judgment program, a transmission program, and a list of packet identification information held in memory 52 or the like.

[0041] The above processing modules are realized, for example, by the CPU 51 executing the programs stored in the memory 52. ​​The programs can be updated by downloading them via a network or by using a storage medium storing the programs. The above processing modules may be realized by semiconductor chips. That is, it is only necessary to have some means for executing the functions performed by the above processing modules by some hardware and / or software.

[0042] [Hardware operation] When the communication device 10 starts its operation, a packet identification information acquisition program is called from the memory 52 and is executed by the CPU 51. This program extracts packet identification information from packet data received from the source. Specifically, the CPU 51 calculates and extracts at least the address information of the source and destination (destination) of the packet, and a hash value of the payload through arithmetic processing. The extracted packet identification information is stored in the memory 52.

[0043] Next, the transfer program is called from the memory 52 and executed by the CPU 51. This program rewrites the header information of the packet received from the sender and transmits it to another communication device. Specifically, the sender of the header information of the packet is the communication device 10, and the destination (destination) is the other communication device.

[0044] When a response packet is received from another communication device, a packet identification information matching and judgment program is called from memory 52 and executed by CPU 51. This program extracts response packet identification information from the response packet transmitted and received from the other communication device. Specifically, the CPU 51 calculates and extracts a hash value of the payload of the response packet through arithmetic processing. Next, the packet identification information stored in memory 52 is matched and searched using the extracted hash value, which is the response packet identification information, as a key. If it is determined that a record with a matching hash value exists as a result, the packet identification information is obtained and temporarily stored in memory 52. ​​The packet identification information may be searched in order from the newest information (record) or from the oldest information.

[0045] Next, the transmission program is called from memory 52 and executed by CPU 51. This program reads the temporarily stored packet identification information and rewrites the header information of the corresponding response packet. Specifically, it rewrites the header information of the corresponding response packet by writing the source address and destination address contained in the read packet identification information. The rewritten packet is transmitted to the destination via NIC 54.

[0046] [Effect description] As described above, the communication device 10 of the present disclosure can generate a delay by forwarding a packet from a sender to another communication device. In this case, by using packet identification information, it is possible to provide a communication device, a communication system, a communication method, and a program that can generate a sufficient and natural network delay while maintaining data consistency.

[0047] [Second embodiment] In the second embodiment, based on the first embodiment, a delay policy, which is information on an element for generating a delay, is further introduced, and a communication device 10 is provided that generates a delay based on the delay policy.

[0048] [Processing Overview] FIG. 6 is a diagram showing an overview of the process of the communication device 10 of the present disclosure. The difference from the communication device 10 of the first embodiment is that, as shown in FIG. 6, a delay policy DB61 is provided, and there are a plurality of other communication devices (62-64) and communication destinations (65-67) connected to the communication device X21. The communication device X21 performs a transfer process to the response device based on the delay policy stored in the delay policy DB61. For example, when the communication destination is the communication destination C66, in the case where there is a policy such as using another communication device #3, when the communication destination of the communication source A24 is the communication destination C66, the communication device X21 transfers the packet to the other communication device #3, causing a delay.

[0049] [Device configuration] 7 is a block diagram showing an example of the configuration of the communication device 10 of the present disclosure. The communication device 10 of the present disclosure has a packet identification information acquisition unit 11, a packet identification information holding unit 12, a forwarding unit 13, a packet identification information matching and judging unit 14, and a transmitting unit 15. Note that these components have been described in the above embodiment, so description thereof will be omitted. The communication device 10 of the present disclosure is characterized in that it has a delay policy holding unit 16, and that the forwarding unit 13 performs forwarding based on the delay policy held in the delay policy holding unit 16.

[0050] The delay policy holding unit 16 holds a delay policy, which is information on elements for generating a delay. FIG. 8 is a diagram showing an example of a delay policy in the communication device 10 of the present disclosure. As shown in this figure, other communication devices are associated with the node to be used and held. For example, when communication destination B is set as the communication destination, referring to the row of node B in FIG. 8, it is determined that the other communication device is 1. Therefore, the communication device 10 generates a delay using the other communication device #1 in FIG. 6. The third record indicates a policy that transmits without delay when the communication destination is node D, for example. Furthermore, the other communication device 3 in the fourth record means that it is applied when any "other" (indicated by *) node is used.

[0051] The "node" item may be a node used as a communication destination, or a node used as a communication source. If both are used, the node item may be written in a distinguishable manner, such as "Destination B (communication destination is B)" or "Source B (communication source is B)".

[0052] The policy may be selected based on the requested delay amount. A configuration may be adopted in which the requested delay amount is received from an input / output interface such as a keyboard, and a policy that satisfies the requested delay amount is selected. That is, the communication device further includes a requested delay amount receiving unit (not shown) that receives the length of the requested delay, and a delay policy selecting unit (not shown) that selects a delay policy that satisfies the requested delay amount from among the predicted delay amounts included in the delay policies held in the delay policy holding unit 16, and the transfer unit 13 performs transfer based on the delay policy selected by the delay policy selecting unit.

[0053] 9 is a diagram showing another example of a delay policy in the communication device 10 of the present disclosure. As shown in this figure, an item of average round trip time is further provided as a predicted delay amount. The average round trip time means an average round trip time that is an actual round trip time within a predetermined time in the past. The delay policy selection unit compares the average round trip time that is an actual past result with the inputted requested delay amount, and selects a policy with an average round trip time that satisfies the requested delay amount. Note that when multiple policies apply, a means for accepting input of options may be provided.

[0054] The delay policy held in the delay policy holding unit 16 may incorporate various indices, such as the average round trip time, which is the actual result, as described above, as well as the maximum, minimum and median values ​​of the round trip time.

[0055] [Effect description] In the communication device 10 of the present disclosure, it is possible to forward packets and generate delays based on a delay policy. This makes it possible to generate an appropriate delay when the amount of delay required varies depending on the situation. In addition, it is possible to generate an appropriate delay by accepting the required amount of delay and selecting a delay policy that satisfies that amount of delay.

[0056] [Third embodiment] In the third embodiment, a further application example of the communication device 10 will be described.

[0057] [Processing Overview] FIG. 10 is a diagram showing an overview of the process of the communication device 10 of the present disclosure. As shown in this figure, a communication source C is communicating with a communication destination B, and the bandwidth between them is almost exclusively used by both parties. Here, a communication source A is trying to start communication with a communication destination B, but the bandwidth between the communication device X and the communication destination B is blocked, and communication is impossible. For this reason, the communication device X transfers a packet addressed to B to another communication device C1, and the communication device X receives the response packet. When the response packet is received, the communication device X judges whether the bandwidth between X and the communication destination B can be secured. As a result, if it is judged that the bandwidth can be secured, the communication device X transfers the packet to the communication destination B and starts communication between A and B. If it is judged that the bandwidth cannot be secured yet, the process of transferring the packet to the other communication device C1 again and receiving the response packet is repeated until the bandwidth between X and the communication destination B can be secured.

[0058] [Device configuration] An example of the configuration of a communication device according to the present disclosure is based on the configuration of the communication device according to the first embodiment, and is therefore based on the configuration of Fig. 1. As in the first embodiment, the communication device 10 according to the present disclosure includes a packet identification information acquisition unit 11, a packet identification information holding unit 12, a transfer unit 13, a packet identification information matching and judging unit 14, and a transmission unit 15. The communication device 10 according to the present disclosure is characterized in that it further includes a bandwidth judgment unit (not shown), and that the transfer unit 13 transfers a packet received from a transmission source to another communication device or the transmission unit 15 based on a judgment result of the bandwidth judgment unit.

[0059] The bandwidth determination unit judges whether or not a communication bandwidth to the destination can be secured. Specifically, it judges whether or not a communication bandwidth can be secured based on, for example, the round trip time (RTT) during communication, packet loss, and the timeout status of the response to the ICMP packet. The result of the judgment is sent to the transfer unit 13, which transfers the packet based on the judgment result. Specifically, if it is judged that a predetermined bandwidth can be secured, the packet received from the sender is transferred directly to the transmission unit 15. The transmission unit 15 sends the packet to the destination. If it is judged that a predetermined bandwidth cannot be secured, the transfer unit 13 executes a process to transfer the packet to another communication device.

[0060] [Explanation of operation] 11 is a flowchart for explaining the operation of the communication device 10 of the present disclosure. As shown in this figure, after receiving a packet, it is determined whether or not a communication band to the communication destination can be secured (step S1101). If it is determined that the communication band can be secured (step S1101, Y), the packet is transmitted to the destination (step S1107). If it is determined that the communication band cannot be secured (step S1101, N), a transfer process (steps S1102 to S1105) is performed. Note that this process is similar to the process in the first embodiment (steps S41 to S44), and therefore a description thereof will be omitted.

[0061] In the process of comparing the response packet identification information with the stored packet identification information (step S1105), if it is determined that the packet is the same or a corresponding packet, the process of determining whether or not a communication band to the communication destination can be secured (step S1101) is executed again. If it is determined that the packet is not the same or a corresponding packet, a determination is made as to whether or not to end (step S1108), and if not (step S1108, N), the process returns to the process of determining whether or not a communication band to the transmission destination can be secured (step S1101).

[0062] [Effect description] According to the communication device 10 of the present disclosure, it is possible to provide a buffering function by forwarding packets until a communication bandwidth can be secured on the path to the communication destination. This makes it possible to control packet transmission without securing a storage area for buffering in the communication device 10. Incidentally, the available buffering capacity [MB] can be calculated by multiplying the bandwidth [MB / s] between the communication device 10 and another communication device by the round trip time (RTT).

[0063] [Fourth embodiment] In the fourth embodiment, a communication system in which the communication device 10 of the above embodiment and another communication device are combined will be described.

[0064] [Device configuration] FIG. 12 is a diagram showing an example of the configuration of the communication system of the present disclosure. As shown in this diagram, the communication system includes a response device 17 and a communication device 10. The response device 17 has a response unit 18. As in the first embodiment, the communication device 10 has a packet identification information acquisition unit 11, a packet identification information storage unit 12, a transfer unit 13, a packet identification information matching and judging unit 14, and a transmission unit 15. Note that the above components of the communication device 10 have already been described in the above embodiment, so description thereof will be omitted. The communication system of this embodiment is characterized in that it has a response device 17, and the response device 17 has a response unit 18.

[0065] The response device 17 has a communication function and communicates with the communication device 10. The response device 17 may be located on the Internet.

[0066] The responding unit 18 generates a response packet using the payload of the received packet as is, and responds. That is, it rewrites the source address, destination address, and the like included in the header information of the received packet, and executes a process for returning the packet to the communication device 10.

[0067] [Explanation of operation] FIG. 13 is a flowchart for explaining the operation of the communication system of the present disclosure. As shown in this figure, when the communication device 10 starts its operation, it acquires packet identification information received from the source (step S1301). It saves the acquired packet identification information in a storage area (step S1302). It then transfers the received packet to another communication device (step S1303). The response device receives the transferred packet, generates a response packet with the payload of the received packet as it is, and transmits it to the communication device 10 to respond (step S1304). When it receives a response packet from the response device, it compares the response packet identification information with the packet identification information held in the storage area (step S1305). As a result of the comparison, it is determined whether the packet is the same or a corresponding packet (step S1306). If the same or a corresponding packet exists (step S1306, Y), it transmits the packet to the destination (step S1307) and determines whether to end the process (step S1308). If the same or corresponding packet does not exist (step S1306, N), it is determined whether or not the process is finished (step S1308). If the process is not finished (step S1308, N), the process returns to the process of receiving the transmitted packet again and acquiring the packet identification information (step S1301).

[0068] [Effect description] In the communication system disclosed herein, it is possible to generate a delay by forwarding a packet from a sender to a response device. In this case, by using packet identification information, it is possible to provide a communication device, a communication system, a communication method, and a program that can generate a sufficient and natural network delay while maintaining data consistency.

[0069] Some or all of the above embodiments can also be described as follows, but are not limited to the following. [Form 1] This is the same as the communication device according to the first aspect described above. [Form 2] the packet identification information acquisition unit acquires information including at least destination information of the received packet as packet identification information; Preferably, the communication device according to aspect 1, wherein the transmission unit rewrites a destination of the response packet to a destination in the destination information held in the packet identification information holding unit and transmits the packet to the destination. [Form 3] The packet identification information acquisition unit acquires packet identification information based on data of the packet received from the source, Preferably, the communication device according to aspect 2, wherein the packet identification information matching and judging unit performs matching using response packet identification information based on data of the response packet. [Form 4] The communication device of preferably form 3, wherein the packet identification information acquisition unit acquires packet identification information including a hash value of the payload of the packet received from the source, and the packet identification information matching and determination unit performs matching using the response packet identification information including the hash value of the payload of the response packet as the response packet identification information. [Form 5] Preferably, the communication device of form 1, wherein the transmitting unit compares the response packet identification information with the packet identification information held in the packet identification information holding unit in the packet identification information matching and judgment unit, and if it is determined that the packets are identical or corresponding, transmits the packet to the destination and deletes the identical or corresponding packet identification information held in the packet identification information holding unit. [Form 6] A communication device preferably described in any one of forms 1 to 5, further comprising a timeout processing unit that deletes packet identification information corresponding to a response packet stored in the packet identification information storage unit when a response packet from another communication device is not received within a predetermined time after being forwarded by the forwarding unit. [Form 7] Preferably, the communication device of aspect 1 further comprises a delay policy holding unit that holds a delay policy, which is information relating to an element for causing a delay, and the forwarding unit performs forwarding based on the delay policy held in the delay policy holding unit. [Form 8] Preferably, the communication device of aspect 7, wherein the delay policy holding unit holds a delay policy associated with a node which makes an outgoing or incoming call and with another device. [Form 9] The delay policy holding unit further holds the predicted delay amount as a delay policy, and further has a requested delay amount receiving unit that receives a requested amount of delay, and a delay policy selection unit that selects a delay policy that satisfies the requested amount of delay from the delay policies held in the delay policy holding unit, and the transfer unit performs transfer based on the delay policy selected by the delay policy selection unit, preferably a communication device of form 8. [Form 10] Preferably, the communication device according to aspect 9, wherein the delay policy selection unit selects the delay policy based on a record of a round trip time. [Form 11] Preferably, the communication device of form 1 further comprises a bandwidth determination unit which determines whether a communication bandwidth to a destination can be secured, and the forwarding unit forwards the packet received from the source to another communication device or the transmitting unit based on the determination result of the bandwidth determination unit. [Form 12] This is the same as the communication system according to the second aspect described above. [Form 13] This is the same as the communication method according to the third aspect described above. [Form 14] This is as per the program related to the fourth perspective mentioned above. Incidentally, like the first embodiment, the twelfth to fourteenth embodiments can be expanded into the second to eleventh embodiments.

[0070] The disclosures of the above cited patent documents and the like are incorporated herein by reference. Within the framework of the entire disclosure of the present invention (including the scope of claims), modifications and adjustments of the embodiments and examples are possible based on the basic technical ideas. Furthermore, within the framework of the entire disclosure of the present invention, various combinations and selections of the various disclosed elements (including each element of each claim, each element of each embodiment or example, each element of each drawing, etc.) are possible. In other words, the present invention naturally includes various modifications and corrections that a person skilled in the art would be able to make in accordance with the entire disclosure including the scope of claims and the technical ideas. In particular, with regard to the numerical ranges described in this specification, any numerical value or subrange included in the range should be interpreted as being specifically described even if not otherwise specified. [Explanation of symbols]

[0071] 10:Communication equipment 11: Packet identification information acquisition unit 12: Packet identification information storage unit 13: Transfer section 14: Packet identification information matching and judging unit 15: Transmitter 16: Delay policy storage unit 17: Answering machine 18: Response section 21:Communication device X 22: Communication management DB 23: Other communication device C 24: Source A 25: Destination B 26, 27, 28: Packets 51: CPU 52: Memory 53: Input / Output Interface 54:NIC 55: Internal bus 61: Delay policy DB 62: Other communication device #1 63: Other communication device #2 64: Other communication device #3 65: Communication destination D 66: Communication destination C 67: Communication destination B

Claims

1. a packet identification information acquisition unit that acquires packet identification information for identifying a packet received from a transmission source; a packet identification information storage unit for storing the packet identification information; a transfer unit that transfers the received packet to another communication device; a packet identification information matching and judging unit that matches response packet identification information for identifying a response packet from the other communication device with packet identification information stored in the packet identification information storage unit and judges whether the packets are identical or corresponding to each other; a transmitting unit that transmits a packet to a destination based on a result of the determination by the packet identification information matching and determining unit; A communication device having the above configuration.

2. the packet identification information acquisition unit acquires information including at least destination information of a received packet as packet identification information; the transmitting unit rewrites a destination of the response packet to the destination of the destination information held in the packet identification information holding unit and transmits the packet to the destination. The communication device of claim 1.

3. the packet identification information acquisition unit acquires packet identification information based on data of a packet received from the source; the packet identification information matching and judging unit performs matching using response packet identification information based on data of the response packet. The communication device of claim 2.

4. the packet identification information acquisition unit acquires packet identification information including a hash value of a payload of a packet received from the source; the packet identification information matching and judging unit performs matching using response packet identification information including a hash value of a payload of the response packet as the response packet identification information; The communication device of claim 3.

5. 2. The communication device of claim 1, wherein the transmitting unit compares the response packet identification information with the packet identification information held in the packet identification information holding unit in the packet identification information matching and judgment unit, and if it determines that the packets are identical or corresponding, transmits the packet to a destination and deletes the identical or corresponding packet identification information held in the packet identification information holding unit.

6. a timeout processing unit that deletes packet identification information corresponding to the response packet, which is held in the packet identification information holding unit, when a response packet from the other communication device is not received within a predetermined time after being transferred by the transfer unit; The communication device according to claim 1 , further comprising:

7. a delay policy storage unit that stores a delay policy, which is information regarding an element for causing a delay; Further comprising: The transfer unit performs transfer based on the delay policy stored in the delay policy storage unit. The communication device of claim 1.

8. The delay policy storage unit stores delay policies associated with a node that transmits or receives a call and with other devices. The communication device of claim 7.

9. The delay policy storage unit further stores the predicted amount of delay as a delay policy, a requested delay amount receiving unit that receives a requested amount of delay; a delay policy selection unit that selects a delay policy that satisfies a required delay amount from among the delay policies held in the delay policy holding unit; Further comprising: The transfer unit performs transfer based on the delay policy selected by the delay policy selection unit. The communication device of claim 8.

10. the delay policy selection unit selects a delay policy based on a record of a round trip time; The communication device of claim 9.

11. a bandwidth determination unit that determines whether a communication bandwidth to a transmission destination can be secured; Further comprising: The transfer unit transfers the packet received from the source to another communication device or the transmission unit based on a result of the determination by the bandwidth determination unit. The communication device of claim 1.

12. A response unit that generates a response packet using the payload of the received packet as is, a response device having a packet identification information acquisition unit that acquires packet identification information for identifying a packet received from a transmission source; a packet identification information storage unit for storing the packet identification information; a transfer unit that transfers the received packet to a response device; a packet identification information matching and judging unit that matches response packet identification information for identifying a response packet from the other communication device with packet identification information stored in the packet identification information storage unit and judges whether the packets are identical or corresponding to each other; a transmitting unit that transmits a packet to a destination based on a result of the determination by the packet identification information matching and determining unit; A communication device having A communication system comprising:

13. A communication method for causing a computer to execute the following steps: obtaining packet identification information for identifying a packet received from a source; storing the packet identification information in a storage area; forwarding the received packet to another communication device; a step of comparing response packet identification information for identifying a response packet from the other communication device with packet identification information stored in a storage area to determine whether the packets are identical or corresponding to each other; transmitting the packet to a destination based on the result of the determination; A communication method including:

14. A process of acquiring packet identification information for identifying a packet received from a source; storing the packet identification information in a storage area; A process of transferring the received packet to another communication device; A process of comparing response packet identification information for identifying a response packet from the other communication device with packet identification information stored in a storage area to determine whether the packets are identical or corresponding to each other; A process of transmitting a packet to a destination based on a result of the determination; A program for causing a computer to execute the following.

Citation Information

Patent Citations

  • Network emulator device, method of controlling the same, and program

    JP2011101140A