Application Layer

2.4 Electronic Mail in the Internet

Home
Introduction
2.1 Principles of Network Applications
2.1.1 Network Application Architectures
2.1.2 Processes Communcating
2.1.3 Application-Layer Protocols
2.1.4 What Services Does an Application Need?
2.1.5 Services Provided by the Internet Transport Protocols
2.2 The Web and HTTP
2.2.1Overview of HTTP
2.2.2 Nonpersistent and Persistent Connections
2.2.3 HTTP Message Format
2.2.4 User-Server Ineraction: Cookies
2.2.5 HTTP Content
2.2.6 Web Caching
2.2.7 The Conditional GET
2.3 File Transfer: FTP
2.3.1 FTP Commands and Replies
2.4 Electronic Mail in the Internet
2.4.1 STMP
2.4.2 Comparison with HTTP
2.4.3 Mail Message Formats and MIME
2.4.4 Mail Access Protocols
2.5 DNS--The Internet's Directory Service
2.5.1 Services Provided by DNS
2.5.2 Overview of How DNS Works
2.5.3 DNS Records and Messages
2.6 P2P File Sharing
2.7 Socket Programming with TCP
2.7.1 Socket Programming with TCP
2.7.2 An Example Client/Server Application in Java
2.8 Socket Programming with UDP

Electronic Mail in the Internet

Electronic mail has been around since the beginning of the Internet.  It was the most popular application when the Internet was in its infancy, it has become more and more elaborate and powerful obver the years, and it continues to evolve.  It is one of the Internet's most important killer applicatons to date.
 
There are three major componets: user agents, mail servers, and the Simple Mail Transefer Protocol (SMTP)

kurose_320719_c02f15.gif

Mail servers form the ocre of the e-mail infrastructure.  Each recipient has a mailbox located in one of the mail servers.
 
Servers hold the message in the message queue and attempts to transfer the message later.  Reattempts are often done every 30 minutes or so; if there is no success after several days, the server removers the message and notifies the sender with an e-mail message.
 
SMTP is the principal application-layer protocol for Internet electronic mail.  It uses the reliable data transfer service of TCP to transfer mail from the sender's mail server to the recipient's mail server.  As with most application-layer protocols, SMTP has two sides: a client side, which executes on the sender's mail server, and a server side, which executes on the recipient's mail server.  Both the client and server sides of SMTP run on every mail server.  When a mial server receives  mail from the other mail servers it acts as an SMTP server.

2.4.1 STMP
2.4.2 Comparison with HTTP
2.4.3 Mail Message Formats and MIME
2.4.4 Mail Access Protocols