Combining TCP with coding in wireless network

Slides:



Advertisements
Similar presentations
Reconsidering Reliable Transport Protocol in Heterogeneous Wireless Networks Wang Yang Tsinghua University 1.
Advertisements

TCP Variants.
1 Improving TCP Performance over Mobile Networks HALA ELAARAG Stetson University Speaker : Aron ACM Computing Surveys 2002.
Primitives for Achieving Reliability 3035/GZ01 Networked Systems Kyle Jamieson Department of Computer Science University College London.
Umut Girit  One of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer.
Assume that a file is transferred from a node A to a node B. The file has been fragmented in 5 frames. Frame 0 is corrupted, the ACK of frame 1 is corrupted,
CCNA – Network Fundamentals
Hui Zhang, Fall Computer Networking TCP Enhancements.
TCP 與 UDP 協定分析 第 22 組 b 陳贊羽 b 馬家驤 b 林怡賢 b 王奕棠.
Experimental evaluation of TCP-L June 5, 2003 Stefan Alfredsson Karlstad University.
2005/12/06OPLAB, Dept. of IM, NTU1 Optimizing the ARQ Performance in Downlink Packet Data Systems With Scheduling Haitao Zheng, Member, IEEE Harish Viswanathan,
Improving TCP Performance over Mobile Ad Hoc Networks by Exploiting Cross- Layer Information Awareness Xin Yu Department Of Computer Science New York University,
Copyright 1999, S.D. Personick. All Rights Reserved. Telecommunications Networking II Lecture 32 Transmission Control Protocol (TCP) Ref: Tanenbaum pp:
Performance Improvement of TCP in Wireless Cellular Network Based on Acknowledgement Control Osaka University Masahiro Miyoshi, Masashi Sugano, Masayuki.
Hitchhike: Riding Control on Preambles Xiaoyu Ji Xiaoyu Ji, Jiliang Wang, Mingyan Liu, Yubo Yan, Panlong Yang and Yunhao Liu INFOCOM, 2014, Toronto Hong.
6/3/ Improving TCP Performance over Mobile Ad Hoc Networks by Exploiting Cross-Layer Information Awareness CS495 – Spring 2005 Northwestern University.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 OSI Transport Layer Network Fundamentals – Chapter 4.
Internet Networking Spring 2003 Tutorial 12 Limited Transmit RFC 3042 Long Thin Networks RFC 2757.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #11 TCP Eiffel (RFC 3522)
Transport Layer 3-1 outline r TCP m segment structure m reliable data transfer m flow control m congestion control.
Extending Snoop to Handle IPSec Packets Yan Yu AT&T Research / USC, UCLA Joint work with S. Bellovin, R. Caceres, K. Fisher, A. Rogers.
Wireless Network Design for Distributed Control Liu and Goldsmith - Appeared at CDC 2004 Presented by Vinod Namboodiri.
Network Coding Meets TCP Michael Mitzenmacher Joint work with Jay-Kumar Sudararajan, Devavrat Shah, Muriel Medard, Joao Barros.
1 Internet Networking Spring 2003 Tutorial 11 Explicit Congestion Notification (RFC 3168) Limited Transmit (RFC 3042)
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #7 TCP New Reno Vs. Reno.
CS 268: Wireless Transport Protocols Kevin Lai Feb 13, 2002.
Leveraging Multiple Network Interfaces for Improved TCP Throughput Sridhar Machiraju SAHARA Retreat, June 10-12, 2002.
1 TCP Transport Control Protocol Reliable In-order delivery Flow control Responds to congestion “Nice” Protocol.
1 Internet Networking Spring 2003 Tutorial 11 Explicit Congestion Notification (RFC 3168)
CS158B Project By Shing Chau Jerry Ko Ying Li
1 Internet Networking Spring 2006 Tutorial 10 The Eifel Detection Algorithm for TCP RFC 3522.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #8 Explicit Congestion Notification (RFC 3168) Limited Transmit.
17/10/2003TCP performance over ad-hoc mobile networks. 1 LCCN – summer 2003 Uri Silbershtein Roi Dayagi Nir Hasson.
CMPE 257 Spring CMPE 257: Wireless and Mobile Networking Spring 2005 E2E Protocols (point-to-point)
TCP. Learning objectives Reliable Transport in TCP TCP flow and Congestion Control.
1 A Comparison of Mechanisms for Improving TCP Performance over Wireless Links Course : CS898T Instructor : Dr.Chang - Swapna Sunkara.
Gursharan Singh Tatla Transport Layer 16-May
TRANSPORT LAYER T.Najah Al-Subaie Kingdom of Saudi Arabia Prince Norah bint Abdul Rahman University College of Computer Since and Information System NET331.
CS640: Introduction to Computer Networks Aditya Akella Lecture 22 - Wireless Networking.
Qian Zhang Department of Computer Science HKUST Advanced Topics in Next- Generation Wireless Networks Transport Protocols in Ad hoc Networks.
Computer Networks: Multimedia Applications Ivan Marsic Rutgers University Chapter 3 – Multimedia & Real-time Applications.
COM594 TCP and Wireless: Unforeseen Consequences.
Chapter 5 Transport layer With special emphasis on Transmission Control Protocol (TCP)
1 7-Oct-15 OSI transport layer CCNA Exploration Semester 1 Chapter 4.
TCP Lecture 13 November 13, TCP Background Transmission Control Protocol (TCP) TCP provides much of the functionality that IP lacks: reliable service.
26-TCP Dr. John P. Abraham Professor UTPA. TCP  Transmission control protocol, another transport layer protocol.  Reliable delivery  Tcp must compensate.
University of the Western Cape Chapter 12: The Transport Layer.
Transport Layer: UDP, TCP
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Flow Control 0.
Data Transmission Over Wireless Links Fan Yang
Wireless TCP. References r Hari Balakrishnan, Venkat Padmanabhan, Srinivasan Seshan and Randy H. Katz, " A Comparison of Mechanisms for Improving TCP.
CS590F Project: Wireless Streaming Protocol Xiaojun Lin Jitesh Nair Samrat Kulkarni.
1 CS 4396 Computer Networks Lab TCP – Part II. 2 Flow Control Congestion Control Retransmission Timeout TCP:
1 Transport Control Protocol for Wireless Connections ElAarag and Bassiouni Vehicle Technology Conference 1999.
Internet Networking recitation #11
TCP continued. Discussion – TCP Throughput TCP will most likely generate the saw tooth type of traffic. – A rough estimate is that the congestion window.
4343 X2 – The Transport Layer Tanenbaum Ch.6.
Data Communications and Networks Chapter 6 – IP, UDP and TCP ICT-BVF8.1- Data Communications and Network Trainer: Dr. Abbes Sebihi.
2005/12/14 1 Improving TCP Performance over Mobile Ad Hoc Networks by Exploiting Cross-Layer Information Awareness Xin Yu Department of Computer Science.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
Computer Networking Lecture 16 – Reliable Transport.
1 Ad-hoc Transport Layer Protocol (ATCP) EECS 4215.
© 2006 Cisco Systems, Inc. All rights reserved.Cisco Public 1 OSI transport layer CCNA Exploration Semester 1 – Chapter 4.
LOGO TCP in Wireless Environments: Problems and Solutions Author: Ye Tian, Kai Xu, Nirwan Ansari Reporter: 任菊梅.
Internet Networking recitation #9
Xors in the air Sachin Katti, Hariharan Rahul, Wenjun Hu, Dina Katabi, Muriel Medard, Jon Crowcroft.
Multipath TCP Yifan Peng Oct 11, 2012
Network: Non Traditional Routing
Internet Networking recitation #10
Muhammad Niswar Graduate School of Information Science
Presentation transcript:

Combining TCP with coding in wireless network Jinzhu Wang

Problem Statement Traditional TCP is inefficient in wireless network TCP was primarily designed for the wired network with low BER(Bit error rate), where packet loss caused by network congestion In wireless network, a lot of factors leads to unstable air-link, which causes high BER and thus high packet loss weather conditions, urban obstacles, multi-path interferences, limited coverage, mobility of the handset TCP mistakes the link error packet loss as the congestion packet loss and thus reduces the sending rate unnecessarily in wireless network

Problem Statement Test Packet loss in wireless network (static test) WiFi Test1: Public WiFi (location: Colleage campus) Packet loss: 0.35% ; Test2: Public WiFi (location: Business Center) Packet loss: 1%; Test3: Private WiFi (location: Home) Packet loss: 0.15%; LTE Test4: CMCC LTE (location: Colleage campus) Packet loss: 0%; Test5 : CMCC LTE (Location: urban obstacles) Packet loss: 0.75%; We have done some tests in the wireless network, including WiFi and LTE. Here are some test results. We can see in Test1 the colleage campus. The packet loss is 0.35%. While in test 2 in location of business center, the packet loss is 1%. On the other hand, in LTE networks, when the singal is good, the packet loss is quite low. While in some urban obstacles, the packet loss increases. (we deploy a server with public ip and use the wireless terminal to ping the public )

Using coding to erase packet loss Sender Receiver User Data P1 P2 P1 P2 Encoding to involve redundacy e.g., using network coding RLNC Decoding Coded Data P1+P2 2P1+3P2 4P1+3P2 P1+P2 4P1+3P2 TCP Send TCP Recv In order to improve TCP throughput in wirelss network, we can use coding in the tcp to erase packet loss. This is a example of coding. In the user layer, we have P1 and P2 to send, and in the coding layer, we combines these two packets by using coding. The coding algorithm is Random Linear Network Coding. Then we generate three packets for redundency and deliver these three packets into TCP stack to send. During the transmission, one of the packets is lost and the other two packets has arrived at the TCP receiver successfully. The receiver make sure that the received two combinations can decode the original packets successfully and thus acks that all three packets have been received successfully. Then sender sends subsequent packets without retransmission, timeout and thus improve the tcp’s throughput. P1+P2 2P1+3P2 4P1+3P2 P1+P2 4P1+3P2 Packet loss 2P1+3P2 ACK all 3 packets has been received successfully

Using coding to erase packet loss (systematic codes) Sender Receiver User Data P1 P2 P1 P2 Encoding to involve redundacy e.g., Using network coding RLNC Decoding Coded Data P1 P2 P1+P2 P1 P1+P2 TCP Send TCP Recv We can also use the systematic code. Therefore, the original and the coded packets are transmitted simutanouly. This situatin is similar to the previous one. P1 P2 P1+P2 P1 P1+P2 Packet loss P2 ACK all 3 packets has been received successfully

Coded TCP archtecture Sender side Coding at each Block. M > N : coding involving redundancy Based on coding algorithm, make sure that any N of M coded packets received at the receiver side can result in decoding successfully This is the architecture of the coded TCP Sender. The user Data is sent from the application layer to the encoding buffer. The encoding buffer consists of coding blocks where each coding block contains the same number of original packets, in this case the number is N. In each coding block, using the coding algorithm to encode and the number of output coded packets is M. we make the M is greater than N in order to involve the redundancy. The coding algorithm should make sure that any N of M coded packets received at the receiver side can result in decoding successfully.

Coded TCP archtecture Coding Header MAC block seqno IP TCP Coding Payload orig number combination number coding coefficients block padding packet padding block seqno: indicates the sequence number of the coding block orig number: the number of original packets in the coding block. combination number: the number of generated combinations (coded packets) in the coding block. Coding coefficients: the coefficients of original packets involved in combination. The coding coefficients are generated by coding algorithm and used by receiver to decode Paddings: the number of padding in the packet/block In order to decode at the receiver side, we need to add a coding header in the TCP payload as shown in the figure. The coding header consists of

Coded TCP archtecture Receiver side When packet arriving: Recod the the number of received coded packets (combinations) in each block. When packet arriving: In each coding block, is the number of received coded packets less than the number of orignal packets ? YES NO ACK that the packet received successfully (same as standard TCP) ACK that all packets in the coding block received successfully Decoding the original packets in the coding block and send to applicaton This is the proecess of the receiver side. The receiver record the number of received coded packets in each block. When packet arrives, the receiver checks in each coding block, is the number of received coded packets less than the number of original packets. If YES, the receiver ACK that the packet received successfully, which is same as the standard TCP. In this case, receiver can not decode packets in this coding block and needs to receive more coded packets. If NO, the the receiver ACK that all packets in the coding block received successfully. In this case, it can decode the original packets successfully. After that, it decode the packets and send to the application.

Interworking with standard TCP Coded TCP transmits the coded packets and cannot interwork with standard In order to interwork, Coded TCP SHOULD be able to choice whether or not enabling coding dynamically. If coding is disabled, coded TCP behaves like the standard TCP One bit in the reserved field of the TCP header is defined to identify whether transport uses the coded TCP or standard TCP Coded TCP Coded TCP Coded TCP TCP SYN (coded TCP) SYN (coded TCP) ACK (coded TCP) ACK In case both sender and receiver use coded TCP: the sender sets coding bit in TCP sync message to identify it supports coded TCP. The receiver sets the coding bit in the TCP sync ack to identify it supports coded TCP. In this case, both sender and receiver know that the peer supports coded TCP and communicate using coded TCP. In the case the sender uses coded TCO and the receiver uses standard TCP: the sender sets the coding bit in the TCP sync message to identify it supports coded TCP. The receiver is the standard TCP and replies the TCP sync ack without setting coding bit. In this case, the sender knows that the peer is the standard TCP and communicate using standard TCP. ACK (coded TCP) ACK coded tcp comunication standard tcp comunication

PIC Experiment in lab Simulate packet loss and delay Standard TCP (Receiver) Coded TCP (Sender) supporting standard TCP and coded TCP simultaneously Simulate packet loss and delay WiFi wired We have tested the coded TCP both in the lab experment and in the real network. We implement the coded TCP based on the Linux kernel 2.6. add coding to the standard TCP stack. The modified Linux kernel supports standard TCP and coded TCP simultaneously We use two same laptops which are adopted as the receiver, one enables the coded TCP and the other enables the standard TCP. We also use the third laptop as the sender, which support standard TCP and coded TCP simutanously. At the same time ,we deploy the Linux Traffic Control software at the sender in order to simulate the packet loss. PIC

Experiment in lab Coded TCP TCP Coded TCP: This is the test result. The coded TCP and standard TCP download a file with 20 Megabyte simuanously. The coding ratio which is defined as the number of coded packets divides the number of origianl packet is 1.2. the simulated delay is 20 millisecond. From the test, we can see when packet loss is 0.08%, the coded TCP and standard TCP achieves similar throughput. when packet loss increases, the standard TCP’s throughput decreases signiaficantly. While the coded TCP remains high throughput. . Coded TCP TCP

Experiment in public WiFi Standard TCP (Receiver) WiFi Wired Internet Coded TCP (Receiver) (Sender) supporting standard TCP and coded TCP simultaneously using FTP to transmit 20M file CMCC Public WIFI at Colleage campus Coded TCP: This is the test result in the public WiFi. The coded TCP and the standard TCP download a file with 20 Megabyte simultanously. The standard tcp needs 372 second to download and the coded tcp only needs 263 seconds Download time (s) TCP 372 Coded TCP 263 In Public WiFi, the coded TCP improves throughput significantly

Experiment in LTE Wired Internet using FTP to transmit 20M file Standard TCP (Receiver) LTE Wired Internet Coded TCP (Receiver) (Sender) supporting standard TCP and coded TCP simultaneously using FTP to transmit 20M file CMCC LTE at Colleage campus Coded TCP: This is the test result in the LTE where is signal is good. We can see the coded tcp and standard tcp achieves similar throughput. Download time (s) TCP 33.8 Coded TCP 31.2

Use case: voice over WiFi Summary Use case: voice over WiFi In the test, we found that when using TCP to transmit voice/vedio, if the packet loss rate is greater than 2%, the quality of the voice/vedio will be degraded significantly Considering that many public WiFi suffer a non-negligible packet loss rate, the quality of voice over WiFi can not be guaranteed. Combing TCP with coding, the packet loss can be erased by coding and thus the quality of voice can be guaranteed in the WiFi. We introduce a use case where coded tcp show its advantage. The use case is voice over WiFi

Relationship with TCP congestion control Currently, coded TCP can not distinguish link error loss from congestion loss, thus the CWND will not be reduced if congestion loss can be recovered through coding. This will impact TCP congestion control On the other hand, In the condition of congestion loss, if coding can not recover the lost packets, coded TCP obeys TCP congestion control. we set the maximal coding ratio as 1.2 (20% redundant coded packets) in the coded TCP prototype. Thus: case 1: if the packet loss is 0%, the coded tcp obeys the TCP congestion control with setting coding ratio as 1. case2: if the packet loss is too high to be recovered by 1.2 coding ratio, the coded TCP obeys the TCP congestion control case 3: if the packet loss is low so the 1.2 coding ratio can recoverr it, the coded TCP does not reduce the CWND. This leads to congestion increases and the 1.2 coding ratio can not recover. After that, the coded TCP obeys the TCP congestion control again. we plan to carefully evaluate whether case 3 can be acceptted in follow up work At last, we discuss about the relationship with TCP congestion control.

Thanks