TCP over SoNIC Abhishek Kumar Maurya

Slides:



Advertisements
Similar presentations
2: Transport Layer 31 Transport Layer 3. 2: Transport Layer 32 TCP Flow Control receiver: explicitly informs sender of (dynamically changing) amount of.
Advertisements

 Implementation of physical and data link layer in software  Real-time access to network stack  Real-time traffic monitoring  Fine-grained control.
IS333, Ch. 26: TCP Victor Norman Calvin College 1.
Ensuring the Reliability of Data Delivery © 2004 Cisco Systems, Inc. All rights reserved. Establishing a TCP Connection INTRO v2.0—6-1.
TRANSPORT LAYER  Session multiplexing  Segmentation  Flow control (TCP)  Connection-oriented (TCP)  Reliability (TCP)
Transport Layer 3-1 Transport Layer r To learn about transport layer protocols in the Internet: m TCP: connection-oriented protocol m Reliability protocol.
The Transport Layer Chapter 6. The TCP Segment Header TCP Header.
Transport Layer 3-1 Transport Layer r To learn about transport layer protocols in the Internet: m TCP: connection-oriented protocol m Reliability protocol.
1 689 Lecture 2 Review of Last Lecture Networking basics TCP/UDP review.
1 TCP Transport Control Protocol Reliable In-order delivery Flow control Responds to congestion “Nice” Protocol.
The Transport Layer Chapter 6. The Transport Service Services Provided to the Upper Layers Transport Service Primitives Berkeley Sockets An Example of.
1 Chapter 3 Transport Layer. 2 Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4.
TCP in Heterogeneous Network Md. Ehtesamul Haque # P.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Transport Protocols Slide 1 Transport Protocols.
2: Application Layer 1 1DT066 Distributed Information System Chapter 3 Transport Layer.
The Transport Layer.
TCP: flow and congestion control. Flow Control Flow Control is a technique for speed-matching of transmitter and receiver. Flow control ensures that a.
3: Transport Layer3b-1 Principles of Congestion Control Congestion: r informally: “too many sources sending too much data too fast for network to handle”
Transport Layer 4 2: Transport Layer 4.
Mobile Communications: Mobile Transport Layer Mobile Communications Chapter 10: Mobile Transport Layer  Motivation  TCP-mechanisms  Indirect TCP  Snooping.
TCP : Transmission Control Protocol Computer Network System Sirak Kaewjamnong.
Transport Layer Natawut Nupairoj, Ph.D. Department of Computer Engineering Chulalongkorn University.
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
The Transmission Control Protocol (TCP) Application Services (Telnet, FTP, , WWW) Reliable Stream Transport (TCP) Connectionless Packet Delivery.
Transport Layer Moving Segments. Transport Layer Protocols Provide a logical communication link between processes running on different hosts as if directly.
CSE679: Computer Network Review r Review of the uncounted quiz r Computer network review.
Contents Causes and cost of congestion Three examples How to handle congestion End-to-end Network-assisted TCP congestion control ATM ABR congestion control.
HighSpeed TCP for High Bandwidth-Delay Product Networks Raj Kettimuthu.
Chapter 24 Transport Control Protocol (TCP) Layer 4 protocol Responsible for reliable end-to-end transmission Provides illusion of reliable network to.
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March
1 Transport Layer Lecture 10 Imran Ahmed University of Management & Technology.
TCP OVER ADHOC NETWORK. TCP Basics TCP (Transmission Control Protocol) was designed to provide reliable end-to-end delivery of data over unreliable networks.
TCP Traffic Characteristics—Deep buffer Switch
CS 145A Reliable Communication Netlab.caltech.edu/course.
CIS679: TCP and Multimedia r Review of last lecture r TCP and Multimedia.
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
The Transport Layer Implementation Services Functions Protocols
DMET 602: Networks and Media Lab
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.
Approaches towards congestion control
Chapter 3 outline 3.1 transport-layer services
The Transport Layer (TCP)
Introduction to Networks
COMP 431 Internet Services & Protocols
Congestion Control.
Transmission Control Protocol (TCP)
Transmission Control Protocol (TCP)
Chapter 3 outline 3.1 Transport-layer services
Chapter 6 The Transport Layer.
TCP.
Introduction of Transport Protocols
Transport Layer Unit 5.
Transport Layer Our goals:
Precept 2: TCP Congestion Control Review
CS412 Introduction to Computer Networking & Telecommunication
File Transfer Issues with TCP Acceleration with FileCatalyst
Jiyong Park Seoul National University, Korea
CS640: Introduction to Computer Networks
Advanced Computer Networks
TCP for Wireless Networks
TCP Congestion Control
Beyond FTP & hard drives: Accelerating LAN file transfers
Chapter 3 outline 3.1 Transport-layer services
The Transport Layer Chapter 6.
TCP flow and congestion control
Computer Networks Protocols
Review of Internet Protocols Transport Layer
Error Checking continued
Lecture 6, Computer Networks (198:552)
Presentation transcript:

TCP over SoNIC Abhishek Kumar Maurya (am2633@cornell.edu) Amarinder Singh Bindra (ab2546@corenll.edu) Gaurav Aggarwal (ga286@cornell.edu)

SoNIC Overview Implementation of physical and data link layer in software Real-time access to network stack Real-time traffic monitoring Fine-grained control on Inter packet delay Commodity processor and field-programmable gate array (FPGA) board

Project Overview Implementation of Transmission Control Protocol (TCP) layer on top of SoNIC TCP state machine for tracking connection state Separate Tx and Rx threads for packet and acknowledgement handling Synchronization between Rx and Tx threads and achieving reliable data transfer while satisfying real-time constraints and line speed.

Implementation of TCP over UDP Congestion Window Size vs Time TCP state machine Cumulative ACK Congestion Control Go-Back-N Additive Increase Exponential Decrease When the cumulative ACK timeout is less, throughput is less because more time is spent in thread context switches. As we increase timeout, throughput increases because less time is wasted in thread context switches. After a threshold value, throughput again starts decreasing because in the case of packet loss, sender now has to wait for a longer time resulting in less bandwidth utilization. Go-Back-N protocol at TCP sender which sends all the unacknowledged packets in the case of packet loss which is detected by missing acknowledgement. Congestion control mechanism which halves the congestion window size in the case of packet loss.

Throughput vs Cumulative ACK Results Throughput vs Cumulative ACK Best throughput ~1.4-1.5Gbps

TCP over SoNIC in User Space Sender (Port 0) Receiver (Port 1) Tx MAC Rx MAC Tx MAC Rx MAC Tx PCS Rx PCS Tx PCS Rx PCS PIPE A new mode to spawn 4 TCP handler threads User Space Pipe between Tx PCS and Rx PCS of Sender and Receiver and vice versa

Results

Results

TCP over SoNIC in Kernel Space Sender(Port 0) Receiver (Port 1) Tx MAC Rx MAC Tx MAC Rx MAC Tx PCS Rx PCS Tx PCS Rx PCS A new mode to spawn 4 TCP handler threads For loopback Port 0 is directly connected to Port 1

Results

Results

Results

Results

Future Work Fast Re-Transmit Slow Start Packet Buffering Loss Detection using 3-Duplicate ACKs Slow Start

DEMO

Q & A

References TCP RFC https://www.ietf.org/rfc/rfc793.txt SoNIC  http://fireless.cs.cornell.edu/sonic/ SoNIC: Precise Real-time Software Access and Control of Wired Networks http://fireless.cs.cornell.edu/sonic/sonic_nsdi2013.pdf PHY Covert Channels: Can you see the Idles? http://fireless.cs.cornell.edu/publications/chupja_nsdi2014.pdf