NL Layer Architecture

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.

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.

Conclusion

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.