Overview of the Functionality Layers

The layered architecture of the simulator tries to effectively address the complexity of P2P systems. Therefore, an analysis of the functionality of the different systems has been performed to divide them into distinguishable layers. This separation forms the basic architecture of PeerfactSim.KOM, that can be currently divided into two parts (as displayed in the Overview):

Functionality layers

Simulation engine.

Focusing on the functional layers of the simulator, their purposes are sketched in the following.

The data link layer is used to model different network access technologies covering the abstracted functionality of the logical link and medium access control.

The network layer maintains a number of services which embody the network level functionality of the bottom three layers of the ISO/OSI model. There, it is possible to easily select different network service models to vary the degree of abstraction dependent on the purpose of a simulation.

The transport layer, which sits above the network layer, models the details of the data transfer between endpoints within the simulation framework.

The overlay layer contains a number of overlay communication protocols and comprises algorithms such as overlay message routing. In the scope of simulating P2P systems, this layer is one of the most important layers of the simulator, since it comprises the aforementioned protocols, that realize and implement the different overlay networks (structured, unstructured, flat, hierarchical, hybrid) and build the core of P2P systems.

Above the overlay layer, the application layer aims to provide a general interface to implement and simulate the functionality of common P2P applications within a complete P2P system.