Title: ENHANCING THE RELIABILITY OF TCP WITH NETWORK CODING
1ENHANCING THE RELIABILITY OF TCP WITH NETWORK
CODING
Aishwarya Nagarajan, Chin-ya Huang Professor
Parmesh Ramanathan, Professor Kewal Saluja
2OUTLINE
- TCP and Wireless Networks
- Network Coding
- Providing Information Redundancy with Network
Coding - Experimental Setup
- Results, Discussion and Conclusion
3TCP BASICS
- Transmission Control Protocol Transport Layer
Protocol in IP Suite - TCP provides reliable, ordered delivery of a
stream of bytes from a program on one computer to
another program on another computer - Key function Congestion Control
- The IP
Layered Protocol Stack
4TCP CONGESTION CONTROL ALGORITHM
- Uses four intertwined algorithms
5TCP CONGESTION CONTROL ALGORITHM
- Slow Start Exponential Increase
- Cwnd lt ssthresh
- Approximately doubles Cwnd every RTT
- Congestion Avoidance Additive Increase
- Cwnd gt ssthresh
- The sender tries to stay here as much as possible
- Increases Cwnd by one MSS every RTT
- Fast Retransmit Wait for 3 DUP ACKs
- Fast Recovery
6TCP THROUGHPUT GRAPH
7WIRELESS COMMUNICATION
- Access Point architecture
- Hidden nodes
- A and B both compete to send to the AP
- CSMA-CA, RTS, CTS prevent still the losses are
much more than in wired, reduce capacity - Common wireless protocols 802.11a,g - 54Mbps,
802.11n 108Mbps
8TCP AND WIRELESS NETWORKS
- TCP algorithm is too conservative for wireless
networks11 - Wireless networks suffer from other losses -
fading, collisions, handoffs along with pure
congestion losses. These are in the range from
(2-20) - TCP responds to all losses by dramatically
reducing its sending capacity - Can we reduce the loss rate, and not suffer this
performance degradation? -
9OUTLINE
- TCP and Wireless Networks
- Network Coding
- Providing Information Redundancy with Network
Coding - Experimental Setup
- Results, Discussion and Conclusion
10NETWORK CODING
- Key idea - packets can be combined with a
suitable linear code prior to transmission - Reduces the number of transmissions required, and
also makes effective use of the network bandwidth
by sending a single message through the router
11THE TOPOLOGY
Aishwarya
Prof Saluja
AP2
AP1
Prof Parmesh
Chinya
- Aishwarya -gt Chinya
- Prof Parmesh -gt Prof Saluja
- Contention for APs
12WITHOUT NETWORK CODING
Aishwarya
Prof Saluja
- Six transmissions
- We can do better!
3
4
AP2
2, 5
AP1
6
Prof Parmesh
1
Chinya
13WITH NETWORK CODING
- Make use of the hidden nodes
- Combine the packets at AP, decode at receiver
- Four transmissions!
M1M2 M2
4
2
3
4
M1M2 M1
1
14WITHOUT NETWORK CODING
- s1 wishes to send message X1 to receiver t1, and
sender s2 wishes to send message X2 to receiver
t2. t1 and t2 are out of the wireless broadcast
range of s1 and s2 respectively. However, t2 can
hear s1s broadcasts, and t1 can hear s2s
broadcasts. t1 and t2 are also in v2s broadcast
range. - s1 will send its message to t1 via intermediate
node v1, which broadcasts to v2, which broadcasts
to t1. - Similarly, s2 will send its message to t2 via
intermediate node v1, which broadcasts to v2,
which broadcasts to t2. - Thus, it takes a total of six transmissions to
get the two messages across, not accounting for
losses.
15WITH NETWORK CODING
1) s1 broadcasts X1 to v1, which t2 can hear. t2
does not discard this message but keeps it in its
buffer 2) s2 broadcasts X2 to v1, which t1can
hear. t1 does not discard this message but keeps
it in its buffer 3) At v1, these messages can be
combined or encoded with a suitable linear code.
One such code can be a simple XORing of the bits
of both the messages 4) v1 broadcasts the encoded
packet to v2, which then broadcasts it to t1 and
t2 5) t1 now has messages X2 and (X1X2). It can
thus decode the message X1 which was meant for
it, with the knowledge of the linear code that
was used. Similarly, t2 can decode the message X2
which was meant for it
16NETWORK CODING BENEFITS
- Reduces the number of transmissions required,
especially in a broadcast or multicast
environment - It also makes effective use of the network
bandwidth by sending a single message though the
router in place of multiple messages sequentially
to all the users - Used in P2P file sharing, wireless communication,
ad-hoc networks, optical networks - Can we use it to reduce the number of TCP
retransmissions?
17OUTLINE
- TCP and Wireless Networks
- Network Coding
- Providing Information Redundancy with Network
Coding - Experimental Setup
- Results, Discussion and Conclusion
18WHY IS NETWORK CODING REQUIRED ?
- During wireless transmission, packets will be
lost due to the poor channel condition. - However, Source would misunderstand this as a
sign of congestion, and then TCP congestion
control mechanism is activated - Packets are retransmitted
- Throughput is decreased (Undesired !)
19WHY IS NETWORK CODING REQUIRED ?
- Decrease the complexity
- Make use of available bandwidth
- Send packets as many as possible
- Does not need to know where the loss occurs
- Ease the complexity of routing problems
- Provide reliability of transmission
20HOW NETWORK CODING HELPS..
- The relationship between n and k is based on the
formula
- When A0 receives every k packets, it encode these
k packets into n packets through a specific
encoding schemes. - Lots of well known encoding schemes are proposed
- ECC, Parity check packets, etc.
n
- S packet size,
- T interval for encoding
- k number of source packets
21HOW NETWORK CODING HELPS..
- After encoding packets, the packet loss rate will
become
- Assuming binomial probability of losses
- n k packets losses can be tolerated during
transmission - If transmission fails this time, approximately
each flow only loss one packets within these k
flows. - Network Coding provides information redundancy to
support reliability in networks
22OUTLINE
- TCP and Wireless Networks
- Network Coding
- Providing Information Redundancy with Network
Coding - Experimental Setup
- Results, Discussion and Conclusion
23NETWORK MODEL
- We tried to model our topology as similar to a
real network as possible - Most real networks can be characterized with a
hybrid network topology
24PARAMETERS SETUP
- Implemented in the Network Layer in NS-3
- Maximum Segment Size 536 bytes
- RTT 12 ms
- Send, Receive Buffer Sizes 4294967295 bytes
- SSThresh 65535
- Initial Cwnd 1
- The intermediate link - 802.11g wireless link,
54Mbps - N 30 traffic flows, each of 1Mbps were used.
- Allows for 24 redundant packets on the
intermediate link. - The simulations were conducted for 1000 time
units 2 days each
25PARAMETERS SETUP
- To ensure we definitely have enough available
bandwidth for transmission - Considering real wireless network environment
- Traffic flow 30
- B1 B2 B3 10, 54, 1
- Expected Throughput 1 (Mbps /flow)
26PARAMETERS SETUP
- Expected packet loss rate betweeb A0 and Aj
- Loss probability Pe,wireless 1,10, 20
- Assume the loss probability of each packet is
i.i.d - Assume packet loss for each packet in each link
is pi from A0 to Aj
27MARKOV LOSS MODEL
- Each packet on the intermediate link carries the
encoded packets from several different sources. - If the network coded packet cannot be decoded,
all n encoded packets are dropped. - The loss of n network coded packet is equivalent
to dropping one packet from each of the sources. - To model multiple losses, a Markov chain was
constructed in NS3 in the source code for IPv4
layer 3 protocol - For every incoming packet, check previous state,
IP, pick a random number, and then decide the
current state.
28OUTLINE
- TCP and Wireless Networks
- Network Coding
- Providing Information Redundancy with Network
Coding - Experimental Setup
- Results, Discussion and Conclusion
29THROUGHPUT CALCULATION
- TCP throughput could be obtained according to the
Mathis formula 13 - With Network Coding, network would almost behave
as no packet loss
30LOSS PROBABILITIES WITH NETWORK CODING
Loss
Case
31THROUGHPUT RESULTS
Throughput (Mbps)
Loss without NC
32WHAT HAPPENS IF AVAILABLE BANDWIDTH IS NOT FULLY
UTILIZED
Throughput (Mbps)
Loss Probability
- If the loss probability is 10, add different
redundant packets for encoding. - The available bandwidth is not fully utilized
33WHAT HAPPENS IF AVAILABLE BANDWIDTH IS NOT FULLY
UTILIZED
- Not all packets required to be send successfully
in networks - Under the tolerant loss probability, more traffic
flows can be supported at the same time - Flexibility and Scalability
- Based on different priority of packets, design a
mechanism to decide n, k, and T adaptively
34CONCLUSION DISCUSSION
- We have formulated an analytical model for the
loss probability of network coded traffic based
on the number of redundant packets used for
encoding. - We have used a binomial distribution to
characterize the packet loss and have shown that
by encoding a suitable number of packets with
network coding, the loss probability on the
common link can be reduced to a negligible value - Network Coding helps to improve the throughput in
wireless networks - Make use of the available bandwidth
- Provide information redundancy to support
reliability
35FUTURE WORK
- Analyzing different topologies, traffic behavior
and loss probabilities on more complex
topologies. - Use of other probabilistic models for the network
coded traffic is also actively being explored - The optimum value for number of redundant packets
to be added - requires a mathematical formulation - Tradeoff between n, k, and T
- Design a mechanism to improve the performance
further - An interesting study would be how Network Coding
impacts the reliability of TCP in a wired network - Impact on wireless nodes architecture Encoding
and Decoding delay
36REFERENCES
- 1 M. Ghaderi, D. Towsley, and J. Kurose,
"Reliability Gain of Network Coding in Lossy
Wireless Networks," in Proc, IEEE INFOCOM, 2008. - 2 A. Khreishah, C.-C Wang, and N. Shroff,
"Optimization Based Rate Control for
Communication Networks with Inter-session Network
Coding," in Proc, IEEE INFOCOM, 2008. - 3 A. Keshavarz-Haddad and R. Riedi, "Bounds on
Benefit of Network Coding Throughput and Energy
Saving in Wireless Networks" in Proc, IEEE
INFOCOM, 2008. - 4 N. Sundaram and P. Ramanathan, "Distributed
Multirate Streaming in Overlay Networks,"
Dissertation of UW-Madison, 2008. - 5 Network information flow - R. Ahlswede, N.
Cai, S.-Y. R. Li, and R.W. Yeung, IEEE Trans. on
Information Theory, July 2000 - 6 Efficient, Fault-Tolerant All-Optical
Multicast Networks via Network Coding - Ronald
C. Menendez and Joel W. Gannett, Telcordia
Technologies, OFC/NFOEC 2008 - 7 Network Coding An instant primer
Christina Fragouli, Jean-Yves Le Boudec, Jorg
Widmer, ACM SIGCOMM 2006
37REFERENCES
- 8 Fault tolerant network coding Ravishankar
Krishnaswamy, IIT-Madras, 2007 - 9 Practical network coding - P. A. Chou,
T.Wu, and K. Jain, 51st Allerton Conf.
Communication, Control and Computing, 2003 - 10 TCP with End-to-End FEC Henrik
Lundqvist, Gunnar Karlsson, KTH, LCN/IMIT, Kista,
Sweden, in Proceedings of International Zurich
seminar on Communications, 2004 - 11 A Comparison of Mechanisms for Improving
TCP Performance over Wireless Links - Hari
Balakrishnan, Venkata N. Padmanabhan, Srinivasan
Seshan and Randy H. Katz, Proc. ACM SIGCOMM,1996 - 12 Network Coding for Wireless Mesh Networks
A Case Study Anwar Al Hamra, Chadi Barakat and
Thierry Turletti, Proc of the International
Symposium on a World of Wireless, Mobile and
Multimedia Networks, 2006 - 13 The macroscopic behavior of the TCP
congestion avoidance algorithm Mathis, Semke,
Mahdavi Ott, Computer Communication Review,
27(3), July 1997
38THANK YOU !