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 + -
显示快捷键?