Network Packet Generator - High Speed Digital Systems Lab

advertisement

Network Packet Generator

Characterization presentation

Supervisor: Mony Orbach

Presenting: Eugeney Ryzhyk, Igor Brevdo

1

Project goals

 Build network packet / traffic generator

(using ML310 board with Virtex-II Pro chip and Linux OS as a platform).

 Such generator can be used for various network testing purposes (connectivity, stress, etc.)

2

Project goals - detailed

 Allow generation of different traffic patterns

 Including well-known attacks, such as Syn attack, Smurf attack, ping-of-death, etc.

 Allow customization and fine-tuning of the various packet generation parameters at different network stack layers (Ethernet frame, IP packet,

TCP/UDP packet)

3

“Side effects”

 Learn Linux development in the embedded environment

 Gain deep knowledge of network protocols and network programming constrained by the limited resources of embedded system

4

System requirements

 Build configurable, extensible and efficient system

5

Architecture and high-level design –

Hardware

ML310

Virtex-II Pro

Virtex-II Pro

PPC405

Ethernet NIC

PCI bridge

6

Architecture and high-level design –

Software

Configuration / scripting / …

User mode

Linux kernel

Our packet generator

(kernel module)

TCP / IP stack

NIC driver

PPC

7

Generator kernel module

Requests from user mode

Generator module Request processor

Utility unit

Work queue

IP packet generator

Frame generator

NIC driver

TCP/IP Stack

8

Architecture and high-level design –

Software (optional)

Packet generator

User mode

Configuration / scripting / …

Remote configuration

Generator module,

Kernel, HW, …

PC

Configuration UI

9

Architecture and high-level design –

Hardware (optional)

User mode

Configuration / scripting / …

Packet generator kernel module

PPC

Packet gen. accelerator

(FPGA core)

10

Advantages of using Linux

 Implementing the main functionality in software allows us to build relatively complex system

 When using different Linux kernel services there’s no need to write everything from scratch

 Debugging is easier

11

Project schedule – semester 1

Weeks 5-7

Weeks 8-10

Study the system, install and run Linux

Write prototype kernel module

Weeks 11-14,

Exams (break),

Finish after the exams

Implement “IP packet generator” object

Be able to send configurable IP packets with specified rate

Set up basic testing environment

(done concurrently with other stages)

12

Project schedule – semester 2

Complete the system implementation as specified

(including user mode components)

Build the full testing environment and start intensive testing

Start implementing optional features (remote configuration)

Signing contract with Cisco

13

Download