Changes between Version 16 and Version 17 of Old/Libmac


Ignore:
Timestamp:
Jun 18, 2006, 11:15:34 PM (18 years ago)
Author:
kishore
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Old/Libmac

    v16 v17  
    8383Quite obviously, the first stage of development of this framework is for the lowest module that needs to be able to transmit and capture raw MAC frames, in addition to providing APIs for interface parameter tuning. An additional requirement of the lowest module is that of appending parameter information to outgoing or incoming frames. The motivation for this requirement stems from the experimental nature of this work and from the interest shown by the research community in cross-layer protocol design. Within the framework, the following figure gives an idea of how the lowest module of the framework can capture raw MAC frames using the packet sockets API.
    8484
     85[[Image(p2.png)]] [[BR]]
     86
     87Though the packet sockets API provides a mechanism using which we can develop this module, it has the following drawbacks:
     88 * Type demultiplexing is the only filtering function provided by the sockets API whereas our requirements are for a much wider variety of filters.
     89 * It is comparatively much less portable across architectures.
     90 * It forces the application developer to deal with system-specific details.
     91 * It is time-consuming considering the amount of functionality that needs to be added.
     92
     93Design choice II and the drawbacks of the packet sockets API lead us to the choice of using public-domain shared libraries that provide APIs for frame injection and capture.
     94
     95The choice of using these particular libraries was motivated by the stable nature of the executables, the open-source nature of the source code, their active maintenance and the presence of mailing lists and tutorials. In addition, these libraries have been thoroughly tested by a wide variety of open-source and commercial products. They were written primarily because of the drawbacks of the packet sockets API and their advantages include:
     96* Providing the user with high-level and simplified interface and hiding the complexity of underlying system from application programmer.
     97* Portability across multiple architectures.
     98
     99The figure below shows how the framework will be built on top of the libnet~\cite{Libnet+doc} and libpcap~\cite{Libpcap+doc} libraries, which in turn will be used in the lowest module. This diagram also shows how the envisioned framework will co-exist in parallel with the TCP/UDP sockets API, which uses the networking protocols implemented in the kernel.
     100
     101[[Image(p3.png)]] [[BR]]
     102
     103The rest of the report will discuss the lowest module, implemented as the shared library, \textbf{Libmac~\cite{Libmac+manual}}.
    85104
    86105The architecture diagram is shown below - Libmac uses open-source libraries [http://www.tcpdump.org/ libpcap], for frame capture and [http://www.packetfactory.net/libnet/ libnet], for frame injection.