Network coding improves TCP’s performance in lossy wireless networks. However, the complex congestion window evolution of network coded TCP (TCPNC) makes the analysis of endtoend throughput challenging. This paper analyzes the evolutionary process of TCPNC against lossy links. An analytic model is established by applying a twodimensional Markov chain. With maximum window size, endtoend erasure rate and redundancy parameter as input parameters, the analytic model can reflect window evolution and calculate endtoend throughput of TCPNC precisely. The key point of our model is that by the novel definition of the states of Markov chain, both the number of related states and the computation complexity are substantially reduced. Our work helps to understand the factors that affect TCPNC’s performance and lay the foundation of its optimization. Extensive simulations on NS2 show that the analytic model features fairly high accuracy.
1. Introduction
W
ireless Mesh Network (WMN) has drawn wide attention in both academia and industry. Despite increased TCPbased WMN services emerge, the TCP protocol itself has poor performance in WMNs
[1

2]
. Because of the varying conditions and interference, random erasure is much more common in WMNs than that in wired networks. However, TCP protocol mistakenly attributes all the losses to congestion and experiences lots of unnecessary window closing.
One method to address this problem is to modify existing protocols. TCP protocol can be improved by allowing the sender to maintain appropriate window size and proper sending rate when random packet loss occurs. One may also modify the MAC protocol, coordinating each node’s channel access opportunity to avoid transmission conflicts as well as to improve spatial utility
[3]
. These approaches, however, are not practical, since modification of existing protocol stack will cause lots of incompatibility.
Another method is to take advantage of network coding (NC) to relieve TCP from the random link erasures
[4

5]
. However, these techniques are hard to implement and not TCPcompatible, due to the fact that they don’t solve the contradiction between the batchbased coding/decoding operation of NC and the stream nature of TCP transmission.
Sundararajan
et al.
[6]
proposed Network Coded TCP (TCPNC) and addressed the dilemma tactfully. TCPNC inserts a coding layer between TCP layer and network layer innovatively. The sender transmits random linear combinations of packets upon receiving an acknowledgement (ACK). ACKs are generated by receivers when new packets are “seen”. Every time the receiver receives a linearly independent packet, an ACK will be sent. Therefore, the sender’s window can slide properly. Furthermore, Sundararajan
et al.
introduced the implementation details of TCPNC based on TCPReno in
[7]
.
TCPNC can be easily implemented based on existing protocols. It handles packet losses through sending redundant coded packets. However, that makes TCPNC differ from traditional TCP protocols in many aspects such as congestion control, resource scheduling and fairness. Therefore, it is essential to establish a proper model to understand NC’s impact on TCP protocol.
This paper models the TCPNC operational process using a twodimensional Markov chain. The model establishes the quantitative relation between the endtoend throughput and TCPNC parameters, such as erasure rate, coding redundancy, and maximum congestion window size. This work provides theoretical basis for further optimization of TCPNC.
The rest of the paper is organized as follows: In section 2, we review related work about modeling TCP. In section 3, we provide a brief overview of TCPNC. In section 4, we discuss our model in detail. In section 5, we verify the accuracy of our model through extensive simulations. Finally, we conclude in Section 6.
2. Related Work
The models of TCP protocol are gradually refined
[8

10]
in wired networks. With more and more work been done, they becomes increasingly comprehensive and covers a variety of characteristics of different TCP variants. Casetti
et al.
[8]
used the Markov chain to describe performance of a single TCP stream, and then expanded it to the cases of multiple TCP streams. Sikdar
et al.
[9]
provided a more comprehensive model of Tahoe, Reno and SACK in wired networks and a more detailed description of timeout phase, slowstart phase and delayed ACK timer was presented, thereby gaining better accuracy. Furthermore,
[10]
modeled TCPNewReno, which considered the fast recovery and timeout mechanism. These models, however, only take into consideration the congestion induced losses but not link error induced losses, even though the methods are still of value to be used in wireless networks.
There also has been lots of modeling work about TCP’s performance in wireless networks. Abouzeid
et al.
conducted some early research on TCP performance in the presence of random erasures
[11]
. Li
et al.
considered the impact of 802.11MAC and DSR routing protocol, and used Markov renewal process to model TCPReno and TCP NewReno in wireless networks
[12]
. Xiao
et al.
proposed a system model for analyzing TCP’s performance in multihop wireless networks, which took into account the packet buffering, competition for accessing channel and channel’s spatial reuse
[13]
. These work considered packet losses, channel competition and other factors. Based on the proposed models, optimal parameters setup can be obtained. However, these models are only subject to TCPReno, TCPNewReno and other common TCP variants.
When it comes to modeling TCPNC, there is relatively little work, since NC has further increased the complexity of TCP. Kim
et al.
established a simple model which analyzes the relationship between throughput and maximum window size
[14

15]
. They simply assumed that redundancy parameter is set large enough to mask all link errors. However, in practice, TCPNC may coexist with other TCP streams, and various redundancy parameters need to be considered. In these cases, their model becomes unrealistic. By contrast, our model predicts the throughput of TCPNC under various redundancy parameters and quantifies the evolution of congestion window precisely. Based on it, many mechanisms, such as rate control can be designed to achieve optimization of TCPNC’s fairness and friendliness with other TCP variants.
3. Overview of TCPNC
In this part, we will analyze TCPNC’s operational process and explain the concepts of accumulative unacknowledged packets and effective window, which are the bases of our model.
We assume that the endtoend roundtrip time (
RTT
) is far more than the time needed to send all the packets in a window, an assumption also adopted (either implicitly or explicitly) in
[11]
and
[14]
. We could thus consider TCPNC transmits packets in a
‘round’
form. The sender transmits all packets in the window at the beginning of each round. Then it stops sending and waits for ACKs. Each time TCP layer puts a packet into the congestion window, the coding layer sends
R
(redundancy parameter,
R
≥1) linear combinations of packets. Each time the receiver receives a linearly independent packet, an ACK will be replied and the sender’s congestion window will slide.
Fig. 1
describes the encoding, sending and acknowledging process where coding redundancy parameter is set to 1: when the receiver receives
q
_{1}
, it will send the ACK of
p
_{1}
. When it receives
q
_{4}
, it can get
p
_{2}
=
q
_{4}

q
_{1}

p
_{3}
 2
p
_{4}
)/3 so the ACK of
p
_{2}
is sent to the sender.
Coding transmission and acknowledgement in TCPNC
We can see that:

• The packets lost in current round can be acknowledged in the next round; ACKs of the current round may be the responses of packets lost in the previous round.

• Timeout will be triggered if all the sent packets are lost in a round.
TCP protocol contains several phases including slowstart, congestion avoidance, fast retransmit, fast recovery and timeout. Congestion Window (
CW
) increases as
CW
=
CW
+ 1 when TCP receives an ACK in the slowstart phase; it shifts into congestion avoidance phase when
CW
is larger than the slowstart threshold (
Ssthresh
) and the
CW
increases as
CW
=
CW
+ 1/
CW
; it will go back to the slowstart phase with
CW
reset to 1 and
Ssthresh
reset to 2 if some packet is unacknowledged in retransmissiontimeout (
RTO
) period. The congestion window size doubles after each round in the slowstart phase and congestion avoidance will start after limited rounds. Therefore, slowstart phase is usually ignored in related modeling work
[11
,
12
and
14]
. Likewise, we focus on TCPNC’s window evolution in congestion avoidance.
We take
Fig. 2
as an example. The horizontal axis is the round of packets and the ordinate axis is congestion window size. TCPNC’s congestion window may evolve in the following way:
CW
=4 in the
j
th round. If all packets are acknowledged, it will change to 5. We define the number of unacknowledged packets as Accumulative Unacknowledged number (
AU
). If 4 ACKs are returned in (
j
+1)th round,
CW
will increase to
and
AU
will be 1.Then only 4 new packets can be sent in the (
j
+2)th round (we define the Effective Window:
EW
=

AU
, where
denotes the maximum integer no greater than
x
). Note that TCPNC differs from common TCP variants:
CW
may increase, whereas the number of packets can be sent in the window (
EW
) may decrease, since not all packets are ACKed. It seems that only part of the window is effective. In
Fig. 2
(a), a packet is lost in the (
j
+2)th round, then
CW
=
and
AU
=2, thereby
EW
changes to 62=4 in the next round. With rounds going on, the effective window is likely to decrease and a timeout will occur if all packets are lost in a round. Then a new period starts with
CW
reset to 1,
EW
to 1 and
AU
to 0.
Evolutionary process of congestion window
If
R
≥1,
AU
may not increase. In
Fig. 2
(b), 4 original packets are passed to the congestion window in (
j
+2)th round while the coding layer may send 5 linearly independent coded packets. It will successfully transmit 4 coded packets although 1 packet is lost and
AU
remains to be 1. The congestion window will gradually increase to the maximum if
R
is set large enough and all these losses are masked.
4. Analytic Throughput model for TCPNC
 4.1 Overview of the model
According to the analysis above, TCP’s window evolution is decimal and periodic. However, we only care about two kinds of
CW
values: 1)
CW
values increasing to a certain integer for the first time in a period; 2)
CW
values corresponding to the timeout event of each period. Other
CW
values are considered as parts of transition. In this way, we can denote the state of TCPNC as:
or
S
(
VW
,
AU
) for short, where
VW
(Visual Window) is size of the congestion window;
AU
is the number of unacknowledged packets; the transition between states corresponds to a sequence of packets starts from one state and ends at another.
CW
may increase to the maximum congestion window size limitation (
CWmax
) when the erasure rate is low. It can still increase visually, but we always set
EW
≤
CWmax
. Thus the Visual Window (
VW
) is defined to be distinguished from
CW
. The process has Markov property because next state is only related to the current one and independent from the previous states. Shown as
Fig. 3
, denoting
VW
as the horizontal axis,
AU
as the ordinate axis, we can use a twodimensional Markov chain to represent the state transition of TCPNC.
State transition of Markov chain for TCPNC
In
Fig. 3
, each black circle stands for a timeout state, or absorbing state. Different absorbing states correspond to different absorbing probabilities. If we denote 0 as a lost packet, 1 as a successfully sent packet, then a sequence of 0/1 starts from one state and ends at another can be obtained. Through analysis of this sequence, we can get the transition probability between any of these states. Some of the sequences between states have been drawn in
Fig. 3
. Transition probability between states is the sum of all probabilities of sequences between them.
Note that the definition of
VW
plays a key role in lowing the model’s complexity. It reduces the number of states greatly. Here takes
Fig. 3
as an example. In real evolution, value of
CW
which has
= 3 can be 3, 3⅓, 3⅔. Thus tuple {
CW
,
AU
} can be {3,0}, {3,1}, {3,2}, {3,3}, {3⅓,0}, {3⅓ ,1}, {3⅓,2}, {3⅓,3}, {3⅔,0}, {3⅔,1}, {3⅔,2}, {3⅔,3}, 12 tuples in total where
= 3. However, by the state definition as (1), we only need to consider {3,0}, {3,1} and absorbing states {3,3}, {3⅓,3}, {3⅔,3}, therefore more than half of the states are eliminated.
In summary, the following related conclusions hold: 1) a state with
AU
=
is an absorbing state; 2) a state will not transfer to other states with same
VW
value except absorbing states; 3) a state with
VW
=
w
will not transfer to any state with
VW
value larger than
w
+1, it should transfer to some state with VM=
w
+1 first; 4) all transitions pointing at nonetimeout states end with a successfully sent packet, while all transitions pointing at timeout states end with a lost packet; 5) state
S
(
w
,
w
1) (
w
≥2) is not included in (1) and
Fig. 3
. Its previous states can only be
S
(
w
1,
i
) (0≤
i
<
w
1), and if
AU
increases to
w
1 earlier than
VW
increases to
w
,
S
(
w
1,
i
) will transfer to absorbing state
S
(
w
1,
w
1), otherwise
S
(
w
1,
i
) will transfers to
S
(
w
,
j
) (
i
≤
j
≤
w
2)and will not transfer to
S
(
w
,
w
1) due to conclusion2.
According to the total number of packets sent and the time needed, the corresponding throughput can be obtained. The overall throughput of TCPNC is can be calculated as:
where
p_{w}
means the total probability of absorbing states where
=
w
;
E
[
rcv_{w}
] represents the expected number of all the packets sent before timeout;
E
[
T_{w}
] is the expected time of this period, which includes the time of window evolution and timeout. We can imagine that the window could be very large and the states could be too many to calculate. However, many of these states have little probability and are negligible to
E
[
Thr
]. Therefore, we set the upper bound
M
to control the number of states.
M
is often set large enough so that almost all absorbing states are considered. Note that
M
is just an accuracyrelated number and has no direct relationship with
CW_{max}
.
 4.2 The absorbing probability pwand the expected CW size
With the absorbing probability
p_{w}
, we can calculate the expected
CW
size (
E
[
cwnd
]) an index of sending rate on the sender.
Define
P
({
VM_{i}
,
AU_{i}
}→{
VM_{j}
,
AU_{j}
}) as transition probability from
S
(
VM_{i}
,
AU_{i}
) to
S
(
VM_{j}
,
AU_{j}
), and
P
(
S
(
VM
,
AU
)) as the transition probability from initial state to
S
(
VM
,
AU
).There are too many paths to calculate
p_{w}
, but we can use Lemma1 below to transform the calculation into calculating the probability that
VM
can increase to
w
and
w
+1.
Lemma1
: The probability of timeout with
=
w
equals the difference between that of
VW
can increase to
w
and
w
+1.
Proof:
S
(
w
,
w
) can only be transformed from
S
(
w
,
i
) (0≤
i
<
w
), so it’s the sum of all these transition probability. Thus, we have:
where
denote the probability that
VM
could increase to
w
and
w
+1 respectively.
Using Lemma1, we just need to calculate
P
(
S
(
w
,
i
)) to obtain
p_{w}
. After sending
w
1 packets and losing
i

j
packets,
S
(
w
1,
j
) will evolve into
S
(
w
,
i
), so:
where
is the probability of sending
w
1 packets, losing
i

j
packets and finally successfully sending a packet to make
VM
increase from
w
1 to
w
. Note that
w
2 is gained by the preceding conclusion5. The algorithm of calculating
P
(
S
(
w
,
i
)) is showed as Algorithm1 (
Table 1
) and then
p_{w}
can be obtained by equation (3).
Algorithm1
The expected
CW
size equals the weighted average of
CW
:
where
M
is maximum
VM
value set to lower the complexity. Given that
VM
may increase to
CW_{max}
, and in that case we take
VM
as
CW_{max}
. A more comprehensive equation is:
 4.3 Expected time Twfrom S(1, 0) to absorbing state S(w, w)
T_{w}
includes
T
_{S(1,0)→S(w,∙)}
, which is the transition time from initial state to any state with
VM
=
w
(and
AU
may be 0, 1,2, …,
w
); Δ
_{t,w}
, which stands for the time needed for a state with
VM
=
w
to evolve into the absorbing state and to
w
, the RTO at window size. Then:
Compared to
T
_{S(1,0)→S(w,∙)}
, Δ
_{t,w}
is rather small, so we set
E
[Δ
_{t,w}
,] as (
w
1)/2 ∙
RTT
for simplicity, which is the median value of all possible values.
t_{w,o}
varies with
RTT
based on
RTO
estimation mechanism. Here we use
w
∙
RTT
to approximate
t_{w,o}
.
Intuitively,
E
[
T_{w}
] equals the weighted average time of all the evolutionary paths. Since there are too many paths, its calculation can be very complicated. To lower the complexity, we first calculate the time
VM
increases by one, and then accumulate all these time.
Lemma 2:
Define
T
_{S(i,∙)→S(i+1,∙)}
as the duration of packets sequence from any state with
VM
=
i
and ends at any state with
VM
=
i
+1. The expected time of evolution from initial state to a
VW
=
w
state can be represented as:
Proof:
Assume there are
m
evolutionary paths from
VM
=
k
to
VM
=
k
+1, each with the time
T_{S}
and probability
P
(
T_{s}
) (
s
= 1,2, ...,
m
);
n
evolutionary paths from
VM
=
k
+1 to
VM
=
k
+2, each with time
T_{t}′
and probability
P
(
T_{t}′
) (
t
= 1,2, ...,
n
) respectively. The total number of paths from
VM
=
k
to
VM
=
k
+2 is
m
x
n
, and the expected time from
VM
=
k
to
VM
=
k
+2 is:
Since every path arrives at
VM
=
k
+2, so:
Thus:
Namely, the expected time of evolution from
VM
=
k
to
VM
=
k
+2 is equal to the sum of that from
VM
=
k
to
VM
=
k
+1 and from
VM
=
k
+1 to
VM
=
k
+2. Due to
k
’s arbitrariness and using mathematical induction, it’s not difficult to prove: the expected time of evolution between a state with
VM
=
i
to a state with
VM
=
j
equals the sum of each step’s expected time in which
VM
advances by 1. If we let i be 1 and
j
be w, we can get:
The next task is to calculate
E
[
T
_{S(i,∙)→S(i+1,∙)}
]. We can get the rounds needed for
VM
=
i
to increase to
VW
=
i
+1:
where
E
[
EW_{i}
] is expected effective window size when
VM
=
w
. Obviously,
E
[
EW
_{1}
]=1. And if
VW
=
i
(
i
>1) and
AU
=
j
(0≤
j
<
i
),
EW
=
i
–
j
. Thus:
If packet loss rate is low,
EW_{i}
may exceed
CW_{max}
. In that case, we take
EW_{i}
the same value of
CW_{max}
:
Substituting (11) into (9), and assuming
RTT
is the same for each round
[9
,
11]
, we get:
And the expression of
E
[
T_{w}
] is:
 4.4 The expected number of all the packets sent before timeout
In congestion avoidance, after all packets within the window are successfully sent, the window advances by one.
Thus the following holds:
where Δ
_{rcv,w}
is the number of packets sent in the last round. Compared to
, it is rather small, so we set its expectation half the size of congestion window for simplicity. Hence:
Finally, we get the expected throughput of TCPNC by substituting
E
[rcww],
p_{w}
,
E
[
T_{w}
] into(2):
 4.5 Influences of redundancy parameter R
Loss rate
p
can be transformed to 1
R
∙(1
p
) with
R
=1 in case of
R
>1. Then we can use the algorithm mentioned above. Note that if
p
′<0,
R
may be large enough to compensate for the random erasures and we could use the model in
[14]
, which is suitable in that case.
 4.6 Computing accuracy and complexity analysis
Since
VM
can be very large, Algorithm1 may be very complex. Given the presence of erasure rate, the probability
VM
being large is rather low and can be negligible. Therefore, the upper bound
M
is set to help lower the complexity. Algorithm1 uses a threeordered nested loop and both the time complexity and space complexity are
O
(
M
^{3}
). Note that
M
is often set about twice of
CW_{max}
, thus all the computation can be done in nearly constant time.
5 Simulation Results and Model Verification
We verify our model through experiments on NS2 (Network Simulator 2
[16]
). After that, a comparison between our model, the models in
[11]
and
[14]
will be given to show the accuracy of our model. TCPNC in our simulation is implemented based on TCPReno.
 5.1 Network topology and configuration
We conduct our simulations in a fourhop tandem network and a crossshaped network as in
Fig. 4
. A FTP flow is deployed between the corresponding source and destination. Each link’s bandwidth is set to 1Mbps. The transport layer protocol is either TCPReno or TCPNC. Each link’s propagation delay is 100ms. Thus for topology (a), link layer
RTT
is 800ms, and for topology (b) the
RTT
between
S
_{1}
and
D
_{1}
is 800ms while it is 400ms between
S
_{2}
and
D
_{2}
. Each link has the same erasure rate and the packet size is 1KB. Additionally if there is no extra statement, we set all
CW_{max}
to 50 pkts in the following experiments.
Experiment topology
 5.2 Model verification under different R
When
R
> 1, we use 1
R
∙(1
p
) to represent the visual erasure rate in
R
=1 case, and then Algorithm1 can be used.
Fig. 5
shows that our model and experiments show very close concordance under different values of
R
.
Influence of redundancy parameters
 5.3 Tradeoff between complexity and accuracy
Because the analytic model calculates the weighted mean value of throughput for all visual windows, more visual windows bring higher accuracy and higher computation complexity. The relationship between accuracy and upper bound
M
is shown in
Fig. 6
.
M
stands for computation complexity and accumulative absorbing probability
P
measures the throughput accuracy. It is easy to see that for each erasure rate,
P
is near to 1 when
M
exceeds some threshold. It implies that almost all possible visual windows are considered.
Complexity and accuracy
 5.4 TCPNC analytic model evaluation
Fig. 7
evaluates our analytic model with simulation results.
Fig. 7
(a, c, e) are outputs of topology (a) and
Fig. 7
(b, d, f) are those of topology (b).
Fig. 7
(a, b) compare average congestion window sizes under different endtoend erasure rates, and
Fig. 7
(c, d) compare the throughputs under the same condition. In
Fig. 7
(e, f), we set different maximum window sizes and compare throughputs. Note that under the same endtoend loss rate, both of the flows in
Fig. 7
(b) must have the same average congestion window, and thus the curves must overlap. For that reason, we only draw NC1’s curve to verify our model.
Comparison between model and experiment results
We can see that our model and experiments match well over a wide range of loss rate (from 0 to 20%) and maximum window size (from 10 to 100 pkts).
 5.5 Comparing with other models
We select two similar models for comparison. One is proposed by Abouzeid
et al.
[11]
, which depict the behavior of TCPReno under random erasures. Another is established by Kim
et al.
[14]
, under the assumption that all random erasures are masked by setting
R
large enough. Since they both could only calculate the throughput, we compare our model with theirs in terms of throughput using topology(a). In
Fig. 8
, we present the results of all the models under different erasure rates and redundancy parameters. Kim's model only cares about the maximum window size, and in our experiments, all the maximum window sizes are set the same value (50 pkts) so it has the same curves. The erasure rates in Abouzeid’s model are transformed using
p
′=1
R
∙(1
p
) so that both TCPNC and TCPReno have the same visible erasure rates, thus more convincing results can be obtained. As can be seen, Abouzeid’s model uses transformed erasure rate to calculate the throughput of TCPReno. The throughput is then used to predict TCPNC’s so the deviation may be very large. This also shows that network coding has a significant impact on the behavior of TCP. Kim
et al.
's model is actually a horizontal line because of its assumption that all random losses are masked. It matches the experiments well when the loss rate is low but deviates farther as the loss rate increases. By contrast, our model precisely predicts the throughput of TCPNC, not only in a large range of loss rate, but also under different redundancy parameters.
Accuracy comparison with previous models
 5.6 Friendliness optimization based on the analytic model
We can get a better
R
when TCPNC coexists with other TCP variants based on our model. We conduct our experiment in the topology in
Fig. 4
(a) to illustrate this point. Without modifying other parameters, we set the bandwidth to be 0.05Mbps and endtoend erasure rate to be 0.06. The bandwidth is not sufficient if a TCPNC stream and a TCPReno stream coexist. Through the calculation of our model,
R
should be set to 1.015 thus TCPNC occupies approximate half the bandwidth. If we simply set
R
to be 1/(1p) ≈ 1.064 (as supposed in Kim
et al.
’s model
[14]
), there is much throughput penalty on TCPReno.
Fig. 9
shows
R
’s influence on TCPNC’s bandwidth occupation.
Fig. 9
(a) and (b) are the window evolution process with
R
set to be 1.064 and 1.015 separately. We emphasize again here that only part of TCPNC’s window is effective because part of packets sent in a round can be Acked. Larger
R
makes the window of TCPNC increase faster, but it also makes TCPReno experience more window closing.
Fig. 9
(c) and (d) show the evolution of the sequence number of Acked packets. In the case of
R
=1.064, the sequence number of TCPReno rises slowly and intermittently. However, if we set
R
=1.015, both the Acked sequence number of TCPNC and TCPReno increases stably. The throughput ratio between TCPNC and TCPReno is 4.963 when
R
=1.064, whereas it is 1.415 when
R
=1.015. We can see that fairness between coded stream and noncoded one can be improved based on our model.
Performance comparison when TCPNC coexists with TCPReno
6 Conclusions
This paper analyzes TCPNC’s performance mathematically. Some interesting features of TCPNC different from common TCP variants are discussed. The analytic model proposed in this paper precisely calculates TCPNC throughput and congestion window size under a wide range of endtoend erasure rate, redundancy parameter and maximum window size. It helps understand the behavior of TCPNC and the impact of network coding on TCP. One interesting topic in the future is to examine the behavior when multiple TCPNC streams coexist.
BIO
Sanfeng Zhang received his Ph.D. degree in Computer Application Technology, from School of Computer Science & Engineering, Southeast University, Nanjing, China, in 2008. Since 2008, Dr. Zhang has been with the College of Software Engineering and School of Computer Science & Engineering, Southeast University, where he is currently an associate professor. His current research interests include network coding and wireless networks.
Email:sfzhang@seu.edu.cn.
Xiang Lan is currently pursuing for the Bachelor’s degree in Software Engineering from College of Software Engineering, Southeast University. His current research interests include wireless mesh networks, software defined networks and network performance optimization.
Email: xlan@seu.edu.cn.
Shuang Li received her Bachelor’s degree in Software Engineering, from School of Computer Science & Engineering, Southeast University, Nanjing, China, in 2013. She is currently pursuing for the Ph.D. degree in Computer Science and Technology from Tsinghua University. Her current research interests include transparent computing, network modelling and performance optimization.
Email: seu43208301@126.com.
C´aceres R.
,
Iftode L.
2007
“TCP performance in IEEE802.11Based ad hoc networks with multiple wireless lossy links”
IEEE Journal on Selected Areas in Communications
Article (CrossRef Link)
13
(5)
1329 
1342
AlJubari Ammar Mohammed
,
Othman Mohamed
,
Ali Borhanuddin Mohd
,
Hamid Nor Asilah Wati Abdul
2011
“TCP performance in multihop wireless ad hoc networks: challenges and solution”
EURASIP Journal on Wireless Communications and Networking
Article (CrossRef Link)
2011
(1)
1 
25
DOI : 10.1186/168714992011198
Fu Zhenghua
,
Luo Haiyun
,
Zerfos Petros
,
Lu Songwu
,
Zhang Lixia
,
Gerla Mario
2005
“The impact of multihop wireless channel on TCP performance”
IEEE Transactions on Mobile Computing
Article (CrossRef Link)
4
(2)
209 
212
DOI : 10.1109/TMC.2005.30
Huang Y.
,
Ghaderi M.
,
Towsley D.
,
Gong W.
2008
“TCP performance in coded wireless mesh networks”
in Proc. of Fifth Annual IEEE Communications Society Conference on Sensor, Mesh and Ad Hoc Communications and Networks
Jun 1620
Article (CrossRef Link)
179 
187
Gheorghiu Steluta
,
Lopez Alberto
,
Rodriguez Toledo Pablo
2010
“Multipath TCP with network coding for wireless mesh networks”
in Proc. of 2010 IEEE International Conference on Communications (ICC)
May 2327
Article (CrossRef Link)
1 
5
Sundararajan Jay Kumar
,
Shah Devavrat
,
Medrad Muriel
2009
“Network coding meets TCP”
in Proc. of 28th IEEE International Conference on Computer Communications (INFOCOM)
April 1925
Article (CrossRef Link)
280 
288
Sundararajan J. K.
,
Shah D.
,
M´edard M.
,
Mitzenmacher M.
,
Barros J.
2011
“Network coding meets TCP theory and implementation”
in Proc. of 30th IEEE International Conference on Computer Communications (INFOCOM)
April 1015
Article (CrossRef Link)
280 
288
Casetti C.
,
Meo M.
2000
“A new approach to model the stationary behavior of TCP connections”
in Proc. of 19th IEEE International Conference on Computer Communications (INFOCOM)
March 2630
Article (CrossRef Link)
367 
375
Sikdar Biplab
,
Kalyanaraman Shivkumar
,
Vastola Kenneth S.
2003
“Analytic models for the latency and steadystate throughput of TCP Tahoe, Reno, and SACK”
IEEE/ACM Transactions on Networking
Article (CrossRef Link)
11
(6)
959 
971
DOI : 10.1109/TNET.2003.820427
Parvez N.
,
Mahanti A.
,
Williamson C.
2010
“An analytic throughput model for TCP NewReno”
IEEE/ACM Transactions on Networking
Article (CrossRef Link)
18
(2)
448 
461
DOI : 10.1109/TNET.2009.2030889
Abouzeid A. A.
,
Roy S.
,
Azizoglu M.
2000
“Stochastic modeling of TCP over lossy links”
in Proc. of 19th IEEE International Conference on Computer Communications (INFOCOM)
March 2633
Article (CrossRef Link)
1724 
1733
Li X.
,
Kong P. Y.
,
Chua K. C.
2007
“TCP performance in IEEE 802.11based adhoc networks with multiple wireless lossy links”
IEEE Transactions on Mobile Computing
Article (CrossRef Link)
6
(12)
1329 
1342
DOI : 10.1109/TMC.2007.1057
Xiao Hannan
,
Zhang Ying
,
Malcolm James
,
Christianson Bruce
,
Chua Kee Chaing
2010
“Modeling and analysis of TCP performance in wireless multihop networks”
Wireless Sensor Network
Article (CrossRef Link)
2
(7)
493 
503
DOI : 10.4236/wsn.201027061
Kim M.
,
Médard M.
,
Barros J.
2011
“Modeling network coded TCP throughput: a simple model and its validation”
in Proc. of 4th IEEE International Conference on Software Testing, Verification and Validation
May 1620
Article (CrossRef Link)
131 
140
Kim M.
,
Klein T.
,
Soljanin E.
,
Barros Jo
,
M´edard M.
2012
“Modeling network coded TCP: analysis of throughput and energy cost”
Technical Report, MIT
2013
NS2.
http://www.isi.edu/nsnam/ns/