rfc1045.txt

来自「<VC++网络游戏建摸与实现>源代码」· 文本 代码 · 共 1,491 行 · 第 1/5 页

TXT
1,491
字号
   - Datagram and multicast communication as an extension of the     transaction model.Example Uses:   - Page-level file access - VMTP is intended as the transport     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 fileCheriton                                                        [page 1]RFC 1045                       VMTP                        February 1988      servers.   - Distributed programming - VMTP is intended to provide an     efficient transport level protocol for remote procedure call     implementations, distributed object-oriented systems plus     message-based systems that conform to the request-response     model.   - Multicast communication with groups of servers to:  locate a     specific object within the group, update a replicated object,     synchronize the commitment of a distributed transaction, etc.   - Distributed real-time control with prioritized message     handling, including datagrams, multicast and asynchronous     calls.The protocol is designed to operate on top of a simple unreliabledatagram service, such as is provided by IP.1.1. MotivationVMTP was designed to address three categories of deficiencies withexisting transport protocols in the Internet architecture.  We use TCPas the key current transport protocol for comparison.1.1.1. Poor RPC PerformanceFirst, current protocols provide poor performance for remote procedurecall (RPC) and network file access.  This is attributable to three keycauses:   - TCP requires excessive packets for RPC, especially for     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     its functionality.   - TCP handles packet loss due to overruns poorly.  We claim that     overruns are the key source of packet loss in a     high-performance RPC environment and, with the increasingCheriton                                                        [page 2]RFC 1045                       VMTP                        February 1988      performance of networks, will continue to be the key source.     (Older machines and network interfaces cannot keep up with new     machines and network interfaces.  Also, low-end network     interfaces for high-speed networks have limited receive     buffering.)VMTP is designed for ease of implementation and efficient RPC.  Inaddition, it provides selective retransmission with rate-based flowcontrol, thus addressing all of the above issues.1.1.2. Weak NamingSecond, current protocols provide inadequate naming of transport-levelendpoints because the names are based on IP addresses.  For example, aTCP endpoint is named by an Internet address and port identifier.Unfortunately, this makes the endpoint tied to a particular hostinterface, not specifically the process-level state associated with thetransport-level endpoint.  In particular, this form of naming causesproblems for process migration, mobile hosts and multi-homed hosts.VMTP provides host-address independent names, thereby solving the abovementioned problems.In addition, TCP provides no security and reliability guarantees on thedynamically allocated names.  In particular, other than well-knownports, (host-addr, port-id)-tuples can change meaning on rebootfollowing a crash.  VMTP provides large identifiers with guarantee ofstability, meaning that either the identifier never changes in meaningor else remains invalid for a significant time before becoming validagain.1.1.3. Function PoorTCP does not support multicast, real-time datagrams or security.  Infact, it only supports pair-wise, long-term, streamed reliableinterchanges.  Yet, multicast is of growing importance and is beingdeveloped for the Internet (see RFC 966 and 988).  Also, a datagramfacility with the same naming, transmission and reception facilities asthe normal transport level is a powerful asset for real-time andparallel applications.  Finally, security is a basic requirement in anincreasing number of environments.  We note that security is natural toimplement at the transport level to provide end-to-end security (asopposed to (inter)network level security).  Without security at thetransport level, a transport level protocol cannot guarantee thestandard transport level service definition in the presence of anintruder.  In particular, the intruder can interject packets or modifyCheriton                                                        [page 3]RFC 1045                       VMTP                        February 1988 packets while updating the checksum, making mockery out of thetransport-level claim of "reliable delivery".In contrast, VMTP provides multicast, real-time datagrams and security,addressing precisely these weaknesses.In general, VMTP is designed with the next generation of communicationsystems in mind.  These communication systems are characterized asfollows.  RPC, page-level file access and other request-responsebehavior dominates.  In addition, the communication substrate, bothlocal and wide-area, provides high data rates, low error rates andrelatively low delay.  Finally, intelligent, high-performance networkinterfaces are common and in fact required to achieve performance thatapproximates the network capability.  However, VMTP is also designed tofunction acceptably with existing networks and network interfaces.1.2. Relation to Other ProtocolsVMTP is a transport protocol that fits into the layered Internetprotocol environment.  Figure 1-1 illustrates the place of VMTP in theprotocol hierarchy. +-----------+ +----+ +-----------------+ +------+ |File Access| |Time| |Program Execution| |Naming|... Application +-----------+ +----+ +-----------------+ +------+      Layer       |           |           |             |      |       +-----------+-----------+-------------+------+                               |                        +------------------+                        | RPC Presentation |          Presentation                        +------------------+          Layer                                  |            +------+          +--------+            |  TCP |          | VMTP   |              Transport            +------+          +--------+              Layer                |                  |           +-----------------------------------+           |       Internet Protocol & ICMP    |      Internetwork           +-----------------------------------+      Layer               Figure 1-1:   Relation to Other ProtocolsThe RPC presentation level is not currently defined in the Internetsuite of protocols.  Appendix II defines a proposed RPC presentationlevel for use with VMTP and assumed for the definition of the VMTPmanagement procedures.  There is also a need for the definition of theCheriton                                                        [page 4]RFC 1045                       VMTP                        February 1988 Application layer protocols listed above.If internetwork services are not required, VMTP can be used without theIP layer, layered directly on top of the network or data link layers.1.3. Document OverviewThe next chapter gives an overview of the protocol, covering naming,message structure, reliability, flow control, streaming, real-time,security, byte-ordering and management.  Chapter 3 describes the VMTPpacket formats.  Chapter 4 describes the client VMTP protocol operationin terms of pseudo-code for event handling.  Chapter 5 describes theserver VMTP protocol operation in terms of pseudo-code for eventhandling.  Chapter 6 summarizes the state of the protocol, someremaining issues and expected directions for the future.  Appendix Ilists some standard Response codes.  Appendix II describes the RPCpresentation protocol proposed for VMTP and used with the VMTPmanagement procedures.  Appendix III lists the VMTP managementprocedures.  Appendix IV proposes initial approaches for handling entityidentification for VMTP.  Appendix V proposes initial authenticationdomains for VMTP.  Appendix VI provides some details for implementingVMTP on top of IP.  Appendix VII provides some suggestions on hostimplementation of VMTP, focusing on data structures and supportfunctions.  Appendix VIII describes a proposed program interface forUNIX 4.3 BSD and its descendants and related systems.Cheriton                                                        [page 5]RFC 1045                       VMTP                        February 1988 2. Protocol OverviewVMTP provides an efficient, reliable, optionally secure transportservice in the message transaction or request-response model with thefollowing features:   - Host address-independent naming with provision for multiple     forms of names for endpoints as well as associated (security)     principals.  (See Sections 2.1, 2.2, 3.1 and Appendix IV.)   - Multi-packet request and response messages, with a maximum     size of 4 megaoctets per message.  (Sections 2.3 and 2.14.)   - Selective retransmission. (Section 2.13.)  and rate-based flow     control to reduce overrun and the cost of overruns.  (Section     2.5.6.)   - Secure message transactions with provision for a variety of     encryption schemes.  (Section 2.6.)   - Multicast message transactions with multiple response messages     per request message.  (Section 2.7.)   - Support for real-time communication with idempotent message     transactions with minimal server overhead and state (Section     2.5.3), datagram request message transactions with no     response, optional header-only checksum, priority processing     of transactions, conditional delivery and preemptive handling     of requests (Section 2.8)   - Forwarded message transactions as an optimization for certain     forms of nested remote procedure calls or message     transactions.  (Section 2.9.)   - Multiple outstanding (asynchronous) message transactions per     client.  (Section 2.11.)   - An integrated management module, defined with a remote     procedure call interface on top of VMTP providing a variety of     communication services (Section 2.10.)   - Simple subset implementation for simple clients and simple     servers.  (Section 2.16.)This chapter provides an overview of the protocol as introduction to thebasic ideas and as preparation for the subsequent chapters that describethe packet formats and event processing procedures in detail.Cheriton                                                        [page 6]RFC 1045                       VMTP                        February 1988 

⌨️ 快捷键说明

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