Dave Roberts A word about the Midterm Simple Mail Transport Protocol SMTP 2 It’s about the engineering tradeoffs of Internet protocols Choices in the design of protocols Choices in how you use them You have more knowledge now, so there will be more hands-on homework Homework workload will be reduced somewhat because you have projects and it’s a busy time 3 Good Citizen Principle It’s about giving up resources when they are scarce It’s not about normal operation Layering Isolates operations from each other Flexibility in configuration End to end High level functions performed by endpoints Superior reliability Conserving router time No Internet if router job is too difficult Drives design of all Internet protocols 4 5 Email allows users to send memos across the Internet. Notes can be short or quite large Notes can have multiple attachments Must work when remote machine is unreachable 6 Post Office SMTP servers move email between each other SMTP servers store email for delivery to end users Users POP clients pick up email from SMTP servers POP clients hand outgoing mail to SMTP servers 7 8 Sender and receiver do not need to be connected to the server at the same time 9 MAIL command: establishes return address and bounce address RCPT command: establishes recipient of this message DATA signals beginning of the message text 10 What protocol do SMTP servers use to deliver messages? How does SMTP differ between v4 and v6? 11 12 S: 220 smtp.example.com ESMTP Postfix C: HELO relay.example.org S: 250 Hello relay.example.org, I am glad to meet you C: MAIL FROM:<bob@example.org> S: 250 Ok C: RCPT TO:<alice@example.com> S: 250 Ok C: RCPT TO:<theboss@example.com> S: 250 Ok C: DATA S: 354 End data with <CR><LF>.<CR><LF> C: From: "Bob Example" <bob@example.org> C: To: "Alice Example" <alice@example.com> C: Cc: theboss@example.com C: Date: Tue, 15 January 2008 16:02:43 -0500 C: Subject: Test message C: C: Hello Alice. C: This is a test message with 5 header fields and 4 lines in the message body. C: Your friend, C: Bob C: . S: 250 Ok: queued as 12345 C: QUIT S: 221 Bye {The server closes the connection} 13 14 TCP/IP internet makes universal delivery service possible Mail systems built on TCP/IP are inherently reliable because of end-to-end delivery Alternatively, mail gateways are used Allow mail transfer between different systems When gateway has a message, sender discards it Question: Is email through a gateway better or worse than a direct SMTP transfer? 15 Format and computer interaction are specified separately Format: header, blank line, body Body unspecified Header is key word, colon, value Some keywords required, others optional Header is readable 16 local-part @ domain-name domain-name: name of mail destination local-part: address of a mailbox at destination Note: when gateways are employed, mail addresses are site-dependent 17 Simple Mail Transport Protocol Focuses on how mail delivery system passes messages from one machine to a server on another machine Does not specify anything about user interface Does not specify how mail is stored 18 SMTP server forms TCP/IP connection with receiving server Once receiving server has put message into safe store, then it acknowledges and sender discards message If SMTP can’t transfer message on the first try, it keeps trying After several days of failure, SMTP reports failure to deliver. 19 All communications is readable ASCII text Transcript of interactions is readable Each message is acknowledged separately Addresses of the form local-part@domainname 20 POP3—Post Office Protocol POP3 client creates TCP connection to POP3 server on mailbox computer Mailbox computer runs two servers: SMTP to place mail into user mailboxes POP3 server to allow user to extract messages from user mailbox POP3 retrieves messages, deletes from user mailbox Two servers must coordinate use of the user mailbox 21 POP stores messages offline; not compatible with the use of multiple computers IMAP allows message access, manipulation from multiple computers Platform-independent access to mail Question: How does server resource usage of IMAP compare with POP? 22 MIME—Multipurpose Internet Mail Extensions Defined to allow transmission of non-ASCII data through mail MIME allows arbitrary data to be encoded in ASCII, transmitted as standard email message MIME message tells recipient type of data, type of encoding used Data type and subtype is specified MIME information is in 822 mail header 23 24 From: bill@acollege.edu To: john@example.com MIME-Version: 1/0 Content-Type: image/gif Content-Transfer Encoding: base64 ….data for the image…. 25 Post Office Protocol—client login with userid/password Client can then retrieve, delete messages Server computer must run two servers: POP and SMTP POP and SMTP must coordinate use of mailbox 26 Email is a very important Internet service Separate standards are used for message format and transfer SMTP—how a mail system on one machine transfers to a server on another POP3—how a user can retrieve contents of a mailbox IMAP—user protocol for use from multiple computers MIME allows arbitrary data to be exchanged using SMTP 27