
Implementation of TCP over SoNIC: Real-time Networking Project Overview
Explore the implementation of Transmission Control Protocol (TCP) on top of SoNIC, including real-time access to the network stack, traffic monitoring, and fine-grained control on inter-packet delay. Results show high throughput performance and efficiency.
Download Presentation

Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.
E N D
Presentation Transcript
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
Implementation of TCP over UDP Congestion Window Size vs Time TCP state machine Cumulative ACK Congestion Control Go-Back-N Additive Increase Exponential Decrease
Results Throughput vs Cumulative ACK Best throughput ~1.4-1.5Gbps
TCP over SoNICinUser Space Receiver (Port 1) Sender (Port 0) Tx MAC Rx MAC Tx MAC Rx MAC Rx PCS Tx PCS Rx PCS Tx 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 Throughput vs Inter Packet Gap 10 9 8 7 Actual Throughput (Gbps) 6 Ideal 5 4 3 2 1 0 100 1000 2500 4000 Inter Packet Gap (bytes) 5000 6000 7000 10000 13738
Results Throughput vs Ethernet Frame Size 0.9 0.8 0.7 0.6 Throughput (Gbps) 0.5 0.4 0.3 0.2 0.1 0 0 200 400 600 800 1000 1200 1400 1600 Ethernet Frame Size (bytes)
TCP over SoNICinKernel Space Sender(Port 0) Receiver (Port 1) Rx MAC Rx MAC Tx MAC Tx MAC Tx PCS Rx PCS Rx PCS Tx PCS A new mode to spawn 4 TCP handler threads For loopback Port 0 is directly connected to Port 1
Results Throughput vs. Inter Packet Gap - loopback 10 9 8 7 Actual Throughput (Gbps) 6 Ideal 5 4 3 2 1 0 100 1000 2500 4000 5000 6000 7000 10000 13738 Inter Packet Gap (bytes)
Results Through vs. Ethernet Frame Size - loopback 1 0.9 0.8 0.7 Throughput (Gbps) 0.6 0.5 0.4 0.3 0.2 0.1 0 0 200 400 600 800 1000 1200 1400 1600 Ethernet Frame Size (bytes)
Results Throuhput vs. Inter Packet Gap - Across SoNIC 10 9 8 7 Throughput (Gbps) Actual 6 Ideal 5 4 3 2 1 0 100 1000 2500 4000 5000 6000 7000 10000 13738 Inter Packet Gap (bytes)
Results Throughput vs. Ethernet Frame Size - Across SoNIC 0.7 0.6 0.5 Throughput (Gbps) 0.4 0.3 0.2 0.1 0 0 200 400 600 800 1000 1200 1400 1600 Ethernet Frame Size (bytes)
Future Work Fast Re-Transmit Packet Buffering Loss Detection using 3-Duplicate ACKs Slow Start
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