Computer Communications 27 (2004) 1840–1850 www.elsevier.com/locate/comcom
Modeling two-windows TCP behavior in differentiated services networks Jianhua Hea,*, Zongkai Yanga, Zhen Fana, Zuoyin Tanga, Liren Zhangb, Kai-Kuang Mab a
Department of Electronics and Information Engineering, Huazhong University of Science and Technology, Wuhan, Hubei 430074, China b School of Electrical and Electronic Engineering, Nanyang Technological University, Singapore, Singapore 639798 Received 30 November 2002; revised 10 May 2004; accepted 4 June 2004 Available online 8 September 2004
Abstract Two important issues in assured services within differentiated services architecture are bandwidth guarantee and fair sharing of unsubscribed bandwidth among TCP flows with and without bandwidth reservations. Although the subscribed bandwidth can be guaranteed by increasing network capacity or deploying strict admission control mechanisms, the costs of such solutions are very high. The issue of fair sharing of excess bandwidth is also not well solved. To address those issues, a modified TCP, named two-windows TCP, has been proposed. The performance of the protocol is evaluated by simulations. But its effectiveness is not validated theoretically under general network conditions, which is important for understanding the benefits and costs of using the protocol. In this paper, an analytical model is developed for the purpose. The model characterizes throughput of individual two-windows TCP flow as a function of contract rate, round trip time, loss rates of In and Out packets. Extensive simulations validate the analytical model. It’s shown two-windows TCP is effective not only on solving the issues of bandwidth guarantee and fair sharing of unsubscribed bandwidth, but also on increasing the utilization of bottleneck link bandwidth. Moreover, its performance is robust to network conditions, which is important for wide deployment over Internet. q 2004 Elsevier B.V. All rights reserved. Keywords: Differentiated services; TCP; Performance evaluation
1. Introduction Differentiated services (DiffServ) architecture receives extensive research interests in recent years [1 – 4]. It is regarded as one of the most promising solutions for the issues of quality of service (QoS) encountered in today’s IP networks [5,6]. It relies on packet tagging and lightweight router support to provide premium services (PS) and assured services (AS) that extend beyond best-effort services (BE) [7,8]. In DiffServ architecture, a source specifies a service class (e.g. PS, AS, or BE) and a service profile, which indicates the amount of traffic that the sender negotiates with the service provider to send its packets in the specified class. In particular, the class of AS is designed to give the customers the assurance of a minimum throughput (or target rate) during congestion, allowing flows to consume the remaining bandwidth in a fair manner when the network load is low. Thus, two major concerns for AS are bandwidth guarantee and fair sharing of unsubscribed (or excess) bandwidth [3]. Bandwidth guarantee means that each flow * Corresponding author. Tel./fax: þ86-2787540745. E-mail address:
[email protected] (J. He). 0140-3664/$ - see front matter q 2004 Elsevier B.V. All rights reserved. doi:10.1016/j.comcom.2004.06.002
should receive its subscribed bandwidth in average. Fair sharing of unsubscribed bandwidth means that unsubscribed network bandwidth should be evenly shared among AS and BE flows. Simulation results reported in Refs. [8 – 10] reveal that the quality of AS is affected by many factors, such as network bandwidth, service subscription and so on. Several recent studies [10,11] also show that TCP flows with relatively higher bandwidth reservations may achieve lower throughput than subscribed while TCP flows with smaller reservations may realize throughput higher than their target. The intrinsic reason is that TCP is originally designed for best-effort services. The achievable TCP throughput is closely related to packet loss rate in the networks. In the profile of AS, packets from TCP flows with different bandwidth reservations are classified into In (profile) and Out (profile), resulting similar average packets loss rates of In and Out packets for flows passing the same path. As the losses of Out packets will cause the congestion window decrease, the overall TCP throughput will be largely affected by the losses of Out packets in the case of high bandwidth reservation rate. Thus, TCP flows with higher bandwidth reservation is more difficult to be guaranteed,
J. He et al. / Computer Communications 27 (2004) 1840–1850
causing issues on both bandwidth guarantee and bandwidth sharing. A general idea to solve the issue of AS on bandwidth guarantee would be increasing the network capacity. Due to stirring increases in network capacity with advanced optical communications techniques, bandwidth in core network is likely to be abundant. But the last mile issue is still existing and the solution is very expensive. Deploying strict and accurate admission control mechanisms is another approach for bandwidth guarantee, but it is difficult to implement due to inaccurate and unpredictable traffic characteristics [12, 13]. And another issue of fair sharing of excess bandwidth is not well solved. Park investigate an modified RIO algorithm to improve the fair sharing of excess bandwidth, but the issue on bandwidth guarantee is not solved [14]. One the other hand, a modified TCP protocol, named two-windows TCP, is proposed to address both of those issues of AS [15]. The motivation of the protocol is that while service quality is almost impossible or extremely expensive to be guaranteed by only considering network designs and managements, it may be significantly improved with combined efforts from both networks and end users. Simulation results show that bandwidth guarantee and sharing can be partly improved with the use of the protocol [15]. However, the performance of two-windows TCP is not analytically evaluated, which is important to evaluate the benefits and costs for practical deployment. It’s the motivation of the paper to propose an analytical model for the protocol, and examine the robustness of its performance to network conditions. Although there are already wide studies on steady-state analytical models for TCP protocols [16,17], few works investigate TCP behavior in DiffServ networks except [18, 19]. In this paper, conventional analytical approaches are modified to evaluate the performance of the two-windows TCP protocol in general DiffServed networks. The contributions of the work focus on modeling the protocol, understanding the effectiveness and limitations of the protocol on improving the quality of AS on bandwidth guarantee and sharing. The rest of this paper is organized as follows. Section 2 surveys the AS architecture and RIO (RED with In/Out) mechanism [20]. Two-windows TCP protocol is also described. Section 3 presents an analytical model for the protocol. Section 4 presents simulation results and analysis. Section 5 concludes the paper.
(TB) and time sliding window (TSW) [11,20]. On the other hand, queue management mechanism is used at core routers to differentiate and forward packets based on marking tags and service classes in the packets. Among all the router mechanism proposed for AS, RIO mechanism receives the most attention [20]. In brief, RIO can be viewed as the combination of two RED instances with different dropping probabilities. Two sets of RED parameters (minth_in/maxth_in/maxp_in) and (minth_out/maxth_out/maxp_out) are used for In packets and Out packets, respectively. More details on the parameters can be found in Ref. [20]. In two-windows TCP, each flow will try to get the subscribed bandwidth, in addition of competing fairly for excess bandwidth. The impact of Out packet losses will not affect the competition of subscribed bandwidth. Thus, the fairness issue in AS is to be well solved even in the case of under-provisioned network. Technically, the congestion window (in the unit of packet), denoted by cwnd, is consisted of two parts. The first part is reservation window, denoted by rwnd. The other is excess bandwidth window, denoted by ewnd. The congestion window is the sum of rwnd and cwnd, cwnd ¼ rwnd þ ewnd: Both reservation window and excess bandwidth window response to packets dropping as the congestion window of traditional TCP protocols does. But reservation window only responses to dropping of In packets. It is set below a constant value, which is determined by the bandwidth subscription of the corresponding flow. Reservation window is introduced in order to protect the reserved rate of flows, while excess bandwidth window responds to dropping of both In and Out packets. When an Out packet is dropped, the modified TCP will not reduce rwnd, such that the reserved bandwidth is guaranteed. But when an In packet is dropped, which indicates that the network may be oversubscribed, both rwnd and ewnd are reduced. The congestion avoidance algorithm of two-windows TCP is simply shown in Fig. 1. In the figure, RTT is defined as
2. Background In the AS architecture, marking mechanism and queue management are major components [8,21]. Packet marking mechanism, which includes meters and markers, is implemented in edge routers. It classifies packets as inprofile (In) or out-of-profile (Out) according to service contracts before those packets enter the network. The most commonly used marker algorithms are token bucket
1841
Fig. 1. Two-windows TCP congestion avoidance algorithm.
1842
J. He et al. / Computer Communications 27 (2004) 1840–1850
average round-trip time of TCP connections. pkt_size is defined as average size of packets. A new variable R; called maximum reservation window, is defined to facilitate analysis, R¼
contract_rate p RTT: pkt_size
ð1Þ
Some mechanisms to discriminate the losses of In and Out packets for two-windows TCP are also proposed in Ref. [15]. As those mechanisms have little impact on the performance of two-windows TCP on bandwidth guarantee and sharing, they are not taken into considerations in the paper. Before presenting the analytical model, some assumptions are made as follows. 1. The marker is ideal, which means that every packet is marked as In when cwnd # rwnd; a packet is marked as In with the probability rwnd/cwnd, when cwnd . rwnd. 2. The sender always has data to send. 3. The receiver window is never reached. 4. One packet is acknowledged by one ACK. 5. There is no ACK drop. 6. Loss ratio of In packet is much less than that of Out. 7. Contribution of packet loss to throughput is negligible. Similar assumptions have also been made for modeling TCP throughput as done in Ref. [19].
Nin N
WðkÞ
Steady-state TCP throughput is defined as, Total number of packets sent p pkt_size : Total transmission time
mini-period is a recovery-period, whereas other M mini-periods are Out-periods. As the evolutions of congestion window between two consecutive In packet drops are independently identical, the steady state throughput of two-windows TCP can be calculated by analyzing only the evolution of congestion window in one In-period. In the following, some variables defined in one In-period are introduced.
T W 0 ðkÞ
3. Analytical model
B¼
Fig. 2. Illustration of packet transmission in two-windows TCP model.
ð2Þ
When network bandwidth is over-subscribed, there will be little excess bandwidth for TCP flows to share. In this case, the throughput achieved by a TCP flow is mainly determined by the bandwidth it subscribes, which is not difficult to calculate. Thus, in this section, we will focus on calculating the throughput of two-windows TCP in the case of bandwidth being under-subscribed. When two-windows TCP is under a steady state, the evolution of congestion window will be periodic. The evolution of congestion window is simply illustrated in Fig. 2. It is separated by identical events of In packet drops. We define In-period as the interval between two consecutive In packet drops. Moreover, an In-period is consisted of so-called mini-period, including a recoveryperiod and some Out-periods. Similar to In-period, an Out-period is defined as the interval between two consecutive Out packet drops. Without loss of generality, it’s assumed there are M þ 1 mini-periods in an In-period. Among the M þ 1 mini-periods, the first
XðkÞ No ðkÞ Ni ðkÞ NðkÞ
bðkÞ
number of transmitted packets that are marked as In in the In-period; number of transmitted packets of both In and Out packets in the In-period; duration of an In-period; window size in the first RTT of the kth mini-period, k ¼ 0; 1; …; M; window size at the time of an RTT previous of the second Out packet drop in the kth miniperiod; number of RTT in the kth mini-period; number of Out packets transmitted in the kth mini-period; number of In packets transmitted in the kth miniperiod; number of transmitted packets of both In and Out packets in the kth mini-period; number of packets sent in the last RTT in the kth mini-period.
Based on the above definitions, the steady state throughput can be expressed as B¼
E½N p pkt_size; E½T
ð3Þ
where E½x means the average of x: In the phase of congestion recovery, the congestion window will increase one for every RTT. We have WðkÞ ¼ W 0 ðkÞ þ XðkÞ;
k ¼ 0; 1; …; M:
ð4Þ
J. He et al. / Computer Communications 27 (2004) 1840–1850
From Fig. 2, we also have the following formula for Outperiods, Wðk 2 1Þ 2 R Wðk 2 1Þ þ R ¼ ; W 0 ðkÞ ¼ Wðk 2 1Þ 2 2 2 ð5Þ k ¼ 1; 2; …; M:
E½WðkÞ : 2
ð6Þ
XðkÞ ¼ WðkÞ 2 W 0 ðkÞ 8 > < WðkÞ 2 Wðk 2 1Þ þ R ; 2 ¼ > : 0 Wð0Þ 2 W ð0Þ;
k ¼ 1; 2; …; M
ð7Þ
k ¼ 0:
Now let’s consider Eqs. (3) and (7). To get the value of B; we need to know the value of E½T and E½N: The duration of an In-period can be expressed as, M X
ðXðkÞ þ 1ÞRTT
ð8Þ
k¼0
In the In-period, the total number of transmitted packets is N¼
M X
NðkÞ ¼
k¼0
M X ½W 0 ðkÞ þ WðkÞ 2 1XðkÞ k¼0
2
þ bðkÞ
ð9Þ
From Eqs. (7) – (9), it’s clear that if the variables E½M and E½W are known, we are able to get the value of the steady state throughput. In Sections 3.1 and 3.2, we will calculate E½W and E½M; respectively, with which the throughput will be achieved in Section 3.3. 3.1. Calculation of E½W The calculation of E½W is simply described as follows. A formula on E½W and E½NðkÞ is derived from Fig. 2. And another formula on E½W and E½NðkÞ is derived from the definition of E½NðkÞ: Based on those two formulas, we are able to get the value of E½W: Considering the kth Out-period in Fig. 2, the number of successfully transmitted packets is NðkÞ ¼
XðkÞ21 X l¼0
1 NðkÞ ¼ ½2WðkÞ þ Wðk 2 1Þ þ R 2 2 8 p ½2WðkÞ 2 Wðk 2 1Þ 2 R þ bðkÞ;
E½NðkÞ ¼
As WðkÞ; k ¼ 0; 1; …; M are i.i.d. variables, we have E½WðkÞ ¼ E½W; k ¼ 0; 1; …; M; where E½W is a constant independent of k: Combining Eqs. (4) and (5) yields
T¼
Using Eq. (7), we get
ð11Þ
From Eq. (11), we have the mean of NðkÞ
where W 0 ð0Þ is a fast recovery window, E½W 0 ð0Þ ¼
1843
½W 0 ðkÞ þ l þ bðkÞ:
ð10Þ
1 ðE½W 2 RÞ p ð3E½W þ R 2 2Þ þ E½b: ð12Þ 8
With assumptions of bðkÞ being uniformly distributed between 1 and WðkÞ and XðkÞ and WðkÞ are i.i.d. random variables [19], we get E½b ¼
1 E½W: 2
ð13Þ
On the other hand, NðkÞ can be viewed as the sum of In packets and Out packets transmitted before the Out packet loss, and the packets transmitted in the RTT right after the Out packet loss in the kth outperiod. NðkÞ ¼ No ðkÞ þ Ni ðkÞ þ b½k:
ð14Þ
The mean of NðkÞ is given by E½NðkÞ ¼ E½No ðkÞ þ E½Ni ðkÞ þ E½b:
ð15Þ
Define pout as the probability of an Out packet being dropped. Approximately there will be 1=pout Out packets transmitted during an Out-period, E½No ðkÞ ¼
1 : pout
ð16Þ
When an Out packet is dropped, only ewnd is halved and maximum reservation window R is hold. Thus, the number of In packets transmitted in the kth Out-period is Ni ðkÞ ¼ R p XðkÞ: Replace XðkÞ with that in Eq. (7), we get Wðk 2 1Þ þ R Ni ðkÞ ¼ R p WðkÞ 2 : 2
ð17Þ
ð18Þ
The mean of Ni ðkÞ is calculated as E½Ni ðkÞ ¼ R p
E½W 2 R : 2
ð19Þ
Substituting Eqs. (16) and (19) to Eq. (15), and using Eq. (12), we obtain
3 2 3 1 3 2 1 1 E ½W 2 Rþ R þ R2 ¼ 0: p E½W þ 8 4 4 8 4 pout ð20Þ
1844
J. He et al. / Computer Communications 27 (2004) 1840–1850
The above equation yields sffiffiffiffiffiffiffiffiffiffiffi 24 1 þ 3R þ 1 þ pout E½W ¼ : 3
From Eqs. (25) and (26), we have
ð21Þ
In this subsection, we will analyze the number of In packets transmitted in an In-period and calculate E½M: The calculation is derived for two kinds of network conditions. The number of In packets transmitted during an In-period is given by M X
Ni ðkÞ:
ð22Þ
E½Nin ¼
Consider an In-period in Fig. 2. In the case of R # W 0 ð0Þ; after an In packet drop, the transmission rate remains above the contract rate. In the case of R . W 0 ð0Þ; as a result of an In packet drop, the transmission rate will fall below 8 > > > > > < > > > > > :
E½M ¼
In summary, the mean of M is as follows
1 8 þ E2 ½W 2 2E½W 2 8R p E½W þ 4R2 þ 4R ; 4R p ðE½W 2 RÞ pin
Xð0Þ21 X
0
min½R; W ð0Þ þ l;
ð23Þ
Ni ðkÞ ¼
k¼1
R . E½M=2
In the previous subsections, we have calculated E½W and E½M: Now, we will calculate E½T; E½N and then get the value of B by Eq. (3). With the definition, an In-period is given by
T¼ R p XðkÞ
M X
ðXðkÞ þ 1Þ p RTT:
ð31Þ
k¼0
k¼1
Wðk 2 1Þ þ R ¼ R p WðkÞ 2 : 2 k¼1 M X
ð24Þ
When R # E½W=2; using Eqs. (22) – (24), we can get the mean of Nin
The number of packets transmitted during an In-period is given by
N¼
M X k¼0
E½Nin ¼
ð30Þ
3.3. Calculation of steady state throughput
In the rest time of the In-period, the number of transmitted In packets is M X
ð28Þ
1 4R p ðE½W 2 RÞ
8 2 2 þ E ½W 2 2E½W 2 8R p E½W þ 4R þ 4R : pin ð29Þ
R # E½M=2
l¼0
M X
1 ðE½M þ 2R 2 2Þ p ð2R 2 E½WÞ: 8
From Eqs. (25) and (28), we also get
2 2 E½M R p pin ; E½M 2 R
the reservation rate. During the recovery-period, the number of In packets successfully transmitted is Ni ð0Þ ¼
1 R p E½M p ðE½W 2 RÞ þ R p ðE½M 2 RÞ 2 þ
k¼1
E½M ¼
ð27Þ
Similarly, when R . E½W=2; from Eqs. (22) –(24), we have the mean Nin
3.2. Calculation of E½M
Nin ¼ Ni ð0Þ þ
2 2 E½W R p pin : E½M ¼ E½W 2 R
1 R p {E½W þ E½MðE½W 2 RÞ}: 2
1 E½Nin ¼ : pin
2
After algebraic manipulations, we get the mean of T
E½T ¼ ð26Þ
k¼0
½W ðkÞ þ WðkÞ 2 1 p XðkÞ þ bðkÞ : 0
ð32Þ
ð25Þ
Define pin as the probability that as In packet is dropped. It’s assumed that there will be 1=pin In packets transmitted during the In-period,
NðkÞ ¼
M X 1
1 {E½M p ðE½W 2 R þ 2Þ þ E½W þ 2} p RTT; 2 ð33Þ
J. He et al. / Computer Communications 27 (2004) 1840–1850
and the mean of N; E½N ¼
1 {3ðE½M þ 1Þ p E2 ½W þ 2E½W p ðE½M 8 2 R p E½M þ 1Þ 2 R2 p E½M þ 2R p E½M}: ð34Þ
Substituting E½T and E½N into Eq. (3), we get the steady state throughput B¼
{3E2 ½W þ ð2 2 2RÞ p E½W 2 R2 þ 2R} p pkt_size : 4ðE½W 2 R þ 2Þ p RTT ð36Þ
If reserved bandwidth of a two-windows TCP flow is equal to zero, the operation for that flow will be the same as that for a traditional best-effort TCP flow. From Eq. (21) we get, sffiffiffiffiffiffiffiffiffiffiffiffi 24 1þ 1þ Pout E½W ¼ ; ð37Þ 3 and B¼
one of the bandwidth subscriptions, the impact of RIO parameters configuration is also investigated to examine the robustness of the performance of two-windows TCP to different network configurations. In the simulations, a simple dumb-bell network topology is used, which is shown in Fig. 3. The reason is that the purpose of the simulations is to verify the analytical model
{3ðE½M þ 1Þ p E2 ½W þ 2E½W p ðE½M 2 R p E½M þ 1Þ 2 R2 p E½M þ 2R p E½M} p pkt_size : 4{E½M p ðE½W 2 R þ 2Þ þ E½W þ 2} p RTT
In the case of loss ratio of In packet being zero, Eq. (35) becomes B¼
1845
E½NðkÞ p pkt_size : ðE½XðkÞ þ 1Þ p RTT
Finally, we get
3 1 E½W þ p E½W p pkt_size 8
4 B¼ : 1 E½W þ 1 p RTT 2
ð38Þ
ð35Þ
and understand the fundamental issues and performance of two-windows TCP. The simulated network topology with specifically designed network modules can satisfy the simulation requirements. Compared to complex networks, simple network has also advantages of easy network configuration and parameter controls. In the network topology used for simulation, capacity of the link from an end host to the router is set to 50 Mbps. Marking algorithms used in the router R1 is TB. RIO queues are deployed in both R1 and R2. There are thirty TCP flows sharing a congested link between routers R1 and R2. Individual TCP flows are long-lived FTP applications that transmit packets with lengths of 500 bytes. Those flows are configured in five groups. Flows 1 – 5 are in the first group. rwnd of those flows is fixed as 18; rwnd of flows 6 –10 is set to 36; rwnd of flows 11 – 15 and flows 16 –20 are set to 54 and 72, respectively; rwnd of the last 10 flows (flow 21– 30) are set to 0, which means those flows are best-effort TCP flows. In all the simulations, rwnd for each group of flows is fixed. Whereas the bottleneck bandwidth, loss ratio of Out and In packets are changeable. As the bandwidth of the bottleneck link
ð39Þ
After comparison, it’s found that Eq. (39) is the same as formula (22) in Ref. [19] in the case of R ¼ 0; which shows the analytical model proposed in the paper is compatible with that derived for traditional TCP protocol.
4. Simulation results 4.1. Simulation design In this section, two sets of simulations in network simulator (version 2) [22] are conducted to validate the proposed analytical model. As the loss rate of In packets will be mainly affected by bandwidth subscription, three levels of bandwidth subscription are investigated in the first set of simulations (a) less than 60% of the bottleneck link bandwidth is subscribed; (b) between 60 and 90% of the bottleneck link bandwidth is subscribed; (c) more than 90% of the bottleneck link bandwidth is subscribed. Then, under
Fig. 3. Simulation model.
Table 1 Default configuration of RIO parameters in the first set of simulations Parameters for In packets
Parameters for In packets
minth_in
maxth_in
maxp_in
minth_out
maxth_out
maxp_out
250
400
0.02
70
200
0.5
1846
J. He et al. / Computer Communications 27 (2004) 1840–1850
Table 2 Utilization of bottleneck link bandwidth pin
0 0.0001 0.0005
Bottleneck BW ¼ 20 M
Bottleneck BW ¼ 25 M
Bottleneck BW ¼ 35 M
Traditional TCP BW utilization (%)
Two-windows TCP BW utilization (%)
Traditional TCP BW utilization (%)
Two-windows TCP BW utilization (%)
Traditional TCP BW utilization (%)
Two-windows TCP BW utilization (%)
91.0% 90.8% 74.2%
94.0% 93.1% 89.1%
87.3% 71.2% 58.7%
93.4% 90.1% 77.2%
81.4% 51.2% 41.6%
86.5% 73.5% 58.3%
Table 3 Fairness index for traditional TCP and two-windows TCP Bottleneck bandwidth
20 M
25 M
35 M
FI for traditional TCP FI for two-windows TCP
20.49 0.91
2.64 0.10
0.76 0.044
changes, the different subscription levels will also change correspondingly. In the simulations, two extra modules are added between R1 and R2, which randomly discard In packets and Out packets with a probability Pin_e and Pout_e : The first purpose of introducing the modules is to simulate the In packet drop in the real network environments. In simple simulated networks In packets are seldom dropped by routers because of inaccurate admission control and other reasons. Introducing modules of packet dropping will make the loss of In packets controllable. The second purpose is to facilitate the validation of the analytical model proposed in the paper. In the simulations, for each level of bandwidth subscriptions, Pin_e is set to different values. In well designed networks, pin is generally smaller pffiffiffiffiffiffithan pout : Thus, in the simulations, Pout_e is simply set as Pin_e : At the end of each simulation, pin and pout for each flow are calculated and recorded. With the recorded values for pin and pout ; the analytical throughput can be calculated with formula (35) and compared to the simulation results. 4.2. Simulation results and analysis 4.2.1. Different bandwidth subscriptions Extensive simulations are carried out to get the steady state throughput of flows under the conditions of different
bandwidth subscriptions. In the first set of simulations, we only consider a specific set of RIO parameters to investigate the impact of bandwidth subscriptions. In the next subsection, the impact of different RIO parameters configurations will be investigated. The default RIO parameters configured in the first set of simulations are shown in Table 1. Each simulation lasts 300 s. To avoid oscillation at the starting period, the first 60 s of simulation data are discarded. Both typical analytical and simulated throughput of two-windows TCP flows are plotted in Fig. 5, compared with simulation results for traditional TCP flows. Although the impact of Pin_e on service quality are widely investigated, results are only presented for Pin_e being 0, 0.0001 and 0.0005, respectively. In Fig. 5(a), (c) and (e), plotted are the simulated throughput of the flows using traditional TCP, with the capacity of the bottleneck link being set to 20, 25 and 35 Mbps, respectively. In Fig. 5(b), (d) and (f), plotted are the analytical and simulated throughput of flows using twowindows TCP. In all sub-figures, the line marked with ‘target’ indicate the target rate for those flows with bandwidth subscriptions. From Fig. 5, the following are observed.
Fig. 4. Illustration of three RIO parameters configurations.
J. He et al. / Computer Communications 27 (2004) 1840–1850
1847
Fig. 5. Steady state throughput of traditional TCP and two-windows TCP. Symbol ‘M’ corresponds to simulation results; symbol ‘E’ corresponds to analytical results.
1. In all the simulated network conditions, with different bottleneck link capability and dropping rate of In packets, the steady state throughput of two-windows TCP flows achieved by the analytical model matches very well with that achieved
by simulations. The analytical model is accurate and it is effective for wide range of network conditions. 2. In a wide range of network conditions, the bandwidth subscribed by two-windows TCP flows is well guaranteed;
1848
J. He et al. / Computer Communications 27 (2004) 1840–1850
Table 4 Three RIO parameters configurations used in the second set of simulations
Non-overlapping 50% overlapping 100% overlapping
minth_in
maxth_in
maxp_in
minth_out
maxth_out
maxp_out
250 200 70
400 400 400
0.02 0.02 0.02
70 100 70
200 300 400
0.5 0.5 0.02
Table 5 Analytical and measured bandwidth with different RIO configurations (predicted bandwidth/measured bandwidth) (Mbps) Contracted BW
Non-overlapping
0 0.4 0.8 1.2 1.6
50% overlapping
Computed
Measured
Computed
Measured
Computed
Measured
0.165 0.547 0.893 1.236 1.534
0.159 0.541 0.899 1.258 1.536
0.166 0.548 0.895 1.216 1.515
0.154 0.535 0.900 1.227 1.528
0.206 0.579 0.931 1.236 1.481
0.198 0.567 0.902 1.250 1.465
while the bandwidth subscribed by traditional TCP flows is not, especially when the bandwidth of bottleneck link is near over-subscribed. 3. It’s also shown in Table 2 that utilization of the bottleneck link bandwidth for networks running two-windows TCP protocol is much higher than that running traditional TCP protocol. 4. Moreover, the unsubscribed bandwidth in the bottleneck link is almost fairly assigned among the two-windows TCP flows. But it’s not the case for the traditional TCP flows. To make a comparison on the fair assignment of unsubscribed bandwidth among two-windows TCP flows and traditional TCP flows, we introduce a new performance metric, fairness index (denoted by FI). It’s calculated by the following formula, n X
FI ¼
ðEi 2 EÞ2
i¼1
nE2
100% overlapping
;
ð40Þ
where E is the average excess bandwidth assigned to a flow; Ei is the achieved bandwidth minus target rate for the ith flows (Ei is allowed to be minus); n is the number of flows competing the bandwidth of the bottleneck link. It can be induced that the lower
the fairness index, the better the performance of the system on fairly assigning unsubscribed bandwidth. Based on the definition, we get the fairness indexes for systems using traditional TCP and two-windows TCP. The values of fairness indexes presented in Table 3 are calculated in the case of Pin_e ¼ 0: It’s clear that the fairness indexes for a system using traditional TCP are about 20 times larger than that using two-windows TCP.
4.2.2. Impact of RIO parameters configuration As described previously, RIO mechanism is an important component to enable DiffServ. But the configuration of RIO parameters is very complex. Presently there is no general configurations recommended for RIO parameters yet. In this subsection, we investigate the impact of RIO parameters configuration on the performance of assurance services. Three kinds of RIO parameters configurations are investigated, which are shown in Fig. 4. They are called non-overlapping, 50% overlapping and 100% overlapping, respectively, which describe degree of overlapping of the operation curves for In and Out packets in the axis of average queuing
Table 6 Comparison of throughput of two-windows TCP and traditional TCP (Mbps) Contracted BW
0 0.4 0.8 1.2 1.6
Two-windows TCP
Traditional TCP
Computed
Measured
0.165 0.547 0.893 1.236 1.534
0.159 0.541 0.899 1.258 1.536
0.245 0.517 0.747 0.872 0.921
J. He et al. / Computer Communications 27 (2004) 1840–1850
length. The RIO parameters corresponding to those configurations are listed in Table 4. Typical analytical and simulated throughput of twowindows TCP flows are shown in Table 5 with different RIO parameters configurations. In the simulations, the capacity of the bottleneck link is 25 Mbps and Pin_e is set to 0.0001. From results presented in Table 5, we observed that the accuracy of the analytical model of two-windows TCP is not affected by the configurations of RIO parameters. The bandwidth achieved by two-windows TCP flows are well guaranteed for the considered RIO parameter configurations. The achieved bandwidth of two-windows TCP and traditional TCP flows are also compared. In the analysis and simulations, the bottleneck bandwidth is 25 Mbps and Pin_e is set to 0.0001. The RIO parameters are configured in the non-overlapping style. Typical results are presented in Table 6.
1849
the performance of two-windows TCP is robust to network configurations, which is important for wide deployment of a protocol over Internet. Thus, it’s beneficial to deploy the two-windows protocol due to its abilities to solve the issues faced by AS in large-scale DiffServed networks, although some modifications are needed in the sender side of traditional TCP protocol to run two-windows TCP protocol.
Acknowledgements The authors would like to thank the anonymous reviewers and Dr Jeremy Thompson for their helps which largely improve the quality of the paper. The project is supported by the National Nature Science Foundation of China (Grant No. 60202005).
5. Conclusions AS provided with DiffServ networks is scalable and cost effective to provide end-to-end QoS over large-scale Internet. However, it is still facing the problems of bandwidth guarantee and fair sharing of unsubscribed bandwidth. In this paper, we study a modified TCP protocol, named two-windows TCP. An analytical model is proposed to evaluate the steady state throughput of two-windows TCP. The model characterizes throughput of individual twowindows TCP flow as a function of contract rate, round trip time, loss rates of In and Out packets. The accuracy of the analytical model is validated by simulations over a wide range of network scenarios. In the simulations, two specific packet loss-processing modules are added into the networks. Although the network topology used in the simulations are relatively simple, it does not affect the generality and accuracy of the proposed analytical model. To evaluate the performance of two-windows TCP on the bandwidth guarantee, two-windows TCP is compared to the traditional TCP in terms of achieved bandwidth and subscribed bandwidth. Simulation results show that in a wide range of network conditions, the bandwidth subscribed by two-windows TCP flows is well guaranteed, while the bandwidth subscribed by traditional TCP flows is not well guaranteed under the same network configurations. The unsubscribed bandwidth in the bottleneck link is observed to be fairly assigned among the two-windows TCP flows, but not the case for the traditional TCP flows. A new performance metric, fairness index, is introduced to assist the comparison on the fair assignment of unsubscribed bandwidth. We also observed that the utilization of the bottleneck link bandwidth for networks running two-windows TCP protocol is largely improved compared to that running traditional TCP protocol. Moreover, it’s observed that
References [1] S. Blake, D. Black, M. Carlson, E. Davies, Z. Wang, W. Weiss, An architecture for differentiated services, RFC2475 December (1998). [2] S. Wang, D. Xuan, R. Bettati, W. Zhao, Providing absolute differentiated services for real-time applications in static-priority scheduling networks, IEEE/ACM Transactions on Networking 12 (2004) 326– 339. April. [3] A. Bak, W. Burakowski, F. Ricciato, S. Salsano, H. Tarasiuk, A framework for providing differentiated QoS guarantees in IPbased network, Computer Communications 26 (2003) 327–337. March. [4] B.E. Carpenter, K. Nichols, Differentiated services in the Internet, Proceedings of the IEEE 90 (2002) 1479–1494. September. [5] S. Bakiras, V. Li, A scalable architecture for end-to-end QoS provisioning, Computer Communications May (2004). [6] I. Foster, M. Fidler, A. Roy, V. Sander, L. Winkler, End-to-end quality of service for high-end applications, Computer Communications April (2004). [7] V. Jacobson, K. Nichols, K. Poduri, An expedited forwarding PHB, RFC2598 June (1999). [8] J. Heinanen, F. Baker, Assured forwarding PHB group, RFC2597 June (1999). [9] P. Giacomazzi, L. Musumeci, G. Verticale, Transport of TCP/IP traffic over assured forwarding IP-differentiated services, IEEE Network 17 (2003) 18– 28. September–October. [10] N. Seddigh, B. Nandy, P. Pieda, Bandwidth assurance issues for TCP flows in a differentiated services network, in: Proceedings of GLOBECOM’99, Rio De Janeiro, Brazil, December, 1999. [11] J. Ibanez, K. Nichols, Preliminary simulation evaluation of an assured service, draft-ibanez-diffserv-assured-eval-00.txt, Internet Draft, August 1998. [12] C. Dovrolis, P. Ramanathan, Dynamic class selection and class provisioning in proportional differentiated services, Computer Communications 26 (2003) 204 –221. February. [13] C. Dou, F. Ou, Performance study of bandwidth reallocation algorithms for dynamic provisioning in differentiated services networks, Computer Communications 26 (2001) 1472–1483. September. [14] W. Park, S. Bahk, H. Kim, A modified RIO algorithm that alleviates the bandwidth skew problem in Internet Differentiated Service, in: Proceedings of ICC’00, New Orleans, USA, June, 2000.
1850
J. He et al. / Computer Communications 27 (2004) 1840–1850
[15] I. Yeom, A.L.N. Reddy, Realizing throughput guarantees in a differentiated services network, in: Proceedings of ICMCS, June, 1999, pp. 372–376. [16] J. Padhye, V. Firoiu, D. Towsley, J. Kurose, Modeling TCP throughput: A simple model and its empirical validation, in: Proceedings of ACM SIGCOMM’99, 1998, pp. 303–314. [17] M. Mathis, J. Semke, J. Mahdavi, T. Ott, The macroscopic behavior of the TCP congestion avoidance algorithm, Computational Communication Review (1997) 67– 82. July. [18] M. Baines, B. Nandy, P. Pieda, N. Seddigh, M. Devetsikiotis, Using TCP models to understand bandwidth assurance in a differentiated services network, Nortel Technical Report, July 2000.
[19] I. Yeom, A.L.N. Reddy, Modeling TCP behavior in a differentiated services network, IEEE/ACM Transactions on Networking (2001) 31– 46. February. [20] D. Clark, W. Fang, Explicit allocation of best-effort packet delivery service, IEEE/ACM Transactions on Networking (1998) 362 –373. August. [21] S. Lee, S. Seok, C. Kang, C. Kang, The two markers system for TCP and UDP flows in a differentiated services network, Computer Communications 26 (2003) 338–350. March. [22] Network Simulator v.2 (ns-2), University of California at Berkeley (1997). [Online]. Available: http://www-nrg.ee.lbl.gov/ns-2.