NetFPGA: Reusable Router Architecture for Experimental Research Jad Naous, Glen Gibb, Sara Bolouki, and Nick 2008. 09. 24 Presented.

Slides:



Advertisements
Similar presentations
Router Internals CS 4251: Computer Networking II Nick Feamster Spring 2008.
Advertisements

Router Internals CS 4251: Computer Networking II Nick Feamster Fall 2008.
IP Router Architectures. Outline Basic IP Router Functionalities IP Router Architectures.
P4: specifying data planes
ENGINEERING WORKSHOP Compute Engineering Workshop P4: specifying data planes Mihai Budiu San Jose, March 11, 2015.
NetFPGA Project: 4-Port Layer 2/3 Switch Ankur Singla Gene Juknevicius
Berlin – November 10th, 2011 NetFPGA Programmable Networking for High-Speed Network Prototypes, Research and Teaching Presented by: Andrew W. Moore (University.
Forwarding Metamorphosis: Fast Programmable Match-Action Processing in Hardware for SDN Pat Bosshart, Glen Gibb, Hun-Seok Kim, George Varghese, Nick.
An Overview of Software-Defined Network Presenter: Xitao Wen.
OpenFlow : Enabling Innovation in Campus Networks SIGCOMM 2008 Nick McKeown, Tom Anderson, et el. Stanford University California, USA Presented.
Performance Evaluation of Open Virtual Routers M.Siraj Rathore
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) SriramGopinath( )
Students:Gilad Goldman Lior Kamran Supervisor:Mony Orbach Network Sniffer.
The Stanford Clean Slate Program A couple of platforms (Or: “Why can’t I innovate in my wiring closet?”) Nick McKeown
Students:Gilad Goldman Lior Kamran Supervisor:Mony Orbach Mid-Semester Presentation Spring 2005 Network Sniffer.
Application of NetFPGA in Network Security Hao Chen 2/25/2011.
Chapter 3 Review of Protocols And Packet Formats
An Overview of Software-Defined Network
CS 838: NetFPGA Tutorial Theophilus Benson.
Router Architectures An overview of router architectures.
An Overview of Software-Defined Network Presenter: Xitao Wen.
NetFPGA Cambridge Spring School Mar NetFPGA : Cambridge Spring School Presented by: Andrew W. Moore and David Miller (University of Cambridge)
Aug 20 th, 2002 Sigcomm Education Workshop 1 Teaching tools for a network infrastructure teaching lab The Virtual Router and NetFPGA Sigcomm Education.
Paper Review Building a Robust Software-based Router Using Network Processors.
G64INC Introduction to Network Communications Ho Sooi Hock Internet Protocol.
OpenFlow: Enabling Technology Transfer to Networking Industry Nikhil Handigol Nikhil Handigol Cisco Nerd.
PA3: Router Junxian (Jim) Huang EECS 489 W11 /
Hands-on Training – June 18-19, NetFPGA Hands-on Training Day 2 Presented by: Adam Covington (Stanford University) Indiana University, Bloomington.
NetFPGA Tsinghua Tutorial May S T A N F O R D U N I V E R S I T Y NetFPGA Tutorial Tsinghua University – Day 2 Presented by: James Hongyi.
OpenFlow: Enabling Innovation in Campus Networks
Hands-on Training – June 18-19, NetFPGA Hands-on Training Day 1 Presented by: Adam Covington (Stanford University) Indiana University, Bloomington.
NetFPGA Cambridge Spring School Mar Day 2: NetFPGA Cambridge Spring School Module Development and Testing Presented by: Andrew W. Moore and.
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) Sriram Gopinath( )
Applied research laboratory David E. Taylor Users Guide: Fast IP Lookup (FIPL) in the FPX Gigabit Kits Workshop 1/2002.
EuroSys NetFPGA Tutorial 1 S T A N F O R D U N I V E R S I T Y Presented by: John W. Lockwood & G. Adam Covington (Stanford University) Andrew Moore.
NetFPGA Cambridge Workshop Sep Day 2: NetFPGA Cambridge Workshop Module Development and Testing Presented by: Andrew W. Moore and David Miller.
Microsoft Windows Server 2003 TCP/IP Protocols and Services Technical Reference Slide: 1 Lesson 7 Internet Protocol (IP) Routing.
1 - Charlie Wiseman - 05/11/07 Design Review: XScale Charlie Wiseman ONL NP Router.
Othman Othman M.M., Koji Okamura Kyushu University Proceedings of the 32 nd Asia-Pacific Advanced Network Meeting India, New Delhi, 2001/8/22.
4/19/20021 TCPSplitter: A Reconfigurable Hardware Based TCP Flow Monitor David V. Schuehler.
Hot Interconnects TCP-Splitter: A Reconfigurable Hardware Based TCP/IP Flow Monitor David V. Schuehler
July 12th 1999Kits Workshop 1 Active Networking at Washington University Dan Decasper.
NetFPGA tutorial - India: May S T A N F O R D U N I V E R S I T Y Hands-on with the NetFPGA to build a Gigabit-rate Router at Indian Institute of.
1 Bus topology network. 2 Data is sent to all computers, but only the destination computer accepts 02608c
OpenFlow MPLS and the Open Source Label Switched Router Department of Computer Science and Information Engineering, National Cheng Kung University, Tainan,
1 CSE 5346 Spring Network Simulator Project.
1 A quick tutorial on IP Router design Optics and Routing Seminar October 10 th, 2000 Nick McKeown
Packet Switch Architectures The following are (sometimes modified and rearranged slides) from an ACM Sigcomm 99 Tutorial by Nick McKeown and Balaji Prabhakar,
1 Review – The Internet’s Protocol Architecture. Protocols, Internetworking & the Internet 2 Introduction Internet standards Internet standards Layered.
1WARFP 2006 NetFPGA Greg Watson Prof. Nick McKeown, Martin Casado High Performance Networking Group Stanford and many Stanford students…
J. Liebeher (modified by M. Veeraraghavan) 1 Introduction Complexity of networking: An example Layered communications The TCP/IP protocol suite.
October S T A N F O R D U N I V E R S I T Y A Quick Update for GENI Engineering Conference (GEC3) - Oct 30, 2008 John W. Lockwood and the NetFPGA.
Network Data Plane Part 2
Addressing: Router Design
Reference Router on NetFPGA 1G
Building Gigabit-rate Routers with the NetFPGA: NICTA Tutorial at UNSW
(Stanford University) (Cambridge University)
Informational Tutorial
The Stanford Clean Slate Program
A Quick Update for GENI Engineering Conference (GEC3) - Oct 30, 2008
Packet Switch Architectures
Design of a Diversified Router: November 2006 Demonstration Plans
Implementing an OpenFlow Switch on the NetFPGA platform
Router Construction Outline Switched Fabrics IP Routers
RDMA over Commodity Ethernet at Scale
Visible routers in Visible network
Reference Router on NetFPGA 1G
NetFPGA - an open network development platform
Packet Switch Architectures
Chapter 4: outline 4.1 Overview of Network layer data plane
Presentation transcript:

NetFPGA: Reusable Router Architecture for Experimental Research Jad Naous, Glen Gibb, Sara Bolouki, and Nick Presented by Jaeryong Hwang SIGCOMM PRESTO Workshop 2008

Introduction  Software & hardware re-use  Obstacles of re-using hardware Dependencies of the particular design No underlying unifying operating system vs What is the open-source re-usable hardware? Need to make FPGA based hardware design more re-usable for network researchers Field Programmable Gate Array

FPGA Memory 1GE PCI CPU Memory NetFPGA Board PC with NetFPGA Networking Software running on a standard PC A hardware accelerator built with FPGA driving Gigabit network links What is NetFPGA?

Who, How, Why  Who uses the NetFPGA? Teachers Students Researchers  How do they use the NetFPGA? To run the Router Kit To build modular reference designs IPv4 router 4-port NIC Ethernet switch, …  Why do they use the NetFPGA? To measure performance of Internet systems To prototype new networking systems

Outline  NetFPGA Components  Pipeline Interface Details  Usage Example: IPv4 Router

FPGA Memory 1GE NetFPGA Components PCI CPU Memory NetFPGA Driver In Q Mgmt IP Lookup L2 Parse L3 Parse Out Q Mgmt 1GE Verilog modules interconnected by FIFO interfaces My Block Verilog EDA Tools (Xilinx, Mentor, etc.) 1.Design 2.Simulate 3.Synthesize 4.Download 1.Design 2.Simulate 3.Synthesize 4.Download

NetFPGA System User Space Linux Kernel NIC GE PCI-e PCI Browser & Video Client Monitor Software GE CAD Tools NetFPGA Router Hardware VI Packet Forwarding Table (eth1.. 2)(nf2c0.. 3) Web & Video Server

Example of NetFPGA System NetFPGA Video Client NetFPGA Video Server

IPv4 Router  Reference router pipeline Five stages Input Input arbitration Routing decision and packet modification Output queuing Output  Packet-based module interface  Pluggable design Usage Examples

Inter-Module Communication Using “Module Headers”: IP Hdr Eth Hdr … Last word of packet0x10 Last Module Hdr y …… Module Hdr x Contain information such as packet length, input port, output port, … Data Word (64 bits) Ctrl Word (8 bits) Usage Examples/IPv4 Router

Inter-Module Communication data ctrl wr rdy Usage Examples/IPv4 Router

MAC Rx Queue IP Hdr: IP Dst: , TTL: 64, Csum:0x3ab4 Eth Hdr: Dst MAC = port 0, Ethertype = IP Data Usage Examples/IPv4 Router

Rx Queue IP Hdr: IP Dst: , TTL: 64, Csum:0x3ab4 Eth Hdr: Dst MAC = port 0, Ethertype = IP Data Pkt length, input port = 0 0xff Usage Examples/IPv4 Router

Input Arbiter Pkt Usage Examples/IPv4 Router

Output Port Lookup IP Hdr: IP Dst: , TTL: 64, Csum:0x3ab4 EthHdr: Dst MAC = 0 Src MAC = x, Ethertype = IP Data Pkt length, input port = 0 0xff Usage Examples/IPv4 Router

IP Hdr: IP Dst: , TTL: 64, Csum:0x3ab4 IP Hdr: IP Dst: , TTL: 63, Csum:0x3ac2 Output Port Lookup EthHdr: Dst MAC = 0 Src MAC = x, Ethertype = IP Data Pkt length, input port = 0 0xff 1- Check input port matches Dst MAC 2- Check TTL, checksum 3- Lookup next hop IP & output port (LPM) 4- Lookup next hop MAC address (ARP) 5- Add output port header 6- Modify MAC Dst and Src addresses 7-Decrement TTL and update checksum EthHdr: Dst MAC = nextHop Src MAC = port 4, Ethertype = IP Pkt length, input port = 0 output port = 4 Usage Examples/IPv4 Router

Output Queues Pkt OQ0 OQ4 OQ7 Usage Examples/IPv4 Router

MAC Tx Queue IP Hdr: IP Dst: , TTL: 64, Csum:0x3ab4 IP Hdr: IP Dst: , TTL: 63, Csum:0x3ac2 EthHdr: Dst MAC = nextHop Src MAC = port 4, Ethertype = IP Data Pkt length, input port = 0 output port = 4 0xff Usage Examples/IPv4 Router

MAC Tx Queue IP Hdr: IP Dst: , TTL: 64, Csum:0x3ab4 IP Hdr: IP Dst: , TTL: 63, Csum:0x3ac2 EthHdr: Dst MAC = nextHop Src MAC = port 4, Ethertype = IP Data Pkt length, input port = 0 output port = 4 0xff Usage Examples/IPv4 Router

Networked FPGAs in Research 1.Managed flow-table switch 2.Buffer Sizing Reduce buffer size & measure buffer occupancy 3.RCP: Congestion Control New module for parsing and overwriting new packet New software to calculate explicit rates 4.Deep Packet Inspection (FPX) TCP/IP Flow Reconstruction Regular Expression Matching Bloom Filters 5.Packet Monitoring (ICSI) Network Shunt 6.Precise Time Protocol (PTP) Synchronization among Routers

Visit

NetFPGA Worldwide Tutorial Series Jiaotong Univ. Beijing, China NICTA/UNSW: Sydney, Australia Eurosys: Glasgow, Scotland CESNET Brno, Czech Republic SIGCOMM: Seattle, Washington Hot Interconnects & Summer Camp Stanford, California SIGMETRICS San Diego, California IISc Bangalore, India Cambridge: England

Photos from NetFPGA Tutorials and EuroSys - Glasgow, Scotland, U.K. Beijing, China SIGMETRICS - San Diego, California, USA Bangalore, India SIGCOMM - Seattle, Washington, USA

Map of Deployed Hardware (July 2008)

Project Ideas for the NetFPGA  IPv6 Router (in high demand)  TCP Traffic Generator  Valiant Load Balancing  Graphical User Interface (like CLACK)  MAC-in-MAC Encapsulation  Encryption / Decryption modules  RCP Transport Protocol  Packet Filtering ( Firewall, IDS, IDP )  TCP Offload Engine  DRAM Packet Queues  8-Port Switch using SATA Bridge  Build our own MAC (from source, rather than core)  Use XML for Register Definitions

Conclusion  Introduce open-source re-usable NetFPGA  Providing a simple interface b/w hardware stages and an easy way to interact with the software  Allows developers to mix and match functionality provided by different modules

References   "NetFPGA: Reusable Router Architecture for Experimental Research“ Jad Naous, Glen Gibb, Sara Bolouki, and Nick McKeown SIGCOMM PRESTO Workshop, Seattle, WA, August 2008  NetFPGA Tutorial slides