This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
dido:public:ra:xapend:xapend.b_stds:defact:zmtp:start [2020/05/07 18:56] nick ↷ Links adapted because of a move operation |
dido:public:ra:xapend:xapend.b_stds:defact:zmtp:start [2021/11/09 15:36] (current) char ↷ Page moved and renamed from dido:public:ra:xapend:xapend.b_stds:defact:zmtp to dido:public:ra:xapend:xapend.b_stds:defact:zmtp:start |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ======== ZeroMQ Message Transport Protocol (ZMTP) ======== | + | ===== ZeroMQ Message Transport Protocol (ZMTP) ===== |
| - | [[dido:public:ra:xapend.stds:defact| return to the de facto Standards bodies ]] | + | [[dido:public:ra:xapend:xapend.b_stds:defact| return to the de facto Standards area]] |
| - | **Source: [[http://zguide.zeromq.org/page:all | ØMQ - The Guide ]]** | + | **Source:** [[http://zguide.zeromq.org/page:all | ØMQ - The Guide ]] |
| <table> | <table> | ||
| - | <caption>Data Sheet for ZeroMQ Message Transport Protocol (ZMTP). | + | <caption>Data Sheet for ZeroMQ Message Transport Protocol (ZMTP) |
| </caption> | </caption> | ||
| ^ Characteristic ^ Value ^ | ^ Characteristic ^ Value ^ | ||
| Line 12: | Line 12: | ||
| | Initial release | v 3.0 | | | Initial release | v 3.0 | | ||
| | Stable release | None | | | Stable release | None | | ||
| - | | API Documentation | [[https://rfc.zeromq.org/spec:23/ZMTP/]] | | + | | [[dido:public:ra:xapend:xapend.a_glossary:a:api|API]] Documentation | [[https://rfc.zeromq.org/spec:23/ZMTP/]] | |
| | Repository | [[https://github.com/zeromq/zmtp]] | | | Repository | [[https://github.com/zeromq/zmtp]] | | ||
| | Written in | C | | | Written in | C | | ||
| Line 24: | Line 24: | ||
| </table> | </table> | ||
| + | ==== Abstract ==== | ||
| + | //The ZeroMQ Message Transport Protocol (ZMTP) is a [[dido:public:ra:xapend:xapend.a_glossary:t:transportlayer|transport layer]] protocol for exchanging messages between two peers over a connected transport layer such as TCP. This document describes ZMTP 3.0. // | ||
| - | ====== Abstract ====== | + | ==== Goals ==== |
| - | : //The ZeroMQ Message Transport Protocol (ZMTP) is a transport layer protocol for exchanging messages between two peers over a connected transport layer such as TCP. This document describes ZMTP 3.0. // | + | //The ZeroMQ Message Transport Protocol (ZMTP) is a transport layer protocol for exchanging messages between two peers over a connected transport layer such as TCP. This document describes version 3.0 of ZMTP. ZMTP solves a number of problems we face when using TCP carry messages:// |
| - | + | ||
| - | ====== Goals ====== | + | |
| - | : //The ZeroMQ Message Transport Protocol (ZMTP) is a transport layer protocol for exchanging messages between two peers over a connected transport layer such as TCP. This document describes version 3.0 of ZMTP. ZMTP solves a number of problems we face when using TCP carry messages:// | + | |
| * //TCP carries a stream of octets with no delimiters, but we want to send and receive discrete messages. Thus, ZMTP reads and writes frames consisting of a size and a body.// | * //TCP carries a stream of octets with no delimiters, but we want to send and receive discrete messages. Thus, ZMTP reads and writes frames consisting of a size and a body.// | ||
| - | * //We need to carry metadata on each frame (such as, whether the frame is part of a multipart message, or not). ZMTP provides a flags field in each frame for metadata.// | + | * //We need to carry [[dido:public:ra:xapend:xapend.a_glossary:m:metadata|metadata]] on each frame (such as, whether the frame is part of a multipart message, or not). ZMTP provides a flags field in each frame for metadata.// |
| * //We need to be able to talk to older implementations, so that our framing can evolve without breaking existing implementations. ZMTP defines a greeting that announces the implemented version number, and specifies a method for version negotiation.// | * //We need to be able to talk to older implementations, so that our framing can evolve without breaking existing implementations. ZMTP defines a greeting that announces the implemented version number, and specifies a method for version negotiation.// | ||
| Line 43: | Line 42: | ||
| * //We need a way to carry metadata about the connection, after the security handshake. ZMTP defines a standard set of metadata properties (socket type, identity, etc.) that peers exchange after the security mechanism.// | * //We need a way to carry metadata about the connection, after the security handshake. ZMTP defines a standard set of metadata properties (socket type, identity, etc.) that peers exchange after the security mechanism.// | ||
| - | * //We need to write down these solutions in a way that is easy for teams to implement on any platform and in any language. ZMTP is thus specified as a formal protocol (this document) and made available to teams under a free license.// | + | * //We need to write down these solutions in a way that is easy for teams to implement on any [[dido:public:ra:xapend:xapend.a_glossary:p:platform|platform]] and in any language. ZMTP is thus specified as a formal protocol (this document) and made available to teams under a free license.// |
| - | + | ||
| - | * //We need guarantees that people will not create private forks of ZMTP, thus breaking interoperability. ZMTP is thus licensed under the GPLv3, so that any derived versions must also be made available to users of software that implements it. // | + | |
| + | * //We need guarantees that people will not create private forks of ZMTP, thus breaking [[dido:public:ra:xapend:xapend.a_glossary:i:interoperability|interoperability]]. ZMTP is thus licensed under the GPLv3, so that any derived versions must also be made available to users of software that implements it. // | ||
| + | /**=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- | ||
| + | /* To add a discussion page to this page, comment out the line that says | ||
| + | ~~DISCUSSION:off~~ | ||
| + | */ | ||
| + | ~~DISCUSSION:on|Outstanding Issues~~ | ||
| + | ~~DISCUSSION:off~~ | ||