Advanced
Analytic Throughput Model for Network Coded TCP in Wireless Mesh Networks
Analytic Throughput Model for Network Coded TCP in Wireless Mesh Networks
KSII Transactions on Internet and Information Systems (TIIS). 2014. Sep, 8(9): 3110-3125
Copyright © 2014, Korean Society For Internet Information
  • Received : February 13, 2014
  • Accepted : August 08, 2014
  • Published : September 28, 2014
Download
PDF
e-PUB
PubReader
PPT
Export by style
Share
Article
Author
Metrics
Cited by
TagCloud
About the Authors
Sanfeng Zhang
Key Laboratory of Computer Network and Information Integration in Southeast University, Ministry of Education Nanjing, 211189 - China
Xiang Lan
College of Software Engineering Southeast University, Nanjing, 211189 - China
Shuang Li
College of Software Engineering Southeast University, Nanjing, 211189 - China

Abstract
Network coding improves TCP’s performance in lossy wireless networks. However, the complex congestion window evolution of network coded TCP (TCP-NC) makes the analysis of end-to-end throughput challenging. This paper analyzes the evolutionary process of TCP-NC against lossy links. An analytic model is established by applying a two-dimensional Markov chain. With maximum window size, end-to-end erasure rate and redundancy parameter as input parameters, the analytic model can reflect window evolution and calculate end-to-end throughput of TCP-NC 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 TCP-NC’s performance and lay the foundation of its optimization. Extensive simulations on NS2 show that the analytic model features fairly high accuracy.
Keywords
1. Introduction
W ireless Mesh Network (WMN) has drawn wide attention in both academia and industry. Despite increased TCP-based 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 TCP-compatible, due to the fact that they don’t solve the contradiction between the batch-based coding/decoding operation of NC and the stream nature of TCP transmission.
Sundararajan et al. [6] proposed Network Coded TCP (TCP-NC) and addressed the dilemma tactfully. TCP-NC 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 TCP-NC based on TCP-Reno in [7] .
TCP-NC can be easily implemented based on existing protocols. It handles packet losses through sending redundant coded packets. However, that makes TCP-NC 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 TCP-NC operational process using a two-dimensional Markov chain. The model establishes the quantitative relation between the end-to-end throughput and TCP-NC parameters, such as erasure rate, coding redundancy, and maximum congestion window size. This work provides theoretical basis for further optimization of TCP-NC.
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 TCP-NC. 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, slow-start phase and delayed ACK timer was presented, thereby gaining better accuracy. Furthermore, [10] modeled TCP-NewReno, 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 TCP-Reno and TCP- NewReno in wireless networks [12] . Xiao et al. proposed a system model for analyzing TCP’s performance in multi-hop 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 TCP-Reno, TCP-NewReno and other common TCP variants.
When it comes to modeling TCP-NC, 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, TCP-NC 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 TCP-NC 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 TCP-NC’s fairness and friendliness with other TCP variants.
3. Overview of TCP-NC
In this part, we will analyze TCP-NC’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 end-to-end 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 TCP-NC 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.
PPT Slide
Lager Image
Coding transmission and acknowledgement in TCP-NC
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 slow-start, congestion avoidance, fast retransmit, fast recovery and timeout. Congestion Window ( CW ) increases as CW = CW + 1 when TCP receives an ACK in the slow-start phase; it shifts into congestion avoidance phase when CW is larger than the slow-start threshold ( Ssthresh ) and the CW increases as CW = CW + 1/ CW ; it will go back to the slow-start phase with CW reset to 1 and Ssthresh reset to 2 if some packet is unacknowledged in retransmission-timeout ( RTO ) period. The congestion window size doubles after each round in the slow-start phase and congestion avoidance will start after limited rounds. Therefore, slow-start phase is usually ignored in related modeling work [11 , 12 and 14] . Likewise, we focus on TCP-NC’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. TCP-NC’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
PPT Slide
Lager Image
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 =
PPT Slide
Lager Image
- AU , where
PPT Slide
Lager Image
denotes the maximum integer no greater than x ). Note that TCP-NC 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 =
PPT Slide
Lager Image
and AU =2, thereby EW changes to 6-2=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.
PPT Slide
Lager Image
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 TCP-NC
- 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 TCP-NC as:
PPT Slide
Lager Image
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 two-dimensional Markov chain to represent the state transition of TCP-NC.
PPT Slide
Lager Image
State transition of Markov chain for TCP-NC
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
PPT Slide
Lager Image
= 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
PPT Slide
Lager Image
= 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 =
PPT Slide
Lager Image
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 none-timeout 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 conclusion-2.
According to the total number of packets sent and the time needed, the corresponding throughput can be obtained. The overall throughput of TCP-NC is can be calculated as:
PPT Slide
Lager Image
where pw means the total probability of absorbing states where
PPT Slide
Lager Image
= w ; E [ rcvw ] represents the expected number of all the packets sent before timeout; E [ Tw ] 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 accuracy-related number and has no direct relationship with CWmax .
- 4.2 The absorbing probability pwand the expected CW size
With the absorbing probability pw , we can calculate the expected CW size ( E [ cwnd ]) an index of sending rate on the sender.
Define P ({ VMi , AUi }→{ VMj , AUj }) as transition probability from S ( VMi , AUi ) to S ( VMj , AUj ), and P ( S ( VM , AU )) as the transition probability from initial state to S ( VM , AU ).There are too many paths to calculate pw , but we can use Lemma-1 below to transform the calculation into calculating the probability that VM can increase to w and w +1.
Lemma-1 : The probability of timeout with
PPT Slide
Lager Image
= 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:
PPT Slide
Lager Image
where
PPT Slide
Lager Image
denote the probability that VM could increase to w and w +1 respectively.
Using Lemma-1, we just need to calculate P ( S ( w , i )) to obtain pw . After sending w -1 packets and losing i - j packets, S ( w -1, j ) will evolve into S ( w , i ), so:
PPT Slide
Lager Image
where
PPT Slide
Lager Image
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 conclusion-5. The algorithm of calculating P ( S ( w , i )) is showed as Algorithm-1 ( Table 1 ) and then pw can be obtained by equation (3).
Algorithm-1
PPT Slide
Lager Image
Algorithm-1
The expected CW size equals the weighted average of CW :
PPT Slide
Lager Image
where M is maximum VM value set to lower the complexity. Given that VM may increase to CWmax , and in that case we take VM as CWmax . A more comprehensive equation is:
PPT Slide
Lager Image
- 4.3 Expected time Twfrom S(1, 0) to absorbing state S(w, w)
Tw 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:
PPT Slide
Lager Image
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. tw,o varies with RTT based on RTO estimation mechanism. Here we use w RTT to approximate tw,o .
Intuitively, E [ Tw ] 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:
PPT Slide
Lager Image
Proof:
Assume there are m evolutionary paths from VM = k to VM = k +1, each with the time TS and probability P ( Ts ) ( s = 1,2, ..., m ); n evolutionary paths from VM = k +1 to VM = k +2, each with time Tt and probability P ( Tt ) ( 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:
PPT Slide
Lager Image
Since every path arrives at VM = k +2, so:
PPT Slide
Lager Image
Thus:
PPT Slide
Lager Image
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:
PPT Slide
Lager Image
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:
PPT Slide
Lager Image
where E [ EWi ] 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:
PPT Slide
Lager Image
If packet loss rate is low, EWi may exceed CWmax . In that case, we take EWi the same value of CWmax :
PPT Slide
Lager Image
Substituting (11) into (9), and assuming RTT is the same for each round [9 , 11] , we get:
PPT Slide
Lager Image
And the expression of E [ Tw ] is:
PPT Slide
Lager Image
- 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:
PPT Slide
Lager Image
where Δ rcv,w is the number of packets sent in the last round. Compared to
PPT Slide
Lager Image
, it is rather small, so we set its expectation half the size of congestion window for simplicity. Hence:
PPT Slide
Lager Image
Finally, we get the expected throughput of TCP-NC by substituting E [rcww], pw , E [ Tw ] into(2):
PPT Slide
Lager Image
- 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, Algorithm-1 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. Algorithm-1 uses a three-ordered nested loop and both the time complexity and space complexity are O ( M 3 ). Note that M is often set about twice of CWmax , 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. TCP-NC in our simulation is implemented based on TCP-Reno.
- 5.1 Network topology and configuration
We conduct our simulations in a four-hop tandem network and a cross-shaped 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 TCP-Reno or TCP-NC. 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 CWmax to 50 pkts in the following experiments.
PPT Slide
Lager Image
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 Algorithm-1 can be used. Fig. 5 shows that our model and experiments show very close concordance under different values of R .
PPT Slide
Lager Image
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.
PPT Slide
Lager Image
Complexity and accuracy
- 5.4 TCP-NC 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 end-to-end 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 end-to-end 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.
PPT Slide
Lager Image
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 TCP-Reno 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 TCP-NC and TCP-Reno 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 TCP-Reno. The throughput is then used to predict TCP-NC’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 TCP-NC, not only in a large range of loss rate, but also under different redundancy parameters.
PPT Slide
Lager Image
Accuracy comparison with previous models
- 5.6 Friendliness optimization based on the analytic model
We can get a better R when TCP-NC 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 end-to-end erasure rate to be 0.06. The bandwidth is not sufficient if a TCP-NC stream and a TCP-Reno stream coexist. Through the calculation of our model, R should be set to 1.015 thus TCP-NC occupies approximate half the bandwidth. If we simply set R to be 1/(1-p) ≈ 1.064 (as supposed in Kim et al. ’s model [14] ), there is much throughput penalty on TCP-Reno. Fig. 9 shows R ’s influence on TCP-NC’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 TCP-NC’s window is effective because part of packets sent in a round can be Acked. Larger R makes the window of TCP-NC increase faster, but it also makes TCP-Reno 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 TCP-Reno rises slowly and intermittently. However, if we set R =1.015, both the Acked sequence number of TCP-NC and TCP-Reno increases stably. The throughput ratio between TCP-NC and TCP-Reno 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 non-coded one can be improved based on our model.
PPT Slide
Lager Image
Performance comparison when TCP-NC coexists with TCP-Reno
6 Conclusions
This paper analyzes TCP-NC’s performance mathematically. Some interesting features of TCP-NC different from common TCP variants are discussed. The analytic model proposed in this paper precisely calculates TCP-NC throughput and congestion window size under a wide range of end-to-end erasure rate, redundancy parameter and maximum window size. It helps understand the behavior of TCP-NC and the impact of network coding on TCP. One interesting topic in the future is to examine the behavior when multiple TCP-NC 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.
References
C´aceres R. , Iftode L. 2007 “TCP performance in IEEE-802.11-Based ad hoc networks with multiple wireless lossy links” IEEE Journal on Selected Areas in Communications Article (CrossRef Link) 13 (5) 1329 - 1342
Al-Jubari Ammar Mohammed , Othman Mohamed , Ali Borhanuddin Mohd , Hamid Nor Asilah Wati Abdul 2011 “TCP performance in multi-hop wireless ad hoc networks: challenges and solution” EURASIP Journal on Wireless Communications and Networking Article (CrossRef Link) 2011 (1) 1 - 25    DOI : 10.1186/1687-1499-2011-198
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 16-20 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 23-27 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 19-25 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 10-15 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 26-30 Article (CrossRef Link) 367 - 375
Sikdar Biplab , Kalyanaraman Shivkumar , Vastola Kenneth S. 2003 “Analytic models for the latency and steady-state 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 26-33 Article (CrossRef Link) 1724 - 1733
Li X. , Kong P. Y. , Chua K. C. 2007 “TCP performance in IEEE 802.11-based ad-hoc 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 16-20 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/