By, Nirnimesh Ghose, Master of Science,

Slides:



Advertisements
Similar presentations
Stream Control Transmission Protocol (SCTP) Readdressing Retransmission Trigger draft-micchie-tsvwg-fastmsctp-01 Michio Honda Keio University
Advertisements

Introduction 1 Lecture 13 Transport Layer (Transmission Control Protocol) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer.
TCP Vegas: New Techniques for Congestion Detection and Control.
1 Transport Protocols & TCP CSE 3213 Fall April 2015.
Prentice HallHigh Performance TCP/IP Networking, Hassan-Jain Chapter 2 TCP/IP Fundamentals.
Guide to TCP/IP, Third Edition
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #11 TCP Eiffel (RFC 3522)
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #7 TCP New Reno Vs. Reno.
1 Internet Networking Spring 2006 Tutorial 10 The Eifel Detection Algorithm for TCP RFC 3522.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Transport Protocols Slide 1 Transport Protocols.
1 K. Salah Module 6.1: TCP Flow and Congestion Control Connection establishment & Termination Flow Control Congestion Control QoS.
TCP. Learning objectives Reliable Transport in TCP TCP flow and Congestion Control.
Copyright © 2005 Department of Computer Science CPSC 641 Winter Tutorial: TCP 101 The Transmission Control Protocol (TCP) is the protocol that sends.
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?
COMT 4291 Communications Protocols and TCP/IP COMT 429.
TCOM 509 – Internet Protocols (TCP/IP) Lecture 04_b Transport Protocols - TCP Instructor: Dr. Li-Chuan Chen Date: 09/22/2003 Based in part upon slides.
26-TCP Dr. John P. Abraham Professor UTPA. TCP  Transmission control protocol, another transport layer protocol.  Reliable delivery  Tcp must compensate.
SMUCSE 4344 transport layer. SMUCSE 4344 transport layer end-to-end protocols –transport code runs only on endpoint hosts encapsulates network communications.
Transport Layer Moving Segments. Transport Layer Protocols Provide a logical communication link between processes running on different hosts as if directly.
Chapter 12 Transmission Control Protocol (TCP)
1 TCP: Reliable Transport Service. 2 Transmission Control Protocol (TCP) Major transport protocol used in Internet Heavily used Completely reliable transfer.
Copyright © Lopamudra Roychoudhuri
Chapter 24 Transport Control Protocol (TCP) Layer 4 protocol Responsible for reliable end-to-end transmission Provides illusion of reliable network to.
1 Computer Networks Congestion Avoidance. 2 Recall TCP Sliding Window Operation.
TCP OVER ADHOC NETWORK. TCP Basics TCP (Transmission Control Protocol) was designed to provide reliable end-to-end delivery of data over unreliable networks.
Multipath TCP ACM Queue, Volume 12 Issue 2, pp. 1-12, February 2014 Christoph Paasch and Olivier Bonaventure University College London 1.
ECE 4110 – Internetwork Programming
TCP Timeout and Retransmission
TCP Congestion Control 컴퓨터공학과 인공지능 연구실 서 영우. TCP congestion control2 Contents 1. Introduction 2. Slow-start 3. Congestion avoidance 4. Fast retransmit.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Congestion Control 0.
IP1 The Underlying Technologies. What is inside the Internet? Or What are the key underlying technologies that make it work so successfully? –Packet Switching.
Peer-to-Peer Networks 13 Internet – The Underlay Network
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.
Multipath Congestion Control Wenpeng Zhou Instructor Andrei Gurtov.
11 CS716 Advanced Computer Networks By Dr. Amir Qayyum.
MPTCP Proxy MPTCP Client MPTCP Proxy Server.
Transmission Control Protocol A Reliable, Connection-Oriented, Byte-Stream Service Lab 9.
1 Chapter 24 Internetworking Part 4 (Transport Protocols, UDP and TCP, Protocol Port Numbers)
DMET 602: Networks and Media Lab
Transmission Control Protocol (TCP) Retransmission and Time-Out
Internet Networking recitation #9
The Transport Layer (TCP)
Introduction to Networks
Chapter 15 Transmission Control Protocol (TCP)
5. End-to-end protocols (part 1)
Long-haul Transport Protocols
PART 5 Transport Layer Computer Networks.
Multipath TCP Yifan Peng Oct 11, 2012
Internet and Intranet Protocols and Applications
Multi-addressed Multipath TCP
Transport Layer Unit 5.
Chapter 5 TCP Transmission Control
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 Sequence Number Plots
COS 561: Advanced Computer Networks
PUSH Flag A notification from the sender to the receiver to pass all the data the receiver has to the receiving application. Some implementations of TCP.
CS4470 Computer Networking Protocols
Dr. John P. Abraham Professor UTPA
Internet Networking recitation #10
Dr. John P. Abraham Professor UTPA
Lecture 18 – More TCP & Congestion Control
Chapter 17. Transport Protocols
CS4470 Computer Networking Protocols
Transportation Layer.
Chapter 5 TCP Control Flow
Introduction to Computer Networks
TCP: Transmission Control Protocol Part II : Protocol Mechanisms
Presentation transcript:

CONGESTION CONTROL AND PACKET REORDERING FOR MULTIPATH TRANSMISSION CONTROL PROTOCOL By, Nirnimesh Ghose, Master of Science, Department of Electrical Engineering

Introduction Connections generally had only one path to transfer data from source to destination. With new mobile devices have more than one connections between the source and destination. Newer technology was required to use them at the same time to improve the throughput like MultiPath Transmission Control Protocol.

MPTCP Basic idea is that if flows are able to simultaneously use more than one path through the network, then they will be more resilient to problems on particular paths and they will be able to pool capacity across multiple links. These multiple paths might be obtained for example by sending from multiple interfaces, or sending to different IP addresses of the same host, or by some form of explicit path control.

MPTCP Main Mechanism The Multipath TCP protocol uses new TCP options to exchange signaling information between peers: MPC (Multipath Capable) is used during the three-way handshake to establish a MultipathTCP connection. DATA FIN is used to inform the remote peer of the end of data and to close the multipath TCP connections. ADD and REMove address are used to inform the remote peer of the availability of a new address or to ask it to ignore an existing one.

MPTCP Main Mechanism JOIN is used to initiate a new subflow between nodes already used couple of addresses. DSN (Data Sequence Number) is used to map between the subflow level and the data sequence space number.

MPTCP Connection Establishment

MPTCP Subflow Initiation

MPTCP Congestion Control The following three goals as per IETF draft capture the desirable properties of a practical multipath congestion control algorithm: Improve Throughput: A multipath flow should perform at least as well as a single path flow would on the best of the paths available to it. Do no harm: A multipath flow should not take up more capacity from any of the resources shared by its different paths, than if it was a single flow using only one of these paths. This guarantees it will not unduly harm other flows. Balance congestion: A multipath flow should move as much traffic as possible off its most congested paths, subject to meeting first two goals.

MPTCP Congestion Control Uncoupled TCP Increase wr by 1/wr per ack on path r. Decrease wr by wr/2 per loss event on path r. Linked Increase Increase wr by α/wr per ack on path r Decrease wr by wr/2 per loss event on path r

MPTCP Congestion Control Fully Coupled Increase wr by 1/w per ack on path r. Decrease wr to max(wr - w/b, 1) per loss event on path r RTT Compensator Increase wr by min(α/w, 1/wr) per ack on path r. Decrease wr to wr/2 per loss event on path r

MPTCP Packet Reordering Techniques DSACK Algorithm

MPTCP Packet Reordering Technique Eifel Algorithm

MPTCP Packet Reordering Technique F-RTO Algorithm When the retransmission timer expires, retransmit the segment that triggered the timeout. When the first acknowledgement after RTO arrives at the sender, the sender chooses the following actions depending in whether the ACK advances the window or whether it is a duplicate ACK. If the acknowledgement advances SND.UNA (send unacknowledged), transmit up to two new (previously unsent) segments. If the acknowledgment is duplicate ACK, set the congestion window to one segment and proceed with the conventional RTO recovery.

MPTCP Packet Reordering Technique When the second acknowledgment after the RTO arrives, either continue transmitting new data, or start retransmission with the slow start algorithm, depending on whether data was acknowledged. If the acknowledgement advances SND.UNA, continue transmitting new data following the congestion avoidance algorithm. If the acknowledgement is a duplicate ACK, set congestion window to three segments, continue with the slow start algorithm retransmitting unacknowledged segments.

NS-3

Results Topology 1

Results Throughput for Uncoupled TCP congestion control and No Packet reordering

Results Throughput for RTT Compensator congestion control and D SACK Packet reordering

Results Throughput for RTT Compensator congestion control and FRTO Packet reordering

Results Round Trip Time for RTT Compensator congestion control and FRTO Packet reordering

Results Topology 2

Results Throughput for Uncoupled TCP congestion control and No Packet reordering

Results Throughput for RTT Compensator congestion control and D SACK Packet reordering

Results Throughput for RTT Compensator congestion control and FRTO Packet reordering

Results Round Trip Time for RTT Compensator congestion control and FRTO Packet reordering

Results Topology 3

Results Throughput for RTT Compensator congestion control and F-RTO reordering

Results Throughput for Uncoupled TCP congestion control and No Packet reordering

Results Throughput for RTT Compensator congestion control and D SACK Packet reordering

Results Round Trip Time for RTT Compensator congestion control and D SACK Packet reordering

Results Topology 4

Results Throughput for RTT Compensator congestion control and F-RTO reordering

Results Throughput for Uncoupled TCP congestion control and No Packet reordering

Results Throughput for RTT Compensator congestion control and D SACK Packet reordering

Results Round Trip Time for RTT Compensator congestion control and D SACK Packet reordering

Heuristic Packet Scheduling Algorithm Send (Current + |delay1 − delay2| + 1) packet number with maximum transmission unit bytes on the slower link first. Send (|delay1−delay2|+1) number of packets each with (maximum transmission unit)/ (|delay1−delay2|+1)bytes on the faster link. Send Cumulative Acknowledge on the faster link. Buffer on the receiver side save packets received. In case of loss of packet send the packet on slower or faster link as the size of the packet and it is rearranged on the receiver side.

Conclusion We described the architecture and implementation of the multipath transmission control protocol (MPTCP) in ns-3.6, with various congestion control algorithms and packet reordering algorithms. We also presented the throughput and round trip time for various topologies using different congestion control and packet reordering algorithms. We found out that congestion control algorithm given by IETF namely, RTT Compensator and packer reordering technique F-RTO gives good results but not the best results.

Thank You and Questions