|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ABSTRACT
Pursuing network programming requires breaking through the barrier that most operating systems present at the transport layer. The reasons for the existence of this barrier are both security and convenience. The data link and network layers provide services such as address resolution and routing to the end user. In addition, users programming at these layers can easily spoof addresses, presenting a security risk.For the teacher and researcher, this barrier quickly becomes problematic. Networking students are familiar with the concepts at the lower layers and have a natural curiosity about the software that operates at those layers. Research into lower layer protocols necessitates pealing away the existing layers to replace them with experimental software. Implementing security software depends upon being able to intercept and sometimes inject packets at a low level in the hierarchy.An object-oriented framework for pursuing network programming at all layers above layer 1 is presented. This framework is realized as an open source project[5], providing an object-oriented class library that allows capturing packets at the lowest layers and injecting arbitrary packets into the network. It also includes a library of classes to model various protocol headers. Each class in this library includes the ability to parse a captured packet as well as build a packet from its component fields. This package has been implemented both in Java, using the JNI [14], and in C++.Uses for this framework are discussed, including a summary of a two M.S. projects that have been completed. Current work includes the development of ARP caching and basic routing table maintenance and manipulation. In addition, a number of packet editors exist that allow students to hand-craft packets for injection into the network. Future areas of exploration are outlined. REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
INDEX TERMS
Primary Classification:
Additional Classification:
General Terms:
REVIEW
"R. Clayton : Reviewer"
Providing nonkernel code with direct access to the network below the transport layer raises a number of problems. Three of these problems involve organizing the separate subtransport reading and writing facilities into a coherent package, providin
more...
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||