RFC 1045:VMTP: VERSATILE MESSAGE TRANSACTION PROTO...
RFC-Ref

VMTP


Click on the red underlined text to get to the source

... The Versatile Message Transaction Protocol (VMTP) is a transport protocol designed to support remote procedure call (RPC ...
... exchange in the sense described above. VMTP handles the error detection, retransmission, duplicate suppression and, optionally, security ...
... Example Uses: - Page-level file access - VMTP is intended as the transport level for file access, allowing simple, efficient operation on ...
... level for file access, allowing simple, efficient operation on a local network. In particular, VMTP is appropriate for use by diskless workstations accessing shared network file ...
... servers. - Distributed programming - VMTP is intended to provide an efficient transport level protocol for remote procedure call ...
... VMTP was designed to address three categories of deficiencies with existing transport protocols ...
... isolated calls. In particular, connection setup and clear generates extra packets over that needed for VMTP to support RPC. ...
... - TCP is difficult to implement, speaking purely from the empirical experience over the last 10 years. VMTP was designed concurrently with its implementation, with focus on making it easy to implement and providing sensible subsets of ...
... buffering.) VMTP is designed for ease of implementation and efficient RPC. In addition, it provides selective retransmission ...
... , mobile hosts and multi-homed hosts. VMTP provides host-address independent names, thereby solving the above ...
... host-addr, port-id)-tuples can change meaning on reboot following a crash. VMTP provides large identifiers with guarantee of stability, meaning that either the identifier ...
... delivery". In contrast, VMTP provides multicast, real-time datagrams ...
... addressing precisely these weaknesses. In general, VMTP is designed with the next generation of communication systems in mind. These communication systems are characterized as follows. RPC ...
... performance that approximates the network capability. However, VMTP is also designed to function acceptably with existing networks and network interfaces ...
... VMTP is a transport protocol that fits into the layered Internet protocol environment. Figure 1-1 illustrates the place of VMTP ...
... VMTP is a transport protocol that fits into the layered Internet protocol environment. Figure 1-1 illustrates the place of VMTP in the protocol hierarchy. ...
... +------+ +--------+ | TCP | | VMTP | Transport +------+ +--------+ Layer ...
... suite of protocols. Appendix II defines a proposed RPC presentation level for use with VMTP and assumed for the definition of the VMTP management procedures. There is also a need for the definition of the ...
... RPC presentation level for use with VMTP and assumed for the definition of the VMTP management procedures. There is also a need for the definition of the ...
... If internetwork services are not required, VMTP can be used without the IP layer, layered directly on top of the network or ...
... , security, byte-ordering and management. Chapter 3 describes the VMTP packet formats. Chapter 4 describes the client ...
... packet formats. Chapter 4 describes the client VMTP protocol operation in terms of pseudo-code ...
... in terms of pseudo-code for event handling. Chapter 5 describes the server VMTP protocol operation in terms of pseudo-code for event ...
... Response codes. Appendix II describes the RPC presentation protocol proposed for VMTP and used with the VMTP management procedures. Appendix III lists the ...
... RPC presentation protocol proposed for VMTP and used with the VMTP management procedures. Appendix III lists the VMTP ...
... and used with the VMTP management procedures. Appendix III lists the VMTP management procedures. Appendix IV ...
... IV proposes initial approaches for handling entity identification for VMTP. Appendix V proposes initial authentication domains for VMTP. Appendix VI provides some details for implementing ...
... identification for VMTP. Appendix V proposes initial authentication domains for VMTP. Appendix VI provides some details for implementing VMTP on top of IP. Appendix VII provides some suggestions on ...
... . Appendix V proposes initial authentication domains for VMTP. Appendix VI provides some details for implementing VMTP on top of IP. Appendix VII provides some suggestions on host ...
... IP. Appendix VII provides some suggestions on host implementation of VMTP, focusing on data structures and support functions. Appendix VIII describes a proposed program interface ...


... VMTP provides an efficient, reliable, optionally secure transport service in the message transaction or request-response ...
... management module, defined with a remote procedure call interface on top of VMTP providing a variety of communication services (Section 2.10.) ...
... packet formats and event processing procedures in detail. In overview, VMTP provides transport communication between network- ...
... rate control. Entities and VMTP operations are managed using a VMTP management ...
... Entities and VMTP operations are managed using a VMTP management mechanism that is accessed through a procedural interface ...
... interface (RPC) implemented on top of VMTP. In particular, information about a remote entity is obtained and maintained using the Probe VMTP ...
... VMTP. In particular, information about a remote entity is obtained and maintained using the Probe VMTP management operation. Also, acknowledgment information and requests for ...
... VMTP defines and uses three main types of identifiers: entity ...
... typically mapping to, or representing, a message port or procedure invocation. Thus, entities are the VMTP communication endpoints. The process associated with each entity ...
... principal identifiers are included in VMTP solely to make these values available to VMTP users with the security ...
... identifiers are included in VMTP solely to make these values available to VMTP users with the security and efficiency provided by VMTP ...
... VMTP users with the security and efficiency provided by VMTP. Only the entity identifiers are actively used by the protocol. ...
... Internet addresses or reside on a multi-homed host. It is up to the VMTP implementation to determine and maintain up to date the host ...
... Domain. Only entities within the same domain may communicate directly via VMTP. However, hosts and entities may participate in multiple entity ...
... Domains are necessary because it does not appear feasible to specify one universal VMTP entity identification administration that covers all entities for all time. Domains ...
... Client, Server, Request, Response, etc. are capitalized in this document when they refer to their specific meaning in VMTP. name space. ...
... response message has been received. the current transaction is terminated by VMTP when the next transaction is initiated. ...
... Client has only one transaction outstanding at a time. However, VMTP allows a Client to have multiple message transactions outstanding simultaneously, supporting streamed, ...
... outstanding simultaneously, supporting streamed, asynchronous remote procedure call invocations. In addition, VMTP supports nested calls where, for example, procedure A calls procedure B which calls procedure C, each on a separate host ...
... user-level selective retransmission using the MsgDelivery field, the file server VMTP module need not save multi-packet Responses for retransmission. Retransmissions ...
... The Flags field provides a simple mechanism for the user level to communicate its use of VMTP options with the VMTP module as well as for VMTP modules to communicate this use among themselves. The use of these ...
... Flags field provides a simple mechanism for the user level to communicate its use of VMTP options with the VMTP module as well as for VMTP modules to communicate this use among themselves. The use of these options is generally fixed for each remote procedure so that an ...
... communicate its use of VMTP options with the VMTP module as well as for VMTP modules to communicate this use among themselves. The use of these options is generally fixed for each remote procedure so that an RPC ...
... options is generally fixed for each remote procedure so that an RPC mechanism using VMTP can treat the Flags as an integral part of the RequestCode field for the purpose of demultiplexing to the correct stub. ...
... VMTP provides reliable, sequenced transfer of request and response messages as well as several variants, such as unreliable datagram ...
... Probe request, a simple query operation, to the VMTP management module associated with the requesting Client ...
... lifetime of packets in the network (plus the maximum VMTP retransmission time) and it has not been rebooted within this time period. ...
... Each VMTP packet contains a checksum to allow the receiver to detect ...
... The checksum normally covers both the VMTP header and the segment data. ...
... network interfaces. Note that the number of header and data octets is an integral multiple of 8 because VMTP requires that the segment data be padded to be a multiple of 64 bits ...
... checksum field indicates that no checksum was transmitted with the packet. VMTP may be used without a checksum only when there is a host-to-host error detection mechanism and the ...
... may be used without a checksum only when there is a host-to-host error detection mechanism and the VMTP security facility is not being used. For example, one could rely on the Ethernet ...
... VMTP assumes an unreliable datagram network and internetwork interface ...
... interface. To guarantee delivery of Requests and Response, VMTP uses positive acknowledgments, retransmissions and timeouts. ...
... In general, a Request or Response is retransmitted periodically until acknowledged as above, up to some maximum number of retransmissions. VMTP uses parameters RequestRetries(Server) and ResponseRetries(Client) that indicate the number of retransmissions ...
... client respectively before giving up. We suggest the value 5 be used for both parameters based on our experience with VMTP and Internet packet loss. ...
... Client must retransmit the Request to effectively get the Response retransmitted. The server VMTP module responds to retransmissions of the Request by passing the Request on to the server again to have it regenerate the ...
... are passed on in this fashion; older Request packets from this client are discarded as delayed duplicates. If a Response is not idempotent, the VMTP module must ensure it has a copy of the Response for retransmission either by making a copy of the Response (either ...
... expected roundtrip time to the Server because an acknowledgment should be returned immediately unless a Response has been sent. The Request may also be retransmitted in response to receipt of a VMTP management operation indicating that selected portions of the Request message ...
... These values are selected as follows. TC1 can be set to TC2 plus a constant, reflecting the time within which most servers respond to most requests. For example, various measurements of VMTP usage at Stanford indicate that 90 percent of the servers respond in less than 200 milliseconds. Setting TC1 to TC2 + 200 means that most Requests receive ...
... VMTP is designed to deal with the present and future problem of packet overruns. We expect overruns to be the major cause of dropped packets in the future. A client ...
... VMTP provides an (optional) secure mode that protects against the usual security threats of peeking, impostoring, message tampering and replays. Secure ...
... provides an (optional) secure mode that protects against the usual security threats of peeking, impostoring, message tampering and replays. Secure VMTP must be used to guarantee any of the transport-level reliability properties unless it is guaranteed that there are no ...
... the packet checksums. That is, non-secure VMTP provides no guarantees in the presence of an intelligent intruder. ...
... remote entity, including an encryption/decryption key, is obtained and maintained using a VMTP management operation, the authenticated ...
... authenticated Probe operation, which is executed as a non-secure VMTP message transaction. If a server receives a secure Request for which ...
... entity state, it sends a Probe request to the VMTP _______________ ...
... state record (which is created and updated by VMTP as needed). Message tampering is detected by encryption of the packet including the Checksum field ...
... An encrypted VMTP packet is flagged by the EPG bit in the VMTP packet header ...
... encrypted VMTP packet is flagged by the EPG bit in the VMTP packet header. Thus, encrypted packets are easily detected and demultiplexed ...
... encrypted packets are easily detected and demultiplexed from unencrypted packets. An encrypted VMTP packet is entirely encrypted except for the Client, ...
... if this information or traffic behavior is considered sensitive. VMTP provides multiple authentication domains as well as an encryption ...
... handle generation and distribution of authenticators and keys. This protocol can be implemented on top of VMTP and can closely follow the Birrell design as well. ...
... , even between consecutive message transactions from the same client. It is also optional in that VMTP clients and servers are not required to implement secure VMTP ...
... VMTP clients and servers are not required to implement secure VMTP (although they are required to respond intelligently to attempts to use secure VMTP). At worst, a Client ...
... required to implement secure VMTP (although they are required to respond intelligently to attempts to use secure VMTP). At worst, a Client may fail to communicate with a Server if the Server insists on secure ...
... Responses to the Request. The VMTP service interface does not directly provide reliable multicast ...
... interest and retransmit the Request until acknowledged by all members. No modifications are required to the Server implementations. VMTP supports a simple form of subgroup addressing. If the CRE bit is ...
... entity, where Server specifies the group of such managers. Co-resident means "using the same VMTP module", and logically on the same network host. In particular, a Probe ...
... network host. In particular, a Probe request can be sent to the particular VMTP management module for an entity by specifying the ...
... management module for an entity by specifying the VMTP management group as the Server and the entity ...
... As an experimental aspect of the protocol, VMTP supports the Server sending a group Response which is sent to the Client ...
... VMTP provides three forms of support for real-time communication, in addition to its standard facilities, which make it applicable to a wide range ...
... entity or entity group using the VMTP naming, transmission and delivery mechanism, but without blocking, retransmissions ...
... 2.11.) Finally, VMTP provides several control bit flags to modify the handling of Requests and Responses for real-time ...
... header checksum only (HCO) flag indicates that the checksum has been calculated only on the VMTP header and not on the data segment. ...
... real-time applications. Several of the normal facilities of VMTP appear useful for real-time applications. First, multicast is useful for distributed, replicated ...
... real-time applications require. In general, a key design goal of VMTP was provide an efficient general-purpose transport protocol with the features required for ...
... nested call. (This situation is analogous to tail recursion.) As an optimization to support this case, VMTP provides a Forward operation that allows the server to send the nested Request to the other server and have this other server respond directly to the Client ...
... transaction does not meet the above requirements, the Server's VMTP module issues a nested call and simply maps the returned Response to a Response to original Request without further Server-level processing. In this case, the only optimization over a user-level ...
... processing. In this case, the only optimization over a user-level nested call is one fewer VMTP service operation; the VMTP module handles ...
... nested call is one fewer VMTP service operation; the VMTP module handles the return to the invoking call directly. The Server may also use this form of forwarding when the Request is part of a stream ...
... transaction received from the Client. Thus, the additional complexity in the VMTP module for the required forwarding support is minimal; the complexity is concentrated in providing a highly optimized user-level ...
... VMTP Management ...
... VMTP management includes operations for creating, deleting, modifying and querying VMTP ...
... VMTP management includes operations for creating, deleting, modifying and querying VMTP entities and entity groups. VMTP ...
... VMTP entities and entity groups. VMTP management is logically implemented by a VMTP ...
... VMTP management is logically implemented by a VMTP management server module that is invoked using a message transaction ...
... management server module that is invoked using a message transaction addressed to the Server, VMTP_MANAGER_GROUP, a well-known ...
... all management modules, as appropriate. The VMTP management procedures are specified in Appendix III. ...
... fails, after restarting it from the last checkpoint <6>. As an experimental facility, VMTP provides a Receive Sequence Number field in the NotifyVmtpClient and NotifyVmtpServer operations as well as the Next ...
... transaction identification and message control block. Each packet is formatted as below with the message control block logically embedded in the VMTP header. ...
... +------------------------------------++---------------------+ | VMTP Header || | +------------+-----------------------|| segment data ...
... +------------+-----------------------|| segment data | |VMTP Control| Message Control Block || | +------------+-----------------------++---------------------+ ...
... +------------+-----------------------++---------------------+ The some fields of the VMTP control portion of the packet and data segment portion can differ between packets within the same packet group. ...
... segment specified in the message control block. The portion contained in each packet is indicated by the PacketDelivery field contained in the VMTP header. The PacketDelivery field as a bit mask has a similar interpretation to the MsgDelivery field in that each ...
... PacketDelivery field limits a packet group to 16 kilooctets and a maximum of 32 VMTP packets (with a minimum of 1 packet). Data can be sent in fewer packets by sending multiple data blocks per packet. We require that the underlying datagram ...
... service support delivery of (at minimum) the basic 580 octet VMTP packet <7>. To illustrate the use of the PacketDelivery field, consider for example the Ethernet which has a ...
... <7> Note that with a 20 octet IP header, a VMTP packet is 600 octets. We propose the convention that any host implementing VMTP ...
... VMTP packet is 600 octets. We propose the convention that any host implementing VMTP implicitly agrees to accept IP/VMTP ...
... VMTP implicitly agrees to accept IP/VMTP packets of at least 600 octets. <8> We use the C notation 0xHHHH to represent a hexadecimal number. ...
... does not decide to discard the packet group), the Server saves a copy of the VMTP packet header, indicates it is currently receiving a packet ...
... 1024 octets were received. The ResponseCode field is set to BAD_REPLY_SEGMENT. (Note that VMTP is only able to indicate the specific segment blocks received if MDM is set.) ...
... Checksum, packet group control flags, Length and PacketDelivery in the VMTP header to differ between any two packets in one packet group ...
... fields and the segment is a sequence of bytes. VMTP transmits the MCB in big-endian order, performing byte-swapping, if necessary, before transmission. A little-endian host ...
... of one byte order to another. VMTP to date has used a higher-level presentation protocol in which segment data is sent in the native order of the sending host and ...
... Minimal VMTP Implementation ...
... A minimal VMTP client needs to be able to send a Request packet group ...
... datagram message transactions. However, a simple sensor, for example, can transmit VMTP datagram Requests indicating its current state with ...
... network boot loader. A minimal VMTP server implements idempotent, non-encrypted message transactions, possibly with no ...
... Probe operations. (Support for the NotifyVmtpClient operation is only required if it does not respond immediately to a Request.) Thus the VMTP support for say a time server, sensor, or actuator can be extremely simple. Note that the server need never issue ...
... Request message as invoking a procedure, and relinquishing its association to the calling process on return. VMTP supports multiple nested calls spanning multiple machines. In this case, the distributed call stack that results is associated with a single process from the ...
... authentication and resource management, using the ProcessId field supported by VMTP. The entity identifiers effectively ...
... We view the two Request handling approaches as appropriate under different circumstances. VMTP supports both models. ...
... 10]. The use of "management" operations implemented using VMTP in place of specialized packet types is viewed as part of a general strategy of ...
... Finally, this protocol was designed, in part, to respond to the requirements identified by Braden in RFC 955. We believe that VMTP satisfies the requirements stated in RFC 955 ...
... D.R. Cheriton, "VMTP: A Transport Protocol for the Next Generation of Communication Systems", In Proceedings of SIGCOMM'86, ACM, Aug 5-7, 1986. ...


... VMTP Packet Formats ...
... VMTP uses 2 basic packet formats corresponding to Request packets and Response packets. These packet formats ...
... individual packet formats are described in the following subsections. The reader and VMTP implementor may wish to refer to Chapters 4 and 5 for a description of VMTP ...
... VMTP implementor may wish to refer to Chapters 4 and 5 for a description of VMTP event handling and only refer to this detailed description as needed. ...
... segment data portion of the packet (if any), excluding the checksum field. (Every VMTP packet is required to be a multiple of 64 bits, possibly by ...
... Function Code: 1 bit - types of VMTP packets. If the low-order bit of the function code is 0, the packet is sent to the ...
... 32 bits The Request Code and Response Code, set either at the user level or VMTP level depending on use and packet type. Both the Request and Response codes include 8 ...
... the segment data is null and the SegmentSize field is not used by VMTP and available for user- or RPC-level uses. ...
... CRE CoResident Entity - indicates that the CoResidentEntity field in the message should be interpreted by VMTP. Otherwise, this field is available for additional user data. ...
... desired to to this Request if it is multicast. Otherwise, the VMTP module can discard subsequent Responses after the first Response. ...
... Interface Code - Values for Code with this bit set are reserved for definition by the VMTP specification and other standard protocols defined on top of VMTP ...
... VMTP specification and other standard protocols defined on top of VMTP. RES ...
... User Data 12 octets Space in the header for the VMTP user to specify user-specific control and data. ...
... segment to be transmitted. On receipt, the MsgDelivery field is modified by the VMTP module to indicate the segment data blocks that were actually received before the message ...
... segment data. The VMTP checksum algorithm <9> develops a 32-bit checksum ...
... bit words, which may easily occur due to software errors. A future version of VMTP is expected to include a more secure algorithm, but such an algorithm ...


... This chapter describes the operation of the client portion of VMTP in terms of the procedures for handling VMTP user events, packet reception ...
... client portion of VMTP in terms of the procedures for handling VMTP user events, packet reception events, management operations and timeout events. Note that the client ...
... management operations and timeout events. Note that the client portion of VMTP is separable from the server portion. It is feasible to have a node that only implements the client ...
... have a node that only implements the client end of VMTP. To simplify the description, we define a client ...
... this entity. VMTP Header Prototype VMTP header ...
... VMTP Header Prototype VMTP header, used to generate and store the header ...
... locate and queue one descriptor with various operations (rather than having to locate two descriptors). It also saves space, given that the VMTP header prototype provides space such as the user data field which ...
... The RPC or user interface to VMTP is implementation-dependent and may use systems calls, functions or some other mechanism. The list of requests that follow is intended to suggest the basic functionality that ...
... The following events may occur in the VMTP client: ...
... The minimal Client implementation handles Request packets for its VMTP management (server) module and sends NotifyVmtpClient requests in response to others, indicating the specified ...
... A user event occurs when a VMTP user application invokes one of the VMTP interface procedures. ...
... A user event occurs when a VMTP user application invokes one of the VMTP interface procedures. ...
... For each of the 2 packet types, we assume a procedure called with a pointer p to the VMTP packet and psize, the size of the packet in octets. Thus, generic packet reception is: ...
... if OppositeByteOrder(p) then ByteSwap( p, psize ) if psize not equal sizeof(VmtpHeader) + 4*p.Length then NotifyClient(NULL, p, VMTP_ERROR ) return Invoke Procedure[p.FuncCode]( csr, p, psize ) ...
... 1. The Procedure[p.FuncCode] refers to one of the 2 procedures corresponding to the two different packet types of VMTP, Requests and Responses. ...
... if (NSRset(p) or NERset(p)) and NoStreaming then NotifyServer(csr, p, VMTP_ERROR ) return | if NSRset(p) then ...
... VMTP uses management operations (invoked as remote procedure calls) to ...
... if OppositeByteOrder(p) then ByteSwap( p, psize ) if psize not equal sizeof(VmtpHeader) + 4*p.Length then NotifyClient(NULL, p, VMTP_ERROR ) return ...


... This section describes the operation of the server portion of the protocol in terms of the procedures for handling VMTP user events, packet reception events and timeout events. Each server is assumed to implement the client ...
... Client or else it sends a Probe request (as a separate VMTP message transaction) to the VMTP ...
... request (as a separate VMTP message transaction) to the VMTP management module associated with the Client. In the latter case, ...
... The RPC or user interface to VMTP is implementation-dependent and may use systems calls, functions or some other mechanism. The list of requests that follow is intended to suggest the basic functionality that ...
... The following events may occur in VMTP servers. - User Requests ...
... A user event occurs when a VMTP server invokes one of the VMTP interface ...
... A user event occurs when a VMTP server invokes one of the VMTP interface procedures. ...
... forwarded. When the second server returns a Response, the same Response is immediately returned to the Client. The forwarding support in VMTP preserves these semantics while providing some performance ...
... callback.) GetForwarder is implemented as a callback to the Client, using a GetRequestForwarder VMTP management operation. Additional management procedures for ...
... management operation. Additional management procedures for VMTP are described in Appendix III. ...
... VMTP uses management operations (invoked as remote procedure calls) to ...
... Client and does a callback to the Client's VMTP management module to get the Principal, ...
... | if OppositeByteOrder(p) then ByteSwap( p, psize ) | if psize not equal sizeof(VmtpHeader) + 4*p.Length then | NotifyClient(NULL, p, VMTP_ERROR ) | return | HandleRequest( csr, p, psize ) ...


... This document represents a description of the current state of the VMTP design. We are currently engaged in several experimental ...
... checksum algorithms that are suitable for calculation in software. Implementation of the streaming facilities of VMTP is still in progress. This facility is expected to be important for wide-area, long delay communication. ...


... I. Standard VMTP Response Codes ...
... The following are the numeric values of the response codes used in VMTP. 0 OK ...
... 7 NOT_AWAITING_MSG 8 VMTP_ERROR 9 MSGTRANS_OVERFLOW ...
... AUTHENTICATOR 25-63 Reserved for future VMTP assignment. Other values of the codes are available for use by higher level ...


... II. VMTP RPC Presentation Protocol ...
... For complete generality, the mapping of the procedures and the parameters onto VMTP messages should be defined by a RPC presentation protocol. In the absence of an accepted standard protocol, we define an ...
... presentation protocol. In the absence of an accepted standard protocol, we define an RPC presentation protocol for VMTP as follows. Each procedure is assigned an identifying Request Code. The Request ...
... function. A public interface is one that is to be used in multiple independently developed modules. In VMTP, public interface codes are allocated in units of 256 structured as ...


... III. VMTP Management Procedures ...
... Standard procedures are defined for VMTP management, including creation, deletion and query ...
... client or the server. The procedures are implemented by the VMTP manager that constitutes a portion of every complete VMTP module. Each procedure is invoked by ...
... The procedures are implemented by the VMTP manager that constitutes a portion of every complete VMTP module. Each procedure is invoked by sending a Request to the VMTP manager that handles the entity ...
... portion of every complete VMTP module. Each procedure is invoked by sending a Request to the VMTP manager that handles the entity specified in the operation or the local manager. The Request sent using the ...
... entity group VMTP_MANGER_GROUP, using the CoResident Entity mechanism to direct ...
... the request to the specific manager that should handle the Request. (The ProbeEntity operation is multicast to the VMTP_MANAGER_GROUP if the host ...
... semantics. (The RequestCode range 0xVV000100 to 0xVV0001FF is reserved for use by the VMTP management routines, where VV is any choice of control flags with the PIC ...
... entity in the specified authDomain, sending the Request to the VMTP management module coresident with CREntity. An error return is given if the requested information ...
... Entity has refused to provide ProbeResponse. VMTP_ERROR The Request packet group was in error relative to the ...
... The Request packet group was in error relative to the VMTP protocol specification. ...
... authentication of the entity specified by entityId from the VMTP manager coresident with CREntity in authDomain authentication domain, returning the ...
... Entity. This is the "working" key for packet transmissions. VMTP only uses private +-----------------------------------------------+ ...
... domains, authdomains, domainlist) Query the VMTP management module for entityId to get various module- or node ...
... principal for the forwarder of entityId1. CREntity should be zero to get the local VMTP management module. ...
... 0x0500010A - CreateGroup(CREntity,entityGroupId,entityId,perms)->(code) Request that the VMTP manager local to CREntity create an new entity ...
... permissions to add or remove members. (Normally CREntity is 0, indicating the VMTP manager local to the requestor.) ...
... 0x0500010B - AddToGroup(CREntity, entityGroupId, entityId, perms)->(code) Request that the VMTP manager local to CREntity add the specified entityId to the entityGroupId with the specified permissions. If entityGroupId specifies a ...
... group with the required permissions. If CREntity is 0, then the local VMTP manager checks permissions and forwards the request with CREntity set to entityId and the entityId field set to a digital signature ...
... the entityId field set to a digital signature (see below) of the Request by the VMTP manager, certifying that the Client has the permissions required by the ...
... group, the Request can be sent directly to the handling VMTP manager by setting CREntity to entityId.) 0x0500010C - RemoveFromGroup(CREntity, entityGroupId, entityId)->(code) ...
... 0x0500010C - RemoveFromGroup(CREntity, entityGroupId, entityId)->(code) Request that the VMTP manager local to CREntity remove the specified entityId from the group ...
... group specified by entityGroupId. Normally CREntity is 0, indicating the VMTP manager local to the requestor. If CREntity is 0, then the local VMTP manager checks permissions and ...
... VMTP manager local to the requestor. If CREntity is 0, then the local VMTP manager checks permissions and forwards the request with CREntity set to entityId and the entityId field a digital signature ...
... the entityId field a digital signature of the Request by the VMTP manager, certifying that the Client has the permissions required by the Request. ...
... Return information on the specified entity. The Response from each responding VMTP manager is (code, record). The format of the record is (memberCount, member1, member2, ...). The Responses are returned on a ...
... transaction identifier, respectively. This operation is normally used only by another VMTP management module. (Note that it is a datagram ...
... 32-bit value corresponding to 4th 32-bit word of the VMTP header of a Response packet ...
... take, as described below. The VMTP management module should take action on this operation according to the code, as specified below. ...
... address of the Client using the VMTP management ProbeEntity operation (described ...
... group was discarded. VMTP_ERROR The Request packet group was in error relative to the VMTP ...
... VMTP_ERROR The Request packet group was in error relative to the VMTP protocol specification. ...
... transaction identifier, respectively. This operation is normally used only by another VMTP management module. (Note that it is a datagram ...
... take, as listed below. The VMTP management module should take action on this operation according to the code, as specified below. ...
... group was discarded. VMTP_ERROR The Response packet group was in error ...
... Response packet group was in error relative to the VMTP protocol specification. ...
... bit in the RequestCodes to route the request to the correct VMTP management module(s) to handle the request. ...
... permissions for entity groups are as follows: VMTP_GRP_MANAGER 0x00000001 { Manager of group. } VMTP_REM_BY_SELF 0x00000002 { Can be ...
... VMTP_GRP_MANAGER 0x00000001 { Manager of group. } VMTP_REM_BY_SELF 0x00000002 { Can be removed self. } VMTP_REM_BY_PRIN 0x00000004 { Can be rem'ed by same ...
... VMTP_REM_BY_SELF 0x00000002 { Can be removed self. } VMTP_REM_BY_PRIN 0x00000004 { Can be rem'ed by same principal} VMTP_REM_BY_OTHE 0x00000008 { Can be ...
... VMTP_REM_BY_PRIN 0x00000004 { Can be rem'ed by same principal} VMTP_REM_BY_OTHE 0x00000008 { Can be removed any others. } VMTP_ ...
... VMTP_REM_BY_OTHE 0x00000008 { Can be removed any others. } VMTP_ADD_PRIN 0x00000010 { Can add by same principal. } ...
... _ADD_PRIN 0x00000010 { Can add by same principal. } VMTP_ADD_OTHE 0x00000020 { Can add any others. } VMTP_REM_PRIN 0x00000040 { Can ...
... VMTP_ADD_OTHE 0x00000020 { Can add any others. } VMTP_REM_PRIN 0x00000040 { Can remove same principal. } ...
... _REM_PRIN 0x00000040 { Can remove same principal. } VMTP_REM_OTHE 0x00000080 { Can remove any others. } ...
... III.2. VMTP Management Digital Signatures ...


... IV. VMTP Entity Identifier Domains ...
... VMTP allows for several disjoint naming domains for its endpoints. The ...
... For initial use of VMTP, we define the domain with Domain identifier 1 ...
... identifier does not get reused for a long period of time after it becomes invalid. ("Invalid" means that no VMTP module considers in bound to an entity.) One technique is to use the lower order ...
... that are members of the group, not specifically because that service is provided by VMTP. For example, the well-known entity group identifier ...
... RG-1-224.0.1.0 is the well-known restricted VMTP managers group. ...
... identifiers specified to date are: VMTP_MANAGER_GROUP RG-1-224.0.1.0 ...
... GROUP RG-1-224.0.1.0 Managers for VMTP operations. VMTP_DEFAULT_BECLIENT BE-1-224.0.1.0 ...
... Managers for VMTP operations. VMTP_DEFAULT_BECLIENT BE-1-224.0.1.0 Client entity ...
... identifiers. VMTP_DEFAULT_LECLIENT LE-1-224.0.1.0 Client entity ...
... Note that 224.0.1.0 is the host group address assigned to VMTP and to which all VMTP hosts ...
... group address assigned to VMTP and to which all VMTP hosts belong. ...
... group identifiers will be specified in subsequent extensions to VMTP and in higher-level protocols that use VMTP. ...
... will be specified in subsequent extensions to VMTP and in higher-level protocols that use VMTP. ...
... Definition of additional VMTP domains is planned for the future. Requests for allocation of VMTP ...
... VMTP domains is planned for the future. Requests for allocation of VMTP Domains should be addressed to the Internet protocol ...
... identifiers. (Decentralized allocation is used in local domain use of VMTP such as in embedded systems- see Domain 3.) ...
... entity identifier to use) it uses VMTP_DEFAULT_BECLIENT (if big-endian, else VMTP ...
... VMTP_DEFAULT_BECLIENT (if big-endian, else VMTP_DEFAULT_LECLIENT if little-endian) as its client identifier in the ProbeEntityBlock Request and a ...
... ProbeEntityBlock operation. 5. Care is required in a VMTP implementation to ensure that Probe operations cannot be discarded due to lack of buffer ...


... A VMTP authentication domain defines the format and interpretation for principal ...


... VMTP is designed to be implemented on the DoD IP Internet Datagram ...
... directly in "raw" network packets.) VMTP is assigned the protocol number 81. ...
... 20 octet IP header and one segment block, a VMTP packet is 600 octets. By convention, any host implementing VMTP ...
... VMTP packet is 600 octets. By convention, any host implementing VMTP implicitly agrees to accept VMTP/IP packets ...
... host implementing VMTP implicitly agrees to accept VMTP/IP packets of at least 600 octets. ...
... /IP packets of at least 600 octets. VMTP multicast facilities are designed to work with, and have been implemented using, the multicast ...
... described in RFC 966(-> 988(-> 1112std5 | 1054(-> 1112std5))) and 988(-> 1112std5 | 1054(-> 1112std5)). The wide-scale use of full VMTP/IP depends on the availability of IP multicast ...


... "intrinsic" quality of the protocol design. One of the design goals of the VMTP effort was to produce an efficiently implementable protocol. The following notes and suggestions are based on experience with implementing VMTP ...
... VMTP effort was to produce an efficiently implementable protocol. The following notes and suggestions are based on experience with implementing VMTP in the V distributed system and the UNIX 4.3 BSD ...
... associated with a service to allow it to communicate as a client using VMTP with other services. ...
... client state record. The CSR contains a VMTP header as well as other bookkeeping fields, including timeout count, retransmission ...
... worst, a CSR per Client with which the server has communicated with recently.) The CSR contains a VMTP header as well as various bookkeeping fields including timeout count, retransmission ...
... Client to CSR as well as the transmission, timeout and reception queues. In a VMTP module implementing both the client and server functions, the same timeout ...
... bit.) 2. Modifies the VMTP header for each packet as required e.g. changing the delivery ...
... delivery mask as appropriate. 3. Computes the VMTP checksum. ...
... VII.5. VMTP Management Module ...
... The implementation should implement the management operations as a separate module that is invoked from within the VMTP module. When a Request is received, either from the local user level or the network, ...
... Request is received, either from the local user level or the network, for the VMTP management module, the management module is invoked as a ...
... management operation, especially operations like NotifyVmtpClient and NotifyVmtpServer, are logically part of the VMTP module because they require full access to the basic data structures of the VMTP ...
... VMTP module because they require full access to the basic data structures of the VMTP implementation. ...
... implementations of the management module have been done at the kernel level, along with VMTP proper. ...
... . The scheme described may have to be adapted to the operating system in which VMTP is to be implemented. This mechanism handles client request ...
... up-to-date information about a Client as well as predictable host machine turnaround in processing a request. (VMTP assumes and requires an efficient, bounded response time implementation of the ProbeEntity operation.) ...
... Logically a network packet containing a VMTP packet is 5 portions: - network ...
... headers - VMTP header ...
... segment - VMTP checksum ...
... It may be advantageous to receive a packet fragmented into these portions, if supported by the network module. In this case, ideally the VMTP header may be received directly into a CSR, the data segment into a ...
... page that can be mapped, rather than copied, to its final destination, with VMTP checksum and network header ...
... The implementation of streaming is optional in both VMTP clients and servers. Ideally, all performance-critical ...
... stream. For the server VMTP module, streamed message transactions to a server are queued (if accepted) subordinate to the first unprocessed CSR ...
... message transactions using the NotifyVmtpClient operation. Also, all client VMTP's that support streaming must support the streamed interface to a server that does not support streaming. That is, it must perform ...
... descriptor. The V kernel implementation is able to perform a VMTP message transaction with no data ...
... time of 9 milliseconds and data rate of 1.9 megabits per second using 16 kilobyte Responses. This implementation is using the standard VMTP checksum. ...


... VIII. UNIX 4.3 BSD Kernel Interface for VMTP ...
... A socket of type transaction bound to the VMTP protocol type IPPROTO_VMTP is created ...
... transaction bound to the VMTP protocol type IPPROTO_VMTP is created by the call ...
... s = socket(AF_INET, SOCK_TRANSACT, VMTP); This socket ...
... A UNIX process acting as a VMTP server accepts a Request by the operation ...



Google
Web
RFC-Ref