1: \subsection{Fair Congestion Window Assignment (FCWA)}
2:
3: %We calculate the maximum flow-specific congestion window limit
4: %$W_{lim}$ that achieves fair TCP access in a wired/wireless
5: %scenario where the wireless hop is an 802.11 link.
6: A control block located at the AP can modify the advertised
7: receiver window field of the ACK packets that are all relayed
8: through with the $W_{lim}$ value calculated using the proposed
9: model. Therefore, we call this procedure Fair Congestion Window
10: Assignment (FCWA).
11: %In order to calculate $W_{lim}$,
12: %the control block at the AP needs
13: %to estimate $LD$ and $b$.
14: The analysis requires accurate estimations on $LD$ and $b$. The
15: control block may distinguish among TCP connections via the IP
16: addresses and the ports they use. An averaging algorithm can be
17: used to calculate the average time that passes between sending a
18: data (ACK) packet into the wired link and receiving the ACK (data)
19: packet which generated by the reception of the former packet
20: (which is $2\cdot LD$). The TCP header of consecutive ACK packets
21: may be parsed to figure out the value of $b$. %\footnotemark.
22: %\footnotetext{Note that the proposed analysis can easily be
23: %extended for the case when the value of $b$ differs among TCP
24: %connections.}
25: It is also worth to note that although the analytical calculation
26: uses a simple cycle time method in calculating $CT_{AP}$ and
27: $CT_{flow}$, the AP may use a measurement-based technique rather
28: than the model-based technique used in this paper.
29:
30: \subsection{Buffer Sizing}
31:
32: The proposed analysis can also directly be used for buffer sizing
33: purposes. The 802.11 vendors may use the proposed method with
34: statistics of TCP connections and WLAN traffic to decide on a
35: \textit{good} size of AP buffer that would provide fair TCP
36: access.
37: \begin{equation}\label{eq:BS_AP_del}
38: BS_{AP}= (W_{lim} - \frac{2\cdot LD}{CT_{flow}}) \cdot
39: (n_{up}/b+n_{down})
40: \end{equation}
41:
42:
43: \subsection{Performance Evaluation}\label{subsec:analysis_evaluation}
44:
45: We validate the analytical results obtained from the proposed
46: model via comparing them with the simulation results obtained from
47: ns-2 \cite{ns2}. We obtained $W_{lim}$ via simulations in such a
48: way that increasing the TCP congestion window limit of TCP
49: connections by one results in a packet loss ratio larger than
50: $1\%$ at the AP buffer.
51:
52: As previously stated, the network topology is such that each
53: wireless station initiates a connection with a wired station and
54: where the traffic is relayed to/from the wired network through the
55: AP. The TCP traffic uses a File Transfer Protocol (FTP) agent
56: which models bulk data transfer. TCP NewReno with its default
57: parameters in ns-2 is used. All the stations have 802.11g PHY
58: \cite{802.11g} with 54 Mbps and 6 Mbps as the data and the basic
59: rate respectively. The wired link data rate is 100 Mbps. The
60: default DCF MAC parameters are used \cite{802.11}. The packet size
61: is 1500 bytes for all flows. The MAC buffer size at the stations
62: and the AP is set to 100 packets.
63:
64: In the first set of experiments, we set the wired link delay of
65: each connection to 50 ms. Each TCP data packet is acknowledged by
66: an ACK packet ($b=1$). In Fig.~\ref{fig:cwlim}, we compare the
67: estimation of (\ref{eq:w_lim}) on the congestion window limit with
68: the values obtained from the simulation results and the proposed
69: method of \cite{Pilosof03} for increasing number of TCP
70: connections. The number of upload flows is equal to the number of
71: download flows.
72: %\footnotemark.\footnotetext{Note that for the specific
73: %scenario, it does not matter whether the TCP connection is in the
74: %downlink or uplink. Both (\ref{eq:CTflow}) and (\ref{eq:w_lim})
75: %depend on the total number of flows.}
76: As Fig.~\ref{fig:cwlim} implies, the analytical results for FCWA
77: and the simulation results are well in accordance. The analysis in
78: \cite{Pilosof03} calculates the congestion window limit by
79: $BS_{AP}/(n_{up}+n_{down})$ and underestimates the actual fair TCP
80: congestion window limit.
81: %We observe that in the case of large number of flows, $W_{lim}$
82: %values that prevent the AP buffer from overflowing are too small
83: %to be practical. Although small $W_{lim}$ provides fair transport
84: %layer access, this also results in considerably low per flow
85: %throughput.
86:
87: The total throughput of the system when the TCP connections employ
88: analytically calculated congestion window limits in simulation for
89: increasing number of TCP connections is shown in
90: Fig.~\ref{fig:simplethput}. As the comparison with
91: \cite{Pilosof03} reveals, the congestion window limits calculated
92: via FCWA result in approximately 35\% - 50\% higher channel
93: utilization for the specific scenario. Although the corresponding
94: results are not displayed, both methods achieve perfect fairness
95: in terms of per-connection FTP throughput (Jain's fairness index
96: \cite{Jain91}, $f> 0.9999$ where 1 shows perfect fairness).
97:
98:
99: In the second set of experiments, we consider a scenario where
100: wired link delays ($LD$) among TCP connections differ. First TCP
101: connection has a 1 ms wired link delay, and $n^{th}$ connection
102: has $n$ ms larger wired link delay than $(n-1)^{th}$ connection.
103: %We first calculate the congestion window limits via the proposed
104: %analysis in this paper and in \cite{Pilosof03} for varying number
105: %of uplink and downlink connections, and then employ the
106: %corresponding values in simulation.
107: Fig. \ref{fig:diffRTTthput} shows the individual throughput for
108: each TCP connection for FCWA and \cite{Pilosof03} for 4 different
109: scenarios. In Fig. \ref{fig:diffRTTthput}, for any scenario, the
110: first half are upload flows and the rest are download flows. As
111: the results present, the congestion window limits calculated by
112: the proposed model maintains fair access even in the case of
113: varying wired link delays. On the other hand, the method proposed
114: in \cite{Pilosof03} fails to do so.
115:
116:
117: In the third set of experiments, we consider a scenario where the
118: TCP connections use the delayed ACK mechanism with $b=2$. We
119: consider 9 different scenarios where in each scenario the number
120: of uplink and downlink TCP connections varies. In the first three
121: scenarios, the number of downlink flows is set to 5 and the number
122: of uplink flows is varied among 5, 10, and 15, respectively.
123: Varying the number of uplink flows in the same range, the next
124: three scenarios use 10, and the following three scenarios use 15
125: downlink flows. In Fig.~\ref{fig:cwlim_del}, we compare the
126: estimation of (\ref{eq:w_lim_del}) on the congestion window limit
127: with the values obtained from the simulation results and the
128: proposed method of \cite{Pilosof03}. The analytical results for
129: the proposed model and the simulation results are well in
130: accordance.The total throughput of the system when the TCP
131: connections employ the analytically calculated congestion window
132: limits is shown in Fig.~\ref{fig:delayedthput}. As the comparison
133: with \cite{Pilosof03} reveals, the congestion window limits
134: calculated via our method result in approximately 90\% - 105\%
135: higher channel utilization. Although the corresponding results are
136: not presented, the congestion window limits calculated by both the
137: proposed method and the method of \cite{Pilosof03} achieve
138: perfectly fair resource allocation in terms of throughput (Jain's
139: fairness index, $f > 0.998$). On the other hand, the proposed FCWA
140: method results in a significantly higher channel utilization.
141:
142:
143: %As Fig.~\ref{fig:fairness_vs_cw4_dif_flow_numbers} and
144: %Fig.~\ref{fig:thput_vs_cw4_dif_flow_numbers} show the maximum
145: %congestion window sizes larger than $W_{lim}$ may also provide
146: %fair access and higher channel utilization (on average) up to a
147: %degree. The main characteristic of the total throughput curves is
148: %that the throughput increases with increasing maximum congestion
149: %window size for comparably small congestion windows. Then, it
150: %stays constant for a while. After the maximum congestion window
151: %size value gets larger than $W_{lim}$, it starts to increase
152: %again. This is due to cumulative nature of TCP ACKs. Although some
153: %of the TCP ACKs are lost at the AP buffer, the system maintain
154: %fairness and higher channel utilization until the ACK loss becomes
155: %severe. Observing that some ACK losses do not affect fairness and
156: %even increase the total throughput, we propose filtering and
157: %scheduling the ACKs in an intelligent way.
158: