Cuenca, Ecuador – November 7, 2012 1 NetFPGA Informational Tutorial Presented by: Adam Covington (Stanford University) César Guerrero (Universidad Autónoma.

Slides:



Advertisements
Similar presentations
1 IP Forwarding Relates to Lab 3. Covers the principles of end-to-end datagram delivery in IP networks.
Advertisements

IP Forwarding Relates to Lab 3.
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.
OpenFlow Costin Raiciu Using slides from Brandon Heller and Nick McKeown.
OpenFlow : Enabling Innovation in Campus Networks SIGCOMM 2008 Nick McKeown, Tom Anderson, et el. Stanford University California, USA Presented.
Garrett Drown Tianyi Xing Group #4 CSE548 – Advanced Computer Network Security.
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) SriramGopinath( )
Customizing Virtual Networks with Partial FPGA Reconfiguration
The Stanford Clean Slate Program A couple of platforms (Or: “Why can’t I innovate in my wiring closet?”) Nick McKeown
t Popularity of the Internet t Provides universal interconnection between individual groups that use different hardware suited for their needs t Based.
EE 122: Router Design Kevin Lai September 25, 2002.
048866: Packet Switch Architectures Dr. Isaac Keslassy Electrical Engineering, Technion Introduction.
Xilinx Confidential – Internal NetFPGA10G Michaela Blott, September 2010 Page 1.
1 IP Forwarding Relates to Lab 3. Covers the principles of end-to-end datagram delivery in IP networks.
CS 838: NetFPGA Tutorial Theophilus Benson.
Computer Networks Switching Professor Hui Zhang
Aug 20 th, 2002 Sigcomm Education Workshop 1 Teaching tools for a network infrastructure teaching lab The Virtual Router and NetFPGA Sigcomm Education.
NetFPGA: Reusable Router Architecture for Experimental Research Jad Naous, Glen Gibb, Sara Bolouki, and Nick Presented.
Professor Yashar Ganjali Department of Computer Science University of Toronto
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.
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.
1 IP Forwarding Relates to Lab 3. Covers the principles of end-to-end datagram delivery in IP 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( )
IP Forwarding.
RiceNIC: A Reconfigurable and Programmable Gigabit Network Interface Card Jeff Shafer, Dr. Scott Rixner Rice Computer Architecture:
Applied research laboratory David E. Taylor Users Guide: Fast IP Lookup (FIPL) in the FPX Gigabit Kits Workshop 1/2002.
Research on Reconfigurable Computing Using Impulse C Carmen Li Shen Mentor: Dr. Russell Duren February 1, 2008.
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.
By V. Koutsoumpos, C. Kachris, K. Manolopoulos, A. Belias NESTOR Institute – ICS FORTH Presented by: Kostas Manolopoulos.
Networks and Protocols CE Week 7b. Routing an Overview.
An Architecture and Prototype Implementation for TCP/IP Hardware Support Mirko Benz Dresden University of Technology, Germany TERENA 2001.
4/19/20021 TCPSplitter: A Reconfigurable Hardware Based TCP Flow Monitor David V. Schuehler.
Lecture 13: Reconfigurable Computing Applications October 10, 2013 ECE 636 Reconfigurable Computing Lecture 11 Reconfigurable Computing Applications.
Lecture 12: Reconfigurable Systems II October 20, 2004 ECE 697F Reconfigurable Computing Lecture 12 Reconfigurable Systems II: Exploring Programmable Systems.
Rehab AlFallaj.  Network:  Nodes: Service units: PC Interface processing Modules: it doesn’t generate data, but just it process it and do specific task.
OpenFlow MPLS and the Open Source Label Switched Router Department of Computer Science and Information Engineering, National Cheng Kung University, Tainan,
1 A quick tutorial on IP Router design Optics and Routing Seminar October 10 th, 2000 Nick McKeown
1WARFP 2006 NetFPGA Greg Watson Prof. Nick McKeown, Martin Casado High Performance Networking Group Stanford and many Stanford students…
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.
Chapter 6: Network Layer
IP Forwarding Covers the principles of end-to-end datagram delivery in IP networks.
Reference Router on NetFPGA 1G
Chapter 4: Routing Concepts
(Stanford University) (Cambridge University)
IP Forwarding Relates to Lab 3.
IP Forwarding Relates to Lab 3.
Informational Tutorial
The Stanford Clean Slate Program
CS 31006: Computer Networks – The Routers
Emu: Rapid FPGA Prototyping of Network Services in C#
IP Forwarding Relates to Lab 3.
A Quick Update for GENI Engineering Conference (GEC3) - Oct 30, 2008
Network Core and QoS.
Dynamic Packet-filtering in High-speed Networks Using NetFPGAs
IP Forwarding Relates to Lab 3.
After the Spring School…
Implementing an OpenFlow Switch on the NetFPGA platform
Router Construction Outline Switched Fabrics IP Routers
IP Forwarding Relates to Lab 3.
Networking and Network Protocols (Part2)
IP Forwarding Relates to Lab 3.
Reference Router on NetFPGA 1G
NetFPGA - an open network development platform
Chapter 4: outline 4.1 Overview of Network layer data plane
Presentation transcript:

Cuenca, Ecuador – November 7, NetFPGA Informational Tutorial Presented by: Adam Covington (Stanford University) César Guerrero (Universidad Autónoma de Bucaramanga) IEEE LATINCOM 2012 Cuenca, Ecuador November 7,

Cuenca, Ecuador – November 7, Tutorial Outline Motivation –Introduction –The NetFPGA Platform Hardware Overview –NetFPGA 1G –NetFPGA 10G The Stanford Base Reference Router –Motivation: Basic IP review –Example: Reference Router running on the NetFPGA Extending the Reference Router –Motivation: Buffer Sizing –Example: Buffer Sizing Experiment running using the NetFPGA Community Contributions Concluding Remarks

Cuenca, Ecuador – November 7, Section I: Motivation

Cuenca, Ecuador – November 7, NetFPGA = Networked FPGA A line-rate, flexible, open networking platform for teaching and research

Cuenca, Ecuador – November 7, NetFPGA 1G Board NetFPGA consists of… Four elements: NetFPGA board Tools + reference designs Contributed projects Community NetFPGA 10G Board

Cuenca, Ecuador – November 7, NetFPGA 1GNetFPGA 10G 4 x 1Gbps Ethernet Ports4 x 10Gbps SFP+ 4.5 MB ZBT SRAM 64 MB DDR2 SDRAM 27 MB QDRII-SRAM 288 MB RLDRAM-II PCIPCI Express x8 Virtex II-Pro 50Virtex 5 TX240T NetFPGA Board Comparison

Cuenca, Ecuador – November 7, FPGA Memory 1GE NetFPGA board PCI CPU Memory NetFPGA Board PC with NetFPGA Networking Software running on a standard PC A hardware accelerator built with Field Programmable Gate Array driving Gigabit network links

Cuenca, Ecuador – November 7, FPGA Memory 1GE Running the Router Kit User-space development, 4x1GE line-rate forwarding PCI CPU Memory OSPFBGP My Protocol user kernel Routing Table Usage #1 IPv4 Router 1GE Fwding Table Packet Buffer “Mirror”

Cuenca, Ecuador – November 7, FPGA Memory 1GE Enhancing Modular Reference Designs PCI CPU Memory Usage #2 NetFPGA Driver Java GUI Front Panel (Extensible) PW-OSPF 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

Cuenca, Ecuador – November 7, FPGA Memory 1GE Creating new systems PCI CPU Memory Usage #3 NetFPGA Driver 1GE My Design (1GE MAC is soft/replaceable) Verilog EDA Tools (Xilinx, Mentor, etc.) 1.Design 2.Simulate 3.Synthesize 4.Download 1.Design 2.Simulate 3.Synthesize 4.Download

Cuenca, Ecuador – November 7, Tools + Reference Designs 1G Tools: Compile designs Verify designs Interact with hardware Reference designs: Router (HW) Switch (HW) Network Interface Card (HW) Router Kit (SW) SCONE (SW)

Cuenca, Ecuador – November 7, Contributed Projects More projects: ProjectContributor OpenFlow switchStanford University Packet generatorStanford University NetFlow ProbeBrno University NetThreadsUniversity of Toronto zFilter (Sp)routerEricsson Traffic MonitorUniversity of Catania DFAUMass Lowell

Cuenca, Ecuador – November 7, Community Wiki Documentation –User’s Guide –Developer’s Guide Encourage users to contribute Forums Support by users for users Active community - 10s-100s of posts/week

Cuenca, Ecuador – November 7, International Community Over 1,000 users, using 2,000 cards at 150 universities in 40 countries

Cuenca, Ecuador – November 7, NetFPGA’s Defining Characteristics Line-Rate –Processes back-to-back packets Without dropping packets At full rate of Gigabit Ethernet Links –Operating on packet headers For switching, routing, and firewall rules –And packet payloads For content processing and intrusion prevention Open-source Hardware –Similar to open-source software Full source code available BSD-Style License –But harder, because Hardware modules must meeting timing Verilog & VHDL Components have more complex interfaces Hardware designers need high confidence in specification of modules

Cuenca, Ecuador – November 7, Test-Driven Design Regression tests –Have repeatable results –Define the supported features –Provide clear expectation on functionality Example: Internet Router –Drops packets with bad IP checksum –Performs Longest Prefix Matching on destination address –Forwards IPv4 packets of length bytes –Generates ICMP message for packets with TTL <= 1 –Defines how packets with IP options or non IPv4 … and dozens more … Every feature is defined by a regression test

Cuenca, Ecuador – November 7, 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

Cuenca, Ecuador – November 7, Section II: Hardware Overview

Cuenca, Ecuador – November 7, NetFPGA-1G

Cuenca, Ecuador – November 7, Xilinx Virtex II Pro 50 53,000 Logic Cells Block RAMs Embedded PowerPC

Cuenca, Ecuador – November 7, Network and Memory Gigabit Ethernet –4 RJ45 Ports –Broadcom PHY Memories –4.5MB Static RAM –64MB DDR2 Dynamic RAM

Cuenca, Ecuador – November 7, Other IO PCI –Memory Mapped Registers –DMA Packet Transferring SATA –Board to Board communication

Cuenca, Ecuador – November 7, NetFPGA-10G A major upgrade State-of-the-art technology

Cuenca, Ecuador – November 7, NetFPGA 1GNetFPGA 10G 4 x 1Gbps Ethernet Ports4 x 10Gbps SFP+ 4.5 MB ZBT SRAM 64 MB DDR2 SDRAM 27 MB QDRII-SRAM 288 MB RLDRAM-II PCIPCI Express x8 Virtex II-Pro 50Virtex 5 TX240T Comparison

Cuenca, Ecuador – November 7, Gigabit Ethernet 4 SFP+ Cages NetLogic PHY 10G Support –Direct Attach Copper –10GBASE-R Optical Fiber 1G Support –1000BASE-T Copper –1000BASE-X Optical Fiber

Cuenca, Ecuador – November 7, Others QDRII-SRAM –27MB –Storing routing tables, counters and statistics RLDRAM-II –288MB –Packet Buffering PCI Express x8 –PC Interface Expansion Slot

Cuenca, Ecuador – November 7, Xilinx Virtex 5 TX240T Optimized for ultra high-bandwidth applications 48 GTX Transceivers 4 hard Tri-mode Ethernet MACs 1 hard PCI Express Endpoint

Cuenca, Ecuador – November 7, Beyond Hardware NetFPGA-10G Board Xilinx EDK based IDE Reference designs with ARM AXI4 Software (embedded and PC) Public Repository (GitHub) Public Wiki Reference Designs AXI4 IPs Xilinx EDK MicroBlaze SW PC SW PBWorks, GitHub, User Community

Cuenca, Ecuador – November 7, NetFPGA-1G Cube Systems PCs assembled from parts –Stanford University –Cambridge University Pre-built systems available –Accent Technology Inc. Details are in the Guide

Cuenca, Ecuador – November 7, Rackmount NetFPGA-1G Servers NetFPGA inserts in PCI or PCI-X slot 2U Server (Dell 2950) Thanks: Brian Cashman for providing machine 1U Server (Accent Technology Inc.)

Cuenca, Ecuador – November 7, Stanford NetFPGA-1G Cluster Statistics Rack of 40 1U PCs with NetFPGAs Managed Power Console LANs Provides 4*40=160 Gbps of full line-rate processing bandwidth

Cuenca, Ecuador – November 7, Section III: Network review

Cuenca, Ecuador – November 7, Internet Protocol (IP) Data IP Hdr Eth Hdr Data IP Hdr Data to be transmitted: IP packets: Ethernet Frames: Data IP Hdr Data IP Hdr Eth Hdr Data IP Hdr Eth Hdr Data IP Hdr … …

Cuenca, Ecuador – November 7, Internet Protocol (IP) Data IP Hdr … Options (if any) Destination Address Source Address Header ChecksumProtocolTTL Fragment Offset Flags Fragment ID Total Packet LengthT.Service HLen Ver 20 bytes

Cuenca, Ecuador – November 7, Basic operation of an IP router R3 A B C R1 R2 R4D E F R5 F R3E D Next HopDestination D

Cuenca, Ecuador – November 7, Basic operation of an IP router A B C R1 R2 R3 R4D E F R5

Cuenca, Ecuador – November 7, Forwarding tables EntryDestinationPort 1 2 ⋮ ⋮ ⋮ 12 ~ 4 billion entries Naïve approach: One entry per address Improved approach: Group entries to reduce table size EntryDestinationPort 1 2 ⋮ – – ⋮ – ⋮ 12 IP address 32 bits wide → ~ 4 billion unique address

Cuenca, Ecuador – November 7, IP addresses as a line EntryDestinationPort Stanford Berkeley North America Asia Everywhere (default) All IP addresses North America Asia BerkeleyStanford Your computerMy computer

Cuenca, Ecuador – November 7, Longest Prefix Match (LPM) EntryDestinationPort Stanford Berkeley North America Asia Everywhere (default) Universities Continents Planet Data To: Stanford Matching entries: Stanford North America Everywhere Most specific

Cuenca, Ecuador – November 7, Longest Prefix Match (LPM) EntryDestinationPort Stanford Berkeley North America Asia Everywhere (default) Universities Continents Planet Data To: Canada Matching entries: North America Everywhere Most specific

Cuenca, Ecuador – November 7, Implementing Longest Prefix Match EntryDestinationPort Stanford Berkeley North America Asia Everywhere (default) Most specific Least specific Searching FOUND

Cuenca, Ecuador – November 7, Basic components of an IP router Control Plane Data Plane per-packet processing Switching Forwarding Table Routing Table Routing Protocols Management & CLI Software Hardware Queuing

Cuenca, Ecuador – November 7, IP router components in NetFPGA SCONE Routing Table Routing Protocols Management & CLI Output Port Lookup Forwarding Table Input Arbiter Output Queues SwitchingQueuing Linux Routing Table Routing Protocols Management & CLI Router Kit OR Software Hardware

Cuenca, Ecuador – November 7, Section IV: Example I

Cuenca, Ecuador – November 7, Operational IPv4 router Control Plane Data Plane per-packet processing Software Hardware Routing Table Routing Protocols Management & CLI SCONE Switching Forwarding Table Queuing Reference router Java GUI

Cuenca, Ecuador – November 7, Streaming video

Cuenca, Ecuador – November 7, Streaming video PC & NetFPGA (NetFPGA in PC) NetFPGA running reference router

Cuenca, Ecuador – November 7, Streaming video Video streaming over shortest path Video client Video server

Cuenca, Ecuador – November 7, Streaming video Video client Video server

Cuenca, Ecuador – November 7, Observing the routing tables Columns: Subnet address Subnet mask Next hop IP Output ports

Cuenca, Ecuador – November 7, Demo

Cuenca, Ecuador – November 7, Review NetFPGA as IPv4 router: Reference hardware + SCONE software Routing protocol discovers topology Demo: Ring topology Traffic flows over shortest path Broken link: automatically route around failure

Cuenca, Ecuador – November 7, Section V: Example II

Cuenca, Ecuador – November 7, Buffers in Routers Internal Contention Congestion Pipelining

Cuenca, Ecuador – November 7, Buffers in Routers Rx Tx

Cuenca, Ecuador – November 7, Extending the Reference Pipeline MAC RxQ MAC RxQ CPU RxQ CPU RxQ MAC RxQ MAC RxQ CPU RxQ CPU RxQ MAC RxQ MAC RxQ CPU RxQ CPU RxQ MAC RxQ MAC RxQ CPU RxQ CPU RxQ Input Arbiter Output Port Lookup MAC TxQ MAC TxQ CPU TxQ CPU TxQ MAC TxQ MAC TxQ CPU TxQ CPU TxQ MAC TxQ MAC TxQ CPU TxQ CPU TxQ MAC TxQ MAC TxQ CPU TxQ CPU TxQ Output Queues Rate Limiter Rate Limiter Event Capture

Cuenca, Ecuador – November 7, Topology PC & NetFPGA (NetFPGA in PC) NetFPGA running extended reference router nf2c2 eth1 nf2c1 eth2

Cuenca, Ecuador – November 7, Demo

Cuenca, Ecuador – November 7, Section V: Community Contributions

Cuenca, Ecuador – November 7, FPGA Memory 1GE Running the Router Kit User-space development, 4x1GE line-rate forwarding PCI CPU Memory OSPFBGP My Protocol user kernel Routing Table Usage #1 IPv4 Router 1GE Fwding Table Packet Buffer “Mirror”

Cuenca, Ecuador – November 7, FPGA Memory 1GE Enhancing Modular Reference Designs PCI CPU Memory Usage #2 NetFPGA Driver Java GUI Front Panel (Extensible) PW-OSPF 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

Cuenca, Ecuador – November 7, FPGA Memory 1GE Creating new systems PCI CPU Memory Usage #3 NetFPGA Driver 1GE My Design (1GE MAC is soft/replaceable) Verilog EDA Tools (Xilinx, Mentor, etc.) 1.Design 2.Simulate 3.Synthesize 4.Download 1.Design 2.Simulate 3.Synthesize 4.Download

Cuenca, Ecuador – November 7, Section VI: What to do next?

Cuenca, Ecuador – November 7, To get started with your project 1.Get familiar with hardware description language Support provided by Redgate Software

Cuenca, Ecuador – November 7, To get started with your project 2.Prepare for your project b)Complete a hands-on tutorial a)Learn NetFPGA by yourself

Cuenca, Ecuador – November 7, Learn by Yourself Users Guide NetFPGA website (

Cuenca, Ecuador – November 7, Learn by Yourself Developers Guide NetFPGA website ( Forums

Cuenca, Ecuador – November 7, Attend (or host) a hands-on tutorial Stanford Cambridge

Cuenca, Ecuador – November 7, Attend a hands-on tutorial Events NetFPGA website (

Cuenca, Ecuador – November 7, Section VII: Conclusion

Cuenca, Ecuador – November 7, Conclusions NetFPGA Provides –Open-source, hardware-accelerated Packet Processing –Modular interfaces arranged in reference pipeline –Extensible platform for packet processing NetFPGA Reference Code Provides –Large library of core packet processing functions –Scripts and GUIs for simulation and system operation –Set of Projects for download from repository The NetFPGA Base Code –Well defined functionality defined by regression tests –Function of the projects documented in the Wiki Guide

Cuenca, Ecuador – November 7, Nick McKeown, Glen Gibb, Jad Naous, David Erickson, G. Adam Covington, John W. Lockwood, Jianying Luo, Brandon Heller, Paul Hartke, Neda Beheshti, Sara Bolouki, James Zeng, Jonathan Ellithorpe, Sachidanandan Sambandan, Eric Lo Acknowledgments NetFPGA Team at Stanford University (Past and Present): NetFPGA Team at University of Cambridge (Past and Present): Andrew Moore, David Miller, Muhammad Shahbaz, Martin Zadnik All Community members (including but not limited to): Paul Rodman, Kumar Sanghvi, Wojciech A. Koszek, Yahsar Ganjali, Martin Labrecque, Jeff Shafer, Eric Keller, Tatsuya Yabe, Bilal Anwer, Yashar Ganjali, Martin Labrecque Kees Vissers, Michaela Blott, Shep Siegel

Cuenca, Ecuador – November 7, Special thanks to our Partners: Other NetFPGA Tutorial Presented At: SIGMETRICS Ram Subramanian, Patrick Lysaght, Veena Kumar, Paul Hartke, Anna Acevedo Xilinx University Program (XUP) See:

Cuenca, Ecuador – November 7, Thanks to our Sponsors: Support for the NetFPGA project has been provided by the following companies and institutions Disclaimer: Any opinions, findings, conclusions, or recommendations expressed in these materials do not necessarily reflect the views of the National Science Foundation or of any other sponsors supporting this project.

Cuenca, Ecuador – November 7, Tutorial Survey

Cuenca, Ecuador – November 7, Group Discussion Your plans for using the NetFPGA –Teaching –Research –Other Resources needed for your class –Source code –Courseware –Examples Your plans to contribute –Expertise –Capabilities –Collaboration Opportunities