1 / 26

Software Frame Simulator (SFS)

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

tuyet
Download Presentation

Software Frame Simulator (SFS)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. AGENDA

  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.

  4. Product Overview SFS 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

  5. Features – packet generation Send frames of various protocols: • Currently supported protocols include: Ethernet IP Arp Udp Tcp Igmp V2&V3 • Complete control over packet content using xml import/export • Support packet customization storage and reuse • Includes library of default packets for cases in which packet contents are insignificant • Support for default packet customization

  6. Configuring a Packet

  7. Sending the Packet

  8. Features – versatile behaviors • Compose complex behaviors using simple atomic behaviors: • Send Message • Listen for Message • Wait • Example:

  9. Features – versatile behaviors • Composing operations: • Concatenation • Multiplication • Example:

  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:

  11. Configuring an Agent using a protocol from a file

  12. Configuring an Agentusing an inlined protocol

  13. Configuring an Agentusing the default protocol

  14. Using the Agent

  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

  16. Configuring an EndPoint

  17. Activating the EndPoint

  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.

  19. Configuring an EndPoint sequence

  20. Activating the EndPoint sequence

  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.

  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.

  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.

  24. Technology - design • Object Oriented Design: • Full class hierarchy for packet protocols and behaviors. • Implementation in C++.

  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.

  26. Technology – design example

More Related