rfc1045.txt

来自「中、英文RFC文档大全打包下载完全版 .」· 文本 代码 · 共 1,491 行 · 第 1/5 页

TXT
1,491
字号
                hearing from a client) before discarding the state                associated with the Request which allows it to filter                duplicate Request packets and regenerate the Response.TS5(Client)     The time to wait for an acknowledgment after sending a                Response before retransmitting the Response, or givingCheriton                                                       [page 17]RFC 1045                       VMTP                        February 1988                 up (after some number of retransmissions).TS1 is set the same as TC3.The suggested value for TS2 is TC1 + 3*TC2 for this server, giving theClient time to timeout waiting for a Response and retransmit 3 Requestpackets, asking for acknowledgments.TS3 is estimated the same as TC1 except that refinements to the estimateuse measurements of the Response-to-acknowledgment times.In the general case, TS4 is set large enough so that a Client issuing aseries of closely-spaced Requests to the same Server reuses the samestate record at the Server end and thus does not incur the overhead ofrecreating this state.  (The Server can recreate the state for a Clientby performing a Probe on the Client to get the needed information.)  Itshould also be set low enough so that the transaction identifier cannotwrap around and so that the Server does not run out of CSR's.  Wesuggest a value in the range of 500 milliseconds.  However, if theServer accepts non-idempotent Requests from this Client without doing aProbe on the Client, the TS4 value for this CSR is set to at least 4times the maximum packet lifetime.TS5 is TS3 plus the expected time for transmission and reception of theResponse.  We suggest that the latter be calculated as 3 times thetransmission time for the Response data, allowing time for reception,processing and transmission of an acknowledgment at the Client end.  Asophisticated implementation may refine this estimate further over timeby timing acknowledgments to Responses.2.5.6. Rate ControlVMTP is designed to deal with the present and future problem of packetoverruns.  We expect overruns to be the major cause of dropped packetsin the future.  A client is expected to estimate and adjust theinterpacket gap times so as to not overrun a server or intermediatenodes.  The selective retransmission mechanism allows the server toindicate that it is being overrun (or some intermediate point is beingoverrun).  For example, if the server requests retransmission of everyKth block, the client should assume overrun is taking place and increasethe interpacket gap times.  The client passes the server an indicationof the interpacket gap desired for a response.  The client may have toincrease the interval because packets are being dropped by anintermediate gateway or bridge, even though it can handle a higher rate.A conservative policy is to increase the interpacket gap whenever apacket is lost as part of a multi-packet packet group.Cheriton                                                       [page 18]RFC 1045                       VMTP                        February 1988 The provision of selective retransmission allows the rate of the clientand the server to "push up" against the maximum rate (and thus losepackets) without significant penalty.  That is, every time that packettransmission exceeds the rate of the channel or receiver, the recoverycost to retransmit the dropped packets is generally far less thanretransmitting from the first dropped packet.The interpacket gap is expressed in 1/32nd's of the MTU packettransmission time.  The minimum interpacket gap is 0 and the maximum gapthat can be described in the protocol is 8 packet times.  This places alimit on the slowest receivers that can be efficiently used on anetwork, at least those handling multi-packet Requests and Responses.This scheme also limits the granularity of adjustment.  However, thegranularity is relative to the speed of the network, as opposed to anabsolute time.  For entities on different networks of significantlydifferent speed, we assume the interconnecting gateways can bufferpackets to compensate<2>. With different network speeds and intermediarynodes subject to packet loss, a node must adjust the interpacket gapbased on packet loss.  The interpacket gap parameter may be of limiteduse.2.6. SecurityVMTP provides an (optional) secure mode that protects against the usualsecurity threats of peeking, impostoring, message tampering and replays.Secure VMTP must be used to guarantee any of the transport-levelreliability properties unless it is guaranteed that there are nointruders or agents that can modify packets and update the packetchecksums.  That is, non-secure VMTP provides no guarantees in thepresence of an intelligent intruder.The design closely follows that described by Birrell [1].  Authenticatedinformation about a remote entity, including an encryption/decryptionkey, is obtained and maintained using a VMTP management operation, theauthenticated Probe operation, which is executed as a non-secure VMTPmessage transaction.  If a server receives a secure Request for whichthe server has no entity state, it sends a Probe request to the VMTP_______________<2>   Gateways must also employ techniques to preserve or intelligentlymodify (if appropriate) the interpacket gaps.  In particular, they mustbe sure not to arbitrarily remove interpacket gaps as a result of theirforwarding of packets.Cheriton                                                       [page 19]RFC 1045                       VMTP                        February 1988 management module of the client, "challenging" it to provide anauthenticator that both authenticates the client as being associatedwith a particular principal as well as providing a key forencryption/decryption.  The principal can include a real and effectiveprincipal, as used in UNIX <3>.  Namely, the real principal is theprincipal on whose behalf the Request is being performed whereas theeffective principal is the principal of the module invoking the requestor remote procedure call.Peeking is prevented by encrypting every Request and Response packetwith a working Key that is shared between Client and Server.Impostoring and replays are detected by comparing the Transactionidentifier with that stored in the corresponding entity state record(which is created and updated by VMTP as needed).  Message tampering isdetected by encryption of the packet including the Checksum field.  Anintruder cannot update the checksum after modifying the packet withoutknowing the Key.  The cost of fully encrypting a packet is close to thecost of generating a cryptographic checksum (and of course, encryptionis needed in the general case), so there is no explicit provision forcryptographic checksum without packet encryption.A Client determines the Principal of the Server and acquires anauthenticator for this Server and Principal using a higher levelprotocol.  The Server cannot decrypt the authenticator or the Requestpackets unless it is in fact the Principal expected by the Client.An encrypted VMTP packet is flagged by the EPG bit  in the VMTP packetheader.  Thus, encrypted packets are easily detected and demultiplexedfrom unencrypted packets.  An encrypted VMTP packet is entirelyencrypted except for the Client, Version, Domain, Length and PacketFlags fields at the beginning of the packet.  Client identifiers can beassigned, changed and used to have no real meaning to an intruder or toonly communicate public information (such as the host Internet address).They are otherwise just a random means of identification anddemultiplexing and do not therefore divulge any sensitive information.Further secure measures must be taken at the network or data link levelsif this information or traffic behavior is considered sensitive.VMTP provides multiple authentication domains  as well as an encryptionqualifier to accommodate different encryption algorithms and their_______________<3>   Principal group membership must be obtained, if needed, by ahigher level protocol.Cheriton                                                       [page 20]RFC 1045                       VMTP                        February 1988 corresponding security/performance trade-offs.  (See Appendix V.)  Aseparate key distribution and authentication protocol is required tohandle generation and distribution of authenticators and keys.  Thisprotocol can be implemented on top of VMTP and can closely follow theBirrell design as well.Security is optional in the sense that messages may be secure ornon-secure, even between consecutive message transactions from the sameclient.  It is also optional in that VMTP clients and servers are notrequired to implement secure VMTP (although they are required to respondintelligently to attempts to use secure VMTP).  At worst, a Client mayfail to communicate with a Server if the Server insists on securecommunication and the Client does not implement security or vice versa.However, a failure to communicate in this case is necessary from asecurity standpoint.2.7. MulticastThe Server entity identifier in a message transaction can identify anentity group, in which case the Request is multicast to every Entity inthis group (on a best-efforts basis).  The Request is retransmitteduntil at least one Response is received (or an error timeout occurs)unless it is a datagram Request.  The Client can receive multipleResponses to the Request.The VMTP service interface does not directly provide reliable multicastbecause it is expensive to provide, rarely needed by applications, andcan be implemented by applications using the multiple Response feature.However, the protocol itself is adequate for reliable multicast usingpositive acknowledgments.  In particular, a sophisticated Clientimplementation could maintain a list of members for each entity group ofinterest 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 isset in a Request, the Request is delivered to the subgroup of entitiesin the Server group that are co-resident with one or more entities inthe group (or individual entity) identified by the CoresidentEntityfield of the Request.  This is commonly used to send to the managerentity for a particular entity, where Server specifies the group of suchmanagers.  Co-resident means "using the same VMTP module", and logicallyon the same network host.  In particular, a Probe request can be sent tothe particular VMTP management module for an entity by specifying theVMTP management group as the Server and the entity in question as theCoResidentEntity.Cheriton                                                       [page 21]RFC 1045                       VMTP                        February 1988 As an experimental aspect of the protocol, VMTP supports the Serversending a group Response which is sent to the Client as well as membersof the destination group of Servers to which the original Request wassent.  The MDG bit indicates whether the Client is a member of thisgroup, allowing the Server module to determine whether separatelyaddressed packet groups are required to send the Response to both theClient and the Server group.  Normally, a Server accepts a groupResponse only if it has received the Request and not yet responded tothe Client.  Also, the Server must explicitly indicate it wants toaccept group Responses.  Logically, this facility is analogous toresponding to a mail message sent to a distribution list by sending acopy of the Response to the distribution list.2.8. Real-time CommunicationVMTP provides three forms of support for real-time communication, inaddition to its standard facilities, which make it applicable to a widerange of real-time applications.  First, a priority is transmitted ineach Request and Response which governs the priority of its handling.The priority levels are intended to correspond roughly to:   - urgent/emergency.   - important   - normal   - background.with additional gradations for each level.  The interpretation andimplementation of these priority levels is otherwise host-specific, e.g.the assignment to host processing priorities.Second, datagram Requests allow the Client to send a datagram to anotherentity or entity group using the VMTP naming, transmission and deliverymechanism, but without blocking, retransmissions or acknowledgment.(The client can still request acknowledgment using the APG bit althoughthe Server does not expect missing portions of a multi-packet datagramRequest to be retransmitted even if some are not received.)  A datagramRequest in non-streamed mode supersedes all previous Requests from thesame Client.  A datagram Request in stream mode is queued (if necessary)after previous datagram Requests on the same stream.  (See Section2.11.)Finally, VMTP provides several control bit flags to modify the handlingof Requests and Responses for real-time requirements.  First, theCheriton                                                       [page 22]RFC 1045                       VMTP                        February 1988 conditional message delivery (CMD) flag causes a Request to be discardedif the recipient is not waiting for it when it arrives, similarly forthe Response.  This option allows a client to send a Request that iscontingent on

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?