rickert@cs.niu.edu (Neil Rickert) (03/29/91)
The following is a suggestion I wish to float, which might be of significant use in dealing with some of the problems of mail handling. This should obviously be considered a first draft. A public (email and/or usenet news) will help clarify some of the issues. -------------------------------------------------------------------- Extended MX record handling. Draft proposal by Neil Rickert <rickert@cs.niu.edu> Since their introduction, the MX record has proved to be a very useful innovation. They have allowed a host to specify an alternate mail path, and they have provided a mechanism for awarding Internet names to hosts not directly on Internet, but connected to an Internet host by some other mail transport such as UUCP. The result has been the development of a universal name space for electronic mail addresses, which has effectively separated the issue of email addresses from that of the network paths required to reach that address. PROBLEMS: There are, however, some problems associated with the use of MX records. At the time of their introduction, it would have been difficult to forsee the extent of growth in networking which has led to these difficulties. We present two examples to illustrate these problems. EXAMPLE 1: In Australia, the host MUNNARI.OZ.AU is one of the key hosts. It acts as a principle nameserver for the AU domain, and as a gateway for many hosts in Australia which are not directly Internet connected. There are currently two MX records for MUNNARI.OZ.AU. They are: MUNNARI.OZ.AU. IN MX 10 MUNNARI.OZ.AU. IN MX 200 UUNET.UU.NET. Normally a mail transport, when sending mail to MUNNARI.OZ.AU, will first attempt to connect to the primary MX host, namely MUNNARI.OZ.AU itself. If it fails in this attempt, it will instead try sending to the secondary host UUNET.UU.NET. This provides some redundancy, and provides a shorter network link for hosts in North America. In particular, hosts with deficient networking software may have difficulty establishing connections to Australia, but are more likely to be successful with the shorter distances to UUNET.UU.NET in Virginia, USA. The pair of MX records thus improves the email connectivity. But this comes at a cost. If, for some reason, MUNNARI.OZ.AU is temporarily down, a host in Australia attempting to send mail to MUNNARI.OZ.AU will find itself sending the message halfway around the world to UUNET.UU.NET, which will in turn eventually have to send it back to Australia. This lengthy round trip is an inefficient use of network resources, and does not even earn frequent flyer mileage. It is difficult to avoid this problem. Additional MX records could be added with other Australian destinations. With two additional such hosts, perhaps with preferences of 50 and 100, the probability of all being inaccessible from within Australia becomes very small. But the result is that a host in North America must try all three Australian hosts before it finally tries sending the mail to UUNET.UU.NET. Many mail transports may be unwilling to attempt that many different hosts. EXAMPLE 2: The mythical domain FOO.BAR has hundreds of hosts. However only two of them are Internet connected, NS.FOO.BAR and GW.FOO.BAR. All of the hosts in this domain are however connected on an internal network. Thus an Internet host can send mail to ANYHOST.FOO.BAR by relaying it to GW.FOO.BAR, which then forwards it on the internal network to its final destination. The internal network uses the Internet protocols, but for reasons of company policy there is no IP packet forwarding between the internal network and the Internet. Although hosts internal to the FOO.BAR domain cannot communicate directly with Internet, they can use their internal network to access a NAMESERVER which is running on each of NS.FOO.BAR and GW.FOO.BAR. Having access to a nameserver turns out to be very useful, as it allows email domain names on Internet to be properly validated from within the FOO.BAR domain. This greatly reduces the chance of mail with invalid domain addresses being sent from the FOO.BAR domain into the Internet. At first sight, the MX record would seem ideal for a domain such as the FOO.BAR domain. For example, by creating an MX record naming GW.FOO.BAR as the mail exchanger for ANYHOST.FOO.BAR, hosts on the Internet attempting to send mail will automatically send that mail to GW.FOO.BAR to which they can connect, instead of simply attempting an impossible connection to ANYHOST.FOO.BAR. The difficulty arises, however within the FOO.BAR domain. According to that MX record, if GW.FOO.BAR has mail to relay to ANYHOST.FOO.BAR, it should look for an MX record. But it must discard the MX record which points to itself. This leaves it without directions as to how to handle the mail. Consequently some special arrangements must be made. Additionally, if OTHERHOST.FOO.BAR wants to send mail to ANYHOST.FOO.BAR, that same MX record causes it to deliver the mail to GW.FOO.BAR. Thus the gateway host is heavily loaded with the relaying of internal mail which could have been handled directly within the private domain, were it not for the MX record. One way around this problem which is sometimes used is to have two MX records for ANYHOST.FOO.BAR. The best preference names ANYHOST.FOO.BAR as the mail exchanger, while the alternate names GW.FOO.BAR. A host within the FOO.BAR domain will first attempt to send mail directly, and usually that will succeed. But a host on Internet from outside the FOO.BAR domain will fail in its attempt to mail to ANYHOST.FOO.BAR, and only after this connection attempt has timed out will it attempt to connect to GW.FOO.BAR (which should succeed). Although the computational cost of timing out on ANYHOST.FOO.BAR is not high, it may delay processing other mail in the queue, so the administrators of the FOO.BAR domain are reluctant to impose this burden on communicating Internet hosts. Moreover, Internet hosts with deficient mail transports may not attempt the second MX host after failing on the first. WORKAROUNDS: A number of workarounds have been used to deal with these situations. None is truly satisfactory. Methods include using mailers which don't read MX records, using mail software specially designed to ignore certain MX records, or creating an alternative DNS database setup for the domain, so that name servers within the domain supply different data than nameservers outside the domain. A PROPOSED ALTERNATIVE: We propose a redefinition of the MX record to handle the problem. Although the revised usage does not completely resolve all of the problems, it goes a long way in that direction. We will indicate later (in the section on implementation) how this redefinition can be implemented with a minimum of disruption. The current MX format is: ;domain preference mail-exchanger ANYHOST.FOO.BAR IN MX 100 GW.FOO.BAR. All that is changed is the preference. In place of a numeric preference, a preference now becomes a (domain, number) pair. Thus we might have: ANYHOST.FOO.BAR. IN MX (FOO.BAR., 100) ANYHOST.FOO.BAR. IN MX (FOO.BAR., 200) OTHERHOST.FOO.BAR. IN MX (., 100) GW.FOO.BAR. The interpretation is as follows. A host outside the FOO.BAR domain cannot use the first two MX records, for their use is restricted to within that domain. Therefore such a host only recognizes the third MX record, which directs mail go GW.FOO.BAR. A host inside the FOO.BAR domain, however, uses only the first two MX records, since they are specific for that domain. Thus the mail is appropriately directed within the domain, instead of going to the gateway host and unnecessarily loading it. Here are the rules for the preference field: 1. The domain which restricts the applicability of the MX must be a valid domain name. However there is no requirement that there exist an SOA record or an NS record of any other record with that name. 2. The domain for which the MX record exists must itself be within the domain which restricts the application of the MX. That is, an MX record for ANYHOST.FOO.BAR could have as its restricting domain any of . or BAR or FOO.BAR or ANYHOST.FOO.BAR. However UU.NET could not be used as a restricting domain. 3. An MX record in the old style ANYHOST.FOO.BAR. IN MX 200 NS.FOO.BAR. is to be interpreted as ANYHOST.FOO.BAR. IN MX (., 200) NS.FOO.BAR. 4. If an MX record is being interpreted by a host, that host only uses records restricted to a domain containing the interpreting host. The records used must be those of the most restrictive such subdomain for which MX records exist. Thus in the example, a host outside the FOO.BAR domain is prevented from using the first two MX records, since it is not in that domain. A host inside FOO.BAR is prevented from using the third record, since MX records exist in a more restrictive valid domain. Here is how the Australian example might look: MUNNARI.OZ.AU. IN MX (AU.,10) MUNNARI.OZ.AU. IN MX (.,10) MUNNARI.OZ.AU. IN MX (.,200) UUNET.UU.NET. Here a host in North America would use the second and third MX records. This is no change from the present arrangement. But a host in Australia is inside the AU domain, so would only use the first record. Thus mail from Australia would never be sent back to North America. A second MX record restricted to the AU domain could be added if desirable, without imposing an extra burden on hosts in North America. COMMENT: It might be desirable for the interpretation of MX records to be handled primarly by the mail transport. A mailer might be configurable as to which domains it considers itself inside when interpreting MX records. For example a host in New Zealand might want to use the MX records restricted to the AU domain, rather than the records for the universal domain. A mailer configuration setting might list the AU and NZ domains as the two domains such a mailer will consider itself to be inside. SUGGESTED IMPLEMENTATION: We propose the following limits on the meaning of MX records. On an MX record restricted to the root domain, the preference is restricted to a 15 bit integer. This is a change from the current definition, which permits unsigned 16 bit integer preferences. However this change is not likely to cause serious problems, since there are probably very few, if any, MX records with preference values in excess of 32767. On an MX record restricted to a domain other than the root, a preference is restricted to an 11 bit integer value. That is, the numeric preference must be between 0 and 2047 inclusive. The domain of restriction is limited to a maximum of 16 levels of qualification. (For example a restriction to FOO.BAR uses 2 such levels). Data for an MX record with root domain restriction will be recorded exactly as before. However, due to the 15 bit restriction on the numeric preference, the most significant bit of that preference will always be zero. Data for an MX record with a non-root restriction will be as follows: The most significant bit of the 16 bit preference field is always 1. The next 4 bits specify the domain of restriction. This 4 bit number represents an integer value between 0 and 15, which implies a domain agreeing with the domain name of the MX record in between 1 and 16 levels of qualification. The remaining 11 bits of the preference field specify the numeric preference. SOFTWARE CHANGES THAT ARE NEEDED: Since the data carried by a nameserver is unchanged in content, but changed only in interpretation, existing nameservers will still be useable. It will be desirable to upgrade them to accept the new input format for MX records, but the urgency is not great since the appropriate values can be computed by hand and entered into existing databases. If the interpretation of the data is left to the mail software, the resolver routines will not need to be changed. It will of course be desirable to upgrade domain analysis tools such as NSLOOKUP and DIG, but there is no great urgency. Email software must be upgraded to properly interpret the new formats. However, if a particular mailer is not upgraded, that will not create a significant problem. That mailer will see the new MX records with restrictions other than to the root domain as having very high numeric preference values, which in most cases will mean that these new records will largely be ignored. The crucial step to use the new facilities, then, is to upgrade the mailers on a set of key hosts within those domains that wish to use the new facilities. We do not forsee this as creating any major difficulties. -- =*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*= Neil W. Rickert, Computer Science <rickert@cs.niu.edu> Northern Illinois Univ. DeKalb, IL 60115 +1-815-753-6940
cliff@garnet.berkeley.edu (Cliff Frost) (03/29/91)
In article <1991Mar28.170144.8370@mp.cs.niu.edu>, rickert@cs.niu.edu (Neil Rickert) writes: |> |> The following is a suggestion I wish to float, which might be of significant |> use in dealing with some of the problems of mail handling. This proposal implies using Domain Names for routing decisions. It's always been my understanding that a DNS name implies nothing at all about routing (for IP or mail or anything else). Is this no longer true? For example, if all parties agree, and everyone sets up the name servers properly, ABC.SomeU.EDU might appear on the net 128.32 here at UC Berkeley instead of on net N.N which is physically at Some U. In other words the DNS name implies nothing about topology (as I understand it). Where I'm more confused is in the area of geographic "ISO-ish" domain names. Is a name that ends in ".AU" absolultely required to refer to a host that is physically in Australia? When I say "required" I mean *formally* required by the Domain Name System rules or their OSI equivalent. Cliff Frost UC Berkeley
jcurran@SH.CS.NET (John Curran) (03/29/91)
-------- ] The greatest risk is that there are hosts which don't treat the ] preference as "unsigned" 16 bit values. My guess would be that if there ] are such hosts they probably have 'int' defined as 16 bit, and probably ] have lots of other problems with networking anyway. If you were to ignore the high bit, you could avoid the signed/unsigned existing interpetation problem by using the second MSB for "restricted MX" and thus limit the standard MX's values to 0-8192. (ugly, but..) Another way to approach the "restricted record" problem would be on a general (radical) basis with an additional attribute for every record giving the applicable domain: ANYHOST.FOO.BAR. *.FOO.BAR. IN MX 100 ANYHOST.FOO.BAR. *.FOO.BAR. IN MX 200 OTHERHOST.FOO.BAR. IN MX 100 GW.FOO.BAR. The magnitude of a change like this would require rolling out new resolver code many months in advance of the new records, but would then allow for division of mail and nameservers by various regions: LARGE.COM. *.EAST.LARGE.COM. IN NS EAST-NS.LARGE.COM. LARGE.COM. *.EAST.LARGE.COM. IN MX EAST-NS.LARGE.COM. LARGE.COM. *.WEST.LARGE.COM. IN NS WEST-NS.LARGE.COM. LARGE.COM. *.WEST.LARGE.COM. IN MX WEST-NS.LARGE.COM. LARGE.COM. *. IN NS NS1.ANY.NET. LARGE.COM. *. IN NS NS2.ANY.NET. LARGE.COM. *. IN MX MAIL-GW.LARGE.COM. I'm certainly NOT advocating a change of this magnitude, but I felt that if we're considering restricting MX record usage in some manner, we ought to examine the more general model for comparision. (Imagine subdomain delagations that only apply to particular hosts..) /John
rayan@cs.toronto.edu (Rayan Zachariassen) (03/29/91)
The arguments for MX records requiring this can also be applied to A records, NS rrs, and probably more. Instead of a special-purpose additional RR, how about a proposal for generic context-sensitivity in the DNS? Generalize... rayan
rickert@mp.cs.niu.edu (Neil Rickert) (03/30/91)
There has been some discussion lately on the topic of the 'Subject:' line above, which may be of interest to some readers of comp.mail.sendmail . This note is mainly to bring it to your attention. The discussion has mostly been by mail in the ietf-hosts mailing list, but it should also be showing up in comp.protocols.tcp-ip.domains . One word of caution. If the ietf-hosts mailing list is being gatewayed into your news system, you will probably see some articles in ietf-hosts, and some in comp.protocols.tcp-ip.domains . Since most of the messages are originating with mail, the items in both newsgroups will have the same 'Message-ID:', so only the first to arrive will be recorded in your system. -- =*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*= Neil W. Rickert, Computer Science <rickert@cs.niu.edu> Northern Illinois Univ. DeKalb, IL 60115 +1-815-753-6940
kre@cs.mu.OZ.AU (Robert Elz) (03/30/91)
cliff@garnet.berkeley.edu (Cliff Frost) writes: >This proposal implies using Domain Names for routing decisions. It's always >been my understanding that a DNS name implies nothing at all about routing >(for IP or mail or anything else). Is this no longer true? Its true in theory - in practice many DNS domains are isomorphic with routing areas. Its that practical truth, combined with the ability to make use of it without making any real change to the DNS system that inspired this proposal I believe. That is, for very little cost, a scheme can be implemented that would be of use to many sites, though there's no doubt that it would not be "complete" in any sense, nor would it be able to handle any arbitrary situation. >Where I'm more confused is in the area of geographic "ISO-ish" domain names. >Is a name that ends in ".AU" absolultely required to refer to a host that >is physically in Australia? It is not required, formally or otherwise. What's more, even if it were, that would not imply anything about routing, there are hosts in the AU domain (which happen to be in Australia) that send IP packets to each other via the US (entering at the west coast, crossing NSFnet, and exiting in the north east). (That is, from any regular AARNet host, to one on one multi-national company's IP net that happens to contact the world's research nets in north east US). kre
rickert@CS.NIU.EDU ("Neil Rickert, N Illinois U, CS") (03/31/91)
>This proposal implies using Domain Names for routing decisions. It's always >been my understanding that a DNS name implies nothing at all about routing >(for IP or mail or anything else). Is this no longer true? > >For example, if all parties agree, and everyone sets up the name servers >properly, ABC.SomeU.EDU might appear on the net 128.32 here at UC Berkeley >instead of on net N.N which is physically at Some U. > >In other words the DNS name implies nothing about topology (as I >understand it). I gave two examples in my original message. The first dealt with mailing to the AU domain, and the second to an organizational domain I call FOO.BAR. As I admitted in a later response, the first example is a slight stretch, and in any case the problems cited will be solved with improved technology. The main importance, as I see it, refers to the second example. This is the case where an organizational domain decides, for reasons of its own policy, to control access to the net by limiting packet forwarding and by requiring that email go through a few gateway hosts. Organizations which do this include private corporations and educational institutions. Regardless of whether we agree or disagree with these policy decisions, they exist. Since they are based on policy, they will not quick change with improved connectivity. Whether or not the domain names reflect the packet routing in general, they heavily effect mail forwarding based on these policy decisions. Organizational domains which follow this practice are already using ad-hoc approaches to change the way some MX records are processed. But often these ad hoc approaches are deleterious to the net as a whole. The proposal is designed to provide a consistent way of handling the problem. One alternative that is sometimes used is to set up alternative sets of DNS records, so that the domain database looks different from inside the organizational domain. Sometimes this even involves alternate root name servers. When this approach is used there is a risk that a minor error can inject bogus DNS records into the Internet nameservers. I would much prefer a workable approach which does not entail such a risk. -Neil Rickert
cliff@garnet.berkeley.edu (Cliff Frost) (04/02/91)
In article <9103301612.AA16080@mp.cs.niu.edu> rickert@CS.NIU.EDU ("Neil Rickert, N Illinois U, CS") writes: >>This proposal implies using Domain Names for routing decisions. It's always >>been my understanding that a DNS name implies nothing at all about routing >>(for IP or mail or anything else). Is this no longer true? ... > Whether or not the domain names reflect the packet routing in general, they >heavily effect mail forwarding based on these policy decisions. Neil, How about you change the wording of your proposal very slightly. Instead of using "normal" DNS domains, call them "MX-domains". In the cases where policy enforces the types of naming you're talking about there is no difference between a machine's MX-domain and its DNS name's subdomain. Now, require mailers that implement this to allow a host to think of itself in multiple MX-domains. A host would normally be in the same MX-domain as it's Domain Name, but it could be configured to be in others as well, and it could also be configured NOT to be in the MX-domain that matches its Domain Name. (You do suggest this in your proposal as an option.) That is; X.FOO.BAR.COM's mailer could be configured to be in the MX-domain ABC.EDU. That could be *as well as* being in the MX-domain FOO.BAR.COM, or it could be *instead* of being in the MX-domain FOO.BAR.COM. It seems like the underlying problem to be solved is this: Given a list of source and destination IP addresses, an application (eg mail, telnet, ftp), and a list of policy constraints, how does a host choose which ones to use, and in what order? Well, I don't have any brilliant idea how to approach this, so your proposal seems like a clever way of handling some of this for email. I'd just hate to see fine upstanding addresses like rickert@CS.NIU.EDU degenerate into things like EDU!NIU!CS!rickert. ;-) Cliff
jeff@crash.cts.com (Jeff Makey) (04/02/91)
In article <91Mar28.233847est.6186@neat.cs.toronto.edu> rayan@cs.toronto.edu (Rayan Zachariassen) writes: >The arguments for MX records requiring this can also be applied to A records, >NS rrs, and probably more. Instead of a special-purpose additional RR, >how about a proposal for generic context-sensitivity in the DNS? Generalize... I agree. The DNS was conceived and implemented as a global database, but we now see that that was not quite the best idea. We now need some sort of access controls to provide different answers to DNS queries depending upon who is asking the question. Neil's article should give us a good basis for designing such controls. :: Jeff Makey Department of Tautological Pleonasms and Superfluous Redundancies Department Posting from my temporary home at ... Domain: jeff@crash.cts.com UUCP: nosc!crash!jeff
rickert@mp.cs.niu.edu (Neil Rickert) (04/02/91)
In article <8341@crash.cts.com> jeff@crash.cts.com (Jeff Makey) writes: >>The arguments for MX records requiring this can also be applied to A records, >>NS rrs, and probably more. Instead of a special-purpose additional RR, >>how about a proposal for generic context-sensitivity in the DNS? Generalize. > >I agree. The DNS was conceived and implemented as a global database, but >we now see that that was not quite the best idea. We now need some I disagree. The Internet has a global name space, and has been highly effective because of that. The A record(s), for example, uniquely identifies the host. The whole design is based on using this name space, and leaving details of packet routing up to the network routers. If there are problems with accessing hosts with A records, they should be solved by improved routing algorithms, rather than DNS changes. The MX record, however, is an exception. It does not identify the destination host, but instead identifies the first leg in a series of relay steps to get the message to that host. My MX proposal should be understood as allowing the MX records to also define the second and subsequent steps in the relay path. As it stands now, using a chain of relay hops to deliver mail with an MX address is relatively straight forward, providing the second hop uses UUCP or some other form of transport. It is when the second step should also use SMTP that the problems begin, for the MX record defining the first relay hop effectively prohibits the use of the DNS to find the second hop. This can only be overcome by either remapping the destination domain name to a different name, thereby destroying the notion of unique names in a global name space, or by finding some way of overriding the DNS information. -- =*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*= Neil W. Rickert, Computer Science <rickert@cs.niu.edu> Northern Illinois Univ. DeKalb, IL 60115 +1-815-753-6940
gandalf@csli.Stanford.EDU (Juergen Wagner) (04/02/91)
So far, the discussion focussed on changes which are visible to clients of a domain name server. It seems to me that the desired functionality could also be gained by introducing chnages only on the name server side. Suppose, a new RR, called VIS (visibility) is defined as follows: id IN VIS requestor-domain-1 IN VIS requestor-domain-2 ... ... ... where 'id' is some non-numeric identifier, possibly domain-style, and where 'requestor-domain-i' is some domain-style name, with the left-most token possibly being a '*'. Now, we could tag all traditional RRs in the following way: [domain] [ttl] class type data changes to [domain] [id] [ttl] class type data with the semantics that this RR sould only be given to hosts in a domain listed for the identifier 'id'. Lookup in this table could be done in a way that the name server looks for the most specific record matching (i.e. the longer the domain suffix found, the more specific, and the wildcard is always less specific than any ordinary token). RRs passed on to clients (mail, news, telnet, etc.) will still have the same format as before, in fact, they won't notice any difference at all, except that they now receive less information. Secondary servers for a domain with VIS records would have to understand them. This requires updates to all name servers of a domain with VIS RRs. Listing secondary name servers in VIS records provides a mechanism for filtering what should be down-loaded on a zone transfer. Of course, we could also tag VIS records... The name server would use them, anyway, but some other hosts won't be able to down-load them... --Juergen Wagner (gandalf@csli.stanford.edu) (wagner@iao.fhg.de) PS: The above reflects some spontaneous ideas I had on this topic. I have neither thoroughly thought through all the consequences, nor do I have an implementation of it :-).
kre@cs.mu.OZ.AU (Robert Elz) (04/03/91)
jeff@crash.cts.com (Jeff Makey) writes: >We now need some >sort of access controls to provide different answers to DNS queries >depending upon who is asking the question. No we don't - telling lies is the very last thing that we want to do - we've already seen (many times) how a little bit of bad information can easily polute the namespace, and be difficult to get rid of - institutionalising this by deliberately providing wrong answers cannot possibly help. Quite apart from that - you can't possibly tell reliably who is asking the question, queries are often sent through forwarding nameservers, the server that handles the query has no idea at all where it originated. Some have suggested that the domain name of the requestor be used to decide on the answer to give - even assuming that you could find who the requestor is, this would mean the server doing an in-addr.arpa lookup before answering any query - kind of a heavy workload for a busy server there - but even then would be basing the decision on the wrong criteria - domain names should not be used for this purpose. Note that Neil's suggestion does not in any way attempt to hide information - he makes it all available, its then up to the recipient to decide how to interpret the information. That is, his suggestion is simply to provide some guidance. I could imagine that doing something similar for NS records may be an advantage - to suggest (somehow) which NS would be the preferable one to use. This is less important though, as its possible to determine that dynamically by watching the responsiveness of the various servers as queries are made - something that is much harder for a mailer to do (as "responsibveness" is not a measure of which MX is the best to use). Note again - Neil's suggestion does not restrict whoch MX destination a host can use, or which it should try first (beyond the standard restriction if the host involved is itself one of the MX hosts). All of the MX's are equally plausible hosts to use - the suggestion simply provides hosts with a method to determine which is likely to actually be an effective host to try (eg: host X is the best MX, but its useless trying that if you're not in the Z domain, as you won't be able to reach it, you can try if you like, just wasting a bit of time, so try using host Y instead.) Its problem is that that decision is based on domain names - a choice made only because without changing the DNS there is no other available information to use. But here its based on known, well defined, names, the domain of the host asking the query (one assumes it knows its own name - and for this purpose any extra domains it may be considering itself to be a member of) and the domains that actually appear in the DNS answer packet. kre
als@bohra.cpg.oz.au (Anthony Shipman) (04/04/91)
It seems to me that we are abusing the preference value. The MX record tells me where to send the mail to get to the desired destination and may give me a few alternative paths for reliability. This is the essential information. To be helpful it also hints at which paths are more preferable. But it doesn't tell me why. Host A may be preferred over host B because A is lightly loaded. I don't think I should infer routing costs. The proper expert on the routing costs is the network routing system itself. If the MX records suggest two alternatives of equal preference I want be able to ask the network which of the two is the best (least cost) to connect to. The answer depends on where I am and can also change as links go up and down. I understand DECnet routers can supply this information. I don't know much about IP routers. For the "internal/external network" example the network could report that the internal nodes are unreachable from the external nodes, as a result of the policy in the gateway. I realise that this does not solve the immediate problem. In article <1991Apr2.125820.29475@mp.cs.niu.edu>, rickert@mp.cs.niu.edu (Neil Rickert) writes: ......... ......... > The MX record, however, is an exception. It does not identify the destination > host, but instead identifies the first leg in a series of relay steps to get > the message to that host. My MX proposal should be understood as allowing > the MX records to also define the second and subsequent steps in the relay > path. > > As it stands now, using a chain of relay hops to deliver mail with an MX > address is relatively straight forward, providing the second hop uses UUCP or > some other form of transport. It is when the second step should also use > SMTP that the problems begin, for the MX record defining the first relay > hop effectively prohibits the use of the DNS to find the second hop. This > can only be overcome by either remapping the destination domain name to a > different name, thereby destroying the notion of unique names in a global > name space, or by finding some way of overriding the DNS information. It sounds like you are trying to derive a closure from the DNS database, i.e. if A->B and B->C, both by SMTP then you want to conclude A->C in one hop. Should the DNS really attempt this? There might be good reasons why you must go through B, e.g. irregularities due to company routing policy. The DNS sounds like the wrong place for this information. IMHO the ultimate answer is a better routing information service from the IP routers. SNMP might do this or could be extended to do this. -- Anthony Shipman "You've got to be taught before it's too late, Computer Power Group Before you are six or seven or eight, 19 Cato St., East Hawthorn, To hate all the people your relatives hate, Melbourne, Australia You've got to be carefully taught." R&H
hudson@ug.cs.dal.ca (Bruce Hudson) (04/05/91)
In article <1991Apr4.140715.22723@bohra.cpg.oz.au> als@bohra.cpg.oz.au (Anthony Shipman) writes: > >It sounds like you are trying to derive a closure from the DNS database, i.e. >if A->B and B->C, both by SMTP then you want to conclude A->C in one hop. I do not think that closure was what is desired. At least what I wanted was not closure but some way, using the DNS, to cause all sites other than B (or C, but that wasn't a problem) to send mail for D to B. B should send the mail to C. The current MX protocols do not allow this. It allows only the first hop to be specified, not the second hop. To set this up, B has to special case handling of messages to D in its mailer software. -- Bruce A. Hudson | HUDSON@AC.DAL.CA UCIS, Facilities and Operations | HUDSON@DALAC (Bitnet) Dalhousie University | HUDSON@DALCS (UUCP) Halifax, Nova Scotia, Canada |
dan@SCI.CCNY.CUNY.EDU (Dan Schlitt) (04/05/91)
I have been following this discussion with some interest but with not much of an idea on what would constitute a really good solution. From the amount of discussion it is clear that there is a real problem to be solved. In my mind there is a problem with the use of preferences in the way that has been suggested. There is simply no way that the use of these numbers can be made uniform. It is a bit like port numbers. There are reserved port numbers that are assigned by the NIC. That part works well because they are centrally assigned. But there is the hack of privileged ports which gives special meaning to a subset and some, but not all, software treats them in that way (at least that is how I remeber the situation to be). That creates problems for people who assume that they are treated specially when they communicate with software that doesn't make that assumption. You are setting up a similar situation for MX records. Before adopting the proposal we ought to see some analysis that establishes that the system is robust in the face of failure of opposite ends of a connection making differing assumptions. I think I saw the start of this kind of analysis but it wasn't very convincing. The second problem is that the DNS translates names to numbers and doesn't have anything to do with routing. This problem is really about routing. Is there a solution within the realm of routing without bringing the DNS directly into it? Could we drag the solution back into the domain of assigned numbers? Is it possible that autonomous system numbers or something like them could be a better way to attack the problem? (Said by someone who knows and wants to know little about EGP and friends.) /dan
rickert@mp.cs.niu.edu (Neil Rickert) (04/06/91)
In article <9104051527.AA18234@sci.ccny.cuny.edu> dan@SCI.CCNY.CUNY.EDU (Dan Schlitt) writes: >The second problem is that the DNS translates names to numbers and doesn't >have anything to do with routing. This problem is really about routing. >Is there a solution within the realm of routing without bringing the >DNS directly into it? Could we drag the solution back into the domain of >assigned numbers? Is it possible that autonomous system numbers or something >like them could be a better way to attack the problem? (Said by someone >who knows and wants to know little about EGP and friends.) People keep arguing that this is about routing. It isn't. It is about gatewaying mail. The current MX record is very good for gatewaying mail between Internet and a network using say UUCP transport. It creates problems when you want to gateway mail between two networks both using the Internet protocols. A couple of us are currently looking at another alternative for solving the same problem. If it survives a few more days thought it will be tossed around to some who have commented on this topic. If it still looks good it will be introduced to namedroppers / comp.protocols.tcp-ip.domains for further discussion. -- =*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*= Neil W. Rickert, Computer Science <rickert@cs.niu.edu> Northern Illinois Univ. DeKalb, IL 60115 +1-815-753-6940
jeff@crash.cts.com (Jeff Makey) (04/08/91)
Access controls are the correct paradigm for the proposed extensions, for the simple reason that we wish to restrict (attempted) access to certain MX hosts. (A similar concern is restricting attempted access to nameservers.) The problem with bogus RRs is a good reason for enforcing the access controls in DNS clients, but this doesn't mean enforcement shouldn't also be done at the server. Doing it both places would ease the transition period where a large number of DNS implementations don't do access controls. The only workable basis for allowing or denying access to particular RRs is the domain name of the requestor, and this could be either the regular domain name or the .IN-ADDR.ARPA name, whichever is more appropriate. Servers should err on the side of releasing RRs when the identity of the requestor is in question. Once again, I think enforcement should be done by *both* server and client, and that the mechanism should be applied to *all* RR types to allow maximum flexibility. Of course, the momentum of the DNS protocol and existing implementations may be such that the most we can hope for is a new RR type (which would still take a painfully long time to be widely understood). :: Jeff Makey Department of Tautological Pleonasms and Superfluous Redundancies Department Posting from my temporary home at ... Domain: jeff@crash.cts.com UUCP: nosc!crash!jeff
mohta@necom830.cc.titech.ac.jp (Masataka Ohta) (04/12/91)
In article <kre.670337301@mundamutti.cs.mu.OZ.AU> kre@cs.mu.OZ.AU (Robert Elz) writes: >>This proposal implies using Domain Names for routing decisions. It's always >>been my understanding that a DNS name implies nothing at all about routing >>(for IP or mail or anything else). Is this no longer true? >Its true in theory - in practice many DNS domains are isomorphic with >routing areas. Its that practical truth, combined with the ability >to make use of it without making any real change to the DNS system that >inspired this proposal I believe. >That is, for very little cost, a scheme can be implemented that would >be of use to many sites, though there's no doubt that it would not be >"complete" in any sense, nor would it be able to handle any arbitrary >situation. I think I have a good scheme for the MX problem by introducing a new RR type. The scheme should: allow DNS be uniform single tree be effecient allow local control not encourage too much separation of the internet Then, the current MX problem is derived from the fact that the internet is not uniform. It consists of several strongly connected parts: REGION (say North America, Australia or Japan). Links between REGIONs are weak and often charged and thus restricted. So, to reflect the reality, it is natural for each node to have a new RR type: T_REGION. Then, it is now possible to modify mail programs to take special care (see different part of domain tree, for example) if its own domain and the mail destination have the same T_REGION value. For example, consider the case to send a mail from "foo@titech.ac.jp" to "bar@ntt.jp". As "titech.ac.jp." and "ntt.jp" are in Japan, they should have T_REGION value "japan". Mail programs detect this and, instead of looking up MX for "ntt.jp.", look up MX "ntt.jp.japan.region." and recieve the different MX (there is no IP connection between "titech.ac.jp." and "ntt.jp." in Japan. They are independently connected to USA. But UUCP link exists. So, cheap UUCP link should be used for mail transfer in Japan). The schme has advantage over the proposed visibility based scheme that it allows local control of information. That is, each domain can control its REGION. This is important because REGION boundary dose not follow boundary of DNS tree. For example, "japan.sun.com." is a domain in Japan. If the visibility based scheme is used, each administrator in Japan must know which domains are in Japan, which is impossible. Once T_REGION is widely available, there can be several different approach to MX problem: 1) provide a special node "region." as described above. 2) Extend MX (say T_EMX) to allow optional region to control visibility at the mailer side. and perhaps more. But, to me, 1) is preferable because: a) the uniqueness of the REGION name is automatically assured as a subdomain under "region." b) only one new RR type is necessary c) can perform experiment purely locally (using top domain of "region.cc.titech.ac.jp." instead of "region." and performing REGION lookup recursively up-domain, where "jp." has appropriate "T_UNSPEC" record). Multiple levels of REGION (say, tokyo.japan) may be useful, but, it may introduce unnecessary partitioning of the internet. I have already modified berkeley sendmail 5.65 (it was easy) and waiting for "jp." administrator to cooperate. I appreciate any comment. Masataka Ohta PS Currently, we, Japanese, are sufferring from the MX problem and running three trees of DNS. It's ugly.