To investigate the quantitative performance of the proposed scheme, we perform comprehensive simulation using the ns-2 simulator [17].
5.1. Simulation Setup
We use the built-in modules for Reno, NewReno [35], SACK [5], and Snoop, the open sources [36] for TCP Westwood, [37] for TCP-DCR [19], and add some modules for TCP Veno [12], TCP Jersey [13], JTCP [14], TIBET [15], and LHP, with default parameter settings mentioned in the corresponding papers. (The version of TCP Westwood considered in the simulation is Westwood+.) Unless otherwise specified, LL-ELSN is used with ESACK. We use NewReno when evaluating the performance of Snoop for better performance. We compare their goodput performance and fairness in mixed wired and wireless networks. Here, goodput is defined as the TCP-level data reception rate measured at TCP receivers. We perform our simulation by changing RTT, competing traffic and the characteristic of the wireless channel. Simulation is run for a period of 200 seconds and we average over 20 runs without LL-ARQ and 50 runs with LL-ARQ. (LL-ARQ increases link layer dynamics and thus we need more simulation runs with LL-ARQ to obtain stable results.) The TCP packet size is 1000 bytes. TCP receivers advertise a very large window such that the sending rate of TCP senders is not clamped by the receivers' dynamics. IEEE 802.11b [38] is used for the data link layer of a wireless link and the queue size of each wired link and the wireless network interface is 50 packets. We do not use the Request-To-Send(RTS)/Clear-To-Send(CTS) exchange mechanism and link layer fragmentation in simulation. The transmission bit rate of data and ACK frames over the wireless link is 11Mbps. We use the default physical parameters of ns-2 for the 802.11 b modulations. The simulated topology for downlink communication is depicted in Figure 5. All the wired links are full-duplex 10 Mbps and their buffers have delay offset
. Each connection carries long-live FTP application traffic from the source node (S) to the destination node (D). Packets are dropped bidirectionally at the wireless link. We generate bit errors depending on the given frame error rate (FER) in the wireless link. So, data packets are more prone to be lost than ACKs due to the longer length.
5.2. Comparison of Wireless TCP Schemes
In this subsection, we compare the various aspects of wireless TCP schemes. We first set the retry limit of 802.11 MAC to one in order to investigate the robustness of the testing schemes against wireless losses while excluding the effect of LL-ARQ. In this case, FER of the wireless link is equal to the Packet Error Rate (PER). It is noted that wireless losses due to collisions are not counted in FER, so there are still wireless losses even with small FER.
We perform the simulation of one TCP connection case,
= 1. Figure 6 shows the goodput result as FER varies from 0.001% to 9%. In the result, LL-ELSN shows significant performance improvement over the other schemes. Note that LL-ELSN is better than the other schemes even with 0.01% FER since there are still wireless losses due to collisions between data packets (from BS) and TCP ACK packets (from the wireless station). Snoop shows the second best performance due to its local retransmission at BS. However, as FER increases, the goodput of Snoop decreases more drastically than that of LL-ELSN. That is because the local retransmission causes TCP to lose its ACK-based clock due to long end-to-end delay in high FER while LL-ELSN lets the TCP sender keep on sending data due to its accurate detection of wireless losses. The other schemes are better than Reno, but are much worse than LL-ELSN. Figure 7 shows the effect of RTT on the goodput performance. We indirectly vary RTT by adjusting the delay offset
of each link buffer, that is, increase
to increase RTT. The goodput of TCP Reno is known as inversely proportional to RTT [39]. Similarly, the testing schemes also show decreasing goodput for increasing RTT. However, their sensitivities to RTT are different. Especially, TIBET and Westwood are worse than Reno in small RTT. LL-ELSN shows good performance constantly.
Since the importance of uplink communication is increasing, we also simulate the uplink communication scenario where the wireless station is the TCP sender. We assume that the Snoop agent is at the wireless station by symmetric operation. In Figure 8, LL-ELSN shows the best performance because LL-ELSN has negligible ELN delay in uplink communication. However, Snoop is much worse than in downlink communication due to its slow retransmission. Snoop cannot retransmit the lost packet until the Snoop agent receives a duplicate ACK, which takes one RTT in uplink communication, or a timeout occurs at the agent. Moreover, Snoop cannot distinguish congestion losses from wireless losses in uplink communication, thus Snoop is not suitable for uplink communication. The relative performances of the other schemes are similar to those in downlink communication.
Next, we simulate the network with
multiple TCP connections (
1). In the goodput comparison in Figure 9, LL-ELSN shows quasiconstant goodput irrespective of
. That is because LL-ELSN fully utilizes the channel bandwidth even with small number of connections. However, the other schemes can fully utilize the bandwidth with sufficiently large number of connections since each connection suffers from rate reduction due to wireless losses. In order to quantify fairness among multiple TCP connections, we evaluate the Jain's fairness index [40] which is defined as below
where
is the goodput of
th connection among the total
connections.
ranges from
to 1.0, where
means the perfect fairness and in that case, all the connections occupy the same bandwidth.
means that one connection occupies the whole bandwidth. In Figure 10, the fairness of TCP-Jersey and JTCP gets worse as the number of connections gets increased. TCP Westwood and TIBET show the poor fairness as some connections suffer severely from frequent timeouts due to small congestion window size. Although the fairness of the testing schemes are relatively comparable with each other, most of them achieve high fairness index above 0.98 and do not suffer from severe unfairness. From the above two figures, we can conclude that LL-ELSN achieves good performance against wireless losses by accurate congestion response, not by aggressive behavior.
To investigate the performance against both wireless and congestion losses, we introduce background traffic to the network along the path of a TCP connection. The background traffic follows the Pareto distribution whose mean rate is 8 Mbps and the shape parameter is set rather high as two to induce high dynamics to the network. The simulation result is shown in Figure 11. LL-ELSN still shows the best performance among the testing schemes, which means that it successfully handles congestion losses as well as wireless losses. The severe performance degradation of LHP is due to multiple fast recoveries. This fact is investigated further in the next subsection.
Another important aspect of a new TCP variant is the friendliness with existing TCP Reno which is the base model of many TCP variants [41]. To be friendly with TCP Reno, a new TCP variant should follow the guidelines provided in [2]. Otherwise, it can be aggressive or feeble against TCP Reno. We investigate the goodput change of a connection using TCP Reno when 10 connections using TCP Reno are replaced one by one with those using a new TCP variant. If the goodput of a Reno connection remains the same, it means perfect friendliness of the new TCP variant. Otherwise, the goodput decreasing rate of a Reno connection presents the degree of the unfriendliness of the new TCP variant with TCP Reno. Figure 12 shows the result. (We exclude Snoop in this simulation since Snoop is a link-level solution and thus independent of TCP variants.) Here, we consider the ideal BWE scheme which knows the exact available bandwidth and RTT. In the figure, it is shown that TCP Westwood, Veno, and TIBET including the ideal BWE are aggressive against Reno connections. That means the accuracy of bandwidth estimation is not the only factor for TCP-friendliness. Those four schemes set
to the estimated bandwidth when a congestion event occurs. Therefore, when multiple fast recoveries or timeouts are invoked in a short-time period due to heavy network congestion, those schemes have larger
than Reno. While on the other, LL-ELSN and HACK show the similar result with SACK. That is because they behave just like SACK without wireless losses. TCP-DCR is somewhat aggressive against Reno as it delays congestion response, that is, reduction of transmission rate.
We also investigate the effectiveness of ERSN in the network with long retransmission delay. We set the retransmission delay of the wireless link layer to 100 milliseconds. Figure 13 shows that the number of spurious timeouts increases as FER increases due to the increasing number of retransmissions. LL-ELSN with ERSN achieves higher goodput than that without ERSN thanks to the prevention of spurious timeouts. It is observed that the improvement ratio of ERSN is almost proportional to the number of spurious timeouts.
5.3. Effect of TCP Sender Operation
We compare several combinations of LL-ELSN and different TCP modifications to show the effect of TCP sender operation to the TCP performance and find which combination results in the best performance. We compare 4 different TCP modifications, TCP HACK, HACK-fixed, LHP packet list, and ESACK, when used with LL-ELSN. Figure 14 shows the result. In the result, HACK shows better performance than Reno since it retransmits lost packets in the wireless link quickly. However, even with wireless losses, congestion control can be invoked by following duplicate ACKs and thus it is much worse than the other schemes. HACK-fixed is better than LHP when there are small connections, but, becomes worse than LHP when there are more than 10 connections due to congestion collapse by somewhat aggressive behavior. LHP is worse than ESACK because of ACK loss and multiple fast retransmit and recovery, as explained in Section 4. ESACK shows the best performance regardless of the number of connections, which means that it works well by accurate congestion response, not by an aggressive behavior.
Figure 15 shows the goodput improvement ratio of ESACK compared to the LHP packet list with the same Pareto background traffic as Figure 11. At low congestion, there is no difference between the LHP packet list and ESACK because the occurrence of multiple packet drops is rare. As congestion becomes severe, however, ESACK shows better performance since unnecessary fast recovery operations are invoked in the LHP packet list.
Figure 16 shows the sending rate variation of ESACK whose receiver is disconnected at 10 seconds. As shown in the figure, ESACK can avoid unnecessary retransmissions and thus mitigate bandwidth waste by filtering consecutive ELNs.
5.4. Effect of Link Layer ARQ
In this simulation, we only consider two best schemes in the previous simulations, that is, LL-ELSN and Snoop, and TCP Reno as a reference. If we use LL-ARQ, we can get much different results, as shown in Figure 17. When FER is less than 3%, TCP Reno with the retry limit of two is better than Snoop because LL-ARQ can hide significant amount of wireless losses. Notwithstanding that Snoop performs local retransmission, Snoop shows worse performance than TCP Reno with LL-ARQ. It results from the slower retransmission of Snoop than LL-ARQ because the timeout time of Snoop should be larger than LL-ARQ's and Snoop retransmits a TCP packet when a duplicated ACK is received or the timer expires. Also, Snoop does not retransmit TCP ACK which can be also lost, so this increases packet losses and delays the retransmission of data packets further. Although Snoop is combined with LL-ARQ, it is worse than Reno with LL-ARQ because the retransmission mechanism of Snoop is independent of that of the link layer. That is, the Snoop agent can retransmit a TCP packet unnecessarily while the link layer keeps on retransmitting it. On the other hand, if LL-ELSN is combined with LL-ARQ, it shows better performance with relatively small retry limit than TCP Reno. It is because LL-ELSN lets the TCP sender not to shrink the congestion window against wireless losses which LL-ARQ cannot recover through retransmissions. From the result, it is shown that LL-ARQ achieves significant increase of goodput due to PER decrease in high-error conditions. Such a result is consistent with that of [42]. However, LL-ARQ has some disadvantages in wireless channels with bursty errors, as will be shown in the following.
To investigate the effect of a bursty loss channel originated from inherent channel characteristics or temporary link outage from weak signal power or handoffs, we use a Markov chain for the wireless channel model and simulate 10 concurrent TCP connections. The Markov chain can be also used to model Rayleigh fading channels. Tan and Beaulieu [43] proposed a first-order Markov model for Rayleigh fading channels and analytically proved its accuracy. Babich and Lombardi [44] proposed a first-order Markov model for three-level quantized Rayleigh fading channels. Zorzi et al. [45] showed that a two state Markov model well approximates Rayleigh fading channels. As such, modeling Rayleigh fading channels using a first-order Markov model has gained some acceptance in literature and seems to find a growing number of applications [28, 46]. The Markov chain considered in this paper consists of two states: good and bad. We assume that state transitions occur per frame transmission and all the frames are transmitted successfully except when collisions occur in the good state while all the frames are lost with probability one in the bad state. We set the transition probability from the good state to the bad state, denoted as
, to 0.01 and vary the staying probability in the bad state, denoted as
, from 0.1 to 0.5. As
increases, the burstiness of channel loss gets higher.
As shown in Figure 18, using LL-ARQ does not always perform well. Furthermore, the performance gets worse with LL-ARQ as the burstiness gets higher because, in the simulation environment considered, TCP performance is more sensitive to RTT increase rather than PER decrease due to LL-ARQ. Also, large retry limit results in the head of line (HOL) blocking in the First-In First-Out (FIFO) queue of BS (e.g., AP of 802.11 WLANs), so the other connections in the good state cannot be served due to a few connections in the bad state which keep on retransmitting failed frames until the retry limit is reached [47]. The HOL blocking also happens when a wireless station is suddenly powered-off during its communication with remote TCP senders. The harmful effect of HOL gets larger as the retry limit increases. Therefore, in order to achieve good performance flexibly in various environments, the retry limit should be set as small as possible satisfying the desired service quality in uniform error conditions.