jordan@ucbarpa.Berkeley.EDU (Jordan Hayes) (02/14/88)
if (sending_host has a net-10 interface && receiving_host has a net-10 interface) use that address; even if receiving_host has more than one address. then, later in the program, we see if (can't connect to receiving_host) ignore other addresses; some mailers that do such things, *might* be running on tops-20 machines. they should be fixed. /jordan
MRC@PANDA.PANDA.COM (Mark Crispin) (02/14/88)
Jordan Hayes - The algorithm you gave describes no mailer that I am aware of. What mailer that you know of has any special knowledge of net 10? -- Mark -- -------
SRA@XX.LCS.MIT.EDU (Rob Austein) (02/15/88)
Well, while Jordan's algorithm probably doesn't exactly describe any known mailer, it certainly describes a common scenario, where a mailer (TOPS-20 or otherwise) picks the "best address" of the host it wants to talk to and gives up on that host if the "best address" doesn't answer. This is obviously not entirely satisfactory, but the alternative is generally accepted as being worse; trying multiple addresses means that the mailer has wait for connection more than once before deciding to give up on a host that is probably down. For the record, some of the algorithms currently used in ITS COMSAT for delivering mail to hosts on the MIT Chaosnet require this kind of multiple wait; I can assure anyone who doubted it in the first place that this does horrible things to mailer performance. The problem is primarily one of tuning the mailer to the application. A mailer running on a personal workstation might well want to try all the addresses of a destination before giving up, while a mailer daemon running on a machine that is used primarily for relay/redistribution (ie, massive amounts of mail neither originated nor destined for the local machine) might well want to do what most mailers do now and give up on a host after the first connection failure. There is no single right answer, it depends on the mailer's owner's priorities. We (MIT-LCS) have found the distinction between endpoint and relay mailers clarifies some of the issues involved in configuring a workstation/server environment; perhaps mailsystem designers should also give some thought to the distinction and its implications. --Rob
ron@topaz.rutgers.edu (Ron Natalie) (02/15/88)
I disagree, in today's environments you probably need to try all the addresses. This shouldn't be too much of a problem. MMDF, for instance, caches information such as whether the machine is up or not in its daemon so it doesn't keep trying the same thing over and over again. It also sorts the list of work by host name so that it can try to do it all in one connection, and with the case of multiple recipients of the same message, deliver it sending the DATA only once. In addition, the concept of a turkey queue is available. For systems that deal with a lot of mailing list traffic, a list of hosts frequently down can be maintained to avoid tying up the normal SMTP queue with those attempts. -Ron