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

Software Frame Simulator (SFS)

Feb 23, 2016

Download

Documents

tuyet

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
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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