4/19/20021 TCPSplitter: A Reconfigurable Hardware Based TCP Flow Monitor David V. Schuehler.

Slides:



Advertisements
Similar presentations
NetFPGA Project: 4-Port Layer 2/3 Switch Ankur Singla Gene Juknevicius
Advertisements

A Full Bandwidth ATM Firewall Olivier Paul, Maryline Laurent, Sylvain Gombault ENST de Bretagne in collaboration with France Telecom R&D DRET.
CCNA – Network Fundamentals
PROKNET: An IP/ATM processor University of Ottawa Rami Abielmona Samer Abielmona Mohamed Abou-Gabal Wael Hermas Dr. Voicu Groza Dr. Emil Petriu School.
Transport Layer – TCP (Part1) Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS School of Computing, UNF.
Extensible Networking Platform IWAN 2005 Extensible Network Configuration and Communication Framework Todd Sproull and John Lockwood
Team Morphing Architecture Reconfigurable Computational Platform for Space.
t Popularity of the Internet t Provides universal interconnection between individual groups that use different hardware suited for their needs t Based.
In-Band Flow Establishment for End-to-End QoS in RDRN Saravanan Radhakrishnan.
CS335 Networking & Network Administration Tuesday, April 20, 2010.
TCP. Learning objectives Reliable Transport in TCP TCP flow and Congestion Control.
Internetworking Fundamentals (Lecture #2) Andres Rengifo Copyright 2008.
UDP© Dr. Ayman Abdel-Hamid, CS4254 Spring CS4254 Computer Network Architecture and Programming Dr. Ayman A. Abdel-Hamid Computer Science Department.
Gursharan Singh Tatla Transport Layer 16-May
Christopher Bednarz Justin Jones Prof. Xiang ECE 4986 Fall Department of Electrical and Computer Engineering University.
CN2668 Routers and Switches Kemtis Kunanuraksapong MSIS with Distinction MCTS, MCDST, MCP, A+
Department of Computer Science and Engineering Applied Research Laboratory 1 A Hardware Based TCP/IP Processing Engine David V. Schuehler
LECTURE 9 CT1303 LAN. LAN DEVICES Network: Nodes: Service units: PC Interface processing Modules: it doesn’t generate data, but just it process it and.
What is a Protocol A set of definitions and rules defining the method by which data is transferred between two or more entities or systems. The key elements.
Tufts Wireless Laboratory School Of Engineering Tufts University “Network QoS Management in Cyber-Physical Systems” Nicole Ng 9/16/20151 by Feng Xia, Longhua.
Matrix Multiplication on FPGA Final presentation One semester – winter 2014/15 By : Dana Abergel and Alex Fonariov Supervisor : Mony Orbach High Speed.
The FPX KCPSM Module Exercise 1 Henry Fu The Layered Protocol Wrappers Exercise: Network Data Encryption / Decryption Using ROT13 Algorithm Henry Fu Washington.
VeriFlow: Verifying Network-Wide Invariants in Real Time
Department of Computer Science and Engineering Applied Research Laboratory A TCP/IP Based Multi-Device Programming Circuit David V. Schuehler – Harvey.
High Performance Computing & Communication Research Laboratory 12/11/1997 [1] Hyok Kim Performance Analysis of TCP/IP Data.
1 7-Oct-15 OSI transport layer CCNA Exploration Semester 1 Chapter 4.
The Layered Protocol Wrappers 1 Florian Braun, Henry Fu The Layered Protocol Wrappers: A Solution to Streamline Networking Functions to Process ATM Cells,
High-Level Interconnect Architectures for FPGAs An investigation into network-based interconnect systems for existing and future FPGA architectures Nick.
Applied research laboratory David E. Taylor Users Guide: Fast IP Lookup (FIPL) in the FPX Gigabit Kits Workshop 1/2002.
High-Level Interconnect Architectures for FPGAs Nick Barrow-Williams.
CS332, Ch. 26: TCP Victor Norman Calvin College 1.
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
J. Christiansen, CERN - EP/MIC
Gigabit Kits Workshop August Washington WASHINGTON UNIVERSITY IN ST LOUIS IP Processing Wrapper Tutorial Gigabitkits Workshop August 2001
COP 4930 Computer Network Projects Summer C 2004 Prof. Roy B. Levow Lecture 3.
Microsoft Windows Server 2003 TCP/IP Protocols and Services Technical Reference Slide: 1 Lesson 7 Internet Protocol (IP) Routing.
CS/CoE 536 : Lockwood 1 CS/CoE 536 Reconfigurable System On Chip Design Lecture 4 : Demonstration of Machine Problem 1 : CAM-based Firewall Washington.
Lecture 13: Reconfigurable Computing Applications October 10, 2013 ECE 636 Reconfigurable Computing Lecture 11 Reconfigurable Computing Applications.
Prepared by: Azara Prakash L.. Contents:-  Data Transmission  Introduction  Socket Description  Data Flow Diagram  Module Design Specification.
Hot Interconnects TCP-Splitter: A Reconfigurable Hardware Based TCP/IP Flow Monitor David V. Schuehler
Lecture 12: Reconfigurable Systems II October 20, 2004 ECE 697F Reconfigurable Computing Lecture 12 Reconfigurable Systems II: Exploring Programmable Systems.
Field Programmable Port Extender (FPX) 1 Modular Design Techniques for the FPX.
Department of Computer Science and Engineering Applied Research Laboratory Architecture for a Hardware Based, TCP/IP Content Scanning System David V. Schuehler.
CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001.
Washington WASHINGTON UNIVERSITY IN ST LOUIS 1 DTI Visit - John DeHart- 4/25/2001 Agenda l WU/ARL Background – John DeHart (15 minutes) l DTI Background.
Field Programmable Port Extender (FPX) 1 NCHARGE: Remote Management of the Field Programmable Port Extender (FPX) Todd Sproull Washington University, Applied.
Slide #1 CIT 380: Securing Computer Systems TCP/IP.
Protocol Layering Chapter 11.
Hardened IDS using IXP Didier Contis, Dr. Wenke Lee, Dr. David Schimmel Chris Clark, Jun Li, Chengai Lu, Weidong Shi, Ashley Thomas, Yi Zhang  Current.
Rehab AlFallaj.  Network:  Nodes: Service units: PC Interface processing Modules: it doesn’t generate data, but just it process it and do specific task.
1 CSE 5346 Spring Network Simulator Project.
An Efficient Gigabit Ethernet Switch Model for Large-Scale Simulation Dong (Kevin) Jin.
Field Programmable Port Extender (FPX) 1 Modular Design Techniques for the Field Programmable Port Extender John Lockwood and David Taylor Washington University.
CS/CoE 536 : Lockwood 1 CS/CoE 536 Reconfigurable System On Chip Design Lecture 10 : MP3 Working Draft Washington University Fall 2002
Field Programmable Port Extender (FPX) 1 Remote Management of the Field Programmable Port Extender (FPX) Todd Sproull Washington University, Applied Research.
CIS679: TCP and Multimedia r Review of last lecture r TCP and Multimedia.
Routing Semester 2, Chapter 11. Routing Routing Basics Distance Vector Routing Link-State Routing Comparisons of Routing Protocols.
The FPX KCPSM Module 1 Henry Fu The FPX KCPSM Module: An Embedded, Reconfigurable Active Processing Module for the FPX Henry Fu Washington University.
© 2006 Cisco Systems, Inc. All rights reserved.Cisco Public 1 OSI transport layer CCNA Exploration Semester 1 – Chapter 4.
Network Processing Systems Design
What is CRKIT Framework ? Baseband Processor :  FPGA-based off-the-shelf board  Control up to 4 full-duplex wideband radios  FPGA-based System-on-Chip.
What is a Protocol A set of definitions and rules defining the method by which data is transferred between two or more entities or systems. The key elements.
Anne Pratoomtong ECE734, Spring2002
Washington University
CSCI {4,6}900: Ubiquitous Computing
Washington University, Applied Research Lab
Remote Management of the Field Programmable Port Extender (FPX)
Layered Protocol Wrappers Design and Interface review
Chapter-5 Traffic Engineering.
Intelligent Network Services through Active Flow Manipulation
Presentation transcript:

4/19/20021 TCPSplitter: A Reconfigurable Hardware Based TCP Flow Monitor David V. Schuehler

4/19/20022 Outline Motivation Target Platform Design Possible Applications Results Conclusion

4/19/20023 MOTIVATION

4/19/20024 Why work with TCP? Over 85% on internet traffic is TCP based Internet is growing TCP is a proven reliable transport for data delivery Provide high speed active networks the ability work with TCP flows

4/19/20025 Why not implement a full TCP stack in hardware? Complex protocol stack Several interactions on client interface (sockets?) Difficult to achieving high performance Large memories required for reassembly Limited number of simultaneous connections

4/19/20026 Solution Develop TCP flow monitor - TCPSplitter Utilize existing hardware infrastructure (FPX) Expand upon Layered Protocol Wrappers

4/19/20027 TARGET PLATFORM

4/19/20028 Configuration

4/19/20029 Washington University Gigabit Switch

4/19/ FPX Module

4/19/ FPX Internal Structure RAD: Reprogrammable Application Device Xilinx XCV1000E FPGA External SRAM/SDRAM Reprogrammable NID: Network Interface Device XCV600E FPGA Controls FPX Programs RAD Forwards traffic

4/19/ DESIGN

4/19/ Goals High Speed Design Small FPGA Footprint Simple Client Interface Support Large Number of Flows

4/19/ Challenges Dealing with dropped frames Packet reordering Maintaining state for large number of flows Developing an efficient implementation Processing data at line rates Minimizing resource requirements

4/19/ Assumptions/Limitations All frames must flow through switch Frames traversing in opposite direction handled as separate flow In-order processing of frames for each flow

4/19/ TCPSplitter Data Flow

4/19/ Input Processing Flow Classification TCP Checksum Engine Input State Machine Control FIFO Frame FIFO Output State Machine

4/19/ Layout

4/19/ Packet Routing Decisions Forward to outbound IP stack only Forward to both Client App and outbound IP stack Discard packet

4/19/ Packet Routing Non-TCP packets  IP stack Invalid TCP checksum  drop TCP SYN packets  IP stack (Seq # < Expected Seq #)  IP stack (Seq # > Expected Seq #)  drop Else  client AND IP stack

4/19/ Client Interface 1 bit Clock 1 bit Reset 32 bit Data Word 1 bit Data Enable 4 bit Start/End of Data Signals 2 bit Valid Data Bytes N bit Flow Identifier 2 bit Start/End of Flow Signals 1 bit TCA Client Application

4/19/ POSSIBLE APPLICATIONS

4/19/ Possible Application 1 Simultaneous update of multiple active network nodes

4/19/ Possible Application 2 Dynamic loading of customizable QoS algorithms

4/19/ Possible Application 3 Monitoring content of all TCP flows for security

4/19/ RESULTS

4/19/ Synthesis Results for Xilinx XCV1000E-7 TCPSplitterFull Wrappers (Cell + Frame + IP + TCP + Client) Space/LUTs617 (2%)4954 (20%) Register bits503 (2%)4933 (20%) Input processing delay 7 clock cycles *44-68 clock cycles * * Plus length of packet in 32 bit words

4/19/ Sample Run Start of frame Byte count IP payload TCP payload End of frame Flow ID

4/19/ Current State of Research Developed and simulated design Handles 256 simultaneous flows  33 bits * 256 entries = 1,056 bytes Synthesizes at 74MHz Simple test client counts TCP data bytes

4/19/ Future Directions Execute design in hardware Increase the number of simultaneous flows  262,144 flows require only 1 MByte (+) RAM Develop more elaborate client applications Improve processing performance Implement sliding window – passive solution Enhance frame generation utility for simulations

4/19/ CONCLUSION

4/19/ Conclusion Runs on reconfigurable hardware platform Process packets at Gigabit line rates Monitors all TCP flows Generates proper byte stream for each flow Requires only minimal memory (33 bits/flow) Simple client interface demonstrated

4/19/ Acknowledgments Advisor: Dr. John Lockwood

4/19/ Questions