VMTP: Versatile Message Transaction Protocol: Protocol specification
RFC 1045

Document Type RFC - Experimental (February 1988; No errata)
Last updated 2013-03-02
Stream Legacy
Formats plain text pdf htmlized bibtex
Stream Legacy state (None)
Consensus Boilerplate Unknown
RFC Editor Note (None)
IESG IESG state RFC 1045 (Experimental)
Telechat date
Responsible AD (None)
Send notices to (None)
Network Working Group                                     David Cheriton
Request for Comments:  1045                          Stanford University
                                                           February 1988

              VMTP: VERSATILE MESSAGE TRANSACTION PROTOCOL
                         Protocol Specification

STATUS OF THIS MEMO

This RFC describes a protocol proposed as a standard for the Internet
community.  Comments are encouraged.  Distribution of this document is
unlimited.

OVERVIEW

This memo specifies the Versatile Message Transaction Protocol (VMTP)
[Version 0.7 of 19-Feb-88], a transport protocol specifically designed
to support the transaction model of communication, as exemplified by
remote procedure call (RPC).  The full function of VMTP, including
support for security, real-time, asynchronous message exchanges,
streaming, multicast and idempotency, provides a rich selection to the
VMTP user level.  Subsettability allows the VMTP module for particular
clients and servers to be specialized and simplified to the services
actually required.  Examples of such simple clients and servers include
PROM network bootload programs, network boot servers, data sensors and
simple controllers, to mention but a few examples.




RFC 1045                       VMTP                        February 1988 

                           Table of Contents

1. Introduction                                                        1

   1.1. Motivation                                                     2
       1.1.1. Poor RPC Performance                                     2
       1.1.2. Weak Naming                                              3
       1.1.3. Function Poor                                            3
   1.2. Relation to Other Protocols                                    4
   1.3. Document Overview                                              5

2. Protocol Overview                                                   6

   2.1. Entities, Processes and Principals                             7
   2.2. Entity Domains                                                 9
   2.3. Message Transactions                                          10
   2.4. Request and Response Messages                                 11
   2.5. Reliability                                                   12
       2.5.1. Transaction Identifiers                                 13
       2.5.2. Checksum                                                14
       2.5.3. Request and Response Acknowledgment                     14
       2.5.4. Retransmissions                                         15
       2.5.5. Timeouts                                                15
       2.5.6. Rate Control                                            18
   2.6. Security                                                      19
   2.7. Multicast                                                     21
   2.8. Real-time Communication                                       22
   2.9. Forwarded Message Transactions                                24
   2.10. VMTP Management                                              25
   2.11. Streamed Message Transactions                                25
   2.12. Fault-Tolerant Applications                                  28
   2.13. Packet Groups                                                29
   2.14. Runs of Packet Groups                                        31
   2.15. Byte Order                                                   32
   2.16. Minimal VMTP Implementation                                  33
   2.17. Message vs. Procedural Request Handling                      33
   2.18. Bibliography                                                 34

3. VMTP Packet Formats                                                37

   3.1. Entity Identifier Format                                      37
   3.2. Packet Fields                                                 38

Cheriton                                                        [page i]



RFC 1045                       VMTP                        February 1988 

   3.3. Request Packet                                                45
   3.4. Response Packet                                               47

4. Client Protocol Operation                                          49

   4.1. Client State Record Fields                                    49
   4.2. Client Protocol States                                        51
   4.3. State Transition Diagrams                                     51
   4.4. User Interface                                                52
   4.5. Event Processing                                              53
   4.6. Client User-invoked Events                                    54
       4.6.1. Send                                                    54
       4.6.2. GetResponse                                             56
   4.7. Packet Arrival                                                56
       4.7.1. Response                                                58
Show full document text