📄 rfc2967.txt
字号:
Network Working Group L. DaigleRequest for Comments: 2967 Thinking Cat EnterprisesCategory: Informational R. Hedberg Catalogix October 2000 TISDAG - Technical Infrastructure for Swedish Directory Access GatewaysStatus of this Memo This memo provides information for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited.Copyright Notice Copyright (C) The Internet Society (2000). All Rights Reserved.Abstract The strength of the TISDAG (Technical Infrastructure for Swedish Directory Access Gateways) project's DAG proposal is that it defines the necessary technical infrastructure to provide a single-access- point service for information on Swedish Internet users. The resulting service will provide uniform access for all information -- the same level of access to information (7x24 service), and the same information made available, irrespective of the service provider responsible for maintaining that information, their directory service protocols, or the end-user's client access protocol.Table of Contents 1.0 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . 5 1.1 Project Goal. . . . . . . . . . . . . . . . . . . . . . . . . 5 1.2 Executive Summary of Technical Study Result . . . . . . . . . 5 1.3 Document Overview . . . . . . . . . . . . . . . . . . . . . . 6 1.4 Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.0 Requirements. . . . . . . . . . . . . . . . . . . . . . . . . 7 2.1 End-User Requirements . . . . . . . . . . . . . . . . . . . . 8 2.2 WDSPs Requirements. . . . . . . . . . . . . . . . . . . . . . 8 2.3 DAG-System Requirements . . . . . . . . . . . . . . . . . . . 9 3.0 Functional Specification. . . . . . . . . . . . . . . . . . . 9 3.1 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.2 The DAG Core. . . . . . . . . . . . . . . . . . . . . . . . . 10 3.3 Client Interface. . . . . . . . . . . . . . . . . . . . . . . 11 3.3.1 Acceptable User Input . . . . . . . . . . . . . . . . . . . 12Daigle & Hedberg Informational [Page 1]RFC 2967 TISDAG October 2000 Supported Query Types. . . . . . . . . . . . . . . . . . . . . 12 Matching Semantics . . . . . . . . . . . . . . . . . . . . . . 12 Character Sets . . . . . . . . . . . . . . . . . . . . . . . . 13 3.3.2 Data Output Spec. . . . . . . . . . . . . . . . . . . . . . 14 Schema Definition. . . . . . . . . . . . . . . . . . . . . . . 14 Referral Definition. . . . . . . . . . . . . . . . . . . . . . 14 Error conditions . . . . . . . . . . . . . . . . . . . . . . . 14 3.4 Directory Server Interface. . . . . . . . . . . . . . . . . . 14 4.0 Architecture. . . . . . . . . . . . . . . . . . . . . . . . . 15 4.1 Software Components . . . . . . . . . . . . . . . . . . . . . 15 4.1.1 Internal Communications . . . . . . . . . . . . . . . . . . 15 4.1.2 Referral Index. . . . . . . . . . . . . . . . . . . . . . . 15 4.1.3 DAG-CAPs. . . . . . . . . . . . . . . . . . . . . . . . . . 15 4.1.4 DAG-SAPs. . . . . . . . . . . . . . . . . . . . . . . . . . 17 4.2 Important Architectural Notes . . . . . . . . . . . . . . . . 17 4.2.1 2 Distinct Functions: Referrals and Chaining . . . . . . . 17 4.2.2 Limited Query and Response Semantics. . . . . . . . . . . . 17 4.2.3 Visibility. . . . . . . . . . . . . . . . . . . . . . . . . 17 4.2.4 Richness of Query semantics . . . . . . . . . . . . . . . . 18 4.2.5 N+M Protocol Mappings . . . . . . . . . . . . . . . . . . . 18 4.2.6 DAG-CAPs and DAG-SAPs are completely independent of each other. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 4.2.7 The Role of the DAG-CAP . . . . . . . . . . . . . . . . . . 18 4.2.8 The Role of the DAG-SAP . . . . . . . . . . . . . . . . . . 19 4.2.9 DAG/IP is internal. . . . . . . . . . . . . . . . . . . . . 19 4.2.10 Expectations . . . . . . . . . . . . . . . . . . . . . . . 19 4.2.11 Future Extensions. . . . . . . . . . . . . . . . . . . . . 19 5.0 Software Specifications . . . . . . . . . . . . . . . . . . . 19 5.1 Notational Convention . . . . . . . . . . . . . . . . . . . . 19 5.2 DAG-CAP Basics. . . . . . . . . . . . . . . . . . . . . . . . 20 5.2.1 Functionality . . . . . . . . . . . . . . . . . . . . . . . 20 5.2.2 Configuration . . . . . . . . . . . . . . . . . . . . . . . 21 5.2.3 Error handling. . . . . . . . . . . . . . . . . . . . . . . 21 5.2.4 Pruning of results. . . . . . . . . . . . . . . . . . . . . 22 5.3 DAG-SAP Basics. . . . . . . . . . . . . . . . . . . . . . . . 22 5.3.1 Functionality . . . . . . . . . . . . . . . . . . . . . . . 22 5.3.2 Configuration . . . . . . . . . . . . . . . . . . . . . . . 23 5.3.3 Error handling. . . . . . . . . . . . . . . . . . . . . . . 23 5.3.4 Pruning of results. . . . . . . . . . . . . . . . . . . . . 23 5.3.5 Constraint precedence . . . . . . . . . . . . . . . . . . . 23 5.4 The Referral Index. . . . . . . . . . . . . . . . . . . . . . 24 5.4.1 Architecture. . . . . . . . . . . . . . . . . . . . . . . . 24 5.4.2 Interactions with WDSPs (CIP) . . . . . . . . . . . . . . . 24 5.4.3 Index Object Format . . . . . . . . . . . . . . . . . . . . 24 5.4.4 DAG-Internal I/O. . . . . . . . . . . . . . . . . . . . . . 24 5.4.5 The Index Server. . . . . . . . . . . . . . . . . . . . . . 24 5.4.6 Configuration . . . . . . . . . . . . . . . . . . . . . . . 25 5.4.7 Security. . . . . . . . . . . . . . . . . . . . . . . . . . 25Daigle & Hedberg Informational [Page 2]RFC 2967 TISDAG October 2000 5.5 Mail (SMTP) DAG-CAP . . . . . . . . . . . . . . . . . . . . . 25 5.5.1 Mail DAG-CAP Input. . . . . . . . . . . . . . . . . . . . . 26 5.5.2 Translation from Mail query to DAG/IP . . . . . . . . . . . 28 Querying the Referral Index. . . . . . . . . . . . . . . . . . 28 Querying a DAG-SAP . . . . . . . . . . . . . . . . . . . . . . 29 5.5.3 Chaining queries in Mail DAG-CAP. . . . . . . . . . . . . . 31 5.5.4 Expression of results in Mail DAG-CAP . . . . . . . . . . . 31 5.5.5 Expression of Errors in Mail DAG-CAP. . . . . . . . . . . . 31 5.6 Web (HTTP) DAG-CAP. . . . . . . . . . . . . . . . . . . . . . 32 5.6.1 Web DAG-CAP Input . . . . . . . . . . . . . . . . . . . . . 32 5.6.2 Translation from Web query to DAG/IP. . . . . . . . . . . . 33 Querying a DAG-SAP Directly. . . . . . . . . . . . . . . . . . 33 Querying the Referral Index. . . . . . . . . . . . . . . . . . 33 Querying a DAG-SAP . . . . . . . . . . . . . . . . . . . . . . 35 5.6.3 Chaining queries in Web DAG-CAP . . . . . . . . . . . . . . 36 5.6.4 Expression of results in Web DAG-CAP. . . . . . . . . . . . 36 text/html results. . . . . . . . . . . . . . . . . . . . . . . 36 application/whoispp-response Results . . . . . . . . . . . . . 37 5.6.5 Expression of Errors in Web DAG-CAP . . . . . . . . . . . . 37 Standard Errors. . . . . . . . . . . . . . . . . . . . . . . . 38 5.7 Whois++ DAG-CAP . . . . . . . . . . . . . . . . . . . . . . . 38 5.7.1 Whois++ DAG-CAP Input . . . . . . . . . . . . . . . . . . . 38 5.7.2 Translation from Whois++ query to DAG/IP. . . . . . . . . . 39 Querying the Referral Index. . . . . . . . . . . . . . . . . . 39 Querying a DAG-SAP . . . . . . . . . . . . . . . . . . . . . . 39 5.7.3 Chaining in Whois++ DAG-CAP . . . . . . . . . . . . . . . . 40 5.7.4 Expression of results in Whois++. . . . . . . . . . . . . . 41 5.7.5 Expression of Errors in Whois++ DAG-CAP . . . . . . . . . . 41 5.8 LDAPv2 DAG-CAP. . . . . . . . . . . . . . . . . . . . . . . . 42 5.8.1 LDAPv2 DAG-CAP Input. . . . . . . . . . . . . . . . . . . . 42 5.8.2 Translation from LDAPv2 query to DAG/IP . . . . . . . . . . 44 Querying the Referral Index. . . . . . . . . . . . . . . . . . 44 Querying a DAG-SAP . . . . . . . . . . . . . . . . . . . . . . 46 5.8.3 Chaining queries in LDAPv2 DAG-CAP. . . . . . . . . . . . . 48 5.8.4 Expression of results in LDAPv2 . . . . . . . . . . . . . . 48 5.8.5 Expression of Errors in LDAPv2 DAG-CAP. . . . . . . . . . . 48 5.9 LDAPv3 DAG-CAP. . . . . . . . . . . . . . . . . . . . . . . . 50 5.9.1 LDAPv3 DAG-CAP Input. . . . . . . . . . . . . . . . . . . . 50 5.9.2 Translation from LDAPv3 query to DAG/IP . . . . . . . . . . 51 Querying the Referral Index. . . . . . . . . . . . . . . . . . 51 Querying a DAG-SAP . . . . . . . . . . . . . . . . . . . . . . 54 5.9.3 Chaining queries in LDAPv3 DAG-CAP. . . . . . . . . . . . . 55 5.9.4 Expression of results in LDAPv3 . . . . . . . . . . . . . . 55 5.9.5 Expression of Errors in LDAPv3 DAG-CAP. . . . . . . . . . . 56 5.10 Whois++ DAG-SAP. . . . . . . . . . . . . . . . . . . . . . . 57 5.10.1 Input. . . . . . . . . . . . . . . . . . . . . . . . . . . 57 5.10.2 Translation from DAG/IP to Whois++ query . . . . . . . . . 58 5.10.3 Translation of Whois++ results to DAG/IP . . . . . . . . . 58Daigle & Hedberg Informational [Page 3]RFC 2967 TISDAG October 2000 5.11 LDAPv2 DAG-SAP . . . . . . . . . . . . . . . . . . . . . . . 59 5.11.1 Input. . . . . . . . . . . . . . . . . . . . . . . . . . . 59 5.11.2 Translation from DAG/IP to LDAPv2 query. . . . . . . . . . 59 5.11.3 Translation of LDAPv2 results to DAG/IP. . . . . . . . . . 61 5.12 LDAPv3 DAG-SAP . . . . . . . . . . . . . . . . . . . . . . . 62 5.12.1 Input. . . . . . . . . . . . . . . . . . . . . . . . . . . 62 5.12.2 Translation from DAG/IP to LDAPv3 query. . . . . . . . . . 62 5.12.3 Translation of LDAPv3 results to DAG/IP. . . . . . . . . . 64 5.13 Example Queries. . . . . . . . . . . . . . . . . . . . . . . 64 5.13.1 A Whois++ Query. . . . . . . . . . . . . . . . . . . . . . 65 What the Whois++ DAG-CAP Receives. . . . . . . . . . . . . . . 65 What the Whois++ DAG-CAP sends to the Referral Index . . . . . 65 What the Whois++ DAG-CAP Sends to an LDAP DAG-SAP. . . . . . . 65 5.13.2 An LDAP Query. . . . . . . . . . . . . . . . . . . . . . . 66 What the LDAP DAG-CAP Receives . . . . . . . . . . . . . . . . 66 5.13.3 What the LDAP DAG-CAP sends to the Referral Index. . . . . 67 What the LDAP DAG-CAP Sends to a Whois++ DAG-SAP . . . . . . . 67 What the LDAP DAG-CAP Sends to an LDAP DAG-SAP . . . . . . . . 68 6.0 Service Specifications. . . . . . . . . . . . . . . . . . . . 68 6.1 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . 68 6.2 WDSP Participation. . . . . . . . . . . . . . . . . . . . . . 69 6.3 Load Distribution . . . . . . . . . . . . . . . . . . . . . . 69 6.4 Extensibility . . . . . . . . . . . . . . . . . . . . . . . . 72 7.0 Security. . . . . . . . . . . . . . . . . . . . . . . . . . . 73 7.1 Information credibility . . . . . . . . . . . . . . . . . . . 73 7.2 Unauthorized access . . . . . . . . . . . . . . . . . . . . . 73 8.0 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 74 Appendix A - DAG Schema Definitions . . . . . . . . . . . . . . . 75 A.1 DAG Personal Information Schema (DAGPERSON Schema). . . . . . 76 A.2 DAG Organizational Role Information Schema (DAGORGROLE Schema). . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 Appendix B - Schema Mappings for Whois++ and LDAP . . . . . . . . 77 B.1 LDAP and the DAG Schemas. . . . . . . . . . . . . . . . . . . 78 B.2 Whois++ and the DAG Schemas . . . . . . . . . . . . . . . . . 81 Appendix C - DAG-Internal Protocol (DAG/IP) . . . . . . . . . . . 82 C.1 A word on the choice of DAG/IP. . . . . . . . . . . . . . . . 83 C.2 DAG/IP Input and Output -- Overview . . . . . . . . . . . . . 83 C.3 BNF for DAG/IP input and output . . . . . . . . . . . . . . . 83 C.3.1 The DAG/IP Input Grammar. . . . . . . . . . . . . . . . . . 84 C.3.2 The DAG/IP Response Grammar . . . . . . . . . . . . . . . . 87 C.4 DAG/IP Response Messages. . . . . . . . . . . . . . . . . . . 89 Appendix D - DAG/IP Response Messages Mapping . . . . . . . . . . 93 Appendix E - DAG CIP Usage. . . . . . . . . . . . . . . . . . . . 95 E.1 CIP Index Object. . . . . . . . . . . . . . . . . . . . . . . 95 E.2 CIP Index Object Creation . . . . . . . . . . . . . . . . . . 97 E.3 CIP Index Object Sharing. . . . . . . . . . . . . . . . . . . 98 E.3.1 Registration of Servers . . . . . . . . . . . . . . . . . . 98 E.3.2 Transmission of Objects . . . . . . . . . . . . . . . . . .100Daigle & Hedberg Informational [Page 4]RFC 2967 TISDAG October 2000 Appendix F - Summary of Technical Survey Results. . . . . . . . .100 Appendix G - Useful References. . . . . . . . . . . . . . . . . .102 Bibliography. . . . . . . . . . . . . . . . . . . . . . . . . . .102 Authors' Addresses. . . . . . . . . . . . . . . . . . . . . . . .104 Full Copyright Statement. . . . . . . . . . . . . . . . . . . . .105List of Tables Table 3.1 DAG-supported queries . . . . . . . . . . . . . . . . .12 Table 5.1 Allowable Whois++ Queries . . . . . . . . . . . . . . .38 Table A.1 DAGPERSON schema attributes . . . . . . . . . . . . . .76 Table A.2 DAGORGROLE schema attributes. . . . . . . . . . . . . .77 Table B.1 Canonical DAGPERSON schema & LDAP inetorgPerson attributes . . . . . . . . . . . . . . . . . . . . . . . . . .79 Table B.2 Reasonable Approximations for LDAP organizationalRole attributes . . . . . . . . . . . . . . . . . . . . . . . . . .79 Table B.3 Canonical mappings for LDAP organizationalRole attributes . . . . . . . . . . . . . . . . . . . . . . . . . .81 Table B.4 Canonical DAGPERSON schema & Whois++ USER attributes. .81 Table B.5 Canonical mappings for Whois++ ORGROLE attributes . . .82 Table C.1 List of system response codes . . . . . . . . . . . . .90 Table D.1 LDAPv2/v3 resultcodes to DAG/IP response codes mapping. . . . . . . . . . . . . . . . . . . . . . . . . . . .93 Table D.2 Mapping from DAG/IP response codes to LDAPv2/v3 resultcodes. . . . . . . . . . . . . . . . . . . . . . . . . .94 Table D.3 Mapping between DAG/IP and Whois++ response codes . . .94 Table F.1 Summary of TISDAG Survey Results: Queries . . . . . . 101 Table F.2 Summary of TISDAG Survey Results: Operational Information. . . . . . . . . . . . . . . . . . . . . . . . . 1011.0 Introduction1.1 Project Goal The overarching goal of this project is to develop the necessary technical infrastructure to provide a single-access-point service for searching for whitepages information on Swedish Internet users. The service must be uniform for all information -- the same level of access to information (7x24 service), and the same whitepages information made available, irrespective of the service provider responsible for maintaining that information.1.2 Executive Summary of Technical Study Result The strength of the TISDAG project's DAG proposal is that it defines the necessary technical infrastructure to provide a single-access- point service for information on Swedish Internet users. The resulting service will provide uniform access for all information --Daigle & Hedberg Informational [Page 5]RFC 2967 TISDAG October 2000 the same level of access to information (7x24 service), and the same information made available, irrespective of the service provider responsible for maintaining that information, their directory service protocols, or the end-user's client access protocol. Instead of requiring centralized mirroring of complete information records from Swedish directory service providers, the DAG system uses a well-defined index object summary of that data, updated at the directory service provider's convenience. When an end-user queries the DAG, the referral information is used (by the end-user's software, or by a module within the DAG, as appropriate) to complete the final query directly at the directory service provider's system. This ensures that the end-user gets the most up-to-date complete information, and promotes the directory service provider's main interest: its service. The architecture of the DAG itself is very modular; support for future protocols can be added in the operational system.1.3 Document Overview This document is broken into 5 major sections: Requirements: As a service, the DAG system will have several different types of users. In order to be successful, those users' needs (requirements) must be met. This in turn defines certain constraints, or system requirements, that must be met. This section aims to capture the baseline requirement assumptions to be addressed by the system, and thus lays the groundwork on which the rest of the proposed system is built. Functional Specification Overview: Working from the users' requirements, specific technologies and functionality details are outlined to architect a system that will meet the stated
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -