Mercurial > docs > diploma
annotate thesis/tex/1-Introduction.tex @ 78:3148ed044103
wrote about structure and features of masqmail; quotation -> quote
author | meillo@marmaro.de |
---|---|
date | Thu, 06 Nov 2008 17:50:25 +0100 |
parents | 6843dfd6c4fa |
children | 3b5ba7331eb5 |
rev | line source |
---|---|
26
fb9ba63f6957
changed to new thesis structure; moved text pieces away; updated project plan
meillo@marmaro.de
parents:
diff
changeset
|
1 \chapter{Introduction} |
42 | 2 \label{chap:introduction} |
26
fb9ba63f6957
changed to new thesis structure; moved text pieces away; updated project plan
meillo@marmaro.de
parents:
diff
changeset
|
3 |
fb9ba63f6957
changed to new thesis structure; moved text pieces away; updated project plan
meillo@marmaro.de
parents:
diff
changeset
|
4 \section{History of electronic mail} |
30 | 5 %TODO: have a quote from Bell Labs about email here |
6 | |
71
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
7 Electronic mail\index{electronic mail} (short: \name{email})\citeweb{wikipedia:email} is a basic concept in \unix.\citeweb{unix-mail-intro} On \unix\ machines, a lot of information is distributed by \name{system mail}, which is email sent by the operating system. Beside that, email is the common communication system between humans working on computers. |
30 | 8 |
71
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
9 The \unix\ operating system supports email through the \name{mail user agent} (short: \NAME{MUA}) \name{/bin/mail}. |
30 | 10 |
71
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
11 Development of \unix\ was not only made in the \name{Bell Labratories} of \NAME{AT\&T}. The \name{Univerity of California at Berkeley} worked on their version of a \unix\ operating system, too. It is refered to as \NAME{UCB} \unix, or \name{Berkeley} \unix\index{Berkeley Unix}. |
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
12 |
74
6843dfd6c4fa
added new texts to masqmail chapter and some more
meillo@marmaro.de
parents:
71
diff
changeset
|
13 The few features of \name{/bin/mail} lead to a second \NAME{MUA} from Berkeley: \name{Mail} (with a capital `M'). Later, the superior functionality of \name{Mail} went back to \name{Bell Labs} and into the program \name{mailx}, the successor of \name{/bin/mail}. |
27 | 14 |
55
56fd50f9bbf3
reworked text; added MTA definitions; added references; more
meillo@marmaro.de
parents:
47
diff
changeset
|
15 Nowadays, \name{mailx} and \name{Mail} are quite equivalent and \name{/bin/mail} is linked to either of them---whichever is installed. |
56fd50f9bbf3
reworked text; added MTA definitions; added references; more
meillo@marmaro.de
parents:
47
diff
changeset
|
16 |
71
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
17 At that time, computers were connected by various kinds of networks. \name{Bell Labs} had invented the \NAME{UUCP} program and protocol suite (for ``\unix\ to \unix\ copy'')\citeweb{wikipedia:uucp}. Berkeley however had an own creation called \name{Berknet} in use. And the \name{United States Department of Defence Advanded Research Projects Agency}'s (\NAME{ARPA}) effort on designing a new wide area network, led to the \NAME{ARPANET}\citeweb{wikipedia:arpanet}, based on the \name{transmission control protocol} (\NAME{TCP}). There were also other, minor, kinds of networks in use. |
30 | 18 |
71
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
19 Email was transfered between different machines within the same networks. The file transfer itself was made uniformly using \NAME{FTP}, but the higher layered logic of the transfer was different. For example was addressing done different: \NAME{UUCP} used a flat-style schema, while \NAME{ARPANET}'s was hierachical. |
27 | 20 |
71
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
21 Mail transport from one machine connected to one kind of network to a second machine connected to another was a problem. This showed up at Berkeley where some departments of the university had switched to \NAME{ARPANET}, and some to \NAME{UUCP}, while the rest used \name{Berknet}. |
30 | 22 |
71
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
23 It was around 1982, when Eric Allman, then a student at Berkeley, wrote \name{delivermail}. Its purpose was to transform email from one network to another. \name{delivermail}, like its successor---the more flexible \sendmail---intermediated between the different networks. They were able to transform email messages from any network to any other. |
27 | 24 |
71
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
25 Todays email structure is basicly the same as then. The major difference is the uniformity of the underlying network, which is nearly always the \NAME{ARPANET}-based \name{Internet}. Hence lowering the importance of the transformation capabilities of \MTA{}s, that was essential to \sendmail's success---yet being the primary motivation for the program. |
30 | 26 |
71
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
27 More information about the history of electronic mail can be found at: \citeweb{email:griffiths}, \citeweb{email:crocker}, \citeweb{email:vleck}, \citeweb{email:akkad}, \citeweb{email:murakami}, and \citeweb{email:tomlinson}. A good starting point for general information on internet history is \citeweb{wikipedia:historyoftheinternet}. |
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
28 %TODO: check the websites which ones are the important ones; remove unnessesary ones |
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
29 |
27 | 30 |
26
fb9ba63f6957
changed to new thesis structure; moved text pieces away; updated project plan
meillo@marmaro.de
parents:
diff
changeset
|
31 |
fb9ba63f6957
changed to new thesis structure; moved text pieces away; updated project plan
meillo@marmaro.de
parents:
diff
changeset
|
32 \section{Transporting mail} |
31 | 33 %TODO: when was the term ``mail transfer agent'' established? |
71
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
34 |
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
35 This thesis is about a \name{mail transfer agent} (or \index{mail transport agent|see{mail transfer agent}}\name{mail transport agent}, short \NAME{MTA}): \masqmail. \sendmail\ is one too---the most important one. |
27 | 36 |
71
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
37 The basic job of a \mta\ is to transfer/transport electronic mail from one host to another. |
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
38 |
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
39 Here are definitions from others: |
27 | 40 |
78
3148ed044103
wrote about structure and features of masqmail; quotation -> quote
meillo@marmaro.de
parents:
74
diff
changeset
|
41 \begin{quote} |
71
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
42 A mail transfer agent (MTA) is a highly specialized program that delivers mail and transports it between machines, like the post office. |
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
43 \cite{costales97} |
78
3148ed044103
wrote about structure and features of masqmail; quotation -> quote
meillo@marmaro.de
parents:
74
diff
changeset
|
44 \end{quote} |
55
56fd50f9bbf3
reworked text; added MTA definitions; added references; more
meillo@marmaro.de
parents:
47
diff
changeset
|
45 |
78
3148ed044103
wrote about structure and features of masqmail; quotation -> quote
meillo@marmaro.de
parents:
74
diff
changeset
|
46 \begin{quote} |
55
56fd50f9bbf3
reworked text; added MTA definitions; added references; more
meillo@marmaro.de
parents:
47
diff
changeset
|
47 A mail transfer agent (MTA) (also called a mail transport agent, message transfer agent, or smtpd (short for SMTP daemon)), is a computer program or software agent that transfers electronic mail messages from one computer to another. |
56fd50f9bbf3
reworked text; added MTA definitions; added references; more
meillo@marmaro.de
parents:
47
diff
changeset
|
48 \citeweb{wikipedia:mta} |
78
3148ed044103
wrote about structure and features of masqmail; quotation -> quote
meillo@marmaro.de
parents:
74
diff
changeset
|
49 \end{quote} |
55
56fd50f9bbf3
reworked text; added MTA definitions; added references; more
meillo@marmaro.de
parents:
47
diff
changeset
|
50 |
78
3148ed044103
wrote about structure and features of masqmail; quotation -> quote
meillo@marmaro.de
parents:
74
diff
changeset
|
51 \begin{quote} |
55
56fd50f9bbf3
reworked text; added MTA definitions; added references; more
meillo@marmaro.de
parents:
47
diff
changeset
|
52 mail server (also known as a mail transfer agent or MTA, a mail transport agent, a mail router or an Internet mailer) is an application that receives incoming e-mail from local users (people within the same domain) and remote senders and forwards outgoing e-mail for delivery. |
56fd50f9bbf3
reworked text; added MTA definitions; added references; more
meillo@marmaro.de
parents:
47
diff
changeset
|
53 \citeweb{website:techtarget} |
78
3148ed044103
wrote about structure and features of masqmail; quotation -> quote
meillo@marmaro.de
parents:
74
diff
changeset
|
54 \end{quote} |
55
56fd50f9bbf3
reworked text; added MTA definitions; added references; more
meillo@marmaro.de
parents:
47
diff
changeset
|
55 |
78
3148ed044103
wrote about structure and features of masqmail; quotation -> quote
meillo@marmaro.de
parents:
74
diff
changeset
|
56 \begin{quote} |
71
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
57 Message Transfer Agent - (MTA, Mail Transfer Agent): Any program responsible for delivering e-mail messages. Upon receiving a message from a Mail User Agent or another MTA, [...] it [...] delivers it to any local addressees and/or forwards it to other remote MTAs (routing) for delivery to remote recipients. |
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
58 %Any program responsible for delivering e-mail messages. Upon receiving a message from a Mail User Agent or another MTA, often by SMTP over the Internet, it stores it temporarily locally and analyses the recipients and delivers it to any local addressees and/or forwards it to other remote MTAs (routing) for delivery to remote recipients. In either case it may edit and/or add to the message headers. |
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
59 % |
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
60 %The most widely used MTA for Unix is sendmail, which communicates using SMTP. |
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
61 % |
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
62 %RFC 2821 (SMTP) expands MTA as ``Mail Transfer Agent'' though this is less common. Alternatives with ``Transport'' are also seen but less correct. |
55
56fd50f9bbf3
reworked text; added MTA definitions; added references; more
meillo@marmaro.de
parents:
47
diff
changeset
|
63 \citeweb{website:thefreedictionary} |
78
3148ed044103
wrote about structure and features of masqmail; quotation -> quote
meillo@marmaro.de
parents:
74
diff
changeset
|
64 \end{quote} |
55
56fd50f9bbf3
reworked text; added MTA definitions; added references; more
meillo@marmaro.de
parents:
47
diff
changeset
|
65 |
71
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
66 Common is the transfer of mail to other machines; this is the actual job. \MTA{}s work with mail, received from local users and/or remote machines. Mail delivery however is \emph{not} what \mta{}s are for, although probably every \MTA\ is able to deliver mail, and many do. \name{mail delivery agents} (short: \NAME{MDA}) are the programs for this job. Two of the best known \NAME{MDA}s are \name{procmail} and \name{maildrop}. |
55
56fd50f9bbf3
reworked text; added MTA definitions; added references; more
meillo@marmaro.de
parents:
47
diff
changeset
|
67 |
26
fb9ba63f6957
changed to new thesis structure; moved text pieces away; updated project plan
meillo@marmaro.de
parents:
diff
changeset
|
68 |
30 | 69 |
34 | 70 \section{\sendmail} |
42 | 71 \label{sec:sendmail} |
71
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
72 |
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
73 Allman wrote it to transfer emails between different networks, thus giving \sendmail\ mighty address rewriting abilities. In contrast to its predecessor \name{delivermail}, was \sendmail\ designed to offer greatest flexiblity in configuration; this enabled it to deal with any type of network. |
27 | 74 |
71
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
75 \sendmail\ was, and still is, very successful. So successful that it stands, like no other, for the whole group of \MTA{}s: \name{sendmail} actually is the \emph{de facto standard} for \mta{}s. |
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
76 |
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
77 Its author, Allman, sees three reasons for the huge success: the ``sloopy'' approach (accepting badly formed messages); its focus on the routing function; and the flexible configuration (this was important in \sendmail's early days). |
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
78 \cite[page xviii]{costales97} |
27 | 79 |
71
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
80 Others see \sendmail's success more critical. One of them is quoted in the \name{MMDF} FAQs \citeweb{faqs:mmdf}: |
78
3148ed044103
wrote about structure and features of masqmail; quotation -> quote
meillo@marmaro.de
parents:
74
diff
changeset
|
81 \begin{quote} |
71
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
82 Sendmail was once compared by one old Internet hand to ``those killer bees that escaped from the laboratory---and now they're everywhere and you can't get rid of 'em''. |
78
3148ed044103
wrote about structure and features of masqmail; quotation -> quote
meillo@marmaro.de
parents:
74
diff
changeset
|
83 \end{quote} |
71
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
84 He definately hints here at \sendmail's many security vulnerabilities that came to light and on its complexity, in particular its obscure configuration file \path{sendmail.cf}. |
27 | 85 |
71
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
86 No matter how \sendmail\ is seen, one must admit its influence on \unix\ emailing programs. Most existing substitutes mimic \sendmail's interface and behavior. Most notable, they create a symbolic link named ``sendmail'' pointing to their own executable. The reason herefor are the many programs assuming an executable called ``sendmail'' on every computer system existing. |
27 | 87 |
71
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
88 \sendmail\ is not only ported to many platforms, even including \name{Microsoft Windows}, but also it is still the prefered \MTA\ on many systems. |
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
89 |
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
90 For deeper knowledge on \sendmail's history, see \cite{costales97} and \cite{vixie01}. |
26
fb9ba63f6957
changed to new thesis structure; moved text pieces away; updated project plan
meillo@marmaro.de
parents:
diff
changeset
|
91 |
30 | 92 |
74
6843dfd6c4fa
added new texts to masqmail chapter and some more
meillo@marmaro.de
parents:
71
diff
changeset
|
93 \section{A look at Windows} |
71
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
94 % TODO: add content here |