rfc1045.txt
来自「中、英文RFC文档大全打包下载完全版 .」· 文本 代码 · 共 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 + -
显示快捷键?