Connected: An Internet Encyclopedia
RFC 1034 - 6.3.1. Resolve MX for ISI.EDU.

Top: Connected: An Internet Encyclopedia
Up: Requests For Comments
Up: RFC 1034
Up: 6. A SCENARIO
Up: 6.3. Example resolution
Prev: 6.3. Example resolution
Next: 6.3.2. Get the host name for address 26.6.0.65

### 6.3.1. Resolve MX for ISI.EDU.

Suppose the first request to the resolver comes from the local mailer, which has mail for PVM@ISI.EDU. The mailer might then ask for type MX RRs for the domain name ISI.EDU.

The resolver would look in its cache for MX RRs at ISI.EDU, but the empty cache wouldn't be helpful. The resolver would recognize that it needed to query foreign servers and try to determine the best servers to query. This search would look for NS RRs for the domains ISI.EDU, EDU, and the root. These searches of the cache would also fail. As a last resort, the resolver would use the information from the SBELT, copying it into its SLIST structure.

At this point the resolver would need to pick one of the three available addresses to try. Given that the resolver is on net 26, it should choose either 26.0.0.73 or 26.3.0.103 as its first choice. It would then send off a query of the form:

                   +---------------------------------------------------+
        Header     | OPCODE=SQUERY                                     |
                   +---------------------------------------------------+
        Question   | QNAME=ISI.EDU., QCLASS=IN, QTYPE=MX               |
                   +---------------------------------------------------+
        Answer     | <empty>                                           |
                   +---------------------------------------------------+
        Authority  | <empty>                                           |
                   +---------------------------------------------------+
        Additional | <empty>                                           |
                   +---------------------------------------------------+

The resolver would then wait for a response to its query or a timeout. If the timeout occurs, it would try different servers, then different addresses of the same servers, lastly retrying addresses already tried. It might eventually receive a reply from SRI-NIC.ARPA:

                   +---------------------------------------------------+
        Header     | OPCODE=SQUERY, RESPONSE                           |
                   +---------------------------------------------------+
        Question   | QNAME=ISI.EDU., QCLASS=IN, QTYPE=MX               |
                   +---------------------------------------------------+
        Answer     | <empty>                                           |
                   +---------------------------------------------------+
        Authority  | ISI.EDU.        172800 IN NS       VAXA.ISI.EDU.  |
                   |                           NS       A.ISI.EDU.     |
                   |                           NS       VENERA.ISI.EDU.|
                   +---------------------------------------------------+
        Additional | VAXA.ISI.EDU.   172800    A        10.2.0.27      |
                   |                 172800    A        128.9.0.33     |
                   | VENERA.ISI.EDU. 172800    A        10.1.0.52      |
                   |                 172800    A        128.9.0.32     |
                   | A.ISI.EDU.      172800    A        26.3.0.103     |
                   +---------------------------------------------------+

The resolver would notice that the information in the response gave a closer delegation to ISI.EDU than its existing SLIST (since it matches three labels). The resolver would then cache the information in this response and use it to set up a new SLIST:

        Match count = 3
        A.ISI.EDU.      26.3.0.103
        VAXA.ISI.EDU.   10.2.0.27       128.9.0.33
        VENERA.ISI.EDU. 10.1.0.52       128.9.0.32

A.ISI.EDU appears on this list as well as the previous one, but that is purely coincidental. The resolver would again start transmitting and waiting for responses. Eventually it would get an answer:

                   +---------------------------------------------------+
        Header     | OPCODE=SQUERY, RESPONSE, AA                       |
                   +---------------------------------------------------+
        Question   | QNAME=ISI.EDU., QCLASS=IN, QTYPE=MX               |
                   +---------------------------------------------------+
        Answer     | ISI.EDU.                MX 10 VENERA.ISI.EDU.     |
                   |                         MX 20 VAXA.ISI.EDU.       |
                   +---------------------------------------------------+
        Authority  | <empty>                                           |
                   +---------------------------------------------------+
        Additional | VAXA.ISI.EDU.   172800  A  10.2.0.27              |
                   |                 172800  A  128.9.0.33             |
                   | VENERA.ISI.EDU. 172800  A  10.1.0.52              |
                   |                 172800  A  128.9.0.32             |
                   +---------------------------------------------------+

The resolver would add this information to its cache, and return the MX RRs to its client.

Next: 6.3.2. Get the host name for address 26.6.0.65

Connected: An Internet Encyclopedia
RFC 1034 - 6.3.1. Resolve MX for ISI.EDU.