NL Layer Architecture

Overall Architecture.png

In the architecture of the eEx Network Library, there are three layers, where each layer adds functionality to the layer below.

Layer 1: Network Library

The Network Library is the core of all networking operations. It provides several ways to modify and analyze network traffic, but if you want to use the network library, you will have to write a tool which utilizes the functions. It is important to know that the network library is organized into objects like Traffic Handlers or Frames and how they work, as they provide a object-oriented and flexible model for performing networking tasks.

Layer 2: NLML

The Network Library Management Layer encapsulates objects of the Network Library so that they can be dynamically linked together and provides classes to load and save network compilations to xml-based files, which can be shared to other machines. The NLML even provides plug-in capability. Generally speaking, the NLML is the layer which provides flexibility for adding various dynamic UIs at the top of the network library. The NLML uses HandlerControllers and HandlerDefinitions for wrapping the handlers provided by the network library.

Layer 3: NetLab

The NetLab is a graphical user interface for the Network Library. It provides an UI where users can create and configure Traffic Handlers via point & click. All compilations can be saved and loaded into files with the functions provided by the NLML. The NetLab uses NetLabHandlerControllers and NetLabHandlerDefinitions for wrapping the controllers and definitions from the NLML and adding UI features.


Separating network tasks, management and UI is important. Imagine, for example, that you want to create a small packet generator: You would not need functions to save and load compilations, provided by the NLML or UI elements provided by the NetLab, but rather access the Network Library directly. However, if someone wants to implement a command line interface for the network library, functions from the NLML might come in handy.

Last edited Apr 23, 2011 at 12:44 PM by emiswelt, version 21


No comments yet.