Eng | Rus

Description

Network
User interface
Projects
Export to html-reports
Look and feel

Network

NET-Simulator implements two layers of ISO OSI: 2nd - Data Link and 3rd - Network. The 1st - Physical Layer is not emulated, so the electrical and physical specifications for devices are not taken into account. It is supposed that 2nd layer packets are transmitted through an Ethernet-like environment. Thus NET-Simulator allows users to achieve the following goals:

  • Study the principles of operation for 2nd and 3rd layer switches and passive hubs.
  • Getting practical skills of the static IP4 routing configuration.
  • Study communication protocols ARP, IP4, ICMP.
  • Getting skills of trouble shooting in computer networks.

NET-Simulator uses a simple Ethernet-like protocol on the 2nd layer. This protocol uses addressing by 6 byte MAC-address. The uniqueness of the every MAC-address is provided by the NET-Simulator kernel. Actually, a packet of the 2nd layer is a Java object and it does not have any equivalent in real computer networks.

On the 3rd layer there is a restricted implementation of IP4 protocol according to RFC791. In order to resolve IP to MAC-addresses there is an ARP service based on broadcast requests.

There is restricted implementation of ICMP according to RFC792 that allows working services like ping and traceroute.

User interface

The main window of NET-Simulator is a desk where users can put different devices. Currently the following devices are available:

  1. Router. This is a 3 layer commutator that contains 8 IP4 interfaces.
  2. Desktop. Actually, this is a router that contains only one interface.
  3. Switch. This is a 2nd layer commutator that routes 2nd layer packets according to MAC-address tables. It uses algorithms similar to the ones commonly used in Ethernet-switches.
  4. Hub. This is a simple device that transmits 2nd layer packets to all its interfaces. The user cannot control the hub.
  5. All the devices are connected by means of the universal links - virtual patchcords. As it was mentioned above these patchcords do not have any physical characteristics. It is supposed that the through-output of the links is infinite. Patchcords are highlighted when a packet is transmitted through them.

Newly created devices appear in the upper-left corner of the desk. Devices can be drag-and-dropped to appropriate places. Plugs of the patchcords "glue" to the nearest sockets. There is a drop-down context-menu associated with every device. 'Double click' on any device opens the virtual console associated with this device.

Projects

NET-Simulator uses xml to store project files. DTD for the project files is located in {netsim_home}/dtd/net_simulator.dtd file.

Export to html-reports

Projects can be exported to html-reports. The report consists of project detail in html and the PNG image with the drawing of the network. NET-Simulator converts project files to html reports using the xsl-template. The default template is in {netsim_home}/cfg/tohtml.xsl file. You can modify this template to achieve the desired view of the report. Of course, you can use any external XSLT converter to generate reports.

Report example:

Warning: /reports/test.html could not be embedded.

Look and feel

You can change the look and feel of the program by creating or editing skins. NET-Simulator loads images of the devices from {netsim_home}/img/ directory, where 'skinname' is the name for the current skin. The current skin is defined by the 'currentSkin' property in the configuration file ('basic' by default). There must be three kind of images for every device: 1) basic, 2) selected, 3) highlighted. Files with the basic images are named: router.gif, desktop.gif, switch.gif and hub.gif. Files that contain images for selected devices have '_s' suffix at the end of their names (eg. router_s.gif). Files that contain images for highlighted devices have '_h' suffix. (eg. router_h.gif).

You can control the properties of every skin from the configuration file. It is possible to setup the position of sockets on the device image. The coordinate system originates from the top left.

Example of the skin configuration:

    <skins>
	<skin name="basic">
	    <shape name="router" socketsX="30" socketsY="15" socketsStep="8" />
	    <shape name="desktop" socketsX="38" socketsY="35" socketsStep="0" />
	    <shape name="hub" socketsX="38" socketsY="15" socketsStep="8" />
	    <shape name="switch" socketsX="38" socketsY="15" socketsStep="8" />
	</skin>
    </skins>
    <currentSkin name="basic" />

Last update: 20.01.2010 23:40. Email: maxim-tereshin@yandex.ru