rfc1045.txt
来自「<VC++网络游戏建摸与实现>源代码」· 文本 代码 · 共 1,491 行 · 第 1/5 页
TXT
1,491 行
Network Working Group David CheritonRequest for Comments: 1045 Stanford University February 1988 VMTP: VERSATILE MESSAGE TRANSACTION PROTOCOL Protocol SpecificationSTATUS OF THIS MEMOThis RFC describes a protocol proposed as a standard for the Internetcommunity. Comments are encouraged. Distribution of this document isunlimited.OVERVIEWThis memo specifies the Versatile Message Transaction Protocol (VMTP)[Version 0.7 of 19-Feb-88], a transport protocol specifically designedto support the transaction model of communication, as exemplified byremote procedure call (RPC). The full function of VMTP, includingsupport for security, real-time, asynchronous message exchanges,streaming, multicast and idempotency, provides a rich selection to theVMTP user level. Subsettability allows the VMTP module for particularclients and servers to be specialized and simplified to the servicesactually required. Examples of such simple clients and servers includePROM network bootload programs, network boot servers, data sensors andsimple controllers, to mention but a few examples.RFC 1045 VMTP February 1988 Table of Contents1. Introduction 1 1.1. Motivation 2 1.1.1. Poor RPC Performance 2 1.1.2. Weak Naming 3 1.1.3. Function Poor 3 1.2. Relation to Other Protocols 4 1.3. Document Overview 52. Protocol Overview 6 2.1. Entities, Processes and Principals 7 2.2. Entity Domains 9 2.3. Message Transactions 10 2.4. Request and Response Messages 11 2.5. Reliability 12 2.5.1. Transaction Identifiers 13 2.5.2. Checksum 14 2.5.3. Request and Response Acknowledgment 14 2.5.4. Retransmissions 15 2.5.5. Timeouts 15 2.5.6. Rate Control 18 2.6. Security 19 2.7. Multicast 21 2.8. Real-time Communication 22 2.9. Forwarded Message Transactions 24 2.10. VMTP Management 25 2.11. Streamed Message Transactions 25 2.12. Fault-Tolerant Applications 28 2.13. Packet Groups 29 2.14. Runs of Packet Groups 31 2.15. Byte Order 32 2.16. Minimal VMTP Implementation 33 2.17. Message vs. Procedural Request Handling 33 2.18. Bibliography 343. VMTP Packet Formats 37 3.1. Entity Identifier Format 37 3.2. Packet Fields 38Cheriton [page i]RFC 1045 VMTP February 1988 3.3. Request Packet 45 3.4. Response Packet 474. Client Protocol Operation 49 4.1. Client State Record Fields 49 4.2. Client Protocol States 51 4.3. State Transition Diagrams 51 4.4. User Interface 52 4.5. Event Processing 53 4.6. Client User-invoked Events 54 4.6.1. Send 54 4.6.2. GetResponse 56 4.7. Packet Arrival 56 4.7.1. Response 58 4.8. Management Operations 61 4.8.1. HandleNoCSR 62 4.9. Timeouts 645. Server Protocol Operation 66 5.1. Remote Client State Record Fields 66 5.2. Remote Client Protocol States 66 5.3. State Transition Diagrams 67 5.4. User Interface 69 5.5. Event Processing 70 5.6. Server User-invoked Events 71 5.6.1. Receive 71 5.6.2. Respond 72 5.6.3. Forward 73 5.6.4. Other Functions 74 5.7. Request Packet Arrival 74 5.8. Management Operations 78 5.8.1. HandleRequestNoCSR 79 5.9. Timeouts 826. Concluding Remarks 84I. Standard VMTP Response Codes 85II. VMTP RPC Presentation Protocol 87Cheriton [page ii]RFC 1045 VMTP February 1988 II.1. Request Code Management 87III. VMTP Management Procedures 89 III.1. Entity Group Management 100 III.2. VMTP Management Digital Signatures 101IV. VMTP Entity Identifier Domains 102 IV.1. Domain 1 102 IV.2. Domain 3 104 IV.3. Other Domains 105 IV.4. Decentralized Entity Identifier Allocation 105V. Authentication Domains 107 V.1. Authentication Domain 1 107 V.2. Other Authentication Domains 107VI. IP Implementation 108VII. Implementation Notes 109 VII.1. Mapping Data Structures 109 VII.2. Client Data Structures 111 VII.3. Server Data Structures 111 VII.4. Packet Group transmission 112 VII.5. VMTP Management Module 113 VII.6. Timeout Handling 114 VII.7. Timeout Values 114 VII.8. Packet Reception 115 VII.9. Streaming 116 VII.10. Implementation Experience 117VIII. UNIX 4.3 BSD Kernel Interface for VMTP 118Index 120Cheriton [page iii]RFC 1045 VMTP February 1988 List of Figures Figure 1-1: Relation to Other Protocols 4 Figure 3-1: Request Packet Format 45 Figure 3-2: Response Packet Format 47 Figure 4-1: Client State Transitions 52 Figure 5-1: Remote Client State Transitions 68 Figure III-1: Authenticator Format 92 Figure VII-1: Mapping Client Identifier to CSR 109 Figure VII-2: Mapping Server Identifiers 110 Figure VII-3: Mapping Group Identifiers 111Cheriton [page iv]RFC 1045 VMTP February 1988 1. IntroductionThe Versatile Message Transaction Protocol (VMTP) is a transportprotocol designed to support remote procedure call (RPC) and generaltransaction-oriented communication. By transaction-orientedcommunication, we mean that: - Communication is request-response: A client sends a request for a service to a server, the request is processed, and the server responds. For example, a client may ask for the next page of a file as the service. The transaction is terminated by the server responding with the next page. - A transaction is initiated as part of sending a request to a server and terminated by the server responding. There are no separate operations for setting up or terminating associations between clients and servers at the transport level. - The server is free to discard communication state about a client between transactions without causing incorrect behavior or failures.The term message transaction (or transaction) is used in the reminder ofthis document for a request-response exchange in the sense describedabove.VMTP handles the error detection, retransmission, duplicate suppressionand, optionally, security required for transport-level end-to-endreliability.The protocol is designed to provide a range of behaviors within thetransaction model, including: - Minimal two packet exchanges for short, simple transactions. - Streaming of multi-packet requests and responses for efficient data transfer.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?