diff options
| author | Thomas Voss <mail@thomasvoss.com> | 2024-11-27 20:54:24 +0100 | 
|---|---|---|
| committer | Thomas Voss <mail@thomasvoss.com> | 2024-11-27 20:54:24 +0100 | 
| commit | 4bfd864f10b68b71482b35c818559068ef8d5797 (patch) | |
| tree | e3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc1664.txt | |
| parent | ea76e11061bda059ae9f9ad130a9895cc85607db (diff) | |
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc1664.txt')
| -rw-r--r-- | doc/rfc/rfc1664.txt | 1291 | 
1 files changed, 1291 insertions, 0 deletions
| diff --git a/doc/rfc/rfc1664.txt b/doc/rfc/rfc1664.txt new file mode 100644 index 0000000..82b036c --- /dev/null +++ b/doc/rfc/rfc1664.txt @@ -0,0 +1,1291 @@ + + + + + + +Network Working Group                                       C. Allocchio +Request for Comments: 1664                                     A. Bonito +Category: Experimental                                        GARR-Italy +                                                                 B. Cole +                                                      Cisco Systems Inc. +                                                             S. Giordano +                                     Centro Svizzero Calcolo Scientifico +                                                               R. Hagens +                                             Advanced Network & Services +                                                             August 1994 + + +                 Using the Internet DNS to Distribute +                  RFC1327 Mail Address Mapping Tables + +Status of this Memo + +   This memo defines an Experimental Protocol for the Internet +   community.  This memo does not specify an Internet standard of any +   kind.  Distribution of this memo is unlimited. + +Abstract + +   This memo defines how to store in the Internet Domain Name System the +   mapping information needed by e-mail gateways and other tools to map +   RFC822 domain names into X.400 O/R names and vice versa.  Mapping +   information can be managed in a distributed rather than a centralised +   way. Gateways located on Internet hosts can retrieve the mapping +   information querying the DNS instead of having fixed tables which +   need to be centrally updated and distributed.  This memo is a joint +   effort of X400 operation working group (x400ops) and RARE Mail and +   Messaging working group (WG-MSG). + +1. Introduction + +   The connectivity between the Internet SMTP mail and other mail +   services, including the Internet X.400 mail and the commercial X.400 +   service providers, is assured by the Mail eXchanger (MX) record +   information distributed via the Internet Domain Name System (DNS). A +   number of documents then specify in details how to convert or encode +   addresses from/to RFC822 style to the other mail system syntax. +   However, only conversion methods provide, via some algorithm or a set +   of mapping rules, a smooth translation, resulting in addresses +   indistinguishable from the native ones in both RFC822 and foreign +   world. + +   RFC1327 describes a set of mappings which will enable interworking +   between systems operating the CCITT X.400 (1984/88) Recommendations + + + +Allocchio, Bonito, Cole, Giordano & Hagens                      [Page 1] + +RFC 1664          Internet DNS for Mail Mapping Tables       August 1994 + + +   and systems using the RFC822 mail protocol, or protocols derived from +   RFC822. That document addresses conversion of services, addresses, +   message envelopes, and message bodies between the two mail systems. +   This document is concerned with one aspect of RFC1327: the mechanism +   for mapping between X.400 O/R addresses and RFC822 domain names. As +   described in Appendix F of RFC1327, implementation of the mappings +   requires a database which maps between X.400 O/R addresses and domain +   names, and this database is statically defined. + +   This approach requires many efforts to maintain the correct mapping: +   all the gateways need to get coherent tables to apply the same +   mappings, the conversion tables must be distributed among all the +   operational gateways, and also every update needs to be distributed. +   This static mechanism requires quite a long time to be spent +   modifying and distributing the information, putting heavy constraints +   on the time schedule of every update.  In fact it does not appear +   efficient compared to the Internet Domain Name Service (DNS).  More +   over it does not look feasible to distribute the database to a large +   number of other useful applications, like local address converters, +   e-mail User Agents or any other tool requiring the mapping rules to +   produce correct results. + +   A first proposal to use the Internet DNS to store, retrieve and +   maintain those mappings was introduced by two of the authors (B. Cole +   and R. Hagens) adopting two new DNS resource record (RR)  types: TO- +   X400 and TO-822. This new proposal adopts a more complete strategy, +   and requires one new RR only. The distribution of the RFC1327 mapping +   rules via DNS is in fact an important service for the whole Internet +   community: it completes the information given by MX resource record +   and it allows to produce clean addresses when messages are exchanged +   among the Internet RFC822 world and the X.400 one (both Internet and +   Public X.400 service providers). + +   A first experiment in using the DNS without expanding the current set +   of RR and using available ones was in the mean time deployed by some +   of the authors. The existing PTR resource records were used to store +   the mapping rules, and a new DNS tree was created under the ".it" top +   level domain. The result of the experiment was positive, and a few +   test applications ran under this provisional set up. This test was +   also very useful in order to define a possible migration strategy +   during the deployment of the new DNS containing the new RR. The +   Internet DNS nameservers wishing to provide this mapping information +   need in fact to be modified to support the new RR type, and in the +   real Internet, due to the large number of different implementations, +   this takes some time. + +   The basic idea is to adopt a new DNS RR to store the mapping +   information. The RFC822 to X.400 mapping rules (including the so + + + +Allocchio, Bonito, Cole, Giordano & Hagens                      [Page 2] + +RFC 1664          Internet DNS for Mail Mapping Tables       August 1994 + + +   called 'gate' rules) will be stored in the ordinary DNS tree, while +   the definition of a new branch of the name space defined under each +   national top level domain is envisaged in order to contain the X.400 +   to RFC822 mappings. A "two-way" mapping resolution schema is thus +   fully implemented. + +   The creation of the new domain name space representing the X.400 O/R +   names structure also provides the chance to use the DNS to distribute +   dynamically other X.400 related information, thus solving other +   efficiency problems currently affecting the X.400 MHS service. + +   In this paper we will adopt the RFC1327 mapping rules syntax, showing +   how it can be stored into the Internet DNS. + +1.1 Definitions syntax + +   The definitions in this document is given in BNF-like syntax, using +   the following conventions: + +      |   means choice +      \   is used for continuation of a definition over several lines +      []  means optional +      {}  means repeated one or more times + +   The definitions, however, are detailed only until a certain level, +   and below it self-explaining character text strings will be used. + +2. Motivation + +   Implementations of RFC1327 gateways require that a database store +   address mapping information for X.400 and RFC822. This information +   must be disseminated to all RFC1327 gateways. In the Internet +   community, the DNS has proven to be a practical mean for providing a +   distributed name service. Advantages of using a DNS based system over +   a table based approach for mapping between O/R addresses and domain +   names are: + +     - It avoids fetching and storing of entire mapping tables by every +       host that wishes to implement RFC1327 gateways and/or tools + +     - Modifications to the DNS based mapping information can be made +       available in a more timely manner than with a table driven +       approach. + +     - It allows full authority delegation, in agreement with the +       Internet regionalization process. + + + + + +Allocchio, Bonito, Cole, Giordano & Hagens                      [Page 3] + +RFC 1664          Internet DNS for Mail Mapping Tables       August 1994 + + +     - Table management is not necessarily required for DNS-based +       RFC1327 gateways. + +     - One can determine the mappings in use by a remote gateway by +       querying the DNS (remote debugging). + +   Also many other tools, like address converters and User Agents can +   take advantage of the real-time availability of RFC1327 tables, +   allowing a much easier maintenance of the information. + +3. The domain space for X.400 O/R name addresses + +   Usual domain names (the ones normally used as the global part of an +   RFC822 e-mail address) and their associated information, i.e., host +   IP addresses, mail exchanger names, etc., are stored in the DNS as a +   distributed database under a number of top-level domains. Some top- +   level domains are used for traditional categories or international +   organisations (EDU, COM, NET, ORG, INT, MIL...). On the other hand +   any country has its own two letter ISO country code as top-level +   domain (FR, DE, GB, IT, RU, ...), including "US" for USA.  The +   special top-level/second-level couple IN-ADDR.ARPA is used to store +   the IP address to domain name relationship. Our proposal defines in +   the above structure the appropriate way to locate the X.400 O/R name +   space, thus enabling us to store in DNS the RFC1327 mapping data. + +   The RFC1327 mapping information is composed by three tables: 'table1' +   gives the translation from X.400 to RFC822 while 'table2' and 'gate' +   tables map RFC822 into X.400. Each mapping table is composed by +   mapping rules, and a single mapping rule is composed by a keyword +   (the argument of the mapping function derived from the address to be +   translated) and a translator (the mapping function parameter): + +                          keyword#translator# + +   the '#' sign is a delimiter enclosing the translator. An example: + +                foo.bar.us#PRMD$foo\.bar.ADMD$intx.C$us# + +   Local mappings are not intended for use outside their restricted +   environment, thus they should not be included in DNS. If local +   mappings are used, they should be stored using static local tables, +   exactly as local static host tables can be used with DNS. + +   The keyword of a 'table2' and 'gate' table entry is a valid RFC822 +   domain; thus the usual domain name space can be used without problems +   to store these entries. + + + + + +Allocchio, Bonito, Cole, Giordano & Hagens                      [Page 4] + +RFC 1664          Internet DNS for Mail Mapping Tables       August 1994 + + +   On the other hand, the keyword of a 'table1' entry belongs to the +   X.400 O/R name space. The X.400 O/R name space does not usually fit +   into the usual domain name space, although there are a number of +   similarities; a new name structure is thus needed to represent it. +   This new name structure contains the X.400 mail domains. + +   To ensure the correct functioning of the DNS system, the new X.400 +   name structure must be hooked to the existing domain name space in a +   way which respects the existing name hierarchy. + +   A possible solution was to create another special branch, starting +   from the root of the DNS tree, somehow similar to the in-addr.arpa +   tree. This idea would have required to establish a central authority +   to coordinate at international level the management of each national +   X.400 name tree, including the X.400 public service providers. This +   coordination problem is a heavy burden if approached globally. More +   over the X.400 name structure is very 'country oriented': thus while +   it requires a coordination at national level, it does not have +   concepts like the international root. In fact the X.400 international +   service is based  on a large number of bilateral agreements, and only +   within some communities an international coordination service exists. + +   The X.400 two letter ISO country codes, however, are the same used +   for the RFC822 country top-level domains and this gives us an +   appropriate hook to insert the new branches. Our proposal is, in +   fact, to create under each national top level ISO country code a new +   branch in the name space. This branch represents exactly the X.400 +   O/R name structure as defined in each single country, following the +   ADMD, PRMD, O, OU hierarchy. A unique reserved label 'X42D' is placed +   under each country top-level domain, and hence the national X.400 +   name space derives its own structure: + + + + + + + + + + + + + + + + + + + + +Allocchio, Bonito, Cole, Giordano & Hagens                      [Page 5] + +RFC 1664          Internet DNS for Mail Mapping Tables       August 1994 + + +                                    . (root) +                                    | +      +-----------------+-----------+--------+-----------------+... +      |                 |                    |                 | +     edu                it                   us                fr +      |                 |                    |                 | +  +---+---+...    +-----+-----+...     +-----+-----+...     +--+---+... +  |       |       |     |     |        |     |     |        |      | + ...     ...     cnr   X42D  infn      va    ca   X42D     X42D  inria +                        |                    |     |        | +           +------------+------------+...   ...   ...  +----+-------+... +           |            |            |                 |            | +    ADMD-PtPostel  ADMD-garr  ADMD-Master400        ADMD-atlas  ADMD-red +                        |            |                 |            | +             +----------+----+...   ...        +-------+------+... ... +             |               |                 |              | +         PRMD-infn       PRMD-STET        PRMD-Telecom   PRMD-Renault +             |               |                 |              | +            ...             ...               ...            ... + + +   The creation of the X.400 new name tree at national level solves the +   problem of the international coordination. Actually the coordination +   problem is just moved at national level, but it thus becomes easier +   to solve. The coordination at national level between the X.400 +   communities and the Internet world is already a requirement for the +   creation of the national static RFC1327 mapping tables; the use of +   the Internet DNS gives further motivations for this coordination. + +   The coordination at national level also fits in the ongoing proposal +   intended to define exactly the RFC1327 Mapping Authorities. The DNS +   in fact allows a step by step authority distribution, up to a final +   complete delegation, which can be easily controlled at national level +   accordingly with national needs and situations. A further advantage +   of the national based solution is to allow each country to set up its +   own X.400 name structure in DNS and to deploy its own authority +   delegation according to its local time scale and requirements, with +   no loss of global service in the mean time. And last, placing the new +   X.400 name tree and coordination process at national level fits into +   the Internet regionalization and internationalisation process, as it +   requires local bodies to take care of local coordination problems. + +   The DNS name space thus contains completely the information required +   by an e-mail gateway or tool to perform the X.400-RFC822 mapping: a +   simple query to the nearest nameserver provides it. Moreover there is +   no more any need to store, maintain and distribute manually any +   mapping table. The new X.400 name space can also contain further +   information about the X.400 community, as DNS allows for it a + + + +Allocchio, Bonito, Cole, Giordano & Hagens                      [Page 6] + +RFC 1664          Internet DNS for Mail Mapping Tables       August 1994 + + +   complete set of resource records, and thus it allows further +   developments. This set of RRs in the new X.400 name space must be +   considered 'reserved' and thus not used until further specifications. + +   The construction of the new domain space trees will follow the same +   procedures used when organising at first the already existing DNS +   space: at first the information will be stored in a quite centralised +   way, and distribution of authority will be gradually achieved. A +   separate document will describe the implementation phase and the +   methods to assure a smooth introduction of the new service. + +4. The new DNS resource record for RFC1327 mapping rules: PX + +   The specification of the Internet DNS (RFC1035) provides a number of +   specific resource records (RRs) to contain specific pieces of +   information. In particular they contain the Mail eXchanger (MX) RR +   and the host Address (A) records which are used by the Internet SMTP +   mailers. As we will store the RFC822 to X.400 mapping information in +   the already existing DNS name tree, we need to define a new DNS RR in +   order to avoid any possible clash or misuse of already existing data +   structures. The same new RR will also be used to store the mappings +   from X.400 to RFC822. More over the mapping information, i.e., the +   RFC1327 mapping rules, has a specific format and syntax which require +   an appropriate data structure and processing. A further advantage of +   defining a new RR is the ability to include flexibility for some +   eventual future development. + +   The definition of the new 'PX' DNS resource record is: + +      class:        IN   (Internet) + +      name:         PX   (pointer to X.400/RFC822 mapping information) + +      value:        26 + +   The PX RDATA format is: + +          +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ +          |                  PREFERENCE                   | +          +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ +          /                    MAP822                     / +          /                                               / +          +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ +          /                    MAPX400                    / +          /                                               / +          +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ + +   where: + + + +Allocchio, Bonito, Cole, Giordano & Hagens                      [Page 7] + +RFC 1664          Internet DNS for Mail Mapping Tables       August 1994 + + +   PREFERENCE   A 16 bit integer which specifies the preference given to +                this RR among others at the same owner.  Lower values +                are preferred; + +   MAP822       A <domain-name> element containing <rfc822-domain>, the +                RFC822 part of the RFC1327 mapping information; + +   MAPX400      A <domain-name> element containing the value of +                <x400-in-domain-syntax> derived from the X.400 part of +                the RFC1327 mapping information (see sect. 4.2); + +   PX records cause no additional section processing. The PX RR format +   is the usual one: + +             <name> [<class>] [<TTL>] <type> <RDATA> + +   When we store in DNS a 'table1' entry, then <name> will be an X.400 +   mail domain name in DNS syntax (see sect. 4.2). When we store a +   'table2' or a 'gate' table entry, <name> will be an RFC822 mail +   domain name, including both fully qualified DNS domains and mail only +   domains (MX-only domains). All normal DNS conventions, like default +   values, wildcards, abbreviations and message compression, apply also +   for all the components of the PX RR. In particular <name>, MAP822 and +   MAPX400, as <domain-name> elements, must have the final "." (root) +   when they are fully qualified. + +4.1 Additional features of the PX resource record + +   The definition of the RDATA for the PX resource record, and the fact +   that DNS allows a distinction between an exact value and a wildcard +   match for the <name> parameter, represent an extension of the RFC1327 +   specification for mapping rules. In fact, any RFC1327 mapping table +   entry is an implicit wildcard entry, i.e., the rule + +      net2.it#PRMD$net2.ADMD$p400.C$it# + +   covers any RFC822 domain ending with 'net2.it', unless more detailed +   rules for some subdomain in 'net2.it' are present. Thus there is no +   possibility to specify explicitly an RFC1327 entry as an exact match +   only rule. In DNS an entry like + +      *.net2.it.   IN  PX  10   net2.it.  PRMD-net2.ADMD-p400.C-it. + +   specify the usual wildcard match as for RFC1327 tables. However an +   entry like + +      ab.net2.it.  IN  PX  10   ab.net2.it.  O-ab.PRMD-net2.ADMDb.C-it. + + + + +Allocchio, Bonito, Cole, Giordano & Hagens                      [Page 8] + +RFC 1664          Internet DNS for Mail Mapping Tables       August 1994 + + +   is valid only for an exact match of 'ab.net2.it' RFC822 domain. + +   Note also that in DNS syntax there is no '#' delimiter around MAP822 +   and MAPX400 fields: the syntax defined in sect. 4.2 in fact does not +   allow the <blank> (ASCII decimal 32) character within these fields, +   making unneeded the use of an explicit delimiter as required in the +   RFC1327 original syntax. + +   Another extension to the RFC1327 specifications is the PREFERENCE +   value defined as part of the PX RDATA section. This numeric value has +   exactly the same meaning than the similar one used for the MX RR. It +   is thus possible to specify more than one single mapping for a domain +   (both from RFC822 to X.400 and vice versa), giving as the preference +   order. In RFC1327 static tables, however, you cannot specify more +   than one mapping per each RFC822 domain, and the same restriction +   apply for any X.400 domain mapping to an RFC822 one. + +   More over, in the X.400 recommendations a note suggests than an +   ADMD=<blank> should be reserved for some special cases. Various +   national functional profile specifications for an X.400 MHS states +   that if an X.400 PRMD is reachable via any of its national ADMDs, +   independently of its actual single or multiple connectivity with +   them, it should use ADMD=<blank> to advertise this fact. Again, if a +   PRMD has no connections to any ADMD it should use ADMD=0 to notify +   its status, etc. However, in most of the current real situations, the +   ADMD service providers do not accept messages coming from their +   subscribers if they have a blank ADMD, forcing them to have their own +   ADMD value. In such a situation there are problems in indicating +   properly the actually working mappings for domains with multiple +   connectivity. The PX RDATA 'PREFERENCE' extension was introduced to +   take in consideration these problems. + +   However, as these extensions are not available with RFC1327 static +   tables, it is strongly discouraged to use them when interworking with +   any table based gateway or application. The extensions were in fact +   introduced just to add more flexibility, like the PREFERENCE value, +   or they were already implicit in the DNS mechanism, like the wildcard +   specification. They should be used very carefully or just considered +   'reserved for future use'. In particular, for current use, the +   PREFERENCE value in the PX record specification should be fixed to a +   value of 50, and only wildcard specifications should be used when +   specifying <name> values. + +4.2 The DNS syntax for an X.400 'domain' + +   The syntax definition of the RFC1327 mapping rules is defined in +   appendix F of that document. However that syntax is not very human +   oriented and contains a number of characters which have a special + + + +Allocchio, Bonito, Cole, Giordano & Hagens                      [Page 9] + +RFC 1664          Internet DNS for Mail Mapping Tables       August 1994 + + +   meaning in other fields of the Internet DNS. Thus in order to avoid +   any possible problem, especially due to some old DNS implementations +   still being used in the Internet, we define a syntax for the X.400 +   part of any RFC1327 mapping rules (and hence for any X.400 O/R name) +   which makes it compatible with a <domain-name> element, i.e., + +   <domain-name>    ::= <subdomain> | " " +   <subdomain>      ::= <label> | <label> "." <subdomain> +   <label>          ::= <alphanum>| +                        <alphanum> {<alphanumhyphen>} <alphanum> +   <alphanum>       ::= "0".."9" | "A".."Z" | "a".."z" +   <alphanumhyphen> ::= "0".."9" | "A".."Z" | "a".."z" | "-" + +   (see RFC1035, section 2.3.1, page 8).  The legal character set for +   <label> does not correspond to the IA5 Printablestring one used in +   RFC1327 to define mapping rules. However a very simple "escape +   mechanism" can be applied in order to bypass the problem. We can in +   fact simply describe the X.400 part of an RFC1327 mapping rule format +   as: + +     <map-rule>   ::= <map-elem> | <map-elem> { "." <map-elem> } +     <map-elem>   ::= <attr-label> "$" <attr-value> +     <attr-label> ::= "C" | "ADMD" | "PRMD" | "O" | "OU" +     <attr-value> ::= " " | "@" | IA5-Printablestring + +   As you can notice <domain-name> and <map-rule> look similar, and also +   <label> and <map-elem> look the same. If we define the correct method +   to transform a <map-elem> into a <label> and vice versa the problem +   to write an RFC1327 mapping rule in <domain-name> syntax is solved. + +   The RFC822 domain part of any RFC1327 mapping rule is of course +   already in <domain-name> syntax, and thus remains unchanged. + +   In particular, in a 'table1' mapping rule the 'keyword' value must be +   converted into <x400-in-domain-syntax> (X.400 mail DNS mail domain), +   while the 'translator' value is already a valid RFC822 domain.  Vice +   versa in a 'table2' or 'gate' mapping rule, the 'translator' must be +   converted into <x400-in-domain-syntax>, while the 'keyword' is +   already a valid RFC822 domain. + +4.2.1 IA5-Printablestring to <alphanumhyphen> mappings + +   The problem of unmatching IA5-Printablestring and <label> character +   set definition is solved by a simple character mapping rule: whenever +   an IA5 character does not belong to <alphanumhyphen>, then it is +   mapped using its 3 digit decimal ASCII code, enclosed in hyphens. A +   small set of special rules is also defined for the most frequent +   cases. Moreover some frequent characters combinations used in RFC1327 + + + +Allocchio, Bonito, Cole, Giordano & Hagens                     [Page 10] + +RFC 1664          Internet DNS for Mail Mapping Tables       August 1994 + + +   rules are also mapped as special cases. + +   Let's then define the following simple rules: + +    RFC1327 rule          DNS store translation    conditions +    ----------------------------------------------------------------- +    <attr-label>$@        <attr-label>             missing attribute +    <attr-label>$<blank>  <attr-label>"b"          blank attribute +    <attr-label>$xxx      <attr-label>-xxx         elsewhere + +   Non <alphanumhyphen> characters in <attr-value>: + +    RFC1327 rule          DNS store translation    conditions +    ----------------------------------------------------------------- +    -                     -h-                      hyphen +    \.                    -d-                      quoted dot +    <blank>               -b-                      blank +    <non A/N character>   -<3digit-decimal>-       elsewhere + +   If the DNS store translation of <attr-value> happens to end with an +   hyphen, then this last hyphen is omitted. + +   Let's now have some examples: + +    RFC1327 rule          DNS store translation    conditions +    ----------------------------------------------------------------- +    PRMD$@                PRMD                     missing attribute +    ADMD$<blank>          ADMDb                    blank attribute +    ADMD$400-net          ADMD-400-h-net           hyphen mapping +    PRMD$UK\.BD           PRMD-UK-d-BD             quoted dot mapping +    O$ACME Inc\.          O-ACME-b-Inc-d           blank & final hyphen +    PRMD$main-400-a       PRMD-main-h-400-h-a      hyphen mapping +    O$-123-b              O--h-123-h-b             hyphen mapping +    OU$123-x              OU-123-h-x               hyphen mapping +    PRMD$Adis+co          PRMD-Adis-043-co         3digit mapping + +   Thus, an X.400 part from an RFC1327 mapping rule like + +     OU$uuu.O$@.PRMD$ppp\.rrr.ADMD$aaa ddd-mmm.C$cc + +   translates to + +     OU-uuu.O.PRMD-ppp-d-rrr.ADMD-aaa-b-ddd-h-mmm.C-cc + + Another example: + +     OU$sales dept\..O$@.PRMD$ACME.ADMD$ .C$GB + + + + +Allocchio, Bonito, Cole, Giordano & Hagens                     [Page 11] + +RFC 1664          Internet DNS for Mail Mapping Tables       August 1994 + + +   translates to + +     OU-sales-b-dept-d.O.PRMD-ACME.ADMDb.C-GB + +4.2.2 Flow chart + +   In order to achieve the proper DNS store translations of the X.400 +   part of an RFC1327 mapping rules or any other X.400 O/R name, some +   software tools will be used. It is in fact evident that the above +   rules for converting mapping table from RFC1327 to DNS format (and +   vice versa) are not user friendly enough to think of a human made +   conversion. + +   To help in designing such tools, we describe hereunder a small flow +   chart. The fundamental rule to be applied during translation is, +   however, the following: + +      "A string must be parsed from left to right, moving appropriately +      the pointer in order not to consider again the already translated +      left section of the string in subsequent analysis." + +   Flow chart 1 - Translation from RFC1327 to DNS format: + + +                 parse  single attribute +              (enclosed in "." separators) +                           | +            (yes)  ---  <label>$@ ?  ---  (no) +              |                             | +        map to <label>        (no)  <label>$<blank> ?  (yes) +              |                 |                        | +              |           map to <label>-        map to <label>"b" +              |                 |                        | +              |           map "\." to -d-                | +              |                 |                        | +              |           map "-" to -h-                 | +              |                 |                        | +              |    map non A/N char to -<3digit>-        | +  restart     |                 |                        | +     ^        |      remove (if any) last "-"            | +     |        |                 |                        | +     |        \------->     add a  "."    <--------------/ +     |                          | +     \----------  take  next  attribute  (if  any) + + + + + + + +Allocchio, Bonito, Cole, Giordano & Hagens                     [Page 12] + +RFC 1664          Internet DNS for Mail Mapping Tables       August 1994 + + +   Flow chart 2 - Translation from DNS to RFC1327 format: + + +                parse single attribute +            (enclosed in "." separators) +                          | +            (yes) ---- <label> ? ---- (no) +              |                          | +      map to <label>$@        (no) <label>"b" ? (yes) +              |                 |                 | +              |           map to <label>$    map to <label>$<blank> +              |                 |                 | +              |           map -d- to "\."         | +              |                 |                 | +              |           map -h- to "-"          | +              |                 |                 | +              |           map -b- to " "          | +  restart     |                 |                 | +     ^        |   map -<3digit>- to non A/N char  | +     |        |                 |                 | +     |        \-------->   add a "."   <----------/ +     |                         | +     \------------- take next attribute (if any) + + +   Note that the above flow charts deal with the translation of the +   attributes syntax, only. + +4.2.3 The Country Code convention in the <name> value. + +   The RFC822 domain space and the X.400 O/R address space, as said in +   section 3, have one specific common feature: the X.400 ISO country +   codes are the same as the RFC822 ISO top level domains for countries. +   In the previous sections we have also defined a method to write in +   <domain-name> syntax any X.400 domain, while in section 3 we +   described the new name space starting at each country top level +   domain under the X42D.cc (where 'cc' is then two letter ISO country +   code). + +   The <name> value for a 'table1' entry in DNS should thus be derived +   from the X.400 domain value, translated to <domain-name> syntax, +   adding the 'X42D.cc.' post-fix to it, i.e., + +      ADMD$acme.C$fr + +   produces in <domain-name> syntax the key: + +      ADMD-acme.C-fr + + + +Allocchio, Bonito, Cole, Giordano & Hagens                     [Page 13] + +RFC 1664          Internet DNS for Mail Mapping Tables       August 1994 + + +   which is post-fixed by 'X42D.fr.' resulting in: + +      ADMD-acme.C-fr.X42D.fr. + +   However, due to the identical encoding for X.400 country codes and +   RFC822 country top level domains, the string 'C-fr.X42D.fr.' is +   clearly redundant. + +   We thus define the 'Country Code convention' for the <name> key, +   i.e., + +      "The C-cc section of an X.400 domain in <domain-name> syntax must +      be omitted when creating a <name> key, as it is identical to the +      top level country code used to identify the DNS zone where the +      information is stored". + +   Thus we obtain the following <name> key examples: + +   X.400 domain                       DNS <name> key +   -------------------------------------------------------------------- +   ADMD$acme.C$fr                     ADMD-acme.X42D.fr. +   PRMD$ux\.av.ADMD$ .C$gb            PRMD-ux-d-av.ADMDb.X42D.gb. +   PRMD$ppb.ADMD$Dat 400.C$de         PRMD-ppb.ADMD-Dat-b-400.X42D.de. + +4.3 Creating the appropriate DNS files + +   Using RFC1327's assumption of an asymmetric mapping between X.400 and +   RFC822 addresses, two separate relations are required to store the +   mapping database: RFC1327 'table1' and RFC1327 'table2'; thus also in +   DNS we will maintain the two different sections, even if they will +   both use the PX resource record. More over RFC1327 also specify a +   third table: RFC1327 'gate' Table. This additional table, however, +   has the same syntax rules than RFC1327 'table2' and thus the same +   translation procedure as 'table2' will be applied; some details about +   the RFC1327 'gate' table are discussed in section 4.4. + +   Let's now check how to create, from an RFC1327 mapping rule entry, +   the appropriate DNS entry in a DNS data file. We can again define an +   RFC1327 mapping rule entry as defined in appendix F of that document +   as: + +     <x400-domain>#<rfc822-domain>#  (case A: 'table1' entry) + +   and + +     <rfc822-domain>#<x400-domain>#  (case B: 'table2' and 'gate' entry) + +   The two cases must be considered separately. Let's consider case A. + + + +Allocchio, Bonito, Cole, Giordano & Hagens                     [Page 14] + +RFC 1664          Internet DNS for Mail Mapping Tables       August 1994 + + +    - take <x400-domain> and translate it into <domain-name> syntax, +      obtaining <x400-in-domain-syntax>; +    - create the <name> key from <x400-in-domain-syntax> i.e., apply +      the Country Code convention described in sect. 4.2.3; +    - construct the DNS PX record as: + +      *.<name>  IN  PX  50  <rfc822-domain>  <x400-in-domain-syntax> + +   Please note that within PX RDATA the <rfc822-domain> precedes the +   <x400-in-domain-syntax> also for a 'table1' entry. + +   an example: from the rule + +     PRMD$ab.ADMD$ac.C$fr#ab.fr# + +   we obtain + +     *.PRMD-ab.ADMD-ac.X42D.fr. IN PX 50  ab.fr.  PRMD-ab.ADMD-ac.C-fr. + +   Note that <name>, <rfc822-domain> and <x400-in-domain-syntax> are +   fully qualified <domain-name> elements, thus ending with a ".". + +   Let's now consider case B. + +    - take <rfc822-domain> as <name> key; +    - translate <x400-domain> into <x400-in-domain-syntax>; +    - construct the DNS PX record as: + +     *.<name>  IN  PX  50  <rfc822-domain>  <x400-in-domain-syntax> + +   an example: from the rule + +     ab.fr#PRMD$ab.ADMD$ac.C$fr# + +   we obtain + +     *.ab.fr.  IN  PX  50  ab.fr.  PRMD-ab.ADMD-ac.C-fr. + +   Again note the fully qualified <domain-name> elements. + + + + + + + + + + + + +Allocchio, Bonito, Cole, Giordano & Hagens                     [Page 15] + +RFC 1664          Internet DNS for Mail Mapping Tables       August 1994 + + +   A file containing the RFC1327 mapping rules and RFC1327 'gate' table +   written in DNS format will look like the following fictious example: + +     ! +     ! RFC1327 table 1: X.400 --> RFC822 +     ! +     *.ADMD-acme.X42D.it.               IN  PX  50  it. ADMD-acme.C-it. +     *.PRMD-accred.ADMD-tx400.X42D.it.  IN  PX  50   \ +                                accred.it. PRMD-accred.ADMD-tx400.C-it. +     *.O-u-h-newcity.PRMD-x4net.ADMDb.X42D.it.  IN  PX  50   \ +                       cs.ncty.it. O-u-h-newcity.PRMD-x4net.ADMDb.C-it. +     ! +     ! RFC1327 table 2: RFC822 --> X.400 +     ! +     *.nrc.it.    IN  PX  50   nrc.it. PRMD-nrc.ADMD-acme.C-it. +     *.ninp.it.   IN  PX  50   ninp.it. O.PRMD-ninp.ADMD-acme.C-it. +     *.bd.it.     IN  PX  50   bd.it. PRMD-uk-d-bd.ADMDb.C-it. +     ! +     ! RFC1327 Gate Table +     ! +     my.it.  IN PX 50  my.it. OU-int-h-gw.O.PRMD-ninp.ADMD-acme.C-it.G. +     co.it.  IN PX 50  co.it. O-mhs-h-relay.PRMD-x4net.ADMDb.C-it.G. + +   (here the "\" indicates continuation on the same line, as wrapping is +   done only due to typographical reasons). + +   Note the special suffix ".G." on the right side of the 'gate' Table +   section whose aim is described in section 4.4. The corresponding +   RFC1327 tables are: + + +     # +     # RFC1327 table 1: X.400 --> RFC822 +     # +     ADMD$acme.C$it#it# +     PRMD$accred.ADMD$tx400.C$it#accred.it# +     O$u-newcity.PRMD$x4net.ADMD$ .C$it#cs.ncty.it# +     # +     # RFC1327 table 2: RFC822 --> X.400 +     # +     nrc.it#PRMD$nrc.ADMD$acme.C$it# +     ninp.it#O.PRMD$ninp.ADMD$acme.C$it# +     bd.it#PRMD$uk\.bd.ADMD$ .C$it# +     # +     # RFC1327 Gate Table +     # +     my.it#OU$int-gw.O$@.PRMD$ninp.ADMD$acme.C$it# +     co.it#O$mhs-relay.PRMD$x4net.ADMD$ .C$t# + + + +Allocchio, Bonito, Cole, Giordano & Hagens                     [Page 16] + +RFC 1664          Internet DNS for Mail Mapping Tables       August 1994 + + +4.4 Storing the RFC1327 Gate table + +   Section 4.3.4 of RFC1327 also specify how an address should be +   converted between RFC822 and X.400 in case a complete mapping is +   impossible. To allow the use of DDAs for non mappable domains, the +   RFC1327 'gate' table is thus introduced. DNS must store and +   distribute also these data. + +   One of the major features of the DNS is the ability to distribute the +   authority: a certain site runs the "primary" nameserver for one +   determined sub-tree and thus it is also the only place allowed to +   update information regarding that sub-tree. This fact allows, in our +   case, a further additional feature to the table based approach. In +   fact we can avoid one possible ambiguity about the use of the 'gate' +   table (and thus of DDAs encoding). + +   The authority maintaining a DNS entry in the usual RFC822 domain +   space is the only one allowed to decide if its domain should be +   mapped using Standard Attributes (SA) syntax or Domain Defined +   Attributes (DDA) one. If the authority decides that its RFC822 domain +   should be mapped using SA, then the PX RDATA will be a 'table2' +   entry, otherwise it will be a 'gate' table entry. Thus for an RFC822 +   domain we cannot have any more two possible entries, one from 'table2 +   and another one from 'gate' table, and the action for a gateway +   results clearly stated. + +   The RFC1327 'gate' table syntax is actually identical to RFC1327 +   'table2'. Thus the same syntax translation rules from RFC1327 to DNS +   format can be applied. However a gateway or any other application +   must know if the answer it got from DNS contains some 'table2' or +   some 'gate' table information. This is easily obtained flagging with +   an additional ".G." post-fix the PX RDATA value when it contains a +   'gate' table entry. The example in section 4.3 shows clearly the +   result. As any X.400 O/R domain must end with a country code ("C-xx" +   in our DNS syntax) the additional ".G." creates no conflicts or +   ambiguities at all. This postfix must obviously be removed before +   using the RFC1327 'gate' table data. + +5. Finding RFC1327 mapping information from DNS + +   The RFC1327 mapping information is stored in DNS both in the normal +   RFC822 domain name space, and in the newly defined X.400 name space. +   The information, stored in PX resource records, does not represent a +   full RFC822 or X.400 O/R address: it is a template which specifies +   the fields of the domain that are used by the mapping algorithm. + +   When mapping information is stored in the DNS, queries to the DNS are +   issued whenever an iterative search through the mapping table would + + + +Allocchio, Bonito, Cole, Giordano & Hagens                     [Page 17] + +RFC 1664          Internet DNS for Mail Mapping Tables       August 1994 + + +   be performed (RFC1327: section 4.3.4, State I; section 4.3.5, mapping +   B). Due to the DNS search mechanism, DNS by itself returns the +   longest possible match in the stored mapping rule with a single +   query, thus no iteration and/or multiple queries are needed. As +   specified in RFC1327, a search of the mapping table will result in +   either success (mapping found) or failure (query failed, mapping not +   found). + +   When a DNS query is issued, a third possible result is timeout. If +   the result is timeout, the gateway operation is delayed and then +   retried at a later time. A result of success or failure is processed +   according to the algorithms specified in RFC1327. If a DNS error code +   is returned, an error message should be logged and the gateway +   operation is delayed as for timeout. These pathological situations, +   however, should be avoided with a careful duplication and chaching +   mechanism which DNS itself provides. + +   Searching the nameserver which can authoritatively solve the query is +   automatically performed by the DNS distributed name service. + +5.1 A DNS query example + +   An RFC1327 mail-gateway located in the Internet, when translating +   addresses from RFC822 to X.400, can get information about the RFC1327 +   mapping rule asking the DNS. As an example, when translating the +   address SUN.CCE.NRC.IT, the gateway will just query DNS for the +   associated PX resource record. The DNS should contain a PX record +   like this: + +   *.cce.nrc.it.  IN PX 50   cce.nrc.it.  O-cce.PRMD-nrc.ADMD-acme.C-it. + +   The first query will return immediately the appropriate mapping rule +   in DNS store format. + +   There is no ".G." at the end of the obtained PX RDATA value, thus +   applying the syntax translation specified in paragraph 4.2 the +   RFC1327 Table 2 mapping rule will be obtained. + +   Let's now take another example where a 'gate' table rule is returned. +   If we are looking for an RFC822 domain ending with top level domain +   "MW", and the DNS contains a PX record like this, + +      *.mw.   IN  PX  50  mw.  O-cce.PRMD-nrc.ADMD-acme.C-it.G. + +   DNS will return 'mw.' and 'O-cce.PRMD-nrc.ADMD-acme.C-it.G.', i.e., a +   'gate' table entry in DNS store format. Dropping the final ".G." and +   applying the syntax translation specified in paragraph 4.2 the +   original rule will be available. More over, the ".G." flag also tells + + + +Allocchio, Bonito, Cole, Giordano & Hagens                     [Page 18] + +RFC 1664          Internet DNS for Mail Mapping Tables       August 1994 + + +   the gateway to use DDA encoding for the inquired RFC822 domain. + +   On the other hand, translating from X.400 to RFC822 the address + +      C=de; ADMD=pkz; PRMD=nfc; O=top; + +   the mail gateway should convert the syntax according to paragraph +   4.2, apply the 'Country code convention' described in 4.2.3 to derive +   the appropriate DNS translation of the X.400 O/R name and then query +   DNS for the corresponding PX resource record. The obtained record for +   which the PX record must be queried is thus: + +      O-top.PRMD-nfc.ADMD-pkz.X42D.de. + +   The DNS could contain: + +      *.ADMD-pkz.X42D.de.  IN  PX  50  pkz.de.  ADMD-pkz.C-de. + +   Assuming that there are not more specific records in DNS, the +   wildcard mechanism will return the RFC1327 'table1' rule in encoded +   format. + +6. Administration of mapping information + +   The DNS, using the PX RR, will be able to distribute the mapping +   information to all RFC1327 gateways located on the Internet. However, +   not all RFC1327 gateways will be able to use the Internet DNS. It is +   expected that some gateways in a particular management domain will +   conform to one of the following models: + +      (a) Table-based, (b) DNS-based, (c) X.500-based + +   Table-based management domains will continue to submit and retrieve +   their mapping tables from the International Mapping Table coordinator +   manually or via some automated procedures. Their mapping information +   should be made available in DNS by the appropriate DNS authority +   using the same mechanism already in place for MX records: if a branch +   has not yet in place its own DNS server, some higher authority in the +   DNS tree will provide the service for it. A transition procedure +   similar to the one used to migrate from the 'hosts.txt' tables to DNS +   can be applied also to the deployment phase of this proposal. An +   informational document describing the implementation phase and the +   detailed coordination procedures is expected. The deployment phase +   must also follow the directives produced by the current work on +   RFC1327 mapping authorities, in order to insure consistency in the +   mapping information itself. + + + + + +Allocchio, Bonito, Cole, Giordano & Hagens                     [Page 19] + +RFC 1664          Internet DNS for Mail Mapping Tables       August 1994 + + +   Another distributed directory service which can distribute the +   RFC1327 mapping information is X.500. The coordination, alignment and +   uniqueness of mapping information between DNS and X.500 is an +   essential fact if it happens to have both systems in place. The ideal +   solution is a dynamic alignment mechanism which transparently makes +   the DNS mapping information available in X.500 and vice versa. Some +   work in this specific field is already being done [see Costa] which +   can result in a global transparent directory service, where the +   information is stored in DNS or in X.500, but is visible completely +   by any of the two systems. + +7. Conclusion + +   The introduction of the new PX resource record and the definition of +   the X.400 O/R name space in the DNS structure provide a good +   repository for mapping information. The mapping information is stored +   in the DNS tree structure so that it can be easily obtained using the +   DNS distributed name service. At the same time the definition of the +   appropriate DNS space for X.400 O/R names provide a repository where +   to store and distribute some other X.400 MHS information. The use of +   the DNS has many known advantages in storing, managing and updating +   the information. A successful number of tests have been performed +   under the provisional top level domain "X400.IT", and their results +   confirmed the advantages of the method. + +   Software to query the DNS and then to convert between the textual +   representation of DNS resource records and the address format defined +   in RFC1327 needs to be developed. This software must also allow a +   smooth implementation and deployment period, eventually taking care +   of the transition phase. A further informational document describing +   operational and implementation of the service is expected. + +8. Acknowledgements + +   We wish to thanks all those who contributed to the discussion and +   revision of this document: many of their ideas and suggestions +   constitute essential parts of this work. In particular thanks to Jon +   Postel, Paul Mockapetris, Rob Austin and the whole IETF x400ops, RARE +   wg-msg and IETF namedroppers groups. A special mention to Christian +   Huitema for his fundamental contribution to this work. + + + + + + + + + + + +Allocchio, Bonito, Cole, Giordano & Hagens                     [Page 20] + +RFC 1664          Internet DNS for Mail Mapping Tables       August 1994 + + +9. References + +   [CCITT] CCITT SG 5/VII, "Recommendation X.400, Message Handling +       Systems: System Model - Service Elements", October 1988. + +   [RFC 1327] Kille, S., "Mapping between X.400(1988)/ISO 10021 and RFC +       822", RFC 1327, March 1992. + +   [RFC 1034] Mockapetris, P., "Domain Names - Concepts and Facilities", +       STD 13, RFC 1034, USC/Information Sciences Institute, November +       1987. + +   [RFC 1035] Mockapetris, P., "Domain names - Implementation and +       Specification", STD 13, RFC 1035, USC/Information Sciences +       Institute, November 1987. + +   [RFC 1033] Lottor, M., "Domain Administrators Operation Guide", RFC +       1033, SRI International, November 1987. + +   [Costa] Costa, A., Macedo, J., and V. Freitas, "Accessing and +       Managing DNS Information in the X.500 Directory", Proceeding of +       the 4th Joint European Networking Conference, Trondheim, NO, May +       1993. + +   [Houttin] Houttin, J., Hansen, K., and S. Aumont, "Address Mapping +       Functions and Authorities", Internet-DRAFT, May 1993. + +10. Security Considerations + +   Security issues are not discussed in this memo. + + + + + + + + + + + + + + + + + + + + + +Allocchio, Bonito, Cole, Giordano & Hagens                     [Page 21] + +RFC 1664          Internet DNS for Mail Mapping Tables       August 1994 + + +11. Authors' Addresses + +   Claudio Allocchio +   Sincrotrone Trieste +   Padriciano 99 +   I 34012 Trieste +   Italy + +   RFC822: Claudio.Allocchio@elettra.trieste.it +   X.400:  C=it;A=garr;P=Trieste;O=Elettra; +   S=Allocchio;G=Claudio; +   Phone:  +39 40 3758523 +   Fax:    +39 40 226338 + + +   Antonio Blasco Bonito +   CNUCE - CNR +   Reparto infr. reti +   Viale S. Maria 36 +   I 56126 Pisa +   Italy + +   RFC822: bonito@cnuce.cnr.it +   X.400:  C=it;A=garr;P=cnr;O=cnuce;S=bonito; +   Phone:  +39 50 593246 +   Fax:    +39 50 589354 + + +   Bruce Cole +   Cisco Systems Inc. +   P.O. Box 3075 +   1525 O'Brien Drive +   Menlo Park, CA 94026 +   U.S.A. + +   RFC822: bcole@cisco.com +   X.400:  C=us;A= ;P=Internet; +   DD.rfc-822=bcole(a)cisco.com; +   Phone:  +1 415 6888245 +   Fax:    +1 415 6884575 + + + + + + + + + + + +Allocchio, Bonito, Cole, Giordano & Hagens                     [Page 22] + +RFC 1664          Internet DNS for Mail Mapping Tables       August 1994 + + +   Silvia Giordano +   Centro Svizzero di +   Calcolo Scientifico +   Via Cantonale +   CH 6928 Manno +   Switzerland + +   RFC822: giordano@cscs.ch +   X.400:  C=ch;A=arcom;P=switch;O=cscs; +   S=giordano; +   Phone:  +41 91 508213 +   Fax:    +41 91 506711 + + +   Robert Hagens +   Advanced Network and Services +   1875 Campus Commons Drive +   Reston, VA 22091 +   U.S.A. + +   RFC822: hagens@ans.net +   X.400:  C=us;A= ;P=Internet; +   DD.rfc-822=hagens(a)ans.net; +   Phone:  +1 703 7587700 + + + + + + + + + + + + + + + + + + + + + + + + + + + +Allocchio, Bonito, Cole, Giordano & Hagens                     [Page 23] + |