1 - 2 - 3 - 4 - 6 - 8 - A - B - C - D - E - F - G - H - I - J - K - L - M - N - O - P - Q - R - S - T - U - V - W - X
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 ...
... 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.
...
... 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-
...
...
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
...
... 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.
...
... 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 ...
... 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
...
... state record
(which is created and updated by VMTP as needed). Message tampering is
detected by encryption of the packet including the Checksum field ...
... 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 entities and entity groups. 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 ...
... 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 ...
... 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
...
... 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 ...
... 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 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
...
... 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
...
... 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.
...
... | 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
...
...
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 ...
... 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
...
... 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
...
... 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 ...
... take, as described below.
The VMTP management module should take action on this
operation according to the code, as specified below.
...
... 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.
...
... 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. }
...
... 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 ...
... 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.)
...
... 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 ...
... 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 ...
... /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
...
... 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.)
...
... 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.
...
