A method for transmitting data of a transmission apparatus, the method comprising: receiving, by a reception unit, reception information on a data packet received by a reception apparatus from the reception apparatus; and calculating a next sending rate based on the reception information by a processor, wherein the calculating the next sending rate is characterized by comprising: calculating a gradient of arrival rate change based on a number of data packets; and calculating the next sending rate based on the gradient of arrival rate change, a current sending rate, and a delivery rate or an average delivery rate, wherein the gradient of arrival rate change is calculated as a ratio of an amount of arrival rate change (G i) at a time (i) to an amount of arrival rate change (G i-1) at a time (i-1) which precedes the time (i), wherein the sending rate is calculated by following equation: Rat e Si + 1 = Rat e Si + k × | GAR C i | × AD R i Rat e Si × STEP k wherein Rate Si+1 is a sending rate to be used at a time (i+1), Rate Si is a sending rate used at a time (i), GARC i is the gradient of arrival rate change, ADR i is the average delivery rate, 'k' is one of +1 and -1, and STEP is a variable which changes according to an environment of a network; wherein the delivery rate is calculated by following equation: DR i = Rat e Ai Rat e Si i=1, 2, 3,...n (n: natural number) wherein DR i is a delivery rate at a time (i), Rate Si is a current sending rate at the time (i), Rate Ai is an arrival rate at the time (i); and wherein the average delivery rate is calculated by following equation: AD R i = α × DR i − 2 + β × DR i − 1 + γD R i, α + β + γ = 1, γ > β > α wherein ADR i is an average delivery rate at the time (i), DR i is a delivery rate at the time (i), DR i-1 is a delivery rate at a time (i-1), DR i-2 is a delivery rate at a time (i-2), and α, β, and γ are weight values assigned to delivery rates. receiving, by a reception unit, reception information on a data packet received by a reception apparatus from the reception apparatus; and calculating a next sending rate based on the reception information by a processor, wherein the calculating the next sending rate is characterized by comprising: calculating a gradient of arrival rate change based on a number of data packets; and calculating the next sending rate based on the gradient of arrival rate change, a current sending rate, and a delivery rate or an average delivery rate, calculating a gradient of arrival rate change based on a number of data packets; and calculating the next sending rate based on the gradient of arrival rate change, a current sending rate, and a delivery rate or an average delivery rate, wherein the gradient of arrival rate change is calculated as a ratio of an amount of arrival rate change (G i) at a time (i) to an amount of arrival rate change (G i-1) at a time (i-1) which precedes the time (i), wherein the sending rate is calculated by following equation: Rat e Si + 1 = Rat e Si + k × | GAR C i | × AD R i Rat e Si × STEP k wherein Rate Si+1 is a sending rate to be used at a time (i+1), Rate Si is a sending rate used at a time (i), GARC i is the gradient of arrival rate change, ADR i is the average delivery rate, 'k' is one of +1 and -1, and STEP is a variable which changes according to an environment of a network; wherein the delivery rate is calculated by following equation: DR i = Rat e Ai Rat e Si i=1, 2, 3,...n (n: natural number) wherein DR i is a delivery rate at a time (i), Rate Si is a current sending rate at the time (i), Rate Ai is an arrival rate at the time (i); and wherein the average delivery rate is calculated by following equation: AD R i = α × DR i − 2 + β × DR i − 1 + γD R i, α + β + γ = 1, γ > β > α wherein ADR i is an average delivery rate at the time (i), DR i is a delivery rate at the time (i), DR i-1 is a delivery rate at a time (i-1), DR i-2 is a delivery rate at a time (i-2), and α, β, and γ are weight values assigned to delivery rates.