1 / 29

TCP-Splitter: A Reconfigurable Hardware Based TCP/IP Flow Monitor

TCP-Splitter: A Reconfigurable Hardware Based TCP/IP Flow Monitor. David V. Schuehler dvs1@arl.wustl.edu. Outline. Motivation Hardware Platform Design Results Applications Questions. MOTIVATION. Problem Statement.

Download Presentation

TCP-Splitter: A Reconfigurable Hardware Based TCP/IP Flow Monitor

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. TCP-Splitter: A Reconfigurable Hardware Based TCP/IP Flow Monitor David V. Schuehler dvs1@arl.wustl.edu

  2. Outline • Motivation • Hardware Platform • Design • Results • Applications • Questions

  3. MOTIVATION

  4. Problem Statement • Develop a lightweight network monitoring component that operates at multi-gigabit/second line rates.

  5. 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

  6. Why not use a software based monitor?Why not implement a full TCP stack ? • Difficult to achieve desired performance • Large memories required for reassembly • Limited number of simultaneous connections • Acts as a connection endpoint • Not a lightweight solution

  7. Solution • Develop TCP flow monitor: TCP-Splitter • Leverage existing hardware infrastructure • Expand upon Layered Protocol Wrappers research

  8. HARDWARE PLATFORM

  9. Washington University Gigabit Switch

  10. FPX Module Oscillators Static Ram RAD (XCV1000E) NID (XCV600E) PROM

  11. DESIGN

  12. Goals • High Speed Design • Small FPGA Footprint • Simple Client Interface • Support Large Number of Flows • Utilize existing protocol wrapper framework • Execute within FPX environment, and systems like it

  13. Challenges • Frames are dropped on the Internet • Packets are reordering • Flow state is needed for large number of flows • Widescale deployment requires an efficient implementation • Backbone networks must process data at multi-Gigabit/second rates • Hardware library should be small

  14. Assumptions/Limitations • Though traffic may take diverse paths through a network, all monitored traffic must flow through the node with TCP-Splitter • Through flows are generally bidirectional, data is processed as a pair of unidirectional flows • Though data may be sent out of order, data will be forced to be processed in-order

  15. TCP-Splitter

  16. TCP Input Module Data Flow

  17. Layout

  18. 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 App AND IP stack

  19. Client Interface Client Application • 1 bit Clock • 1 bit Reset • 32 bit Data Word • 2 bit Data Enable • 3 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

  20. RESULTS

  21. Current State of Research • Developed, simulated, and tested design • Handles 256 k simultaneous flows • Synthesizes at 101MHz • Executes in hardware • Developing new client applications

  22. Synthesis Results for Xilinx XCV1000E-7 * Plus length of packet in 32 bit words

  23. APPLICATIONS

  24. TCP data enable Sample Run Start of frame IP payload End of frame Byte count SRAM write Flow ID

  25. Multi-Device Programmer • Listens to TCP/IP conversation • Extracts programming information • Sends programming information to device • Simultaneously programs multiple devices

  26. Stacked programmer 50 FPX FPX 50 50 FPX FPX 50 50 98 FPX Line Card 98 50 50 99 99 FPX FPX FPX 50 Client Server

  27. Conclusion • A lightweight circuit, called TCP-Splitter, has been developed which provides a client application with the ability to monitor TCP/IP flows on multi-Gigabit/second networks. • Implemented in reconfigurable hardware • Operates on network traffic in real-time • Processes data at 3.1 Gigabits/second • Requires limited resources: 2% of a Xilinx XCV1000E • Eliminates the need for large reassembly buffers • Monitors 256 k flows simultaneously

  28. Acknowledgments • Harvey Ku • Multi-Device Programmer • Dr. John Lockwood • Advisor

  29. QUESTIONS

More Related