home *** CD-ROM | disk | FTP | other *** search
/ Handbook of Infosec Terms 2.0 / Handbook_of_Infosec_Terms_Version_2.0_ISSO.iso / text / rfcs / rfc1664.txt < prev    next >
Text File  |  1996-05-07  |  52KB  |  631 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. 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 
  8.  
  9.                   Using the Internet DNS to Distribute                   RFC1327 Mail Address Mapping Tables 
  10.  
  11. Status of this Memo 
  12.  
  13.    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. 
  14.  
  15. Abstract 
  16.  
  17.    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). 
  18.  
  19. 1. Introduction 
  20.  
  21.    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. 
  22.  
  23.    RFC1327 describes a set of mappings which will enable interworking    between systems operating the CCITT X.400 (1984/88) Recommendations 
  24.  
  25.  
  26.  
  27. Allocchio, Bonito, Cole, Giordano & Hagens                      [Page 1] 
  28.  RFC 1664          Internet DNS for Mail Mapping Tables       August 1994 
  29.  
  30.     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. 
  31.  
  32.    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. 
  33.  
  34.    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). 
  35.  
  36.    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. 
  37.  
  38.    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 
  39.  
  40.  
  41.  
  42. Allocchio, Bonito, Cole, Giordano & Hagens                      [Page 2] 
  43.  RFC 1664          Internet DNS for Mail Mapping Tables       August 1994 
  44.  
  45.     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. 
  46.  
  47.    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. 
  48.  
  49.    In this paper we will adopt the RFC1327 mapping rules syntax, showing    how it can be stored into the Internet DNS. 
  50.  
  51. 1.1 Definitions syntax 
  52.  
  53.    The definitions in this document is given in BNF-like syntax, using    the following conventions: 
  54.  
  55.       |   means choice       \   is used for continuation of a definition over several lines       []  means optional       {}  means repeated one or more times 
  56.  
  57.    The definitions, however, are detailed only until a certain level,    and below it self-explaining character text strings will be used. 
  58.  
  59. 2. Motivation 
  60.  
  61.    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: 
  62.  
  63.      - It avoids fetching and storing of entire mapping tables by every        host that wishes to implement RFC1327 gateways and/or tools 
  64.  
  65.      - Modifications to the DNS based mapping information can be made        available in a more timely manner than with a table driven        approach. 
  66.  
  67.      - It allows full authority delegation, in agreement with the        Internet regionalization process. 
  68.  
  69.  
  70.  
  71.  
  72.  
  73. Allocchio, Bonito, Cole, Giordano & Hagens                      [Page 3] 
  74.  RFC 1664          Internet DNS for Mail Mapping Tables       August 1994 
  75.  
  76.       - Table management is not necessarily required for DNS-based        RFC1327 gateways. 
  77.  
  78.      - One can determine the mappings in use by a remote gateway by        querying the DNS (remote debugging). 
  79.  
  80.    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. 
  81.  
  82. 3. The domain space for X.400 O/R name addresses 
  83.  
  84.    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. 
  85.  
  86.    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): 
  87.  
  88.                           keyword#translator# 
  89.  
  90.    the '#' sign is a delimiter enclosing the translator. An example: 
  91.  
  92.                 foo.bar.us#PRMD$foo\.bar.ADMD$intx.C$us# 
  93.  
  94.    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. 
  95.  
  96.    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. 
  97.  
  98.  
  99.  
  100.  
  101.  
  102. Allocchio, Bonito, Cole, Giordano & Hagens                      [Page 4] 
  103.  RFC 1664          Internet DNS for Mail Mapping Tables       August 1994 
  104.  
  105.     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. 
  106.  
  107.    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. 
  108.  
  109.    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. 
  110.  
  111.    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: 
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  Allocchio, Bonito, Cole, Giordano & Hagens                      [Page 5] 
  132.  RFC 1664          Internet DNS for Mail Mapping Tables       August 1994 
  133.  
  134.                                      . (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              |               |                 |              |             ...             ...               ...            ... 
  135.  
  136.     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. 
  137.  
  138.    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. 
  139.  
  140.    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 
  141.  
  142.  
  143.  
  144. Allocchio, Bonito, Cole, Giordano & Hagens                      [Page 6] 
  145.  RFC 1664          Internet DNS for Mail Mapping Tables       August 1994 
  146.  
  147.     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. 
  148.  
  149.    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. 
  150.  
  151. 4. The new DNS resource record for RFC1327 mapping rules: PX 
  152.  
  153.    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. 
  154.  
  155.    The definition of the new 'PX' DNS resource record is: 
  156.  
  157.       class:        IN   (Internet) 
  158.  
  159.       name:         PX   (pointer to X.400/RFC822 mapping information) 
  160.  
  161.       value:        26 
  162.  
  163.    The PX RDATA format is: 
  164.  
  165.           +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+           |                  PREFERENCE                   |           +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+           /                    MAP822                     /           /                                               /           +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+           /                    MAPX400                    /           /                                               /           +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 
  166.  
  167.    where: 
  168.  
  169.  
  170.  
  171. Allocchio, Bonito, Cole, Giordano & Hagens                      [Page 7] 
  172.  RFC 1664          Internet DNS for Mail Mapping Tables       August 1994 
  173.  
  174.     PREFERENCE   A 16 bit integer which specifies the preference given to                 this RR among others at the same owner.  Lower values                 are preferred; 
  175.  
  176.    MAP822       A <domain-name> element containing <rfc822-domain>, the                 RFC822 part of the RFC1327 mapping information; 
  177.  
  178.    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); 
  179.  
  180.    PX records cause no additional section processing. The PX RR format    is the usual one: 
  181.  
  182.              <name> [<class>] [<TTL>] <type> <RDATA> 
  183.  
  184.    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. 
  185.  
  186. 4.1 Additional features of the PX resource record 
  187.  
  188.    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 
  189.  
  190.       net2.it#PRMD$net2.ADMD$p400.C$it# 
  191.  
  192.    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 
  193.  
  194.       *.net2.it.   IN  PX  10   net2.it.  PRMD-net2.ADMD-p400.C-it. 
  195.  
  196.    specify the usual wildcard match as for RFC1327 tables. However an    entry like 
  197.  
  198.       ab.net2.it.  IN  PX  10   ab.net2.it.  O-ab.PRMD-net2.ADMDb.C-it. 
  199.  
  200.  
  201.  
  202.  Allocchio, Bonito, Cole, Giordano & Hagens                      [Page 8] 
  203.  RFC 1664          Internet DNS for Mail Mapping Tables       August 1994 
  204.  
  205.     is valid only for an exact match of 'ab.net2.it' RFC822 domain. 
  206.  
  207.    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. 
  208.  
  209.    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. 
  210.  
  211.    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. 
  212.  
  213.    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. 
  214.  
  215. 4.2 The DNS syntax for an X.400 'domain' 
  216.  
  217.    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 
  218.  
  219.  
  220.  
  221. Allocchio, Bonito, Cole, Giordano & Hagens                      [Page 9] 
  222.  RFC 1664          Internet DNS for Mail Mapping Tables       August 1994 
  223.  
  224.     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., 
  225.  
  226.    <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" | "-" 
  227.  
  228.    (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: 
  229.  
  230.      <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 
  231.  
  232.    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. 
  233.  
  234.    The RFC822 domain part of any RFC1327 mapping rule is of course    already in <domain-name> syntax, and thus remains unchanged. 
  235.  
  236.    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. 
  237.  
  238. 4.2.1 IA5-Printablestring to <alphanumhyphen> mappings 
  239.  
  240.    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 
  241.  
  242.  
  243.  
  244. Allocchio, Bonito, Cole, Giordano & Hagens                     [Page 10] 
  245.  RFC 1664          Internet DNS for Mail Mapping Tables       August 1994 
  246.  
  247.     rules are also mapped as special cases. 
  248.  
  249.    Let's then define the following simple rules: 
  250.  
  251.     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 
  252.  
  253.    Non <alphanumhyphen> characters in <attr-value>: 
  254.  
  255.     RFC1327 rule          DNS store translation    conditions     -----------------------------------------------------------------     -                     -h-                      hyphen     \.                    -d-                      quoted dot     <blank>               -b-                      blank     <non A/N character>   -<3digit-decimal>-       elsewhere 
  256.  
  257.    If the DNS store translation of <attr-value> happens to end with an    hyphen, then this last hyphen is omitted. 
  258.  
  259.    Let's now have some examples: 
  260.  
  261.     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 
  262.  
  263.    Thus, an X.400 part from an RFC1327 mapping rule like 
  264.  
  265.      OU$uuu.O$@.PRMD$ppp\.rrr.ADMD$aaa ddd-mmm.C$cc 
  266.  
  267.    translates to 
  268.  
  269.      OU-uuu.O.PRMD-ppp-d-rrr.ADMD-aaa-b-ddd-h-mmm.C-cc 
  270.  
  271.  Another example: 
  272.  
  273.      OU$sales dept\..O$@.PRMD$ACME.ADMD$ .C$GB 
  274.  
  275.  
  276.  
  277.  Allocchio, Bonito, Cole, Giordano & Hagens                     [Page 11] 
  278.  RFC 1664          Internet DNS for Mail Mapping Tables       August 1994 
  279.  
  280.     translates to 
  281.  
  282.      OU-sales-b-dept-d.O.PRMD-ACME.ADMDb.C-GB 
  283.  
  284. 4.2.2 Flow chart 
  285.  
  286.    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. 
  287.  
  288.    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: 
  289.  
  290.       "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." 
  291.  
  292.    Flow chart 1 - Translation from RFC1327 to DNS format: 
  293.  
  294.                   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) 
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302. Allocchio, Bonito, Cole, Giordano & Hagens                     [Page 12] 
  303.  RFC 1664          Internet DNS for Mail Mapping Tables       August 1994 
  304.  
  305.     Flow chart 2 - Translation from DNS to RFC1327 format: 
  306.  
  307.                  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) 
  308.  
  309.     Note that the above flow charts deal with the translation of the    attributes syntax, only. 
  310.  
  311. 4.2.3 The Country Code convention in the <name> value. 
  312.  
  313.    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). 
  314.  
  315.    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., 
  316.  
  317.       ADMD$acme.C$fr 
  318.  
  319.    produces in <domain-name> syntax the key: 
  320.  
  321.       ADMD-acme.C-fr 
  322.  
  323.  
  324.  
  325. Allocchio, Bonito, Cole, Giordano & Hagens                     [Page 13] 
  326.  RFC 1664          Internet DNS for Mail Mapping Tables       August 1994 
  327.  
  328.     which is post-fixed by 'X42D.fr.' resulting in: 
  329.  
  330.       ADMD-acme.C-fr.X42D.fr. 
  331.  
  332.    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. 
  333.  
  334.    We thus define the 'Country Code convention' for the <name> key,    i.e., 
  335.  
  336.       "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". 
  337.  
  338.    Thus we obtain the following <name> key examples: 
  339.  
  340.    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. 
  341.  
  342. 4.3 Creating the appropriate DNS files 
  343.  
  344.    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. 
  345.  
  346.    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: 
  347.  
  348.      <x400-domain>#<rfc822-domain>#  (case A: 'table1' entry) 
  349.  
  350.    and 
  351.  
  352.      <rfc822-domain>#<x400-domain>#  (case B: 'table2' and 'gate' entry) 
  353.  
  354.    The two cases must be considered separately. Let's consider case A. 
  355.  
  356.  
  357.  
  358. Allocchio, Bonito, Cole, Giordano & Hagens                     [Page 14] 
  359.  RFC 1664          Internet DNS for Mail Mapping Tables       August 1994 
  360.  
  361.      - 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: 
  362.  
  363.       *.<name>  IN  PX  50  <rfc822-domain>  <x400-in-domain-syntax> 
  364.  
  365.    Please note that within PX RDATA the <rfc822-domain> precedes the    <x400-in-domain-syntax> also for a 'table1' entry. 
  366.  
  367.    an example: from the rule 
  368.  
  369.      PRMD$ab.ADMD$ac.C$fr#ab.fr# 
  370.  
  371.    we obtain 
  372.  
  373.      *.PRMD-ab.ADMD-ac.X42D.fr. IN PX 50  ab.fr.  PRMD-ab.ADMD-ac.C-fr. 
  374.  
  375.    Note that <name>, <rfc822-domain> and <x400-in-domain-syntax> are    fully qualified <domain-name> elements, thus ending with a ".". 
  376.  
  377.    Let's now consider case B. 
  378.  
  379.     - take <rfc822-domain> as <name> key;     - translate <x400-domain> into <x400-in-domain-syntax>;     - construct the DNS PX record as: 
  380.  
  381.      *.<name>  IN  PX  50  <rfc822-domain>  <x400-in-domain-syntax> 
  382.  
  383.    an example: from the rule 
  384.  
  385.      ab.fr#PRMD$ab.ADMD$ac.C$fr# 
  386.  
  387.    we obtain 
  388.  
  389.      *.ab.fr.  IN  PX  50  ab.fr.  PRMD-ab.ADMD-ac.C-fr. 
  390.  
  391.    Again note the fully qualified <domain-name> elements. 
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  Allocchio, Bonito, Cole, Giordano & Hagens                     [Page 15] 
  404.  RFC 1664          Internet DNS for Mail Mapping Tables       August 1994 
  405.  
  406.     A file containing the RFC1327 mapping rules and RFC1327 'gate' table    written in DNS format will look like the following fictious example: 
  407.  
  408.      !      ! 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. 
  409.  
  410.    (here the "\" indicates continuation on the same line, as wrapping is    done only due to typographical reasons). 
  411.  
  412.    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: 
  413.  
  414.       #      # 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# 
  415.  
  416.  
  417.  
  418. Allocchio, Bonito, Cole, Giordano & Hagens                     [Page 16] 
  419.  RFC 1664          Internet DNS for Mail Mapping Tables       August 1994 
  420.  
  421.  4.4 Storing the RFC1327 Gate table 
  422.  
  423.    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. 
  424.  
  425.    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). 
  426.  
  427.    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. 
  428.  
  429.    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. 
  430.  
  431. 5. Finding RFC1327 mapping information from DNS 
  432.  
  433.    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. 
  434.  
  435.    When mapping information is stored in the DNS, queries to the DNS are    issued whenever an iterative search through the mapping table would 
  436.  
  437.  
  438.  
  439. Allocchio, Bonito, Cole, Giordano & Hagens                     [Page 17] 
  440.  RFC 1664          Internet DNS for Mail Mapping Tables       August 1994 
  441.  
  442.     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). 
  443.  
  444.    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. 
  445.  
  446.    Searching the nameserver which can authoritatively solve the query is    automatically performed by the DNS distributed name service. 
  447.  
  448. 5.1 A DNS query example 
  449.  
  450.    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: 
  451.  
  452.    *.cce.nrc.it.  IN PX 50   cce.nrc.it.  O-cce.PRMD-nrc.ADMD-acme.C-it. 
  453.  
  454.    The first query will return immediately the appropriate mapping rule    in DNS store format. 
  455.  
  456.    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. 
  457.  
  458.    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, 
  459.  
  460.       *.mw.   IN  PX  50  mw.  O-cce.PRMD-nrc.ADMD-acme.C-it.G. 
  461.  
  462.    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 
  463.  
  464.  
  465.  
  466. Allocchio, Bonito, Cole, Giordano & Hagens                     [Page 18] 
  467.  RFC 1664          Internet DNS for Mail Mapping Tables       August 1994 
  468.  
  469.     the gateway to use DDA encoding for the inquired RFC822 domain. 
  470.  
  471.    On the other hand, translating from X.400 to RFC822 the address 
  472.  
  473.       C=de; ADMD=pkz; PRMD=nfc; O=top; 
  474.  
  475.    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: 
  476.  
  477.       O-top.PRMD-nfc.ADMD-pkz.X42D.de. 
  478.  
  479.    The DNS could contain: 
  480.  
  481.       *.ADMD-pkz.X42D.de.  IN  PX  50  pkz.de.  ADMD-pkz.C-de. 
  482.  
  483.    Assuming that there are not more specific records in DNS, the    wildcard mechanism will return the RFC1327 'table1' rule in encoded    format. 
  484.  
  485. 6. Administration of mapping information 
  486.  
  487.    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: 
  488.  
  489.       (a) Table-based, (b) DNS-based, (c) X.500-based 
  490.  
  491.    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. 
  492.  
  493.  
  494.  
  495.  
  496.  
  497. Allocchio, Bonito, Cole, Giordano & Hagens                     [Page 19] 
  498.  RFC 1664          Internet DNS for Mail Mapping Tables       August 1994 
  499.  
  500.     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. 
  501.  
  502. 7. Conclusion 
  503.  
  504.    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. 
  505.  
  506.    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. 
  507.  
  508. 8. Acknowledgements 
  509.  
  510.    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. 
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522. Allocchio, Bonito, Cole, Giordano & Hagens                     [Page 20] 
  523.  RFC 1664          Internet DNS for Mail Mapping Tables       August 1994 
  524.  
  525.  9. References 
  526.  
  527.    [CCITT] CCITT SG 5/VII, "Recommendation X.400, Message Handling        Systems: System Model - Service Elements", October 1988. 
  528.  
  529.    [RFC 1327] Kille, S., "Mapping between X.400(1988)/ISO 10021 and RFC        822", RFC 1327, March 1992. 
  530.  
  531.    [RFC 1034] Mockapetris, P., "Domain Names - Concepts and Facilities",        STD 13, RFC 1034, USC/Information Sciences Institute, November        1987. 
  532.  
  533.    [RFC 1035] Mockapetris, P., "Domain names - Implementation and        Specification", STD 13, RFC 1035, USC/Information Sciences        Institute, November 1987. 
  534.  
  535.    [RFC 1033] Lottor, M., "Domain Administrators Operation Guide", RFC        1033, SRI International, November 1987. 
  536.  
  537.    [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. 
  538.  
  539.    [Houttin] Houttin, J., Hansen, K., and S. Aumont, "Address Mapping        Functions and Authorities", Internet-DRAFT, May 1993. 
  540.  
  541. 10. Security Considerations 
  542.  
  543.    Security issues are not discussed in this memo. 
  544.  
  545.  
  546.  
  547.  
  548.  
  549.  
  550.  
  551.  
  552.  
  553.  
  554.  
  555.  
  556.  
  557.  
  558.  
  559.  
  560.  
  561.  
  562.  
  563.  
  564.  
  565. Allocchio, Bonito, Cole, Giordano & Hagens                     [Page 21] 
  566.  RFC 1664          Internet DNS for Mail Mapping Tables       August 1994 
  567.  
  568.  11. Authors' Addresses 
  569.  
  570.    Claudio Allocchio    Sincrotrone Trieste    Padriciano 99    I 34012 Trieste    Italy 
  571.  
  572.    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 
  573.  
  574.     Antonio Blasco Bonito    CNUCE - CNR    Reparto infr. reti    Viale S. Maria 36    I 56126 Pisa    Italy 
  575.  
  576.    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 
  577.  
  578.     Bruce Cole    Cisco Systems Inc.    P.O. Box 3075    1525 O'Brien Drive    Menlo Park, CA 94026    U.S.A. 
  579.  
  580.    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 
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592. Allocchio, Bonito, Cole, Giordano & Hagens                     [Page 22] 
  593.  RFC 1664          Internet DNS for Mail Mapping Tables       August 1994 
  594.  
  595.     Silvia Giordano    Centro Svizzero di    Calcolo Scientifico    Via Cantonale    CH 6928 Manno    Switzerland 
  596.  
  597.    RFC822: giordano@cscs.ch    X.400:  C=ch;A=arcom;P=switch;O=cscs;    S=giordano;    Phone:  +41 91 508213    Fax:    +41 91 506711 
  598.  
  599.     Robert Hagens    Advanced Network and Services    1875 Campus Commons Drive    Reston, VA 22091    U.S.A. 
  600.  
  601.    RFC822: hagens@ans.net    X.400:  C=us;A= ;P=Internet;    DD.rfc-822=hagens(a)ans.net;    Phone:  +1 703 7587700 
  602.  
  603.  
  604.  
  605.  
  606.  
  607.  
  608.  
  609.  
  610.  
  611.  
  612.  
  613.  
  614.  
  615.  
  616.  
  617.  
  618.  
  619.  
  620.  
  621.  
  622.  
  623.  
  624.  
  625.  
  626.  
  627.  
  628.  
  629. Allocchio, Bonito, Cole, Giordano & Hagens                     [Page 23] 
  630.  
  631.