150 likes | 168 Views
NetFPGA - an open network development platform. Presented by: Andrew W. Moore (University of Cambridge) andrew.moore@cl.cam.ac.uk MSN2008 http://NetFPGA.org (some slides courtesy John W. Lockwood). What is the NetFPGA?. PC with NetFPGA. 1GE. FPGA. 1GE. 1GE. Memory. 1GE.
E N D
NetFPGA - an open network development platform Presented by: Andrew W. Moore (University of Cambridge) andrew.moore@cl.cam.ac.uk MSN2008 http://NetFPGA.org (some slides courtesy John W. Lockwood)
What is the NetFPGA? PC with NetFPGA 1GE FPGA 1GE 1GE Memory 1GE NetFPGA Board NetworkingSoftware running on a standard PC CPU Memory PCI A hardware accelerator built with Field Programmable Gate Arraydriving Gigabit network links
Introduction Don’t think of this as an FPGA thing, just as programmable hardware. Who uses the NetFPGA Educators Students Researchers How they use the NetFPGA To run the Router Kit To build modular reference designs IPv4 router 4-port NIC Ethernet switch, … To create new networking systems
How is the NetFPGA Used?User-space development, 4x1GE line-rate forwarding OSPF BGP My Protocol user kernel Routing Table “Mirror” 1GE FPGA Fwding Table Packet Buffer 1GE 1GE 1GE 1GE IPv4 Router 1GE Memory 1GE 1GE Usage #1 CPU Memory PCI
How to use a NetFPGA in a Network? Internet Gateway Network Servers running email andweb services Network of NetFPGA Routers Gigabit Ethernet Links Clusters of PCs and Workstations accessing serversand running Peer-to-Peer applications
Building Modular Router Modules Verilog EDA Tools (Xilinx, Mentor, etc.) NetFPGA Driver • Design • Simulate • Synthesize • Download 1GE L3 Parse L2 Parse In Q Mgmt 1GE 1GE IP Lookup Out Q Mgmt 1GE Verilog modules interconnected by FIFO interfaces Usage #2 PW-OSPF CPU Memory Java GUI Front Panel (Extensible) PCI 1GE FPGA 1GE 1GE My Block Memory 1GE
Creating new systems Verilog EDA Tools (Xilinx, Mentor, etc.) • Design • Simulate • Synthesize • Download NetFPGA Driver 1GE My Design (1GE MAC is soft/replaceable) 1GE 1GE 1GE Usage #3 CPU Memory PCI 1GE FPGA 1GE 1GE Memory 1GE
Try the NetFPGA at a Tutorial http://netfpga.org/tutorials.html Next Tutorial : September 15-16, 2008 in Cambridge
NetFPGA in the Classroom • Stanford University • EE109 “Build an Ethernet Switch” • Undergraduate Course for all EE students • CS344 “Building an Internet Router” • http://cs344.stanford.edu • Rice University • Network Systems Architecture • http://comp519.cs.rice.edu • University of Cambridge (starting 2009/2010) • Masters Course “Building an Internet Router” • based largely on the cs344 model
CS344 Milestones Management & CLI Routing Protocols Exception Processing Routing Table Emulated h/w in VNS 1 2 3 4 5 6 Build basic router Command Line Interface Routing Protocol (PWOSPF) Integrate with H/W Interoperability Final Project Management & CLI Management & CLI • Innovate and add! • Presentations • Judges Routing Protocols Routing Protocols Exception Processing Exception Processing Routing Table Routing Table Emulated h/w in VNS Emulated h/w in VNS Management & CLI Routing Protocols Exception Processing software Routing Table hardware Forwarding Table Switching Learning Environment Modular design Testing Forwarding Table Switching 4-port non-learningswitch 4-port learningswitch IPv4 routerforwarding path Integrate with S/W Interoperability
The NetFPGA.org Community http://netfpga.org/
Conclusions • Reconfigurable Hardware Platforms • Enable implementation of wire-speed programmable network nodes • NetFPGA enables research and teaching at • Network Level • System level • Circuit level • NetFPGA available: • worldwide for research and teaching
NetFPGA Platform Major Components • Interfaces • 4 Gigabit Ethernet Ports • PCI Host Interface • Memories • 36Mbits Static RAM • 512Mbits DDR2 Dynamic RAM • FPGA Resources • Block RAMs • Configurable Logic Block (CLBs) • Memory Mapped Registers