Mercurial > docs > diploma
annotate thesis/tex/1-Introduction.tex @ 95:e83eada077fd
I decided to have no dedication, only the quote
author | meillo@marmaro.de |
---|---|
date | Sun, 16 Nov 2008 15:29:30 +0100 |
parents | a6f8a93abd64 |
children | 8db526d7a678 |
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 |
93
a6f8a93abd64
new chapter 4 (split ch5); added lots of annotations
meillo@marmaro.de
parents:
92
diff
changeset
|
4 % say what you want to say |
92 | 5 |
6 | |
7 \section{Transporting mail} | |
8 | |
9 | |
10 \subsection{History of electronic mail} | |
93
a6f8a93abd64
new chapter 4 (split ch5); added lots of annotations
meillo@marmaro.de
parents:
92
diff
changeset
|
11 %FIXME: shorter!!! |
30 | 12 %TODO: have a quote from Bell Labs about email here |
13 | |
71
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
14 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 | 15 |
71
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
16 The \unix\ operating system supports email through the \name{mail user agent} (short: \NAME{MUA}) \name{/bin/mail}. |
30 | 17 |
71
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
18 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
|
19 |
74
6843dfd6c4fa
added new texts to masqmail chapter and some more
meillo@marmaro.de
parents:
71
diff
changeset
|
20 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 | 21 |
55
56fd50f9bbf3
reworked text; added MTA definitions; added references; more
meillo@marmaro.de
parents:
47
diff
changeset
|
22 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
|
23 |
71
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
24 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 | 25 |
71
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
26 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 | 27 |
71
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
28 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 | 29 |
71
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
30 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 | 31 |
71
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
32 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 | 33 |
71
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
34 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
|
35 %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
|
36 |
93
a6f8a93abd64
new chapter 4 (split ch5); added lots of annotations
meillo@marmaro.de
parents:
92
diff
changeset
|
37 |
a6f8a93abd64
new chapter 4 (split ch5); added lots of annotations
meillo@marmaro.de
parents:
92
diff
changeset
|
38 |
92 | 39 \subsection{Definition of \MTA} |
93
a6f8a93abd64
new chapter 4 (split ch5); added lots of annotations
meillo@marmaro.de
parents:
92
diff
changeset
|
40 %FIXME: better title; work text over! |
31 | 41 %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
|
42 |
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
43 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 | 44 |
71
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
45 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
|
46 |
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
47 Here are definitions from others: |
27 | 48 |
78
3148ed044103
wrote about structure and features of masqmail; quotation -> quote
meillo@marmaro.de
parents:
74
diff
changeset
|
49 \begin{quote} |
71
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
50 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
|
51 \cite{costales97} |
78
3148ed044103
wrote about structure and features of masqmail; quotation -> quote
meillo@marmaro.de
parents:
74
diff
changeset
|
52 \end{quote} |
55
56fd50f9bbf3
reworked text; added MTA definitions; added references; more
meillo@marmaro.de
parents:
47
diff
changeset
|
53 |
78
3148ed044103
wrote about structure and features of masqmail; quotation -> quote
meillo@marmaro.de
parents:
74
diff
changeset
|
54 \begin{quote} |
55
56fd50f9bbf3
reworked text; added MTA definitions; added references; more
meillo@marmaro.de
parents:
47
diff
changeset
|
55 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
|
56 \citeweb{wikipedia:mta} |
78
3148ed044103
wrote about structure and features of masqmail; quotation -> quote
meillo@marmaro.de
parents:
74
diff
changeset
|
57 \end{quote} |
55
56fd50f9bbf3
reworked text; added MTA definitions; added references; more
meillo@marmaro.de
parents:
47
diff
changeset
|
58 |
78
3148ed044103
wrote about structure and features of masqmail; quotation -> quote
meillo@marmaro.de
parents:
74
diff
changeset
|
59 \begin{quote} |
55
56fd50f9bbf3
reworked text; added MTA definitions; added references; more
meillo@marmaro.de
parents:
47
diff
changeset
|
60 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
|
61 \citeweb{website:techtarget} |
78
3148ed044103
wrote about structure and features of masqmail; quotation -> quote
meillo@marmaro.de
parents:
74
diff
changeset
|
62 \end{quote} |
55
56fd50f9bbf3
reworked text; added MTA definitions; added references; more
meillo@marmaro.de
parents:
47
diff
changeset
|
63 |
78
3148ed044103
wrote about structure and features of masqmail; quotation -> quote
meillo@marmaro.de
parents:
74
diff
changeset
|
64 \begin{quote} |
71
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
65 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
|
66 %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
|
67 % |
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
68 %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
|
69 % |
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
70 %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
|
71 \citeweb{website:thefreedictionary} |
78
3148ed044103
wrote about structure and features of masqmail; quotation -> quote
meillo@marmaro.de
parents:
74
diff
changeset
|
72 \end{quote} |
55
56fd50f9bbf3
reworked text; added MTA definitions; added references; more
meillo@marmaro.de
parents:
47
diff
changeset
|
73 |
71
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
74 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
|
75 |
26
fb9ba63f6957
changed to new thesis structure; moved text pieces away; updated project plan
meillo@marmaro.de
parents:
diff
changeset
|
76 |
30 | 77 |
92 | 78 \subsection{\name{sendmail-compatibility}} |
42 | 79 \label{sec:sendmail} |
93
a6f8a93abd64
new chapter 4 (split ch5); added lots of annotations
meillo@marmaro.de
parents:
92
diff
changeset
|
80 %FIXME: rewrite! |
71
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
81 |
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
82 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 | 83 |
71
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
84 \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
|
85 |
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
86 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
|
87 \cite[page xviii]{costales97} |
27 | 88 |
71
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
89 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
|
90 \begin{quote} |
71
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
91 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
|
92 \end{quote} |
71
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
93 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 | 94 |
71
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
95 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 | 96 |
71
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
97 \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
|
98 |
49b6b611c3d6
reworked and completed chapter 1; added references
meillo@marmaro.de
parents:
57
diff
changeset
|
99 For deeper knowledge on \sendmail's history, see \cite{costales97} and \cite{vixie01}. |
92 | 100 |
101 | |
102 | |
103 | |
104 \section{The \masqmail\ project} | |
93
a6f8a93abd64
new chapter 4 (split ch5); added lots of annotations
meillo@marmaro.de
parents:
92
diff
changeset
|
105 %FIXME: explain why masqmail is old and why it is interesting/important however! |
92 | 106 |
107 \subsubsection{Target field} | |
108 Its original author, Oliver Kurth, sees \masqmail\ so: | |
109 \begin{quote} | |
110 MasqMail is a mail server designed for hosts that do not have a permanent internet connection eg. a home network or a single host at home. It has special support for connections to different ISPs. It replaces sendmail or other MTAs such as qmail or exim. | |
111 \end{quote} | |
112 | |
113 \masqmail\ is inteded to cover a specific niche: non-permanent internet connection and different \NAME{ISP}s. | |
114 | |
115 Although it can basically replace other \MTA{}s, it is not generally aimed to do so. The package description of \debian\citeweb{packages.debian:masqmail} states this more clearly by changing the last sentence to: | |
116 \begin{quote} | |
117 In these cases, MasqMail is a slim replacement for full-blown MTAs such as sendmail, exim, qmail or postfix. | |
118 \end{quote} | |
119 \masqmail\ is a good replacement ``in these cases'', but not generally, since is lacks features essential for running on mail servers. It is primarily not secure enough for being accessable from untrusted locations. | |
120 | |
121 The program is best used in home networks, which are non-permanently connected to the internet. \masqmail\ sends mail to local destinations, like users on the same machine and on other machines in the local net, immediately. Email to recipients outside the local net are queued when offline and sent when a online connection gets established. | |
122 | |
123 Further more does \masqmail\ respect online connections through different \NAME{ISP}s; a common thing for dial-up connections. In particular can different sender addresses be set, dependent on the \NAME{ISP} that is used. This prevents mail to be likely classified as spam. | |
124 | |
125 | |
126 | |
127 \subsubsection{Typical usage} | |
128 This section describes situations that make senseful use of \masqmail. | |
129 | |
130 A home network consisting of some workstations without a server. The network is connected to the internet by dial-up or broadband. Going online is initiated by computers inside the local net. \NAME{IP} addresses change at least once every day. | |
131 | |
132 Every workstation would be equiped with \masqmail. Mail transfer within the same machine or within the local net works straight forward. Outgoing mail to the internet is sent, to the concerning \NAME{ISP} for relaying, whenever the router goes online. Receiving of mail from outside needs to be done by a mail fetch program, like the \masqmail\ internal \NAME{POP3} client or \name{fetchmail} for example. The configuration for \masqmail\ would be the same on every computer, except the hostname. | |
133 | |
134 For the same network but having a server, one could have \masqmail\ running on the server and using simple forwarders (see \ref{subsec:relay-only}) to the server on the workstations. This setup does only support mail transfer to the server, but not back to a workstation; also sending mail to another user on the same workstation is not possible. | |
135 | |
136 A better setup is to run \masqmail\ on every machine %FIXME | |
137 | |
138 | |
139 | |
140 \subsubsection{What makes it special} | |
141 | |
142 As main advantage, \masqmail\ makes it easy to set up an \MTA\ on workstations or notebooks without the need to do complex configuration or to be an mail server expert. | |
143 | |
144 Workstations use %FIXME | |
145 | |
146 | |
147 \subsubsection{Alternatives?} | |
148 % http://anfi.homeunix.org/sendmail/dialup10.html | |
149 | |
150 | |
151 | |
152 \section{Problems to solve} | |
93
a6f8a93abd64
new chapter 4 (split ch5); added lots of annotations
meillo@marmaro.de
parents:
92
diff
changeset
|
153 %FIXME: what problems has masqmail? |
a6f8a93abd64
new chapter 4 (split ch5); added lots of annotations
meillo@marmaro.de
parents:
92
diff
changeset
|
154 %FIXME: what's the intention of this document? |
a6f8a93abd64
new chapter 4 (split ch5); added lots of annotations
meillo@marmaro.de
parents:
92
diff
changeset
|
155 %FIXME: why is it worth the effort? |
92 | 156 |