IBM BeepLite Networking Layer for C
A C implementation of BEEP (Blocks Extensible Exchange Protocol), a generic network kernel for connection-oriented, asynchronous application protocols.
Date Posted: November 9, 2006
|
|
 |
 |
|
What is IBM BeepLite Networking Layer for C?
IBM® BeepLite Networking Layer for C is an implementation of BEEP (Blocks Extensible Exchange Protocol) (RFC 3080, RFC 3081), a generic application protocol kernel for connection-oriented, asynchronous interactions. IBM BeepLite Networking Layer for C supports dynamic, pluggable application protocols for peer-to-peer, client-server, or server-to-server scenarios; it allows multiple channels over one or more authenticated session; and it supports arbitrary MIME payloads including XML.
This technology is a C version of an earlier posting of BeepLite Networking Layer (for Java™), also available here on alphaWorks®.
How does it work?
BEEP (and, as such, the IBM BeepLite Networking Layer for C) is the missing link between the application layer and TCP. It provides all the basic machinery that is needed when designing application protocols over TCP through a common, higher-level API, specifically allowing virtually transparent tuning to meet various security requirements.
BEEP adds a layer of abstraction on top of transport protocols such as TCP in order to ease the development and use of application protocols, so-called "profiles" in BEEP parlance. This additional layer provides all the basic mechanisms needed for simultaneous and independent exchanges within the context of a single application's user identity (such as framing messages, encoding data, negotiating capabilities, correlating requests and responses, message pipelining and multiplexing, and integrated and modular security), and it supports both textual and binary messages.
Exchanges happen in the context of multiple channels over one or more sessions, whereby sessions may be tuned to meet various security requirements (such as TLS with client authentication). For session security and authentication, BeepLite for C currently provides profiles for SSL/TLS and SASL Digest/MD5 (RFC 2831), both of which require OpenSSL.
|
|
 |

|  | About the technology author(s):
Thorsten Kramp joined the IBM Zurich Research Laboratory in 2001 right after he received his Ph.D. in computer science from the University of Kaiserslautern in Germany. At the University of Kaiserslautern, he was a member of the System Software Group and worked on flexible run-time platforms for real-time computing, especially exploring the applicability and benefits of a message-driven threading model in this context. At the IBM ZRL lab, Dr. Kramp is now primarily working on embedded systems, crypto libraries, and BeepLite.
Please e-mail comments, suggestions, or bug reports to Mr. Kramp.
Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.
IBM and alphaWorks are trademarks of IBM Corporation in the United States, other countries, or both.
Other company, product, or service names may be trademarks or service marks of others.
| |
|
| |