A relay method for transmitting a packet received from one communication device to another communication device, characterized by comprising the steps of: setting a plurality of virtual processing units (1100, 1110, 1120) corresponding to packet transmission directions and/or attributes respectively, including setting a virtual signaling processing unit for simulating the communication state of a control packet specified by a control protocol, and setting a virtual media processing unit for simulating the communication state of a streaming communication packet specified by a streaming protocol; in a case of a received packet being the control packet specified by the control protocol, determining whether or not to discard the packet based on a loss rate contained in prerecorded communication state information indicating a communication state for the control protocol, and, if it is determined not to discard the packet, deriving a transmission time of the control packet based on a delay time distribution contained in said prerecorded communication state information, and transmitting the packet based on the derived time, by the virtual signaling processing unit; and in a case of a received packet being a streaming communication packet specified by a streaming protocol, determining whether or not to discard the packet based on a loss rate contained in prerecorded communication state information indicating a communication state for the streaming protocol, and if it is determined not to discard the packet, deriving a transmission time of the streaming packet based on a delay time distribution contained in said prerecorded communication state information, and transmitting the packet based on the derived time, by the virtual media processing unit. setting a plurality of virtual processing units (1100, 1110, 1120) corresponding to packet transmission directions and/or attributes respectively, including setting a virtual signaling processing unit for simulating the communication state of a control packet specified by a control protocol, and setting a virtual media processing unit for simulating the communication state of a streaming communication packet specified by a streaming protocol; in a case of a received packet being the control packet specified by the control protocol, determining whether or not to discard the packet based on a loss rate contained in prerecorded communication state information indicating a communication state for the control protocol, and, if it is determined not to discard the packet, deriving a transmission time of the control packet based on a delay time distribution contained in said prerecorded communication state information, and transmitting the packet based on the derived time, by the virtual signaling processing unit; and in a case of a received packet being a streaming communication packet specified by a streaming protocol, determining whether or not to discard the packet based on a loss rate contained in prerecorded communication state information indicating a communication state for the streaming protocol, and if it is determined not to discard the packet, deriving a transmission time of the streaming packet based on a delay time distribution contained in said prerecorded communication state information, and transmitting the packet based on the derived time, by the virtual media processing unit.