summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc1664.txt
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
committerThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
commit4bfd864f10b68b71482b35c818559068ef8d5797 (patch)
treee3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc1664.txt
parentea76e11061bda059ae9f9ad130a9895cc85607db (diff)
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc1664.txt')
-rw-r--r--doc/rfc/rfc1664.txt1291
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]
+