Software Frame Simulator (SFS)

26
-1- -1- Software Frame Simulator (SFS) Technion CS Computer Communications Lab (236340) in cooperation with ECI telecom Uri Ferri & Ynon Cohen January 2007

description

Software Frame Simulator (SFS). Technion CS Computer Communications Lab (236340) in cooperation with ECI telecom. Uri Ferri & Ynon Cohen January 2007. AGENDA. Background and Motivation. High cost of network testing and simulation hardware - PowerPoint PPT Presentation

Transcript of Software Frame Simulator (SFS)

Page 1: Software Frame Simulator (SFS)

-1--1-Software Frame

Simulator (SFS)Technion CS Computer Communications Lab

(236340)in cooperation with ECI telecom

Uri Ferri & Ynon CohenJanuary 2007

Page 2: Software Frame Simulator (SFS)

-2--2-

AGENDABackground and Motivation

Product overview

Features

Deployment

Technology

Page 3: Software Frame Simulator (SFS)

-3--3-

Background and Motivation• High cost of network testing and

simulation hardware • Low availability of hardware-based

testing equipment• Software-based simulators are

more agile and therefore easier to configure and extend.

Page 4: Software Frame Simulator (SFS)

-4--4-

Product OverviewSFS simulates networking hardware for testing purposes:•Lower cost of testing equipment•Support various protocols, network topologies and testing scenarios in a single user friendly tool•Provide infrastructure for future extensions, such as additional protocols and testing behaviors

Page 5: Software Frame Simulator (SFS)

-5--5-

Features – packet generation

Send frames of various protocols:• Currently supported protocols include:

Ethernet IP Arp

Igmp V2&V3

TcpUdp

Complete control over packet content using xml import/exportSupport packet customization storage and reuseIncludes library of default packets for cases in which packet contents are insignificant

• Support for default packet customization

Page 6: Software Frame Simulator (SFS)

-6--6-

Configuring a Packet

Page 7: Software Frame Simulator (SFS)

-7--7-

Sending the Packet

Page 8: Software Frame Simulator (SFS)

-8--8-

Features – versatile behaviors

– Compose complex behaviors using simple atomic behaviors:• Send Message• Listen for Message• Wait

– Example:Send

Tcp Msg

Wait 10 secs

ReceiveTcp Msg

Wait 20 secs

Page 9: Software Frame Simulator (SFS)

-9--9-

Features – versatile behaviors

– Composing operations:• Concatenation• Multiplication

– Example:Repeat

X10

Send Tcp Msg

Wait 10 secs

ReceiveTcp Msg

Wait 20 secs

Page 10: Software Frame Simulator (SFS)

-10--10-

Features – versatile behaviors

– Arbitrary compositions:• Free usage of atoms and customized

composite behaviors• Save complex pre-defined compositions for

future use as parts of even more complex behaviors.

– Example: RepeatX10

Activate behavior

A from file A.xml

Wait 10 secs

Activate behavior B

Page 11: Software Frame Simulator (SFS)

-11--11-

Configuring an Agent using a protocol from a file

Page 12: Software Frame Simulator (SFS)

-12--12-

Configuring an Agentusing an inlined protocol

Page 13: Software Frame Simulator (SFS)

-13--13-

Configuring an Agentusing the default protocol

Page 14: Software Frame Simulator (SFS)

-14--14-

Using the Agent

Page 15: Software Frame Simulator (SFS)

-15--15-

Features – end point simulation

– Simulate endpoints such as computers, set top boxes, servers etc.

– Each simulated machine has its own properties and behaviors:• Ethernet and IP address• Configured agent to perform specific

behavior• Runs as an independent resource

(thread) on the test machine itself

Page 16: Software Frame Simulator (SFS)

-16--16-

Configuring an EndPoint

Page 17: Software Frame Simulator (SFS)

-17--17-

Activating the EndPoint

Page 18: Software Frame Simulator (SFS)

-18--18-

Features – end point simulation

Definition and usage of a sequence of similar (but not identical) endpoints - as simple as using a single endpoint.• May be used to simulate a network

of client computers, or set top boxes.• Infrastructure also supports mixed

endpoint sequences for use in future extensions.

Page 19: Software Frame Simulator (SFS)

-19--19-

Configuring an EndPoint sequence

Page 20: Software Frame Simulator (SFS)

-20--20-

Activating the EndPoint sequence

Page 21: Software Frame Simulator (SFS)

-21--21-

Features – configuration– Complete control over the main simulation

entities:• Packets of all supported protocols• Composite behaviors• End points and end point sequences

– External configuration through use of xml documents:• Every entity has a well defined configuration

file.• Support for three types of compositions :

– Inline : for ease of use.– Reference: for extensibility and reuse of

definitions.– Default: to shorten definition, when

specific details are less important.

Page 22: Software Frame Simulator (SFS)

-22--22-

Deployment– External independent testing software tool.

• A single executable file, which includes a command line interface, may be installed on any PC with a network card.

• Command line enables single line, easy to use, stateless instructions.

• Simple xcopy installation• Possible use:

– Simulator for massive networks with multiple end users, routers and servers.

– Specifically, simulate a full IPTV infrastructure for DSLAM testing

– Embedded in an existing application• Controller API is exposed for use by the programmer.• Possible use:

– Stub for unit testing without use of hardware.

Page 23: Software Frame Simulator (SFS)

-23--23-

Technology - overview

• Project involved refactoring and expanding of an existing tool into a versatile testing infrastructure.

• Most of the original code was refactored. Only few of the original communication services remain.

• Support for IGMP V3 protocol was added.• Adopted Standards:

– Object Oriented design and implementation– Use of design patterns– Utilization of industry standard STL as source

for data containers, and other open-source libraries for services such as XML parsing.

23

Page 24: Software Frame Simulator (SFS)

-24--24-

Technology - design

• Object Oriented Design:– Full class hierarchy for packet protocols and

behaviors.– Implementation in C++.

24

Page 25: Software Frame Simulator (SFS)

-25--25-

Technology – design • Design Patterns:

– Factory design pattern:• Templated factories are utilized for creation

of packets, Behaviors, and Endpoints.• Required design and implementation of

class metadata and reflection, not internally supported by c++.

– Composite design pattern:• Used to allow generic, complex Behaviors. • More atoms and composition rules may

easily be added programmatically, in order to further enhance this feature. 25

Page 26: Software Frame Simulator (SFS)

-26--26-

Technology – design example

26