NetFPGA Tutorial Tsinghua University Day 2
|
|
- Aubrey Donald Foster
- 6 years ago
- Views:
Transcription
1 NetFPGA Tutorial Tsinghua University Day 2 Presented by: James Hongyi Zeng (Stanford University) Joshua Lu (Xilinx China) Beijing, China May 15-16, NetFPGA Tsinghua Tutorial May S T A N F O R D U N I V E R S I T Y
2 Outline Tree Structure Develop a cryptography module Quick overview of XOR cryptography Implement crypto module Write software simulations Synthesize Write hardware tests NetFPGA Tsinghua Tutorial May S T A N F O R D U N I V E R S I T Y
3 Tree Structure NF2 bin (scripts for running simulations and setting up the environment) bitfiles (contains the bitfiles for all projects that have been synthesized) lib (stable common modules and common parts needed for simulation/synthesis/design) projects (user projects, including reference designs) NetFPGA Tsinghua Tutorial May S T A N F O R D U N I V E R S I T Y
4 Tree Structure (2) lib C java (common software and code for reference designs) Makefiles Perl5 python scripts verilog (contains software for the graphical user interface) (makefiles for simulation and synthesis) (common libraries to interact with reference designs and aid in simulation) (common libraries to aid in regression tests) (scripts for common functions) (modules and files that can be reused for design) NetFPGA Tsinghua Tutorial May S T A N F O R D U N I V E R S I T Y
5 Tree Structure (3) projects doc include regress src sw synth verif (project specific documentation) (contains file to include verilog modules from lib, and creates project specific register defines files) (regression tests used to test generated bitfiles) (contains non-library verilog code used for synthesis and simulation) (all software parts of the project) (contains user.xco files to generate cores and Makefile to implement the design) (simulation tests) NetFPGA Tsinghua Tutorial May S T A N F O R D U N I V E R S I T Y
6 Cryptography Simple cryptography XOR A B A ^ B NetFPGA Tsinghua Tutorial May S T A N F O R D U N I V E R S I T Y
7 Cryptography (cont.) Example: Message: Key: Message ^ Key: Message ^ Key ^ Key: Explanation: A ^ A = 0 So, M ^ K ^ K = M ^ 0 = M NetFPGA Tsinghua Tutorial May S T A N F O R D U N I V E R S I T Y
8 Implementing a Crypto Module (1) What do we want to encrypt? IP payload only Plaintext IP header allows routing Content is hidden Encrypt bytes 35 onward Bytes 1-14 Ethernet header Bytes IPv4 header (assume no options) Assume all packets are IPv4 for simplicity NetFPGA Tsinghua Tutorial May S T A N F O R D U N I V E R S I T Y
9 Implementing a Crypto Module (2) State machine (draw on next page): Module headers on each packet Datapath 64-bits wide 34 / 8 is not an integer! Inside the crypto module NetFPGA Tsinghua Tutorial May S T A N F O R D U N I V E R S I T Y
10 Crypto Module State Diagram Hint: We suggest 4 states (or 3 if you re feeling adventurous) Skip Module Headers NetFPGA Tsinghua Tutorial May S T A N F O R D U N I V E R S I T Y
11 State Diagram to Verilog (1) Module location MAC RxQ CPU RxQ MAC RxQ CPU RxQ MAC RxQ CPU RxQ MAC RxQ CPU RxQ 1. Crypto module to encrypt and decrypt packets Input Arbiter Output Port Lookup Crypto Output Queues MAC TxQ CPU TxQ MAC TxQ CPU TxQ MAC TxQ CPU TxQ MAC TxQ CPU TxQ NetFPGA Tsinghua Tutorial May S T A N F O R D U N I V E R S I T Y
12 Inter-module Communication data ctrl wr rdy NetFPGA Tsinghua Tutorial May S T A N F O R D U N I V E R S I T Y
13 State Diagram to Verilog (2) Projects: Each design represented by a project Format: NF2/projects/<proj_name> NF2/projects/crypto_nic Consists of: Missing: Verilog source Simulation tests Hardware tests Libraries Optional software State diagram implementation Simulation tests Regression tests NetFPGA Tsinghua Tutorial May S T A N F O R D U N I V E R S I T Y
14 State Diagram to Verilog (3) Projects (cont): Pull in modules from NF2/lib/verilog Generic modules that are re-used in multiple projects Specify shared modules in project s include/lib_modules.txt Local src modules override shared modules crypto_nic: Local user_data_path.v, crypto.v Everything else: shared modules NetFPGA Tsinghua Tutorial May S T A N F O R D U N I V E R S I T Y
15 Your task: State Diagram to Verilog (4) 1. Copy NF2/lib/verilog/module_template/src/module_template.v to NF2/projects/crypto_nic/src/crypto.v 2. Implement your state diagram in src/crypto.v Small fallthrough FIFO Generic register interface Registers to be used defined in include/crypto_defines.v NetFPGA Tsinghua Tutorial May S T A N F O R D U N I V E R S I T Y
16 Generic Registers Module generic_regs # (.UDP_REG_SRC_WIDTH (UDP_REG_SRC_WIDTH),.TAG (`CRYPTO_BLOCK_TAG),.REG_ADDR_WIDTH (`CRYPTO_REG_ADDR_WIDTH),.NUM_COUNTERS (0),.NUM_SOFTWARE_REGS (1),.NUM_HARDWARE_REGS (0)) crypto_regs (.reg_req_in (reg_req_in),.reg_src_out (reg_src_out),.software_regs (key),.hardware_regs (), NetFPGA Tsinghua Tutorial May S T A N F O R D U N I V E R S I T Y
17 First Break (While writing Verilog modules) NetFPGA Tsinghua Tutorial May S T A N F O R D U N I V E R S I T Y
18 Testing: Simulation (1) Simulation allows testing without requiring lengthy synthesis process NetFPGA provides Perl simulation infrastructure to: Send/receive packets Physical ports and CPU Read/write registers Verify results Simulations run in ModelSim/VCS NetFPGA Tsinghua Tutorial May S T A N F O R D U N I V E R S I T Y
19 Testing: Simulation (2) Simulations located in project/verif Multiple simulations per project Test different features Example: crypto_nic/verif/test_nic_short Send one packet from CPU, expect packet out physical port Send one packet in physical port, expect packet to CPU NetFPGA Tsinghua Tutorial May S T A N F O R D U N I V E R S I T Y
20 Testing: Simulation (3) Useful functions: nf_pci_read32(delay, batch, addr, expect) nf_pci_write32(delay, batch, addr, value) nf_packet_in(port, length, delay, batch, pkt) nf_expected_packet(port, length, pkt) nf_dma_data_in(length, delay, port, pkt) nf_expected_dma_data(port, length, pkt) make_ip_pkt(length, da, sa, ttl, dst_ip, src_ip) encrypt_pkt(key, pkt) decrypt_pkt(key, pkt) NetFPGA Tsinghua Tutorial May S T A N F O R D U N I V E R S I T Y
21 Testing: Simulation (4) Your task: 1. Template files NF2/projects/crypto_nic/verif/test_crypto_encrypt/make_pkts.pl NF2/projects/crypto_nic/verif/test_crypto_decrypt/make_pkts.pl 2. Implement your Perl verif tests Use the example verif test (test_nic_short) NetFPGA Tsinghua Tutorial May S T A N F O R D U N I V E R S I T Y
22 Running Simulations Use command nf21_run_test.pl Optional parameters --major <major_name> --minor <minor_name> --gui (starts the default viewing environment) test_crypto_encrypt major minor Set env. variables to reference your project NF2_DESIGN_DIR=/root/NF2/projects/<project> PERL5LIB=/root/NF2/projects/<project>/lib/Perl5: /root/nf2/lib/perl5: NetFPGA Tsinghua Tutorial May S T A N F O R D U N I V E R S I T Y
23 Running Simulations When running modelsim interactively: Click "no" when simulator prompts to finish Changes to code can be recompiled without quitting ModelSim: bash# cd /tmp/$(whoami)/verif/<projname>; make model_sim VSIM 5> restart -f; run -a Do ensure $NF2_DESIGN_DIR is correct NetFPGA Tsinghua Tutorial May S T A N F O R D U N I V E R S I T Y
24 Synthesis To synthesize your project Run make in the synth directory (NF2/projects/crypto_nic/synth) NetFPGA Tsinghua Tutorial May S T A N F O R D U N I V E R S I T Y
25 Second Break (while hardware compiles) NetFPGA Tsinghua Tutorial May S T A N F O R D U N I V E R S I T Y
26 Regression Tests Test hardware module Perl Infrastructure provided to Read/Write registers Read/Write tables Send Packets Check Counters NetFPGA Tsinghua Tutorial May S T A N F O R D U N I V E R S I T Y
27 Example Regression Tests Reference Router Send Packets from CPU Longest Prefix Matching Longest Prefix Matching Misses Packets dropped when queues overflow Receiving Packets with IP TTL <= 1 Receiving Packets with IP options or non IPv4 Packet Forwarding Dropping packets with bad IP Checksum NetFPGA Tsinghua Tutorial May S T A N F O R D U N I V E R S I T Y
28 Specify the Interfaces eth1, eth2, nf2c0 nf2c3 Perl Libraries Start packet capture on Interfaces Create Packets MAC header IP header PDU Read/Write Registers Read/Write Reference Router tables Longest Prefix Match ARP Destination IP Filter NetFPGA Tsinghua Tutorial May S T A N F O R D U N I V E R S I T Y
29 Regression Test Examples Reference Router Packet Forwarding regress/test_packet_forwarding Longest Prefix Match regress/test_lpm Send and Receive regress/test_send_rec NetFPGA Tsinghua Tutorial May S T A N F O R D U N I V E R S I T Y
30 Creating a Regression Test Useful functions: nftest_regwrite(interface, addr, value) nftest_regread(interface, addr) nftest_send(interface, frame) nftest_expect(interface, frame) encrypt_pkt(key, pkt) decrypt_pkt(key, pkt) $pkt = NF2::IP_pkt->new(len => $length, DA => $DA, SA => $SA, ttl => $TTL, dst_ip => $dst_ip, src_ip => $src_ip); NetFPGA Tsinghua Tutorial May S T A N F O R D U N I V E R S I T Y
31 Creating a Regression Test (2) Your task: 1. Template files NF2/projects/crypto_nic/regress/test_crypto_encrypt/run 2. Implement your Perl verif tests NetFPGA Tsinghua Tutorial May S T A N F O R D U N I V E R S I T Y
32 Running Regression Test Run the command nf2_regress_test.pl --project crypto_nic NetFPGA Tsinghua Tutorial May S T A N F O R D U N I V E R S I T Y
33 Third Break (while testing hardware) NetFPGA Tsinghua Tutorial May S T A N F O R D U N I V E R S I T Y
34 The New 2.0 Release Modular Registers Simplifies integration of multiple modules Many users control NetFPGAs from software Register set joined together at build time Project specifies registers in XML list Packet Buffering in DRAM Supports Deep buffering Single 64MByte queue in DDR2 memory Programmable Packet Encapsulation Packet-in-packet encapsulation Enables tunnels between OpenFlowSwitch nodes NetFPGA Tsinghua Tutorial May S T A N F O R D U N I V E R S I T Y
35 NetFPGA.org NetFPGA Tsinghua Tutorial May S T A N F O R D U N I V E R S I T Y
36 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 NetFPGA Tsinghua Tutorial May S T A N F O R D U N I V E R S I T Y
37 NetFPGA Designs Project (Title & Summary) Base Status Organization Docs. IPv4 Reference Router 2.0 Functional Stanford University Guide Quad-Port Gigabit NIC 2.0 Functional Stanford University Guide Ethernet Switch 2.0 Functional Stanford University Guide Hardware-Accelerated Linux Router 2.0 Functional Stanford University Guide Packet Generator 2.0 Functional Stanford University Wiki OpenFlow Switch 2.0 Functional Stanford University Wiki DRAM-Router 2.0 Functional Stanford University Wiki NetFlow Probe 1.2 Functional Brno University Wiki AirFPGA 2.0 Functional Stanford University Wiki Fast Reroute & Multipath Router 2.0 Functional Stanford University Wiki NetThreads Functional University of Toronto Wiki URL Extraction 2.0 Functional Univ. of New South Wales Wiki zfilter Sprouter (Pub/Sub) 1.2 Functional Ericsson Wiki Windows Driver 2.0 Functional Microsoft Research Wiki IP Lookup w/blooming Tree In Progress University of Pisa Wiki DFA 2.0 In Progress UMass Lowell Wiki G/PaX?.? In Progress Xilinx Wiki Precise Traffic Generator In Progress University of Toronto Wiki Open Network Lab 2.0 In Progress Washington University Wiki KOREN Testbed?.? In Progress Chungnam-Korea Wiki RED 2.0 In Progress Stanford University Wiki Virtual Data Plane 1.2 In Progress Georgia Tech Wiki Precise Time Protocol (PTP) 2.0 In Progress Stanford University Wiki Deficit Round Robin (DRR) 1.2 Repackage Stanford University Wiki.. And more on NetFPGA Tsinghua Tutorial May S T A N F O R D U N I V E R S I T Y
38 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 NetFPGA Tsinghua Tutorial May S T A N F O R D U N I V E R S I T Y
39 NetFPGA Developers Workshops You already know that the NetFPGA implements a Gigabit NIC, a hardware-accelerated Internet router, a traffic generator, an OpenFlow switch, a NetFlow probe and more. What else can it do? We invite you to contribute a NetFPGA project and present your work at a NetFPGA workshop NetFPGA Events: Locations: USA (Stanford, California) Europe (UK) Asia (Korea) Format Presentations Demonstrations Example What can you built with your NetFPGA? NetFPGA Tsinghua Tutorial May S T A N F O R D U N I V E R S I T Y
40 NetFPGA Design Contest The contest is split into two challenges. Teams can participate in either or both challenges. Design challenges will be posted on the start date of the contest. The design teams have 120 days to produce a working implementation employing any HW and SW design methodology and targeting the NetFPGA development platform. Dates Contest starts on Feb 9th 2010 Contest ends on June 1st Challenge 1: The Best Network Tester/Packet Capture system There are a small number of very expensive packet generator and capture systems on the market, used for testing networks and network equipment. The goal of this design is to provide a usable, powerful and open-source alternative for use by universities and organizations unable to afford such expensive equipment. Challenge 2: The Best Overall Network System Design The goal is to design and implement a novel design on the NetFPGA system. Use your imagination to devise a new use case for the NetFPGA. We are looking for solutions utilizing the NetFPGA cards that perform significant networking functionality. Rules and more Information NetFPGA Tsinghua Tutorial May S T A N F O R D U N I V E R S I T Y
41 Thoughts for Developers Build Modular components Describe shared registers (as per 2.0 release) Consider how modules would be used in larger systems Define functionality clearly Through regression tests With repeatable results Disseminate projects Post open-source code Document projects on Web, Wiki Expand the community of developers Answer questions in the Discussion Forum Collaborate with your peers to build new applications NetFPGA Tsinghua Tutorial May S T A N F O R D U N I V E R S I T Y
42 Visit NetFPGA Tsinghua Tutorial May S T A N F O R D U N I V E R S I T Y
43 Join the NetFPGA.org Community Log into the Wiki Access the Beta code Join the netfpga-beta mailing list Join the discussion forum NetFPGA Tsinghua Tutorial May S T A N F O R D U N I V E R S I T Y
44 Search for related work List your project on the Wiki Link your project homepage Contribute to the Project NetFPGA Tsinghua Tutorial May S T A N F O R D U N I V E R S I T Y
45 Survey How did you like this this tutorial? What did you find useful? What should be improved? What should be removed? What should be added? Can we post the video from this event? If not, please let us know. Complete On-line survey NetFPGA Tsinghua Tutorial May S T A N F O R D U N I V E R S I T Y
46 Acknowledgments NetFPGA Team at Stanford University (Past and Present): 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 NetFPGA Tsinghua Tutorial May S T A N F O R D U N I V E R S I T Y
47 Special thanks to: Patrick Lysaght, Veena Kumar, Paul Hartke, Anna Acevedo Xilinx University Program (XUP) Other NetFPGA Tutorials Presented At: SIGMETRICS See: NetFPGA Tsinghua Tutorial May S T A N F O R D U N I V E R S I T Y
48 Acknowledgments 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. NetFPGA Tsinghua Tutorial May S T A N F O R D U N I V E R S I T Y
Day 2: NetFPGA Cambridge Workshop Module Development and Testing
Day 2: NetFPGA Cambridge Workshop Module Development and Testing Presented by: Andrew W. Moore and David Miller (University of Cambridge) Martin Žádník (Brno University of Technology) Cambridge UK September
More informationNetFPGA Workshop Day 2
NetFPGA Workshop Day 2 Presented by: Glen Gibb (Stanford University) Hosted by: Gavin Buskes at Melbourne University September 15-16, 2010 http://netfpga.org Melbourne Tutorial November 4-5, 2010 1 Purpose
More informationNetFPGA Tutorial. Junho Suh Monday, May 13, 13
NetFPGA Tutorial Junho Suh (jhsuh@mmlab.snu.ac.kr) Content NetFPGA Basic IP Router A Basic IP Router on NetFPGA Exercises Prerequisites Logic Design (4190.201) Computer Network (4190.411) Computer language
More informationNetFPGA Update at GEC4
NetFPGA Update at GEC4 http://netfpga.org/ NSF GENI Engineering Conference 4 (GEC4) March 31, 2009 John W. Lockwood http://stanford.edu/~jwlockwd/ jwlockwd@stanford.edu NSF GEC4 1 March 2009 What is the
More informationExperience with the NetFPGA Program
Experience with the NetFPGA Program John W. Lockwood Algo-Logic Systems Algo-Logic.com With input from the Stanford University NetFPGA Group & Xilinx XUP Program Sunday, February 21, 2010 FPGA-2010 Pre-Conference
More informationWeb page: TAs: Hot-spare TAs: Dr Andrew W. Moore Chris Smowton (Software)
Some logistics uilding an Internet Router (P33) Web page: http://www.cl.cam.ac.uk/teaching/0910/p33/ TAs: Handout 1: What s a router? lass project and logistics avid Miller (Hardware) david.miller@cl.cam.ac.uk
More informationNetFPGA Workshop Day 1
NetFPGA Workshop Day 1 Presented by: Jad Naous (Stanford University) Andrew W. Moore (Cambridge University) Hosted by: Manolis Katevenis at FORTH, Crete September 15-16, 2010 http://netfpga.org Crete Tutorial
More informationMotivation to Teach Network Hardware
NetFPGA: An Open Platform for Gigabit-rate Network Switching and Routing John W. Lockwood, Nick McKeown Greg Watson, Glen Gibb, Paul Hartke, Jad Naous, Ramanan Raghuraman, and Jianying Luo JWLockwd@stanford.edu
More informationNetFPGA Hardware Architecture
NetFPGA Hardware Architecture Jeffrey Shafer Some slides adapted from Stanford NetFPGA tutorials NetFPGA http://netfpga.org 2 NetFPGA Components Virtex-II Pro 5 FPGA 53,136 logic cells 4,176 Kbit block
More informationCS344 - Build an Internet Router. Nick McKeown, Steve Ibanez (TF)
CS344 - Build an Internet Router Nick McKeown, Steve Ibanez (TF) Generic Packet Switch Data H Lookup Address Update Header Queue Packet Destination Address Egress link Forwarding Table Buffer Memory CS344,
More informationNetFPGA : An Open-Source Hardware Platform for Network Research and Teaching. Nick McKeown, John W. Lockwood, Jad Naous, Glen Gibb
NetFPGA : An Open-Source Hardware Platform for Network Research and Teaching Nick McKeown, John W. Lockwood, Jad Naous, Glen Gibb S T A N F O R D U N I V E R S I T Y http://netfpga.org SIGMETRICS Tutorial
More informationNetFPGA Summer Course
Summer Course Cambridge, UK, 2017 1 NetFPGA Summer Course Presented by: Andrew W Moore, Noa Zilberman, Gianni Antichi Stephen Ibanez, Marcin Wojcik, Jong Hun Han, Salvator Galea, Murali Ramanujam, Jingyun
More informationNetFPGA Summer Course
NetFPGA Summer Course Presented by: Andrew W Moore, Noa Zilberman, Gianni Antichi Stephen Ibanez, Marcin Wojcik, Jong Hun Han, Salvator Galea, Murali Ramanujam, Jingyun Zhang, Yuta Tokusashi University
More informationDesign principles in parser design
Design principles in parser design Glen Gibb Dept. of Electrical Engineering Advisor: Prof. Nick McKeown Header parsing? 2 Header parsing? Identify headers & extract fields A???? B???? C?? Field Field
More informationGetting started with Digilent NetFPGA SUME, a Xilinx Virtex 7 FPGA board for high performance computing and networking systems
Getting started with Digilent NetFPGA SUME, a Xilinx Virtex 7 FPGA board for high performance computing and networking systems Introduction The NetFPGA project is a group to develop open source hardware
More informationDE4 NetFPGA Reference Router User Guide
DE4 NetFPGA Reference Router User Guide Revision History Date Comment Author O8/11/2011 Initial draft Harikrishnan 08/15/2012 Revision 1 DMA APIs included Harikrishnan 08/23/2012 Revision 2 Directory Structure
More informationFundamental Questions to Answer About Computer Networking, Jan 2009 Prof. Ying-Dar Lin,
Fundamental Questions to Answer About Computer Networking, Jan 2009 Prof. Ying-Dar Lin, ydlin@cs.nctu.edu.tw Chapter 1: Introduction 1. How does Internet scale to billions of hosts? (Describe what structure
More informationA flexible router for on-fly dynamic packet management in NetFPGA platform
A flexible router for on-fly dynamic packet management in NetFPGA platform Alfio Lombardo, Carla Panarello, Diego Reforgiato, Enrico Santagati and Giovanni Schembra Department of Electrical, Electronic,
More informationOverview. Implementing Gigabit Routers with NetFPGA. Basic Architectural Components of an IP Router. Per-packet processing in an IP Router
Overview Implementing Gigabit Routers with NetFPGA Prof. Sasu Tarkoma The NetFPGA is a low-cost platform for teaching networking hardware and router design, and a tool for networking researchers. The NetFPGA
More informationNetwork Virtualization Based on Flows
TERENA NETWORKING CONFERENCE 2009 June 9, 2009 Network Virtualization Based on Flows Peter Sjödin Markus Hidell, Georgia Kontesidou, Kyriakos Zarifis KTH Royal Institute of Technology, Stockholm Outline
More informationPacketShader: A GPU-Accelerated Software Router
PacketShader: A GPU-Accelerated Software Router Sangjin Han In collaboration with: Keon Jang, KyoungSoo Park, Sue Moon Advanced Networking Lab, CS, KAIST Networked and Distributed Computing Systems Lab,
More informationL0 L1 L2 L3 T0 T1 T2 T3. Eth1-4. Eth1-4. Eth1-2 Eth1-2 Eth1-2 Eth Eth3-4 Eth3-4 Eth3-4 Eth3-4.
Click! N P 10.3.0.1 10.3.1.1 Eth33 Eth1-4 Eth1-4 C0 C1 Eth1-2 Eth1-2 Eth1-2 Eth1-2 10.2.0.1 10.2.1.1 10.2.2.1 10.2.3.1 Eth3-4 Eth3-4 Eth3-4 Eth3-4 L0 L1 L2 L3 Eth24-25 Eth1-24 Eth24-25 Eth24-25 Eth24-25
More informationNetFPGA Summer Course
Summer Course Cambridge, UK, 2017 1 NetFPGA Summer Course Presented by: Andrew W Moore, Noa Zilberman, Gianni Antichi Stephen Ibanez, Marcin Wojcik, Jong Hun Han, Salvator Galea, Murali Ramanujam, Jingyun
More informationNetFPGA Summer Course
NetFPGA Summer Course Presented by: Andrew W Moore, Noa Zilberman, Gianni Antichi Stephen Ibanez, Marcin Wojcik, Jong Hun Han, Salvator Galea, Murali Ramanujam, Jingyun Zhang, Yuta Tokusashi University
More informationT NetFPGA prototype of zfilter forwarding. Petri Jokela ericsson research, Nomadiclab
T-110.5110 NetFPGA prototype of zfilter forwarding Petri Jokela ericsson research, Nomadiclab 23.11.2009 CONTENT Information centric networking Reasoning, background Forwarding with In-packet Bloom Filters
More informationBuilding Networks with Open, Reconfigurable Hardware
Building Networks with Open, Reconfigurable Hardware 1 st Asia NetFPGA Developer s Workshop Monday, June 14, 2010 John W. Lockwood CEO & Lead Consultant, Algo-Logic Systems With input from: NetFPGA Group,Stanford
More informationImplementing an OpenFlow Switch With QoS Feature on the NetFPGA Platform
Implementing an OpenFlow Switch With QoS Feature on the NetFPGA Platform Yichen Wang Yichong Qin Long Gao Purdue University Calumet Purdue University Calumet Purdue University Calumet Hammond, IN 46323
More informationProgrammable Software Switches. Lecture 11, Computer Networks (198:552)
Programmable Software Switches Lecture 11, Computer Networks (198:552) Software-Defined Network (SDN) Centralized control plane Data plane Data plane Data plane Data plane Why software switching? Early
More informationDecision Forest: A Scalable Architecture for Flexible Flow Matching on FPGA
Decision Forest: A Scalable Architecture for Flexible Flow Matching on FPGA Weirong Jiang, Viktor K. Prasanna University of Southern California Norio Yamagaki NEC Corporation September 1, 2010 Outline
More informationNetwork Processors. Nevin Heintze Agere Systems
Network Processors Nevin Heintze Agere Systems Network Processors What are the packaging challenges for NPs? Caveat: I know very little about packaging. Network Processors What are the packaging challenges
More informationCSC 4900 Computer Networks: Network Layer
CSC 4900 Computer Networks: Network Layer Professor Henry Carter Fall 2017 Chapter 4: Network Layer 4. 1 Introduction 4.2 What s inside a router 4.3 IP: Internet Protocol Datagram format 4.4 Generalized
More informationNetFPGA Summer Course
NetFPGA Summer Course Presented by: Andrew W Moore, Noa Zilberman, Gianni Antichi Stephen Ibanez, Marcin Wojcik, Jong Hun Han, Salvator Galea, Murali Ramanujam, Jingyun Zhang, Yuta Tokusashi University
More informationNetFPGA : Workshop in Cambridge
NetFPGA : Workshop in Cambridge Presented by: Andrew W. Moore and David Miller (University of Cambridge) Martin Žádník (Brno University of Technology) Cambridge, UK September 5-6, 28 http://netfpga.org
More informationChapter 4: network layer. Network service model. Two key network-layer functions. Network layer. Input port functions. Router architecture overview
Chapter 4: chapter goals: understand principles behind services service models forwarding versus routing how a router works generalized forwarding instantiation, implementation in the Internet 4- Network
More informationProfessor Yashar Ganjali Department of Computer Science University of Toronto.
Professor Yashar Ganjali Department of Computer Science University of Toronto yganjali@cs.toronto.edu http://www.cs.toronto.edu/~yganjali Today Outline What this course is about Logistics Course structure,
More informationNetFPGA Summer Course
NetFPGA Summer Course Presented by: Noa Zilberman Yury Audzevich Technion August 2 August 6, 2015 http://netfpga.org Summer Course Technion, Haifa, IL 2015 1 Section I: General Overview Summer Course Technion,
More informationConnecting NetOpen Nodes for NetOpen Resource Aggregate
Proceedings of the Asia-Pacific Advanced Network 2012 v. 34, p. 11-16. http://dx.doi.org/10.7125/apan.34.2 ISSN 2227-3026 Connecting NetOpen Nodes for NetOpen Resource Aggregate Namgon Kim and JongWon
More informationInternet Technology. 15. Things we didn t get to talk about. Paul Krzyzanowski. Rutgers University. Spring Paul Krzyzanowski
Internet Technology 15. Things we didn t get to talk about Paul Krzyzanowski Rutgers University Spring 2016 May 6, 2016 352 2013-2016 Paul Krzyzanowski 1 Load Balancers Load Balancer External network NAT
More informationCSC 401 Data and Computer Communications Networks
CSC 401 Data and Computer Communications Networks Network Layer ICMP (5.6), Network Management(5.7) & SDN (5.1, 5.5, 4.4) Prof. Lina Battestilli Fall 2017 Outline 5.6 ICMP: The Internet Control Message
More informationRouting architecture and forwarding
DD2490 p4 2011 Routing architecture and forwarding & Intro to Homework 4 Olof Hagsand KTH /CSC 1 Connecting devices Connecting devices Networking devices Internetworking devices Hub/ Hub/ Repeater Bridge/
More informationCPRE 583 MP2: UDP packet processing (Due Fri: 10/1, Midnight)
CPRE 583 MP2: UDP packet processing (Due Fri: 10/1, Midnight) I. Download and file locations 1. Download MP2.tar.gz (zip) from: http://class.ee.iastate.edu/cpre583 2. Uncompress into your U: (home directory)
More informationOpen Network Laboratory
Open Network Laboratory Raj Jain Raj Jain Washington University in Saint Louis Saint Louis, MO 63130 Jain@wustl.edu Audio/Video recordings of this lecture are available on-line at: http://www.cse.wustl.edu/~jain/cse473-11/
More informationIPSec. Overview. Overview. Levente Buttyán
IPSec - brief overview - security associations (SAs) - Authentication Header (AH) protocol - Encapsulated Security Payload () protocol - combining SAs (examples) Overview Overview IPSec is an Internet
More informationComputer Networks LECTURE 10 ICMP, SNMP, Inside a Router, Link Layer Protocols. Assignments INTERNET CONTROL MESSAGE PROTOCOL
Computer Networks LECTURE 10 ICMP, SNMP, Inside a Router, Link Layer Protocols Sandhya Dwarkadas Department of Computer Science University of Rochester Assignments Lab 3: IP DUE Friday, October 7 th Assignment
More informationcs144 Midterm Review Fall 2010
cs144 Midterm Review Fall 2010 Administrivia Lab 3 in flight. Due: Thursday, Oct 28 Midterm is this Thursday, Oct 21 (during class) Remember Grading Policy: - Exam grade = max (final, (final + midterm)/2)
More informationP4 for an FPGA target
P4 for an FPGA target Gordon Brebner Xilinx Labs San José, USA P4 Workshop, Stanford University, 4 June 2015 What this talk is about FPGAs and packet processing languages Xilinx SDNet data plane builder
More informationEECS 122: Introduction to Computer Networks Switch and Router Architectures. Today s Lecture
EECS : Introduction to Computer Networks Switch and Router Architectures Computer Science Division Department of Electrical Engineering and Computer Sciences University of California, Berkeley Berkeley,
More informationCSE 123: Computer Networks
CSE 123: Computer Networks Homework 3 Out: 11/19 Due: 11/26 Instructions 1. Turn in a physical copy at the beginning of the class on 11/26 2. Ensure the HW cover page has the following information clearly
More informationCSC358 Week 6. Adapted from slides by J.F. Kurose and K. W. Ross. All material copyright J.F Kurose and K.W. Ross, All Rights Reserved
CSC358 Week 6 Adapted from slides by J.F. Kurose and K. W. Ross. All material copyright 1996-2016 J.F Kurose and K.W. Ross, All Rights Reserved Logistics Assignment 2 posted, due Feb 24, 10pm Next week
More informationGeneric Architecture. EECS 122: Introduction to Computer Networks Switch and Router Architectures. Shared Memory (1 st Generation) Today s Lecture
Generic Architecture EECS : Introduction to Computer Networks Switch and Router Architectures Computer Science Division Department of Electrical Engineering and Computer Sciences University of California,
More informationUsers Guide: Fast IP Lookup (FIPL) in the FPX
Users Guide: Fast IP Lookup (FIPL) in the FPX Gigabit Kits Workshop /22 FIPL System Design Each FIPL Engine performs a longest matching prefix lookup on a single 32-bit IPv4 destination address FIPL Engine
More informationCOMP211 Chapter 4 Network Layer: The Data Plane
COMP211 Chapter 4 Network Layer: The Data Plane All material copyright 1996-2016 J.F Kurose and K.W. Ross, All Rights Reserved Computer Networking: A Top Down Approach 7 th edition Jim Kurose, Keith Ross
More informationDa t e: August 2 0 th a t 9: :00 SOLUTIONS
Interne t working, Examina tion 2G1 3 0 5 Da t e: August 2 0 th 2 0 0 3 a t 9: 0 0 1 3:00 SOLUTIONS 1. General (5p) a) Place each of the following protocols in the correct TCP/IP layer (Application, Transport,
More informationOpen Network Laboratory
Open Network Laboratory TA: CSE 473S (Fall 2010) Introduction to Computer Networks These slides are available on-line at: http://www.cse.wustl.edu/~jain/cse473-10/ 1 Outline 1. Open Network Laboratory
More informationProgrammable Dataplane
Programmable Dataplane THE NEXT STEP IN SDN? S I M O N J O U E T S I M O N. J O U E T @ G L A S G O W. A C. U K H T T P : / / N E T L A B. D C S.G L A. A C. U K GTS TECH+FUTURES WORKSHOP - SIMON JOUET
More informationChapter 4 Network Layer: The Data Plane
Chapter 4 Network Layer: The Data Plane A note on the use of these Powerpoint slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you see
More informationINTERNET PROTOCOL SECURITY (IPSEC) GUIDE.
INTERNET PROTOCOL SECURITY (IPSEC) GUIDE www.insidesecure.com INTRODUCING IPSEC NETWORK LAYER PACKET SECURITY With the explosive growth of the Internet, more and more enterprises are looking towards building
More informationP51 - Lab 1, Introduction to NetFPGA
P51 - Lab 1, Introduction to NetFPGA Dr Noa Zilberman Lent, 2017/18 The goal of this lab is to introduce you to NetFPGA, and to provide hands on experience both in using the platform and developing for
More informationManaging and Securing Computer Networks. Guy Leduc. Chapter 2: Software-Defined Networks (SDN) Chapter 2. Chapter goals:
Managing and Securing Computer Networks Guy Leduc Chapter 2: Software-Defined Networks (SDN) Mainly based on: Computer Networks and Internets, 6 th Edition Douglas E. Comer Pearson Education, 2015 (Chapter
More informationNetwork Processors and their memory
Network Processors and their memory Network Processor Workshop, Madrid 2004 Nick McKeown Departments of Electrical Engineering and Computer Science, Stanford University nickm@stanford.edu http://www.stanford.edu/~nickm
More informationChapter 4 Network Layer: The Data Plane
Chapter 4 Network Layer: The Data Plane Lu Su Assistant Professor Department of Computer Science and Engineering State University of New York at Buffalo Adapted from the slides of the book s authors Computer
More informationChapter 4 Network Layer: The Data Plane. Part A. Computer Networking: A Top Down Approach
Chapter 4 Network Layer: The Data Plane Part A All material copyright 996-06 J.F Kurose and K.W. Ross, All Rights Reserved Computer Networking: A Top Down Approach 7 th Edition, Global Edition Jim Kurose,
More informationFreeBSD support for Stanford NetFPGA. Wojciech A. Koszek
FreeBSD support for Stanford NetFPGA Wojciech A. Koszek wkoszek@freebsd.org 2009.09.17 Work was done as a part of the internship at: Helsinki Institute of Information Technology Ericsson
More informationLecture 3: Packet Forwarding
Lecture 3: Packet Forwarding CSE 222A: Computer Communication Networks Alex C. Snoeren Thanks: Nick Feamster & Mike Freedman Lecture 3 Overview Cerf & Kahn discussion The evolution of packet forwarding
More informationvswitch Acceleration with Hardware Offloading CHEN ZHIHUI JUNE 2018
x vswitch Acceleration with Hardware Offloading CHEN ZHIHUI JUNE 2018 Current Network Solution for Virtualization Control Plane Control Plane virtio virtio user space PF VF2 user space TAP1 SW Datapath
More informationECPE / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition
ECPE / COMP 177 Fall 2016 Some slides from Kurose and Ross, Computer Networking, 5 th Edition Course Organization Top-Down! Starting with Applications / App programming Then Transport Layer (TCP/UDP) Then
More informationCSC 4900 Computer Networks: Security Protocols (2)
CSC 4900 Computer Networks: Security Protocols (2) Professor Henry Carter Fall 2017 Chapter 8 roadmap 8.1 What is network security? 8.2 Principles of cryptography 8.3 Message Integrity 8.4 End point Authentication
More informationTopic 4a Router Operation and Scheduling. Ch4: Network Layer: The Data Plane. Computer Networking: A Top Down Approach
Topic 4a Router Operation and Scheduling Ch4: Network Layer: The Data Plane Computer Networking: A Top Down Approach 7 th edition Jim Kurose, Keith Ross Pearson/Addison Wesley April 2016 4-1 Chapter 4:
More informationChapter 4. Routers with Tiny Buffers: Experiments. 4.1 Testbed experiments Setup
Chapter 4 Routers with Tiny Buffers: Experiments This chapter describes two sets of experiments with tiny buffers in networks: one in a testbed and the other in a real network over the Internet2 1 backbone.
More informationEE122 Spring 2001 Final
EE122 Spring 2001 Final 1: True or False [20%] 1. Light in a fiber travels faster than signals in copper. 2. Block coding can achieve a higher compression than Huffman codes. 3. Layer 2 switching cannot
More informationGPGPU introduction and network applications. PacketShaders, SSLShader
GPGPU introduction and network applications PacketShaders, SSLShader Agenda GPGPU Introduction Computer graphics background GPGPUs past, present and future PacketShader A GPU-Accelerated Software Router
More informationComputer Science 461 Final Exam May 22, :30-3:30pm
NAME: Login name: Computer Science 461 Final Exam May 22, 2012 1:30-3:30pm This test has seven (7) questions, each worth ten points. Put your name on every page, and write out and sign the Honor Code pledge
More informationObjectives: (1) To learn to capture and analyze packets using wireshark. (2) To learn how protocols and layering are represented in packets.
Team Project 1 Due: Beijing 00:01, Friday Nov 7 Language: English Turn-in (via email) a.pdf file. Objectives: (1) To learn to capture and analyze packets using wireshark. (2) To learn how protocols and
More informationData Link Layer. Our goals: understand principles behind data link layer services: instantiation and implementation of various link layer technologies
Data Link Layer Our goals: understand principles behind data link layer services: link layer addressing instantiation and implementation of various link layer technologies 1 Outline Introduction and services
More informationConfiguring IP Unicast Layer 3 Switching on Supervisor Engine 1
CHAPTER 19 Configuring IP Unicast Layer 3 Switching on Supervisor Engine 1 The features described in this chapter are supported only on Supervisor Engine 1, the policy feature card (PFC), and the Multilayer
More informationLecture 2: Basic routing, ARP, and basic IP
Internetworking Lecture 2: Basic routing, ARP, and basic IP Literature: Forouzan, TCP/IP Protocol Suite: Ch 6-8 Basic Routing Delivery, Forwarding, and Routing of IP packets Connection-oriented vs Connectionless
More informationSoftware Defined Networking
Software Defined Networking Daniel Zappala CS 460 Computer Networking Brigham Young University Proliferation of Middleboxes 2/16 a router that manipulatees traffic rather than just forwarding it NAT rewrite
More informationHigh-Speed Network Processors. EZchip Presentation - 1
High-Speed Network Processors EZchip Presentation - 1 NP-1c Interfaces Switch Fabric 10GE / N x1ge or Switch Fabric or Lookup Tables Counters SDRAM/FCRAM 64 x166/175mhz SRAM DDR NBT CSIX c XGMII HiGig
More informationThe Open Network Lab
The Open Network Lab Ken Wong Applied Research Laboratory Computer Science and Engineering Department http://www.arl.wustl.edu/~kenw kenw@arl.wustl.edu http://www.onl.wustl.edu (ONL) National Science Foundation
More informationNetworks Fall This exam consists of 10 problems on the following 13 pages.
CSCI 466 Final Networks Fall 2011 Name: This exam consists of 10 problems on the following 13 pages. You may use your two- sided hand- written 8 ½ x 11 note sheet during the exam and a calculator. No other
More informationSwitchBlade: A Platform for Rapid Deployment of Network Protocols on Programmable Hardware
SwitchBlade: A Platform for Rapid Deployment of Network Protocols on Programmable Hardware Muhammad Bilal Anwer, Murtaza Motiwala, Mukarram bin Tariq, Nick Feamster School of Computer Science, Georgia
More informationLab - Using Wireshark to Examine a UDP DNS Capture
Topology Objectives Part 1: Record a PC s IP Configuration Information Part 2: Use Wireshark to Capture DNS Queries and Responses Part 3: Analyze Captured DNS or UDP Packets Background / Scenario If you
More informationExperimental Evaluation of Passive Optical Network Based Data Centre Architecture
Experimental Evaluation of Passive Optical Network Based Data Centre Architecture Azza E. A. Eltraify, Mohamed O. I. Musa, Ahmed Al-Quzweeni and Jaafar M.H. Elmirghani School of Electronic and Electrical
More informationLecture 16: Router Design
Lecture 16: Router Design CSE 123: Computer Networks Alex C. Snoeren Eample courtesy Mike Freedman Lecture 16 Overview End-to-end lookup and forwarding example Router internals Buffering Scheduling 2 Example:
More informationThe IP Data Plane: Packets and Routers
The IP Data Plane: Packets and Routers EE 122, Fall 2013 Sylvia Ratnasamy http://inst.eecs.berkeley.edu/~ee122/ Material thanks to Ion Stoica, Scott Shenker, Jennifer Rexford, Nick McKeown, and many other
More informationLab - Using Wireshark to Examine a UDP DNS Capture
Topology Objectives Part 1: Record a PC s IP Configuration Information Part 2: Use Wireshark to Capture DNS Queries and Responses Part 3: Analyze Captured DNS or UDP Packets Background / Scenario If you
More informationCSE 461 Midterm Winter 2018
CSE 461 Midterm Winter 2018 Your Name: UW Net ID: General Information This is a closed book/laptop examination. You have 50 minutes to answer as many questions as possible. The number in parentheses at
More informationLecture 3. The Network Layer (cont d) Network Layer 1-1
Lecture 3 The Network Layer (cont d) Network Layer 1-1 Agenda The Network Layer (cont d) What is inside a router? Internet Protocol (IP) IPv4 fragmentation and addressing IP Address Classes and Subnets
More informationDGS-1510 Series Gigabit Ethernet SmartPro Switch Web UI Reference Guide. Figure 9-1 Port Security Global Settings window
9. Security DGS-1510 Series Gigabit Ethernet SmartPro Switch Web UI Reference Guide Port Security 802.1X AAA RADIUS TACACS IMPB DHCP Server Screening ARP Spoofing Prevention MAC Authentication Web-based
More informationLecture 16: Network Layer Overview, Internet Protocol
Lecture 16: Network Layer Overview, Internet Protocol COMP 332, Spring 2018 Victoria Manfredi Acknowledgements: materials adapted from Computer Networking: A Top Down Approach 7 th edition: 1996-2016,
More informationParallelizing IPsec: switching SMP to On is not even half the way
Parallelizing IPsec: switching SMP to On is not even half the way Steffen Klassert secunet Security Networks AG Dresden June 11 2010 Table of contents Some basics about IPsec About the IPsec performance
More informationP51: High Performance Networking
P51: High Performance Networking Lecture 6: Programmable network devices Dr Noa Zilberman noa.zilberman@cl.cam.ac.uk Lent 2017/18 High Throughput Interfaces Performance Limitations So far we discussed
More informationLesson 9 OpenFlow. Objectives :
1 Lesson 9 Objectives : is new technology developed in 2004 which introduce Flow for D-plane. The Flow can be defined any combinations of Source/Destination MAC, VLAN Tag, IP address or port number etc.
More informationChapter 4 Network Layer: The Data Plane
Chapter 4 Network Layer: The Data Plane Chapter 4: outline 4.1 Overview of Network layer data plane control plane 4.2 What s inside a router 4.3 IP: Internet Protocol datagram format fragmentation IPv4
More informationLecture 3: Packet Forwarding
Lecture 3: Packet Forwarding CSE 222A: Computer Communication Networks Alex C. Snoeren Thanks: Mike Freedman & Amin Vahdat Lecture 3 Overview Paper reviews Packet Forwarding IP Addressing Subnetting/CIDR
More informationWhere we are in the Course
Network Layer Where we are in the Course Moving on up to the Network Layer! Application Transport Network Link Physical CSE 461 University of Washington 2 Network Layer How to connect different link layer
More informationNetwork Myths and Mysteries. Radia Perlman Intel Labs
Network Myths and Mysteries Radia Perlman Intel Labs radia.perlman@intel.com radia@alum.mit.edu 1 All opinions expressed herein Are mine alone 2 All opinions expressed herein Are mine alone hough I m sure
More informationFlow-Based per Port-Channel Load Balancing
The feature allows different flows of traffic over a Gigabit EtherChannel (GEC) interface to be identified based on the packet header and then mapped to the different member links of the port channel.
More informationContents. Configuring GRE 1
Contents Configuring GRE 1 Overview 1 GRE encapsulation format 1 GRE tunnel operating principle 1 GRE security mechanisms 2 GRE application scenarios 2 Protocols and standards 4 Configuring a GRE/IPv4
More informationSoftware Datapath Acceleration for Stateless Packet Processing
June 22, 2010 Software Datapath Acceleration for Stateless Packet Processing FTF-NET-F0817 Ravi Malhotra Software Architect Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions
More information