BEEP
BEEP (an acronym for Blocks Extensible Exchange Protocol) is a framework for creating network application protocols.[1] BEEP is intended to abstract out the common features that have traditionally been duplicated in each protocol implementation[2], including but not limited to[3]:
- framing messages;
- encoding data;
- negotiating capabilities;
- negotiating connection release;
- correlating requests and responses;
- handling multiple outstanding requests;
- handling multiple asynchronous requests; and
- providing integrated and modular security.
BEEP typically runs on top of TCP and allows the exchange of messages over a channel. Unlike HTTP (and similar protocols), either end of the connection can communicate at any time, with messages being interleaved easily. BEEP also includes facilities for encryption and authentication and is highly extensible.[4]
Beep also incorporates the use of XML during channel management; "BEEP takes care of protocol infrastructure, [and] XML takes care of data structuring."[4] XML has also been used to encode messages, meaning "any existing messaging standard defined in terms of XML documents has a reasonably straightforward mapping into a BEEP profile."[4] However, BEEP profiles aren't required to use XML for encoding, meaning the use of XML could technically be limited to the beginning of a session.[2]
BEEP includes a number of built-in features, including an initial handshake protocol, authentication, security, and error handling. Using BEEP, one can create new protocols for a variety of applications, including instant messaging, file transfer, content syndication, and network management.
History
BEEP was designed by Marshall Rose, who also worked on the POP3, SMTP, and SNMP protocols.
External links
- BEEP Community Site
- Vortex Library, a C implementation library of BEEP
- IETF RFC #3080: The Blocks Extensible Exchange Protocol Core
- IETF RFC #3081: Mapping the BEEP Core onto TCP
- IETF RFC #3117: On the Design of Application Protocols, design considerations of the original BXXP protocol
References
- ↑ Marsan, Carolyn Duffy (26 June 2000). "'HTTP on steroids' to ease protocol work". Network World Fusion. Archived from the original on 02 April 2012. https://web.archive.org/web/20120402165038/http://www.networkworld.com/news/2000/0626bxxp.html. Retrieved 18 August 2014.
- ↑ 2.0 2.1 "BEEP: General Questions". BEEPCore.org. 3 February 2009. http://www.beepcore.org/faq.html. Retrieved 18 August 2014.
- ↑ Rose, Marshall (June 2002). "An Overview of BEEP". The Internet Protocol Journal 5 (2). http://www.cisco.com/web/about/ac123/ac147/archived_issues/ipj_5-2/beep.html. Retrieved 18 August 2014.
- ↑ 4.0 4.1 4.2 Dumbill, Edd (1 December 2001). "XML Watch: Bird's-eye BEEP". developerWorks. IBM. Archived from the original on 28 February 2009. https://web.archive.org/web/20090228022105/http://ibm.com/developerworks/webservices/library/x-beep. Retrieved 18 August 2014.