Internet Engineering Course - PowerPoint PPT Presentation

1 / 62
About This Presentation
Title:

Internet Engineering Course

Description:

Internet Engineering Course Electronic Mail – PowerPoint PPT presentation

Number of Views:112
Avg rating:3.0/5.0
Slides: 63
Provided by: Zhi76
Category:

less

Transcript and Presenter's Notes

Title: Internet Engineering Course


1
Internet Engineering Course
  • Electronic Mail

2
Electronic Mail
  • Most heavily used application on any network
  • Uses client-server architecture
  • Electronic mail client accepts mail from user and
    delivers to server on destination computer
  • Many variations and styles of delivery
  • Simple Mail Transfer Protocol (SMTP)
  • TCP/IP
  • Delivery of simple text messages
  • Multi-purpose Internet Mail Extension (MIME)
  • Delivery of other types of data
  • Voice, images, video clips

3
SMTP Concept
4
User Agents and Mail Transfer Agents
5
Relay MTAs
6
Mail Gateways
7
The Entire E-mail System
8
SMTP
  • Simple Mail Transfer Protocol is standard
    application protocol for delivery of mail from
    source to destination
  • Built on top of TCP provides reliable delivery
    of data
  • SMTP does not normally use intermediate mail
    servers for sending mail
  • SMTP uses persistent connections
  • Other functions
  • E-mail address lookup
  • E-mail address verification
  • Example protocol exchange

9
Sample SMTP interaction
c\Telnet payk.ui.ac.ir 25
10
(No Transcript)
11
SMTP
  • RFC 821
  • Not concerned with format of messages or data
  • Covered in RFC 822 (see later)
  • SMTP uses info written on envelope of mail
  • Message header
  • Does not look at contents
  • Message body
  • Except
  • Standardize message character set to 7 bit ASCII

12
Basic Operation
  • Mail created by user agent program (mail client)
  • Message consists of
  • Header containing recipients address and other
    info
  • Body containing user data
  • Messages queued and sent as input to SMTP sender
    program
  • Typically a server process (daemon on UNIX)

13
Mail Message Contents
  • Each queued message has
  • Message text
  • RFC 822 header with message envelope and list of
    recipients
  • Message body, composed by user
  • A list of mail destinations
  • Derived by user agent from header
  • May be listed in header
  • May require expansion of mailing lists
  • May need replacement of mnemonic names with
    mailbox names
  • If BCCs indicated, user agent needs to prepare
    correct message format

14
SMTP Sender
  • Takes message from queue
  • Transmits to proper destination host
  • Via SMTP transaction
  • Over one or more TCP connections to port 25
  • Host may have multiple senders active
  • When delivery complete, sender deletes
    destination from list for that message
  • When all destinations processed, message is
    deleted

15
Optimization
  • If message destined for multiple users on a given
    host, it is sent only once
  • Delivery to users handled at destination host
  • If multiple messages ready for given host, a
    single TCP connection can be used
  • Saves overhead of setting up and dropping
    connection

16
Possible Errors
  • Host unreachable
  • Host out of operation
  • TCP connection fail during transfer
  • Sender can re-queue mail
  • Give up after a period
  • Faulty destination address
  • User error
  • Target user changed address
  • Redirect if possible
  • Inform user if not

17
SMTP Protocol - Reliability
  • Used to transfer messages from sender to receiver
    over TCP connection
  • Attempts to provide reliable service
  • No guarantee to recover lost messages
  • No end to end acknowledgement to originator
  • Error indication delivery not guaranteed
  • Generally considered reliable

18
SMTP Receiver
  • Accepts arriving message
  • Places in user mailbox or copies to outgoing
    queue for forwarding
  • Receiver must
  • Verify local mail destinations
  • Deal with errors
  • Transmission
  • Lack of disk space
  • Sender responsible for message until receiver
    confirm complete transfer
  • Indicates mail has arrived at host, not user

19
SMTP Forwarding
  • Mostly direct transfer from sender host to
    receiver host
  • May go through intermediate machine via
    forwarding capability
  • Sender can specify route
  • Target user may have moved

20
Conversation
  • SMTP limited to conversation between sender and
    receiver
  • Main function is to transfer messages
  • Rest of mail handling beyond scope of SMTP
  • May differ between systems

21
SMTP Mail Flow
22
SMTP System Overview
  • Commands and responses between sender and
    receiver
  • Initiative with sender
  • Establishes TCP connection
  • Sender sends commands to receiver
  • e.g. HELOltSPgtltdomaingtltCRLFgt
  • Each command generates exactly one reply
  • e.g. 250 requested mail action ok completed

23
SMTP Replies
  • Leading digit indicates category
  • Positive completion reply (2xx)
  • Positive intermediate reply (3xx)
  • Transient negative completion reply (4xx)
  • Permanent negative completion reply (5xx)

24
Operation Phases
  • Connection setup
  • Exchange of command-response pairs
  • Connection termination

25
Connection Setup
  • Sender opens TCP connection with receiver
  • Once connected, receiver identifies itself
  • 220 ltdomaingt service ready
  • Sender identifies itself
  • HELO
  • Receiver accepts senders identification
  • 250 OK
  • If mail service not available, step 2 above
    becomes
  • 421 service not available

26
Mail Transfer
  • Sender may send one or more messages to receiver
  • MAIL command identifies originator
  • Gives reverse path to used for error reporting
  • Receiver returns 250 OK or appropriate fail/error
    message
  • One or more RCPT commands identifies recipients
    for the message
  • Separate reply for each recipient
  • DATA command transfers message text
  • End of message indicated by line containing just
    period (.)

27
Closing Connection
  • Two steps
  • Sender sends QUIT and waits for reply
  • Then initiate TCP close operation
  • Receiver initiates TCP close after sending reply
    to QUIT

28
Electronic Mailboxes and Addresses
  • E-mail users have an electronic mailbox into
    which mail is deposited
  • Usually associated with computer account one
    user may have different electronic mailboxes
  • User accesses mail with a mail reader program
  • Electronic mailbox is identified by an e-mail
    address mailbox_at_computer

29
E-mail message format
  • Simple two-part format
  • Header includes delivery information
  • Body carries text of message
  • Header and body is separated by blank line

30
E-mail Headers
  • Lines of text in format keyword information
  • keyword identifies information information can
    appear in any order
  • Essential information
  • To list of recipients
  • From sender
  • Cc list of copy recipients
  • Useful information
  • Reply-to different address than From
  • Received-by for debugging
  • Frivolous information
  • Favorite drink lemonade
  • Phase-of-the-moon gibbous

31
Data in E-mail
  • Original Internet mail carried only 7-bit ASCII
    data
  • Couldnt contain arbitrary binary values e.g.,
    executable program
  • Techniques for encoding binary data allowed
    transport of binary data
  • Uuencode three 8-bit binary values as four ASCII
    characters (6 bits each)
  • Also carries file name and protection information
  • Incurs 33 overhead

32
Multipurpose Internet Mail Extension (MIME)
  • Extension to RFC822
  • SMTP can not transmit executables
  • Uuencode and other schemes are available
  • Not standardized
  • Can not transmit text including international
    characters (e.g. â, å, ä, è, é, ê, ë)
  • Need 8 bit ASCII
  • Servers may reject mail over certain size
  • Translation between ASCII and EBCDIC not standard
  • Some SMTP implementations do not adhere to
    standard
  • CRLF, truncate or wrap long lines, removal of
    white space, etc.

33
MIME
  • Multipart Internet Mail Extensions - Extends and
    automates encoding mechanisms
  • Allows inclusion of separate components
    programs, pictures, audio clips in a single
    mail message
  • Sending program identifies the components so
    receiving program can automatically extract and
    inform mail recipient
  • Header includesMIME-Version 1.0Content-Type
    Multipart/Mixed BoundaryMime_separator
  • Separator line gives information about specific
    encodingContent-Type text/plain

34
MIME (cont.)
  • MIME is extensible sender and receiver agree on
    encoding scheme
  • MIME is compatible with existing mail systems
  • Everything encoded as ASCII
  • Headers and separators ignored by non-MIME mail
    systems
  • MIME encapsulates binary data in ASCII mail
    envelope

35
MIME
36
Overview of MIME
  • Five new message header fields
  • MIME version
  • Content type
  • Content transfer encoding
  • Content Id
  • Content Description

37
Content Types
  • Text body
  • Multipart
  • Mixed, Parallel, Alternative, Digest
  • Message
  • RFC 822, Partial, External-body
  • Image
  • jpeg, gif
  • Video
  • mpeg
  • Audio
  • Basic
  • Application
  • Postscript
  • octet stream

38
MIME Transfer Encodings
  • Reliable delivery across wide largest range of
    environments
  • Content transfer encoding field
  • Six values
  • Three (7bit, 8bit, binary) no encoding done
  • Provide info about nature of data
  • Quoted-printable
  • Data largely printable ASCII characters
  • Non-printing characters represented by hex code
  • Base64
  • Maps arbitrary binary input onto printable output
  • X-token
  • Named nonstandard encoding

39
Message format multimedia extensions
  • MIME multimedia mail extension, RFC 2045, 2056
  • additional lines in msg header declare MIME
    content type

MIME version
method used to encode data
multimedia data type, subtype, parameter
declaration
encoded data
40
Multipart Type
From alice_at_crepes.fr To bob_at_hamburger.edu
Subject Picture of yummy crepe. MIME-Version
1.0 Content-Type multipart/mixed
boundary98766789 --98766789 Content-Transfer-En
coding quoted-printable Content-Type
text/plain Dear Bob, Please find a picture of a
crepe. --98766789 Content-Transfer-Encoding
base64 Content-Type image/jpeg base64 encoded
data ..... .........................
......base64 encoded data --98766789--
Break into parts?
Compare with HTTP?
41
Printable Encoding of Binary Data into Radix-64
Format
42
Programs as mail recipients
  • Can arrange for e-mailbox to be associated with a
    program rather than a users mail reader
  • Incoming mail automatically processed as input to
    program
  • Example mailing list subscription
    administration
  • Can be used to implement client-server processing
  • Client request in incoming mail message
  • Server response in returned mail reply

43
Mailing Lists and Forwarders
  • E-mail addresses can be attached to programs as
    well as electronic mailboxes
  • Mail exploder or mail forwarder resends copies of
    message to e-mail addresses in mailing list
  • UNIX mail program sendmail provides mail aliases
  • Mailing list processor, e.g. listserv, can also
    interpret subscription management commands

44
Mail Gateways
  • Mailing list processing may take significant
    resources in large organizations
  • May be segregated to a dedicated server computer
    mail gateway
  • Provides single mail destination point for all
    incoming mail
  • Can use MX records in DNS to cause all mail to be
    delivered to gateway

45
Mail gateways and forwarding
  • Users within an organization may want to read
    mail on local or departmental computer
  • Can arrange to have mail forwarded from mail
    gateway
  • Message now makes multiple hops for delivery
  • Hops may be recorded in header
  • Forwarded mail may use proprietary (non-SMTP)
    mail system

46
Mailbox Access
  • Where should mailbox be located?
  • Users want to access mail from most commonly used
    computer
  • Cannot always use desktop computer as mail server
  • Not always running
  • Requires multitasking OS
  • Requires local disk storage
  • Can TELNET to remote computer with mail server
  • Can use WEB based interfaces to access mailbox

47
Mail Access Protocols
  • Instead of TELNET, use protocol that accesses
    mail on remote computer directly
  • Mail access protocol transfers mail from server
    to local PC
  • 2 popular protocols
  • POP3 (Post Office Protocol v3)
  • IMAP (Internet Mail Access Protocol)
  • Cant use SMTP because getting messages is a pull
    operation SMTP is a push protocol.

48
Post Office Protocol (POP)
  • TCP/IP suite includes Post Office Protocol (POP)
    for remote mailbox access
  • Computer with mailboxes runs POP server
  • User runs POP client on local computer
  • POP client can access and retrieve messages from
    mailbox
  • Requires authentication (password)
  • Local computer uses SMTP for outgoing mail

49
POP3 and SMTP
50
POP3
  • Stands for Post Office Protocol Version 3
  • RFC in 1993
  • POP3 is intended to permit a workstation to
    dynamically access a maildrop on a server host in
    a useful fashion. Usually, this means that the
    POP3 protocol is used to allow a workstation to
    retrieve mail that the server is holding for it.

51
POP3
  • Doesnt provide extensive mail operations on the
    server
  • Normally mail is downloaded, then deleted
  • Deletion doesnt really occur until QUIT
  • Uses port 110

52
POP3
  • Three phases
  • Authorization
  • Transaction
  • Update
  • During a POP3 session, the server maintains state
    information
  • POP3 downloads mail messages to the local machine
    not good for nomadic user

53
POP3 protocol
S OK POP3 server ready C user bob S OK
C pass hungry S OK user successfully logged
on
  • authorization phase
  • client commands
  • user declare username
  • pass password
  • server responses
  • OK
  • -ERR
  • transaction phase, client
  • list list message numbers
  • retr retrieve message by number
  • dele delete
  • quit

C list S 1 498 S 2 912
S . C retr 1 S ltmessage 1
contentsgt S . C dele 1 C retr
2 S ltmessage 1 contentsgt S .
C dele 2 C quit S OK POP3 server
signing off
54
Dialup Access and POP
  • POP is useful for dialup connection
  • Users computer not always connected
  • Can download all mail at once and read off-line
  • Can compose mail off-line and mail in one
    connection

55
Minimal POP3 Commands
  • USER name users name
  • PASS string users password
  • QUIT quits, and updates the mailbox
  • STAT status
  • LIST msg lists the mail messages (s only)
  • RETR msg retrieves a mail message
  • DELE msg deletes a message
  • NOOP No operation
  • RSET resets the mail to its original state

56
IMAP
  • Internet Mail Access Protocol
  • Allows users to manipulate remote mailboxes
  • Must maintain info about user (e.g., folder
    hierarchy) even after the user quits
  • IMAP server is always in 1 of 4 states
  • Nonauthenticated
  • Authenticated
  • Selected
  • Logout

57
POP3 (more) and IMAP
  • More about POP3
  • Previous example uses download and delete mode.
  • Bob cannot re-read e-mail if he changes client
  • Download-and-keep copies of messages on
    different clients
  • POP3 is stateless across sessions
  • IMAP
  • Keep all messages in one place the server
  • Allows user to organize messages in folders
  • IMAP keeps user state across sessions
  • names of folders and mappings between message IDs
    and folder name

58
Security
  • SMTP, POP3 and IMAP are plain text protocols
  • Secured version available to protect the user
  • SMTPS
  • POP3s
  • Need to be configured both on server and client

59
Stunnel
  • Name of an application/service
  • Even if the mail server application does not
    implement secure version
  • What does it do?
  • gathers the encrypted message from client
  • Decrypts the data
  • Sends plain text data using a local connection to
    insecure port
  • Server application considers it a normal client

60
STunneling
Send decrypted data to port 25 of the server
Stunnel (on server) Listening to port 995
Encrypted data (Command/mail body)
Client
Server
61
Web interface
  • Nowadays there are many web interface user agents
  • They allow accessing messages from any client
    with only a web browser
  • However the interface is not as sophisticated as
    special mail agents
  • But it is very useful if you need to check your
    emails from different computers

62
Summary for Email
  • Electronic mail allows quick, asynchronous
    communication across entire Internet
  • Can attach e-mail addresses to programs for
    processing
  • Mailing lists
  • Other client-server applications
  • Simple Mail Transfer Protocol (SMTP) is Internet
    standard for mail delivery
  • Mail gateways
  • Provide uniform user addressing outside
    organizations
  • Translate from Internet mail (e.g. SMTP) to
    proprietary systems
  • Post Office Protocol (POP) and Internet Mail
    Access Protocol (IMAP) allow remote access to
    electronic mailboxes.
Write a Comment
User Comments (0)
About PowerShow.com