⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 draft-daigle-napstr-04.txt

📁 bind 9.3结合mysql数据库
💻 TXT
📖 第 1 页 / 共 4 页
字号:
   required for the client to reach the final server for a "ProtB"   service for IM for the thinkingcat.example domain is as follows:   Client   NS for                NS for            thinkingcat.example   example.com    backup.im.example.com                |                     |                  |     1 -------->|                     |                  |     2 <--------|                     |                  |     3 ------------------------------>|                  |     4 <------------------------------|                  |     5 ------------------------------>|                  |     6 <------------------------------|                  |     7 ------------------------------>|                  |     8 <------------------------------|                  |     9 ------------------------------------------------->|    10 <-------------------------------------------------|    11 ------------------------------------------------->|    12 <-------------------------------------------------|   (...)   1.  the name server (NS) for thinkingcat.example is reached with a        request for all NAPTR records   2.  the server responds with the NAPTR records shown in Section 4.3.   3.  the second NAPTR record matches the desired criteria; that has an        "s" flag and a replacement fields of "_ProtB._tcp.example.com".        So, the client looks up SRV records for that target, ultimately        making the request of the NS for example.com.   4.  the response includes the SRV records listed in Section 4.3.   5.  the client attempts to reach the server with the lowest PREF in        the SRV list -- looking up the A record for the SRV record's        target (bigiron.example.com).   6.  the example.com NS responds with an error message -- no such        machine!   7.  the client attempts to reach the second server in the SRV list,        and looks up the A record for backup.im.example.com   8.  the client gets the A record with the IP address for        backup.im.example.com from example.com's NS.Daigle & Newton          Expires August 15, 2004               [Page 12]Internet-Draft           draft-daigle-napstr-04            February 2004   9.  the client connects to that IP address, on port 10001 (from the        SRV record), using ProtB over tcp.   10.  the server responds with an "OK" message.   11.  the client uses ProtB to challenge that this server has        credentials to operate the service for the original domain        (thinkingcat.example)   12.  the server responds, and the rest is IM.5. Motivation and Discussion   Increasingly, application protocol standards are using domain names   to identify server targets, and stipulating that clients should look   up SRV resource records to determine the host and port providing the   server.  This enables a distinction between naming an application   service target and actually hosting the server.  It also increases   flexibility in hosting the target service:   o  the server may be operated by a completely different organization      without having to list the details of that organization's DNS      setup (SRVs)   o  multiple instances can be set up (e.g., for load balancing or      secondaries)   o  it can be moved from time to time without disrupting clients'      access, etc.   This is quite useful, but Section 5.1 outlines some of the   limitations inherent in the approach.   That is, while SRV records can be used to map from a specific service   name and protocol for a specific domain to a specific server, SRV   records are limited to one layer of indirection, and are focused on   server administration rather than on application naming.  And, while   the DDDS specification and use of NAPTR allows multiple levels of   redirection before locating the target server machine with an SRV   record, this proposal requires only a subset of NAPTR strictly bound   to domain names, without making use of the REGEXP field of NAPTR.   These restrictions make the client's resolution process much more   predictable and efficient than with some potential uses of NAPTR   records.  This is dubbed "S-NAPTR" -- a "S"traightforward use of   NAPTR records.Daigle & Newton          Expires August 15, 2004               [Page 13]Internet-Draft           draft-daigle-napstr-04            February 20045.1 So, why not just SRV records?   An expected question at this point is: this is so similar in   structure to SRV records, why are we doing this with DDDS/NAPTR?   Limitations of SRV include:   o  SRV provides a single layer of indirection -- the outcome of an      SRV lookup is a new domain name for which the A RR is to be found.   o  the purpose of SRV is focused on individual server administration,      not application naming: as stated in [5] "The SRV RR allows      administrators to use several servers for a single domain, to move      services from host to host with little fuss, and to designate some      hosts as primary servers for a service and others as backups."   o  target servers by "service" (e.g., "ldap") and "protocol" (e.g.,      "tcp") in a given domain.  The definition of these terms implies      specific things (e.g., that protocol should be one of UDP or TCP)      without being precise.  Restriction to UDP and TCP is insufficient      for the uses described here.   The basic answer is that SRV records provide mappings from protocol   names to host and port.  The use cases described herein require an   additional layer -- from some service label to servers that may in   fact be hosted within different administrative domains.  We could   tweak SRV to say that the next lookup could be something other than   an address record, but that is more complex than is necessary for   most applications of SRV.5.2 So, why not just NAPTR records?   That's a trick question.  NAPTR records cannot appear in the wild --   see [6].  They must be part of a DDDS application.   The purpose here is to define a single, common mechanism (the DDDS   application) to use NAPTR when all that is desired is simple DNS-   based location of services.  This should be easy for applications to   use -- some simple IANA registrations and it's done.   Also, NAPTR has very powerful tools for expressing "rewrite" rules.   That power (==complexity) makes some protocol designers and service   administrators nervous.  The concern is that it can translate into   unintelligible, noodle-like rule sets that are difficult to test and   administer.   This proposed DDDS application specifically uses a subset of NAPTR's   abilities.  Only "replacement" expressions are allowed, not "regularDaigle & Newton          Expires August 15, 2004               [Page 14]Internet-Draft           draft-daigle-napstr-04            February 2004   expressions".6. IANA Considerations   This document calls for 2 IANA registries:  one for application   service tags, and one for application protocol tags.   Application service and protocol tags should be defined in an RFC   (unless the "x-" experimental form is used, in which case they are   unregistered).  There are no restrictions placed on the tags other   than that they must conform with the syntax defined below (Appendix   A.5).  The IANA registries should list the tags and the RFC that   defines their use.7. Security Considerations   The security of this approach to application service location is only   as good as the security of the DNS servers along the way.  If any of   them is compromised, bogus NAPTR and SRV records could be inserted to   redirect clients to unintended destinations.  This problem is hardly   unique to S-NAPTR (or NAPTR in general).   To protect against DNS-vectored attacks, applications should define   some form of end-to-end authentication to ensure that the correct   destination has been reached.  Many application protocols such as   HTTPS, BEEP, IMAP, etc...  define the necessary handshake mechansims   to accomplish this task.   The basic mechanism works in the following way:   1.  During some portion of the protocol handshake, the client sends       to the server the original name of the desired destination (i.e.       no transformations that may have resulted from NAPTR       replacements, SRV targets, or CNAME changes).  In certain cases       where the application protocol does not have such a feature but       TLS may be used, it is possible to use the "server_name" TLS       extension.   2.  The server sends back to the client a credential with the       appropriate name.  For X.509 certificates, the name would either       be in the subjectDN or subjectAltName fields.  For Kerberos, the       name would be a service principle name.   3.  Using the matching semantics defined by the application protocol,       the client compares the name in the credential with the name sent       to the server.   4.  If the names match, there is reasonable assurance that theDaigle & Newton          Expires August 15, 2004               [Page 15]Internet-Draft           draft-daigle-napstr-04            February 2004       correct end point has been reached.   It is important to note that this document does not define either the   handshake mechanism, the specific credenential naming fields, nor the   name matching semantics.  Definitions of S-NAPTR for particular   application protocols MUST define these.8. Acknowledgements   Many thanks to Dave Blacka, Patrik Faltstrom, Sally Floyd for   discussion and input that has (hopefully!) provoked clarifying   revisions of this document.References   [1]  Berners-Lee, T., Fielding, R. and L. Masinter, "Uniform Resource        Identifiers (URI): Generic Syntax", RFC 2396, August 1998.   [2]  Bradner, S., "Key words for use in RFCs to Indicate Requirement        Levels", BCP 14, RFC 2119, March 1997.   [3]  Crocker, D. and P. Overell, "Augmented BNF for Syntax        Specifications: ABNF", RFC 2234, November 1997.   [4]  Eastlake, D., "Domain Name System Security Extensions", RFC        2535, March 1999.   [5]  Gulbrandsen, A., Vixie, P. and L. Esibov, "A DNS RR for        specifying the location of services (DNS SRV)", RFC 2782,        February 2000.   [6]  Mealling, M., "Dynamic Delegation Discovery System (DDDS) Part        One: The Comprehensive DDDS", RFC 3401, October 2002.   [7]  Mealling, M., "Dynamic Delegation Discovery System (DDDS) Part        Three: The Domain Name System (DNS) Database", RFC 3403, October        2002.   [8]  Mealling, M., "Dynamic Delegation Discovery System (DDDS) Part        Four: The Uniform Resource Identifiers (URI)", RFC 3404, October        2002.Daigle & Newton          Expires August 15, 2004               [Page 16]Internet-Draft           draft-daigle-napstr-04            February 2004Authors' Addresses   Leslie Daigle   VeriSign, Inc.   21355 Ridgetop Circle   Dulles, VA  20166   US   EMail: leslie@verisignlabs.com; leslie@thinkingcat.com   Andrew Newton   VeriSign, Inc.   21355 Ridgetop Circle   Dulles, VA  20166   US   EMail: anewton@verisignlabs.comAppendix A. Application Service Location Application of DDDS   This section defines the DDDS application, as described in [6].A.1 Application Unique String   The Application Unique String is domain label for which an   authoritative server for a particular service is sought.

⌨️ 快捷键说明

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