Download presentation
Presentation is loading. Please wait.
Published byBarnaby Garrison Modified over 9 years ago
1
NAT Implementation for the NetFPGA Platform Omar Choudary and David Miller University of Cambridge Computer Laboratory
2
Outline Hardware o Design o TCAM memory: LPM and NAT o Performance Software o Functionality Advanced Feature: NAT o Hardware o Software NAT Demo o Case 1: client-server transfer crossing two nf-test machines o Case 2: ttcp performance test NAT implementation for the NetFPGA (Omar Choudary; David Miller) Slide 2
3
Advanced Feature.NAT NAT implementation for the netFPGA (Omar Choudary; David Miller)Slide 8
4
Hardware.Design NAT implementation for the netFPGA (Omar Choudary; David Miller)Slide 3
5
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
6
Hardware.Performance TTCP (Test TCP, sourcing data from Linux OS) o 976Mbps = 122 MB/s o Limited by the OS and NF2 framework Router_perf (sourcing data directly from the FPGA): o 2909 Mbps = 363MB/s for 64-byte packet size o 3751 Mbps = 469MB/s for 1500-byte packet size o Limited by the NF2 framework NAT implementation for the netFPGA (Omar Choudary; David Miller)Slide 6
7
Software.Functionality Process packets sent by the Hardware to the CPU o 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
8
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
9
NAT.DEMO NAT implementation for the netFPGA (Omar Choudary; David Miller)Slide 11
10
CASE 1: HTTP Transfer NAT implementation for the netFPGA (Omar Choudary; David Miller)Slide 12
11
CASE 2: TTCP Test NAT implementation for the netFPGA (Omar Choudary; David Miller)Slide 13
12
Questions NAT implementation for the netFPGA (Omar Choudary; David Miller)Slide 16
13
Problems Encountered NAT implementation for the netFPGA (Omar Choudary; David Miller)Slide 17 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
14
CASE 3: Open Internet NAT implementation for the netFPGA (Omar Choudary; David Miller)Slide 14
15
CASE 4: Speed Test NAT implementation for the netFPGA (Omar Choudary; David Miller)Slide 15
16
Hardware.CAMs NAT implementation for the netFPGA (Omar Choudary; David Miller)Slide 4
17
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.