RCP (Receiver Centric Transport Protocol)

Slides:



Advertisements
Similar presentations
1 Improving TCP Performance over Mobile Networks HALA ELAARAG Stetson University Speaker : Aron ACM Computing Surveys 2002.
Advertisements

Data and Computer Communications Eighth Edition by William Stallings Lecture slides by Lawrie Brown Chapter 20 – Transport Protocols.
1 Transport Protocols & TCP CSE 3213 Fall April 2015.
CCNA – Network Fundamentals
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 OSI Transport Layer Network Fundamentals – Chapter 4.
1 TCP CSE May TCP Services Flow control Connection establishment and termination Congestion control 2.
Transport Layer 3-1 outline r TCP m segment structure m reliable data transfer m flow control m congestion control.
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Transport Protocols Slide 1 Transport Protocols.
TCP: flow and congestion control. Flow Control Flow Control is a technique for speed-matching of transmitter and receiver. Flow control ensures that a.
Lect3..ppt - 09/12/04 CIS 4100 Systems Performance and Evaluation Lecture 3 by Zornitza Genova Prodanoff.
1 Transport Layer Computer Networks. 2 Where are we?
CIS 725 Wireless networks. Low bandwidth High error rates.
Mobile Communications: Mobile Transport Layer Mobile Communications Chapter 10: Mobile Transport Layer  Motivation  TCP-mechanisms  Indirect TCP  Snooping.
Asstt. Professor Adeel Akram.  Motivation  TCP mechanisms  Indirect TCP  Snooping TCP  Mobile TCP  Fast retransmit/recovery  Transmission freezing.
1 RCP (Reception Control Protocol) A Receiver-Centric Transport Protocol for Mobile Hosts with heterogeneous Wireless Interfaces MOBICOM 2003 H. Hsieh,
TCP : Transmission Control Protocol Computer Network System Sirak Kaewjamnong.
CS332, Ch. 26: TCP Victor Norman Calvin College 1.
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
HighSpeed TCP for High Bandwidth-Delay Product Networks Raj Kettimuthu.
TCP-Cognizant Adaptive Forward Error Correction in Wireless Networks
1 CS 4396 Computer Networks Lab TCP – Part II. 2 Flow Control Congestion Control Retransmission Timeout TCP:
TCP OVER ADHOC NETWORK. TCP Basics TCP (Transmission Control Protocol) was designed to provide reliable end-to-end delivery of data over unreliable networks.
MOBILE TCP.
ECE 4110 – Internetwork Programming
McGraw-Hill Chapter 23 Process-to-Process Delivery: UDP, TCP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
Transmission Control Protocol (TCP) TCP Flow Control and Congestion Control CS 60008: Internet Architecture and Protocols Department of CSE, IIT Kharagpur.
Ch 3. Transport Layer Myungchul Kim
Chapter 5 Peer-to-Peer Protocols and Data Link Layer Timing Recovery.
1 Chapter 24 Internetworking Part 4 (Transport Protocols, UDP and TCP, Protocol Port Numbers)
H. Hsieh, K. Kim, Y. Zhu and R. Sivakumar ACM Mobicom 2003
Accelerating Peer-to-Peer Networks for Video Streaming
Chapter 9: Transport Layer
Fast Retransmit For sliding windows flow control we waited for a timer to expire before beginning retransmission of a packet TCP uses an additional mechanism.
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
TCP Lecture 4.
Instructor Materials Chapter 9: Transport Layer
By, Nirnimesh Ghose, Master of Science,
Internet Networking recitation #9
Approaches towards congestion control
Satellite TCP Lecture 19 04/10/02.
Group 5 ECE 4605 Neha Jain Shashwat Yadav
Introduction to Networks
COMP 431 Internet Services & Protocols
Chapter 15 Transmission Control Protocol (TCP)
Transmission Control Protocol (TCP)
UNIT-V Transport Layer protocols for Ad Hoc Wireless Networks
Transmission Control Protocol (TCP)
TCP.
Wireless Transport.
PART 5 Transport Layer Computer Networks.
TCP.
Chapter 6: Transport Layer (Part I)
RTP: A Transport Protocol for Real-Time Applications
Magda El Zarki Professor, ICS UC, Irvine
Ad-hoc Transport Layer Protocol (ATCP)
Computer Networks Bhushan Trivedi, Director, MCA Programme, at the GLS Institute of Computer Technology, Ahmadabad.
Introduction of Transport Protocols
Transport Layer Unit 5.
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
CSE 4340/5349 Mobile Systems Engineering
Process-to-Process Delivery:
IT351: Mobile & Wireless Computing
Internet Networking recitation #10
Mobile Communications Chapter 9: Mobile Transport Layer
TCP for Wireless Networks
Process-to-Process Delivery: UDP, TCP
Computer Networks Protocols
Impact of transmission errors on TCP performance
Presentation transcript:

RCP (Receiver Centric Transport Protocol) Group 6 John Paul Kalapurakal Ronak Kamdar

Introduction Transport protocol for mobile hosts with heterogeneous wireless interfaces. Address the characteristics of the last hop wireless link. Uses intelligence of mobile hosts adjacent to the wireless link to increase performance. Performance improvements Functionality improvements Protocol intended for mobile hosts who can connect to the internet using different technologies like WLAN or WWAN etc. They have become multi-homed with 2 or more interfaces which may belong to different autonomous domains These protocols are designed to address characteristics of last hop wireless link like random errors, RTT variations, blackouts, handoffs etc Because mobile host is more closer to the wireless link, it has more information locally than the server/corresponding host. It is designed as a TCP clone. Performance improvements: congestion control, loss recovery and power management Functionality improvements: Seamless handoffs, server migration, bandwidth aggregation

Background and Motivation Various TCP protocols are introduced but all of them sender centric. Mobile host have become multi-homed with various heterogeneous wireless interfaces. Hence it is desirable that the receiver control how much and which data to receive from the sender. Various transport protocols have been introduced but all of them sender centric i.e. sender performs important functions like congestion control, reliability etc. Receiver participates only by providing useful feedback Since mobile hosts have various options to choose from, the receiver should be given more responsibility and autonomy

Scenario 1. This is the scenario used to discuss performance issues 2. Data is sent from the server in the backbone network to the mobile host

Why receiver centric? Loss recovery Congestion Control Power Management Seamless Handoffs Server Migration Bandwidth Aggregation The key question is why receiver centric? The paper evaluates it based on performance gains and functionality gains We assume that in a receiver centric protocol the receiver controls how much data it should receive and which data it should receive

Loss Recovery TCP limitations RCP advantages Assumes all loses are due to congestion Finite overhead Wide variety of feedback RCP advantages Avoid feedback overhead and latency Server is independent of the changes TCP assumes all loses are due to congestion and there are unnecessary window cut downs Also, providing feedback from receiver incurs finite overhead Also, there are many link variables which have to be accommodated in the headers in the feedback packet RCP avoids overhead and latency by being responsive to the dynamics of the wireless link using locally available information The server is independent of the changes in the wireless link and hence intelligence is only added to the mobile host

Congestion Control TCP limitations RCP advantages Backbone server needs to support all possible congestion control mechanisms Leads to lack of employability Not scalable RCP advantages Simplified and transparent congestion control A mobile host should ideally use the congestion control mechanism for the specific wireless network it has access to. Multiple hosts connect to one server. In TCP, server has to maintain all control mechanisms, which is not scalable. In RCP, the sender is independent of the control mechanism that the receiver uses and hence it is more simplified.

Power Management TCP limitations RCP advantages Power saving decision cannot be made locally Feedback will face noise and overhead for retransmissions RCP advantages Power saving decision can be made locally Greater degree of flexibility Traditionally we evaluate TCP based on performance and not on energy efficiency TCP SACK is performs the best but provides lowest energy efficiency It is energy efficient to cut down window size when there are wireless losses because packets immediately retransmitted after loss will most likely be lost again Hence, retransmission policy should be adjusted according to channel dynamics IMPLEMENTING IT IN TCP HAS THE FOLLOWING LIMITATIONS Cannot decide locally because sender does congestion control Feedback will face the same noise in the reverse path and also added overhead of retransmissions RCP on the other hand, can make decisions locally because receiver decides what to receive and how much Also, it allows for greater degree of flexibility as the sender is not involved

Seamless Handoffs TCP limitations RCP advantages Feedback overhead Receiver can accurately control which and how much data to send through each pipe (stream) When there is an overlap of coverage areas and when a mobile hosts handoffs from one interface to another, IP address changes which is handled by Mobile IP, which creates prolonged delay for registration with the home agent which introduces packet losses One solution is to inform the sender of the handoff decision. We know that RCP is better in terms of feedback than TCP Another solution is to create multiple streams, and use them simultaneously without experiencing congestion stall as long as the link layer allows it. RCP can control which and how much data it can receive through each pipe and hence it is preferable

Server Migration TCP limitations RCP advantages States maintained at the server for congestion control and loss recovery need to be transferred to another server A window’s worth of data buffered at the receiver needs to be flushed after migration RCP advantages States maintained at receiver, hence overheads minimized No need to flush out data since receiver has access to buffer and decides which data to receive A mobile host initially uses WWAN to connect to Yahoo online server … After vertical handoff it cannot connect to original proxy server due to firewalls … however, it can connect to a different server through WLAN Hence, the need for server migration which requires synchronization TCP: States have to transferred from one server to another TCP: Data needs to be flushed because mobile host can acknowledge data that the sender has not yet sent (resequencing) RCP: States maintained at receiver and hence overheads are minimized RCP: No need to discard data since receiver has control over flow of data

Bandwidth Aggregation TCP Limitations Requires explicit coordination between geographically spaced servers RCP advantages Multipoint-to-point bandwidth aggregation since the receiver is the center of control Does not require explicit coordination between senders When coverage areas overlap, mobile hosts can use multiple interfaces simultaneously Mobile hosts want to leverage multiple active interfaces in an opportunistic fashion by selecting which one to keep or not to keep based on link dynamics (multipoint to point) TCP: Requires explicit coordination between geographically spaced servers RCP: No coordination since receiver is the center of control

Protocol

REQ-DATA Handshake TCP uses the cumulative acknowledgements for achieving robustness to losses. RCP uses same method but allows for two modes Cumulative mode Pull Mode The receiver by default uses the cumulative mode to requests for new data, and uses the pull mode only for retransmission of requests. When the sender receives a request with the pull flag set, it sends only the data segment indicated in the packet header. Otherwise, the sender cumulatively transmits data from SND.NXT that has not been sent yet.

Connection Management Very similar to TCP SYN – SYN+ACK – ACK handshake Difference comes in once the connection has been established. The RCP receiver transmits the first REQ with the initial sequence number.

Congestion Control Adopts the window based congestion control as used in TCP. The slow start, congestion avoidance, fast retransmit, and fast recovery phases are triggered and exited in the same fashion as in TCP In RCP, the receiver performs congestion control and maintains the congestion control parameters In TCP, the size of the congestion window limits the amount of unacknowledged DATA in the network, and the sender uses the return of ACKs to trigger the progression of the congestion window In RCP, the size of the congestion window limits the amount of outstanding REQs in the network, and the receiver uses the return of DATA to trigger the progression of the congestion window.

Flow Control In RCP, a request is sent out only if the corresponding data, once received, does not cause buffer overflow at the receiver. The receiver maintains the receive buffer, and has total control over how much data the sender can send, flow control is internal to the receiver. TCP relies on the window advertisement from the receiver to perform flow control RCP also needs a window field (SEG.DEQ) in the packet header to inform the sender of the highest in-sequence data received so far (which can be calculated at the sender using SEG.REQ - SEG.DEQ), thus allowing the sender to purge such data from its send buffer.

Reliability RCP the re-sequencing and reliability functionalities are collocated at the receiver. In TCP, reliability is performed at the sender while re-sequencing is performed at the receiver. In RCP the receiver has direct access to the receive buffer, and hence it can timely and accurately perform loss detection and loss recovery RCV.NXT is conveyed as the cumulative ACK to the sender for it to perform loss detection. However, RCV.NXT conveys limited information about the state of the receive buffer, and hence early implementations of TCP that rely on the cumulative ACK for performing loss detection, suffer from recovering at most one loss per round-trip time, in addition to incurring frequent timeouts

TCP friendliness

TCP friendliness

Loss Recovery

Congestion Control

Power Management

Related Work Other protocols are focusing on increasing receiver participation but still sender centric. WebTP Used for optimization of Web data transfer Receiver centric Primarily designed for wired network. RCP Extensions based on traffic scenarios

Critique Unique perceptive and fits well with the needs of a mobile host with heterogeneous wireless interfaces. Comprehensive transport layer solution

Summary and Conclusions Tested using both packet level simulations and real internet experiments. Provided better: Reliability Congestion Control Power Management