nat implementation for the netfpga platform n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
NAT Implementation for the NetFPGA Platform PowerPoint Presentation
Download Presentation
NAT Implementation for the NetFPGA Platform

Loading in 2 Seconds...

play fullscreen
1 / 16

NAT Implementation for the NetFPGA Platform - PowerPoint PPT Presentation


  • 141 Views
  • Uploaded on

NAT Implementation for the NetFPGA Platform. Omar Choudary and David Miller University of Cambridge Computer Laboratory. Outline. Hardware Design TCAM memory: LPM and NAT Performance Software Functionality Advanced Feature: NAT Hardware Software NAT Demo

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'NAT Implementation for the NetFPGA Platform' - vea


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
nat implementation for the netfpga platform

NAT Implementation for the NetFPGA Platform

Omar Choudary and David Miller

University of Cambridge

Computer Laboratory

outline
Outline
  • Hardware
    • Design
    • TCAM memory: LPM and NAT
    • Performance
  • Software
    • Functionality
  • Advanced Feature: NAT
    • Hardware
    • Software
  • NAT Demo
    • Case 1: client-server transfer crossing two nf-test machines
    • Case 2: ttcp performance test

Slide 2

NAT implementation for the NetFPGA  (Omar Choudary; David Miller)

advanced feature nat
Advanced Feature.NAT

NAT implementation for the netFPGA  (Omar Choudary; David Miller)

Slide 8

hardware design
Hardware.Design

NAT implementation for the netFPGA  (Omar Choudary; David Miller)

Slide 3

nat hardware
NAT.Hardware
  • Tables to store NAT translations
  • 2 CAMs + 2 RAMs
  • 1 RAM for update counter (to solve TCP State issue)
  • Registers for software communication
  • Synchronisation with LPM and Routing functionality

NAT implementation for the netFPGA  (Omar Choudary; David Miller)

Slide 9

hardware performance
Hardware.Performance
  • TTCP (Test TCP, sourcing data from Linux OS)
    • 976Mbps = 122 MB/s 
    • Limited by the OS and NF2 framework
  • Router_perf (sourcing data directly from the FPGA): 
    • 2909 Mbps = 363MB/s for 64-byte packet size
    • 3751 Mbps = 469MB/s for 1500-byte packet size 
    • Limited by the NF2 framework

NAT implementation for the netFPGA  (Omar Choudary; David Miller)

Slide 6

software functionality
Software.Functionality
  • Process packets sent by the Hardware to the CPU
    • Send and receive ICMP and ARP packets
  • Implement and run the OSPF protocol
  • Insert and update entries into the hardware tables: IP filter, ARP, ROUTE, NAT|
  • Implement the CLI

NAT implementation for the netFPGA  (Omar Choudary; David Miller)

Slide 7

nat software
NAT.Software
  • Create entries in the NAT table when TCP/UDP packet arrives on INBOUND interfaces
  • Checks the hardware counter on each entry to delete unused entries
  • Handles incorrect UDP/TCP packets (possibly due to incorrect header checksum)
  • Implements DHCP server to automatically provide hosts connected to INBOUND interfaces with IP addresses

NAT implementation for the netFPGA  (Omar Choudary; David Miller)

Slide 10

nat demo
NAT.DEMO

NAT implementation for the netFPGA  (Omar Choudary; David Miller)

Slide 11

case 1 http transfer
CASE 1: HTTP Transfer

NAT implementation for the netFPGA  (Omar Choudary; David Miller)

Slide 12

case 2 ttcp test
CASE 2: TTCP Test

NAT implementation for the netFPGA  (Omar Choudary; David Miller)

Slide 13

questions
Questions

NAT implementation for the netFPGA  (Omar Choudary; David Miller)

Slide 16

problems encountered
Problems Encountered
  • NF2 framework limitations -> issues with out_rdy signal
  • Bad hardware design
  • Hidden hardware bugs; hard to debug using chipscope
  • NetFPGA ports are only Gigabit-capable; not possible to plug in a laptop Fast-Ethernet-only capable
  • Problems when dealing with slow devices; either web server or our software making problems

NAT implementation for the netFPGA  (Omar Choudary; David Miller)

Slide 17

case 3 open internet
CASE 3: Open Internet

NAT implementation for the netFPGA  (Omar Choudary; David Miller)

Slide 14

case 4 speed test
CASE 4: Speed Test

NAT implementation for the netFPGA  (Omar Choudary; David Miller)

Slide 15

hardware tcam
Hardware.TCAM
  • Fastest LPM hardware solution
  • Based on a Ternary CAM => Each bit in the CAM memory contains 3 states: 0, 1 and X (don't care)
  • My implementation uses 2 CAMs for each bit of the 32 composing an IP address => 64 Block RAMs

NAT implementation for the netFPGA  (Omar Choudary; David Miller)

Slide 5