greg@ncr-sd.UUCP (Greg Noel) (01/01/70)
In article <1451@cbosgd.UUCP> mark@cbosgd.UUCP (Mark Horton) writes: >We looked at the possibility of doing the ihnp4/post style thing as >part of a standard. (Basically, mail to ihnp4!mark.r.horton works, >as will as ihnp4!gjm, the former is a person name, the latter a host.) >There was one killer problem: what do you do with ihnp4!horton? Is >it a login name or a surname? What if it's both? How do you decide >this syntactically, given the layering of a real system? I assume that gjm is a login id, not a host. Or maybe you went to a party where Gary was a host??? Anyway, the heuristic used by ihnp4's code seems to be that if a name has a dot in it, it is syntatctically a person-name to be resolved. I suspect that if I sent mail to ihnp4!horton it would tell me that "horton" was not a known user (although that may be a bad example -- how about ihnp4!bourne?). I suppose the question is how many systems use login names (mail identifiers) that routinely include periods (or underscores, or some separator we can agree on). Somehow, > ihnp4!/pn=Horton_Mark_R or even /pn=mark.horton@ihnp4 (is that slash required?) isn't as aesthetic as mark.horton@ihnp4 although this may be a case where only the mail transfer agent has to deal with such strangenesses and the user agents can hide the uglyness. >which is a special case of a more general MHS X.400 address. .... I've heard about X.400, but I'm afraid I don't know much about it. Is there a copy that I can get easily? Even an ARPAnet copy would be OK; I think I might be able to get my ARPAnet relay to FTP it for me. >As to accepting a public domain piece of software, the issues have >nothing to do with the mailer, but rather involve market demand and >support. If there is market demand for such a feature and a program >to do it were dropped into their lap, the only real questions are >whether it fits into the long term plans, and whether resources can >be allocated to support it. None of these issues is at all clear. Food for thought...... -- -- Greg Noel, NCR Rancho Bernardo Greg@ncr-sd.UUCP or Greg@nosc.ARPA
greid@adobe.UUCP (Glenn Reid) (08/05/85)
There are lots of problems with the current mail system, as I don't have to point out to anybody. I think that many things can be learned simply by looking at the U.S. Postal Service, like it or not, which works. For example: on USENET, people are basically at liberty to decide what their site will be called, and what usernames are valid at that site, which starts all these so-called name collisions with mailers. I point out to you that there is far more likelihood for name collisions in street naming (done locally), people naming (done locally), and town naming (also done locally). The Post Office is perfectly happy to let you decide what to call yourself, and where you live. So should USENET be. What they do, however, is to decree that State names need to be uniform, and ZIP codes, even more so. They basically will not deliver a letter without a ZIP code on it, as well they shouldn't. (Debatable). It makes sense for electronic mail to follow some similar convention, which should allocate geographic (probably) zones in which the mail addresses are to be evaluated, and have several levels of delivery. To draw another analogy, consider the various lines on a USmail address. The Post Office starts reading AT THE BOTTOM, not at the top. Why not have more than one line for electronic mail messages, like so: Address: adobe!greid Area: SILICON.VALLEY State: CA ZAPcode: 94303-852-0271 (arbitrary) The problem at the moment is that net addresses are dependent upon machine names, which is never going to be constant for long. There need to be basic geographic or policital address conventions, with a mechanism for deciding what computer is actually going to deliver the mail. Then any given mailer only has the responsibility of getting the message first to the proper geographic area, then some computer who claims to represent that area (or zip-code, if you will), can forward it from there. "THAT IS A DOMAIN," I can hear people shouting. Perhaps, but domains at present are set up at random and without any particular heirarchical or geographic method. There is no standard. And the domain names are completely arbitrary. If they were broken down, say, by STATE NAME, then it would be reasonable for each computer to maintain a table of all 50 states and where to deliver mail that it receives with that State name in it. An 'aliasing' system, which doesn't really require that my computer know anything about the real route. For instance, if I send mail bound for Massachusetts from my computer, (we have no direct links to MA), our mailer looks in its table under MA and finds: decwrl. Aha. decwrl is in California, everybody knows that. But my mailer sends it to decwrl anyhow. Decwrl then looks at the message and says, "Aha. Massachusetts." In decwrl's table under MA might be MIT-something, so it sends it there. And so on. This means that the return route MIGHT NOT BE THE SAME as the sending route, but who cares? It allows for path optimization, changing routes very simply, and for more sensible routing in general. The next problem arises once the mail gets into the proper state, but that is where the ZAP code comes in (or whatever). First, decwrl (or whoever) will look at the first line of the address. If it doesn't know the address, it will look at the ZAP code, to determine where next to send it. Again, this code will evaluate to another computer name, but it can be changed ON THAT MACHINE without ever changing the net address that the original sender types in at his end. And computers in California would only need to maintain tables for areas in california, and so on. This would work. Why don't we do it? Glenn Reid ..decwrl!adobe!greid
lauren@vortex.UUCP (Lauren Weinstein) (08/06/85)
One of the problems with state-based schemes (or any system that doesn't encourage the use of direct or semi-direct hops--that is, local exceptions to "route to the state handler" routings), is that it tends to put a tremendous amount of load on the particular site that is acting as that gateway (usually for free) and encourages what might be called "sloppiness" in tables. My own view is that local tables should only resort to sending to "gateway" machines for a geographic area (or a logical area, which makes more sense the way some regions are set up) when more specific local information isn't known. For example, many sites call vortex directly. If mail is addressed to vortex.UUCP (for example) they should call directly if possible. Sites that have specific enough information to route to vortex would use whatever information they have, even for multiple hops. Only if all else failed would routing be done through the top-level domain and subdomains (e.g. CA). If too much reliance is put on "gateway" subdomain servers, they will swamped. Also, in many cases routing will be much slower than more direct routes. For example, getting to vortex is generally much faster through a number of East coast machines than the most common West coast machines--and tables should be aware of that fact whenever possible. If all mail to vortex routed through the theoretical CA site, rather than using better information when available, not only would that CA site be footing unnecessary costs but message turnaround time would be increased as well. --Lauren--
chris@umcp-cs.UUCP (Chris Torek) (08/08/85)
Let me see if I can take Lauren's suggestion and get pseudo-code out of it. If I ever get shanghaid into hacking mailers, I would probably implement the "UUCP" "domain" like this: rmail: given <string>!<string>, just forward by direct UUCP to the first host in <string>, doing what rmail has always done with these. If it fails, return to sender. Rmail is a transport system, not a router. Note that I ignore any @-signs in <string>!<string>. rmail: given <string> with no !s, hand it to mailer. mailer: given <string>!<string> with no @-signs, just hand it off to uux. (Pretend to be a transport system; no routing.) mailer: given <user>@<string.UUCP>, look up "string" in our local UUCP database and see if we have a route for it. (I.e., given "cbosgd.att.uucp" see if we know how to get to "cbosgd.att".) If so, then it should hopefully be a fully specified ! string, and I hand that straight to uux (without even looking at it). (In this case I would get "seismo!cbosgd" as the full route. Note that you can put arbitrary stuff in the database if you think it will "work right".) Otherwise, do a "nameserver lookup" on the "domain" part of "string" (excluding UUCP---there is no top level uucp name server), again by a local UUCP database lookup (different database though). E.g., if I don't know "cbosgd.att" then I look for "att". If I can get there, then I take the string I get back from that, append the original address, and hand *that* to uux. Just for completeness, here's an example if I get (say) user@tinyhost.smalluniv.bigcity.calif.uucp: 1. look under "full routes for hosts" for tinyhost.smalluniv.bigcity.calif.uucp; fails. 2. look under "partial routes for domains" for smalluniv.bigcity.calif.uucp; fails. 3. look under "partial routes for domains" for bigcity.calif.uucp; fails. 4. look under "partial routes for domains" for calif.uucp; succeeds; I get "seismo!vortex" (vortex is such a smart router :-) ), so I send to seismo!vortex!user@tinyhost.smalluniv.bigcity.calif.uucp In other words, if I don't have a route for the full domain name, I will try to find a route for what I have put into my database as the "domain server" for the partial domain. It is entirely the responsibility of *me* to have correct data in my UUCP database. My database can be as extensive (or not) as I want. Also, I am depending on myself (again) not to put "dumb" hosts in my "partial routes for domains" table. I could (it would be a bad idea but I could) put myself in for something, causing a mail loop. I could also put a host in that I thought was smart, but actually wasn't, again causing a mail loop. If I find I've done that, I change my database. Also, if I am a "partial route for domains" for someone else for maryland.uucp, then things work too. Suppose someone else, let's call him otherguy@hishost.hisuniv.uucp just to give him a "full name", uses my scheme to send to user@sphinx.ee.maryland.uucp and gets me as his partial route for maryland.uucp. He sends to hplabs!hao!seismo!umcp-cs!user@sphinx.ee.maryland.uucp. Now (if everyone is using my algorithm, or if they're running v7 rmail), that finally gets here and all the ! stuff has been used up and rmail gets "user@sphinx.ee.maryland.uucp". Since this doesn't have !s, rmail pops it over to the mailer, which looks up sphinx.ee.maryland.uucp and finds it, and sends the mail off to "eneevax!umd-sphinx!user"---which is the right place. (Or maybe it can only handle ee.maryland.uucp and routes it to "eneevax!user@sphinx.ee.maryland.uucp" for further processing.) Finally, down!honey can still do his tricksy pathalias stuff and send to what I label "user@sphinx.ee.maryland.uucp" by sending to "princeton!seismo!umcp-cs!eneevax!umd-sphinx!user", and that works too. (Isn't backwards compatibility fun?) Of course, this does not address what happens in the user interface, nor with crossover between DARPA Internet and UUCP (but we're not supposed to do that anyway). I'll think about that later. . . . Another problem is that I have this huge UUCP routing database duplicated at lots of UUCP sites. down!honey just has a huge pathalias database duplicated at lots of UUCP sites, which is clearly better, right? :-) -- In-Real-Life: Chris Torek, Univ of MD Comp Sci Dept (+1 301 454 4251) UUCP: seismo!umcp-cs!chris CSNet: chris@umcp-cs ARPA: chris@maryland
chris@umcp-cs.UUCP (Chris Torek) (08/08/85)
Whoops, last point (I promise!---at least until someone starts arguing): if one uses my scheme and has an empty "partial routes for domains" database, then the situation is just like when we used to just look up the uucp hostname in the flat-namespace-database (which is what we are doing right now). If both db's are empty, then the situation is like it was under V7: one must always use full routes, rather than domainified names. (Sorry about the typo (it's shanghaied, not shanghaid)....) -- In-Real-Life: Chris Torek, Univ of MD Comp Sci Dept (+1 301 454 4251) UUCP: seismo!umcp-cs!chris CSNet: chris@umcp-cs ARPA: chris@maryland
jlm@stl.UUCP (John "Rainbow" Messenger) (08/09/85)
Lauren is quite right to stress the importance of a mailer using direct paths whenever possible. My understanding of the domain-based scheme is that forwarding to the next-higher-subdomain-host is done only when a route is not known to the destination. The advantages of not using the "pass it to my next-higher-domain-host" approach except when necessary are cost, speed, non-overloading of that host and preservation of net anarchy (ie if you pass everything up, then down, the guy at the top is in control in a big way - what happens if he crashes? or stops cooperating? - passing messages directly keeps you (more) independant of the hosts above). -- -- John Messenger (...!mcvax!ukc!stc!stl!jlm)
henry@utzoo.UUCP (Henry Spencer) (08/11/85)
> ... If they were broken down, say, by STATE NAME, then > it would be reasonable for each computer to maintain a table of all 50 > states and where to deliver mail that it receives with that State name > in it. ... This sort of idea has come up before. The problem is that geography in general, and state boundaries in particular, has little to do with good routing. The classic case, which I *think* has now been cleared up, is that for a long time there were two disjoint sets of machines in Colorado, with no in-state links between them. Geography does show some correlation with routing, mostly because long-distance charges are tied to geography, but arbitrary groupings are hard to avoid if you want a solid basis for routing decisions. -- Henry Spencer @ U of Toronto Zoology {allegra,ihnp4,linus,decvax}!utzoo!henry
jww@sdcsvax.UUCP (Joel West) (08/15/85)
>In article <5866@utzoo.UUCP>, Henry Spencer writes > This sort of idea has come up before. The problem is that geography in > general, and state boundaries in particular, has little to do with good > routing. The classic case, which I *think* has now been cleared up, is > that for a long time there were two disjoint sets of machines in Colorado, > with no in-state links between them. Geography does show some correlation > with routing, mostly because long-distance charges are tied to geography, > but arbitrary groupings are hard to avoid if you want a solid basis for > routing decisions. Anyone of us who has thought about the problem and still likes geography is aware of this distinction. Many of my (gould9) best links are out-of-town, and for a while, all of them were. I have no direct links to anywhere in usa.ca.n, but plenty to att.nj and usa.fl. However, geographic domains have several advantages: 1) They are unambiguous, clear, and indisputable. If I know henry is in Toronto, then I know his domain is "ON.CAN" (or whatever). I don't have to guess what his organization is. When he joins the net (if he's a new user) he doesn't have to agonize over which domain to join and, in fact, to domain headquarters (domainhq@cbosgd.IL.USA) will automatically grep and grok "Ontario" and spit out ON.CAN 2) In terms of reliability, geographic is as good as any. Sure, there are some cases where geographic is bad--I now would send to any Calif. AT&T site via ihnp4. However, no scheme will be perfect and the choice is really arbitrary. 3) It keeps phone costs down. When the net explosion hits, a lot of needless phone calls out of state will eliminate the desireability of UUCP at many sites. Perhaps it will tend to encourage people to use more sensible routings rather than crossing the country three times. 4) It will encourage more local ("free") connections. People will tend to exchange connections with major sites in their area. I think this is a good thing. 5) DOMAINS != ROUTES As has been noted, domains are a logical address space, and only imply routings for the dumbest of sites. Almost any site can replace "rmail" with something that goes through a pathalias database. Those paths will be optimally routed for frequent correspondents. If an occasional message to an unknown site is confused by a misleading domain and takes a suboptimal route, so what? If it arrives, it's better than the present system. Joel West CACI, Inc. - Federal (c/o Gould CSD) {decvax!sdcsvax,ihnp4!bonnie}!gould9!joel gould9!joel@NOSC.ARPA
jer@peora.UUCP (J. Eric Roskos) (08/19/85)
>> Geography does show some correlation with routing, mostly because long- >> distance charges are tied to geography ... > 3) It keeps phone costs down. I have a little doubt about this, because the change in the phone charges is not a linear function of the distance. Thus delivering a message by 3 "short" hops usually costs a lot more than delivering it by two longer ones (or, ESPECIALLY, one to a particular state, and then one by a non-local intrastate call). The geographic domains also don't take into account the fact that many large corporations have special phone arrangements to reduce their costs for calls within the company. > 5) DOMAINS != ROUTES ... and only imply routings for the dumbest of sites. Well, then, offer a counter-argument. I've already advanced an argument that domains do equal routes in many cases for all but an omniscient nameserver; and that, in fact, domain-ed site names can't even be considered to be "names" in a formal sense of the word. [It would help to define "route", though.] -- Shyy-Anzr: J. Eric Roskos UUCP: ..!{decvax,ucbvax,ihnp4}!vax135!petsd!peora!jer US Mail: MS 795; Perkin-Elmer SDC; 2486 Sand Lake Road, Orlando, FL 32809-7642 "Gurl ubyq gur fxl/Ba gur bgure fvqr/Bs obeqreyvarf..."
greg@ncr-sd.UUCP (Greg Noel) (08/21/85)
In article <1156@umcp-cs.UUCP> chris@umcp-cs.UUCP (Chris Torek) writes: >If I ever get shanghaid [sic] into hacking mailers, I would probably >implement the "UUCP" "domain" like this: > > [I tried to cut this down to the portion I wanted to talk about, but > it still ended up 50 lines. Instead, I recommend that you go back and > read the original article; there's much food for thought. The thing > I wanted to discuss was the section on his "mailer."] > Hmmmmmm...... This is very interesting, since it parallels what I have been thinking about. However, instead of a database that converts host.in.a.domain into partial!path!prefix to be handed to uux, I would propose that the data base convert it into a command. So, in your example, you would convert "tinyhost.smalluniv.bigcity.calif.uucp" into something like "uux -<%F seismo!rmail (vortex!%U@%H)" which would then be expanded into "uux -</tmp/mailXXXXX seismo!rmail (vortex!user@tinyhost...etc...uucp)" and executed. Assuming I got the uux syntax correct, this is semanticly equivalent to what you are suggesting and has the advantage of being able to utilize whatever outbound channel is appropriate, not just uux. As I see it, there are several issues, given here in no particular order: - What about partial matches? What if I said tinyhost.bigcity.calif? Or even just tinyhost.calif and it was unambiguous? Should I be a good guy and just quietly correct the address? Or should I noisily blast out a message telling of the change? Or how do I resolve an ambiguous name? It's obvious that it should be reflected to the user for resolution, but in the best of all possible worlds, it should only require an indication of which of the possible addresses was correct. - Is is possible to automaticly (or semi-automaticly) update the database? Seemingly, it would be only a fairly minor modification to pathalias to allow it to generate this database. (Sorry, Peter, but it seems that domains and pathalias \do/ mix.) The difficult, nasty, and potentially impossible problem would seem to be to create the appropriate incantation for cross-domain mail. - How would we address the switchover? Since netnews seems to be the major distribution agency for all of us, would it be possible to send it out as part of the news distribution? On the one hand, that would seem to be a relatively painless mechanism; on the other, we all know how easy it is to get all the sites to upgrade their news systems. (I think that it should be part of the netnews package, and it should live in /usr/lib/news/dmail. At least you could then have a pretty good idea if the recieving site ran it.....) (BTW, I'll bet you didn't know that it is possible to send a full path name as a command via uux. All it takes is for the full path name to be in L.cmds. I do this for commands that I don't want local users to access directly. I've wondered why rmail and rnews weren't treated this way......) - There should be some way of getting the mail to the right person even if they don't know the username. By analogy with the post office, I recieve mail as "Greg Noel," "Gregory Noel," "J. Gregory Noel," "J. G. Noel," and sometimes even "Occupant." (I told the postoffice that the latter individual no longer lived there, but they \won't/ forward the mail to him.....) Anyway, I should be able to send mail to mark.horton@cb.att.uucp and have it arrive, even though I don't know that his username is "mark" and his account is on the "d" machine of OSG (Operating System Group?) this week; this same database could also serve as a uniform method of forwarding mail if someone moves. The issue here is how to set up something that would resolve names without them being fully specified; i.e., if I tell it that "j.gregory.noel" is really "greg", what can it do with "greg.noel"? Or, what could it do with "steve.bourne"? - Once we get this working, how do we get it picked up by the major vendors, specificly AT&T and Berkeley? How will it work along side of (in conflict with?) the standard mailer? Delivermail? Sendmail? But all of this is moot unless this somehow gets turned into a program. Did I hear you volunteering to be shanghaied? If so, I'll offer to help; I probably have about as much copious spare time as Spaf, but it is of some importance to my company, even if they don't know it yet. And to the rest of you who've been adding more heat than light on this topic, how about a little constructive help? There are more issues than I have identified above; what are they? Why would the scheme outlined by Chris and amended above \NOT/ work? Peter, we already know from your previous papers that pathalias can convert a hostname into a transfer channel (link) and a remaining path; what else is required to produce a database of commands (or other incantations) that actually cause the mail to be sent? -- Onward...... -- -- Greg Noel, NCR Rancho Bernardo Greg@ncr-sd.UUCP or Greg@nosc.ARPA
chris@umcp-cs.UUCP (Chris Torek) (08/24/85)
[As Greg says, read the parent article, it's too hard to summarize here.] As far as the internal format of my proposed database, I was intentionally leaving that unspecified; we already have a database that uses "printf-like" format controls (the host name is straight text, with a single occurrence of "%s" for the user name; in fact, the string is handed to sprintf inside sendmail, if I understand Bruce's hacks correctly). It is definitely an implementation issue, and printffy formats are probably the way to go. (Note that with Greg's format I could easily use the proposed "bang domain name" scheme, mapping userX@hostY.partialroutedom to %R!%D!%U, where %R is the route, %D is hostY.partialroutedom, and %U is userX, in this case. Also note that the scheme used is per-host, another very nice feature during experimentation periods at different hosts....) As for final delivery to a real user given a (potentially ambiguous) real name (as opposed to a mail identifier---on Unix systems this is one's login name), that should certainly be standardized, but it is a separate issue from mapping fully-qualified host names (whether they be pathalias- found by examining uucp edge databases or whether they be domain names) to routes, and probably belongs in a separate program (the local host mail deliverer in our case). -- In-Real-Life: Chris Torek, Univ of MD Comp Sci Dept (+1 301 454 4251) UUCP: seismo!umcp-cs!chris CSNet: chris@umcp-cs ARPA: chris@maryland
greg@ncr-sd.UUCP (Greg Noel) (08/29/85)
I got a surprising amount of mail about this -- usually what I post seems to not draw any replys at all. (Maybe I'm not controversial enough!) In any event, I thought I'd hit some points that seemed to have caused some confusion. As context, I got a note telling me that Mark Horton's "smail" program (which is what creates those strange return addresses that look like ...!cbosgd!cbosgd.att.uucp!...) does a lot of what Chris and I were discussing. I dropped a line to Chris about it; apparently he has gotten a Beta (Alpha?) test version to play with. I managed to get a copy of the documentation and have looked it over, and although there are some things I would have done differently, there is a lot of careful thinking that has gone into the program. When can \I/ get it? In article <1370@umcp-cs.UUCP> chris@umcp-cs.UUCP (Chris Torek) writes: >[As Greg says, read the parent article, it's too hard to summarize here.] > >(Note that with Greg's format I could easily use the proposed "bang >domain name" scheme, mapping userX@hostY.partialroutedom to %R!%D!%U, >where %R is the route, %D is hostY.partialroutedom, and %U is userX, >in this case. Also note that the scheme used is per-host, another >very nice feature during experimentation periods at different >hosts....) That's what I had in mind. The ideal would be that the server would be flexible enough (have enough printffy codes) that any routing scheme could be used, as needed. There would potentially be several programs that provided input to the hosts-to-routes data base (I can envision a program that directly converted hosts.txt, for example) and it would be very easy to experiment with differing schemes. To clear up something that several people seemed confused about, I would like to have \no/ specific knowledge about output channels in the server; I would create the complete command that would conceptually be executed directly by the system() function (although I would probably optimize the actual command execution the same way that "make" does). In other words, it would map a domain name into a mailer command, filling in whatever is necessary to see to it that the mail gets delivered. In other word, \all/ of the routing decisions would be made outside of the mail server. In particluar, the "don't use the ARPAnet unless there is no choice" decision would be made by the routing program, \not/ by the mailer itself. It is quite possible that several routers could be developed, each catering to a different community and embodying different decision criteria. One program might be used on a home computer that would know how to route to neighbors and would route everything else to a smart friend while another program might be useful to the host that has nothing but direct connections (say, on a LAN). >As for final delivery to a real user given a (potentially ambiguous) >real name ..., that should certainly be standardized, but >it is a separate issue from mapping fully-qualified host names >... to routes, and probably belongs >in a separate program (the local host mail deliverer in our case). The concept of a name-resolver was well-received, although it seemed to be new to a lot of people. Some seemed to think that I originated the idea. Sorry, 'tain't so. I believe that several sites within AT&T run such a name resolver; ihnp4 is one that I know about. I just wanted the facility to be more readily available. (It may even be possible to use the ihnp4 code -- does anyone know the history of that program? Or more information on what it will do?) CSnet also has a facility for sending a query to a central database which will try to resolve it into a mail ID that can be used manually. Not only that, there is at least one machine has a name server that runs finger on a name you send it and it mails you the result. Anyway, you identify the exact problem area. Indeed, the local host mail deliverer should do such a thing. The point is, which one? Practically all mail servers, "smail" included, assume that they know how to deliver mail to the local system and go right ahead and do it. If it is going to be standardized, and I agree that it should be, now is as good a time as any, and it would probably be easier to do it in a domain mail server, since the routing decision for "this person unknown" or even "person-name data base not supported" looks a lot like the routing decision for a unknown domain -- i.e., route it to a smarter neighbor. Several people pointed out the issue of ambiguity and imprecise specification of user names, apparently not realizing that steve.bourne is ambiguious. I agree, it's a difficult thing to do right. I would err on the side of returning the mail and giving the possible resolutions. Presumably, if this became common, user-level mail handlers could detect this returned mail and just allow the user to pick the right one and automaticly resend the mail. Obviously, there's a lot to be considered. Then again, it may not be possible. One of my respondants suggested that AT&T is moving away from RFC-based things and that they may not accept a public-domain version of their mail-name resolver. Anybody have any insight on this? -- -- Greg Noel, NCR Rancho Bernardo Greg@ncr-sd.UUCP or Greg@nosc.ARPA
mark@cbosgd.UUCP (Mark Horton) (09/02/85)
In article <271@ncr-sd.UUCP> greg@ncr-sd.UUCP (Greg Noel) writes: >The concept of a name-resolver was well-received, although it seemed to >be new to a lot of people. Some seemed to think that I originated the >idea. Sorry, 'tain't so. I believe that several sites within AT&T run >such a name resolver; ihnp4 is one that I know about. I just wanted the >facility to be more readily available. (It may even be possible to use >the ihnp4 code -- does anyone know the history of that program? Or more >information on what it will do?) We looked at the possibility of doing the ihnp4/post style thing as part of a standard. (Basically, mail to ihnp4!mark.r.horton works, as will as ihnp4!gjm, the former is a person name, the latter a host.) There was one killer problem: what do you do with ihnp4!horton? Is it a login name or a surname? What if it's both? How do you decide this syntactically, given the layering of a real system? As a result, the standardized syntax for personal names will probably look something like this: ihnp4!/pn=Horton_Mark_R which is a special case of a more general MHS X.400 address. In some ways this is not as pretty, but we know how to implement it in all cases. >Then again, it may not be possible. One of my respondants suggested that >AT&T is moving away from RFC-based things and that they may not accept a >public-domain version of their mail-name resolver. Anybody have any >insight on this? AT&T is too large to be moving in only one direction at once. Right now there seem to be three major directions: UUCP bang syntax, RFC920 domain syntax, and X.400 MHS syntax. The long term favorite is MHS. As to accepting a public domain piece of software, the issues have nothing to do with the mailer, but rather involve market demand and support. If there is market demand for such a feature and a program to do it were dropped into their lap, the only real questions are whether it fits into the long term plans, and whether resources can be allocated to support it. None of these issues is at all clear. Mark
peter@graffiti.UUCP (Peter da Silva) (09/03/85)
> > Address: adobe!greid > Area: SILICON.VALLEY > State: CA > ZAPcode: 94303-852-0271 (arbitrary) > > For instance, if I send mail bound for > Massachusetts from my computer, (we have no direct links to MA), our mailer > looks in its table under MA and finds: decwrl. Aha. decwrl is in California, > everybody knows that. But my mailer sends it to decwrl anyhow. Decwrl then > looks at the message and says, "Aha. Massachusetts." In decwrl's table > under MA might be MIT-something, so it sends it there. And so on. > > This means that the return route MIGHT NOT BE THE SAME as the sending > route, but who cares? It allows for path optimization, changing routes > very simply, and for more sensible routing in general. This is the first sensible scheme I have seen. I don't, however, see the reason for the ZAPCODE or even the local code. States are fine... how about the following: TX!shell!graffiti!peter We'll have to add something to deal with the TX for the smart mailers. Dumb mailers can just send to someone who knows TX. Nobody need to assign names: there already is such an assignment. So for me to get to CA!ucbvax!fair all I'd have to do would be to mail to someone who has the memory and a recent enough mailer to support state name addressing, like, say ut-sally (don't hit me, John!). If too much stuff is going through ut-sally, I get a nasty letter back & start sending stuff through ihnp4. Or through someone else. This way no-one NEEDS to take on an excess load. shell!ut-sally!CA!ucbvax!fair shell!ihnp4!CA!ucbvax!fair You would just make sure your path was unambiguous up to some major site, one which you are certain wasn't going to change their name. Most people are capable of handling short routes in their heads... they're simpler than most addresses. This would not break existing dumb mailers (and some are far dumber than anything the domain-types can possibly imagine), nor would it put undue strain on gateways (they just need to know how to get to a given state, possibly through their own net to another gateway. Or they could even act as dumb mailers & forward stuff to the ghods). So it looks like a domain. It doesn't require either changing the syntax, a task harder than you might think, nor creating a central authority. I don't expect anyone to pay any attention to me, since I'm just a lowly peon who can't afford a machine big enough to compile pathalias on... but in case anyone has got this far, consider it...
mark@cbosgd.UUCP (Mark Horton) (09/11/85)
In article <278@ncr-sd.UUCP> greg@ncr-sd.UUCP (Greg Noel) writes: >In article <1451@cbosgd.UUCP> mark@cbosgd.UUCP (Mark Horton) writes: >>We looked at the possibility of doing the ihnp4/post style thing as >>part of a standard. (Basically, mail to ihnp4!mark.r.horton works, >>as will as ihnp4!gjm, the former is a person name, the latter a host.) >>There was one killer problem: what do you do with ihnp4!horton? Is >>it a login name or a surname? What if it's both? How do you decide >>this syntactically, given the layering of a real system? > >I assume that gjm is a login id, not a host. Or maybe you went to a >party where Gary was a host??? Yes, I meant login-id. I noticed the typo shortly after it was too late to fix. Sorry, Gary. >Anyway, the heuristic used by ihnp4's code seems to be that if a name >has a dot in it, it is syntatctically a person-name to be resolved. I >suspect that if I sent mail to ihnp4!horton it would tell me that "horton" >was not a known user (although that may be a bad example -- how about >ihnp4!bourne?). I suppose the question is how many systems use login >names (mail identifiers) that routinely include periods (or underscores, >or some separator we can agree on). Somehow, >> ihnp4!/pn=Horton_Mark_R >or even > /pn=mark.horton@ihnp4 (is that slash required?) >isn't as aesthetic as > mark.horton@ihnp4 >although this may be a case where only the mail transfer agent has to >deal with such strangenesses and the user agents can hide the uglyness. > The X.400 standard allows you to send to an address with the following semantics: "the guy in XYZ Inc whose surname is Horton" (the syntax is all binary so I can't type it here, besides I don't have it memorized.) Using dots, there is no way to generate this, e.g. ihnp4!horton would be how it's done, but that's ambiguous. A trailing dot causes lots of problems, especially typographical ambiguity ``send it to "ihnp4!horton."'' and human factors/error handling considerations. Also, the ihnp4 scheme doesn't handle generational qualifiers such as "Jr" or "III". When you add them, you get a result that makes it impossible to pick out which word is the surname (at least, I can't figure out how to do it.) While I really do like the ihnp4 syntax, I can't see how to generalize it to handle full X.400 semantics. The proposals aren't as pretty, but they work. >>which is a special case of a more general MHS X.400 address. .... > >I've heard about X.400, but I'm afraid I don't know much about it. Is >there a copy that I can get easily? Even an ARPAnet copy would be OK; >I think I might be able to get my ARPAnet relay to FTP it for me. I'm told there is no machine readable copy (Xerox has an out of date one, there are lots of fonts and tables.) You should be able to order a copy from OMNICOM (for a significant charge) at 703-281-1135. Mark
jer@peora.UUCP (J. Eric Roskos) (09/11/85)
> If too much stuff is going through ut-sally, I get a nasty letter back & > start sending stuff through ihnp4. Or through someone else. This way no- > one NEEDS to take on an excess load. > I don't expect anyone to pay any attention to me, since I'm just a > lowly peon who can't afford a machine big enough to compile pathalias > on... but in case anyone has got this far, consider it... The scheme you have described is what I have been calling the "distributed nameserver" scheme, which in MY "lowly peon" opinion, is the way to do it. I disagree with the geographic sudomain scheme for cost reasons, but aside from that, you have just described the routing string generated by a nameserver when it routes a message to the next nameserver down the line. PS - you don't have to compile pathalias on your machine to use the approach we've been talking about. I certainly don't have it on my PC (which has only 1 500K and 1 1MB floppy disk... hardly enough for the pathalias database!). -- Shyy-Anzr: J. Eric Roskos UUCP: Ofc: ..!{decvax,ucbvax,ihnp4}!vax135!petsd!peora!jer Home: ..!{decvax,ucbvax,ihnp4}!vax135!petsd!peora!jerpc!jer US Mail: MS 795; Perkin-Elmer SDC; 2486 Sand Lake Road, Orlando, FL 32809-7642 "Nalgvzr gbzbeebj, gur cubar'yy evat, naq lbh'yy or ba lbhe jnl. Onpx ubzr va Buvb, gurl jba'g oryvrir lbh..."
gds@mit-eddie.UUCP (Greg Skinner) (09/15/85)
There isn't any way for ihnp4 to know that ihnp4!horton is actually ihnp4!cbosgd!mark, especially if thefre is a horton on ihnp4. However, if there isn't, I suppose this simple scheme can be used when you only know the last name. when mailing to host!user, if "user" maps to a local name on host, deliver it to user (ie. search /etc/passwd), else, apply the database searcher to "user" (the only problem is that there may be many "user"'s in the database, and I don't know if it is politically correct to return a list of possible completions of "user" to the sendng agent) else, just return the mail as usual. Gary and Mark, is this currently done from outside AT&T? I know it's done internally. -- It's like a jungle sometimes, it makes me wonder how I keep from goin' under. Greg Skinner (gregbo) {decvax!genrad, allegra, ihnp4}!mit-eddie!gds gds@mit-eddie.mit.edu
gds@mit-eddie.UUCP (Greg Skinner) (09/15/85)
There isn't any way for ihnp4 to know that ihnp4!horton is actually ihnp4!cbosgd!mark, especially if there is a horton on ihnp4. However, if there isn't, I suppose this simple scheme can be used when you only know the last name. when mailing to host!user, if "user" maps to a local name on host, deliver it to user (ie. search /etc/passwd), else, apply the database searcher to "user" (the only problem is that there may be many "user"'s in the database, and I don't know if it is politically correct to return a list of possible completions of "user" to the sendng agent) else, just return the mail as usual. Gary and Mark, is this currently done from outside AT&T? -- It's like a jungle sometimes, it makes me wonder how I keep from goin' under. Greg Skinner (gregbo) {decvax!genrad, allegra, ihnp4}!mit-eddie!gds gds@mit-eddie.mit.edu
jsq@im4u.UUCP (John Quarterman) (09/18/85)
In article <1617@peora.UUCP> jer@peora.UUCP (J. Eric Roskos) writes: (>> is quotes from Peter da Silva) >> If too much stuff is going through ut-sally, I get a nasty letter back & >> start sending stuff through ihnp4. Or through someone else. This way no- >> one NEEDS to take on an excess load. > >> I don't expect anyone to pay any attention to me, since I'm just a >> lowly peon who can't afford a machine big enough to compile pathalias >> on... but in case anyone has got this far, consider it... > >The scheme you have described is what I have been calling the "distributed >nameserver" scheme, which in MY "lowly peon" opinion, is the way to do it. >I disagree with the geographic sudomain scheme for cost reasons, but aside >from that, you have just described the routing string generated by a >nameserver when it routes a message to the next nameserver down the line. The incident he referred to did not involve a nameserver: it involved me trying to keep my system from being swamped. In other words, he's proposing manual routing by somebody other than the sender. Thank you very much, but I decline the privilege of being the manual nameserver for central Texas. Your scheme, on the other hand, is reasonable. -- John Quarterman, UUCP: {ihnp4,seismo,harvard,gatech}!ut-sally!jsq ARPA Internet and CSNET: jsq@sally.UTEXAS.EDU, formerly jsq@ut-sally.ARPA
gjm@ihnp4.UUCP (Gary J. Murakami) (09/18/85)
ihnp4 currently expects addresses in the form ihnp4!first.last in order to access the corporate directory as a nameservice. There is no guarantee that this will work at any given time since the directory periodically changes without notice. I've had some ideas for years on how to allow more exact specification of people information, but I haven't had the time to do any implementing. FYI, as Peter and Lauren (thanks for the appreciation) have mentioned, I'm leaving Comp Center Networking Department at Indian Hill to go to New Jersey to work on Datakit Exploratory Development in Piscataway/Liberty Corners. I hope to transition most of the ihnp4 related work to several other people (details to follow). I'm hoping that the level of service will not degrade to much, and I'll probably try to pitch in where necessary. However most of the postmaster queries will be answer by other people or by form letter. -Gary (still reachable via ihnp4!gjm)
peter@graffiti.UUCP (Peter da Silva) (09/24/85)
> In article <1617@peora.UUCP> jer@peora.UUCP (J. Eric Roskos) writes: > (>> is quotes from Peter da Silva) > >> If too much stuff is going through ut-sally, I get a nasty letter back & > >> start sending stuff through ihnp4. Or through someone else. This way no- > >> one NEEDS to take on an excess load. > > > >The scheme you have described is what I have been calling the "distributed > >nameserver" scheme, which in MY "lowly peon" opinion, is the way to do it. > >I disagree with the geographic sudomain scheme for cost reasons, but aside > >from that, you have just described the routing string generated by a > >nameserver when it routes a message to the next nameserver down the line. > > The incident he referred to did not involve a nameserver: it involved > me trying to keep my system from being swamped. In other words, he's > proposing manual routing by somebody other than the sender. Thank > you very much, but I decline the privilege of being the manual nameserver > for central Texas. (1) I never suggested that any one machine be "the" nameserver for anywhere. What's to stop 3 or 4 sites from taking on that task? Or 6? Or as many as are needed? (2) Did I refer to an incident? All I said was that if too much mail goes through a given machine... and since you seem to be acting as the ad-hoc nameserver for central Texas you seemed to be a convenient example... then you will be told so and you can use someone else. (3) I was further back in old messages than I thought, since I've seen other, more experienced, netters suggest pretty much the same thing since my suggestion seems to be redundant. However I would like to suggest that however domains/nameservers/etc are set up they use the only syntax that everyone understands... "!" syntax.