18
Layered Protocol Wrappers 1 Florian Braun, John Lockwood, Marcel Waldvogel [email protected] Assistant Professor Washington University Department of Computer Science Applied Research Lab 1 Brookings Drive Saint Louis, MO 63130 http://www.arl.wustl.edu/arl/projects/fpx/ http://www.hoti.org/ Supported by: NSF ANI-0096052 and Xilinx Corp. Layered Protocol Wrappers for Internet Packet Processing in Reconfigurable Hardware Layered Protocol Wrappers 2 Outline Hardware-Accelerated Packet Processing Field Programmable Port Extender (FPX) Layered Internet Protocol Wrappers Library of Synthesizable components Application Example Simple, Line-speed Encryption module in wrapper Implementation Results Post-synthesis chip utilization, thoughput, latency Conclusions

Layered Protocol Wrappers for Internet Packet Processing ... fileLayered Protocol Wrappers 3 Hardware-Accelerated Packet Processing ... Configuration of FPX in Internet Router •

  • Upload
    lehuong

  • View
    227

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Layered Protocol Wrappers for Internet Packet Processing ... fileLayered Protocol Wrappers 3 Hardware-Accelerated Packet Processing ... Configuration of FPX in Internet Router •

Layered Protocol Wrappers 1

Florian Braun, John Lockwood, Marcel Waldvogel

[email protected] Professor

Washington UniversityDepartment of Computer Science

Applied Research Lab1 Brookings Drive

Saint Louis, MO 63130

http://www.arl.wustl.edu/arl/projects/fpx/http://www.hoti.org/

Supported by: NSF ANI-0096052 and Xilinx Corp.

Layered Protocol Wrappers for Internet Packet Processing in

Reconfigurable Hardware

Layered Protocol Wrappers 2

Outline

• Hardware-Accelerated Packet Processing• Field Programmable Port Extender (FPX)

• Layered Internet Protocol Wrappers• Library of Synthesizable components

• Application Example • Simple, Line-speed Encryption module in wrapper

• Implementation Results• Post-synthesis chip utilization, thoughput, latency

• Conclusions

Page 2: Layered Protocol Wrappers for Internet Packet Processing ... fileLayered Protocol Wrappers 3 Hardware-Accelerated Packet Processing ... Configuration of FPX in Internet Router •

Layered Protocol Wrappers 3

Hardware-Accelerated Packet Processing

Layered Protocol Wrappers 4

Configuration of FPX Packet Processor

• Packet processing hardware performs:– Packet classification– Packet forwarding– Address Translation– Data modification– Packet buffering– Active Networking (Application-level data processing)

FPX

ExtenderPort

programmableField- Card

LineCardLine

NetworkPackets

NetworkPackets

Page 3: Layered Protocol Wrappers for Internet Packet Processing ... fileLayered Protocol Wrappers 3 Hardware-Accelerated Packet Processing ... Configuration of FPX in Internet Router •

Layered Protocol Wrappers 5

Configuration of FPX in Internet Router

• Additionally, Router interface performs:– Internet route lookup– Traffic policing and shaping

IPP

IPP OPP

OPP

SwitchFabric

Gigabit

IPP

IPP

OPP

OPP

FPX

ExtenderPort

programmableField-Card

Line

NetworkPackets

FPX

ExtenderPort

programmableField-Card

Line

NetworkPackets

Layered Protocol Wrappers 6

WUGS and FPX

Page 4: Layered Protocol Wrappers for Internet Packet Processing ... fileLayered Protocol Wrappers 3 Hardware-Accelerated Packet Processing ... Configuration of FPX in Internet Router •

Layered Protocol Wrappers 7

Field programmable Port EXtender (FPX)

• FPX fits between switch and line-card

• FPGA Hardware for user-defined applications

• Run-Time Reconfigurable

Layered Protocol Wrappers 8

Architecture of the FPX

• ReprogrammableApplication Device (RAD)– Circuit on XCV1000E FPGA– External SRAM and SDRAM– Holds 2+ user-defined

Modules– Reprogrammable over

network

• Network Interface Device (NID)– XCV600E FPGA– Controls FPX– Forwards traffic flows to

RAD modules– Programs RAD

SRAM

EC

Mod

ule

EC

NID

Switch LineCard

Mod

ule

RAD

VC VC

VCVC

RAD

Program

SDRAM SDRAM

Data Data

SRAM

Data

SRAM

Data

Page 5: Layered Protocol Wrappers for Internet Packet Processing ... fileLayered Protocol Wrappers 3 Hardware-Accelerated Packet Processing ... Configuration of FPX in Internet Router •

Layered Protocol Wrappers 9

Network Module Hardware Interface

SRAM_D_OUT[35:0]SRAM_ADDR[17:0]SRAM_WR_RD

SRAM_REQSRAM_GR

SRAM_D_IN[35:0] SRAMInterface

FPXNetworkModule

READY_L

CLKRESET_L

ENABLE_L

ModuleInterface

SDRAM_RQ

SDRAM_BL[4:0]SDRAM_ADDR[26:0]SDRAM_WR_RD

SDRAM_GRSDRAM_DATA[63:0] SDRAM

Interface

SDRAM_EN

SDRAM_OP_FIN

TCA_MOD_OUT

D_MOD_IN[31:0]SOC_MOD_IN

D_MOD_OUT[31:0]SOC_MOD_OUT

TCA_MOD_IN

DataInterface

fpx_module.vhd

Layered Protocol Wrappers 10

Layered Internet Protocol Wrappers

Page 6: Layered Protocol Wrappers for Internet Packet Processing ... fileLayered Protocol Wrappers 3 Hardware-Accelerated Packet Processing ... Configuration of FPX in Internet Router •

Layered Protocol Wrappers 11

The Layered Protocol Wrapper Library

– Circuits that streamline functions to process cells, frames, IP packets, and UDP datagrams in reprogrammable hardware

– A layered design that consists of different processing circuit in each layer

– Allows application to be implemented at a level where important details are exposed and irrelevant details are hidden

Layered Protocol Wrappers 12

Basic Concept of the Protocol Wrappers

Application

Wrapper

Wrapper

Page 7: Layered Protocol Wrappers for Internet Packet Processing ... fileLayered Protocol Wrappers 3 Hardware-Accelerated Packet Processing ... Configuration of FPX in Internet Router •

Layered Protocol Wrappers 13

Layered Protocol Wrappers

UDP Processor

IP Processor

Cell Processor

Frame Processor

Data Output

Data Input

Application-levelHardware Module

Interfaces to Off-Chip Memories

Layered Protocol Wrappers 14

The Cell Processor

• Cell Functions • Drops cells with bad cell headers• Recomputes cell header for outgoing cells

• Flow Functions• Bypasses cells for different flows

• Implements Control-Plane Interface• Handles control cells• Write control / read status

Page 8: Layered Protocol Wrappers for Internet Packet Processing ... fileLayered Protocol Wrappers 3 Hardware-Accelerated Packet Processing ... Configuration of FPX in Internet Router •

Layered Protocol Wrappers 15

The Cell Processor (Detail)

• Data Flow inside the Cell Processor

Cells

Control

DispatchCheck

HEC

HEC

Set

App or Frame

Processor

Layered Protocol Wrappers 16

The Frame Processor

• Segmentation and Reassembly– Reassembles cells into frames– Segments frames into cells

• Frame Functions– Detects frame boundaries– Checks & Generates AAL5 CRC

Page 9: Layered Protocol Wrappers for Internet Packet Processing ... fileLayered Protocol Wrappers 3 Hardware-Accelerated Packet Processing ... Configuration of FPX in Internet Router •

Layered Protocol Wrappers 17

The Frame Processor (Detail)

• Data Flow inside the Frame Processor

Frame

Detection

Cell

AAL5CRC AAL5CRCation

SegmentApp or IP Processor

Layered Protocol Wrappers 18

The IP Processor

• IP Version• Verifies IP version

• Header Checksum• Drops packet if the Header Checksum fails• Decrements TTL field (Optional)

• Provides• Signal start of payload (SOP)• Header Checksum Recomputation

Page 10: Layered Protocol Wrappers for Internet Packet Processing ... fileLayered Protocol Wrappers 3 Hardware-Accelerated Packet Processing ... Configuration of FPX in Internet Router •

Layered Protocol Wrappers 19

The IP Processor (More)

• Data Flow inside the IP Processor

IP Detect

TTLDec Checksum+Checksum

App or UDP Processor

Layered Protocol Wrappers 20

User Datagram Protocol (UDP) Processor

• Checks Protocol• Expects protocol ID (17)

• Provides Application-level signals• Start Of Datagram (SOD)

• Checksums• Checks UDP checksum• Generates UDP checksum

Page 11: Layered Protocol Wrappers for Internet Packet Processing ... fileLayered Protocol Wrappers 3 Hardware-Accelerated Packet Processing ... Configuration of FPX in Internet Router •

Layered Protocol Wrappers 21

The UDP Processor (More)

• Data Flow inside the UDP Processor

UDP

Detect Checksum

SetApp or UDP Processor

Layered Protocol Wrappers 22

Wrappers Example: An UDP Application

UDP Processor

UDPApplication

IP Processor

Cell Processor

Frame Processor

OutputInput

UDP Wrapper

Page 12: Layered Protocol Wrappers for Internet Packet Processing ... fileLayered Protocol Wrappers 3 Hardware-Accelerated Packet Processing ... Configuration of FPX in Internet Router •

Layered Protocol Wrappers 23

Application Example

Data Encryption

Layered Protocol Wrappers 24

The Layered Protocol Application Example

• Network data encryption / decryption using ROT13 algorithm– Rotates characters by 13 places

• ‘A’ ⇔ ‘N’, ‘M’ ⇔ ‘Z’, ‘a’ ⇔ ‘n’, ‘m’ ⇔ ‘z’

– Encryption Example:• ‘Hello World’ encrypts to ‘Uryyb Jbeyq’

– Decryption Example:• ‘Uryyb Jbeyq’ decrypts to ‘Hello World’

Page 13: Layered Protocol Wrappers for Internet Packet Processing ... fileLayered Protocol Wrappers 3 Hardware-Accelerated Packet Processing ... Configuration of FPX in Internet Router •

Layered Protocol Wrappers 25

The Rot13 Encryption Module

PROTOCOL WRAPPERS

ENABLE_L READY_L

SOC_MOD_IN

TCA_MOD_IN

SOC_OUT_MOD

TCA_OUT_MOD

D_OUT_MODD_MOD_IN

CLKRESET_L

UD

PE

cho

Ent

ity

ROT13Entity

ROT13Entity

ROT13Entity

ROT13Entity

Layered Protocol Wrappers 26

Simulating the ROT13 Module (More)

• The input data coming into the module

SOF indicates the start of an ATM CellSOF indicates the start of an ATM CellSOD indicates the start of an UDP DatagramSOD indicates the start of an UDP DatagramDataEn indicates the data is validDataEn indicates the data is validEOF indicates the end of an ATM CellEOF indicates the end of an ATM CellThe last two valid words are the ATM TrailerThe last two valid words are the ATM Trailer

Page 14: Layered Protocol Wrappers for Internet Packet Processing ... fileLayered Protocol Wrappers 3 Hardware-Accelerated Packet Processing ... Configuration of FPX in Internet Router •

Layered Protocol Wrappers 27

Simulating the ROT13 Module (More)

• The output data going out of the module

The UDPPayload has been encrypted / decryptedThe UDPPayload has been encrypted / decrypted

Layered Protocol Wrappers 28

Implementation Results

Page 15: Layered Protocol Wrappers for Internet Packet Processing ... fileLayered Protocol Wrappers 3 Hardware-Accelerated Packet Processing ... Configuration of FPX in Internet Router •

Layered Protocol Wrappers 29

Synthesizing the ROT13 Module (More)

Files that are included in the project

Files that are included in the project

Layered Protocol Wrappers 30

Performance Results

• Short UDP datagram – one cell• Long UDP datagram with 512 bytes payload

Wrapper

Input Delay

Throughput

Output Delay

Page 16: Layered Protocol Wrappers for Internet Packet Processing ... fileLayered Protocol Wrappers 3 Hardware-Accelerated Packet Processing ... Configuration of FPX in Internet Router •

Layered Protocol Wrappers 31

Synthesis Results (Chip Area & Data Rate)

• Wrappers Syntheized, Routed, and Placed onXilinx XCV1000E-7 FPGA

114 (2.9 Gbps)550 (2%)UDP Processor

109 (2.9 Gbps)1009 (4%)IP Processor

116 (3.0 Gbps)1251 (5%)Frame Processor

125 (3.2 Gbps)781 (3%)Cell Processor

Clock / Data RateSpace/LUTs

Layered Protocol Wrappers 32

Results (Clock Cycle Delays)

InputOutputInput

202*2744*39UDP Processor

197*2439*36IP Processor

31102221Frame Processor

6464Cell Processor

Delay for long packagesDelay for short packages

Output

* Delay dependant of frame length

Page 17: Layered Protocol Wrappers for Internet Packet Processing ... fileLayered Protocol Wrappers 3 Hardware-Accelerated Packet Processing ... Configuration of FPX in Internet Router •

Layered Protocol Wrappers 33

Conclusions

• Layered Protocol Wrappers – Simplify Development of Internet Apps in Reprogrammable Hardware

• Circuits in library process: cells, frames, IP packets, & UDP datagrams• Application implemented at level where important details are exposed

and irrelevant details are hidden

– Low Chip Utilization• 14% of XCV1000E

– High Performance• Throughput: 2.9 Gbps for OC48+ in hardware• Delay: 0.5 sec to process UDP/IP datagram

– Performance scales with FPGA Technology• Potentially OC-192 (10 Gbps or better) in ASICs or newer FPGAs• Potentially OC-768 (40 Gbps or better) with parallel data

– Synthesizable cores available for download• http://www.arl.wustl.edu/arl/projects/fpx/

Layered Protocol Wrappers 34

On-Line References

• FPX Homepage• http://www.arl.wustl.edu/arl/projects/fpx/

• Protocol Wrappers Package– Project Page

• ./fpx/wrappers

– Downloadable TAR File• ./fpx/wrappers/-wrappers.tar.gz

– Technical Report• ./fpx/wrappers/-wucs-01-10.pdf

Page 18: Layered Protocol Wrappers for Internet Packet Processing ... fileLayered Protocol Wrappers 3 Hardware-Accelerated Packet Processing ... Configuration of FPX in Internet Router •

Layered Protocol Wrappers 35

Acknowledgements

The authors would like to thankHenry Fu ([email protected])

• First student to use the wrappers • Developed KCPSM and Rot13 Application Modules• Just finished as student at Washington University• Starting at Stanford University in Fall’01